@tsed/common 7.0.0-alpha.1 → 7.0.0-beta.10

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 (386) hide show
  1. package/lib/cjs/builder/PlatformBuilder.js +286 -0
  2. package/lib/cjs/builder/PlatformBuilder.js.map +1 -0
  3. package/lib/cjs/builder/PlatformControllerBuilder.js +82 -0
  4. package/lib/cjs/builder/PlatformControllerBuilder.js.map +1 -0
  5. package/lib/cjs/config/interfaces/ConverterSettings.js +3 -0
  6. package/lib/cjs/config/interfaces/ConverterSettings.js.map +1 -0
  7. package/lib/cjs/config/interfaces/EndpointDirectoriesSettings.js +3 -0
  8. package/lib/cjs/config/interfaces/EndpointDirectoriesSettings.js.map +1 -0
  9. package/lib/cjs/config/interfaces/PlatformLoggerSettings.js +3 -0
  10. package/lib/cjs/config/interfaces/PlatformLoggerSettings.js.map +1 -0
  11. package/lib/cjs/config/interfaces/PlatformMulterSettings.js +3 -0
  12. package/lib/cjs/config/interfaces/PlatformMulterSettings.js.map +1 -0
  13. package/lib/cjs/config/interfaces/PlatformStaticsSettings.js +3 -0
  14. package/lib/cjs/config/interfaces/PlatformStaticsSettings.js.map +1 -0
  15. package/lib/cjs/config/services/PlatformConfiguration.js +181 -0
  16. package/lib/cjs/config/services/PlatformConfiguration.js.map +1 -0
  17. package/lib/cjs/constants/routerOptions.js +5 -0
  18. package/lib/cjs/constants/routerOptions.js.map +1 -0
  19. package/lib/cjs/decorators/multer/multerFileSize.js +35 -0
  20. package/lib/cjs/decorators/multer/multerFileSize.js.map +1 -0
  21. package/lib/cjs/decorators/multer/multerOptions.js +52 -0
  22. package/lib/cjs/decorators/multer/multerOptions.js.map +1 -0
  23. package/lib/cjs/decorators/multer/multipartFile.js +78 -0
  24. package/lib/cjs/decorators/multer/multipartFile.js.map +1 -0
  25. package/lib/cjs/decorators/params/error.js +20 -0
  26. package/lib/cjs/decorators/params/error.js.map +1 -0
  27. package/lib/cjs/decorators/params/next.js +21 -0
  28. package/lib/cjs/decorators/params/next.js.map +1 -0
  29. package/lib/cjs/decorators/params/request.js +39 -0
  30. package/lib/cjs/decorators/params/request.js.map +1 -0
  31. package/lib/cjs/decorators/params/response.js +33 -0
  32. package/lib/cjs/decorators/params/response.js.map +1 -0
  33. package/lib/cjs/domain/AnyToPromiseWithCtx.js +27 -0
  34. package/lib/cjs/domain/AnyToPromiseWithCtx.js.map +1 -0
  35. package/lib/cjs/domain/ControllerProvider.js +51 -0
  36. package/lib/cjs/domain/ControllerProvider.js.map +1 -0
  37. package/lib/cjs/domain/EndpointMetadata.js +6 -0
  38. package/lib/cjs/domain/EndpointMetadata.js.map +1 -0
  39. package/lib/cjs/domain/HandlerMetadata.js +57 -0
  40. package/lib/cjs/domain/HandlerMetadata.js.map +1 -0
  41. package/lib/cjs/domain/PlatformContext.js +92 -0
  42. package/lib/cjs/domain/PlatformContext.js.map +1 -0
  43. package/lib/cjs/domain/PlatformRouteDetails.js +24 -0
  44. package/lib/cjs/domain/PlatformRouteDetails.js.map +1 -0
  45. package/lib/cjs/exports.js +31 -0
  46. package/lib/cjs/exports.js.map +1 -0
  47. package/lib/cjs/index.js +70 -0
  48. package/lib/cjs/index.js.map +1 -0
  49. package/lib/cjs/interfaces/AfterInit.js +3 -0
  50. package/lib/cjs/interfaces/AfterInit.js.map +1 -0
  51. package/lib/cjs/interfaces/AfterListen.js +3 -0
  52. package/lib/cjs/interfaces/AfterListen.js.map +1 -0
  53. package/lib/cjs/interfaces/AfterRoutesInit.js +3 -0
  54. package/lib/cjs/interfaces/AfterRoutesInit.js.map +1 -0
  55. package/lib/cjs/interfaces/BeforeInit.js +3 -0
  56. package/lib/cjs/interfaces/BeforeInit.js.map +1 -0
  57. package/lib/cjs/interfaces/BeforeListen.js +3 -0
  58. package/lib/cjs/interfaces/BeforeListen.js.map +1 -0
  59. package/lib/cjs/interfaces/BeforeRoutesInit.js +3 -0
  60. package/lib/cjs/interfaces/BeforeRoutesInit.js.map +1 -0
  61. package/lib/cjs/interfaces/HandlerType.js +17 -0
  62. package/lib/cjs/interfaces/HandlerType.js.map +1 -0
  63. package/lib/cjs/interfaces/IncomingEvent.js +3 -0
  64. package/lib/cjs/interfaces/IncomingEvent.js.map +1 -0
  65. package/lib/cjs/interfaces/OnReady.js +3 -0
  66. package/lib/cjs/interfaces/OnReady.js.map +1 -0
  67. package/lib/cjs/interfaces/OnRequest.js +3 -0
  68. package/lib/cjs/interfaces/OnRequest.js.map +1 -0
  69. package/lib/cjs/interfaces/OnResponse.js +3 -0
  70. package/lib/cjs/interfaces/OnResponse.js.map +1 -0
  71. package/lib/cjs/interfaces/OnRoutesInit.js +3 -0
  72. package/lib/cjs/interfaces/OnRoutesInit.js.map +1 -0
  73. package/lib/cjs/interfaces/PlatformRouteOptions.js +3 -0
  74. package/lib/cjs/interfaces/PlatformRouteOptions.js.map +1 -0
  75. package/lib/cjs/interfaces/ResponseErrorObject.js +3 -0
  76. package/lib/cjs/interfaces/ResponseErrorObject.js.map +1 -0
  77. package/lib/cjs/interfaces/Route.js +3 -0
  78. package/lib/cjs/interfaces/Route.js.map +1 -0
  79. package/lib/cjs/middlewares/PlatformAcceptMimesMiddleware.js +37 -0
  80. package/lib/cjs/middlewares/PlatformAcceptMimesMiddleware.js.map +1 -0
  81. package/lib/cjs/middlewares/PlatformMulterMiddleware.js +67 -0
  82. package/lib/cjs/middlewares/PlatformMulterMiddleware.js.map +1 -0
  83. package/lib/cjs/middlewares/__mock__/FakeCtrl.js +12 -0
  84. package/lib/cjs/middlewares/__mock__/FakeCtrl.js.map +1 -0
  85. package/lib/cjs/middlewares/bindEndpointMiddleware.js +13 -0
  86. package/lib/cjs/middlewares/bindEndpointMiddleware.js.map +1 -0
  87. package/lib/cjs/package.json +3 -0
  88. package/lib/cjs/services/FakeAdapter.js +55 -0
  89. package/lib/cjs/services/FakeAdapter.js.map +1 -0
  90. package/lib/cjs/services/Platform.js +128 -0
  91. package/lib/cjs/services/Platform.js.map +1 -0
  92. package/lib/cjs/services/PlatformAdapter.js +14 -0
  93. package/lib/cjs/services/PlatformAdapter.js.map +1 -0
  94. package/lib/cjs/services/PlatformApplication.js +32 -0
  95. package/lib/cjs/services/PlatformApplication.js.map +1 -0
  96. package/lib/cjs/services/PlatformHandler.js +235 -0
  97. package/lib/cjs/services/PlatformHandler.js.map +1 -0
  98. package/lib/cjs/services/PlatformMiddlewaresChain.js +75 -0
  99. package/lib/cjs/services/PlatformMiddlewaresChain.js.map +1 -0
  100. package/lib/cjs/services/PlatformRequest.js +138 -0
  101. package/lib/cjs/services/PlatformRequest.js.map +1 -0
  102. package/lib/cjs/services/PlatformResponse.js +271 -0
  103. package/lib/cjs/services/PlatformResponse.js.map +1 -0
  104. package/lib/cjs/services/PlatformRouter.js +108 -0
  105. package/lib/cjs/services/PlatformRouter.js.map +1 -0
  106. package/lib/cjs/services/PlatformTest.js +167 -0
  107. package/lib/cjs/services/PlatformTest.js.map +1 -0
  108. package/lib/cjs/utils/__mock__/Test1.js +8 -0
  109. package/lib/cjs/utils/__mock__/Test1.js.map +1 -0
  110. package/lib/cjs/utils/__mock__/Test2.js +8 -0
  111. package/lib/cjs/utils/__mock__/Test2.js.map +1 -0
  112. package/lib/cjs/utils/createContext.js +38 -0
  113. package/lib/cjs/utils/createContext.js.map +1 -0
  114. package/lib/cjs/utils/createHandlerMetadata.js +49 -0
  115. package/lib/cjs/utils/createHandlerMetadata.js.map +1 -0
  116. package/lib/cjs/utils/createHttpServer.js +29 -0
  117. package/lib/cjs/utils/createHttpServer.js.map +1 -0
  118. package/lib/cjs/utils/createHttpsServer.js +29 -0
  119. package/lib/cjs/utils/createHttpsServer.js.map +1 -0
  120. package/lib/cjs/utils/createInjector.js +46 -0
  121. package/lib/cjs/utils/createInjector.js.map +1 -0
  122. package/lib/cjs/utils/getConfiguration.js +42 -0
  123. package/lib/cjs/utils/getConfiguration.js.map +1 -0
  124. package/lib/cjs/utils/getStaticsOptions.js +21 -0
  125. package/lib/cjs/utils/getStaticsOptions.js.map +1 -0
  126. package/lib/cjs/utils/importProviders.js +29 -0
  127. package/lib/cjs/utils/importProviders.js.map +1 -0
  128. package/lib/cjs/utils/listenServer.js +21 -0
  129. package/lib/cjs/utils/listenServer.js.map +1 -0
  130. package/lib/cjs/utils/mapReturnedResponse.js +15 -0
  131. package/lib/cjs/utils/mapReturnedResponse.js.map +1 -0
  132. package/lib/cjs/utils/printRoutes.js +36 -0
  133. package/lib/cjs/utils/printRoutes.js.map +1 -0
  134. package/lib/cjs/utils/setResponseHeaders.js +35 -0
  135. package/lib/cjs/utils/setResponseHeaders.js.map +1 -0
  136. package/lib/cjs/utils/useCtxHandler.js +15 -0
  137. package/lib/cjs/utils/useCtxHandler.js.map +1 -0
  138. package/lib/esm/builder/PlatformBuilder.js +282 -0
  139. package/lib/esm/builder/PlatformBuilder.js.map +1 -0
  140. package/lib/esm/builder/PlatformControllerBuilder.js +76 -0
  141. package/lib/esm/builder/PlatformControllerBuilder.js.map +1 -0
  142. package/lib/esm/config/interfaces/ConverterSettings.js +2 -0
  143. package/lib/esm/config/interfaces/ConverterSettings.js.map +1 -0
  144. package/lib/esm/config/interfaces/EndpointDirectoriesSettings.js +2 -0
  145. package/lib/esm/config/interfaces/EndpointDirectoriesSettings.js.map +1 -0
  146. package/lib/esm/config/interfaces/PlatformLoggerSettings.js +2 -0
  147. package/lib/esm/config/interfaces/PlatformLoggerSettings.js.map +1 -0
  148. package/lib/esm/config/interfaces/PlatformMulterSettings.js +2 -0
  149. package/lib/esm/config/interfaces/PlatformMulterSettings.js.map +1 -0
  150. package/lib/esm/config/interfaces/PlatformStaticsSettings.js +2 -0
  151. package/lib/esm/config/interfaces/PlatformStaticsSettings.js.map +1 -0
  152. package/lib/esm/config/services/PlatformConfiguration.js +178 -0
  153. package/lib/esm/config/services/PlatformConfiguration.js.map +1 -0
  154. package/lib/esm/constants/routerOptions.js +2 -0
  155. package/lib/esm/constants/routerOptions.js.map +1 -0
  156. package/lib/esm/decorators/multer/multerFileSize.js +31 -0
  157. package/lib/esm/decorators/multer/multerFileSize.js.map +1 -0
  158. package/lib/esm/decorators/multer/multerOptions.js +48 -0
  159. package/lib/esm/decorators/multer/multerOptions.js.map +1 -0
  160. package/lib/esm/decorators/multer/multipartFile.js +74 -0
  161. package/lib/esm/decorators/multer/multipartFile.js.map +1 -0
  162. package/lib/esm/decorators/params/error.js +16 -0
  163. package/lib/esm/decorators/params/error.js.map +1 -0
  164. package/lib/esm/decorators/params/next.js +17 -0
  165. package/lib/esm/decorators/params/next.js.map +1 -0
  166. package/lib/esm/decorators/params/request.js +34 -0
  167. package/lib/esm/decorators/params/request.js.map +1 -0
  168. package/lib/esm/decorators/params/response.js +28 -0
  169. package/lib/esm/decorators/params/response.js.map +1 -0
  170. package/lib/esm/domain/AnyToPromiseWithCtx.js +23 -0
  171. package/lib/esm/domain/AnyToPromiseWithCtx.js.map +1 -0
  172. package/lib/esm/domain/ControllerProvider.js +47 -0
  173. package/lib/esm/domain/ControllerProvider.js.map +1 -0
  174. package/lib/esm/domain/EndpointMetadata.js +2 -0
  175. package/lib/esm/domain/EndpointMetadata.js.map +1 -0
  176. package/lib/esm/domain/HandlerMetadata.js +53 -0
  177. package/lib/esm/domain/HandlerMetadata.js.map +1 -0
  178. package/lib/esm/domain/PlatformContext.js +88 -0
  179. package/lib/esm/domain/PlatformContext.js.map +1 -0
  180. package/lib/esm/domain/PlatformRouteDetails.js +20 -0
  181. package/lib/esm/domain/PlatformRouteDetails.js.map +1 -0
  182. package/lib/esm/exports.js +13 -0
  183. package/lib/esm/exports.js.map +1 -0
  184. package/lib/esm/index.js +67 -0
  185. package/lib/esm/index.js.map +1 -0
  186. package/lib/esm/interfaces/AfterInit.js +2 -0
  187. package/lib/esm/interfaces/AfterInit.js.map +1 -0
  188. package/lib/esm/interfaces/AfterListen.js +2 -0
  189. package/lib/esm/interfaces/AfterListen.js.map +1 -0
  190. package/lib/esm/interfaces/AfterRoutesInit.js +2 -0
  191. package/lib/esm/interfaces/AfterRoutesInit.js.map +1 -0
  192. package/lib/esm/interfaces/BeforeInit.js +2 -0
  193. package/lib/esm/interfaces/BeforeInit.js.map +1 -0
  194. package/lib/esm/interfaces/BeforeListen.js +2 -0
  195. package/lib/esm/interfaces/BeforeListen.js.map +1 -0
  196. package/lib/esm/interfaces/BeforeRoutesInit.js +2 -0
  197. package/lib/esm/interfaces/BeforeRoutesInit.js.map +1 -0
  198. package/lib/esm/interfaces/HandlerType.js +14 -0
  199. package/lib/esm/interfaces/HandlerType.js.map +1 -0
  200. package/lib/esm/interfaces/IncomingEvent.js +2 -0
  201. package/lib/esm/interfaces/IncomingEvent.js.map +1 -0
  202. package/lib/esm/interfaces/OnReady.js +2 -0
  203. package/lib/esm/interfaces/OnReady.js.map +1 -0
  204. package/lib/esm/interfaces/OnRequest.js +2 -0
  205. package/lib/esm/interfaces/OnRequest.js.map +1 -0
  206. package/lib/esm/interfaces/OnResponse.js +2 -0
  207. package/lib/esm/interfaces/OnResponse.js.map +1 -0
  208. package/lib/esm/interfaces/OnRoutesInit.js +2 -0
  209. package/lib/esm/interfaces/OnRoutesInit.js.map +1 -0
  210. package/lib/esm/interfaces/PlatformRouteOptions.js +2 -0
  211. package/lib/esm/interfaces/PlatformRouteOptions.js.map +1 -0
  212. package/lib/esm/interfaces/ResponseErrorObject.js +2 -0
  213. package/lib/esm/interfaces/ResponseErrorObject.js.map +1 -0
  214. package/lib/esm/interfaces/Route.js +2 -0
  215. package/lib/esm/interfaces/Route.js.map +1 -0
  216. package/lib/esm/middlewares/PlatformAcceptMimesMiddleware.js +34 -0
  217. package/lib/esm/middlewares/PlatformAcceptMimesMiddleware.js.map +1 -0
  218. package/lib/esm/middlewares/PlatformMulterMiddleware.js +63 -0
  219. package/lib/esm/middlewares/PlatformMulterMiddleware.js.map +1 -0
  220. package/lib/esm/middlewares/__mock__/FakeCtrl.js +9 -0
  221. package/lib/esm/middlewares/__mock__/FakeCtrl.js.map +1 -0
  222. package/lib/esm/middlewares/bindEndpointMiddleware.js +9 -0
  223. package/lib/esm/middlewares/bindEndpointMiddleware.js.map +1 -0
  224. package/lib/esm/package.json +3 -0
  225. package/lib/esm/services/FakeAdapter.js +51 -0
  226. package/lib/esm/services/FakeAdapter.js.map +1 -0
  227. package/lib/esm/services/Platform.js +125 -0
  228. package/lib/esm/services/Platform.js.map +1 -0
  229. package/lib/esm/services/PlatformAdapter.js +10 -0
  230. package/lib/esm/services/PlatformAdapter.js.map +1 -0
  231. package/lib/esm/services/PlatformApplication.js +29 -0
  232. package/lib/esm/services/PlatformApplication.js.map +1 -0
  233. package/lib/esm/services/PlatformHandler.js +232 -0
  234. package/lib/esm/services/PlatformHandler.js.map +1 -0
  235. package/lib/esm/services/PlatformMiddlewaresChain.js +72 -0
  236. package/lib/esm/services/PlatformMiddlewaresChain.js.map +1 -0
  237. package/lib/esm/services/PlatformRequest.js +135 -0
  238. package/lib/esm/services/PlatformRequest.js.map +1 -0
  239. package/lib/esm/services/PlatformResponse.js +268 -0
  240. package/lib/esm/services/PlatformResponse.js.map +1 -0
  241. package/lib/esm/services/PlatformRouter.js +105 -0
  242. package/lib/esm/services/PlatformRouter.js.map +1 -0
  243. package/lib/esm/services/PlatformTest.js +162 -0
  244. package/lib/esm/services/PlatformTest.js.map +1 -0
  245. package/lib/esm/utils/__mock__/Test1.js +4 -0
  246. package/lib/esm/utils/__mock__/Test1.js.map +1 -0
  247. package/lib/esm/utils/__mock__/Test2.js +4 -0
  248. package/lib/esm/utils/__mock__/Test2.js.map +1 -0
  249. package/lib/esm/utils/createContext.js +34 -0
  250. package/lib/esm/utils/createContext.js.map +1 -0
  251. package/lib/esm/utils/createHandlerMetadata.js +45 -0
  252. package/lib/esm/utils/createHandlerMetadata.js.map +1 -0
  253. package/lib/esm/utils/createHttpServer.js +24 -0
  254. package/lib/esm/utils/createHttpServer.js.map +1 -0
  255. package/lib/esm/utils/createHttpsServer.js +24 -0
  256. package/lib/esm/utils/createHttpsServer.js.map +1 -0
  257. package/lib/esm/utils/createInjector.js +42 -0
  258. package/lib/esm/utils/createInjector.js.map +1 -0
  259. package/lib/esm/utils/getConfiguration.js +38 -0
  260. package/lib/esm/utils/getConfiguration.js.map +1 -0
  261. package/lib/esm/utils/getStaticsOptions.js +17 -0
  262. package/lib/esm/utils/getStaticsOptions.js.map +1 -0
  263. package/lib/esm/utils/importProviders.js +25 -0
  264. package/lib/esm/utils/importProviders.js.map +1 -0
  265. package/lib/esm/utils/listenServer.js +17 -0
  266. package/lib/esm/utils/listenServer.js.map +1 -0
  267. package/lib/esm/utils/mapReturnedResponse.js +11 -0
  268. package/lib/esm/utils/mapReturnedResponse.js.map +1 -0
  269. package/lib/esm/utils/printRoutes.js +32 -0
  270. package/lib/esm/utils/printRoutes.js.map +1 -0
  271. package/lib/esm/utils/setResponseHeaders.js +31 -0
  272. package/lib/esm/utils/setResponseHeaders.js.map +1 -0
  273. package/lib/esm/utils/useCtxHandler.js +11 -0
  274. package/lib/esm/utils/useCtxHandler.js.map +1 -0
  275. package/lib/{builder → types/builder}/PlatformBuilder.d.ts +28 -32
  276. package/lib/types/builder/PlatformControllerBuilder.d.ts +18 -0
  277. package/lib/{config → types/config}/interfaces/ConverterSettings.d.ts +0 -0
  278. package/lib/{config → types/config}/interfaces/EndpointDirectoriesSettings.d.ts +0 -0
  279. package/lib/{config → types/config}/interfaces/PlatformLoggerSettings.d.ts +0 -16
  280. package/lib/types/config/interfaces/PlatformMulterSettings.d.ts +14 -0
  281. package/lib/{config → types/config}/interfaces/PlatformStaticsSettings.d.ts +1 -0
  282. package/lib/{config → types/config}/services/PlatformConfiguration.d.ts +15 -12
  283. package/lib/{constants → types/constants}/routerOptions.d.ts +0 -0
  284. package/lib/{decorators → types/decorators}/multer/multerFileSize.d.ts +0 -0
  285. package/lib/{decorators → types/decorators}/multer/multerOptions.d.ts +0 -0
  286. package/lib/{decorators → types/decorators}/multer/multipartFile.d.ts +0 -0
  287. package/lib/{decorators → types/decorators}/params/error.d.ts +0 -0
  288. package/lib/{decorators → types/decorators}/params/next.d.ts +0 -0
  289. package/lib/{decorators → types/decorators}/params/request.d.ts +0 -0
  290. package/lib/{decorators → types/decorators}/params/response.d.ts +0 -0
  291. package/lib/{domain → types/domain}/AnyToPromiseWithCtx.d.ts +0 -0
  292. package/lib/types/domain/ControllerProvider.d.ts +24 -0
  293. package/lib/types/domain/EndpointMetadata.d.ts +1 -0
  294. package/lib/{domain → types/domain}/HandlerMetadata.d.ts +2 -2
  295. package/lib/{domain → types/domain}/PlatformContext.d.ts +2 -2
  296. package/lib/types/domain/PlatformRouteDetails.d.ts +22 -0
  297. package/lib/types/exports.d.ts +12 -0
  298. package/lib/types/index.d.ts +66 -0
  299. package/lib/{interfaces → types/interfaces}/AfterInit.d.ts +0 -0
  300. package/lib/{interfaces → types/interfaces}/AfterListen.d.ts +0 -0
  301. package/lib/{interfaces → types/interfaces}/AfterRoutesInit.d.ts +0 -0
  302. package/lib/{interfaces → types/interfaces}/BeforeInit.d.ts +0 -0
  303. package/lib/{interfaces → types/interfaces}/BeforeListen.d.ts +0 -0
  304. package/lib/{interfaces → types/interfaces}/BeforeRoutesInit.d.ts +0 -0
  305. package/lib/{interfaces → types/interfaces}/HandlerType.d.ts +0 -0
  306. package/lib/{interfaces → types/interfaces}/IncomingEvent.d.ts +0 -0
  307. package/lib/{interfaces → types/interfaces}/OnReady.d.ts +0 -0
  308. package/lib/{interfaces → types/interfaces}/OnRequest.d.ts +0 -0
  309. package/lib/{interfaces → types/interfaces}/OnResponse.d.ts +0 -0
  310. package/lib/{interfaces → types/interfaces}/OnRoutesInit.d.ts +0 -0
  311. package/lib/{interfaces → types/interfaces}/PlatformRouteOptions.d.ts +6 -4
  312. package/lib/{interfaces → types/interfaces}/ResponseErrorObject.d.ts +0 -0
  313. package/lib/{interfaces → types/interfaces}/Route.d.ts +0 -0
  314. package/lib/{middlewares → types/middlewares}/PlatformAcceptMimesMiddleware.d.ts +0 -0
  315. package/lib/{middlewares → types/middlewares}/PlatformMulterMiddleware.d.ts +8 -3
  316. package/lib/{middlewares/data → types/middlewares/__mock__}/FakeCtrl.d.ts +0 -0
  317. package/lib/types/middlewares/bindEndpointMiddleware.d.ts +6 -0
  318. package/lib/types/services/FakeAdapter.d.ts +30 -0
  319. package/lib/{services → types/services}/Platform.d.ts +22 -7
  320. package/lib/types/services/PlatformAdapter.d.ts +47 -0
  321. package/lib/{services → types/services}/PlatformApplication.d.ts +3 -3
  322. package/lib/{services → types/services}/PlatformHandler.d.ts +4 -9
  323. package/lib/types/services/PlatformMiddlewaresChain.d.ts +10 -0
  324. package/lib/{services → types/services}/PlatformRequest.d.ts +2 -1
  325. package/lib/{services → types/services}/PlatformResponse.d.ts +10 -10
  326. package/lib/{services → types/services}/PlatformRouter.d.ts +13 -9
  327. package/lib/{services → types/services}/PlatformTest.d.ts +6 -5
  328. package/lib/types/utils/__mock__/Test1.d.ts +3 -0
  329. package/lib/types/utils/__mock__/Test2.d.ts +3 -0
  330. package/lib/{utils → types/utils}/createContext.d.ts +0 -0
  331. package/lib/{utils → types/utils}/createHandlerMetadata.d.ts +1 -1
  332. package/lib/types/utils/createHttpServer.d.ts +4 -0
  333. package/lib/types/utils/createHttpsServer.d.ts +5 -0
  334. package/lib/types/utils/createInjector.d.ts +9 -0
  335. package/lib/types/utils/getConfiguration.d.ts +2 -0
  336. package/lib/types/utils/getStaticsOptions.d.ts +5 -0
  337. package/lib/types/utils/importProviders.d.ts +10 -0
  338. package/lib/types/utils/listenServer.d.ts +7 -0
  339. package/lib/{utils → types/utils}/mapReturnedResponse.d.ts +0 -0
  340. package/lib/{utils → types/utils}/printRoutes.d.ts +0 -0
  341. package/lib/{utils → types/utils}/setResponseHeaders.d.ts +0 -0
  342. package/lib/{utils → types/utils}/useCtxHandler.d.ts +0 -0
  343. package/package.json +47 -30
  344. package/readme.md +50 -57
  345. package/tsconfig.compile.esm.json +13 -0
  346. package/lib/PlatformModule.d.ts +0 -15
  347. package/lib/builder/PlatformControllerBuilder.d.ts +0 -19
  348. package/lib/config/index.d.ts +0 -3
  349. package/lib/config/interfaces/PlatformMulterSettings.d.ts +0 -138
  350. package/lib/config/interfaces/index.d.ts +0 -82
  351. package/lib/decorators/class/controller.d.ts +0 -43
  352. package/lib/decorators/httpServer.d.ts +0 -27
  353. package/lib/decorators/httpsServer.d.ts +0 -27
  354. package/lib/decorators/index.d.ts +0 -14
  355. package/lib/decorators/method/acceptMime.d.ts +0 -19
  356. package/lib/decorators/method/endpointFn.d.ts +0 -8
  357. package/lib/decorators/method/location.d.ts +0 -1
  358. package/lib/decorators/method/redirect.d.ts +0 -1
  359. package/lib/decorators/method/route.d.ts +0 -128
  360. package/lib/decorators/multer/index.d.ts +0 -3
  361. package/lib/domain/ControllerProvider.d.ts +0 -54
  362. package/lib/domain/EndpointMetadata.d.ts +0 -89
  363. package/lib/domain/PlatformRouteDetails.d.ts +0 -29
  364. package/lib/domain/index.d.ts +0 -6
  365. package/lib/index.d.ts +0 -21
  366. package/lib/index.js +0 -3990
  367. package/lib/index.js.map +0 -1
  368. package/lib/index.modern.js +0 -3870
  369. package/lib/index.modern.js.map +0 -1
  370. package/lib/interfaces/PathType.d.ts +0 -1
  371. package/lib/interfaces/PlatformRouterMethods.d.ts +0 -10
  372. package/lib/interfaces/index.d.ts +0 -18
  373. package/lib/middlewares/PlatformLogMiddleware.d.ts +0 -44
  374. package/lib/middlewares/bindEndpointMiddleware.d.ts +0 -5
  375. package/lib/middlewares/index.d.ts +0 -4
  376. package/lib/registries/ControllerRegistry.d.ts +0 -1
  377. package/lib/services/ConverterService.d.ts +0 -27
  378. package/lib/services/FakeRawDriver.d.ts +0 -15
  379. package/lib/services/index.d.ts +0 -8
  380. package/lib/utils/createHttpServer.d.ts +0 -3
  381. package/lib/utils/createHttpsServer.d.ts +0 -3
  382. package/lib/utils/createInjector.d.ts +0 -2
  383. package/lib/utils/createPlatformApplication.d.ts +0 -2
  384. package/lib/utils/getControllerPath.d.ts +0 -2
  385. package/lib/utils/index.d.ts +0 -8
  386. package/lib/utils/listenServer.d.ts +0 -10
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printRoutes = void 0;
4
+ const logger_1 = require("@tsed/logger");
5
+ function printRoutes(routes) {
6
+ const mapColor = {
7
+ GET: "green",
8
+ POST: "yellow",
9
+ PUT: "blue",
10
+ DELETE: "red",
11
+ PATCH: "magenta",
12
+ ALL: "cyan"
13
+ };
14
+ const list = routes.map((route) => {
15
+ const obj = route.toJSON();
16
+ const method = obj.method.toUpperCase();
17
+ obj.method = {
18
+ length: method.length,
19
+ toString: () => {
20
+ return (0, logger_1.colorize)(method, mapColor[method]);
21
+ }
22
+ };
23
+ return obj;
24
+ });
25
+ const str = logger_1.$log.drawTable(list, {
26
+ padding: 1,
27
+ header: {
28
+ method: "Method",
29
+ url: "Endpoint",
30
+ name: "Class method"
31
+ }
32
+ });
33
+ return "\n" + str.trim();
34
+ }
35
+ exports.printRoutes = printRoutes;
36
+ //# sourceMappingURL=printRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printRoutes.js","sourceRoot":"","sources":["../../../src/utils/printRoutes.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAG5C,SAAgB,WAAW,CAAC,MAA8B;IACxD,MAAM,QAAQ,GAA4B;QACxC,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,MAAM;QACX,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,MAAM;KACZ,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAExC,GAAG,CAAC,MAAM,GAAG;YACX,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,GAAG,EAAE;gBACb,OAAO,IAAA,iBAAQ,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,CAAC;SACK,CAAC;QAET,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,aAAI,CAAC,SAAS,CAAC,IAAI,EAAE;QAC/B,OAAO,EAAE,CAAC;QACV,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,cAAc;SACrB;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAlCD,kCAkCC","sourcesContent":["import {$log, colorize} from \"@tsed/logger\";\nimport {PlatformRouteDetails} from \"../domain/PlatformRouteDetails\";\n\nexport function printRoutes(routes: PlatformRouteDetails[]) {\n const mapColor: {[key: string]: string} = {\n GET: \"green\",\n POST: \"yellow\",\n PUT: \"blue\",\n DELETE: \"red\",\n PATCH: \"magenta\",\n ALL: \"cyan\"\n };\n\n const list = routes.map((route) => {\n const obj = route.toJSON();\n const method = obj.method.toUpperCase();\n\n obj.method = {\n length: method.length,\n toString: () => {\n return colorize(method, mapColor[method]);\n }\n } as any;\n\n return obj;\n });\n\n const str = $log.drawTable(list, {\n padding: 1,\n header: {\n method: \"Method\",\n url: \"Endpoint\",\n name: \"Class method\"\n }\n });\n\n return \"\\n\" + str.trim();\n}\n"]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setResponseHeaders = void 0;
4
+ function mergeHeaders(specHeaders, headers) {
5
+ return Object.entries(specHeaders).reduce((headers, [key, item]) => {
6
+ key = key.toLowerCase();
7
+ return {
8
+ ...headers,
9
+ [key]: headers[key] === undefined ? String(item.example) : headers[key]
10
+ };
11
+ }, headers);
12
+ }
13
+ /**
14
+ * @ignore
15
+ */
16
+ function setResponseHeaders(ctx) {
17
+ const { response, endpoint } = ctx;
18
+ const { operation } = endpoint;
19
+ if (response.isDone()) {
20
+ return;
21
+ }
22
+ if (!response.hasStatus()) {
23
+ // apply status only if the isn't already modified
24
+ response.status(operation.getStatus());
25
+ }
26
+ const statusCode = response.statusCode;
27
+ const headers = operation.getHeadersOf(response.statusCode);
28
+ const mergedHeaders = mergeHeaders(headers, response.getHeaders());
29
+ response.setHeaders(mergedHeaders);
30
+ if (operation.isRedirection(statusCode)) {
31
+ response.redirect(statusCode, String(mergedHeaders["location"]));
32
+ }
33
+ }
34
+ exports.setResponseHeaders = setResponseHeaders;
35
+ //# sourceMappingURL=setResponseHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setResponseHeaders.js","sourceRoot":"","sources":["../../../src/utils/setResponseHeaders.ts"],"names":[],"mappings":";;;AAIA,SAAS,YAAY,CAAC,WAA2D,EAAE,OAA4B;IAC7G,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACjE,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,OAAO;YACV,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;SACxE,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAoB;IACrD,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,GAAG,CAAC;IACjC,MAAM,EAAC,SAAS,EAAC,GAAG,QAAQ,CAAC;IAE7B,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE;QACrB,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;QACzB,kDAAkD;QAClD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;KACxC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAEnE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEnC,IAAI,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;QACvC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAClE;AACH,CAAC;AAtBD,gDAsBC","sourcesContent":["import {JsonHeader} from \"@tsed/schema\";\nimport {OutgoingHttpHeaders} from \"http\";\nimport {PlatformContext} from \"../domain/PlatformContext\";\n\nfunction mergeHeaders(specHeaders: Record<string, JsonHeader & {example: string}>, headers: OutgoingHttpHeaders) {\n return Object.entries(specHeaders).reduce((headers, [key, item]) => {\n key = key.toLowerCase();\n return {\n ...headers,\n [key]: headers[key] === undefined ? String(item.example) : headers[key]\n };\n }, headers);\n}\n\n/**\n * @ignore\n */\nexport function setResponseHeaders(ctx: PlatformContext) {\n const {response, endpoint} = ctx;\n const {operation} = endpoint;\n\n if (response.isDone()) {\n return;\n }\n\n if (!response.hasStatus()) {\n // apply status only if the isn't already modified\n response.status(operation.getStatus());\n }\n\n const statusCode = response.statusCode;\n const headers = operation.getHeadersOf(response.statusCode);\n const mergedHeaders = mergeHeaders(headers, response.getHeaders());\n\n response.setHeaders(mergedHeaders);\n\n if (operation.isRedirection(statusCode)) {\n response.redirect(statusCode, String(mergedHeaders[\"location\"]));\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCtxHandler = void 0;
4
+ const HandlerType_1 = require("../interfaces/HandlerType");
5
+ /**
6
+ * Create Ts.ED context handler
7
+ * @param fn
8
+ * @ignore
9
+ */
10
+ function useCtxHandler(fn) {
11
+ fn.type = HandlerType_1.HandlerType.CTX_FN;
12
+ return fn;
13
+ }
14
+ exports.useCtxHandler = useCtxHandler;
15
+ //# sourceMappingURL=useCtxHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCtxHandler.js","sourceRoot":"","sources":["../../../src/utils/useCtxHandler.ts"],"names":[],"mappings":";;;AACA,2DAAsD;AAItD;;;;GAIG;AACH,SAAgB,aAAa,CAAC,EAA6C;IACzE,EAAE,CAAC,IAAI,GAAG,yBAAW,CAAC,MAAM,CAAC;IAE7B,OAAO,EAAE,CAAC;AACZ,CAAC;AAJD,sCAIC","sourcesContent":["import {PlatformContext} from \"../domain/PlatformContext\";\nimport {HandlerType} from \"../interfaces/HandlerType\";\n\nexport type PlatformCtxHandler = ($ctx: PlatformContext) => any | Promise<any>;\n\n/**\n * Create Ts.ED context handler\n * @param fn\n * @ignore\n */\nexport function useCtxHandler(fn: PlatformCtxHandler & {type?: HandlerType}) {\n fn.type = HandlerType.CTX_FN;\n\n return fn;\n}\n"]}
@@ -0,0 +1,282 @@
1
+ var _PlatformBuilder_injector, _PlatformBuilder_rootModule, _PlatformBuilder_adapter, _PlatformBuilder_promise, _PlatformBuilder_servers, _PlatformBuilder_listeners;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { nameOf } from "@tsed/core";
4
+ import { colors, createContainer, ProviderScope, setLoggerLevel } from "@tsed/di";
5
+ import { getMiddlewaresForHook } from "@tsed/platform-middlewares";
6
+ import { Platform } from "../services/Platform.js";
7
+ import { PlatformApplication } from "../services/PlatformApplication.js";
8
+ import { getStaticsOptions } from "../utils/getStaticsOptions.js";
9
+ import { getConfiguration } from "../utils/getConfiguration.js";
10
+ import { PlatformAdapter } from "../services/PlatformAdapter.js";
11
+ import { importProviders } from "../utils/importProviders.js";
12
+ import { createInjector } from "../utils/createInjector.js";
13
+ import { printRoutes } from "../utils/printRoutes.js";
14
+ import { createHttpServer } from "../utils/createHttpServer.js";
15
+ import { createHttpsServer } from "../utils/createHttpsServer.js";
16
+ /**
17
+ * @platform
18
+ */
19
+ export class PlatformBuilder {
20
+ constructor(adapter, module, settings) {
21
+ this.name = "";
22
+ this.startedAt = new Date();
23
+ this.current = new Date();
24
+ _PlatformBuilder_injector.set(this, void 0);
25
+ _PlatformBuilder_rootModule.set(this, void 0);
26
+ _PlatformBuilder_adapter.set(this, void 0);
27
+ _PlatformBuilder_promise.set(this, void 0);
28
+ _PlatformBuilder_servers.set(this, void 0);
29
+ _PlatformBuilder_listeners.set(this, []);
30
+ __classPrivateFieldSet(this, _PlatformBuilder_rootModule, module, "f");
31
+ const adapterKlass = adapter || PlatformBuilder.adapter;
32
+ const name = nameOf(adapterKlass).replace("Platform", "").toLowerCase();
33
+ const configuration = getConfiguration(settings, module);
34
+ configuration.PLATFORM_NAME = name;
35
+ this.name = name;
36
+ __classPrivateFieldSet(this, _PlatformBuilder_injector, createInjector({
37
+ adapter: adapterKlass,
38
+ settings: configuration
39
+ }), "f");
40
+ __classPrivateFieldSet(this, _PlatformBuilder_adapter, __classPrivateFieldGet(this, _PlatformBuilder_injector, "f").get(PlatformAdapter), "f");
41
+ this.createHttpServers();
42
+ __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").onInit && __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").onInit();
43
+ this.log("Injector created...");
44
+ }
45
+ get injector() {
46
+ return __classPrivateFieldGet(this, _PlatformBuilder_injector, "f");
47
+ }
48
+ get rootModule() {
49
+ return __classPrivateFieldGet(this, _PlatformBuilder_injector, "f").get(__classPrivateFieldGet(this, _PlatformBuilder_rootModule, "f"));
50
+ }
51
+ get app() {
52
+ return this.injector.get(PlatformApplication);
53
+ }
54
+ get platform() {
55
+ return this.injector.get(Platform);
56
+ }
57
+ get adapter() {
58
+ return __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f");
59
+ }
60
+ /**
61
+ * Return the settings configured by the decorator @@Configuration@@.
62
+ *
63
+ * ```typescript
64
+ * @Configuration({
65
+ * rootDir: Path.resolve(__dirname),
66
+ * port: 8000,
67
+ * httpsPort: 8080,
68
+ * mount: {
69
+ * "/rest": "${rootDir}/controllers/**\/*.js"
70
+ * }
71
+ * })
72
+ * export class Server {
73
+ * $onInit(){
74
+ * console.log(this.settings); // {rootDir, port, httpsPort,...}
75
+ * }
76
+ * }
77
+ * ```
78
+ *
79
+ * @returns {PlatformConfiguration}
80
+ */
81
+ get settings() {
82
+ return this.injector.settings;
83
+ }
84
+ get logger() {
85
+ return this.injector.logger;
86
+ }
87
+ get disableBootstrapLog() {
88
+ var _a;
89
+ return (_a = this.settings.logger) === null || _a === void 0 ? void 0 : _a.disableBootstrapLog;
90
+ }
91
+ static create(module, settings) {
92
+ return this.build(module, {
93
+ httpsPort: false,
94
+ httpPort: false,
95
+ ...settings,
96
+ disableComponentsScan: true
97
+ });
98
+ }
99
+ static build(module, { adapter, ...settings }) {
100
+ return new PlatformBuilder(adapter, module, settings);
101
+ }
102
+ /**
103
+ * Bootstrap a server application
104
+ * @param module
105
+ * @param settings
106
+ */
107
+ static async bootstrap(module, settings) {
108
+ return this.build(module, settings).bootstrap();
109
+ }
110
+ callback(req, res) {
111
+ if (req && res) {
112
+ return this.app.callback()(req, res);
113
+ }
114
+ return this.app.callback();
115
+ }
116
+ log(...data) {
117
+ return !this.disableBootstrapLog && this.logger.info(...data, this.diff());
118
+ }
119
+ /**
120
+ * Add classes to the components list
121
+ * @param classes
122
+ */
123
+ addComponents(classes) {
124
+ this.settings.componentsScan = this.settings.componentsScan.concat(classes);
125
+ return this;
126
+ }
127
+ /**
128
+ * Add classes decorated by @@Controller@@ to components container.
129
+ *
130
+ * ### Example
131
+ *
132
+ * ```typescript
133
+ * @Controller('/ctrl')
134
+ * class MyController{
135
+ * }
136
+ *
137
+ * platform.addControllers('/rest', [MyController])
138
+ * ```
139
+ *
140
+ * ::: tip
141
+ * If the MyController class isn't decorated, the class will be ignored.
142
+ * :::
143
+ *
144
+ * @param {string} endpoint
145
+ * @param {any[]} controllers
146
+ */
147
+ addControllers(endpoint, controllers) {
148
+ this.settings.mount[endpoint] = (this.settings.mount[endpoint] || []).concat(controllers);
149
+ }
150
+ async runLifecycle() {
151
+ setLoggerLevel(this.injector);
152
+ await this.importProviders();
153
+ await this.loadInjector();
154
+ __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").useContext && __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").useContext();
155
+ __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").useRouter && __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").useRouter();
156
+ await this.loadRoutes();
157
+ await this.logRoutes();
158
+ return this;
159
+ }
160
+ async loadInjector() {
161
+ const { injector } = this;
162
+ this.log("Build providers");
163
+ const container = createContainer();
164
+ container.addProvider(__classPrivateFieldGet(this, _PlatformBuilder_rootModule, "f"), {
165
+ type: "server:module",
166
+ scope: ProviderScope.SINGLETON
167
+ });
168
+ await injector.load(container);
169
+ this.log("Settings and injector loaded...");
170
+ await this.callHook("$afterInit");
171
+ }
172
+ async listen(network = true) {
173
+ if (!__classPrivateFieldGet(this, _PlatformBuilder_promise, "f")) {
174
+ await this.bootstrap();
175
+ }
176
+ await this.callHook("$beforeListen");
177
+ if (network) {
178
+ await this.listenServers();
179
+ }
180
+ await this.callHook("$afterListen");
181
+ await this.ready();
182
+ }
183
+ async stop() {
184
+ await this.callHook("$onDestroy");
185
+ await this.injector.destroy();
186
+ __classPrivateFieldGet(this, _PlatformBuilder_listeners, "f").map((server) => {
187
+ return new Promise((resolve) => server.close(() => resolve(undefined)));
188
+ });
189
+ }
190
+ async ready() {
191
+ const { startedAt } = this;
192
+ await this.callHook("$onReady");
193
+ await this.injector.emit("$onServerReady");
194
+ this.log(`Started in ${new Date().getTime() - startedAt.getTime()} ms`);
195
+ }
196
+ async callHook(hook, ...args) {
197
+ const { injector } = this;
198
+ if (!this.disableBootstrapLog) {
199
+ injector.logger.debug(`\x1B[1mCall hook ${hook}\x1B[22m`);
200
+ }
201
+ // Load middlewares for the given hook
202
+ this.loadMiddlewaresFor(hook);
203
+ // call hooks added by providers
204
+ await injector.emit(hook, ...args);
205
+ }
206
+ async loadStatics(hook) {
207
+ const statics = this.settings.get("statics");
208
+ getStaticsOptions(statics).forEach(({ path, options }) => {
209
+ if (options.hook === hook) {
210
+ this.platform.app.statics(path, options);
211
+ }
212
+ });
213
+ }
214
+ useProvider(token, settings) {
215
+ this.injector.addProvider(token, settings);
216
+ return this;
217
+ }
218
+ async bootstrap() {
219
+ __classPrivateFieldSet(this, _PlatformBuilder_promise, __classPrivateFieldGet(this, _PlatformBuilder_promise, "f") || this.runLifecycle(), "f");
220
+ return __classPrivateFieldGet(this, _PlatformBuilder_promise, "f");
221
+ }
222
+ async loadRoutes() {
223
+ var _a;
224
+ __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").beforeLoadRoutes && (await __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").beforeLoadRoutes());
225
+ // istanbul ignore next
226
+ if (((_a = this.settings.logger) === null || _a === void 0 ? void 0 : _a.level) !== "off") {
227
+ const { PlatformLogMiddleware } = await import("@tsed/platform-log-middleware");
228
+ this.app.use(PlatformLogMiddleware);
229
+ }
230
+ this.log("Load routes");
231
+ if (this.rootModule.$beforeRoutesInit) {
232
+ await this.rootModule.$beforeRoutesInit();
233
+ this.rootModule.$beforeRoutesInit = () => { };
234
+ }
235
+ await this.loadStatics("$beforeRoutesInit");
236
+ await this.callHook("$beforeRoutesInit");
237
+ const routes = this.injector.settings.get("routes");
238
+ this.platform.addRoutes(routes);
239
+ await this.callHook("$onRoutesInit");
240
+ await this.loadStatics("$afterRoutesInit");
241
+ await this.callHook("$afterRoutesInit");
242
+ __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").afterLoadRoutes && (await __classPrivateFieldGet(this, _PlatformBuilder_adapter, "f").afterLoadRoutes());
243
+ }
244
+ diff() {
245
+ const ms = colors.yellow(`+${new Date().getTime() - this.current.getTime()}ms`);
246
+ this.current = new Date();
247
+ return ms;
248
+ }
249
+ async importProviders() {
250
+ this.injector.logger.debug("Scan components");
251
+ const providers = await importProviders(this.injector.settings, ["imports", "mount", "componentsScan"]);
252
+ const routes = providers.filter((provider) => !!provider.route).map(({ route, token }) => ({ route, token }));
253
+ this.settings.set("routes", routes);
254
+ this.log("Providers loaded...");
255
+ }
256
+ /**
257
+ * Load middlewares from configuration for the given hook
258
+ * @param hook
259
+ * @protected
260
+ */
261
+ loadMiddlewaresFor(hook) {
262
+ return getMiddlewaresForHook(hook, this.settings, "$beforeRoutesInit").forEach(({ use }) => {
263
+ this.app.use(use);
264
+ });
265
+ }
266
+ createHttpServers() {
267
+ __classPrivateFieldSet(this, _PlatformBuilder_servers, [createHttpServer(__classPrivateFieldGet(this, _PlatformBuilder_injector, "f"), this.callback()), createHttpsServer(__classPrivateFieldGet(this, _PlatformBuilder_injector, "f"), this.callback())].filter(Boolean), "f");
268
+ }
269
+ async listenServers() {
270
+ __classPrivateFieldSet(this, _PlatformBuilder_listeners, await Promise.all(__classPrivateFieldGet(this, _PlatformBuilder_servers, "f").map((cb) => cb && cb())), "f");
271
+ }
272
+ async logRoutes() {
273
+ var _a;
274
+ const { logger, platform } = this;
275
+ this.log("Routes mounted...");
276
+ if (!((_a = this.settings.logger) === null || _a === void 0 ? void 0 : _a.disableRoutesSummary) && !this.disableBootstrapLog) {
277
+ logger.info(printRoutes(await this.injector.alterAsync("$logRoutes", platform.getRoutes())));
278
+ }
279
+ }
280
+ }
281
+ _PlatformBuilder_injector = new WeakMap(), _PlatformBuilder_rootModule = new WeakMap(), _PlatformBuilder_adapter = new WeakMap(), _PlatformBuilder_promise = new WeakMap(), _PlatformBuilder_servers = new WeakMap(), _PlatformBuilder_listeners = new WeakMap();
282
+ //# sourceMappingURL=PlatformBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformBuilder.js","sourceRoot":"","sources":["../../../src/builder/PlatformBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import {nameOf, Type} from \"@tsed/core\";\nimport {colors, createContainer, InjectorService, ProviderOpts, ProviderScope, setLoggerLevel} from \"@tsed/di\";\nimport {getMiddlewaresForHook} from \"@tsed/platform-middlewares\";\nimport {Platform} from \"../services/Platform\";\nimport {PlatformApplication} from \"../services/PlatformApplication\";\nimport {PlatformStaticsSettings} from \"../config/interfaces/PlatformStaticsSettings\";\nimport {getStaticsOptions} from \"../utils/getStaticsOptions\";\nimport {Route} from \"../interfaces/Route\";\nimport {getConfiguration} from \"../utils/getConfiguration\";\nimport type {IncomingMessage, Server, ServerResponse} from \"http\";\nimport {PlatformAdapter, PlatformBuilderSettings} from \"../services/PlatformAdapter\";\nimport {importProviders} from \"../utils/importProviders\";\nimport {createInjector} from \"../utils/createInjector\";\nimport {printRoutes} from \"../utils/printRoutes\";\nimport {createHttpServer} from \"../utils/createHttpServer\";\nimport {createHttpsServer} from \"../utils/createHttpsServer\";\nimport type Https from \"https\";\n\n/**\n * @platform\n */\nexport class PlatformBuilder<App = TsED.Application, Router = TsED.Router> {\n public static adapter: Type<PlatformAdapter<any, any>>;\n\n readonly name: string = \"\";\n protected startedAt = new Date();\n protected current = new Date();\n readonly #injector: InjectorService;\n readonly #rootModule: Type<any>;\n readonly #adapter: PlatformAdapter<App, Router>;\n #promise: Promise<this>;\n #servers: (() => Promise<Server | Https.Server>)[];\n #listeners: (Server | Https.Server)[] = [];\n\n protected constructor(adapter: Type<PlatformAdapter<App, Router>> | undefined, module: Type, settings: Partial<TsED.Configuration>) {\n this.#rootModule = module;\n const adapterKlass: Type<PlatformAdapter<App, Router>> = adapter || (PlatformBuilder.adapter as any);\n const name = nameOf(adapterKlass).replace(\"Platform\", \"\").toLowerCase();\n\n const configuration = getConfiguration(settings, module);\n configuration.PLATFORM_NAME = name;\n this.name = name;\n\n this.#injector = createInjector({\n adapter: adapterKlass,\n settings: configuration\n });\n\n this.#adapter = this.#injector.get<PlatformAdapter<App, Router>>(PlatformAdapter)!;\n\n this.createHttpServers();\n\n this.#adapter.onInit && this.#adapter.onInit();\n\n this.log(\"Injector created...\");\n }\n\n get injector(): InjectorService {\n return this.#injector;\n }\n\n get rootModule(): any {\n return this.#injector.get(this.#rootModule);\n }\n\n get app(): PlatformApplication<App, Router> {\n return this.injector.get<PlatformApplication<App, Router>>(PlatformApplication)!;\n }\n\n get platform() {\n return this.injector.get<Platform>(Platform)!;\n }\n\n get adapter() {\n return this.#adapter;\n }\n\n /**\n * Return the settings configured by the decorator @@Configuration@@.\n *\n * ```typescript\n * @Configuration({\n * rootDir: Path.resolve(__dirname),\n * port: 8000,\n * httpsPort: 8080,\n * mount: {\n * \"/rest\": \"${rootDir}/controllers/**\\/*.js\"\n * }\n * })\n * export class Server {\n * $onInit(){\n * console.log(this.settings); // {rootDir, port, httpsPort,...}\n * }\n * }\n * ```\n *\n * @returns {PlatformConfiguration}\n */\n get settings() {\n return this.injector.settings;\n }\n\n get logger() {\n return this.injector.logger;\n }\n\n get disableBootstrapLog() {\n return this.settings.logger?.disableBootstrapLog;\n }\n\n static create<App = TsED.Application, Router = TsED.Router>(module: Type<any>, settings: PlatformBuilderSettings<App, Router>) {\n return this.build(module, {\n httpsPort: false,\n httpPort: false,\n ...settings,\n disableComponentsScan: true\n });\n }\n\n static build<App = TsED.Application, Router = TsED.Router>(\n module: Type<any>,\n {adapter, ...settings}: PlatformBuilderSettings<App, Router>\n ) {\n return new PlatformBuilder(adapter, module, settings);\n }\n\n /**\n * Bootstrap a server application\n * @param module\n * @param settings\n */\n static async bootstrap<App = TsED.Application, Router = TsED.Router>(module: Type<any>, settings: PlatformBuilderSettings<App, Router>) {\n return this.build<App, Router>(module, settings).bootstrap();\n }\n\n callback(): (req: IncomingMessage, res: ServerResponse) => void;\n callback(req: IncomingMessage, res: ServerResponse): void;\n callback(req?: IncomingMessage, res?: ServerResponse) {\n if (req && res) {\n return this.app.callback()(req, res);\n }\n\n return this.app.callback();\n }\n\n log(...data: any[]) {\n return !this.disableBootstrapLog && this.logger.info(...data, this.diff());\n }\n\n /**\n * Add classes to the components list\n * @param classes\n */\n public addComponents(classes: any | any[]) {\n this.settings.componentsScan = this.settings.componentsScan.concat(classes);\n\n return this;\n }\n\n /**\n * Add classes decorated by @@Controller@@ to components container.\n *\n * ### Example\n *\n * ```typescript\n * @Controller('/ctrl')\n * class MyController{\n * }\n *\n * platform.addControllers('/rest', [MyController])\n * ```\n *\n * ::: tip\n * If the MyController class isn't decorated, the class will be ignored.\n * :::\n *\n * @param {string} endpoint\n * @param {any[]} controllers\n */\n public addControllers(endpoint: string, controllers: any | string | (any | string)[]) {\n this.settings.mount[endpoint] = (this.settings.mount[endpoint] || []).concat(controllers);\n }\n\n public async runLifecycle() {\n setLoggerLevel(this.injector);\n\n await this.importProviders();\n await this.loadInjector();\n\n this.#adapter.useContext && this.#adapter.useContext();\n this.#adapter.useRouter && this.#adapter.useRouter();\n\n await this.loadRoutes();\n await this.logRoutes();\n\n return this;\n }\n\n async loadInjector() {\n const {injector} = this;\n this.log(\"Build providers\");\n\n const container = createContainer();\n\n container.addProvider(this.#rootModule, {\n type: \"server:module\",\n scope: ProviderScope.SINGLETON\n });\n\n await injector.load(container);\n\n this.log(\"Settings and injector loaded...\");\n\n await this.callHook(\"$afterInit\");\n }\n\n async listen(network = true) {\n if (!this.#promise) {\n await this.bootstrap();\n }\n\n await this.callHook(\"$beforeListen\");\n\n if (network) {\n await this.listenServers();\n }\n\n await this.callHook(\"$afterListen\");\n\n await this.ready();\n }\n\n async stop() {\n await this.callHook(\"$onDestroy\");\n await this.injector.destroy();\n\n this.#listeners.map((server) => {\n return new Promise((resolve) => server.close(() => resolve(undefined)));\n });\n }\n\n public async ready() {\n const {startedAt} = this;\n\n await this.callHook(\"$onReady\");\n await this.injector.emit(\"$onServerReady\");\n\n this.log(`Started in ${new Date().getTime() - startedAt.getTime()} ms`);\n }\n\n async callHook(hook: string, ...args: any[]) {\n const {injector} = this;\n\n if (!this.disableBootstrapLog) {\n injector.logger.debug(`\\x1B[1mCall hook ${hook}\\x1B[22m`);\n }\n\n // Load middlewares for the given hook\n this.loadMiddlewaresFor(hook);\n\n // call hooks added by providers\n await injector.emit(hook, ...args);\n }\n\n async loadStatics(hook: string): Promise<void> {\n const statics = this.settings.get<PlatformStaticsSettings>(\"statics\");\n\n getStaticsOptions(statics).forEach(({path, options}) => {\n if (options.hook === hook) {\n this.platform.app.statics(path, options);\n }\n });\n }\n\n useProvider(token: Type<any>, settings?: Partial<ProviderOpts>) {\n this.injector.addProvider(token, settings);\n\n return this;\n }\n\n async bootstrap() {\n this.#promise = this.#promise || this.runLifecycle();\n\n return this.#promise;\n }\n\n protected async loadRoutes() {\n this.#adapter.beforeLoadRoutes && (await this.#adapter.beforeLoadRoutes());\n\n // istanbul ignore next\n if (this.settings.logger?.level !== \"off\") {\n const {PlatformLogMiddleware} = await import(\"@tsed/platform-log-middleware\");\n this.app.use(PlatformLogMiddleware);\n }\n\n this.log(\"Load routes\");\n\n if (this.rootModule.$beforeRoutesInit) {\n await this.rootModule.$beforeRoutesInit();\n this.rootModule.$beforeRoutesInit = () => {};\n }\n\n await this.loadStatics(\"$beforeRoutesInit\");\n await this.callHook(\"$beforeRoutesInit\");\n\n const routes = this.injector.settings.get<Route[]>(\"routes\");\n\n this.platform.addRoutes(routes);\n\n await this.callHook(\"$onRoutesInit\");\n\n await this.loadStatics(\"$afterRoutesInit\");\n\n await this.callHook(\"$afterRoutesInit\");\n\n this.#adapter.afterLoadRoutes && (await this.#adapter.afterLoadRoutes());\n }\n\n protected diff() {\n const ms = colors.yellow(`+${new Date().getTime() - this.current.getTime()}ms`);\n this.current = new Date();\n return ms;\n }\n\n protected async importProviders() {\n this.injector.logger.debug(\"Scan components\");\n\n const providers = await importProviders(this.injector.settings, [\"imports\", \"mount\", \"componentsScan\"]);\n const routes = providers.filter((provider) => !!provider.route).map(({route, token}) => ({route, token}));\n\n this.settings.set(\"routes\", routes);\n this.log(\"Providers loaded...\");\n }\n\n /**\n * Load middlewares from configuration for the given hook\n * @param hook\n * @protected\n */\n protected loadMiddlewaresFor(hook: string): void {\n return getMiddlewaresForHook(hook, this.settings, \"$beforeRoutesInit\").forEach(({use}) => {\n this.app.use(use);\n });\n }\n\n protected createHttpServers() {\n this.#servers = [createHttpServer(this.#injector, this.callback()), createHttpsServer(this.#injector, this.callback())].filter(\n Boolean\n ) as any[];\n }\n\n protected async listenServers(): Promise<void> {\n this.#listeners = await Promise.all(this.#servers.map((cb) => cb && cb()));\n }\n\n protected async logRoutes() {\n const {logger, platform} = this;\n\n this.log(\"Routes mounted...\");\n\n if (!this.settings.logger?.disableRoutesSummary && !this.disableBootstrapLog) {\n logger.info(printRoutes(await this.injector.alterAsync(\"$logRoutes\", platform.getRoutes())));\n }\n }\n}\n"]}
@@ -0,0 +1,76 @@
1
+ import { GlobalProviders, ProviderType } from "@tsed/di";
2
+ import { getOperationsRoutes, OperationMethods } from "@tsed/schema";
3
+ import { ControllerProvider } from "../domain/ControllerProvider.js";
4
+ import { PlatformRouter } from "../services/PlatformRouter.js";
5
+ import { PlatformMiddlewaresChain } from "../services/PlatformMiddlewaresChain.js";
6
+ GlobalProviders.createRegistry(ProviderType.CONTROLLER, ControllerProvider, {
7
+ onInvoke(provider, locals, { injector }) {
8
+ const router = createRouter(injector, provider);
9
+ locals.set(PlatformRouter, router);
10
+ }
11
+ });
12
+ /**
13
+ * @ignore
14
+ */
15
+ function formatMethod(method) {
16
+ return (method === OperationMethods.CUSTOM ? "use" : method || "use").toLowerCase();
17
+ }
18
+ /**
19
+ * @ignore
20
+ */
21
+ export function getRouter(injector, provider) {
22
+ return injector.get(provider.tokenRouter);
23
+ }
24
+ /**
25
+ * @ignore
26
+ */
27
+ export function createRouter(injector, provider) {
28
+ const token = provider.tokenRouter;
29
+ if (injector.has(token)) {
30
+ return getRouter(injector, provider);
31
+ }
32
+ const router = PlatformRouter.create(injector, provider.routerOptions);
33
+ return injector
34
+ .add(token, {
35
+ useValue: router
36
+ })
37
+ .invoke(token);
38
+ }
39
+ /**
40
+ * @ignore
41
+ * @param injector
42
+ * @param provider
43
+ * @param parentUseBefore
44
+ */
45
+ export function buildRouter(injector, provider, parentUseBefore = []) {
46
+ const { middlewares: { useBefore }, children } = provider;
47
+ // Controller lifecycle
48
+ const router = createRouter(injector, provider);
49
+ if (!router.isBuilt) {
50
+ router.isBuilt = true;
51
+ const platformMiddlewaresChain = injector.get(PlatformMiddlewaresChain);
52
+ // build all endpoints and his middlewares
53
+ getOperationsRoutes(provider.token).forEach((operationRoute) => {
54
+ const handlers = platformMiddlewaresChain === null || platformMiddlewaresChain === void 0 ? void 0 : platformMiddlewaresChain.get(provider, operationRoute, parentUseBefore);
55
+ router.addRoute({
56
+ handlers,
57
+ token: operationRoute.token,
58
+ method: formatMethod(operationRoute.method),
59
+ path: operationRoute.path,
60
+ isFinal: operationRoute.isFinal
61
+ });
62
+ });
63
+ const middlewares = [...parentUseBefore, ...useBefore];
64
+ // build children controllers
65
+ children.forEach((child) => {
66
+ const childProvider = injector.getProvider(child);
67
+ /* istanbul ignore next */
68
+ if (!childProvider) {
69
+ throw new Error("Controller component not found in the ControllerRegistry");
70
+ }
71
+ router.use(childProvider.path, buildRouter(injector, childProvider, middlewares));
72
+ });
73
+ }
74
+ return router;
75
+ }
76
+ //# sourceMappingURL=PlatformControllerBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformControllerBuilder.js","sourceRoot":"","sources":["../../../src/builder/PlatformControllerBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import {Type} from \"@tsed/core\";\nimport {GlobalProviders, InjectorService, ProviderType} from \"@tsed/di\";\nimport {getOperationsRoutes, OperationMethods} from \"@tsed/schema\";\nimport {ControllerProvider} from \"../domain/ControllerProvider\";\nimport {PlatformRouter} from \"../services/PlatformRouter\";\nimport {PlatformMiddlewaresChain} from \"../services/PlatformMiddlewaresChain\";\n\nGlobalProviders.createRegistry(ProviderType.CONTROLLER, ControllerProvider, {\n onInvoke(provider: ControllerProvider, locals: any, {injector}) {\n const router = createRouter(injector, provider);\n locals.set(PlatformRouter, router);\n }\n});\n\n/**\n * @ignore\n */\nfunction formatMethod(method: string | undefined) {\n return (method === OperationMethods.CUSTOM ? \"use\" : method || \"use\").toLowerCase();\n}\n\n/**\n * @ignore\n */\nexport function getRouter(injector: InjectorService, provider: ControllerProvider) {\n return injector.get(provider.tokenRouter)!;\n}\n\n/**\n * @ignore\n */\nexport function createRouter(injector: InjectorService, provider: ControllerProvider): PlatformRouter {\n const token = provider.tokenRouter;\n\n if (injector.has(token)) {\n return getRouter(injector, provider);\n }\n\n const router = PlatformRouter.create(injector, provider.routerOptions);\n\n return injector\n .add(token, {\n useValue: router\n })\n .invoke<PlatformRouter>(token);\n}\n\n/**\n * @ignore\n * @param injector\n * @param provider\n * @param parentUseBefore\n */\nexport function buildRouter(injector: InjectorService, provider: ControllerProvider, parentUseBefore: any[] = []) {\n const {\n middlewares: {useBefore},\n children\n } = provider;\n\n // Controller lifecycle\n const router = createRouter(injector, provider);\n\n if (!router.isBuilt) {\n router.isBuilt = true;\n\n const platformMiddlewaresChain = injector.get<PlatformMiddlewaresChain>(PlatformMiddlewaresChain);\n\n // build all endpoints and his middlewares\n getOperationsRoutes(provider.token).forEach((operationRoute) => {\n const handlers = platformMiddlewaresChain?.get(provider, operationRoute, parentUseBefore);\n\n router.addRoute({\n handlers,\n token: operationRoute.token,\n method: formatMethod(operationRoute.method),\n path: operationRoute.path,\n isFinal: operationRoute.isFinal\n });\n });\n\n const middlewares: any[] = [...parentUseBefore, ...useBefore];\n // build children controllers\n children.forEach((child: Type<any>) => {\n const childProvider = injector.getProvider(child) as ControllerProvider;\n\n /* istanbul ignore next */\n if (!childProvider) {\n throw new Error(\"Controller component not found in the ControllerRegistry\");\n }\n\n router.use(childProvider.path, buildRouter(injector, childProvider, middlewares));\n });\n }\n\n return router;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ConverterSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConverterSettings.js","sourceRoot":"","sources":["../../../../src/config/interfaces/ConverterSettings.ts"],"names":[],"mappings":"","sourcesContent":["export interface ConverterSettings {\n /**\n * Converter additional property policy. (see [Converters](/docs/converters.md))\n */\n additionalProperties?: \"error\" | \"accept\" | \"ignore\";\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EndpointDirectoriesSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointDirectoriesSettings.js","sourceRoot":"","sources":["../../../../src/config/interfaces/EndpointDirectoriesSettings.ts"],"names":[],"mappings":"","sourcesContent":["export interface EndpointDirectoriesSettings {\n [endpoint: string]: any | string | (any | string)[];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlatformLoggerSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformLoggerSettings.js","sourceRoot":"","sources":["../../../../src/config/interfaces/PlatformLoggerSettings.ts"],"names":[],"mappings":"","sourcesContent":["export interface PlatformLoggerSettings {\n /**\n * Enable debug mode. By default debug is false.\n */\n debug?: boolean;\n /**\n * Enable info mode. By default debug is false.\n */\n level?: \"debug\" | \"info\" | \"warn\" | \"error\" | \"off\";\n /**\n * Enable log performance tracker and disable log server.\n */\n perf?: boolean;\n /**\n * List of regexp to ignore log.\n */\n ignoreUrlPatterns?: string[];\n /**\n * The number of space characters to use as white space in JSON output. Default is 2 (0 in production).\n */\n jsonIndentation?: number;\n /**\n * A function called for each incoming request to create a request id.\n * @returns {number}\n */\n reqIdBuilder?: (req: TsED.Request) => string;\n /**\n * Disable routes table displayed in the logger. By default debug is `false`.\n */\n disableRoutesSummary?: boolean;\n /**\n * Disable bootstrap log displayed in the logger. By default debug is `false`.\n */\n disableBootstrapLog?: boolean;\n /**\n * Specify log format. Example: `%[%d{[yyyy-MM-dd hh:mm:ss,SSS}] %p%] %m`. See [@tsed/logger configuration](https://tsedio.github.io/logger/).\n */\n format?: string;\n /**\n * Specify the log stack size for the context.logger. When the stack.length is reach, the logger is flushed during the request.\n * Default size is set to 30.\n */\n maxStackSize?: number;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlatformMulterSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformMulterSettings.js","sourceRoot":"","sources":["../../../../src/config/interfaces/PlatformMulterSettings.ts"],"names":[],"mappings":"","sourcesContent":["import type {Express} from \"express\";\nimport type multer from \"multer\";\n\ndeclare global {\n namespace TsED {\n export type MulterFile = Express.Multer.File;\n export type MulterStorageEngine = multer.StorageEngine;\n export type MulterOptions = multer.Options;\n export type MulterField = multer.Field;\n export type Multer = multer.Multer;\n }\n}\n\nexport type PlatformMulter = TsED.Multer;\nexport type PlatformMulterSettings = TsED.MulterOptions;\nexport type PlatformMulterFile = TsED.MulterFile;\nexport type PlatformMulterField = TsED.MulterField;\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlatformStaticsSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformStaticsSettings.js","sourceRoot":"","sources":["../../../../src/config/interfaces/PlatformStaticsSettings.ts"],"names":[],"mappings":"","sourcesContent":["declare global {\n namespace TsED {\n // @ts-ignore\n export interface StaticsOptions {\n root: string;\n hook?: \"$beforeRoutesInit\" | \"$afterRoutesInit\";\n\n [key: string]: any;\n }\n }\n}\n\nexport interface PlatformStaticsOptions extends TsED.StaticsOptions {\n root: string;\n\n [key: string]: any;\n}\n\nexport type PathOrStaticsOptions = string | PlatformStaticsOptions;\n\nexport interface PlatformStaticsSettings {\n [endpoint: string]: PathOrStaticsOptions | PathOrStaticsOptions[];\n}\n"]}