@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,48 +0,0 @@
1
- import {TokenProvider} from "../interfaces/TokenProvider.js";
2
- import {Provider} from "./Provider.js";
3
- import {ProviderType} from "./ProviderType.js";
4
-
5
- export interface ControllerMiddlewares {
6
- useBefore: TokenProvider[];
7
- use: TokenProvider[];
8
- useAfter: TokenProvider[];
9
- }
10
-
11
- export class ControllerProvider<T = any> extends Provider<T> {
12
- public tokenRouter: string;
13
-
14
- constructor(token: TokenProvider, options: Partial<Provider> = {}) {
15
- super(token, options);
16
- this.type = ProviderType.CONTROLLER;
17
- }
18
-
19
- /**
20
- *
21
- * @returns {any[]}
22
- */
23
- get middlewares(): Partial<ControllerMiddlewares> {
24
- return Object.assign(
25
- {
26
- use: [],
27
- useAfter: [],
28
- useBefore: []
29
- },
30
- this.store.get("middlewares", {})
31
- );
32
- }
33
-
34
- /**
35
- *
36
- * @param middlewares
37
- */
38
- set middlewares(middlewares: Partial<ControllerMiddlewares>) {
39
- const mdlwrs = this.middlewares;
40
- const concat = (key: string, a: any, b: any) => (a[key] = a[key].concat(b[key]));
41
-
42
- Object.keys(middlewares).forEach((key: string) => {
43
- concat(key, mdlwrs, middlewares);
44
- });
45
-
46
- this.store.set("middlewares", mdlwrs);
47
- }
48
- }
@@ -1,7 +0,0 @@
1
- export enum InjectablePropertyType {
2
- METHOD = "method",
3
- PROPERTY = "property",
4
- CONSTANT = "constant",
5
- VALUE = "value",
6
- INTERCEPTOR = "interceptor"
7
- }
@@ -1,20 +0,0 @@
1
- import {LocalsContainer} from "./LocalsContainer.js";
2
-
3
- describe("LocalsContainer", () => {
4
- describe("destroy()", () => {
5
- it("should destroy container", async () => {
6
- // GIVEN
7
- const instance = {
8
- $onDestroy: vi.fn().mockResolvedValue(undefined)
9
- };
10
- const container = new LocalsContainer();
11
- container.set("TOKEN", instance);
12
-
13
- container.hooks.on("$onDestroy", () => instance.$onDestroy());
14
-
15
- await container.destroy();
16
-
17
- expect(instance.$onDestroy).toHaveBeenCalledWith();
18
- });
19
- });
20
- });
@@ -1,11 +0,0 @@
1
- import {Hooks} from "@tsed/hooks";
2
-
3
- import type {TokenProvider} from "../interfaces/TokenProvider.js";
4
-
5
- export class LocalsContainer extends Map<TokenProvider, any> {
6
- readonly hooks = new Hooks();
7
-
8
- async destroy() {
9
- await this.hooks.asyncEmit("$onDestroy");
10
- }
11
- }
@@ -1,107 +0,0 @@
1
- import {Provider} from "./Provider.js";
2
- import {ProviderScope} from "./ProviderScope.js";
3
-
4
- class T1 {}
5
-
6
- class T2 {}
7
-
8
- const S1 = Symbol.for("S1");
9
-
10
- describe("Provider", () => {
11
- describe("when is a class", () => {
12
- it("should wrap the token provided", () => {
13
- const provider = new Provider(T1);
14
- provider.scope = ProviderScope.REQUEST;
15
- provider.customProp = "test";
16
-
17
- expect(provider.token).toEqual(T1);
18
- expect(provider.useClass).toEqual(T1);
19
- expect(!!provider.store).toEqual(true);
20
- expect(provider.clone()).toEqual(provider);
21
- });
22
-
23
- it("should override the token provider", () => {
24
- const provider = new Provider(T1);
25
- provider.scope = ProviderScope.REQUEST;
26
- provider.customProp = "test";
27
- provider.useClass = T2;
28
-
29
- const cloned = provider.clone();
30
-
31
- expect(provider.token).toEqual(T1);
32
- expect(provider.useClass).toEqual(T2);
33
- expect(!!provider.store).toEqual(true);
34
- expect(cloned.useClass).toEqual(T2);
35
- expect(cloned.scope).toEqual(ProviderScope.REQUEST);
36
- expect(provider.hasChildren()).toEqual(false);
37
- expect(provider.hasParent()).toEqual(false);
38
- });
39
- });
40
-
41
- describe("when is a symbol", () => {
42
- it("should wrap the token provided", () => {
43
- const provider = new Provider(S1);
44
-
45
- expect(provider.token).toEqual(S1);
46
- expect(!!provider.useClass).toEqual(false);
47
- expect(!!provider.store).toEqual(true);
48
- });
49
- });
50
-
51
- describe("when is a string", () => {
52
- it("should wrap the token provided", () => {
53
- const provider = new Provider("test");
54
-
55
- expect(provider.token).toEqual("test");
56
- expect(provider.provide).toEqual("test");
57
- expect(!!provider.useClass).toEqual(false);
58
- expect(!!provider.store).toEqual(true);
59
- });
60
- });
61
-
62
- describe("clone()", () => {
63
- it("should clone a provider", () => {
64
- const provider = new Provider(T1);
65
- provider.type = "provider";
66
- provider.scope = ProviderScope.REQUEST;
67
- });
68
- });
69
-
70
- describe("className", () => {
71
- it("should return the class name", () => {
72
- expect(new Provider(T1).className).toEqual("T1");
73
- });
74
-
75
- it("should return the symbol name", () => {
76
- expect(new Provider(S1).className).toEqual("S1");
77
- });
78
- });
79
-
80
- describe("name", () => {
81
- it("should return the class name", () => {
82
- expect(new Provider(T1).name).toEqual("T1");
83
- });
84
- });
85
- describe("path", () => {
86
- it("should return set the path", () => {
87
- const provider = new Provider(T1);
88
- provider.path = "path";
89
- expect(provider.path).toEqual("path");
90
- });
91
- });
92
-
93
- describe("toString()", () => {
94
- it("should return the class name", () => {
95
- expect(new Provider(T1).toString()).toEqual("Token:T1:T1");
96
- });
97
- });
98
-
99
- describe("isAsync()", () => {
100
- it("should return true", () => {
101
- const provider = new Provider(T1);
102
- provider.useAsyncFactory = () => Promise.resolve("test");
103
-
104
- expect(provider.isAsync()).toEqual(true);
105
- });
106
- });
107
- });
@@ -1,218 +0,0 @@
1
- import {Store} from "@tsed/core/types/Store.js";
2
- import {type AbstractType, Type} from "@tsed/core/types/Type.js";
3
- import {classOf} from "@tsed/core/utils/classOf.js";
4
- import {getClassOrSymbol} from "@tsed/core/utils/getClassOrSymbol.js";
5
- import {isClass} from "@tsed/core/utils/isClass.js";
6
- import {nameOf} from "@tsed/core/utils/nameOf.js";
7
-
8
- import {DI_USE_PARAM_OPTIONS} from "../constants/constants.js";
9
- import type {ProviderOpts} from "../interfaces/ProviderOpts.js";
10
- import type {TokenProvider} from "../interfaces/TokenProvider.js";
11
- import {discoverHooks} from "../utils/discoverHooks.js";
12
- import {ProviderScope} from "./ProviderScope.js";
13
- import {ProviderType} from "./ProviderType.js";
14
-
15
- export type ProviderHookCallback<T = any> = (instance: T, ...args: unknown[]) => Promise<void> | void;
16
-
17
- export class Provider<T = any> implements ProviderOpts<T> {
18
- /**
19
- * Token group provider to retrieve all provider from the same type
20
- */
21
- public type: ProviderType | TokenProvider = ProviderType.PROVIDER;
22
- public deps: TokenProvider[];
23
- public imports: (TokenProvider | [TokenProvider])[];
24
- public alias: string;
25
- public priority: number;
26
- public useFactory?: Function;
27
- public useAsyncFactory?: Function;
28
- public useValue?: unknown;
29
- public hooks: Record<string, ProviderHookCallback<T>> = {};
30
- #useClass: Type<T>;
31
- #token: TokenProvider;
32
- #store: Store;
33
- #tokenStore: Store;
34
-
35
- [key: string]: any;
36
-
37
- constructor(token: TokenProvider<T>, options: Partial<Provider> = {}) {
38
- this.token = token;
39
- this.useClass = token as Type<T>;
40
-
41
- Object.assign(this, options);
42
-
43
- if (options instanceof Provider) {
44
- this.#useClass = options.#useClass;
45
- this.#store = options.#store;
46
- this.#tokenStore = options.#tokenStore;
47
- }
48
- }
49
-
50
- get token() {
51
- return this.#token;
52
- }
53
-
54
- set token(value: TokenProvider) {
55
- if (value) {
56
- this.#token = getClassOrSymbol(value);
57
- this.#tokenStore = this.#store = Store.from(value);
58
- }
59
- }
60
-
61
- /**
62
- * @deprecated
63
- */
64
- get provide(): TokenProvider {
65
- return this.token;
66
- }
67
-
68
- /**
69
- * @deprecated
70
- * @param value
71
- */
72
- set provide(value: TokenProvider) {
73
- this.token = value;
74
- }
75
-
76
- get useClass(): Type<T> {
77
- return this.#useClass;
78
- }
79
-
80
- /**
81
- * Create a new store if the given value is a class. Otherwise, the value is ignored.
82
- * @param value
83
- */
84
- set useClass(value: Type<T> | AbstractType<T>) {
85
- if (isClass(value)) {
86
- this.#useClass = classOf(value);
87
- this.#store = Store.from(value);
88
- this.hooks = discoverHooks(this.#useClass);
89
- }
90
- }
91
-
92
- get className() {
93
- return this.name;
94
- }
95
-
96
- get name() {
97
- return nameOf(this.token);
98
- }
99
-
100
- get store(): Store {
101
- return this.#store;
102
- }
103
-
104
- get path() {
105
- return this.store.get("path", "/");
106
- }
107
-
108
- set path(path: string) {
109
- this.store.set("path", path);
110
- }
111
-
112
- /**
113
- * Get the scope of the provider.
114
- *
115
- * ::: tip Note
116
- * Async provider is always a SINGLETON
117
- * :::
118
- *
119
- * @returns {boolean}
120
- */
121
- get scope(): ProviderScope {
122
- if (this.isAsync()) {
123
- return ProviderScope.SINGLETON;
124
- }
125
-
126
- return this.get<ProviderScope>("scope", ProviderScope.SINGLETON);
127
- }
128
-
129
- /**
130
- * Change the scope value of the provider.
131
- * @param scope
132
- */
133
- set scope(scope: ProviderScope) {
134
- this.store.set("scope", scope);
135
- }
136
-
137
- get configuration(): Partial<TsED.Configuration> {
138
- return this.get("configuration")!;
139
- }
140
-
141
- set configuration(configuration: Partial<TsED.Configuration>) {
142
- this.store.set("configuration", configuration);
143
- }
144
-
145
- get children(): TokenProvider[] {
146
- return this.store.get("childrenControllers", []);
147
- }
148
-
149
- set children(children: TokenProvider[]) {
150
- this.store.set("childrenControllers", children);
151
- }
152
-
153
- getArgOpts(index: number) {
154
- return this.store.get(`${DI_USE_PARAM_OPTIONS}:${index}`);
155
- }
156
-
157
- /**
158
- * Retrieves a value from the provider's store.
159
- * @param key The key to look up
160
- * @returns The value if found, undefined otherwise
161
- */
162
- get<Type = unknown>(key: string): Type | undefined;
163
- /**
164
- * Retrieves a value from the provider's store with a default fallback.
165
- * @param key The key to look up
166
- * @param defaultValue The value to return if key is not found
167
- * @returns The found value or defaultValue
168
- */
169
- get<Type = unknown>(key: string, defaultValue: Type): Type;
170
- get<Type = unknown>(key: string, defaultValue?: Type): Type | undefined {
171
- return this.store.get(key) || this.#tokenStore.get(key) || defaultValue;
172
- }
173
-
174
- isAsync(): boolean {
175
- return !!this.useAsyncFactory;
176
- }
177
-
178
- clone(): Provider {
179
- return new (classOf(this))(this.token, this);
180
- }
181
-
182
- /**
183
- *
184
- * @returns {boolean}
185
- */
186
- public hasChildren(): boolean {
187
- return !!this.children.length;
188
- }
189
-
190
- /**
191
- *
192
- * @returns {boolean}
193
- */
194
- public hasParent(): boolean {
195
- return !!this.store.get("parentController");
196
- }
197
-
198
- toString() {
199
- return [
200
- "Token",
201
- this.name,
202
- this.useClass && nameOf(this.useClass),
203
- this.useFactory && "Factory",
204
- this.useValue && "Value",
205
- this.useAsyncFactory && "AsyncFactory"
206
- ]
207
- .filter(Boolean)
208
- .join(":");
209
- }
210
-
211
- reset() {
212
- this.useValue = undefined;
213
- this.useFactory = undefined;
214
- this.useAsyncFactory = undefined;
215
-
216
- return this;
217
- }
218
- }
@@ -1,5 +0,0 @@
1
- export enum ProviderScope {
2
- SINGLETON = "singleton",
3
- REQUEST = "request",
4
- INSTANCE = "instance"
5
- }
@@ -1,8 +0,0 @@
1
- export enum ProviderType {
2
- VALUE = "value",
3
- PROVIDER = "provider",
4
- MODULE = "module",
5
- CONTROLLER = "controller",
6
- INTERCEPTOR = "interceptor",
7
- MIDDLEWARE = "middleware"
8
- }
@@ -1,17 +0,0 @@
1
- import {InjectionError} from "./InjectionError.js";
2
-
3
- describe("InjectionError", () => {
4
- it("should create new instance of InjectionError (1)", () => {
5
- const error = new InjectionError(class Target {}, "SERVICE");
6
-
7
- expect(error.message).toEqual("Injection failed on Target\nOrigin: SERVICE");
8
- expect(error.name).toEqual("INJECTION_ERROR");
9
- });
10
-
11
- it("should create new instance of InjectionError (2)", () => {
12
- const error = new InjectionError(class Target {}, new Error("test"));
13
-
14
- expect(error.message).toEqual("Injection failed on Target\nOrigin: test");
15
- expect(error.name).toEqual("INJECTION_ERROR");
16
- });
17
- });
@@ -1,71 +0,0 @@
1
- import {getConstructorArgNames} from "@tsed/core/utils/getConstructorArgNames.js";
2
- import {isClass} from "@tsed/core/utils/isClass.js";
3
- import {isString} from "@tsed/core/utils/isString.js";
4
- import {nameOf} from "@tsed/core/utils/nameOf.js";
5
-
6
- import {TokenProvider} from "../interfaces/TokenProvider.js";
7
- import {colors} from "../utils/colors.js";
8
-
9
- export class InjectionError extends Error {
10
- name = "INJECTION_ERROR";
11
-
12
- public tokens: TokenProvider[] = [];
13
- public origin: any;
14
-
15
- constructor(token: TokenProvider, origin?: any) {
16
- super(isString(origin) ? origin : "");
17
-
18
- this.tokens = [token];
19
-
20
- if (origin) {
21
- if (isString(origin)) {
22
- this.origin = {
23
- message: origin,
24
- stack: this.stack
25
- };
26
- } else {
27
- if (origin.tokens) {
28
- this.tokens = this.tokens.concat(origin.tokens);
29
- this.origin = origin.origin;
30
- } else {
31
- this.origin = origin;
32
- this.stack = origin.stack;
33
- }
34
- }
35
- }
36
-
37
- const originMessage = this.origin ? "\nOrigin: " + this.origin.message : "";
38
- const tokensMessage = this.tokens.map((token) => nameOf(token)).join(" > ");
39
-
40
- this.message = `Injection failed on ${tokensMessage}${originMessage}`;
41
- }
42
-
43
- static throwInjectorError(token: any, currentDependency: any, error: any) {
44
- if (currentDependency && isClass(token)) {
45
- error.message = printDependencyInjectionError(token, {...currentDependency, message: error.message});
46
- }
47
-
48
- throw new InjectionError(token, error);
49
- }
50
- }
51
-
52
- function printDependencyInjectionError(token: any, options: {token: any; index: number; deps: any[]; message: string}) {
53
- let erroredArg = "";
54
-
55
- const args = getConstructorArgNames(token)
56
- .map((arg, index) => {
57
- if (options.index === index) {
58
- erroredArg = arg;
59
- arg = colors.red(arg);
60
- }
61
-
62
- return `${arg}: ${nameOf(options.deps[index])}`;
63
- })
64
- .join(", ");
65
-
66
- const signature = nameOf(token) + "->constructor(" + args + ")";
67
- const indexOf = signature.indexOf(erroredArg) - 5;
68
- const drawline = (indexOf: number) => " ".repeat(indexOf) + colors.red("^" + "‾".repeat(erroredArg.length - 1));
69
-
70
- return "Unable to inject dependency. " + options.message + "\n\n" + signature + "\n" + (indexOf > -1 ? drawline(indexOf) : "");
71
- }
@@ -1,14 +0,0 @@
1
- import {classOf} from "@tsed/core/utils/classOf.js";
2
- import {nameOf} from "@tsed/core/utils/nameOf.js";
3
-
4
- export class InvalidPropertyTokenError extends Error {
5
- name = "INVALID_TOKEN_ERROR";
6
-
7
- constructor(target: any, propertyKey: string) {
8
- super(
9
- `Object isn't a valid token. Please check the token set on ${nameOf(
10
- classOf(target)
11
- )}.${propertyKey}.\n- Check that it is not a circular reference.\n- Check that the token (class or symbol) exists`
12
- );
13
- }
14
- }
@@ -1,42 +0,0 @@
1
- import {Store} from "@tsed/core";
2
- import {beforeEach} from "vitest";
3
-
4
- import {DITest} from "../../node/index.js";
5
- import {Configuration} from "../decorators/configuration.js";
6
- import {Injectable} from "../decorators/injectable.js";
7
- import {Provider} from "../domain/Provider.js";
8
- import {configuration} from "./configuration.js";
9
- import {inject} from "./inject.js";
10
- import {injector} from "./injector.js";
11
-
12
- @Injectable()
13
- class Test {
14
- public config = configuration();
15
- }
16
-
17
- describe("configuration()", () => {
18
- beforeEach(() =>
19
- DITest.create({
20
- feature: "feature"
21
- })
22
- );
23
- afterEach(() => DITest.reset());
24
-
25
- it("should inject configuration", async () => {
26
- const instance = inject(Test);
27
-
28
- expect(instance.config).toEqual(injector().settings);
29
- expect(instance.config.get("feature")).toEqual("feature");
30
- });
31
-
32
- it("should declare a new provider with custom configuration", () => {
33
- @Configuration({})
34
- class Test {}
35
-
36
- const provider = new Provider(Test);
37
- provider.injectable = false;
38
- provider.configuration = {};
39
-
40
- expect(Store.from(Test).get("configuration")).toEqual({});
41
- });
42
- });
@@ -1,22 +0,0 @@
1
- import {Store} from "@tsed/core/types/Store.js";
2
-
3
- import type {TokenProvider} from "../interfaces/TokenProvider.js";
4
- import {DIConfiguration} from "../services/DIConfiguration.js";
5
- import {injector} from "./injector.js";
6
-
7
- export function configuration(): TsED.DIConfiguration & DIConfiguration;
8
- export function configuration(token: TokenProvider): Partial<TsED.Configuration>;
9
- export function configuration(token: TokenProvider, configuration: Partial<TsED.Configuration>): Partial<TsED.Configuration>;
10
- export function configuration(token?: TokenProvider, configuration?: Partial<TsED.Configuration>) {
11
- if (token) {
12
- const store = Store.from(token);
13
-
14
- if (configuration) {
15
- store.set("configuration", configuration);
16
- }
17
-
18
- return store.get("configuration", configuration);
19
- }
20
-
21
- return injector().settings as TsED.DIConfiguration & DIConfiguration;
22
- }
@@ -1,37 +0,0 @@
1
- import {DITest} from "../../node/index.js";
2
- import {constant} from "../fn/constant.js";
3
-
4
- describe("constant()", () => {
5
- beforeEach(() =>
6
- DITest.create({
7
- logger: {
8
- level: "off"
9
- }
10
- })
11
- );
12
- afterEach(() => DITest.reset());
13
- it("should inject constant to the property", async () => {
14
- // WHEN
15
- class Test {
16
- test: string = constant("logger.level", "default value");
17
- }
18
-
19
- // THEN
20
-
21
- const test = await DITest.invoke<Test>(Test);
22
-
23
- expect(test.test).toEqual("off");
24
- });
25
- it("should return the default value if expression is undefined", async () => {
26
- // WHEN
27
- class Test {
28
- test: string = constant("logger.test", "default value");
29
- }
30
-
31
- // THEN
32
-
33
- const test = await DITest.invoke<Test>(Test);
34
-
35
- expect(test.test).toEqual("default value");
36
- });
37
- });
@@ -1,7 +0,0 @@
1
- import {injector} from "./injector.js";
2
-
3
- export function constant<Type>(expression: string): Type | undefined;
4
- export function constant<Type>(expression: string, defaultValue: Type | undefined): Type;
5
- export function constant<Type>(expression: string, defaultValue?: Type | undefined): Type | undefined {
6
- return injector().settings.get(expression, defaultValue);
7
- }