Very simple IoC container for NodeJS
The intention behind this repository is to always maintain a viable and simple IoC to use in any type of NodeJS
applications, with or without Frameworks
npm install @secjs/ioc
Container can register dependencies for you, every container.get will create a new instance for UserService.
import { Container } from '@SecJS/IoC'
import { UserService } from 'app/Services/UserService'
const container = new Container()
container.set(UserService)
const userService = container.get<UserService>('UserService', 'props', 'to', 'UserService Constructor here')
console.log(userService.findAll())
Container can register singleton dependencies, when singleton container.get will return the same UserService instance all time.
import { Container } from '@SecJS/IoC'
import { UserService } from 'app/Services/UserService'
const container = new Container()
container.singleton(UserService, 'props', 'to', 'UserService Constructor here')
const userService = container.get<UserService>('UserService')
console.log(userService.findAll())
Singleton can register static objects and arrays too, but for arrays and objects the name is required:
container.singleton([], 'myArray')
container.singleton({}, 'myObject')
console.log(container.get('myArray')) // []
console.log(container.get('myObject')) // {}
Made with 🖤 by jlenon7 👋