ts-ioc-container 6.22.2 → 6.23.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 (49) hide show
  1. package/cjm/core/providers/SingletonProvider.d.ts +0 -1
  2. package/cjm/core/providers/SingletonProvider.d.ts.map +1 -1
  3. package/cjm/core/providers/SingletonProvider.js +11 -5
  4. package/cjm/core/providers/SingletonProvider.js.map +1 -1
  5. package/cjm/features/context/ContextServiceLocator.d.ts +13 -0
  6. package/cjm/features/context/ContextServiceLocator.d.ts.map +1 -0
  7. package/cjm/features/context/ContextServiceLocator.js +61 -0
  8. package/cjm/features/context/ContextServiceLocator.js.map +1 -0
  9. package/cjm/features/context/ILocatorContext.d.ts +5 -0
  10. package/cjm/features/context/ILocatorContext.d.ts.map +1 -0
  11. package/cjm/features/context/ILocatorContext.js +5 -0
  12. package/cjm/features/context/ILocatorContext.js.map +1 -0
  13. package/cjm/features/context/LocatorContext.d.ts +7 -0
  14. package/cjm/features/context/LocatorContext.d.ts.map +1 -0
  15. package/cjm/features/context/LocatorContext.js +14 -0
  16. package/cjm/features/context/LocatorContext.js.map +1 -0
  17. package/cjm/index.d.ts +3 -11
  18. package/cjm/index.d.ts.map +1 -1
  19. package/cjm/index.js +9 -17
  20. package/cjm/index.js.map +1 -1
  21. package/esm/core/providers/SingletonProvider.d.ts +0 -1
  22. package/esm/core/providers/SingletonProvider.d.ts.map +1 -1
  23. package/esm/core/providers/SingletonProvider.js +10 -5
  24. package/esm/core/providers/SingletonProvider.js.map +1 -1
  25. package/esm/features/context/ContextServiceLocator.d.ts +13 -0
  26. package/esm/features/context/ContextServiceLocator.d.ts.map +1 -0
  27. package/esm/features/context/ContextServiceLocator.js +25 -0
  28. package/esm/features/context/ContextServiceLocator.js.map +1 -0
  29. package/esm/features/context/ILocatorContext.d.ts +5 -0
  30. package/esm/features/context/ILocatorContext.d.ts.map +1 -0
  31. package/esm/features/context/ILocatorContext.js +2 -0
  32. package/esm/features/context/ILocatorContext.js.map +1 -0
  33. package/esm/features/context/LocatorContext.d.ts +7 -0
  34. package/esm/features/context/LocatorContext.d.ts.map +1 -0
  35. package/esm/features/context/LocatorContext.js +9 -0
  36. package/esm/features/context/LocatorContext.js.map +1 -0
  37. package/esm/index.d.ts +3 -11
  38. package/esm/index.d.ts.map +1 -1
  39. package/esm/index.js +2 -11
  40. package/esm/index.js.map +1 -1
  41. package/package.json +1 -1
  42. package/cjm/features/HookServiceLocator.d.ts +0 -18
  43. package/cjm/features/HookServiceLocator.d.ts.map +0 -1
  44. package/cjm/features/HookServiceLocator.js +0 -58
  45. package/cjm/features/HookServiceLocator.js.map +0 -1
  46. package/esm/features/HookServiceLocator.d.ts +0 -18
  47. package/esm/features/HookServiceLocator.d.ts.map +0 -1
  48. package/esm/features/HookServiceLocator.js +0 -23
  49. package/esm/features/HookServiceLocator.js.map +0 -1
@@ -3,7 +3,6 @@ import { IServiceLocator } from '../IServiceLocator';
3
3
  export declare class SingletonProvider<T> implements IProvider<T> {
4
4
  private readonly decorated;
5
5
  private instance;
6
- private hasInstance;
7
6
  constructor(decorated: IProvider<T>);
8
7
  clone(): IProvider<T>;
9
8
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAIzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAHtC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAS;gBAEC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;IAIrB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAQvD"}
1
+ {"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOrD,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAGzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAuB;gBAEV,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;IAIrB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CASvD"}
@@ -27,11 +27,16 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.SingletonProvider = void 0;
29
29
  var ProviderNotClonedError_1 = require("../../errors/ProviderNotClonedError");
30
+ var Box = /** @class */ (function () {
31
+ function Box(value) {
32
+ this.value = value;
33
+ }
34
+ return Box;
35
+ }());
30
36
  var SingletonProvider = /** @class */ (function () {
31
37
  function SingletonProvider(decorated) {
32
38
  this.decorated = decorated;
33
39
  this.instance = null;
34
- this.hasInstance = false;
35
40
  }
36
41
  SingletonProvider.prototype.clone = function () {
37
42
  throw new ProviderNotClonedError_1.ProviderNotClonedError('SingletonProvider cannot be cloned');
@@ -46,11 +51,12 @@ var SingletonProvider = /** @class */ (function () {
46
51
  for (var _i = 1; _i < arguments.length; _i++) {
47
52
  args[_i - 1] = arguments[_i];
48
53
  }
49
- if (!this.hasInstance) {
50
- this.hasInstance = true;
51
- this.instance = (_a = this.decorated).resolve.apply(_a, __spreadArray([locator], __read(args), false));
54
+ if (this.instance === null) {
55
+ var instance = (_a = this.decorated).resolve.apply(_a, __spreadArray([locator], __read(args), false));
56
+ this.instance = new Box(instance);
52
57
  }
53
- return this.instance;
58
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
59
+ return this.instance.value;
54
60
  };
55
61
  return SingletonProvider;
56
62
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8EAA6E;AAE7E;IAII,2BAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAH5C,aAAQ,GAAa,IAAI,CAAC;QAC1B,gBAAW,GAAG,KAAK,CAAC;IAE2B,CAAC;IAExD,iCAAK,GAAL;QACI,MAAM,IAAI,+CAAsB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAwB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,OAAO,UAAK,IAAI,UAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC,QAAa,CAAC;IAC9B,CAAC;IACL,wBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,8CAAiB"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8EAA6E;AAE7E;IACI,aAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IACnC,UAAC;AAAD,CAAC,AAFD,IAEC;AAED;IAGI,2BAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAF5C,aAAQ,GAAkB,IAAI,CAAC;IAEgB,CAAC;IAExD,iCAAK,GAAL;QACI,MAAM,IAAI,+CAAsB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,mCAAO,GAAP;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAO,GAAP,UAAQ,OAAwB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAM,QAAQ,GAAG,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,OAAO,UAAK,IAAI,UAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,oEAAoE;QACpE,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;IACL,wBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,8CAAiB"}
@@ -0,0 +1,13 @@
1
+ import { InjectionToken, IServiceLocator } from '../../core/IServiceLocator';
2
+ import { IProvider, ProviderKey } from '../../core/providers/IProvider';
3
+ import { ILocatorContext } from './ILocatorContext';
4
+ export declare class ContextServiceLocator {
5
+ private locator;
6
+ private locatorFactory;
7
+ constructor(locator: IServiceLocator, locatorFactory?: <T>(context: T) => ILocatorContext<T>);
8
+ createLocator<T>(context: T): ContextServiceLocator;
9
+ dispose(): void;
10
+ register<T>(key: ProviderKey, provider: IProvider<T>): this;
11
+ resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
12
+ }
13
+ //# sourceMappingURL=ContextServiceLocator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextServiceLocator.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAGxE,qBAAa,qBAAqB;IAE1B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;gBADd,OAAO,EAAE,eAAe,EACxB,cAAc,GAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAA4C;IAG5G,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,qBAAqB;IASnD,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.ContextServiceLocator = void 0;
29
+ var ProviderBuilder_1 = require("../ProviderBuilder");
30
+ var ILocatorContext_1 = require("./ILocatorContext");
31
+ var LocatorContext_1 = require("./LocatorContext");
32
+ var ContextServiceLocator = /** @class */ (function () {
33
+ function ContextServiceLocator(locator, locatorFactory) {
34
+ if (locatorFactory === void 0) { locatorFactory = function (context) { return new LocatorContext_1.LocatorContext(context); }; }
35
+ this.locator = locator;
36
+ this.locatorFactory = locatorFactory;
37
+ }
38
+ ContextServiceLocator.prototype.createLocator = function (context) {
39
+ return new ContextServiceLocator(this.locator
40
+ .createLocator()
41
+ .register(ILocatorContext_1.ILocatorContextKey, ProviderBuilder_1.ProviderBuilder.fromInstance(this.locatorFactory(context)).asRequested()), this.locatorFactory);
42
+ };
43
+ ContextServiceLocator.prototype.dispose = function () {
44
+ this.locator.dispose();
45
+ };
46
+ ContextServiceLocator.prototype.register = function (key, provider) {
47
+ this.locator.register(key, provider);
48
+ return this;
49
+ };
50
+ ContextServiceLocator.prototype.resolve = function (key) {
51
+ var _a;
52
+ var deps = [];
53
+ for (var _i = 1; _i < arguments.length; _i++) {
54
+ deps[_i - 1] = arguments[_i];
55
+ }
56
+ return (_a = this.locator).resolve.apply(_a, __spreadArray([key], __read(deps), false));
57
+ };
58
+ return ContextServiceLocator;
59
+ }());
60
+ exports.ContextServiceLocator = ContextServiceLocator;
61
+ //# sourceMappingURL=ContextServiceLocator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextServiceLocator.js","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sDAAqD;AACrD,qDAAwE;AACxE,mDAAkD;AAElD;IACI,+BACY,OAAwB,EACxB,cAAgG;QAAhG,+BAAA,EAAA,2BAAyD,OAAO,IAAK,OAAA,IAAI,+BAAc,CAAC,OAAO,CAAC,EAA3B,CAA2B;QADhG,YAAO,GAAP,OAAO,CAAiB;QACxB,mBAAc,GAAd,cAAc,CAAkF;IACzG,CAAC;IAEJ,6CAAa,GAAb,UAAiB,OAAU;QACvB,OAAO,IAAI,qBAAqB,CAC5B,IAAI,CAAC,OAAO;aACP,aAAa,EAAE;aACf,QAAQ,CAAC,oCAAkB,EAAE,iCAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAC3G,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IAED,uCAAO,GAAP;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,wCAAQ,GAAR,UAAY,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uCAAO,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;IACL,4BAAC;AAAD,CAAC,AA3BD,IA2BC;AA3BY,sDAAqB"}
@@ -0,0 +1,5 @@
1
+ export declare const ILocatorContextKey: unique symbol;
2
+ export interface ILocatorContext<T> {
3
+ getValue(): T;
4
+ }
5
+ //# sourceMappingURL=ILocatorContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,eAAgC,CAAC;AAChE,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,IAAI,CAAC,CAAC;CACjB"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ILocatorContextKey = void 0;
4
+ exports.ILocatorContextKey = Symbol.for('ILocatorContext');
5
+ //# sourceMappingURL=ILocatorContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ILocatorContext } from './ILocatorContext';
2
+ export declare class LocatorContext<T> implements ILocatorContext<T> {
3
+ private value;
4
+ constructor(value: T);
5
+ getValue(): T;
6
+ }
7
+ //# sourceMappingURL=LocatorContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,CAAC;IAE5B,QAAQ,IAAI,CAAC;CAGhB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocatorContext = void 0;
4
+ var LocatorContext = /** @class */ (function () {
5
+ function LocatorContext(value) {
6
+ this.value = value;
7
+ }
8
+ LocatorContext.prototype.getValue = function () {
9
+ return this.value;
10
+ };
11
+ return LocatorContext;
12
+ }());
13
+ exports.LocatorContext = LocatorContext;
14
+ //# sourceMappingURL=LocatorContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":";;;AAEA;IACI,wBAAoB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEhC,iCAAQ,GAAR;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACL,qBAAC;AAAD,CAAC,AAND,IAMC;AANY,wCAAc"}
package/cjm/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { HookedProvider } from './features/instanceHook/HookedProvider';
2
- import { HookedInjector } from './features/instanceHook/HookedInjector';
3
1
  export { IMockProviderStorage } from './features/mock/IMockProviderStorage';
4
2
  export { MockProvider } from './features/mock/MockProvider';
5
3
  export { MockProviderStorage } from './features/mock/MockProviderStorage';
@@ -35,13 +33,7 @@ export { ProviderBuilder } from './features/ProviderBuilder';
35
33
  export { IocLocatorBuilder } from './features/ioc/IocLocatorBuilder';
36
34
  export { SimpleLocatorBuilder } from './features/simple/SimpleLocatorBuilder';
37
35
  export { emptyHook } from './features/instanceHook/emptyHook';
38
- export { HookServiceLocator } from './features/HookServiceLocator';
39
- /**
40
- * @deprecated Use HookedProvider
41
- */
42
- export declare const InstanceHookProvider: typeof HookedProvider;
43
- /**
44
- * @deprecated Use HookedInjector
45
- */
46
- export declare const InstanceHookInjector: typeof HookedInjector;
36
+ export { ContextServiceLocator } from './features/context/ContextServiceLocator';
37
+ export { ILocatorContext } from './features/context/ILocatorContext';
38
+ export { LocatorContext } from './features/context/LocatorContext';
47
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,oBAAoB,uBAAiB,CAAC;AACnD;;GAEG;AACH,eAAO,MAAM,oBAAoB,uBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
package/cjm/index.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InstanceHookInjector = exports.InstanceHookProvider = exports.HookServiceLocator = exports.emptyHook = exports.SimpleLocatorBuilder = exports.IocLocatorBuilder = exports.ProviderBuilder = exports.SingletonProvider = exports.ScopedProvider = exports.MockedRepository = exports.HookedInjector = exports.Provider = exports.ProviderRepository = exports.HookedProvider = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.InjectMetadataCollector = exports.createInjectFnDecorator = exports.createInjectDecorator = exports.createHookDecorator = exports.MethodsMetadataCollector = exports.IocInjector = exports.SimpleInjector = exports.ServiceLocator = exports.VendorMockProviderStorage = exports.MockProviderStorage = exports.MockProvider = void 0;
4
- var HookedProvider_1 = require("./features/instanceHook/HookedProvider");
5
- var HookedInjector_1 = require("./features/instanceHook/HookedInjector");
3
+ exports.LocatorContext = exports.ContextServiceLocator = exports.emptyHook = exports.SimpleLocatorBuilder = exports.IocLocatorBuilder = exports.ProviderBuilder = exports.SingletonProvider = exports.ScopedProvider = exports.MockedRepository = exports.HookedInjector = exports.Provider = exports.ProviderRepository = exports.HookedProvider = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.InjectMetadataCollector = exports.createInjectFnDecorator = exports.createInjectDecorator = exports.createHookDecorator = exports.MethodsMetadataCollector = exports.IocInjector = exports.SimpleInjector = exports.ServiceLocator = exports.VendorMockProviderStorage = exports.MockProviderStorage = exports.MockProvider = void 0;
6
4
  var MockProvider_1 = require("./features/mock/MockProvider");
7
5
  Object.defineProperty(exports, "MockProvider", { enumerable: true, get: function () { return MockProvider_1.MockProvider; } });
8
6
  var MockProviderStorage_1 = require("./features/mock/MockProviderStorage");
@@ -28,14 +26,14 @@ var ProviderNotFoundError_1 = require("./errors/ProviderNotFoundError");
28
26
  Object.defineProperty(exports, "ProviderNotFoundError", { enumerable: true, get: function () { return ProviderNotFoundError_1.ProviderNotFoundError; } });
29
27
  var MethodNotImplementedError_1 = require("./errors/MethodNotImplementedError");
30
28
  Object.defineProperty(exports, "MethodNotImplementedError", { enumerable: true, get: function () { return MethodNotImplementedError_1.MethodNotImplementedError; } });
31
- var HookedProvider_2 = require("./features/instanceHook/HookedProvider");
32
- Object.defineProperty(exports, "HookedProvider", { enumerable: true, get: function () { return HookedProvider_2.HookedProvider; } });
29
+ var HookedProvider_1 = require("./features/instanceHook/HookedProvider");
30
+ Object.defineProperty(exports, "HookedProvider", { enumerable: true, get: function () { return HookedProvider_1.HookedProvider; } });
33
31
  var ProviderRepository_1 = require("./core/ProviderRepository");
34
32
  Object.defineProperty(exports, "ProviderRepository", { enumerable: true, get: function () { return ProviderRepository_1.ProviderRepository; } });
35
33
  var Provider_1 = require("./core/providers/Provider");
36
34
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
37
- var HookedInjector_2 = require("./features/instanceHook/HookedInjector");
38
- Object.defineProperty(exports, "HookedInjector", { enumerable: true, get: function () { return HookedInjector_2.HookedInjector; } });
35
+ var HookedInjector_1 = require("./features/instanceHook/HookedInjector");
36
+ Object.defineProperty(exports, "HookedInjector", { enumerable: true, get: function () { return HookedInjector_1.HookedInjector; } });
39
37
  var MockedRepository_1 = require("./features/mock/MockedRepository");
40
38
  Object.defineProperty(exports, "MockedRepository", { enumerable: true, get: function () { return MockedRepository_1.MockedRepository; } });
41
39
  var ScopedProvider_1 = require("./core/providers/ScopedProvider");
@@ -50,14 +48,8 @@ var SimpleLocatorBuilder_1 = require("./features/simple/SimpleLocatorBuilder");
50
48
  Object.defineProperty(exports, "SimpleLocatorBuilder", { enumerable: true, get: function () { return SimpleLocatorBuilder_1.SimpleLocatorBuilder; } });
51
49
  var emptyHook_1 = require("./features/instanceHook/emptyHook");
52
50
  Object.defineProperty(exports, "emptyHook", { enumerable: true, get: function () { return emptyHook_1.emptyHook; } });
53
- var HookServiceLocator_1 = require("./features/HookServiceLocator");
54
- Object.defineProperty(exports, "HookServiceLocator", { enumerable: true, get: function () { return HookServiceLocator_1.HookServiceLocator; } });
55
- /**
56
- * @deprecated Use HookedProvider
57
- */
58
- exports.InstanceHookProvider = HookedProvider_1.HookedProvider;
59
- /**
60
- * @deprecated Use HookedInjector
61
- */
62
- exports.InstanceHookInjector = HookedInjector_1.HookedInjector;
51
+ var ContextServiceLocator_1 = require("./features/context/ContextServiceLocator");
52
+ Object.defineProperty(exports, "ContextServiceLocator", { enumerable: true, get: function () { return ContextServiceLocator_1.ContextServiceLocator; } });
53
+ var LocatorContext_1 = require("./features/context/LocatorContext");
54
+ Object.defineProperty(exports, "LocatorContext", { enumerable: true, get: function () { return LocatorContext_1.LocatorContext; } });
63
55
  //# sourceMappingURL=index.js.map
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AACxE,yEAAwE;AAGxE,6DAA4D;AAAnD,4GAAA,YAAY,OAAA;AACrB,2EAA0E;AAAjE,0HAAA,mBAAmB,OAAA;AAC5B,uFAAsF;AAA7E,sIAAA,yBAAyB,OAAA;AAGlC,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AAGvB,mEAAkE;AAAzD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,0GAAA,WAAW,OAAA;AAGpB,+FAA8F;AAArF,oIAAA,wBAAwB,OAAA;AACjC,mEAA2E;AAAlE,iHAAA,mBAAmB,OAAA;AAC5B,0DAA6F;AAApF,mHAAA,qBAAqB,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AACvD,oFAAmF;AAA1E,kIAAA,uBAAuB,OAAA;AAEhC,wEAAuE;AAA9D,8HAAA,qBAAqB,OAAA;AAC9B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAElC,yEAAwE;AAA/D,gHAAA,cAAc,OAAA;AAGvB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAC3B,sDAAqD;AAA5C,oGAAA,QAAQ,OAAA;AACjB,yEAAwE;AAA/D,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,oHAAA,gBAAgB,OAAA;AACzB,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,wEAAuE;AAA9D,sHAAA,iBAAiB,OAAA;AAC1B,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,sEAAqE;AAA5D,sHAAA,iBAAiB,OAAA;AAC1B,+EAA8E;AAArE,4HAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,sGAAA,SAAS,OAAA;AAClB,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAE3B;;GAEG;AACU,QAAA,oBAAoB,GAAG,+BAAc,CAAC;AACnD;;GAEG;AACU,QAAA,oBAAoB,GAAG,+BAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AACA,6DAA4D;AAAnD,4GAAA,YAAY,OAAA;AACrB,2EAA0E;AAAjE,0HAAA,mBAAmB,OAAA;AAC5B,uFAAsF;AAA7E,sIAAA,yBAAyB,OAAA;AAGlC,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AAGvB,mEAAkE;AAAzD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,0GAAA,WAAW,OAAA;AAGpB,+FAA8F;AAArF,oIAAA,wBAAwB,OAAA;AACjC,mEAA2E;AAAlE,iHAAA,mBAAmB,OAAA;AAC5B,0DAA6F;AAApF,mHAAA,qBAAqB,OAAA;AAAE,qHAAA,uBAAuB,OAAA;AACvD,oFAAmF;AAA1E,kIAAA,uBAAuB,OAAA;AAEhC,wEAAuE;AAA9D,8HAAA,qBAAqB,OAAA;AAC9B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAElC,yEAAwE;AAA/D,gHAAA,cAAc,OAAA;AAGvB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAC3B,sDAAqD;AAA5C,oGAAA,QAAQ,OAAA;AACjB,yEAAwE;AAA/D,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,oHAAA,gBAAgB,OAAA;AACzB,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,wEAAuE;AAA9D,sHAAA,iBAAiB,OAAA;AAC1B,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,sEAAqE;AAA5D,sHAAA,iBAAiB,OAAA;AAC1B,+EAA8E;AAArE,4HAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,sGAAA,SAAS,OAAA;AAClB,kFAAiF;AAAxE,8HAAA,qBAAqB,OAAA;AAE9B,oEAAmE;AAA1D,gHAAA,cAAc,OAAA"}
@@ -3,7 +3,6 @@ import { IServiceLocator } from '../IServiceLocator';
3
3
  export declare class SingletonProvider<T> implements IProvider<T> {
4
4
  private readonly decorated;
5
5
  private instance;
6
- private hasInstance;
7
6
  constructor(decorated: IProvider<T>);
8
7
  clone(): IProvider<T>;
9
8
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAIzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAHtC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAS;gBAEC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;IAIrB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAQvD"}
1
+ {"version":3,"file":"SingletonProvider.d.ts","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOrD,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAGzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAuB;gBAEV,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpD,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC;IAIrB,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CASvD"}
@@ -1,9 +1,13 @@
1
1
  import { ProviderNotClonedError } from '../../errors/ProviderNotClonedError';
2
+ class Box {
3
+ constructor(value) {
4
+ this.value = value;
5
+ }
6
+ }
2
7
  export class SingletonProvider {
3
8
  constructor(decorated) {
4
9
  this.decorated = decorated;
5
10
  this.instance = null;
6
- this.hasInstance = false;
7
11
  }
8
12
  clone() {
9
13
  throw new ProviderNotClonedError('SingletonProvider cannot be cloned');
@@ -13,11 +17,12 @@ export class SingletonProvider {
13
17
  this.decorated.dispose();
14
18
  }
15
19
  resolve(locator, ...args) {
16
- if (!this.hasInstance) {
17
- this.hasInstance = true;
18
- this.instance = this.decorated.resolve(locator, ...args);
20
+ if (this.instance === null) {
21
+ const instance = this.decorated.resolve(locator, ...args);
22
+ this.instance = new Box(instance);
19
23
  }
20
- return this.instance;
24
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
25
+ return this.instance.value;
21
26
  }
22
27
  }
23
28
  //# sourceMappingURL=SingletonProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,OAAO,iBAAiB;IAI1B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAH5C,aAAQ,GAAa,IAAI,CAAC;QAC1B,gBAAW,GAAG,KAAK,CAAC;IAE2B,CAAC;IAExD,KAAK;QACD,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAwB,EAAE,GAAG,IAAW;QAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC,QAAa,CAAC;IAC9B,CAAC;CACJ"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../../lib/core/providers/SingletonProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,GAAG;IACL,YAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;CAClC;AAED,MAAM,OAAO,iBAAiB;IAG1B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAF5C,aAAQ,GAAkB,IAAI,CAAC;IAEgB,CAAC;IAExD,KAAK;QACD,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAwB,EAAE,GAAG,IAAW;QAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAI,QAAQ,CAAC,CAAC;SACxC;QAED,oEAAoE;QACpE,OAAO,IAAI,CAAC,QAAS,CAAC,KAAU,CAAC;IACrC,CAAC;CACJ"}
@@ -0,0 +1,13 @@
1
+ import { InjectionToken, IServiceLocator } from '../../core/IServiceLocator';
2
+ import { IProvider, ProviderKey } from '../../core/providers/IProvider';
3
+ import { ILocatorContext } from './ILocatorContext';
4
+ export declare class ContextServiceLocator {
5
+ private locator;
6
+ private locatorFactory;
7
+ constructor(locator: IServiceLocator, locatorFactory?: <T>(context: T) => ILocatorContext<T>);
8
+ createLocator<T>(context: T): ContextServiceLocator;
9
+ dispose(): void;
10
+ register<T>(key: ProviderKey, provider: IProvider<T>): this;
11
+ resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
12
+ }
13
+ //# sourceMappingURL=ContextServiceLocator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextServiceLocator.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAGxE,qBAAa,qBAAqB;IAE1B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;gBADd,OAAO,EAAE,eAAe,EACxB,cAAc,GAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAA4C;IAG5G,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,qBAAqB;IASnD,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
@@ -0,0 +1,25 @@
1
+ import { ProviderBuilder } from '../ProviderBuilder';
2
+ import { ILocatorContextKey } from './ILocatorContext';
3
+ import { LocatorContext } from './LocatorContext';
4
+ export class ContextServiceLocator {
5
+ constructor(locator, locatorFactory = (context) => new LocatorContext(context)) {
6
+ this.locator = locator;
7
+ this.locatorFactory = locatorFactory;
8
+ }
9
+ createLocator(context) {
10
+ return new ContextServiceLocator(this.locator
11
+ .createLocator()
12
+ .register(ILocatorContextKey, ProviderBuilder.fromInstance(this.locatorFactory(context)).asRequested()), this.locatorFactory);
13
+ }
14
+ dispose() {
15
+ this.locator.dispose();
16
+ }
17
+ register(key, provider) {
18
+ this.locator.register(key, provider);
19
+ return this;
20
+ }
21
+ resolve(key, ...deps) {
22
+ return this.locator.resolve(key, ...deps);
23
+ }
24
+ }
25
+ //# sourceMappingURL=ContextServiceLocator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextServiceLocator.js","sourceRoot":"","sources":["../../../lib/features/context/ContextServiceLocator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAmB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,qBAAqB;IAC9B,YACY,OAAwB,EACxB,iBAAwD,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC;QADhG,YAAO,GAAP,OAAO,CAAiB;QACxB,mBAAc,GAAd,cAAc,CAAkF;IACzG,CAAC;IAEJ,aAAa,CAAI,OAAU;QACvB,OAAO,IAAI,qBAAqB,CAC5B,IAAI,CAAC,OAAO;aACP,aAAa,EAAE;aACf,QAAQ,CAAC,kBAAkB,EAAE,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAC3G,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAI,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,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;CACJ"}
@@ -0,0 +1,5 @@
1
+ export declare const ILocatorContextKey: unique symbol;
2
+ export interface ILocatorContext<T> {
3
+ getValue(): T;
4
+ }
5
+ //# sourceMappingURL=ILocatorContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,eAAgC,CAAC;AAChE,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,IAAI,CAAC,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export const ILocatorContextKey = Symbol.for('ILocatorContext');
2
+ //# sourceMappingURL=ILocatorContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/ILocatorContext.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ILocatorContext } from './ILocatorContext';
2
+ export declare class LocatorContext<T> implements ILocatorContext<T> {
3
+ private value;
4
+ constructor(value: T);
5
+ getValue(): T;
6
+ }
7
+ //# sourceMappingURL=LocatorContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocatorContext.d.ts","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,CAAC;IAE5B,QAAQ,IAAI,CAAC;CAGhB"}
@@ -0,0 +1,9 @@
1
+ export class LocatorContext {
2
+ constructor(value) {
3
+ this.value = value;
4
+ }
5
+ getValue() {
6
+ return this.value;
7
+ }
8
+ }
9
+ //# sourceMappingURL=LocatorContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocatorContext.js","sourceRoot":"","sources":["../../../lib/features/context/LocatorContext.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IACvB,YAAoB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEhC,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ"}
package/esm/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { HookedProvider } from './features/instanceHook/HookedProvider';
2
- import { HookedInjector } from './features/instanceHook/HookedInjector';
3
1
  export { IMockProviderStorage } from './features/mock/IMockProviderStorage';
4
2
  export { MockProvider } from './features/mock/MockProvider';
5
3
  export { MockProviderStorage } from './features/mock/MockProviderStorage';
@@ -35,13 +33,7 @@ export { ProviderBuilder } from './features/ProviderBuilder';
35
33
  export { IocLocatorBuilder } from './features/ioc/IocLocatorBuilder';
36
34
  export { SimpleLocatorBuilder } from './features/simple/SimpleLocatorBuilder';
37
35
  export { emptyHook } from './features/instanceHook/emptyHook';
38
- export { HookServiceLocator } from './features/HookServiceLocator';
39
- /**
40
- * @deprecated Use HookedProvider
41
- */
42
- export declare const InstanceHookProvider: typeof HookedProvider;
43
- /**
44
- * @deprecated Use HookedInjector
45
- */
46
- export declare const InstanceHookInjector: typeof HookedInjector;
36
+ export { ContextServiceLocator } from './features/context/ContextServiceLocator';
37
+ export { ILocatorContext } from './features/context/ILocatorContext';
38
+ export { LocatorContext } from './features/context/LocatorContext';
47
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,oBAAoB,uBAAiB,CAAC;AACnD;;GAEG;AACH,eAAO,MAAM,oBAAoB,uBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
package/esm/index.js CHANGED
@@ -1,5 +1,3 @@
1
- import { HookedProvider } from './features/instanceHook/HookedProvider';
2
- import { HookedInjector } from './features/instanceHook/HookedInjector';
3
1
  export { MockProvider } from './features/mock/MockProvider';
4
2
  export { MockProviderStorage } from './features/mock/MockProviderStorage';
5
3
  export { VendorMockProviderStorage } from './features/mock/VendorMockProviderStorage';
@@ -23,13 +21,6 @@ export { ProviderBuilder } from './features/ProviderBuilder';
23
21
  export { IocLocatorBuilder } from './features/ioc/IocLocatorBuilder';
24
22
  export { SimpleLocatorBuilder } from './features/simple/SimpleLocatorBuilder';
25
23
  export { emptyHook } from './features/instanceHook/emptyHook';
26
- export { HookServiceLocator } from './features/HookServiceLocator';
27
- /**
28
- * @deprecated Use HookedProvider
29
- */
30
- export const InstanceHookProvider = HookedProvider;
31
- /**
32
- * @deprecated Use HookedInjector
33
- */
34
- export const InstanceHookInjector = HookedInjector;
24
+ export { ContextServiceLocator } from './features/context/ContextServiceLocator';
25
+ export { LocatorContext } from './features/context/LocatorContext';
35
26
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAGtF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AACnD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAGtF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "6.22.2",
3
+ "version": "6.23.0",
4
4
  "description": "Typescript IoC container",
5
5
  "author": "ibabkin <ibabkin@goodgamestudios.com>",
6
6
  "homepage": "https://github.com/IgorBabkin/service-locator",
@@ -1,18 +0,0 @@
1
- import { InjectionToken, IServiceLocator } from '../core/IServiceLocator';
2
- import { IProvider, ProviderKey } from '../core/providers/IProvider';
3
- export interface IServiceLocatorHook {
4
- onBeforeRegister<T>(provider: IProvider<T>): IProvider<T>;
5
- }
6
- /**
7
- * @deprecated Use ProviderBuilder.withHook() for hooks
8
- */
9
- export declare class HookServiceLocator implements IServiceLocator {
10
- private readonly decorated;
11
- private readonly hook;
12
- constructor(decorated: IServiceLocator, hook: IServiceLocatorHook);
13
- createLocator(): IServiceLocator;
14
- dispose(): void;
15
- register<T>(key: ProviderKey, provider: IProvider<T>): this;
16
- resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
17
- }
18
- //# sourceMappingURL=HookServiceLocator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HookServiceLocator.d.ts","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAmB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAjD,SAAS,EAAE,eAAe,EAAmB,IAAI,EAAE,mBAAmB;IAEnG,aAAa,IAAI,eAAe;IAIhC,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.HookServiceLocator = void 0;
29
- /**
30
- * @deprecated Use ProviderBuilder.withHook() for hooks
31
- */
32
- var HookServiceLocator = /** @class */ (function () {
33
- function HookServiceLocator(decorated, hook) {
34
- this.decorated = decorated;
35
- this.hook = hook;
36
- }
37
- HookServiceLocator.prototype.createLocator = function () {
38
- return new HookServiceLocator(this.decorated.createLocator(), this.hook);
39
- };
40
- HookServiceLocator.prototype.dispose = function () {
41
- this.decorated.dispose();
42
- };
43
- HookServiceLocator.prototype.register = function (key, provider) {
44
- this.decorated.register(key, this.hook.onBeforeRegister(provider));
45
- return this;
46
- };
47
- HookServiceLocator.prototype.resolve = function (key) {
48
- var _a;
49
- var deps = [];
50
- for (var _i = 1; _i < arguments.length; _i++) {
51
- deps[_i - 1] = arguments[_i];
52
- }
53
- return (_a = this.decorated).resolve.apply(_a, __spreadArray([key], __read(deps), false));
54
- };
55
- return HookServiceLocator;
56
- }());
57
- exports.HookServiceLocator = HookServiceLocator;
58
- //# sourceMappingURL=HookServiceLocator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HookServiceLocator.js","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;GAEG;AACH;IACI,4BAA6B,SAA0B,EAAmB,IAAyB;QAAtE,cAAS,GAAT,SAAS,CAAiB;QAAmB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAEvG,0CAAa,GAAb;QACI,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,oCAAO,GAAP;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,qCAAQ,GAAR,UAAY,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,SAAS,CAAA,CAAC,OAAO,0BAAC,GAAG,UAAK,IAAI,WAAE;IAChD,CAAC;IACL,yBAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,gDAAkB"}
@@ -1,18 +0,0 @@
1
- import { InjectionToken, IServiceLocator } from '../core/IServiceLocator';
2
- import { IProvider, ProviderKey } from '../core/providers/IProvider';
3
- export interface IServiceLocatorHook {
4
- onBeforeRegister<T>(provider: IProvider<T>): IProvider<T>;
5
- }
6
- /**
7
- * @deprecated Use ProviderBuilder.withHook() for hooks
8
- */
9
- export declare class HookServiceLocator implements IServiceLocator {
10
- private readonly decorated;
11
- private readonly hook;
12
- constructor(decorated: IServiceLocator, hook: IServiceLocatorHook);
13
- createLocator(): IServiceLocator;
14
- dispose(): void;
15
- register<T>(key: ProviderKey, provider: IProvider<T>): this;
16
- resolve<T>(key: InjectionToken<T>, ...deps: any[]): T;
17
- }
18
- //# sourceMappingURL=HookServiceLocator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HookServiceLocator.d.ts","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAmB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAjD,SAAS,EAAE,eAAe,EAAmB,IAAI,EAAE,mBAAmB;IAEnG,aAAa,IAAI,eAAe;IAIhC,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;CAGxD"}
@@ -1,23 +0,0 @@
1
- /**
2
- * @deprecated Use ProviderBuilder.withHook() for hooks
3
- */
4
- export class HookServiceLocator {
5
- constructor(decorated, hook) {
6
- this.decorated = decorated;
7
- this.hook = hook;
8
- }
9
- createLocator() {
10
- return new HookServiceLocator(this.decorated.createLocator(), this.hook);
11
- }
12
- dispose() {
13
- this.decorated.dispose();
14
- }
15
- register(key, provider) {
16
- this.decorated.register(key, this.hook.onBeforeRegister(provider));
17
- return this;
18
- }
19
- resolve(key, ...deps) {
20
- return this.decorated.resolve(key, ...deps);
21
- }
22
- }
23
- //# sourceMappingURL=HookServiceLocator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HookServiceLocator.js","sourceRoot":"","sources":["../../lib/features/HookServiceLocator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC3B,YAA6B,SAA0B,EAAmB,IAAyB;QAAtE,cAAS,GAAT,SAAS,CAAiB;QAAmB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAEvG,aAAa;QACT,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAI,GAAgB,EAAE,QAAsB;QAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACJ"}