ts-ioc-container 12.0.4 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { InjectionToken, IServiceLocator, ProviderKey } from './IServiceLocator';
2
2
  import { IProvider } from './provider/IProvider';
3
- import { IInstanceHook } from "./IInstanceHook";
3
+ import { IInstanceHook } from './IInstanceHook';
4
4
  export declare class EmptyServiceLocator implements IServiceLocator {
5
5
  createScope(): IServiceLocator;
6
6
  dispose(): void;
@@ -1,6 +1,6 @@
1
1
  import { ProviderDecorator } from './ProviderDecorator';
2
2
  import { Resolveable } from '../IServiceLocator';
3
- import { IProvider } from "./IProvider";
3
+ import { IProvider } from './IProvider';
4
4
  export declare type ArgsFn = (l: Resolveable) => any[];
5
5
  export declare class ArgsProvider<T> extends ProviderDecorator<T> {
6
6
  private provider;
@@ -1 +1 @@
1
- {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../../lib/core/provider/ArgsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAsD;AAMtD;IAAqC,gCAAoB;IACrD,sBAAoB,QAAsB,EAAU,MAAc;QAAlE,YACI,kBAAM,QAAQ,CAAC,SAClB;QAFmB,cAAQ,GAAR,QAAQ,CAAc;QAAU,YAAM,GAAN,MAAM,CAAQ;;IAElE,CAAC;IAED,8BAAO,GAAP,UAAQ,OAAoB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,wCAAC,OAAO,UAAK,IAAI,kBAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAE;IAC5E,CAAC;IAED,4BAAK,GAAL;QACI,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACL,mBAAC;AAAD,CAAC,AAZD,CAAqC,qCAAiB,GAYrD;AAZY,oCAAY"}
1
+ {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../../lib/core/provider/ArgsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAwD;AAMxD;IAAqC,gCAAoB;IACrD,sBAAoB,QAAsB,EAAU,MAAc;QAAlE,YACI,kBAAM,QAAQ,CAAC,SAClB;QAFmB,cAAQ,GAAR,QAAQ,CAAc;QAAU,YAAM,GAAN,MAAM,CAAQ;;IAElE,CAAC;IAED,8BAAO,GAAP,UAAQ,OAAoB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,CAAA,KAAA,IAAI,CAAC,QAAQ,CAAA,CAAC,OAAO,wCAAC,OAAO,UAAK,IAAI,kBAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAE;IAC5E,CAAC;IAED,4BAAK,GAAL;QACI,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACL,mBAAC;AAAD,CAAC,AAZD,CAAqC,qCAAiB,GAYrD;AAZY,oCAAY"}
@@ -52,8 +52,7 @@ var Provider = /** @class */ (function () {
52
52
  }
53
53
  return this.resolveDependency.apply(this, __spreadArray([locator], __read(args), false));
54
54
  };
55
- Provider.prototype.dispose = function () {
56
- };
55
+ Provider.prototype.dispose = function () { };
57
56
  Provider.prototype.isValid = function (filters) {
58
57
  return true;
59
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IACpE,CAAC;IATM,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI;QAAxB,CAAyB,CAAC,CAAC;IACnE,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAKD,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,OAAoB;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,OAAO,UAAK,IAAI,WAAE;IACpD,CAAC;IAED,0BAAO,GAAP;IACA,CAAC;IAED,0BAAO,GAAP,UAAQ,OAAqB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AA1BD,IA0BC;AA1BY,4BAAQ"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,kBAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARjE,kBAAS,GAAhB,UAAoB,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,UAAC,CAAC;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI;QAAxB,CAAyB,CAAC,CAAC;IACnE,CAAC;IAEM,kBAAS,GAAhB,UAAoB,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC;IACrC,CAAC;IAID,wBAAK,GAAL;QACI,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,0BAAO,GAAP,UAAQ,OAAoB;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACxC,OAAO,IAAI,CAAC,iBAAiB,OAAtB,IAAI,iBAAmB,OAAO,UAAK,IAAI,WAAE;IACpD,CAAC;IAED,0BAAO,GAAP,cAAiB,CAAC;IAElB,0BAAO,GAAP,UAAQ,OAAqB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,eAAC;AAAD,CAAC,AAxBD,IAwBC;AAxBY,4BAAQ"}
@@ -4,6 +4,7 @@ import { IContainer } from './IContainer';
4
4
  import { IContainerProvider } from './IContainerProvider';
5
5
  import { IInjector } from '../../core/IInjector';
6
6
  import { IInstanceHook } from '../../core/IInstanceHook';
7
+ import { constructor } from '../../helpers/types';
7
8
  export declare class Container implements IContainer {
8
9
  private locator;
9
10
  static fromInjector(injector: IInjector): Container;
@@ -12,5 +13,6 @@ export declare class Container implements IContainer {
12
13
  createScope(tags?: Tag[]): IContainer;
13
14
  register(provider: IContainerProvider<unknown>): this;
14
15
  resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
16
+ resolveDecorated<T>(...Constructors: constructor<T>[]): T | undefined;
15
17
  dispose(): void;
16
18
  }
@@ -53,6 +53,17 @@ var Container = /** @class */ (function () {
53
53
  }
54
54
  return (_a = this.locator).resolve.apply(_a, __spreadArray([key], __read(args), false));
55
55
  };
56
+ Container.prototype.resolveDecorated = function () {
57
+ var Constructors = [];
58
+ for (var _i = 0; _i < arguments.length; _i++) {
59
+ Constructors[_i] = arguments[_i];
60
+ }
61
+ if (Constructors.length === 0) {
62
+ return undefined;
63
+ }
64
+ var _a = __read(Constructors), first = _a[0], rest = _a.slice(1);
65
+ return this.locator.resolve(first, this.resolveDecorated.apply(this, __spreadArray([], __read(rest), false)));
66
+ };
56
67
  Container.prototype.dispose = function () {
57
68
  this.locator.dispose();
58
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4DAA2D;AAG3D;IAKI,mBAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJzC,sBAAY,GAAnB,UAAoB,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,+BAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,2BAAO,GAAP,UAAQ,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAW,GAAX,UAAY,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,4BAAQ,GAAR,UAAS,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,OAAO,0BAAC,GAAG,UAAK,IAAI,WAAE;IAC9C,CAAC;IAED,2BAAO,GAAP;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACL,gBAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,8BAAS"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4DAA2D;AAI3D;IAKI,mBAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJzC,sBAAY,GAAnB,UAAoB,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,+BAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,2BAAO,GAAP,UAAQ,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAW,GAAX,UAAY,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,4BAAQ,GAAR,UAAS,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAO,GAAP,UAAW,GAAsB;;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAC7C,OAAO,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,OAAO,0BAAC,GAAG,UAAK,IAAI,WAAE;IAC9C,CAAC;IAED,oCAAgB,GAAhB;QAAoB,sBAAiC;aAAjC,UAAiC,EAAjC,qBAAiC,EAAjC,IAAiC;YAAjC,iCAAiC;;QACjD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAC;SACpB;QACK,IAAA,KAAA,OAAmB,YAAY,CAAA,EAA9B,KAAK,QAAA,EAAK,IAAI,cAAgB,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,OAArB,IAAI,2BAAqB,IAAI,WAAE,CAAC;IACvE,CAAC;IAED,2BAAO,GAAP;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACL,gBAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,8BAAS"}
@@ -7,6 +7,7 @@ import { ContainerProvider } from './ContainerProvider';
7
7
  export declare function fromClass<T>(value: constructor<T>): ProviderBuilder<T>;
8
8
  export declare function fromValue<T>(value: T): ProviderBuilder<T>;
9
9
  export declare function fromFn<T>(fn: ResolveDependency<T>): ProviderBuilder<T>;
10
+ export declare function fromClassArray<T>(classes: constructor<T>[]): ProviderBuilder<T[]>;
10
11
  export declare class ProviderBuilder<T> {
11
12
  private provider;
12
13
  private keys;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderBuilder = exports.fromFn = exports.fromValue = exports.fromClass = void 0;
3
+ exports.ProviderBuilder = exports.fromClassArray = exports.fromFn = exports.fromValue = exports.fromClass = void 0;
4
4
  var SingletonProvider_1 = require("../providers/SingletonProvider");
5
5
  var Provider_1 = require("../../core/provider/Provider");
6
6
  var TaggedProvider_1 = require("../providers/TaggedProvider");
@@ -19,6 +19,10 @@ function fromFn(fn) {
19
19
  return new ProviderBuilder(new Provider_1.Provider(fn));
20
20
  }
21
21
  exports.fromFn = fromFn;
22
+ function fromClassArray(classes) {
23
+ return fromFn(function (l) { return classes.map(function (it) { return l.resolve(it); }); });
24
+ }
25
+ exports.fromClassArray = fromClassArray;
22
26
  var ProviderBuilder = /** @class */ (function () {
23
27
  function ProviderBuilder(provider) {
24
28
  this.provider = provider;
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../../lib/features/container/ProviderBuilder.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AACnE,yDAAwD;AAExD,8DAA6D;AAC7D,4DAA2D;AAE3D,iEAAwE;AAExE,yDAAwD;AAExD,SAAgB,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,eAAe,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,eAAe,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,eAAe,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,wBAEC;AAED;IAGI,yBAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAFlC,SAAI,GAAkB,EAAE,CAAC;IAEY,CAAC;IAE9C,kCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAAG,GAAH,UAAI,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,iCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAQ,GAAR,UAAS,KAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAW,GAAX;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAO,GAAP;QAAQ,cAAsB;aAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;YAAtB,yBAAsB;;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAK,GAAL;QACI,OAAO,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IACL,sBAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,0CAAe"}
1
+ {"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../../lib/features/container/ProviderBuilder.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AACnE,yDAAwD;AAExD,8DAA6D;AAC7D,4DAA2D;AAE3D,iEAAwE;AAExE,yDAAwD;AAExD,SAAgB,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,eAAe,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,eAAe,CAAC,mBAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,eAAe,CAAC,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAFD,wBAEC;AAED,SAAgB,cAAc,CAAI,OAAyB;IACvD,OAAO,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAb,CAAa,CAAC,EAAlC,CAAkC,CAAC,CAAC;AAC7D,CAAC;AAFD,wCAEC;AAED;IAGI,yBAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAFlC,SAAI,GAAkB,EAAE,CAAC;IAEY,CAAC;IAE9C,kCAAQ,GAAR;QAAS,mBAAmB;aAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;YAAnB,8BAAmB;;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oCAAU,GAAV,UAAW,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAAG,GAAH,UAAI,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,iCAAO,GAAP;QAAQ,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAQ,GAAR,UAAS,KAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAW,GAAX;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iCAAO,GAAP;QAAQ,cAAsB;aAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;YAAtB,yBAAsB;;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,+BAAK,GAAL;QACI,OAAO,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IACL,sBAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,0CAAe"}
package/cjm/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export { LevelProvider } from './features/providers/LevelProvider';
22
22
  export { IMockRepository } from './features/mock/IMockRepository';
23
23
  export { MockedServiceLocator } from './features/mock/MockedServiceLocator';
24
24
  export { SingletonProvider } from './features/providers/SingletonProvider';
25
- export { ProviderBuilder, fromClass, fromFn, fromValue } from './features/container/ProviderBuilder';
25
+ export { ProviderBuilder, fromClass, fromFn, fromValue, fromClassArray } from './features/container/ProviderBuilder';
26
26
  export { IProvidersMetadataCollector } from './features/container/IProvidersMetadataCollector';
27
27
  export { ProvidersMetadataCollector } from './features/container/ProvidersMetadataCollector';
28
28
  export { createLevelDecorator, createSingletonDecorator, createTagsDecorator, createArgsFnDecorator, createAddKeysDecorator, } from './features/container/decorators';
package/cjm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isProviderKey = exports.createAddKeysDecorator = exports.createArgsFnDecorator = exports.createTagsDecorator = exports.createSingletonDecorator = exports.createLevelDecorator = exports.ProvidersMetadataCollector = exports.fromValue = exports.fromFn = exports.fromClass = exports.ProviderBuilder = exports.SingletonProvider = exports.MockedServiceLocator = exports.LevelProvider = exports.ProxyInjector = exports.TaggedProvider = exports.ArgsProvider = exports.Provider = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.createMethodHookDecorator = exports.MethodsMetadataCollector = exports.SimpleInjector = exports.Container = exports.ServiceLocator = void 0;
3
+ exports.isProviderKey = exports.createAddKeysDecorator = exports.createArgsFnDecorator = exports.createTagsDecorator = exports.createSingletonDecorator = exports.createLevelDecorator = exports.ProvidersMetadataCollector = exports.fromClassArray = exports.fromValue = exports.fromFn = exports.fromClass = exports.ProviderBuilder = exports.SingletonProvider = exports.MockedServiceLocator = exports.LevelProvider = exports.ProxyInjector = exports.TaggedProvider = exports.ArgsProvider = exports.Provider = exports.MethodNotImplementedError = exports.ProviderNotFoundError = exports.createMethodHookDecorator = exports.MethodsMetadataCollector = exports.SimpleInjector = exports.Container = exports.ServiceLocator = void 0;
4
4
  var ServiceLocator_1 = require("./core/ServiceLocator");
5
5
  Object.defineProperty(exports, "ServiceLocator", { enumerable: true, get: function () { return ServiceLocator_1.ServiceLocator; } });
6
6
  var Container_1 = require("./features/container/Container");
@@ -34,6 +34,7 @@ Object.defineProperty(exports, "ProviderBuilder", { enumerable: true, get: funct
34
34
  Object.defineProperty(exports, "fromClass", { enumerable: true, get: function () { return ProviderBuilder_1.fromClass; } });
35
35
  Object.defineProperty(exports, "fromFn", { enumerable: true, get: function () { return ProviderBuilder_1.fromFn; } });
36
36
  Object.defineProperty(exports, "fromValue", { enumerable: true, get: function () { return ProviderBuilder_1.fromValue; } });
37
+ Object.defineProperty(exports, "fromClassArray", { enumerable: true, get: function () { return ProviderBuilder_1.fromClassArray; } });
37
38
  var ProvidersMetadataCollector_1 = require("./features/container/ProvidersMetadataCollector");
38
39
  Object.defineProperty(exports, "ProvidersMetadataCollector", { enumerable: true, get: function () { return ProvidersMetadataCollector_1.ProvidersMetadataCollector; } });
39
40
  var decorators_2 = require("./features/container/decorators");
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAGA,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,4DAA2D;AAAlD,sGAAA,SAAS,OAAA;AAIlB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AAEvB,6FAA4F;AAAnF,oIAAA,wBAAwB,OAAA;AACjC,iEAA+E;AAAtE,uHAAA,yBAAyB,OAAA;AAElC,wEAAuE;AAA9D,8HAAA,qBAAqB,OAAA;AAC9B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAClC,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,6DAAoE;AAA3D,4GAAA,YAAY,OAAA;AAErB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AACtB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AAEtB,6EAA4E;AAAnE,4HAAA,oBAAoB,OAAA;AAC7B,4EAA2E;AAAlE,sHAAA,iBAAiB,OAAA;AAC1B,wEAAqG;AAA5F,kHAAA,eAAe,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAEtD,8FAA6F;AAApF,wIAAA,0BAA0B,OAAA;AACnC,8DAMyC;AALrC,kHAAA,oBAAoB,OAAA;AACpB,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AACrB,oHAAA,sBAAsB,OAAA;AAG1B,0DAAwE;AAA/D,gHAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAGA,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,4DAA2D;AAAlD,sGAAA,SAAS,OAAA;AAIlB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AAEvB,6FAA4F;AAAnF,oIAAA,wBAAwB,OAAA;AACjC,iEAA+E;AAAtE,uHAAA,yBAAyB,OAAA;AAElC,wEAAuE;AAA9D,8HAAA,qBAAqB,OAAA;AAC9B,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA;AAClC,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,6DAAoE;AAA3D,4GAAA,YAAY,OAAA;AAErB,sEAAqE;AAA5D,gHAAA,cAAc,OAAA;AACvB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AACtB,oEAAmE;AAA1D,8GAAA,aAAa,OAAA;AAEtB,6EAA4E;AAAnE,4HAAA,oBAAoB,OAAA;AAC7B,4EAA2E;AAAlE,sHAAA,iBAAiB,OAAA;AAC1B,wEAAqH;AAA5G,kHAAA,eAAe,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,iHAAA,cAAc,OAAA;AAEtE,8FAA6F;AAApF,wIAAA,0BAA0B,OAAA;AACnC,8DAMyC;AALrC,kHAAA,oBAAoB,OAAA;AACpB,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AACrB,oHAAA,sBAAsB,OAAA;AAG1B,0DAAwE;AAA/D,gHAAA,aAAa,OAAA"}
@@ -1,6 +1,6 @@
1
1
  import { InjectionToken, IServiceLocator, ProviderKey } from './IServiceLocator';
2
2
  import { IProvider } from './provider/IProvider';
3
- import { IInstanceHook } from "./IInstanceHook";
3
+ import { IInstanceHook } from './IInstanceHook';
4
4
  export declare class EmptyServiceLocator implements IServiceLocator {
5
5
  createScope(): IServiceLocator;
6
6
  dispose(): void;
@@ -1,6 +1,6 @@
1
1
  import { ProviderDecorator } from './ProviderDecorator';
2
2
  import { Resolveable } from '../IServiceLocator';
3
- import { IProvider } from "./IProvider";
3
+ import { IProvider } from './IProvider';
4
4
  export declare type ArgsFn = (l: Resolveable) => any[];
5
5
  export declare class ArgsProvider<T> extends ProviderDecorator<T> {
6
6
  private provider;
@@ -1 +1 @@
1
- {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../../lib/core/provider/ArgsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAMtD,MAAM,OAAO,YAAgB,SAAQ,iBAAoB;IACrD,YAAoB,QAAsB,EAAU,MAAc;QAC9D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADA,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,OAAoB,EAAE,GAAG,IAAW;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK;QACD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;CACJ"}
1
+ {"version":3,"file":"ArgsProvider.js","sourceRoot":"","sources":["../../../lib/core/provider/ArgsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,OAAO,YAAgB,SAAQ,iBAAoB;IACrD,YAAoB,QAAsB,EAAU,MAAc;QAC9D,KAAK,CAAC,QAAQ,CAAC,CAAC;QADA,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAElE,CAAC;IAED,OAAO,CAAC,OAAoB,EAAE,GAAG,IAAW;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK;QACD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;CACJ"}
@@ -14,8 +14,7 @@ export class Provider {
14
14
  resolve(locator, ...args) {
15
15
  return this.resolveDependency(locator, ...args);
16
16
  }
17
- dispose() {
18
- }
17
+ dispose() { }
19
18
  isValid(filters) {
20
19
  return true;
21
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IACpE,CAAC;IATD,MAAM,CAAC,SAAS,CAAI,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAKD,KAAK;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,OAAoB,EAAE,GAAG,IAAW;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;IACP,CAAC;IAED,OAAO,CAAC,OAAqB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../lib/core/provider/Provider.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IASjB,YAA6B,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IARxE,MAAM,CAAC,SAAS,CAAI,KAAqB;QACrC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,KAAQ;QACxB,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAID,KAAK;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,OAAoB,EAAE,GAAG,IAAW;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,OAAO,CAAC,OAAqB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -4,6 +4,7 @@ import { IContainer } from './IContainer';
4
4
  import { IContainerProvider } from './IContainerProvider';
5
5
  import { IInjector } from '../../core/IInjector';
6
6
  import { IInstanceHook } from '../../core/IInstanceHook';
7
+ import { constructor } from '../../helpers/types';
7
8
  export declare class Container implements IContainer {
8
9
  private locator;
9
10
  static fromInjector(injector: IInjector): Container;
@@ -12,5 +13,6 @@ export declare class Container implements IContainer {
12
13
  createScope(tags?: Tag[]): IContainer;
13
14
  register(provider: IContainerProvider<unknown>): this;
14
15
  resolve<T>(key: InjectionToken<T>, ...args: any[]): T;
16
+ resolveDecorated<T>(...Constructors: constructor<T>[]): T | undefined;
15
17
  dispose(): void;
16
18
  }
@@ -20,6 +20,13 @@ export class Container {
20
20
  resolve(key, ...args) {
21
21
  return this.locator.resolve(key, ...args);
22
22
  }
23
+ resolveDecorated(...Constructors) {
24
+ if (Constructors.length === 0) {
25
+ return undefined;
26
+ }
27
+ const [first, ...rest] = Constructors;
28
+ return this.locator.resolve(first, this.resolveDecorated(...rest));
29
+ }
23
30
  dispose() {
24
31
  this.locator.dispose();
25
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,OAAO,SAAS;IAKlB,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJhD,MAAM,CAAC,YAAY,CAAC,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,OAAO,CAAC,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACJ"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/features/container/Container.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,MAAM,OAAO,SAAS;IAKlB,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAJhD,MAAM,CAAC,YAAY,CAAC,QAAmB;QACnC,OAAO,IAAI,SAAS,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAID,OAAO,CAAC,IAAmB;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,QAAqC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAI,GAAsB,EAAE,GAAG,IAAW;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAI,GAAG,YAA8B;QACjD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACJ"}
@@ -7,6 +7,7 @@ import { ContainerProvider } from './ContainerProvider';
7
7
  export declare function fromClass<T>(value: constructor<T>): ProviderBuilder<T>;
8
8
  export declare function fromValue<T>(value: T): ProviderBuilder<T>;
9
9
  export declare function fromFn<T>(fn: ResolveDependency<T>): ProviderBuilder<T>;
10
+ export declare function fromClassArray<T>(classes: constructor<T>[]): ProviderBuilder<T[]>;
10
11
  export declare class ProviderBuilder<T> {
11
12
  private provider;
12
13
  private keys;
@@ -13,6 +13,9 @@ export function fromValue(value) {
13
13
  export function fromFn(fn) {
14
14
  return new ProviderBuilder(new Provider(fn));
15
15
  }
16
+ export function fromClassArray(classes) {
17
+ return fromFn((l) => classes.map((it) => l.resolve(it)));
18
+ }
16
19
  export class ProviderBuilder {
17
20
  constructor(provider) {
18
21
  this.provider = provider;
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../../lib/features/container/ProviderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAU,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,eAAe,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,OAAO,eAAe;IAGxB,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAFlC,SAAI,GAAkB,EAAE,CAAC;IAEY,CAAC;IAE9C,QAAQ,CAAC,GAAG,SAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,IAAmB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;CACJ"}
1
+ {"version":3,"file":"ProviderBuilder.js","sourceRoot":"","sources":["../../../lib/features/container/ProviderBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAU,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,SAAS,CAAI,KAAqB;IAC9C,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAQ;IACjC,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,EAAwB;IAC9C,OAAO,IAAI,eAAe,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,OAAyB;IACvD,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,OAAO,eAAe;IAGxB,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAFlC,SAAI,GAAkB,EAAE,CAAC;IAEY,CAAC;IAE9C,QAAQ,CAAC,GAAG,SAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAA2B;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,IAAmB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;CACJ"}
package/esm/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export { LevelProvider } from './features/providers/LevelProvider';
22
22
  export { IMockRepository } from './features/mock/IMockRepository';
23
23
  export { MockedServiceLocator } from './features/mock/MockedServiceLocator';
24
24
  export { SingletonProvider } from './features/providers/SingletonProvider';
25
- export { ProviderBuilder, fromClass, fromFn, fromValue } from './features/container/ProviderBuilder';
25
+ export { ProviderBuilder, fromClass, fromFn, fromValue, fromClassArray } from './features/container/ProviderBuilder';
26
26
  export { IProvidersMetadataCollector } from './features/container/IProvidersMetadataCollector';
27
27
  export { ProvidersMetadataCollector } from './features/container/ProvidersMetadataCollector';
28
28
  export { createLevelDecorator, createSingletonDecorator, createTagsDecorator, createArgsFnDecorator, createAddKeysDecorator, } from './features/container/decorators';
package/esm/index.js CHANGED
@@ -12,7 +12,7 @@ export { ProxyInjector } from './features/injectors/ProxyInjector';
12
12
  export { LevelProvider } from './features/providers/LevelProvider';
13
13
  export { MockedServiceLocator } from './features/mock/MockedServiceLocator';
14
14
  export { SingletonProvider } from './features/providers/SingletonProvider';
15
- export { ProviderBuilder, fromClass, fromFn, fromValue } from './features/container/ProviderBuilder';
15
+ export { ProviderBuilder, fromClass, fromFn, fromValue, fromClassArray } from './features/container/ProviderBuilder';
16
16
  export { ProvidersMetadataCollector } from './features/container/ProvidersMetadataCollector';
17
17
  export { createLevelDecorator, createSingletonDecorator, createTagsDecorator, createArgsFnDecorator, createAddKeysDecorator, } from './features/container/decorators';
18
18
  export { isProviderKey } from './core/IServiceLocator';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAU,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAErG,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAI3D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAU,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAErH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "12.0.4",
3
+ "version": "12.2.0",
4
4
  "description": "Typescript IoC container",
5
5
  "author": "ibabkin <ibabkin@goodgamestudios.com>",
6
6
  "homepage": "https://github.com/IgorBabkin/service-locator/tree/master/packages/ts-ioc-container",
@@ -45,9 +45,9 @@
45
45
  "npm-run-all": "4.1.5",
46
46
  "reflect-metadata": "^0.1.13",
47
47
  "rimraf": "3.0.2",
48
- "ts-constructor-injector": "^1.5.1",
48
+ "ts-constructor-injector": "^1.5.3",
49
49
  "ts-jest": "27.0.5",
50
50
  "typescript": "4.4.3"
51
51
  },
52
- "gitHead": "57f0324d9b962fe5745d9cb5b32cb25eafa39e9b"
52
+ "gitHead": "5ab2ef97e256bc439b19b549d324e9019b8117af"
53
53
  }