@velajs/vela 1.19.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/CHANGELOG.md +22 -14
  2. package/dist/configurable-module.builder-5FGMaXG6.js +91 -0
  3. package/dist/configurable-module.builder-5FGMaXG6.js.map +1 -0
  4. package/dist/container-BqUHID4l.js +645 -0
  5. package/dist/container-BqUHID4l.js.map +1 -0
  6. package/dist/cron-matcher-C9qv5OUA.js +113 -0
  7. package/dist/cron-matcher-C9qv5OUA.js.map +1 -0
  8. package/dist/decorate-GcSMAbKn.js +528 -0
  9. package/dist/decorate-GcSMAbKn.js.map +1 -0
  10. package/dist/decorators-C8YBFCIk.js +53 -0
  11. package/dist/decorators-C8YBFCIk.js.map +1 -0
  12. package/dist/define-module-NOyOZNXD.js +235 -0
  13. package/dist/define-module-NOyOZNXD.js.map +1 -0
  14. package/dist/discovery.service-BYm95SSD.js +368 -0
  15. package/dist/discovery.service-BYm95SSD.js.map +1 -0
  16. package/dist/discovery.service-Cpf1QcZ5.d.ts +648 -0
  17. package/dist/i18n/index.d.ts +138 -10
  18. package/dist/i18n/index.js +270 -8
  19. package/dist/i18n/index.js.map +1 -0
  20. package/dist/index-D72EQfcC.d.ts +430 -0
  21. package/dist/index-DhShDLCM.d.ts +2310 -0
  22. package/dist/index.d.ts +6 -70
  23. package/dist/index.js +14 -76
  24. package/dist/internal.d.ts +13 -17
  25. package/dist/internal.js +6 -19
  26. package/dist/live/index.d.ts +2 -12
  27. package/dist/live/index.js +826 -16
  28. package/dist/live/index.js.map +1 -0
  29. package/dist/metadata.registry-D1od8ZBt.d.ts +842 -0
  30. package/dist/plugin-ByBlVOve.js +1387 -0
  31. package/dist/plugin-ByBlVOve.js.map +1 -0
  32. package/dist/queue/index.d.ts +247 -10
  33. package/dist/queue/index.js +384 -12
  34. package/dist/queue/index.js.map +1 -0
  35. package/dist/request-context-C3nCGJNd.js +26 -0
  36. package/dist/request-context-C3nCGJNd.js.map +1 -0
  37. package/dist/route.manager-DRAZ5X04.js +991 -0
  38. package/dist/route.manager-DRAZ5X04.js.map +1 -0
  39. package/dist/schedule-node/index.d.ts +32 -3
  40. package/dist/schedule-node/index.js +97 -3
  41. package/dist/schedule-node/index.js.map +1 -0
  42. package/dist/schedule.registry-DVm7Jp5w.d.ts +55 -0
  43. package/dist/seeder/index.d.ts +75 -5
  44. package/dist/seeder/index.js +105 -4
  45. package/dist/seeder/index.js.map +1 -0
  46. package/dist/signed-url-CMmi0SIb.js +56 -0
  47. package/dist/signed-url-CMmi0SIb.js.map +1 -0
  48. package/dist/signed-url-DKhgja4U.d.ts +16 -0
  49. package/dist/src-eb5CI6Xn.js +2151 -0
  50. package/dist/src-eb5CI6Xn.js.map +1 -0
  51. package/dist/storage/index.d.ts +57 -4
  52. package/dist/storage/index.js +22 -5
  53. package/dist/storage/index.js.map +1 -0
  54. package/dist/streaming/index.d.ts +2 -2
  55. package/dist/streaming/index.js +2 -1
  56. package/dist/websocket/index.d.ts +3 -12
  57. package/dist/websocket/index.js +2 -16
  58. package/dist/websocket-DXmB-MWJ.js +697 -0
  59. package/dist/websocket-DXmB-MWJ.js.map +1 -0
  60. package/dist/websocket-node/index.d.ts +108 -6
  61. package/dist/websocket-node/index.js +228 -6
  62. package/dist/websocket-node/index.js.map +1 -0
  63. package/package.json +66 -53
  64. package/dist/__tests__/workers/entry.d.ts +0 -9
  65. package/dist/__tests__/workers-als/entry-als.d.ts +0 -9
  66. package/dist/application.d.ts +0 -104
  67. package/dist/application.js +0 -364
  68. package/dist/cache/cache.decorators.d.ts +0 -2
  69. package/dist/cache/cache.decorators.js +0 -4
  70. package/dist/cache/cache.interceptor.d.ts +0 -9
  71. package/dist/cache/cache.interceptor.js +0 -60
  72. package/dist/cache/cache.module.d.ts +0 -7
  73. package/dist/cache/cache.module.js +0 -58
  74. package/dist/cache/cache.service.d.ts +0 -9
  75. package/dist/cache/cache.service.js +0 -42
  76. package/dist/cache/cache.store.d.ts +0 -12
  77. package/dist/cache/cache.store.js +0 -51
  78. package/dist/cache/cache.tokens.d.ts +0 -6
  79. package/dist/cache/cache.tokens.js +0 -5
  80. package/dist/cache/cache.types.d.ts +0 -41
  81. package/dist/cache/cache.types.js +0 -1
  82. package/dist/cache/index.d.ts +0 -8
  83. package/dist/cache/index.js +0 -7
  84. package/dist/cache/tiered-cache.store.d.ts +0 -19
  85. package/dist/cache/tiered-cache.store.js +0 -40
  86. package/dist/config/config.module.d.ts +0 -19
  87. package/dist/config/config.module.js +0 -98
  88. package/dist/config/config.service.d.ts +0 -20
  89. package/dist/config/config.service.js +0 -43
  90. package/dist/config/config.store.d.ts +0 -46
  91. package/dist/config/config.store.js +0 -119
  92. package/dist/config/config.tokens.d.ts +0 -13
  93. package/dist/config/config.tokens.js +0 -14
  94. package/dist/config/config.types.d.ts +0 -41
  95. package/dist/config/config.types.js +0 -4
  96. package/dist/config/index.d.ts +0 -7
  97. package/dist/config/index.js +0 -5
  98. package/dist/config/register-as.d.ts +0 -52
  99. package/dist/config/register-as.js +0 -39
  100. package/dist/constants.d.ts +0 -44
  101. package/dist/constants.js +0 -46
  102. package/dist/container/container.d.ts +0 -154
  103. package/dist/container/container.js +0 -849
  104. package/dist/container/decorators.d.ts +0 -17
  105. package/dist/container/decorators.js +0 -57
  106. package/dist/container/disposable.d.ts +0 -5
  107. package/dist/container/disposable.js +0 -33
  108. package/dist/container/index.d.ts +0 -6
  109. package/dist/container/index.js +0 -5
  110. package/dist/container/mixin.d.ts +0 -24
  111. package/dist/container/mixin.js +0 -26
  112. package/dist/container/module-ref.d.ts +0 -21
  113. package/dist/container/module-ref.js +0 -48
  114. package/dist/container/types.d.ts +0 -154
  115. package/dist/container/types.js +0 -49
  116. package/dist/cors/cors.module.d.ts +0 -7
  117. package/dist/cors/cors.module.js +0 -37
  118. package/dist/cors/cors.tokens.d.ts +0 -3
  119. package/dist/cors/cors.tokens.js +0 -2
  120. package/dist/cors/cors.types.d.ts +0 -8
  121. package/dist/cors/cors.types.js +0 -1
  122. package/dist/cors/index.d.ts +0 -3
  123. package/dist/cors/index.js +0 -2
  124. package/dist/crypto/signed-url.d.ts +0 -12
  125. package/dist/crypto/signed-url.js +0 -60
  126. package/dist/discovery/discoverable.decorator.d.ts +0 -38
  127. package/dist/discovery/discoverable.decorator.js +0 -42
  128. package/dist/discovery/discovery.service.d.ts +0 -102
  129. package/dist/discovery/discovery.service.js +0 -177
  130. package/dist/discovery/index.d.ts +0 -2
  131. package/dist/discovery/index.js +0 -2
  132. package/dist/entrypoint/entrypoint.registry.d.ts +0 -42
  133. package/dist/entrypoint/entrypoint.registry.js +0 -112
  134. package/dist/entrypoint/entrypoint.types.d.ts +0 -41
  135. package/dist/entrypoint/entrypoint.types.js +0 -3
  136. package/dist/entrypoint/execution-context.d.ts +0 -15
  137. package/dist/entrypoint/execution-context.js +0 -21
  138. package/dist/entrypoint/execution-scope.d.ts +0 -21
  139. package/dist/entrypoint/execution-scope.js +0 -28
  140. package/dist/entrypoint/index.d.ts +0 -4
  141. package/dist/entrypoint/index.js +0 -4
  142. package/dist/errors/http-exception.d.ts +0 -63
  143. package/dist/errors/http-exception.js +0 -142
  144. package/dist/errors/index.d.ts +0 -1
  145. package/dist/errors/index.js +0 -1
  146. package/dist/event-emitter/event-emitter.decorators.d.ts +0 -1
  147. package/dist/event-emitter/event-emitter.decorators.js +0 -10
  148. package/dist/event-emitter/event-emitter.module.d.ts +0 -2
  149. package/dist/event-emitter/event-emitter.module.js +0 -23
  150. package/dist/event-emitter/event-emitter.service.d.ts +0 -13
  151. package/dist/event-emitter/event-emitter.service.js +0 -127
  152. package/dist/event-emitter/event-emitter.subscriber.d.ts +0 -9
  153. package/dist/event-emitter/event-emitter.subscriber.js +0 -45
  154. package/dist/event-emitter/event-emitter.tokens.d.ts +0 -1
  155. package/dist/event-emitter/event-emitter.tokens.js +0 -1
  156. package/dist/event-emitter/event-emitter.types.d.ts +0 -5
  157. package/dist/event-emitter/event-emitter.types.js +0 -1
  158. package/dist/event-emitter/index.d.ts +0 -6
  159. package/dist/event-emitter/index.js +0 -5
  160. package/dist/exceptions/errors.module.d.ts +0 -40
  161. package/dist/exceptions/errors.module.js +0 -46
  162. package/dist/exceptions/exception-handler.d.ts +0 -56
  163. package/dist/exceptions/exception-handler.js +0 -17
  164. package/dist/exceptions/index.d.ts +0 -6
  165. package/dist/exceptions/index.js +0 -3
  166. package/dist/exceptions/reporter.d.ts +0 -21
  167. package/dist/exceptions/reporter.js +0 -70
  168. package/dist/factory/adapter.d.ts +0 -36
  169. package/dist/factory/adapter.js +0 -18
  170. package/dist/factory/bootstrap.d.ts +0 -23
  171. package/dist/factory/bootstrap.js +0 -110
  172. package/dist/factory.d.ts +0 -16
  173. package/dist/factory.js +0 -36
  174. package/dist/fetch/fetch.module.d.ts +0 -7
  175. package/dist/fetch/fetch.module.js +0 -31
  176. package/dist/fetch/fetch.service.d.ts +0 -24
  177. package/dist/fetch/fetch.service.js +0 -145
  178. package/dist/fetch/fetch.types.d.ts +0 -24
  179. package/dist/fetch/fetch.types.js +0 -1
  180. package/dist/fetch/index.d.ts +0 -3
  181. package/dist/fetch/index.js +0 -2
  182. package/dist/health/health.http.d.ts +0 -14
  183. package/dist/health/health.http.js +0 -75
  184. package/dist/health/health.indicator.d.ts +0 -9
  185. package/dist/health/health.indicator.js +0 -32
  186. package/dist/health/health.module.d.ts +0 -2
  187. package/dist/health/health.module.js +0 -26
  188. package/dist/health/health.service.d.ts +0 -7
  189. package/dist/health/health.service.js +0 -69
  190. package/dist/health/health.types.d.ts +0 -15
  191. package/dist/health/health.types.js +0 -1
  192. package/dist/health/index.d.ts +0 -6
  193. package/dist/health/index.js +0 -4
  194. package/dist/http/ambient.d.ts +0 -17
  195. package/dist/http/ambient.js +0 -44
  196. package/dist/http/argument-resolver.d.ts +0 -10
  197. package/dist/http/argument-resolver.js +0 -89
  198. package/dist/http/decorators.d.ts +0 -198
  199. package/dist/http/decorators.js +0 -321
  200. package/dist/http/execution-context.d.ts +0 -8
  201. package/dist/http/execution-context.js +0 -35
  202. package/dist/http/handler-executor.d.ts +0 -20
  203. package/dist/http/handler-executor.js +0 -133
  204. package/dist/http/index.d.ts +0 -12
  205. package/dist/http/index.js +0 -7
  206. package/dist/http/instantiate.d.ts +0 -4
  207. package/dist/http/instantiate.js +0 -45
  208. package/dist/http/lazy-param.decorator.d.ts +0 -37
  209. package/dist/http/lazy-param.decorator.js +0 -117
  210. package/dist/http/request-container.d.ts +0 -16
  211. package/dist/http/request-container.js +0 -19
  212. package/dist/http/request-context.d.ts +0 -13
  213. package/dist/http/request-context.js +0 -22
  214. package/dist/http/response-mapper.d.ts +0 -8
  215. package/dist/http/response-mapper.js +0 -42
  216. package/dist/http/route-contributor.d.ts +0 -68
  217. package/dist/http/route-contributor.js +0 -22
  218. package/dist/http/route-map.d.ts +0 -30
  219. package/dist/http/route-map.js +0 -27
  220. package/dist/http/route.manager.d.ts +0 -92
  221. package/dist/http/route.manager.js +0 -481
  222. package/dist/http/types.d.ts +0 -37
  223. package/dist/http/types.js +0 -1
  224. package/dist/http/url/index.d.ts +0 -4
  225. package/dist/http/url/index.js +0 -3
  226. package/dist/http/url/signed-url.guard.d.ts +0 -27
  227. package/dist/http/url/signed-url.guard.js +0 -62
  228. package/dist/http/url/signing-secret.d.ts +0 -20
  229. package/dist/http/url/signing-secret.js +0 -24
  230. package/dist/http/url/url-generator.service.d.ts +0 -52
  231. package/dist/http/url/url-generator.service.js +0 -104
  232. package/dist/i18n/deep-merge.d.ts +0 -2
  233. package/dist/i18n/deep-merge.js +0 -15
  234. package/dist/i18n/i18n.middleware.d.ts +0 -15
  235. package/dist/i18n/i18n.middleware.js +0 -94
  236. package/dist/i18n/i18n.module.d.ts +0 -13
  237. package/dist/i18n/i18n.module.js +0 -69
  238. package/dist/i18n/i18n.options.d.ts +0 -30
  239. package/dist/i18n/i18n.options.js +0 -16
  240. package/dist/i18n/i18n.service.d.ts +0 -20
  241. package/dist/i18n/i18n.service.js +0 -49
  242. package/dist/i18n/i18n.tokens.d.ts +0 -6
  243. package/dist/i18n/i18n.tokens.js +0 -3
  244. package/dist/i18n/i18n.types.d.ts +0 -6
  245. package/dist/i18n/i18n.types.js +0 -1
  246. package/dist/i18n/message-loader.service.d.ts +0 -21
  247. package/dist/i18n/message-loader.service.js +0 -90
  248. package/dist/i18n/message-registry.d.ts +0 -16
  249. package/dist/i18n/message-registry.js +0 -49
  250. package/dist/lifecycle/index.d.ts +0 -20
  251. package/dist/lifecycle/index.js +0 -15
  252. package/dist/live/live.cursor.d.ts +0 -22
  253. package/dist/live/live.cursor.js +0 -56
  254. package/dist/live/live.decorators.d.ts +0 -32
  255. package/dist/live/live.decorators.js +0 -46
  256. package/dist/live/live.delta.d.ts +0 -15
  257. package/dist/live/live.delta.js +0 -51
  258. package/dist/live/live.engine.d.ts +0 -88
  259. package/dist/live/live.engine.js +0 -471
  260. package/dist/live/live.invalidation.d.ts +0 -45
  261. package/dist/live/live.invalidation.js +0 -99
  262. package/dist/live/live.module.d.ts +0 -28
  263. package/dist/live/live.module.js +0 -87
  264. package/dist/live/live.tokens.d.ts +0 -9
  265. package/dist/live/live.tokens.js +0 -8
  266. package/dist/live/live.types.d.ts +0 -138
  267. package/dist/live/live.types.js +0 -1
  268. package/dist/live/presence.d.ts +0 -44
  269. package/dist/live/presence.js +0 -130
  270. package/dist/metadata.d.ts +0 -10
  271. package/dist/metadata.js +0 -20
  272. package/dist/module/configurable-module.builder.d.ts +0 -56
  273. package/dist/module/configurable-module.builder.js +0 -84
  274. package/dist/module/configurable-module.types.d.ts +0 -93
  275. package/dist/module/configurable-module.types.js +0 -5
  276. package/dist/module/decorators.d.ts +0 -10
  277. package/dist/module/decorators.js +0 -47
  278. package/dist/module/define-module.d.ts +0 -112
  279. package/dist/module/define-module.js +0 -232
  280. package/dist/module/graph.d.ts +0 -10
  281. package/dist/module/graph.js +0 -35
  282. package/dist/module/index.d.ts +0 -10
  283. package/dist/module/index.js +0 -7
  284. package/dist/module/lazy-modules.d.ts +0 -82
  285. package/dist/module/lazy-modules.js +0 -231
  286. package/dist/module/lazy-provider.d.ts +0 -65
  287. package/dist/module/lazy-provider.js +0 -111
  288. package/dist/module/middleware.d.ts +0 -30
  289. package/dist/module/middleware.js +0 -67
  290. package/dist/module/module-loader.d.ts +0 -58
  291. package/dist/module/module-loader.js +0 -484
  292. package/dist/module/stable-hash.d.ts +0 -15
  293. package/dist/module/stable-hash.js +0 -52
  294. package/dist/module/types.d.ts +0 -1
  295. package/dist/module/types.js +0 -1
  296. package/dist/openapi/decorators.d.ts +0 -34
  297. package/dist/openapi/decorators.js +0 -66
  298. package/dist/openapi/document.d.ts +0 -3
  299. package/dist/openapi/document.js +0 -316
  300. package/dist/openapi/index.d.ts +0 -7
  301. package/dist/openapi/index.js +0 -6
  302. package/dist/openapi/redoc-ui.d.ts +0 -1
  303. package/dist/openapi/redoc-ui.js +0 -19
  304. package/dist/openapi/scalar-ui.d.ts +0 -1
  305. package/dist/openapi/scalar-ui.js +0 -19
  306. package/dist/openapi/swagger-ui.d.ts +0 -1
  307. package/dist/openapi/swagger-ui.js +0 -23
  308. package/dist/openapi/types.d.ts +0 -182
  309. package/dist/openapi/types.js +0 -4
  310. package/dist/openapi/zod-to-json-schema.d.ts +0 -4
  311. package/dist/openapi/zod-to-json-schema.js +0 -57
  312. package/dist/pipeline/app-providers.d.ts +0 -10
  313. package/dist/pipeline/app-providers.js +0 -43
  314. package/dist/pipeline/component.manager.d.ts +0 -25
  315. package/dist/pipeline/component.manager.js +0 -66
  316. package/dist/pipeline/decorators.d.ts +0 -10
  317. package/dist/pipeline/decorators.js +0 -42
  318. package/dist/pipeline/index.d.ts +0 -12
  319. package/dist/pipeline/index.js +0 -7
  320. package/dist/pipeline/pipeline-runner.d.ts +0 -31
  321. package/dist/pipeline/pipeline-runner.js +0 -40
  322. package/dist/pipeline/pipes.d.ts +0 -48
  323. package/dist/pipeline/pipes.js +0 -104
  324. package/dist/pipeline/reflector.d.ts +0 -86
  325. package/dist/pipeline/reflector.js +0 -121
  326. package/dist/pipeline/scoped-components.d.ts +0 -26
  327. package/dist/pipeline/scoped-components.js +0 -27
  328. package/dist/pipeline/tokens.d.ts +0 -57
  329. package/dist/pipeline/tokens.js +0 -47
  330. package/dist/pipeline/types.d.ts +0 -64
  331. package/dist/pipeline/types.js +0 -1
  332. package/dist/plugin/plugin.d.ts +0 -31
  333. package/dist/plugin/plugin.js +0 -111
  334. package/dist/queue/inline.driver.d.ts +0 -30
  335. package/dist/queue/inline.driver.js +0 -58
  336. package/dist/queue/queue.binding.d.ts +0 -23
  337. package/dist/queue/queue.binding.js +0 -60
  338. package/dist/queue/queue.client.d.ts +0 -20
  339. package/dist/queue/queue.client.js +0 -33
  340. package/dist/queue/queue.decorators.d.ts +0 -23
  341. package/dist/queue/queue.decorators.js +0 -46
  342. package/dist/queue/queue.dispatch.d.ts +0 -36
  343. package/dist/queue/queue.dispatch.js +0 -109
  344. package/dist/queue/queue.module.d.ts +0 -32
  345. package/dist/queue/queue.module.js +0 -80
  346. package/dist/queue/queue.tokens.d.ts +0 -21
  347. package/dist/queue/queue.tokens.js +0 -34
  348. package/dist/queue/queue.types.d.ts +0 -61
  349. package/dist/queue/queue.types.js +0 -4
  350. package/dist/registry/index.d.ts +0 -2
  351. package/dist/registry/index.js +0 -1
  352. package/dist/registry/metadata.registry.d.ts +0 -73
  353. package/dist/registry/metadata.registry.js +0 -357
  354. package/dist/registry/paths.d.ts +0 -3
  355. package/dist/registry/paths.js +0 -15
  356. package/dist/registry/types.d.ts +0 -116
  357. package/dist/registry/types.js +0 -1
  358. package/dist/registry/util.d.ts +0 -3
  359. package/dist/registry/util.js +0 -8
  360. package/dist/schedule/cron-matcher.d.ts +0 -2
  361. package/dist/schedule/cron-matcher.js +0 -62
  362. package/dist/schedule/index.d.ts +0 -8
  363. package/dist/schedule/index.js +0 -5
  364. package/dist/schedule/schedule.decorators.d.ts +0 -2
  365. package/dist/schedule/schedule.decorators.js +0 -18
  366. package/dist/schedule/schedule.module.d.ts +0 -9
  367. package/dist/schedule/schedule.module.js +0 -28
  368. package/dist/schedule/schedule.registry.d.ts +0 -23
  369. package/dist/schedule/schedule.registry.js +0 -63
  370. package/dist/schedule/schedule.tokens.d.ts +0 -2
  371. package/dist/schedule/schedule.tokens.js +0 -2
  372. package/dist/schedule/schedule.types.d.ts +0 -8
  373. package/dist/schedule/schedule.types.js +0 -1
  374. package/dist/schedule-node/schedule-node.module.d.ts +0 -9
  375. package/dist/schedule-node/schedule-node.module.js +0 -28
  376. package/dist/schedule-node/schedule.executor.d.ts +0 -19
  377. package/dist/schedule-node/schedule.executor.js +0 -112
  378. package/dist/seeder/seeder.decorator.d.ts +0 -7
  379. package/dist/seeder/seeder.decorator.js +0 -15
  380. package/dist/seeder/seeder.module.d.ts +0 -16
  381. package/dist/seeder/seeder.module.js +0 -44
  382. package/dist/seeder/seeder.registry.d.ts +0 -23
  383. package/dist/seeder/seeder.registry.js +0 -83
  384. package/dist/seeder/seeder.tokens.d.ts +0 -2
  385. package/dist/seeder/seeder.tokens.js +0 -1
  386. package/dist/seeder/seeder.types.d.ts +0 -20
  387. package/dist/seeder/seeder.types.js +0 -1
  388. package/dist/serialization/index.d.ts +0 -2
  389. package/dist/serialization/index.js +0 -2
  390. package/dist/serialization/serialize.decorator.d.ts +0 -6
  391. package/dist/serialization/serialize.decorator.js +0 -7
  392. package/dist/serialization/serializer.interceptor.d.ts +0 -4
  393. package/dist/serialization/serializer.interceptor.js +0 -16
  394. package/dist/services/index.d.ts +0 -2
  395. package/dist/services/index.js +0 -1
  396. package/dist/services/logger.d.ts +0 -59
  397. package/dist/services/logger.js +0 -159
  398. package/dist/storage/path-template.d.ts +0 -9
  399. package/dist/storage/path-template.js +0 -20
  400. package/dist/storage/storage.types.d.ts +0 -41
  401. package/dist/storage/storage.types.js +0 -5
  402. package/dist/throttler/index.d.ts +0 -6
  403. package/dist/throttler/index.js +0 -5
  404. package/dist/throttler/throttler.decorators.d.ts +0 -3
  405. package/dist/throttler/throttler.decorators.js +0 -4
  406. package/dist/throttler/throttler.guard.d.ts +0 -9
  407. package/dist/throttler/throttler.guard.js +0 -72
  408. package/dist/throttler/throttler.module.d.ts +0 -7
  409. package/dist/throttler/throttler.module.js +0 -41
  410. package/dist/throttler/throttler.storage.d.ts +0 -10
  411. package/dist/throttler/throttler.storage.js +0 -44
  412. package/dist/throttler/throttler.tokens.d.ts +0 -6
  413. package/dist/throttler/throttler.tokens.js +0 -5
  414. package/dist/throttler/throttler.types.d.ts +0 -25
  415. package/dist/throttler/throttler.types.js +0 -1
  416. package/dist/validation/create-zod-dto.d.ts +0 -13
  417. package/dist/validation/create-zod-dto.js +0 -18
  418. package/dist/validation/index.d.ts +0 -3
  419. package/dist/validation/index.js +0 -2
  420. package/dist/validation/validation.pipe.d.ts +0 -4
  421. package/dist/validation/validation.pipe.js +0 -19
  422. package/dist/websocket/websocket.decorators.d.ts +0 -47
  423. package/dist/websocket/websocket.decorators.js +0 -80
  424. package/dist/websocket/websocket.module.d.ts +0 -35
  425. package/dist/websocket/websocket.module.js +0 -63
  426. package/dist/websocket/websocket.tokens.d.ts +0 -30
  427. package/dist/websocket/websocket.tokens.js +0 -27
  428. package/dist/websocket/websocket.types.d.ts +0 -102
  429. package/dist/websocket/websocket.types.js +0 -4
  430. package/dist/websocket/ws-argument-resolver.d.ts +0 -13
  431. package/dist/websocket/ws-argument-resolver.js +0 -40
  432. package/dist/websocket/ws-dispatcher.d.ts +0 -54
  433. package/dist/websocket/ws-dispatcher.js +0 -343
  434. package/dist/websocket/ws-exception.d.ts +0 -25
  435. package/dist/websocket/ws-exception.js +0 -42
  436. package/dist/websocket/ws-execution-context.d.ts +0 -9
  437. package/dist/websocket/ws-execution-context.js +0 -24
  438. package/dist/websocket/ws-server.d.ts +0 -31
  439. package/dist/websocket/ws-server.js +0 -74
  440. package/dist/websocket/ws-sync.d.ts +0 -47
  441. package/dist/websocket/ws-sync.js +0 -74
  442. package/dist/websocket-node/node-ws-client.d.ts +0 -24
  443. package/dist/websocket-node/node-ws-client.js +0 -49
  444. package/dist/websocket-node/redis-live.d.ts +0 -24
  445. package/dist/websocket-node/redis-live.js +0 -57
  446. package/dist/websocket-node/redis-sync.d.ts +0 -33
  447. package/dist/websocket-node/redis-sync.js +0 -56
  448. package/dist/websocket-node/register-gateways.d.ts +0 -20
  449. package/dist/websocket-node/register-gateways.js +0 -61
@@ -1,75 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- function _ts_metadata(k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- }
10
- import { Injectable } from "../container/index.js";
11
- import { HealthIndicatorService } from "./health.indicator.js";
12
- export class HttpHealthIndicator {
13
- indicator;
14
- constructor(indicator){
15
- this.indicator = indicator;
16
- }
17
- async pingCheck(key, url, options) {
18
- const { method = 'GET', headers, timeout = 5000, expectedStatus } = options ?? {};
19
- try {
20
- const response = await fetch(url, {
21
- method,
22
- headers,
23
- signal: AbortSignal.timeout(timeout)
24
- });
25
- const statusCode = response.status;
26
- const isHealthy = expectedStatus !== undefined ? statusCode === expectedStatus : statusCode >= 200 && statusCode < 300;
27
- if (isHealthy) {
28
- return this.indicator.check(key).up({
29
- statusCode
30
- });
31
- }
32
- return this.indicator.check(key).down({
33
- statusCode,
34
- message: response.statusText
35
- });
36
- } catch (error) {
37
- const message = error instanceof Error ? error.message : 'Unknown error';
38
- return this.indicator.check(key).down({
39
- message
40
- });
41
- }
42
- }
43
- async responseCheck(key, url, callback, options) {
44
- const { method = 'GET', headers, timeout = 5000 } = options ?? {};
45
- try {
46
- const response = await fetch(url, {
47
- method,
48
- headers,
49
- signal: AbortSignal.timeout(timeout)
50
- });
51
- const statusCode = response.status;
52
- const isHealthy = await callback(response);
53
- if (isHealthy) {
54
- return this.indicator.check(key).up({
55
- statusCode
56
- });
57
- }
58
- return this.indicator.check(key).down({
59
- statusCode
60
- });
61
- } catch (error) {
62
- const message = error instanceof Error ? error.message : 'Unknown error';
63
- return this.indicator.check(key).down({
64
- message
65
- });
66
- }
67
- }
68
- }
69
- HttpHealthIndicator = _ts_decorate([
70
- Injectable(),
71
- _ts_metadata("design:type", Function),
72
- _ts_metadata("design:paramtypes", [
73
- typeof HealthIndicatorService === "undefined" ? Object : HealthIndicatorService
74
- ])
75
- ], HttpHealthIndicator);
@@ -1,9 +0,0 @@
1
- import type { HealthIndicatorResult } from './health.types';
2
- interface HealthIndicatorBuilder {
3
- up(data?: Record<string, unknown>): HealthIndicatorResult;
4
- down(data?: Record<string, unknown>): HealthIndicatorResult;
5
- }
6
- export declare class HealthIndicatorService {
7
- check(key: string): HealthIndicatorBuilder;
8
- }
9
- export {};
@@ -1,32 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Injectable } from "../container/index.js";
8
- export class HealthIndicatorService {
9
- check(key) {
10
- return {
11
- up (data) {
12
- return {
13
- [key]: {
14
- status: 'up',
15
- ...data
16
- }
17
- };
18
- },
19
- down (data) {
20
- return {
21
- [key]: {
22
- status: 'down',
23
- ...data
24
- }
25
- };
26
- }
27
- };
28
- }
29
- }
30
- HealthIndicatorService = _ts_decorate([
31
- Injectable()
32
- ], HealthIndicatorService);
@@ -1,2 +0,0 @@
1
- export declare class HealthModule {
2
- }
@@ -1,26 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Module } from "../module/index.js";
8
- import { HealthCheckService } from "./health.service.js";
9
- import { HealthIndicatorService } from "./health.indicator.js";
10
- import { HttpHealthIndicator } from "./health.http.js";
11
- export class HealthModule {
12
- }
13
- HealthModule = _ts_decorate([
14
- Module({
15
- providers: [
16
- HealthCheckService,
17
- HealthIndicatorService,
18
- HttpHealthIndicator
19
- ],
20
- exports: [
21
- HealthCheckService,
22
- HealthIndicatorService,
23
- HttpHealthIndicator
24
- ]
25
- })
26
- ], HealthModule);
@@ -1,7 +0,0 @@
1
- import type { BeforeApplicationShutdown } from '../lifecycle/index';
2
- import type { HealthCheckResult, HealthIndicatorFunction } from './health.types';
3
- export declare class HealthCheckService implements BeforeApplicationShutdown {
4
- private isShuttingDown;
5
- beforeApplicationShutdown(): void;
6
- check(indicators: HealthIndicatorFunction[]): Promise<HealthCheckResult>;
7
- }
@@ -1,69 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Injectable } from "../container/index.js";
8
- import { ServiceUnavailableException } from "../errors/http-exception.js";
9
- export class HealthCheckService {
10
- isShuttingDown = false;
11
- beforeApplicationShutdown() {
12
- this.isShuttingDown = true;
13
- }
14
- async check(indicators) {
15
- if (this.isShuttingDown) {
16
- const result = {
17
- status: 'shutting_down',
18
- info: {},
19
- error: {},
20
- details: {}
21
- };
22
- throw new ServiceUnavailableException({
23
- ...result
24
- });
25
- }
26
- const results = await Promise.allSettled(indicators.map((fn)=>fn()));
27
- const info = {};
28
- const error = {};
29
- const details = {};
30
- for (const result of results){
31
- if (result.status === 'fulfilled') {
32
- const indicatorResult = result.value;
33
- for (const [key, value] of Object.entries(indicatorResult)){
34
- details[key] = value;
35
- if (value.status === 'up') {
36
- info[key] = value;
37
- } else {
38
- error[key] = value;
39
- }
40
- }
41
- } else {
42
- const message = result.reason instanceof Error ? result.reason.message : 'Health check failed';
43
- const key = 'unknown';
44
- const value = {
45
- status: 'down',
46
- message
47
- };
48
- details[key] = value;
49
- error[key] = value;
50
- }
51
- }
52
- const status = Object.keys(error).length > 0 ? 'error' : 'ok';
53
- const checkResult = {
54
- status,
55
- info,
56
- error,
57
- details
58
- };
59
- if (status === 'error') {
60
- throw new ServiceUnavailableException({
61
- ...checkResult
62
- });
63
- }
64
- return checkResult;
65
- }
66
- }
67
- HealthCheckService = _ts_decorate([
68
- Injectable()
69
- ], HealthCheckService);
@@ -1,15 +0,0 @@
1
- export type HealthCheckStatus = 'ok' | 'error' | 'shutting_down';
2
- export interface HealthIndicatorResult {
3
- [key: string]: {
4
- status: 'up' | 'down';
5
- [key: string]: unknown;
6
- };
7
- }
8
- export interface HealthCheckResult {
9
- status: HealthCheckStatus;
10
- info: HealthIndicatorResult;
11
- error: HealthIndicatorResult;
12
- details: HealthIndicatorResult;
13
- }
14
- export type HealthIndicatorFunction = () => Promise<HealthIndicatorResult>;
15
- export type ResponseCheckCallback = (response: Response) => boolean | Promise<boolean>;
@@ -1 +0,0 @@
1
- export { };
@@ -1,6 +0,0 @@
1
- export { HealthModule } from './health.module';
2
- export { HealthCheckService } from './health.service';
3
- export { HealthIndicatorService } from './health.indicator';
4
- export { HttpHealthIndicator } from './health.http';
5
- export type { HealthCheckResult, HealthCheckStatus, HealthIndicatorResult, HealthIndicatorFunction, ResponseCheckCallback, } from './health.types';
6
- export type { HttpPingOptions } from './health.http';
@@ -1,4 +0,0 @@
1
- export { HealthModule } from "./health.module.js";
2
- export { HealthCheckService } from "./health.service.js";
3
- export { HealthIndicatorService } from "./health.indicator.js";
4
- export { HttpHealthIndicator } from "./health.http.js";
@@ -1,17 +0,0 @@
1
- import type { MiddlewareHandler } from 'hono';
2
- import type { Container } from '../container/container';
3
- import { type RequestContext } from './request-context';
4
- /**
5
- * Returns Hono's `contextStorage()` middleware. Register it as the FIRST global
6
- * middleware so `getCurrentContainer()` works everywhere downstream. When using
7
- * `VelaFactory.create(module, { ambientContainer: true })` this is wired
8
- * automatically — call this only for manual/raw Hono setups.
9
- */
10
- export declare function enableAmbientContainer(): MiddlewareHandler;
11
- /**
12
- * The current request's DI container. Throws with actionable guidance if
13
- * ambient access isn't enabled or this runs outside a request.
14
- */
15
- export declare function getCurrentContainer(): Container;
16
- /** The current request's {@link RequestContext} (via the ambient container). */
17
- export declare function getCurrentRequestContext(): RequestContext;
@@ -1,44 +0,0 @@
1
- import { contextStorage, getContext } from "hono/context-storage";
2
- import { REQUEST_CONTEXT } from "./request-context.js";
3
- // Opt-in ambient access to the per-request DI container / RequestContext,
4
- // for deep code that lacks the Hono `Context` (services, standalone helpers).
5
- //
6
- // Portable across vela's target runtimes because the `node:async_hooks`
7
- // dependency lives inside Hono's `contextStorage()` middleware — vela's own
8
- // source never imports `node:*`. Uses only the workerd-safe ALS subset
9
- // (`run()`/`getStore()`); no `enterWith`, no cross-thenable propagation.
10
- //
11
- // Default path is unchanged: request scope is still carried by the per-request
12
- // child container (see RouteManager.getRequestContainer). This is a second
13
- // READ path, active only when enabled.
14
- /**
15
- * Returns Hono's `contextStorage()` middleware. Register it as the FIRST global
16
- * middleware so `getCurrentContainer()` works everywhere downstream. When using
17
- * `VelaFactory.create(module, { ambientContainer: true })` this is wired
18
- * automatically — call this only for manual/raw Hono setups.
19
- */ export function enableAmbientContainer() {
20
- return contextStorage();
21
- }
22
- function tryGetContext() {
23
- try {
24
- return getContext();
25
- } catch {
26
- // Thrown when called outside the contextStorage() middleware (i.e. ambient
27
- // access not enabled, or outside a request).
28
- return undefined;
29
- }
30
- }
31
- /**
32
- * The current request's DI container. Throws with actionable guidance if
33
- * ambient access isn't enabled or this runs outside a request.
34
- */ export function getCurrentContainer() {
35
- const context = tryGetContext();
36
- const container = context?.get('container');
37
- if (!container) {
38
- throw new Error('getCurrentContainer() is unavailable: enable ambient access via ' + "VelaFactory.create(module, { ambientContainer: true }) (or app.use(enableAmbientContainer())) " + 'and only call it within a request.');
39
- }
40
- return container;
41
- }
42
- /** The current request's {@link RequestContext} (via the ambient container). */ export function getCurrentRequestContext() {
43
- return getCurrentContainer().resolve(REQUEST_CONTEXT);
44
- }
@@ -1,10 +0,0 @@
1
- import type { Context } from 'hono';
2
- import type { Container } from '../container/container';
3
- import type { PipeTransform } from '../pipeline/types';
4
- import type { ParamMetadata } from './types';
5
- export declare class ArgumentResolver {
6
- private readonly ipExtractor;
7
- constructor(ipExtractor: (c: Context) => string | null);
8
- extract(c: Context, paramMetadata: ParamMetadata[], pipes: PipeTransform[], requestContainer: Container, paramTypes?: unknown[]): Promise<unknown[]>;
9
- private extractParam;
10
- }
@@ -1,89 +0,0 @@
1
- import { getCookie } from "hono/cookie";
2
- import { ParamType } from "../constants.js";
3
- import { instantiate } from "./instantiate.js";
4
- const PARAM_EXTRACTORS = new Map([
5
- [
6
- ParamType.PARAM,
7
- (c, p)=>p.name ? c.req.param(p.name) : c.req.param()
8
- ],
9
- [
10
- ParamType.QUERY,
11
- (c, p)=>p.name ? c.req.query(p.name) : c.req.query()
12
- ],
13
- [
14
- ParamType.BODY,
15
- async (c, p)=>{
16
- let body;
17
- try {
18
- body = await c.req.json();
19
- } catch {
20
- return undefined;
21
- }
22
- return p.name && body !== null && typeof body === 'object' ? body[p.name] : body;
23
- }
24
- ],
25
- [
26
- ParamType.HEADERS,
27
- (c, p)=>p.name ? c.req.header(p.name) : c.req.header()
28
- ],
29
- [
30
- ParamType.REQUEST,
31
- (c)=>c
32
- ],
33
- [
34
- ParamType.RESPONSE,
35
- (c)=>c
36
- ],
37
- [
38
- ParamType.COOKIE,
39
- (c, p)=>p.name ? getCookie(c, p.name) : getCookie(c)
40
- ],
41
- [
42
- ParamType.RAW_BODY,
43
- async (c)=>new Uint8Array(await c.req.arrayBuffer())
44
- ]
45
- ]);
46
- // Pulls handler arguments from the request, applies shared pipes (global +
47
- // controller + method) and then per-param pipes. Empty paramMetadata returns
48
- // `[c]` to match the old direct-Hono-handler shape — a back-compat behavior
49
- // the framework's tests rely on.
50
- export class ArgumentResolver {
51
- ipExtractor;
52
- constructor(ipExtractor){
53
- this.ipExtractor = ipExtractor;
54
- }
55
- async extract(c, paramMetadata, pipes, requestContainer, paramTypes) {
56
- if (paramMetadata.length === 0) {
57
- return [
58
- c
59
- ];
60
- }
61
- const maxIndex = paramMetadata.at(-1).index;
62
- const args = new Array(maxIndex + 1).fill(undefined);
63
- for (const param of paramMetadata){
64
- let value = await this.extractParam(c, param);
65
- const metadata = {
66
- type: param.type,
67
- data: param.name,
68
- metatype: param.metatype ?? paramTypes?.[param.index]
69
- };
70
- for (const pipe of pipes){
71
- value = await pipe.transform(value, metadata);
72
- }
73
- if (param.pipes && param.pipes.length > 0) {
74
- for (const paramPipe of param.pipes){
75
- const pipeInstance = instantiate(paramPipe, requestContainer);
76
- value = await pipeInstance.transform(value, metadata);
77
- }
78
- }
79
- args[param.index] = value;
80
- }
81
- return args;
82
- }
83
- extractParam(c, param) {
84
- if (param.type === ParamType.IP) return this.ipExtractor(c);
85
- const extractor = PARAM_EXTRACTORS.get(param.type);
86
- if (extractor) return extractor(c, param);
87
- return param.factory ? param.factory(param.name, c) : undefined;
88
- }
89
- }
@@ -1,198 +0,0 @@
1
- import type { Constructor, PipeType } from '../registry/types';
2
- import type { ControllerOptions } from './types';
3
- import type { ExecutionContext } from '../pipeline/types';
4
- /**
5
- * Marks a class as a controller.
6
- * Accepts a path string or an options object with `path` and `version`.
7
- *
8
- * @example
9
- * ```ts
10
- * @Controller('/users')
11
- * @Controller({ path: '/users', version: 1 })
12
- * @Controller({ path: '/users', version: [1, 2] })
13
- * ```
14
- */
15
- export declare function Controller(pathOrOptions?: string | ControllerOptions): ClassDecorator;
16
- /**
17
- * Override the version for a specific route method.
18
- *
19
- * @example
20
- * ```ts
21
- * @Controller({ prefix: '/users', version: 1 })
22
- * class UserController {
23
- * @Get()
24
- * listV1() { ... } // GET /v1/users
25
- *
26
- * @Version(2)
27
- * @Get()
28
- * listV2() { ... } // GET /v2/users
29
- * }
30
- * ```
31
- */
32
- export declare function Version(version: number | number[]): MethodDecorator;
33
- export declare function getRouteVersion(target: Constructor, propertyKey: string | symbol): number | number[] | undefined;
34
- /** Per-route options for the HTTP method decorators (`@Get`, `@Post`, …). */
35
- export interface RouteOptions {
36
- /**
37
- * A stable, human-readable name for this route. Enables URL generation
38
- * (`UrlGeneratorService.urlFor(name, …)`), surfaces on `app.describeRoutes()`,
39
- * and — when set — becomes the OpenAPI `operationId`.
40
- */
41
- name?: string;
42
- }
43
- export declare const Get: (path?: string, options?: RouteOptions) => MethodDecorator;
44
- export declare const Post: (path?: string, options?: RouteOptions) => MethodDecorator;
45
- export declare const Put: (path?: string, options?: RouteOptions) => MethodDecorator;
46
- export declare const Patch: (path?: string, options?: RouteOptions) => MethodDecorator;
47
- export declare const Delete: (path?: string, options?: RouteOptions) => MethodDecorator;
48
- export declare const Options: (path?: string, options?: RouteOptions) => MethodDecorator;
49
- export declare const Head: (path?: string, options?: RouteOptions) => MethodDecorator;
50
- export declare const All: (path?: string, options?: RouteOptions) => MethodDecorator;
51
- export declare const Sse: (path?: string, options?: RouteOptions) => MethodDecorator;
52
- export declare const Param: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
53
- export declare const Query: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
54
- export declare const Body: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
55
- export declare const Headers: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
56
- export declare const Req: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
57
- /**
58
- * Injects the Hono `Context` as the response handle.
59
- * In Hono, request and response state are unified in the `Context` object,
60
- * so `@Res()` and `@Req()` both return it.
61
- *
62
- * Use `c.header()`, `c.setCookie()`, `c.redirect()`, etc. for response control.
63
- *
64
- * @example
65
- * ```ts
66
- * @Get('/set-cookie')
67
- * handle(@Res() c: Context) {
68
- * c.setCookie('session', 'abc123', { httpOnly: true });
69
- * return { ok: true };
70
- * }
71
- * ```
72
- */
73
- export declare const Res: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
74
- export declare const Ip: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
75
- export declare const Cookie: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
76
- /**
77
- * Injects all cookies as a `Record<string, string>`, or a single cookie value by name.
78
- *
79
- * - `@Cookie()` — all cookies as an object
80
- * - `@Cookie('token')` — the value of the `token` cookie
81
- *
82
- * @example
83
- * ```ts
84
- * @Get('/me')
85
- * handle(@Cookie('session') session: string) { ... }
86
- * ```
87
- */
88
- export declare const Cookies: (nameOrPipe?: string | PipeType, ...pipes: PipeType[]) => ParameterDecorator;
89
- /**
90
- * Injects the raw request body as a `Uint8Array`.
91
- * Useful for webhook HMAC verification (Stripe, GitHub, etc.) where you
92
- * need the raw bytes before any JSON parsing.
93
- *
94
- * @example
95
- * ```ts
96
- * @Post('/webhook')
97
- * async handle(@RawBody() body: Uint8Array) {
98
- * const sig = new TextDecoder().decode(body);
99
- * // verify HMAC...
100
- * }
101
- * ```
102
- */
103
- export declare function RawBody(): ParameterDecorator;
104
- /**
105
- * Factory for creating custom parameter decorators.
106
- *
107
- * @example
108
- * ```ts
109
- * const CurrentUser = createParamDecorator(
110
- * (data: unknown, ctx: ExecutionContext) => {
111
- * const req = ctx.getRequest();
112
- * return req.headers.get('x-user-id');
113
- * }
114
- * );
115
- *
116
- * // Usage:
117
- * @Get()
118
- * handle(@CurrentUser() userId: string) { ... }
119
- *
120
- * // With data argument:
121
- * const Header = createParamDecorator(
122
- * (data: string, ctx: ExecutionContext) => {
123
- * return ctx.getRequest().headers.get(data);
124
- * }
125
- * );
126
- *
127
- * @Get()
128
- * handle(@Header('x-request-id') requestId: string) { ... }
129
- * ```
130
- */
131
- export declare function createParamDecorator<TData = unknown>(factory: (data: TData, ctx: ExecutionContext) => unknown): (data?: TData, ...pipes: PipeType[]) => ParameterDecorator;
132
- /**
133
- * Override the HTTP status code for a handler's response.
134
- *
135
- * @example
136
- * ```ts
137
- * @Post()
138
- * @HttpCode(201)
139
- * create(@Body() data: CreateDto) { return data; }
140
- * ```
141
- */
142
- export declare function HttpCode(statusCode: number): MethodDecorator;
143
- /**
144
- * Set a response header declaratively.
145
- * Can be applied multiple times to set multiple headers.
146
- *
147
- * @example
148
- * ```ts
149
- * @Get()
150
- * @Header('Cache-Control', 'no-cache')
151
- * @Header('X-Custom', 'value')
152
- * handle() { return { ok: true }; }
153
- * ```
154
- */
155
- export declare function Header(name: string, value: string): MethodDecorator;
156
- /**
157
- * Redirect to another URL. The handler's return value can override the URL.
158
- *
159
- * @example
160
- * ```ts
161
- * @Get('/old')
162
- * @Redirect('/new', 301)
163
- * handleOld() {}
164
- *
165
- * // Dynamic redirect — return { url, statusCode? } to override
166
- * @Get('/go')
167
- * @Redirect('/default')
168
- * handleGo(@Query('to') to?: string) {
169
- * if (to) return { url: to };
170
- * }
171
- * ```
172
- */
173
- export declare function Redirect(url: string, statusCode?: number): MethodDecorator;
174
- export declare function getHttpCode(target: Constructor, method: string | symbol): number | undefined;
175
- export declare function getResponseHeaders(target: Constructor, method: string | symbol): Array<[string, string]>;
176
- export declare function getRedirect(target: Constructor, method: string | symbol): {
177
- url: string;
178
- statusCode: number;
179
- } | undefined;
180
- /**
181
- * Composes multiple decorators into one. Applies them in order (top to bottom),
182
- * matching how stacked decorators behave when written separately.
183
- *
184
- * @example
185
- * ```ts
186
- * const Auth = (...roles: string[]) => applyDecorators(
187
- * UseGuards(JwtGuard, RolesGuard),
188
- * SetMetadata('roles', roles),
189
- * );
190
- *
191
- * @Auth('admin')
192
- * @Get('/admin')
193
- * handle() { ... }
194
- * ```
195
- */
196
- export type ComposedDecorator = <T>(target: T, propertyKey?: string | symbol, descriptor?: PropertyDescriptor | number) => void;
197
- export declare function applyDecorators(...decorators: Array<ClassDecorator | MethodDecorator | PropertyDecorator | ParameterDecorator>): ComposedDecorator;
198
- export declare function isController(target: Constructor): boolean;