@tsed/di 8.0.0-alpha.1 → 8.0.0-alpha.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 (251) hide show
  1. package/lib/browser/di.umd.min.js +1 -1
  2. package/lib/browser/di.umd.min.js.map +1 -1
  3. package/lib/esm/common/decorators/autoInjectable.js.map +1 -1
  4. package/lib/esm/common/decorators/configuration.js.map +1 -1
  5. package/lib/esm/common/decorators/constant.js.map +1 -1
  6. package/lib/esm/common/decorators/controller.js.map +1 -1
  7. package/lib/esm/common/decorators/inject.js +1 -1
  8. package/lib/esm/common/decorators/inject.js.map +1 -1
  9. package/lib/esm/common/decorators/intercept.js.map +1 -1
  10. package/lib/esm/common/decorators/lazyInject.js.map +1 -1
  11. package/lib/esm/common/decorators/module.js +1 -1
  12. package/lib/esm/common/decorators/module.js.map +1 -1
  13. package/lib/esm/common/decorators/opts.js.map +1 -1
  14. package/lib/esm/common/decorators/overrideProvider.js.map +1 -1
  15. package/lib/esm/common/decorators/scope.js.map +1 -1
  16. package/lib/esm/common/decorators/useOpts.js +1 -1
  17. package/lib/esm/common/decorators/useOpts.js.map +1 -1
  18. package/lib/esm/common/decorators/value.js.map +1 -1
  19. package/lib/esm/common/domain/Container.js.map +1 -1
  20. package/lib/esm/common/domain/LocalsContainer.js.map +1 -1
  21. package/lib/esm/common/domain/Provider.js.map +1 -1
  22. package/lib/esm/common/errors/InjectionError.js.map +1 -1
  23. package/lib/esm/common/registries/GlobalProviders.js +1 -5
  24. package/lib/esm/common/registries/GlobalProviders.js.map +1 -1
  25. package/lib/esm/common/registries/ProviderRegistry.js.map +1 -1
  26. package/lib/esm/common/services/DIConfiguration.js.map +1 -1
  27. package/lib/esm/common/services/InjectorService.js.map +1 -1
  28. package/lib/esm/common/utils/createContainer.js.map +1 -1
  29. package/lib/esm/common/utils/resolveControllers.js +1 -1
  30. package/lib/esm/common/utils/resolveControllers.js.map +1 -1
  31. package/lib/esm/node/decorators/injectContext.js +2 -2
  32. package/lib/esm/node/decorators/injectContext.js.map +1 -1
  33. package/lib/esm/node/domain/ContextLogger.js +2 -2
  34. package/lib/esm/node/domain/ContextLogger.js.map +1 -1
  35. package/lib/esm/node/domain/DIContext.js.map +1 -1
  36. package/lib/esm/node/services/DILogger.js.map +1 -1
  37. package/lib/esm/node/services/DITest.js +1 -1
  38. package/lib/esm/node/services/DITest.js.map +1 -1
  39. package/lib/esm/node/utils/asyncHookContext.js +3 -2
  40. package/lib/esm/node/utils/asyncHookContext.js.map +1 -1
  41. package/lib/esm/node/utils/setLoggerFormat.js.map +1 -1
  42. package/lib/esm/node/utils/setLoggerLevel.js.map +1 -1
  43. package/lib/types/common/decorators/module.d.ts +1 -1
  44. package/lib/types/common/domain/Container.d.ts +1 -1
  45. package/lib/types/common/domain/Provider.d.ts +1 -1
  46. package/lib/types/common/interfaces/ProviderOpts.d.ts +1 -1
  47. package/lib/types/common/interfaces/TokenProvider.d.ts +1 -1
  48. package/lib/types/node/decorators/injectContext.d.ts +2 -1
  49. package/lib/types/node/domain/ContextLogger.d.ts +3 -3
  50. package/lib/types/node/domain/DIContext.d.ts +1 -1
  51. package/lib/types/node/utils/asyncHookContext.d.ts +4 -3
  52. package/package.json +17 -18
  53. package/vitest.config.mts +4 -4
  54. package/lib/cjs/common/constants/constants.js +0 -9
  55. package/lib/cjs/common/constants/constants.js.map +0 -1
  56. package/lib/cjs/common/decorators/autoInjectable.js +0 -38
  57. package/lib/cjs/common/decorators/autoInjectable.js.map +0 -1
  58. package/lib/cjs/common/decorators/configuration.js +0 -24
  59. package/lib/cjs/common/decorators/configuration.js.map +0 -1
  60. package/lib/cjs/common/decorators/constant.js +0 -74
  61. package/lib/cjs/common/decorators/constant.js.map +0 -1
  62. package/lib/cjs/common/decorators/controller.js +0 -53
  63. package/lib/cjs/common/decorators/controller.js.map +0 -1
  64. package/lib/cjs/common/decorators/inject.js +0 -84
  65. package/lib/cjs/common/decorators/inject.js.map +0 -1
  66. package/lib/cjs/common/decorators/injectable.js +0 -32
  67. package/lib/cjs/common/decorators/injectable.js.map +0 -1
  68. package/lib/cjs/common/decorators/intercept.js +0 -65
  69. package/lib/cjs/common/decorators/intercept.js.map +0 -1
  70. package/lib/cjs/common/decorators/interceptor.js +0 -21
  71. package/lib/cjs/common/decorators/interceptor.js.map +0 -1
  72. package/lib/cjs/common/decorators/lazyInject.js +0 -71
  73. package/lib/cjs/common/decorators/lazyInject.js.map +0 -1
  74. package/lib/cjs/common/decorators/module.js +0 -32
  75. package/lib/cjs/common/decorators/module.js.map +0 -1
  76. package/lib/cjs/common/decorators/opts.js +0 -54
  77. package/lib/cjs/common/decorators/opts.js.map +0 -1
  78. package/lib/cjs/common/decorators/overrideProvider.js +0 -17
  79. package/lib/cjs/common/decorators/overrideProvider.js.map +0 -1
  80. package/lib/cjs/common/decorators/scope.js +0 -16
  81. package/lib/cjs/common/decorators/scope.js.map +0 -1
  82. package/lib/cjs/common/decorators/service.js +0 -18
  83. package/lib/cjs/common/decorators/service.js.map +0 -1
  84. package/lib/cjs/common/decorators/useOpts.js +0 -61
  85. package/lib/cjs/common/decorators/useOpts.js.map +0 -1
  86. package/lib/cjs/common/decorators/value.js +0 -62
  87. package/lib/cjs/common/decorators/value.js.map +0 -1
  88. package/lib/cjs/common/domain/Container.js +0 -72
  89. package/lib/cjs/common/domain/Container.js.map +0 -1
  90. package/lib/cjs/common/domain/ControllerProvider.js +0 -36
  91. package/lib/cjs/common/domain/ControllerProvider.js.map +0 -1
  92. package/lib/cjs/common/domain/InjectablePropertyType.js +0 -12
  93. package/lib/cjs/common/domain/InjectablePropertyType.js.map +0 -1
  94. package/lib/cjs/common/domain/LocalsContainer.js +0 -15
  95. package/lib/cjs/common/domain/LocalsContainer.js.map +0 -1
  96. package/lib/cjs/common/domain/Provider.js +0 -134
  97. package/lib/cjs/common/domain/Provider.js.map +0 -1
  98. package/lib/cjs/common/domain/ProviderScope.js +0 -10
  99. package/lib/cjs/common/domain/ProviderScope.js.map +0 -1
  100. package/lib/cjs/common/domain/ProviderType.js +0 -15
  101. package/lib/cjs/common/domain/ProviderType.js.map +0 -1
  102. package/lib/cjs/common/errors/InjectionError.js +0 -58
  103. package/lib/cjs/common/errors/InjectionError.js.map +0 -1
  104. package/lib/cjs/common/errors/InvalidPropertyTokenError.js +0 -12
  105. package/lib/cjs/common/errors/InvalidPropertyTokenError.js.map +0 -1
  106. package/lib/cjs/common/index.js +0 -58
  107. package/lib/cjs/common/index.js.map +0 -1
  108. package/lib/cjs/common/interfaces/DIConfigurationOptions.js +0 -3
  109. package/lib/cjs/common/interfaces/DIConfigurationOptions.js.map +0 -1
  110. package/lib/cjs/common/interfaces/DILogger.js +0 -3
  111. package/lib/cjs/common/interfaces/DILogger.js.map +0 -1
  112. package/lib/cjs/common/interfaces/DILoggerOptions.js +0 -3
  113. package/lib/cjs/common/interfaces/DILoggerOptions.js.map +0 -1
  114. package/lib/cjs/common/interfaces/DIResolver.js +0 -3
  115. package/lib/cjs/common/interfaces/DIResolver.js.map +0 -1
  116. package/lib/cjs/common/interfaces/ImportTokenProviderOpts.js +0 -3
  117. package/lib/cjs/common/interfaces/ImportTokenProviderOpts.js.map +0 -1
  118. package/lib/cjs/common/interfaces/InterceptorContext.js +0 -3
  119. package/lib/cjs/common/interfaces/InterceptorContext.js.map +0 -1
  120. package/lib/cjs/common/interfaces/InterceptorMethods.js +0 -3
  121. package/lib/cjs/common/interfaces/InterceptorMethods.js.map +0 -1
  122. package/lib/cjs/common/interfaces/InvokeOptions.js +0 -3
  123. package/lib/cjs/common/interfaces/InvokeOptions.js.map +0 -1
  124. package/lib/cjs/common/interfaces/OnDestroy.js +0 -3
  125. package/lib/cjs/common/interfaces/OnDestroy.js.map +0 -1
  126. package/lib/cjs/common/interfaces/OnInit.js +0 -3
  127. package/lib/cjs/common/interfaces/OnInit.js.map +0 -1
  128. package/lib/cjs/common/interfaces/ProviderOpts.js +0 -3
  129. package/lib/cjs/common/interfaces/ProviderOpts.js.map +0 -1
  130. package/lib/cjs/common/interfaces/RegistrySettings.js +0 -3
  131. package/lib/cjs/common/interfaces/RegistrySettings.js.map +0 -1
  132. package/lib/cjs/common/interfaces/ResolvedInvokeOptions.js +0 -3
  133. package/lib/cjs/common/interfaces/ResolvedInvokeOptions.js.map +0 -1
  134. package/lib/cjs/common/interfaces/TokenProvider.js +0 -3
  135. package/lib/cjs/common/interfaces/TokenProvider.js.map +0 -1
  136. package/lib/cjs/common/interfaces/TokenRoute.js +0 -3
  137. package/lib/cjs/common/interfaces/TokenRoute.js.map +0 -1
  138. package/lib/cjs/common/registries/GlobalProviders.js +0 -121
  139. package/lib/cjs/common/registries/GlobalProviders.js.map +0 -1
  140. package/lib/cjs/common/registries/ProviderRegistry.js +0 -86
  141. package/lib/cjs/common/registries/ProviderRegistry.js.map +0 -1
  142. package/lib/cjs/common/services/DIConfiguration.js +0 -142
  143. package/lib/cjs/common/services/DIConfiguration.js.map +0 -1
  144. package/lib/cjs/common/services/DILogger.js +0 -14
  145. package/lib/cjs/common/services/DILogger.js.map +0 -1
  146. package/lib/cjs/common/services/InjectorService.js +0 -536
  147. package/lib/cjs/common/services/InjectorService.js.map +0 -1
  148. package/lib/cjs/common/utils/colors.js +0 -10
  149. package/lib/cjs/common/utils/colors.js.map +0 -1
  150. package/lib/cjs/common/utils/createContainer.js +0 -14
  151. package/lib/cjs/common/utils/createContainer.js.map +0 -1
  152. package/lib/cjs/common/utils/getConfiguration.js +0 -23
  153. package/lib/cjs/common/utils/getConfiguration.js.map +0 -1
  154. package/lib/cjs/common/utils/getConstructorDependencies.js +0 -13
  155. package/lib/cjs/common/utils/getConstructorDependencies.js.map +0 -1
  156. package/lib/cjs/common/utils/resolveControllers.js +0 -47
  157. package/lib/cjs/common/utils/resolveControllers.js.map +0 -1
  158. package/lib/cjs/index.js +0 -6
  159. package/lib/cjs/index.js.map +0 -1
  160. package/lib/cjs/node/decorators/injectContext.js +0 -39
  161. package/lib/cjs/node/decorators/injectContext.js.map +0 -1
  162. package/lib/cjs/node/domain/ContextLogger.js +0 -99
  163. package/lib/cjs/node/domain/ContextLogger.js.map +0 -1
  164. package/lib/cjs/node/domain/DIContext.js +0 -102
  165. package/lib/cjs/node/domain/DIContext.js.map +0 -1
  166. package/lib/cjs/node/index.js +0 -18
  167. package/lib/cjs/node/index.js.map +0 -1
  168. package/lib/cjs/node/interfaces/AlterRunInContext.js +0 -3
  169. package/lib/cjs/node/interfaces/AlterRunInContext.js.map +0 -1
  170. package/lib/cjs/node/services/DILogger.js +0 -12
  171. package/lib/cjs/node/services/DILogger.js.map +0 -1
  172. package/lib/cjs/node/services/DITest.js +0 -126
  173. package/lib/cjs/node/services/DITest.js.map +0 -1
  174. package/lib/cjs/node/utils/asyncHookContext.js +0 -42
  175. package/lib/cjs/node/utils/asyncHookContext.js.map +0 -1
  176. package/lib/cjs/node/utils/attachLogger.js +0 -10
  177. package/lib/cjs/node/utils/attachLogger.js.map +0 -1
  178. package/lib/cjs/node/utils/setLoggerConfiguration.js +0 -11
  179. package/lib/cjs/node/utils/setLoggerConfiguration.js.map +0 -1
  180. package/lib/cjs/node/utils/setLoggerFormat.js +0 -33
  181. package/lib/cjs/node/utils/setLoggerFormat.js.map +0 -1
  182. package/lib/cjs/node/utils/setLoggerLevel.js +0 -15
  183. package/lib/cjs/node/utils/setLoggerLevel.js.map +0 -1
  184. package/lib/cjs/package.json +0 -3
  185. package/lib/esm/package.json +0 -3
  186. package/lib/types-esm/common/constants/constants.d.ts +0 -5
  187. package/lib/types-esm/common/decorators/autoInjectable.d.ts +0 -1
  188. package/lib/types-esm/common/decorators/configuration.d.ts +0 -8
  189. package/lib/types-esm/common/decorators/constant.d.ts +0 -39
  190. package/lib/types-esm/common/decorators/controller.d.ts +0 -42
  191. package/lib/types-esm/common/decorators/inject.d.ts +0 -35
  192. package/lib/types-esm/common/decorators/injectable.d.ts +0 -20
  193. package/lib/types-esm/common/decorators/intercept.d.ts +0 -13
  194. package/lib/types-esm/common/decorators/interceptor.d.ts +0 -10
  195. package/lib/types-esm/common/decorators/lazyInject.d.ts +0 -43
  196. package/lib/types-esm/common/decorators/module.d.ts +0 -37
  197. package/lib/types-esm/common/decorators/opts.d.ts +0 -41
  198. package/lib/types-esm/common/decorators/overrideProvider.d.ts +0 -8
  199. package/lib/types-esm/common/decorators/scope.d.ts +0 -8
  200. package/lib/types-esm/common/decorators/service.d.ts +0 -10
  201. package/lib/types-esm/common/decorators/useOpts.d.ts +0 -42
  202. package/lib/types-esm/common/decorators/value.d.ts +0 -37
  203. package/lib/types-esm/common/domain/Container.d.ts +0 -43
  204. package/lib/types-esm/common/domain/ControllerProvider.d.ts +0 -17
  205. package/lib/types-esm/common/domain/InjectablePropertyType.d.ts +0 -7
  206. package/lib/types-esm/common/domain/LocalsContainer.d.ts +0 -6
  207. package/lib/types-esm/common/domain/Provider.d.ts +0 -71
  208. package/lib/types-esm/common/domain/ProviderScope.d.ts +0 -5
  209. package/lib/types-esm/common/domain/ProviderType.d.ts +0 -10
  210. package/lib/types-esm/common/errors/InjectionError.d.ts +0 -8
  211. package/lib/types-esm/common/errors/InvalidPropertyTokenError.d.ts +0 -4
  212. package/lib/types-esm/common/index.d.ts +0 -54
  213. package/lib/types-esm/common/interfaces/DIConfigurationOptions.d.ts +0 -29
  214. package/lib/types-esm/common/interfaces/DILogger.d.ts +0 -8
  215. package/lib/types-esm/common/interfaces/DILoggerOptions.d.ts +0 -53
  216. package/lib/types-esm/common/interfaces/DIResolver.d.ts +0 -5
  217. package/lib/types-esm/common/interfaces/ImportTokenProviderOpts.d.ts +0 -19
  218. package/lib/types-esm/common/interfaces/InterceptorContext.d.ts +0 -11
  219. package/lib/types-esm/common/interfaces/InterceptorMethods.d.ts +0 -4
  220. package/lib/types-esm/common/interfaces/InvokeOptions.d.ts +0 -30
  221. package/lib/types-esm/common/interfaces/OnDestroy.d.ts +0 -3
  222. package/lib/types-esm/common/interfaces/OnInit.d.ts +0 -3
  223. package/lib/types-esm/common/interfaces/ProviderOpts.d.ts +0 -59
  224. package/lib/types-esm/common/interfaces/RegistrySettings.d.ts +0 -21
  225. package/lib/types-esm/common/interfaces/ResolvedInvokeOptions.d.ts +0 -12
  226. package/lib/types-esm/common/interfaces/TokenProvider.d.ts +0 -2
  227. package/lib/types-esm/common/interfaces/TokenRoute.d.ts +0 -5
  228. package/lib/types-esm/common/registries/GlobalProviders.d.ts +0 -58
  229. package/lib/types-esm/common/registries/ProviderRegistry.d.ts +0 -58
  230. package/lib/types-esm/common/services/DIConfiguration.d.ts +0 -57
  231. package/lib/types-esm/common/services/DILogger.d.ts +0 -3
  232. package/lib/types-esm/common/services/InjectorService.d.ts +0 -203
  233. package/lib/types-esm/common/utils/colors.d.ts +0 -5
  234. package/lib/types-esm/common/utils/createContainer.d.ts +0 -3
  235. package/lib/types-esm/common/utils/getConfiguration.d.ts +0 -3
  236. package/lib/types-esm/common/utils/getConstructorDependencies.d.ts +0 -2
  237. package/lib/types-esm/common/utils/resolveControllers.d.ts +0 -12
  238. package/lib/types-esm/index.d.ts +0 -2
  239. package/lib/types-esm/node/decorators/injectContext.d.ts +0 -15
  240. package/lib/types-esm/node/domain/ContextLogger.d.ts +0 -37
  241. package/lib/types-esm/node/domain/DIContext.d.ts +0 -61
  242. package/lib/types-esm/node/index.d.ts +0 -14
  243. package/lib/types-esm/node/interfaces/AlterRunInContext.d.ts +0 -3
  244. package/lib/types-esm/node/services/DILogger.d.ts +0 -1
  245. package/lib/types-esm/node/services/DITest.d.ts +0 -37
  246. package/lib/types-esm/node/utils/asyncHookContext.d.ts +0 -14
  247. package/lib/types-esm/node/utils/attachLogger.d.ts +0 -2
  248. package/lib/types-esm/node/utils/setLoggerConfiguration.d.ts +0 -2
  249. package/lib/types-esm/node/utils/setLoggerFormat.d.ts +0 -6
  250. package/lib/types-esm/node/utils/setLoggerLevel.d.ts +0 -6
  251. /package/{webpack.config.js → webpack.config.cjs} +0 -0
@@ -1,5 +0,0 @@
1
- export declare const DI_INVOKE_OPTIONS: unique symbol;
2
- export declare const DI_INJECTABLE_PROPS: unique symbol;
3
- export declare const DI_USE_OPTIONS = "DI_USE_OPTIONS";
4
- export declare const DI_USE_PARAM_OPTIONS = "DI_USE_PARAM_OPTIONS";
5
- export declare const DI_INTERCEPTOR_OPTIONS = "DI_INTERCEPTOR_OPTIONS";
@@ -1 +0,0 @@
1
- export declare function AutoInjectable(): <T extends new (...args: any[]) => NonNullable<unknown>>(constr: T) => T;
@@ -1,8 +0,0 @@
1
- import { DIConfiguration } from "../services/DIConfiguration.js";
2
- /**
3
- * Get or set Configuration on a class.
4
- *
5
- * @decorator
6
- */
7
- export declare function Configuration(configuration?: Partial<TsED.Configuration>): Function;
8
- export type Configuration = TsED.Configuration & DIConfiguration;
@@ -1,39 +0,0 @@
1
- export declare function constant<Type>(expression: string): Type | undefined;
2
- export declare function constant<Type>(expression: string, defaultValue: Type | undefined): Type;
3
- export declare function bindConstant(target: any, propertyKey: string | symbol, expression: string, defaultValue?: any): void;
4
- /**
5
- * Return value from Configuration.
6
- *
7
- * ## Example
8
- *
9
- * ```typescript
10
- * import {Env} from "@tsed/core";
11
- * import {Constant, Value} from "@tsed/di";
12
- *
13
- * export class MyClass {
14
- *
15
- * @Constant("env")
16
- * env: Env;
17
- *
18
- * @Value("swagger.path")
19
- * swaggerPath: string;
20
- *
21
- * @Value("swagger.path", "defaultValue")
22
- * swaggerPath: string;
23
- *
24
- * constructor() {
25
- * console.log(this.swaggerPath) // undefined. Not available on constructor
26
- * }
27
- *
28
- * $onInit() {
29
- * console.log(this.swaggerPath) // something
30
- * }
31
- * }
32
- * ```
33
- *
34
- * @param {string} expression
35
- * @param defaultValue
36
- * @returns {(targetClass: any, attributeName: string) => any}
37
- * @decorator
38
- */
39
- export declare function Constant<Type = unknown>(expression: string, defaultValue?: Type): PropertyDecorator;
@@ -1,42 +0,0 @@
1
- import { Type } from "@tsed/core";
2
- import { ProviderOpts } from "../interfaces/ProviderOpts.js";
3
- export type PathType = string | RegExp | (string | RegExp)[];
4
- export interface ControllerMiddlewares {
5
- useBefore: any[];
6
- use: any[];
7
- useAfter: any[];
8
- }
9
- export interface ControllerOptions extends Partial<ProviderOpts<any>> {
10
- path?: PathType;
11
- children?: Type<any>[];
12
- middlewares?: Partial<ControllerMiddlewares>;
13
- }
14
- /**
15
- * Declare a new controller with his Rest path. His methods annotated will be collected to build the routing list.
16
- * This routing listing will be built with the `express.Router` object.
17
- *
18
- * ::: tip
19
- * See [Controllers](/docs/controllers.md) section for more details
20
- * :::
21
- *
22
- * ```typescript
23
- * @Controller("/calendars")
24
- * export provide CalendarCtrl {
25
- *
26
- * @Get("/:id")
27
- * public get(
28
- * @Req() request: Req,
29
- * @Res() response: Res,
30
- * @Next() next: Next
31
- * ): void {
32
- *
33
- * }
34
- * }
35
- * ```
36
- *
37
- * @param options
38
- * @controller
39
- * @decorator
40
- * @classDecorator
41
- */
42
- export declare function Controller(options: PathType | ControllerOptions): ClassDecorator;
@@ -1,35 +0,0 @@
1
- import { type Type } from "@tsed/core";
2
- import type { InvokeOptions } from "../interfaces/InvokeOptions.js";
3
- import { TokenProvider } from "../interfaces/TokenProvider.js";
4
- export declare function inject<T>(token: TokenProvider<T>, opts?: Partial<Pick<InvokeOptions, "useOpts" | "rebuild" | "locals">>): T;
5
- export declare function injectMany<T>(token: string | symbol, opts?: Partial<Pick<InvokeOptions, "useOpts" | "rebuild" | "locals">>): T[];
6
- export type TransformInjectedProviderCB<T, Klass = any> = (instance: T, { target, propertyKey }: {
7
- self: Klass;
8
- target: Type<Klass>;
9
- propertyKey: symbol | string;
10
- }) => unknown;
11
- export interface BindInjectablePropertyOpts<T = any> {
12
- token?: TokenProvider;
13
- useOpts?: Record<string, unknown>;
14
- transform?: TransformInjectedProviderCB<T>;
15
- }
16
- /**
17
- * Inject a provider to another provider.
18
- *
19
- * Use this decorator to inject a custom provider on constructor parameter or property.
20
- *
21
- * ```typescript
22
- * @Injectable()
23
- * export class MyService {
24
- * @Inject(CONNECTION)
25
- * connection: CONNECTION;
26
- * }
27
- * ```
28
- *
29
- * @param token A token provider or token provider group
30
- * @param transform
31
- * @returns {Function}
32
- * @decorator
33
- */
34
- export declare function Inject<T = any>(token?: TokenProvider<T> | (() => TokenProvider<T>), transform?: TransformInjectedProviderCB<T>): any;
35
- export declare function Inject<T = any>(token?: TokenProvider<T> | (() => TokenProvider<T>), opts?: Partial<Omit<BindInjectablePropertyOpts<T>, "token">>): any;
@@ -1,20 +0,0 @@
1
- import type { ProviderOpts } from "../interfaces/ProviderOpts.js";
2
- /**
3
- * The decorators `@Injectable()` declare a new service can be injected in other service, controller, interceptor, etc.. on there `constructor`.
4
- * All classes annotated with `@Injectable()` are built one time, excepted if you change the default provider configuration.
5
- *
6
- * ::: tip
7
- * `@Injectable()` use the `reflect-metadata` to collect and inject the built provided to other services.
8
- * :::
9
- *
10
- * ### Options
11
- *
12
- * - type (@@ProviderType@@ or `string`): Kind of provider. (Default: `ProviderType.PROVIDER`)
13
- * - scope (@@ProviderScope@@): Kind of provider. (Default: `ProviderScope.SINGLETON`)
14
- * - provide (@@TokenProvider@@): An injection token (Note: This option override default metadata generated by Typescript).
15
- * - deps (`Type<any>`): List of class or provider which will be injected to the constructor (Note: This options override default metadata generated by Typescript).
16
- *
17
- * @returns {Function}
18
- * @decorator
19
- */
20
- export declare function Injectable(options?: Partial<ProviderOpts>): ClassDecorator;
@@ -1,13 +0,0 @@
1
- import { Type } from "@tsed/core";
2
- import type { InterceptorMethods } from "../interfaces/InterceptorMethods.js";
3
- import type { TokenProvider } from "../interfaces/TokenProvider.js";
4
- export declare function getInterceptorOptions<T>(target: Type<any>, propertyKey: string | symbol): T;
5
- export declare function bindIntercept(target: any, propertyKey: string | symbol, token: TokenProvider, options: Record<string, unknown>): TypedPropertyDescriptor<any> | undefined;
6
- /**
7
- * Attaches interceptor to method call and executes the before and after methods
8
- *
9
- * @param interceptor
10
- * @param options
11
- * @decorator
12
- */
13
- export declare function Intercept<T extends InterceptorMethods>(interceptor: Type<T>, options?: any): any;
@@ -1,10 +0,0 @@
1
- /**
2
- * The decorators `@Service()` declare a new service can be injected in other service or controller on there `constructor`.
3
- * All services annotated with `@Service()` are constructed one time.
4
- *
5
- * > `@Service()` use the `reflect-metadata` to collect and inject service on controllers or other services.
6
- *
7
- * @returns {Function}
8
- * @decorator
9
- */
10
- export declare function Interceptor(): Function;
@@ -1,43 +0,0 @@
1
- /**
2
- * Lazy load a provider from his package and invoke only when the provider is used
3
- *
4
- * ```typescript
5
- * import type {PlatformException} from "@tsed/platform-exceptions";
6
- *
7
- * @Injectable()
8
- * export class MyService {
9
- * @LazyInject("PlatformException", () => import("@tsed/platform-exceptions"))
10
- * exceptions: Promise<PlatformException>;
11
- * }
12
- * ```
13
- *
14
- * @param key
15
- * @param packageName
16
- * @param resolver
17
- * @param optional
18
- * @returns {Function}
19
- * @decorator
20
- */
21
- export declare function LazyInject(key: string, resolver: () => any, { optional, packageName }?: {
22
- optional?: boolean;
23
- packageName?: string;
24
- }): PropertyDecorator;
25
- /**
26
- * Optionally Lazy load a provider from his package and invoke only when the provider is used
27
- *
28
- * ```typescript
29
- * import type {PlatformException} from "@tsed/platform-exceptions";
30
- *
31
- * @Injectable()
32
- * export class MyService {
33
- * @OptionalLazyInject("@tsed/platform-exceptions")
34
- * exceptions: Promise<PlatformException>;
35
- * }
36
- * ```
37
- *
38
- * @param key
39
- * @param resolver
40
- * @returns {Function}
41
- * @decorator
42
- */
43
- export declare function OptionalLazyInject(key: string, resolver: () => any): PropertyDecorator;
@@ -1,37 +0,0 @@
1
- import { ProviderScope } from "../domain/ProviderScope.js";
2
- import { TokenProvider } from "../interfaces/TokenProvider.js";
3
- import { DIResolver } from "../interfaces/DIResolver.js";
4
- export interface ModuleOptions extends Omit<TsED.Configuration, "scopes"> {
5
- /**
6
- * Provider scope
7
- */
8
- scope?: ProviderScope;
9
- /**
10
- * Providers must be initialized before building this module
11
- */
12
- imports?: TokenProvider[];
13
- /**
14
- * Explicit token must be injected in the constructor
15
- */
16
- deps?: TokenProvider[];
17
- /**
18
- * A list of resolvers to inject provider from external DI.
19
- */
20
- resolvers?: DIResolver[];
21
- /**
22
- * Additional properties are stored as provider configuration.
23
- */
24
- [key: string]: any;
25
- }
26
- /**
27
- * Declare a new Ts.ED module
28
- *
29
- * ## Options
30
- * - imports: List of Provider which must be built by injector before invoking the module
31
- * - resolvers: List of external DI must be used to resolve unknown provider
32
- * - deps: List of provider must be injected to the module constructor (explicit declaration)
33
- *
34
- * @param options
35
- * @decorator
36
- */
37
- export declare function Module(options?: Partial<ModuleOptions>): any;
@@ -1,41 +0,0 @@
1
- /**
2
- * Get instance options. This options depending on his invocation context.
3
- *
4
- * ```typescript
5
- * import {Injectable, Opts, UseOpts} from "@tsed/di";
6
- *
7
- * @Injectable()
8
- * class MyConfigurableService {
9
- * source: string;
10
- * constructor(@Opts options: any = {}) {
11
- * console.log("Hello ", options.source); // log: Hello Service1 then Hello Service2
12
- *
13
- * this.source = options.source;
14
- * }
15
- * }
16
- *
17
- * @Injectable()
18
- * class MyService1 {
19
- * constructor(@UseOpts({source: 'Service1'}) service: MyConfigurableService) {
20
- * console.log(service.source) // log: Service1
21
- * }
22
- * }
23
- *
24
- * @Injectable()
25
- * class MyService2 {
26
- * constructor(@UseOpts({source: 'Service2'}) service: MyConfigurableService) {
27
- * console.log(service.source) // log: Service2
28
- * }
29
- * }
30
- * ```
31
- *
32
- * ::: warning
33
- * Using @@Opts@@ decorator on a constructor parameter change the Scope of the provider to `ProviderScope.INSTANCE`.
34
- * :::
35
- *
36
- * @param target
37
- * @param propertyKey
38
- * @param index
39
- * @decorator
40
- */
41
- export declare function Opts(target: any, propertyKey: string | symbol | undefined, index: number): void;
@@ -1,8 +0,0 @@
1
- import { Type } from "@tsed/core";
2
- /**
3
- * Override a provider which is already registered in ProviderRegistry.
4
- * @returns {Function}
5
- * @decorators
6
- * @param originalProvider
7
- */
8
- export declare function OverrideProvider(originalProvider: Type<any>): Function;
@@ -1,8 +0,0 @@
1
- import { ProviderScope } from "../domain/ProviderScope.js";
2
- /**
3
- *
4
- * @param {"request" | "singleton" | ProviderScope} scope
5
- * @returns {Function}
6
- * @constructor
7
- */
8
- export declare function Scope(scope?: "request" | "singleton" | ProviderScope): Function;
@@ -1,10 +0,0 @@
1
- /**
2
- * The decorators `@Service()` declare a new service can be injected in other service or controller on there `constructor`.
3
- * All services annotated with `@Service()` are constructed one time.
4
- *
5
- * > `@Service()` use the `reflect-metadata` to collect and inject service on controllers or other services.
6
- *
7
- * @returns {Function}
8
- * @decorator
9
- */
10
- export declare function Service(): Function;
@@ -1,42 +0,0 @@
1
- /**
2
- * Add options to invoke the Service.
3
- *
4
- * ```typescript
5
- * import {Injectable, Opts, UseOpts} from "@tsed/di";
6
- *
7
- * @Injectable()
8
- * class MyConfigurableService {
9
- * source: string;
10
- * constructor(@Opts options: any = {}) {
11
- * console.log("Hello ", options.source); // log: Hello Service1 then Hello Service2
12
- *
13
- * this.source = options.source;
14
- * }
15
- * }
16
- *
17
- * @Injectable()
18
- * class MyService1 {
19
- * constructor(@UseOpts({source: 'Service1'}) service: MyConfigurableService) {
20
- * console.log(service.source) // log: Service1
21
- * }
22
- * }
23
- *
24
- * @Injectable()
25
- * class MyService2 {
26
- * constructor(@UseOpts({source: 'Service2'}) service: MyConfigurableService) {
27
- * console.log(service.source) // log: Service2
28
- * }
29
- * }
30
- * ```
31
- *
32
- * ::: warning
33
- * Using @@Opts@@ decorator on a constructor parameter change the Scope of the provider to `ProviderScope.INSTANCE`.
34
- * :::
35
- *
36
- * @returns {Function}
37
- * @decorator
38
- * @param options
39
- */
40
- export declare function UseOpts(options: {
41
- [key: string]: any;
42
- }): Function;
@@ -1,37 +0,0 @@
1
- export declare function bindValue(target: any, propertyKey: string | symbol, expression: string, defaultValue?: any): void;
2
- /**
3
- * Return value from Configuration.
4
- *
5
- * ## Example
6
- *
7
- * ```typescript
8
- * import {Env} from "@tsed/core";
9
- * import {Constant, Value} from "@tsed/di";
10
- *
11
- * export class MyClass {
12
- *
13
- * @Constant("env")
14
- * env: Env;
15
- *
16
- * @Value("swagger.path")
17
- * swaggerPath: string;
18
- *
19
- * @Value("swagger.path", "defaultValue")
20
- * swaggerPath: string;
21
- *
22
- * constructor() {
23
- * console.log(this.swaggerPath) // undefined. Not available on constructor
24
- * }
25
- *
26
- * $onInit() {
27
- * console.log(this.swaggerPath) // something
28
- * }
29
- * }
30
- * ```
31
- *
32
- * @param expression
33
- * @param defaultValue
34
- * @returns {(targetClass: any, attributeName: string) => any}
35
- * @decorator
36
- */
37
- export declare function Value(expression: string, defaultValue?: unknown): PropertyDecorator;
@@ -1,43 +0,0 @@
1
- import type { ProviderOpts } from "../interfaces/ProviderOpts.js";
2
- import type { ProviderType } from "./ProviderType.js";
3
- import type { TokenProvider } from "../interfaces/TokenProvider.js";
4
- import { Provider } from "./Provider.js";
5
- export declare class Container extends Map<TokenProvider, Provider> {
6
- /**
7
- *
8
- * @param token
9
- * @param settings
10
- */
11
- add(token: TokenProvider, settings?: Partial<ProviderOpts>): this;
12
- /**
13
- * Add a provider to the
14
- * @param token
15
- * @param settings
16
- */
17
- addProvider(token: TokenProvider, settings?: Partial<ProviderOpts>): this;
18
- /**
19
- *
20
- * @param token
21
- */
22
- hasProvider(token: TokenProvider): boolean;
23
- /**
24
- * Add a provider to the
25
- * @param token
26
- * @param provider
27
- */
28
- setProvider(token: TokenProvider, provider: Provider): this;
29
- /**
30
- * The getProvider() method returns a specified element from a Map object.
31
- * @returns {T} Returns the element associated with the specified key or undefined if the key can't be found in the Map object.
32
- * @param token
33
- */
34
- getProvider<T extends Provider = Provider>(token: TokenProvider | undefined): T | undefined;
35
- /**
36
- * Get all providers registered in the injector container.
37
- *
38
- * @param type Filter the list by the given ProviderType.
39
- * @returns {[TokenProvider , Provider<any>][]}
40
- */
41
- getProviders(type?: TokenProvider | ProviderType | string | string[]): Provider[];
42
- addProviders(container: Map<TokenProvider, Provider>): void;
43
- }
@@ -1,17 +0,0 @@
1
- import { ControllerMiddlewares } from "../decorators/controller.js";
2
- import { TokenProvider } from "../interfaces/TokenProvider.js";
3
- import { Provider } from "./Provider.js";
4
- export declare class ControllerProvider<T = any> extends Provider<T> {
5
- tokenRouter: string;
6
- constructor(provide: TokenProvider, options?: Partial<Provider>);
7
- /**
8
- *
9
- * @returns {any[]}
10
- */
11
- get middlewares(): ControllerMiddlewares;
12
- /**
13
- *
14
- * @param middlewares
15
- */
16
- set middlewares(middlewares: ControllerMiddlewares);
17
- }
@@ -1,7 +0,0 @@
1
- export declare enum InjectablePropertyType {
2
- METHOD = "method",
3
- PROPERTY = "property",
4
- CONSTANT = "constant",
5
- VALUE = "value",
6
- INTERCEPTOR = "interceptor"
7
- }
@@ -1,6 +0,0 @@
1
- import { Hooks } from "@tsed/core";
2
- import type { TokenProvider } from "../interfaces/TokenProvider.js";
3
- export declare class LocalsContainer extends Map<TokenProvider, any> {
4
- readonly hooks: Hooks;
5
- destroy(): Promise<void>;
6
- }
@@ -1,71 +0,0 @@
1
- import { type AbstractType, Store, Type } from "@tsed/core";
2
- import type { ProviderOpts } from "../interfaces/ProviderOpts.js";
3
- import type { TokenProvider } from "../interfaces/TokenProvider.js";
4
- import { ProviderScope } from "./ProviderScope.js";
5
- import { ProviderType } from "./ProviderType.js";
6
- export type ProviderHookCallback<T = any> = (instance: T, ...args: unknown[]) => Promise<void> | void;
7
- export declare class Provider<T = any> implements ProviderOpts<T> {
8
- /**
9
- * Token group provider to retrieve all provider from the same type
10
- */
11
- type: ProviderType | TokenProvider;
12
- deps: TokenProvider[];
13
- imports: (TokenProvider | [TokenProvider])[];
14
- alias?: string;
15
- useFactory?: Function;
16
- useAsyncFactory?: Function;
17
- useValue?: unknown;
18
- hooks?: Record<string, ProviderHookCallback<T>>;
19
- private _useClass;
20
- private _provide;
21
- private _store;
22
- private _tokenStore;
23
- [key: string]: any;
24
- constructor(token: TokenProvider<T>, options?: Partial<Provider>);
25
- get token(): TokenProvider<any>;
26
- get provide(): TokenProvider;
27
- set provide(value: TokenProvider);
28
- get useClass(): Type<T>;
29
- /**
30
- * Create a new store if the given value is a class. Otherwise, the value is ignored.
31
- * @param value
32
- */
33
- set useClass(value: Type<T> | AbstractType<T>);
34
- get className(): string;
35
- get name(): string;
36
- get store(): Store;
37
- get path(): string;
38
- set path(path: string);
39
- /**
40
- * Get the scope of the provider.
41
- *
42
- * ::: tip Note
43
- * Async provider is always a SINGLETON
44
- * :::
45
- *
46
- * @returns {boolean}
47
- */
48
- get scope(): ProviderScope;
49
- /**
50
- * Change the scope value of the provider.
51
- * @param scope
52
- */
53
- set scope(scope: ProviderScope);
54
- get configuration(): Partial<TsED.Configuration>;
55
- set configuration(configuration: Partial<TsED.Configuration>);
56
- get children(): TokenProvider[];
57
- get(key: string): any;
58
- isAsync(): boolean;
59
- clone(): Provider;
60
- /**
61
- *
62
- * @returns {boolean}
63
- */
64
- hasChildren(): boolean;
65
- /**
66
- *
67
- * @returns {boolean}
68
- */
69
- hasParent(): boolean;
70
- toString(): string;
71
- }
@@ -1,5 +0,0 @@
1
- export declare enum ProviderScope {
2
- SINGLETON = "singleton",
3
- REQUEST = "request",
4
- INSTANCE = "instance"
5
- }
@@ -1,10 +0,0 @@
1
- export declare enum ProviderType {
2
- VALUE = "value",
3
- FACTORY = "factory",
4
- SERVICE = "service",
5
- PROVIDER = "provider",
6
- MODULE = "module",
7
- CONTROLLER = "controller",
8
- INTERCEPTOR = "interceptor",
9
- MIDDLEWARE = "middleware"
10
- }
@@ -1,8 +0,0 @@
1
- import { TokenProvider } from "../interfaces/TokenProvider.js";
2
- export declare class InjectionError extends Error {
3
- name: string;
4
- tokens: TokenProvider[];
5
- origin: any;
6
- constructor(token: TokenProvider, origin?: any);
7
- static throwInjectorError(token: any, currentDependency: any, error: any): void;
8
- }
@@ -1,4 +0,0 @@
1
- export declare class InvalidPropertyTokenError extends Error {
2
- name: string;
3
- constructor(target: any, propertyKey: string);
4
- }
@@ -1,54 +0,0 @@
1
- /**
2
- * @file Automatically generated by @tsed/barrels.
3
- */
4
- export * from "./constants/constants.js";
5
- export * from "./decorators/autoInjectable.js";
6
- export * from "./decorators/configuration.js";
7
- export * from "./decorators/constant.js";
8
- export * from "./decorators/controller.js";
9
- export * from "./decorators/inject.js";
10
- export * from "./decorators/injectable.js";
11
- export * from "./decorators/intercept.js";
12
- export * from "./decorators/interceptor.js";
13
- export * from "./decorators/lazyInject.js";
14
- export * from "./decorators/module.js";
15
- export * from "./decorators/opts.js";
16
- export * from "./decorators/overrideProvider.js";
17
- export * from "./decorators/scope.js";
18
- export * from "./decorators/service.js";
19
- export * from "./decorators/useOpts.js";
20
- export * from "./decorators/value.js";
21
- export * from "./domain/Container.js";
22
- export * from "./domain/ControllerProvider.js";
23
- export * from "./domain/InjectablePropertyType.js";
24
- export * from "./domain/LocalsContainer.js";
25
- export * from "./domain/Provider.js";
26
- export * from "./domain/ProviderScope.js";
27
- export * from "./domain/ProviderType.js";
28
- export * from "./errors/InjectionError.js";
29
- export * from "./errors/InvalidPropertyTokenError.js";
30
- export * from "./interfaces/DIConfigurationOptions.js";
31
- export * from "./interfaces/DILogger.js";
32
- export * from "./interfaces/DILoggerOptions.js";
33
- export * from "./interfaces/DIResolver.js";
34
- export * from "./interfaces/ImportTokenProviderOpts.js";
35
- export * from "./interfaces/InterceptorContext.js";
36
- export * from "./interfaces/InterceptorMethods.js";
37
- export * from "./interfaces/InvokeOptions.js";
38
- export * from "./interfaces/OnDestroy.js";
39
- export * from "./interfaces/OnInit.js";
40
- export * from "./interfaces/ProviderOpts.js";
41
- export * from "./interfaces/RegistrySettings.js";
42
- export * from "./interfaces/ResolvedInvokeOptions.js";
43
- export * from "./interfaces/TokenProvider.js";
44
- export * from "./interfaces/TokenRoute.js";
45
- export * from "./registries/GlobalProviders.js";
46
- export * from "./registries/ProviderRegistry.js";
47
- export * from "./services/DIConfiguration.js";
48
- export * from "./services/DILogger.js";
49
- export * from "./services/InjectorService.js";
50
- export * from "./utils/colors.js";
51
- export * from "./utils/createContainer.js";
52
- export * from "./utils/getConfiguration.js";
53
- export * from "./utils/getConstructorDependencies.js";
54
- export * from "./utils/resolveControllers.js";