0.2.31 • Published 3 years ago
@newdash/inject v0.2.31
Dependency Inject Container
Yet another dependency injection
container for typescript
Quick Start
# install libs
npm i -S reflect-metadata @newdash/inject
// tsconfig.json
// remember enable decorator related flags
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true
}
}
// import reflect lib firstly
import "reflect-metadata";
import { inject } from "@newdash/inject"
// a really simple example
it('should support deep constructor injection', async () => {
class A {
v: number
constructor(@inject("v") v) {
this.v = v;
}
}
class B {
a: InjectWrappedInstance<A>
constructor(@inject(A) a) {
this.a = a;
}
}
const ic = InjectContainer.New();
ic.registerInstance("v", 999); // define an instance provider in simple way
const b = await ic.getInstance(B);
expect(b.a.v).toBe(999);
});
CHANGELOG
LICENSE
0.2.31
3 years ago
0.2.30
3 years ago
0.2.29
4 years ago
0.2.28
4 years ago
0.2.27
5 years ago
0.2.26
5 years ago
0.2.25
5 years ago
0.2.24
5 years ago
0.2.23
5 years ago
0.2.22
5 years ago
0.2.21
5 years ago
0.2.20
5 years ago
0.2.19
5 years ago
0.2.18
5 years ago
0.2.17
5 years ago
0.2.16
5 years ago
0.2.15
5 years ago
0.2.14
5 years ago
0.2.13
5 years ago
0.2.12
5 years ago
0.2.11
5 years ago
0.2.9
5 years ago
0.2.7
5 years ago
0.2.8
5 years ago
0.2.6
5 years ago
0.2.5
5 years ago
0.2.3
5 years ago
0.2.4
5 years ago
0.2.2
5 years ago
0.0.14
5 years ago
0.0.13
5 years ago
0.0.12
5 years ago
0.0.10
5 years ago
0.0.11
5 years ago
0.0.9
5 years ago
0.0.8
5 years ago
0.0.5
5 years ago
0.0.6
5 years ago
0.0.4
5 years ago
0.0.3
5 years ago
0.0.2
5 years ago