ts-ioc-container 25.0.9 → 25.0.11

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/container/Container.d.ts +4 -0
  2. package/cjm/container/Container.js +11 -8
  3. package/cjm/container/Container.js.map +1 -1
  4. package/esm/container/AutoMockedContainer.js +9 -5
  5. package/esm/container/AutoMockedContainer.js.map +1 -1
  6. package/esm/container/Container.d.ts +4 -0
  7. package/esm/container/Container.js +23 -16
  8. package/esm/container/Container.js.map +1 -1
  9. package/esm/container/ContainerDisposedError.js +5 -1
  10. package/esm/container/ContainerDisposedError.js.map +1 -1
  11. package/esm/container/DependencyNotFoundError.js +5 -1
  12. package/esm/container/DependencyNotFoundError.js.map +1 -1
  13. package/esm/container/EmptyContainer.js +14 -10
  14. package/esm/container/EmptyContainer.js.map +1 -1
  15. package/esm/container/IContainer.js +7 -2
  16. package/esm/container/IContainer.js.map +1 -1
  17. package/esm/container/MethodNotImplementedError.js +5 -1
  18. package/esm/container/MethodNotImplementedError.js.map +1 -1
  19. package/esm/hook.js +7 -2
  20. package/esm/hook.js.map +1 -1
  21. package/esm/index.js +44 -16
  22. package/esm/index.js.map +1 -1
  23. package/esm/injector/IInjector.js +2 -1
  24. package/esm/injector/ProxyInjector.js +5 -1
  25. package/esm/injector/ProxyInjector.js.map +1 -1
  26. package/esm/injector/ReflectionInjector.js +11 -5
  27. package/esm/injector/ReflectionInjector.js.map +1 -1
  28. package/esm/injector/SimpleInjector.js +5 -1
  29. package/esm/injector/SimpleInjector.js.map +1 -1
  30. package/esm/metadata.js +7 -2
  31. package/esm/metadata.js.map +1 -1
  32. package/esm/provider/ArgsProvider.js +10 -4
  33. package/esm/provider/ArgsProvider.js.map +1 -1
  34. package/esm/provider/IProvider.js +2 -1
  35. package/esm/provider/Provider.js +11 -6
  36. package/esm/provider/Provider.js.map +1 -1
  37. package/esm/provider/ProviderDecorator.js +7 -3
  38. package/esm/provider/ProviderDecorator.js.map +1 -1
  39. package/esm/provider/SingletonProvider.js +8 -3
  40. package/esm/provider/SingletonProvider.js.map +1 -1
  41. package/esm/provider/TaggedProvider.js +8 -3
  42. package/esm/provider/TaggedProvider.js.map +1 -1
  43. package/esm/registration/DependencyMissingKeyError.js +5 -1
  44. package/esm/registration/DependencyMissingKeyError.js.map +1 -1
  45. package/esm/registration/Registration.js +13 -8
  46. package/esm/registration/Registration.js.map +1 -1
  47. package/esm/utils.js +9 -3
  48. package/esm/utils.js.map +1 -1
  49. package/package.json +3 -4
@@ -20,6 +20,10 @@ export declare class Container implements IContainer, Tagged {
20
20
  getInstances(): unknown[];
21
21
  hasTag(tag: Tag): boolean;
22
22
  use(module: IContainerModule): this;
23
+ /**
24
+ * @private
25
+ */
26
+ cloneValidProvidersFrom(source: IContainer): void;
23
27
  /**
24
28
  * @private
25
29
  */
@@ -33,7 +33,7 @@ class Container {
33
33
  createScope(...tags) {
34
34
  this.validateContainer();
35
35
  const scope = new Container(this.injector, { parent: this, tags });
36
- cloneProviders(this, scope);
36
+ scope.cloneValidProvidersFrom(this);
37
37
  this.scopes.add(scope);
38
38
  return scope;
39
39
  }
@@ -62,6 +62,16 @@ class Container {
62
62
  module.applyTo(this);
63
63
  return this;
64
64
  }
65
+ /**
66
+ * @private
67
+ */
68
+ cloneValidProvidersFrom(source) {
69
+ for (const [key, provider] of source.getAllProviders()) {
70
+ if (provider.isValid(this)) {
71
+ this.providers.set(key, provider.clone());
72
+ }
73
+ }
74
+ }
65
75
  /**
66
76
  * @private
67
77
  */
@@ -79,11 +89,4 @@ class Container {
79
89
  }
80
90
  }
81
91
  exports.Container = Container;
82
- function cloneProviders(source, target) {
83
- for (const [key, provider] of source.getAllProviders()) {
84
- if (provider.isValid(target)) {
85
- target.register(key, provider.clone());
86
- }
87
- }
88
- }
89
92
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,24 @@
1
- import { MethodNotImplementedError, } from '../index';
2
- export class AutoMockedContainer {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoMockedContainer = void 0;
4
+ const index_1 = require("../index");
5
+ class AutoMockedContainer {
3
6
  createScope(...tags) {
4
- throw new MethodNotImplementedError();
7
+ throw new index_1.MethodNotImplementedError();
5
8
  }
6
9
  dispose() { }
7
10
  cloneAndImportProvidersFrom() {
8
11
  return new Map();
9
12
  }
10
13
  register(key, value) {
11
- throw new MethodNotImplementedError();
14
+ throw new index_1.MethodNotImplementedError();
12
15
  }
13
16
  getInstances() {
14
17
  return [];
15
18
  }
16
19
  removeScope() { }
17
20
  use(module) {
18
- throw new MethodNotImplementedError();
21
+ throw new index_1.MethodNotImplementedError();
19
22
  }
20
23
  getAllProviders() {
21
24
  return new Map();
@@ -24,4 +27,5 @@ export class AutoMockedContainer {
24
27
  return false;
25
28
  }
26
29
  }
30
+ exports.AutoMockedContainer = AutoMockedContainer;
27
31
  //# sourceMappingURL=AutoMockedContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoMockedContainer.js","sourceRoot":"","sources":["../../lib/container/AutoMockedContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,yBAAyB,GAI1B,MAAM,UAAU,CAAC;AAElB,MAAM,OAAgB,mBAAmB;IACvC,WAAW,CAAC,GAAG,IAAW;QACxB,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAID,OAAO,KAAU,CAAC;IAElB,2BAA2B;QACzB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,GAAkB,EAAE,KAAgB;QAC3C,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG,CAAC,MAAwB;QAC1B,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"AutoMockedContainer.js","sourceRoot":"","sources":["../../lib/container/AutoMockedContainer.ts"],"names":[],"mappings":";;;AAAA,oCAQkB;AAElB,MAAsB,mBAAmB;IACvC,WAAW,CAAC,GAAG,IAAW;QACxB,MAAM,IAAI,iCAAyB,EAAE,CAAC;IACxC,CAAC;IAID,OAAO,KAAU,CAAC;IAElB,2BAA2B;QACzB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,GAAkB,EAAE,KAAgB;QAC3C,MAAM,IAAI,iCAAyB,EAAE,CAAC;IACxC,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG,CAAC,MAAwB;QAC1B,MAAM,IAAI,iCAAyB,EAAE,CAAC;IACxC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAlCD,kDAkCC"}
@@ -20,6 +20,10 @@ export declare class Container implements IContainer, Tagged {
20
20
  getInstances(): unknown[];
21
21
  hasTag(tag: Tag): boolean;
22
22
  use(module: IContainerModule): this;
23
+ /**
24
+ * @private
25
+ */
26
+ cloneValidProvidersFrom(source: IContainer): void;
23
27
  /**
24
28
  * @private
25
29
  */
@@ -1,7 +1,10 @@
1
- import { isConstructor } from './IContainer';
2
- import { EmptyContainer } from './EmptyContainer';
3
- import { ContainerDisposedError } from './ContainerDisposedError';
4
- export class Container {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Container = void 0;
4
+ const IContainer_1 = require("./IContainer");
5
+ const EmptyContainer_1 = require("./EmptyContainer");
6
+ const ContainerDisposedError_1 = require("./ContainerDisposedError");
7
+ class Container {
5
8
  constructor(injector, options = {}) {
6
9
  var _a, _b;
7
10
  this.injector = injector;
@@ -9,7 +12,7 @@ export class Container {
9
12
  this.isDisposed = false;
10
13
  this.scopes = new Set();
11
14
  this.instances = new Set();
12
- this.parent = (_a = options.parent) !== null && _a !== void 0 ? _a : new EmptyContainer();
15
+ this.parent = (_a = options.parent) !== null && _a !== void 0 ? _a : new EmptyContainer_1.EmptyContainer();
13
16
  this.tags = (_b = options.tags) !== null && _b !== void 0 ? _b : [];
14
17
  }
15
18
  register(key, provider) {
@@ -19,7 +22,7 @@ export class Container {
19
22
  }
20
23
  resolve(token, ...args) {
21
24
  this.validateContainer();
22
- if (isConstructor(token)) {
25
+ if ((0, IContainer_1.isConstructor)(token)) {
23
26
  const instance = this.injector.resolve(this, token, ...args);
24
27
  this.instances.add(instance);
25
28
  return instance;
@@ -30,7 +33,7 @@ export class Container {
30
33
  createScope(...tags) {
31
34
  this.validateContainer();
32
35
  const scope = new Container(this.injector, { parent: this, tags });
33
- cloneProviders(this, scope);
36
+ scope.cloneValidProvidersFrom(this);
34
37
  this.scopes.add(scope);
35
38
  return scope;
36
39
  }
@@ -38,7 +41,7 @@ export class Container {
38
41
  this.validateContainer();
39
42
  this.isDisposed = true;
40
43
  this.parent.removeScope(this);
41
- this.parent = new EmptyContainer();
44
+ this.parent = new EmptyContainer_1.EmptyContainer();
42
45
  for (const scope of this.scopes) {
43
46
  scope.dispose();
44
47
  }
@@ -59,6 +62,16 @@ export class Container {
59
62
  module.applyTo(this);
60
63
  return this;
61
64
  }
65
+ /**
66
+ * @private
67
+ */
68
+ cloneValidProvidersFrom(source) {
69
+ for (const [key, provider] of source.getAllProviders()) {
70
+ if (provider.isValid(this)) {
71
+ this.providers.set(key, provider.clone());
72
+ }
73
+ }
74
+ }
62
75
  /**
63
76
  * @private
64
77
  */
@@ -72,14 +85,8 @@ export class Container {
72
85
  this.scopes.delete(child);
73
86
  }
74
87
  validateContainer() {
75
- ContainerDisposedError.assert(!this.isDisposed, 'Container is already disposed');
76
- }
77
- }
78
- function cloneProviders(source, target) {
79
- for (const [key, provider] of source.getAllProviders()) {
80
- if (provider.isValid(target)) {
81
- target.register(key, provider.clone());
82
- }
88
+ ContainerDisposedError_1.ContainerDisposedError.assert(!this.isDisposed, 'Container is already disposed');
83
89
  }
84
90
  }
91
+ exports.Container = Container;
85
92
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- export class ContainerDisposedError extends Error {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerDisposedError = void 0;
4
+ class ContainerDisposedError extends Error {
2
5
  constructor(message) {
3
6
  super(message);
4
7
  this.name = 'ContainerDisposedError';
@@ -10,4 +13,5 @@ export class ContainerDisposedError extends Error {
10
13
  }
11
14
  }
12
15
  }
16
+ exports.ContainerDisposedError = ContainerDisposedError;
13
17
  //# sourceMappingURL=ContainerDisposedError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAS/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,wBAAwB,CAAC;QAK9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAZD,MAAM,CAAC,MAAM,CAAC,MAAe,EAAE,WAAmB;QAChD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SAC/C;IACH,CAAC;CASF"}
1
+ {"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAuB,SAAQ,KAAK;IAS/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,wBAAwB,CAAC;QAK9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAZD,MAAM,CAAC,MAAM,CAAC,MAAe,EAAE,WAAmB;QAChD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SAC/C;IACH,CAAC;CASF;AAdD,wDAcC"}
@@ -1,8 +1,12 @@
1
- export class DependencyNotFoundError extends Error {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyNotFoundError = void 0;
4
+ class DependencyNotFoundError extends Error {
2
5
  constructor(message) {
3
6
  super(message);
4
7
  this.name = 'DependencyNotFoundError';
5
8
  Object.setPrototypeOf(this, DependencyNotFoundError.prototype);
6
9
  }
7
10
  }
11
+ exports.DependencyNotFoundError = DependencyNotFoundError;
8
12
  //# sourceMappingURL=DependencyNotFoundError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyNotFoundError.js","sourceRoot":"","sources":["../../lib/container/DependencyNotFoundError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAGhD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,yBAAyB,CAAC;QAK/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACF"}
1
+ {"version":3,"file":"DependencyNotFoundError.js","sourceRoot":"","sources":["../../lib/container/DependencyNotFoundError.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAwB,SAAQ,KAAK;IAGhD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,yBAAyB,CAAC;QAK/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACF;AARD,0DAQC"}
@@ -1,33 +1,37 @@
1
- import { MethodNotImplementedError } from './MethodNotImplementedError';
2
- import { DependencyNotFoundError } from './DependencyNotFoundError';
3
- export class EmptyContainer {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmptyContainer = void 0;
4
+ const MethodNotImplementedError_1 = require("./MethodNotImplementedError");
5
+ const DependencyNotFoundError_1 = require("./DependencyNotFoundError");
6
+ class EmptyContainer {
4
7
  hasTag(tag) {
5
- throw new MethodNotImplementedError();
8
+ throw new MethodNotImplementedError_1.MethodNotImplementedError();
6
9
  }
7
10
  createScope(...tags) {
8
- throw new MethodNotImplementedError();
11
+ throw new MethodNotImplementedError_1.MethodNotImplementedError();
9
12
  }
10
13
  dispose() {
11
- throw new MethodNotImplementedError();
14
+ throw new MethodNotImplementedError_1.MethodNotImplementedError();
12
15
  }
13
16
  register(key, value) {
14
- throw new MethodNotImplementedError();
17
+ throw new MethodNotImplementedError_1.MethodNotImplementedError();
15
18
  }
16
19
  resolve(key) {
17
- throw new DependencyNotFoundError(`Cannot find ${key.toString()}`);
20
+ throw new DependencyNotFoundError_1.DependencyNotFoundError(`Cannot find ${key.toString()}`);
18
21
  }
19
22
  getAllProviders() {
20
23
  return new Map();
21
24
  }
22
25
  cloneAndImportProvidersFrom() {
23
- throw new MethodNotImplementedError();
26
+ throw new MethodNotImplementedError_1.MethodNotImplementedError();
24
27
  }
25
28
  getInstances() {
26
29
  return [];
27
30
  }
28
31
  removeScope() { }
29
32
  use(module) {
30
- throw new MethodNotImplementedError();
33
+ throw new MethodNotImplementedError_1.MethodNotImplementedError();
31
34
  }
32
35
  }
36
+ exports.EmptyContainer = EmptyContainer;
33
37
  //# sourceMappingURL=EmptyContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyContainer.js","sourceRoot":"","sources":["../../lib/container/EmptyContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,GAAQ;QACb,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACxB,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO;QACL,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAkB,EAAE,KAAgB;QAC3C,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,CAAI,GAAsB;QAC/B,MAAM,IAAI,uBAAuB,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,2BAA2B;QACzB,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG,CAAC,MAAwB;QAC1B,MAAM,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"EmptyContainer.js","sourceRoot":"","sources":["../../lib/container/EmptyContainer.ts"],"names":[],"mappings":";;;AACA,2EAAwE;AACxE,uEAAoE;AAGpE,MAAa,cAAc;IACzB,MAAM,CAAC,GAAQ;QACb,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,GAAG,IAAW;QACxB,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO;QACL,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAkB,EAAE,KAAgB;QAC3C,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,CAAI,GAAsB;QAC/B,MAAM,IAAI,iDAAuB,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,2BAA2B;QACzB,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;IAED,YAAY;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG,CAAC,MAAwB;QAC1B,MAAM,IAAI,qDAAyB,EAAE,CAAC;IACxC,CAAC;CACF;AAtCD,wCAsCC"}
@@ -1,7 +1,12 @@
1
- export function isDependencyKey(token) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isConstructor = exports.isDependencyKey = void 0;
4
+ function isDependencyKey(token) {
2
5
  return ['string', 'symbol'].includes(typeof token);
3
6
  }
4
- export function isConstructor(token) {
7
+ exports.isDependencyKey = isDependencyKey;
8
+ function isConstructor(token) {
5
9
  return typeof token === 'function';
6
10
  }
11
+ exports.isConstructor = isConstructor;
7
12
  //# sourceMappingURL=IContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IContainer.js","sourceRoot":"","sources":["../../lib/container/IContainer.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,eAAe,CAAI,KAAwB;IACzD,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,KAAwB;IACvD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"IContainer.js","sourceRoot":"","sources":["../../lib/container/IContainer.ts"],"names":[],"mappings":";;;AAWA,SAAgB,eAAe,CAAI,KAAwB;IACzD,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AACrD,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa,CAAI,KAAwB;IACvD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAFD,sCAEC"}
@@ -1,8 +1,12 @@
1
- export class MethodNotImplementedError extends Error {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MethodNotImplementedError = void 0;
4
+ class MethodNotImplementedError extends Error {
2
5
  constructor(message) {
3
6
  super(message);
4
7
  this.name = 'MethodNotImplementedError';
5
8
  Object.setPrototypeOf(this, MethodNotImplementedError.prototype);
6
9
  }
7
10
  }
11
+ exports.MethodNotImplementedError = MethodNotImplementedError;
8
12
  //# sourceMappingURL=MethodNotImplementedError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MethodNotImplementedError.js","sourceRoot":"","sources":["../../lib/container/MethodNotImplementedError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAGlD,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,2BAA2B,CAAC;QAKjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"MethodNotImplementedError.js","sourceRoot":"","sources":["../../lib/container/MethodNotImplementedError.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;IAGlD,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,2BAA2B,CAAC;QAKjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF;AARD,8DAQC"}
package/esm/hook.js CHANGED
@@ -1,9 +1,14 @@
1
- export const hook = (key) => (target, propertyKey) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHooks = exports.hook = void 0;
4
+ const hook = (key) => (target, propertyKey) => {
2
5
  const hooks = Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target) : [];
3
6
  Reflect.defineMetadata(key, [...hooks, propertyKey], target.constructor); // eslint-disable-line @typescript-eslint/ban-types
4
7
  };
8
+ exports.hook = hook;
5
9
  // eslint-disable-next-line @typescript-eslint/ban-types
6
- export function getHooks(target, key) {
10
+ function getHooks(target, key) {
7
11
  return Reflect.hasMetadata(key, target.constructor) ? Reflect.getMetadata(key, target.constructor) : [];
8
12
  }
13
+ exports.getHooks = getHooks;
9
14
  //# sourceMappingURL=hook.js.map
package/esm/hook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../lib/hook.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,GAAoB,EAAmB,EAAE,CAC1C,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD;AAC/H,CAAC,CAAC;AAEJ,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,GAAoB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../lib/hook.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GACf,CAAC,GAAoB,EAAmB,EAAE,CAC1C,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD;AAC/H,CAAC,CAAC;AALS,QAAA,IAAI,QAKb;AAEJ,wDAAwD;AACxD,SAAgB,QAAQ,CAAC,MAAc,EAAE,GAAoB;IAC3D,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAFD,4BAEC"}
package/esm/index.js CHANGED
@@ -1,17 +1,45 @@
1
- export { isDependencyKey, } from './container/IContainer';
2
- export { Container } from './container/Container';
3
- export { DependencyNotFoundError } from './container/DependencyNotFoundError';
4
- export { MethodNotImplementedError } from './container/MethodNotImplementedError';
5
- export { ContainerDisposedError } from './container/ContainerDisposedError';
6
- export { Provider, provider } from './provider/Provider';
7
- export { argsFn, args, ArgsProvider } from './provider/ArgsProvider';
8
- export { singleton, SingletonProvider } from './provider/SingletonProvider';
9
- export { tags, TaggedProvider } from './provider/TaggedProvider';
10
- export { AutoMockedContainer } from './container/AutoMockedContainer';
11
- export { key, Registration } from './registration/Registration';
12
- export { DependencyMissingKeyError } from './registration/DependencyMissingKeyError';
13
- export { ReflectionInjector, inject, by } from './injector/ReflectionInjector';
14
- export { SimpleInjector } from './injector/SimpleInjector';
15
- export { ProxyInjector } from './injector/ProxyInjector';
16
- export { getHooks, hook } from './hook';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hook = exports.getHooks = exports.ProxyInjector = exports.SimpleInjector = exports.by = exports.inject = exports.ReflectionInjector = exports.DependencyMissingKeyError = exports.Registration = exports.key = exports.AutoMockedContainer = exports.TaggedProvider = exports.tags = exports.SingletonProvider = exports.singleton = exports.ArgsProvider = exports.args = exports.argsFn = exports.provider = exports.Provider = exports.ContainerDisposedError = exports.MethodNotImplementedError = exports.DependencyNotFoundError = exports.Container = exports.isDependencyKey = void 0;
4
+ var IContainer_1 = require("./container/IContainer");
5
+ Object.defineProperty(exports, "isDependencyKey", { enumerable: true, get: function () { return IContainer_1.isDependencyKey; } });
6
+ var Container_1 = require("./container/Container");
7
+ Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } });
8
+ var DependencyNotFoundError_1 = require("./container/DependencyNotFoundError");
9
+ Object.defineProperty(exports, "DependencyNotFoundError", { enumerable: true, get: function () { return DependencyNotFoundError_1.DependencyNotFoundError; } });
10
+ var MethodNotImplementedError_1 = require("./container/MethodNotImplementedError");
11
+ Object.defineProperty(exports, "MethodNotImplementedError", { enumerable: true, get: function () { return MethodNotImplementedError_1.MethodNotImplementedError; } });
12
+ var ContainerDisposedError_1 = require("./container/ContainerDisposedError");
13
+ Object.defineProperty(exports, "ContainerDisposedError", { enumerable: true, get: function () { return ContainerDisposedError_1.ContainerDisposedError; } });
14
+ var Provider_1 = require("./provider/Provider");
15
+ Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });
16
+ Object.defineProperty(exports, "provider", { enumerable: true, get: function () { return Provider_1.provider; } });
17
+ var ArgsProvider_1 = require("./provider/ArgsProvider");
18
+ Object.defineProperty(exports, "argsFn", { enumerable: true, get: function () { return ArgsProvider_1.argsFn; } });
19
+ Object.defineProperty(exports, "args", { enumerable: true, get: function () { return ArgsProvider_1.args; } });
20
+ Object.defineProperty(exports, "ArgsProvider", { enumerable: true, get: function () { return ArgsProvider_1.ArgsProvider; } });
21
+ var SingletonProvider_1 = require("./provider/SingletonProvider");
22
+ Object.defineProperty(exports, "singleton", { enumerable: true, get: function () { return SingletonProvider_1.singleton; } });
23
+ Object.defineProperty(exports, "SingletonProvider", { enumerable: true, get: function () { return SingletonProvider_1.SingletonProvider; } });
24
+ var TaggedProvider_1 = require("./provider/TaggedProvider");
25
+ Object.defineProperty(exports, "tags", { enumerable: true, get: function () { return TaggedProvider_1.tags; } });
26
+ Object.defineProperty(exports, "TaggedProvider", { enumerable: true, get: function () { return TaggedProvider_1.TaggedProvider; } });
27
+ var AutoMockedContainer_1 = require("./container/AutoMockedContainer");
28
+ Object.defineProperty(exports, "AutoMockedContainer", { enumerable: true, get: function () { return AutoMockedContainer_1.AutoMockedContainer; } });
29
+ var Registration_1 = require("./registration/Registration");
30
+ Object.defineProperty(exports, "key", { enumerable: true, get: function () { return Registration_1.key; } });
31
+ Object.defineProperty(exports, "Registration", { enumerable: true, get: function () { return Registration_1.Registration; } });
32
+ var DependencyMissingKeyError_1 = require("./registration/DependencyMissingKeyError");
33
+ Object.defineProperty(exports, "DependencyMissingKeyError", { enumerable: true, get: function () { return DependencyMissingKeyError_1.DependencyMissingKeyError; } });
34
+ var ReflectionInjector_1 = require("./injector/ReflectionInjector");
35
+ Object.defineProperty(exports, "ReflectionInjector", { enumerable: true, get: function () { return ReflectionInjector_1.ReflectionInjector; } });
36
+ Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return ReflectionInjector_1.inject; } });
37
+ Object.defineProperty(exports, "by", { enumerable: true, get: function () { return ReflectionInjector_1.by; } });
38
+ var SimpleInjector_1 = require("./injector/SimpleInjector");
39
+ Object.defineProperty(exports, "SimpleInjector", { enumerable: true, get: function () { return SimpleInjector_1.SimpleInjector; } });
40
+ var ProxyInjector_1 = require("./injector/ProxyInjector");
41
+ Object.defineProperty(exports, "ProxyInjector", { enumerable: true, get: function () { return ProxyInjector_1.ProxyInjector; } });
42
+ var hook_1 = require("./hook");
43
+ Object.defineProperty(exports, "getHooks", { enumerable: true, get: function () { return hook_1.getHooks; } });
44
+ Object.defineProperty(exports, "hook", { enumerable: true, get: function () { return hook_1.hook; } });
17
45
  //# 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,EAIL,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAU,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,qDAQgC;AAJ9B,6GAAA,eAAe,OAAA;AAMjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAGlB,+EAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAChC,mFAAkF;AAAzE,sIAAA,yBAAyB,OAAA;AAClC,6EAA4E;AAAnE,gIAAA,sBAAsB,OAAA;AAC/B,gDAAyD;AAAhD,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,wDAA6E;AAA5D,sGAAA,MAAM,OAAA;AAAE,oGAAA,IAAI,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC3C,kEAA4E;AAAnE,8GAAA,SAAS,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AACrC,4DAAiE;AAAxD,sGAAA,IAAI,OAAA;AAAE,gHAAA,cAAc,OAAA;AAC7B,uEAAsE;AAA7D,0HAAA,mBAAmB,OAAA;AAC5B,4DAAgE;AAAvD,mGAAA,GAAG,OAAA;AAAE,4GAAA,YAAY,OAAA;AAC1B,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,oEAA+E;AAAtE,wHAAA,kBAAkB,OAAA;AAAE,4GAAA,MAAM,OAAA;AAAE,wGAAA,EAAE,OAAA;AACvC,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,gGAAA,QAAQ,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=IInjector.js.map
@@ -1,9 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProxyInjector = void 0;
1
4
  // eslint-disable-next-line @typescript-eslint/ban-types
2
5
  function getProp(target, key) {
3
6
  // @ts-ignore
4
7
  return target[key];
5
8
  }
6
- export class ProxyInjector {
9
+ class ProxyInjector {
7
10
  // eslint-disable-next-line @typescript-eslint/ban-types
8
11
  resolve(container, Target, ...deps) {
9
12
  const args = deps.reduce((acc, it) => (Object.assign(Object.assign({}, acc), it)), {});
@@ -17,4 +20,5 @@ export class ProxyInjector {
17
20
  return new Target(proxy);
18
21
  }
19
22
  }
23
+ exports.ProxyInjector = ProxyInjector;
20
24
  //# sourceMappingURL=ProxyInjector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyInjector.js","sourceRoot":"","sources":["../../lib/injector/ProxyInjector.ts"],"names":[],"mappings":"AAIA,wDAAwD;AACxD,SAAS,OAAO,CAAC,MAAc,EAAE,GAAoB;IACnD,aAAa;IACb,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,aAAa;IACxB,wDAAwD;IACxD,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAc;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,iCAAM,GAAG,GAAK,EAAE,EAAG,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,EAAE,EACF;YACE,wDAAwD;YACxD,GAAG,CAAC,MAAU,EAAE,IAAqB;gBACnC,iDAAiD;gBACjD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnF,CAAC;SACF,CACF,CAAC;QACF,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"ProxyInjector.js","sourceRoot":"","sources":["../../lib/injector/ProxyInjector.ts"],"names":[],"mappings":";;;AAIA,wDAAwD;AACxD,SAAS,OAAO,CAAC,MAAc,EAAE,GAAoB;IACnD,aAAa;IACb,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,MAAa,aAAa;IACxB,wDAAwD;IACxD,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAc;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,iCAAM,GAAG,GAAK,EAAE,EAAG,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,EAAE,EACF;YACE,wDAAwD;YACxD,GAAG,CAAC,MAAU,EAAE,IAAqB;gBACnC,iDAAiD;gBACjD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnF,CAAC;SACF,CACF,CAAC;QACF,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF;AAhBD,sCAgBC"}
@@ -1,18 +1,24 @@
1
- import { constant, merge } from '../utils';
2
- export const by = (key, ...args) => (c) => c.resolve(key, ...args);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReflectionInjector = exports.inject = exports.by = void 0;
4
+ const utils_1 = require("../utils");
5
+ const by = (key, ...args) => (c) => c.resolve(key, ...args);
6
+ exports.by = by;
3
7
  const INJECT_KEY = 'INJECT_FN_LIST';
4
- export const inject = (value) => (target, propertyKey, parameterIndex) => {
8
+ const inject = (value) => (target, propertyKey, parameterIndex) => {
5
9
  var _a;
6
10
  const metadata = (_a = Reflect.getOwnMetadata(INJECT_KEY, target)) !== null && _a !== void 0 ? _a : [];
7
11
  metadata[parameterIndex] = value;
8
12
  Reflect.defineMetadata(INJECT_KEY, metadata, target);
9
13
  };
10
- export class ReflectionInjector {
14
+ exports.inject = inject;
15
+ class ReflectionInjector {
11
16
  resolve(container, Target, ...deps) {
12
17
  var _a;
13
18
  const injectionFns = (_a = Reflect.getOwnMetadata(INJECT_KEY, Target)) !== null && _a !== void 0 ? _a : [];
14
- const args = merge(injectionFns, deps.map(constant)).map((fn) => fn(container));
19
+ const args = (0, utils_1.merge)(injectionFns, deps.map(utils_1.constant)).map((fn) => fn(container));
15
20
  return new Target(...args);
16
21
  }
17
22
  }
23
+ exports.ReflectionInjector = ReflectionInjector;
18
24
  //# sourceMappingURL=ReflectionInjector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,KAAK,EAAE,MAAM,UAAU,CAAC;AAIxD,MAAM,CAAC,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAEJ,MAAM,OAAO,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"ReflectionInjector.js","sourceRoot":"","sources":["../../lib/injector/ReflectionInjector.ts"],"names":[],"mappings":";;;AAEA,oCAAwD;AAIjD,MAAM,EAAE,GACb,CAAI,GAAsB,EAAE,GAAG,IAAe,EAAE,EAAE,CAClD,CAAC,CAAa,EAAE,EAAE,CAChB,CAAC,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAHlB,QAAA,EAAE,MAGgB;AAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE7B,MAAM,MAAM,GACjB,CAAC,KAAe,EAAsB,EAAE,CACxC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;;IACtC,MAAM,QAAQ,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;IAC9E,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,MAAa,kBAAkB;IAC7B,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;;QAC1E,MAAM,YAAY,GAAe,MAAA,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAND,gDAMC"}
@@ -1,6 +1,10 @@
1
- export class SimpleInjector {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimpleInjector = void 0;
4
+ class SimpleInjector {
2
5
  resolve(container, Target, ...deps) {
3
6
  return new Target(container, ...deps);
4
7
  }
5
8
  }
9
+ exports.SimpleInjector = SimpleInjector;
6
10
  //# sourceMappingURL=SimpleInjector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleInjector.js","sourceRoot":"","sources":["../../lib/injector/SimpleInjector.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,cAAc;IACzB,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;QAC1E,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"SimpleInjector.js","sourceRoot":"","sources":["../../lib/injector/SimpleInjector.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IACzB,OAAO,CAAI,SAAqB,EAAE,MAAsB,EAAE,GAAG,IAAe;QAC1E,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,wCAIC"}
package/esm/metadata.js CHANGED
@@ -1,8 +1,13 @@
1
- export const setMetadata = (key, value) => (target) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMetadata = exports.setMetadata = void 0;
4
+ const setMetadata = (key, value) => (target) => {
2
5
  Reflect.defineMetadata(key, value, target);
3
6
  };
7
+ exports.setMetadata = setMetadata;
4
8
  // eslint-disable-next-line @typescript-eslint/ban-types
5
- export function getMetadata(target, key) {
9
+ function getMetadata(target, key) {
6
10
  return Reflect.getOwnMetadata(key, target);
7
11
  }
12
+ exports.getMetadata = getMetadata;
8
13
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../lib/metadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GACtB,CAAI,GAAoB,EAAE,KAAQ,EAAkB,EAAE,CACtD,CAAC,MAAM,EAAE,EAAE;IACT,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEJ,wDAAwD;AACxD,MAAM,UAAU,WAAW,CAAI,MAAc,EAAE,GAAoB;IACjE,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAM,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../lib/metadata.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GACtB,CAAI,GAAoB,EAAE,KAAQ,EAAkB,EAAE,CACtD,CAAC,MAAM,EAAE,EAAE;IACT,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAJS,QAAA,WAAW,eAIpB;AAEJ,wDAAwD;AACxD,SAAgB,WAAW,CAAI,MAAc,EAAE,GAAoB;IACjE,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAM,CAAC;AAClD,CAAC;AAFD,kCAEC"}
@@ -1,11 +1,16 @@
1
- import { ProviderDecorator } from './ProviderDecorator';
2
- export function args(...extraArgs) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArgsProvider = exports.argsFn = exports.args = void 0;
4
+ const ProviderDecorator_1 = require("./ProviderDecorator");
5
+ function args(...extraArgs) {
3
6
  return (provider) => new ArgsProvider(provider, () => extraArgs);
4
7
  }
5
- export function argsFn(value) {
8
+ exports.args = args;
9
+ function argsFn(value) {
6
10
  return (provider) => new ArgsProvider(provider, value);
7
11
  }
8
- export class ArgsProvider extends ProviderDecorator {
12
+ exports.argsFn = argsFn;
13
+ class ArgsProvider extends ProviderDecorator_1.ProviderDecorator {
9
14
  constructor(provider, argsFn) {
10
15
  super(provider);
11
16
  this.provider = provider;
@@ -18,4 +23,5 @@ export class ArgsProvider extends ProviderDecorator {
18
23
  return new ArgsProvider(this.provider.clone(), this.argsFn);
19
24
  }
20
25
  }
26
+ exports.ArgsProvider = ArgsProvider;
21
27
  //# sourceMappingURL=ArgsProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,UAAU,IAAI,CAAc,GAAG,SAAoB;IACvD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,MAAM,CAAc,KAAa;IAC/C,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,OAAO,YAAgB,SAAQ,iBAAoB;IACvD,YAAoB,QAAsB,EAAU,MAAc;QAChE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../lib/provider/ArgsProvider.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAOxD,SAAgB,IAAI,CAAc,GAAG,SAAoB;IACvD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAFD,oBAEC;AAED,SAAgB,MAAM,CAAc,KAAa;IAC/C,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAFD,wBAEC;AAED,MAAa,YAAgB,SAAQ,qCAAoB;IACvD,YAAoB,QAAsB,EAAU,MAAc;QAChE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF;AAZD,oCAYC"}
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=IProvider.js.map
@@ -1,21 +1,25 @@
1
- import { pipe } from '../utils';
2
- import { getMetadata, setMetadata } from '../metadata';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Provider = exports.provider = void 0;
4
+ const utils_1 = require("../utils");
5
+ const metadata_1 = require("../metadata");
3
6
  const PROVIDER_KEY = 'provider';
4
- export const provider = (...mappers) => setMetadata(PROVIDER_KEY, mappers);
5
- export class Provider {
7
+ const provider = (...mappers) => (0, metadata_1.setMetadata)(PROVIDER_KEY, mappers);
8
+ exports.provider = provider;
9
+ class Provider {
6
10
  constructor(resolveDependency) {
7
11
  this.resolveDependency = resolveDependency;
8
12
  }
9
13
  static fromClass(Target) {
10
14
  var _a;
11
- const mappers = (_a = getMetadata(Target, PROVIDER_KEY)) !== null && _a !== void 0 ? _a : [];
15
+ const mappers = (_a = (0, metadata_1.getMetadata)(Target, PROVIDER_KEY)) !== null && _a !== void 0 ? _a : [];
12
16
  return new Provider((container, ...args) => container.resolve(Target, ...args)).pipe(...mappers);
13
17
  }
14
18
  static fromValue(value) {
15
19
  return new Provider(() => value);
16
20
  }
17
21
  pipe(...mappers) {
18
- return pipe(...mappers)(this);
22
+ return (0, utils_1.pipe)(...mappers)(this);
19
23
  }
20
24
  clone() {
21
25
  return new Provider(this.resolveDependency);
@@ -27,4 +31,5 @@ export class Provider {
27
31
  return true;
28
32
  }
29
33
  }
34
+ exports.Provider = Provider;
30
35
  //# sourceMappingURL=Provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,IAAI,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,OAA2B,EAAkB,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAE/G,MAAM,OAAO,QAAQ;IAUnB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IATxE,MAAM,CAAC,SAAS,CAAI,MAAsB;;QACxC,MAAM,OAAO,GAAG,MAAA,WAAW,CAAwB,MAAM,EAAE,YAAY,CAAC,mCAAI,EAAE,CAAC;QAC/E,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC1B,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../lib/provider/Provider.ts"],"names":[],"mappings":";;;AAEA,oCAAoD;AACpD,0CAAuD;AAEvD,MAAM,YAAY,GAAG,UAAU,CAAC;AAEzB,MAAM,QAAQ,GAAG,CAAC,GAAG,OAA2B,EAAkB,EAAE,CAAC,IAAA,sBAAW,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAAlG,QAAA,QAAQ,YAA0F;AAE/G,MAAa,QAAQ;IAUnB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IATxE,MAAM,CAAC,SAAS,CAAI,MAAsB;;QACxC,MAAM,OAAO,GAAG,MAAA,IAAA,sBAAW,EAAwB,MAAM,EAAE,YAAY,CAAC,mCAAI,EAAE,CAAC;QAC/E,OAAO,IAAI,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC1B,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAID,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAA,YAAI,EAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3BD,4BA2BC"}
@@ -1,5 +1,8 @@
1
- import { pipe } from '../utils';
2
- export class ProviderDecorator {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderDecorator = void 0;
4
+ const utils_1 = require("../utils");
5
+ class ProviderDecorator {
3
6
  constructor(decorated) {
4
7
  this.decorated = decorated;
5
8
  }
@@ -10,7 +13,8 @@ export class ProviderDecorator {
10
13
  return this.decorated.resolve(container, ...args);
11
14
  }
12
15
  pipe(...mappers) {
13
- return pipe(...mappers)(this);
16
+ return (0, utils_1.pipe)(...mappers)(this);
14
17
  }
15
18
  }
19
+ exports.ProviderDecorator = ProviderDecorator;
16
20
  //# sourceMappingURL=ProviderDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,IAAI,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,OAAgB,iBAAiB;IACrC,YAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAIzD,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAW;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"ProviderDecorator.js","sourceRoot":"","sources":["../../lib/provider/ProviderDecorator.ts"],"names":[],"mappings":";;;AAEA,oCAAuC;AAEvC,MAAsB,iBAAiB;IACrC,YAA8B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAIzD,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAW;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,GAAG,OAA8B;QACpC,OAAO,IAAA,YAAI,EAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAhBD,8CAgBC"}
@@ -1,8 +1,12 @@
1
- import { ProviderDecorator } from './ProviderDecorator';
2
- export function singleton() {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SingletonProvider = exports.singleton = void 0;
4
+ const ProviderDecorator_1 = require("./ProviderDecorator");
5
+ function singleton() {
3
6
  return (provider) => new SingletonProvider(provider);
4
7
  }
5
- export class SingletonProvider extends ProviderDecorator {
8
+ exports.singleton = singleton;
9
+ class SingletonProvider extends ProviderDecorator_1.ProviderDecorator {
6
10
  constructor(provider) {
7
11
  super(provider);
8
12
  this.provider = provider;
@@ -16,4 +20,5 @@ export class SingletonProvider extends ProviderDecorator {
16
20
  return this.instance.value;
17
21
  }
18
22
  }
23
+ exports.SingletonProvider = SingletonProvider;
19
24
  //# sourceMappingURL=SingletonProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,OAAO,iBAAqB,SAAQ,iBAAoB;IAG5D,YAA6B,QAAsB;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAc;IAEnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"SingletonProvider.js","sourceRoot":"","sources":["../../lib/provider/SingletonProvider.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAMxD,SAAgB,SAAS;IACvB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAFD,8BAEC;AAED,MAAa,iBAAqB,SAAQ,qCAAoB;IAG5D,YAA6B,QAAsB;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADW,aAAQ,GAAR,QAAQ,CAAc;IAEnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,SAAqB,EAAE,GAAG,IAAe;;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAfD,8CAeC"}
@@ -1,8 +1,12 @@
1
- import { ProviderDecorator } from './ProviderDecorator';
2
- export function tags(...values) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaggedProvider = exports.tags = void 0;
4
+ const ProviderDecorator_1 = require("./ProviderDecorator");
5
+ function tags(...values) {
3
6
  return (provider) => new TaggedProvider(provider, values);
4
7
  }
5
- export class TaggedProvider extends ProviderDecorator {
8
+ exports.tags = tags;
9
+ class TaggedProvider extends ProviderDecorator_1.ProviderDecorator {
6
10
  constructor(provider, tags) {
7
11
  super(provider);
8
12
  this.provider = provider;
@@ -15,4 +19,5 @@ export class TaggedProvider extends ProviderDecorator {
15
19
  return this.tags.some((t) => filters.hasTag(t)) && this.provider.isValid(filters);
16
20
  }
17
21
  }
22
+ exports.TaggedProvider = TaggedProvider;
18
23
  //# sourceMappingURL=TaggedProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaggedProvider.js","sourceRoot":"","sources":["../../lib/provider/TaggedProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,UAAU,IAAI,CAAc,GAAG,MAAa;IAChD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,OAAO,cAAkB,SAAQ,iBAAoB;IACzD,YAAoB,QAAsB,EAAmB,IAAW;QACtE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,SAAI,GAAJ,IAAI,CAAO;IAExE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;CACF"}
1
+ {"version":3,"file":"TaggedProvider.js","sourceRoot":"","sources":["../../lib/provider/TaggedProvider.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AAIxD,SAAgB,IAAI,CAAc,GAAG,MAAa;IAChD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAFD,oBAEC;AAED,MAAa,cAAkB,SAAQ,qCAAoB;IACzD,YAAoB,QAAsB,EAAmB,IAAW;QACtE,KAAK,CAAC,QAAQ,CAAC,CAAC;QADE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,SAAI,GAAJ,IAAI,CAAO;IAExE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;CACF;AAZD,wCAYC"}
@@ -1,8 +1,12 @@
1
- export class DependencyMissingKeyError extends Error {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyMissingKeyError = void 0;
4
+ class DependencyMissingKeyError extends Error {
2
5
  constructor(message) {
3
6
  super(message);
4
7
  this.name = 'DependencyMissingKeyError';
5
8
  Object.setPrototypeOf(this, DependencyMissingKeyError.prototype);
6
9
  }
7
10
  }
11
+ exports.DependencyMissingKeyError = DependencyMissingKeyError;
8
12
  //# sourceMappingURL=DependencyMissingKeyError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyMissingKeyError.js","sourceRoot":"","sources":["../../lib/registration/DependencyMissingKeyError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAGlD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,2BAA2B,CAAC;QAKjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"DependencyMissingKeyError.js","sourceRoot":"","sources":["../../lib/registration/DependencyMissingKeyError.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;IAGlD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHjB,SAAI,GAAG,2BAA2B,CAAC;QAKjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF;AARD,8DAQC"}
@@ -1,19 +1,23 @@
1
- import { DependencyMissingKeyError } from './DependencyMissingKeyError';
2
- import { getMetadata, setMetadata } from '../metadata';
3
- import { Provider } from '../provider/Provider';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Registration = exports.key = void 0;
4
+ const DependencyMissingKeyError_1 = require("./DependencyMissingKeyError");
5
+ const metadata_1 = require("../metadata");
6
+ const Provider_1 = require("../provider/Provider");
4
7
  const DEPENDENCY_KEY = 'DependencyKey';
5
- export const key = (value) => setMetadata(DEPENDENCY_KEY, value);
6
- export class Registration {
8
+ const key = (value) => (0, metadata_1.setMetadata)(DEPENDENCY_KEY, value);
9
+ exports.key = key;
10
+ class Registration {
7
11
  constructor(key, provider) {
8
12
  this.key = key;
9
13
  this.provider = provider;
10
14
  }
11
15
  static fromClass(Target) {
12
- const dependencyKey = getMetadata(Target, DEPENDENCY_KEY);
16
+ const dependencyKey = (0, metadata_1.getMetadata)(Target, DEPENDENCY_KEY);
13
17
  if (dependencyKey === undefined) {
14
- throw new DependencyMissingKeyError(`Pls provide dependency key for ${Target.name}`);
18
+ throw new DependencyMissingKeyError_1.DependencyMissingKeyError(`Pls provide dependency key for ${Target.name}`);
15
19
  }
16
- return new Registration(dependencyKey, Provider.fromClass(Target));
20
+ return new Registration(dependencyKey, Provider_1.Provider.fromClass(Target));
17
21
  }
18
22
  pipe(...mappers) {
19
23
  this.provider = this.provider.pipe(...mappers);
@@ -23,4 +27,5 @@ export class Registration {
23
27
  container.register(this.key, this.provider);
24
28
  }
25
29
  }
30
+ exports.Registration = Registration;
26
31
  //# sourceMappingURL=Registration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAEhG,MAAM,OAAO,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,WAAW,CAAgB,MAAM,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,yBAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"Registration.js","sourceRoot":"","sources":["../../lib/registration/Registration.ts"],"names":[],"mappings":";;;AAAA,2EAAwE;AAGxE,0CAAuD;AACvD,mDAAgD;AAGhD,MAAM,cAAc,GAAG,eAAe,CAAC;AAEhC,MAAM,GAAG,GAAG,CAAC,KAAoB,EAAkB,EAAE,CAAC,IAAA,sBAAW,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAAnF,QAAA,GAAG,OAAgF;AAEhG,MAAa,YAAY;IASvB,YAAoB,GAAkB,EAAU,QAAmB;QAA/C,QAAG,GAAH,GAAG,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IARvE,MAAM,CAAC,SAAS,CAAC,MAA4B;QAC3C,MAAM,aAAa,GAAG,IAAA,sBAAW,EAAgB,MAAM,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,qDAAyB,CAAC,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,mBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAID,IAAI,CAAC,GAAG,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,SAAqB;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AAnBD,oCAmBC"}
package/esm/utils.js CHANGED
@@ -1,7 +1,11 @@
1
- export function pipe(...mappers) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constant = exports.merge = exports.pipe = void 0;
4
+ function pipe(...mappers) {
2
5
  return (value) => mappers.reduce((acc, current) => current(acc), value);
3
6
  }
4
- export function merge(baseArr, insertArr) {
7
+ exports.pipe = pipe;
8
+ function merge(baseArr, insertArr) {
5
9
  if (baseArr.length === 0) {
6
10
  return insertArr;
7
11
  }
@@ -14,5 +18,7 @@ export function merge(baseArr, insertArr) {
14
18
  ? [i1].concat(merge(restBaseArr, restInsertArr))
15
19
  : [b1].concat(merge(restBaseArr, insertArr));
16
20
  }
17
- export const constant = (value) => () => value;
21
+ exports.merge = merge;
22
+ const constant = (value) => () => value;
23
+ exports.constant = constant;
18
24
  //# sourceMappingURL=utils.js.map
package/esm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,IAAI,CAAI,GAAG,OAAmB;IAC5C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,OAA0B,EAAE,SAAc;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,OAAc,CAAC;KACvB;IACD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,KAAK,SAAS;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,EAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAI,KAAQ,EAAE,EAAE,CAChB,GAAG,EAAE,CACH,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,IAAI,CAAI,GAAG,OAAmB;IAC5C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAFD,oBAEC;AAED,SAAgB,KAAK,CAAI,OAA0B,EAAE,SAAc;IACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,OAAc,CAAC;KACvB;IACD,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,KAAK,SAAS;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,EAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAbD,sBAaC;AAEM,MAAM,QAAQ,GACnB,CAAI,KAAQ,EAAE,EAAE,CAChB,GAAG,EAAE,CACH,KAAK,CAAC;AAHG,QAAA,QAAQ,YAGX"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "25.0.9",
3
+ "version": "25.0.11",
4
4
  "description": "Typescript IoC container",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -10,7 +10,6 @@
10
10
  "homepage": "https://github.com/IgorBabkin/ts-ioc-container/tree/master/packages/ts-ioc-container",
11
11
  "license": "ISC",
12
12
  "sideEffects": false,
13
- "type": "module",
14
13
  "main": "cjm/index.js",
15
14
  "types": "esm/index.d.ts",
16
15
  "module": "esm/index.js",
@@ -40,7 +39,7 @@
40
39
  "scripts": {
41
40
  "build:cjm": "rimraf cjm && tsc -p tsconfig.production.json --outDir cjm --module CommonJS",
42
41
  "build:esm": "rimraf esm && tsc -p tsconfig.production.json --outDir esm",
43
- "build:readme": "ts-node --esm scripts/generateReadme/generateReadme.ts",
42
+ "build:readme": "ts-node scripts/generateReadme/generateReadme.ts",
44
43
  "build": "npm run build:cjm && npm run build:esm && npm run build:readme",
45
44
  "coverage": "coveralls",
46
45
  "watch": "nodemon --watch ./lib --exec npm run build",
@@ -59,5 +58,5 @@
59
58
  "ts-node": "^10.9.1",
60
59
  "typescript": "4.4.3"
61
60
  },
62
- "gitHead": "bfab7a1a7e3f4fac362e02a711ba016c35659c84"
61
+ "gitHead": "f80fe9f0ea356adfec145f1f115e818919ea9546"
63
62
  }