@tsed/di 8.0.0-rc.3 → 8.0.0-rc.4

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.
@@ -20,6 +20,28 @@ function resolveAutoInjectableArgs(token, args) {
20
20
  }
21
21
  return list;
22
22
  }
23
+ /**
24
+ * AutoInjectable decorator is used to automatically inject dependencies in the constructor.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * @AutoInjectable()
29
+ * class UserService {
30
+ * constructor(
31
+ * private database: Database, // automatically injected
32
+ * customConfig?: Config // can be passed manually
33
+ * ) {}
34
+ * }
35
+ * ```
36
+ *
37
+ * @description
38
+ * When applied to a class, this decorator:
39
+ * - Automatically resolves and injects dependencies based on constructor parameter types
40
+ * - Preserves the ability to manually pass arguments which override automatic injection
41
+ *
42
+ * @decorator
43
+ * @returns {ClassDecorator} A class decorator that enables automatic dependency injection
44
+ */
23
45
  export function AutoInjectable() {
24
46
  return (constr) => {
25
47
  return class AutoInjectable extends constr {
@@ -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;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
+ {"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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,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,15 +1,11 @@
1
- import { decoratorTypeOf, DecoratorTypes, StoreSet } from "@tsed/core";
1
+ import { decoratorTypeOf, DecoratorTypes } from "@tsed/core";
2
+ import { configuration } from "../fn/configuration.js";
2
3
  import { Inject } from "./inject.js";
3
- /**
4
- * Get or set Configuration on a class.
5
- *
6
- * @decorator
7
- */
8
- export function Configuration(configuration = {}) {
4
+ export function Configuration(settings = {}) {
9
5
  return (...args) => {
10
6
  switch (decoratorTypeOf(args)) {
11
7
  case DecoratorTypes.CLASS:
12
- StoreSet("configuration", configuration)(args[0]);
8
+ configuration(args[0], settings);
13
9
  break;
14
10
  default:
15
11
  case DecoratorTypes.PARAM_CTOR:
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/common/decorators/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAG1F,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,gBAA6C,EAAE;IAC3E,OAAO,CAAC,GAAG,IAAyB,EAAE,EAAE;QACtC,QAAQ,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,KAAK,cAAc,CAAC,KAAK;gBACvB,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,MAAM;YACR,QAAQ;YACR,KAAK,cAAc,CAAC,UAAU;gBAC5B,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/common/decorators/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,eAAe,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AASnC,MAAM,UAAU,aAAa,CAAC,WAAwC,EAAE;IACtE,OAAO,CAAC,GAAG,IAAyB,EAAE,EAAE;QACtC,QAAQ,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,KAAK,cAAc,CAAC,KAAK;gBACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAEjC,MAAM;YACR,QAAQ;YACR,KAAK,cAAc,CAAC,UAAU;gBAC5B,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,65 +1,45 @@
1
- import { catchError, importPackage } from "@tsed/core";
2
- import { injector } from "../fn/injector.js";
3
- /**
4
- * Lazy load a provider from his package and invoke only when the provider is used
5
- *
6
- * ```typescript
7
- * import type {PlatformException} from "@tsed/platform-exceptions";
8
- *
9
- * @Injectable()
10
- * export class MyService {
11
- * @LazyInject("PlatformException", () => import("@tsed/platform-exceptions"))
12
- * exceptions: Promise<PlatformException>;
13
- * }
14
- * ```
15
- *
16
- * @param key
17
- * @param packageName
18
- * @param resolver
19
- * @param optional
20
- * @returns {Function}
21
- * @decorator
22
- */
23
- export function LazyInject(key, resolver, { optional = false, packageName = resolver.toString() } = {}) {
1
+ import { catchError, isFunction } from "@tsed/core";
2
+ import { lazyInject, optionalLazyInject } from "../fn/lazyInject.js";
3
+ function mapOptions(args, optional = false) {
4
+ function wrap(key, resolver) {
5
+ return async () => {
6
+ try {
7
+ const { [key]: token } = await resolver();
8
+ return { default: token };
9
+ }
10
+ catch (er) {
11
+ if (!optional) {
12
+ throw er;
13
+ }
14
+ return;
15
+ }
16
+ };
17
+ }
18
+ if (isFunction(args[0])) {
19
+ return wrap("default", args[0]);
20
+ }
21
+ return wrap(args[0], args[1]);
22
+ }
23
+ export function LazyInject(...args) {
24
+ let resolver = mapOptions(args);
24
25
  return (target, propertyKey) => {
25
- let bean, token;
26
26
  catchError(() => Reflect.deleteProperty(target, propertyKey));
27
27
  Reflect.defineProperty(target, propertyKey, {
28
28
  async get() {
29
- if (!token || !bean) {
30
- const exports = await importPackage(packageName, resolver, optional);
31
- token = exports[key];
32
- if (!token) {
33
- if (!optional) {
34
- throw new Error(`Unable to lazy load the "${key}". The token isn\'t a valid token provider.`);
35
- }
36
- }
37
- bean = token ? await injector().lazyInvoke(token) : {};
38
- }
39
- return bean;
29
+ return lazyInject(resolver);
40
30
  }
41
31
  });
42
32
  };
43
33
  }
44
- /**
45
- * Optionally Lazy load a provider from his package and invoke only when the provider is used
46
- *
47
- * ```typescript
48
- * import type {PlatformException} from "@tsed/platform-exceptions";
49
- *
50
- * @Injectable()
51
- * export class MyService {
52
- * @OptionalLazyInject("@tsed/platform-exceptions")
53
- * exceptions: Promise<PlatformException>;
54
- * }
55
- * ```
56
- *
57
- * @param key
58
- * @param resolver
59
- * @returns {Function}
60
- * @decorator
61
- */
62
- export function OptionalLazyInject(key, resolver) {
63
- return LazyInject(key, resolver, { optional: true });
34
+ export function OptionalLazyInject(...args) {
35
+ const resolver = mapOptions(args, true);
36
+ return (target, propertyKey) => {
37
+ catchError(() => Reflect.deleteProperty(target, propertyKey));
38
+ Reflect.defineProperty(target, propertyKey, {
39
+ async get() {
40
+ return optionalLazyInject(resolver);
41
+ }
42
+ });
43
+ };
64
44
  }
65
45
  //# sourceMappingURL=lazyInject.js.map
@@ -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,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
+ {"version":3,"file":"lazyInject.js","sourceRoot":"","sources":["../../../../src/common/decorators/lazyInject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,YAAY,CAAC;AAElD,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAEnE,SAAS,UAAU,CAAC,IAAW,EAAE,QAAQ,GAAG,KAAK;IAC/C,SAAS,IAAI,CAAC,GAAW,EAAE,QAAa;QACtC,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC;gBACH,MAAM,EAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAExC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,EAAE,CAAC;gBACX,CAAC;gBAED,OAAO;YACT,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAsBD,MAAM,UAAU,UAAU,CAAC,GAAG,IAAW;IACvC,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAc,EAAE;QAC/D,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,OAAO,UAAU,CAAM,QAAe,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAoBD,MAAM,UAAU,kBAAkB,CAAC,GAAG,IAAW;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAExC,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAc,EAAE;QAC/D,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,OAAO,kBAAkB,CAAC,QAAe,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,13 @@
1
+ import { Store } from "@tsed/core";
1
2
  import { injector } from "./injector.js";
2
- export function configuration() {
3
+ export function configuration(token, configuration) {
4
+ if (token) {
5
+ const store = Store.from(token);
6
+ if (configuration) {
7
+ store.set("configuration", configuration);
8
+ }
9
+ return store.get("configuration", configuration);
10
+ }
3
11
  return injector().settings;
4
12
  }
5
13
  //# sourceMappingURL=configuration.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/common/fn/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAIjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAKvC,MAAM,UAAU,aAAa,CAAC,KAAqB,EAAE,aAA2C;IAC9F,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhC,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,QAAQ,EAAE,CAAC,QAAkD,CAAC;AACvE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { injector as $injector } from "./injector.js";
1
+ import { injector } from "./injector.js";
2
2
  export function constant(expression, defaultValue) {
3
- return $injector().settings.get(expression, defaultValue);
3
+ return injector().settings.get(expression, defaultValue);
4
4
  }
5
5
  //# sourceMappingURL=constant.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/common/fn/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAIvC,MAAM,UAAU,QAAQ,CAAO,UAAkB,EAAE,YAA+B;IAChF,OAAO,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { isFunction } from "@tsed/core";
2
+ import { injector } from "./injector.js";
3
+ /**
4
+ * Lazy load a provider from his package and invoke only when the provider is used.
5
+ */
6
+ export async function lazyInject(factory) {
7
+ const { default: token } = await factory();
8
+ let instance = injector().get(token);
9
+ if (!instance) {
10
+ instance = await injector().invoke(token);
11
+ const instanceWithHook = instance;
12
+ if ("$onInit" in instanceWithHook && isFunction(instanceWithHook.$onInit)) {
13
+ await instanceWithHook.$onInit();
14
+ }
15
+ }
16
+ return instance;
17
+ }
18
+ export async function optionalLazyInject(factory) {
19
+ try {
20
+ return await lazyInject(factory);
21
+ }
22
+ catch (er) {
23
+ return undefined;
24
+ }
25
+ }
26
+ //# sourceMappingURL=lazyInject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazyInject.js","sourceRoot":"","sources":["../../../../src/common/fn/lazyInject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAQ,OAAuD;IAC7F,MAAM,EAAC,OAAO,EAAE,KAAK,EAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAEzC,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAY,CAAC;IAEhD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1C,MAAM,gBAAgB,GAAG,QAAsD,CAAC;QAEhF,IAAI,SAAS,IAAI,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1E,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,QAAqC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAEE;IAEF,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -34,6 +34,7 @@ export * from "./fn/inject.js";
34
34
  export * from "./fn/injectable.js";
35
35
  export * from "./fn/injectMany.js";
36
36
  export * from "./fn/injector.js";
37
+ export * from "./fn/lazyInject.js";
37
38
  export * from "./fn/localsContainer.js";
38
39
  export * from "./fn/refValue.js";
39
40
  export * from "./interfaces/DIConfigurationOptions.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,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"}
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,oBAAoB,CAAC;AACnC,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"}
@@ -41,9 +41,9 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
41
41
  super();
42
42
  this.settings = new DIConfiguration();
43
43
  this.logger = console;
44
+ this.hooks = new Hooks();
44
45
  this.resolvedConfiguration = false;
45
46
  this.#cache = new LocalsContainer();
46
- this.hooks = new Hooks();
47
47
  this.#cache.set(InjectorService_1, this);
48
48
  }
49
49
  get resolvers() {
@@ -286,16 +286,6 @@ let InjectorService = InjectorService_1 = class InjectorService extends Containe
286
286
  });
287
287
  this.resolvedConfiguration = true;
288
288
  }
289
- async lazyInvoke(token) {
290
- let instance = this.getInstance(token);
291
- if (!instance) {
292
- instance = await this.invoke(token);
293
- if (isFunction(instance?.$onInit)) {
294
- await instance.$onInit();
295
- }
296
- }
297
- return instance;
298
- }
299
289
  /**
300
290
  * Emit an event to all service. See service [lifecycle hooks](/docs/services.md#lifecycle-hooks).
301
291
  * @param eventName The event name to emit at all services.
@@ -1 +1 @@
1
- {"version":3,"file":"InjectorService.js","sourceRoot":"","sources":["../../../../src/common/services/InjectorService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InjectorService.js","sourceRoot":"","sources":["../../../../src/common/services/InjectorService.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,EACP,OAAO,EACP,UAAU,EACV,eAAe,EACf,QAAQ,EACR,SAAS,EACT,MAAM,EACN,KAAK,EACN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAM3D,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AAII,IAAM,eAAe,uBAArB,MAAM,eAAgB,SAAQ,SAAS;IAK5C,MAAM,CAAyB;IAE/B;QACE,KAAK,EAAE,CAAC;QAPH,aAAQ,GAAoB,IAAI,eAAe,EAAE,CAAC;QAClD,WAAM,GAAa,OAAO,CAAC;QACzB,UAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACrB,0BAAqB,GAAY,KAAK,CAAC;QAC/C,WAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAI7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAe,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC;IAClC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,QAAkB;QAC/B,OAAO,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC;IACzF,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,GAAG,CAAU,KAAuB,EAAE,UAAmC,EAAE;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAE5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO,CAAa,IAAS,EAAE,MAAwB,EAAE,OAAgC;QACvF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAE,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAoB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAoB,EAAE,KAAoB;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,MAAM,CAAa,KAA0B,EAAE,MAAwB,EAAE,UAAkC,EAAE;QAClH,IAAI,QAAQ,GAAQ,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,QAA2B,CAAC;QAC1C,CAAC;QAED,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAElE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,OAAe,CAAC;QACjC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,CAAC,QAAa,EAAE,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACjC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChB,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEhD,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,KAAK,aAAa,CAAC,SAAS;gBAC1B,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACzC,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACd,wCAAwC;oBACxC,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,uCAAuC;gBACvC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEd,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBACzC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAEd,OAAO,QAAQ,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,wCAAwC;gBACxC,OAAO,QAAQ,CAAC;YAElB,KAAK,aAAa,CAAC,OAAO;gBACxB,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAE5B,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBAChD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;oBACnG,CAAC;gBACH,CAAC;gBAED,wCAAwC;gBAExC,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,SAAS,EAAE,CAAC;gBACpF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,YAAuB,eAAe,EAAE;QAChD,uCAAuC;QACvC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,4BAA4B;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,sEAAsE;QACtE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,UAAyB;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtF,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7B,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE;YAChC,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,aAAa,CAAC,SAAS;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,YAAuB,eAAe,EAAE;QACjD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1B,gCAAgC;QAChC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvB,qBAAqB;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QAEtC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzB,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAChE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAC9D,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrD,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACzG,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,SAAiB,EAAE,GAAG,IAAW;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAU,SAAiB,EAAE,KAAU,EAAE,GAAG,IAAW;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAU,SAAiB,EAAE,KAAU,EAAE,GAAG,IAAW;QACtE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IASS,cAAc,CAAC,KAAoB,EAAE,KAAK,GAAG,KAAK;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAE,CAAC;IAClC,CAAC;IAES,WAAW,CAAC,KAAU;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACO,OAAO,CACf,MAAqB,EACrB,SAA0B,IAAI,eAAe,EAAE,EAC/C,UAAkC,EAAE;QAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAc,CAAC;QACxB,CAAC;QAED,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,GAAG,YAAY,CAAC;QAEjE,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAC,GAAG,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,QAAa,CAAC;QAClB,IAAI,iBAAiB,GAAQ,KAAK,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,gBAAgB,GACpB,CAAC,MAAY,EAAE,EAAE,CACjB,CAAC,KAAsC,EAAE,KAAa,EAAO,EAAE;gBAC7D,iBAAiB,GAAG,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;gBAEzC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjD,CAAC;gBAED,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,oBAAoB,IAAI,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;gBAE5F,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;YACxG,CAAC,CAAC;YAEJ,qCAAqC;YACrC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEpC,sBAAsB;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnD,iBAAiB,GAAG,KAAK,CAAC;YAE1B,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,cAAc,CACtB,KAAK,EACL,2FAA2F,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3G,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE;gBAClD,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAC,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC3C,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAe,CAAC;aACtF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACtC,MAAM,EAAC,KAAK,EAAE,GAAG,KAAK,EAAC,GAAG,IAAI,CAAC;gBAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAElD,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC9B,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC;oBACrC,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC;oBAEhC,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;wBACxB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;wBACnC,OAAO;oBACT,CAAC;oBAED,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;wBAC1B,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAmB,CAAC;wBAChD,OAAO;oBACT,CAAC;oBAED,IAAI,iBAAiB,IAAI,KAAK,EAAE,CAAC;wBAC/B,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC,eAAwB,CAAC;wBAC1D,OAAO;oBACT,CAAC;oBAED,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;wBACnB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;wBAC9B,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAA2D,CAAC;IAC/E,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CACtB,KAAoB,EACpB,MAA+B,EAC/B,OAA+B;QAE/B,IAAI,OAAO,GAAoD,OAAO,CAAC,OAAO,CAAC;QAC/E,IAAI,IAAI,GAAgC,OAAO,CAAC,IAAI,CAAC;QACrD,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1B,IAAI,SAAS,CAAC;QAEd,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;QACtI,CAAC;QAED,IAAI,QAAkB,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAErE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAE,CAAC;QACtC,CAAC;QAED,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;QAC7B,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;QAEtC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9F,CAAC;aAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC/B,SAAS,GAAG,CAAC,IAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YACpC,SAAS,GAAG,KAAK,EAAE,IAAW,EAAE,EAAE;gBAChC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,QAAQ,CAAC,eAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7B,WAAW;YACX,IAAI,GAAG,IAAI,IAAI,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7D,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO;YACL,KAAK;YACL,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,SAAS;YACzE,IAAI,EAAE,IAAK,IAAI,EAAE;YACjB,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,SAAS;YACT,QAAQ;SACT,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,QAAkB,EAAE,QAAa;QACrD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;gBACrD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;gBAEvF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA/iBY,eAAe;IAH3B,UAAU,CAAC;QACV,KAAK,EAAE,aAAa,CAAC,SAAS;KAC/B,CAAC;;GACW,eAAe,CA+iB3B"}
@@ -1 +1,23 @@
1
+ /**
2
+ * AutoInjectable decorator is used to automatically inject dependencies in the constructor.
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * @AutoInjectable()
7
+ * class UserService {
8
+ * constructor(
9
+ * private database: Database, // automatically injected
10
+ * customConfig?: Config // can be passed manually
11
+ * ) {}
12
+ * }
13
+ * ```
14
+ *
15
+ * @description
16
+ * When applied to a class, this decorator:
17
+ * - Automatically resolves and injects dependencies based on constructor parameter types
18
+ * - Preserves the ability to manually pass arguments which override automatic injection
19
+ *
20
+ * @decorator
21
+ * @returns {ClassDecorator} A class decorator that enables automatic dependency injection
22
+ */
1
23
  export declare function AutoInjectable(): <T extends new (...args: any[]) => NonNullable<unknown>>(constr: T) => T;
@@ -4,5 +4,6 @@ import { DIConfiguration } from "../services/DIConfiguration.js";
4
4
  *
5
5
  * @decorator
6
6
  */
7
- export declare function Configuration(configuration?: Partial<TsED.Configuration>): Function;
7
+ export declare function Configuration(): any;
8
+ export declare function Configuration(settings: Partial<TsED.Configuration>): ClassDecorator;
8
9
  export type Configuration = TsED.DIConfiguration & DIConfiguration;
@@ -6,22 +6,22 @@
6
6
  *
7
7
  * @Injectable()
8
8
  * export class MyService {
9
- * @LazyInject("PlatformException", () => import("@tsed/platform-exceptions"))
9
+ * @LazyInject(() => import("@tsed/platform-exceptions"))
10
10
  * exceptions: Promise<PlatformException>;
11
11
  * }
12
12
  * ```
13
13
  *
14
- * @param key
15
- * @param packageName
16
- * @param resolver
17
- * @param optional
14
+ * @param key - The named export to import from the module.
15
+ * @param resolver - A function that returns a promise resolving to the module.
18
16
  * @returns {Function}
19
17
  * @decorator
20
18
  */
21
- export declare function LazyInject(key: string, resolver: () => any, { optional, packageName }?: {
22
- optional?: boolean;
23
- packageName?: string;
24
- }): PropertyDecorator;
19
+ export declare function LazyInject(resolver: () => Promise<{
20
+ default: unknown;
21
+ }>): PropertyDecorator;
22
+ export declare function LazyInject(key: string, resolver: () => Promise<{
23
+ default: unknown;
24
+ }>): PropertyDecorator;
25
25
  /**
26
26
  * Optionally Lazy load a provider from his package and invoke only when the provider is used
27
27
  *
@@ -30,14 +30,17 @@ export declare function LazyInject(key: string, resolver: () => any, { optional,
30
30
  *
31
31
  * @Injectable()
32
32
  * export class MyService {
33
- * @OptionalLazyInject("@tsed/platform-exceptions")
33
+ * @OptionalLazyInject(() => import("@tsed/platform-exceptions"))
34
34
  * exceptions: Promise<PlatformException>;
35
35
  * }
36
36
  * ```
37
- *
38
- * @param key
39
- * @param resolver
40
- * @returns {Function}
37
+ * @param key - The named export to import from the module.
38
+ * @param resolver - A function that returns a promise resolving to the module.
41
39
  * @decorator
42
40
  */
43
- export declare function OptionalLazyInject(key: string, resolver: () => any): PropertyDecorator;
41
+ export declare function OptionalLazyInject(resolver: () => Promise<{
42
+ default: unknown;
43
+ }>): PropertyDecorator;
44
+ export declare function OptionalLazyInject(key: string, resolver: () => Promise<{
45
+ default: unknown;
46
+ }>): PropertyDecorator;
@@ -1,2 +1,5 @@
1
+ import type { TokenProvider } from "../interfaces/TokenProvider.js";
1
2
  import { DIConfiguration } from "../services/DIConfiguration.js";
2
3
  export declare function configuration(): TsED.DIConfiguration & DIConfiguration;
4
+ export declare function configuration(token: TokenProvider): Partial<TsED.Configuration>;
5
+ export declare function configuration(token: TokenProvider, configuration: Partial<TsED.Configuration>): Partial<TsED.Configuration>;
@@ -0,0 +1,10 @@
1
+ import type { TokenProvider } from "../interfaces/TokenProvider.js";
2
+ /**
3
+ * Lazy load a provider from his package and invoke only when the provider is used.
4
+ */
5
+ export declare function lazyInject<Token>(factory: () => Promise<{
6
+ default: TokenProvider<Token>;
7
+ }>): Promise<Token>;
8
+ export declare function optionalLazyInject<Token>(factory: () => Promise<{
9
+ default: TokenProvider;
10
+ }>): Promise<Token | undefined>;
@@ -34,6 +34,7 @@ export * from "./fn/inject.js";
34
34
  export * from "./fn/injectable.js";
35
35
  export * from "./fn/injectMany.js";
36
36
  export * from "./fn/injector.js";
37
+ export * from "./fn/lazyInject.js";
37
38
  export * from "./fn/localsContainer.js";
38
39
  export * from "./fn/refValue.js";
39
40
  export * from "./interfaces/DIConfigurationOptions.js";
@@ -32,8 +32,8 @@ export declare class InjectorService extends Container {
32
32
  #private;
33
33
  settings: DIConfiguration;
34
34
  logger: DILogger;
35
- private resolvedConfiguration;
36
35
  readonly hooks: Hooks;
36
+ private resolvedConfiguration;
37
37
  constructor();
38
38
  get resolvers(): import("../index.js").DIResolver[];
39
39
  get scopes(): Record<string, ProviderScope>;
@@ -129,7 +129,6 @@ export declare class InjectorService extends Container {
129
129
  * Load all configurations registered on providers
130
130
  */
131
131
  resolveConfiguration(): void;
132
- lazyInvoke<T = any>(token: TokenProvider): Promise<any>;
133
132
  /**
134
133
  * Emit an event to all service. See service [lifecycle hooks](/docs/services.md#lifecycle-hooks).
135
134
  * @param eventName The event name to emit at all services.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tsed/di",
3
3
  "description": "DI module for Ts.ED Framework",
4
4
  "type": "module",
5
- "version": "8.0.0-rc.3",
5
+ "version": "8.0.0-rc.4",
6
6
  "source": "./src/index.ts",
7
7
  "main": "./lib/esm/index.js",
8
8
  "module": "./lib/esm/index.js",
@@ -29,11 +29,11 @@
29
29
  "uuid": "^10.0.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@tsed/barrels": "8.0.0-rc.3",
33
- "@tsed/core": "8.0.0-rc.3",
32
+ "@tsed/barrels": "8.0.0-rc.4",
33
+ "@tsed/core": "8.0.0-rc.4",
34
34
  "@tsed/logger": "^6.7.8",
35
- "@tsed/schema": "8.0.0-rc.3",
36
- "@tsed/typescript": "8.0.0-rc.3",
35
+ "@tsed/schema": "8.0.0-rc.4",
36
+ "@tsed/typescript": "8.0.0-rc.4",
37
37
  "cross-env": "7.0.3",
38
38
  "eslint": "9.12.0",
39
39
  "typescript": "5.4.5",
@@ -41,9 +41,9 @@
41
41
  "webpack": "^5.75.0"
42
42
  },
43
43
  "peerDependencies": {
44
- "@tsed/core": "8.0.0-rc.3",
44
+ "@tsed/core": "8.0.0-rc.4",
45
45
  "@tsed/logger": ">=6.7.5",
46
- "@tsed/schema": "8.0.0-rc.3"
46
+ "@tsed/schema": "8.0.0-rc.4"
47
47
  },
48
48
  "peerDependenciesMeta": {
49
49
  "@tsed/core": {