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.
@@ -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
- private tags;
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 options = { level: parent.level + 1, tags: tags };
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(options)), _c = _b.next(); !_c.done; _c = _b.next()) {
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 options = { level: this.level, tags: this.tags };
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,EAAU,IAAgB;QAAnC,sBAAA,EAAA,SAAS;QAAU,qBAAA,EAAA,SAAgB;QAAvE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAU,SAAI,GAAJ,IAAI,CAAY;QAF1E,cAAS,GAAG,IAAI,iCAAe,EAAE,CAAC;IAE2C,CAAC;IAE/F,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,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC;QAClD,IAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;;YACzE,KAA8B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,gBAAA,4BAAE;gBAA5C,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,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAI,GAAG,EAAE,OAAO,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAI,GAAG,CAAC,CAAC;QACnF,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,AAxCD,IAwCC;AAxCY,gDAAkB"}
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
- private tags;
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 options = { level: parent.level + 1, tags };
15
- const repo = new ProviderRepository(parent, options.level, options.tags);
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 options = { level: this.level, tags: this.tags };
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,EAAU,OAAc,EAAE;QAAvE,WAAM,GAAN,MAAM,CAAqB;QAAS,UAAK,GAAL,KAAK,CAAI;QAAU,SAAI,GAAJ,IAAI,CAAY;QAF1E,cAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAE2C,CAAC;IAE/F,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,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACnD,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,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAI,GAAG,EAAE,OAAO,CAAC,mCAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAI,GAAG,CAAC,CAAC;QACnF,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;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.4",
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": "67709d92c259f6dbc0b46a9729d7b349b783f505",
51
+ "gitHead": "933ff10c2d754d02d19733ea9df7c29162785a88",
52
52
  "peerDependencies": {
53
53
  "reflect-metadata": "^0.1.13"
54
54
  }