aioc
Another inversion of control (IoC) container for Node.js applications inspired by the awesome compact-ioc.
Installation
npm install aioc --save
Example usage
// foo.js { console }exports = moduleexports = Fooexports'@factory' =
// bar.js { console }exports = moduleexports = Barexports'@factory' =
// foobar.js { thisfoo = foo thisbar = bar } { thisfoo thisbar }exports = moduleexports = Foobarexports'@deps' = 'foo' 'bar'exports'@factory' = foo bar
// ioc.jsconst AIOC = moduleexports =
// index.jsconst ioc = const foobar = ioc foobar // $ node index.js// foo// bar
Api
constructor (opts)
Create a new IOC container.
options
depsKey
A string
to specify the dependencies key.
Defaults to :
aioc.defaultDepsKey
= "@deps"
factoryKey
A string
to specify the factory key.
Defaults to :
aioc.defaultFactoryKey
= "@factory"
applyArgs (name, args)
Declares arguments which will be passed to the factory of the name
dependency.
// foo.js { console }exports = moduleexports = Fooexports'@factory' = args // index.jsconst ioc = iocioc const Foo = ioc // $ node index.js// ['foo', 'bar']
name
A string
to specify a dependency key.
args
An array used when the dependency fatory will be called
callArgs (name, ...args)
Alias to applyArgs(name, args)
.
flush (name)
Remove a dependency instance from the cache.
ioc
name
A string
to specify a dependency key.
get (name)
Get a dependency.
// index.jsconst ioc = ioc const Foo = ioc
name
A string
to specify a dependency key.
pub (name, path)
Publish a new dependency.
Example :
ioc
name
A string
to specify a key which identify the new dependency.
path
A string
to specify a path to the new dependency.
unpub (name)
Unpublish a dependency.
Example :
ioc
use (name, ...args)
License
MIT