@forklaunch/core 0.2.3 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/LICENSE +21 -0
  2. package/lib/dist/cache/index.d.ts +4 -0
  3. package/lib/dist/cache/index.d.ts.map +1 -0
  4. package/lib/dist/cache/interfaces/ttlCache.interface.d.ts +2 -0
  5. package/lib/dist/cache/interfaces/ttlCache.interface.d.ts.map +1 -0
  6. package/lib/dist/cache/redisTtlCache.d.ts +353 -0
  7. package/lib/dist/cache/redisTtlCache.d.ts.map +1 -0
  8. package/{dist → lib/dist}/cache/redisTtlCache.js +1 -4
  9. package/lib/dist/cache/types/ttlCacheRecord.types.d.ts +2 -0
  10. package/lib/dist/cache/types/ttlCacheRecord.types.d.ts.map +1 -0
  11. package/lib/dist/controllers/index.d.ts +2 -0
  12. package/lib/dist/controllers/index.d.ts.map +1 -0
  13. package/lib/dist/controllers/interfaces/controller.interface.d.ts +2 -0
  14. package/lib/dist/controllers/interfaces/controller.interface.d.ts.map +1 -0
  15. package/lib/dist/database/index.d.ts +2 -0
  16. package/lib/dist/database/index.d.ts.map +1 -0
  17. package/lib/dist/database/mikro/models/entities/base.entity.d.ts +26 -0
  18. package/lib/dist/database/mikro/models/entities/base.entity.d.ts.map +1 -0
  19. package/lib/dist/database/mikro/models/entities/base.entity.js +46 -0
  20. package/lib/dist/entityMapper/index.d.ts +3 -0
  21. package/lib/dist/entityMapper/index.d.ts.map +1 -0
  22. package/lib/dist/entityMapper/interfaces/entityMapper.interface.d.ts +2 -0
  23. package/lib/dist/entityMapper/interfaces/entityMapper.interface.d.ts.map +1 -0
  24. package/lib/dist/entityMapper/models/baseEntityMapper.model.d.ts +63 -0
  25. package/lib/dist/entityMapper/models/baseEntityMapper.model.d.ts.map +1 -0
  26. package/lib/dist/entityMapper/models/requestEntityMapper.model.d.ts +58 -0
  27. package/lib/dist/entityMapper/models/requestEntityMapper.model.d.ts.map +1 -0
  28. package/lib/dist/entityMapper/models/responseEntityMapper.model.d.ts +56 -0
  29. package/lib/dist/entityMapper/models/responseEntityMapper.model.d.ts.map +1 -0
  30. package/lib/dist/entityMapper/types/entityMapper.types.d.ts +2 -0
  31. package/lib/dist/entityMapper/types/entityMapper.types.d.ts.map +1 -0
  32. package/lib/dist/http/guards/isHttpContractDetails.d.ts +5 -0
  33. package/lib/dist/http/guards/isHttpContractDetails.d.ts.map +1 -0
  34. package/lib/dist/http/guards/isHttpContractDetails.js +6 -0
  35. package/lib/dist/http/guards/isResponseShape.d.ts +2 -0
  36. package/lib/dist/http/guards/isResponseShape.d.ts.map +1 -0
  37. package/lib/dist/http/guards/isResponseShape.js +7 -0
  38. package/lib/dist/http/index.d.ts +6 -0
  39. package/lib/dist/http/index.d.ts.map +1 -0
  40. package/{dist → lib/dist}/http/index.js +1 -2
  41. package/lib/dist/http/interfaces/expressLikeApplication.interface.d.ts +12 -0
  42. package/lib/dist/http/interfaces/expressLikeApplication.interface.d.ts.map +1 -0
  43. package/lib/dist/http/interfaces/expressLikeRouter.interface.d.ts +103 -0
  44. package/lib/dist/http/interfaces/expressLikeRouter.interface.d.ts.map +1 -0
  45. package/lib/dist/http/interfaces/expressLikeRouter.interface.js +336 -0
  46. package/lib/dist/http/interfaces/index.d.ts +3 -0
  47. package/lib/dist/http/interfaces/index.d.ts.map +1 -0
  48. package/lib/dist/http/interfaces/index.js +2 -0
  49. package/lib/dist/http/middleware/index.d.ts +3 -0
  50. package/lib/dist/http/middleware/index.d.ts.map +1 -0
  51. package/lib/dist/http/middleware/request.middleware.d.ts +69 -0
  52. package/lib/dist/http/middleware/request.middleware.d.ts.map +1 -0
  53. package/{dist → lib/dist}/http/middleware/request.middleware.js +55 -117
  54. package/lib/dist/http/middleware/response.middleware.d.ts +27 -0
  55. package/lib/dist/http/middleware/response.middleware.d.ts.map +1 -0
  56. package/lib/dist/http/middleware/response.middleware.js +52 -0
  57. package/lib/dist/http/openApiV3Generator/index.d.ts +2 -0
  58. package/lib/dist/http/openApiV3Generator/index.d.ts.map +1 -0
  59. package/lib/dist/http/openApiV3Generator/index.js +1 -0
  60. package/lib/dist/http/openApiV3Generator/openApiV3Generator.d.ts +11 -0
  61. package/lib/dist/http/openApiV3Generator/openApiV3Generator.d.ts.map +1 -0
  62. package/{dist/http → lib/dist/http/openApiV3Generator}/openApiV3Generator.js +2 -24
  63. package/lib/dist/http/types/apiDefinition.types.d.ts +2 -0
  64. package/lib/dist/http/types/apiDefinition.types.d.ts.map +1 -0
  65. package/lib/dist/http/types/contractDetails.types.d.ts +2 -0
  66. package/lib/dist/http/types/contractDetails.types.d.ts.map +1 -0
  67. package/lib/dist/http/types/index.d.ts +4 -0
  68. package/lib/dist/http/types/index.d.ts.map +1 -0
  69. package/lib/dist/http/types/index.js +3 -0
  70. package/lib/dist/http/types/router.types.d.ts +2 -0
  71. package/lib/dist/http/types/router.types.d.ts.map +1 -0
  72. package/lib/dist/http/utils/enrichExpressLikeSend.d.ts +28 -0
  73. package/lib/dist/http/utils/enrichExpressLikeSend.d.ts.map +1 -0
  74. package/lib/dist/http/utils/enrichExpressLikeSend.js +50 -0
  75. package/lib/dist/http/utils/httpStatusCodes.d.ts +986 -0
  76. package/lib/dist/http/utils/httpStatusCodes.d.ts.map +1 -0
  77. package/lib/dist/http/utils/index.d.ts +3 -0
  78. package/lib/dist/http/utils/index.d.ts.map +1 -0
  79. package/lib/dist/http/utils/index.js +2 -0
  80. package/lib/dist/index.d.ts +7 -0
  81. package/lib/dist/index.d.ts.map +1 -0
  82. package/lib/dist/jest.config.d.ts +15 -0
  83. package/lib/dist/jest.config.d.ts.map +1 -0
  84. package/lib/dist/jest.config.js +21 -0
  85. package/lib/dist/lib/index.d.ts +7 -0
  86. package/lib/dist/lib/index.d.ts.map +1 -0
  87. package/lib/dist/lib/index.js +6 -0
  88. package/lib/dist/lib/jest.config.d.ts +15 -0
  89. package/lib/dist/lib/jest.config.d.ts.map +1 -0
  90. package/lib/dist/lib/jest.config.js +21 -0
  91. package/lib/dist/lib/src/cache/index.d.ts +4 -0
  92. package/lib/dist/lib/src/cache/index.d.ts.map +1 -0
  93. package/lib/dist/lib/src/cache/index.js +3 -0
  94. package/lib/dist/lib/src/cache/interfaces/ttlCache.interface.d.ts +2 -0
  95. package/lib/dist/lib/src/cache/interfaces/ttlCache.interface.d.ts.map +1 -0
  96. package/lib/dist/lib/src/cache/redisTtlCache.d.ts +353 -0
  97. package/lib/dist/lib/src/cache/redisTtlCache.d.ts.map +1 -0
  98. package/lib/dist/lib/src/cache/redisTtlCache.js +98 -0
  99. package/lib/dist/lib/src/cache/types/ttlCacheRecord.types.d.ts +2 -0
  100. package/lib/dist/lib/src/cache/types/ttlCacheRecord.types.d.ts.map +1 -0
  101. package/lib/dist/lib/src/cache/types/ttlCacheRecord.types.js +1 -0
  102. package/lib/dist/lib/src/controllers/index.d.ts +2 -0
  103. package/lib/dist/lib/src/controllers/index.d.ts.map +1 -0
  104. package/lib/dist/lib/src/controllers/index.js +1 -0
  105. package/lib/dist/lib/src/controllers/interfaces/controller.interface.d.ts +2 -0
  106. package/lib/dist/lib/src/controllers/interfaces/controller.interface.d.ts.map +1 -0
  107. package/lib/dist/lib/src/controllers/interfaces/controller.interface.js +1 -0
  108. package/lib/dist/lib/src/database/index.d.ts +2 -0
  109. package/lib/dist/lib/src/database/index.d.ts.map +1 -0
  110. package/lib/dist/lib/src/database/index.js +1 -0
  111. package/lib/dist/lib/src/database/mikro/models/entities/base.entity.d.ts +26 -0
  112. package/lib/dist/lib/src/database/mikro/models/entities/base.entity.d.ts.map +1 -0
  113. package/lib/dist/lib/src/database/mikro/models/entities/base.entity.js +46 -0
  114. package/lib/dist/lib/src/domainMapper/index.d.ts +3 -0
  115. package/lib/dist/lib/src/domainMapper/index.d.ts.map +1 -0
  116. package/lib/dist/lib/src/domainMapper/index.js +2 -0
  117. package/lib/dist/lib/src/domainMapper/interfaces/dtoMapper.interface.d.ts +2 -0
  118. package/lib/dist/lib/src/domainMapper/interfaces/dtoMapper.interface.d.ts.map +1 -0
  119. package/lib/dist/lib/src/domainMapper/interfaces/dtoMapper.interface.js +1 -0
  120. package/lib/dist/lib/src/domainMapper/models/baseDtoMapper.model.d.ts +63 -0
  121. package/lib/dist/lib/src/domainMapper/models/baseDtoMapper.model.d.ts.map +1 -0
  122. package/lib/dist/lib/src/domainMapper/models/baseDtoMapper.model.js +75 -0
  123. package/lib/dist/lib/src/domainMapper/models/requestDtoMapper.model.d.ts +58 -0
  124. package/lib/dist/lib/src/domainMapper/models/requestDtoMapper.model.d.ts.map +1 -0
  125. package/lib/dist/lib/src/domainMapper/models/requestDtoMapper.model.js +70 -0
  126. package/lib/dist/lib/src/domainMapper/models/responseDtoMapper.model.d.ts +56 -0
  127. package/lib/dist/lib/src/domainMapper/models/responseDtoMapper.model.d.ts.map +1 -0
  128. package/lib/dist/lib/src/domainMapper/models/responseDtoMapper.model.js +65 -0
  129. package/lib/dist/lib/src/domainMapper/types/dtoMapper.types.d.ts +2 -0
  130. package/lib/dist/lib/src/domainMapper/types/dtoMapper.types.d.ts.map +1 -0
  131. package/lib/dist/lib/src/domainMapper/types/dtoMapper.types.js +1 -0
  132. package/lib/dist/lib/src/dtoMapper/index.d.ts +3 -0
  133. package/lib/dist/lib/src/dtoMapper/index.d.ts.map +1 -0
  134. package/lib/dist/lib/src/dtoMapper/index.js +2 -0
  135. package/lib/dist/lib/src/dtoMapper/interfaces/dtoMapper.interface.d.ts +2 -0
  136. package/lib/dist/lib/src/dtoMapper/interfaces/dtoMapper.interface.d.ts.map +1 -0
  137. package/lib/dist/lib/src/dtoMapper/interfaces/dtoMapper.interface.js +1 -0
  138. package/lib/dist/lib/src/dtoMapper/models/baseDtoMapper.model.d.ts +63 -0
  139. package/lib/dist/lib/src/dtoMapper/models/baseDtoMapper.model.d.ts.map +1 -0
  140. package/lib/dist/lib/src/dtoMapper/models/baseDtoMapper.model.js +75 -0
  141. package/lib/dist/lib/src/dtoMapper/models/requestDtoMapper.model.d.ts +58 -0
  142. package/lib/dist/lib/src/dtoMapper/models/requestDtoMapper.model.d.ts.map +1 -0
  143. package/lib/dist/lib/src/dtoMapper/models/requestDtoMapper.model.js +70 -0
  144. package/lib/dist/lib/src/dtoMapper/models/responseDtoMapper.model.d.ts +56 -0
  145. package/lib/dist/lib/src/dtoMapper/models/responseDtoMapper.model.d.ts.map +1 -0
  146. package/lib/dist/lib/src/dtoMapper/models/responseDtoMapper.model.js +65 -0
  147. package/lib/dist/lib/src/dtoMapper/types/dtoMapper.types.d.ts +2 -0
  148. package/lib/dist/lib/src/dtoMapper/types/dtoMapper.types.d.ts.map +1 -0
  149. package/lib/dist/lib/src/dtoMapper/types/dtoMapper.types.js +1 -0
  150. package/lib/dist/lib/src/http/application/expressLikeApplication.d.ts +18 -0
  151. package/lib/dist/lib/src/http/application/expressLikeApplication.d.ts.map +1 -0
  152. package/lib/dist/lib/src/http/application/expressLikeApplication.js +20 -0
  153. package/lib/dist/lib/src/http/guards/isHttpContractDetails.d.ts +5 -0
  154. package/lib/dist/lib/src/http/guards/isHttpContractDetails.d.ts.map +1 -0
  155. package/lib/dist/lib/src/http/guards/isHttpContractDetails.js +6 -0
  156. package/lib/dist/lib/src/http/guards/isResponseShape.d.ts +2 -0
  157. package/lib/dist/lib/src/http/guards/isResponseShape.d.ts.map +1 -0
  158. package/lib/dist/lib/src/http/guards/isResponseShape.js +7 -0
  159. package/lib/dist/lib/src/http/handler/typedHandler.d.ts +21 -0
  160. package/lib/dist/lib/src/http/handler/typedHandler.d.ts.map +1 -0
  161. package/lib/dist/lib/src/http/handler/typedHandler.js +25 -0
  162. package/lib/dist/lib/src/http/index.d.ts +11 -0
  163. package/lib/dist/lib/src/http/index.d.ts.map +1 -0
  164. package/lib/dist/lib/src/http/index.js +10 -0
  165. package/lib/dist/lib/src/http/interfaces/expressLikeApplication.interface.d.ts +12 -0
  166. package/lib/dist/lib/src/http/interfaces/expressLikeApplication.interface.d.ts.map +1 -0
  167. package/lib/dist/lib/src/http/interfaces/expressLikeApplication.interface.js +14 -0
  168. package/lib/dist/lib/src/http/interfaces/expressLikeRouter.interface.d.ts +2 -0
  169. package/lib/dist/lib/src/http/interfaces/expressLikeRouter.interface.d.ts.map +1 -0
  170. package/lib/dist/lib/src/http/interfaces/expressLikeRouter.interface.js +1 -0
  171. package/lib/dist/lib/src/http/interfaces/index.d.ts +3 -0
  172. package/lib/dist/lib/src/http/interfaces/index.d.ts.map +1 -0
  173. package/lib/dist/lib/src/http/interfaces/index.js +2 -0
  174. package/lib/dist/lib/src/http/middleware/index.d.ts +3 -0
  175. package/lib/dist/lib/src/http/middleware/index.d.ts.map +1 -0
  176. package/lib/dist/lib/src/http/middleware/index.js +2 -0
  177. package/lib/dist/lib/src/http/middleware/request/auth.middleware.d.ts +27 -0
  178. package/lib/dist/lib/src/http/middleware/request/auth.middleware.d.ts.map +1 -0
  179. package/lib/dist/lib/src/http/middleware/request/auth.middleware.js +107 -0
  180. package/lib/dist/lib/src/http/middleware/request/cors.middleware.d.ts +9 -0
  181. package/lib/dist/lib/src/http/middleware/request/cors.middleware.d.ts.map +1 -0
  182. package/lib/dist/lib/src/http/middleware/request/cors.middleware.js +15 -0
  183. package/lib/dist/lib/src/http/middleware/request/createContext.middleware.d.ts +12 -0
  184. package/lib/dist/lib/src/http/middleware/request/createContext.middleware.d.ts.map +1 -0
  185. package/lib/dist/lib/src/http/middleware/request/createContext.middleware.js +26 -0
  186. package/lib/dist/lib/src/http/middleware/request/enrichDetails.middleware.d.ts +12 -0
  187. package/lib/dist/lib/src/http/middleware/request/enrichDetails.middleware.d.ts.map +1 -0
  188. package/lib/dist/lib/src/http/middleware/request/enrichDetails.middleware.js +19 -0
  189. package/lib/dist/lib/src/http/middleware/request/parse.middleware.d.ts +13 -0
  190. package/lib/dist/lib/src/http/middleware/request/parse.middleware.d.ts.map +1 -0
  191. package/lib/dist/lib/src/http/middleware/request/parse.middleware.js +43 -0
  192. package/lib/dist/lib/src/http/middleware/request.middleware.d.ts +69 -0
  193. package/lib/dist/lib/src/http/middleware/request.middleware.d.ts.map +1 -0
  194. package/lib/dist/lib/src/http/middleware/request.middleware.js +210 -0
  195. package/lib/dist/lib/src/http/middleware/response/parse.middleware.d.ts +27 -0
  196. package/lib/dist/lib/src/http/middleware/response/parse.middleware.d.ts.map +1 -0
  197. package/lib/dist/lib/src/http/middleware/response/parse.middleware.js +52 -0
  198. package/lib/dist/lib/src/http/middleware/response.middleware.d.ts +27 -0
  199. package/lib/dist/lib/src/http/middleware/response.middleware.d.ts.map +1 -0
  200. package/lib/dist/lib/src/http/middleware/response.middleware.js +52 -0
  201. package/lib/dist/lib/src/http/openApiV3Generator/index.d.ts +2 -0
  202. package/lib/dist/lib/src/http/openApiV3Generator/index.d.ts.map +1 -0
  203. package/lib/dist/lib/src/http/openApiV3Generator/index.js +1 -0
  204. package/lib/dist/lib/src/http/openApiV3Generator/openApiV3Generator.d.ts +11 -0
  205. package/lib/dist/lib/src/http/openApiV3Generator/openApiV3Generator.d.ts.map +1 -0
  206. package/lib/dist/lib/src/http/openApiV3Generator/openApiV3Generator.js +167 -0
  207. package/lib/dist/lib/src/http/router/expressLikeRouter.d.ts +89 -0
  208. package/lib/dist/lib/src/http/router/expressLikeRouter.d.ts.map +1 -0
  209. package/{dist/http/interfaces/forklaunchExpress.router.interface.js → lib/dist/lib/src/http/router/expressLikeRouter.js} +85 -91
  210. package/lib/dist/lib/src/http/types/apiDefinition.types.d.ts +2 -0
  211. package/lib/dist/lib/src/http/types/apiDefinition.types.d.ts.map +1 -0
  212. package/lib/dist/lib/src/http/types/apiDefinition.types.js +1 -0
  213. package/lib/dist/lib/src/http/types/contractDetails.types.d.ts +2 -0
  214. package/lib/dist/lib/src/http/types/contractDetails.types.d.ts.map +1 -0
  215. package/lib/dist/lib/src/http/types/contractDetails.types.js +1 -0
  216. package/lib/dist/lib/src/http/types/index.d.ts +4 -0
  217. package/lib/dist/lib/src/http/types/index.d.ts.map +1 -0
  218. package/lib/dist/lib/src/http/types/index.js +3 -0
  219. package/lib/dist/lib/src/http/types/router.types.d.ts +2 -0
  220. package/lib/dist/lib/src/http/types/router.types.d.ts.map +1 -0
  221. package/lib/dist/lib/src/http/types/router.types.js +1 -0
  222. package/lib/dist/lib/src/http/utils/enrichExpressLikeSend.d.ts +28 -0
  223. package/lib/dist/lib/src/http/utils/enrichExpressLikeSend.d.ts.map +1 -0
  224. package/lib/dist/lib/src/http/utils/enrichExpressLikeSend.js +50 -0
  225. package/lib/dist/lib/src/http/utils/httpStatusCodes.d.ts +986 -0
  226. package/lib/dist/lib/src/http/utils/httpStatusCodes.d.ts.map +1 -0
  227. package/lib/dist/lib/src/http/utils/httpStatusCodes.js +1039 -0
  228. package/lib/dist/lib/src/http/utils/index.d.ts +3 -0
  229. package/lib/dist/lib/src/http/utils/index.d.ts.map +1 -0
  230. package/lib/dist/lib/src/http/utils/index.js +2 -0
  231. package/lib/dist/lib/src/services/index.d.ts +2 -0
  232. package/lib/dist/lib/src/services/index.d.ts.map +1 -0
  233. package/lib/dist/lib/src/services/interfaces/baseService.d.ts +2 -0
  234. package/lib/dist/lib/src/services/interfaces/baseService.d.ts.map +1 -0
  235. package/lib/dist/lib/src/services/interfaces/baseService.js +1 -0
  236. package/lib/dist/lib/tests/dtoMapper.test.d.ts +2 -0
  237. package/lib/dist/lib/tests/dtoMapper.test.d.ts.map +1 -0
  238. package/lib/dist/lib/tests/dtoMapper.test.js +172 -0
  239. package/lib/dist/lib/tests/entityMapper.test.d.ts.map +1 -0
  240. package/lib/dist/lib/tests/entityMapper.test.js +172 -0
  241. package/lib/dist/lib/tests/expressLikeRouter.test.d.ts +2 -0
  242. package/lib/dist/lib/tests/expressLikeRouter.test.d.ts.map +1 -0
  243. package/lib/dist/lib/tests/expressLikeRouter.test.js +3 -0
  244. package/lib/dist/lib/tests/http.middleware.test.d.ts.map +1 -0
  245. package/lib/dist/lib/tests/http.middleware.test.js +95 -0
  246. package/lib/dist/lib/tests/openApiV3Generator.test.d.ts.map +1 -0
  247. package/lib/dist/lib/tests/openApiV3Generator.test.js +66 -0
  248. package/lib/dist/lib/tests/redisTtlCache.test.d.ts.map +1 -0
  249. package/lib/dist/lib/tests/redisTtlCache.test.js +49 -0
  250. package/lib/dist/lib/tests/typedHandler.test.d.ts +2 -0
  251. package/lib/dist/lib/tests/typedHandler.test.d.ts.map +1 -0
  252. package/lib/dist/lib/tests/typedHandler.test.js +3 -0
  253. package/lib/dist/lib/vitest.config.d.ts +3 -0
  254. package/lib/dist/lib/vitest.config.d.ts.map +1 -0
  255. package/lib/dist/lib/vitest.config.js +7 -0
  256. package/lib/dist/services/index.d.ts +2 -0
  257. package/lib/dist/services/index.d.ts.map +1 -0
  258. package/lib/dist/services/index.js +1 -0
  259. package/lib/dist/services/interfaces/baseService.d.ts +2 -0
  260. package/lib/dist/services/interfaces/baseService.d.ts.map +1 -0
  261. package/lib/dist/services/interfaces/baseService.js +1 -0
  262. package/lib/dist/tests/entityMapper.test.d.ts +2 -0
  263. package/lib/dist/tests/entityMapper.test.d.ts.map +1 -0
  264. package/{dist → lib/dist}/tests/entityMapper.test.js +6 -2
  265. package/lib/dist/tests/http.middleware.test.d.ts +2 -0
  266. package/lib/dist/tests/http.middleware.test.d.ts.map +1 -0
  267. package/{dist → lib/dist}/tests/http.middleware.test.js +39 -21
  268. package/lib/dist/tests/openApiV3Generator.test.d.ts +2 -0
  269. package/lib/dist/tests/openApiV3Generator.test.d.ts.map +1 -0
  270. package/{dist → lib/dist}/tests/openApiV3Generator.test.js +1 -1
  271. package/lib/dist/tests/redisTtlCache.test.d.ts +2 -0
  272. package/lib/dist/tests/redisTtlCache.test.d.ts.map +1 -0
  273. package/lib/eslint.config.mjs +10 -0
  274. package/lib/index.d.ts +7 -0
  275. package/lib/index.d.ts.map +1 -0
  276. package/lib/index.js +7 -0
  277. package/lib/jest.config.d.ts +4 -0
  278. package/lib/jest.config.d.ts.map +1 -0
  279. package/lib/jest.config.js +21 -0
  280. package/lib/src/cache/index.d.ts.map +1 -0
  281. package/lib/src/cache/index.js +3 -0
  282. package/lib/src/cache/interfaces/ttlCache.interface.d.ts.map +1 -0
  283. package/lib/src/cache/interfaces/ttlCache.interface.js +1 -0
  284. package/lib/src/cache/redisTtlCache.d.ts.map +1 -0
  285. package/lib/src/cache/redisTtlCache.js +98 -0
  286. package/lib/src/cache/types/ttlCacheRecord.types.d.ts.map +1 -0
  287. package/lib/src/cache/types/ttlCacheRecord.types.js +1 -0
  288. package/lib/src/controllers/index.d.ts.map +1 -0
  289. package/lib/src/controllers/index.js +1 -0
  290. package/lib/src/controllers/interfaces/controller.interface.d.ts.map +1 -0
  291. package/lib/src/controllers/interfaces/controller.interface.js +1 -0
  292. package/lib/src/database/index.d.ts.map +1 -0
  293. package/lib/src/database/index.js +1 -0
  294. package/lib/src/database/mikro/models/entities/base.entity.d.ts.map +1 -0
  295. package/lib/src/domainMapper/index.d.ts +3 -0
  296. package/lib/src/domainMapper/index.d.ts.map +1 -0
  297. package/lib/src/domainMapper/index.js +2 -0
  298. package/{dist/entityMapper/interfaces/entityMapper.interface.d.ts → lib/src/domainMapper/interfaces/dtoMapper.interface.d.ts} +3 -3
  299. package/lib/src/domainMapper/interfaces/dtoMapper.interface.d.ts.map +1 -0
  300. package/lib/src/domainMapper/interfaces/dtoMapper.interface.js +1 -0
  301. package/{dist/entityMapper/models/baseEntityMapper.model.d.ts → lib/src/domainMapper/models/baseDtoMapper.model.d.ts} +13 -13
  302. package/lib/src/domainMapper/models/baseDtoMapper.model.d.ts.map +1 -0
  303. package/lib/src/domainMapper/models/baseDtoMapper.model.js +75 -0
  304. package/{dist/entityMapper/models/requestEntityMapper.model.d.ts → lib/src/domainMapper/models/requestDtoMapper.model.d.ts} +13 -13
  305. package/lib/src/domainMapper/models/requestDtoMapper.model.d.ts.map +1 -0
  306. package/lib/src/domainMapper/models/requestDtoMapper.model.js +70 -0
  307. package/{dist/entityMapper/models/responseEntityMapper.model.d.ts → lib/src/domainMapper/models/responseDtoMapper.model.d.ts} +12 -12
  308. package/lib/src/domainMapper/models/responseDtoMapper.model.d.ts.map +1 -0
  309. package/lib/src/domainMapper/models/responseDtoMapper.model.js +65 -0
  310. package/lib/src/domainMapper/types/dtoMapper.types.d.ts +9 -0
  311. package/lib/src/domainMapper/types/dtoMapper.types.d.ts.map +1 -0
  312. package/lib/src/domainMapper/types/dtoMapper.types.js +1 -0
  313. package/lib/src/dtoMapper/index.d.ts +3 -0
  314. package/lib/src/dtoMapper/index.d.ts.map +1 -0
  315. package/lib/src/dtoMapper/index.js +2 -0
  316. package/lib/src/dtoMapper/interfaces/dtoMapper.interface.d.ts +18 -0
  317. package/lib/src/dtoMapper/interfaces/dtoMapper.interface.d.ts.map +1 -0
  318. package/lib/src/dtoMapper/interfaces/dtoMapper.interface.js +1 -0
  319. package/lib/src/dtoMapper/models/baseDtoMapper.model.d.ts +72 -0
  320. package/lib/src/dtoMapper/models/baseDtoMapper.model.d.ts.map +1 -0
  321. package/lib/src/dtoMapper/models/baseDtoMapper.model.js +75 -0
  322. package/lib/src/dtoMapper/models/requestDtoMapper.model.d.ts +68 -0
  323. package/lib/src/dtoMapper/models/requestDtoMapper.model.d.ts.map +1 -0
  324. package/lib/src/dtoMapper/models/requestDtoMapper.model.js +70 -0
  325. package/lib/src/dtoMapper/models/responseDtoMapper.model.d.ts +67 -0
  326. package/lib/src/dtoMapper/models/responseDtoMapper.model.d.ts.map +1 -0
  327. package/lib/src/dtoMapper/models/responseDtoMapper.model.js +65 -0
  328. package/lib/src/dtoMapper/types/dtoMapper.types.d.ts +9 -0
  329. package/lib/src/dtoMapper/types/dtoMapper.types.d.ts.map +1 -0
  330. package/lib/src/dtoMapper/types/dtoMapper.types.js +1 -0
  331. package/lib/src/http/application/expressLikeApplication.d.ts +22 -0
  332. package/lib/src/http/application/expressLikeApplication.d.ts.map +1 -0
  333. package/lib/src/http/application/expressLikeApplication.js +20 -0
  334. package/lib/src/http/guards/isExpressLikeSchemaHandler.d.ts +5 -0
  335. package/lib/src/http/guards/isExpressLikeSchemaHandler.d.ts.map +1 -0
  336. package/lib/src/http/guards/isExpressLikeSchemaHandler.js +9 -0
  337. package/lib/src/http/guards/isHttpContractDetails.d.ts +7 -0
  338. package/lib/src/http/guards/isHttpContractDetails.d.ts.map +1 -0
  339. package/lib/src/http/guards/isHttpContractDetails.js +9 -0
  340. package/lib/src/http/guards/isPathParamContractDetails.d.ts +4 -0
  341. package/lib/src/http/guards/isPathParamContractDetails.d.ts.map +1 -0
  342. package/lib/src/http/guards/isPathParamContractDetails.js +10 -0
  343. package/lib/src/http/guards/isResponseShape.d.ts +3 -0
  344. package/lib/src/http/guards/isResponseShape.d.ts.map +1 -0
  345. package/lib/src/http/guards/isResponseShape.js +7 -0
  346. package/lib/src/http/guards/isTypedHandler.d.ts +5 -0
  347. package/lib/src/http/guards/isTypedHandler.d.ts.map +1 -0
  348. package/lib/src/http/guards/isTypedHandler.js +6 -0
  349. package/lib/src/http/handler/typedHandler.d.ts +24 -0
  350. package/lib/src/http/handler/typedHandler.d.ts.map +1 -0
  351. package/lib/src/http/handler/typedHandler.js +25 -0
  352. package/lib/src/http/handlers/typedHandler.d.ts +27 -0
  353. package/lib/src/http/handlers/typedHandler.d.ts.map +1 -0
  354. package/lib/src/http/handlers/typedHandler.js +30 -0
  355. package/lib/src/http/index.d.ts +12 -0
  356. package/lib/src/http/index.d.ts.map +1 -0
  357. package/lib/src/http/index.js +11 -0
  358. package/{dist/http/interfaces/forklaunchExpress.application.interface.d.ts → lib/src/http/interfaces/expressLikeApplication.interface.d.ts} +1 -1
  359. package/lib/src/http/interfaces/expressLikeApplication.interface.d.ts.map +1 -0
  360. package/lib/src/http/interfaces/expressLikeApplication.interface.js +14 -0
  361. package/lib/src/http/interfaces/expressLikeRouter.interface.d.ts +24 -0
  362. package/lib/src/http/interfaces/expressLikeRouter.interface.d.ts.map +1 -0
  363. package/lib/src/http/interfaces/expressLikeRouter.interface.js +1 -0
  364. package/lib/src/http/interfaces/index.d.ts +3 -0
  365. package/lib/src/http/interfaces/index.d.ts.map +1 -0
  366. package/lib/src/http/interfaces/index.js +2 -0
  367. package/lib/src/http/middleware/index.d.ts.map +1 -0
  368. package/lib/src/http/middleware/index.js +2 -0
  369. package/lib/src/http/middleware/request/auth.middleware.d.ts +31 -0
  370. package/lib/src/http/middleware/request/auth.middleware.d.ts.map +1 -0
  371. package/lib/src/http/middleware/request/auth.middleware.js +107 -0
  372. package/lib/src/http/middleware/request/cors.middleware.d.ts +13 -0
  373. package/lib/src/http/middleware/request/cors.middleware.d.ts.map +1 -0
  374. package/lib/src/http/middleware/request/cors.middleware.js +15 -0
  375. package/lib/src/http/middleware/request/createContext.middleware.d.ts +15 -0
  376. package/lib/src/http/middleware/request/createContext.middleware.d.ts.map +1 -0
  377. package/lib/src/http/middleware/request/createContext.middleware.js +26 -0
  378. package/lib/src/http/middleware/request/enrichDetails.middleware.d.ts +15 -0
  379. package/lib/src/http/middleware/request/enrichDetails.middleware.d.ts.map +1 -0
  380. package/lib/src/http/middleware/request/enrichDetails.middleware.js +19 -0
  381. package/lib/src/http/middleware/request/parse.middleware.d.ts +17 -0
  382. package/lib/src/http/middleware/request/parse.middleware.d.ts.map +1 -0
  383. package/lib/src/http/middleware/request/parse.middleware.js +43 -0
  384. package/lib/src/http/middleware/request.middleware.d.ts +73 -0
  385. package/lib/src/http/middleware/request.middleware.d.ts.map +1 -0
  386. package/lib/src/http/middleware/request.middleware.js +210 -0
  387. package/lib/src/http/middleware/response/parse.middleware.d.ts +31 -0
  388. package/lib/src/http/middleware/response/parse.middleware.d.ts.map +1 -0
  389. package/lib/src/http/middleware/response/parse.middleware.js +52 -0
  390. package/lib/src/http/middleware/response.middleware.d.ts +31 -0
  391. package/lib/src/http/middleware/response.middleware.d.ts.map +1 -0
  392. package/lib/src/http/middleware/response.middleware.js +52 -0
  393. package/lib/src/http/openApiV3Generator/index.d.ts +2 -0
  394. package/lib/src/http/openApiV3Generator/index.d.ts.map +1 -0
  395. package/lib/src/http/openApiV3Generator/index.js +1 -0
  396. package/{dist/http → lib/src/http/openApiV3Generator}/openApiV3Generator.d.ts +1 -1
  397. package/lib/src/http/openApiV3Generator/openApiV3Generator.d.ts.map +1 -0
  398. package/lib/src/http/openApiV3Generator/openApiV3Generator.js +169 -0
  399. package/lib/src/http/router/expressLikeRouter.d.ts +135 -0
  400. package/lib/src/http/router/expressLikeRouter.d.ts.map +1 -0
  401. package/lib/src/http/router/expressLikeRouter.js +438 -0
  402. package/{dist/http/types/api.types.d.ts → lib/src/http/types/apiDefinition.types.d.ts} +49 -24
  403. package/lib/src/http/types/apiDefinition.types.d.ts.map +1 -0
  404. package/lib/src/http/types/apiDefinition.types.js +1 -0
  405. package/lib/src/http/types/contractDetails.types.d.ts +169 -0
  406. package/lib/src/http/types/contractDetails.types.d.ts.map +1 -0
  407. package/lib/src/http/types/contractDetails.types.js +1 -0
  408. package/lib/src/http/types/expressLikeRouter.types.d.ts +35 -0
  409. package/lib/src/http/types/expressLikeRouter.types.d.ts.map +1 -0
  410. package/lib/src/http/types/expressLikeRouter.types.js +1 -0
  411. package/lib/src/http/types/index.d.ts +4 -0
  412. package/lib/src/http/types/index.d.ts.map +1 -0
  413. package/lib/src/http/types/index.js +3 -0
  414. package/{dist/http/types/forklaunch.types.d.ts → lib/src/http/types/router.types.d.ts} +3 -3
  415. package/lib/src/http/types/router.types.d.ts.map +1 -0
  416. package/lib/src/http/types/router.types.js +1 -0
  417. package/lib/src/http/utils/enrichExpressLikeSend.d.ts +32 -0
  418. package/lib/src/http/utils/enrichExpressLikeSend.d.ts.map +1 -0
  419. package/lib/src/http/utils/enrichExpressLikeSend.js +50 -0
  420. package/lib/src/http/utils/httpStatusCodes.d.ts.map +1 -0
  421. package/lib/src/http/utils/httpStatusCodes.js +1039 -0
  422. package/lib/src/http/utils/index.d.ts +3 -0
  423. package/lib/src/http/utils/index.d.ts.map +1 -0
  424. package/lib/src/http/utils/index.js +2 -0
  425. package/lib/src/services/index.d.ts.map +1 -0
  426. package/lib/src/services/index.js +1 -0
  427. package/lib/src/services/interfaces/baseService.d.ts.map +1 -0
  428. package/lib/src/services/interfaces/baseService.js +1 -0
  429. package/lib/tests/dtoMapper.test.d.ts +2 -0
  430. package/lib/tests/dtoMapper.test.d.ts.map +1 -0
  431. package/lib/tests/dtoMapper.test.js +168 -0
  432. package/lib/tests/entityMapper.test.d.ts +2 -0
  433. package/lib/tests/entityMapper.test.js +168 -0
  434. package/lib/tests/expressLikeRouter.test.d.ts +2 -0
  435. package/lib/tests/expressLikeRouter.test.d.ts.map +1 -0
  436. package/lib/tests/expressLikeRouter.test.js +3 -0
  437. package/lib/tests/expressLikeRouterInstantiation.test.d.ts +2 -0
  438. package/lib/tests/expressLikeRouterInstantiation.test.d.ts.map +1 -0
  439. package/lib/tests/expressLikeRouterInstantiation.test.js +60 -0
  440. package/lib/tests/http.middleware.test.d.ts +2 -0
  441. package/lib/tests/http.middleware.test.js +102 -0
  442. package/lib/tests/openApiV3Generator.test.d.ts +2 -0
  443. package/lib/tests/openApiV3Generator.test.js +66 -0
  444. package/lib/tests/redisTtlCache.test.d.ts +2 -0
  445. package/lib/tests/redisTtlCache.test.js +49 -0
  446. package/lib/tests/typedHandler.test.d.ts +2 -0
  447. package/lib/tests/typedHandler.test.d.ts.map +1 -0
  448. package/lib/tests/typedHandler.test.js +3 -0
  449. package/lib/tsconfig.tsbuildinfo +1 -0
  450. package/lib/vitest.config.d.ts +3 -0
  451. package/lib/vitest.config.d.ts.map +1 -0
  452. package/lib/vitest.config.js +7 -0
  453. package/package.json +52 -30
  454. package/dist/cache/index.d.ts.map +0 -1
  455. package/dist/cache/interfaces/ttlCache.interface.d.ts.map +0 -1
  456. package/dist/cache/redisTtlCache.d.ts.map +0 -1
  457. package/dist/cache/types/ttlCacheRecord.types.d.ts.map +0 -1
  458. package/dist/controllers/index.d.ts.map +0 -1
  459. package/dist/controllers/interfaces/controller.interface.d.ts.map +0 -1
  460. package/dist/database/index.d.ts.map +0 -1
  461. package/dist/database/mikro/models/entities/base.entity.d.ts.map +0 -1
  462. package/dist/entityMapper/index.d.ts +0 -3
  463. package/dist/entityMapper/index.d.ts.map +0 -1
  464. package/dist/entityMapper/interfaces/entityMapper.interface.d.ts.map +0 -1
  465. package/dist/entityMapper/models/baseEntityMapper.model.d.ts.map +0 -1
  466. package/dist/entityMapper/models/requestEntityMapper.model.d.ts.map +0 -1
  467. package/dist/entityMapper/models/responseEntityMapper.model.d.ts.map +0 -1
  468. package/dist/entityMapper/types/entityMapper.types.d.ts +0 -10
  469. package/dist/entityMapper/types/entityMapper.types.d.ts.map +0 -1
  470. package/dist/eslint.config.mjs +0 -10
  471. package/dist/http/httpStatusCodes.d.ts.map +0 -1
  472. package/dist/http/index.d.ts +0 -7
  473. package/dist/http/index.d.ts.map +0 -1
  474. package/dist/http/interfaces/forklaunchExpress.application.interface.d.ts.map +0 -1
  475. package/dist/http/interfaces/forklaunchExpress.router.interface.d.ts +0 -118
  476. package/dist/http/interfaces/forklaunchExpress.router.interface.d.ts.map +0 -1
  477. package/dist/http/interfaces/index.d.ts +0 -3
  478. package/dist/http/interfaces/index.d.ts.map +0 -1
  479. package/dist/http/interfaces/index.js +0 -2
  480. package/dist/http/middleware/index.d.ts.map +0 -1
  481. package/dist/http/middleware/request.middleware.d.ts +0 -111
  482. package/dist/http/middleware/request.middleware.d.ts.map +0 -1
  483. package/dist/http/middleware/response.middleware.d.ts +0 -17
  484. package/dist/http/middleware/response.middleware.d.ts.map +0 -1
  485. package/dist/http/middleware/response.middleware.js +0 -49
  486. package/dist/http/openApiV3Generator.d.ts.map +0 -1
  487. package/dist/http/regex.d.ts +0 -9
  488. package/dist/http/regex.d.ts.map +0 -1
  489. package/dist/http/regex.js +0 -111
  490. package/dist/http/types/api.types.d.ts.map +0 -1
  491. package/dist/http/types/forklaunch.types.d.ts.map +0 -1
  492. package/dist/http/types/index.d.ts +0 -4
  493. package/dist/http/types/index.d.ts.map +0 -1
  494. package/dist/http/types/index.js +0 -3
  495. package/dist/http/types/primitive.types.d.ts +0 -110
  496. package/dist/http/types/primitive.types.d.ts.map +0 -1
  497. package/dist/index.d.ts +0 -7
  498. package/dist/index.d.ts.map +0 -1
  499. package/dist/jest.config.d.ts +0 -4
  500. package/dist/jest.config.d.ts.map +0 -1
  501. package/dist/jest.config.js +0 -7
  502. package/dist/services/index.d.ts.map +0 -1
  503. package/dist/services/interfaces/baseService.d.ts.map +0 -1
  504. package/dist/tsconfig.tsbuildinfo +0 -1
  505. /package/{dist → lib/dist}/cache/index.js +0 -0
  506. /package/{dist → lib/dist}/cache/interfaces/ttlCache.interface.js +0 -0
  507. /package/{dist → lib/dist}/cache/types/ttlCacheRecord.types.js +0 -0
  508. /package/{dist → lib/dist}/controllers/index.js +0 -0
  509. /package/{dist → lib/dist}/controllers/interfaces/controller.interface.js +0 -0
  510. /package/{dist → lib/dist}/database/index.js +0 -0
  511. /package/{dist → lib/dist}/entityMapper/index.js +0 -0
  512. /package/{dist → lib/dist}/entityMapper/interfaces/entityMapper.interface.js +0 -0
  513. /package/{dist → lib/dist}/entityMapper/models/baseEntityMapper.model.js +0 -0
  514. /package/{dist → lib/dist}/entityMapper/models/requestEntityMapper.model.js +0 -0
  515. /package/{dist → lib/dist}/entityMapper/models/responseEntityMapper.model.js +0 -0
  516. /package/{dist → lib/dist}/entityMapper/types/entityMapper.types.js +0 -0
  517. /package/{dist/http/interfaces/forklaunchExpress.application.interface.js → lib/dist/http/interfaces/expressLikeApplication.interface.js} +0 -0
  518. /package/{dist → lib/dist}/http/middleware/index.js +0 -0
  519. /package/{dist/http/types/api.types.js → lib/dist/http/types/apiDefinition.types.js} +0 -0
  520. /package/{dist/http/types/forklaunch.types.js → lib/dist/http/types/contractDetails.types.js} +0 -0
  521. /package/{dist/http/types/primitive.types.js → lib/dist/http/types/router.types.js} +0 -0
  522. /package/{dist/http → lib/dist/http/utils}/httpStatusCodes.js +0 -0
  523. /package/{dist → lib/dist}/index.js +0 -0
  524. /package/{dist/services/interfaces/baseService.js → lib/dist/lib/src/cache/interfaces/ttlCache.interface.js} +0 -0
  525. /package/{dist → lib/dist/lib/src}/services/index.js +0 -0
  526. /package/{dist → lib/dist/lib}/tests/entityMapper.test.d.ts +0 -0
  527. /package/{dist → lib/dist/lib}/tests/http.middleware.test.d.ts +0 -0
  528. /package/{dist → lib/dist/lib}/tests/openApiV3Generator.test.d.ts +0 -0
  529. /package/{dist → lib/dist/lib}/tests/redisTtlCache.test.d.ts +0 -0
  530. /package/{dist → lib/dist}/tests/redisTtlCache.test.js +0 -0
  531. /package/{dist → lib}/eslint.config.d.mts +0 -0
  532. /package/{dist → lib}/eslint.config.d.mts.map +0 -0
  533. /package/{dist → lib/src}/cache/index.d.ts +0 -0
  534. /package/{dist → lib/src}/cache/interfaces/ttlCache.interface.d.ts +0 -0
  535. /package/{dist → lib/src}/cache/redisTtlCache.d.ts +0 -0
  536. /package/{dist → lib/src}/cache/types/ttlCacheRecord.types.d.ts +0 -0
  537. /package/{dist → lib/src}/controllers/index.d.ts +0 -0
  538. /package/{dist → lib/src}/controllers/interfaces/controller.interface.d.ts +0 -0
  539. /package/{dist → lib/src}/database/index.d.ts +0 -0
  540. /package/{dist → lib/src}/database/mikro/models/entities/base.entity.d.ts +0 -0
  541. /package/{dist → lib/src}/database/mikro/models/entities/base.entity.js +0 -0
  542. /package/{dist → lib/src}/http/middleware/index.d.ts +0 -0
  543. /package/{dist/http → lib/src/http/utils}/httpStatusCodes.d.ts +0 -0
  544. /package/{dist → lib/src}/services/index.d.ts +0 -0
  545. /package/{dist → lib/src}/services/interfaces/baseService.d.ts +0 -0
  546. /package/{dist → lib}/tests/entityMapper.test.d.ts.map +0 -0
  547. /package/{dist → lib}/tests/http.middleware.test.d.ts.map +0 -0
  548. /package/{dist → lib}/tests/openApiV3Generator.test.d.ts.map +0 -0
  549. /package/{dist → lib}/tests/redisTtlCache.test.d.ts.map +0 -0
@@ -0,0 +1,65 @@
1
+ import { BaseDtoMapper, construct } from './baseDtoMapper.model';
2
+ /**
3
+ * Abstract class representing a response entity mapper.
4
+ *
5
+ * @template Entity - A type that extends BaseEntity.
6
+ * @template SV - A type that extends AnySchemaValidator.
7
+ * @extends {BaseDtoMapper<SV>}
8
+ */
9
+ export class ResponseDtoMapper extends BaseDtoMapper {
10
+ /**
11
+ * The entity type.
12
+ * @type {Entity}
13
+ * @protected
14
+ */
15
+ _Entity;
16
+ /**
17
+ * Converts the underlying DTO to a JSON object.
18
+ *
19
+ * @returns {this['_dto']} - The JSON object.
20
+ * @throws {Error} - Throws an error if the DTO is invalid.
21
+ */
22
+ toJson() {
23
+ if (!this.schemaValidator.validate(this.schemaValidator.schemify(this.schema), this.dto)) {
24
+ throw new Error('Invalid DTO');
25
+ }
26
+ return this.dto;
27
+ }
28
+ /**
29
+ * Serializes an entity to a JSON object.
30
+ *
31
+ * @param {Entity} entity - The entity to serialize.
32
+ * @returns {this['_dto']} - The JSON object.
33
+ * @throws {Error} - Throws an error if the DTO is invalid.
34
+ */
35
+ serializeEntityToJson(entity) {
36
+ return this.fromEntity(entity).toJson();
37
+ }
38
+ /**
39
+ * Populates entity mapper with DTO from an entity.
40
+ *
41
+ * @template T - A type that extends ResponseDtoMapper.
42
+ * @template SV - A type that extends AnySchemaValidator.
43
+ * @param {DtoMapperConstructor<T, SV>} this - The constructor of the T.
44
+ * @param {SV} schemaValidator - The schema provider.
45
+ * @param {T['_Entity']} entity - The entity to convert.
46
+ * @returns {T} - An instance of the T.
47
+ */
48
+ static fromEntity(schemaValidator, entity) {
49
+ return construct(this, schemaValidator).fromEntity(entity);
50
+ }
51
+ /**
52
+ * Serializes an entity to a JSON object.
53
+ *
54
+ * @template T - A type that extends ResponseDtoMapper.
55
+ * @template SV - A type that extends AnySchemaValidator.
56
+ * @param {DtoMapperConstructor<T, SV>} this - The constructor of the T.
57
+ * @param {SV} schemaValidator - The schema provider.
58
+ * @param {T['_Entity']} entity - The entity to serialize.
59
+ * @returns {T['_dto']} - The JSON object.
60
+ * @throws {Error} - Throws an error if the DTO is invalid.
61
+ */
62
+ static serializeEntityToJson(schemaValidator, entity) {
63
+ return construct(this, schemaValidator).serializeEntityToJson(entity);
64
+ }
65
+ }
@@ -0,0 +1,9 @@
1
+ import { AnySchemaValidator, UnboxedObjectSchema } from '@forklaunch/validator';
2
+ /**
3
+ * Type representing a schema validator object for an entity mapper.
4
+ *
5
+ * @template SV - A type that extends AnySchemaValidator.
6
+ * @typedef {SV['_ValidSchemaObject'] | UnboxedObjectSchema<SV>} DtoMapperSchemaValidatorObject
7
+ */
8
+ export type DtoMapperSchemaValidatorObject<SV extends AnySchemaValidator> = SV['_ValidSchemaObject'] | UnboxedObjectSchema<SV>;
9
+ //# sourceMappingURL=dtoMapper.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtoMapper.types.d.ts","sourceRoot":"","sources":["../../../../src/dtoMapper/types/dtoMapper.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,MAAM,8BAA8B,CAAC,EAAE,SAAS,kBAAkB,IACpE,EAAE,CAAC,oBAAoB,CAAC,GACxB,mBAAmB,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ForklaunchRouter } from '../types/router.types';
3
+ /**
4
+ * ForklaunchExpressLikeApplication class that sets up routes and middleware for an Express-like application, for use with controller/routes pattern.
5
+ *
6
+ * @template SV - A type that extends AnySchemaValidator.
7
+ * @template Server - The server type.
8
+ */
9
+ export declare abstract class ForklaunchExpressLikeApplication<SV extends AnySchemaValidator, Server> {
10
+ readonly schemaValidator: SV;
11
+ readonly internal: Server;
12
+ routers: ForklaunchRouter<SV>[];
13
+ /**
14
+ * Creates an instance of the Application class.
15
+ *
16
+ * @param {SV} schemaValidator - The schema validator.
17
+ */
18
+ constructor(schemaValidator: SV, internal: Server);
19
+ abstract use(...args: unknown[]): this;
20
+ abstract listen(...args: unknown[]): void;
21
+ }
22
+ //# sourceMappingURL=expressLikeApplication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressLikeApplication.d.ts","sourceRoot":"","sources":["../../../../src/http/application/expressLikeApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;GAKG;AACH,8BAAsB,gCAAgC,CACpD,EAAE,SAAS,kBAAkB,EAC7B,MAAM;IAUJ,QAAQ,CAAC,eAAe,EAAE,EAAE;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAT3B,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAM;IAErC;;;;OAIG;gBAEQ,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,MAAM;IAG3B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1C"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ForklaunchExpressLikeApplication class that sets up routes and middleware for an Express-like application, for use with controller/routes pattern.
3
+ *
4
+ * @template SV - A type that extends AnySchemaValidator.
5
+ * @template Server - The server type.
6
+ */
7
+ export class ForklaunchExpressLikeApplication {
8
+ schemaValidator;
9
+ internal;
10
+ routers = [];
11
+ /**
12
+ * Creates an instance of the Application class.
13
+ *
14
+ * @param {SV} schemaValidator - The schema validator.
15
+ */
16
+ constructor(schemaValidator, internal) {
17
+ this.schemaValidator = schemaValidator;
18
+ this.internal = internal;
19
+ }
20
+ }
@@ -0,0 +1,5 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
3
+ import { Body, HeadersObject, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
4
+ export declare function isExpressLikeSchemaHandler<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(middleware: unknown): middleware is ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
5
+ //# sourceMappingURL=isExpressLikeSchemaHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isExpressLikeSchemaHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isExpressLikeSchemaHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,0BAA0B,CACxC,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,wBAAwB,CACvC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAUA"}
@@ -0,0 +1,9 @@
1
+ import { extractArgumentNames } from '@forklaunch/common';
2
+ export function isExpressLikeSchemaHandler(middleware) {
3
+ const extractedArgumentNames = typeof middleware === 'function' &&
4
+ new Set(extractArgumentNames(middleware));
5
+ return (extractedArgumentNames &&
6
+ extractedArgumentNames.has('req') &&
7
+ extractedArgumentNames.has('res') &&
8
+ extractedArgumentNames.has('next'));
9
+ }
@@ -0,0 +1,7 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { Body, ExtractedParamsObject, HeadersObject, HttpContractDetails, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
3
+ /**
4
+ * Type guard for HttpContractDetails
5
+ */
6
+ export declare function isHttpContractDetails<SV extends AnySchemaValidator, Path extends `/${string}`, ParamsSchema extends ExtractedParamsObject<Path> & ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV>, BodySchema extends Body<SV>, QuerySchema extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>>(maybeContractDetails: unknown): maybeContractDetails is HttpContractDetails<SV, Path, ParamsSchema, ResponseSchemas, BodySchema, QuerySchema, ReqHeaders, ResHeaders>;
7
+ //# sourceMappingURL=isHttpContractDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isHttpContractDetails.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isHttpContractDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,IAAI,EACJ,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,YAAY,SAAS,qBAAqB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,EACnE,eAAe,SAAS,eAAe,CAAC,EAAE,CAAC,EAC3C,UAAU,SAAS,IAAI,CAAC,EAAE,CAAC,EAC3B,WAAW,SAAS,WAAW,CAAC,EAAE,CAAC,EACnC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EAEpC,oBAAoB,EAAE,OAAO,GAC5B,oBAAoB,IAAI,mBAAmB,CAC5C,EAAE,EACF,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,CACX,CAMA"}
@@ -0,0 +1,9 @@
1
+ import { isPathParamHttpContractDetails } from './isPathParamContractDetails';
2
+ /**
3
+ * Type guard for HttpContractDetails
4
+ */
5
+ export function isHttpContractDetails(maybeContractDetails) {
6
+ return (isPathParamHttpContractDetails(maybeContractDetails) &&
7
+ 'body' in maybeContractDetails &&
8
+ maybeContractDetails.body != null);
9
+ }
@@ -0,0 +1,4 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ExtractedParamsObject, HeadersObject, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponsesObject } from '../types/contractDetails.types';
3
+ export declare function isPathParamHttpContractDetails<SV extends AnySchemaValidator, Path extends `/${string}`, ParamsSchema extends ExtractedParamsObject<Path> & ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV>, QuerySchema extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>>(maybePathParamHttpContractDetails: unknown): maybePathParamHttpContractDetails is PathParamHttpContractDetails<SV, Path, ParamsSchema, ResponseSchemas, QuerySchema, ReqHeaders, ResHeaders>;
4
+ //# sourceMappingURL=isPathParamContractDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPathParamContractDetails.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isPathParamContractDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,8BAA8B,CAC5C,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,YAAY,SAAS,qBAAqB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,EACnE,eAAe,SAAS,eAAe,CAAC,EAAE,CAAC,EAC3C,WAAW,SAAS,WAAW,CAAC,EAAE,CAAC,EACnC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EAEpC,iCAAiC,EAAE,OAAO,GACzC,iCAAiC,IAAI,4BAA4B,CAClE,EAAE,EACF,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,CACX,CAWA"}
@@ -0,0 +1,10 @@
1
+ export function isPathParamHttpContractDetails(maybePathParamHttpContractDetails) {
2
+ return (maybePathParamHttpContractDetails != null &&
3
+ typeof maybePathParamHttpContractDetails === 'object' &&
4
+ 'name' in maybePathParamHttpContractDetails &&
5
+ 'summary' in maybePathParamHttpContractDetails &&
6
+ 'responses' in maybePathParamHttpContractDetails &&
7
+ maybePathParamHttpContractDetails.name != null &&
8
+ maybePathParamHttpContractDetails.summary != null &&
9
+ maybePathParamHttpContractDetails.responses != null);
10
+ }
@@ -0,0 +1,3 @@
1
+ import { ResponseShape } from '../types/apiDefinition.types';
2
+ export declare function isResponseShape<Params, Headers, Query, Body>(maybeResponseShape: object | undefined): maybeResponseShape is ResponseShape<Params, Headers, Query, Body>;
3
+ //# sourceMappingURL=isResponseShape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isResponseShape.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isResponseShape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAC1D,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,kBAAkB,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAQnE"}
@@ -0,0 +1,7 @@
1
+ export function isResponseShape(maybeResponseShape) {
2
+ return (maybeResponseShape != null &&
3
+ 'body' in maybeResponseShape &&
4
+ 'query' in maybeResponseShape &&
5
+ 'params' in maybeResponseShape &&
6
+ 'headers' in maybeResponseShape);
7
+ }
@@ -0,0 +1,5 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { TypedHandler } from '../handlers/typedHandler';
3
+ import { Body, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
4
+ export declare function isTypedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(maybeTypedHandler: unknown): maybeTypedHandler is TypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
5
+ //# sourceMappingURL=isTypedHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTypedHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/guards/isTypedHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,IAAI,EACJ,aAAa,EACb,MAAM,EACN,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,cAAc,CAC5B,EAAE,SAAS,kBAAkB,EAC7B,cAAc,SAAS,MAAM,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,iBAAiB,EAAE,OAAO,GACzB,iBAAiB,IAAI,YAAY,CAClC,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAOA"}
@@ -0,0 +1,6 @@
1
+ export function isTypedHandler(maybeTypedHandler) {
2
+ return (maybeTypedHandler != null &&
3
+ typeof maybeTypedHandler === 'object' &&
4
+ '_typedHandler' in maybeTypedHandler &&
5
+ maybeTypedHandler._typedHandler === true);
6
+ }
@@ -0,0 +1,24 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ForklaunchSchemaMiddlewareHandler } from '../types/apiDefinition.types';
3
+ import { Body, ContractDetails, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
4
+ /**
5
+ * TypedHandler class that sets up routes and middleware for an Express router, for use with controller/routes pattern.
6
+ *
7
+ * @template SV - A type that extends AnySchemaValidator.
8
+ * @template contractDetails - The contract details.
9
+ * @template functions - The handler middlware and function.
10
+ */
11
+ export declare class TypedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>> {
12
+ contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
13
+ functions: ForklaunchSchemaMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
14
+ constructor(contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, functions: ForklaunchSchemaMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]);
15
+ }
16
+ /**
17
+ * Router class that sets up routes and middleware for an Express router, for use with controller/routes pattern.
18
+ *
19
+ * @template SV - A type that extends AnySchemaValidator.
20
+ * @template contractDetails - The contract details.
21
+ * @template functions - The handler middlware and function.
22
+ */
23
+ export declare function typedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, _method: ContractMethod, contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...functions: ForklaunchSchemaMiddlewareHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): TypedHandler<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
24
+ //# sourceMappingURL=typedHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/handler/typedHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EACL,IAAI,EACJ,eAAe,EACf,aAAa,EACb,MAAM,EACN,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC;;;;;;GAMG;AACH,qBAAa,YAAY,CACvB,EAAE,SAAS,kBAAkB,EAC7B,cAAc,SAAS,MAAM,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAGhC,eAAe,EAAE,eAAe,CACrC,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX;IACM,SAAS,EAAE,iCAAiC,CACjD,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;gBApBI,eAAe,EAAE,eAAe,CACrC,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,EACM,SAAS,EAAE,iCAAiC,CACjD,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,EAAE,SAAS,kBAAkB,EAC7B,cAAc,SAAS,MAAM,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,gBAAgB,EAAE,EAAE,EACpB,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,eAAe,CAC9B,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,EACD,GAAG,SAAS,EAAE,iCAAiC,CAC7C,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE,+GAcJ"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * TypedHandler class that sets up routes and middleware for an Express router, for use with controller/routes pattern.
3
+ *
4
+ * @template SV - A type that extends AnySchemaValidator.
5
+ * @template contractDetails - The contract details.
6
+ * @template functions - The handler middlware and function.
7
+ */
8
+ export class TypedHandler {
9
+ contractDetails;
10
+ functions;
11
+ constructor(contractDetails, functions) {
12
+ this.contractDetails = contractDetails;
13
+ this.functions = functions;
14
+ }
15
+ }
16
+ /**
17
+ * Router class that sets up routes and middleware for an Express router, for use with controller/routes pattern.
18
+ *
19
+ * @template SV - A type that extends AnySchemaValidator.
20
+ * @template contractDetails - The contract details.
21
+ * @template functions - The handler middlware and function.
22
+ */
23
+ export function typedHandler(_schemaValidator, _method, contractDetails, ...functions) {
24
+ return new TypedHandler(contractDetails, functions);
25
+ }
@@ -0,0 +1,27 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
3
+ import { Body, ContractDetails, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
4
+ export type ContractDetailsExpressLikeSchemaHandler<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>> = ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
5
+ export type TypedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>> = {
6
+ _typedHandler: true;
7
+ contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
8
+ handlers: ContractDetailsExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
9
+ };
10
+ /**
11
+ * Router class that sets up routes and middleware for an Express router, for use with controller/routes pattern.
12
+ *
13
+ * @template SV - A type that extends AnySchemaValidator.
14
+ * @template contractDetails - The contract details.
15
+ * @template handlers - The handler middlware and handler.
16
+ */
17
+ export declare function typedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, _path: Path, _contractMethod: ContractMethod, contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): {
18
+ _typedHandler: true;
19
+ contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
20
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
21
+ };
22
+ export declare function typedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, _contractMethod: ContractMethod, contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): {
23
+ _typedHandler: true;
24
+ contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
25
+ handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
26
+ };
27
+ //# sourceMappingURL=typedHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/typedHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export function typedHandler(_schemaValidator, _pathOrContractDetails, contractMethodOrContractDetails, contractDetailsOrHandler, ...handlerArray) {
2
+ // TODO: Clean this up with guards
3
+ let contractDetails;
4
+ let handlers;
5
+ // If path is not provided
6
+ if (typeof contractMethodOrContractDetails === 'string') {
7
+ if (typeof contractDetailsOrHandler !== 'function') {
8
+ contractDetails = contractDetailsOrHandler;
9
+ }
10
+ else {
11
+ throw new Error('Invalid definition for contract details');
12
+ }
13
+ handlers = handlerArray;
14
+ }
15
+ // If path is provided
16
+ else {
17
+ contractDetails = contractMethodOrContractDetails;
18
+ if (typeof contractDetailsOrHandler === 'function') {
19
+ handlers = [contractDetailsOrHandler, ...handlerArray];
20
+ }
21
+ else {
22
+ throw new Error('Invalid definition for handler');
23
+ }
24
+ }
25
+ return {
26
+ _typedHandler: true,
27
+ contractDetails,
28
+ handlers
29
+ };
30
+ }
@@ -0,0 +1,12 @@
1
+ export * from './application/expressLikeApplication';
2
+ export * from './handlers/typedHandler';
3
+ export * from './interfaces/expressLikeRouter.interface';
4
+ export * from './openApiV3Generator/openApiV3Generator';
5
+ export * from './router/expressLikeRouter';
6
+ export * from './types/apiDefinition.types';
7
+ export * from './types/contractDetails.types';
8
+ export * from './types/expressLikeRouter.types';
9
+ export * from './types/router.types';
10
+ export * from './utils/enrichExpressLikeSend';
11
+ export * from './utils/httpStatusCodes';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from './application/expressLikeApplication';
2
+ export * from './handlers/typedHandler';
3
+ export * from './interfaces/expressLikeRouter.interface';
4
+ export * from './openApiV3Generator/openApiV3Generator';
5
+ export * from './router/expressLikeRouter';
6
+ export * from './types/apiDefinition.types';
7
+ export * from './types/contractDetails.types';
8
+ export * from './types/expressLikeRouter.types';
9
+ export * from './types/router.types';
10
+ export * from './utils/enrichExpressLikeSend';
11
+ export * from './utils/httpStatusCodes';
@@ -13,4 +13,4 @@ export declare abstract class ForklaunchExpressLikeApplication<SV extends AnySch
13
13
  abstract use(...args: unknown[]): this;
14
14
  abstract listen(...args: unknown[]): void;
15
15
  }
16
- //# sourceMappingURL=forklaunchExpress.application.interface.d.ts.map
16
+ //# sourceMappingURL=expressLikeApplication.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressLikeApplication.interface.d.ts","sourceRoot":"","sources":["../../../../src/http/interfaces/expressLikeApplication.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,8BAAsB,gCAAgC,CACpD,EAAE,SAAS,kBAAkB,EAC7B,MAAM;IAUJ,QAAQ,CAAC,eAAe,EAAE,EAAE;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAT3B,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAM;IAErC;;;;OAIG;gBAEQ,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,MAAM;IAG3B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAC1C"}
@@ -0,0 +1,14 @@
1
+ export class ForklaunchExpressLikeApplication {
2
+ schemaValidator;
3
+ internal;
4
+ routers = [];
5
+ /**
6
+ * Creates an instance of the Application class.
7
+ *
8
+ * @param {SV} schemaValidator - The schema validator.
9
+ */
10
+ constructor(schemaValidator, internal) {
11
+ this.schemaValidator = schemaValidator;
12
+ this.internal = internal;
13
+ }
14
+ }
@@ -0,0 +1,24 @@
1
+ export interface PathBasedHandler<RouterHandler> {
2
+ (path: string, ...handlers: RouterHandler[]): unknown;
3
+ }
4
+ export interface PathOrMiddlewareBasedHandler<RouterHandler> extends PathBasedHandler<RouterHandler> {
5
+ (...args: RouterHandler[]): unknown;
6
+ }
7
+ export interface NestableRouterBasedHandler<RouterHandler, Router> extends PathOrMiddlewareBasedHandler<RouterHandler> {
8
+ (...args: Router[]): unknown;
9
+ (path: string, ...handlers: Router[]): unknown;
10
+ }
11
+ export interface ExpressLikeRouter<RouterHandler, Router> {
12
+ use: NestableRouterBasedHandler<RouterHandler, Router>;
13
+ all: PathOrMiddlewareBasedHandler<RouterHandler>;
14
+ connect: PathOrMiddlewareBasedHandler<RouterHandler>;
15
+ get: PathBasedHandler<RouterHandler>;
16
+ post: PathBasedHandler<RouterHandler>;
17
+ put: PathBasedHandler<RouterHandler>;
18
+ patch: PathBasedHandler<RouterHandler>;
19
+ delete: PathBasedHandler<RouterHandler>;
20
+ options: PathBasedHandler<RouterHandler>;
21
+ head: PathBasedHandler<RouterHandler>;
22
+ trace: PathBasedHandler<RouterHandler>;
23
+ }
24
+ //# sourceMappingURL=expressLikeRouter.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressLikeRouter.interface.d.ts","sourceRoot":"","sources":["../../../../src/http/interfaces/expressLikeRouter.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,aAAa;IAC7C,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B,CAAC,aAAa,CACzD,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IACvC,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAC/D,SAAQ,4BAA4B,CAAC,aAAa,CAAC;IACnD,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC7B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;CAChD;AAED,MAAM,WAAW,iBAAiB,CAAC,aAAa,EAAE,MAAM;IACtD,GAAG,EAAE,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,GAAG,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACjD,OAAO,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACrD,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ export * from '../application/expressLikeApplication.interface';
2
+ export * from '../router/expressLikeRouter.interface';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './expressLikeApplication.interface';
2
+ export * from './expressLikeRouter.interface';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http/middleware/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './request.middleware';
2
+ export * from './response.middleware';
@@ -0,0 +1,31 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { ParsedQs } from 'qs';
3
+ import { ForklaunchNextFunction, ForklaunchRequest, ForklaunchResponse } from '../../types/apiDefinition.types';
4
+ import { ParamsDictionary } from '../../types/contractDetails.types';
5
+ /**
6
+ * Maps roles from authorization.
7
+ *
8
+ * @param {AuthMethod} [authorizationType] - The method of authorization.
9
+ * @param {string} [authorizationToken] - The authorization token.
10
+ * @returns {string[]} - The mapped roles.
11
+ */
12
+ /**
13
+ * Maps permissions from authorization.
14
+ *
15
+ * @param {AuthMethod} [authorizationType] - The method of authorization.
16
+ * @param {string} [authorizationToken] - The authorization token.
17
+ * @returns {string[]} - The mapped permissions.
18
+ */
19
+ /**
20
+ * Middleware to parse request authorization.
21
+ *
22
+ * @template SV - A type that extends AnySchemaValidator.
23
+ * @template Request - A type that extends ForklaunchRequest.
24
+ * @template Response - A type that extends ForklaunchResponse.
25
+ * @template NextFunction - A type that extends ForklaunchNextFunction.
26
+ * @param {Request} req - The request object.
27
+ * @param {Response} res - The response object.
28
+ * @param {NextFunction} [next] - The next middleware function.
29
+ */
30
+ export declare function parseRequestAuth<SV extends AnySchemaValidator, P extends ParamsDictionary, ResBodyMap extends Record<number, unknown>, ReqBody extends Record<string, unknown>, ReqQuery extends ParsedQs, ReqHeaders extends Record<string, string>, ResHeaders extends Record<string, string>, LocalsObj extends Record<string, unknown>>(req: ForklaunchRequest<SV, P, ReqBody, ReqQuery, ReqHeaders>, res: ForklaunchResponse<ResBodyMap, ResHeaders, LocalsObj>, next?: ForklaunchNextFunction): Promise<void>;
31
+ //# sourceMappingURL=auth.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../../../src/http/middleware/request/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAuC3C;;;;;;GAMG;AAQH;;;;;;GAMG;AAQH;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,gBAAgB,EAC1B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,SAAS,QAAQ,EACzB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,GAAG,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAC5D,GAAG,EAAE,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAC1D,IAAI,CAAC,EAAE,sBAAsB,iBA+C9B"}