@tsed/di 8.11.0 → 8.11.2-rc.1

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 (381) hide show
  1. package/lib/esm/common/constants/constants.js +0 -1
  2. package/lib/esm/common/decorators/autoInjectable.js +0 -1
  3. package/lib/esm/common/decorators/configuration.js +0 -1
  4. package/lib/esm/common/decorators/constant.js +0 -1
  5. package/lib/esm/common/decorators/controller.js +0 -1
  6. package/lib/esm/common/decorators/inject.js +0 -1
  7. package/lib/esm/common/decorators/injectable.js +0 -1
  8. package/lib/esm/common/decorators/intercept.js +0 -1
  9. package/lib/esm/common/decorators/interceptor.js +0 -1
  10. package/lib/esm/common/decorators/lazyInject.js +0 -1
  11. package/lib/esm/common/decorators/module.js +0 -1
  12. package/lib/esm/common/decorators/opts.js +0 -1
  13. package/lib/esm/common/decorators/overrideProvider.js +0 -1
  14. package/lib/esm/common/decorators/scope.js +0 -1
  15. package/lib/esm/common/decorators/service.js +0 -1
  16. package/lib/esm/common/decorators/useOpts.js +0 -1
  17. package/lib/esm/common/decorators/value.js +0 -1
  18. package/lib/esm/common/domain/Container.js +0 -1
  19. package/lib/esm/common/domain/ControllerProvider.js +0 -1
  20. package/lib/esm/common/domain/InjectablePropertyType.js +0 -1
  21. package/lib/esm/common/domain/LocalsContainer.js +0 -1
  22. package/lib/esm/common/domain/Provider.js +0 -1
  23. package/lib/esm/common/domain/ProviderScope.js +0 -1
  24. package/lib/esm/common/domain/ProviderType.js +0 -1
  25. package/lib/esm/common/errors/InjectionError.js +0 -1
  26. package/lib/esm/common/errors/InvalidPropertyTokenError.js +0 -1
  27. package/lib/esm/common/fn/configuration.js +0 -1
  28. package/lib/esm/common/fn/constant.js +0 -1
  29. package/lib/esm/common/fn/inject.js +0 -1
  30. package/lib/esm/common/fn/injectMany.js +0 -1
  31. package/lib/esm/common/fn/injectable.js +0 -1
  32. package/lib/esm/common/fn/injector.js +0 -1
  33. package/lib/esm/common/fn/lazyInject.js +0 -1
  34. package/lib/esm/common/fn/localsContainer.js +0 -1
  35. package/lib/esm/common/fn/logger.js +0 -1
  36. package/lib/esm/common/fn/refValue.js +0 -1
  37. package/lib/esm/common/index.js +0 -1
  38. package/lib/esm/common/interfaces/DIConfigurationOptions.js +0 -1
  39. package/lib/esm/common/interfaces/DILogger.js +0 -1
  40. package/lib/esm/common/interfaces/DILoggerOptions.js +0 -1
  41. package/lib/esm/common/interfaces/ImportTokenProviderOpts.js +0 -1
  42. package/lib/esm/common/interfaces/InterceptorContext.js +0 -1
  43. package/lib/esm/common/interfaces/InterceptorMethods.js +0 -1
  44. package/lib/esm/common/interfaces/InvokeOptions.js +0 -1
  45. package/lib/esm/common/interfaces/OnDestroy.js +0 -1
  46. package/lib/esm/common/interfaces/OnInit.js +0 -1
  47. package/lib/esm/common/interfaces/ProviderOpts.js +0 -1
  48. package/lib/esm/common/interfaces/RegistrySettings.js +0 -1
  49. package/lib/esm/common/interfaces/ResolvedInvokeOptions.js +0 -1
  50. package/lib/esm/common/interfaces/TokenProvider.js +0 -1
  51. package/lib/esm/common/interfaces/TokenRoute.js +0 -1
  52. package/lib/esm/common/registries/GlobalProviders.js +0 -1
  53. package/lib/esm/common/registries/ProviderRegistry.js +0 -1
  54. package/lib/esm/common/services/DIConfiguration.js +0 -1
  55. package/lib/esm/common/services/DILogger.js +0 -1
  56. package/lib/esm/common/services/InjectorService.js +0 -1
  57. package/lib/esm/common/utils/colors.js +0 -1
  58. package/lib/esm/common/utils/createContainer.js +0 -1
  59. package/lib/esm/common/utils/discoverHooks.js +0 -1
  60. package/lib/esm/common/utils/getConfiguration.js +0 -1
  61. package/lib/esm/common/utils/getConstructorDependencies.js +0 -1
  62. package/lib/esm/common/utils/providerBuilder.js +0 -1
  63. package/lib/esm/index.js +0 -1
  64. package/lib/esm/node/decorators/injectContext.js +0 -1
  65. package/lib/esm/node/domain/ContextLogger.js +0 -1
  66. package/lib/esm/node/domain/DIContext.js +0 -1
  67. package/lib/esm/node/fn/context.js +0 -1
  68. package/lib/esm/node/fn/contextLogger.js +0 -1
  69. package/lib/esm/node/index.js +0 -1
  70. package/lib/esm/node/interfaces/AlterRunInContext.js +0 -1
  71. package/lib/esm/node/services/DILogger.js +0 -1
  72. package/lib/esm/node/services/DITest.js +0 -1
  73. package/lib/esm/node/utils/asyncHookContext.js +0 -1
  74. package/lib/esm/node/utils/attachLogger.js +0 -1
  75. package/lib/esm/node/utils/setLoggerConfiguration.js +0 -1
  76. package/lib/esm/node/utils/setLoggerFormat.js +0 -1
  77. package/lib/esm/node/utils/setLoggerLevel.js +0 -1
  78. package/package.json +12 -10
  79. package/.barrelsby.json +0 -5
  80. package/lib/browser/chunks/injectable.js +0 -65
  81. package/lib/browser/chunks/injectable.js.map +0 -1
  82. package/lib/browser/common/constants/constants.js +0 -9
  83. package/lib/browser/common/constants/constants.js.map +0 -1
  84. package/lib/browser/common/decorators/autoInjectable.js +0 -26
  85. package/lib/browser/common/decorators/autoInjectable.js.map +0 -1
  86. package/lib/browser/common/decorators/configuration.js +0 -24
  87. package/lib/browser/common/decorators/configuration.js.map +0 -1
  88. package/lib/browser/common/decorators/constant.js +0 -27
  89. package/lib/browser/common/decorators/constant.js.map +0 -1
  90. package/lib/browser/common/decorators/controller.js +0 -23
  91. package/lib/browser/common/decorators/controller.js.map +0 -1
  92. package/lib/browser/common/decorators/inject.js +0 -62
  93. package/lib/browser/common/decorators/inject.js.map +0 -1
  94. package/lib/browser/common/decorators/injectable.js +0 -14
  95. package/lib/browser/common/decorators/injectable.js.map +0 -1
  96. package/lib/browser/common/decorators/intercept.js +0 -57
  97. package/lib/browser/common/decorators/intercept.js.map +0 -1
  98. package/lib/browser/common/decorators/interceptor.js +0 -11
  99. package/lib/browser/common/decorators/interceptor.js.map +0 -1
  100. package/lib/browser/common/decorators/lazyInject.js +0 -43
  101. package/lib/browser/common/decorators/lazyInject.js.map +0 -1
  102. package/lib/browser/common/decorators/module.js +0 -22
  103. package/lib/browser/common/decorators/module.js.map +0 -1
  104. package/lib/browser/common/decorators/opts.js +0 -12
  105. package/lib/browser/common/decorators/opts.js.map +0 -1
  106. package/lib/browser/common/decorators/overrideProvider.js +0 -10
  107. package/lib/browser/common/decorators/overrideProvider.js.map +0 -1
  108. package/lib/browser/common/decorators/scope.js +0 -9
  109. package/lib/browser/common/decorators/scope.js.map +0 -1
  110. package/lib/browser/common/decorators/service.js +0 -8
  111. package/lib/browser/common/decorators/service.js.map +0 -1
  112. package/lib/browser/common/decorators/useOpts.js +0 -23
  113. package/lib/browser/common/decorators/useOpts.js.map +0 -1
  114. package/lib/browser/common/decorators/value.js +0 -23
  115. package/lib/browser/common/decorators/value.js.map +0 -1
  116. package/lib/browser/common/domain/Container.js +0 -64
  117. package/lib/browser/common/domain/Container.js.map +0 -1
  118. package/lib/browser/common/domain/ControllerProvider.js +0 -35
  119. package/lib/browser/common/domain/ControllerProvider.js.map +0 -1
  120. package/lib/browser/common/domain/InjectablePropertyType.js +0 -5
  121. package/lib/browser/common/domain/InjectablePropertyType.js.map +0 -1
  122. package/lib/browser/common/domain/LocalsContainer.js +0 -13
  123. package/lib/browser/common/domain/LocalsContainer.js.map +0 -1
  124. package/lib/browser/common/domain/Provider.js +0 -144
  125. package/lib/browser/common/domain/Provider.js.map +0 -1
  126. package/lib/browser/common/domain/ProviderScope.js +0 -5
  127. package/lib/browser/common/domain/ProviderScope.js.map +0 -1
  128. package/lib/browser/common/domain/ProviderType.js +0 -5
  129. package/lib/browser/common/domain/ProviderType.js.map +0 -1
  130. package/lib/browser/common/errors/InjectionError.js +0 -31
  131. package/lib/browser/common/errors/InjectionError.js.map +0 -1
  132. package/lib/browser/common/errors/InvalidPropertyTokenError.js +0 -17
  133. package/lib/browser/common/errors/InvalidPropertyTokenError.js.map +0 -1
  134. package/lib/browser/common/fn/configuration.js +0 -13
  135. package/lib/browser/common/fn/configuration.js.map +0 -1
  136. package/lib/browser/common/fn/constant.js +0 -8
  137. package/lib/browser/common/fn/constant.js.map +0 -1
  138. package/lib/browser/common/fn/inject.js +0 -13
  139. package/lib/browser/common/fn/inject.js.map +0 -1
  140. package/lib/browser/common/fn/injectMany.js +0 -9
  141. package/lib/browser/common/fn/injectMany.js.map +0 -1
  142. package/lib/browser/common/fn/injectable.js +0 -8
  143. package/lib/browser/common/fn/injectable.js.map +0 -1
  144. package/lib/browser/common/fn/injector.js +0 -13
  145. package/lib/browser/common/fn/injector.js.map +0 -1
  146. package/lib/browser/common/fn/lazyInject.js +0 -23
  147. package/lib/browser/common/fn/lazyInject.js.map +0 -1
  148. package/lib/browser/common/fn/localsContainer.js +0 -29
  149. package/lib/browser/common/fn/localsContainer.js.map +0 -1
  150. package/lib/browser/common/fn/logger.js +0 -8
  151. package/lib/browser/common/fn/logger.js.map +0 -1
  152. package/lib/browser/common/fn/refValue.js +0 -15
  153. package/lib/browser/common/fn/refValue.js.map +0 -1
  154. package/lib/browser/common/index.js +0 -115
  155. package/lib/browser/common/index.js.map +0 -1
  156. package/lib/browser/common/registries/GlobalProviders.js +0 -102
  157. package/lib/browser/common/registries/GlobalProviders.js.map +0 -1
  158. package/lib/browser/common/registries/ProviderRegistry.js +0 -8
  159. package/lib/browser/common/registries/ProviderRegistry.js.map +0 -1
  160. package/lib/browser/common/services/DIConfiguration.js +0 -99
  161. package/lib/browser/common/services/DIConfiguration.js.map +0 -1
  162. package/lib/browser/common/services/DILogger.js +0 -8
  163. package/lib/browser/common/services/DILogger.js.map +0 -1
  164. package/lib/browser/common/services/InjectorService.js +0 -378
  165. package/lib/browser/common/services/InjectorService.js.map +0 -1
  166. package/lib/browser/common/utils/colors.js +0 -5
  167. package/lib/browser/common/utils/colors.js.map +0 -1
  168. package/lib/browser/common/utils/createContainer.js +0 -10
  169. package/lib/browser/common/utils/createContainer.js.map +0 -1
  170. package/lib/browser/common/utils/discoverHooks.js +0 -17
  171. package/lib/browser/common/utils/discoverHooks.js.map +0 -1
  172. package/lib/browser/common/utils/getConfiguration.js +0 -20
  173. package/lib/browser/common/utils/getConfiguration.js.map +0 -1
  174. package/lib/browser/common/utils/getConstructorDependencies.js +0 -12
  175. package/lib/browser/common/utils/getConstructorDependencies.js.map +0 -1
  176. package/lib/browser/common/utils/providerBuilder.js +0 -8
  177. package/lib/browser/common/utils/providerBuilder.js.map +0 -1
  178. package/lib/esm/common/constants/constants.js.map +0 -1
  179. package/lib/esm/common/decorators/autoInjectable.js.map +0 -1
  180. package/lib/esm/common/decorators/configuration.js.map +0 -1
  181. package/lib/esm/common/decorators/constant.js.map +0 -1
  182. package/lib/esm/common/decorators/controller.js.map +0 -1
  183. package/lib/esm/common/decorators/inject.js.map +0 -1
  184. package/lib/esm/common/decorators/injectable.js.map +0 -1
  185. package/lib/esm/common/decorators/intercept.js.map +0 -1
  186. package/lib/esm/common/decorators/interceptor.js.map +0 -1
  187. package/lib/esm/common/decorators/lazyInject.js.map +0 -1
  188. package/lib/esm/common/decorators/module.js.map +0 -1
  189. package/lib/esm/common/decorators/opts.js.map +0 -1
  190. package/lib/esm/common/decorators/overrideProvider.js.map +0 -1
  191. package/lib/esm/common/decorators/scope.js.map +0 -1
  192. package/lib/esm/common/decorators/service.js.map +0 -1
  193. package/lib/esm/common/decorators/useOpts.js.map +0 -1
  194. package/lib/esm/common/decorators/value.js.map +0 -1
  195. package/lib/esm/common/domain/Container.js.map +0 -1
  196. package/lib/esm/common/domain/ControllerProvider.js.map +0 -1
  197. package/lib/esm/common/domain/InjectablePropertyType.js.map +0 -1
  198. package/lib/esm/common/domain/LocalsContainer.js.map +0 -1
  199. package/lib/esm/common/domain/Provider.js.map +0 -1
  200. package/lib/esm/common/domain/ProviderScope.js.map +0 -1
  201. package/lib/esm/common/domain/ProviderType.js.map +0 -1
  202. package/lib/esm/common/errors/InjectionError.js.map +0 -1
  203. package/lib/esm/common/errors/InvalidPropertyTokenError.js.map +0 -1
  204. package/lib/esm/common/fn/configuration.js.map +0 -1
  205. package/lib/esm/common/fn/constant.js.map +0 -1
  206. package/lib/esm/common/fn/inject.js.map +0 -1
  207. package/lib/esm/common/fn/injectMany.js.map +0 -1
  208. package/lib/esm/common/fn/injectable.js.map +0 -1
  209. package/lib/esm/common/fn/injector.js.map +0 -1
  210. package/lib/esm/common/fn/lazyInject.js.map +0 -1
  211. package/lib/esm/common/fn/localsContainer.js.map +0 -1
  212. package/lib/esm/common/fn/logger.js.map +0 -1
  213. package/lib/esm/common/fn/refValue.js.map +0 -1
  214. package/lib/esm/common/index.js.map +0 -1
  215. package/lib/esm/common/interfaces/DIConfigurationOptions.js.map +0 -1
  216. package/lib/esm/common/interfaces/DILogger.js.map +0 -1
  217. package/lib/esm/common/interfaces/DILoggerOptions.js.map +0 -1
  218. package/lib/esm/common/interfaces/ImportTokenProviderOpts.js.map +0 -1
  219. package/lib/esm/common/interfaces/InterceptorContext.js.map +0 -1
  220. package/lib/esm/common/interfaces/InterceptorMethods.js.map +0 -1
  221. package/lib/esm/common/interfaces/InvokeOptions.js.map +0 -1
  222. package/lib/esm/common/interfaces/OnDestroy.js.map +0 -1
  223. package/lib/esm/common/interfaces/OnInit.js.map +0 -1
  224. package/lib/esm/common/interfaces/ProviderOpts.js.map +0 -1
  225. package/lib/esm/common/interfaces/RegistrySettings.js.map +0 -1
  226. package/lib/esm/common/interfaces/ResolvedInvokeOptions.js.map +0 -1
  227. package/lib/esm/common/interfaces/TokenProvider.js.map +0 -1
  228. package/lib/esm/common/interfaces/TokenRoute.js.map +0 -1
  229. package/lib/esm/common/registries/GlobalProviders.js.map +0 -1
  230. package/lib/esm/common/registries/ProviderRegistry.js.map +0 -1
  231. package/lib/esm/common/services/DIConfiguration.js.map +0 -1
  232. package/lib/esm/common/services/DILogger.js.map +0 -1
  233. package/lib/esm/common/services/InjectorService.js.map +0 -1
  234. package/lib/esm/common/utils/colors.js.map +0 -1
  235. package/lib/esm/common/utils/createContainer.js.map +0 -1
  236. package/lib/esm/common/utils/discoverHooks.js.map +0 -1
  237. package/lib/esm/common/utils/getConfiguration.js.map +0 -1
  238. package/lib/esm/common/utils/getConstructorDependencies.js.map +0 -1
  239. package/lib/esm/common/utils/providerBuilder.js.map +0 -1
  240. package/lib/esm/index.js.map +0 -1
  241. package/lib/esm/node/decorators/injectContext.js.map +0 -1
  242. package/lib/esm/node/domain/ContextLogger.js.map +0 -1
  243. package/lib/esm/node/domain/DIContext.js.map +0 -1
  244. package/lib/esm/node/fn/context.js.map +0 -1
  245. package/lib/esm/node/fn/contextLogger.js.map +0 -1
  246. package/lib/esm/node/index.js.map +0 -1
  247. package/lib/esm/node/interfaces/AlterRunInContext.js.map +0 -1
  248. package/lib/esm/node/services/DILogger.js.map +0 -1
  249. package/lib/esm/node/services/DITest.js.map +0 -1
  250. package/lib/esm/node/utils/asyncHookContext.js.map +0 -1
  251. package/lib/esm/node/utils/attachLogger.js.map +0 -1
  252. package/lib/esm/node/utils/setLoggerConfiguration.js.map +0 -1
  253. package/lib/esm/node/utils/setLoggerFormat.js.map +0 -1
  254. package/lib/esm/node/utils/setLoggerLevel.js.map +0 -1
  255. package/src/common/constants/constants.ts +0 -5
  256. package/src/common/decorators/autoInjectable.spec.ts +0 -135
  257. package/src/common/decorators/autoInjectable.ts +0 -60
  258. package/src/common/decorators/configuration.spec.ts +0 -45
  259. package/src/common/decorators/configuration.ts +0 -36
  260. package/src/common/decorators/constant.spec.ts +0 -67
  261. package/src/common/decorators/constant.ts +0 -73
  262. package/src/common/decorators/controller.spec.ts +0 -43
  263. package/src/common/decorators/controller.ts +0 -73
  264. package/src/common/decorators/inject.spec.ts +0 -298
  265. package/src/common/decorators/inject.ts +0 -150
  266. package/src/common/decorators/injectable.spec.ts +0 -43
  267. package/src/common/decorators/injectable.ts +0 -30
  268. package/src/common/decorators/intercept.spec.ts +0 -150
  269. package/src/common/decorators/intercept.ts +0 -89
  270. package/src/common/decorators/interceptor.ts +0 -17
  271. package/src/common/decorators/lazyInject.spec.ts +0 -53
  272. package/src/common/decorators/lazyInject.ts +0 -92
  273. package/src/common/decorators/module.ts +0 -52
  274. package/src/common/decorators/opts.ts +0 -51
  275. package/src/common/decorators/overrideProvider.spec.ts +0 -30
  276. package/src/common/decorators/overrideProvider.ts +0 -15
  277. package/src/common/decorators/scope.spec.ts +0 -25
  278. package/src/common/decorators/scope.ts +0 -13
  279. package/src/common/decorators/service.ts +0 -14
  280. package/src/common/decorators/useOpts.spec.ts +0 -90
  281. package/src/common/decorators/useOpts.ts +0 -64
  282. package/src/common/decorators/value.spec.ts +0 -59
  283. package/src/common/decorators/value.ts +0 -60
  284. package/src/common/domain/Container.spec.ts +0 -85
  285. package/src/common/domain/Container.ts +0 -80
  286. package/src/common/domain/ControllerProvider.spec.ts +0 -55
  287. package/src/common/domain/ControllerProvider.ts +0 -48
  288. package/src/common/domain/InjectablePropertyType.ts +0 -7
  289. package/src/common/domain/LocalsContainer.spec.ts +0 -20
  290. package/src/common/domain/LocalsContainer.ts +0 -11
  291. package/src/common/domain/Provider.spec.ts +0 -107
  292. package/src/common/domain/Provider.ts +0 -218
  293. package/src/common/domain/ProviderScope.ts +0 -5
  294. package/src/common/domain/ProviderType.ts +0 -8
  295. package/src/common/errors/InjectionError.spec.ts +0 -17
  296. package/src/common/errors/InjectionError.ts +0 -71
  297. package/src/common/errors/InvalidPropertyTokenError.ts +0 -14
  298. package/src/common/fn/configuration.spec.ts +0 -42
  299. package/src/common/fn/configuration.ts +0 -22
  300. package/src/common/fn/constant.spec.ts +0 -37
  301. package/src/common/fn/constant.ts +0 -7
  302. package/src/common/fn/inject.spec.ts +0 -54
  303. package/src/common/fn/inject.ts +0 -32
  304. package/src/common/fn/injectMany.ts +0 -16
  305. package/src/common/fn/injectable.spec.ts +0 -88
  306. package/src/common/fn/injectable.ts +0 -15
  307. package/src/common/fn/injector.ts +0 -26
  308. package/src/common/fn/lazyInject.spec.ts +0 -22
  309. package/src/common/fn/lazyInject.ts +0 -36
  310. package/src/common/fn/localsContainer.ts +0 -55
  311. package/src/common/fn/logger.ts +0 -8
  312. package/src/common/fn/refValue.spec.ts +0 -47
  313. package/src/common/fn/refValue.ts +0 -33
  314. package/src/common/index.ts +0 -64
  315. package/src/common/integration/async-factory.spec.ts +0 -60
  316. package/src/common/integration/di.spec.ts +0 -153
  317. package/src/common/integration/imports.spec.ts +0 -39
  318. package/src/common/integration/request.spec.ts +0 -79
  319. package/src/common/integration/singleton.spec.ts +0 -125
  320. package/src/common/interfaces/DIConfigurationOptions.ts +0 -29
  321. package/src/common/interfaces/DILogger.ts +0 -13
  322. package/src/common/interfaces/DILoggerOptions.ts +0 -54
  323. package/src/common/interfaces/ImportTokenProviderOpts.ts +0 -29
  324. package/src/common/interfaces/InterceptorContext.ts +0 -13
  325. package/src/common/interfaces/InterceptorMethods.ts +0 -5
  326. package/src/common/interfaces/InvokeOptions.ts +0 -28
  327. package/src/common/interfaces/OnDestroy.ts +0 -3
  328. package/src/common/interfaces/OnInit.ts +0 -3
  329. package/src/common/interfaces/ProviderOpts.ts +0 -57
  330. package/src/common/interfaces/RegistrySettings.ts +0 -11
  331. package/src/common/interfaces/ResolvedInvokeOptions.ts +0 -14
  332. package/src/common/interfaces/TokenProvider.ts +0 -8
  333. package/src/common/interfaces/TokenRoute.ts +0 -6
  334. package/src/common/registries/GlobalProviders.spec.ts +0 -94
  335. package/src/common/registries/GlobalProviders.ts +0 -132
  336. package/src/common/registries/ProviderRegistry.spec.ts +0 -36
  337. package/src/common/registries/ProviderRegistry.ts +0 -32
  338. package/src/common/services/DIConfiguration.spec.ts +0 -60
  339. package/src/common/services/DIConfiguration.ts +0 -142
  340. package/src/common/services/DILogger.spec.ts +0 -22
  341. package/src/common/services/DILogger.ts +0 -8
  342. package/src/common/services/InjectorService.spec.ts +0 -793
  343. package/src/common/services/InjectorService.ts +0 -612
  344. package/src/common/utils/colors.spec.ts +0 -9
  345. package/src/common/utils/colors.ts +0 -11
  346. package/src/common/utils/createContainer.spec.ts +0 -18
  347. package/src/common/utils/createContainer.ts +0 -14
  348. package/src/common/utils/discoverHooks.ts +0 -16
  349. package/src/common/utils/getConfiguration.spec.ts +0 -40
  350. package/src/common/utils/getConfiguration.ts +0 -21
  351. package/src/common/utils/getConstructorDependencies.ts +0 -9
  352. package/src/common/utils/providerBuilder.ts +0 -95
  353. package/src/index.ts +0 -2
  354. package/src/node/decorators/injectContext.spec.ts +0 -60
  355. package/src/node/decorators/injectContext.ts +0 -29
  356. package/src/node/domain/ContextLogger.spec.ts +0 -400
  357. package/src/node/domain/ContextLogger.ts +0 -155
  358. package/src/node/domain/DIContext.spec.ts +0 -105
  359. package/src/node/domain/DIContext.ts +0 -115
  360. package/src/node/fn/context.ts +0 -24
  361. package/src/node/fn/contextLogger.spec.ts +0 -47
  362. package/src/node/fn/contextLogger.ts +0 -9
  363. package/src/node/index.ts +0 -16
  364. package/src/node/integration/async-factory-invoke.spec.ts +0 -58
  365. package/src/node/integration/inject-context.spec.ts +0 -29
  366. package/src/node/integration/invoke-oninit.spec.ts +0 -25
  367. package/src/node/interfaces/AlterRunInContext.ts +0 -3
  368. package/src/node/services/DILogger.spec.ts +0 -24
  369. package/src/node/services/DILogger.ts +0 -6
  370. package/src/node/services/DITest.spec.ts +0 -109
  371. package/src/node/services/DITest.ts +0 -122
  372. package/src/node/utils/asyncHookContext.spec.ts +0 -147
  373. package/src/node/utils/asyncHookContext.ts +0 -48
  374. package/src/node/utils/attachLogger.spec.ts +0 -14
  375. package/src/node/utils/attachLogger.ts +0 -7
  376. package/src/node/utils/setLoggerConfiguration.spec.ts +0 -43
  377. package/src/node/utils/setLoggerConfiguration.ts +0 -7
  378. package/src/node/utils/setLoggerFormat.ts +0 -33
  379. package/src/node/utils/setLoggerLevel.ts +0 -12
  380. package/vite.config.mts +0 -45
  381. package/vitest.config.mts +0 -21
@@ -1,51 +0,0 @@
1
- import {classOf} from "@tsed/core/utils/classOf.js";
2
-
3
- import {DI_USE_PARAM_OPTIONS} from "../constants/constants.js";
4
- import {ProviderScope} from "../domain/ProviderScope.js";
5
- import {Inject} from "./inject.js";
6
- import {Scope} from "./scope.js";
7
-
8
- /**
9
- * Get instance options. This options depending on his invocation context.
10
- *
11
- * ```typescript
12
- * import {Injectable, Opts, UseOpts} from "@tsed/di";
13
- *
14
- * @Injectable()
15
- * class MyConfigurableService {
16
- * source: string;
17
- * constructor(@Opts options: any = {}) {
18
- * console.log("Hello ", options.source); // log: Hello Service1 then Hello Service2
19
- *
20
- * this.source = options.source;
21
- * }
22
- * }
23
- *
24
- * @Injectable()
25
- * class MyService1 {
26
- * constructor(@UseOpts({source: 'Service1'}) service: MyConfigurableService) {
27
- * console.log(service.source) // log: Service1
28
- * }
29
- * }
30
- *
31
- * @Injectable()
32
- * class MyService2 {
33
- * constructor(@UseOpts({source: 'Service2'}) service: MyConfigurableService) {
34
- * console.log(service.source) // log: Service2
35
- * }
36
- * }
37
- * ```
38
- *
39
- * ::: warning
40
- * Using @@Opts@@ decorator on a constructor parameter change the Scope of the provider to `ProviderScope.INSTANCE`.
41
- * :::
42
- *
43
- * @param target
44
- * @param propertyKey
45
- * @param index
46
- * @decorator
47
- */
48
- export function Opts(target: any, propertyKey: string | symbol | undefined, index: number) {
49
- Scope(ProviderScope.INSTANCE)(classOf(target));
50
- Inject(DI_USE_PARAM_OPTIONS)(target, propertyKey, index);
51
- }
@@ -1,30 +0,0 @@
1
- import {Provider} from "../domain/Provider.js";
2
- import type {TokenProvider} from "../interfaces/TokenProvider.js";
3
- import {GlobalProviders} from "../registries/GlobalProviders.js";
4
- import {OverrideProvider} from "./overrideProvider.js";
5
-
6
- describe("OverrideProvider", () => {
7
- class Test {}
8
-
9
- class Test2 {}
10
-
11
- beforeAll(() => {
12
- vi.spyOn(GlobalProviders, "get");
13
- });
14
- it("should use OverrideProvider", () => {
15
- // GIVEN
16
- const provider = new Provider(Test);
17
-
18
- vi.mocked(GlobalProviders.get).mockImplementation((token: TokenProvider) => {
19
- if (token === Test) {
20
- return provider;
21
- }
22
- });
23
- // WHEN
24
- OverrideProvider(Test)(Test2);
25
-
26
- // THEN
27
- expect(provider.token).toEqual(Test);
28
- expect(provider.useClass).toEqual(Test2);
29
- });
30
- });
@@ -1,15 +0,0 @@
1
- import {Type} from "@tsed/core/types/Type.js";
2
-
3
- import {GlobalProviders} from "../registries/GlobalProviders.js";
4
-
5
- /**
6
- * Override a provider which is already registered in ProviderRegistry.
7
- * @returns {Function}
8
- * @decorators
9
- * @param originalProvider
10
- */
11
- export function OverrideProvider(originalProvider: Type<any>): Function {
12
- return (target: Type<any>): void => {
13
- GlobalProviders.get(originalProvider)!.useClass = target;
14
- };
15
- }
@@ -1,25 +0,0 @@
1
- import {Store} from "@tsed/core";
2
-
3
- import {Scope} from "./scope.js";
4
-
5
- class Test {}
6
-
7
- describe("Scope", () => {
8
- describe("when parameters is given", () => {
9
- it("should set metadata", () => {
10
- Scope("request")(Test);
11
-
12
- expect(Store.from(Test).get("scope")).toEqual("request");
13
- });
14
- });
15
-
16
- describe("when parameters is not given", () => {
17
- beforeAll(() => {});
18
-
19
- it("should set metadata", () => {
20
- Scope()(Test);
21
-
22
- expect(Store.from(Test).get("scope")).toEqual("request");
23
- });
24
- });
25
- });
@@ -1,13 +0,0 @@
1
- import {StoreSet} from "@tsed/core/decorators/storeSet.js";
2
-
3
- import {ProviderScope} from "../domain/ProviderScope.js";
4
-
5
- /**
6
- *
7
- * @param {"request" | "singleton" | ProviderScope} scope
8
- * @returns {Function}
9
- * @constructor
10
- */
11
- export function Scope(scope: "request" | "singleton" | ProviderScope = ProviderScope.REQUEST) {
12
- return StoreSet("scope", scope);
13
- }
@@ -1,14 +0,0 @@
1
- import {Injectable} from "./injectable.js";
2
-
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.
6
- *
7
- * > `@Service()` use the `reflect-metadata` to collect and inject service on controllers or other services.
8
- *
9
- * @returns {Function}
10
- * @decorator
11
- */
12
- export function Service(): Function {
13
- return Injectable();
14
- }
@@ -1,90 +0,0 @@
1
- import {descriptorOf} from "@tsed/core";
2
-
3
- import {DITest} from "../../node/index.js";
4
- import {ProviderScope} from "../domain/ProviderScope.js";
5
- import {Inject} from "./inject.js";
6
- import {Injectable} from "./injectable.js";
7
- import {Opts} from "./opts.js";
8
- import {Scope} from "./scope.js";
9
- import {UseOpts} from "./useOpts.js";
10
-
11
- describe("UseOpts", () => {
12
- let testContext: any;
13
-
14
- beforeEach(() => {
15
- testContext = {};
16
- });
17
-
18
- beforeEach(() => DITest.create());
19
- afterEach(() => DITest.reset());
20
- it("should inject provider with options", async () => {
21
- @Injectable()
22
- class MyProvider {
23
- source: any;
24
-
25
- constructor(@Opts options: any = {}) {
26
- testContext.source = options.source;
27
- this.source = options.source;
28
- }
29
- }
30
-
31
- @Injectable()
32
- class MyService {
33
- @Inject()
34
- @UseOpts({
35
- source: "test1"
36
- })
37
- service1: MyProvider;
38
-
39
- constructor(@UseOpts({source: "test2"}) public service2: MyProvider) {}
40
- }
41
-
42
- const service = await DITest.invoke<MyService>(MyService);
43
-
44
- expect(service.service2.source).toEqual("test2");
45
- expect(service.service2).not.toEqual(service.service1);
46
-
47
- expect(service.service1).toBeInstanceOf(MyProvider);
48
- expect(service.service1.source).toEqual("test1");
49
-
50
- expect(service.service2).toBeInstanceOf(MyProvider);
51
- });
52
- it("should invoke a service which use a configurable provider", async () => {
53
- @Injectable()
54
- class MyProvider {
55
- source: any;
56
-
57
- constructor(@Opts options: Partial<any> = {}) {
58
- testContext.source = options.source;
59
- }
60
- }
61
-
62
- @Injectable()
63
- class MyService {
64
- constructor(@UseOpts({source: "test2"}) public service2: MyProvider) {}
65
- }
66
-
67
- @Injectable()
68
- @Scope(ProviderScope.SINGLETON)
69
- class MyRepoService extends MyProvider {}
70
-
71
- await DITest.invoke<MyRepoService>(MyRepoService);
72
- });
73
- it("should store metadata", () => {
74
- // GIVEN
75
- class Test {
76
- test() {}
77
- }
78
-
79
- // WHEN
80
- let actualError;
81
- try {
82
- UseOpts({})(Test, "test", descriptorOf(Test, "test"));
83
- } catch (er) {
84
- actualError = er;
85
- }
86
-
87
- // THEN
88
- expect(actualError.message).toEqual("UseOpts cannot be used as method.static decorator on Test.test");
89
- });
90
- });
@@ -1,64 +0,0 @@
1
- import {UnsupportedDecoratorType} from "@tsed/core/errors/UnsupportedDecoratorType.js";
2
- import {DecoratorTypes} from "@tsed/core/types/DecoratorTypes.js";
3
- import {Store} from "@tsed/core/types/Store.js";
4
- import {decoratorTypeOf} from "@tsed/core/utils/decoratorTypeOf.js";
5
-
6
- import {DI_USE_OPTIONS, DI_USE_PARAM_OPTIONS} from "../constants/constants.js";
7
-
8
- /**
9
- * Add options to invoke the Service.
10
- *
11
- * ```typescript
12
- * import {Injectable, Opts, UseOpts} from "@tsed/di";
13
- *
14
- * @Injectable()
15
- * class MyConfigurableService {
16
- * source: string;
17
- * constructor(@Opts options: any = {}) {
18
- * console.log("Hello ", options.source); // log: Hello Service1 then Hello Service2
19
- *
20
- * this.source = options.source;
21
- * }
22
- * }
23
- *
24
- * @Injectable()
25
- * class MyService1 {
26
- * constructor(@UseOpts({source: 'Service1'}) service: MyConfigurableService) {
27
- * console.log(service.source) // log: Service1
28
- * }
29
- * }
30
- *
31
- * @Injectable()
32
- * class MyService2 {
33
- * constructor(@UseOpts({source: 'Service2'}) service: MyConfigurableService) {
34
- * console.log(service.source) // log: Service2
35
- * }
36
- * }
37
- * ```
38
- *
39
- * ::: warning
40
- * Using @@Opts@@ decorator on a constructor parameter change the Scope of the provider to `ProviderScope.INSTANCE`.
41
- * :::
42
- *
43
- * @returns {Function}
44
- * @decorator
45
- * @param options
46
- */
47
- export function UseOpts(options: {[key: string]: any}): Function {
48
- return (target: Object, propertyKey: string | symbol, index?: number): any => {
49
- const bindingType = decoratorTypeOf([target, propertyKey, index]);
50
-
51
- switch (bindingType) {
52
- case DecoratorTypes.PARAM_CTOR:
53
- Store.from(target).merge(`${DI_USE_PARAM_OPTIONS}:${index}`, options);
54
- break;
55
-
56
- case DecoratorTypes.PROP:
57
- Store.from(target, propertyKey).set(DI_USE_OPTIONS, options);
58
- break;
59
-
60
- default:
61
- throw new UnsupportedDecoratorType(UseOpts, [target, propertyKey, index]);
62
- }
63
- };
64
- }
@@ -1,59 +0,0 @@
1
- import {DITest} from "../../node/index.js";
2
- import {configuration} from "../fn/configuration.js";
3
- import {Value} from "./value.js";
4
-
5
- describe("@Value()", () => {
6
- beforeEach(() =>
7
- DITest.create({
8
- logger: {
9
- level: "off"
10
- }
11
- })
12
- );
13
- afterEach(() => DITest.reset());
14
- describe("when decorator is used as property decorator", () => {
15
- it("should create a getter", async () => {
16
- // WHEN
17
- class Test {
18
- @Value("logger.level", "default value")
19
- test: string;
20
- }
21
-
22
- // THEN
23
-
24
- const test = await DITest.invoke<Test>(Test);
25
-
26
- expect(test.test).toEqual("off");
27
- });
28
- it("should create a getter with default value", async () => {
29
- expect(configuration().get("logger.test")).toEqual(undefined);
30
-
31
- // WHEN
32
- class Test {
33
- @Value("logger.test", "default value")
34
- test: string;
35
- }
36
-
37
- // THEN
38
-
39
- const test = await DITest.invoke<Test>(Test);
40
-
41
- expect(test.test).toEqual("default value");
42
- expect(configuration().get("logger.test")).toEqual(undefined);
43
- });
44
- it("should create a getter with native default value", async () => {
45
- // WHEN
46
- class Test {
47
- @Value("logger.test")
48
- test: string = "default prop";
49
- }
50
-
51
- // THEN
52
-
53
- const test = await DITest.invoke<Test>(Test);
54
-
55
- expect(test.test).toEqual("default prop");
56
- expect(configuration().get("logger.test")).toEqual("default prop");
57
- });
58
- });
59
- });
@@ -1,60 +0,0 @@
1
- import {catchError} from "@tsed/core/utils/catchError.js";
2
-
3
- import {injector} from "../fn/injector.js";
4
-
5
- export function bindValue(target: any, propertyKey: string | symbol, expression: string, defaultValue?: any) {
6
- const descriptor = {
7
- get() {
8
- return injector().settings.get(expression, defaultValue);
9
- },
10
- set(value: unknown) {
11
- injector().settings.set(expression, value);
12
- },
13
- enumerable: true,
14
- configurable: true
15
- };
16
-
17
- catchError(() => Reflect.deleteProperty(target, propertyKey));
18
- catchError(() => Reflect.defineProperty(target, propertyKey, descriptor));
19
- }
20
-
21
- /**
22
- * Return value from Configuration.
23
- *
24
- * ## Example
25
- *
26
- * ```typescript
27
- * import {Env} from "@tsed/core/domain/Env.js";
28
- * import {Constant, Value} from "@tsed/di";
29
- *
30
- * export class MyClass {
31
- *
32
- * @Constant("env")
33
- * env: Env;
34
- *
35
- * @Value("swagger.path")
36
- * swaggerPath: string;
37
- *
38
- * @Value("swagger.path", "defaultValue")
39
- * swaggerPath: string;
40
- *
41
- * constructor() {
42
- * console.log(this.swaggerPath) // undefined. Not available on constructor
43
- * }
44
- *
45
- * $onInit() {
46
- * console.log(this.swaggerPath) // something
47
- * }
48
- * }
49
- * ```
50
- *
51
- * @param expression
52
- * @param defaultValue
53
- * @returns {(targetClass: any, attributeName: string) => any}
54
- * @decorator
55
- */
56
- export function Value(expression: string, defaultValue?: unknown): PropertyDecorator {
57
- return (target, propertyKey) => {
58
- return bindValue(target, propertyKey, expression, defaultValue);
59
- };
60
- }
@@ -1,85 +0,0 @@
1
- import {Container} from "./Container.js";
2
- import {Provider} from "./Provider.js";
3
- import {ProviderType} from "./ProviderType.js";
4
-
5
- describe("Container", () => {
6
- describe("getProvider()", () => {
7
- class Test {}
8
-
9
- it("should return a provider", () => {
10
- // GIVEN
11
- const container = new Container();
12
- const provider = new Provider(Test);
13
-
14
- container.add(Test, provider);
15
-
16
- // WHEN
17
- const result = container.getProvider(Test);
18
-
19
- // THEN
20
- expect(result!).toBeInstanceOf(Provider);
21
- });
22
- });
23
- describe("getProviders()", () => {
24
- let container: Container;
25
-
26
- beforeEach(() => {
27
- class MyMiddleware {}
28
-
29
- class MyService {}
30
-
31
- class MyController {}
32
-
33
- container = new Container();
34
- container.addProvider(MyMiddleware, {type: ProviderType.MIDDLEWARE});
35
- container.addProvider(MyService, {type: ProviderType.PROVIDER});
36
- container.addProvider(MyController, {type: ProviderType.CONTROLLER});
37
-
38
- // await container.load();
39
- });
40
-
41
- it("should return middlewares only", () => {
42
- const providers = container.getProviders(ProviderType.MIDDLEWARE);
43
-
44
- const result = providers.find((item: any) => item.type !== ProviderType.MIDDLEWARE);
45
-
46
- expect(providers[0].type).toEqual(ProviderType.MIDDLEWARE);
47
- expect(result).toBeUndefined();
48
- });
49
-
50
- it("should return controllers only", () => {
51
- const providers = container.getProviders(ProviderType.CONTROLLER);
52
-
53
- const result = providers.find((item: any) => item.type !== ProviderType.CONTROLLER);
54
-
55
- expect(providers[0].type).toEqual(ProviderType.CONTROLLER);
56
- expect(result).toBeUndefined();
57
- });
58
-
59
- it("should return all providers", () => {
60
- const providers = container.getProviders();
61
- const controllers = providers.filter((item: any) => item.type === ProviderType.CONTROLLER);
62
- const middlewares = providers.filter((item: any) => item.type === ProviderType.MIDDLEWARE);
63
-
64
- expect(providers.length > 0).toEqual(true);
65
- expect(controllers.length > 0).toEqual(true);
66
- expect(middlewares.length > 0).toEqual(true);
67
- });
68
- });
69
- describe("addProviders()", () => {
70
- it("should add providers", () => {
71
- class Test {}
72
-
73
- // GIVEN
74
- const container = new Container();
75
- const childContainer = new Container();
76
- childContainer.addProvider(Test);
77
-
78
- // WHEN
79
- container.addProviders(childContainer);
80
-
81
- // THEN
82
- expect(container.getProvider(Test)!).toBeInstanceOf(Provider);
83
- });
84
- });
85
- });
@@ -1,80 +0,0 @@
1
- import type {ProviderOpts} from "../interfaces/ProviderOpts.js";
2
- import type {TokenProvider} from "../interfaces/TokenProvider.js";
3
- import {GlobalProviders} from "../registries/GlobalProviders.js";
4
- import {Provider} from "./Provider.js";
5
- import type {ProviderType} from "./ProviderType.js";
6
-
7
- export class Container extends Map<TokenProvider, Provider> {
8
- /**
9
- *
10
- * @param token
11
- * @param settings
12
- */
13
- public add(token: TokenProvider, settings: Partial<ProviderOpts> = {}): this {
14
- const provider = GlobalProviders.get(token)?.clone() || new Provider(token);
15
-
16
- Object.assign(provider, settings);
17
-
18
- return super.set(token, provider);
19
- }
20
-
21
- /**
22
- * Add a provider to the
23
- * @param token
24
- * @param settings
25
- */
26
- public addProvider(token: TokenProvider, settings: Partial<ProviderOpts> = {}): this {
27
- return this.add(token, settings);
28
- }
29
-
30
- /**
31
- *
32
- * @param token
33
- */
34
- public hasProvider(token: TokenProvider) {
35
- return super.has(token);
36
- }
37
-
38
- /**
39
- * Add a provider to the
40
- * @param token
41
- * @param provider
42
- */
43
- public setProvider(token: TokenProvider, provider: Provider) {
44
- return super.set(token, provider);
45
- }
46
-
47
- /**
48
- * The getProvider() method returns a specified element from a Map object.
49
- * @returns {T} Returns the element associated with the specified key or undefined if the key can't be found in the Map object.
50
- * @param token
51
- */
52
- public getProvider<T extends Provider = Provider>(token: TokenProvider | undefined): T | undefined {
53
- return super.get(token!) as T;
54
- }
55
-
56
- /**
57
- * Get all providers registered in the injector container.
58
- *
59
- * @param type Filter the list by the given ProviderType.
60
- * @returns {[TokenProvider , Provider<any>][]}
61
- */
62
- public getProviders(type?: TokenProvider | ProviderType | string | string[]): Provider[] {
63
- const types = ([] as (string | ProviderType)[]).concat(type as never).map(String);
64
-
65
- return [...this].reduce((providers, [_, provider]) => {
66
- if (types.includes(String(provider.type)) || !type) {
67
- return [...providers, provider];
68
- }
69
- return providers;
70
- }, []);
71
- }
72
-
73
- public addProviders(container: Map<TokenProvider, Provider>) {
74
- container.forEach((provider) => {
75
- if (!this.hasProvider(provider.token)) {
76
- this.setProvider(provider.token, provider.clone());
77
- }
78
- });
79
- }
80
- }
@@ -1,55 +0,0 @@
1
- import {ControllerProvider} from "./ControllerProvider.js";
2
- import {ProviderScope} from "./ProviderScope.js";
3
-
4
- class Test {}
5
-
6
- describe("ControllerProvider", () => {
7
- let controllerProvider: ControllerProvider;
8
-
9
- beforeAll(() => {
10
- controllerProvider = new ControllerProvider(Test);
11
- controllerProvider.path = "/";
12
- controllerProvider.scope = ProviderScope.REQUEST;
13
- controllerProvider.middlewares = {
14
- useBefore: [new Function()],
15
- use: [new Function()],
16
- useAfter: [new Function()]
17
- };
18
- });
19
-
20
- it("should have type field to equals to controller", () => {
21
- expect(controllerProvider.type).toEqual("controller");
22
- });
23
-
24
- it("should get path", () => {
25
- expect(controllerProvider.path).toEqual("/");
26
- });
27
-
28
- it("should get children", () => {
29
- expect(controllerProvider.children).toHaveLength(0);
30
- });
31
-
32
- it("should get a scope", () => {
33
- expect(controllerProvider.scope).toEqual("request");
34
- });
35
-
36
- it("should have children", () => {
37
- expect(controllerProvider.hasChildren()).toEqual(false);
38
- });
39
- it("should get parent", () => {
40
- expect(!!controllerProvider.parent).toBe(false);
41
- });
42
-
43
- it("should have parent", () => {
44
- expect(!!controllerProvider.hasParent()).toBe(false);
45
- });
46
-
47
- it("should have a middlewares", () => {
48
- expect(Array.isArray(controllerProvider.middlewares.use)).toBe(true);
49
- expect(controllerProvider.middlewares.use![0]).toBeInstanceOf(Function);
50
- expect(Array.isArray(controllerProvider.middlewares.useAfter)).toBe(true);
51
- expect(controllerProvider.middlewares.useAfter![0]).toBeInstanceOf(Function);
52
- expect(Array.isArray(controllerProvider.middlewares.useBefore)).toBe(true);
53
- expect(controllerProvider.middlewares.useBefore![0]).toBeInstanceOf(Function);
54
- });
55
- });