covannan

1.1.1 • Public • Published

covannan

covannan is dead simple constructor injection that know how to load dependencies for you.

Installation

npm install covannan

Example

/* app.js */
var covannan = require('covannan')();
 
// you can set value as a string, object, array
covannan.set('rootPath', __dirname);
 
// or set value as a function
// sugar: no need to thinking about dependencies here.
covannan.set('user', require('./lib/user'));
covannan.set('auth', require('./lib/auth'));
 
 
/* .lib/user/index.js */
module.exports = function (auth) {
  // here in our user module, we depend on auth
  // convannan will inject auth module for us
  auth.login();
}
 
// .lib/auth/index.js
module.exports = function () {
  return {
    login: function() { /* do login */ }
  }
}
 
// more sugar for lazy dudes
convannan.autoload('/lib/**/*.js');
 

Usage

covannan.set(name, value);
covannan.get(name);
covannan.autoload(pattern);

Constructor Injection

if value is a function, covannan will auto resolve dependencies and passing them to contructor as arguments.

covannan.set('cal.add', function(a,b) { return a+});
covannan.set('a', 1);
covannan.set('b', 2);
 
covannan.get('cal.add'); // 3

API

.set(name, value)

creates a dependency name

.get(name, value)

and load it back

.autoload(path)

autoload all files in path as dependencies

License

Package Sidebar

Install

npm i covannan

Weekly Downloads

7

Version

1.1.1

License

MIT

Last publish

Collaborators

  • quocnguyen