@tsed/di 8.0.0-rc.4 → 8.0.0-rc.6
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/esm/common/decorators/autoInjectable.js +1 -1
- package/lib/esm/common/decorators/autoInjectable.js.map +1 -1
- package/lib/esm/common/decorators/configuration.js +7 -1
- package/lib/esm/common/decorators/configuration.js.map +1 -1
- package/lib/esm/common/decorators/module.js +2 -4
- package/lib/esm/common/decorators/module.js.map +1 -1
- package/lib/esm/common/domain/LocalsContainer.js +1 -1
- package/lib/esm/common/domain/LocalsContainer.js.map +1 -1
- package/lib/esm/common/domain/Provider.js +11 -13
- package/lib/esm/common/domain/Provider.js.map +1 -1
- package/lib/esm/common/fn/inject.js +3 -2
- package/lib/esm/common/fn/inject.js.map +1 -1
- package/lib/esm/common/fn/injectMany.js +10 -1
- package/lib/esm/common/fn/injectMany.js.map +1 -1
- package/lib/esm/common/fn/injectable.js +2 -48
- package/lib/esm/common/fn/injectable.js.map +1 -1
- package/lib/esm/common/fn/injector.js +5 -17
- package/lib/esm/common/fn/injector.js.map +1 -1
- package/lib/esm/common/fn/lazyInject.js +4 -4
- package/lib/esm/common/fn/lazyInject.js.map +1 -1
- package/lib/esm/common/index.js +2 -3
- package/lib/esm/common/index.js.map +1 -1
- package/lib/esm/common/registries/GlobalProviders.js +8 -14
- package/lib/esm/common/registries/GlobalProviders.js.map +1 -1
- package/lib/esm/common/registries/ProviderRegistry.js +4 -3
- package/lib/esm/common/registries/ProviderRegistry.js.map +1 -1
- package/lib/esm/common/services/DIConfiguration.js +1 -14
- package/lib/esm/common/services/DIConfiguration.js.map +1 -1
- package/lib/esm/common/services/InjectorService.js +157 -157
- package/lib/esm/common/services/InjectorService.js.map +1 -1
- package/lib/esm/common/utils/discoverHooks.js +14 -0
- package/lib/esm/common/utils/discoverHooks.js.map +1 -0
- package/lib/esm/common/utils/providerBuilder.js +55 -0
- package/lib/esm/common/utils/providerBuilder.js.map +1 -0
- package/lib/esm/node/domain/ContextLogger.js +1 -1
- package/lib/esm/node/domain/ContextLogger.js.map +1 -1
- package/lib/esm/node/domain/DIContext.js.map +1 -1
- package/lib/esm/node/services/DITest.js +9 -14
- package/lib/esm/node/services/DITest.js.map +1 -1
- package/lib/esm/node/utils/attachLogger.js +4 -3
- package/lib/esm/node/utils/attachLogger.js.map +1 -1
- package/lib/esm/node/utils/setLoggerConfiguration.js +3 -3
- package/lib/esm/node/utils/setLoggerConfiguration.js.map +1 -1
- package/lib/esm/node/utils/setLoggerFormat.js +8 -7
- package/lib/esm/node/utils/setLoggerFormat.js.map +1 -1
- package/lib/esm/node/utils/setLoggerLevel.js +4 -4
- package/lib/esm/node/utils/setLoggerLevel.js.map +1 -1
- package/lib/types/common/decorators/module.d.ts +0 -6
- package/lib/types/common/domain/LocalsContainer.d.ts +1 -1
- package/lib/types/common/domain/Provider.d.ts +17 -3
- package/lib/types/common/fn/injectMany.d.ts +9 -0
- package/lib/types/common/fn/injectable.d.ts +403 -18
- package/lib/types/common/fn/injector.d.ts +2 -9
- package/lib/types/common/index.d.ts +2 -3
- package/lib/types/common/interfaces/DIConfigurationOptions.d.ts +0 -5
- package/lib/types/common/interfaces/InvokeOptions.d.ts +0 -5
- package/lib/types/common/interfaces/ProviderOpts.d.ts +0 -5
- package/lib/types/common/interfaces/RegistrySettings.d.ts +0 -12
- package/lib/types/common/interfaces/ResolvedInvokeOptions.d.ts +2 -2
- package/lib/types/common/registries/GlobalProviders.d.ts +1 -7
- package/lib/types/common/registries/ProviderRegistry.d.ts +2 -2
- package/lib/types/common/services/DIConfiguration.d.ts +1 -6
- package/lib/types/common/services/InjectorService.d.ts +50 -38
- package/lib/types/common/utils/discoverHooks.d.ts +2 -0
- package/lib/types/common/utils/providerBuilder.d.ts +17 -0
- package/lib/types/node/domain/ContextLogger.d.ts +1 -1
- package/lib/types/node/services/DITest.d.ts +1 -2
- package/lib/types/node/utils/attachLogger.d.ts +2 -2
- package/lib/types/node/utils/setLoggerConfiguration.d.ts +1 -2
- package/lib/types/node/utils/setLoggerFormat.d.ts +1 -3
- package/lib/types/node/utils/setLoggerLevel.d.ts +1 -3
- package/package.json +12 -7
- package/vitest.config.mts +4 -4
- package/lib/esm/common/fn/events.js +0 -31
- package/lib/esm/common/fn/events.js.map +0 -1
- package/lib/esm/common/interfaces/DIResolver.js +0 -2
- package/lib/esm/common/interfaces/DIResolver.js.map +0 -1
- package/lib/esm/common/utils/resolveControllers.js +0 -42
- package/lib/esm/common/utils/resolveControllers.js.map +0 -1
- package/lib/types/common/fn/events.d.ts +0 -23
- package/lib/types/common/interfaces/DIResolver.d.ts +0 -5
- package/lib/types/common/utils/resolveControllers.d.ts +0 -12
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import "../registries/ProviderRegistry.js";
|
|
2
|
+
import { ProviderType } from "../domain/ProviderType.js";
|
|
3
|
+
import { injector } from "../fn/injector.js";
|
|
4
|
+
import { GlobalProviders } from "../registries/GlobalProviders.js";
|
|
5
|
+
export function providerBuilder(props, baseOpts = {}) {
|
|
6
|
+
return (token, options = {}) => {
|
|
7
|
+
const merged = {
|
|
8
|
+
global: !injector().isLoaded(),
|
|
9
|
+
...options,
|
|
10
|
+
...baseOpts,
|
|
11
|
+
provide: token
|
|
12
|
+
};
|
|
13
|
+
const provider = GlobalProviders.merge(token, merged);
|
|
14
|
+
if (!merged.global) {
|
|
15
|
+
injector().setProvider(token, provider);
|
|
16
|
+
}
|
|
17
|
+
return props.reduce((acc, prop) => {
|
|
18
|
+
return {
|
|
19
|
+
...acc,
|
|
20
|
+
[prop]: function (value) {
|
|
21
|
+
provider[prop] = value;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}, {
|
|
26
|
+
factory(factory) {
|
|
27
|
+
provider.useFactory = factory;
|
|
28
|
+
return this;
|
|
29
|
+
},
|
|
30
|
+
asyncFactory(asyncFactory) {
|
|
31
|
+
provider.useAsyncFactory = asyncFactory;
|
|
32
|
+
return this;
|
|
33
|
+
},
|
|
34
|
+
value(value) {
|
|
35
|
+
provider.useValue = value;
|
|
36
|
+
provider.type = ProviderType.VALUE;
|
|
37
|
+
return this;
|
|
38
|
+
},
|
|
39
|
+
class(k) {
|
|
40
|
+
provider.useClass = k;
|
|
41
|
+
return this;
|
|
42
|
+
},
|
|
43
|
+
store() {
|
|
44
|
+
return provider.store;
|
|
45
|
+
},
|
|
46
|
+
inspect() {
|
|
47
|
+
return provider;
|
|
48
|
+
},
|
|
49
|
+
token() {
|
|
50
|
+
return provider.token;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=providerBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerBuilder.js","sourceRoot":"","sources":["../../../../src/common/utils/providerBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,mCAAmC,CAAC;AAI3C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AAcjE,MAAM,UAAU,eAAe,CAA0C,KAAe,EAAE,WAA4C,EAAE;IACtI,OAAO,CACL,KAAY,EACZ,UAAuC,EAAE,EACiB,EAAE;QAC5D,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC9B,GAAG,OAAO;YACV,GAAG,QAAQ;YACX,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,OAAO;gBACL,GAAG,GAAG;gBACN,CAAC,IAAI,CAAC,EAAE,UAAU,KAAU;oBACzB,QAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAChC,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC;QACJ,CAAC,EACD;YACE,OAAO,CAAC,OAAY;gBAClB,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,YAAY,CAAC,YAAiB;gBAC5B,QAAQ,CAAC,eAAe,GAAG,YAAY,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,KAAU;gBACd,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC1B,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,CAAM;gBACV,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK;gBACH,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;YACD,OAAO;gBACL,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,KAAK;gBACH,OAAO,QAAQ,CAAC,KAAc,CAAC;YACjC,CAAC;SAC0D,CAC9D,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextLogger.js","sourceRoot":"","sources":["../../../../src/node/domain/ContextLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ContextLogger.js","sourceRoot":"","sources":["../../../../src/node/domain/ContextLogger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAmB,eAAe,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAmB,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAC,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAOvE,MAAM,OAAO,SAAS;IAIpB,UAAU,CAAmB;IAC7B,MAAM,CAAiB;IACvB,OAAO,CAAiB;IAExB,YAAmB,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;QALhC,aAAQ,GAAW,IAAI,CAAC;QAM/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,eAAe,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAc,GAAW,EAAE,EAAe;QAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAc,GAAW,EAAE,EAAwB;QACjE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,GAAG,CAAU,GAAQ;QACnB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,KAAU;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,EAAY,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Env, getValue, isClass, isObject } from "@tsed/core";
|
|
2
2
|
import { $log } from "@tsed/logger";
|
|
3
3
|
import { cleanAllLocalsContainer, detachLocalsContainer, localsContainer } from "../../common/fn/localsContainer.js";
|
|
4
|
-
import { createContainer, destroyInjector, DI_INJECTABLE_PROPS,
|
|
4
|
+
import { createContainer, destroyInjector, DI_INJECTABLE_PROPS, inject, injector } from "../../common/index.js";
|
|
5
5
|
import { DIContext } from "../domain/DIContext.js";
|
|
6
6
|
import { logger } from "../fn/logger.js";
|
|
7
7
|
import { setLoggerConfiguration } from "../utils/setLoggerConfiguration.js";
|
|
@@ -23,22 +23,18 @@ export class DITest {
|
|
|
23
23
|
* Create a new injector with the right default services
|
|
24
24
|
*/
|
|
25
25
|
static createInjector(settings = {}) {
|
|
26
|
-
const inj = injector(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
});
|
|
31
|
-
setLoggerConfiguration(inj);
|
|
26
|
+
const inj = injector();
|
|
27
|
+
injector().logger = $log;
|
|
28
|
+
inj.settings.set(DITest.configure(settings));
|
|
29
|
+
setLoggerConfiguration();
|
|
32
30
|
return inj;
|
|
33
31
|
}
|
|
34
32
|
/**
|
|
35
33
|
* Resets the test injector of the test context, so it won't pollute your next test. Call this in your `tearDown` logic.
|
|
36
34
|
*/
|
|
37
35
|
static async reset() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
cleanAllLocalsContainer();
|
|
41
|
-
}
|
|
36
|
+
await destroyInjector();
|
|
37
|
+
cleanAllLocalsContainer();
|
|
42
38
|
}
|
|
43
39
|
/**
|
|
44
40
|
* Invoke a provider and return a fresh instance
|
|
@@ -70,10 +66,9 @@ export class DITest {
|
|
|
70
66
|
/**
|
|
71
67
|
* Return the instance from injector registry
|
|
72
68
|
* @param target
|
|
73
|
-
* @param options
|
|
74
69
|
*/
|
|
75
|
-
static get(target
|
|
76
|
-
return injector().get(target
|
|
70
|
+
static get(target) {
|
|
71
|
+
return injector().get(target);
|
|
77
72
|
}
|
|
78
73
|
static createDIContext() {
|
|
79
74
|
return new DIContext({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DITest.js","sourceRoot":"","sources":["../../../../src/node/services/DITest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAC,uBAAuB,EAAE,qBAAqB,EAAE,eAAe,EAAC,MAAM,oCAAoC,CAAC;AACnH,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"DITest.js","sourceRoot":"","sources":["../../../../src/node/services/DITest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { injector } from "../../common/index.js";
|
|
1
2
|
import { setLoggerConfiguration } from "./setLoggerConfiguration.js";
|
|
2
|
-
export function attachLogger(
|
|
3
|
-
injector.logger = $log;
|
|
4
|
-
setLoggerConfiguration(
|
|
3
|
+
export function attachLogger($log) {
|
|
4
|
+
injector().logger = $log;
|
|
5
|
+
setLoggerConfiguration();
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=attachLogger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachLogger.js","sourceRoot":"","sources":["../../../../src/node/utils/attachLogger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attachLogger.js","sourceRoot":"","sources":["../../../../src/node/utils/attachLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,sBAAsB,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { setLoggerFormat } from "./setLoggerFormat.js";
|
|
2
2
|
import { setLoggerLevel } from "./setLoggerLevel.js";
|
|
3
|
-
export function setLoggerConfiguration(
|
|
4
|
-
setLoggerLevel(
|
|
5
|
-
setLoggerFormat(
|
|
3
|
+
export function setLoggerConfiguration() {
|
|
4
|
+
setLoggerLevel();
|
|
5
|
+
setLoggerFormat();
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=setLoggerConfiguration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setLoggerConfiguration.js","sourceRoot":"","sources":["../../../../src/node/utils/setLoggerConfiguration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setLoggerConfiguration.js","sourceRoot":"","sources":["../../../../src/node/utils/setLoggerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,MAAM,UAAU,sBAAsB;IACpC,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;AACpB,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import { injector } from "../../common/index.js";
|
|
2
|
+
import { logger } from "../fn/logger.js";
|
|
1
3
|
/**
|
|
2
4
|
* @ignore
|
|
3
|
-
* @param injector
|
|
4
5
|
*/
|
|
5
|
-
export function setLoggerFormat(
|
|
6
|
-
const { level, format } = injector.settings.logger;
|
|
6
|
+
export function setLoggerFormat() {
|
|
7
|
+
const { level, format } = injector().settings.logger;
|
|
7
8
|
if (level) {
|
|
8
|
-
injector.logger.level = level;
|
|
9
|
+
injector().logger.level = level;
|
|
9
10
|
}
|
|
10
|
-
if (format && injector.logger.appenders) {
|
|
11
|
-
|
|
11
|
+
if (format && injector().logger.appenders) {
|
|
12
|
+
logger().appenders.set("stdout", {
|
|
12
13
|
type: "stdout",
|
|
13
14
|
levels: ["info", "debug"],
|
|
14
15
|
layout: {
|
|
@@ -16,7 +17,7 @@ export function setLoggerFormat(injector) {
|
|
|
16
17
|
pattern: format
|
|
17
18
|
}
|
|
18
19
|
});
|
|
19
|
-
|
|
20
|
+
logger().appenders.set("stderr", {
|
|
20
21
|
levels: ["trace", "fatal", "error", "warn"],
|
|
21
22
|
type: "stderr",
|
|
22
23
|
layout: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setLoggerFormat.js","sourceRoot":"","sources":["../../../../src/node/utils/setLoggerFormat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setLoggerFormat.js","sourceRoot":"","sources":["../../../../src/node/utils/setLoggerFormat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;IAEnD,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC/B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YACzB,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;YAC3C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { injector } from "../../common/index.js";
|
|
1
2
|
/**
|
|
2
3
|
* @ignore
|
|
3
|
-
* @param injector
|
|
4
4
|
*/
|
|
5
|
-
export function setLoggerLevel(
|
|
6
|
-
const { level } = injector.settings.logger;
|
|
5
|
+
export function setLoggerLevel() {
|
|
6
|
+
const { level } = injector().settings.logger;
|
|
7
7
|
if (level) {
|
|
8
|
-
injector.logger.level = level;
|
|
8
|
+
injector().logger.level = level;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=setLoggerLevel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setLoggerLevel.js","sourceRoot":"","sources":["../../../../src/node/utils/setLoggerLevel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setLoggerLevel.js","sourceRoot":"","sources":["../../../../src/node/utils/setLoggerLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAE/C;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;IAE3C,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ProviderScope } from "../domain/ProviderScope.js";
|
|
2
|
-
import { DIResolver } from "../interfaces/DIResolver.js";
|
|
3
2
|
import { TokenProvider } from "../interfaces/TokenProvider.js";
|
|
4
3
|
export interface ModuleOptions extends Omit<TsED.Configuration, "scopes"> {
|
|
5
4
|
/**
|
|
@@ -14,10 +13,6 @@ export interface ModuleOptions extends Omit<TsED.Configuration, "scopes"> {
|
|
|
14
13
|
* Explicit token must be injected in the constructor
|
|
15
14
|
*/
|
|
16
15
|
deps?: TokenProvider[];
|
|
17
|
-
/**
|
|
18
|
-
* A list of resolvers to inject provider from external DI.
|
|
19
|
-
*/
|
|
20
|
-
resolvers?: DIResolver[];
|
|
21
16
|
/**
|
|
22
17
|
* Additional properties are stored as provider configuration.
|
|
23
18
|
*/
|
|
@@ -28,7 +23,6 @@ export interface ModuleOptions extends Omit<TsED.Configuration, "scopes"> {
|
|
|
28
23
|
*
|
|
29
24
|
* ## Options
|
|
30
25
|
* - imports: List of Provider which must be built by injector before invoking the module
|
|
31
|
-
* - resolvers: List of external DI must be used to resolve unknown provider
|
|
32
26
|
* - deps: List of provider must be injected to the module constructor (explicit declaration)
|
|
33
27
|
*
|
|
34
28
|
* @param options
|
|
@@ -11,11 +11,12 @@ export declare class Provider<T = any> implements ProviderOpts<T> {
|
|
|
11
11
|
type: ProviderType | TokenProvider;
|
|
12
12
|
deps: TokenProvider[];
|
|
13
13
|
imports: (TokenProvider | [TokenProvider])[];
|
|
14
|
-
alias
|
|
14
|
+
alias: string;
|
|
15
|
+
priority: number;
|
|
15
16
|
useFactory?: Function;
|
|
16
17
|
useAsyncFactory?: Function;
|
|
17
18
|
useValue?: unknown;
|
|
18
|
-
hooks
|
|
19
|
+
hooks: Record<string, ProviderHookCallback<T>>;
|
|
19
20
|
private _useClass;
|
|
20
21
|
private _provide;
|
|
21
22
|
private _store;
|
|
@@ -55,7 +56,20 @@ export declare class Provider<T = any> implements ProviderOpts<T> {
|
|
|
55
56
|
set configuration(configuration: Partial<TsED.Configuration>);
|
|
56
57
|
get children(): TokenProvider[];
|
|
57
58
|
set children(children: TokenProvider[]);
|
|
58
|
-
|
|
59
|
+
getArgOpts(index: number): any;
|
|
60
|
+
/**
|
|
61
|
+
* Retrieves a value from the provider's store.
|
|
62
|
+
* @param key The key to look up
|
|
63
|
+
* @returns The value if found, undefined otherwise
|
|
64
|
+
*/
|
|
65
|
+
get<Type = unknown>(key: string): Type | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves a value from the provider's store with a default fallback.
|
|
68
|
+
* @param key The key to look up
|
|
69
|
+
* @param defaultValue The value to return if key is not found
|
|
70
|
+
* @returns The found value or defaultValue
|
|
71
|
+
*/
|
|
72
|
+
get<Type = unknown>(key: string, defaultValue: Type): Type;
|
|
59
73
|
isAsync(): boolean;
|
|
60
74
|
clone(): Provider;
|
|
61
75
|
/**
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import type { InvokeOptions } from "../interfaces/InvokeOptions.js";
|
|
2
|
+
/**
|
|
3
|
+
* Injects multiple instances of a given token using the injector service.
|
|
4
|
+
* @param token - The injection token to resolve
|
|
5
|
+
* @param opts - Optional configuration for the injection
|
|
6
|
+
* @param opts.useOpts - Options for instance creation
|
|
7
|
+
* @param opts.rebuild - Whether to rebuild the instance
|
|
8
|
+
* @param opts.locals - Local container overrides
|
|
9
|
+
* @returns Array of resolved instances
|
|
10
|
+
*/
|
|
2
11
|
export declare function injectMany<T>(token: string | symbol, opts?: Partial<Pick<InvokeOptions, "useOpts" | "rebuild" | "locals">>): T[];
|