ts-ioc-container 7.0.5 → 7.0.6
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 +1 -0
- package/cjm/core/ProviderRepository.js +14 -5
- package/cjm/core/ProviderRepository.js.map +1 -1
- package/esm/core/ProviderRepository.d.ts +1 -0
- package/esm/core/ProviderRepository.js +11 -5
- package/esm/core/ProviderRepository.js.map +1 -1
- package/package.json +2 -2
- package/cjm/core/ProviderStorage.d.ts +0 -9
- package/cjm/core/ProviderStorage.js +0 -49
- package/cjm/core/ProviderStorage.js.map +0 -1
- package/esm/core/ProviderStorage.d.ts +0 -9
- package/esm/core/ProviderStorage.js +0 -25
- package/esm/core/ProviderStorage.js.map +0 -1
|
@@ -38,7 +38,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.ProviderRepository = void 0;
|
|
40
40
|
var ProviderNotFoundError_1 = require("../errors/ProviderNotFoundError");
|
|
41
|
-
var ProviderStorage_1 = require("./ProviderStorage");
|
|
42
41
|
var ProviderRepository = /** @class */ (function () {
|
|
43
42
|
function ProviderRepository(parent, level, tags) {
|
|
44
43
|
if (level === void 0) { level = 0; }
|
|
@@ -46,10 +45,10 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
46
45
|
this.parent = parent;
|
|
47
46
|
this.level = level;
|
|
48
47
|
this.tags = tags;
|
|
49
|
-
this.providers = new
|
|
48
|
+
this.providers = new Map();
|
|
50
49
|
}
|
|
51
50
|
ProviderRepository.prototype.add = function (key, provider) {
|
|
52
|
-
this.providers.
|
|
51
|
+
this.providers.set(key, provider);
|
|
53
52
|
};
|
|
54
53
|
ProviderRepository.prototype.clone = function (tags, parent) {
|
|
55
54
|
var e_1, _a;
|
|
@@ -72,7 +71,10 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
72
71
|
return repo;
|
|
73
72
|
};
|
|
74
73
|
ProviderRepository.prototype.entries = function (filters) {
|
|
75
|
-
var localProviders = this.providers.entries(
|
|
74
|
+
var localProviders = Array.from(this.providers.entries()).filter(function (_a) {
|
|
75
|
+
var _b = __read(_a, 2), value = _b[1];
|
|
76
|
+
return value.isValid(filters);
|
|
77
|
+
});
|
|
76
78
|
var parentProviders = this.parent ? this.parent.entries(filters) : [];
|
|
77
79
|
return Array.from(new Map(__spreadArray(__spreadArray([], __read(parentProviders), false), __read(localProviders), false)).entries());
|
|
78
80
|
};
|
|
@@ -96,12 +98,19 @@ var ProviderRepository = /** @class */ (function () {
|
|
|
96
98
|
};
|
|
97
99
|
ProviderRepository.prototype.find = function (key) {
|
|
98
100
|
var _a, _b;
|
|
99
|
-
var provider = (_a = this.
|
|
101
|
+
var provider = (_a = this.findLocally(key)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
|
|
100
102
|
if (provider === undefined) {
|
|
101
103
|
throw new ProviderNotFoundError_1.ProviderNotFoundError(key.toString());
|
|
102
104
|
}
|
|
103
105
|
return provider;
|
|
104
106
|
};
|
|
107
|
+
ProviderRepository.prototype.findLocally = function (key) {
|
|
108
|
+
var provider = this.providers.get(key);
|
|
109
|
+
if (!provider || !provider.isValid({ level: this.level, tags: this.tags })) {
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
return provider;
|
|
113
|
+
};
|
|
105
114
|
return ProviderRepository;
|
|
106
115
|
}());
|
|
107
116
|
exports.ProviderRepository = ProviderRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yEAAwE;
|
|
1
|
+
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { ProviderNotFoundError } from '../errors/ProviderNotFoundError';
|
|
2
|
-
import { ProviderStorage } from './ProviderStorage';
|
|
3
2
|
export class ProviderRepository {
|
|
4
3
|
constructor(parent, level = 0, tags = []) {
|
|
5
4
|
this.parent = parent;
|
|
6
5
|
this.level = level;
|
|
7
6
|
this.tags = tags;
|
|
8
|
-
this.providers = new
|
|
7
|
+
this.providers = new Map();
|
|
9
8
|
}
|
|
10
9
|
add(key, provider) {
|
|
11
|
-
this.providers.
|
|
10
|
+
this.providers.set(key, provider);
|
|
12
11
|
}
|
|
13
12
|
clone(tags = [], parent = this) {
|
|
14
13
|
const repo = new ProviderRepository(parent, parent.level + 1, tags);
|
|
@@ -18,7 +17,7 @@ export class ProviderRepository {
|
|
|
18
17
|
return repo;
|
|
19
18
|
}
|
|
20
19
|
entries(filters) {
|
|
21
|
-
const localProviders = this.providers.entries(filters);
|
|
20
|
+
const localProviders = Array.from(this.providers.entries()).filter(([, value]) => value.isValid(filters));
|
|
22
21
|
const parentProviders = this.parent ? this.parent.entries(filters) : [];
|
|
23
22
|
return Array.from(new Map([...parentProviders, ...localProviders]).entries());
|
|
24
23
|
}
|
|
@@ -31,11 +30,18 @@ export class ProviderRepository {
|
|
|
31
30
|
}
|
|
32
31
|
find(key) {
|
|
33
32
|
var _a, _b;
|
|
34
|
-
const provider = (_a = this.
|
|
33
|
+
const provider = (_a = this.findLocally(key)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
|
|
35
34
|
if (provider === undefined) {
|
|
36
35
|
throw new ProviderNotFoundError(key.toString());
|
|
37
36
|
}
|
|
38
37
|
return provider;
|
|
39
38
|
}
|
|
39
|
+
findLocally(key) {
|
|
40
|
+
const provider = this.providers.get(key);
|
|
41
|
+
if (!provider || !provider.isValid({ level: this.level, tags: this.tags })) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
return provider;
|
|
45
|
+
}
|
|
40
46
|
}
|
|
41
47
|
//# sourceMappingURL=ProviderRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,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,GAAG,EAA+B,CAAC;IAEyB,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,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1G,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,WAAW,CAAI,GAAG,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAI,GAAG,CAAC,CAAC;QACvE,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,WAAW,CAAI,GAAgB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;YACxE,OAAO,SAAS,CAAC;SACpB;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.6",
|
|
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": "26f7c705aa84e361f986c54fe1d3a61bbbf4772c",
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"reflect-metadata": "^0.1.13"
|
|
54
54
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IProvider, ProviderKey, ScopeOptions } from './IProvider';
|
|
2
|
-
export declare class ProviderStorage {
|
|
3
|
-
private readonly providers;
|
|
4
|
-
add<T>(key: ProviderKey, provider: IProvider<T>): void;
|
|
5
|
-
entries(filters: ScopeOptions): [ProviderKey, IProvider<any>][];
|
|
6
|
-
values(): IterableIterator<IProvider<any>>;
|
|
7
|
-
find<T>(key: ProviderKey, filters: ScopeOptions): IProvider<T> | undefined;
|
|
8
|
-
clear(): void;
|
|
9
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.ProviderStorage = void 0;
|
|
20
|
-
var ProviderStorage = /** @class */ (function () {
|
|
21
|
-
function ProviderStorage() {
|
|
22
|
-
this.providers = new Map();
|
|
23
|
-
}
|
|
24
|
-
ProviderStorage.prototype.add = function (key, provider) {
|
|
25
|
-
this.providers.set(key, provider);
|
|
26
|
-
};
|
|
27
|
-
ProviderStorage.prototype.entries = function (filters) {
|
|
28
|
-
return Array.from(this.providers.entries()).filter(function (_a) {
|
|
29
|
-
var _b = __read(_a, 2), value = _b[1];
|
|
30
|
-
return value.isValid(filters);
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
ProviderStorage.prototype.values = function () {
|
|
34
|
-
return this.providers.values();
|
|
35
|
-
};
|
|
36
|
-
ProviderStorage.prototype.find = function (key, filters) {
|
|
37
|
-
var provider = this.providers.get(key);
|
|
38
|
-
if (!provider || !provider.isValid(filters)) {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
return provider;
|
|
42
|
-
};
|
|
43
|
-
ProviderStorage.prototype.clear = function () {
|
|
44
|
-
this.providers.clear();
|
|
45
|
-
};
|
|
46
|
-
return ProviderStorage;
|
|
47
|
-
}());
|
|
48
|
-
exports.ProviderStorage = ProviderStorage;
|
|
49
|
-
//# sourceMappingURL=ProviderStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderStorage.js","sourceRoot":"","sources":["../../lib/core/ProviderStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAEA;IAAA;QACqB,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAyBxE,CAAC;IAvBG,6BAAG,GAAH,UAAO,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,iCAAO,GAAP,UAAQ,OAAqB;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,EAAS;gBAAT,KAAA,aAAS,EAAN,KAAK,QAAA;YAAM,OAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAtB,CAAsB,CAAC,CAAC;IAC9F,CAAC;IAED,gCAAM,GAAN;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,8BAAI,GAAJ,UAAQ,GAAgB,EAAE,OAAqB;QAC3C,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzC,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,+BAAK,GAAL;QACI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACL,sBAAC;AAAD,CAAC,AA1BD,IA0BC;AA1BY,0CAAe"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IProvider, ProviderKey, ScopeOptions } from './IProvider';
|
|
2
|
-
export declare class ProviderStorage {
|
|
3
|
-
private readonly providers;
|
|
4
|
-
add<T>(key: ProviderKey, provider: IProvider<T>): void;
|
|
5
|
-
entries(filters: ScopeOptions): [ProviderKey, IProvider<any>][];
|
|
6
|
-
values(): IterableIterator<IProvider<any>>;
|
|
7
|
-
find<T>(key: ProviderKey, filters: ScopeOptions): IProvider<T> | undefined;
|
|
8
|
-
clear(): void;
|
|
9
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export class ProviderStorage {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.providers = new Map();
|
|
4
|
-
}
|
|
5
|
-
add(key, provider) {
|
|
6
|
-
this.providers.set(key, provider);
|
|
7
|
-
}
|
|
8
|
-
entries(filters) {
|
|
9
|
-
return Array.from(this.providers.entries()).filter(([, value]) => value.isValid(filters));
|
|
10
|
-
}
|
|
11
|
-
values() {
|
|
12
|
-
return this.providers.values();
|
|
13
|
-
}
|
|
14
|
-
find(key, filters) {
|
|
15
|
-
const provider = this.providers.get(key);
|
|
16
|
-
if (!provider || !provider.isValid(filters)) {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
return provider;
|
|
20
|
-
}
|
|
21
|
-
clear() {
|
|
22
|
-
this.providers.clear();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=ProviderStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderStorage.js","sourceRoot":"","sources":["../../lib/core/ProviderStorage.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IAA5B;QACqB,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAyBxE,CAAC;IAvBG,GAAG,CAAI,GAAgB,EAAE,QAAsB;QAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,OAAqB;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAI,GAAgB,EAAE,OAAqB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzC,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACJ"}
|