ts-ioc-container 22.4.5 → 22.4.7

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.
@@ -39,14 +39,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Container = void 0;
40
40
  var IContainer_1 = require("./IContainer");
41
41
  var EmptyContainer_1 = require("./EmptyContainer");
42
- var ProviderRepo_1 = require("../provider/ProviderRepo");
43
42
  var ContainerDisposedError_1 = require("./ContainerDisposedError");
44
43
  var Container = /** @class */ (function () {
45
44
  function Container(injector, options) {
46
45
  if (options === void 0) { options = {}; }
47
46
  var _a, _b;
48
47
  this.injector = injector;
49
- this.providers = new ProviderRepo_1.ProviderRepo();
48
+ this.providers = new Map();
50
49
  this.isDisposed = false;
51
50
  this.children = new Set();
52
51
  this.instances = new Set();
@@ -55,7 +54,7 @@ var Container = /** @class */ (function () {
55
54
  }
56
55
  Container.prototype.register = function (key, provider) {
57
56
  this.validateContainer();
58
- this.providers.add(key, provider);
57
+ this.providers.set(key, provider);
59
58
  return this;
60
59
  };
61
60
  Container.prototype.resolve = function (key) {
@@ -72,7 +71,7 @@ var Container = /** @class */ (function () {
72
71
  for (var _i = 1; _i < arguments.length; _i++) {
73
72
  args[_i - 1] = arguments[_i];
74
73
  }
75
- var provider = this.providers.find(key);
74
+ var provider = this.providers.get(key);
76
75
  return (provider === null || provider === void 0 ? void 0 : provider.isValid(this)) ? provider.resolve.apply(provider, __spreadArray([this], __read(args), false)) : (_a = this.parent).resolve.apply(_a, __spreadArray([key], __read(args), false));
77
76
  };
78
77
  Container.prototype.resolveByInjector = function (key) {
@@ -127,11 +126,11 @@ var Container = /** @class */ (function () {
127
126
  }
128
127
  finally { if (e_2) throw e_2.error; }
129
128
  }
130
- this.providers.dispose();
129
+ this.providers.clear();
131
130
  this.instances.clear();
132
131
  };
133
132
  Container.prototype.getProviders = function () {
134
- return this.providers.merge(this.parent.getProviders());
133
+ return new Map(__spreadArray(__spreadArray([], __read(this.parent.getProviders()), false), __read(this.providers), false));
135
134
  };
136
135
  Container.prototype.getInstances = function () {
137
136
  var e_3, _a;
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,4 @@ export interface IProvider<T = unknown> {
4
4
  clone(): IProvider<T>;
5
5
  resolve(container: Resolvable, ...args: unknown[]): T;
6
6
  isValid(filters: Tagged): boolean;
7
- dispose(): void;
8
7
  }
@@ -8,6 +8,5 @@ export declare class Provider<T> implements IProvider<T> {
8
8
  constructor(resolveDependency: ResolveDependency<T>);
9
9
  clone(): Provider<T>;
10
10
  resolve(container: Resolvable, ...args: unknown[]): T;
11
- dispose(): void;
12
11
  isValid(): boolean;
13
12
  }
@@ -52,7 +52,6 @@ var Provider = /** @class */ (function () {
52
52
  }
53
53
  return this.resolveDependency.apply(this, __spreadArray([container], __read(args), false));
54
54
  };
55
- Provider.prototype.dispose = function () { };
56
55
  Provider.prototype.isValid = function () {
57
56
  return true;
58
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,MAAsB;QACtC,OAAO,IAAI,QAAQ,CAAC,UAAC,SAAS;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,SAAS,CAAC,OAAO,OAAjB,SAAS,iBAAS,MAAM,UAAK,IAAI;QAAjC,CAAkC,CAAC,CAAC;IACpF,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAID,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,SAAqB;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IAED,0BAAO,GAAP,cAAiB,CAAC;IAElB,0BAAO,GAAP;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,4BAAQ"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,MAAsB;QACtC,OAAO,IAAI,QAAQ,CAAC,UAAC,SAAS;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,SAAS,CAAC,OAAO,OAAjB,SAAS,iBAAS,MAAM,UAAK,IAAI;QAAjC,CAAkC,CAAC,CAAC;IACpF,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAID,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,SAAqB;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IAED,0BAAO,GAAP;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,4BAAQ"}
@@ -4,7 +4,6 @@ export declare abstract class ProviderDecorator<T> implements IProvider<T> {
4
4
  private decorated;
5
5
  protected constructor(decorated: IProvider<T>);
6
6
  clone(): IProvider<T>;
7
- dispose(): void;
8
7
  isValid(filters: Tagged): boolean;
9
8
  resolve(container: Resolvable, ...args: any[]): T;
10
9
  }
@@ -33,9 +33,6 @@ var ProviderDecorator = /** @class */ (function () {
33
33
  ProviderDecorator.prototype.clone = function () {
34
34
  return this.decorated.clone();
35
35
  };
36
- ProviderDecorator.prototype.dispose = function () {
37
- this.decorated.dispose();
38
- };
39
36
  ProviderDecorator.prototype.isValid = function (filters) {
40
37
  return this.decorated.isValid(filters);
41
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IACI,2BAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,iCAAK,GAAL;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAqB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACzC,OAAO,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IACL,wBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBqB,8CAAiB"}
1
+ {"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IACI,2BAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,iCAAK,GAAL;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAqB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACzC,OAAO,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,WAAE;IACtD,CAAC;IACL,wBAAC;AAAD,CAAC,AAdD,IAcC;AAdqB,8CAAiB"}
@@ -6,6 +6,5 @@ export declare class SingletonProvider<T> extends ProviderDecorator<T> {
6
6
  private instance;
7
7
  constructor(provider: IProvider<T>);
8
8
  clone(): SingletonProvider<T>;
9
- dispose(): void;
10
9
  resolve(container: Resolvable, ...args: unknown[]): T;
11
10
  }
@@ -53,10 +53,6 @@ var SingletonProvider = /** @class */ (function (_super) {
53
53
  SingletonProvider.prototype.clone = function () {
54
54
  return new SingletonProvider(this.provider.clone());
55
55
  };
56
- SingletonProvider.prototype.dispose = function () {
57
- this.instance = null;
58
- this.provider.dispose();
59
- };
60
56
  SingletonProvider.prototype.resolve = function (container) {
61
57
  var _a;
62
58
  var _b;
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAwD;AAKxD;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAoB,IAAI,CAAC;;IAIzC,CAAC;IAED,iCAAK,GAAL;QACI,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAqB;;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,UAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACvC;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAxBD,CAA0C,qCAAiB,GAwB1D;AAxBY,8CAAiB"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAwD;AAKxD;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAoB,IAAI,CAAC;;IAIzC,CAAC;IAED,iCAAK,GAAL;QACI,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mCAAO,GAAP,UAAQ,SAAqB;;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAC,SAAS,UAAK,IAAI,UAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACvC;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAnBD,CAA0C,qCAAiB,GAmB1D;AAnBY,8CAAiB"}
@@ -1,12 +1,11 @@
1
1
  import { isDependencyKey, } from './IContainer';
2
2
  import { EmptyContainer } from './EmptyContainer';
3
- import { ProviderRepo } from '../provider/ProviderRepo';
4
3
  import { ContainerDisposedError } from './ContainerDisposedError';
5
4
  export class Container {
6
5
  constructor(injector, options = {}) {
7
6
  var _a, _b;
8
7
  this.injector = injector;
9
- this.providers = new ProviderRepo();
8
+ this.providers = new Map();
10
9
  this.isDisposed = false;
11
10
  this.children = new Set();
12
11
  this.instances = new Set();
@@ -15,7 +14,7 @@ export class Container {
15
14
  }
16
15
  register(key, provider) {
17
16
  this.validateContainer();
18
- this.providers.add(key, provider);
17
+ this.providers.set(key, provider);
19
18
  return this;
20
19
  }
21
20
  resolve(key, ...args) {
@@ -23,7 +22,7 @@ export class Container {
23
22
  return isDependencyKey(key) ? this.resolveByProvider(key, ...args) : this.resolveByInjector(key, ...args);
24
23
  }
25
24
  resolveByProvider(key, ...args) {
26
- const provider = this.providers.find(key);
25
+ const provider = this.providers.get(key);
27
26
  return (provider === null || provider === void 0 ? void 0 : provider.isValid(this)) ? provider.resolve(this, ...args) : this.parent.resolve(key, ...args);
28
27
  }
29
28
  resolveByInjector(key, ...args) {
@@ -50,11 +49,11 @@ export class Container {
50
49
  for (const child of this.children) {
51
50
  child.dispose();
52
51
  }
53
- this.providers.dispose();
52
+ this.providers.clear();
54
53
  this.instances.clear();
55
54
  }
56
55
  getProviders() {
57
- return this.providers.merge(this.parent.getProviders());
56
+ return new Map([...this.parent.getProviders(), ...this.providers]);
58
57
  }
59
58
  getInstances() {
60
59
  const instances = Array.from(this.instances);
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,eAAe,GAGlB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,MAAM,OAAO,SAAS;IAQlB,YAA6B,QAAmB,EAAE,UAAiD,EAAE;;QAAxE,aAAQ,GAAR,QAAQ,CAAW;QAP/B,cAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;QAEzD,eAAU,GAAG,KAAK,CAAC;QAEnB,aAAQ,GAAoB,IAAI,GAAG,EAAE,CAAC;QACtC,cAAS,GAAiB,IAAI,GAAG,EAAE,CAAC;QAGxC,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAI,cAAc,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,GAAkB,EAAE,QAAmB;QAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAe;QACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9G,CAAC;IAEO,iBAAiB,CAAI,GAAoB,EAAE,GAAG,IAAe;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAA6B,CAAC;QACrE,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5G,CAAC;IAEO,iBAAiB,CAAI,GAAmB,EAAE,GAAG,IAAe;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,OAAc,EAAE;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;aACzC;SACJ;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEzB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,KAAK,CAAC,OAAO,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACR,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,YAAY;QACR,MAAM,SAAS,GAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;SAC3C;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,KAAiB;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,GAAQ;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,MAAwB;QACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,iBAAiB;QACrB,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;IACrF,CAAC;CACJ"}
@@ -4,5 +4,4 @@ export interface IProvider<T = unknown> {
4
4
  clone(): IProvider<T>;
5
5
  resolve(container: Resolvable, ...args: unknown[]): T;
6
6
  isValid(filters: Tagged): boolean;
7
- dispose(): void;
8
7
  }
@@ -8,6 +8,5 @@ export declare class Provider<T> implements IProvider<T> {
8
8
  constructor(resolveDependency: ResolveDependency<T>);
9
9
  clone(): Provider<T>;
10
10
  resolve(container: Resolvable, ...args: unknown[]): T;
11
- dispose(): void;
12
11
  isValid(): boolean;
13
12
  }
@@ -14,7 +14,6 @@ export class Provider {
14
14
  resolve(container, ...args) {
15
15
  return this.resolveDependency(container, ...args);
16
16
  }
17
- dispose() { }
18
17
  isValid() {
19
18
  return true;
20
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARxE,MAAM,CAAC,SAAS,CAAI,MAAsB;QACtC,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAID,KAAK;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,OAAO;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARxE,MAAM,CAAC,SAAS,CAAI,MAAsB;QACtC,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAID,KAAK;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -4,7 +4,6 @@ export declare abstract class ProviderDecorator<T> implements IProvider<T> {
4
4
  private decorated;
5
5
  protected constructor(decorated: IProvider<T>);
6
6
  clone(): IProvider<T>;
7
- dispose(): void;
8
7
  isValid(filters: Tagged): boolean;
9
8
  resolve(container: Resolvable, ...args: any[]): T;
10
9
  }
@@ -5,9 +5,6 @@ export class ProviderDecorator {
5
5
  clone() {
6
6
  return this.decorated.clone();
7
7
  }
8
- dispose() {
9
- this.decorated.dispose();
10
- }
11
8
  isValid(filters) {
12
9
  return this.decorated.isValid(filters);
13
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,iBAAiB;IACnC,YAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,KAAK;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAW;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;CACJ"}
1
+ {"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,iBAAiB;IACnC,YAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAEzD,KAAK;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAW;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;CACJ"}
@@ -6,6 +6,5 @@ export declare class SingletonProvider<T> extends ProviderDecorator<T> {
6
6
  private instance;
7
7
  constructor(provider: IProvider<T>);
8
8
  clone(): SingletonProvider<T>;
9
- dispose(): void;
10
9
  resolve(container: Resolvable, ...args: unknown[]): T;
11
10
  }
@@ -8,10 +8,6 @@ export class SingletonProvider extends ProviderDecorator {
8
8
  clone() {
9
9
  return new SingletonProvider(this.provider.clone());
10
10
  }
11
- dispose() {
12
- this.instance = null;
13
- this.provider.dispose();
14
- }
15
11
  resolve(container, ...args) {
16
12
  var _a;
17
13
  if (this.instance === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG1D,YAA6B,QAAsB;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAc;QAF3C,aAAQ,GAAoB,IAAI,CAAC;IAIzC,CAAC;IAED,KAAK;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACvC;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,CAAC;CACJ"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG1D,YAA6B,QAAsB;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAc;QAF3C,aAAQ,GAAoB,IAAI,CAAC;IAIzC,CAAC;IAED,KAAK;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACvC;QAED,OAAO,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAU,CAAC;IACrC,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "22.4.5",
3
+ "version": "22.4.7",
4
4
  "description": "Typescript IoC container",
5
5
  "author": "ibabkin <igba14@gmail.com>",
6
6
  "homepage": "https://github.com/IgorBabkin/ts-ioc-container/tree/master/packages/ts-ioc-container",
@@ -48,5 +48,5 @@
48
48
  "ts-jest": "27.0.5",
49
49
  "typescript": "4.4.3"
50
50
  },
51
- "gitHead": "b81db97975268520960c2aaac5a3060db128b3ed"
51
+ "gitHead": "448a4885e2e6fb499a4fd7f52c55553b8e4eec8c"
52
52
  }
@@ -1,9 +0,0 @@
1
- import { IProvider } from './IProvider';
2
- import { DependencyKey } from '../container/IContainer';
3
- export declare class ProviderRepo {
4
- private readonly providers;
5
- add(key: DependencyKey, provider: IProvider): this;
6
- find<T>(key: DependencyKey): IProvider<T> | undefined;
7
- merge(providers: Map<DependencyKey, IProvider>): Map<DependencyKey, IProvider>;
8
- dispose(): void;
9
- }
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.ProviderRepo = void 0;
31
- var ProviderRepo = /** @class */ (function () {
32
- function ProviderRepo() {
33
- this.providers = new Map();
34
- }
35
- ProviderRepo.prototype.add = function (key, provider) {
36
- this.providers.set(key, provider);
37
- return this;
38
- };
39
- ProviderRepo.prototype.find = function (key) {
40
- return this.providers.get(key);
41
- };
42
- ProviderRepo.prototype.merge = function (providers) {
43
- var e_1, _a, e_2, _b;
44
- var map = new Map();
45
- try {
46
- for (var _c = __values(providers.entries()), _d = _c.next(); !_d.done; _d = _c.next()) {
47
- var _e = __read(_d.value, 2), key = _e[0], value = _e[1];
48
- map.set(key, value);
49
- }
50
- }
51
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
52
- finally {
53
- try {
54
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
55
- }
56
- finally { if (e_1) throw e_1.error; }
57
- }
58
- try {
59
- for (var _f = __values(this.providers.entries()), _g = _f.next(); !_g.done; _g = _f.next()) {
60
- var _h = __read(_g.value, 2), key = _h[0], value = _h[1];
61
- map.set(key, value);
62
- }
63
- }
64
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
65
- finally {
66
- try {
67
- if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
68
- }
69
- finally { if (e_2) throw e_2.error; }
70
- }
71
- return map;
72
- };
73
- ProviderRepo.prototype.dispose = function () {
74
- var e_3, _a;
75
- try {
76
- for (var _b = __values(this.providers.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
77
- var p = _c.value;
78
- p.dispose();
79
- }
80
- }
81
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
82
- finally {
83
- try {
84
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
85
- }
86
- finally { if (e_3) throw e_3.error; }
87
- }
88
- this.providers.clear();
89
- };
90
- return ProviderRepo;
91
- }());
92
- exports.ProviderRepo = ProviderRepo;
93
- //# sourceMappingURL=ProviderRepo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderRepo.js","sourceRoot":"","sources":["../../lib/provider/ProviderRepo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IAAA;QACqB,cAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IA4BrE,CAAC;IA1BG,0BAAG,GAAH,UAAI,GAAkB,EAAE,QAAmB;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAI,GAAJ,UAAQ,GAAkB;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;IACnD,CAAC;IAED,4BAAK,GAAL,UAAM,SAAwC;;QAC1C,IAAM,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;;YAChD,KAA2B,IAAA,KAAA,SAAA,SAAS,CAAC,OAAO,EAAE,CAAA,gBAAA,4BAAE;gBAArC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACvB;;;;;;;;;;YACD,KAA2B,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA,gBAAA,4BAAE;gBAA1C,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACvB;;;;;;;;;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,8BAAO,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;IAC3B,CAAC;IACL,mBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,oCAAY"}
@@ -1,9 +0,0 @@
1
- import { IProvider } from './IProvider';
2
- import { DependencyKey } from '../container/IContainer';
3
- export declare class ProviderRepo {
4
- private readonly providers;
5
- add(key: DependencyKey, provider: IProvider): this;
6
- find<T>(key: DependencyKey): IProvider<T> | undefined;
7
- merge(providers: Map<DependencyKey, IProvider>): Map<DependencyKey, IProvider>;
8
- dispose(): void;
9
- }
@@ -1,29 +0,0 @@
1
- export class ProviderRepo {
2
- constructor() {
3
- this.providers = new Map();
4
- }
5
- add(key, provider) {
6
- this.providers.set(key, provider);
7
- return this;
8
- }
9
- find(key) {
10
- return this.providers.get(key);
11
- }
12
- merge(providers) {
13
- const map = new Map();
14
- for (const [key, value] of providers.entries()) {
15
- map.set(key, value);
16
- }
17
- for (const [key, value] of this.providers.entries()) {
18
- map.set(key, value);
19
- }
20
- return map;
21
- }
22
- dispose() {
23
- for (const p of this.providers.values()) {
24
- p.dispose();
25
- }
26
- this.providers.clear();
27
- }
28
- }
29
- //# sourceMappingURL=ProviderRepo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderRepo.js","sourceRoot":"","sources":["../../lib/provider/ProviderRepo.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IAAzB;QACqB,cAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IA4BrE,CAAC;IA1BG,GAAG,CAAC,GAAkB,EAAE,QAAmB;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAI,GAAkB;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAwC;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;YAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACvB;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;YACjD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACvB;QACD,OAAO,GAAG,CAAC;IACf,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;IAC3B,CAAC;CACJ"}