ts-ioc-container 21.0.2 → 21.0.3

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.
Files changed (31) hide show
  1. package/README.md +4 -4
  2. package/cjm/container/Container.d.ts +2 -0
  3. package/cjm/container/Container.js +18 -5
  4. package/cjm/container/Container.js.map +1 -1
  5. package/cjm/container/ContainerDisposedError.js.map +1 -1
  6. package/cjm/provider/ProviderRepo.d.ts +1 -1
  7. package/cjm/provider/ProviderRepo.js +1 -1
  8. package/cjm/provider/ProviderRepo.js.map +1 -1
  9. package/cjm/registration/RegistrationBuilder.js +2 -2
  10. package/cjm/registration/RegistrationBuilder.js.map +1 -1
  11. package/cjm/registration/RegistrationMissingKeyError.d.ts +4 -0
  12. package/cjm/{provider/ProviderHasNoKeyError.js → registration/RegistrationMissingKeyError.js} +9 -9
  13. package/cjm/registration/RegistrationMissingKeyError.js.map +1 -0
  14. package/esm/container/Container.d.ts +2 -0
  15. package/esm/container/Container.js +8 -4
  16. package/esm/container/Container.js.map +1 -1
  17. package/esm/container/ContainerDisposedError.js.map +1 -1
  18. package/esm/provider/ProviderRepo.d.ts +1 -1
  19. package/esm/provider/ProviderRepo.js +1 -1
  20. package/esm/provider/ProviderRepo.js.map +1 -1
  21. package/esm/registration/RegistrationBuilder.js +2 -2
  22. package/esm/registration/RegistrationBuilder.js.map +1 -1
  23. package/esm/registration/RegistrationMissingKeyError.d.ts +4 -0
  24. package/esm/registration/RegistrationMissingKeyError.js +8 -0
  25. package/esm/registration/RegistrationMissingKeyError.js.map +1 -0
  26. package/package.json +2 -2
  27. package/cjm/provider/ProviderHasNoKeyError.d.ts +0 -4
  28. package/cjm/provider/ProviderHasNoKeyError.js.map +0 -1
  29. package/esm/provider/ProviderHasNoKeyError.d.ts +0 -4
  30. package/esm/provider/ProviderHasNoKeyError.js +0 -8
  31. package/esm/provider/ProviderHasNoKeyError.js.map +0 -1
package/README.md CHANGED
@@ -221,7 +221,7 @@ describe('test', () => {
221
221
 
222
222
  ## Errors
223
223
 
224
- - ProviderNotFoundError
225
- - ProviderHasNoKeyError
226
- - MethodNotImplementedError
227
- - ContainerDisposedError
224
+ - [ProviderNotFoundError.ts](lib%2Fprovider%2FProviderNotFoundError.ts)
225
+ - [RegistrationMissingKeyError.ts](lib%2Fregistration%2FRegistrationMissingKeyError.ts)
226
+ - [MethodNotImplementedError.ts](lib%2FMethodNotImplementedError.ts)
227
+ - [ContainerDisposedError.ts](lib%2Fcontainer%2FContainerDisposedError.ts)
@@ -16,6 +16,8 @@ export declare class Container implements IContainer, Tagged {
16
16
  });
17
17
  register({ key, provider }: Registration): this;
18
18
  resolve<T>(key: InjectionToken<T>, ...args: unknown[]): T;
19
+ private resolveByProvider;
20
+ private resolveByInjector;
19
21
  createScope(tags?: Tag[]): Container;
20
22
  dispose(): void;
21
23
  getProviders(): Map<ProviderKey, IProvider>;
@@ -60,17 +60,29 @@ var Container = /** @class */ (function () {
60
60
  return this;
61
61
  };
62
62
  Container.prototype.resolve = function (key) {
63
- var _a, _b;
64
63
  var args = [];
65
64
  for (var _i = 1; _i < arguments.length; _i++) {
66
65
  args[_i - 1] = arguments[_i];
67
66
  }
68
67
  this.validateContainer();
69
- if ((0, IProvider_1.isProviderKey)(key)) {
70
- var provider = this.providers.get(key);
71
- 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));
68
+ return (0, IProvider_1.isProviderKey)(key) ? this.resolveByProvider.apply(this, __spreadArray([key], __read(args), false)) : this.resolveByInjector.apply(this, __spreadArray([key], __read(args), false));
69
+ };
70
+ Container.prototype.resolveByProvider = function (key) {
71
+ var _a;
72
+ var args = [];
73
+ for (var _i = 1; _i < arguments.length; _i++) {
74
+ args[_i - 1] = arguments[_i];
72
75
  }
73
- var instance = (_b = this.injector).resolve.apply(_b, __spreadArray([this, key], __read(args), false));
76
+ var provider = this.providers.find(key);
77
+ 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));
78
+ };
79
+ Container.prototype.resolveByInjector = function (key) {
80
+ var _a;
81
+ var args = [];
82
+ for (var _i = 1; _i < arguments.length; _i++) {
83
+ args[_i - 1] = arguments[_i];
84
+ }
85
+ var instance = (_a = this.injector).resolve.apply(_a, __spreadArray([this, key], __read(args), false));
74
86
  this.instances.add(instance);
75
87
  return instance;
76
88
  };
@@ -99,6 +111,7 @@ var Container = /** @class */ (function () {
99
111
  };
100
112
  Container.prototype.dispose = function () {
101
113
  var e_2, _a;
114
+ this.validateContainer();
102
115
  this.isDisposed = true;
103
116
  this.parent.removeScope(this);
104
117
  this.parent = new EmptyContainer_1.EmptyContainer();
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA4C,0CAAK;IAQ7C,gCAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,wBAAwB,CAAC;QAK5B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;;IAClE,CAAC;IAXM,6BAAM,GAAb,UAAc,MAAe,EAAE,WAAmB;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;IAQL,6BAAC;AAAD,CAAC,AAbD,CAA4C,KAAK,GAahD;AAbY,wDAAsB"}
1
+ {"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA4C,0CAAK;IAS7C,gCAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,wBAAwB,CAAC;QAK5B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;;IAClE,CAAC;IAZM,6BAAM,GAAb,UAAc,MAAe,EAAE,WAAmB;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;IASL,6BAAC;AAAD,CAAC,AAdD,CAA4C,KAAK,GAchD;AAdY,wDAAsB"}
@@ -2,7 +2,7 @@ import { IProvider, ProviderKey } from './IProvider';
2
2
  export declare class ProviderRepo {
3
3
  private readonly providers;
4
4
  add(key: ProviderKey, provider: IProvider): this;
5
- get<T>(key: ProviderKey): IProvider<T> | undefined;
5
+ find<T>(key: ProviderKey): IProvider<T> | undefined;
6
6
  merge(providers: Map<ProviderKey, IProvider>): Map<ProviderKey, IProvider>;
7
7
  dispose(): void;
8
8
  }
@@ -36,7 +36,7 @@ var ProviderRepo = /** @class */ (function () {
36
36
  this.providers.set(key, provider);
37
37
  return this;
38
38
  };
39
- ProviderRepo.prototype.get = function (key) {
39
+ ProviderRepo.prototype.find = function (key) {
40
40
  return this.providers.get(key);
41
41
  };
42
42
  ProviderRepo.prototype.merge = function (providers) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderRepo.js","sourceRoot":"","sources":["../../lib/provider/ProviderRepo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;IAAA;QACqB,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IA4BnE,CAAC;IA1BG,0BAAG,GAAH,UAAI,GAAgB,EAAE,QAAmB;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0BAAG,GAAH,UAAO,GAAgB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;IACnD,CAAC;IAED,4BAAK,GAAL,UAAM,SAAsC;;QACxC,IAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;;YAC9C,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
+ {"version":3,"file":"ProviderRepo.js","sourceRoot":"","sources":["../../lib/provider/ProviderRepo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;IAAA;QACqB,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IA4BnE,CAAC;IA1BG,0BAAG,GAAH,UAAI,GAAgB,EAAE,QAAmB;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAI,GAAJ,UAAQ,GAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;IACnD,CAAC;IAED,4BAAK,GAAL,UAAM,SAAsC;;QACxC,IAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;;YAC9C,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"}
@@ -4,7 +4,7 @@ exports.RegistrationBuilder = void 0;
4
4
  var SingletonProvider_1 = require("../provider/SingletonProvider");
5
5
  var TaggedProvider_1 = require("../provider/TaggedProvider");
6
6
  var ArgsProvider_1 = require("../provider/ArgsProvider");
7
- var ProviderHasNoKeyError_1 = require("../provider/ProviderHasNoKeyError");
7
+ var RegistrationMissingKeyError_1 = require("./RegistrationMissingKeyError");
8
8
  var RegistrationBuilder = /** @class */ (function () {
9
9
  function RegistrationBuilder(provider) {
10
10
  this.provider = provider;
@@ -49,7 +49,7 @@ var RegistrationBuilder = /** @class */ (function () {
49
49
  };
50
50
  RegistrationBuilder.prototype.build = function () {
51
51
  if (!this.key) {
52
- throw new ProviderHasNoKeyError_1.ProviderHasNoKeyError('Pls provide registration keys for current provider');
52
+ throw new RegistrationMissingKeyError_1.RegistrationMissingKeyError('Pls provide registration keys for current provider');
53
53
  }
54
54
  return { key: this.key, provider: this.provider };
55
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAClE,6DAA4D;AAC5D,yDAAgE;AAChE,2EAA0E;AAI1E;IAGI,6BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,sCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAG,GAAH,UAAI,OAAsC;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,qCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX;QAAY,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,6CAAqB,CAAC,oDAAoD,CAAC,CAAC;SACzF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IACL,0BAAC;AAAD,CAAC,AA3CD,IA2CC;AA3CY,kDAAmB"}
1
+ {"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAClE,6DAA4D;AAC5D,yDAAgE;AAChE,6EAA4E;AAI5E;IAGI,6BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,sCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAG,GAAH,UAAI,OAAsC;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,qCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yCAAW,GAAX;QAAY,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN,UAAO,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAK,GAAL;QACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,yDAA2B,CAAC,oDAAoD,CAAC,CAAC;SAC/F;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IACL,0BAAC;AAAD,CAAC,AA3CD,IA2CC;AA3CY,kDAAmB"}
@@ -0,0 +1,4 @@
1
+ export declare class RegistrationMissingKeyError extends Error {
2
+ name: string;
3
+ constructor(message: string);
4
+ }
@@ -15,16 +15,16 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ProviderHasNoKeyError = void 0;
19
- var ProviderHasNoKeyError = /** @class */ (function (_super) {
20
- __extends(ProviderHasNoKeyError, _super);
21
- function ProviderHasNoKeyError(message) {
18
+ exports.RegistrationMissingKeyError = void 0;
19
+ var RegistrationMissingKeyError = /** @class */ (function (_super) {
20
+ __extends(RegistrationMissingKeyError, _super);
21
+ function RegistrationMissingKeyError(message) {
22
22
  var _this = _super.call(this, message) || this;
23
- _this.name = 'ProviderHasNoKeyError';
24
- Object.setPrototypeOf(_this, ProviderHasNoKeyError.prototype);
23
+ _this.name = 'RegistrationMissingKeyError';
24
+ Object.setPrototypeOf(_this, RegistrationMissingKeyError.prototype);
25
25
  return _this;
26
26
  }
27
- return ProviderHasNoKeyError;
27
+ return RegistrationMissingKeyError;
28
28
  }(Error));
29
- exports.ProviderHasNoKeyError = ProviderHasNoKeyError;
30
- //# sourceMappingURL=ProviderHasNoKeyError.js.map
29
+ exports.RegistrationMissingKeyError = RegistrationMissingKeyError;
30
+ //# sourceMappingURL=RegistrationMissingKeyError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistrationMissingKeyError.js","sourceRoot":"","sources":["../../lib/registration/RegistrationMissingKeyError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAAiD,+CAAK;IAGlD,qCAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,6BAA6B,CAAC;QAKjC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;;IACvE,CAAC;IACL,kCAAC;AAAD,CAAC,AARD,CAAiD,KAAK,GAQrD;AARY,kEAA2B"}
@@ -16,6 +16,8 @@ export declare class Container implements IContainer, Tagged {
16
16
  });
17
17
  register({ key, provider }: Registration): this;
18
18
  resolve<T>(key: InjectionToken<T>, ...args: unknown[]): T;
19
+ private resolveByProvider;
20
+ private resolveByInjector;
19
21
  createScope(tags?: Tag[]): Container;
20
22
  dispose(): void;
21
23
  getProviders(): Map<ProviderKey, IProvider>;
@@ -20,10 +20,13 @@ export class Container {
20
20
  }
21
21
  resolve(key, ...args) {
22
22
  this.validateContainer();
23
- if (isProviderKey(key)) {
24
- const provider = this.providers.get(key);
25
- return (provider === null || provider === void 0 ? void 0 : provider.isValid(this)) ? provider.resolve(this, ...args) : this.parent.resolve(key, ...args);
26
- }
23
+ return isProviderKey(key) ? this.resolveByProvider(key, ...args) : this.resolveByInjector(key, ...args);
24
+ }
25
+ resolveByProvider(key, ...args) {
26
+ const provider = this.providers.find(key);
27
+ return (provider === null || provider === void 0 ? void 0 : provider.isValid(this)) ? provider.resolve(this, ...args) : this.parent.resolve(key, ...args);
28
+ }
29
+ resolveByInjector(key, ...args) {
27
30
  const instance = this.injector.resolve(this, key, ...args);
28
31
  this.instances.add(instance);
29
32
  return instance;
@@ -40,6 +43,7 @@ export class Container {
40
43
  return scope;
41
44
  }
42
45
  dispose() {
46
+ this.validateContainer();
43
47
  this.isDisposed = true;
44
48
  this.parent.removeScope(this);
45
49
  this.parent = new EmptyContainer();
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAQ7C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,wBAAwB,CAAC;QAK5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAXD,MAAM,CAAC,MAAM,CAAC,MAAe,EAAE,WAAmB;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;CAQJ"}
1
+ {"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAS7C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,wBAAwB,CAAC;QAK5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAZD,MAAM,CAAC,MAAM,CAAC,MAAe,EAAE,WAAmB;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;CASJ"}
@@ -2,7 +2,7 @@ import { IProvider, ProviderKey } from './IProvider';
2
2
  export declare class ProviderRepo {
3
3
  private readonly providers;
4
4
  add(key: ProviderKey, provider: IProvider): this;
5
- get<T>(key: ProviderKey): IProvider<T> | undefined;
5
+ find<T>(key: ProviderKey): IProvider<T> | undefined;
6
6
  merge(providers: Map<ProviderKey, IProvider>): Map<ProviderKey, IProvider>;
7
7
  dispose(): void;
8
8
  }
@@ -6,7 +6,7 @@ export class ProviderRepo {
6
6
  this.providers.set(key, provider);
7
7
  return this;
8
8
  }
9
- get(key) {
9
+ find(key) {
10
10
  return this.providers.get(key);
11
11
  }
12
12
  merge(providers) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderRepo.js","sourceRoot":"","sources":["../../lib/provider/ProviderRepo.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAAzB;QACqB,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IA4BnE,CAAC;IA1BG,GAAG,CAAC,GAAgB,EAAE,QAAmB;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAI,GAAgB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAsC;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC9C,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"}
1
+ {"version":3,"file":"ProviderRepo.js","sourceRoot":"","sources":["../../lib/provider/ProviderRepo.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAAzB;QACqB,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IA4BnE,CAAC;IA1BG,GAAG,CAAC,GAAgB,EAAE,QAAmB;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAI,GAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAsC;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC9C,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"}
@@ -1,7 +1,7 @@
1
1
  import { SingletonProvider } from '../provider/SingletonProvider';
2
2
  import { TaggedProvider } from '../provider/TaggedProvider';
3
3
  import { ArgsProvider } from '../provider/ArgsProvider';
4
- import { ProviderHasNoKeyError } from '../provider/ProviderHasNoKeyError';
4
+ import { RegistrationMissingKeyError } from './RegistrationMissingKeyError';
5
5
  export class RegistrationBuilder {
6
6
  constructor(provider) {
7
7
  this.provider = provider;
@@ -34,7 +34,7 @@ export class RegistrationBuilder {
34
34
  }
35
35
  build() {
36
36
  if (!this.key) {
37
- throw new ProviderHasNoKeyError('Pls provide registration keys for current provider');
37
+ throw new RegistrationMissingKeyError('Pls provide registration keys for current provider');
38
38
  }
39
39
  return { key: this.key, provider: this.provider };
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAU,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAI1E,MAAM,OAAO,mBAAmB;IAG5B,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,QAAQ,CAAC,GAAG,SAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAAsC;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,qBAAqB,CAAC,oDAAoD,CAAC,CAAC;SACzF;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACJ"}
1
+ {"version":3,"file":"RegistrationBuilder.js","sourceRoot":"","sources":["../../lib/registration/RegistrationBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAU,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAI5E,MAAM,OAAO,mBAAmB;IAG5B,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,QAAQ,CAAC,GAAG,SAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAAsC;QACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAgB;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,MAAM,IAAI,2BAA2B,CAAC,oDAAoD,CAAC,CAAC;SAC/F;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACJ"}
@@ -0,0 +1,4 @@
1
+ export declare class RegistrationMissingKeyError extends Error {
2
+ name: string;
3
+ constructor(message: string);
4
+ }
@@ -0,0 +1,8 @@
1
+ export class RegistrationMissingKeyError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = 'RegistrationMissingKeyError';
5
+ Object.setPrototypeOf(this, RegistrationMissingKeyError.prototype);
6
+ }
7
+ }
8
+ //# sourceMappingURL=RegistrationMissingKeyError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistrationMissingKeyError.js","sourceRoot":"","sources":["../../lib/registration/RegistrationMissingKeyError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAGlD,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,6BAA6B,CAAC;QAKjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "21.0.2",
3
+ "version": "21.0.3",
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": "aa1349045e29a2806f8e5570a193b481979b874f"
51
+ "gitHead": "75cc09496c4e39e97bfc83769d7d5b056c49b835"
52
52
  }
@@ -1,4 +0,0 @@
1
- export declare class ProviderHasNoKeyError extends Error {
2
- name: string;
3
- constructor(message: string);
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderHasNoKeyError.js","sourceRoot":"","sources":["../../lib/provider/ProviderHasNoKeyError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA2C,yCAAK;IAG5C,+BAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,uBAAuB,CAAC;QAK3B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;;IACjE,CAAC;IACL,4BAAC;AAAD,CAAC,AARD,CAA2C,KAAK,GAQ/C;AARY,sDAAqB"}
@@ -1,4 +0,0 @@
1
- export declare class ProviderHasNoKeyError extends Error {
2
- name: string;
3
- constructor(message: string);
4
- }
@@ -1,8 +0,0 @@
1
- export class ProviderHasNoKeyError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = 'ProviderHasNoKeyError';
5
- Object.setPrototypeOf(this, ProviderHasNoKeyError.prototype);
6
- }
7
- }
8
- //# sourceMappingURL=ProviderHasNoKeyError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderHasNoKeyError.js","sourceRoot":"","sources":["../../lib/provider/ProviderHasNoKeyError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAG5C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,uBAAuB,CAAC;QAK3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACJ"}