ts-ioc-container 21.0.4 → 21.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ const injector: IInjector = {
|
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
49
|
const container = new Container(injector);
|
|
50
|
-
container.register(
|
|
50
|
+
container.register(fromClass(Logger).forKey('ILogger').build());
|
|
51
51
|
const logger = container.resolve<ILogger>('ILogger');
|
|
52
52
|
```
|
|
53
53
|
|
|
@@ -57,23 +57,23 @@ const logger = container.resolve<ILogger>('ILogger');
|
|
|
57
57
|
import { fromClass, fromFn, fromValue } from "ts-ioc-container";
|
|
58
58
|
|
|
59
59
|
const container = new Container(injector, { tags: ['root'] });
|
|
60
|
-
container.register(
|
|
60
|
+
container.register(fromFn((container, ...args) => new Logger(...args)).forKey('ILogger').build());
|
|
61
61
|
|
|
62
62
|
// Available only in root scope and all his children
|
|
63
|
-
container.register(
|
|
63
|
+
container.register(fromClass(Logger).forKey('ILogger').perTags(['root']).build());
|
|
64
64
|
|
|
65
65
|
// Singleton per root tag and all his children
|
|
66
|
-
container.register(
|
|
66
|
+
container.register(fromClass(Logger).forKey('ILogger').asSingleton().perTags(['root']).build());
|
|
67
67
|
// OR
|
|
68
|
-
container.register(
|
|
68
|
+
container.register(fromClass(Logger).forKey('ILogger').asSingleton('root').build());
|
|
69
69
|
|
|
70
70
|
// singleton for scope with tag1 or tag2
|
|
71
|
-
container.register(
|
|
71
|
+
container.register(fromClass(Logger).forKey('ILogger').asSingleton('tag1', 'tag2').build());
|
|
72
72
|
|
|
73
73
|
// singleton in every scope
|
|
74
|
-
container.register(
|
|
74
|
+
container.register(fromClass(Logger).forKey('ILogger').withArgs('dev').asSingleton().build());
|
|
75
75
|
|
|
76
|
-
container.register(
|
|
76
|
+
container.register(fromValue(new Logger()).forKey('ILogger').build());
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
## Decorators
|
|
@@ -141,7 +141,7 @@ const injector: IInjector = {
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
const container = new Container(injector);
|
|
144
|
-
container.register(
|
|
144
|
+
container.register(fromClass(Logger).forKey('ILogger').build());
|
|
145
145
|
const logger = container.resolve<ILogger>('ILogger');
|
|
146
146
|
for (const instance of container.getInstances()) {
|
|
147
147
|
onDisposeReflector.invokeHooksOf(instance);
|
|
@@ -169,8 +169,8 @@ class Engine {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
const container = new Container(injector, { tags: ['root'] })
|
|
172
|
-
.register(
|
|
173
|
-
.register(
|
|
172
|
+
.register(fromClass(Logger).forKey('ILogger').build())
|
|
173
|
+
.register(fromClass(Engine).forKey('IEngine').build());
|
|
174
174
|
|
|
175
175
|
const scope = container.createScope(['home', 'child']);
|
|
176
176
|
const logger = scope.resolve('ILogger');
|
|
@@ -225,3 +225,4 @@ describe('test', () => {
|
|
|
225
225
|
- [RegistrationMissingKeyError.ts](lib%2Fregistration%2FRegistrationMissingKeyError.ts)
|
|
226
226
|
- [MethodNotImplementedError.ts](lib%2FMethodNotImplementedError.ts)
|
|
227
227
|
- [ContainerDisposedError.ts](lib%2Fcontainer%2FContainerDisposedError.ts)
|
|
228
|
+
|
|
@@ -6,7 +6,7 @@ export declare class RegistrationBuilder<T = unknown> {
|
|
|
6
6
|
private provider;
|
|
7
7
|
private key?;
|
|
8
8
|
constructor(provider: IProvider<T>);
|
|
9
|
-
withArgs(...extraArgs:
|
|
9
|
+
withArgs(...extraArgs: unknown[]): this;
|
|
10
10
|
withArgsFn(argsFn: ArgsFn): this;
|
|
11
11
|
map(reducer: MapFn<RegistrationBuilder<T>>): RegistrationBuilder<T>;
|
|
12
12
|
perTags(...tags: Tag[]): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAClE,6DAA4D;AAC5D,yDAAgE;AAChE,6EAA4E;AAI5E;IAGI,6BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,sCAAQ,GAAR;QAAS,
|
|
1
|
+
{"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAClE,6DAA4D;AAC5D,yDAAgE;AAChE,6EAA4E;AAI5E;IAGI,6BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,sCAAQ,GAAR;QAAS,mBAAuB;aAAvB,UAAuB,EAAvB,qBAAuB,EAAvB,IAAuB;YAAvB,8BAAuB;;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAG,GAAH,UAAI,OAAsC;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,qCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX;QAAY,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,yDAA2B,CAAC,oDAAoD,CAAC,CAAC;SAC/F;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IACL,0BAAC;AAAD,CAAC,AA3CD,IA2CC;AA3CY,kDAAmB"}
|
|
@@ -6,7 +6,7 @@ export declare class RegistrationBuilder<T = unknown> {
|
|
|
6
6
|
private provider;
|
|
7
7
|
private key?;
|
|
8
8
|
constructor(provider: IProvider<T>);
|
|
9
|
-
withArgs(...extraArgs:
|
|
9
|
+
withArgs(...extraArgs: unknown[]): this;
|
|
10
10
|
withArgsFn(argsFn: ArgsFn): this;
|
|
11
11
|
map(reducer: MapFn<RegistrationBuilder<T>>): RegistrationBuilder<T>;
|
|
12
12
|
perTags(...tags: Tag[]): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAU,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAI5E,MAAM,OAAO,mBAAmB;IAG5B,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,QAAQ,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAU,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAI5E,MAAM,OAAO,mBAAmB;IAG5B,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,QAAQ,CAAC,GAAG,SAAoB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAAsC;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,2BAA2B,CAAC,oDAAoD,CAAC,CAAC;SAC/F;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "21.0.
|
|
3
|
+
"version": "21.0.7",
|
|
4
4
|
"description": "Typescript IoC container",
|
|
5
5
|
"author": "ibabkin <igba14@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/IgorBabkin/ts-ioc-container/tree/master/packages/ts-ioc-container",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"ts-jest": "27.0.5",
|
|
49
49
|
"typescript": "4.4.3"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "c3a854d12081ac547092bcde06aa2b1d6a159dca"
|
|
52
52
|
}
|