ts-ioc-container 13.0.3 → 13.2.0

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 (35) hide show
  1. package/cjm/core/ServiceLocator.d.ts +2 -0
  2. package/cjm/core/ServiceLocator.js +11 -0
  3. package/cjm/core/ServiceLocator.js.map +1 -1
  4. package/cjm/core/provider/Provider.d.ts +2 -2
  5. package/cjm/core/provider/Provider.js +1 -1
  6. package/cjm/core/provider/Provider.js.map +1 -1
  7. package/cjm/errors/LocatorDisposedError.d.ts +4 -0
  8. package/cjm/errors/LocatorDisposedError.js +30 -0
  9. package/cjm/errors/LocatorDisposedError.js.map +1 -0
  10. package/cjm/features/container/Container.d.ts +0 -2
  11. package/cjm/features/container/Container.js +0 -11
  12. package/cjm/features/container/Container.js.map +1 -1
  13. package/cjm/features/providers/SingletonProvider.js +0 -1
  14. package/cjm/features/providers/SingletonProvider.js.map +1 -1
  15. package/cjm/index.d.ts +1 -0
  16. package/cjm/index.js +3 -1
  17. package/cjm/index.js.map +1 -1
  18. package/esm/core/ServiceLocator.d.ts +2 -0
  19. package/esm/core/ServiceLocator.js +11 -0
  20. package/esm/core/ServiceLocator.js.map +1 -1
  21. package/esm/core/provider/Provider.d.ts +2 -2
  22. package/esm/core/provider/Provider.js +1 -1
  23. package/esm/core/provider/Provider.js.map +1 -1
  24. package/esm/errors/LocatorDisposedError.d.ts +4 -0
  25. package/esm/errors/LocatorDisposedError.js +8 -0
  26. package/esm/errors/LocatorDisposedError.js.map +1 -0
  27. package/esm/features/container/Container.d.ts +0 -2
  28. package/esm/features/container/Container.js +0 -7
  29. package/esm/features/container/Container.js.map +1 -1
  30. package/esm/features/providers/SingletonProvider.js +0 -1
  31. package/esm/features/providers/SingletonProvider.js.map +1 -1
  32. package/esm/index.d.ts +1 -0
  33. package/esm/index.js +1 -0
  34. package/esm/index.js.map +1 -1
  35. package/package.json +3 -3
@@ -9,6 +9,7 @@ export declare class ServiceLocator implements IServiceLocator, ScopeOptions {
9
9
  level: number;
10
10
  tags: Tag[];
11
11
  private hook;
12
+ private isDisposed;
12
13
  constructor(injector: IInjector);
13
14
  setParent(parent: IServiceLocator): this;
14
15
  setTags(tags: Tag[]): this;
@@ -20,4 +21,5 @@ export declare class ServiceLocator implements IServiceLocator, ScopeOptions {
20
21
  entries(): Array<[ProviderKey, IProvider<any>]>;
21
22
  dispose(): void;
22
23
  map<T extends IServiceLocator>(transform: (l: IServiceLocator) => T): T;
24
+ private validateLocator;
23
25
  }
@@ -41,6 +41,7 @@ var IServiceLocator_1 = require("./IServiceLocator");
41
41
  var EmptyServiceLocator_1 = require("./EmptyServiceLocator");
42
42
  var IInstanceHook_1 = require("./IInstanceHook");
43
43
  var ProviderRepo_1 = require("./ProviderRepo");
44
+ var LocatorDisposedError_1 = require("../errors/LocatorDisposedError");
44
45
  var ServiceLocator = /** @class */ (function () {
45
46
  function ServiceLocator(injector) {
46
47
  this.injector = injector;
@@ -49,6 +50,7 @@ var ServiceLocator = /** @class */ (function () {
49
50
  this.level = 0;
50
51
  this.tags = [];
51
52
  this.hook = IInstanceHook_1.emptyHook;
53
+ this.isDisposed = false;
52
54
  }
53
55
  ServiceLocator.prototype.setParent = function (parent) {
54
56
  this.parent = parent;
@@ -68,6 +70,7 @@ var ServiceLocator = /** @class */ (function () {
68
70
  return this;
69
71
  };
70
72
  ServiceLocator.prototype.register = function (key, provider) {
73
+ this.validateLocator();
71
74
  this.providers.set(key, provider);
72
75
  };
73
76
  ServiceLocator.prototype.resolve = function (key) {
@@ -76,6 +79,7 @@ var ServiceLocator = /** @class */ (function () {
76
79
  for (var _i = 1; _i < arguments.length; _i++) {
77
80
  args[_i - 1] = arguments[_i];
78
81
  }
82
+ this.validateLocator();
79
83
  if ((0, IServiceLocator_1.isProviderKey)(key)) {
80
84
  var provider = this.providers.get(key);
81
85
  return (provider === null || provider === void 0 ? void 0 : provider.isValid(this))
@@ -88,6 +92,7 @@ var ServiceLocator = /** @class */ (function () {
88
92
  var e_1, _a;
89
93
  if (tags === void 0) { tags = []; }
90
94
  if (parent === void 0) { parent = this; }
95
+ this.validateLocator();
91
96
  var scope = new ServiceLocator(this.injector)
92
97
  .setParent(parent)
93
98
  .setLevel(this.level + 1)
@@ -114,6 +119,7 @@ var ServiceLocator = /** @class */ (function () {
114
119
  return Array.from(new Map(__spreadArray(__spreadArray([], __read(this.parent.entries()), false), __read(this.providers.entries()), false)).entries());
115
120
  };
116
121
  ServiceLocator.prototype.dispose = function () {
122
+ this.isDisposed = true;
117
123
  this.parent = new EmptyServiceLocator_1.EmptyServiceLocator();
118
124
  this.providers.dispose();
119
125
  this.hook.dispose();
@@ -122,6 +128,11 @@ var ServiceLocator = /** @class */ (function () {
122
128
  this.parent = transform(this.parent);
123
129
  return transform(this);
124
130
  };
131
+ ServiceLocator.prototype.validateLocator = function () {
132
+ if (this.isDisposed) {
133
+ throw new LocatorDisposedError_1.LocatorDisposedError("Locator is already disposed");
134
+ }
135
+ };
125
136
  return ServiceLocator;
126
137
  }());
127
138
  exports.ServiceLocator = ServiceLocator;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceLocator.js","sourceRoot":"","sources":["../../lib/core/ServiceLocator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceLocator.js","sourceRoot":"","sources":["../../lib/core/ServiceLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAgG;AAGhG,6DAA4D;AAC5D,iDAA2D;AAC3D,+CAA8C;AAC9C,uEAAsE;AAEtE;IAQI,wBAA6B,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAP/B,cAAS,GAAG,IAAI,2BAAY,EAAE,CAAC;QACxC,WAAM,GAAoB,IAAI,yCAAmB,EAAE,CAAC;QAC5D,UAAK,GAAG,CAAC,CAAC;QACV,SAAI,GAAU,EAAE,CAAC;QACT,SAAI,GAAkB,yBAAS,CAAC;QAChC,eAAU,GAAG,KAAK,CAAC;IAEwB,CAAC;IAEpD,kCAAS,GAAT,UAAU,MAAuB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAW;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAQ,GAAR,UAAS,KAAS;QAAT,sBAAA,EAAA,SAAS;QACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAmB;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAQ,GAAR,UAAS,GAAgB,EAAE,QAA4B;QACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,gCAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,IAAA,+BAAa,EAAC,GAAG,CAAC,EAAE;YACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;YAC5C,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,OAAhB,QAAQ,iBAAS,IAAI,UAAK,IAAI,WAAE;gBACpD,CAAC,CAAC,CAAA,KAAA,IAAI,CAAC,MAAM,CAAA,CAAC,OAAO,0BAAI,GAAG,UAAK,IAAI,UAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAI,IAAI,EAAE,GAAG,UAAK,IAAI,WAAE,CAAC;IAC3E,CAAC;IAED,oCAAW,GAAX,UAAY,IAAgB,EAAE,MAA8B;;QAAhD,qBAAA,EAAA,SAAgB;QAAE,uBAAA,EAAA,aAA8B;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAM,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1C,SAAS,CAAC,MAAM,CAAC;aACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aACxB,OAAO,CAAC,IAAI,CAAC;aACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;;YAEhC,KAA8B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,EAAE,CAAA,gBAAA,4BAAE;gBAArC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACrB,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;iBACzC;aACJ;;;;;;;;;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gCAAO,GAAP;QACI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,wCAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAK,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,UAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,gCAAO,GAAP;QACI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,4BAAG,GAAH,UAA+B,SAAoC;QAC/D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEO,wCAAe,GAAvB;QACI,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,IAAI,2CAAoB,CAAC,6BAA6B,CAAC,CAAC;SACjE;IACL,CAAC;IACL,qBAAC;AAAD,CAAC,AApFD,IAoFC;AApFY,wCAAc"}
@@ -1,5 +1,5 @@
1
1
  import { constructor } from '../../helpers/types';
2
- import { IProvider, ResolveDependency, ScopeOptions } from './IProvider';
2
+ import { IProvider, ResolveDependency } from './IProvider';
3
3
  import { Resolveable } from '../IServiceLocator';
4
4
  export declare class Provider<T> implements IProvider<T> {
5
5
  private readonly resolveDependency;
@@ -9,5 +9,5 @@ export declare class Provider<T> implements IProvider<T> {
9
9
  clone(): Provider<T>;
10
10
  resolve(locator: Resolveable, ...args: any[]): T;
11
11
  dispose(): void;
12
- isValid(filters: ScopeOptions): boolean;
12
+ isValid(): boolean;
13
13
  }
@@ -53,7 +53,7 @@ var Provider = /** @class */ (function () {
53
53
  return this.resolveDependency.apply(this, __spreadArray([locator], __read(args), false));
54
54
  };
55
55
  Provider.prototype.dispose = function () { };
56
- Provider.prototype.isValid = function (filters) {
56
+ Provider.prototype.isValid = function () {
57
57
  return true;
58
58
  };
59
59
  return Provider;
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI;QAAxB,CAAyB,CAAC,CAAC;IACnE,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,OAAoB;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,OAAO,UAAK,IAAI,WAAE;IACpD,CAAC;IAED,0BAAO,GAAP,cAAiB,CAAC;IAElB,0BAAO,GAAP,UAAQ,OAAqB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,4BAAQ"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI;QAAxB,CAAyB,CAAC,CAAC;IACnE,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,OAAoB;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,OAAO,UAAK,IAAI,WAAE;IACpD,CAAC;IAED,0BAAO,GAAP,cAAiB,CAAC;IAElB,0BAAO,GAAP;QACI,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,4BAAQ"}
@@ -0,0 +1,4 @@
1
+ export declare class LocatorDisposedError extends Error {
2
+ name: string;
3
+ constructor(message: string);
4
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.LocatorDisposedError = void 0;
19
+ var LocatorDisposedError = /** @class */ (function (_super) {
20
+ __extends(LocatorDisposedError, _super);
21
+ function LocatorDisposedError(message) {
22
+ var _this = _super.call(this, message) || this;
23
+ _this.name = 'LocatorDisposedError';
24
+ Object.setPrototypeOf(_this, LocatorDisposedError.prototype);
25
+ return _this;
26
+ }
27
+ return LocatorDisposedError;
28
+ }(Error));
29
+ exports.LocatorDisposedError = LocatorDisposedError;
30
+ //# sourceMappingURL=LocatorDisposedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocatorDisposedError.js","sourceRoot":"","sources":["../../lib/errors/LocatorDisposedError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;IAA0C,wCAAK;IAG3C,8BAAY,OAAe;QAA3B,YACI,kBAAM,OAAO,CAAC,SAGjB;QAND,UAAI,GAAG,sBAAsB,CAAC;QAK1B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;;IAChE,CAAC;IACL,2BAAC;AAAD,CAAC,AARD,CAA0C,KAAK,GAQ9C;AARY,oDAAoB"}
@@ -4,7 +4,6 @@ import { IContainer } from './IContainer';
4
4
  import { IContainerProvider } from './IContainerProvider';
5
5
  import { IInjector } from '../../core/IInjector';
6
6
  import { IInstanceHook } from '../../core/IInstanceHook';
7
- import { constructor } from '../../helpers/types';
8
7
  export declare class Container implements IContainer {
9
8
  private locator;
10
9
  static fromInjector(injector: IInjector): Container;
@@ -13,6 +12,5 @@ export declare class Container implements IContainer {
13
12
  createScope(tags?: Tag[]): IContainer;
14
13
  register(provider: IContainerProvider<unknown>): this;
15
14
  resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
16
- resolveDecorated<T>(...Constructors: constructor<T>[]): T | undefined;
17
15
  dispose(): void;
18
16
  }
@@ -53,17 +53,6 @@ var Container = /** @class */ (function () {
53
53
  }
54
54
  return (_a = this.locator).resolve.apply(_a, __spreadArray([key], __read(args), false));
55
55
  };
56
- Container.prototype.resolveDecorated = function () {
57
- var Constructors = [];
58
- for (var _i = 0; _i < arguments.length; _i++) {
59
- Constructors[_i] = arguments[_i];
60
- }
61
- if (Constructors.length === 0) {
62
- return undefined;
63
- }
64
- var _a = __read(Constructors), first = _a[0], rest = _a.slice(1);
65
- return this.locator.resolve(first, this.resolveDecorated.apply(this, __spreadArray([], __read(rest), false)));
66
- };
67
56
  Container.prototype.dispose = function () {
68
57
  this.locator.dispose();
69
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4DAA2D;AAI3D;IAKI,mBAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJzC,sBAAY,GAAnB,UAAoB,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,+BAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,2BAAO,GAAP,UAAQ,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAW,GAAX,UAAY,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,4BAAQ,GAAR,UAAS,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,OAAO,0BAAC,GAAG,UAAK,IAAI,WAAE;IAC9C,CAAC;IAED,oCAAgB,GAAhB;QAAoB,sBAAiC;aAAjC,UAAiC,EAAjC,qBAAiC,EAAjC,IAAiC;YAAjC,iCAAiC;;QACjD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAC;SACpB;QACK,IAAA,KAAA,OAAmB,YAAY,CAAA,EAA9B,KAAK,QAAA,EAAK,IAAI,cAAgB,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,OAArB,IAAI,2BAAqB,IAAI,WAAE,CAAC;IACvE,CAAC;IAED,2BAAO,GAAP;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACL,gBAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,8BAAS"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4DAA2D;AAG3D;IAKI,mBAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJzC,sBAAY,GAAnB,UAAoB,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,+BAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,2BAAO,GAAP,UAAQ,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAW,GAAX,UAAY,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,4BAAQ,GAAR,UAAS,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,OAAO,0BAAC,GAAG,UAAK,IAAI,WAAE;IAC9C,CAAC;IAED,2BAAO,GAAP;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACL,gBAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,8BAAS"}
@@ -68,7 +68,6 @@ var SingletonProvider = /** @class */ (function (_super) {
68
68
  var instance = (_a = this.provider).resolve.apply(_a, __spreadArray([locator], __read(args), false));
69
69
  this.instance = new types_1.Box(instance);
70
70
  }
71
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
72
71
  return this.instance.value;
73
72
  };
74
73
  return SingletonProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/features/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA0C;AAC1C,2EAA0E;AAG1E;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAkB,IAAI,CAAC;;IAIvC,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,OAAoB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAC,OAAO,UAAK,IAAI,UAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,oEAAoE;QACpE,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAzBD,CAA0C,qCAAiB,GAyB1D;AAzBY,8CAAiB"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/features/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA0C;AAC1C,2EAA0E;AAG1E;IAA0C,qCAAoB;IAG1D,2BAA6B,QAAsB;QAAnD,YACI,kBAAM,QAAQ,CAAC,SAClB;QAF4B,cAAQ,GAAR,QAAQ,CAAc;QAF3C,cAAQ,GAAkB,IAAI,CAAC;;IAIvC,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,OAAoB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,0BAAC,OAAO,UAAK,IAAI,UAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAU,CAAC;IACpC,CAAC;IACL,wBAAC;AAAD,CAAC,AAxBD,CAA0C,qCAAiB,GAwB1D;AAxBY,8CAAiB"}
package/cjm/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export { createMethodHookDecorator } from './features/instanceHook/decorators';
13
13
  export { InjectionToken } from './core/IServiceLocator';
14
14
  export { ProviderNotFoundError } from './errors/ProviderNotFoundError';
15
15
  export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
16
+ export { LocatorDisposedError } from './errors/LocatorDisposedError';
16
17
  export { Provider } from './core/provider/Provider';
17
18
  export { ArgsProvider, ArgsFn } from './core/provider/ArgsProvider';
18
19
  export { IInstanceHook } from './core/IInstanceHook';
package/cjm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isProviderKey = exports.createAddKeysDecorator = exports.createArgsFnDecorator = exports.createTagsDecorator = exports.createSingletonDecorator = exports.createLevelDecorator = exports.ProvidersMetadataCollector = exports.fromClassArray = exports.fromValue = exports.fromFn = exports.fromClass = exports.ProviderBuilder = exports.SingletonProvider = exports.MockedServiceLocator = exports.LevelProvider = exports.ProxyInjector = exports.TaggedProvider = exports.ArgsProvider = exports.Provider = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.createMethodHookDecorator = exports.MethodsMetadataCollector = exports.SimpleInjector = exports.Container = exports.ServiceLocator = void 0;
3
+ exports.isProviderKey = exports.createAddKeysDecorator = exports.createArgsFnDecorator = exports.createTagsDecorator = exports.createSingletonDecorator = exports.createLevelDecorator = exports.ProvidersMetadataCollector = exports.fromClassArray = exports.fromValue = exports.fromFn = exports.fromClass = exports.ProviderBuilder = exports.SingletonProvider = exports.MockedServiceLocator = exports.LevelProvider = exports.ProxyInjector = exports.TaggedProvider = exports.ArgsProvider = exports.Provider = exports.LocatorDisposedError = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.createMethodHookDecorator = exports.MethodsMetadataCollector = exports.SimpleInjector = exports.Container = exports.ServiceLocator = void 0;
4
4
  var ServiceLocator_1 = require("./core/ServiceLocator");
5
5
  Object.defineProperty(exports, "ServiceLocator", { enumerable: true, get: function () { return ServiceLocator_1.ServiceLocator; } });
6
6
  var Container_1 = require("./features/container/Container");
@@ -15,6 +15,8 @@ var ProviderNotFoundError_1 = require("./errors/ProviderNotFoundError");
15
15
  Object.defineProperty(exports, "ProviderNotFoundError", { enumerable: true, get: function () { return ProviderNotFoundError_1.ProviderNotFoundError; } });
16
16
  var MethodNotImplementedError_1 = require("./errors/MethodNotImplementedError");
17
17
  Object.defineProperty(exports, "MethodNotImplementedError", { enumerable: true, get: function () { return MethodNotImplementedError_1.MethodNotImplementedError; } });
18
+ var LocatorDisposedError_1 = require("./errors/LocatorDisposedError");
19
+ Object.defineProperty(exports, "LocatorDisposedError", { enumerable: true, get: function () { return LocatorDisposedError_1.LocatorDisposedError; } });
18
20
  var Provider_1 = require("./core/provider/Provider");
19
21
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
20
22
  var ArgsProvider_1 = require("./core/provider/ArgsProvider");
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAGA,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,4DAA2D;AAAlD,sGAAA,SAAS,OAAA;AAIlB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AAEvB,6FAA4F;AAAnF,oIAAA,wBAAwB,OAAA;AACjC,iEAA+E;AAAtE,uHAAA,yBAAyB,OAAA;AAElC,wEAAuE;AAA9D,8HAAA,qBAAqB,OAAA;AAC9B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAClC,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,6DAAoE;AAA3D,4GAAA,YAAY,OAAA;AAErB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AACtB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AAEtB,6EAA4E;AAAnE,4HAAA,oBAAoB,OAAA;AAC7B,4EAA2E;AAAlE,sHAAA,iBAAiB,OAAA;AAC1B,wEAAqH;AAA5G,kHAAA,eAAe,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,iHAAA,cAAc,OAAA;AAEtE,8FAA6F;AAApF,wIAAA,0BAA0B,OAAA;AACnC,8DAMyC;AALrC,kHAAA,oBAAoB,OAAA;AACpB,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AACrB,oHAAA,sBAAsB,OAAA;AAG1B,0DAAuD;AAA9C,gHAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAGA,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,4DAA2D;AAAlD,sGAAA,SAAS,OAAA;AAIlB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AAEvB,6FAA4F;AAAnF,oIAAA,wBAAwB,OAAA;AACjC,iEAA+E;AAAtE,uHAAA,yBAAyB,OAAA;AAElC,wEAAuE;AAA9D,8HAAA,qBAAqB,OAAA;AAC9B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAClC,sEAAqE;AAA5D,4HAAA,oBAAoB,OAAA;AAC7B,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,6DAAoE;AAA3D,4GAAA,YAAY,OAAA;AAErB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AACtB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AAEtB,6EAA4E;AAAnE,4HAAA,oBAAoB,OAAA;AAC7B,4EAA2E;AAAlE,sHAAA,iBAAiB,OAAA;AAC1B,wEAAqH;AAA5G,kHAAA,eAAe,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,iHAAA,cAAc,OAAA;AAEtE,8FAA6F;AAApF,wIAAA,0BAA0B,OAAA;AACnC,8DAMyC;AALrC,kHAAA,oBAAoB,OAAA;AACpB,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AACrB,oHAAA,sBAAsB,OAAA;AAG1B,0DAAuD;AAA9C,gHAAA,aAAa,OAAA"}
@@ -9,6 +9,7 @@ export declare class ServiceLocator implements IServiceLocator, ScopeOptions {
9
9
  level: number;
10
10
  tags: Tag[];
11
11
  private hook;
12
+ private isDisposed;
12
13
  constructor(injector: IInjector);
13
14
  setParent(parent: IServiceLocator): this;
14
15
  setTags(tags: Tag[]): this;
@@ -20,4 +21,5 @@ export declare class ServiceLocator implements IServiceLocator, ScopeOptions {
20
21
  entries(): Array<[ProviderKey, IProvider<any>]>;
21
22
  dispose(): void;
22
23
  map<T extends IServiceLocator>(transform: (l: IServiceLocator) => T): T;
24
+ private validateLocator;
23
25
  }
@@ -2,6 +2,7 @@ import { isProviderKey } from './IServiceLocator';
2
2
  import { EmptyServiceLocator } from './EmptyServiceLocator';
3
3
  import { emptyHook } from './IInstanceHook';
4
4
  import { ProviderRepo } from './ProviderRepo';
5
+ import { LocatorDisposedError } from '../errors/LocatorDisposedError';
5
6
  export class ServiceLocator {
6
7
  constructor(injector) {
7
8
  this.injector = injector;
@@ -10,6 +11,7 @@ export class ServiceLocator {
10
11
  this.level = 0;
11
12
  this.tags = [];
12
13
  this.hook = emptyHook;
14
+ this.isDisposed = false;
13
15
  }
14
16
  setParent(parent) {
15
17
  this.parent = parent;
@@ -28,9 +30,11 @@ export class ServiceLocator {
28
30
  return this;
29
31
  }
30
32
  register(key, provider) {
33
+ this.validateLocator();
31
34
  this.providers.set(key, provider);
32
35
  }
33
36
  resolve(key, ...args) {
37
+ this.validateLocator();
34
38
  if (isProviderKey(key)) {
35
39
  const provider = this.providers.get(key);
36
40
  return (provider === null || provider === void 0 ? void 0 : provider.isValid(this))
@@ -40,6 +44,7 @@ export class ServiceLocator {
40
44
  return this.hook.resolve(this.injector.resolve(this, key, ...args));
41
45
  }
42
46
  createScope(tags = [], parent = this) {
47
+ this.validateLocator();
43
48
  const scope = new ServiceLocator(this.injector)
44
49
  .setParent(parent)
45
50
  .setLevel(this.level + 1)
@@ -56,6 +61,7 @@ export class ServiceLocator {
56
61
  return Array.from(new Map([...this.parent.entries(), ...this.providers.entries()]).entries());
57
62
  }
58
63
  dispose() {
64
+ this.isDisposed = true;
59
65
  this.parent = new EmptyServiceLocator();
60
66
  this.providers.dispose();
61
67
  this.hook.dispose();
@@ -64,5 +70,10 @@ export class ServiceLocator {
64
70
  this.parent = transform(this.parent);
65
71
  return transform(this);
66
72
  }
73
+ validateLocator() {
74
+ if (this.isDisposed) {
75
+ throw new LocatorDisposedError(`Locator is already disposed`);
76
+ }
77
+ }
67
78
  }
68
79
  //# sourceMappingURL=ServiceLocator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceLocator.js","sourceRoot":"","sources":["../../lib/core/ServiceLocator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceLocator.js","sourceRoot":"","sources":["../../lib/core/ServiceLocator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { constructor } from '../../helpers/types';
2
- import { IProvider, ResolveDependency, ScopeOptions } from './IProvider';
2
+ import { IProvider, ResolveDependency } from './IProvider';
3
3
  import { Resolveable } from '../IServiceLocator';
4
4
  export declare class Provider<T> implements IProvider<T> {
5
5
  private readonly resolveDependency;
@@ -9,5 +9,5 @@ export declare class Provider<T> implements IProvider<T> {
9
9
  clone(): Provider<T>;
10
10
  resolve(locator: Resolveable, ...args: any[]): T;
11
11
  dispose(): void;
12
- isValid(filters: ScopeOptions): boolean;
12
+ isValid(): boolean;
13
13
  }
@@ -15,7 +15,7 @@ export class Provider {
15
15
  return this.resolveDependency(locator, ...args);
16
16
  }
17
17
  dispose() { }
18
- isValid(filters) {
18
+ isValid() {
19
19
  return true;
20
20
  }
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARxE,MAAM,CAAC,SAAS,CAAI,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnE,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,OAAoB,EAAE,GAAG,IAAW;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,OAAO,CAAC,OAAqB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARxE,MAAM,CAAC,SAAS,CAAI,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnE,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,OAAoB,EAAE,GAAG,IAAW;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,OAAO;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -0,0 +1,4 @@
1
+ export declare class LocatorDisposedError extends Error {
2
+ name: string;
3
+ constructor(message: string);
4
+ }
@@ -0,0 +1,8 @@
1
+ export class LocatorDisposedError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = 'LocatorDisposedError';
5
+ Object.setPrototypeOf(this, LocatorDisposedError.prototype);
6
+ }
7
+ }
8
+ //# sourceMappingURL=LocatorDisposedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocatorDisposedError.js","sourceRoot":"","sources":["../../lib/errors/LocatorDisposedError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAG3C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,sBAAsB,CAAC;QAK1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;CACJ"}
@@ -4,7 +4,6 @@ import { IContainer } from './IContainer';
4
4
  import { IContainerProvider } from './IContainerProvider';
5
5
  import { IInjector } from '../../core/IInjector';
6
6
  import { IInstanceHook } from '../../core/IInstanceHook';
7
- import { constructor } from '../../helpers/types';
8
7
  export declare class Container implements IContainer {
9
8
  private locator;
10
9
  static fromInjector(injector: IInjector): Container;
@@ -13,6 +12,5 @@ export declare class Container implements IContainer {
13
12
  createScope(tags?: Tag[]): IContainer;
14
13
  register(provider: IContainerProvider<unknown>): this;
15
14
  resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
16
- resolveDecorated<T>(...Constructors: constructor<T>[]): T | undefined;
17
15
  dispose(): void;
18
16
  }
@@ -20,13 +20,6 @@ export class Container {
20
20
  resolve(key, ...args) {
21
21
  return this.locator.resolve(key, ...args);
22
22
  }
23
- resolveDecorated(...Constructors) {
24
- if (Constructors.length === 0) {
25
- return undefined;
26
- }
27
- const [first, ...rest] = Constructors;
28
- return this.locator.resolve(first, this.resolveDecorated(...rest));
29
- }
30
23
  dispose() {
31
24
  this.locator.dispose();
32
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,MAAM,OAAO,SAAS;IAKlB,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJhD,MAAM,CAAC,YAAY,CAAC,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,OAAO,CAAC,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAI,GAAG,YAA8B;QACjD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACJ"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,OAAO,SAAS;IAKlB,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJhD,MAAM,CAAC,YAAY,CAAC,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,OAAO,CAAC,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACJ"}
@@ -18,7 +18,6 @@ export class SingletonProvider extends ProviderDecorator {
18
18
  const instance = this.provider.resolve(locator, ...args);
19
19
  this.instance = new Box(instance);
20
20
  }
21
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
22
21
  return this.instance.value;
23
22
  }
24
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/features/providers/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG1D,YAA6B,QAAsB;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAc;QAF3C,aAAQ,GAAkB,IAAI,CAAC;IAIvC,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,OAAoB,EAAE,GAAG,IAAW;QACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,oEAAoE;QACpE,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;CACJ"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/features/providers/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG1D,YAA6B,QAAsB;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAc;QAF3C,aAAQ,GAAkB,IAAI,CAAC;IAIvC,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,OAAoB,EAAE,GAAG,IAAW;QACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAU,CAAC;IACpC,CAAC;CACJ"}
package/esm/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export { createMethodHookDecorator } from './features/instanceHook/decorators';
13
13
  export { InjectionToken } from './core/IServiceLocator';
14
14
  export { ProviderNotFoundError } from './errors/ProviderNotFoundError';
15
15
  export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
16
+ export { LocatorDisposedError } from './errors/LocatorDisposedError';
16
17
  export { Provider } from './core/provider/Provider';
17
18
  export { ArgsProvider, ArgsFn } from './core/provider/ArgsProvider';
18
19
  export { IInstanceHook } from './core/IInstanceHook';
package/esm/index.js CHANGED
@@ -5,6 +5,7 @@ export { MethodsMetadataCollector } from './features/instanceHook/MethodsMetadat
5
5
  export { createMethodHookDecorator } from './features/instanceHook/decorators';
6
6
  export { ProviderNotFoundError } from './errors/ProviderNotFoundError';
7
7
  export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
8
+ export { LocatorDisposedError } from './errors/LocatorDisposedError';
8
9
  export { Provider } from './core/provider/Provider';
9
10
  export { ArgsProvider } from './core/provider/ArgsProvider';
10
11
  export { TaggedProvider } from './features/providers/TaggedProvider';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAU,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAErH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAU,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAErH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "13.0.3",
3
+ "version": "13.2.0",
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",
@@ -45,9 +45,9 @@
45
45
  "npm-run-all": "4.1.5",
46
46
  "reflect-metadata": "^0.1.13",
47
47
  "rimraf": "3.0.2",
48
- "ts-constructor-injector": "^1.5.3",
48
+ "ts-constructor-injector": "^2.0.0",
49
49
  "ts-jest": "27.0.5",
50
50
  "typescript": "4.4.3"
51
51
  },
52
- "gitHead": "aa363b1ab0f72dd2e71c5e0fa0ce0caaad987b28"
52
+ "gitHead": "86f72eb37a3a1bf19dc443f3dd480b06d3614224"
53
53
  }