@tsed/di 7.82.2 → 8.0.0-alpha.1
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/lib/browser/di.umd.min.js +1 -1
- package/lib/browser/di.umd.min.js.map +1 -1
- package/lib/cjs/common/constants/constants.js +6 -4
- package/lib/cjs/common/constants/constants.js.map +1 -1
- package/lib/cjs/common/decorators/autoInjectable.js +23 -3
- package/lib/cjs/common/decorators/autoInjectable.js.map +1 -1
- package/lib/cjs/common/decorators/constant.js +30 -11
- package/lib/cjs/common/decorators/constant.js.map +1 -1
- package/lib/cjs/common/decorators/inject.js +64 -73
- package/lib/cjs/common/decorators/inject.js.map +1 -1
- package/lib/cjs/common/decorators/intercept.js +41 -12
- package/lib/cjs/common/decorators/intercept.js.map +1 -1
- package/lib/cjs/common/decorators/lazyInject.js +13 -13
- package/lib/cjs/common/decorators/lazyInject.js.map +1 -1
- package/lib/cjs/common/decorators/opts.js +1 -1
- package/lib/cjs/common/decorators/opts.js.map +1 -1
- package/lib/cjs/common/decorators/useOpts.js +2 -6
- package/lib/cjs/common/decorators/useOpts.js.map +1 -1
- package/lib/cjs/common/decorators/value.js +18 -11
- package/lib/cjs/common/decorators/value.js.map +1 -1
- package/lib/cjs/common/domain/Container.js +3 -3
- package/lib/cjs/common/domain/Container.js.map +1 -1
- package/lib/cjs/common/domain/ControllerProvider.js +0 -1
- package/lib/cjs/common/domain/ControllerProvider.js.map +1 -1
- package/lib/cjs/common/domain/LocalsContainer.js +4 -1
- package/lib/cjs/common/domain/LocalsContainer.js.map +1 -1
- package/lib/cjs/common/domain/Provider.js +5 -16
- package/lib/cjs/common/domain/Provider.js.map +1 -1
- package/lib/cjs/common/errors/InjectionError.js +2 -3
- package/lib/cjs/common/errors/InjectionError.js.map +1 -1
- package/lib/cjs/common/errors/InvalidPropertyTokenError.js +1 -1
- package/lib/cjs/common/errors/InvalidPropertyTokenError.js.map +1 -1
- package/lib/cjs/common/index.js +0 -2
- package/lib/cjs/common/index.js.map +1 -1
- package/lib/cjs/common/registries/GlobalProviders.js +11 -3
- package/lib/cjs/common/registries/GlobalProviders.js.map +1 -1
- package/lib/cjs/common/services/DIConfiguration.js +2 -2
- package/lib/cjs/common/services/DIConfiguration.js.map +1 -1
- package/lib/cjs/common/services/InjectorService.js +55 -165
- package/lib/cjs/common/services/InjectorService.js.map +1 -1
- package/lib/cjs/node/decorators/injectContext.js +12 -3
- package/lib/cjs/node/decorators/injectContext.js.map +1 -1
- package/lib/cjs/node/domain/ContextLogger.js +0 -4
- package/lib/cjs/node/domain/ContextLogger.js.map +1 -1
- package/lib/cjs/node/domain/DIContext.js +1 -2
- package/lib/cjs/node/domain/DIContext.js.map +1 -1
- package/lib/cjs/node/services/DITest.js +15 -7
- package/lib/cjs/node/services/DITest.js.map +1 -1
- package/lib/esm/common/constants/constants.js +5 -3
- package/lib/esm/common/constants/constants.js.map +1 -1
- package/lib/esm/common/decorators/autoInjectable.js +23 -3
- package/lib/esm/common/decorators/autoInjectable.js.map +1 -1
- package/lib/esm/common/decorators/constant.js +28 -11
- package/lib/esm/common/decorators/constant.js.map +1 -1
- package/lib/esm/common/decorators/inject.js +63 -73
- package/lib/esm/common/decorators/inject.js.map +1 -1
- package/lib/esm/common/decorators/intercept.js +40 -13
- package/lib/esm/common/decorators/intercept.js.map +1 -1
- package/lib/esm/common/decorators/lazyInject.js +14 -14
- package/lib/esm/common/decorators/lazyInject.js.map +1 -1
- package/lib/esm/common/decorators/opts.js +2 -2
- package/lib/esm/common/decorators/opts.js.map +1 -1
- package/lib/esm/common/decorators/useOpts.js +3 -7
- package/lib/esm/common/decorators/useOpts.js.map +1 -1
- package/lib/esm/common/decorators/value.js +17 -11
- package/lib/esm/common/decorators/value.js.map +1 -1
- package/lib/esm/common/domain/Container.js +3 -3
- package/lib/esm/common/domain/Container.js.map +1 -1
- package/lib/esm/common/domain/ControllerProvider.js +0 -1
- package/lib/esm/common/domain/ControllerProvider.js.map +1 -1
- package/lib/esm/common/domain/LocalsContainer.js +4 -1
- package/lib/esm/common/domain/LocalsContainer.js.map +1 -1
- package/lib/esm/common/domain/Provider.js +5 -16
- package/lib/esm/common/domain/Provider.js.map +1 -1
- package/lib/esm/common/errors/InjectionError.js +2 -3
- package/lib/esm/common/errors/InjectionError.js.map +1 -1
- package/lib/esm/common/errors/InvalidPropertyTokenError.js +1 -1
- package/lib/esm/common/errors/InvalidPropertyTokenError.js.map +1 -1
- package/lib/esm/common/index.js +0 -2
- package/lib/esm/common/index.js.map +1 -1
- package/lib/esm/common/registries/GlobalProviders.js +11 -3
- package/lib/esm/common/registries/GlobalProviders.js.map +1 -1
- package/lib/esm/common/services/DIConfiguration.js +2 -2
- package/lib/esm/common/services/DIConfiguration.js.map +1 -1
- package/lib/esm/common/services/InjectorService.js +57 -167
- package/lib/esm/common/services/InjectorService.js.map +1 -1
- package/lib/esm/node/decorators/injectContext.js +13 -4
- package/lib/esm/node/decorators/injectContext.js.map +1 -1
- package/lib/esm/node/domain/ContextLogger.js +0 -4
- package/lib/esm/node/domain/ContextLogger.js.map +1 -1
- package/lib/esm/node/domain/DIContext.js +1 -2
- package/lib/esm/node/domain/DIContext.js.map +1 -1
- package/lib/esm/node/services/DITest.js +17 -9
- package/lib/esm/node/services/DITest.js.map +1 -1
- package/lib/types/common/constants/constants.d.ts +5 -3
- package/lib/types/common/decorators/constant.d.ts +4 -1
- package/lib/types/common/decorators/inject.d.ts +17 -4
- package/lib/types/common/decorators/intercept.d.ts +3 -0
- package/lib/types/common/decorators/value.d.ts +2 -1
- package/lib/types/common/domain/Container.d.ts +3 -3
- package/lib/types/common/domain/Provider.d.ts +6 -6
- package/lib/types/common/index.d.ts +0 -2
- package/lib/types/common/interfaces/ImportTokenProviderOpts.d.ts +2 -2
- package/lib/types/common/interfaces/InterceptorContext.d.ts +1 -1
- package/lib/types/common/interfaces/InvokeOptions.d.ts +8 -2
- package/lib/types/common/interfaces/ProviderOpts.d.ts +1 -1
- package/lib/types/common/interfaces/RegistrySettings.d.ts +2 -1
- package/lib/types/common/interfaces/ResolvedInvokeOptions.d.ts +1 -1
- package/lib/types/common/interfaces/TokenProvider.d.ts +2 -6
- package/lib/types/common/registries/GlobalProviders.d.ts +2 -2
- package/lib/types/common/services/InjectorService.d.ts +30 -54
- package/lib/types/node/services/DITest.d.ts +1 -1
- package/lib/types-esm/common/constants/constants.d.ts +5 -3
- package/lib/types-esm/common/decorators/constant.d.ts +4 -1
- package/lib/types-esm/common/decorators/inject.d.ts +17 -4
- package/lib/types-esm/common/decorators/intercept.d.ts +3 -0
- package/lib/types-esm/common/decorators/value.d.ts +2 -1
- package/lib/types-esm/common/domain/Container.d.ts +3 -3
- package/lib/types-esm/common/domain/Provider.d.ts +6 -6
- package/lib/types-esm/common/index.d.ts +0 -2
- package/lib/types-esm/common/interfaces/ImportTokenProviderOpts.d.ts +2 -2
- package/lib/types-esm/common/interfaces/InterceptorContext.d.ts +1 -1
- package/lib/types-esm/common/interfaces/InvokeOptions.d.ts +8 -2
- package/lib/types-esm/common/interfaces/ProviderOpts.d.ts +1 -1
- package/lib/types-esm/common/interfaces/RegistrySettings.d.ts +2 -1
- package/lib/types-esm/common/interfaces/ResolvedInvokeOptions.d.ts +1 -1
- package/lib/types-esm/common/interfaces/TokenProvider.d.ts +2 -6
- package/lib/types-esm/common/registries/GlobalProviders.d.ts +2 -2
- package/lib/types-esm/common/services/InjectorService.d.ts +30 -54
- package/lib/types-esm/node/services/DITest.d.ts +1 -1
- package/package.json +13 -9
- package/vitest.config.mts +4 -4
- package/lib/cjs/common/errors/UndefinedTokenError.js +0 -11
- package/lib/cjs/common/errors/UndefinedTokenError.js.map +0 -1
- package/lib/cjs/common/interfaces/InjectableProperties.js +0 -3
- package/lib/cjs/common/interfaces/InjectableProperties.js.map +0 -1
- package/lib/esm/common/errors/UndefinedTokenError.js +0 -7
- package/lib/esm/common/errors/UndefinedTokenError.js.map +0 -1
- package/lib/esm/common/interfaces/InjectableProperties.js +0 -2
- package/lib/esm/common/interfaces/InjectableProperties.js.map +0 -1
- package/lib/types/common/errors/UndefinedTokenError.d.ts +0 -4
- package/lib/types/common/interfaces/InjectableProperties.d.ts +0 -25
- package/lib/types-esm/common/errors/UndefinedTokenError.d.ts +0 -4
- package/lib/types-esm/common/interfaces/InjectableProperties.d.ts +0 -25
|
@@ -5,22 +5,11 @@ const core_1 = require("@tsed/core");
|
|
|
5
5
|
const ProviderScope_js_1 = require("./ProviderScope.js");
|
|
6
6
|
const ProviderType_js_1 = require("./ProviderType.js");
|
|
7
7
|
class Provider {
|
|
8
|
-
/**
|
|
9
|
-
* Token group provider to retrieve all provider from the same type
|
|
10
|
-
*/
|
|
11
|
-
type = ProviderType_js_1.ProviderType.PROVIDER;
|
|
12
|
-
deps;
|
|
13
|
-
imports;
|
|
14
|
-
alias;
|
|
15
|
-
useFactory;
|
|
16
|
-
useAsyncFactory;
|
|
17
|
-
useValue;
|
|
18
|
-
hooks;
|
|
19
|
-
_useClass;
|
|
20
|
-
_provide;
|
|
21
|
-
_store;
|
|
22
|
-
_tokenStore;
|
|
23
8
|
constructor(token, options = {}) {
|
|
9
|
+
/**
|
|
10
|
+
* Token group provider to retrieve all provider from the same type
|
|
11
|
+
*/
|
|
12
|
+
this.type = ProviderType_js_1.ProviderType.PROVIDER;
|
|
24
13
|
this.provide = token;
|
|
25
14
|
this.useClass = token;
|
|
26
15
|
Object.assign(this, options);
|
|
@@ -41,7 +30,7 @@ class Provider {
|
|
|
41
30
|
return this._useClass;
|
|
42
31
|
}
|
|
43
32
|
/**
|
|
44
|
-
* Create a new store if the given value is a class. Otherwise the value is ignored.
|
|
33
|
+
* Create a new store if the given value is a class. Otherwise, the value is ignored.
|
|
45
34
|
* @param value
|
|
46
35
|
*/
|
|
47
36
|
set useClass(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/common/domain/Provider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/common/domain/Provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,10 @@ exports.InjectionError = void 0;
|
|
|
4
4
|
const core_1 = require("@tsed/core");
|
|
5
5
|
const colors_js_1 = require("../utils/colors.js");
|
|
6
6
|
class InjectionError extends Error {
|
|
7
|
-
name = "INJECTION_ERROR";
|
|
8
|
-
tokens = [];
|
|
9
|
-
origin;
|
|
10
7
|
constructor(token, origin) {
|
|
11
8
|
super((0, core_1.isString)(origin) ? origin : "");
|
|
9
|
+
this.name = "INJECTION_ERROR";
|
|
10
|
+
this.tokens = [];
|
|
12
11
|
this.tokens = [token];
|
|
13
12
|
if (origin) {
|
|
14
13
|
if ((0, core_1.isString)(origin)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InjectionError.js","sourceRoot":"","sources":["../../../../src/common/errors/InjectionError.ts"],"names":[],"mappings":";;;AAAA,qCAA6E;AAE7E,kDAA0C;AAE1C,MAAa,cAAe,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"InjectionError.js","sourceRoot":"","sources":["../../../../src/common/errors/InjectionError.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.InvalidPropertyTokenError = void 0;
|
|
4
4
|
const core_1 = require("@tsed/core");
|
|
5
5
|
class InvalidPropertyTokenError extends Error {
|
|
6
|
-
name = "INVALID_TOKEN_ERROR";
|
|
7
6
|
constructor(target, propertyKey) {
|
|
8
7
|
super(`Object isn't a valid token. Please check the token set on ${(0, core_1.nameOf)((0, core_1.classOf)(target))}.${propertyKey}.\n- Check that it is not a circular reference.\n- Check that the token (class or symbol) exists`);
|
|
8
|
+
this.name = "INVALID_TOKEN_ERROR";
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.InvalidPropertyTokenError = InvalidPropertyTokenError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidPropertyTokenError.js","sourceRoot":"","sources":["../../../../src/common/errors/InvalidPropertyTokenError.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAE3C,MAAa,yBAA0B,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"InvalidPropertyTokenError.js","sourceRoot":"","sources":["../../../../src/common/errors/InvalidPropertyTokenError.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAE3C,MAAa,yBAA0B,SAAQ,KAAK;IAGlD,YAAY,MAAW,EAAE,WAAmB;QAC1C,KAAK,CACH,6DAA6D,IAAA,aAAM,EACjE,IAAA,cAAO,EAAC,MAAM,CAAC,CAChB,IAAI,WAAW,kGAAkG,CACnH,CAAC;QAPJ,SAAI,GAAG,qBAAqB,CAAC;IAQ7B,CAAC;CACF;AAVD,8DAUC"}
|
package/lib/cjs/common/index.js
CHANGED
|
@@ -30,13 +30,11 @@ tslib_1.__exportStar(require("./domain/ProviderScope.js"), exports);
|
|
|
30
30
|
tslib_1.__exportStar(require("./domain/ProviderType.js"), exports);
|
|
31
31
|
tslib_1.__exportStar(require("./errors/InjectionError.js"), exports);
|
|
32
32
|
tslib_1.__exportStar(require("./errors/InvalidPropertyTokenError.js"), exports);
|
|
33
|
-
tslib_1.__exportStar(require("./errors/UndefinedTokenError.js"), exports);
|
|
34
33
|
tslib_1.__exportStar(require("./interfaces/DIConfigurationOptions.js"), exports);
|
|
35
34
|
tslib_1.__exportStar(require("./interfaces/DILogger.js"), exports);
|
|
36
35
|
tslib_1.__exportStar(require("./interfaces/DILoggerOptions.js"), exports);
|
|
37
36
|
tslib_1.__exportStar(require("./interfaces/DIResolver.js"), exports);
|
|
38
37
|
tslib_1.__exportStar(require("./interfaces/ImportTokenProviderOpts.js"), exports);
|
|
39
|
-
tslib_1.__exportStar(require("./interfaces/InjectableProperties.js"), exports);
|
|
40
38
|
tslib_1.__exportStar(require("./interfaces/InterceptorContext.js"), exports);
|
|
41
39
|
tslib_1.__exportStar(require("./interfaces/InterceptorMethods.js"), exports);
|
|
42
40
|
tslib_1.__exportStar(require("./interfaces/InvokeOptions.js"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,mEAAyC;AACzC,yEAA+C;AAC/C,wEAA8C;AAC9C,mEAAyC;AACzC,qEAA2C;AAC3C,iEAAuC;AACvC,qEAA2C;AAC3C,oEAA0C;AAC1C,sEAA4C;AAC5C,qEAA2C;AAC3C,iEAAuC;AACvC,+DAAqC;AACrC,2EAAiD;AACjD,gEAAsC;AACtC,kEAAwC;AACxC,kEAAwC;AACxC,gEAAsC;AACtC,gEAAsC;AACtC,yEAA+C;AAC/C,6EAAmD;AACnD,sEAA4C;AAC5C,+DAAqC;AACrC,oEAA0C;AAC1C,mEAAyC;AACzC,qEAA2C;AAC3C,gFAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,mEAAyC;AACzC,yEAA+C;AAC/C,wEAA8C;AAC9C,mEAAyC;AACzC,qEAA2C;AAC3C,iEAAuC;AACvC,qEAA2C;AAC3C,oEAA0C;AAC1C,sEAA4C;AAC5C,qEAA2C;AAC3C,iEAAuC;AACvC,+DAAqC;AACrC,2EAAiD;AACjD,gEAAsC;AACtC,kEAAwC;AACxC,kEAAwC;AACxC,gEAAsC;AACtC,gEAAsC;AACtC,yEAA+C;AAC/C,6EAAmD;AACnD,sEAA4C;AAC5C,+DAAqC;AACrC,oEAA0C;AAC1C,mEAAyC;AACzC,qEAA2C;AAC3C,gFAAsD;AACtD,iFAAuD;AACvD,mEAAyC;AACzC,0EAAgD;AAChD,qEAA2C;AAC3C,kFAAwD;AACxD,6EAAmD;AACnD,6EAAmD;AACnD,wEAA8C;AAC9C,oEAA0C;AAC1C,iEAAuC;AACvC,uEAA6C;AAC7C,2EAAiD;AACjD,gFAAsD;AACtD,wEAA8C;AAC9C,qEAA2C;AAC3C,0EAAgD;AAChD,2EAAiD;AACjD,wEAA8C;AAC9C,iEAAuC;AACvC,wEAA8C;AAC9C,4DAAkC;AAClC,qEAA2C;AAC3C,sEAA4C;AAC5C,gFAAsD;AACtD,wEAA8C"}
|
|
@@ -5,7 +5,11 @@ const core_1 = require("@tsed/core");
|
|
|
5
5
|
const Provider_js_1 = require("../domain/Provider.js");
|
|
6
6
|
const ProviderType_js_1 = require("../domain/ProviderType.js");
|
|
7
7
|
class GlobalProviderRegistry extends Map {
|
|
8
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.#settings = new Map();
|
|
11
|
+
}
|
|
12
|
+
#settings;
|
|
9
13
|
/**
|
|
10
14
|
* The get() method returns a specified element from a Map object.
|
|
11
15
|
* @param key Required. The key of the element to return from the Map object.
|
|
@@ -39,7 +43,11 @@ class GlobalProviderRegistry extends Map {
|
|
|
39
43
|
merge(target, options) {
|
|
40
44
|
const meta = this.createIfNotExists(target, options);
|
|
41
45
|
Object.keys(options).forEach((key) => {
|
|
42
|
-
|
|
46
|
+
let value = options[key];
|
|
47
|
+
// if (key === "type") {
|
|
48
|
+
// value = String(value);
|
|
49
|
+
// }
|
|
50
|
+
meta[key] = value;
|
|
43
51
|
});
|
|
44
52
|
this.set(target, meta);
|
|
45
53
|
return meta;
|
|
@@ -68,7 +76,7 @@ class GlobalProviderRegistry extends Map {
|
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
78
|
getRegistrySettings(target) {
|
|
71
|
-
let type =
|
|
79
|
+
let type = ProviderType_js_1.ProviderType.PROVIDER;
|
|
72
80
|
if (typeof target === "string") {
|
|
73
81
|
type = target;
|
|
74
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalProviders.js","sourceRoot":"","sources":["../../../../src/common/registries/GlobalProviders.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAElD,uDAA+C;AAC/C,+DAAuD;AAOvD,MAAa,sBAAuB,SAAQ,GAA4B;
|
|
1
|
+
{"version":3,"file":"GlobalProviders.js","sourceRoot":"","sources":["../../../../src/common/registries/GlobalProviders.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DIConfiguration = void 0;
|
|
4
4
|
const core_1 = require("@tsed/core");
|
|
5
5
|
class DIConfiguration {
|
|
6
|
-
default = new Map();
|
|
7
|
-
map = new Map();
|
|
8
6
|
constructor(initialProps = {}) {
|
|
7
|
+
this.default = new Map();
|
|
8
|
+
this.map = new Map();
|
|
9
9
|
Object.entries({
|
|
10
10
|
scopes: {},
|
|
11
11
|
resolvers: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DIConfiguration.js","sourceRoot":"","sources":["../../../../src/common/services/DIConfiguration.ts"],"names":[],"mappings":";;;AAAA,qCAAoE;AAQpE,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"DIConfiguration.js","sourceRoot":"","sources":["../../../../src/common/services/DIConfiguration.ts"],"names":[],"mappings":";;;AAAA,qCAAoE;AAQpE,MAAa,eAAe;IAI1B,YAAY,YAAY,GAAG,EAAE;QAHpB,YAAO,GAAqB,IAAI,GAAG,EAAE,CAAC;QACrC,QAAG,GAAqB,IAAI,GAAG,EAAE,CAAC;QAG1C,MAAM,CAAC,OAAO,CAAC;YACb,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,GAAG,YAAY;SAChB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAA,sBAAe,EAAkB,IAAI,EAAE;YAC5C,OAAO,CAAC,MAAM;gBACZ,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,CAAC,CAAS;QACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,CAAC,KAAU;QAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,KAAoC;QAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,SAAS,CAAC,SAAuB;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,CAAC,OAAoD;QAC9D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM,CAAC,MAAoB;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM,CAAC,KAA+B;QACxC,MAAM,MAAM,GAAG,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,KAAc;QACtB,IAAI,CAAC,MAAM,GAAG,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,UAAsE,EAAE,OAAa;QAC3F,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,WAAiD,EAAE,KAAW;QAChE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;gBAClC,aAAa;gBACb,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aACjC;SACF;aAAM;YACL,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,WAAmB,EAAE,KAAU;QACpC,IAAA,eAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAU,WAAmB,EAAE,YAAgB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAU;QAChB,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAES,MAAM,CAAC,WAAmB,EAAE,YAAkB;QACtD,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAE9C,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;CACF;AAnKD,0CAmKC"}
|
|
@@ -8,18 +8,17 @@ const constants_js_1 = require("../constants/constants.js");
|
|
|
8
8
|
const configuration_js_1 = require("../decorators/configuration.js");
|
|
9
9
|
const injectable_js_1 = require("../decorators/injectable.js");
|
|
10
10
|
const Container_js_1 = require("../domain/Container.js");
|
|
11
|
-
const InjectablePropertyType_js_1 = require("../domain/InjectablePropertyType.js");
|
|
12
11
|
const LocalsContainer_js_1 = require("../domain/LocalsContainer.js");
|
|
13
12
|
const Provider_js_1 = require("../domain/Provider.js");
|
|
14
13
|
const ProviderScope_js_1 = require("../domain/ProviderScope.js");
|
|
15
14
|
const InjectionError_js_1 = require("../errors/InjectionError.js");
|
|
16
|
-
const UndefinedTokenError_js_1 = require("../errors/UndefinedTokenError.js");
|
|
17
15
|
const GlobalProviders_js_1 = require("../registries/GlobalProviders.js");
|
|
18
16
|
const createContainer_js_1 = require("../utils/createContainer.js");
|
|
19
17
|
const getConstructorDependencies_js_1 = require("../utils/getConstructorDependencies.js");
|
|
20
18
|
const resolveControllers_js_1 = require("../utils/resolveControllers.js");
|
|
21
19
|
const DIConfiguration_js_1 = require("./DIConfiguration.js");
|
|
22
20
|
let globalInjector;
|
|
21
|
+
let globalLocals;
|
|
23
22
|
/**
|
|
24
23
|
* This service contain all services collected by `@Service` or services declared manually with `InjectorService.factory()` or `InjectorService.service()`.
|
|
25
24
|
*
|
|
@@ -42,13 +41,15 @@ let globalInjector;
|
|
|
42
41
|
* ```
|
|
43
42
|
*/
|
|
44
43
|
let InjectorService = InjectorService_1 = class InjectorService extends Container_js_1.Container {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
resolvedConfiguration = false;
|
|
48
|
-
#cache = new LocalsContainer_js_1.LocalsContainer();
|
|
49
|
-
#hooks = new core_1.Hooks();
|
|
44
|
+
#cache;
|
|
45
|
+
#hooks;
|
|
50
46
|
constructor() {
|
|
51
47
|
super();
|
|
48
|
+
this.settings = new DIConfiguration_js_1.DIConfiguration();
|
|
49
|
+
this.logger = console;
|
|
50
|
+
this.resolvedConfiguration = false;
|
|
51
|
+
this.#cache = new LocalsContainer_js_1.LocalsContainer();
|
|
52
|
+
this.#hooks = new core_1.Hooks();
|
|
52
53
|
this.#cache.set(InjectorService_1, this);
|
|
53
54
|
globalInjector = this;
|
|
54
55
|
}
|
|
@@ -58,36 +59,33 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
58
59
|
get scopes() {
|
|
59
60
|
return this.settings.scopes || {};
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Return the current injector service.
|
|
64
|
+
*/
|
|
65
|
+
static getInstance() {
|
|
62
66
|
if (!globalInjector) {
|
|
63
67
|
throw new Error("InjectorService instance is not created yet.");
|
|
64
68
|
}
|
|
65
|
-
|
|
66
|
-
const list = [];
|
|
67
|
-
const length = Math.max(deps.length, args.length);
|
|
68
|
-
for (let i = 0; i < length; i++) {
|
|
69
|
-
if (args[i] !== undefined) {
|
|
70
|
-
list.push(args[i]);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
const value = deps[i];
|
|
74
|
-
const instance = (0, core_1.isArray)(value)
|
|
75
|
-
? globalInjector.getMany(value[0], locals, { parent: token })
|
|
76
|
-
: globalInjector.invoke(value, locals, { parent: token });
|
|
77
|
-
list.push(instance);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return list;
|
|
69
|
+
return globalInjector;
|
|
81
70
|
}
|
|
82
|
-
|
|
83
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Get the locals container initiated by DITest or .bootstrap() method.
|
|
73
|
+
*/
|
|
74
|
+
static getLocals() {
|
|
75
|
+
return globalLocals || (globalLocals = new LocalsContainer_js_1.LocalsContainer());
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Reset the locals container.
|
|
79
|
+
*/
|
|
80
|
+
static unsetLocals() {
|
|
81
|
+
globalLocals = undefined;
|
|
84
82
|
}
|
|
85
83
|
/**
|
|
86
84
|
* Retrieve default scope for a given provider.
|
|
87
85
|
* @param provider
|
|
88
86
|
*/
|
|
89
87
|
scopeOf(provider) {
|
|
90
|
-
return provider.scope || this.scopes[provider.type] || ProviderScope_js_1.ProviderScope.SINGLETON;
|
|
88
|
+
return provider.scope || this.scopes[String(provider.type)] || ProviderScope_js_1.ProviderScope.SINGLETON;
|
|
91
89
|
}
|
|
92
90
|
/**
|
|
93
91
|
* Return a list of instance build by the injector.
|
|
@@ -113,7 +111,6 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
113
111
|
*
|
|
114
112
|
* @param token The class or symbol registered in InjectorService.
|
|
115
113
|
* @param options
|
|
116
|
-
* @returns {boolean}
|
|
117
114
|
*/
|
|
118
115
|
get(token, options = {}) {
|
|
119
116
|
const instance = this.getInstance(token);
|
|
@@ -131,21 +128,21 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
131
128
|
}
|
|
132
129
|
/**
|
|
133
130
|
* Return all instance of the same provider type
|
|
134
|
-
* @param type
|
|
135
|
-
* @param locals
|
|
136
|
-
* @param options
|
|
137
131
|
*/
|
|
138
132
|
getMany(type, locals, options) {
|
|
139
|
-
return this.getProviders(type).map((provider) =>
|
|
133
|
+
return this.getProviders(type).map((provider) => {
|
|
134
|
+
return this.invoke(provider.token, locals, options);
|
|
135
|
+
});
|
|
140
136
|
}
|
|
141
137
|
/**
|
|
142
138
|
* The has() method returns a boolean indicating whether an element with the specified key exists or not.
|
|
143
|
-
* @returns {boolean}
|
|
144
|
-
* @param token
|
|
145
139
|
*/
|
|
146
140
|
has(token) {
|
|
147
141
|
return this.#cache.get(token) !== undefined;
|
|
148
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Declare an alias for a given token.
|
|
145
|
+
*/
|
|
149
146
|
alias(token, alias) {
|
|
150
147
|
this.#cache.set(alias, this.#cache.get(token));
|
|
151
148
|
return this;
|
|
@@ -183,8 +180,8 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
183
180
|
if (instance != undefined) {
|
|
184
181
|
return instance;
|
|
185
182
|
}
|
|
186
|
-
if (token === constants_js_1.
|
|
187
|
-
return
|
|
183
|
+
if (token === constants_js_1.DI_USE_PARAM_OPTIONS) {
|
|
184
|
+
return options.useOpts;
|
|
188
185
|
}
|
|
189
186
|
const provider = this.ensureProvider(token);
|
|
190
187
|
const set = (instance) => {
|
|
@@ -206,6 +203,7 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
206
203
|
}
|
|
207
204
|
if (!provider.isAsync() || !(0, core_1.isPromise)(instance)) {
|
|
208
205
|
set(instance);
|
|
206
|
+
// locals?.delete(DI_USE_PARAM_OPTIONS);
|
|
209
207
|
return instance;
|
|
210
208
|
}
|
|
211
209
|
// store promise to lock token in cache
|
|
@@ -214,6 +212,7 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
214
212
|
set(instance);
|
|
215
213
|
return instance;
|
|
216
214
|
});
|
|
215
|
+
// locals?.delete(DI_USE_PARAM_OPTIONS);
|
|
217
216
|
return instance;
|
|
218
217
|
case ProviderScope_js_1.ProviderScope.REQUEST:
|
|
219
218
|
if (locals) {
|
|
@@ -222,6 +221,7 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
222
221
|
locals.hooks.on("$onDestroy", (...args) => provider.hooks.$onDestroy(instance, ...args));
|
|
223
222
|
}
|
|
224
223
|
}
|
|
224
|
+
// locals?.delete(DI_USE_PARAM_OPTIONS);
|
|
225
225
|
return instance;
|
|
226
226
|
}
|
|
227
227
|
return instance;
|
|
@@ -236,6 +236,9 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Build only providers which are synchronous.
|
|
241
|
+
*/
|
|
239
242
|
loadSync() {
|
|
240
243
|
for (const [, provider] of this) {
|
|
241
244
|
if (!this.has(provider.token) && this.scopeOf(provider) === ProviderScope_js_1.ProviderScope.SINGLETON) {
|
|
@@ -311,124 +314,6 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
311
314
|
});
|
|
312
315
|
this.resolvedConfiguration = true;
|
|
313
316
|
}
|
|
314
|
-
/**
|
|
315
|
-
*
|
|
316
|
-
* @param instance
|
|
317
|
-
* @param locals
|
|
318
|
-
* @param options
|
|
319
|
-
*/
|
|
320
|
-
bindInjectableProperties(instance, locals, options) {
|
|
321
|
-
const properties = (0, core_1.ancestorsOf)((0, core_1.classOf)(instance)).reduce((properties, target) => {
|
|
322
|
-
const store = core_1.Store.from(target);
|
|
323
|
-
return {
|
|
324
|
-
...properties,
|
|
325
|
-
...(store.get(constants_js_1.INJECTABLE_PROP) || {})
|
|
326
|
-
};
|
|
327
|
-
}, {});
|
|
328
|
-
Object.values(properties).forEach((definition) => {
|
|
329
|
-
switch (definition.bindingType) {
|
|
330
|
-
case InjectablePropertyType_js_1.InjectablePropertyType.PROPERTY:
|
|
331
|
-
this.bindProperty(instance, definition, locals, options);
|
|
332
|
-
break;
|
|
333
|
-
case InjectablePropertyType_js_1.InjectablePropertyType.CONSTANT:
|
|
334
|
-
this.bindConstant(instance, definition);
|
|
335
|
-
break;
|
|
336
|
-
case InjectablePropertyType_js_1.InjectablePropertyType.VALUE:
|
|
337
|
-
this.bindValue(instance, definition);
|
|
338
|
-
break;
|
|
339
|
-
case InjectablePropertyType_js_1.InjectablePropertyType.INTERCEPTOR:
|
|
340
|
-
this.bindInterceptor(instance, definition);
|
|
341
|
-
break;
|
|
342
|
-
}
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Create an injectable property.
|
|
347
|
-
*
|
|
348
|
-
* @param instance
|
|
349
|
-
* @param {string} propertyKey
|
|
350
|
-
* @param {any} useType
|
|
351
|
-
* @param resolver
|
|
352
|
-
* @param options
|
|
353
|
-
* @param locals
|
|
354
|
-
* @param invokeOptions
|
|
355
|
-
*/
|
|
356
|
-
bindProperty(instance, { propertyKey, resolver, options = {} }, locals, invokeOptions) {
|
|
357
|
-
let get;
|
|
358
|
-
get = resolver(this, locals, { ...invokeOptions, options });
|
|
359
|
-
(0, core_1.catchError)(() => Object.defineProperty(instance, propertyKey, {
|
|
360
|
-
get
|
|
361
|
-
}));
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
*
|
|
365
|
-
* @param instance
|
|
366
|
-
* @param {string} propertyKey
|
|
367
|
-
* @param {any} useType
|
|
368
|
-
*/
|
|
369
|
-
bindValue(instance, { propertyKey, expression, defaultValue }) {
|
|
370
|
-
const descriptor = {
|
|
371
|
-
get: () => this.settings.get(expression) || defaultValue,
|
|
372
|
-
set: (value) => this.settings.set(expression, value),
|
|
373
|
-
enumerable: true,
|
|
374
|
-
configurable: true
|
|
375
|
-
};
|
|
376
|
-
(0, core_1.catchError)(() => Object.defineProperty(instance, propertyKey, descriptor));
|
|
377
|
-
}
|
|
378
|
-
/**
|
|
379
|
-
*
|
|
380
|
-
* @param instance
|
|
381
|
-
* @param {string} propertyKey
|
|
382
|
-
* @param {any} useType
|
|
383
|
-
*/
|
|
384
|
-
bindConstant(instance, { propertyKey, expression, defaultValue }) {
|
|
385
|
-
let bean;
|
|
386
|
-
const get = () => {
|
|
387
|
-
if (bean !== undefined) {
|
|
388
|
-
return bean;
|
|
389
|
-
}
|
|
390
|
-
const value = this.settings.get(expression, defaultValue);
|
|
391
|
-
bean = Object.freeze((0, core_1.deepClone)(value));
|
|
392
|
-
return bean;
|
|
393
|
-
};
|
|
394
|
-
const descriptor = {
|
|
395
|
-
get,
|
|
396
|
-
enumerable: true,
|
|
397
|
-
configurable: true
|
|
398
|
-
};
|
|
399
|
-
(0, core_1.catchError)(() => Object.defineProperty(instance, propertyKey, descriptor));
|
|
400
|
-
}
|
|
401
|
-
/**
|
|
402
|
-
*
|
|
403
|
-
* @param instance
|
|
404
|
-
* @param propertyKey
|
|
405
|
-
* @param useType
|
|
406
|
-
* @param options
|
|
407
|
-
*/
|
|
408
|
-
bindInterceptor(instance, { propertyKey, useType, options }) {
|
|
409
|
-
const target = (0, core_1.classOf)(instance);
|
|
410
|
-
const originalMethod = instance[propertyKey];
|
|
411
|
-
instance[propertyKey] = (...args) => {
|
|
412
|
-
const next = (err) => {
|
|
413
|
-
if (!err) {
|
|
414
|
-
return originalMethod.apply(instance, args);
|
|
415
|
-
}
|
|
416
|
-
throw err;
|
|
417
|
-
};
|
|
418
|
-
const context = {
|
|
419
|
-
target,
|
|
420
|
-
propertyKey,
|
|
421
|
-
args,
|
|
422
|
-
options,
|
|
423
|
-
next
|
|
424
|
-
};
|
|
425
|
-
const interceptor = this.get(useType);
|
|
426
|
-
return interceptor.intercept({
|
|
427
|
-
...context,
|
|
428
|
-
options
|
|
429
|
-
}, next);
|
|
430
|
-
};
|
|
431
|
-
}
|
|
432
317
|
async lazyInvoke(token) {
|
|
433
318
|
let instance = this.getInstance(token);
|
|
434
319
|
if (!instance) {
|
|
@@ -443,12 +328,13 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
443
328
|
* Emit an event to all service. See service [lifecycle hooks](/docs/services.md#lifecycle-hooks).
|
|
444
329
|
* @param eventName The event name to emit at all services.
|
|
445
330
|
* @param args List of the parameters to give to each service.
|
|
446
|
-
* @returns
|
|
331
|
+
* @returns A list of promises.
|
|
447
332
|
*/
|
|
448
333
|
emit(eventName, ...args) {
|
|
449
334
|
return this.#hooks.asyncEmit(eventName, args);
|
|
450
335
|
}
|
|
451
336
|
/**
|
|
337
|
+
* Alter value attached to an event.
|
|
452
338
|
* @param eventName
|
|
453
339
|
* @param value
|
|
454
340
|
* @param args
|
|
@@ -457,6 +343,7 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
457
343
|
return this.#hooks.alter(eventName, value, args);
|
|
458
344
|
}
|
|
459
345
|
/**
|
|
346
|
+
* Alter value attached to an event asynchronously.
|
|
460
347
|
* @param eventName
|
|
461
348
|
* @param value
|
|
462
349
|
* @param args
|
|
@@ -464,6 +351,9 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
464
351
|
alterAsync(eventName, value, ...args) {
|
|
465
352
|
return this.#hooks.asyncAlter(eventName, value, args);
|
|
466
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* Destroy the injector and all services.
|
|
356
|
+
*/
|
|
467
357
|
async destroy() {
|
|
468
358
|
await this.emit("$onDestroy");
|
|
469
359
|
globalInjector = undefined;
|
|
@@ -508,14 +398,11 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
508
398
|
try {
|
|
509
399
|
const invokeDependency = (parent) => (token, index) => {
|
|
510
400
|
currentDependency = { token, index, deps };
|
|
511
|
-
if (token !== constants_js_1.DI_PARAM_OPTIONS) {
|
|
512
|
-
const options = provider?.store?.get(`${constants_js_1.DI_PARAM_OPTIONS}:${index}`);
|
|
513
|
-
locals.set(constants_js_1.DI_PARAM_OPTIONS, options || {});
|
|
514
|
-
}
|
|
515
401
|
if ((0, core_1.isArray)(token)) {
|
|
516
402
|
return this.getMany(token[0], locals, options);
|
|
517
403
|
}
|
|
518
|
-
|
|
404
|
+
const useOpts = provider?.store?.get(`${constants_js_1.DI_USE_PARAM_OPTIONS}:${index}`) || options.useOpts;
|
|
405
|
+
return (0, core_1.isInheritedFrom)(token, Provider_js_1.Provider, 1) ? provider : this.invoke(token, locals, { parent, useOpts });
|
|
519
406
|
};
|
|
520
407
|
// Invoke manually imported providers
|
|
521
408
|
imports.forEach(invokeDependency());
|
|
@@ -531,15 +418,18 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
531
418
|
throw new InjectionError_js_1.InjectionError(token, `Unable to create new instance from undefined value. Check your provider declaration for ${(0, core_1.nameOf)(token)}`);
|
|
532
419
|
}
|
|
533
420
|
if (instance && (0, core_1.isClass)((0, core_1.classOf)(instance))) {
|
|
534
|
-
|
|
421
|
+
Reflect.defineProperty(instance, constants_js_1.DI_INVOKE_OPTIONS, {
|
|
422
|
+
get: () => ({ rebuild: options.rebuild, locals })
|
|
423
|
+
});
|
|
424
|
+
// TODO add a way to notify DI consumer when a class instance is build
|
|
535
425
|
}
|
|
536
426
|
return instance;
|
|
537
427
|
}
|
|
538
428
|
resolveImportsProviders() {
|
|
539
429
|
this.settings.imports = this.settings.imports
|
|
540
|
-
?.filter((meta) => meta.token !== InjectorService_1)
|
|
430
|
+
?.filter((meta) => (0, core_1.isObject)(meta) && "token" in meta && meta.token !== InjectorService_1)
|
|
541
431
|
.map((meta) => {
|
|
542
|
-
if ("token" in meta) {
|
|
432
|
+
if ((0, core_1.isObject)(meta) && "token" in meta) {
|
|
543
433
|
const { token, ...props } = meta;
|
|
544
434
|
const provider = this.ensureProvider(token, true);
|
|
545
435
|
if (provider) {
|
|
@@ -580,13 +470,13 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
|
|
|
580
470
|
let scope = options.scope;
|
|
581
471
|
let construct;
|
|
582
472
|
if (!token || token === Object) {
|
|
583
|
-
throw new
|
|
473
|
+
throw new Error("Given token is undefined. Could mean a circular dependency problem. Try to use @Inject(() => Token) to solve it.");
|
|
584
474
|
}
|
|
585
475
|
let provider;
|
|
586
476
|
if (!this.hasProvider(token)) {
|
|
587
477
|
provider = new Provider_js_1.Provider(token);
|
|
588
478
|
this.resolvers.forEach((resolver) => {
|
|
589
|
-
const result = resolver.get(token, locals.get(constants_js_1.
|
|
479
|
+
const result = resolver.get(token, locals.get(constants_js_1.DI_USE_PARAM_OPTIONS));
|
|
590
480
|
if (result !== undefined) {
|
|
591
481
|
provider.useFactory = () => result;
|
|
592
482
|
}
|