promise-di
Simple, promise-based dependency injection container.
Usage
Di.Container(context, global): Container - create new container instance, context - any abstract object object, passed to service as dep global - services cached in this object, if service not depends on context
Di.Container.get(Prototype) - get configured instance from given service Prototype
Define service
{ var logger = { console; } ; return logger;}Logger_di = Context 'Logger'; { console;}Controller_di = Logger 'Controller'; var Di = ;var cache = {};var context = test: 123;var container = Di; var controller = container; //outputs 'log: {test: 123}, message'
Handling errors
var Di = ; { throw ; return test: 123;}Logger_di = Context 'Data'; { console;}Controller_di = Data Dicntdatatest: 321 'Controller'; var context = test: 123;var controller = Dicontext; //outputs '{test: 321}'