@tsed/di 8.0.0-alpha.4 → 8.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/lib/esm/node/decorators/injectContext.js +2 -2
  2. package/lib/esm/node/decorators/injectContext.js.map +1 -1
  3. package/lib/esm/node/domain/DIContext.js.map +1 -1
  4. package/lib/esm/node/utils/asyncHookContext.js +3 -2
  5. package/lib/esm/node/utils/asyncHookContext.js.map +1 -1
  6. package/lib/types/node/decorators/injectContext.d.ts +2 -1
  7. package/lib/types/node/domain/DIContext.d.ts +1 -1
  8. package/lib/types/node/utils/asyncHookContext.d.ts +4 -3
  9. package/package.json +10 -11
  10. package/lib/cjs/common/constants/constants.js +0 -9
  11. package/lib/cjs/common/constants/constants.js.map +0 -1
  12. package/lib/cjs/common/decorators/autoInjectable.js +0 -38
  13. package/lib/cjs/common/decorators/autoInjectable.js.map +0 -1
  14. package/lib/cjs/common/decorators/configuration.js +0 -24
  15. package/lib/cjs/common/decorators/configuration.js.map +0 -1
  16. package/lib/cjs/common/decorators/constant.js +0 -74
  17. package/lib/cjs/common/decorators/constant.js.map +0 -1
  18. package/lib/cjs/common/decorators/controller.js +0 -53
  19. package/lib/cjs/common/decorators/controller.js.map +0 -1
  20. package/lib/cjs/common/decorators/inject.js +0 -84
  21. package/lib/cjs/common/decorators/inject.js.map +0 -1
  22. package/lib/cjs/common/decorators/injectable.js +0 -32
  23. package/lib/cjs/common/decorators/injectable.js.map +0 -1
  24. package/lib/cjs/common/decorators/intercept.js +0 -65
  25. package/lib/cjs/common/decorators/intercept.js.map +0 -1
  26. package/lib/cjs/common/decorators/interceptor.js +0 -21
  27. package/lib/cjs/common/decorators/interceptor.js.map +0 -1
  28. package/lib/cjs/common/decorators/lazyInject.js +0 -71
  29. package/lib/cjs/common/decorators/lazyInject.js.map +0 -1
  30. package/lib/cjs/common/decorators/module.js +0 -32
  31. package/lib/cjs/common/decorators/module.js.map +0 -1
  32. package/lib/cjs/common/decorators/opts.js +0 -54
  33. package/lib/cjs/common/decorators/opts.js.map +0 -1
  34. package/lib/cjs/common/decorators/overrideProvider.js +0 -17
  35. package/lib/cjs/common/decorators/overrideProvider.js.map +0 -1
  36. package/lib/cjs/common/decorators/scope.js +0 -16
  37. package/lib/cjs/common/decorators/scope.js.map +0 -1
  38. package/lib/cjs/common/decorators/service.js +0 -18
  39. package/lib/cjs/common/decorators/service.js.map +0 -1
  40. package/lib/cjs/common/decorators/useOpts.js +0 -61
  41. package/lib/cjs/common/decorators/useOpts.js.map +0 -1
  42. package/lib/cjs/common/decorators/value.js +0 -62
  43. package/lib/cjs/common/decorators/value.js.map +0 -1
  44. package/lib/cjs/common/domain/Container.js +0 -72
  45. package/lib/cjs/common/domain/Container.js.map +0 -1
  46. package/lib/cjs/common/domain/ControllerProvider.js +0 -36
  47. package/lib/cjs/common/domain/ControllerProvider.js.map +0 -1
  48. package/lib/cjs/common/domain/InjectablePropertyType.js +0 -12
  49. package/lib/cjs/common/domain/InjectablePropertyType.js.map +0 -1
  50. package/lib/cjs/common/domain/LocalsContainer.js +0 -15
  51. package/lib/cjs/common/domain/LocalsContainer.js.map +0 -1
  52. package/lib/cjs/common/domain/Provider.js +0 -134
  53. package/lib/cjs/common/domain/Provider.js.map +0 -1
  54. package/lib/cjs/common/domain/ProviderScope.js +0 -10
  55. package/lib/cjs/common/domain/ProviderScope.js.map +0 -1
  56. package/lib/cjs/common/domain/ProviderType.js +0 -15
  57. package/lib/cjs/common/domain/ProviderType.js.map +0 -1
  58. package/lib/cjs/common/errors/InjectionError.js +0 -58
  59. package/lib/cjs/common/errors/InjectionError.js.map +0 -1
  60. package/lib/cjs/common/errors/InvalidPropertyTokenError.js +0 -12
  61. package/lib/cjs/common/errors/InvalidPropertyTokenError.js.map +0 -1
  62. package/lib/cjs/common/index.js +0 -58
  63. package/lib/cjs/common/index.js.map +0 -1
  64. package/lib/cjs/common/interfaces/DIConfigurationOptions.js +0 -3
  65. package/lib/cjs/common/interfaces/DIConfigurationOptions.js.map +0 -1
  66. package/lib/cjs/common/interfaces/DILogger.js +0 -3
  67. package/lib/cjs/common/interfaces/DILogger.js.map +0 -1
  68. package/lib/cjs/common/interfaces/DILoggerOptions.js +0 -3
  69. package/lib/cjs/common/interfaces/DILoggerOptions.js.map +0 -1
  70. package/lib/cjs/common/interfaces/DIResolver.js +0 -3
  71. package/lib/cjs/common/interfaces/DIResolver.js.map +0 -1
  72. package/lib/cjs/common/interfaces/ImportTokenProviderOpts.js +0 -3
  73. package/lib/cjs/common/interfaces/ImportTokenProviderOpts.js.map +0 -1
  74. package/lib/cjs/common/interfaces/InterceptorContext.js +0 -3
  75. package/lib/cjs/common/interfaces/InterceptorContext.js.map +0 -1
  76. package/lib/cjs/common/interfaces/InterceptorMethods.js +0 -3
  77. package/lib/cjs/common/interfaces/InterceptorMethods.js.map +0 -1
  78. package/lib/cjs/common/interfaces/InvokeOptions.js +0 -3
  79. package/lib/cjs/common/interfaces/InvokeOptions.js.map +0 -1
  80. package/lib/cjs/common/interfaces/OnDestroy.js +0 -3
  81. package/lib/cjs/common/interfaces/OnDestroy.js.map +0 -1
  82. package/lib/cjs/common/interfaces/OnInit.js +0 -3
  83. package/lib/cjs/common/interfaces/OnInit.js.map +0 -1
  84. package/lib/cjs/common/interfaces/ProviderOpts.js +0 -3
  85. package/lib/cjs/common/interfaces/ProviderOpts.js.map +0 -1
  86. package/lib/cjs/common/interfaces/RegistrySettings.js +0 -3
  87. package/lib/cjs/common/interfaces/RegistrySettings.js.map +0 -1
  88. package/lib/cjs/common/interfaces/ResolvedInvokeOptions.js +0 -3
  89. package/lib/cjs/common/interfaces/ResolvedInvokeOptions.js.map +0 -1
  90. package/lib/cjs/common/interfaces/TokenProvider.js +0 -3
  91. package/lib/cjs/common/interfaces/TokenProvider.js.map +0 -1
  92. package/lib/cjs/common/interfaces/TokenRoute.js +0 -3
  93. package/lib/cjs/common/interfaces/TokenRoute.js.map +0 -1
  94. package/lib/cjs/common/registries/GlobalProviders.js +0 -121
  95. package/lib/cjs/common/registries/GlobalProviders.js.map +0 -1
  96. package/lib/cjs/common/registries/ProviderRegistry.js +0 -86
  97. package/lib/cjs/common/registries/ProviderRegistry.js.map +0 -1
  98. package/lib/cjs/common/services/DIConfiguration.js +0 -142
  99. package/lib/cjs/common/services/DIConfiguration.js.map +0 -1
  100. package/lib/cjs/common/services/DILogger.js +0 -14
  101. package/lib/cjs/common/services/DILogger.js.map +0 -1
  102. package/lib/cjs/common/services/InjectorService.js +0 -536
  103. package/lib/cjs/common/services/InjectorService.js.map +0 -1
  104. package/lib/cjs/common/utils/colors.js +0 -10
  105. package/lib/cjs/common/utils/colors.js.map +0 -1
  106. package/lib/cjs/common/utils/createContainer.js +0 -14
  107. package/lib/cjs/common/utils/createContainer.js.map +0 -1
  108. package/lib/cjs/common/utils/getConfiguration.js +0 -23
  109. package/lib/cjs/common/utils/getConfiguration.js.map +0 -1
  110. package/lib/cjs/common/utils/getConstructorDependencies.js +0 -13
  111. package/lib/cjs/common/utils/getConstructorDependencies.js.map +0 -1
  112. package/lib/cjs/common/utils/resolveControllers.js +0 -47
  113. package/lib/cjs/common/utils/resolveControllers.js.map +0 -1
  114. package/lib/cjs/index.js +0 -6
  115. package/lib/cjs/index.js.map +0 -1
  116. package/lib/cjs/node/decorators/injectContext.js +0 -39
  117. package/lib/cjs/node/decorators/injectContext.js.map +0 -1
  118. package/lib/cjs/node/domain/ContextLogger.js +0 -99
  119. package/lib/cjs/node/domain/ContextLogger.js.map +0 -1
  120. package/lib/cjs/node/domain/DIContext.js +0 -102
  121. package/lib/cjs/node/domain/DIContext.js.map +0 -1
  122. package/lib/cjs/node/index.js +0 -18
  123. package/lib/cjs/node/index.js.map +0 -1
  124. package/lib/cjs/node/interfaces/AlterRunInContext.js +0 -3
  125. package/lib/cjs/node/interfaces/AlterRunInContext.js.map +0 -1
  126. package/lib/cjs/node/services/DILogger.js +0 -12
  127. package/lib/cjs/node/services/DILogger.js.map +0 -1
  128. package/lib/cjs/node/services/DITest.js +0 -126
  129. package/lib/cjs/node/services/DITest.js.map +0 -1
  130. package/lib/cjs/node/utils/asyncHookContext.js +0 -42
  131. package/lib/cjs/node/utils/asyncHookContext.js.map +0 -1
  132. package/lib/cjs/node/utils/attachLogger.js +0 -10
  133. package/lib/cjs/node/utils/attachLogger.js.map +0 -1
  134. package/lib/cjs/node/utils/setLoggerConfiguration.js +0 -11
  135. package/lib/cjs/node/utils/setLoggerConfiguration.js.map +0 -1
  136. package/lib/cjs/node/utils/setLoggerFormat.js +0 -33
  137. package/lib/cjs/node/utils/setLoggerFormat.js.map +0 -1
  138. package/lib/cjs/node/utils/setLoggerLevel.js +0 -15
  139. package/lib/cjs/node/utils/setLoggerLevel.js.map +0 -1
  140. package/lib/cjs/package.json +0 -3
  141. package/lib/esm/package.json +0 -3
  142. package/lib/types-esm/common/constants/constants.d.ts +0 -5
  143. package/lib/types-esm/common/decorators/autoInjectable.d.ts +0 -1
  144. package/lib/types-esm/common/decorators/configuration.d.ts +0 -8
  145. package/lib/types-esm/common/decorators/constant.d.ts +0 -39
  146. package/lib/types-esm/common/decorators/controller.d.ts +0 -42
  147. package/lib/types-esm/common/decorators/inject.d.ts +0 -35
  148. package/lib/types-esm/common/decorators/injectable.d.ts +0 -20
  149. package/lib/types-esm/common/decorators/intercept.d.ts +0 -13
  150. package/lib/types-esm/common/decorators/interceptor.d.ts +0 -10
  151. package/lib/types-esm/common/decorators/lazyInject.d.ts +0 -43
  152. package/lib/types-esm/common/decorators/module.d.ts +0 -37
  153. package/lib/types-esm/common/decorators/opts.d.ts +0 -41
  154. package/lib/types-esm/common/decorators/overrideProvider.d.ts +0 -8
  155. package/lib/types-esm/common/decorators/scope.d.ts +0 -8
  156. package/lib/types-esm/common/decorators/service.d.ts +0 -10
  157. package/lib/types-esm/common/decorators/useOpts.d.ts +0 -42
  158. package/lib/types-esm/common/decorators/value.d.ts +0 -37
  159. package/lib/types-esm/common/domain/Container.d.ts +0 -43
  160. package/lib/types-esm/common/domain/ControllerProvider.d.ts +0 -17
  161. package/lib/types-esm/common/domain/InjectablePropertyType.d.ts +0 -7
  162. package/lib/types-esm/common/domain/LocalsContainer.d.ts +0 -6
  163. package/lib/types-esm/common/domain/Provider.d.ts +0 -71
  164. package/lib/types-esm/common/domain/ProviderScope.d.ts +0 -5
  165. package/lib/types-esm/common/domain/ProviderType.d.ts +0 -10
  166. package/lib/types-esm/common/errors/InjectionError.d.ts +0 -8
  167. package/lib/types-esm/common/errors/InvalidPropertyTokenError.d.ts +0 -4
  168. package/lib/types-esm/common/index.d.ts +0 -54
  169. package/lib/types-esm/common/interfaces/DIConfigurationOptions.d.ts +0 -29
  170. package/lib/types-esm/common/interfaces/DILogger.d.ts +0 -8
  171. package/lib/types-esm/common/interfaces/DILoggerOptions.d.ts +0 -53
  172. package/lib/types-esm/common/interfaces/DIResolver.d.ts +0 -5
  173. package/lib/types-esm/common/interfaces/ImportTokenProviderOpts.d.ts +0 -19
  174. package/lib/types-esm/common/interfaces/InterceptorContext.d.ts +0 -11
  175. package/lib/types-esm/common/interfaces/InterceptorMethods.d.ts +0 -4
  176. package/lib/types-esm/common/interfaces/InvokeOptions.d.ts +0 -30
  177. package/lib/types-esm/common/interfaces/OnDestroy.d.ts +0 -3
  178. package/lib/types-esm/common/interfaces/OnInit.d.ts +0 -3
  179. package/lib/types-esm/common/interfaces/ProviderOpts.d.ts +0 -59
  180. package/lib/types-esm/common/interfaces/RegistrySettings.d.ts +0 -21
  181. package/lib/types-esm/common/interfaces/ResolvedInvokeOptions.d.ts +0 -12
  182. package/lib/types-esm/common/interfaces/TokenProvider.d.ts +0 -2
  183. package/lib/types-esm/common/interfaces/TokenRoute.d.ts +0 -5
  184. package/lib/types-esm/common/registries/GlobalProviders.d.ts +0 -58
  185. package/lib/types-esm/common/registries/ProviderRegistry.d.ts +0 -58
  186. package/lib/types-esm/common/services/DIConfiguration.d.ts +0 -57
  187. package/lib/types-esm/common/services/DILogger.d.ts +0 -3
  188. package/lib/types-esm/common/services/InjectorService.d.ts +0 -203
  189. package/lib/types-esm/common/utils/colors.d.ts +0 -5
  190. package/lib/types-esm/common/utils/createContainer.d.ts +0 -3
  191. package/lib/types-esm/common/utils/getConfiguration.d.ts +0 -3
  192. package/lib/types-esm/common/utils/getConstructorDependencies.d.ts +0 -2
  193. package/lib/types-esm/common/utils/resolveControllers.d.ts +0 -12
  194. package/lib/types-esm/index.d.ts +0 -2
  195. package/lib/types-esm/node/decorators/injectContext.d.ts +0 -15
  196. package/lib/types-esm/node/domain/ContextLogger.d.ts +0 -37
  197. package/lib/types-esm/node/domain/DIContext.d.ts +0 -61
  198. package/lib/types-esm/node/index.d.ts +0 -14
  199. package/lib/types-esm/node/interfaces/AlterRunInContext.d.ts +0 -3
  200. package/lib/types-esm/node/services/DILogger.d.ts +0 -1
  201. package/lib/types-esm/node/services/DITest.d.ts +0 -37
  202. package/lib/types-esm/node/utils/asyncHookContext.d.ts +0 -14
  203. package/lib/types-esm/node/utils/attachLogger.d.ts +0 -2
  204. package/lib/types-esm/node/utils/setLoggerConfiguration.d.ts +0 -2
  205. package/lib/types-esm/node/utils/setLoggerFormat.d.ts +0 -6
  206. package/lib/types-esm/node/utils/setLoggerLevel.d.ts +0 -6
  207. /package/{webpack.config.js → webpack.config.cjs} +0 -0
@@ -16,12 +16,12 @@ import { getContext } from "../utils/asyncHookContext.js";
16
16
  * @returns {Function}
17
17
  * @decorator
18
18
  */
19
- export function InjectContext() {
19
+ export function InjectContext(transform = (o) => o) {
20
20
  return (target, propertyKey) => {
21
21
  catchError(() => Reflect.deleteProperty(target, propertyKey));
22
22
  Reflect.defineProperty(target, propertyKey, {
23
23
  get() {
24
- return (getContext() ||
24
+ return transform(getContext() ||
25
25
  new DIContext({
26
26
  id: "",
27
27
  logger: InjectorService.getInstance().logger,
@@ -1 +1 @@
1
- {"version":3,"file":"injectContext.js","sourceRoot":"","sources":["../../../../src/node/decorators/injectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAc,EAAE;QACtD,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,GAAG;gBACD,OAAO,CACL,UAAU,EAAE;oBACZ,IAAI,SAAS,CAAC;wBACZ,EAAE,EAAE,EAAE;wBACN,MAAM,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,MAAM;wBAC5C,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE;wBACvC,YAAY,EAAE,CAAC;qBAChB,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"injectContext.js","sourceRoot":"","sources":["../../../../src/node/decorators/injectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,YAA0C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAc,EAAE;QACtD,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,GAAG;gBACD,OAAO,SAAS,CACd,UAAU,EAAE;oBACV,IAAI,SAAS,CAAC;wBACZ,EAAE,EAAE,EAAE;wBACN,MAAM,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,MAAM;wBAC5C,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE;wBACvC,YAAY,EAAE,CAAC;qBAChB,CAAC,CACL,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DIContext.js","sourceRoot":"","sources":["../../../../src/node/domain/DIContext.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,10 @@ export function getAsyncStore() {
6
6
  export function useContextRef() {
7
7
  return getAsyncStore().getStore();
8
8
  }
9
- export function getContext() {
10
- return useContextRef()?.current;
9
+ export function useContext(initialValue) {
10
+ return initialValue || useContextRef()?.current;
11
11
  }
12
+ export const getContext = useContext;
12
13
  export async function runInContext(ctx, cb, injector) {
13
14
  const ref = useContextRef();
14
15
  if (ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"asyncHookContext.js","sourceRoot":"","sources":["../../../../src/node/utils/asyncHookContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAI7D,MAAM,OAAO,GAAwD,IAAI,iBAAiB,EAAE,CAAC;AAE7F,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,aAAa,EAAE,EAAE,OAAc,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAA0B,EAAE,EAAO,EAAE,QAA0B;IAChG,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,EAAE,EAAE,CAAC;KACb;SAAM;QACL,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAC;QACrC,EAAE,GAAG,CAAC,MAAM,QAAQ,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CAAC;KACxC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACvB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;KACnB;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAO;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"asyncHookContext.js","sourceRoot":"","sources":["../../../../src/node/utils/asyncHookContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAI7D,MAAM,OAAO,GAAwD,IAAI,iBAAiB,EAAE,CAAC;AAE7F,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,UAAU,CAAsB,YAAwB;IACtE,OAAO,YAAY,IAAK,aAAa,EAAE,EAAE,OAAe,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAA0B,EAC1B,EAAkC,EAClC,QAA0B;IAE1B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,EAAE,EAAE,CAAC;KACb;SAAM;QACL,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAC;QACrC,EAAE,GAAG,CAAC,MAAM,QAAQ,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO,OAAO,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CAAC;KACxC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAc;IACvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACvB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;KACnB;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAO;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { DIContext } from "../domain/DIContext.js";
1
2
  /**
2
3
  * Inject a context like PlatformContext or any BaseContext.
3
4
  *
@@ -12,4 +13,4 @@
12
13
  * @returns {Function}
13
14
  * @decorator
14
15
  */
15
- export declare function InjectContext(): PropertyDecorator;
16
+ export declare function InjectContext(transform?: ($ctx: DIContext) => unknown): PropertyDecorator;
@@ -50,7 +50,7 @@ export declare class DIContext {
50
50
  get container(): LocalsContainer;
51
51
  destroy(): Promise<any>;
52
52
  emit(eventName: string, ...args: any[]): Promise<void>;
53
- runInContext(next: Function): Promise<any>;
53
+ runInContext<Result = unknown>(next: (...args: unknown[]) => Result): Promise<Result>;
54
54
  cache<Value = any>(key: string, cb: () => Value): Value;
55
55
  cacheAsync<Value = any>(key: string, cb: () => Promise<Value>): Promise<Value>;
56
56
  delete(key: any): boolean;
@@ -1,4 +1,4 @@
1
- /// <reference types="node" />
1
+ /// <reference types="node" resolution-mode="require"/>
2
2
  import { AsyncLocalStorage } from "async_hooks";
3
3
  import { InjectorService } from "../../common/index.js";
4
4
  import type { DIContext } from "../domain/DIContext.js";
@@ -8,7 +8,8 @@ export declare function getAsyncStore(): AsyncLocalStorage<{
8
8
  export declare function useContextRef(): {
9
9
  current: DIContext | undefined;
10
10
  } | undefined;
11
- export declare function getContext<Context = DIContext>(): Context | undefined;
12
- export declare function runInContext(ctx: DIContext | undefined, cb: any, injector?: InjectorService): Promise<any>;
11
+ export declare function useContext<Context = DIContext>(initialValue?: DIContext): Context | undefined;
12
+ export declare const getContext: typeof useContext;
13
+ export declare function runInContext<Result = unknown>(ctx: DIContext | undefined, cb: (...args: unknown[]) => Result, injector?: InjectorService): Promise<Result>;
13
14
  export declare function setContext(ctx: DIContext): void;
14
15
  export declare function bindContext(cb: any): any;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@tsed/di",
3
3
  "description": "DI module for Ts.ED Framework",
4
- "type": "commonjs",
5
- "version": "8.0.0-alpha.4",
4
+ "type": "module",
5
+ "version": "8.0.0-alpha.6",
6
6
  "source": "./src/index.ts",
7
- "main": "lib/esm/index.js",
8
- "module": "lib/esm/index.js",
7
+ "main": "./lib/esm/index.js",
8
+ "module": "./lib/esm/index.js",
9
9
  "typings": "./lib/types/index.d.ts",
10
10
  "browser": "./lib/browser/di.umd.min.js",
11
11
  "exports": {
@@ -13,7 +13,6 @@
13
13
  "types": "./lib/types/index.d.ts",
14
14
  "browser": "./lib/browser/di.umd.min.js",
15
15
  "import": "./lib/esm/index.js",
16
- "require": "./lib/cjs/index.js",
17
16
  "default": "./lib/cjs/index.js"
18
17
  }
19
18
  },
@@ -30,11 +29,11 @@
30
29
  "uuid": "9.0.1"
31
30
  },
32
31
  "devDependencies": {
33
- "@tsed/barrels": "8.0.0-alpha.4",
34
- "@tsed/core": "8.0.0-alpha.4",
32
+ "@tsed/barrels": "8.0.0-alpha.6",
33
+ "@tsed/core": "8.0.0-alpha.6",
35
34
  "@tsed/logger": ">=6.7.5",
36
- "@tsed/schema": "8.0.0-alpha.4",
37
- "@tsed/typescript": "8.0.0-alpha.4",
35
+ "@tsed/schema": "8.0.0-alpha.6",
36
+ "@tsed/typescript": "8.0.0-alpha.6",
38
37
  "cross-env": "7.0.3",
39
38
  "eslint": "^8.57.0",
40
39
  "typescript": "4.9.5",
@@ -42,9 +41,9 @@
42
41
  "webpack": "^5.75.0"
43
42
  },
44
43
  "peerDependencies": {
45
- "@tsed/core": "8.0.0-alpha.4",
44
+ "@tsed/core": "8.0.0-alpha.6",
46
45
  "@tsed/logger": ">=6.7.5",
47
- "@tsed/schema": "8.0.0-alpha.4"
46
+ "@tsed/schema": "8.0.0-alpha.6"
48
47
  },
49
48
  "peerDependenciesMeta": {
50
49
  "@tsed/core": {
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DI_INTERCEPTOR_OPTIONS = exports.DI_USE_PARAM_OPTIONS = exports.DI_USE_OPTIONS = exports.DI_INJECTABLE_PROPS = exports.DI_INVOKE_OPTIONS = void 0;
4
- exports.DI_INVOKE_OPTIONS = Symbol("DI_INVOKE_OPTIONS");
5
- exports.DI_INJECTABLE_PROPS = Symbol("DI_INJECTABLE_PROPS");
6
- exports.DI_USE_OPTIONS = "DI_USE_OPTIONS";
7
- exports.DI_USE_PARAM_OPTIONS = "DI_USE_PARAM_OPTIONS";
8
- exports.DI_INTERCEPTOR_OPTIONS = "DI_INTERCEPTOR_OPTIONS";
9
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/common/constants/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAChD,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACpD,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,sBAAsB,GAAG,wBAAwB,CAAC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoInjectable = void 0;
4
- const core_1 = require("@tsed/core");
5
- const LocalsContainer_js_1 = require("../domain/LocalsContainer.js");
6
- const InjectorService_js_1 = require("../services/InjectorService.js");
7
- const getConstructorDependencies_js_1 = require("../utils/getConstructorDependencies.js");
8
- function resolveAutoInjectableArgs(token, args) {
9
- const locals = new LocalsContainer_js_1.LocalsContainer();
10
- const injector = InjectorService_js_1.InjectorService.getInstance();
11
- const deps = (0, getConstructorDependencies_js_1.getConstructorDependencies)(token);
12
- const list = [];
13
- const length = Math.max(deps.length, args.length);
14
- for (let i = 0; i < length; i++) {
15
- if (args[i] !== undefined) {
16
- list.push(args[i]);
17
- }
18
- else {
19
- const value = deps[i];
20
- const instance = (0, core_1.isArray)(value)
21
- ? injector.getMany(value[0], locals, { parent: token })
22
- : injector.invoke(value, locals, { parent: token });
23
- list.push(instance);
24
- }
25
- }
26
- return list;
27
- }
28
- function AutoInjectable() {
29
- return (constr) => {
30
- return class AutoInjectable extends constr {
31
- constructor(...args) {
32
- super(...resolveAutoInjectableArgs(constr, args));
33
- }
34
- };
35
- };
36
- }
37
- exports.AutoInjectable = AutoInjectable;
38
- //# sourceMappingURL=autoInjectable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoInjectable.js","sourceRoot":"","sources":["../../../../src/common/decorators/autoInjectable.ts"],"names":[],"mappings":";;;AAAA,qCAA8C;AAC9C,qEAA6D;AAE7D,uEAA+D;AAC/D,0FAAkF;AAElF,SAAS,yBAAyB,CAAC,KAAW,EAAE,IAAe;IAC7D,MAAM,MAAM,GAAG,IAAI,oCAAe,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,oCAAe,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAoB,IAAA,0DAA0B,EAAC,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;QAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACpB;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,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;SACrB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,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;AARD,wCAQC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Configuration = void 0;
4
- const core_1 = require("@tsed/core");
5
- const inject_js_1 = require("./inject.js");
6
- /**
7
- * Get or set Configuration on a class.
8
- *
9
- * @decorator
10
- */
11
- function Configuration(configuration = {}) {
12
- return (...args) => {
13
- switch ((0, core_1.decoratorTypeOf)(args)) {
14
- case core_1.DecoratorTypes.CLASS:
15
- (0, core_1.StoreSet)("configuration", configuration)(args[0]);
16
- break;
17
- default:
18
- case core_1.DecoratorTypes.PARAM_CTOR:
19
- return (0, inject_js_1.Inject)(Configuration)(args[0], args[1], args[2]);
20
- }
21
- };
22
- }
23
- exports.Configuration = Configuration;
24
- //# sourceMappingURL=configuration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/common/decorators/configuration.ts"],"names":[],"mappings":";;;AAAA,qCAA0F;AAC1F,2CAAmC;AAGnC;;;;GAIG;AACH,SAAgB,aAAa,CAAC,gBAA6C,EAAE;IAC3E,OAAO,CAAC,GAAG,IAAyB,EAAE,EAAE;QACtC,QAAQ,IAAA,sBAAe,EAAC,IAAI,CAAC,EAAE;YAC7B,KAAK,qBAAc,CAAC,KAAK;gBACvB,IAAA,eAAQ,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,MAAM;YACR,QAAQ;YACR,KAAK,qBAAc,CAAC,UAAU;gBAC5B,OAAO,IAAA,kBAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;SACrE;IACH,CAAC,CAAC;AACJ,CAAC;AAZD,sCAYC"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Constant = exports.bindConstant = exports.constant = void 0;
4
- const core_1 = require("@tsed/core");
5
- const InjectorService_js_1 = require("../services/InjectorService.js");
6
- function constant(expression, defaultValue) {
7
- return InjectorService_js_1.InjectorService.getInstance().settings.get(expression, defaultValue);
8
- }
9
- exports.constant = constant;
10
- function bindConstant(target, propertyKey, expression, defaultValue) {
11
- const symbol = Symbol();
12
- (0, core_1.catchError)(() => Reflect.deleteProperty(target, propertyKey));
13
- Reflect.defineProperty(target, propertyKey, {
14
- get() {
15
- if (this[symbol] !== undefined) {
16
- return this[symbol];
17
- }
18
- const value = constant(expression, defaultValue);
19
- this[symbol] = Object.freeze((0, core_1.deepClone)(value));
20
- return this[symbol];
21
- },
22
- set(value) {
23
- const bean = constant(expression, defaultValue) || this[symbol];
24
- if (bean === undefined && value !== undefined) {
25
- this[symbol] = value;
26
- }
27
- },
28
- enumerable: true,
29
- configurable: true
30
- });
31
- }
32
- exports.bindConstant = bindConstant;
33
- /**
34
- * Return value from Configuration.
35
- *
36
- * ## Example
37
- *
38
- * ```typescript
39
- * import {Env} from "@tsed/core";
40
- * import {Constant, Value} from "@tsed/di";
41
- *
42
- * export class MyClass {
43
- *
44
- * @Constant("env")
45
- * env: Env;
46
- *
47
- * @Value("swagger.path")
48
- * swaggerPath: string;
49
- *
50
- * @Value("swagger.path", "defaultValue")
51
- * swaggerPath: string;
52
- *
53
- * constructor() {
54
- * console.log(this.swaggerPath) // undefined. Not available on constructor
55
- * }
56
- *
57
- * $onInit() {
58
- * console.log(this.swaggerPath) // something
59
- * }
60
- * }
61
- * ```
62
- *
63
- * @param {string} expression
64
- * @param defaultValue
65
- * @returns {(targetClass: any, attributeName: string) => any}
66
- * @decorator
67
- */
68
- function Constant(expression, defaultValue) {
69
- return (target, propertyKey) => {
70
- return bindConstant(target, propertyKey, expression, defaultValue);
71
- };
72
- }
73
- exports.Constant = Constant;
74
- //# sourceMappingURL=constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../src/common/decorators/constant.ts"],"names":[],"mappings":";;;AAAA,qCAAiD;AACjD,uEAA+D;AAI/D,SAAgB,QAAQ,CAAO,UAAkB,EAAE,YAA+B;IAChF,OAAO,oCAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC;AAFD,4BAEC;AAED,SAAgB,YAAY,CAAC,MAAW,EAAE,WAA4B,EAAE,UAAkB,EAAE,YAAkB;IAC5G,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,IAAA,iBAAU,EAAC,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;gBAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;aACrB;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,gBAAS,EAAC,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;gBAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;aACtB;QACH,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AA1BD,oCA0BC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAgB,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;AAJD,4BAIC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Controller = void 0;
4
- const core_1 = require("@tsed/core");
5
- const schema_1 = require("@tsed/schema");
6
- const ProviderRegistry_js_1 = require("../registries/ProviderRegistry.js");
7
- function mapOptions(options) {
8
- if (typeof options === "string" || options instanceof RegExp || (0, core_1.isArrayOrArrayClass)(options)) {
9
- return {
10
- path: options
11
- };
12
- }
13
- return options;
14
- }
15
- /**
16
- * Declare a new controller with his Rest path. His methods annotated will be collected to build the routing list.
17
- * This routing listing will be built with the `express.Router` object.
18
- *
19
- * ::: tip
20
- * See [Controllers](/docs/controllers.md) section for more details
21
- * :::
22
- *
23
- * ```typescript
24
- * @Controller("/calendars")
25
- * export provide CalendarCtrl {
26
- *
27
- * @Get("/:id")
28
- * public get(
29
- * @Req() request: Req,
30
- * @Res() response: Res,
31
- * @Next() next: Next
32
- * ): void {
33
- *
34
- * }
35
- * }
36
- * ```
37
- *
38
- * @param options
39
- * @controller
40
- * @decorator
41
- * @classDecorator
42
- */
43
- function Controller(options) {
44
- const { children = [], path, ...opts } = mapOptions(options);
45
- return (0, core_1.useDecorators)((target) => {
46
- (0, ProviderRegistry_js_1.registerController)({
47
- provide: target,
48
- ...opts
49
- });
50
- }, path && (0, schema_1.Path)(path), (0, schema_1.Children)(...children));
51
- }
52
- exports.Controller = Controller;
53
- //# sourceMappingURL=controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/common/decorators/controller.ts"],"names":[],"mappings":";;;AAAA,qCAAoE;AACpE,yCAA4C;AAE5C,2EAAqE;AAgBrE,SAAS,UAAU,CAAC,OAAY;IAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,YAAY,MAAM,IAAI,IAAA,0BAAmB,EAAC,OAAO,CAAC,EAAE;QAC5F,OAAO;YACL,IAAI,EAAE,OAAO;SACd,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,UAAU,CAAC,OAAqC;IAC9D,MAAM,EAAC,QAAQ,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAE3D,OAAO,IAAA,oBAAa,EAClB,CAAC,MAAY,EAAE,EAAE;QACf,IAAA,wCAAkB,EAAC;YACjB,OAAO,EAAE,MAAM;YACf,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC,EACD,IAAI,IAAI,IAAA,aAAI,EAAC,IAAW,CAAC,EACzB,IAAA,iBAAQ,EAAC,GAAG,QAAQ,CAAC,CACtB,CAAC;AACJ,CAAC;AAbD,gCAaC"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Inject = exports.injectMany = exports.inject = void 0;
4
- const core_1 = require("@tsed/core");
5
- const constants_js_1 = require("../constants/constants.js");
6
- const InvalidPropertyTokenError_js_1 = require("../errors/InvalidPropertyTokenError.js");
7
- const InjectorService_js_1 = require("../services/InjectorService.js");
8
- const getConstructorDependencies_js_1 = require("../utils/getConstructorDependencies.js");
9
- function inject(token, opts) {
10
- return InjectorService_js_1.InjectorService.getInstance().invoke(token, opts?.locals || InjectorService_js_1.InjectorService.getLocals(), opts);
11
- }
12
- exports.inject = inject;
13
- function injectMany(token, opts) {
14
- return InjectorService_js_1.InjectorService.getInstance().getMany(token, opts?.locals || InjectorService_js_1.InjectorService.getLocals(), opts);
15
- }
16
- exports.injectMany = injectMany;
17
- function setToken(token, { target, propertyKey, parameterIndex }) {
18
- const paramTypes = (0, getConstructorDependencies_js_1.getConstructorDependencies)(target, propertyKey);
19
- const type = paramTypes[parameterIndex];
20
- paramTypes[parameterIndex] = type === Array ? [token] : token;
21
- core_1.Metadata.setParamTypes(target, propertyKey, paramTypes);
22
- (0, getConstructorDependencies_js_1.setConstructorDependencies)(target, paramTypes);
23
- }
24
- function getTokenType(token, target, propertyKey) {
25
- const useType = token || core_1.Metadata.getType(target, propertyKey);
26
- if (useType === Object) {
27
- throw new InvalidPropertyTokenError_js_1.InvalidPropertyTokenError(target, String(propertyKey));
28
- }
29
- return useType;
30
- }
31
- function bindInjectableProperty(target, propertyKey, { token, transform = (o) => o, useOpts }) {
32
- const symbol = Symbol();
33
- if (!target[constants_js_1.DI_INJECTABLE_PROPS]) {
34
- Reflect.defineProperty(target, constants_js_1.DI_INJECTABLE_PROPS, {
35
- value: new Set(),
36
- enumerable: false,
37
- configurable: false
38
- });
39
- }
40
- target[constants_js_1.DI_INJECTABLE_PROPS].add(propertyKey);
41
- (0, core_1.catchError)(() => Reflect.deleteProperty(target, propertyKey));
42
- Reflect.defineProperty(target, propertyKey, {
43
- get() {
44
- const useType = getTokenType(token, target, propertyKey);
45
- const originalType = core_1.Metadata.getType(target, propertyKey);
46
- const invokeOpts = {
47
- rebuild: !!this[constants_js_1.DI_INVOKE_OPTIONS]?.rebuild,
48
- locals: this[constants_js_1.DI_INVOKE_OPTIONS]?.locals,
49
- useOpts: useOpts || core_1.Store.from(target, propertyKey).get(constants_js_1.DI_USE_OPTIONS)
50
- };
51
- if (this[symbol] === undefined) {
52
- this[symbol] = originalType === Array ? injectMany(token, invokeOpts) : inject(useType, invokeOpts);
53
- }
54
- [].concat(this[symbol]).forEach((instance, index) => {
55
- if ((0, core_1.isPromise)(this[symbol])) {
56
- instance.then((result) => {
57
- this[symbol][index] = result;
58
- if (originalType !== Array) {
59
- this[symbol] = result;
60
- }
61
- });
62
- }
63
- });
64
- return transform(this[symbol], { self: this, target, propertyKey });
65
- }
66
- });
67
- }
68
- function Inject(token, opts = {}) {
69
- opts = typeof opts === "function" ? { transform: opts } : opts;
70
- return (target, propertyKey, index) => {
71
- const bindingType = (0, core_1.decoratorTypeOf)([target, propertyKey, index]);
72
- switch (bindingType) {
73
- case core_1.DecoratorTypes.PARAM_CTOR:
74
- if (token) {
75
- setToken(token, { target, propertyKey, parameterIndex: index });
76
- }
77
- break;
78
- case core_1.DecoratorTypes.PROP:
79
- bindInjectableProperty(target, propertyKey, { ...opts, token });
80
- }
81
- };
82
- }
83
- exports.Inject = Inject;
84
- //# sourceMappingURL=inject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../../src/common/decorators/inject.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Injectable = void 0;
4
- const ProviderRegistry_js_1 = require("../registries/ProviderRegistry.js");
5
- /**
6
- * The decorators `@Injectable()` declare a new service can be injected in other service, controller, interceptor, etc.. on there `constructor`.
7
- * All classes annotated with `@Injectable()` are built one time, excepted if you change the default provider configuration.
8
- *
9
- * ::: tip
10
- * `@Injectable()` use the `reflect-metadata` to collect and inject the built provided to other services.
11
- * :::
12
- *
13
- * ### Options
14
- *
15
- * - type (@@ProviderType@@ or `string`): Kind of provider. (Default: `ProviderType.PROVIDER`)
16
- * - scope (@@ProviderScope@@): Kind of provider. (Default: `ProviderScope.SINGLETON`)
17
- * - provide (@@TokenProvider@@): An injection token (Note: This option override default metadata generated by Typescript).
18
- * - deps (`Type<any>`): List of class or provider which will be injected to the constructor (Note: This options override default metadata generated by Typescript).
19
- *
20
- * @returns {Function}
21
- * @decorator
22
- */
23
- function Injectable(options = {}) {
24
- return (target) => {
25
- (0, ProviderRegistry_js_1.registerProvider)({
26
- ...options,
27
- ...(options.provide ? { useClass: target } : { provide: target })
28
- });
29
- };
30
- }
31
- exports.Injectable = Injectable;
32
- //# sourceMappingURL=injectable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectable.js","sourceRoot":"","sources":["../../../../src/common/decorators/injectable.ts"],"names":[],"mappings":";;;AACA,2EAAmE;AAEnE;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,UAAU,CAAC,UAAiC,EAAE;IAC5D,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAA,sCAAgB,EAAC;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;AAPD,gCAOC"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Intercept = exports.bindIntercept = exports.getInterceptorOptions = void 0;
4
- const core_1 = require("@tsed/core");
5
- const constants_js_1 = require("../constants/constants.js");
6
- const inject_js_1 = require("./inject.js");
7
- function getInterceptorOptions(target, propertyKey) {
8
- return core_1.Store.fromMethod(target, propertyKey).get(constants_js_1.DI_INTERCEPTOR_OPTIONS);
9
- }
10
- exports.getInterceptorOptions = getInterceptorOptions;
11
- function bindIntercept(target, propertyKey, token, options) {
12
- const klass = (0, core_1.classOf)(target);
13
- const descriptor = Reflect.getOwnPropertyDescriptor(klass.prototype, propertyKey);
14
- const originalMethod = descriptor.value;
15
- const symbol = Symbol();
16
- core_1.Store.fromMethod(klass, propertyKey).set(constants_js_1.DI_INTERCEPTOR_OPTIONS, options);
17
- descriptor.value = function (...args) {
18
- const next = (err) => {
19
- if (!err) {
20
- return originalMethod.apply(this, args);
21
- }
22
- throw err;
23
- };
24
- const context = {
25
- target,
26
- propertyKey,
27
- args,
28
- options,
29
- next
30
- };
31
- const invokeOpts = {
32
- rebuild: !!this[constants_js_1.DI_INVOKE_OPTIONS]?.rebuild,
33
- locals: this[constants_js_1.DI_INVOKE_OPTIONS]?.locals
34
- };
35
- this[symbol] = this[symbol] || (0, inject_js_1.inject)(token, invokeOpts);
36
- return this[symbol].intercept({
37
- ...context,
38
- options
39
- }, next);
40
- };
41
- return descriptor;
42
- }
43
- exports.bindIntercept = bindIntercept;
44
- /**
45
- * Attaches interceptor to method call and executes the before and after methods
46
- *
47
- * @param interceptor
48
- * @param options
49
- * @decorator
50
- */
51
- function Intercept(interceptor, options) {
52
- return (...args) => {
53
- const [target, propertyKey] = args;
54
- const type = (0, core_1.decoratorTypeOf)(args);
55
- switch (type) {
56
- case core_1.DecoratorTypes.CLASS:
57
- (0, core_1.decorateMethodsOf)(target, Intercept(interceptor, options));
58
- break;
59
- case core_1.DecoratorTypes.METHOD:
60
- return bindIntercept(target, propertyKey, interceptor, options);
61
- }
62
- };
63
- }
64
- exports.Intercept = Intercept;
65
- //# sourceMappingURL=intercept.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../../src/common/decorators/intercept.ts"],"names":[],"mappings":";;;AAAA,qCAAyH;AACzH,4DAAoF;AAKpF,2CAAmC;AAEnC,SAAgB,qBAAqB,CAAI,MAAiB,EAAE,WAA4B;IACtF,OAAO,YAAK,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,qCAAsB,CAAM,CAAC;AAChF,CAAC;AAFD,sDAEC;AAED,SAAgB,aAAa,CAAC,MAAW,EAAE,WAA4B,EAAE,KAAoB,EAAE,OAAgC;IAC7H,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,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,YAAK,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,qCAAsB,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;gBACR,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACzC;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,gCAAiB,CAAC,EAAE,OAAO;YAC3C,MAAM,EAAE,IAAI,CAAC,gCAAiB,CAAC,EAAE,MAAM;SACxC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,kBAAM,EAAC,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;AA1CD,sCA0CC;AAED;;;;;;GAMG;AACH,SAAgB,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,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC;QACnC,QAAQ,IAAI,EAAE;YACZ,KAAK,qBAAc,CAAC,KAAK;gBACvB,IAAA,wBAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,qBAAc,CAAC,MAAM;gBACxB,OAAO,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;SACnE;IACH,CAAC,CAAC;AACJ,CAAC;AAZD,8BAYC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Interceptor = void 0;
4
- const ProviderType_js_1 = require("../domain/ProviderType.js");
5
- const injectable_js_1 = require("./injectable.js");
6
- /**
7
- * The decorators `@Service()` declare a new service can be injected in other service or controller on there `constructor`.
8
- * All services annotated with `@Service()` are constructed one time.
9
- *
10
- * > `@Service()` use the `reflect-metadata` to collect and inject service on controllers or other services.
11
- *
12
- * @returns {Function}
13
- * @decorator
14
- */
15
- function Interceptor() {
16
- return (0, injectable_js_1.Injectable)({
17
- type: ProviderType_js_1.ProviderType.INTERCEPTOR
18
- });
19
- }
20
- exports.Interceptor = Interceptor;
21
- //# sourceMappingURL=interceptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../../../src/common/decorators/interceptor.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,mDAA2C;AAE3C;;;;;;;;GAQG;AACH,SAAgB,WAAW;IACzB,OAAO,IAAA,0BAAU,EAAC;QAChB,IAAI,EAAE,8BAAY,CAAC,WAAW;KAC/B,CAAC,CAAC;AACL,CAAC;AAJD,kCAIC"}