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.
- package/cjm/helpers/utils.d.ts +0 -3
- package/cjm/helpers/utils.js +1 -45
- package/cjm/helpers/utils.js.map +1 -1
- package/cjm/index.d.ts +0 -3
- package/cjm/index.js +1 -7
- package/cjm/index.js.map +1 -1
- package/esm/helpers/utils.d.ts +0 -3
- package/esm/helpers/utils.js +0 -17
- package/esm/helpers/utils.js.map +1 -1
- package/esm/index.d.ts +0 -3
- package/esm/index.js +0 -2
- package/esm/index.js.map +1 -1
- package/package.json +3 -5
- package/cjm/features/ioc/InjectFn.d.ts +0 -2
- package/cjm/features/ioc/InjectFn.js +0 -3
- package/cjm/features/ioc/InjectFn.js.map +0 -1
- package/cjm/features/ioc/IocInjector.d.ts +0 -9
- package/cjm/features/ioc/IocInjector.js +0 -70
- package/cjm/features/ioc/IocInjector.js.map +0 -1
- package/esm/features/ioc/InjectFn.d.ts +0 -2
- package/esm/features/ioc/InjectFn.js +0 -2
- package/esm/features/ioc/InjectFn.js.map +0 -1
- package/esm/features/ioc/IocInjector.d.ts +0 -9
- package/esm/features/ioc/IocInjector.js +0 -24
- package/esm/features/ioc/IocInjector.js.map +0 -1
package/cjm/helpers/utils.d.ts
CHANGED
|
@@ -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;
|
package/cjm/helpers/utils.js
CHANGED
|
@@ -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.
|
|
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
|
package/cjm/helpers/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/helpers/utils.ts"],"names":[],"mappings":"
|
|
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.
|
|
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;
|
|
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"}
|
package/esm/helpers/utils.d.ts
CHANGED
|
@@ -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;
|
package/esm/helpers/utils.js
CHANGED
|
@@ -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
|
package/esm/helpers/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/helpers/utils.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
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;
|
|
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": "
|
|
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": "
|
|
52
|
-
"peerDependencies": {
|
|
53
|
-
"reflect-metadata": "^0.1.13"
|
|
54
|
-
}
|
|
52
|
+
"gitHead": "c71be4c045f665b598dae66eb9ff5e822c174f77"
|
|
55
53
|
}
|
|
@@ -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 +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"}
|