ts-ioc-container 21.0.10 → 21.0.12
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 +3 -0
- package/cjm/container/IContainer.d.ts +2 -2
- package/cjm/index.d.ts +1 -1
- package/cjm/provider/ArgsProvider.d.ts +3 -3
- package/cjm/provider/ArgsProvider.js.map +1 -1
- package/cjm/provider/IProvider.d.ts +3 -3
- package/cjm/provider/Provider.d.ts +2 -2
- package/cjm/provider/Provider.js.map +1 -1
- package/cjm/provider/ProviderDecorator.d.ts +2 -2
- package/cjm/provider/ProviderDecorator.js.map +1 -1
- package/cjm/provider/SingletonProvider.d.ts +2 -2
- package/cjm/provider/SingletonProvider.js.map +1 -1
- package/esm/container/IContainer.d.ts +2 -2
- package/esm/index.d.ts +1 -1
- package/esm/provider/ArgsProvider.d.ts +3 -3
- package/esm/provider/ArgsProvider.js.map +1 -1
- package/esm/provider/IProvider.d.ts +3 -3
- package/esm/provider/Provider.d.ts +2 -2
- package/esm/provider/Provider.js.map +1 -1
- package/esm/provider/ProviderDecorator.d.ts +2 -2
- package/esm/provider/ProviderDecorator.js.map +1 -1
- package/esm/provider/SingletonProvider.d.ts +2 -2
- package/esm/provider/SingletonProvider.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -81,6 +81,9 @@ container.register(fromClass(Logger).forKey('ILogger').asSingleton('tag1', 'tag2
|
|
|
81
81
|
// singleton in every scope
|
|
82
82
|
container.register(fromClass(Logger).forKey('ILogger').withArgs('dev').asSingleton().build());
|
|
83
83
|
|
|
84
|
+
// singleton in every scope
|
|
85
|
+
container.register(fromClass(Logger).forKey('ILogger').withArgsFn((container) => [container.resolve('isTestEnv') ? 'dev' : 'prod']).asSingleton().build());
|
|
86
|
+
|
|
84
87
|
container.register(fromValue(new Logger()).forKey('ILogger').build());
|
|
85
88
|
```
|
|
86
89
|
|
|
@@ -2,10 +2,10 @@ import { IProvider, ProviderKey, Tag } from '../provider/IProvider';
|
|
|
2
2
|
import { constructor } from '../types';
|
|
3
3
|
import { Registration } from '../registration/Registration';
|
|
4
4
|
export declare type InjectionToken<T = unknown> = constructor<T> | ProviderKey;
|
|
5
|
-
export interface
|
|
5
|
+
export interface Resolvable {
|
|
6
6
|
resolve<T>(key: InjectionToken<T>, ...args: unknown[]): T;
|
|
7
7
|
}
|
|
8
|
-
export interface IContainer extends
|
|
8
|
+
export interface IContainer extends Resolvable {
|
|
9
9
|
createScope(tags?: Tag[]): IContainer;
|
|
10
10
|
register(value: Registration): this;
|
|
11
11
|
getProviders(): Map<ProviderKey, IProvider>;
|
package/cjm/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { IContainer, InjectionToken } from './container/IContainer';
|
|
|
2
2
|
import { ProviderKey, ResolveDependency, Tag } from './provider/IProvider';
|
|
3
3
|
import { constructor } from './types';
|
|
4
4
|
import { RegistrationBuilder } from './registration/RegistrationBuilder';
|
|
5
|
-
export { IContainer,
|
|
5
|
+
export { IContainer, Resolvable } from './container/IContainer';
|
|
6
6
|
export { EmptyContainer } from './container/EmptyContainer';
|
|
7
7
|
export { constructor } from './types';
|
|
8
8
|
export { Container } from './container/Container';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ProviderDecorator } from './ProviderDecorator';
|
|
2
|
-
import {
|
|
2
|
+
import { Resolvable } from '../container/IContainer';
|
|
3
3
|
import { IProvider } from './IProvider';
|
|
4
|
-
export declare type ArgsFn = (l:
|
|
4
|
+
export declare type ArgsFn = (l: Resolvable) => unknown[];
|
|
5
5
|
export declare class ArgsProvider<T> extends ProviderDecorator<T> {
|
|
6
6
|
private provider;
|
|
7
7
|
private argsFn;
|
|
8
8
|
constructor(provider: IProvider<T>, argsFn: ArgsFn);
|
|
9
|
-
resolve(container:
|
|
9
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
10
10
|
clone(): ProviderDecorator<T>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAwD;AAMxD;IAAqC,gCAAoB;IACrD,sBAAoB,QAAsB,EAAU,MAAc;QAAlE,YACI,kBAAM,QAAQ,CAAC,SAClB;QAFmB,cAAQ,GAAR,QAAQ,CAAc;QAAU,YAAM,GAAN,MAAM,CAAQ;;IAElE,CAAC;IAED,8BAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAwD;AAMxD;IAAqC,gCAAoB;IACrD,sBAAoB,QAAsB,EAAU,MAAc;QAAlE,YACI,kBAAM,QAAQ,CAAC,SAClB;QAFmB,cAAQ,GAAR,QAAQ,CAAc;QAAU,YAAM,GAAN,MAAM,CAAQ;;IAElE,CAAC;IAED,8BAAO,GAAP,UAAQ,SAAqB;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,wCAAC,SAAS,UAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAK,IAAI,WAAE;IAChF,CAAC;IAED,4BAAK,GAAL;QACI,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACL,mBAAC;AAAD,CAAC,AAZD,CAAqC,qCAAiB,GAYrD;AAZY,oCAAY"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { InjectionToken,
|
|
2
|
-
export declare type ResolveDependency<T> = (container:
|
|
1
|
+
import { InjectionToken, Resolvable } from '../container/IContainer';
|
|
2
|
+
export declare type ResolveDependency<T> = (container: Resolvable, ...args: unknown[]) => T;
|
|
3
3
|
export declare type Tag = string;
|
|
4
4
|
export interface Tagged {
|
|
5
5
|
hasTag(tag: Tag): boolean;
|
|
6
6
|
}
|
|
7
7
|
export interface IProvider<T = unknown> {
|
|
8
8
|
clone(): IProvider<T>;
|
|
9
|
-
resolve(container:
|
|
9
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
10
10
|
isValid(filters: Tagged): boolean;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { constructor } from '../types';
|
|
2
2
|
import { IProvider, ResolveDependency } from './IProvider';
|
|
3
|
-
import {
|
|
3
|
+
import { Resolvable } from '../container/IContainer';
|
|
4
4
|
export declare class Provider<T> implements IProvider<T> {
|
|
5
5
|
private readonly resolveDependency;
|
|
6
6
|
static fromClass<T>(value: constructor<T>): Provider<T>;
|
|
7
7
|
static fromValue<T>(value: T): Provider<T>;
|
|
8
8
|
constructor(resolveDependency: ResolveDependency<T>);
|
|
9
9
|
clone(): Provider<T>;
|
|
10
|
-
resolve(container:
|
|
10
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
isValid(): boolean;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,UAAC,SAAS;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,SAAS,CAAC,OAAO,OAAjB,SAAS,iBAAS,KAAK,UAAK,IAAI;QAAhC,CAAiC,CAAC,CAAC;IACnF,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAID,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,UAAC,SAAS;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,SAAS,CAAC,OAAO,OAAjB,SAAS,iBAAS,KAAK,UAAK,IAAI;QAAhC,CAAiC,CAAC,CAAC;IACnF,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAID,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,SAAqB;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IAED,0BAAO,GAAP,cAAiB,CAAC;IAElB,0BAAO,GAAP;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,4BAAQ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Resolvable } from '../container/IContainer';
|
|
2
2
|
import { IProvider, Tagged } from './IProvider';
|
|
3
3
|
export declare abstract class ProviderDecorator<T> implements IProvider<T> {
|
|
4
4
|
private decorated;
|
|
@@ -6,5 +6,5 @@ export declare abstract class ProviderDecorator<T> implements IProvider<T> {
|
|
|
6
6
|
clone(): IProvider<T>;
|
|
7
7
|
dispose(): void;
|
|
8
8
|
isValid(filters: Tagged): boolean;
|
|
9
|
-
resolve(container:
|
|
9
|
+
resolve(container: Resolvable, ...args: any[]): T;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IACI,2BAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,iCAAK,GAAL;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IACI,2BAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,iCAAK,GAAL;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAqB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACzC,OAAO,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IACL,wBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBqB,8CAAiB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Resolvable } from '../container/IContainer';
|
|
2
2
|
import { ProviderDecorator } from './ProviderDecorator';
|
|
3
3
|
import { IProvider } from './IProvider';
|
|
4
4
|
export declare class SingletonProvider<T> extends ProviderDecorator<T> {
|
|
@@ -7,5 +7,5 @@ export declare class SingletonProvider<T> extends ProviderDecorator<T> {
|
|
|
7
7
|
constructor(provider: IProvider<T>);
|
|
8
8
|
clone(): SingletonProvider<T>;
|
|
9
9
|
dispose(): void;
|
|
10
|
-
resolve(container:
|
|
10
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAwD;AAKxD;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAoB,IAAI,CAAC;;IAIzC,CAAC;IAED,iCAAK,GAAL;QACI,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,mCAAO,GAAP,UAAQ,
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAwD;AAKxD;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAoB,IAAI,CAAC;;IAIzC,CAAC;IAED,iCAAK,GAAL;QACI,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAqB;;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,UAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACvC;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAxBD,CAA0C,qCAAiB,GAwB1D;AAxBY,8CAAiB"}
|
|
@@ -2,10 +2,10 @@ import { IProvider, ProviderKey, Tag } from '../provider/IProvider';
|
|
|
2
2
|
import { constructor } from '../types';
|
|
3
3
|
import { Registration } from '../registration/Registration';
|
|
4
4
|
export declare type InjectionToken<T = unknown> = constructor<T> | ProviderKey;
|
|
5
|
-
export interface
|
|
5
|
+
export interface Resolvable {
|
|
6
6
|
resolve<T>(key: InjectionToken<T>, ...args: unknown[]): T;
|
|
7
7
|
}
|
|
8
|
-
export interface IContainer extends
|
|
8
|
+
export interface IContainer extends Resolvable {
|
|
9
9
|
createScope(tags?: Tag[]): IContainer;
|
|
10
10
|
register(value: Registration): this;
|
|
11
11
|
getProviders(): Map<ProviderKey, IProvider>;
|
package/esm/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { IContainer, InjectionToken } from './container/IContainer';
|
|
|
2
2
|
import { ProviderKey, ResolveDependency, Tag } from './provider/IProvider';
|
|
3
3
|
import { constructor } from './types';
|
|
4
4
|
import { RegistrationBuilder } from './registration/RegistrationBuilder';
|
|
5
|
-
export { IContainer,
|
|
5
|
+
export { IContainer, Resolvable } from './container/IContainer';
|
|
6
6
|
export { EmptyContainer } from './container/EmptyContainer';
|
|
7
7
|
export { constructor } from './types';
|
|
8
8
|
export { Container } from './container/Container';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ProviderDecorator } from './ProviderDecorator';
|
|
2
|
-
import {
|
|
2
|
+
import { Resolvable } from '../container/IContainer';
|
|
3
3
|
import { IProvider } from './IProvider';
|
|
4
|
-
export declare type ArgsFn = (l:
|
|
4
|
+
export declare type ArgsFn = (l: Resolvable) => unknown[];
|
|
5
5
|
export declare class ArgsProvider<T> extends ProviderDecorator<T> {
|
|
6
6
|
private provider;
|
|
7
7
|
private argsFn;
|
|
8
8
|
constructor(provider: IProvider<T>, argsFn: ArgsFn);
|
|
9
|
-
resolve(container:
|
|
9
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
10
10
|
clone(): ProviderDecorator<T>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,OAAO,YAAgB,SAAQ,iBAAoB;IACrD,YAAoB,QAAsB,EAAU,MAAc;QAC9D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADA,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,OAAO,YAAgB,SAAQ,iBAAoB;IACrD,YAAoB,QAAsB,EAAU,MAAc;QAC9D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADA,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,KAAK;QACD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;CACJ"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { InjectionToken,
|
|
2
|
-
export declare type ResolveDependency<T> = (container:
|
|
1
|
+
import { InjectionToken, Resolvable } from '../container/IContainer';
|
|
2
|
+
export declare type ResolveDependency<T> = (container: Resolvable, ...args: unknown[]) => T;
|
|
3
3
|
export declare type Tag = string;
|
|
4
4
|
export interface Tagged {
|
|
5
5
|
hasTag(tag: Tag): boolean;
|
|
6
6
|
}
|
|
7
7
|
export interface IProvider<T = unknown> {
|
|
8
8
|
clone(): IProvider<T>;
|
|
9
|
-
resolve(container:
|
|
9
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
10
10
|
isValid(filters: Tagged): boolean;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { constructor } from '../types';
|
|
2
2
|
import { IProvider, ResolveDependency } from './IProvider';
|
|
3
|
-
import {
|
|
3
|
+
import { Resolvable } from '../container/IContainer';
|
|
4
4
|
export declare class Provider<T> implements IProvider<T> {
|
|
5
5
|
private readonly resolveDependency;
|
|
6
6
|
static fromClass<T>(value: constructor<T>): Provider<T>;
|
|
7
7
|
static fromValue<T>(value: T): Provider<T>;
|
|
8
8
|
constructor(resolveDependency: ResolveDependency<T>);
|
|
9
9
|
clone(): Provider<T>;
|
|
10
|
-
resolve(container:
|
|
10
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
isValid(): boolean;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARxE,MAAM,CAAC,SAAS,CAAI,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAID,KAAK;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARxE,MAAM,CAAC,SAAS,CAAI,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAID,KAAK;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,OAAO;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Resolvable } from '../container/IContainer';
|
|
2
2
|
import { IProvider, Tagged } from './IProvider';
|
|
3
3
|
export declare abstract class ProviderDecorator<T> implements IProvider<T> {
|
|
4
4
|
private decorated;
|
|
@@ -6,5 +6,5 @@ export declare abstract class ProviderDecorator<T> implements IProvider<T> {
|
|
|
6
6
|
clone(): IProvider<T>;
|
|
7
7
|
dispose(): void;
|
|
8
8
|
isValid(filters: Tagged): boolean;
|
|
9
|
-
resolve(container:
|
|
9
|
+
resolve(container: Resolvable, ...args: any[]): T;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,iBAAiB;IACnC,YAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,KAAK;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,iBAAiB;IACnC,YAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,KAAK;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAW;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Resolvable } from '../container/IContainer';
|
|
2
2
|
import { ProviderDecorator } from './ProviderDecorator';
|
|
3
3
|
import { IProvider } from './IProvider';
|
|
4
4
|
export declare class SingletonProvider<T> extends ProviderDecorator<T> {
|
|
@@ -7,5 +7,5 @@ export declare class SingletonProvider<T> extends ProviderDecorator<T> {
|
|
|
7
7
|
constructor(provider: IProvider<T>);
|
|
8
8
|
clone(): SingletonProvider<T>;
|
|
9
9
|
dispose(): void;
|
|
10
|
-
resolve(container:
|
|
10
|
+
resolve(container: Resolvable, ...args: unknown[]): T;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG1D,YAA6B,QAAsB;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAc;QAF3C,aAAQ,GAAoB,IAAI,CAAC;IAIzC,CAAC;IAED,KAAK;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG1D,YAA6B,QAAsB;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAc;QAF3C,aAAQ,GAAoB,IAAI,CAAC;IAIzC,CAAC;IAED,KAAK;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACvC;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,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.12",
|
|
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": "a1770c9dad824a88d7fbbe2bb83d1ea599923c93"
|
|
52
52
|
}
|