adorn-api 1.0.0 → 1.0.2

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 (529) hide show
  1. package/README.md +54 -249
  2. package/dist/adapters/express/createApp.d.ts +158 -0
  3. package/dist/adapters/express/createApp.d.ts.map +1 -0
  4. package/dist/adapters/express/createApp.js +141 -0
  5. package/dist/adapters/express/createApp.js.map +1 -0
  6. package/dist/adapters/express/index.d.ts +7 -0
  7. package/dist/adapters/express/index.d.ts.map +1 -0
  8. package/dist/adapters/express/index.js +7 -0
  9. package/dist/adapters/express/index.js.map +1 -0
  10. package/dist/adapters/express/middleware/errorHandler.d.ts +194 -0
  11. package/dist/adapters/express/middleware/errorHandler.d.ts.map +1 -0
  12. package/dist/adapters/express/middleware/errorHandler.js +167 -0
  13. package/dist/adapters/express/middleware/errorHandler.js.map +1 -0
  14. package/dist/adapters/express/middleware/requestContext.d.ts +2 -0
  15. package/dist/adapters/express/middleware/requestContext.d.ts.map +1 -0
  16. package/dist/adapters/express/middleware/requestContext.js +3 -0
  17. package/dist/adapters/express/middleware/requestContext.js.map +1 -0
  18. package/dist/adapters/express/router.d.ts +10 -0
  19. package/dist/adapters/express/router.d.ts.map +1 -0
  20. package/dist/adapters/express/router.js +105 -0
  21. package/dist/adapters/express/router.js.map +1 -0
  22. package/dist/adapters/express/swagger/index.d.ts +2 -0
  23. package/dist/adapters/express/swagger/index.d.ts.map +1 -0
  24. package/dist/adapters/express/swagger/index.js +2 -0
  25. package/dist/adapters/express/swagger/index.js.map +1 -0
  26. package/dist/adapters/express/swagger/serve.d.ts +12 -0
  27. package/dist/adapters/express/swagger/serve.d.ts.map +1 -0
  28. package/dist/adapters/express/swagger/serve.js +72 -0
  29. package/dist/adapters/express/swagger/serve.js.map +1 -0
  30. package/dist/adapters/express/transport/request.d.ts +4 -0
  31. package/dist/adapters/express/transport/request.d.ts.map +1 -0
  32. package/dist/adapters/express/transport/request.js +12 -0
  33. package/dist/adapters/express/transport/request.js.map +1 -0
  34. package/dist/adapters/express/transport/response.d.ts +5 -0
  35. package/dist/adapters/express/transport/response.d.ts.map +1 -0
  36. package/dist/adapters/express/transport/response.js +36 -0
  37. package/dist/adapters/express/transport/response.js.map +1 -0
  38. package/dist/cli/commands/dev.d.ts +2 -0
  39. package/dist/cli/commands/dev.d.ts.map +1 -0
  40. package/dist/cli/commands/dev.js +3 -0
  41. package/dist/cli/commands/dev.js.map +1 -0
  42. package/dist/cli/commands/gen.d.ts +2 -0
  43. package/dist/cli/commands/gen.d.ts.map +1 -0
  44. package/dist/cli/commands/gen.js +3 -0
  45. package/dist/cli/commands/gen.js.map +1 -0
  46. package/dist/cli/main.d.ts +2 -0
  47. package/dist/cli/main.d.ts.map +1 -0
  48. package/dist/cli/main.js +3 -0
  49. package/dist/cli/main.js.map +1 -0
  50. package/dist/cli.d.ts +2 -0
  51. package/dist/cli.d.ts.map +1 -0
  52. package/dist/cli.js +3 -0
  53. package/dist/cli.js.map +1 -0
  54. package/dist/compiler/config/defaults.d.ts +2 -0
  55. package/dist/compiler/config/defaults.d.ts.map +1 -0
  56. package/dist/compiler/config/defaults.js +3 -0
  57. package/dist/compiler/config/defaults.js.map +1 -0
  58. package/dist/compiler/config/loadConfig.d.ts +2 -0
  59. package/dist/compiler/config/loadConfig.d.ts.map +1 -0
  60. package/dist/compiler/config/loadConfig.js +3 -0
  61. package/dist/compiler/config/loadConfig.js.map +1 -0
  62. package/dist/compiler/diagnostics/errors.d.ts +2 -0
  63. package/dist/compiler/diagnostics/errors.d.ts.map +1 -0
  64. package/dist/compiler/diagnostics/errors.js +3 -0
  65. package/dist/compiler/diagnostics/errors.js.map +1 -0
  66. package/dist/compiler/emit/openapi.d.ts +2 -0
  67. package/dist/compiler/emit/openapi.d.ts.map +1 -0
  68. package/dist/compiler/emit/openapi.js +3 -0
  69. package/dist/compiler/emit/openapi.js.map +1 -0
  70. package/dist/compiler/emit/routes.d.ts +2 -0
  71. package/dist/compiler/emit/routes.d.ts.map +1 -0
  72. package/dist/compiler/emit/routes.js +3 -0
  73. package/dist/compiler/emit/routes.js.map +1 -0
  74. package/dist/compiler/program/loadTsProgram.d.ts +2 -0
  75. package/dist/compiler/program/loadTsProgram.d.ts.map +1 -0
  76. package/dist/compiler/program/loadTsProgram.js +3 -0
  77. package/dist/compiler/program/loadTsProgram.js.map +1 -0
  78. package/dist/compiler/scan/actions.d.ts +2 -0
  79. package/dist/compiler/scan/actions.d.ts.map +1 -0
  80. package/dist/compiler/scan/actions.js +3 -0
  81. package/dist/compiler/scan/actions.js.map +1 -0
  82. package/dist/compiler/scan/controllers.d.ts +2 -0
  83. package/dist/compiler/scan/controllers.d.ts.map +1 -0
  84. package/dist/compiler/scan/controllers.js +3 -0
  85. package/dist/compiler/scan/controllers.js.map +1 -0
  86. package/dist/compiler/scan/types.d.ts +2 -0
  87. package/dist/compiler/scan/types.d.ts.map +1 -0
  88. package/dist/compiler/scan/types.js +3 -0
  89. package/dist/compiler/scan/types.js.map +1 -0
  90. package/dist/contracts/context.d.ts +10 -0
  91. package/dist/contracts/context.d.ts.map +1 -0
  92. package/dist/contracts/context.js +2 -0
  93. package/dist/contracts/context.js.map +1 -0
  94. package/dist/contracts/errors.d.ts +22 -0
  95. package/dist/contracts/errors.d.ts.map +1 -0
  96. package/dist/contracts/errors.js +2 -0
  97. package/dist/contracts/errors.js.map +1 -0
  98. package/dist/contracts/http.d.ts +2 -0
  99. package/dist/contracts/http.d.ts.map +1 -0
  100. package/dist/contracts/http.js +3 -0
  101. package/dist/contracts/http.js.map +1 -0
  102. package/dist/contracts/middleware.d.ts +2 -0
  103. package/dist/contracts/middleware.d.ts.map +1 -0
  104. package/dist/contracts/middleware.js +3 -0
  105. package/dist/contracts/middleware.js.map +1 -0
  106. package/dist/contracts/openapi-v3.d.ts +538 -0
  107. package/dist/contracts/openapi-v3.d.ts.map +1 -0
  108. package/dist/contracts/openapi-v3.js +2 -0
  109. package/dist/contracts/openapi-v3.js.map +1 -0
  110. package/dist/contracts/openapi.d.ts +2 -0
  111. package/dist/contracts/openapi.d.ts.map +1 -0
  112. package/dist/contracts/openapi.js +2 -0
  113. package/dist/contracts/openapi.js.map +1 -0
  114. package/dist/contracts/reply.d.ts +119 -0
  115. package/dist/contracts/reply.d.ts.map +1 -0
  116. package/dist/contracts/reply.js +43 -0
  117. package/dist/contracts/reply.js.map +1 -0
  118. package/dist/contracts/response-types.d.ts +40 -0
  119. package/dist/contracts/response-types.d.ts.map +1 -0
  120. package/dist/contracts/response-types.js +2 -0
  121. package/dist/contracts/response-types.js.map +1 -0
  122. package/dist/contracts/responses.d.ts +98 -0
  123. package/dist/contracts/responses.d.ts.map +1 -0
  124. package/dist/contracts/responses.js +2 -0
  125. package/dist/contracts/responses.js.map +1 -0
  126. package/dist/contracts/route-options.d.ts +155 -0
  127. package/dist/contracts/route-options.d.ts.map +1 -0
  128. package/dist/contracts/route-options.js +2 -0
  129. package/dist/contracts/route-options.js.map +1 -0
  130. package/dist/contracts/route-typing.d.ts +25 -0
  131. package/dist/contracts/route-typing.d.ts.map +1 -0
  132. package/dist/contracts/route-typing.js +2 -0
  133. package/dist/contracts/route-typing.js.map +1 -0
  134. package/dist/contracts/validator.d.ts +146 -0
  135. package/dist/contracts/validator.d.ts.map +1 -0
  136. package/dist/contracts/validator.js +2 -0
  137. package/dist/contracts/validator.js.map +1 -0
  138. package/dist/core/binding/binder.d.ts +74 -0
  139. package/dist/core/binding/binder.d.ts.map +1 -0
  140. package/dist/core/binding/binder.js +161 -0
  141. package/dist/core/binding/binder.js.map +1 -0
  142. package/dist/core/binding/coerce/arrays.d.ts +7 -0
  143. package/dist/core/binding/coerce/arrays.d.ts.map +1 -0
  144. package/dist/core/binding/coerce/arrays.js +28 -0
  145. package/dist/core/binding/coerce/arrays.js.map +1 -0
  146. package/dist/core/binding/coerce/csv.d.ts +2 -0
  147. package/dist/core/binding/coerce/csv.d.ts.map +1 -0
  148. package/dist/core/binding/coerce/csv.js +7 -0
  149. package/dist/core/binding/coerce/csv.js.map +1 -0
  150. package/dist/core/binding/coerce/objects.d.ts +2 -0
  151. package/dist/core/binding/coerce/objects.d.ts.map +1 -0
  152. package/dist/core/binding/coerce/objects.js +3 -0
  153. package/dist/core/binding/coerce/objects.js.map +1 -0
  154. package/dist/core/binding/coerce/primitives.d.ts +70 -0
  155. package/dist/core/binding/coerce/primitives.d.ts.map +1 -0
  156. package/dist/core/binding/coerce/primitives.js +88 -0
  157. package/dist/core/binding/coerce/primitives.js.map +1 -0
  158. package/dist/core/binding/index.d.ts +2 -0
  159. package/dist/core/binding/index.d.ts.map +1 -0
  160. package/dist/core/binding/index.js +2 -0
  161. package/dist/core/binding/index.js.map +1 -0
  162. package/dist/core/binding/rules/inferFromHttpMethod.d.ts +6 -0
  163. package/dist/core/binding/rules/inferFromHttpMethod.d.ts.map +1 -0
  164. package/dist/core/binding/rules/inferFromHttpMethod.js +11 -0
  165. package/dist/core/binding/rules/inferFromHttpMethod.js.map +1 -0
  166. package/dist/core/binding/rules/inferFromPath.d.ts +2 -0
  167. package/dist/core/binding/rules/inferFromPath.d.ts.map +1 -0
  168. package/dist/core/binding/rules/inferFromPath.js +9 -0
  169. package/dist/core/binding/rules/inferFromPath.js.map +1 -0
  170. package/dist/core/binding/rules/wrappers.d.ts +2 -0
  171. package/dist/core/binding/rules/wrappers.d.ts.map +1 -0
  172. package/dist/core/binding/rules/wrappers.js +3 -0
  173. package/dist/core/binding/rules/wrappers.js.map +1 -0
  174. package/dist/core/errors/http-error.d.ts +63 -0
  175. package/dist/core/errors/http-error.d.ts.map +1 -0
  176. package/dist/core/errors/http-error.js +71 -0
  177. package/dist/core/errors/http-error.js.map +1 -0
  178. package/dist/core/errors/index.d.ts +4 -0
  179. package/dist/core/errors/index.d.ts.map +1 -0
  180. package/dist/core/errors/index.js +4 -0
  181. package/dist/core/errors/index.js.map +1 -0
  182. package/dist/core/errors/problem.d.ts +3 -0
  183. package/dist/core/errors/problem.d.ts.map +1 -0
  184. package/dist/core/errors/problem.js +33 -0
  185. package/dist/core/errors/problem.js.map +1 -0
  186. package/dist/core/errors/validation-error.d.ts +73 -0
  187. package/dist/core/errors/validation-error.d.ts.map +1 -0
  188. package/dist/core/errors/validation-error.js +82 -0
  189. package/dist/core/errors/validation-error.js.map +1 -0
  190. package/dist/core/openapi/buildOpenApi.d.ts +79 -0
  191. package/dist/core/openapi/buildOpenApi.d.ts.map +1 -0
  192. package/dist/core/openapi/buildOpenApi.js +196 -0
  193. package/dist/core/openapi/buildOpenApi.js.map +1 -0
  194. package/dist/core/openapi/index.d.ts +2 -0
  195. package/dist/core/openapi/index.d.ts.map +1 -0
  196. package/dist/core/openapi/index.js +2 -0
  197. package/dist/core/openapi/index.js.map +1 -0
  198. package/dist/core/openapi/schema/formats.d.ts +2 -0
  199. package/dist/core/openapi/schema/formats.d.ts.map +1 -0
  200. package/dist/core/openapi/schema/formats.js +3 -0
  201. package/dist/core/openapi/schema/formats.js.map +1 -0
  202. package/dist/core/openapi/schema/registry.d.ts +9 -0
  203. package/dist/core/openapi/schema/registry.d.ts.map +1 -0
  204. package/dist/core/openapi/schema/registry.js +21 -0
  205. package/dist/core/openapi/schema/registry.js.map +1 -0
  206. package/dist/core/openapi/schema/schemaModel.d.ts +2 -0
  207. package/dist/core/openapi/schema/schemaModel.d.ts.map +1 -0
  208. package/dist/core/openapi/schema/schemaModel.js +3 -0
  209. package/dist/core/openapi/schema/schemaModel.js.map +1 -0
  210. package/dist/core/openapi/schema/schemaRegistry.d.ts +2 -0
  211. package/dist/core/openapi/schema/schemaRegistry.d.ts.map +1 -0
  212. package/dist/core/openapi/schema/schemaRegistry.js +3 -0
  213. package/dist/core/openapi/schema/schemaRegistry.js.map +1 -0
  214. package/dist/core/openapi/schema/toOpenApi.d.ts +4 -0
  215. package/dist/core/openapi/schema/toOpenApi.d.ts.map +1 -0
  216. package/dist/core/openapi/schema/toOpenApi.js +82 -0
  217. package/dist/core/openapi/schema/toOpenApi.js.map +1 -0
  218. package/dist/core/pipeline/compose.d.ts +2 -0
  219. package/dist/core/pipeline/compose.d.ts.map +1 -0
  220. package/dist/core/pipeline/compose.js +3 -0
  221. package/dist/core/pipeline/compose.js.map +1 -0
  222. package/dist/core/pipeline/errorMap.d.ts +2 -0
  223. package/dist/core/pipeline/errorMap.d.ts.map +1 -0
  224. package/dist/core/pipeline/errorMap.js +3 -0
  225. package/dist/core/pipeline/errorMap.js.map +1 -0
  226. package/dist/core/pipeline/invoke.d.ts +2 -0
  227. package/dist/core/pipeline/invoke.d.ts.map +1 -0
  228. package/dist/core/pipeline/invoke.js +3 -0
  229. package/dist/core/pipeline/invoke.js.map +1 -0
  230. package/dist/core/pipeline/result.d.ts +2 -0
  231. package/dist/core/pipeline/result.d.ts.map +1 -0
  232. package/dist/core/pipeline/result.js +3 -0
  233. package/dist/core/pipeline/result.js.map +1 -0
  234. package/dist/core/registry/buildRegistry.d.ts +3 -0
  235. package/dist/core/registry/buildRegistry.d.ts.map +1 -0
  236. package/dist/core/registry/buildRegistry.js +105 -0
  237. package/dist/core/registry/buildRegistry.js.map +1 -0
  238. package/dist/core/registry/conflicts.d.ts +6 -0
  239. package/dist/core/registry/conflicts.d.ts.map +1 -0
  240. package/dist/core/registry/conflicts.js +21 -0
  241. package/dist/core/registry/conflicts.js.map +1 -0
  242. package/dist/core/registry/index.d.ts +5 -0
  243. package/dist/core/registry/index.d.ts.map +1 -0
  244. package/dist/core/registry/index.js +5 -0
  245. package/dist/core/registry/index.js.map +1 -0
  246. package/dist/core/registry/normalize.d.ts +3 -0
  247. package/dist/core/registry/normalize.d.ts.map +1 -0
  248. package/dist/core/registry/normalize.js +24 -0
  249. package/dist/core/registry/normalize.js.map +1 -0
  250. package/dist/core/registry/types.d.ts +225 -0
  251. package/dist/core/registry/types.d.ts.map +1 -0
  252. package/dist/core/registry/types.js +2 -0
  253. package/dist/core/registry/types.js.map +1 -0
  254. package/dist/core/reply/index.d.ts +3 -0
  255. package/dist/core/reply/index.d.ts.map +1 -0
  256. package/dist/core/reply/index.js +3 -0
  257. package/dist/core/reply/index.js.map +1 -0
  258. package/dist/core/reply/reply.d.ts +102 -0
  259. package/dist/core/reply/reply.d.ts.map +1 -0
  260. package/dist/core/reply/reply.js +105 -0
  261. package/dist/core/reply/reply.js.map +1 -0
  262. package/dist/core/reply/typed.d.ts +161 -0
  263. package/dist/core/reply/typed.d.ts.map +1 -0
  264. package/dist/core/reply/typed.js +154 -0
  265. package/dist/core/reply/typed.js.map +1 -0
  266. package/dist/core/responses/helpers.d.ts +10 -0
  267. package/dist/core/responses/helpers.d.ts.map +1 -0
  268. package/dist/core/responses/helpers.js +8 -0
  269. package/dist/core/responses/helpers.js.map +1 -0
  270. package/dist/core/responses/index.d.ts +4 -0
  271. package/dist/core/responses/index.d.ts.map +1 -0
  272. package/dist/core/responses/index.js +4 -0
  273. package/dist/core/responses/index.js.map +1 -0
  274. package/dist/core/responses/normalize.d.ts +3 -0
  275. package/dist/core/responses/normalize.d.ts.map +1 -0
  276. package/dist/core/responses/normalize.js +33 -0
  277. package/dist/core/responses/normalize.js.map +1 -0
  278. package/dist/core/responses/pickStatus.d.ts +3 -0
  279. package/dist/core/responses/pickStatus.d.ts.map +1 -0
  280. package/dist/core/responses/pickStatus.js +27 -0
  281. package/dist/core/responses/pickStatus.js.map +1 -0
  282. package/dist/core/route/defineRoute.d.ts +74 -0
  283. package/dist/core/route/defineRoute.d.ts.map +1 -0
  284. package/dist/core/route/defineRoute.js +59 -0
  285. package/dist/core/route/defineRoute.js.map +1 -0
  286. package/dist/core/route/index.d.ts +2 -0
  287. package/dist/core/route/index.d.ts.map +1 -0
  288. package/dist/core/route/index.js +2 -0
  289. package/dist/core/route/index.js.map +1 -0
  290. package/dist/core/serialization/json.d.ts +2 -0
  291. package/dist/core/serialization/json.d.ts.map +1 -0
  292. package/dist/core/serialization/json.js +3 -0
  293. package/dist/core/serialization/json.js.map +1 -0
  294. package/dist/core/typing/path-params.d.ts +2 -0
  295. package/dist/core/typing/path-params.d.ts.map +1 -0
  296. package/dist/core/typing/path-params.js +2 -0
  297. package/dist/core/typing/path-params.js.map +1 -0
  298. package/dist/decorators/binding.d.ts +9 -0
  299. package/dist/decorators/binding.d.ts.map +1 -0
  300. package/dist/decorators/binding.js +18 -0
  301. package/dist/decorators/binding.js.map +1 -0
  302. package/dist/decorators/controller.d.ts +6 -0
  303. package/dist/decorators/controller.d.ts.map +1 -0
  304. package/dist/decorators/controller.js +26 -0
  305. package/dist/decorators/controller.js.map +1 -0
  306. package/dist/decorators/db.d.ts +2 -0
  307. package/dist/decorators/db.d.ts.map +1 -0
  308. package/dist/decorators/db.js +3 -0
  309. package/dist/decorators/db.js.map +1 -0
  310. package/dist/decorators/docs.d.ts +8 -0
  311. package/dist/decorators/docs.d.ts.map +1 -0
  312. package/dist/decorators/docs.js +46 -0
  313. package/dist/decorators/docs.js.map +1 -0
  314. package/dist/decorators/index.d.ts +7 -0
  315. package/dist/decorators/index.d.ts.map +1 -0
  316. package/dist/decorators/index.js +7 -0
  317. package/dist/decorators/index.js.map +1 -0
  318. package/dist/decorators/methods.d.ts +146 -0
  319. package/dist/decorators/methods.d.ts.map +1 -0
  320. package/dist/decorators/methods.js +170 -0
  321. package/dist/decorators/methods.js.map +1 -0
  322. package/dist/decorators/middleware.d.ts +2 -0
  323. package/dist/decorators/middleware.d.ts.map +1 -0
  324. package/dist/decorators/middleware.js +3 -0
  325. package/dist/decorators/middleware.js.map +1 -0
  326. package/dist/decorators/responses.d.ts +7 -0
  327. package/dist/decorators/responses.d.ts.map +1 -0
  328. package/dist/decorators/responses.js +44 -0
  329. package/dist/decorators/responses.js.map +1 -0
  330. package/dist/decorators/security.d.ts +8 -0
  331. package/dist/decorators/security.d.ts.map +1 -0
  332. package/dist/decorators/security.js +39 -0
  333. package/dist/decorators/security.js.map +1 -0
  334. package/dist/express.d.ts +2 -0
  335. package/dist/express.d.ts.map +1 -0
  336. package/dist/express.js +2 -0
  337. package/dist/express.js.map +1 -0
  338. package/dist/index.d.ts +13 -0
  339. package/dist/index.d.ts.map +1 -0
  340. package/dist/index.js +13 -2
  341. package/dist/index.js.map +1 -0
  342. package/dist/integrations/metal-orm/index.d.ts +2 -0
  343. package/dist/integrations/metal-orm/index.d.ts.map +1 -0
  344. package/dist/integrations/metal-orm/index.js +2 -0
  345. package/dist/integrations/metal-orm/index.js.map +1 -0
  346. package/dist/integrations/metal-orm/pagination/executePaged.d.ts +2 -0
  347. package/dist/integrations/metal-orm/pagination/executePaged.d.ts.map +1 -0
  348. package/dist/integrations/metal-orm/pagination/executePaged.js +3 -0
  349. package/dist/integrations/metal-orm/pagination/executePaged.js.map +1 -0
  350. package/dist/integrations/metal-orm/pagination/page.d.ts +2 -0
  351. package/dist/integrations/metal-orm/pagination/page.d.ts.map +1 -0
  352. package/dist/integrations/metal-orm/pagination/page.js +3 -0
  353. package/dist/integrations/metal-orm/pagination/page.js.map +1 -0
  354. package/dist/integrations/metal-orm/query/filters.d.ts +2 -0
  355. package/dist/integrations/metal-orm/query/filters.d.ts.map +1 -0
  356. package/dist/integrations/metal-orm/query/filters.js +3 -0
  357. package/dist/integrations/metal-orm/query/filters.js.map +1 -0
  358. package/dist/integrations/metal-orm/query/search.d.ts +2 -0
  359. package/dist/integrations/metal-orm/query/search.d.ts.map +1 -0
  360. package/dist/integrations/metal-orm/query/search.js +3 -0
  361. package/dist/integrations/metal-orm/query/search.js.map +1 -0
  362. package/dist/integrations/metal-orm/query/sort.d.ts +2 -0
  363. package/dist/integrations/metal-orm/query/sort.d.ts.map +1 -0
  364. package/dist/integrations/metal-orm/query/sort.js +3 -0
  365. package/dist/integrations/metal-orm/query/sort.js.map +1 -0
  366. package/dist/integrations/metal-orm/save-graph/helpers.d.ts +2 -0
  367. package/dist/integrations/metal-orm/save-graph/helpers.d.ts.map +1 -0
  368. package/dist/integrations/metal-orm/save-graph/helpers.js +3 -0
  369. package/dist/integrations/metal-orm/save-graph/helpers.js.map +1 -0
  370. package/dist/integrations/metal-orm/save-graph/types.d.ts +2 -0
  371. package/dist/integrations/metal-orm/save-graph/types.d.ts.map +1 -0
  372. package/dist/integrations/metal-orm/save-graph/types.js +3 -0
  373. package/dist/integrations/metal-orm/save-graph/types.js.map +1 -0
  374. package/dist/integrations/metal-orm/schema/column-map.d.ts +96 -0
  375. package/dist/integrations/metal-orm/schema/column-map.d.ts.map +1 -0
  376. package/dist/integrations/metal-orm/schema/column-map.js +207 -0
  377. package/dist/integrations/metal-orm/schema/column-map.js.map +1 -0
  378. package/dist/integrations/metal-orm/schema/ddl.d.ts +2 -0
  379. package/dist/integrations/metal-orm/schema/ddl.d.ts.map +1 -0
  380. package/dist/integrations/metal-orm/schema/ddl.js +3 -0
  381. package/dist/integrations/metal-orm/schema/ddl.js.map +1 -0
  382. package/dist/integrations/metal-orm/schema/dto.d.ts +7 -0
  383. package/dist/integrations/metal-orm/schema/dto.d.ts.map +1 -0
  384. package/dist/integrations/metal-orm/schema/dto.js +34 -0
  385. package/dist/integrations/metal-orm/schema/dto.js.map +1 -0
  386. package/dist/integrations/metal-orm/schema/entity.d.ts +99 -0
  387. package/dist/integrations/metal-orm/schema/entity.d.ts.map +1 -0
  388. package/dist/integrations/metal-orm/schema/entity.js +99 -0
  389. package/dist/integrations/metal-orm/schema/entity.js.map +1 -0
  390. package/dist/integrations/metal-orm/schema/filters.d.ts +11 -0
  391. package/dist/integrations/metal-orm/schema/filters.d.ts.map +1 -0
  392. package/dist/integrations/metal-orm/schema/filters.js +21 -0
  393. package/dist/integrations/metal-orm/schema/filters.js.map +1 -0
  394. package/dist/integrations/metal-orm/schema/index.d.ts +5 -0
  395. package/dist/integrations/metal-orm/schema/index.d.ts.map +1 -0
  396. package/dist/integrations/metal-orm/schema/index.js +5 -0
  397. package/dist/integrations/metal-orm/schema/index.js.map +1 -0
  398. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts +2 -0
  399. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.d.ts.map +1 -0
  400. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js +3 -0
  401. package/dist/integrations/metal-orm/schema/openapi/entityToSchema.js.map +1 -0
  402. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts +2 -0
  403. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.d.ts.map +1 -0
  404. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js +3 -0
  405. package/dist/integrations/metal-orm/schema/openapi/tableDefToSchema.js.map +1 -0
  406. package/dist/integrations/metal-orm/schema/sqlite.d.ts +2 -0
  407. package/dist/integrations/metal-orm/schema/sqlite.d.ts.map +1 -0
  408. package/dist/integrations/metal-orm/schema/sqlite.js +3 -0
  409. package/dist/integrations/metal-orm/schema/sqlite.js.map +1 -0
  410. package/dist/integrations/metal-orm/schema/tabledef.d.ts +4 -0
  411. package/dist/integrations/metal-orm/schema/tabledef.d.ts.map +1 -0
  412. package/dist/integrations/metal-orm/schema/tabledef.js +10 -0
  413. package/dist/integrations/metal-orm/schema/tabledef.js.map +1 -0
  414. package/dist/integrations/metal-orm/schema/types.d.ts +7 -0
  415. package/dist/integrations/metal-orm/schema/types.d.ts.map +1 -0
  416. package/dist/integrations/metal-orm/schema/types.js +2 -0
  417. package/dist/integrations/metal-orm/schema/types.js.map +1 -0
  418. package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts +2 -0
  419. package/dist/integrations/metal-orm/serialization/entitySerializer.d.ts.map +1 -0
  420. package/dist/integrations/metal-orm/serialization/entitySerializer.js +3 -0
  421. package/dist/integrations/metal-orm/serialization/entitySerializer.js.map +1 -0
  422. package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts +2 -0
  423. package/dist/integrations/metal-orm/serialization/relationPolicy.d.ts.map +1 -0
  424. package/dist/integrations/metal-orm/serialization/relationPolicy.js +3 -0
  425. package/dist/integrations/metal-orm/serialization/relationPolicy.js.map +1 -0
  426. package/dist/integrations/metal-orm/session/context.d.ts +2 -0
  427. package/dist/integrations/metal-orm/session/context.d.ts.map +1 -0
  428. package/dist/integrations/metal-orm/session/context.js +3 -0
  429. package/dist/integrations/metal-orm/session/context.js.map +1 -0
  430. package/dist/integrations/metal-orm/session/middleware.d.ts +2 -0
  431. package/dist/integrations/metal-orm/session/middleware.d.ts.map +1 -0
  432. package/dist/integrations/metal-orm/session/middleware.js +3 -0
  433. package/dist/integrations/metal-orm/session/middleware.js.map +1 -0
  434. package/dist/integrations/metal-orm/session/transaction.d.ts +2 -0
  435. package/dist/integrations/metal-orm/session/transaction.d.ts.map +1 -0
  436. package/dist/integrations/metal-orm/session/transaction.js +3 -0
  437. package/dist/integrations/metal-orm/session/transaction.js.map +1 -0
  438. package/dist/integrations/metal-orm/testing/setupSchema.d.ts +2 -0
  439. package/dist/integrations/metal-orm/testing/setupSchema.d.ts.map +1 -0
  440. package/dist/integrations/metal-orm/testing/setupSchema.js +3 -0
  441. package/dist/integrations/metal-orm/testing/setupSchema.js.map +1 -0
  442. package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts +2 -0
  443. package/dist/integrations/metal-orm/testing/sqliteMemory.d.ts.map +1 -0
  444. package/dist/integrations/metal-orm/testing/sqliteMemory.js +3 -0
  445. package/dist/integrations/metal-orm/testing/sqliteMemory.js.map +1 -0
  446. package/dist/metadata/bag.d.ts +18 -0
  447. package/dist/metadata/bag.d.ts.map +1 -0
  448. package/dist/metadata/bag.js +39 -0
  449. package/dist/metadata/bag.js.map +1 -0
  450. package/dist/metadata/index.d.ts +4 -0
  451. package/dist/metadata/index.d.ts.map +1 -0
  452. package/dist/metadata/index.js +4 -0
  453. package/dist/metadata/index.js.map +1 -0
  454. package/dist/metadata/keys.d.ts +254 -0
  455. package/dist/metadata/keys.d.ts.map +1 -0
  456. package/dist/metadata/keys.js +23 -0
  457. package/dist/metadata/keys.js.map +1 -0
  458. package/dist/metadata/merge.d.ts +9 -0
  459. package/dist/metadata/merge.d.ts.map +1 -0
  460. package/dist/metadata/merge.js +30 -0
  461. package/dist/metadata/merge.js.map +1 -0
  462. package/dist/metal-orm.d.ts +2 -0
  463. package/dist/metal-orm.d.ts.map +1 -0
  464. package/dist/metal-orm.js +2 -0
  465. package/dist/metal-orm.js.map +1 -0
  466. package/dist/validation/native/index.d.ts +3 -0
  467. package/dist/validation/native/index.d.ts.map +1 -0
  468. package/dist/validation/native/index.js +3 -0
  469. package/dist/validation/native/index.js.map +1 -0
  470. package/dist/validation/native/ir.d.ts +38 -0
  471. package/dist/validation/native/ir.d.ts.map +1 -0
  472. package/dist/validation/native/ir.js +2 -0
  473. package/dist/validation/native/ir.js.map +1 -0
  474. package/dist/validation/native/schema.d.ts +63 -0
  475. package/dist/validation/native/schema.d.ts.map +1 -0
  476. package/dist/validation/native/schema.js +271 -0
  477. package/dist/validation/native/schema.js.map +1 -0
  478. package/dist/validation/native/validator.d.ts +21 -0
  479. package/dist/validation/native/validator.d.ts.map +1 -0
  480. package/dist/validation/native/validator.js +48 -0
  481. package/dist/validation/native/validator.js.map +1 -0
  482. package/package.json +57 -34
  483. package/dist/cli/generate-routes.js +0 -101
  484. package/dist/cli/generate-swagger.js +0 -197
  485. package/dist/controllers/advanced.controller.js +0 -131
  486. package/dist/controllers/user.controller.js +0 -121
  487. package/dist/entities/user.entity.js +0 -1
  488. package/dist/lib/common.js +0 -62
  489. package/dist/lib/decorators.js +0 -116
  490. package/dist/middleware/auth.middleware.js +0 -13
  491. package/dist/routes.js +0 -80
  492. package/dist/server.js +0 -18
  493. package/dist/src/cli/generate-routes.js +0 -105
  494. package/dist/src/cli/generate-swagger.js +0 -197
  495. package/dist/src/index.js +0 -4
  496. package/dist/src/lib/common.js +0 -62
  497. package/dist/src/lib/decorators.js +0 -116
  498. package/dist/src/routes.js +0 -80
  499. package/dist/src/server.js +0 -18
  500. package/dist/tests/example-app/controllers/advanced.controller.js +0 -130
  501. package/dist/tests/example-app/controllers/controllers/advanced.controller.js +0 -131
  502. package/dist/tests/example-app/controllers/controllers/user.controller.js +0 -121
  503. package/dist/tests/example-app/controllers/user.controller.js +0 -121
  504. package/dist/tests/example-app/entities/entities/user.entity.js +0 -1
  505. package/dist/tests/example-app/entities/user.entity.js +0 -1
  506. package/dist/tests/example-app/middleware/auth.middleware.js +0 -13
  507. package/dist/tests/example-app/middleware/middleware/auth.middleware.js +0 -13
  508. package/dist/tests/example-app/routes.js +0 -80
  509. package/dist/tests/example-app/server.js +0 -23
  510. package/scripts/run-example.js +0 -32
  511. package/src/cli/generate-routes.ts +0 -123
  512. package/src/cli/generate-swagger.ts +0 -216
  513. package/src/index.js +0 -20
  514. package/src/index.ts +0 -4
  515. package/src/lib/common.js +0 -68
  516. package/src/lib/common.ts +0 -35
  517. package/src/lib/decorators.js +0 -128
  518. package/src/lib/decorators.ts +0 -136
  519. package/swagger.json +0 -238
  520. package/tests/e2e.test.ts +0 -72
  521. package/tests/example-app/controllers/advanced.controller.ts +0 -52
  522. package/tests/example-app/controllers/user.controller.ts +0 -35
  523. package/tests/example-app/entities/user.entity.ts +0 -8
  524. package/tests/example-app/middleware/auth.middleware.ts +0 -16
  525. package/tests/example-app/routes.ts +0 -102
  526. package/tests/example-app/server.ts +0 -30
  527. package/tests/generators.test.ts +0 -48
  528. package/tests/utils.ts +0 -46
  529. package/tsconfig.json +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickStatus.js","sourceRoot":"","sources":["../../../src/core/responses/pickStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,SAAyB,EAAE,QAAiB;IAC5F,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAElD,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAE/B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;YACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;YACpC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,74 @@
1
+ import type { ResponsesSpec } from '../../contracts/responses.js';
2
+ import type { RouteOptions } from '../../contracts/route-options.js';
3
+ import { makeReply } from '../reply/typed.js';
4
+ /**
5
+ * Route definition that carries:
6
+ * - path: use in decorator
7
+ * - options: use in decorator
8
+ * - reply: typed reply/noContent bound to responses
9
+ *
10
+ * @template Path - The route path as a string literal
11
+ * @template R - The responses specification for this route
12
+ */
13
+ export type RouteDef<Path extends string, R extends ResponsesSpec> = {
14
+ /** The route path */
15
+ path: Path;
16
+ /** Route configuration and responses */
17
+ options: RouteOptions<Path> & {
18
+ responses: R;
19
+ };
20
+ /** Typed reply function bound to the route's responses */
21
+ reply: ReturnType<typeof makeReply<R>>;
22
+ };
23
+ /**
24
+ * Creates a route definition with typed responses and reply functions.
25
+ *
26
+ * @template Path - The route path as a string literal
27
+ * @template R - The responses specification for this route
28
+ * @param path - The route path (e.g., '/users', '/users/:id')
29
+ * @param options - Route configuration including responses specification
30
+ * @returns Route definition with typed reply function
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const userRoute = defineRoute('/users', {
35
+ * responses: {
36
+ * 200: { content: { 'application/json': { schema: userSchema } } },
37
+ * 404: { description: 'User not found' }
38
+ * }
39
+ * });
40
+ *
41
+ * // Use the typed reply function
42
+ * const reply = userRoute.reply(200, userData);
43
+ * ```
44
+ *
45
+ * @see RouteOptions for available configuration options
46
+ * @see ResponsesSpec for response specification format
47
+ */
48
+ export declare function defineRoute<Path extends string, const R extends ResponsesSpec>(path: Path, options: RouteOptions<Path> & {
49
+ responses: R;
50
+ }): RouteDef<Path, R>;
51
+ /**
52
+ * Nice builder style for route definitions:
53
+ * const getUser = routeFor('/{id}')({ ... })
54
+ *
55
+ * @template Path - The route path as a string literal
56
+ * @param path - The route path
57
+ * @returns A function that takes route options and returns a RouteDef
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const getUserRoute = routeFor('/users/:id')({
62
+ * responses: {
63
+ * 200: { content: { 'application/json': { schema: userSchema } } },
64
+ * 404: { description: 'User not found' }
65
+ * }
66
+ * });
67
+ * ```
68
+ *
69
+ * @see defineRoute for the underlying implementation
70
+ */
71
+ export declare function routeFor<Path extends string>(path: Path): <const R extends ResponsesSpec>(options: RouteOptions<Path> & {
72
+ responses: R;
73
+ }) => RouteDef<Path, R>;
74
+ //# sourceMappingURL=defineRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineRoute.d.ts","sourceRoot":"","sources":["../../../src/core/route/defineRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa,IAAI;IACnE,qBAAqB;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,wCAAwC;IACxC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;QAAE,SAAS,EAAE,CAAC,CAAA;KAAE,CAAC;IAC/C,0DAA0D;IAC1D,KAAK,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,EAC5E,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,GAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAMnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,IACrC,KAAK,CAAC,CAAC,SAAS,aAAa,EAC5C,SAAS,YAAY,CAAC,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,CAAC,CAAA;CAAE,KAC7C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAGrB"}
@@ -0,0 +1,59 @@
1
+ import { makeReply } from '../reply/typed.js';
2
+ /**
3
+ * Creates a route definition with typed responses and reply functions.
4
+ *
5
+ * @template Path - The route path as a string literal
6
+ * @template R - The responses specification for this route
7
+ * @param path - The route path (e.g., '/users', '/users/:id')
8
+ * @param options - Route configuration including responses specification
9
+ * @returns Route definition with typed reply function
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const userRoute = defineRoute('/users', {
14
+ * responses: {
15
+ * 200: { content: { 'application/json': { schema: userSchema } } },
16
+ * 404: { description: 'User not found' }
17
+ * }
18
+ * });
19
+ *
20
+ * // Use the typed reply function
21
+ * const reply = userRoute.reply(200, userData);
22
+ * ```
23
+ *
24
+ * @see RouteOptions for available configuration options
25
+ * @see ResponsesSpec for response specification format
26
+ */
27
+ export function defineRoute(path, options) {
28
+ return {
29
+ path,
30
+ options,
31
+ reply: makeReply(options.responses),
32
+ };
33
+ }
34
+ /**
35
+ * Nice builder style for route definitions:
36
+ * const getUser = routeFor('/{id}')({ ... })
37
+ *
38
+ * @template Path - The route path as a string literal
39
+ * @param path - The route path
40
+ * @returns A function that takes route options and returns a RouteDef
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const getUserRoute = routeFor('/users/:id')({
45
+ * responses: {
46
+ * 200: { content: { 'application/json': { schema: userSchema } } },
47
+ * 404: { description: 'User not found' }
48
+ * }
49
+ * });
50
+ * ```
51
+ *
52
+ * @see defineRoute for the underlying implementation
53
+ */
54
+ export function routeFor(path) {
55
+ return function (options) {
56
+ return defineRoute(path, options);
57
+ };
58
+ }
59
+ //# sourceMappingURL=defineRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineRoute.js","sourceRoot":"","sources":["../../../src/core/route/defineRoute.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAoB9C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CACzB,IAAU,EACV,OAA8C;IAE9C,OAAO;QACL,IAAI;QACJ,OAAO;QACP,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,QAAQ,CAAsB,IAAU;IACtD,OAAO,UACL,OAA8C;QAE9C,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './defineRoute.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/route/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './defineRoute.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/route/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/json.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export {};
2
+ // placeholder for src\core\serialization\json.ts
3
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/core/serialization/json.ts"],"names":[],"mappings":";AAAA,iDAAiD"}
@@ -0,0 +1,2 @@
1
+ export type ExtractPathParams<S extends string> = S extends `${string}{${infer P}}${infer Rest}` ? P | ExtractPathParams<Rest> : never;
2
+ //# sourceMappingURL=path-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-params.d.ts","sourceRoot":"","sources":["../../../src/core/typing/path-params.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAC5C,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GAC1C,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAC3B,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=path-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-params.js","sourceRoot":"","sources":["../../../src/core/typing/path-params.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export type BindingsOptions = {
2
+ /**
3
+ * Hint coercion for path params by name.
4
+ * Example: @Bindings({ path: { id: 'int' } })
5
+ */
6
+ path?: Record<string, 'string' | 'int' | 'number' | 'boolean' | 'uuid'>;
7
+ };
8
+ export declare function Bindings(opts: BindingsOptions): (_value: unknown, context: ClassMethodDecoratorContext) => void;
9
+ //# sourceMappingURL=binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/decorators/binding.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;CACzE,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,IAC3B,QAAQ,OAAO,EAAE,SAAS,2BAA2B,UAevE"}
@@ -0,0 +1,18 @@
1
+ import { META } from '../metadata/keys.js';
2
+ import { bagFromContext, bagEnsureObject } from '../metadata/bag.js';
3
+ export function Bindings(opts) {
4
+ return function (_value, context) {
5
+ const bag = bagFromContext(context);
6
+ const meta = bagEnsureObject(bag, META.bindings, () => ({}));
7
+ const method = String(context.name);
8
+ meta.byMethod ??= {};
9
+ meta.byMethod[method] ??= {};
10
+ if (opts.path) {
11
+ meta.byMethod[method].path = {
12
+ ...(meta.byMethod[method].path ?? {}),
13
+ ...opts.path,
14
+ };
15
+ }
16
+ };
17
+ }
18
+ //# sourceMappingURL=binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/decorators/binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAUrE,MAAM,UAAU,QAAQ,CAAC,IAAqB;IAC5C,OAAO,UAAU,MAAe,EAAE,OAAoC;QACpE,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,eAAe,CAAe,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG;gBAC3B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,GAAG,IAAI,CAAC,IAAI;aACb,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Stage-3 class decorator.
3
+ * Usage: @Controller('/users')
4
+ */
5
+ export declare function Controller(basePath: string): (_value: unknown, context: ClassDecoratorContext) => void;
6
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/decorators/controller.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,IACxB,QAAQ,OAAO,EAAE,SAAS,qBAAqB,UASjE"}
@@ -0,0 +1,26 @@
1
+ import { META } from '../metadata/keys.js';
2
+ import { bagFromContext, bagSet } from '../metadata/bag.js';
3
+ /**
4
+ * Stage-3 class decorator.
5
+ * Usage: @Controller('/users')
6
+ */
7
+ export function Controller(basePath) {
8
+ return function (_value, context) {
9
+ const bag = bagFromContext(context);
10
+ const meta = {
11
+ basePath: normalizeBasePath(basePath),
12
+ };
13
+ bagSet(bag, META.controller, meta);
14
+ };
15
+ }
16
+ function normalizeBasePath(p) {
17
+ if (!p)
18
+ return '';
19
+ let out = p.trim();
20
+ if (!out.startsWith('/'))
21
+ out = `/${out}`;
22
+ if (out !== '/' && out.endsWith('/'))
23
+ out = out.slice(0, -1);
24
+ return out;
25
+ }
26
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/decorators/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,UAAU,MAAe,EAAE,OAA8B;QAC9D,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAmB;YAC3B,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC;SACtC,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1C,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/decorators/db.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export {};
2
+ // placeholder for src\decorators\db.ts
3
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/decorators/db.ts"],"names":[],"mappings":";AAAA,uCAAuC"}
@@ -0,0 +1,8 @@
1
+ type Stage3ClassContext = ClassDecoratorContext;
2
+ type Stage3MethodContext = ClassMethodDecoratorContext<unknown, (this: unknown, ...args: unknown[]) => unknown>;
3
+ type DecoratorContext = Stage3ClassContext | Stage3MethodContext;
4
+ export declare function Tags(...tags: string[]): (_value: unknown, context: DecoratorContext) => void;
5
+ export declare function OperationId(id: string): (_value: unknown, context: Stage3MethodContext) => void;
6
+ export declare function Deprecated(value?: boolean): (_value: unknown, context: Stage3MethodContext) => void;
7
+ export {};
8
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/decorators/docs.ts"],"names":[],"mappings":"AAIA,KAAK,kBAAkB,GAAG,qBAAqB,CAAC;AAChD,KAAK,mBAAmB,GAAG,2BAA2B,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;AAChH,KAAK,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAkBjE,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,IACnB,QAAQ,OAAO,EAAE,SAAS,gBAAgB,UAc5D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IACnB,QAAQ,OAAO,EAAE,SAAS,mBAAmB,UAM/D;AAED,wBAAgB,UAAU,CAAC,KAAK,UAAO,IACpB,QAAQ,OAAO,EAAE,SAAS,mBAAmB,UAM/D"}
@@ -0,0 +1,46 @@
1
+ import { META } from '../metadata/keys.js';
2
+ import { bagEnsureObject, bagFromContext } from '../metadata/bag.js';
3
+ function ensureDocsMeta(context) {
4
+ const bag = bagFromContext(context);
5
+ return bagEnsureObject(bag, META.docs, () => ({}));
6
+ }
7
+ function ensureMethodDocs(meta, method) {
8
+ meta.byMethod ??= {};
9
+ meta.byMethod[method] ??= {};
10
+ return meta.byMethod[method];
11
+ }
12
+ function mergeTags(existing, next) {
13
+ return [...(existing ?? []), ...next];
14
+ }
15
+ export function Tags(...tags) {
16
+ return function (_value, context) {
17
+ const meta = ensureDocsMeta(context);
18
+ const cleaned = tags.map((t) => t.trim()).filter(Boolean);
19
+ if (!cleaned.length)
20
+ return;
21
+ if (context.kind === 'class') {
22
+ meta.tags = mergeTags(meta.tags, cleaned);
23
+ return;
24
+ }
25
+ const method = String(context.name);
26
+ const methodDocs = ensureMethodDocs(meta, method);
27
+ methodDocs.tags = mergeTags(methodDocs.tags, cleaned);
28
+ };
29
+ }
30
+ export function OperationId(id) {
31
+ return function (_value, context) {
32
+ const meta = ensureDocsMeta(context);
33
+ const method = String(context.name);
34
+ const methodDocs = ensureMethodDocs(meta, method);
35
+ methodDocs.operationId = id;
36
+ };
37
+ }
38
+ export function Deprecated(value = true) {
39
+ return function (_value, context) {
40
+ const meta = ensureDocsMeta(context);
41
+ const method = String(context.name);
42
+ const methodDocs = ensureMethodDocs(meta, method);
43
+ methodDocs.deprecated = value;
44
+ };
45
+ }
46
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/decorators/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQrE,SAAS,cAAc,CAAC,OAAyB;IAC/C,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,eAAe,CAAW,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,MAAc;IACtD,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;IACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAc,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,QAA8B,EAAE,IAAc;IAC/D,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAG,IAAc;IACpC,OAAO,UAAU,MAAe,EAAE,OAAyB;QACzD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,UAAU,MAAe,EAAE,OAA4B;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAK,GAAG,IAAI;IACrC,OAAO,UAAU,MAAe,EAAE,OAA4B;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './controller.js';
2
+ export * from './methods.js';
3
+ export * from './binding.js';
4
+ export * from './docs.js';
5
+ export * from './responses.js';
6
+ export * from './security.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './controller.js';
2
+ export * from './methods.js';
3
+ export * from './binding.js';
4
+ export * from './docs.js';
5
+ export * from './responses.js';
6
+ export * from './security.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,146 @@
1
+ import type { RouteOptions } from '../contracts/route-options.js';
2
+ import type { ResponsesSpec } from '../contracts/responses.js';
3
+ import type { Reply } from '../contracts/reply.js';
4
+ import type { Schema } from '../validation/native/schema.js';
5
+ import type { BodySchemaFor, SuccessStatusesWithBody, SuccessStatusesNoBody } from '../contracts/response-types.js';
6
+ type MaybePromise<T> = T | Promise<T>;
7
+ type ResponsesFromOptions<O> = O extends {
8
+ responses: infer R extends ResponsesSpec;
9
+ } ? R : undefined;
10
+ type BodySchemaFromResponses<R extends ResponsesSpec> = SuccessStatusesWithBody<R> extends never ? never : BodySchemaFor<R, SuccessStatusesWithBody<R>>;
11
+ type BodyTypeFromResponses<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? BodySchemaFromResponses<R> extends Schema<infer T> ? T : unknown : unknown;
12
+ type SuccessBodyType<O> = BodyTypeFromResponses<ResponsesFromOptions<O>>;
13
+ type ReplyWithBodyTypes<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? SuccessStatusesWithBody<R> extends never ? never : Reply<BodySchemaFromResponses<R> extends Schema<infer T> ? T : unknown, SuccessStatusesWithBody<R>> : never;
14
+ type ReplyNoBodyTypes<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? SuccessStatusesNoBody<R> extends never ? never : Reply<undefined, SuccessStatusesNoBody<R>> : never;
15
+ type IsNever<T> = [T] extends [never] ? true : false;
16
+ type HandlerReply<R extends ResponsesSpec | undefined> = R extends ResponsesSpec ? (IsNever<ReplyWithBodyTypes<R>> extends true ? never : ReplyWithBodyTypes<R>) | (IsNever<ReplyNoBodyTypes<R>> extends true ? never : ReplyNoBodyTypes<R>) : Reply<unknown, number>;
17
+ type HandlerReturn<O extends RouteOptions<string> | undefined> = MaybePromise<SuccessBodyType<O> | HandlerReply<ResponsesFromOptions<O>>>;
18
+ /**
19
+ * Decorator for HTTP GET method endpoints.
20
+ *
21
+ * @template Path - The route path as a string literal
22
+ * @template O - Route options extending RouteOptions for the path
23
+ * @param path - The route path (e.g., '/users', '/users/:id')
24
+ * @param options - Optional route configuration including responses, validation, etc.
25
+ * @returns Method decorator for class methods
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * class UserController {
30
+ * @Get('/users')
31
+ * async listUsers() {
32
+ * return await userService.findAll();
33
+ * }
34
+ *
35
+ * @Get('/users/:id')
36
+ * async getUser(id: string) {
37
+ * return await userService.findById(id);
38
+ * }
39
+ * }
40
+ * ```
41
+ *
42
+ * @see RouteOptions for available configuration options
43
+ */
44
+ export declare function Get<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
45
+ /**
46
+ * Decorator for HTTP POST method endpoints.
47
+ *
48
+ * @template Path - The route path as a string literal
49
+ * @template O - Route options extending RouteOptions for the path
50
+ * @param path - The route path (e.g., '/users', '/users/:id/comments')
51
+ * @param options - Optional route configuration including responses, validation, etc.
52
+ * @returns Method decorator for class methods
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * class UserController {
57
+ * @Post('/users')
58
+ * async createUser(@Body() userData: CreateUserDto) {
59
+ * return await userService.create(userData);
60
+ * }
61
+ *
62
+ * @Post('/users/:id/activate')
63
+ * async activateUser(id: string) {
64
+ * return await userService.activate(id);
65
+ * }
66
+ * }
67
+ * ```
68
+ *
69
+ * @see RouteOptions for available configuration options
70
+ */
71
+ export declare function Post<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
72
+ /**
73
+ * Decorator for HTTP PUT method endpoints.
74
+ *
75
+ * @template Path - The route path as a string literal
76
+ * @template O - Route options extending RouteOptions for the path
77
+ * @param path - The route path (e.g., '/users/:id')
78
+ * @param options - Optional route configuration including responses, validation, etc.
79
+ * @returns Method decorator for class methods
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * class UserController {
84
+ * @Put('/users/:id')
85
+ * async updateUser(id: string, @Body() userData: UpdateUserDto) {
86
+ * return await userService.update(id, userData);
87
+ * }
88
+ * }
89
+ * ```
90
+ *
91
+ * @see RouteOptions for available configuration options
92
+ */
93
+ export declare function Put<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
94
+ /**
95
+ * Decorator for HTTP PATCH method endpoints.
96
+ *
97
+ * @template Path - The route path as a string literal
98
+ * @template O - Route options extending RouteOptions for the path
99
+ * @param path - The route path (e.g., '/users/:id')
100
+ * @param options - Optional route configuration including responses, validation, etc.
101
+ * @returns Method decorator for class methods
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * class UserController {
106
+ * @Patch('/users/:id')
107
+ * async partialUpdate(id: string, @Body() partialData: Partial<User>) {
108
+ * return await userService.patch(id, partialData);
109
+ * }
110
+ * }
111
+ * ```
112
+ *
113
+ * @see RouteOptions for available configuration options
114
+ */
115
+ export declare function Patch<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
116
+ /**
117
+ * Decorator for HTTP DELETE method endpoints.
118
+ *
119
+ * @template Path - The route path as a string literal
120
+ * @template O - Route options extending RouteOptions for the path
121
+ * @param path - The route path (e.g., '/users/:id')
122
+ * @param options - Optional route configuration including responses, validation, etc.
123
+ * @returns Method decorator for class methods
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * class UserController {
128
+ * @Delete('/users/:id')
129
+ * async deleteUser(id: string) {
130
+ * await userService.delete(id);
131
+ * return { success: true };
132
+ * }
133
+ *
134
+ * @Delete('/users')
135
+ * async deleteAllUsers() {
136
+ * await userService.deleteAll();
137
+ * return { deletedCount: await userService.count() };
138
+ * }
139
+ * }
140
+ * ```
141
+ *
142
+ * @see RouteOptions for available configuration options
143
+ */
144
+ export declare function Delete<Path extends string, const O extends RouteOptions<Path> | undefined>(path: Path, options?: O): <This, Args extends unknown[], Ret extends HandlerReturn<O>>(value: (this: This, ...args: Args) => Ret, context: ClassMethodDecoratorContext<This, (this: This, ...args: Args) => Ret>) => (this: This, ...args: Args) => Ret;
145
+ export {};
146
+ //# sourceMappingURL=methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../src/decorators/methods.ts"],"names":[],"mappings":"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"}