ts-ioc-container 26.3.0 → 26.4.1
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 -3
- package/cjm/by.js +11 -10
- package/cjm/container/AutoMockedContainer.js +0 -1
- package/cjm/container/Container.js +0 -1
- package/cjm/container/ContainerDisposedError.js +0 -1
- package/cjm/container/DependencyNotFoundError.js +0 -1
- package/cjm/container/EmptyContainer.js +0 -1
- package/cjm/container/IContainer.js +0 -1
- package/cjm/container/MethodNotImplementedError.js +0 -1
- package/cjm/hook.js +0 -1
- package/cjm/index.js +0 -1
- package/cjm/injector/IInjector.js +0 -1
- package/cjm/injector/ProxyInjector.js +0 -1
- package/cjm/injector/ReflectionInjector.js +0 -1
- package/cjm/injector/SimpleInjector.js +0 -1
- package/cjm/metadata.js +0 -1
- package/cjm/provider/ArgsProvider.js +0 -1
- package/cjm/provider/IProvider.js +0 -1
- package/cjm/provider/Provider.js +0 -1
- package/cjm/provider/ProviderDecorator.js +0 -1
- package/cjm/provider/SingletonProvider.js +0 -1
- package/cjm/provider/TaggedProvider.js +0 -1
- package/cjm/registration/DependencyMissingKeyError.js +0 -1
- package/cjm/registration/Registration.js +0 -1
- package/cjm/utils.js +0 -1
- package/esm/by.js +11 -10
- package/esm/container/AutoMockedContainer.js +0 -1
- package/esm/container/Container.js +0 -1
- package/esm/container/ContainerDisposedError.js +0 -1
- package/esm/container/DependencyNotFoundError.js +0 -1
- package/esm/container/EmptyContainer.js +0 -1
- package/esm/container/IContainer.js +0 -1
- package/esm/container/MethodNotImplementedError.js +0 -1
- package/esm/hook.js +0 -1
- package/esm/index.js +0 -1
- package/esm/injector/IInjector.js +0 -1
- package/esm/injector/ProxyInjector.js +0 -1
- package/esm/injector/ReflectionInjector.js +0 -1
- package/esm/injector/SimpleInjector.js +0 -1
- package/esm/metadata.js +0 -1
- package/esm/provider/ArgsProvider.js +0 -1
- package/esm/provider/IProvider.js +0 -1
- package/esm/provider/Provider.js +0 -1
- package/esm/provider/ProviderDecorator.js +0 -1
- package/esm/provider/SingletonProvider.js +0 -1
- package/esm/provider/TaggedProvider.js +0 -1
- package/esm/registration/DependencyMissingKeyError.js +0 -1
- package/esm/registration/Registration.js +0 -1
- package/esm/utils.js +0 -1
- package/package.json +5 -4
- package/cjm/by.d.ts +0 -42
- package/cjm/by.js.map +0 -1
- package/cjm/container/AutoMockedContainer.d.ts +0 -14
- package/cjm/container/AutoMockedContainer.js.map +0 -1
- package/cjm/container/Container.d.ts +0 -37
- package/cjm/container/Container.js.map +0 -1
- package/cjm/container/ContainerDisposedError.d.ts +0 -5
- package/cjm/container/ContainerDisposedError.js.map +0 -1
- package/cjm/container/DependencyNotFoundError.d.ts +0 -4
- package/cjm/container/DependencyNotFoundError.js.map +0 -1
- package/cjm/container/EmptyContainer.d.ts +0 -15
- package/cjm/container/EmptyContainer.js.map +0 -1
- package/cjm/container/IContainer.d.ts +0 -27
- package/cjm/container/IContainer.js.map +0 -1
- package/cjm/container/MethodNotImplementedError.d.ts +0 -4
- package/cjm/container/MethodNotImplementedError.js.map +0 -1
- package/cjm/hook.d.ts +0 -2
- package/cjm/hook.js.map +0 -1
- package/cjm/index.d.ts +0 -22
- package/cjm/index.js.map +0 -1
- package/cjm/injector/IInjector.d.ts +0 -5
- package/cjm/injector/IInjector.js.map +0 -1
- package/cjm/injector/ProxyInjector.d.ts +0 -6
- package/cjm/injector/ProxyInjector.js.map +0 -1
- package/cjm/injector/ReflectionInjector.d.ts +0 -9
- package/cjm/injector/ReflectionInjector.js.map +0 -1
- package/cjm/injector/SimpleInjector.d.ts +0 -6
- package/cjm/injector/SimpleInjector.js.map +0 -1
- package/cjm/metadata.d.ts +0 -2
- package/cjm/metadata.js.map +0 -1
- package/cjm/provider/ArgsProvider.d.ts +0 -14
- package/cjm/provider/ArgsProvider.js.map +0 -1
- package/cjm/provider/IProvider.d.ts +0 -12
- package/cjm/provider/IProvider.js.map +0 -1
- package/cjm/provider/Provider.d.ts +0 -17
- package/cjm/provider/Provider.js.map +0 -1
- package/cjm/provider/ProviderDecorator.d.ts +0 -13
- package/cjm/provider/ProviderDecorator.js.map +0 -1
- package/cjm/provider/SingletonProvider.d.ts +0 -12
- package/cjm/provider/SingletonProvider.js.map +0 -1
- package/cjm/provider/TaggedProvider.d.ts +0 -12
- package/cjm/provider/TaggedProvider.js.map +0 -1
- package/cjm/registration/DependencyMissingKeyError.d.ts +0 -4
- package/cjm/registration/DependencyMissingKeyError.js.map +0 -1
- package/cjm/registration/Registration.d.ts +0 -12
- package/cjm/registration/Registration.js.map +0 -1
- package/cjm/utils.d.ts +0 -5
- package/cjm/utils.js.map +0 -1
- package/esm/by.d.ts +0 -42
- package/esm/by.js.map +0 -1
- package/esm/container/AutoMockedContainer.d.ts +0 -14
- package/esm/container/AutoMockedContainer.js.map +0 -1
- package/esm/container/Container.d.ts +0 -37
- package/esm/container/Container.js.map +0 -1
- package/esm/container/ContainerDisposedError.d.ts +0 -5
- package/esm/container/ContainerDisposedError.js.map +0 -1
- package/esm/container/DependencyNotFoundError.d.ts +0 -4
- package/esm/container/DependencyNotFoundError.js.map +0 -1
- package/esm/container/EmptyContainer.d.ts +0 -15
- package/esm/container/EmptyContainer.js.map +0 -1
- package/esm/container/IContainer.d.ts +0 -27
- package/esm/container/IContainer.js.map +0 -1
- package/esm/container/MethodNotImplementedError.d.ts +0 -4
- package/esm/container/MethodNotImplementedError.js.map +0 -1
- package/esm/hook.d.ts +0 -2
- package/esm/hook.js.map +0 -1
- package/esm/index.d.ts +0 -22
- package/esm/index.js.map +0 -1
- package/esm/injector/IInjector.d.ts +0 -5
- package/esm/injector/IInjector.js.map +0 -1
- package/esm/injector/ProxyInjector.d.ts +0 -6
- package/esm/injector/ProxyInjector.js.map +0 -1
- package/esm/injector/ReflectionInjector.d.ts +0 -9
- package/esm/injector/ReflectionInjector.js.map +0 -1
- package/esm/injector/SimpleInjector.d.ts +0 -6
- package/esm/injector/SimpleInjector.js.map +0 -1
- package/esm/metadata.d.ts +0 -2
- package/esm/metadata.js.map +0 -1
- package/esm/provider/ArgsProvider.d.ts +0 -14
- package/esm/provider/ArgsProvider.js.map +0 -1
- package/esm/provider/IProvider.d.ts +0 -12
- package/esm/provider/IProvider.js.map +0 -1
- package/esm/provider/Provider.d.ts +0 -17
- package/esm/provider/Provider.js.map +0 -1
- package/esm/provider/ProviderDecorator.d.ts +0 -13
- package/esm/provider/ProviderDecorator.js.map +0 -1
- package/esm/provider/SingletonProvider.d.ts +0 -12
- package/esm/provider/SingletonProvider.js.map +0 -1
- package/esm/provider/TaggedProvider.d.ts +0 -12
- package/esm/provider/TaggedProvider.js.map +0 -1
- package/esm/registration/DependencyMissingKeyError.d.ts +0 -4
- package/esm/registration/DependencyMissingKeyError.js.map +0 -1
- package/esm/registration/Registration.d.ts +0 -12
- package/esm/registration/Registration.js.map +0 -1
- package/esm/utils.d.ts +0 -5
- package/esm/utils.js.map +0 -1
package/README.md
CHANGED
|
@@ -78,7 +78,7 @@ And `tsconfig.json` should have next options:
|
|
|
78
78
|
|
|
79
79
|
```typescript
|
|
80
80
|
import 'reflect-metadata';
|
|
81
|
-
import { IContainer, by, Container, inject, ReflectionInjector, Provider
|
|
81
|
+
import { IContainer, by, Container, inject, ReflectionInjector, Provider } from 'ts-ioc-container';
|
|
82
82
|
|
|
83
83
|
describe('Basic usage', function () {
|
|
84
84
|
it('should inject dependencies', function () {
|
|
@@ -99,7 +99,7 @@ describe('Basic usage', function () {
|
|
|
99
99
|
const root = new Container(new ReflectionInjector(), { tags: ['root'] });
|
|
100
100
|
|
|
101
101
|
class App {
|
|
102
|
-
constructor(@inject(by.
|
|
102
|
+
constructor(@inject(by.scope.current) public scope: IContainer) {}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
const app = root.resolve(App);
|
|
@@ -150,7 +150,7 @@ describe('Scopes', function () {
|
|
|
150
150
|
const root = new Container(new ReflectionInjector(), { tags: ['root'] });
|
|
151
151
|
|
|
152
152
|
class App {
|
|
153
|
-
constructor(@inject(by.
|
|
153
|
+
constructor(@inject(by.scope.create('child')) public scope: IContainer) {}
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
const app = root.resolve(App);
|
package/cjm/by.js
CHANGED
|
@@ -32,14 +32,15 @@ exports.by = {
|
|
|
32
32
|
* @param predicate
|
|
33
33
|
*/
|
|
34
34
|
instances: (predicate = exports.all) => (l) => l.getInstances().filter(predicate),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
scope: {
|
|
36
|
+
/**
|
|
37
|
+
* Get the current scope
|
|
38
|
+
*/
|
|
39
|
+
current: (container) => container,
|
|
40
|
+
/**
|
|
41
|
+
* Create a new scope with the given tags
|
|
42
|
+
* @param tags
|
|
43
|
+
*/
|
|
44
|
+
create: (...tags) => (l) => l.createScope(...tags),
|
|
45
|
+
},
|
|
44
46
|
};
|
|
45
|
-
//# sourceMappingURL=by.js.map
|
package/cjm/hook.js
CHANGED
package/cjm/index.js
CHANGED
|
@@ -50,4 +50,3 @@ Object.defineProperty(exports, "by", { enumerable: true, get: function () { retu
|
|
|
50
50
|
var metadata_1 = require("./metadata");
|
|
51
51
|
Object.defineProperty(exports, "setMetadata", { enumerable: true, get: function () { return metadata_1.setMetadata; } });
|
|
52
52
|
Object.defineProperty(exports, "getMetadata", { enumerable: true, get: function () { return metadata_1.getMetadata; } });
|
|
53
|
-
//# sourceMappingURL=index.js.map
|
package/cjm/metadata.js
CHANGED
package/cjm/provider/Provider.js
CHANGED
package/cjm/utils.js
CHANGED
package/esm/by.js
CHANGED
|
@@ -32,14 +32,15 @@ exports.by = {
|
|
|
32
32
|
* @param predicate
|
|
33
33
|
*/
|
|
34
34
|
instances: (predicate = exports.all) => (l) => l.getInstances().filter(predicate),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
scope: {
|
|
36
|
+
/**
|
|
37
|
+
* Get the current scope
|
|
38
|
+
*/
|
|
39
|
+
current: (container) => container,
|
|
40
|
+
/**
|
|
41
|
+
* Create a new scope with the given tags
|
|
42
|
+
* @param tags
|
|
43
|
+
*/
|
|
44
|
+
create: (...tags) => (l) => l.createScope(...tags),
|
|
45
|
+
},
|
|
44
46
|
};
|
|
45
|
-
//# sourceMappingURL=by.js.map
|
package/esm/hook.js
CHANGED
package/esm/index.js
CHANGED
|
@@ -50,4 +50,3 @@ Object.defineProperty(exports, "by", { enumerable: true, get: function () { retu
|
|
|
50
50
|
var metadata_1 = require("./metadata");
|
|
51
51
|
Object.defineProperty(exports, "setMetadata", { enumerable: true, get: function () { return metadata_1.setMetadata; } });
|
|
52
52
|
Object.defineProperty(exports, "getMetadata", { enumerable: true, get: function () { return metadata_1.getMetadata; } });
|
|
53
|
-
//# sourceMappingURL=index.js.map
|
package/esm/metadata.js
CHANGED
package/esm/provider/Provider.js
CHANGED
package/esm/utils.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.4.1",
|
|
4
4
|
"description": "Typescript IoC container",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"license": "ISC",
|
|
12
12
|
"sideEffects": false,
|
|
13
13
|
"main": "cjm/index.js",
|
|
14
|
-
"types": "
|
|
14
|
+
"types": "typings/index.d.ts",
|
|
15
15
|
"module": "esm/index.js",
|
|
16
16
|
"keywords": [
|
|
17
17
|
"dependency-injection",
|
|
@@ -39,8 +39,9 @@
|
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build:cjm": "rimraf cjm && tsc -p tsconfig.production.json --outDir cjm --module CommonJS",
|
|
41
41
|
"build:esm": "rimraf esm && tsc -p tsconfig.production.json --outDir esm",
|
|
42
|
+
"build:types": "rimraf typings && tsc -p tsconfig.production.json --outDir typings --emitDeclarationOnly --declaration",
|
|
42
43
|
"build:readme": "ts-node scripts/generateReadme/generateReadme.ts",
|
|
43
|
-
"build": "npm run build:cjm && npm run build:esm && npm run build:readme",
|
|
44
|
+
"build": "npm run build:cjm && npm run build:esm && npm run build:types && npm run build:readme",
|
|
44
45
|
"coverage": "coveralls",
|
|
45
46
|
"watch": "nodemon --watch ./lib --exec npm run build",
|
|
46
47
|
"test": "jest --coverage"
|
|
@@ -58,5 +59,5 @@
|
|
|
58
59
|
"ts-node": "^10.9.1",
|
|
59
60
|
"typescript": "4.4.3"
|
|
60
61
|
},
|
|
61
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "ed5f48df1be44a8e3fcea69aa413321ba13f0461"
|
|
62
63
|
}
|
package/cjm/by.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { DependencyKey, IContainer, InjectionToken } from './container/IContainer';
|
|
2
|
-
export declare type InstancePredicate = (dep: unknown) => boolean;
|
|
3
|
-
export declare const all: InstancePredicate;
|
|
4
|
-
export declare const by: {
|
|
5
|
-
alias: {
|
|
6
|
-
/**
|
|
7
|
-
* Get all instances that have at least one of the given aliases
|
|
8
|
-
* @param aliases
|
|
9
|
-
*/
|
|
10
|
-
some: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
|
|
11
|
-
/**
|
|
12
|
-
* Get all instances that have all of the given aliases
|
|
13
|
-
* @param aliases
|
|
14
|
-
*/
|
|
15
|
-
all: (...aliases: DependencyKey[]) => (с: IContainer, ...args: unknown[]) => unknown[];
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Get all instances that match the given keys
|
|
19
|
-
* @param keys
|
|
20
|
-
*/
|
|
21
|
-
keys: (...keys: InjectionToken[]) => (с: IContainer, ...args: unknown[]) => unknown[];
|
|
22
|
-
/**
|
|
23
|
-
* Get the instance that matches the given key
|
|
24
|
-
* @param key
|
|
25
|
-
* @param deps
|
|
26
|
-
*/
|
|
27
|
-
key: <T>(key: InjectionToken<T>, ...deps: unknown[]) => (c: IContainer, ...args: unknown[]) => T;
|
|
28
|
-
/**
|
|
29
|
-
* Get all instances that match the given predicate
|
|
30
|
-
* @param predicate
|
|
31
|
-
*/
|
|
32
|
-
instances: (predicate?: InstancePredicate) => (l: IContainer) => unknown[];
|
|
33
|
-
/**
|
|
34
|
-
* Get the current scope
|
|
35
|
-
*/
|
|
36
|
-
currentScope: (container: IContainer) => IContainer;
|
|
37
|
-
/**
|
|
38
|
-
* Create a new scope with the given tags
|
|
39
|
-
* @param tags
|
|
40
|
-
*/
|
|
41
|
-
createScope: (...tags: string[]) => (l: IContainer) => IContainer;
|
|
42
|
-
};
|
package/cjm/by.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"by.js","sourceRoot":"","sources":["../lib/by.ts"],"names":[],"mappings":";;;AAGO,MAAM,GAAG,GAAsB,GAAG,EAAE,CAAC,IAAI,CAAC;AAApC,QAAA,GAAG,OAAiC;AAEpC,QAAA,EAAE,GAAG;IAChB,KAAK,EAAE;QACL;;;WAGG;QACH,IAAI,EACF,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAE9G;;;WAGG;QACH,GAAG,EACD,CAAC,GAAG,OAAwB,EAAE,EAAE,CAChC,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;KAChH;IAED;;;OAGG;IACH,IAAI,EACF,CAAC,GAAG,IAAsB,EAAE,EAAE,CAC9B,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1C;;;;OAIG;IACH,GAAG,EACD,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,GAAG,IAAe,EAAE,EAAE,CACpC,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEvC;;;OAGG;IACH,SAAS,EACP,CAAC,YAA+B,WAAG,EAAE,EAAE,CACvC,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;IAEtC;;OAEG;IACH,YAAY,EAAE,CAAC,SAAqB,EAAE,EAAE,CAAC,SAAS;IAElD;;;OAGG;IACH,WAAW,EACT,CAAC,GAAG,IAAc,EAAE,EAAE,CACtB,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC3B,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IContainer, InjectionToken, IProvider, DependencyKey, Tag, IContainerModule } from '../index';
|
|
2
|
-
export declare abstract class AutoMockedContainer implements IContainer {
|
|
3
|
-
getTokensByProvider(predicate: (provider: IProvider<unknown>) => boolean): DependencyKey[];
|
|
4
|
-
createScope(...tags: Tag[]): IContainer;
|
|
5
|
-
abstract resolve<T>(key: InjectionToken<T>): T;
|
|
6
|
-
dispose(): void;
|
|
7
|
-
cloneAndImportProvidersFrom(): Map<DependencyKey, IProvider>;
|
|
8
|
-
register(key: DependencyKey, value: IProvider): this;
|
|
9
|
-
getInstances(): unknown[];
|
|
10
|
-
removeScope(): void;
|
|
11
|
-
use(module: IContainerModule): this;
|
|
12
|
-
getAllProviders(): Map<DependencyKey, IProvider>;
|
|
13
|
-
hasTag(tag: Tag): boolean;
|
|
14
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutoMockedContainer.js","sourceRoot":"","sources":["../../lib/container/AutoMockedContainer.ts"],"names":[],"mappings":";;;AAAA,oCAQkB;AAElB,MAAsB,mBAAmB;IACvC,mBAAmB,CAAC,SAAoD;QACtE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACxB,MAAM,IAAI,iCAAyB,EAAE,CAAC;IACxC,CAAC;IAID,OAAO,KAAU,CAAC;IAElB,2BAA2B;QACzB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,GAAkB,EAAE,KAAgB;QAC3C,MAAM,IAAI,iCAAyB,EAAE,CAAC;IACxC,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG,CAAC,MAAwB;QAC1B,MAAM,IAAI,iCAAyB,EAAE,CAAC;IACxC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAtCD,kDAsCC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { DependencyKey, IContainer, IContainerModule, InjectionToken, Tag, Tagged } from './IContainer';
|
|
2
|
-
import { IInjector } from '../injector/IInjector';
|
|
3
|
-
import { IProvider } from '../provider/IProvider';
|
|
4
|
-
export declare class Container implements IContainer, Tagged {
|
|
5
|
-
private readonly injector;
|
|
6
|
-
readonly providers: Map<DependencyKey, IProvider<unknown>>;
|
|
7
|
-
private readonly tags;
|
|
8
|
-
private isDisposed;
|
|
9
|
-
private parent;
|
|
10
|
-
private scopes;
|
|
11
|
-
private instances;
|
|
12
|
-
constructor(injector: IInjector, options?: {
|
|
13
|
-
parent?: IContainer;
|
|
14
|
-
tags?: Tag[];
|
|
15
|
-
});
|
|
16
|
-
register(key: DependencyKey, provider: IProvider): this;
|
|
17
|
-
resolve<T>(token: InjectionToken<T>, ...args: unknown[]): T;
|
|
18
|
-
getTokensByProvider(predicate: (provider: IProvider) => boolean): DependencyKey[];
|
|
19
|
-
createScope(...tags: Tag[]): Container;
|
|
20
|
-
dispose(): void;
|
|
21
|
-
getInstances(): unknown[];
|
|
22
|
-
hasTag(tag: Tag): boolean;
|
|
23
|
-
use(module: IContainerModule): this;
|
|
24
|
-
/**
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
|
-
cloneValidProvidersFrom(source: IContainer): void;
|
|
28
|
-
/**
|
|
29
|
-
* @private
|
|
30
|
-
*/
|
|
31
|
-
getAllProviders(): Map<DependencyKey, IProvider>;
|
|
32
|
-
/**
|
|
33
|
-
* @private
|
|
34
|
-
*/
|
|
35
|
-
removeScope(child: IContainer): void;
|
|
36
|
-
private validateContainer;
|
|
37
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAuB,SAAQ,KAAK;IAS/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,wBAAwB,CAAC;QAK9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAZD,MAAM,CAAC,MAAM,CAAC,MAAe,EAAE,WAAmB;QAChD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SAC/C;IACH,CAAC;CASF;AAdD,wDAcC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyNotFoundError.js","sourceRoot":"","sources":["../../lib/container/DependencyNotFoundError.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAwB,SAAQ,KAAK;IAGhD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,yBAAyB,CAAC;QAK/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACF;AARD,0DAQC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DependencyKey, IContainer, IContainerModule, InjectionToken, Tag } from './IContainer';
|
|
2
|
-
import { IProvider } from '../provider/IProvider';
|
|
3
|
-
export declare class EmptyContainer implements IContainer {
|
|
4
|
-
getTokensByProvider(predicate: (provider: IProvider<unknown>) => boolean): DependencyKey[];
|
|
5
|
-
hasTag(tag: Tag): boolean;
|
|
6
|
-
createScope(...tags: Tag[]): IContainer;
|
|
7
|
-
dispose(): void;
|
|
8
|
-
register(key: DependencyKey, value: IProvider): this;
|
|
9
|
-
resolve<T>(key: InjectionToken<T>): T;
|
|
10
|
-
getAllProviders(): Map<DependencyKey, IProvider>;
|
|
11
|
-
cloneAndImportProvidersFrom(): void;
|
|
12
|
-
getInstances(): unknown[];
|
|
13
|
-
removeScope(): void;
|
|
14
|
-
use(module: IContainerModule): this;
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyContainer.js","sourceRoot":"","sources":["../../lib/container/EmptyContainer.ts"],"names":[],"mappings":";;;AACA,2EAAwE;AACxE,uEAAoE;AAGpE,MAAa,cAAc;IACzB,mBAAmB,CAAC,SAAoD;QACtE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACxB,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO;QACL,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAkB,EAAE,KAAgB;QAC3C,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,CAAI,GAAsB;QAC/B,MAAM,IAAI,iDAAuB,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,2BAA2B;QACzB,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG,CAAC,MAAwB;QAC1B,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;CACF;AA1CD,wCA0CC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { IProvider } from '../provider/IProvider';
|
|
2
|
-
import { constructor } from '../utils';
|
|
3
|
-
export declare type Tag = string;
|
|
4
|
-
export interface Tagged {
|
|
5
|
-
hasTag(tag: Tag): boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare type DependencyKey = string | symbol;
|
|
8
|
-
export declare function isDependencyKey<T>(token: InjectionToken<T>): token is DependencyKey;
|
|
9
|
-
export declare function isConstructor<T>(token: InjectionToken<T>): token is constructor<T>;
|
|
10
|
-
export declare type InjectionToken<T = unknown> = constructor<T> | DependencyKey;
|
|
11
|
-
export interface Resolvable {
|
|
12
|
-
resolve<T>(key: InjectionToken<T>, ...args: unknown[]): T;
|
|
13
|
-
}
|
|
14
|
-
export interface IContainerModule {
|
|
15
|
-
applyTo(container: IContainer): void;
|
|
16
|
-
}
|
|
17
|
-
export interface IContainer extends Resolvable {
|
|
18
|
-
createScope(...tags: Tag[]): IContainer;
|
|
19
|
-
register(key: DependencyKey, value: IProvider): this;
|
|
20
|
-
removeScope(child: IContainer): void;
|
|
21
|
-
getInstances(): unknown[];
|
|
22
|
-
dispose(): void;
|
|
23
|
-
use(module: IContainerModule): this;
|
|
24
|
-
hasTag(tag: Tag): boolean;
|
|
25
|
-
getAllProviders(): Map<DependencyKey, IProvider>;
|
|
26
|
-
getTokensByProvider(predicate: (provider: IProvider) => boolean): DependencyKey[];
|
|
27
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IContainer.js","sourceRoot":"","sources":["../../lib/container/IContainer.ts"],"names":[],"mappings":";;;AAWA,SAAgB,eAAe,CAAI,KAAwB;IACzD,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AACrD,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa,CAAI,KAAwB;IACvD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAFD,sCAEC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MethodNotImplementedError.js","sourceRoot":"","sources":["../../lib/container/MethodNotImplementedError.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;IAGlD,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,2BAA2B,CAAC;QAKjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF;AARD,8DAQC"}
|
package/cjm/hook.d.ts
DELETED
package/cjm/hook.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../lib/hook.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GACf,CAAC,GAAoB,EAAmB,EAAE,CAC1C,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD;AAC/H,CAAC,CAAC;AALS,QAAA,IAAI,QAKb;AAEJ,wDAAwD;AACxD,SAAgB,QAAQ,CAAC,MAAc,EAAE,GAAoB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAFD,4BAEC"}
|