Small Dependency Injection management library
$ npm install --save diman
var di = require('diman');
function Service(configuration) {
this.configuration = configuration;
}
di.annotate(Service, new di.Inject(Configuration));
function Configuration(){
this.database = 'mongo';
}
var injector = new di.Injector([]);
var service = injector.get(Service);
console.log( service.configuration.database ); //'mongo'
function Service(configuration) {
this.configuration = configuration;
}
di.annotate(Service, new di.Inject(Configuration));
function Configuration(){
this.database = 'mongo';
}
function DevConfiguration(){
this.database = 'dev-mongo';
}
di.annotate(DevConfiguration, new di.Provide(Configuration));
var injector = new di.Injector([DevConfiguration]);
var service = injector.get(Service);
console.log( service.configuration.database ); //'dev-mongo'
MIT © Avag Arakelyan