/loading

loading dir files as module to an object

Primary LanguageJavaScriptOtherNOASSERTION

loading

NPM version build status Test coverage David Known Vulnerabilities npm download

loading dir files as module to an object.

Install

$ npm install loading

Module loading init rules

  • module.exports = function (app) module as initialization function

  • map Pascal Case modules -> Lower Camel Case such as raw_modules -> rawModules

  • if opt.lowercaseFirst = true then map SomeDir.SomeClass -> someDir.someClass

Usage

var loading = require('loading');

var app = {};
// app.services.foo
loading('/services').concat('/overwrite_services').into(app, 'services');
loading('/models').into(app, 'models');
loading('/controllers').into(app, 'controllers');
console.log(app);

// /services/foo.js
exports.get = function (callback) {
  setTimeout(function () {
    callback(null, 'bar');
  }, 1);
};

// /services/userProfile.js
module.exports = function (app) {
  return {
    getByName: function (name, callback) {
      setTimeout(function () {
        callback(null, {name: name});
      }, 1);
    }
  };
};

Options

var loading = require('loading');

loading(PATH,[{call:true}]).into(TARGET, FIELD, [filters])
  • call type:[object] decide whether auto call the function when module.exports is a function, default: true .

  • filters type:[string array] only inject the item in filters .

  • override type:[boolean] decide whether override the property that is already exist, default: false

  • ignore type:[string function] ignore file. If ignore is not null, ignore rule will be glob string !ignore. default: undefined

  • lowercaseFirst type:[boolean] decide whether lowercase the first letter of property default: false

License

MIT