@velajs/vela 1.18.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 (441) hide show
  1. package/CHANGELOG.md +78 -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 -66
  23. package/dist/index.js +14 -71
  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 +67 -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 -91
  67. package/dist/application.js +0 -308
  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 -62
  143. package/dist/errors/http-exception.js +0 -134
  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/factory/adapter.d.ts +0 -36
  161. package/dist/factory/adapter.js +0 -18
  162. package/dist/factory/bootstrap.d.ts +0 -23
  163. package/dist/factory/bootstrap.js +0 -108
  164. package/dist/factory.d.ts +0 -16
  165. package/dist/factory.js +0 -36
  166. package/dist/fetch/fetch.module.d.ts +0 -7
  167. package/dist/fetch/fetch.module.js +0 -31
  168. package/dist/fetch/fetch.service.d.ts +0 -24
  169. package/dist/fetch/fetch.service.js +0 -145
  170. package/dist/fetch/fetch.types.d.ts +0 -24
  171. package/dist/fetch/fetch.types.js +0 -1
  172. package/dist/fetch/index.d.ts +0 -3
  173. package/dist/fetch/index.js +0 -2
  174. package/dist/health/health.http.d.ts +0 -14
  175. package/dist/health/health.http.js +0 -75
  176. package/dist/health/health.indicator.d.ts +0 -9
  177. package/dist/health/health.indicator.js +0 -32
  178. package/dist/health/health.module.d.ts +0 -2
  179. package/dist/health/health.module.js +0 -26
  180. package/dist/health/health.service.d.ts +0 -7
  181. package/dist/health/health.service.js +0 -69
  182. package/dist/health/health.types.d.ts +0 -15
  183. package/dist/health/health.types.js +0 -1
  184. package/dist/health/index.d.ts +0 -6
  185. package/dist/health/index.js +0 -4
  186. package/dist/http/ambient.d.ts +0 -17
  187. package/dist/http/ambient.js +0 -44
  188. package/dist/http/argument-resolver.d.ts +0 -10
  189. package/dist/http/argument-resolver.js +0 -89
  190. package/dist/http/decorators.d.ts +0 -198
  191. package/dist/http/decorators.js +0 -321
  192. package/dist/http/execution-context.d.ts +0 -8
  193. package/dist/http/execution-context.js +0 -35
  194. package/dist/http/handler-executor.d.ts +0 -20
  195. package/dist/http/handler-executor.js +0 -111
  196. package/dist/http/index.d.ts +0 -12
  197. package/dist/http/index.js +0 -7
  198. package/dist/http/instantiate.d.ts +0 -4
  199. package/dist/http/instantiate.js +0 -45
  200. package/dist/http/lazy-param.decorator.d.ts +0 -37
  201. package/dist/http/lazy-param.decorator.js +0 -117
  202. package/dist/http/request-container.d.ts +0 -16
  203. package/dist/http/request-container.js +0 -19
  204. package/dist/http/request-context.d.ts +0 -13
  205. package/dist/http/request-context.js +0 -22
  206. package/dist/http/response-mapper.d.ts +0 -8
  207. package/dist/http/response-mapper.js +0 -42
  208. package/dist/http/route-contributor.d.ts +0 -68
  209. package/dist/http/route-contributor.js +0 -22
  210. package/dist/http/route-map.d.ts +0 -30
  211. package/dist/http/route-map.js +0 -27
  212. package/dist/http/route.manager.d.ts +0 -92
  213. package/dist/http/route.manager.js +0 -481
  214. package/dist/http/types.d.ts +0 -37
  215. package/dist/http/types.js +0 -1
  216. package/dist/http/url/index.d.ts +0 -4
  217. package/dist/http/url/index.js +0 -3
  218. package/dist/http/url/signed-url.guard.d.ts +0 -27
  219. package/dist/http/url/signed-url.guard.js +0 -62
  220. package/dist/http/url/signing-secret.d.ts +0 -20
  221. package/dist/http/url/signing-secret.js +0 -24
  222. package/dist/http/url/url-generator.service.d.ts +0 -52
  223. package/dist/http/url/url-generator.service.js +0 -104
  224. package/dist/i18n/deep-merge.d.ts +0 -2
  225. package/dist/i18n/deep-merge.js +0 -15
  226. package/dist/i18n/i18n.middleware.d.ts +0 -15
  227. package/dist/i18n/i18n.middleware.js +0 -94
  228. package/dist/i18n/i18n.module.d.ts +0 -13
  229. package/dist/i18n/i18n.module.js +0 -69
  230. package/dist/i18n/i18n.options.d.ts +0 -30
  231. package/dist/i18n/i18n.options.js +0 -16
  232. package/dist/i18n/i18n.service.d.ts +0 -20
  233. package/dist/i18n/i18n.service.js +0 -49
  234. package/dist/i18n/i18n.tokens.d.ts +0 -6
  235. package/dist/i18n/i18n.tokens.js +0 -3
  236. package/dist/i18n/i18n.types.d.ts +0 -6
  237. package/dist/i18n/i18n.types.js +0 -1
  238. package/dist/i18n/message-loader.service.d.ts +0 -21
  239. package/dist/i18n/message-loader.service.js +0 -90
  240. package/dist/i18n/message-registry.d.ts +0 -16
  241. package/dist/i18n/message-registry.js +0 -49
  242. package/dist/lifecycle/index.d.ts +0 -20
  243. package/dist/lifecycle/index.js +0 -15
  244. package/dist/live/live.cursor.d.ts +0 -22
  245. package/dist/live/live.cursor.js +0 -56
  246. package/dist/live/live.decorators.d.ts +0 -32
  247. package/dist/live/live.decorators.js +0 -46
  248. package/dist/live/live.delta.d.ts +0 -15
  249. package/dist/live/live.delta.js +0 -51
  250. package/dist/live/live.engine.d.ts +0 -81
  251. package/dist/live/live.engine.js +0 -448
  252. package/dist/live/live.invalidation.d.ts +0 -45
  253. package/dist/live/live.invalidation.js +0 -99
  254. package/dist/live/live.module.d.ts +0 -28
  255. package/dist/live/live.module.js +0 -87
  256. package/dist/live/live.tokens.d.ts +0 -9
  257. package/dist/live/live.tokens.js +0 -8
  258. package/dist/live/live.types.d.ts +0 -138
  259. package/dist/live/live.types.js +0 -1
  260. package/dist/live/presence.d.ts +0 -44
  261. package/dist/live/presence.js +0 -130
  262. package/dist/metadata.d.ts +0 -10
  263. package/dist/metadata.js +0 -20
  264. package/dist/module/configurable-module.builder.d.ts +0 -56
  265. package/dist/module/configurable-module.builder.js +0 -84
  266. package/dist/module/configurable-module.types.d.ts +0 -93
  267. package/dist/module/configurable-module.types.js +0 -5
  268. package/dist/module/decorators.d.ts +0 -10
  269. package/dist/module/decorators.js +0 -47
  270. package/dist/module/define-module.d.ts +0 -112
  271. package/dist/module/define-module.js +0 -232
  272. package/dist/module/graph.d.ts +0 -10
  273. package/dist/module/graph.js +0 -35
  274. package/dist/module/index.d.ts +0 -10
  275. package/dist/module/index.js +0 -7
  276. package/dist/module/lazy-modules.d.ts +0 -82
  277. package/dist/module/lazy-modules.js +0 -231
  278. package/dist/module/lazy-provider.d.ts +0 -65
  279. package/dist/module/lazy-provider.js +0 -111
  280. package/dist/module/middleware.d.ts +0 -30
  281. package/dist/module/middleware.js +0 -67
  282. package/dist/module/module-loader.d.ts +0 -58
  283. package/dist/module/module-loader.js +0 -484
  284. package/dist/module/stable-hash.d.ts +0 -15
  285. package/dist/module/stable-hash.js +0 -52
  286. package/dist/module/types.d.ts +0 -1
  287. package/dist/module/types.js +0 -1
  288. package/dist/openapi/decorators.d.ts +0 -34
  289. package/dist/openapi/decorators.js +0 -66
  290. package/dist/openapi/document.d.ts +0 -3
  291. package/dist/openapi/document.js +0 -316
  292. package/dist/openapi/index.d.ts +0 -7
  293. package/dist/openapi/index.js +0 -6
  294. package/dist/openapi/redoc-ui.d.ts +0 -1
  295. package/dist/openapi/redoc-ui.js +0 -19
  296. package/dist/openapi/scalar-ui.d.ts +0 -1
  297. package/dist/openapi/scalar-ui.js +0 -19
  298. package/dist/openapi/swagger-ui.d.ts +0 -1
  299. package/dist/openapi/swagger-ui.js +0 -23
  300. package/dist/openapi/types.d.ts +0 -182
  301. package/dist/openapi/types.js +0 -4
  302. package/dist/openapi/zod-to-json-schema.d.ts +0 -4
  303. package/dist/openapi/zod-to-json-schema.js +0 -57
  304. package/dist/pipeline/app-providers.d.ts +0 -10
  305. package/dist/pipeline/app-providers.js +0 -43
  306. package/dist/pipeline/component.manager.d.ts +0 -25
  307. package/dist/pipeline/component.manager.js +0 -66
  308. package/dist/pipeline/decorators.d.ts +0 -10
  309. package/dist/pipeline/decorators.js +0 -42
  310. package/dist/pipeline/index.d.ts +0 -12
  311. package/dist/pipeline/index.js +0 -7
  312. package/dist/pipeline/pipeline-runner.d.ts +0 -31
  313. package/dist/pipeline/pipeline-runner.js +0 -40
  314. package/dist/pipeline/pipes.d.ts +0 -48
  315. package/dist/pipeline/pipes.js +0 -104
  316. package/dist/pipeline/reflector.d.ts +0 -86
  317. package/dist/pipeline/reflector.js +0 -121
  318. package/dist/pipeline/scoped-components.d.ts +0 -26
  319. package/dist/pipeline/scoped-components.js +0 -27
  320. package/dist/pipeline/tokens.d.ts +0 -33
  321. package/dist/pipeline/tokens.js +0 -27
  322. package/dist/pipeline/types.d.ts +0 -64
  323. package/dist/pipeline/types.js +0 -1
  324. package/dist/plugin/plugin.d.ts +0 -31
  325. package/dist/plugin/plugin.js +0 -111
  326. package/dist/queue/inline.driver.d.ts +0 -30
  327. package/dist/queue/inline.driver.js +0 -58
  328. package/dist/queue/queue.binding.d.ts +0 -23
  329. package/dist/queue/queue.binding.js +0 -53
  330. package/dist/queue/queue.client.d.ts +0 -20
  331. package/dist/queue/queue.client.js +0 -33
  332. package/dist/queue/queue.decorators.d.ts +0 -23
  333. package/dist/queue/queue.decorators.js +0 -46
  334. package/dist/queue/queue.dispatch.d.ts +0 -36
  335. package/dist/queue/queue.dispatch.js +0 -102
  336. package/dist/queue/queue.module.d.ts +0 -32
  337. package/dist/queue/queue.module.js +0 -80
  338. package/dist/queue/queue.tokens.d.ts +0 -21
  339. package/dist/queue/queue.tokens.js +0 -34
  340. package/dist/queue/queue.types.d.ts +0 -61
  341. package/dist/queue/queue.types.js +0 -4
  342. package/dist/registry/index.d.ts +0 -2
  343. package/dist/registry/index.js +0 -1
  344. package/dist/registry/metadata.registry.d.ts +0 -73
  345. package/dist/registry/metadata.registry.js +0 -357
  346. package/dist/registry/paths.d.ts +0 -3
  347. package/dist/registry/paths.js +0 -15
  348. package/dist/registry/types.d.ts +0 -116
  349. package/dist/registry/types.js +0 -1
  350. package/dist/registry/util.d.ts +0 -3
  351. package/dist/registry/util.js +0 -8
  352. package/dist/schedule/cron-matcher.d.ts +0 -2
  353. package/dist/schedule/cron-matcher.js +0 -62
  354. package/dist/schedule/index.d.ts +0 -8
  355. package/dist/schedule/index.js +0 -5
  356. package/dist/schedule/schedule.decorators.d.ts +0 -2
  357. package/dist/schedule/schedule.decorators.js +0 -18
  358. package/dist/schedule/schedule.module.d.ts +0 -9
  359. package/dist/schedule/schedule.module.js +0 -28
  360. package/dist/schedule/schedule.registry.d.ts +0 -23
  361. package/dist/schedule/schedule.registry.js +0 -63
  362. package/dist/schedule/schedule.tokens.d.ts +0 -2
  363. package/dist/schedule/schedule.tokens.js +0 -2
  364. package/dist/schedule/schedule.types.d.ts +0 -8
  365. package/dist/schedule/schedule.types.js +0 -1
  366. package/dist/schedule-node/schedule-node.module.d.ts +0 -9
  367. package/dist/schedule-node/schedule-node.module.js +0 -28
  368. package/dist/schedule-node/schedule.executor.d.ts +0 -19
  369. package/dist/schedule-node/schedule.executor.js +0 -107
  370. package/dist/seeder/seeder.decorator.d.ts +0 -7
  371. package/dist/seeder/seeder.decorator.js +0 -15
  372. package/dist/seeder/seeder.module.d.ts +0 -16
  373. package/dist/seeder/seeder.module.js +0 -44
  374. package/dist/seeder/seeder.registry.d.ts +0 -23
  375. package/dist/seeder/seeder.registry.js +0 -83
  376. package/dist/seeder/seeder.tokens.d.ts +0 -2
  377. package/dist/seeder/seeder.tokens.js +0 -1
  378. package/dist/seeder/seeder.types.d.ts +0 -20
  379. package/dist/seeder/seeder.types.js +0 -1
  380. package/dist/serialization/index.d.ts +0 -2
  381. package/dist/serialization/index.js +0 -2
  382. package/dist/serialization/serialize.decorator.d.ts +0 -6
  383. package/dist/serialization/serialize.decorator.js +0 -7
  384. package/dist/serialization/serializer.interceptor.d.ts +0 -4
  385. package/dist/serialization/serializer.interceptor.js +0 -16
  386. package/dist/services/index.d.ts +0 -2
  387. package/dist/services/index.js +0 -1
  388. package/dist/services/logger.d.ts +0 -59
  389. package/dist/services/logger.js +0 -159
  390. package/dist/storage/path-template.d.ts +0 -9
  391. package/dist/storage/path-template.js +0 -20
  392. package/dist/storage/storage.types.d.ts +0 -41
  393. package/dist/storage/storage.types.js +0 -5
  394. package/dist/throttler/index.d.ts +0 -6
  395. package/dist/throttler/index.js +0 -5
  396. package/dist/throttler/throttler.decorators.d.ts +0 -3
  397. package/dist/throttler/throttler.decorators.js +0 -4
  398. package/dist/throttler/throttler.guard.d.ts +0 -9
  399. package/dist/throttler/throttler.guard.js +0 -72
  400. package/dist/throttler/throttler.module.d.ts +0 -7
  401. package/dist/throttler/throttler.module.js +0 -41
  402. package/dist/throttler/throttler.storage.d.ts +0 -10
  403. package/dist/throttler/throttler.storage.js +0 -44
  404. package/dist/throttler/throttler.tokens.d.ts +0 -6
  405. package/dist/throttler/throttler.tokens.js +0 -5
  406. package/dist/throttler/throttler.types.d.ts +0 -25
  407. package/dist/throttler/throttler.types.js +0 -1
  408. package/dist/validation/create-zod-dto.d.ts +0 -13
  409. package/dist/validation/create-zod-dto.js +0 -18
  410. package/dist/validation/index.d.ts +0 -3
  411. package/dist/validation/index.js +0 -2
  412. package/dist/validation/validation.pipe.d.ts +0 -4
  413. package/dist/validation/validation.pipe.js +0 -19
  414. package/dist/websocket/websocket.decorators.d.ts +0 -47
  415. package/dist/websocket/websocket.decorators.js +0 -80
  416. package/dist/websocket/websocket.module.d.ts +0 -35
  417. package/dist/websocket/websocket.module.js +0 -63
  418. package/dist/websocket/websocket.tokens.d.ts +0 -30
  419. package/dist/websocket/websocket.tokens.js +0 -27
  420. package/dist/websocket/websocket.types.d.ts +0 -102
  421. package/dist/websocket/websocket.types.js +0 -4
  422. package/dist/websocket/ws-argument-resolver.d.ts +0 -13
  423. package/dist/websocket/ws-argument-resolver.js +0 -40
  424. package/dist/websocket/ws-dispatcher.d.ts +0 -54
  425. package/dist/websocket/ws-dispatcher.js +0 -322
  426. package/dist/websocket/ws-exception.d.ts +0 -16
  427. package/dist/websocket/ws-exception.js +0 -32
  428. package/dist/websocket/ws-execution-context.d.ts +0 -9
  429. package/dist/websocket/ws-execution-context.js +0 -24
  430. package/dist/websocket/ws-server.d.ts +0 -31
  431. package/dist/websocket/ws-server.js +0 -74
  432. package/dist/websocket/ws-sync.d.ts +0 -47
  433. package/dist/websocket/ws-sync.js +0 -74
  434. package/dist/websocket-node/node-ws-client.d.ts +0 -24
  435. package/dist/websocket-node/node-ws-client.js +0 -49
  436. package/dist/websocket-node/redis-live.d.ts +0 -24
  437. package/dist/websocket-node/redis-live.js +0 -57
  438. package/dist/websocket-node/redis-sync.d.ts +0 -33
  439. package/dist/websocket-node/redis-sync.js +0 -56
  440. package/dist/websocket-node/register-gateways.d.ts +0 -20
  441. package/dist/websocket-node/register-gateways.js +0 -61
@@ -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;
@@ -1,321 +0,0 @@
1
- import { HttpMethod, ParamType, Scope } from "../constants.js";
2
- import { MetadataRegistry } from "../registry/metadata.registry.js";
3
- import { normalizePath } from "../registry/paths.js";
4
- import { buildExecutionContext } from "./execution-context.js";
5
- /**
6
- * Marks a class as a controller.
7
- * Accepts a path string or an options object with `path` and `version`.
8
- *
9
- * @example
10
- * ```ts
11
- * @Controller('/users')
12
- * @Controller({ path: '/users', version: 1 })
13
- * @Controller({ path: '/users', version: [1, 2] })
14
- * ```
15
- */ export function Controller(pathOrOptions) {
16
- return (target)=>{
17
- const ctor = target;
18
- const path = typeof pathOrOptions === 'string' ? pathOrOptions : pathOrOptions?.path ?? '';
19
- const version = typeof pathOrOptions === 'object' ? pathOrOptions?.version : undefined;
20
- MetadataRegistry.setControllerPath(ctor, normalizePath(path));
21
- if (version !== undefined) {
22
- MetadataRegistry.setControllerOptions(ctor, {
23
- version
24
- });
25
- }
26
- MetadataRegistry.markInjectable(ctor);
27
- MetadataRegistry.setScope(ctor, Scope.SINGLETON);
28
- };
29
- }
30
- /**
31
- * Override the version for a specific route method.
32
- *
33
- * @example
34
- * ```ts
35
- * @Controller({ prefix: '/users', version: 1 })
36
- * class UserController {
37
- * @Get()
38
- * listV1() { ... } // GET /v1/users
39
- *
40
- * @Version(2)
41
- * @Get()
42
- * listV2() { ... } // GET /v2/users
43
- * }
44
- * ```
45
- */ export function Version(version) {
46
- return (target, propertyKey, _descriptor)=>{
47
- const ctor = target.constructor;
48
- MetadataRegistry.setRouteVersion(ctor, propertyKey, version);
49
- // If route was already registered (decorator ran after @Get), patch it.
50
- const route = MetadataRegistry.getRoutes(ctor).find((r)=>r.handlerName === propertyKey);
51
- if (route) {
52
- route.version = version;
53
- }
54
- };
55
- }
56
- export function getRouteVersion(target, propertyKey) {
57
- return MetadataRegistry.getRouteVersion(target, propertyKey);
58
- }
59
- function createMethodDecorator(method) {
60
- return (path = '', options)=>{
61
- return (target, propertyKey, _descriptor)=>{
62
- const ctor = target.constructor;
63
- const normalizedPath = normalizePath(path);
64
- const version = MetadataRegistry.getRouteVersion(ctor, propertyKey);
65
- MetadataRegistry.addRoute(ctor, {
66
- method: method,
67
- path: normalizedPath,
68
- handlerName: propertyKey,
69
- ...version !== undefined ? {
70
- version
71
- } : {},
72
- ...options?.name !== undefined ? {
73
- name: options.name
74
- } : {}
75
- });
76
- };
77
- };
78
- }
79
- export const Get = createMethodDecorator(HttpMethod.GET);
80
- export const Post = createMethodDecorator(HttpMethod.POST);
81
- export const Put = createMethodDecorator(HttpMethod.PUT);
82
- export const Patch = createMethodDecorator(HttpMethod.PATCH);
83
- export const Delete = createMethodDecorator(HttpMethod.DELETE);
84
- export const Options = createMethodDecorator(HttpMethod.OPTIONS);
85
- export const Head = createMethodDecorator(HttpMethod.HEAD);
86
- export const All = createMethodDecorator(HttpMethod.ALL);
87
- export const Sse = createMethodDecorator(HttpMethod.GET);
88
- // Parameter decorators
89
- const CUSTOM_PARAM_TYPE = 'custom';
90
- function createBuiltinParamDecorator(type) {
91
- return (nameOrPipe, ...pipes)=>{
92
- return (target, propertyKey, parameterIndex)=>{
93
- if (propertyKey === undefined) {
94
- throw new Error('Parameter decorators can only be used on method parameters');
95
- }
96
- let name;
97
- let allPipes;
98
- if (typeof nameOrPipe === 'string') {
99
- name = nameOrPipe;
100
- allPipes = pipes;
101
- } else if (nameOrPipe !== undefined) {
102
- name = undefined;
103
- allPipes = [
104
- nameOrPipe,
105
- ...pipes
106
- ];
107
- } else {
108
- name = undefined;
109
- allPipes = pipes;
110
- }
111
- MetadataRegistry.addParameter(target.constructor, propertyKey, {
112
- index: parameterIndex,
113
- type,
114
- name,
115
- ...allPipes.length > 0 ? {
116
- pipes: allPipes
117
- } : {}
118
- });
119
- };
120
- };
121
- }
122
- export const Param = createBuiltinParamDecorator(ParamType.PARAM);
123
- export const Query = createBuiltinParamDecorator(ParamType.QUERY);
124
- export const Body = createBuiltinParamDecorator(ParamType.BODY);
125
- export const Headers = createBuiltinParamDecorator(ParamType.HEADERS);
126
- export const Req = createBuiltinParamDecorator(ParamType.REQUEST);
127
- /**
128
- * Injects the Hono `Context` as the response handle.
129
- * In Hono, request and response state are unified in the `Context` object,
130
- * so `@Res()` and `@Req()` both return it.
131
- *
132
- * Use `c.header()`, `c.setCookie()`, `c.redirect()`, etc. for response control.
133
- *
134
- * @example
135
- * ```ts
136
- * @Get('/set-cookie')
137
- * handle(@Res() c: Context) {
138
- * c.setCookie('session', 'abc123', { httpOnly: true });
139
- * return { ok: true };
140
- * }
141
- * ```
142
- */ export const Res = createBuiltinParamDecorator(ParamType.RESPONSE);
143
- export const Ip = createBuiltinParamDecorator(ParamType.IP);
144
- export const Cookie = createBuiltinParamDecorator(ParamType.COOKIE);
145
- /**
146
- * Injects all cookies as a `Record<string, string>`, or a single cookie value by name.
147
- *
148
- * - `@Cookie()` — all cookies as an object
149
- * - `@Cookie('token')` — the value of the `token` cookie
150
- *
151
- * @example
152
- * ```ts
153
- * @Get('/me')
154
- * handle(@Cookie('session') session: string) { ... }
155
- * ```
156
- */ export const Cookies = Cookie;
157
- /**
158
- * Injects the raw request body as a `Uint8Array`.
159
- * Useful for webhook HMAC verification (Stripe, GitHub, etc.) where you
160
- * need the raw bytes before any JSON parsing.
161
- *
162
- * @example
163
- * ```ts
164
- * @Post('/webhook')
165
- * async handle(@RawBody() body: Uint8Array) {
166
- * const sig = new TextDecoder().decode(body);
167
- * // verify HMAC...
168
- * }
169
- * ```
170
- */ export function RawBody() {
171
- return (target, propertyKey, parameterIndex)=>{
172
- if (propertyKey === undefined) {
173
- throw new Error('Parameter decorators can only be used on method parameters');
174
- }
175
- MetadataRegistry.addParameter(target.constructor, propertyKey, {
176
- index: parameterIndex,
177
- type: ParamType.RAW_BODY
178
- });
179
- };
180
- }
181
- /**
182
- * Factory for creating custom parameter decorators.
183
- *
184
- * @example
185
- * ```ts
186
- * const CurrentUser = createParamDecorator(
187
- * (data: unknown, ctx: ExecutionContext) => {
188
- * const req = ctx.getRequest();
189
- * return req.headers.get('x-user-id');
190
- * }
191
- * );
192
- *
193
- * // Usage:
194
- * @Get()
195
- * handle(@CurrentUser() userId: string) { ... }
196
- *
197
- * // With data argument:
198
- * const Header = createParamDecorator(
199
- * (data: string, ctx: ExecutionContext) => {
200
- * return ctx.getRequest().headers.get(data);
201
- * }
202
- * );
203
- *
204
- * @Get()
205
- * handle(@Header('x-request-id') requestId: string) { ... }
206
- * ```
207
- */ export function createParamDecorator(factory) {
208
- return (data, ...pipes)=>{
209
- return (target, propertyKey, parameterIndex)=>{
210
- if (propertyKey === undefined) {
211
- throw new Error('Parameter decorators can only be used on method parameters');
212
- }
213
- MetadataRegistry.addParameter(target.constructor, propertyKey, {
214
- index: parameterIndex,
215
- type: CUSTOM_PARAM_TYPE,
216
- name: undefined,
217
- factory: (_unused, ctx)=>{
218
- const honoCtx = ctx;
219
- const execCtx = buildExecutionContext(honoCtx, target.constructor, propertyKey);
220
- return factory(data, execCtx);
221
- },
222
- ...pipes.length > 0 ? {
223
- pipes
224
- } : {}
225
- });
226
- };
227
- };
228
- }
229
- // Response decorators
230
- /**
231
- * Override the HTTP status code for a handler's response.
232
- *
233
- * @example
234
- * ```ts
235
- * @Post()
236
- * @HttpCode(201)
237
- * create(@Body() data: CreateDto) { return data; }
238
- * ```
239
- */ export function HttpCode(statusCode) {
240
- return (target, propertyKey, _descriptor)=>{
241
- MetadataRegistry.setHandlerHttpMeta(target.constructor, propertyKey, {
242
- httpCode: statusCode
243
- });
244
- };
245
- }
246
- /**
247
- * Set a response header declaratively.
248
- * Can be applied multiple times to set multiple headers.
249
- *
250
- * @example
251
- * ```ts
252
- * @Get()
253
- * @Header('Cache-Control', 'no-cache')
254
- * @Header('X-Custom', 'value')
255
- * handle() { return { ok: true }; }
256
- * ```
257
- */ export function Header(name, value) {
258
- return (target, propertyKey, _descriptor)=>{
259
- MetadataRegistry.setHandlerHttpMeta(target.constructor, propertyKey, {
260
- responseHeaders: [
261
- [
262
- name,
263
- value
264
- ]
265
- ]
266
- });
267
- };
268
- }
269
- /**
270
- * Redirect to another URL. The handler's return value can override the URL.
271
- *
272
- * @example
273
- * ```ts
274
- * @Get('/old')
275
- * @Redirect('/new', 301)
276
- * handleOld() {}
277
- *
278
- * // Dynamic redirect — return { url, statusCode? } to override
279
- * @Get('/go')
280
- * @Redirect('/default')
281
- * handleGo(@Query('to') to?: string) {
282
- * if (to) return { url: to };
283
- * }
284
- * ```
285
- */ export function Redirect(url, statusCode = 302) {
286
- return (target, propertyKey, _descriptor)=>{
287
- MetadataRegistry.setHandlerHttpMeta(target.constructor, propertyKey, {
288
- redirect: {
289
- url,
290
- statusCode
291
- }
292
- });
293
- };
294
- }
295
- // Metadata readers (used by RouteManager)
296
- export function getHttpCode(target, method) {
297
- return MetadataRegistry.getHandlerHttpMeta(target, method)?.httpCode;
298
- }
299
- export function getResponseHeaders(target, method) {
300
- return MetadataRegistry.getHandlerHttpMeta(target, method)?.responseHeaders ?? [];
301
- }
302
- export function getRedirect(target, method) {
303
- return MetadataRegistry.getHandlerHttpMeta(target, method)?.redirect;
304
- }
305
- export function applyDecorators(...decorators) {
306
- return (target, propertyKey, descriptor)=>{
307
- for (const decorator of decorators){
308
- if (propertyKey === undefined && typeof descriptor !== 'number') {
309
- decorator(target);
310
- } else if (typeof descriptor === 'number') {
311
- decorator(target, propertyKey, descriptor);
312
- } else {
313
- decorator(target, propertyKey, descriptor);
314
- }
315
- }
316
- };
317
- }
318
- // Helpers
319
- export function isController(target) {
320
- return MetadataRegistry.getControllerPath(target) !== '' || MetadataRegistry.getRoutes(target).length > 0;
321
- }
@@ -1,8 +0,0 @@
1
- import type { Context } from 'hono';
2
- import type { Type } from '../container/types';
3
- import type { ExecutionContext } from '../pipeline/types';
4
- export declare function buildExecutionContext(c: Context, controller: Type, handlerName: string | symbol): ExecutionContext;
5
- export declare class VelaMiddlewareHost {
6
- }
7
- export declare const VELA_MIDDLEWARE_HANDLER: unique symbol;
8
- export declare function buildMiddlewareExecutionContext(c: Context): ExecutionContext;
@@ -1,35 +0,0 @@
1
- // Single source of ExecutionContext shape — used by the route pipeline AND
2
- // by createParamDecorator's deferred factory call.
3
- export function buildExecutionContext(c, controller, handlerName) {
4
- return {
5
- getType: ()=>'http',
6
- getClass: ()=>controller,
7
- getHandler: ()=>handlerName,
8
- getContext: ()=>c,
9
- getRequest: ()=>c.req.raw,
10
- switchToHttp: ()=>({
11
- getRequest: ()=>c.req.raw,
12
- getResponse: ()=>c
13
- }),
14
- switchToWs: ()=>{
15
- throw new Error('switchToWs() called on an HTTP ExecutionContext. This handler runs over HTTP, not a WebSocket gateway.');
16
- }
17
- };
18
- }
19
- // Sentinel marker exposed via `ExecutionContext.getClass()` when the host is a
20
- // vela-attached middleware rather than a controller handler. Filters that
21
- // branch on the calling class (rare) can detect the middleware origin without
22
- // introducing a separate `getType()` value — `getType()` stays `'http'` for
23
- // NestJS parity.
24
- export class VelaMiddlewareHost {
25
- }
26
- // Synthesizes an ExecutionContext for an exception thrown inside a
27
- // vela-attached middleware. There is no controller class or handler method
28
- // on the call stack at that point, so `getClass()` returns the
29
- // `VelaMiddlewareHost` marker and `getHandler()` returns the
30
- // `vela.middleware` symbol — both stable, comparable values that filter
31
- // authors can pattern-match against if needed.
32
- export const VELA_MIDDLEWARE_HANDLER = Symbol.for('vela.middleware');
33
- export function buildMiddlewareExecutionContext(c) {
34
- return buildExecutionContext(c, VelaMiddlewareHost, VELA_MIDDLEWARE_HANDLER);
35
- }
@@ -1,20 +0,0 @@
1
- import type { Context } from 'hono';
2
- import type { Container } from '../container/container';
3
- import type { Token, Type } from '../container/types';
4
- import type { CanActivate, ExceptionFilter, NestInterceptor, PipeTransform } from '../pipeline/types';
5
- import type { FilterType, GuardType, InterceptorType, ParameterMetadata, PipeType } from '../registry/types';
6
- import type { ArgumentResolver } from './argument-resolver';
7
- import type { RouteMetadata } from './types';
8
- export interface HandlerGlobals {
9
- guards: Array<GuardType | Token<CanActivate>>;
10
- pipes: Array<PipeType | Token<PipeTransform>>;
11
- interceptors: Array<InterceptorType | Token<NestInterceptor>>;
12
- filters: Array<FilterType | Token<ExceptionFilter>>;
13
- }
14
- export declare class HandlerExecutor {
15
- private readonly argumentResolver;
16
- private readonly getGlobals;
17
- private readonly getRequestContainer;
18
- constructor(argumentResolver: ArgumentResolver, getGlobals: () => HandlerGlobals, getRequestContainer: (c: Context) => Container);
19
- create(route: RouteMetadata, controller: Type, allParamMetadata: Map<string | symbol, ParameterMetadata[]>): (c: Context) => Promise<Response>;
20
- }