ts-ioc-container 10.3.2 → 11.0.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,4 +1 @@
1
- export declare function merge<T>(baseArr: (T | undefined)[], insertArr: T[]): T[];
2
- export declare const constant: <T>(value: T) => () => T;
3
1
  export declare const id: <T>(value: T) => T;
4
- export declare function composeClassDecorators(...decorators: ClassDecorator[]): ClassDecorator;
@@ -1,50 +1,6 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.composeClassDecorators = exports.id = exports.constant = exports.merge = void 0;
20
- function merge(baseArr, insertArr) {
21
- if (baseArr.length === 0) {
22
- return insertArr;
23
- }
24
- if (insertArr.length === 0) {
25
- return baseArr;
26
- }
27
- var _a = __read(baseArr), b1 = _a[0], restBaseArr = _a.slice(1);
28
- var _b = __read(insertArr), i1 = _b[0], restInsertArr = _b.slice(1);
29
- return b1 === undefined
30
- ? [i1].concat(merge(restBaseArr, restInsertArr))
31
- : [b1].concat(merge(restBaseArr, insertArr));
32
- }
33
- exports.merge = merge;
34
- var constant = function (value) {
35
- return function () {
36
- return value;
37
- };
38
- };
39
- exports.constant = constant;
3
+ exports.id = void 0;
40
4
  var id = function (value) { return value; };
41
5
  exports.id = id;
42
- function composeClassDecorators() {
43
- var decorators = [];
44
- for (var _i = 0; _i < arguments.length; _i++) {
45
- decorators[_i] = arguments[_i];
46
- }
47
- return function (target) { return decorators.forEach(function (it) { return it(target); }); };
48
- }
49
- exports.composeClassDecorators = composeClassDecorators;
50
6
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/helpers/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,SAAgB,KAAK,CAAI,OAA0B,EAAE,SAAc;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,OAAc,CAAC;KACzB;IACK,IAAA,KAAA,OAAuB,OAAO,CAAA,EAA7B,EAAE,QAAA,EAAK,WAAW,cAAW,CAAC;IAC/B,IAAA,KAAA,OAAyB,SAAS,CAAA,EAAjC,EAAE,QAAA,EAAK,aAAa,cAAa,CAAC;IACzC,OAAO,EAAE,KAAK,SAAS;QACnB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAbD,sBAaC;AAEM,IAAM,QAAQ,GACjB,UAAI,KAAQ;IACZ,OAAA;QACI,OAAA,KAAK;IAAL,CAAK;AADT,CACS,CAAC;AAHD,QAAA,QAAQ,YAGP;AAEP,IAAM,EAAE,GAAG,UAAI,KAAQ,IAAK,OAAA,KAAK,EAAL,CAAK,CAAC;AAA5B,QAAA,EAAE,MAA0B;AAEzC,SAAgB,sBAAsB;IAAC,oBAA+B;SAA/B,UAA+B,EAA/B,qBAA+B,EAA/B,IAA+B;QAA/B,+BAA+B;;IAClE,OAAO,UAAC,MAAM,IAAK,OAAA,UAAU,CAAC,OAAO,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,MAAM,CAAC,EAAV,CAAU,CAAC,EAAtC,CAAsC,CAAC;AAC9D,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/helpers/utils.ts"],"names":[],"mappings":";;;AAAO,IAAM,EAAE,GAAG,UAAI,KAAQ,IAAK,OAAA,KAAK,EAAL,CAAK,CAAC;AAA5B,QAAA,EAAE,MAA0B"}
package/cjm/index.d.ts CHANGED
@@ -6,14 +6,12 @@ export { IContainer } from './core/IContainer';
6
6
  export { ScopeOptions, ResolveDependency, Tag, IProvider, IKeyedProvider } from './core/provider/IProvider';
7
7
  export { IInjector } from './core/IInjector';
8
8
  export { SimpleInjector } from './features/simple/SimpleInjector';
9
- export { IocInjector, injectFn, inject } from './features/ioc/IocInjector';
10
9
  export { IMethodsMetadataCollector } from './features/instanceHook/IMethodsMetadataCollector';
11
10
  export { MethodsMetadataCollector } from './features/instanceHook/MethodsMetadataCollector';
12
11
  export { createMethodHookDecorator } from './features/instanceHook/decorators';
13
12
  export { InjectionToken } from './core/IServiceLocator';
14
13
  export { ProviderNotFoundError } from './errors/ProviderNotFoundError';
15
14
  export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
16
- export { InjectFn } from './features/ioc/InjectFn';
17
15
  export { Provider } from './core/provider/Provider';
18
16
  export { ArgsProvider, ArgsFn } from './core/provider/ArgsProvider';
19
17
  export { IInstanceHook } from './core/IInstanceHook';
@@ -31,4 +29,3 @@ export { IDisposable } from './helpers/types';
31
29
  export { isProviderKey, RegisterOptions } from './core/IServiceLocator';
32
30
  export { ProviderKey } from './core/IServiceLocator';
33
31
  export { ContainerBuilder } from './core/ContainerBuilder';
34
- export { composeClassDecorators } from './helpers/utils';
package/cjm/index.js CHANGED
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.composeClassDecorators = exports.ContainerBuilder = 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.inject = exports.injectFn = exports.IocInjector = exports.SimpleInjector = exports.Container = exports.ServiceLocator = void 0;
3
+ exports.ContainerBuilder = 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;
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("./core/Container");
7
7
  Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return Container_1.Container; } });
8
8
  var SimpleInjector_1 = require("./features/simple/SimpleInjector");
9
9
  Object.defineProperty(exports, "SimpleInjector", { enumerable: true, get: function () { return SimpleInjector_1.SimpleInjector; } });
10
- var IocInjector_1 = require("./features/ioc/IocInjector");
11
- Object.defineProperty(exports, "IocInjector", { enumerable: true, get: function () { return IocInjector_1.IocInjector; } });
12
- Object.defineProperty(exports, "injectFn", { enumerable: true, get: function () { return IocInjector_1.injectFn; } });
13
- Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return IocInjector_1.inject; } });
14
10
  var MethodsMetadataCollector_1 = require("./features/instanceHook/MethodsMetadataCollector");
15
11
  Object.defineProperty(exports, "MethodsMetadataCollector", { enumerable: true, get: function () { return MethodsMetadataCollector_1.MethodsMetadataCollector; } });
16
12
  var decorators_1 = require("./features/instanceHook/decorators");
@@ -50,6 +46,4 @@ var IServiceLocator_1 = require("./core/IServiceLocator");
50
46
  Object.defineProperty(exports, "isProviderKey", { enumerable: true, get: function () { return IServiceLocator_1.isProviderKey; } });
51
47
  var ContainerBuilder_1 = require("./core/ContainerBuilder");
52
48
  Object.defineProperty(exports, "ContainerBuilder", { enumerable: true, get: function () { return ContainerBuilder_1.ContainerBuilder; } });
53
- var utils_1 = require("./helpers/utils");
54
- Object.defineProperty(exports, "composeClassDecorators", { enumerable: true, get: function () { return utils_1.composeClassDecorators; } });
55
49
  //# sourceMappingURL=index.js.map
package/cjm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAEA,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,8CAA6C;AAApC,sGAAA,SAAS,OAAA;AAIlB,mEAAkE;AAAzD,gHAAA,cAAc,OAAA;AACvB,0DAA2E;AAAlE,0GAAA,WAAW,OAAA;AAAE,uGAAA,QAAQ,OAAA;AAAE,qGAAA,MAAM,OAAA;AAEtC,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;AAElC,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AACjB,6DAAoE;AAA3D,4GAAA,YAAY,OAAA;AAErB,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,gEAA+D;AAAtD,8GAAA,aAAa,OAAA;AACtB,gEAA+D;AAAtD,8GAAA,aAAa,OAAA;AAEtB,6EAA4E;AAAnE,4HAAA,oBAAoB,OAAA;AAC7B,wEAAuE;AAA9D,sHAAA,iBAAiB,OAAA;AAC1B,8DAA2F;AAAlF,kHAAA,eAAe,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAEtD,0FAAyF;AAAhF,wIAAA,0BAA0B,OAAA;AACnC,0DAMqC;AALjC,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;AAEtB,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,yCAAyD;AAAhD,+GAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAEA,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,8CAA6C;AAApC,sGAAA,SAAS,OAAA;AAIlB,mEAAkE;AAAzD,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,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,gEAA+D;AAAtD,8GAAA,aAAa,OAAA;AACtB,gEAA+D;AAAtD,8GAAA,aAAa,OAAA;AAEtB,6EAA4E;AAAnE,4HAAA,oBAAoB,OAAA;AAC7B,wEAAuE;AAA9D,sHAAA,iBAAiB,OAAA;AAC1B,8DAA2F;AAAlF,kHAAA,eAAe,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAEtD,0FAAyF;AAAhF,wIAAA,0BAA0B,OAAA;AACnC,0DAMqC;AALjC,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;AAEtB,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA"}
@@ -1,4 +1 @@
1
- export declare function merge<T>(baseArr: (T | undefined)[], insertArr: T[]): T[];
2
- export declare const constant: <T>(value: T) => () => T;
3
1
  export declare const id: <T>(value: T) => T;
4
- export declare function composeClassDecorators(...decorators: ClassDecorator[]): ClassDecorator;
@@ -1,19 +1,2 @@
1
- export function merge(baseArr, insertArr) {
2
- if (baseArr.length === 0) {
3
- return insertArr;
4
- }
5
- if (insertArr.length === 0) {
6
- return baseArr;
7
- }
8
- const [b1, ...restBaseArr] = baseArr;
9
- const [i1, ...restInsertArr] = insertArr;
10
- return b1 === undefined
11
- ? [i1].concat(merge(restBaseArr, restInsertArr))
12
- : [b1].concat(merge(restBaseArr, insertArr));
13
- }
14
- export const constant = (value) => () => value;
15
1
  export const id = (value) => value;
16
- export function composeClassDecorators(...decorators) {
17
- return (target) => decorators.forEach((it) => it(target));
18
- }
19
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/helpers/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAI,OAA0B,EAAE,SAAc;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,OAAc,CAAC;KACzB;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;QACnB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GACjB,CAAI,KAAQ,EAAE,EAAE,CAChB,GAAG,EAAE,CACD,KAAK,CAAC;AAEd,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,KAAQ,EAAE,EAAE,CAAC,KAAK,CAAC;AAEzC,MAAM,UAAU,sBAAsB,CAAC,GAAG,UAA4B;IAClE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/helpers/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,KAAQ,EAAE,EAAE,CAAC,KAAK,CAAC"}
package/esm/index.d.ts CHANGED
@@ -6,14 +6,12 @@ export { IContainer } from './core/IContainer';
6
6
  export { ScopeOptions, ResolveDependency, Tag, IProvider, IKeyedProvider } from './core/provider/IProvider';
7
7
  export { IInjector } from './core/IInjector';
8
8
  export { SimpleInjector } from './features/simple/SimpleInjector';
9
- export { IocInjector, injectFn, inject } from './features/ioc/IocInjector';
10
9
  export { IMethodsMetadataCollector } from './features/instanceHook/IMethodsMetadataCollector';
11
10
  export { MethodsMetadataCollector } from './features/instanceHook/MethodsMetadataCollector';
12
11
  export { createMethodHookDecorator } from './features/instanceHook/decorators';
13
12
  export { InjectionToken } from './core/IServiceLocator';
14
13
  export { ProviderNotFoundError } from './errors/ProviderNotFoundError';
15
14
  export { MethodNotImplementedError } from './errors/MethodNotImplementedError';
16
- export { InjectFn } from './features/ioc/InjectFn';
17
15
  export { Provider } from './core/provider/Provider';
18
16
  export { ArgsProvider, ArgsFn } from './core/provider/ArgsProvider';
19
17
  export { IInstanceHook } from './core/IInstanceHook';
@@ -31,4 +29,3 @@ export { IDisposable } from './helpers/types';
31
29
  export { isProviderKey, RegisterOptions } from './core/IServiceLocator';
32
30
  export { ProviderKey } from './core/IServiceLocator';
33
31
  export { ContainerBuilder } from './core/ContainerBuilder';
34
- export { composeClassDecorators } from './helpers/utils';
package/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export { ServiceLocator } from './core/ServiceLocator';
2
2
  export { Container } from './core/Container';
3
3
  export { SimpleInjector } from './features/simple/SimpleInjector';
4
- export { IocInjector, injectFn, inject } from './features/ioc/IocInjector';
5
4
  export { MethodsMetadataCollector } from './features/instanceHook/MethodsMetadataCollector';
6
5
  export { createMethodHookDecorator } from './features/instanceHook/decorators';
7
6
  export { ProviderNotFoundError } from './errors/ProviderNotFoundError';
@@ -18,5 +17,4 @@ export { ProvidersMetadataCollector } from './features/scope/ProvidersMetadataCo
18
17
  export { createLevelDecorator, createSingletonDecorator, createTagsDecorator, createArgsFnDecorator, createAddKeysDecorator, } from './features/scope/decorators';
19
18
  export { isProviderKey } from './core/IServiceLocator';
20
19
  export { ContainerBuilder } from './core/ContainerBuilder';
21
- export { composeClassDecorators } from './helpers/utils';
22
20
  //# 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":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE3E,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;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAU,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,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,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ioc-container",
3
- "version": "10.3.2",
3
+ "version": "11.0.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,11 +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.1.0",
48
49
  "ts-jest": "27.0.5",
49
50
  "typescript": "4.4.3"
50
51
  },
51
- "gitHead": "7330de3046d7b2b9eb0ffdb7f617d67df4f0b9d5",
52
- "peerDependencies": {
53
- "reflect-metadata": "^0.1.13"
54
- }
52
+ "gitHead": "c71be4c045f665b598dae66eb9ff5e822c174f77"
55
53
  }
@@ -1,2 +0,0 @@
1
- import { IServiceLocator } from '../../core/IServiceLocator';
2
- export declare type InjectFn<T> = (l: IServiceLocator) => T;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=InjectFn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InjectFn.js","sourceRoot":"","sources":["../../../lib/features/ioc/InjectFn.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import { constructor } from '../../helpers/types';
2
- import { InjectionToken, IServiceLocator } from '../../core/IServiceLocator';
3
- import { IInjector } from '../../core/IInjector';
4
- import { InjectFn } from './InjectFn';
5
- export declare class IocInjector implements IInjector {
6
- resolve<T>(locator: IServiceLocator, value: constructor<T>, ...deps: unknown[]): T;
7
- }
8
- export declare const injectFn: <T>(injectionFn: InjectFn<T>) => ParameterDecorator;
9
- export declare const inject: <T>(token: InjectionToken<T>, ...args: unknown[]) => ParameterDecorator;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.inject = exports.injectFn = exports.IocInjector = void 0;
29
- var utils_1 = require("../../helpers/utils");
30
- var METADATA_KEY = Symbol.for('IocInjector');
31
- function getInjectionFns(target) {
32
- var _a;
33
- return (_a = Reflect.getOwnMetadata(METADATA_KEY, target)) !== null && _a !== void 0 ? _a : [];
34
- }
35
- // eslint-disable-next-line @typescript-eslint/ban-types
36
- function addMetadata(target, parameterIndex, injectionFn) {
37
- var metadata = getInjectionFns(target);
38
- metadata[parameterIndex] = injectionFn;
39
- Reflect.defineMetadata(METADATA_KEY, metadata, target);
40
- }
41
- var IocInjector = /** @class */ (function () {
42
- function IocInjector() {
43
- }
44
- IocInjector.prototype.resolve = function (locator, value) {
45
- var deps = [];
46
- for (var _i = 2; _i < arguments.length; _i++) {
47
- deps[_i - 2] = arguments[_i];
48
- }
49
- var injectionFns = getInjectionFns(value);
50
- var args = (0, utils_1.merge)(injectionFns, deps.map(utils_1.constant)).map(function (fn) { return fn(locator); });
51
- return new (value.bind.apply(value, __spreadArray([void 0], __read(args), false)))();
52
- };
53
- return IocInjector;
54
- }());
55
- exports.IocInjector = IocInjector;
56
- var injectFn = function (injectionFn) {
57
- return function (target, propertyKey, parameterIndex) {
58
- addMetadata(target, parameterIndex, injectionFn);
59
- };
60
- };
61
- exports.injectFn = injectFn;
62
- var inject = function (token) {
63
- var args = [];
64
- for (var _i = 1; _i < arguments.length; _i++) {
65
- args[_i - 1] = arguments[_i];
66
- }
67
- return (0, exports.injectFn)(function (l) { return l.resolve.apply(l, __spreadArray([token], __read(args), false)); });
68
- };
69
- exports.inject = inject;
70
- //# sourceMappingURL=IocInjector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IocInjector.js","sourceRoot":"","sources":["../../../lib/features/ioc/IocInjector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,6CAAsD;AAGtD,IAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAE/C,SAAS,eAAe,CAAI,MAAS;;IACjC,OAAO,MAAA,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;AAC9D,CAAC;AAED,wDAAwD;AACxD,SAAS,WAAW,CAAI,MAAS,EAAE,cAAsB,EAAE,WAA8B;IACrF,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;IACvC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;IAAA;IAMA,CAAC;IALG,6BAAO,GAAP,UAAW,OAAwB,EAAE,KAAqB;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;QAC1E,IAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,OAAO,CAAC,EAAX,CAAW,CAAC,CAAC;QAC9E,YAAW,KAAK,YAAL,KAAK,iCAAI,IAAI,cAAE;IAC9B,CAAC;IACL,kBAAC;AAAD,CAAC,AAND,IAMC;AANY,kCAAW;AAQjB,IAAM,QAAQ,GACjB,UAAI,WAAwB;IAC5B,OAAA,UAAC,MAAM,EAAE,WAAW,EAAE,cAAc;QAChC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;AAFD,CAEC,CAAC;AAJO,QAAA,QAAQ,YAIf;AAEC,IAAM,MAAM,GAAG,UAAI,KAAwB;IAAE,cAAkB;SAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;QAAlB,6BAAkB;;IAClE,OAAA,IAAA,gBAAQ,EAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,OAAT,CAAC,iBAAS,KAAK,UAAK,IAAI,YAAxB,CAAyB,CAAC;AAA1C,CAA0C,CAAC;AADlC,QAAA,MAAM,UAC4B"}
@@ -1,2 +0,0 @@
1
- import { IServiceLocator } from '../../core/IServiceLocator';
2
- export declare type InjectFn<T> = (l: IServiceLocator) => T;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=InjectFn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InjectFn.js","sourceRoot":"","sources":["../../../lib/features/ioc/InjectFn.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import { constructor } from '../../helpers/types';
2
- import { InjectionToken, IServiceLocator } from '../../core/IServiceLocator';
3
- import { IInjector } from '../../core/IInjector';
4
- import { InjectFn } from './InjectFn';
5
- export declare class IocInjector implements IInjector {
6
- resolve<T>(locator: IServiceLocator, value: constructor<T>, ...deps: unknown[]): T;
7
- }
8
- export declare const injectFn: <T>(injectionFn: InjectFn<T>) => ParameterDecorator;
9
- export declare const inject: <T>(token: InjectionToken<T>, ...args: unknown[]) => ParameterDecorator;
@@ -1,24 +0,0 @@
1
- import { constant, merge } from '../../helpers/utils';
2
- const METADATA_KEY = Symbol.for('IocInjector');
3
- function getInjectionFns(target) {
4
- var _a;
5
- return (_a = Reflect.getOwnMetadata(METADATA_KEY, target)) !== null && _a !== void 0 ? _a : [];
6
- }
7
- // eslint-disable-next-line @typescript-eslint/ban-types
8
- function addMetadata(target, parameterIndex, injectionFn) {
9
- const metadata = getInjectionFns(target);
10
- metadata[parameterIndex] = injectionFn;
11
- Reflect.defineMetadata(METADATA_KEY, metadata, target);
12
- }
13
- export class IocInjector {
14
- resolve(locator, value, ...deps) {
15
- const injectionFns = getInjectionFns(value);
16
- const args = merge(injectionFns, deps.map(constant)).map((fn) => fn(locator));
17
- return new value(...args);
18
- }
19
- }
20
- export const injectFn = (injectionFn) => (target, propertyKey, parameterIndex) => {
21
- addMetadata(target, parameterIndex, injectionFn);
22
- };
23
- export const inject = (token, ...args) => injectFn((l) => l.resolve(token, ...args));
24
- //# sourceMappingURL=IocInjector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IocInjector.js","sourceRoot":"","sources":["../../../lib/features/ioc/IocInjector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGtD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAE/C,SAAS,eAAe,CAAI,MAAS;;IACjC,OAAO,MAAA,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;AAC9D,CAAC;AAED,wDAAwD;AACxD,SAAS,WAAW,CAAI,MAAS,EAAE,cAAsB,EAAE,WAA8B;IACrF,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;IACvC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,OAAO,WAAW;IACpB,OAAO,CAAI,OAAwB,EAAE,KAAqB,EAAE,GAAG,IAAe;QAC1E,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,QAAQ,GACjB,CAAI,WAAwB,EAAsB,EAAE,CACpD,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IACpC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,KAAwB,EAAE,GAAG,IAAe,EAAsB,EAAE,CAC1F,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC"}