1.1.1 • Published 9 years ago

covannan v1.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

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+b });
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

1.1.1

9 years ago

1.1.0

9 years ago

1.0.0

9 years ago