npm install deepinManage objects creation and dependencies using a descriptive way. It's a simple approach to inversion of control.
It currently only supports constructor injection by order, not by name
```
$ yarn add deepin
javascript
/ importing UserController, UserService & UserRepository... /
import {Dependency, Injector} from 'deepin'const injector = Injector.createAndResolve([
new Dependency('UserController', {useClass: UserController}, ['UserService']),
new Dependency('UserService', {useClass: UserService}, ['UserRepository']),
new Dependency('UserRepository', {useClass: UserRepository})
])
/**
* Create a brand new instance of the UserController
* on each call
*/
const userController = injector.get('UserController')
/**
* Always retrieve the SAME instance of a UserController
*/
const userController = injector.getUnique('UserController')
`
Shortcut usage for useClass :
`javascript
/ importing UserController, UserService & UserRepository... /
import {give, Injector} from 'deepin'const injector = Injector.createAndResolve([
give(UserController, ['UserService']),
give(UserService, ['UserRepository']),
give(UserRepository)
])
``- API documentation
- Benchmarks
Copyright (c) 2017 Marvin Frachet
Licensed under the MIT license.