1.0.1 • Published 7 years ago
basic-di v1.0.1
Basic Dependency Injection
Installation
npm install --save basic-di
Use
Create a Clas with static getter methods: injectable and inject
injectable
Determinate if basic di returns a class or a instance of class.
static get injectable () {
return true
}
inject
A dependencies array that are setted as class instance properties
static get inject () {
return [
B1,
B2
]
}
Example
UserController.js
'use strict'
import UserRepository as Repository from './UserRepository'
import UserManager as Manager from './UserManager'
export default class UserController {
constructor (Repository, Manager) {
this.Repository = Repository
this.Manager = Manager
}
static get injectable () {
return true
}
static get inject () {
return [
Repository,
Manager
]
}
}
Create a instance of A1 with basic di
index.js
'use strict'
import di from 'basic-id'
import UserController from './UserController'
let userController = di.create(UserController) // Return a instance of UserController with dependencies
userController.Repository // Instance of UserRepository
userController.Manager // Instance of ManagerRepository