@tsed/di 8.0.0-beta.1 → 8.0.0-beta.10
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/.barrelsby.json +1 -1
- 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 +3 -5
- package/lib/esm/common/decorators/autoInjectable.js.map +1 -1
- package/lib/esm/common/decorators/constant.js +1 -4
- package/lib/esm/common/decorators/constant.js.map +1 -1
- package/lib/esm/common/decorators/controller.js +2 -5
- package/lib/esm/common/decorators/controller.js.map +1 -1
- package/lib/esm/common/decorators/inject.js +2 -7
- package/lib/esm/common/decorators/inject.js.map +1 -1
- package/lib/esm/common/decorators/injectable.js +4 -3
- package/lib/esm/common/decorators/injectable.js.map +1 -1
- package/lib/esm/common/decorators/intercept.js +1 -1
- package/lib/esm/common/decorators/intercept.js.map +1 -1
- package/lib/esm/common/decorators/interceptor.js +2 -2
- package/lib/esm/common/decorators/lazyInject.js +2 -3
- package/lib/esm/common/decorators/lazyInject.js.map +1 -1
- package/lib/esm/common/decorators/value.js +3 -3
- package/lib/esm/common/decorators/value.js.map +1 -1
- package/lib/esm/common/domain/ControllerProvider.js.map +1 -1
- package/lib/esm/common/domain/Provider.js +6 -1
- package/lib/esm/common/domain/Provider.js.map +1 -1
- package/lib/esm/common/domain/ProviderType.js +0 -2
- package/lib/esm/common/domain/ProviderType.js.map +1 -1
- package/lib/esm/common/fn/configuration.js +5 -0
- package/lib/esm/common/fn/configuration.js.map +1 -0
- package/lib/esm/common/fn/constant.js +5 -0
- package/lib/esm/common/fn/constant.js.map +1 -0
- package/lib/esm/common/fn/events.js +31 -0
- package/lib/esm/common/fn/events.js.map +1 -0
- package/lib/esm/common/fn/inject.js +26 -0
- package/lib/esm/common/fn/inject.js.map +1 -0
- package/lib/esm/common/fn/injectMany.js +6 -0
- package/lib/esm/common/fn/injectMany.js.map +1 -0
- package/lib/esm/common/fn/injectable.js +57 -0
- package/lib/esm/common/fn/injectable.js.map +1 -0
- package/lib/esm/common/fn/injector.js +36 -0
- package/lib/esm/common/fn/injector.js.map +1 -0
- package/lib/esm/common/fn/localsContainer.js +40 -0
- package/lib/esm/common/fn/localsContainer.js.map +1 -0
- package/lib/esm/common/fn/refValue.js +12 -0
- package/lib/esm/common/fn/refValue.js.map +1 -0
- package/lib/esm/common/index.js +9 -0
- package/lib/esm/common/index.js.map +1 -1
- package/lib/esm/common/registries/GlobalProviders.js +1 -5
- package/lib/esm/common/registries/GlobalProviders.js.map +1 -1
- package/lib/esm/common/registries/ProviderRegistry.js +2 -71
- 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 +5 -32
- package/lib/esm/common/services/InjectorService.js.map +1 -1
- package/lib/esm/node/decorators/injectContext.js +2 -10
- package/lib/esm/node/decorators/injectContext.js.map +1 -1
- package/lib/esm/node/fn/context.js +21 -0
- package/lib/esm/node/fn/context.js.map +1 -0
- package/lib/esm/node/fn/logger.js +16 -0
- package/lib/esm/node/fn/logger.js.map +1 -0
- package/lib/esm/node/index.js +2 -0
- package/lib/esm/node/index.js.map +1 -1
- package/lib/esm/node/services/DILogger.js +3 -8
- package/lib/esm/node/services/DILogger.js.map +1 -1
- package/lib/esm/node/services/DITest.js +23 -49
- package/lib/esm/node/services/DITest.js.map +1 -1
- package/lib/esm/node/utils/asyncHookContext.js +1 -2
- package/lib/esm/node/utils/asyncHookContext.js.map +1 -1
- package/lib/types/common/decorators/configuration.d.ts +1 -1
- package/lib/types/common/decorators/constant.d.ts +0 -2
- package/lib/types/common/decorators/controller.d.ts +1 -5
- package/lib/types/common/decorators/inject.d.ts +0 -3
- package/lib/types/common/decorators/interceptor.d.ts +2 -2
- package/lib/types/common/domain/ControllerProvider.d.ts +7 -3
- package/lib/types/common/domain/Provider.d.ts +1 -0
- package/lib/types/common/domain/ProviderType.d.ts +0 -2
- package/lib/types/common/fn/configuration.d.ts +2 -0
- package/lib/types/common/fn/constant.d.ts +2 -0
- package/lib/types/common/fn/events.d.ts +23 -0
- package/lib/types/common/fn/inject.d.ts +20 -0
- package/lib/types/common/fn/injectMany.d.ts +2 -0
- package/lib/types/common/fn/injectable.d.ts +23 -0
- package/lib/types/common/fn/injector.d.ts +24 -0
- package/lib/types/common/fn/localsContainer.d.ts +15 -0
- package/lib/types/common/fn/refValue.d.ts +25 -0
- package/lib/types/common/index.d.ts +9 -0
- package/lib/types/common/interfaces/DIConfigurationOptions.d.ts +5 -0
- package/lib/types/common/registries/ProviderRegistry.d.ts +1 -53
- package/lib/types/common/services/DIConfiguration.d.ts +0 -6
- package/lib/types/common/services/InjectorService.d.ts +2 -12
- package/lib/types/node/fn/context.d.ts +9 -0
- package/lib/types/node/fn/logger.d.ts +9 -0
- package/lib/types/node/index.d.ts +2 -0
- package/lib/types/node/services/DITest.d.ts +0 -5
- package/lib/types/node/utils/asyncHookContext.d.ts +1 -2
- package/package.json +7 -7
- package/readme.md +2 -4
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { isArray } from "@tsed/core";
|
|
2
2
|
import { LocalsContainer } from "../domain/LocalsContainer.js";
|
|
3
|
-
import {
|
|
3
|
+
import { injector } from "../fn/injector.js";
|
|
4
4
|
import { getConstructorDependencies } from "../utils/getConstructorDependencies.js";
|
|
5
5
|
function resolveAutoInjectableArgs(token, args) {
|
|
6
|
+
const inj = injector();
|
|
6
7
|
const locals = new LocalsContainer();
|
|
7
|
-
const injector = InjectorService.getInstance();
|
|
8
8
|
const deps = getConstructorDependencies(token);
|
|
9
9
|
const list = [];
|
|
10
10
|
const length = Math.max(deps.length, args.length);
|
|
@@ -14,9 +14,7 @@ function resolveAutoInjectableArgs(token, args) {
|
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
16
|
const value = deps[i];
|
|
17
|
-
const instance = isArray(value)
|
|
18
|
-
? injector.getMany(value[0], locals, { parent: token })
|
|
19
|
-
: injector.invoke(value, locals, { parent: token });
|
|
17
|
+
const instance = isArray(value) ? inj.getMany(value[0], locals, { parent: token }) : inj.invoke(value, locals, { parent: token });
|
|
20
18
|
list.push(instance);
|
|
21
19
|
}
|
|
22
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoInjectable.js","sourceRoot":"","sources":["../../../../src/common/decorators/autoInjectable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAY,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"autoInjectable.js","sourceRoot":"","sources":["../../../../src/common/decorators/autoInjectable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAY,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAElF,SAAS,yBAAyB,CAAC,KAAW,EAAE,IAAe;IAC7D,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,IAAI,GAAoB,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC,GAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;YAEhI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAyD,MAAS,EAAK,EAAE;QAC9E,OAAO,MAAM,cAAe,SAAQ,MAAM;YACxC,YAAY,GAAG,IAAW;gBACxB,KAAK,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;SACc,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { catchError, deepClone } from "@tsed/core";
|
|
2
|
-
import {
|
|
3
|
-
export function constant(expression, defaultValue) {
|
|
4
|
-
return InjectorService.getInstance().settings.get(expression, defaultValue);
|
|
5
|
-
}
|
|
2
|
+
import { constant } from "../fn/constant.js";
|
|
6
3
|
export function bindConstant(target, propertyKey, expression, defaultValue) {
|
|
7
4
|
const symbol = Symbol();
|
|
8
5
|
catchError(() => Reflect.deleteProperty(target, propertyKey));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/common/decorators/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/common/decorators/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,MAAM,UAAU,YAAY,CAAC,MAAW,EAAE,WAA4B,EAAE,UAAkB,EAAE,YAAkB;IAC5G,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;QAC1C,GAAG;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,GAAG,CAAC,KAAc;YAChB,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhE,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,QAAQ,CAAiB,UAAkB,EAAE,YAAmB;IAC9E,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,OAAO,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isArrayOrArrayClass, useDecorators } from "@tsed/core";
|
|
2
2
|
import { Children, Path } from "@tsed/schema";
|
|
3
|
-
import {
|
|
3
|
+
import { controller } from "../fn/injectable.js";
|
|
4
4
|
function mapOptions(options) {
|
|
5
5
|
if (typeof options === "string" || options instanceof RegExp || isArrayOrArrayClass(options)) {
|
|
6
6
|
return {
|
|
@@ -40,10 +40,7 @@ function mapOptions(options) {
|
|
|
40
40
|
export function Controller(options) {
|
|
41
41
|
const { children = [], path, ...opts } = mapOptions(options);
|
|
42
42
|
return useDecorators((target) => {
|
|
43
|
-
|
|
44
|
-
provide: target,
|
|
45
|
-
...opts
|
|
46
|
-
});
|
|
43
|
+
controller(target, opts);
|
|
47
44
|
}, path && Path(path), Children(...children));
|
|
48
45
|
}
|
|
49
46
|
//# sourceMappingURL=controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/common/decorators/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAQ,aAAa,EAAC,MAAM,YAAY,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/common/decorators/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAQ,aAAa,EAAC,MAAM,YAAY,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAW/C,SAAS,UAAU,CAAC,OAAY;IAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,YAAY,MAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7F,OAAO;YACL,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,UAAU,CAAC,OAAqC;IAC9D,MAAM,EAAC,QAAQ,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAE3D,OAAO,aAAa,CAClB,CAAC,MAAY,EAAE,EAAE;QACf,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,EACD,IAAI,IAAI,IAAI,CAAC,IAAW,CAAC,EACzB,QAAQ,CAAC,GAAG,QAAQ,CAAC,CACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { catchError, decoratorTypeOf, DecoratorTypes, isPromise, Metadata, Store } from "@tsed/core";
|
|
2
2
|
import { DI_INJECTABLE_PROPS, DI_INVOKE_OPTIONS, DI_USE_OPTIONS } from "../constants/constants.js";
|
|
3
3
|
import { InvalidPropertyTokenError } from "../errors/InvalidPropertyTokenError.js";
|
|
4
|
-
import {
|
|
4
|
+
import { inject } from "../fn/inject.js";
|
|
5
|
+
import { injectMany } from "../fn/injectMany.js";
|
|
5
6
|
import { getConstructorDependencies, setConstructorDependencies } from "../utils/getConstructorDependencies.js";
|
|
6
|
-
export function inject(token, opts) {
|
|
7
|
-
return InjectorService.getInstance().invoke(token, opts?.locals || InjectorService.getLocals(), opts);
|
|
8
|
-
}
|
|
9
|
-
export function injectMany(token, opts) {
|
|
10
|
-
return InjectorService.getInstance().getMany(token, opts?.locals || InjectorService.getLocals(), opts);
|
|
11
|
-
}
|
|
12
7
|
function setToken(token, { target, propertyKey, parameterIndex }) {
|
|
13
8
|
const paramTypes = getConstructorDependencies(target, propertyKey);
|
|
14
9
|
const type = paramTypes[parameterIndex];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../../src/common/decorators/inject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAY,MAAM,YAAY,CAAC;AAE9G,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAC,yBAAyB,EAAC,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../../src/common/decorators/inject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { injectable } from "../fn/injectable.js";
|
|
2
2
|
/**
|
|
3
3
|
* The decorators `@Injectable()` declare a new service can be injected in other service, controller, interceptor, etc.. on there `constructor`.
|
|
4
4
|
* All classes annotated with `@Injectable()` are built one time, excepted if you change the default provider configuration.
|
|
@@ -19,10 +19,11 @@ import { registerProvider } from "../registries/ProviderRegistry.js";
|
|
|
19
19
|
*/
|
|
20
20
|
export function Injectable(options = {}) {
|
|
21
21
|
return (target) => {
|
|
22
|
-
|
|
22
|
+
const opts = {
|
|
23
23
|
...options,
|
|
24
24
|
...(options.provide ? { useClass: target } : { provide: target })
|
|
25
|
-
}
|
|
25
|
+
};
|
|
26
|
+
injectable(opts.provide, opts);
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
29
|
//# sourceMappingURL=injectable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../../../src/common/decorators/injectable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../../../src/common/decorators/injectable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAG/C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,UAAiC,EAAE;IAC5D,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG;YACX,GAAG,OAAO;YACV,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC;SAC9D,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { classOf, decorateMethodsOf, decoratorTypeOf, DecoratorTypes, Store } from "@tsed/core";
|
|
2
2
|
import { DI_INTERCEPTOR_OPTIONS, DI_INVOKE_OPTIONS } from "../constants/constants.js";
|
|
3
|
-
import { inject } from "
|
|
3
|
+
import { inject } from "../fn/inject.js";
|
|
4
4
|
export function getInterceptorOptions(target, propertyKey) {
|
|
5
5
|
return Store.fromMethod(target, propertyKey).get(DI_INTERCEPTOR_OPTIONS);
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../../src/common/decorators/intercept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAuB,eAAe,EAAE,cAAc,EAAE,KAAK,EAAO,MAAM,YAAY,CAAC;AAEzH,OAAO,EAAC,sBAAsB,EAAE,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../../src/common/decorators/intercept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAuB,eAAe,EAAE,cAAc,EAAE,KAAK,EAAO,MAAM,YAAY,CAAC;AAEzH,OAAO,EAAC,sBAAsB,EAAE,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAMvC,MAAM,UAAU,qBAAqB,CAAI,MAAiB,EAAE,WAA4B;IACtF,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAM,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAW,EAAE,WAA4B,EAAE,KAAoB,EAAE,OAAgC;IAC7H,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,UAAW,CAAC,KAAK,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAE1E,UAAW,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW;QAC1C,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,OAAO,GAA4B;YACvC,MAAM;YACN,WAAW;YACX,IAAI;YACJ,OAAO;YACP,IAAI;SACL,CAAC;QAEF,MAAM,UAAU,GAA2B;YACzC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO;YAC3C,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM;SACxC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,CAAE,CAAC;QAE1D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,SAAU,CAC5B;YACE,GAAG,OAAO;YACV,OAAO;SACR,EACD,IAAI,CACL,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAA+B,WAAoB,EAAE,OAAa;IACzF,OAAO,CAAC,GAAG,IAAyB,EAAE,EAAE;QACtC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;QACnC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,cAAc,CAAC,KAAK;gBACvB,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ProviderType } from "../domain/ProviderType.js";
|
|
2
2
|
import { Injectable } from "./injectable.js";
|
|
3
3
|
/**
|
|
4
|
-
* The decorators `@
|
|
5
|
-
* All services annotated with `@
|
|
4
|
+
* The decorators `@Interceptor()` declare a new service can be injected in other service or controller on there `constructor`.
|
|
5
|
+
* All services annotated with `@Interceptor()` are constructed one time.
|
|
6
6
|
*
|
|
7
7
|
* > `@Service()` use the `reflect-metadata` to collect and inject service on controllers or other services.
|
|
8
8
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { catchError, importPackage } from "@tsed/core";
|
|
2
|
-
import {
|
|
2
|
+
import { injector } from "../fn/injector.js";
|
|
3
3
|
/**
|
|
4
4
|
* Lazy load a provider from his package and invoke only when the provider is used
|
|
5
5
|
*
|
|
@@ -27,7 +27,6 @@ export function LazyInject(key, resolver, { optional = false, packageName = reso
|
|
|
27
27
|
Reflect.defineProperty(target, propertyKey, {
|
|
28
28
|
async get() {
|
|
29
29
|
if (!token || !bean) {
|
|
30
|
-
const injector = InjectorService.getInstance();
|
|
31
30
|
const exports = await importPackage(packageName, resolver, optional);
|
|
32
31
|
token = exports[key];
|
|
33
32
|
if (!token) {
|
|
@@ -35,7 +34,7 @@ export function LazyInject(key, resolver, { optional = false, packageName = reso
|
|
|
35
34
|
throw new Error(`Unable to lazy load the "${key}". The token isn\'t a valid token provider.`);
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
|
-
bean = token ? await injector.lazyInvoke(token) : {};
|
|
37
|
+
bean = token ? await injector().lazyInvoke(token) : {};
|
|
39
38
|
}
|
|
40
39
|
return bean;
|
|
41
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazyInject.js","sourceRoot":"","sources":["../../../../src/common/decorators/lazyInject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"lazyInject.js","sourceRoot":"","sources":["../../../../src/common/decorators/lazyInject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CACxB,GAAW,EACX,QAAmB,EACnB,EAAC,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAgD,EAAE;IAEtG,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAc,EAAE;QAC/D,IAAI,IAAS,EAAE,KAAU,CAAC;QAE1B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YAC1C,KAAK,CAAC,GAAG;gBACP,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACrE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,6CAA6C,CAAC,CAAC;wBAChG,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,QAAmB;IACjE,OAAQ,UAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { catchError } from "@tsed/core";
|
|
2
|
-
import {
|
|
2
|
+
import { injector } from "../fn/injector.js";
|
|
3
3
|
export function bindValue(target, propertyKey, expression, defaultValue) {
|
|
4
4
|
const descriptor = {
|
|
5
5
|
get() {
|
|
6
|
-
return
|
|
6
|
+
return injector().settings.get(expression, defaultValue);
|
|
7
7
|
},
|
|
8
8
|
set(value) {
|
|
9
|
-
|
|
9
|
+
injector().settings.set(expression, value);
|
|
10
10
|
},
|
|
11
11
|
enumerable: true,
|
|
12
12
|
configurable: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../src/common/decorators/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../src/common/decorators/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,MAAM,UAAU,SAAS,CAAC,MAAW,EAAE,WAA4B,EAAE,UAAkB,EAAE,YAAkB;IACzG,MAAM,UAAU,GAAG;QACjB,GAAG;YACD,OAAO,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QACD,GAAG,CAAC,KAAc;YAChB,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9D,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,KAAK,CAAC,UAAkB,EAAE,YAAsB;IAC9D,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,OAAO,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerProvider.js","sourceRoot":"","sources":["../../../../src/common/domain/ControllerProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ControllerProvider.js","sourceRoot":"","sources":["../../../../src/common/domain/ControllerProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAQ/C,MAAM,OAAO,kBAA4B,SAAQ,QAAW;IAG1D,YAAY,OAAsB,EAAE,UAA6B,EAAE;QACjE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,MAAM,CAClB;YACE,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;SACd,EACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW,CAAC,WAA2C;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;YAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -9,7 +9,9 @@ export class Provider {
|
|
|
9
9
|
this.type = ProviderType.PROVIDER;
|
|
10
10
|
this.provide = token;
|
|
11
11
|
this.useClass = token;
|
|
12
|
-
Object.assign(this,
|
|
12
|
+
Object.assign(this, {
|
|
13
|
+
...options
|
|
14
|
+
});
|
|
13
15
|
}
|
|
14
16
|
get token() {
|
|
15
17
|
return this._provide;
|
|
@@ -91,6 +93,9 @@ export class Provider {
|
|
|
91
93
|
get children() {
|
|
92
94
|
return this.store.get("childrenControllers", []);
|
|
93
95
|
}
|
|
96
|
+
set children(children) {
|
|
97
|
+
this.store.set("childrenControllers", children);
|
|
98
|
+
}
|
|
94
99
|
get(key) {
|
|
95
100
|
return this.store.get(key) || this._tokenStore.get(key);
|
|
96
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/common/domain/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAO,MAAM,YAAY,CAAC;AAIjH,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAI/C,MAAM,OAAO,QAAQ;IAmBnB,YAAY,KAAuB,EAAE,UAA6B,EAAE;QAlBpE;;WAEG;QACI,SAAI,GAAiC,YAAY,CAAC,QAAQ,CAAC;QAgBhE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAgB,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/common/domain/Provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export var ProviderType;
|
|
2
2
|
(function (ProviderType) {
|
|
3
3
|
ProviderType["VALUE"] = "value";
|
|
4
|
-
ProviderType["FACTORY"] = "factory";
|
|
5
|
-
ProviderType["SERVICE"] = "service";
|
|
6
4
|
ProviderType["PROVIDER"] = "provider";
|
|
7
5
|
ProviderType["MODULE"] = "module";
|
|
8
6
|
ProviderType["CONTROLLER"] = "controller";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../../../src/common/domain/ProviderType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../../../src/common/domain/ProviderType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,yCAAyB,CAAA;AAC3B,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/common/fn/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,MAAM,UAAU,aAAa;IAC3B,OAAO,QAAQ,EAAE,CAAC,QAAkD,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/common/fn/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,IAAI,SAAS,EAAC,MAAM,eAAe,CAAC;AAIpD,MAAM,UAAU,QAAQ,CAAO,UAAkB,EAAE,YAA+B;IAChF,OAAO,SAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { injector } from "./injector.js";
|
|
2
|
+
/**
|
|
3
|
+
* Alter value attached to an event asynchronously.
|
|
4
|
+
* @param eventName
|
|
5
|
+
* @param value
|
|
6
|
+
* @param args
|
|
7
|
+
* @param callThis
|
|
8
|
+
*/
|
|
9
|
+
export function $alterAsync(eventName, value, ...args) {
|
|
10
|
+
return injector().hooks.asyncAlter(eventName, value, args);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Emit an event to all service. See service [lifecycle hooks](/docs/services.md#lifecycle-hooks).
|
|
14
|
+
* @param eventName The event name to emit at all services.
|
|
15
|
+
* @param args List of the parameters to give to each service.
|
|
16
|
+
* @returns A list of promises.
|
|
17
|
+
*/
|
|
18
|
+
export function $emit(eventName, ...args) {
|
|
19
|
+
return injector().hooks.asyncEmit(eventName, args);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Alter value attached to an event.
|
|
23
|
+
* @param eventName
|
|
24
|
+
* @param value
|
|
25
|
+
* @param args
|
|
26
|
+
* @param callThis
|
|
27
|
+
*/
|
|
28
|
+
export function $alter(eventName, value, ...args) {
|
|
29
|
+
return injector().hooks.alter(eventName, value, args);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/common/fn/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAU,SAAiB,EAAE,KAAU,EAAE,GAAG,IAAe;IACpF,OAAO,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU,CAAI,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE,GAAG,IAAe;IACzD,OAAO,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAU,SAAiB,EAAE,KAAc,EAAE,GAAG,IAAe;IACnF,OAAO,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { injector } from "./injector.js";
|
|
2
|
+
import { invokeOptions, localsContainer } from "./localsContainer.js";
|
|
3
|
+
/**
|
|
4
|
+
* Inject a provider to another provider.
|
|
5
|
+
*
|
|
6
|
+
* Use this function to inject a custom provider on constructor parameter or property.
|
|
7
|
+
*
|
|
8
|
+
* ```typescript
|
|
9
|
+
* @Injectable()
|
|
10
|
+
* export class MyService {
|
|
11
|
+
* connection = inject(CONNECTION);
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @param token A token provider or token provider group
|
|
16
|
+
* @param opts
|
|
17
|
+
* @returns {Function}
|
|
18
|
+
* @decorator
|
|
19
|
+
*/
|
|
20
|
+
export function inject(token, opts) {
|
|
21
|
+
return injector().invoke(token, opts?.locals || localsContainer(), {
|
|
22
|
+
...opts,
|
|
23
|
+
...invokeOptions()
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=inject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../../src/common/fn/inject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,aAAa,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,MAAM,CAAI,KAAuB,EAAE,IAAqE;IACtH,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,eAAe,EAAE,EAAE;QACjE,GAAG,IAAI;QACP,GAAG,aAAa,EAAE;KACnB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectMany.js","sourceRoot":"","sources":["../../../../src/common/fn/injectMany.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,UAAU,CAAI,KAAsB,EAAE,IAAqE;IACzH,OAAO,QAAQ,EAAE,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import "../registries/ProviderRegistry.js";
|
|
2
|
+
import { ProviderType } from "../domain/ProviderType.js";
|
|
3
|
+
import { GlobalProviders } from "../registries/GlobalProviders.js";
|
|
4
|
+
export function providerBuilder(props, baseOpts = {}) {
|
|
5
|
+
return (token, options = {}) => {
|
|
6
|
+
const provider = GlobalProviders.merge(token, {
|
|
7
|
+
...options,
|
|
8
|
+
...baseOpts,
|
|
9
|
+
provide: token
|
|
10
|
+
});
|
|
11
|
+
return props.reduce((acc, prop) => {
|
|
12
|
+
return {
|
|
13
|
+
...acc,
|
|
14
|
+
[prop]: function (value) {
|
|
15
|
+
provider[prop] = value;
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}, {
|
|
20
|
+
factory(factory) {
|
|
21
|
+
provider.useFactory = factory;
|
|
22
|
+
return this;
|
|
23
|
+
},
|
|
24
|
+
asyncFactory(asyncFactory) {
|
|
25
|
+
provider.useAsyncFactory = asyncFactory;
|
|
26
|
+
return this;
|
|
27
|
+
},
|
|
28
|
+
value(value) {
|
|
29
|
+
provider.useValue = value;
|
|
30
|
+
provider.type = ProviderType.VALUE;
|
|
31
|
+
return this;
|
|
32
|
+
},
|
|
33
|
+
class(k) {
|
|
34
|
+
provider.useClass = k;
|
|
35
|
+
return this;
|
|
36
|
+
},
|
|
37
|
+
store() {
|
|
38
|
+
return provider.store;
|
|
39
|
+
},
|
|
40
|
+
inspect() {
|
|
41
|
+
return provider;
|
|
42
|
+
},
|
|
43
|
+
token() {
|
|
44
|
+
return provider.token;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const Props = ["type", "scope", "path", "alias", "hooks", "deps", "resolvers", "imports", "configuration"];
|
|
50
|
+
export const injectable = providerBuilder(Props);
|
|
51
|
+
export const interceptor = providerBuilder(Props, {
|
|
52
|
+
type: ProviderType.INTERCEPTOR
|
|
53
|
+
});
|
|
54
|
+
export const controller = providerBuilder([...Props, "middlewares"], {
|
|
55
|
+
type: ProviderType.CONTROLLER
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=injectable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../../../src/common/fn/injectable.ts"],"names":[],"mappings":"AAAA,OAAO,mCAAmC,CAAC;AAM3C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAGvD,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,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE;YAC5C,GAAG,OAAO;YACV,GAAG,QAAQ;YACX,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,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;AAID,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAiC,KAAK,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAiC,KAAK,EAAE;IAChF,IAAI,EAAE,YAAY,CAAC,WAAW;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAA+D,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC,EAAE;IACjI,IAAI,EAAE,YAAY,CAAC,UAAU;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { InjectorService } from "../services/InjectorService.js";
|
|
2
|
+
let globalInjector;
|
|
3
|
+
/**
|
|
4
|
+
* Create or return the existing injector service.
|
|
5
|
+
*
|
|
6
|
+
* Example:
|
|
7
|
+
*
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import {injector, Injectable} from "@tsed/di";
|
|
10
|
+
*
|
|
11
|
+
* @Injectable()
|
|
12
|
+
* class MyService {
|
|
13
|
+
* injector = injector();
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export function injector(opts) {
|
|
18
|
+
if (!globalInjector || opts?.rebuild) {
|
|
19
|
+
globalInjector = new InjectorService();
|
|
20
|
+
if (opts && opts.logger) {
|
|
21
|
+
globalInjector.logger = opts.logger;
|
|
22
|
+
}
|
|
23
|
+
if (opts?.settings) {
|
|
24
|
+
globalInjector.settings.set(opts.settings);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return globalInjector;
|
|
28
|
+
}
|
|
29
|
+
export function hasInjector() {
|
|
30
|
+
return !!globalInjector;
|
|
31
|
+
}
|
|
32
|
+
export async function destroyInjector() {
|
|
33
|
+
await globalInjector?.destroy();
|
|
34
|
+
globalInjector = undefined;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=injector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../../../../src/common/fn/injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAE/D,IAAI,cAA2C,CAAC;AAGhD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAqB;IAC5C,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;QACrC,cAAc,GAAG,IAAI,eAAe,EAAE,CAAC;QAEvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YACnB,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,CAAC,cAAc,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,cAAc,EAAE,OAAO,EAAE,CAAC;IAChC,cAAc,GAAG,SAAS,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { LocalsContainer } from "../domain/LocalsContainer.js";
|
|
2
|
+
import { InjectorService } from "../services/InjectorService.js";
|
|
3
|
+
import { injector } from "./injector.js";
|
|
4
|
+
let globalLocals;
|
|
5
|
+
let globalInvOpts = {};
|
|
6
|
+
const stagedLocals = [];
|
|
7
|
+
/**
|
|
8
|
+
* Get the locals container initiated by DITest or .bootstrap() method.
|
|
9
|
+
*/
|
|
10
|
+
export function localsContainer({ providers, rebuild } = {}) {
|
|
11
|
+
if (!globalLocals || providers) {
|
|
12
|
+
globalLocals = new LocalsContainer();
|
|
13
|
+
if (providers) {
|
|
14
|
+
providers.forEach((p) => {
|
|
15
|
+
globalLocals.set(p.token, p.use);
|
|
16
|
+
});
|
|
17
|
+
globalLocals.set(InjectorService, injector());
|
|
18
|
+
}
|
|
19
|
+
if (rebuild) {
|
|
20
|
+
globalInvOpts.rebuild = rebuild;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return globalLocals;
|
|
24
|
+
}
|
|
25
|
+
export function invokeOptions() {
|
|
26
|
+
return { ...globalInvOpts };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Reset the locals container.
|
|
30
|
+
*/
|
|
31
|
+
export function detachLocalsContainer() {
|
|
32
|
+
globalLocals && stagedLocals.push(globalLocals);
|
|
33
|
+
globalLocals = undefined;
|
|
34
|
+
globalInvOpts = {};
|
|
35
|
+
}
|
|
36
|
+
export function cleanAllLocalsContainer() {
|
|
37
|
+
detachLocalsContainer();
|
|
38
|
+
stagedLocals.map((item) => item.clear());
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=localsContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localsContainer.js","sourceRoot":"","sources":["../../../../src/common/fn/localsContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,IAAI,YAAyC,CAAC;AAC9C,IAAI,aAAa,GAAQ,EAAE,CAAC;AAC5B,MAAM,YAAY,GAAsB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,SAAS,EACT,OAAO,KAIL,EAAE;IACJ,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;QAC/B,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAErC,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtB,YAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,EAAC,GAAG,aAAa,EAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChD,YAAY,GAAG,SAAS,CAAC;IACzB,aAAa,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,qBAAqB,EAAE,CAAC;IACxB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { injector } from "./injector.js";
|
|
2
|
+
export function refValue(expression, defaultValue) {
|
|
3
|
+
return Object.freeze({
|
|
4
|
+
get value() {
|
|
5
|
+
return injector().settings.get(expression, defaultValue);
|
|
6
|
+
},
|
|
7
|
+
set value(value) {
|
|
8
|
+
injector().settings.set(expression, value);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=refValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refValue.js","sourceRoot":"","sources":["../../../../src/common/fn/refValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAuBvC,MAAM,UAAU,QAAQ,CAAO,UAAkB,EAAE,YAA+B;IAChF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,KAAK;YACP,OAAO,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,KAAW;YACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/lib/esm/common/index.js
CHANGED
|
@@ -27,6 +27,15 @@ export * from "./domain/ProviderScope.js";
|
|
|
27
27
|
export * from "./domain/ProviderType.js";
|
|
28
28
|
export * from "./errors/InjectionError.js";
|
|
29
29
|
export * from "./errors/InvalidPropertyTokenError.js";
|
|
30
|
+
export * from "./fn/configuration.js";
|
|
31
|
+
export * from "./fn/constant.js";
|
|
32
|
+
export * from "./fn/events.js";
|
|
33
|
+
export * from "./fn/inject.js";
|
|
34
|
+
export * from "./fn/injectable.js";
|
|
35
|
+
export * from "./fn/injectMany.js";
|
|
36
|
+
export * from "./fn/injector.js";
|
|
37
|
+
export * from "./fn/localsContainer.js";
|
|
38
|
+
export * from "./fn/refValue.js";
|
|
30
39
|
export * from "./interfaces/DIConfigurationOptions.js";
|
|
31
40
|
export * from "./interfaces/DILogger.js";
|
|
32
41
|
export * from "./interfaces/DILoggerOptions.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC"}
|