ts-ioc-container 7.0.4 → 7.0.5
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/cjm/core/ProviderRepository.d.ts +2 -2
- package/cjm/core/ProviderRepository.js +3 -5
- package/cjm/core/ProviderRepository.js.map +1 -1
- package/esm/core/ProviderRepository.d.ts +2 -2
- package/esm/core/ProviderRepository.js +3 -5
- package/esm/core/ProviderRepository.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IProvider, ProviderKey, ScopeOptions, Tag } from './IProvider';
|
|
2
2
|
import { IProviderRepository } from './IProviderRepository';
|
|
3
|
-
export declare class ProviderRepository implements IProviderRepository {
|
|
3
|
+
export declare class ProviderRepository implements IProviderRepository, ScopeOptions {
|
|
4
4
|
private parent?;
|
|
5
5
|
level: number;
|
|
6
|
-
|
|
6
|
+
tags: Tag[];
|
|
7
7
|
private readonly providers;
|
|
8
8
|
constructor(parent?: ProviderRepository, level?: number, tags?: Tag[]);
|
|
9
9
|
add<T>(key: ProviderKey, provider: IProvider<T>): void;
|
|
@@ -55,10 +55,9 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
55
55
|
var e_1, _a;
|
|
56
56
|
if (tags === void 0) { tags = []; }
|
|
57
57
|
if (parent === void 0) { parent = this; }
|
|
58
|
-
var
|
|
59
|
-
var repo = new ProviderRepository(parent, options.level, options.tags);
|
|
58
|
+
var repo = new ProviderRepository(parent, parent.level + 1, tags);
|
|
60
59
|
try {
|
|
61
|
-
for (var _b = __values(parent.entries(
|
|
60
|
+
for (var _b = __values(parent.entries(repo)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
62
61
|
var _d = __read(_c.value, 2), key = _d[0], provider = _d[1];
|
|
63
62
|
repo.add(key, provider.clone());
|
|
64
63
|
}
|
|
@@ -97,8 +96,7 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
97
96
|
};
|
|
98
97
|
ProviderRepository.prototype.find = function (key) {
|
|
99
98
|
var _a, _b;
|
|
100
|
-
var
|
|
101
|
-
var provider = (_a = this.providers.find(key, options)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
|
|
99
|
+
var provider = (_a = this.providers.find(key, this)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
|
|
102
100
|
if (provider === undefined) {
|
|
103
101
|
throw new ProviderNotFoundError_1.ProviderNotFoundError(key.toString());
|
|
104
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAwE;AAExE,qDAAoD;AAEpD;IAGI,4BAAoB,MAA2B,EAAS,KAAS,
|
|
1
|
+
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAwE;AAExE,qDAAoD;AAEpD;IAGI,4BAAoB,MAA2B,EAAS,KAAS,EAAS,IAAgB;QAAlC,sBAAA,EAAA,SAAS;QAAS,qBAAA,EAAA,SAAgB;QAAtE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,SAAI,GAAJ,IAAI,CAAY;QAFzE,cAAS,GAAG,IAAI,iCAAe,EAAE,CAAC;IAE0C,CAAC;IAE9F,gCAAG,GAAH,UAAO,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,kCAAK,GAAL,UAAM,IAAgB,EAAE,MAAiC;;QAAnD,qBAAA,EAAA,SAAgB;QAAE,uBAAA,EAAA,aAAiC;QACrD,IAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;;YACpE,KAA8B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,gBAAA,4BAAE;gBAAzC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;aACnC;;;;;;;;;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAO,GAAP,UAAQ,OAAqB;QACzB,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,IAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,eAAe,kBAAK,cAAc,UAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,oCAAO,GAAP;;;YACI,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;gBAApC,IAAM,CAAC,WAAA;gBACR,CAAC,CAAC,OAAO,EAAE,CAAC;aACf;;;;;;;;;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,iCAAI,GAAJ,UAAQ,GAAgB;;QACpB,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAI,GAAG,EAAE,IAAI,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAI,GAAG,CAAC,CAAC;QAChF,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,6CAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACL,yBAAC;AAAD,CAAC,AAtCD,IAsCC;AAtCY,gDAAkB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IProvider, ProviderKey, ScopeOptions, Tag } from './IProvider';
|
|
2
2
|
import { IProviderRepository } from './IProviderRepository';
|
|
3
|
-
export declare class ProviderRepository implements IProviderRepository {
|
|
3
|
+
export declare class ProviderRepository implements IProviderRepository, ScopeOptions {
|
|
4
4
|
private parent?;
|
|
5
5
|
level: number;
|
|
6
|
-
|
|
6
|
+
tags: Tag[];
|
|
7
7
|
private readonly providers;
|
|
8
8
|
constructor(parent?: ProviderRepository, level?: number, tags?: Tag[]);
|
|
9
9
|
add<T>(key: ProviderKey, provider: IProvider<T>): void;
|
|
@@ -11,9 +11,8 @@ export class ProviderRepository {
|
|
|
11
11
|
this.providers.add(key, provider);
|
|
12
12
|
}
|
|
13
13
|
clone(tags = [], parent = this) {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
for (const [key, provider] of parent.entries(options)) {
|
|
14
|
+
const repo = new ProviderRepository(parent, parent.level + 1, tags);
|
|
15
|
+
for (const [key, provider] of parent.entries(repo)) {
|
|
17
16
|
repo.add(key, provider.clone());
|
|
18
17
|
}
|
|
19
18
|
return repo;
|
|
@@ -32,8 +31,7 @@ export class ProviderRepository {
|
|
|
32
31
|
}
|
|
33
32
|
find(key) {
|
|
34
33
|
var _a, _b;
|
|
35
|
-
const
|
|
36
|
-
const provider = (_a = this.providers.find(key, options)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
|
|
34
|
+
const provider = (_a = this.providers.find(key, this)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
|
|
37
35
|
if (provider === undefined) {
|
|
38
36
|
throw new ProviderNotFoundError(key.toString());
|
|
39
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,kBAAkB;IAG3B,YAAoB,MAA2B,EAAS,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,kBAAkB;IAG3B,YAAoB,MAA2B,EAAS,QAAQ,CAAC,EAAS,OAAc,EAAE;QAAtE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAS,SAAI,GAAJ,IAAI,CAAY;QAFzE,cAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAE0C,CAAC;IAE9F,GAAG,CAAI,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAc,EAAE,EAAE,SAA6B,IAAI;QACrD,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,OAAqB;QACzB,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YACrC,CAAC,CAAC,OAAO,EAAE,CAAC;SACf;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,CAAI,GAAgB;;QACpB,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAI,GAAG,EAAE,IAAI,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAI,GAAG,CAAC,CAAC;QAChF,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-ioc-container",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.5",
|
|
4
4
|
"description": "Typescript IoC container",
|
|
5
5
|
"author": "ibabkin <ibabkin@goodgamestudios.com>",
|
|
6
6
|
"homepage": "https://github.com/IgorBabkin/service-locator/tree/master/packages/ts-ioc-container",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"ts-jest": "27.0.5",
|
|
49
49
|
"typescript": "4.4.3"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "933ff10c2d754d02d19733ea9df7c29162785a88",
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"reflect-metadata": "^0.1.13"
|
|
54
54
|
}
|