@tsed/di 8.0.0-beta.1 → 8.0.0-beta.11

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.
Files changed (99) hide show
  1. package/.barrelsby.json +1 -1
  2. package/lib/browser/di.umd.min.js +1 -1
  3. package/lib/browser/di.umd.min.js.map +1 -1
  4. package/lib/esm/common/decorators/autoInjectable.js +3 -5
  5. package/lib/esm/common/decorators/autoInjectable.js.map +1 -1
  6. package/lib/esm/common/decorators/constant.js +1 -4
  7. package/lib/esm/common/decorators/constant.js.map +1 -1
  8. package/lib/esm/common/decorators/controller.js +2 -5
  9. package/lib/esm/common/decorators/controller.js.map +1 -1
  10. package/lib/esm/common/decorators/inject.js +2 -7
  11. package/lib/esm/common/decorators/inject.js.map +1 -1
  12. package/lib/esm/common/decorators/injectable.js +4 -3
  13. package/lib/esm/common/decorators/injectable.js.map +1 -1
  14. package/lib/esm/common/decorators/intercept.js +1 -1
  15. package/lib/esm/common/decorators/intercept.js.map +1 -1
  16. package/lib/esm/common/decorators/interceptor.js +2 -2
  17. package/lib/esm/common/decorators/lazyInject.js +2 -3
  18. package/lib/esm/common/decorators/lazyInject.js.map +1 -1
  19. package/lib/esm/common/decorators/value.js +3 -3
  20. package/lib/esm/common/decorators/value.js.map +1 -1
  21. package/lib/esm/common/domain/ControllerProvider.js.map +1 -1
  22. package/lib/esm/common/domain/Provider.js +6 -1
  23. package/lib/esm/common/domain/Provider.js.map +1 -1
  24. package/lib/esm/common/domain/ProviderType.js +0 -2
  25. package/lib/esm/common/domain/ProviderType.js.map +1 -1
  26. package/lib/esm/common/fn/configuration.js +5 -0
  27. package/lib/esm/common/fn/configuration.js.map +1 -0
  28. package/lib/esm/common/fn/constant.js +5 -0
  29. package/lib/esm/common/fn/constant.js.map +1 -0
  30. package/lib/esm/common/fn/events.js +31 -0
  31. package/lib/esm/common/fn/events.js.map +1 -0
  32. package/lib/esm/common/fn/inject.js +26 -0
  33. package/lib/esm/common/fn/inject.js.map +1 -0
  34. package/lib/esm/common/fn/injectMany.js +6 -0
  35. package/lib/esm/common/fn/injectMany.js.map +1 -0
  36. package/lib/esm/common/fn/injectable.js +57 -0
  37. package/lib/esm/common/fn/injectable.js.map +1 -0
  38. package/lib/esm/common/fn/injector.js +36 -0
  39. package/lib/esm/common/fn/injector.js.map +1 -0
  40. package/lib/esm/common/fn/localsContainer.js +40 -0
  41. package/lib/esm/common/fn/localsContainer.js.map +1 -0
  42. package/lib/esm/common/fn/refValue.js +12 -0
  43. package/lib/esm/common/fn/refValue.js.map +1 -0
  44. package/lib/esm/common/index.js +9 -0
  45. package/lib/esm/common/index.js.map +1 -1
  46. package/lib/esm/common/registries/GlobalProviders.js +1 -5
  47. package/lib/esm/common/registries/GlobalProviders.js.map +1 -1
  48. package/lib/esm/common/registries/ProviderRegistry.js +2 -71
  49. package/lib/esm/common/registries/ProviderRegistry.js.map +1 -1
  50. package/lib/esm/common/services/DIConfiguration.js +1 -14
  51. package/lib/esm/common/services/DIConfiguration.js.map +1 -1
  52. package/lib/esm/common/services/InjectorService.js +5 -32
  53. package/lib/esm/common/services/InjectorService.js.map +1 -1
  54. package/lib/esm/node/decorators/injectContext.js +2 -10
  55. package/lib/esm/node/decorators/injectContext.js.map +1 -1
  56. package/lib/esm/node/domain/DIContext.js +15 -10
  57. package/lib/esm/node/domain/DIContext.js.map +1 -1
  58. package/lib/esm/node/fn/context.js +21 -0
  59. package/lib/esm/node/fn/context.js.map +1 -0
  60. package/lib/esm/node/fn/logger.js +16 -0
  61. package/lib/esm/node/fn/logger.js.map +1 -0
  62. package/lib/esm/node/index.js +2 -0
  63. package/lib/esm/node/index.js.map +1 -1
  64. package/lib/esm/node/services/DILogger.js +3 -8
  65. package/lib/esm/node/services/DILogger.js.map +1 -1
  66. package/lib/esm/node/services/DITest.js +23 -49
  67. package/lib/esm/node/services/DITest.js.map +1 -1
  68. package/lib/esm/node/utils/asyncHookContext.js +1 -2
  69. package/lib/esm/node/utils/asyncHookContext.js.map +1 -1
  70. package/lib/types/common/decorators/configuration.d.ts +1 -1
  71. package/lib/types/common/decorators/constant.d.ts +0 -2
  72. package/lib/types/common/decorators/controller.d.ts +1 -5
  73. package/lib/types/common/decorators/inject.d.ts +0 -3
  74. package/lib/types/common/decorators/interceptor.d.ts +2 -2
  75. package/lib/types/common/domain/ControllerProvider.d.ts +7 -3
  76. package/lib/types/common/domain/Provider.d.ts +1 -0
  77. package/lib/types/common/domain/ProviderType.d.ts +0 -2
  78. package/lib/types/common/fn/configuration.d.ts +2 -0
  79. package/lib/types/common/fn/constant.d.ts +2 -0
  80. package/lib/types/common/fn/events.d.ts +23 -0
  81. package/lib/types/common/fn/inject.d.ts +20 -0
  82. package/lib/types/common/fn/injectMany.d.ts +2 -0
  83. package/lib/types/common/fn/injectable.d.ts +23 -0
  84. package/lib/types/common/fn/injector.d.ts +24 -0
  85. package/lib/types/common/fn/localsContainer.d.ts +15 -0
  86. package/lib/types/common/fn/refValue.d.ts +25 -0
  87. package/lib/types/common/index.d.ts +9 -0
  88. package/lib/types/common/interfaces/DIConfigurationOptions.d.ts +5 -0
  89. package/lib/types/common/registries/ProviderRegistry.d.ts +1 -53
  90. package/lib/types/common/services/DIConfiguration.d.ts +0 -6
  91. package/lib/types/common/services/InjectorService.d.ts +2 -12
  92. package/lib/types/node/domain/DIContext.d.ts +0 -4
  93. package/lib/types/node/fn/context.d.ts +9 -0
  94. package/lib/types/node/fn/logger.d.ts +9 -0
  95. package/lib/types/node/index.d.ts +2 -0
  96. package/lib/types/node/services/DITest.d.ts +0 -5
  97. package/lib/types/node/utils/asyncHookContext.d.ts +1 -2
  98. package/package.json +7 -7
  99. 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 { InjectorService } from "../services/InjectorService.js";
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;AAE7D,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAElF,SAAS,yBAAyB,CAAC,KAAW,EAAE,IAAe;IAC7D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAC/C,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;gBAC7B,CAAC,CAAC,QAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC;gBACtD,CAAC,CAAC,QAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;YAErD,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,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 { InjectorService } from "../services/InjectorService.js";
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,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAI/D,MAAM,UAAU,QAAQ,CAAO,UAAkB,EAAE,YAA+B;IAChF,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC;AAED,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
+ {"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 { registerController } from "../registries/ProviderRegistry.js";
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
- registerController({
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,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAgBrE,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,kBAAkB,CAAC;YACjB,OAAO,EAAE,MAAM;YACf,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC,EACD,IAAI,IAAI,IAAI,CAAC,IAAW,CAAC,EACzB,QAAQ,CAAC,GAAG,QAAQ,CAAC,CACtB,CAAC;AACJ,CAAC"}
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 { InjectorService } from "../services/InjectorService.js";
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":"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"}
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 { registerProvider } from "../registries/ProviderRegistry.js";
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
- registerProvider({
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":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AAEnE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,UAAiC,EAAE;IAC5D,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,gBAAgB,CAAC;YACf,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,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
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 "./inject.js";
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;AAKpF,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC,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
+ {"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 `@Service()` declare a new service can be injected in other service or controller on there `constructor`.
5
- * All services annotated with `@Service()` are constructed one time.
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 { InjectorService } from "../services/InjectorService.js";
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,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;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,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;oBAC/C,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,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,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,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 { InjectorService } from "../services/InjectorService.js";
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 InjectorService.getInstance().settings.get(expression, defaultValue);
6
+ return injector().settings.get(expression, defaultValue);
7
7
  },
8
8
  set(value) {
9
- InjectorService.getInstance().settings.set(expression, value);
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,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAE/D,MAAM,UAAU,SAAS,CAAC,MAAW,EAAE,WAA4B,EAAE,UAAkB,EAAE,YAAkB;IACzG,MAAM,UAAU,GAAG;QACjB,GAAG;YACD,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9E,CAAC;QACD,GAAG,CAAC,KAAc;YAChB,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAChE,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
+ {"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":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/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,WAAkC;QAChD,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"}
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, options);
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":"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"}
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,YASX;AATD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,yCAAyB,CAAA;AAC3B,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB"}
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,5 @@
1
+ import { injector } from "./injector.js";
2
+ export function configuration() {
3
+ return injector().settings;
4
+ }
5
+ //# sourceMappingURL=configuration.js.map
@@ -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,5 @@
1
+ import { injector as $injector } from "./injector.js";
2
+ export function constant(expression, defaultValue) {
3
+ return $injector().settings.get(expression, defaultValue);
4
+ }
5
+ //# sourceMappingURL=constant.js.map
@@ -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,6 @@
1
+ import { injector } from "./injector.js";
2
+ import { localsContainer } from "./localsContainer.js";
3
+ export function injectMany(token, opts) {
4
+ return injector().getMany(token, opts?.locals || localsContainer(), opts);
5
+ }
6
+ //# sourceMappingURL=injectMany.js.map
@@ -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"}
@@ -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"}