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.
@@ -11,4 +11,5 @@ export declare class ProviderRepository implements IProviderRepository, ScopeOpt
11
11
  entries(filters: ScopeOptions): Array<[ProviderKey, IProvider<any>]>;
12
12
  dispose(): void;
13
13
  find<T>(key: ProviderKey): IProvider<T>;
14
+ private findLocally;
14
15
  }
@@ -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 ProviderStorage_1.ProviderStorage();
48
+ this.providers = new Map();
50
49
  }
51
50
  ProviderRepository.prototype.add = function (key, provider) {
52
- this.providers.add(key, provider);
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(filters);
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.providers.find(key, this)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
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;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
+ {"version":3,"file":"ProviderRepository.js","sourceRoot":"","sources":["../../lib/core/ProviderRepository.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,5 @@ export declare class ProviderRepository implements IProviderRepository, ScopeOpt
11
11
  entries(filters: ScopeOptions): Array<[ProviderKey, IProvider<any>]>;
12
12
  dispose(): void;
13
13
  find<T>(key: ProviderKey): IProvider<T>;
14
+ private findLocally;
14
15
  }
@@ -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 ProviderStorage();
7
+ this.providers = new Map();
9
8
  }
10
9
  add(key, provider) {
11
- this.providers.add(key, provider);
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.providers.find(key, this)) !== null && _a !== void 0 ? _a : (_b = this.parent) === null || _b === void 0 ? void 0 : _b.find(key);
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;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"}
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.5",
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": "933ff10c2d754d02d19733ea9df7c29162785a88",
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"}