adorn-api 1.0.4 → 1.0.5

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 (573) hide show
  1. package/README.md +766 -51
  2. package/dist/adapter/express/bootstrap.d.ts +24 -0
  3. package/dist/adapter/express/bootstrap.d.ts.map +1 -0
  4. package/dist/adapter/express/index.d.ts +41 -0
  5. package/dist/adapter/express/index.d.ts.map +1 -0
  6. package/dist/adapter/express/merge.d.ts +28 -0
  7. package/dist/adapter/express/merge.d.ts.map +1 -0
  8. package/dist/cli.cjs +1571 -0
  9. package/dist/cli.cjs.map +1 -0
  10. package/dist/cli.d.ts +1 -0
  11. package/dist/cli.js +1552 -2
  12. package/dist/cli.js.map +1 -1
  13. package/dist/compiler/analyze/scanControllers.d.ts +35 -0
  14. package/dist/compiler/analyze/scanControllers.d.ts.map +1 -0
  15. package/dist/compiler/cache/isStale.d.ts +20 -0
  16. package/dist/compiler/cache/isStale.d.ts.map +1 -0
  17. package/dist/compiler/cache/loadArtifacts.d.ts +113 -0
  18. package/dist/compiler/cache/loadArtifacts.d.ts.map +1 -0
  19. package/dist/compiler/cache/schema.d.ts +18 -0
  20. package/dist/compiler/cache/schema.d.ts.map +1 -0
  21. package/dist/compiler/cache/writeCache.d.ts +8 -0
  22. package/dist/compiler/cache/writeCache.d.ts.map +1 -0
  23. package/dist/compiler/manifest/emit.d.ts +7 -0
  24. package/dist/compiler/manifest/emit.d.ts.map +1 -0
  25. package/dist/compiler/manifest/format.d.ts +76 -0
  26. package/dist/compiler/manifest/format.d.ts.map +1 -0
  27. package/dist/compiler/runner/createProgram.d.ts +8 -0
  28. package/dist/compiler/runner/createProgram.d.ts.map +1 -0
  29. package/dist/compiler/schema/extractAnnotations.d.ts +10 -0
  30. package/dist/compiler/schema/extractAnnotations.d.ts.map +1 -0
  31. package/dist/compiler/schema/openapi.d.ts +19 -0
  32. package/dist/compiler/schema/openapi.d.ts.map +1 -0
  33. package/dist/compiler/schema/typeToJsonSchema.d.ts +49 -0
  34. package/dist/compiler/schema/typeToJsonSchema.d.ts.map +1 -0
  35. package/dist/compiler/validation/emitPrecompiledValidators.d.ts +46 -0
  36. package/dist/compiler/validation/emitPrecompiledValidators.d.ts.map +1 -0
  37. package/dist/decorators/Auth.d.ts +5 -0
  38. package/dist/decorators/Auth.d.ts.map +1 -0
  39. package/dist/decorators/Controller.d.ts +2 -0
  40. package/dist/decorators/Controller.d.ts.map +1 -0
  41. package/dist/decorators/Public.d.ts +2 -0
  42. package/dist/decorators/Public.d.ts.map +1 -0
  43. package/dist/decorators/Use.d.ts +5 -0
  44. package/dist/decorators/Use.d.ts.map +1 -0
  45. package/dist/decorators/index.d.ts +5 -6
  46. package/dist/decorators/index.d.ts.map +1 -1
  47. package/dist/decorators/methods.d.ts +5 -145
  48. package/dist/decorators/methods.d.ts.map +1 -1
  49. package/dist/express.cjs +775 -0
  50. package/dist/express.cjs.map +1 -0
  51. package/dist/express.d.ts +6 -1
  52. package/dist/express.d.ts.map +1 -1
  53. package/dist/express.js +738 -1
  54. package/dist/express.js.map +1 -1
  55. package/dist/http.d.ts +29 -0
  56. package/dist/http.d.ts.map +1 -0
  57. package/dist/index.cjs +573 -0
  58. package/dist/index.cjs.map +1 -0
  59. package/dist/index.d.ts +12 -14
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +490 -26
  62. package/dist/index.js.map +1 -1
  63. package/dist/metal/index.cjs +219 -0
  64. package/dist/metal/index.cjs.map +1 -0
  65. package/dist/metal/index.d.ts +6 -0
  66. package/dist/metal/index.d.ts.map +1 -0
  67. package/dist/metal/index.js +188 -0
  68. package/dist/metal/index.js.map +1 -0
  69. package/dist/metal/readMetalBag.d.ts +33 -0
  70. package/dist/metal/readMetalBag.d.ts.map +1 -0
  71. package/dist/metal/registerMetalEntities.d.ts +6 -0
  72. package/dist/metal/registerMetalEntities.d.ts.map +1 -0
  73. package/dist/metal/schemaFromEntity.d.ts +11 -0
  74. package/dist/metal/schemaFromEntity.d.ts.map +1 -0
  75. package/dist/metal/symbolMetadata.d.ts +2 -0
  76. package/dist/metal/symbolMetadata.d.ts.map +1 -0
  77. package/dist/runtime/auth/runtime.d.ts +34 -0
  78. package/dist/runtime/auth/runtime.d.ts.map +1 -0
  79. package/dist/runtime/metadata/bucket.d.ts +3 -0
  80. package/dist/runtime/metadata/bucket.d.ts.map +1 -0
  81. package/dist/runtime/metadata/key.d.ts +2 -0
  82. package/dist/runtime/metadata/key.d.ts.map +1 -0
  83. package/dist/runtime/metadata/read.d.ts +3 -0
  84. package/dist/runtime/metadata/read.d.ts.map +1 -0
  85. package/dist/runtime/metadata/types.d.ts +21 -0
  86. package/dist/runtime/metadata/types.d.ts.map +1 -0
  87. package/dist/runtime/polyfill.d.ts +2 -0
  88. package/dist/runtime/polyfill.d.ts.map +1 -0
  89. package/dist/runtime/upload.d.ts +7 -0
  90. package/dist/runtime/upload.d.ts.map +1 -0
  91. package/dist/runtime/validation/ajv.d.ts +20 -0
  92. package/dist/runtime/validation/ajv.d.ts.map +1 -0
  93. package/dist/runtime/validation/index.d.ts +2 -0
  94. package/dist/runtime/validation/index.d.ts.map +1 -0
  95. package/dist/schema/decorators.d.ts +37 -0
  96. package/dist/schema/decorators.d.ts.map +1 -0
  97. package/dist/schema/index.cjs +214 -0
  98. package/dist/schema/index.cjs.map +1 -0
  99. package/dist/schema/index.d.ts +2 -0
  100. package/dist/schema/index.d.ts.map +1 -0
  101. package/dist/schema/index.js +163 -0
  102. package/dist/schema/index.js.map +1 -0
  103. package/dist/scripts/adorn-example.cjs +148 -0
  104. package/dist/scripts/adorn-example.cjs.map +1 -0
  105. package/dist/utils/operationId.d.ts +2 -0
  106. package/dist/utils/operationId.d.ts.map +1 -0
  107. package/dist/utils/path.d.ts +2 -0
  108. package/dist/utils/path.d.ts.map +1 -0
  109. package/package.json +92 -57
  110. package/dist/adapters/express/createApp.d.ts +0 -158
  111. package/dist/adapters/express/createApp.d.ts.map +0 -1
  112. package/dist/adapters/express/createApp.js +0 -141
  113. package/dist/adapters/express/createApp.js.map +0 -1
  114. package/dist/adapters/express/index.d.ts +0 -7
  115. package/dist/adapters/express/index.d.ts.map +0 -1
  116. package/dist/adapters/express/index.js +0 -7
  117. package/dist/adapters/express/index.js.map +0 -1
  118. package/dist/adapters/express/middleware/errorHandler.d.ts +0 -194
  119. package/dist/adapters/express/middleware/errorHandler.d.ts.map +0 -1
  120. package/dist/adapters/express/middleware/errorHandler.js +0 -167
  121. package/dist/adapters/express/middleware/errorHandler.js.map +0 -1
  122. package/dist/adapters/express/middleware/requestContext.d.ts +0 -2
  123. package/dist/adapters/express/middleware/requestContext.d.ts.map +0 -1
  124. package/dist/adapters/express/middleware/requestContext.js +0 -3
  125. package/dist/adapters/express/middleware/requestContext.js.map +0 -1
  126. package/dist/adapters/express/router.d.ts +0 -10
  127. package/dist/adapters/express/router.d.ts.map +0 -1
  128. package/dist/adapters/express/router.js +0 -105
  129. package/dist/adapters/express/router.js.map +0 -1
  130. package/dist/adapters/express/swagger/index.d.ts +0 -2
  131. package/dist/adapters/express/swagger/index.d.ts.map +0 -1
  132. package/dist/adapters/express/swagger/index.js +0 -2
  133. package/dist/adapters/express/swagger/index.js.map +0 -1
  134. package/dist/adapters/express/swagger/serve.d.ts +0 -12
  135. package/dist/adapters/express/swagger/serve.d.ts.map +0 -1
  136. package/dist/adapters/express/swagger/serve.js +0 -72
  137. package/dist/adapters/express/swagger/serve.js.map +0 -1
  138. package/dist/adapters/express/transport/request.d.ts +0 -4
  139. package/dist/adapters/express/transport/request.d.ts.map +0 -1
  140. package/dist/adapters/express/transport/request.js +0 -12
  141. package/dist/adapters/express/transport/request.js.map +0 -1
  142. package/dist/adapters/express/transport/response.d.ts +0 -5
  143. package/dist/adapters/express/transport/response.d.ts.map +0 -1
  144. package/dist/adapters/express/transport/response.js +0 -36
  145. package/dist/adapters/express/transport/response.js.map +0 -1
  146. package/dist/cli/commands/dev.d.ts +0 -2
  147. package/dist/cli/commands/dev.d.ts.map +0 -1
  148. package/dist/cli/commands/dev.js +0 -3
  149. package/dist/cli/commands/dev.js.map +0 -1
  150. package/dist/cli/commands/gen.d.ts +0 -2
  151. package/dist/cli/commands/gen.d.ts.map +0 -1
  152. package/dist/cli/commands/gen.js +0 -3
  153. package/dist/cli/commands/gen.js.map +0 -1
  154. package/dist/cli/main.d.ts +0 -2
  155. package/dist/cli/main.d.ts.map +0 -1
  156. package/dist/cli/main.js +0 -3
  157. package/dist/cli/main.js.map +0 -1
  158. package/dist/compiler/config/defaults.d.ts +0 -2
  159. package/dist/compiler/config/defaults.d.ts.map +0 -1
  160. package/dist/compiler/config/defaults.js +0 -3
  161. package/dist/compiler/config/defaults.js.map +0 -1
  162. package/dist/compiler/config/loadConfig.d.ts +0 -2
  163. package/dist/compiler/config/loadConfig.d.ts.map +0 -1
  164. package/dist/compiler/config/loadConfig.js +0 -3
  165. package/dist/compiler/config/loadConfig.js.map +0 -1
  166. package/dist/compiler/diagnostics/errors.d.ts +0 -2
  167. package/dist/compiler/diagnostics/errors.d.ts.map +0 -1
  168. package/dist/compiler/diagnostics/errors.js +0 -3
  169. package/dist/compiler/diagnostics/errors.js.map +0 -1
  170. package/dist/compiler/emit/openapi.d.ts +0 -2
  171. package/dist/compiler/emit/openapi.d.ts.map +0 -1
  172. package/dist/compiler/emit/openapi.js +0 -3
  173. package/dist/compiler/emit/openapi.js.map +0 -1
  174. package/dist/compiler/emit/routes.d.ts +0 -2
  175. package/dist/compiler/emit/routes.d.ts.map +0 -1
  176. package/dist/compiler/emit/routes.js +0 -3
  177. package/dist/compiler/emit/routes.js.map +0 -1
  178. package/dist/compiler/program/loadTsProgram.d.ts +0 -2
  179. package/dist/compiler/program/loadTsProgram.d.ts.map +0 -1
  180. package/dist/compiler/program/loadTsProgram.js +0 -3
  181. package/dist/compiler/program/loadTsProgram.js.map +0 -1
  182. package/dist/compiler/scan/actions.d.ts +0 -2
  183. package/dist/compiler/scan/actions.d.ts.map +0 -1
  184. package/dist/compiler/scan/actions.js +0 -3
  185. package/dist/compiler/scan/actions.js.map +0 -1
  186. package/dist/compiler/scan/controllers.d.ts +0 -2
  187. package/dist/compiler/scan/controllers.d.ts.map +0 -1
  188. package/dist/compiler/scan/controllers.js +0 -3
  189. package/dist/compiler/scan/controllers.js.map +0 -1
  190. package/dist/compiler/scan/types.d.ts +0 -2
  191. package/dist/compiler/scan/types.d.ts.map +0 -1
  192. package/dist/compiler/scan/types.js +0 -3
  193. package/dist/compiler/scan/types.js.map +0 -1
  194. package/dist/contracts/context.d.ts +0 -10
  195. package/dist/contracts/context.d.ts.map +0 -1
  196. package/dist/contracts/context.js +0 -2
  197. package/dist/contracts/context.js.map +0 -1
  198. package/dist/contracts/errors.d.ts +0 -22
  199. package/dist/contracts/errors.d.ts.map +0 -1
  200. package/dist/contracts/errors.js +0 -2
  201. package/dist/contracts/errors.js.map +0 -1
  202. package/dist/contracts/http.d.ts +0 -2
  203. package/dist/contracts/http.d.ts.map +0 -1
  204. package/dist/contracts/http.js +0 -3
  205. package/dist/contracts/http.js.map +0 -1
  206. package/dist/contracts/middleware.d.ts +0 -2
  207. package/dist/contracts/middleware.d.ts.map +0 -1
  208. package/dist/contracts/middleware.js +0 -3
  209. package/dist/contracts/middleware.js.map +0 -1
  210. package/dist/contracts/openapi-v3.d.ts +0 -538
  211. package/dist/contracts/openapi-v3.d.ts.map +0 -1
  212. package/dist/contracts/openapi-v3.js +0 -2
  213. package/dist/contracts/openapi-v3.js.map +0 -1
  214. package/dist/contracts/openapi.d.ts +0 -2
  215. package/dist/contracts/openapi.d.ts.map +0 -1
  216. package/dist/contracts/openapi.js +0 -2
  217. package/dist/contracts/openapi.js.map +0 -1
  218. package/dist/contracts/reply.d.ts +0 -119
  219. package/dist/contracts/reply.d.ts.map +0 -1
  220. package/dist/contracts/reply.js +0 -43
  221. package/dist/contracts/reply.js.map +0 -1
  222. package/dist/contracts/response-types.d.ts +0 -40
  223. package/dist/contracts/response-types.d.ts.map +0 -1
  224. package/dist/contracts/response-types.js +0 -2
  225. package/dist/contracts/response-types.js.map +0 -1
  226. package/dist/contracts/responses.d.ts +0 -98
  227. package/dist/contracts/responses.d.ts.map +0 -1
  228. package/dist/contracts/responses.js +0 -2
  229. package/dist/contracts/responses.js.map +0 -1
  230. package/dist/contracts/route-options.d.ts +0 -155
  231. package/dist/contracts/route-options.d.ts.map +0 -1
  232. package/dist/contracts/route-options.js +0 -2
  233. package/dist/contracts/route-options.js.map +0 -1
  234. package/dist/contracts/route-typing.d.ts +0 -25
  235. package/dist/contracts/route-typing.d.ts.map +0 -1
  236. package/dist/contracts/route-typing.js +0 -2
  237. package/dist/contracts/route-typing.js.map +0 -1
  238. package/dist/contracts/validator.d.ts +0 -146
  239. package/dist/contracts/validator.d.ts.map +0 -1
  240. package/dist/contracts/validator.js +0 -2
  241. package/dist/contracts/validator.js.map +0 -1
  242. package/dist/core/binding/binder.d.ts +0 -74
  243. package/dist/core/binding/binder.d.ts.map +0 -1
  244. package/dist/core/binding/binder.js +0 -161
  245. package/dist/core/binding/binder.js.map +0 -1
  246. package/dist/core/binding/coerce/arrays.d.ts +0 -7
  247. package/dist/core/binding/coerce/arrays.d.ts.map +0 -1
  248. package/dist/core/binding/coerce/arrays.js +0 -28
  249. package/dist/core/binding/coerce/arrays.js.map +0 -1
  250. package/dist/core/binding/coerce/csv.d.ts +0 -2
  251. package/dist/core/binding/coerce/csv.d.ts.map +0 -1
  252. package/dist/core/binding/coerce/csv.js +0 -7
  253. package/dist/core/binding/coerce/csv.js.map +0 -1
  254. package/dist/core/binding/coerce/objects.d.ts +0 -2
  255. package/dist/core/binding/coerce/objects.d.ts.map +0 -1
  256. package/dist/core/binding/coerce/objects.js +0 -3
  257. package/dist/core/binding/coerce/objects.js.map +0 -1
  258. package/dist/core/binding/coerce/primitives.d.ts +0 -70
  259. package/dist/core/binding/coerce/primitives.d.ts.map +0 -1
  260. package/dist/core/binding/coerce/primitives.js +0 -88
  261. package/dist/core/binding/coerce/primitives.js.map +0 -1
  262. package/dist/core/binding/index.d.ts +0 -2
  263. package/dist/core/binding/index.d.ts.map +0 -1
  264. package/dist/core/binding/index.js +0 -2
  265. package/dist/core/binding/index.js.map +0 -1
  266. package/dist/core/binding/rules/inferFromHttpMethod.d.ts +0 -6
  267. package/dist/core/binding/rules/inferFromHttpMethod.d.ts.map +0 -1
  268. package/dist/core/binding/rules/inferFromHttpMethod.js +0 -11
  269. package/dist/core/binding/rules/inferFromHttpMethod.js.map +0 -1
  270. package/dist/core/binding/rules/inferFromPath.d.ts +0 -2
  271. package/dist/core/binding/rules/inferFromPath.d.ts.map +0 -1
  272. package/dist/core/binding/rules/inferFromPath.js +0 -9
  273. package/dist/core/binding/rules/inferFromPath.js.map +0 -1
  274. package/dist/core/binding/rules/wrappers.d.ts +0 -2
  275. package/dist/core/binding/rules/wrappers.d.ts.map +0 -1
  276. package/dist/core/binding/rules/wrappers.js +0 -3
  277. package/dist/core/binding/rules/wrappers.js.map +0 -1
  278. package/dist/core/errors/http-error.d.ts +0 -63
  279. package/dist/core/errors/http-error.d.ts.map +0 -1
  280. package/dist/core/errors/http-error.js +0 -71
  281. package/dist/core/errors/http-error.js.map +0 -1
  282. package/dist/core/errors/index.d.ts +0 -4
  283. package/dist/core/errors/index.d.ts.map +0 -1
  284. package/dist/core/errors/index.js +0 -4
  285. package/dist/core/errors/index.js.map +0 -1
  286. package/dist/core/errors/problem.d.ts +0 -3
  287. package/dist/core/errors/problem.d.ts.map +0 -1
  288. package/dist/core/errors/problem.js +0 -33
  289. package/dist/core/errors/problem.js.map +0 -1
  290. package/dist/core/errors/validation-error.d.ts +0 -73
  291. package/dist/core/errors/validation-error.d.ts.map +0 -1
  292. package/dist/core/errors/validation-error.js +0 -82
  293. package/dist/core/errors/validation-error.js.map +0 -1
  294. package/dist/core/openapi/buildOpenApi.d.ts +0 -79
  295. package/dist/core/openapi/buildOpenApi.d.ts.map +0 -1
  296. package/dist/core/openapi/buildOpenApi.js +0 -196
  297. package/dist/core/openapi/buildOpenApi.js.map +0 -1
  298. package/dist/core/openapi/index.d.ts +0 -2
  299. package/dist/core/openapi/index.d.ts.map +0 -1
  300. package/dist/core/openapi/index.js +0 -2
  301. package/dist/core/openapi/index.js.map +0 -1
  302. package/dist/core/openapi/schema/formats.d.ts +0 -2
  303. package/dist/core/openapi/schema/formats.d.ts.map +0 -1
  304. package/dist/core/openapi/schema/formats.js +0 -3
  305. package/dist/core/openapi/schema/formats.js.map +0 -1
  306. package/dist/core/openapi/schema/registry.d.ts +0 -9
  307. package/dist/core/openapi/schema/registry.d.ts.map +0 -1
  308. package/dist/core/openapi/schema/registry.js +0 -21
  309. package/dist/core/openapi/schema/registry.js.map +0 -1
  310. package/dist/core/openapi/schema/schemaModel.d.ts +0 -2
  311. package/dist/core/openapi/schema/schemaModel.d.ts.map +0 -1
  312. package/dist/core/openapi/schema/schemaModel.js +0 -3
  313. package/dist/core/openapi/schema/schemaModel.js.map +0 -1
  314. package/dist/core/openapi/schema/schemaRegistry.d.ts +0 -2
  315. package/dist/core/openapi/schema/schemaRegistry.d.ts.map +0 -1
  316. package/dist/core/openapi/schema/schemaRegistry.js +0 -3
  317. package/dist/core/openapi/schema/schemaRegistry.js.map +0 -1
  318. package/dist/core/openapi/schema/toOpenApi.d.ts +0 -4
  319. package/dist/core/openapi/schema/toOpenApi.d.ts.map +0 -1
  320. package/dist/core/openapi/schema/toOpenApi.js +0 -82
  321. package/dist/core/openapi/schema/toOpenApi.js.map +0 -1
  322. package/dist/core/pipeline/compose.d.ts +0 -2
  323. package/dist/core/pipeline/compose.d.ts.map +0 -1
  324. package/dist/core/pipeline/compose.js +0 -3
  325. package/dist/core/pipeline/compose.js.map +0 -1
  326. package/dist/core/pipeline/errorMap.d.ts +0 -2
  327. package/dist/core/pipeline/errorMap.d.ts.map +0 -1
  328. package/dist/core/pipeline/errorMap.js +0 -3
  329. package/dist/core/pipeline/errorMap.js.map +0 -1
  330. package/dist/core/pipeline/invoke.d.ts +0 -2
  331. package/dist/core/pipeline/invoke.d.ts.map +0 -1
  332. package/dist/core/pipeline/invoke.js +0 -3
  333. package/dist/core/pipeline/invoke.js.map +0 -1
  334. package/dist/core/pipeline/result.d.ts +0 -2
  335. package/dist/core/pipeline/result.d.ts.map +0 -1
  336. package/dist/core/pipeline/result.js +0 -3
  337. package/dist/core/pipeline/result.js.map +0 -1
  338. package/dist/core/registry/buildRegistry.d.ts +0 -3
  339. package/dist/core/registry/buildRegistry.d.ts.map +0 -1
  340. package/dist/core/registry/buildRegistry.js +0 -105
  341. package/dist/core/registry/buildRegistry.js.map +0 -1
  342. package/dist/core/registry/conflicts.d.ts +0 -6
  343. package/dist/core/registry/conflicts.d.ts.map +0 -1
  344. package/dist/core/registry/conflicts.js +0 -21
  345. package/dist/core/registry/conflicts.js.map +0 -1
  346. package/dist/core/registry/index.d.ts +0 -5
  347. package/dist/core/registry/index.d.ts.map +0 -1
  348. package/dist/core/registry/index.js +0 -5
  349. package/dist/core/registry/index.js.map +0 -1
  350. package/dist/core/registry/normalize.d.ts +0 -3
  351. package/dist/core/registry/normalize.d.ts.map +0 -1
  352. package/dist/core/registry/normalize.js +0 -24
  353. package/dist/core/registry/normalize.js.map +0 -1
  354. package/dist/core/registry/types.d.ts +0 -225
  355. package/dist/core/registry/types.d.ts.map +0 -1
  356. package/dist/core/registry/types.js +0 -2
  357. package/dist/core/registry/types.js.map +0 -1
  358. package/dist/core/reply/index.d.ts +0 -3
  359. package/dist/core/reply/index.d.ts.map +0 -1
  360. package/dist/core/reply/index.js +0 -3
  361. package/dist/core/reply/index.js.map +0 -1
  362. package/dist/core/reply/reply.d.ts +0 -102
  363. package/dist/core/reply/reply.d.ts.map +0 -1
  364. package/dist/core/reply/reply.js +0 -105
  365. package/dist/core/reply/reply.js.map +0 -1
  366. package/dist/core/reply/typed.d.ts +0 -161
  367. package/dist/core/reply/typed.d.ts.map +0 -1
  368. package/dist/core/reply/typed.js +0 -154
  369. package/dist/core/reply/typed.js.map +0 -1
  370. package/dist/core/responses/helpers.d.ts +0 -10
  371. package/dist/core/responses/helpers.d.ts.map +0 -1
  372. package/dist/core/responses/helpers.js +0 -8
  373. package/dist/core/responses/helpers.js.map +0 -1
  374. package/dist/core/responses/index.d.ts +0 -4
  375. package/dist/core/responses/index.d.ts.map +0 -1
  376. package/dist/core/responses/index.js +0 -4
  377. package/dist/core/responses/index.js.map +0 -1
  378. package/dist/core/responses/normalize.d.ts +0 -3
  379. package/dist/core/responses/normalize.d.ts.map +0 -1
  380. package/dist/core/responses/normalize.js +0 -33
  381. package/dist/core/responses/normalize.js.map +0 -1
  382. package/dist/core/responses/pickStatus.d.ts +0 -3
  383. package/dist/core/responses/pickStatus.d.ts.map +0 -1
  384. package/dist/core/responses/pickStatus.js +0 -27
  385. package/dist/core/responses/pickStatus.js.map +0 -1
  386. package/dist/core/route/defineRoute.d.ts +0 -74
  387. package/dist/core/route/defineRoute.d.ts.map +0 -1
  388. package/dist/core/route/defineRoute.js +0 -59
  389. package/dist/core/route/defineRoute.js.map +0 -1
  390. package/dist/core/route/index.d.ts +0 -2
  391. package/dist/core/route/index.d.ts.map +0 -1
  392. package/dist/core/route/index.js +0 -2
  393. package/dist/core/route/index.js.map +0 -1
  394. package/dist/core/serialization/json.d.ts +0 -2
  395. package/dist/core/serialization/json.d.ts.map +0 -1
  396. package/dist/core/serialization/json.js +0 -3
  397. package/dist/core/serialization/json.js.map +0 -1
  398. package/dist/core/typing/path-params.d.ts +0 -2
  399. package/dist/core/typing/path-params.d.ts.map +0 -1
  400. package/dist/core/typing/path-params.js +0 -2
  401. package/dist/core/typing/path-params.js.map +0 -1
  402. package/dist/decorators/binding.d.ts +0 -9
  403. package/dist/decorators/binding.d.ts.map +0 -1
  404. package/dist/decorators/binding.js +0 -18
  405. package/dist/decorators/binding.js.map +0 -1
  406. package/dist/decorators/controller.d.ts +0 -6
  407. package/dist/decorators/controller.d.ts.map +0 -1
  408. package/dist/decorators/controller.js +0 -26
  409. package/dist/decorators/controller.js.map +0 -1
  410. package/dist/decorators/db.d.ts +0 -2
  411. package/dist/decorators/db.d.ts.map +0 -1
  412. package/dist/decorators/db.js +0 -3
  413. package/dist/decorators/db.js.map +0 -1
  414. package/dist/decorators/docs.d.ts +0 -8
  415. package/dist/decorators/docs.d.ts.map +0 -1
  416. package/dist/decorators/docs.js +0 -46
  417. package/dist/decorators/docs.js.map +0 -1
  418. package/dist/decorators/index.js +0 -7
  419. package/dist/decorators/index.js.map +0 -1
  420. package/dist/decorators/methods.js +0 -170
  421. package/dist/decorators/methods.js.map +0 -1
  422. package/dist/decorators/middleware.d.ts +0 -2
  423. package/dist/decorators/middleware.d.ts.map +0 -1
  424. package/dist/decorators/middleware.js +0 -3
  425. package/dist/decorators/middleware.js.map +0 -1
  426. package/dist/decorators/responses.d.ts +0 -7
  427. package/dist/decorators/responses.d.ts.map +0 -1
  428. package/dist/decorators/responses.js +0 -44
  429. package/dist/decorators/responses.js.map +0 -1
  430. package/dist/decorators/security.d.ts +0 -8
  431. package/dist/decorators/security.d.ts.map +0 -1
  432. package/dist/decorators/security.js +0 -39
  433. package/dist/decorators/security.js.map +0 -1
  434. package/dist/integrations/metal-orm/index.d.ts +0 -2
  435. package/dist/integrations/metal-orm/index.d.ts.map +0 -1
  436. package/dist/integrations/metal-orm/index.js +0 -2
  437. package/dist/integrations/metal-orm/index.js.map +0 -1
  438. package/dist/integrations/metal-orm/pagination/executePaged.d.ts +0 -2
  439. package/dist/integrations/metal-orm/pagination/executePaged.d.ts.map +0 -1
  440. package/dist/integrations/metal-orm/pagination/executePaged.js +0 -3
  441. package/dist/integrations/metal-orm/pagination/executePaged.js.map +0 -1
  442. package/dist/integrations/metal-orm/pagination/page.d.ts +0 -2
  443. package/dist/integrations/metal-orm/pagination/page.d.ts.map +0 -1
  444. package/dist/integrations/metal-orm/pagination/page.js +0 -3
  445. package/dist/integrations/metal-orm/pagination/page.js.map +0 -1
  446. package/dist/integrations/metal-orm/query/filters.d.ts +0 -2
  447. package/dist/integrations/metal-orm/query/filters.d.ts.map +0 -1
  448. package/dist/integrations/metal-orm/query/filters.js +0 -3
  449. package/dist/integrations/metal-orm/query/filters.js.map +0 -1
  450. package/dist/integrations/metal-orm/query/search.d.ts +0 -2
  451. package/dist/integrations/metal-orm/query/search.d.ts.map +0 -1
  452. package/dist/integrations/metal-orm/query/search.js +0 -3
  453. package/dist/integrations/metal-orm/query/search.js.map +0 -1
  454. package/dist/integrations/metal-orm/query/sort.d.ts +0 -2
  455. package/dist/integrations/metal-orm/query/sort.d.ts.map +0 -1
  456. package/dist/integrations/metal-orm/query/sort.js +0 -3
  457. package/dist/integrations/metal-orm/query/sort.js.map +0 -1
  458. package/dist/integrations/metal-orm/save-graph/helpers.d.ts +0 -2
  459. package/dist/integrations/metal-orm/save-graph/helpers.d.ts.map +0 -1
  460. package/dist/integrations/metal-orm/save-graph/helpers.js +0 -3
  461. package/dist/integrations/metal-orm/save-graph/helpers.js.map +0 -1
  462. package/dist/integrations/metal-orm/save-graph/types.d.ts +0 -2
  463. package/dist/integrations/metal-orm/save-graph/types.d.ts.map +0 -1
  464. package/dist/integrations/metal-orm/save-graph/types.js +0 -3
  465. package/dist/integrations/metal-orm/save-graph/types.js.map +0 -1
  466. package/dist/integrations/metal-orm/schema/column-map.d.ts +0 -96
  467. package/dist/integrations/metal-orm/schema/column-map.d.ts.map +0 -1
  468. package/dist/integrations/metal-orm/schema/column-map.js +0 -207
  469. package/dist/integrations/metal-orm/schema/column-map.js.map +0 -1
  470. package/dist/integrations/metal-orm/schema/ddl.d.ts +0 -2
  471. package/dist/integrations/metal-orm/schema/ddl.d.ts.map +0 -1
  472. package/dist/integrations/metal-orm/schema/ddl.js +0 -3
  473. package/dist/integrations/metal-orm/schema/ddl.js.map +0 -1
  474. package/dist/integrations/metal-orm/schema/dto.d.ts +0 -7
  475. package/dist/integrations/metal-orm/schema/dto.d.ts.map +0 -1
  476. package/dist/integrations/metal-orm/schema/dto.js +0 -34
  477. package/dist/integrations/metal-orm/schema/dto.js.map +0 -1
  478. package/dist/integrations/metal-orm/schema/entity.d.ts +0 -99
  479. package/dist/integrations/metal-orm/schema/entity.d.ts.map +0 -1
  480. package/dist/integrations/metal-orm/schema/entity.js +0 -99
  481. package/dist/integrations/metal-orm/schema/entity.js.map +0 -1
  482. package/dist/integrations/metal-orm/schema/filters.d.ts +0 -11
  483. package/dist/integrations/metal-orm/schema/filters.d.ts.map +0 -1
  484. package/dist/integrations/metal-orm/schema/filters.js +0 -21
  485. package/dist/integrations/metal-orm/schema/filters.js.map +0 -1
  486. package/dist/integrations/metal-orm/schema/index.d.ts +0 -5
  487. package/dist/integrations/metal-orm/schema/index.d.ts.map +0 -1
  488. package/dist/integrations/metal-orm/schema/index.js +0 -5
  489. package/dist/integrations/metal-orm/schema/index.js.map +0 -1
  490. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts +0 -2
  491. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts.map +0 -1
  492. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js +0 -3
  493. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js.map +0 -1
  494. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts +0 -2
  495. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts.map +0 -1
  496. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js +0 -3
  497. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js.map +0 -1
  498. package/dist/integrations/metal-orm/schema/sqlite.d.ts +0 -2
  499. package/dist/integrations/metal-orm/schema/sqlite.d.ts.map +0 -1
  500. package/dist/integrations/metal-orm/schema/sqlite.js +0 -3
  501. package/dist/integrations/metal-orm/schema/sqlite.js.map +0 -1
  502. package/dist/integrations/metal-orm/schema/tabledef.d.ts +0 -4
  503. package/dist/integrations/metal-orm/schema/tabledef.d.ts.map +0 -1
  504. package/dist/integrations/metal-orm/schema/tabledef.js +0 -10
  505. package/dist/integrations/metal-orm/schema/tabledef.js.map +0 -1
  506. package/dist/integrations/metal-orm/schema/types.d.ts +0 -7
  507. package/dist/integrations/metal-orm/schema/types.d.ts.map +0 -1
  508. package/dist/integrations/metal-orm/schema/types.js +0 -2
  509. package/dist/integrations/metal-orm/schema/types.js.map +0 -1
  510. package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts +0 -2
  511. package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts.map +0 -1
  512. package/dist/integrations/metal-orm/serialization/entitySerializer.js +0 -3
  513. package/dist/integrations/metal-orm/serialization/entitySerializer.js.map +0 -1
  514. package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts +0 -2
  515. package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts.map +0 -1
  516. package/dist/integrations/metal-orm/serialization/relationPolicy.js +0 -3
  517. package/dist/integrations/metal-orm/serialization/relationPolicy.js.map +0 -1
  518. package/dist/integrations/metal-orm/session/context.d.ts +0 -2
  519. package/dist/integrations/metal-orm/session/context.d.ts.map +0 -1
  520. package/dist/integrations/metal-orm/session/context.js +0 -3
  521. package/dist/integrations/metal-orm/session/context.js.map +0 -1
  522. package/dist/integrations/metal-orm/session/middleware.d.ts +0 -2
  523. package/dist/integrations/metal-orm/session/middleware.d.ts.map +0 -1
  524. package/dist/integrations/metal-orm/session/middleware.js +0 -3
  525. package/dist/integrations/metal-orm/session/middleware.js.map +0 -1
  526. package/dist/integrations/metal-orm/session/transaction.d.ts +0 -2
  527. package/dist/integrations/metal-orm/session/transaction.d.ts.map +0 -1
  528. package/dist/integrations/metal-orm/session/transaction.js +0 -3
  529. package/dist/integrations/metal-orm/session/transaction.js.map +0 -1
  530. package/dist/integrations/metal-orm/testing/setupSchema.d.ts +0 -2
  531. package/dist/integrations/metal-orm/testing/setupSchema.d.ts.map +0 -1
  532. package/dist/integrations/metal-orm/testing/setupSchema.js +0 -3
  533. package/dist/integrations/metal-orm/testing/setupSchema.js.map +0 -1
  534. package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts +0 -2
  535. package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts.map +0 -1
  536. package/dist/integrations/metal-orm/testing/sqliteMemory.js +0 -3
  537. package/dist/integrations/metal-orm/testing/sqliteMemory.js.map +0 -1
  538. package/dist/metadata/bag.d.ts +0 -18
  539. package/dist/metadata/bag.d.ts.map +0 -1
  540. package/dist/metadata/bag.js +0 -39
  541. package/dist/metadata/bag.js.map +0 -1
  542. package/dist/metadata/index.d.ts +0 -4
  543. package/dist/metadata/index.d.ts.map +0 -1
  544. package/dist/metadata/index.js +0 -4
  545. package/dist/metadata/index.js.map +0 -1
  546. package/dist/metadata/keys.d.ts +0 -254
  547. package/dist/metadata/keys.d.ts.map +0 -1
  548. package/dist/metadata/keys.js +0 -23
  549. package/dist/metadata/keys.js.map +0 -1
  550. package/dist/metadata/merge.d.ts +0 -9
  551. package/dist/metadata/merge.d.ts.map +0 -1
  552. package/dist/metadata/merge.js +0 -30
  553. package/dist/metadata/merge.js.map +0 -1
  554. package/dist/metal-orm.d.ts +0 -2
  555. package/dist/metal-orm.d.ts.map +0 -1
  556. package/dist/metal-orm.js +0 -2
  557. package/dist/metal-orm.js.map +0 -1
  558. package/dist/validation/native/index.d.ts +0 -3
  559. package/dist/validation/native/index.d.ts.map +0 -1
  560. package/dist/validation/native/index.js +0 -3
  561. package/dist/validation/native/index.js.map +0 -1
  562. package/dist/validation/native/ir.d.ts +0 -38
  563. package/dist/validation/native/ir.d.ts.map +0 -1
  564. package/dist/validation/native/ir.js +0 -2
  565. package/dist/validation/native/ir.js.map +0 -1
  566. package/dist/validation/native/schema.d.ts +0 -63
  567. package/dist/validation/native/schema.d.ts.map +0 -1
  568. package/dist/validation/native/schema.js +0 -271
  569. package/dist/validation/native/schema.js.map +0 -1
  570. package/dist/validation/native/validator.d.ts +0 -21
  571. package/dist/validation/native/validator.d.ts.map +0 -1
  572. package/dist/validation/native/validator.js +0 -48
  573. package/dist/validation/native/validator.js.map +0 -1
@@ -1,161 +0,0 @@
1
- import { HttpError } from '../errors/http-error.js';
2
- import { getPathTokenNames } from './rules/inferFromPath.js';
3
- import { conventionForMethod } from './rules/inferFromHttpMethod.js';
4
- import { coerceObjectSmart, coerceValueSmart } from './coerce/arrays.js';
5
- /**
6
- * Binds request data to handler function arguments based on route configuration.
7
- *
8
- * This function automatically maps path parameters, query parameters, and request body
9
- * to the handler function arguments based on the route's binding configuration and
10
- * HTTP method conventions.
11
- *
12
- * @param route - The route entry containing metadata about the handler
13
- * @param handler - The handler function to bind arguments for
14
- * @param ctx - The request context containing params, query, and body
15
- * @param opts - Binding options to control behavior
16
- * @returns Object containing args to pass to handler and prepared binding data
17
- *
18
- * @example
19
- * ```typescript
20
- * // For a route like: @Get('/users/:id')
21
- * // With handler: async getUser(id: string, ctx: RequestContext)
22
- * const { args } = bindArgs(route, handler, requestContext);
23
- * const result = await handler(...args); // Automatically passes id and ctx
24
- * ```
25
- *
26
- * @example
27
- * ```typescript
28
- * // For a POST route with body
29
- * // @Post('/users')
30
- * // async createUser(userData: CreateUserDto)
31
- * const { args } = bindArgs(route, handler, requestContext);
32
- * const result = await handler(...args); // Automatically passes parsed body
33
- * ```
34
- *
35
- * @see RouteEntry for route metadata structure
36
- * @see RequestContext for request data structure
37
- */
38
- export function bindArgs(route, handler, ctx, opts = {}) {
39
- const passContext = opts.passContext ?? true;
40
- const coerceMode = opts.coerce ?? 'smart';
41
- const csv = opts.csv ?? true;
42
- const tokenNames = getPathTokenNames(route.fullPath);
43
- const methodBindings = route.bindings?.byMethod?.[route.handlerName];
44
- const pathTypes = methodBindings?.path ?? {};
45
- const rawParams = ctx.params ?? {};
46
- const preparedParams = {};
47
- const pathArgs = tokenNames.map((t) => {
48
- const raw = rawParams[t];
49
- const hint = pathTypes[t];
50
- const value = coercePathValue(raw, hint, t);
51
- preparedParams[t] = value;
52
- return value;
53
- });
54
- for (const [key, value] of Object.entries(rawParams)) {
55
- if (!(key in preparedParams)) {
56
- preparedParams[key] = value;
57
- }
58
- }
59
- const conv = conventionForMethod(route.method);
60
- const expected = typeof handler.length === 'number' ? handler.length : pathArgs.length;
61
- const args = [...pathArgs];
62
- const remainingSlots = Math.max(0, expected - args.length);
63
- const preparedQuery = coerceMode === 'smart'
64
- ? coerceObjectSmart(normalizeQuery(ctx.query), { csv })
65
- : normalizeQuery(ctx.query);
66
- const preparedBody = coerceMode === 'smart'
67
- ? coerceValueSmart(ctx.body, { csv })
68
- : ctx.body;
69
- if (remainingSlots > 0) {
70
- const payloads = [];
71
- if (conv.primary === 'query')
72
- payloads.push(preparedQuery);
73
- else if (conv.primary === 'body')
74
- payloads.push(preparedBody);
75
- if (conv.secondary === 'query')
76
- payloads.push(preparedQuery);
77
- else if (conv.secondary === 'body')
78
- payloads.push(preparedBody);
79
- for (let i = 0; i < Math.min(remainingSlots, payloads.length); i++) {
80
- args.push(payloads[i]);
81
- }
82
- }
83
- if (passContext && args.length < expected) {
84
- args.push(ctx);
85
- }
86
- return {
87
- args,
88
- prepared: {
89
- params: preparedParams,
90
- query: preparedQuery,
91
- body: preparedBody,
92
- },
93
- };
94
- }
95
- function normalizeQuery(q) {
96
- if (!q || typeof q !== 'object')
97
- return {};
98
- const out = {};
99
- for (const [k, v] of Object.entries(q)) {
100
- out[k] = v;
101
- }
102
- return out;
103
- }
104
- function coercePathValue(raw, hint, paramName) {
105
- if (raw === undefined)
106
- return undefined;
107
- switch (hint) {
108
- case 'string':
109
- return raw;
110
- case 'boolean': {
111
- const s = raw.trim().toLowerCase();
112
- if (s === 'true')
113
- return true;
114
- if (s === 'false')
115
- return false;
116
- throw new HttpError(400, `Invalid boolean for path param "${paramName ?? '?'}"`, {
117
- code: 'INVALID_PATH_PARAM',
118
- details: { param: paramName, expected: 'boolean', got: raw },
119
- });
120
- }
121
- case 'int': {
122
- if (!/^-?\d+$/.test(raw)) {
123
- throw new HttpError(400, `Invalid int for path param "${paramName ?? '?'}"`, {
124
- code: 'INVALID_PATH_PARAM',
125
- details: { param: paramName, expected: 'int', got: raw },
126
- });
127
- }
128
- const n = Number(raw);
129
- if (!Number.isSafeInteger(n)) {
130
- throw new HttpError(400, `Unsafe int for path param "${paramName ?? '?'}"`, {
131
- code: 'INVALID_PATH_PARAM',
132
- details: { param: paramName, expected: 'int(safe)', got: raw },
133
- });
134
- }
135
- return n;
136
- }
137
- case 'number': {
138
- const n = Number(raw);
139
- if (!Number.isFinite(n)) {
140
- throw new HttpError(400, `Invalid number for path param "${paramName ?? '?'}"`, {
141
- code: 'INVALID_PATH_PARAM',
142
- details: { param: paramName, expected: 'number', got: raw },
143
- });
144
- }
145
- return n;
146
- }
147
- case 'uuid': {
148
- const ok = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(raw);
149
- if (!ok) {
150
- throw new HttpError(400, `Invalid uuid for path param "${paramName ?? '?'}"`, {
151
- code: 'INVALID_PATH_PARAM',
152
- details: { param: paramName, expected: 'uuid', got: raw },
153
- });
154
- }
155
- return raw;
156
- }
157
- default:
158
- return raw;
159
- }
160
- }
161
- //# sourceMappingURL=binder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/core/binding/binder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export type ArrayCoerceOptions = {
2
- csv?: boolean;
3
- };
4
- export declare function coerceArraySmart(arr: unknown[], opts: ArrayCoerceOptions): unknown[];
5
- export declare function coerceValueSmart(v: unknown, opts: ArrayCoerceOptions): unknown;
6
- export declare function coerceObjectSmart(obj: Record<string, unknown>, opts: ArrayCoerceOptions): Record<string, unknown>;
7
- //# sourceMappingURL=arrays.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../../src/core/binding/coerce/arrays.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,EAAE,CAYpF;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAI9E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIjH"}
@@ -1,28 +0,0 @@
1
- import { coercePrimitiveSmart } from './primitives.js';
2
- import { splitCsv } from './csv.js';
3
- export function coerceArraySmart(arr, opts) {
4
- const out = [];
5
- for (const item of arr) {
6
- if (typeof item === 'string' && opts.csv && item.includes(',')) {
7
- for (const part of splitCsv(item))
8
- out.push(coercePrimitiveSmart(part));
9
- continue;
10
- }
11
- out.push(coerceValueSmart(item, opts));
12
- }
13
- return out;
14
- }
15
- export function coerceValueSmart(v, opts) {
16
- if (Array.isArray(v))
17
- return coerceArraySmart(v, opts);
18
- if (v && typeof v === 'object')
19
- return coerceObjectSmart(v, opts);
20
- return coercePrimitiveSmart(v);
21
- }
22
- export function coerceObjectSmart(obj, opts) {
23
- const out = {};
24
- for (const [k, v] of Object.entries(obj))
25
- out[k] = coerceValueSmart(v, opts);
26
- return out;
27
- }
28
- //# sourceMappingURL=arrays.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../../src/core/binding/coerce/arrays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMpC,MAAM,UAAU,gBAAgB,CAAC,GAAc,EAAE,IAAwB;IACvE,MAAM,GAAG,GAAc,EAAE,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAU,EAAE,IAAwB;IACnE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,CAA4B,EAAE,IAAI,CAAC,CAAC;IAC7F,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAA4B,EAAE,IAAwB;IACtF,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function splitCsv(s: string): string[];
2
- //# sourceMappingURL=csv.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../../src/core/binding/coerce/csv.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5C"}
@@ -1,7 +0,0 @@
1
- export function splitCsv(s) {
2
- return s
3
- .split(',')
4
- .map((x) => x.trim())
5
- .filter((x) => x.length > 0);
6
- }
7
- //# sourceMappingURL=csv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../../../src/core/binding/coerce/csv.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,OAAO,CAAC;SACL,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=objects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../../src/core/binding/coerce/objects.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export {};
2
- // placeholder for src\core\binding\coerce\objects.ts
3
- //# sourceMappingURL=objects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../../src/core/binding/coerce/objects.ts"],"names":[],"mappings":";AAAA,qDAAqD"}
@@ -1,70 +0,0 @@
1
- /**
2
- * Coercion modes for automatic type conversion.
3
- *
4
- * Controls how primitive values are automatically converted
5
- * during parameter binding.
6
- *
7
- * - `'none'` - No coercion; values remain as provided
8
- * - `'smart'` - Intelligent type inference from string values
9
- */
10
- export type CoerceMode = 'none' | 'smart';
11
- /**
12
- * Smart coercion for primitive values.
13
- *
14
- * Automatically converts string values to appropriate primitive types:
15
- *
16
- * | Input | Output |
17
- * |----------------------------|---------------------|
18
- * | `'null'` | `null` |
19
- * | `'true'` / `'false'` | `boolean` |
20
- * | `'42'`, `'3.14'`, `'-10'` | `number` |
21
- * | Other strings | `string` (trimmed) |
22
- *
23
- * @param value - Value to coerce
24
- * @returns Coerced primitive value
25
- *
26
- * @remarks
27
- * - Whitespace is trimmed before type detection
28
- * - Non-string values pass through unchanged
29
- * - Leading zeros preserve string type (`'007'` → `'007'`)
30
- * - Special values (`Infinity`, `NaN`) are not coerced
31
- *
32
- * @example
33
- * ```typescript
34
- * // Boolean coercion
35
- * coercePrimitiveSmart('true'); // → true
36
- * coercePrimitiveSmart('false'); // → false
37
- *
38
- * // Numeric coercion
39
- * coercePrimitiveSmart('42'); // → 42
40
- * coercePrimitiveSmart('3.14'); // → 3.14
41
- * coercePrimitiveSmart('-10'); // → -10
42
- *
43
- * // Null coercion
44
- * coercePrimitiveSmart('null'); // → null
45
- *
46
- * // String handling
47
- * coercePrimitiveSmart(' hello '); // → 'hello'
48
- * coercePrimitiveSmart('007'); // → '007' (preserved)
49
- *
50
- * // Non-string pass-through
51
- * coercePrimitiveSmart(42); // → 42
52
- * coercePrimitiveSmart(null); // → null
53
- * ```
54
- */
55
- export declare function coercePrimitiveSmart(value: unknown): unknown;
56
- /**
57
- * Coerce a value based on the specified mode.
58
- *
59
- * @param value - Value to coerce
60
- * @param mode - Coercion mode to apply
61
- * @returns Coerced value (or original if mode is 'none')
62
- *
63
- * @example
64
- * ```typescript
65
- * coercePrimitive('42', 'smart'); // → 42
66
- * coercePrimitive('42', 'none'); // → '42'
67
- * ```
68
- */
69
- export declare function coercePrimitive(value: unknown, mode: CoerceMode): unknown;
70
- //# sourceMappingURL=primitives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../src/core/binding/coerce/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAS1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAqB5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAEzE"}
@@ -1,88 +0,0 @@
1
- /**
2
- * Pattern for valid numeric strings.
3
- * Matches integers and decimals with optional negative sign.
4
- * Rejects leading zeros to preserve string IDs (e.g., '007').
5
- */
6
- const NUMERIC_RE = /^-?(?:0|[1-9]\d*)(?:\.\d+)?$/;
7
- /**
8
- * Smart coercion for primitive values.
9
- *
10
- * Automatically converts string values to appropriate primitive types:
11
- *
12
- * | Input | Output |
13
- * |----------------------------|---------------------|
14
- * | `'null'` | `null` |
15
- * | `'true'` / `'false'` | `boolean` |
16
- * | `'42'`, `'3.14'`, `'-10'` | `number` |
17
- * | Other strings | `string` (trimmed) |
18
- *
19
- * @param value - Value to coerce
20
- * @returns Coerced primitive value
21
- *
22
- * @remarks
23
- * - Whitespace is trimmed before type detection
24
- * - Non-string values pass through unchanged
25
- * - Leading zeros preserve string type (`'007'` → `'007'`)
26
- * - Special values (`Infinity`, `NaN`) are not coerced
27
- *
28
- * @example
29
- * ```typescript
30
- * // Boolean coercion
31
- * coercePrimitiveSmart('true'); // → true
32
- * coercePrimitiveSmart('false'); // → false
33
- *
34
- * // Numeric coercion
35
- * coercePrimitiveSmart('42'); // → 42
36
- * coercePrimitiveSmart('3.14'); // → 3.14
37
- * coercePrimitiveSmart('-10'); // → -10
38
- *
39
- * // Null coercion
40
- * coercePrimitiveSmart('null'); // → null
41
- *
42
- * // String handling
43
- * coercePrimitiveSmart(' hello '); // → 'hello'
44
- * coercePrimitiveSmart('007'); // → '007' (preserved)
45
- *
46
- * // Non-string pass-through
47
- * coercePrimitiveSmart(42); // → 42
48
- * coercePrimitiveSmart(null); // → null
49
- * ```
50
- */
51
- export function coercePrimitiveSmart(value) {
52
- if (typeof value !== 'string') {
53
- return value;
54
- }
55
- const trimmed = value.trim();
56
- // Special literal values
57
- if (trimmed === 'null')
58
- return null;
59
- if (trimmed === 'true')
60
- return true;
61
- if (trimmed === 'false')
62
- return false;
63
- // Numeric conversion (excludes leading zeros and special values)
64
- if (trimmed !== '' && NUMERIC_RE.test(trimmed)) {
65
- const num = Number(trimmed);
66
- if (Number.isFinite(num)) {
67
- return num;
68
- }
69
- }
70
- return trimmed;
71
- }
72
- /**
73
- * Coerce a value based on the specified mode.
74
- *
75
- * @param value - Value to coerce
76
- * @param mode - Coercion mode to apply
77
- * @returns Coerced value (or original if mode is 'none')
78
- *
79
- * @example
80
- * ```typescript
81
- * coercePrimitive('42', 'smart'); // → 42
82
- * coercePrimitive('42', 'none'); // → '42'
83
- * ```
84
- */
85
- export function coercePrimitive(value, mode) {
86
- return mode === 'smart' ? coercePrimitiveSmart(value) : value;
87
- }
88
- //# sourceMappingURL=primitives.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../../src/core/binding/coerce/primitives.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7B,yBAAyB;IACzB,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAEtC,iEAAiE;IACjE,IAAI,OAAO,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,IAAgB;IAC9D,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './binder.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/binding/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './binder.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/binding/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1,6 +0,0 @@
1
- export type PayloadConvention = {
2
- primary: 'query' | 'body' | 'none';
3
- secondary: 'query' | 'body' | 'none';
4
- };
5
- export declare function conventionForMethod(method: string): PayloadConvention;
6
- //# sourceMappingURL=inferFromHttpMethod.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferFromHttpMethod.d.ts","sourceRoot":"","sources":["../../../../src/core/binding/rules/inferFromHttpMethod.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACtC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAYrE"}
@@ -1,11 +0,0 @@
1
- export function conventionForMethod(method) {
2
- const m = method.toUpperCase();
3
- if (m === 'GET' || m === 'DELETE') {
4
- return { primary: 'query', secondary: 'none' };
5
- }
6
- if (m === 'POST' || m === 'PUT' || m === 'PATCH') {
7
- return { primary: 'body', secondary: 'query' };
8
- }
9
- return { primary: 'none', secondary: 'none' };
10
- }
11
- //# sourceMappingURL=inferFromHttpMethod.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferFromHttpMethod.js","sourceRoot":"","sources":["../../../../src/core/binding/rules/inferFromHttpMethod.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAE/B,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function getPathTokenNames(template: string): string[];
2
- //# sourceMappingURL=inferFromPath.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferFromPath.d.ts","sourceRoot":"","sources":["../../../../src/core/binding/rules/inferFromPath.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D"}
@@ -1,9 +0,0 @@
1
- export function getPathTokenNames(template) {
2
- const out = [];
3
- const re = /\{([^}]+)\}/g;
4
- let m;
5
- while ((m = re.exec(template)))
6
- out.push(String(m[1]));
7
- return out;
8
- }
9
- //# sourceMappingURL=inferFromPath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inferFromPath.js","sourceRoot":"","sources":["../../../../src/core/binding/rules/inferFromPath.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,cAAc,CAAC;IAC1B,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=wrappers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../../../src/core/binding/rules/wrappers.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export {};
2
- // placeholder for src\core\binding\rules\wrappers.ts
3
- //# sourceMappingURL=wrappers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../../../src/core/binding/rules/wrappers.ts"],"names":[],"mappings":";AAAA,qDAAqD"}
@@ -1,63 +0,0 @@
1
- import type { HttpErrorLike, HttpErrorOptions } from '../../contracts/errors.js';
2
- /**
3
- * HTTP Error class for representing HTTP errors with status codes.
4
- *
5
- * This class extends the native Error class and implements HttpErrorLike interface.
6
- * It's used throughout the framework to represent HTTP errors that should be
7
- * returned to clients with appropriate status codes and error details.
8
- *
9
- * @example
10
- * ```typescript
11
- * // Basic usage
12
- * throw new HttpError(404, 'User not found');
13
- *
14
- * // With error code and details
15
- * throw new HttpError(400, 'Invalid input', {
16
- * code: 'INVALID_INPUT',
17
- * details: { field: 'email', reason: 'must be valid email' }
18
- * });
19
- *
20
- * // For internal server errors (not exposed to client by default)
21
- * throw new HttpError(500, 'Database connection failed', {
22
- * expose: false
23
- * });
24
- * ```
25
- *
26
- * @example
27
- * ```typescript
28
- * // In a controller
29
- * @Get('/users/:id')
30
- * async getUser(id: string) {
31
- * const user = await userService.findById(id);
32
- * if (!user) {
33
- * throw new HttpError(404, 'User not found', {
34
- * code: 'USER_NOT_FOUND',
35
- * details: { id }
36
- * });
37
- * }
38
- * return user;
39
- * }
40
- * ```
41
- */
42
- export declare class HttpError extends Error implements HttpErrorLike {
43
- /** HTTP status code (e.g., 404, 500) */
44
- readonly status: number;
45
- /** Optional error code for programmatic handling */
46
- readonly code?: string;
47
- /** Additional error details (can be any type) */
48
- readonly details?: unknown;
49
- /** Whether to expose this error to clients */
50
- readonly expose: boolean;
51
- /**
52
- * Creates a new HttpError instance.
53
- *
54
- * @param status - HTTP status code
55
- * @param message - Error message
56
- * @param options - Additional error options
57
- * @param options.code - Optional error code
58
- * @param options.details - Additional error details
59
- * @param options.expose - Whether to expose to clients (default: true for 4xx, false for 5xx)
60
- */
61
- constructor(status: number, message: string, options?: HttpErrorOptions);
62
- }
63
- //# sourceMappingURL=http-error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-error.d.ts","sourceRoot":"","sources":["../../../src/core/errors/http-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,SAAU,SAAQ,KAAM,YAAW,aAAa;IAC3D,wCAAwC;IACxC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IACjD,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClC,8CAA8C;IAC9C,SAAgB,MAAM,EAAE,OAAO,CAAC;IAEhC;;;;;;;;;OASG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;CAU5E"}
@@ -1,71 +0,0 @@
1
- /**
2
- * HTTP Error class for representing HTTP errors with status codes.
3
- *
4
- * This class extends the native Error class and implements HttpErrorLike interface.
5
- * It's used throughout the framework to represent HTTP errors that should be
6
- * returned to clients with appropriate status codes and error details.
7
- *
8
- * @example
9
- * ```typescript
10
- * // Basic usage
11
- * throw new HttpError(404, 'User not found');
12
- *
13
- * // With error code and details
14
- * throw new HttpError(400, 'Invalid input', {
15
- * code: 'INVALID_INPUT',
16
- * details: { field: 'email', reason: 'must be valid email' }
17
- * });
18
- *
19
- * // For internal server errors (not exposed to client by default)
20
- * throw new HttpError(500, 'Database connection failed', {
21
- * expose: false
22
- * });
23
- * ```
24
- *
25
- * @example
26
- * ```typescript
27
- * // In a controller
28
- * @Get('/users/:id')
29
- * async getUser(id: string) {
30
- * const user = await userService.findById(id);
31
- * if (!user) {
32
- * throw new HttpError(404, 'User not found', {
33
- * code: 'USER_NOT_FOUND',
34
- * details: { id }
35
- * });
36
- * }
37
- * return user;
38
- * }
39
- * ```
40
- */
41
- export class HttpError extends Error {
42
- /** HTTP status code (e.g., 404, 500) */
43
- status;
44
- /** Optional error code for programmatic handling */
45
- code;
46
- /** Additional error details (can be any type) */
47
- details;
48
- /** Whether to expose this error to clients */
49
- expose;
50
- /**
51
- * Creates a new HttpError instance.
52
- *
53
- * @param status - HTTP status code
54
- * @param message - Error message
55
- * @param options - Additional error options
56
- * @param options.code - Optional error code
57
- * @param options.details - Additional error details
58
- * @param options.expose - Whether to expose to clients (default: true for 4xx, false for 5xx)
59
- */
60
- constructor(status, message, options = {}) {
61
- super(message);
62
- this.name = 'HttpError';
63
- this.status = status;
64
- if (options.code !== undefined) {
65
- this.code = options.code;
66
- }
67
- this.details = options.details;
68
- this.expose = options.expose ?? (status >= 400 && status < 500);
69
- }
70
- }
71
- //# sourceMappingURL=http-error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../../src/core/errors/http-error.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,wCAAwC;IACxB,MAAM,CAAS;IAC/B,oDAAoD;IACpC,IAAI,CAAU;IAC9B,iDAAiD;IACjC,OAAO,CAAW;IAClC,8CAA8C;IAC9B,MAAM,CAAU;IAEhC;;;;;;;;;OASG;IACH,YAAY,MAAc,EAAE,OAAe,EAAE,UAA4B,EAAE;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC;IAClE,CAAC;CACF"}