loading

1.13.3 • Public • Published

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

Dependencies (3)

Dev Dependencies (7)

Package Sidebar

Install

npm i loading

Weekly Downloads

35

Version

1.13.3

License

MIT

Last publish

Collaborators

  • fengmk2
  • popomore