@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,21 +0,0 @@
1
- import { type Catalog, type ErrorBodyResult } from '@velajs/errors';
2
- import type { Container } from '../container/container';
3
- import { type ErrorReportContext } from './exception-handler';
4
- /**
5
- * The resolved reporting facade every transport edge (HTTP, WS, live, queue,
6
- * schedule) uses. `report` is fire-and-forget and fully contained — a broken
7
- * or throwing handler can never mask the original error. `render` gives a
8
- * handler the chance to override the client-bound response.
9
- */
10
- export interface ErrorReporter {
11
- catalog: Catalog<string>;
12
- report(error: unknown, ctx: ErrorReportContext): void;
13
- render(error: unknown, executionCtx: unknown): Response | ErrorBodyResult | undefined;
14
- }
15
- /**
16
- * Build an {@link ErrorReporter} from a container. Reads the optional
17
- * {@link APP_EXCEPTION_HANDLER} and {@link ERROR_CATALOG} providers; with
18
- * neither registered the reporter logs (unless diagnostics is `'silent'`) and
19
- * exposes the core catalog.
20
- */
21
- export declare const resolveErrorReporter: (container: Container) => ErrorReporter;
@@ -1,70 +0,0 @@
1
- import { CORE_CATALOG, isVelaError } from "@velajs/errors";
2
- import { HTTPException } from "hono/http-exception";
3
- import { HttpException } from "../errors/http-exception.js";
4
- import { APP_EXCEPTION_HANDLER, ERROR_CATALOG } from "../pipeline/tokens.js";
5
- import { matchesAny } from "./exception-handler.js";
6
- /**
7
- * Build an {@link ErrorReporter} from a container. Reads the optional
8
- * {@link APP_EXCEPTION_HANDLER} and {@link ERROR_CATALOG} providers; with
9
- * neither registered the reporter logs (unless diagnostics is `'silent'`) and
10
- * exposes the core catalog.
11
- */ export const resolveErrorReporter = (container)=>{
12
- const handler = container.has(APP_EXCEPTION_HANDLER) ? container.resolve(APP_EXCEPTION_HANDLER) : undefined;
13
- const catalog = container.has(ERROR_CATALOG) ? container.resolve(ERROR_CATALOG) : CORE_CATALOG;
14
- return {
15
- catalog,
16
- report (error, ctx) {
17
- let suppressed = false;
18
- try {
19
- suppressed = matchesAny(handler?.dontReport, error);
20
- } catch {
21
- // A broken matcher must never mask the original error — treat as no match.
22
- }
23
- if (suppressed) return;
24
- const merged = handler?.context ? {
25
- ...ctx,
26
- ...safeContext(handler, error, ctx)
27
- } : ctx;
28
- if (handler?.report) {
29
- try {
30
- void Promise.resolve(handler.report(error, merged)).catch(()=>{});
31
- } catch {
32
- // A broken reporter must never mask the original error.
33
- }
34
- return;
35
- }
36
- if (container.getDiagnostics() !== 'silent') {
37
- const status = clientFaultStatus(error);
38
- if (status !== undefined && status >= 400 && status < 500) return; // client fault — not server-error log noise
39
- console.error(`[vela] ${merged.edge} error${merged.source ? ` in ${merged.source}` : ''}${merged.note ? ` (${merged.note})` : ''}:`, error);
40
- }
41
- },
42
- render (error, executionCtx) {
43
- try {
44
- return handler?.render?.(error, executionCtx);
45
- } catch {
46
- return undefined; // broken render hook falls through to default render
47
- }
48
- }
49
- };
50
- };
51
- /**
52
- * The HTTP status of a client-fault (4xx) error, read across the three shapes a
53
- * caught error can take: a branded {@link VelaError} (`.status`), vela's own
54
- * {@link HttpException} (`getStatus()`), or hono's {@link HTTPException}
55
- * (`.status`). `undefined` for anything else — including raw/unbranded errors,
56
- * which must always be logged. Only the DEFAULT console reporter uses this to
57
- * mute client faults; a custom `handler.report` still receives everything.
58
- */ const clientFaultStatus = (error)=>{
59
- if (isVelaError(error)) return error.status;
60
- if (error instanceof HttpException) return error.getStatus();
61
- if (error instanceof HTTPException) return error.status; // hono
62
- return undefined;
63
- };
64
- const safeContext = (handler, error, ctx)=>{
65
- try {
66
- return handler.context?.(error, ctx) ?? {};
67
- } catch {
68
- return {};
69
- }
70
- };
@@ -1,36 +0,0 @@
1
- import type { MiddlewareHandler } from 'hono';
2
- import type { VelaApplication } from '../application';
3
- import type { Container } from '../container/container';
4
- import type { DiscoveryService } from '../discovery/discovery.service';
5
- import type { RouteManager } from '../http/route.manager';
6
- /** The framework's resolved world, handed to adapter hooks. */
7
- export interface AdapterContext {
8
- app: VelaApplication;
9
- container: Container;
10
- routeManager: RouteManager;
11
- discovery: DiscoveryService;
12
- }
13
- /**
14
- * The contract a runtime binding implements to plug a platform into a Vela
15
- * app — what `@velajs/cloudflare` (bindings + Durable Object WebSocket) and
16
- * the Node/Bun WebSocket transport do, made first-class:
17
- *
18
- * ```ts
19
- * const app = await VelaFactory.create(AppModule, {
20
- * adapters: [cloudflareAdapter({ bindings })],
21
- * });
22
- * ```
23
- *
24
- * - `requestMiddleware` is prepended to the global middleware chain (runs
25
- * before consumer middleware — e.g. capture `c.env` for binding services).
26
- * - `onBootstrap` runs after DI + lifecycle hooks, with `app.entrypoints`
27
- * available, BEFORE routes are built — register platform services here.
28
- * - `onRoutesBuilt` runs after the Hono app exists — mount platform routes
29
- * (WebSocket upgrades, health endpoints) here via `ctx.app.getHonoApp()`.
30
- */
31
- export interface RuntimeAdapter {
32
- name: string;
33
- requestMiddleware?: MiddlewareHandler[];
34
- onBootstrap?(ctx: AdapterContext): void | Promise<void>;
35
- onRoutesBuilt?(ctx: AdapterContext): void | Promise<void>;
36
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * The contract a runtime binding implements to plug a platform into a Vela
3
- * app — what `@velajs/cloudflare` (bindings + Durable Object WebSocket) and
4
- * the Node/Bun WebSocket transport do, made first-class:
5
- *
6
- * ```ts
7
- * const app = await VelaFactory.create(AppModule, {
8
- * adapters: [cloudflareAdapter({ bindings })],
9
- * });
10
- * ```
11
- *
12
- * - `requestMiddleware` is prepended to the global middleware chain (runs
13
- * before consumer middleware — e.g. capture `c.env` for binding services).
14
- * - `onBootstrap` runs after DI + lifecycle hooks, with `app.entrypoints`
15
- * available, BEFORE routes are built — register platform services here.
16
- * - `onRoutesBuilt` runs after the Hono app exists — mount platform routes
17
- * (WebSocket upgrades, health endpoints) here via `ctx.app.getHonoApp()`.
18
- */ export { };
@@ -1,23 +0,0 @@
1
- import { Container } from '../container/container';
2
- import type { Diagnostics, Type } from '../container/types';
3
- import { RouteManager } from '../http/route.manager';
4
- import type { RouteManagerOptions } from '../http/route.manager';
5
- import { ModuleLoader } from '../module/module-loader';
6
- export interface BootstrapOptions extends RouteManagerOptions {
7
- diagnostics?: Diagnostics;
8
- }
9
- export interface BootstrapResult {
10
- container: Container;
11
- routeManager: RouteManager;
12
- loader: ModuleLoader;
13
- }
14
- /**
15
- * Wire the DI graph for `rootModule` and prepare the route manager — without
16
- * running lifecycle hooks or building the Hono app. The single primitive
17
- * shared by `VelaFactory.create` (HTTP), `@velajs/testing` (test), and any
18
- * non-HTTP consumer (CLI tools, custom runtimes).
19
- *
20
- * Framework-internal tokens (`Container`, `ModuleRef`, `APP_*`) are marked
21
- * global so they are resolvable from any module.
22
- */
23
- export declare function bootstrap(rootModule: Type, options?: BootstrapOptions): Promise<BootstrapResult>;
@@ -1,110 +0,0 @@
1
- import { Scope } from "../constants.js";
2
- import { Container } from "../container/container.js";
3
- import { ModuleRef } from "../container/module-ref.js";
4
- import { DiscoveryService } from "../discovery/discovery.service.js";
5
- import { REQUEST_CONTEXT } from "../http/request-context.js";
6
- import { RouteManager } from "../http/route.manager.js";
7
- import { UrlGeneratorService } from "../http/url/url-generator.service.js";
8
- import { SignedUrlGuard } from "../http/url/signed-url.guard.js";
9
- import { ModuleLoader } from "../module/module-loader.js";
10
- import { bindAppProviders } from "../pipeline/app-providers.js";
11
- import { APP_EXCEPTION_HANDLER, APP_FILTER, APP_GUARD, APP_INTERCEPTOR, APP_MIDDLEWARE, APP_PIPE, ERROR_CATALOG } from "../pipeline/tokens.js";
12
- /**
13
- * Wire the DI graph for `rootModule` and prepare the route manager — without
14
- * running lifecycle hooks or building the Hono app. The single primitive
15
- * shared by `VelaFactory.create` (HTTP), `@velajs/testing` (test), and any
16
- * non-HTTP consumer (CLI tools, custom runtimes).
17
- *
18
- * Framework-internal tokens (`Container`, `ModuleRef`, `APP_*`) are marked
19
- * global so they are resolvable from any module.
20
- */ export async function bootstrap(rootModule, options = {}) {
21
- const container = new Container({
22
- diagnostics: options.diagnostics
23
- });
24
- container.register({
25
- provide: Container,
26
- useValue: container
27
- });
28
- container.markGlobalToken(Container);
29
- container.register({
30
- provide: ModuleRef,
31
- useFactory: (c)=>new ModuleRef(c),
32
- inject: [
33
- Container
34
- ]
35
- });
36
- container.markGlobalToken(ModuleRef);
37
- // Decorator-driven discovery — global so any provider can inject it.
38
- container.register({
39
- provide: DiscoveryService,
40
- useFactory: (c)=>new DiscoveryService(c),
41
- inject: [
42
- Container
43
- ]
44
- });
45
- container.markGlobalToken(DiscoveryService);
46
- for (const t of [
47
- APP_GUARD,
48
- APP_PIPE,
49
- APP_INTERCEPTOR,
50
- APP_FILTER,
51
- APP_MIDDLEWARE,
52
- APP_EXCEPTION_HANDLER,
53
- ERROR_CATALOG
54
- ]){
55
- container.markGlobalToken(t);
56
- }
57
- // REQUEST_CONTEXT is seeded into each request-scoped child by RouteManager
58
- // before any handler resolves it (see route.manager.ts:getRequestContainer).
59
- // The factory throws so misuse outside the request path surfaces immediately
60
- // instead of materializing a phantom context.
61
- container.register({
62
- provide: REQUEST_CONTEXT,
63
- scope: Scope.REQUEST,
64
- useFactory: ()=>{
65
- throw new Error('REQUEST_CONTEXT can only be resolved inside a request — ' + 'it is seeded by RouteManager when the request enters the pipeline.');
66
- }
67
- });
68
- container.markGlobalToken(REQUEST_CONTEXT);
69
- const routeManager = new RouteManager(container, options);
70
- // Resolvable so non-HTTP transports (the WebSocket dispatcher) can read the
71
- // same global-tier components (APP_* + app.useGlobalX()).
72
- container.register({
73
- provide: RouteManager,
74
- useValue: routeManager
75
- });
76
- container.markGlobalToken(RouteManager);
77
- // Named-route URL generation + signed-URL verification are app-level
78
- // singletons: injectable from any module, and (for the guard) instantiable by
79
- // the pipeline when a route opts in via `@SignedUrl()`. Both read their secret
80
- // lazily and never force controllers/lazy modules to materialize.
81
- container.register(UrlGeneratorService);
82
- container.markGlobalToken(UrlGeneratorService);
83
- container.register(SignedUrlGuard);
84
- container.markGlobalToken(SignedUrlGuard);
85
- const loader = new ModuleLoader(container, routeManager);
86
- // loader.load() also arms the deferred-init seam (LazyModuleManager) — kept
87
- // inside the loader so hand-rolled bootstrap paths that never call this
88
- // function (@velajs/testing's TestingModuleBuilder.compile) get identical
89
- // lazy semantics.
90
- loader.load(rootModule);
91
- bindAppProviders(routeManager, container, loader);
92
- routeManager.registerConsumerMiddleware(loader.getConsumerMiddlewareDefinitions());
93
- if (options.globalPrefix) {
94
- routeManager.setGlobalPrefix(options.globalPrefix);
95
- }
96
- for (const handler of options.middleware ?? []){
97
- const mw = {
98
- use: handler
99
- };
100
- routeManager.useGlobalMiddleware(mw);
101
- }
102
- // All providers are registered — compute request-scope bubbling so effective
103
- // scopes are known before eager instantiation and request resolution.
104
- container.computeEffectiveScopes();
105
- return {
106
- container,
107
- routeManager,
108
- loader
109
- };
110
- }
package/dist/factory.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import { VelaApplication } from './application';
2
- import type { Type } from './container/types';
3
- import type { RuntimeAdapter } from './factory/adapter';
4
- import type { BootstrapOptions } from './factory/bootstrap';
5
- export interface VelaCreateOptions extends BootstrapOptions {
6
- /**
7
- * Runtime adapters binding this app to a platform (Cloudflare bindings,
8
- * WebSocket transports, …). Their `requestMiddleware` is prepended to the
9
- * global middleware chain; `onBootstrap`/`onRoutesBuilt` hooks run around
10
- * route building. See {@link RuntimeAdapter}.
11
- */
12
- adapters?: RuntimeAdapter[];
13
- }
14
- export declare const VelaFactory: {
15
- create(rootModule: Type, options?: VelaCreateOptions): Promise<VelaApplication>;
16
- };
package/dist/factory.js DELETED
@@ -1,36 +0,0 @@
1
- import { VelaApplication } from "./application.js";
2
- import { DiscoveryService } from "./discovery/discovery.service.js";
3
- import { bootstrap } from "./factory/bootstrap.js";
4
- export const VelaFactory = {
5
- async create (rootModule, options = {}) {
6
- const { adapters = [], ...bootstrapOptions } = options;
7
- const adapterMiddleware = adapters.flatMap((a)=>a.requestMiddleware ?? []);
8
- if (adapterMiddleware.length > 0) {
9
- bootstrapOptions.middleware = [
10
- ...adapterMiddleware,
11
- ...bootstrapOptions.middleware ?? []
12
- ];
13
- }
14
- const { container, routeManager, loader } = await bootstrap(rootModule, bootstrapOptions);
15
- const app = new VelaApplication(container, routeManager);
16
- const instances = await loader.resolveAllInstances();
17
- app.setInstances(instances);
18
- await app.callOnModuleInit();
19
- await app.callOnApplicationBootstrap();
20
- const adapterContext = {
21
- app,
22
- container,
23
- routeManager,
24
- discovery: container.resolve(DiscoveryService)
25
- };
26
- for (const adapter of adapters){
27
- await adapter.onBootstrap?.(adapterContext);
28
- }
29
- // Build routes (async — supports route-contributor integration)
30
- await app.initRoutes();
31
- for (const adapter of adapters){
32
- await adapter.onRoutesBuilt?.(adapterContext);
33
- }
34
- return app;
35
- }
36
- };
@@ -1,7 +0,0 @@
1
- import type { HttpModuleOptions } from './fetch.types';
2
- declare const ConfigurableModuleClass: import("..").ConfigurableModuleClassType<HttpModuleOptions, "forRoot", "create", {
3
- isGlobal?: boolean;
4
- }>;
5
- export declare class HttpModule extends ConfigurableModuleClass {
6
- }
7
- export {};
@@ -1,31 +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/decorators.js";
8
- import { ConfigurableModuleBuilder } from "../module/configurable-module.builder.js";
9
- import { HttpService, HTTP_MODULE_OPTIONS } from "./fetch.service.js";
10
- const { ConfigurableModuleClass } = new ConfigurableModuleBuilder({
11
- moduleName: 'Http',
12
- optionsInjectionToken: HTTP_MODULE_OPTIONS
13
- }).build();
14
- export class HttpModule extends ConfigurableModuleClass {
15
- }
16
- HttpModule = _ts_decorate([
17
- Module({
18
- providers: [
19
- // Default for bare `imports: [HttpModule]`; forRoot(options) overrides via merge.
20
- {
21
- provide: HTTP_MODULE_OPTIONS,
22
- useValue: {}
23
- },
24
- HttpService
25
- ],
26
- exports: [
27
- HttpService,
28
- HTTP_MODULE_OPTIONS
29
- ]
30
- })
31
- ], HttpModule);
@@ -1,24 +0,0 @@
1
- import { InjectionToken } from '../container/index';
2
- import type { HttpModuleOptions, HttpRequestConfig, HttpResponse, RequestConfig } from './fetch.types';
3
- export declare const HTTP_MODULE_OPTIONS: InjectionToken<HttpModuleOptions>;
4
- export declare class HttpRequestException extends Error {
5
- readonly status: number;
6
- readonly statusText: string;
7
- readonly response: Response;
8
- constructor(status: number, statusText: string, response: Response);
9
- }
10
- export declare class HttpService {
11
- private readonly baseURL;
12
- private readonly defaultHeaders;
13
- private readonly defaultTimeout;
14
- constructor(options: HttpModuleOptions);
15
- get<T = unknown>(url: string, config?: RequestConfig): Promise<HttpResponse<T>>;
16
- post<T = unknown>(url: string, body?: unknown, config?: RequestConfig): Promise<HttpResponse<T>>;
17
- put<T = unknown>(url: string, body?: unknown, config?: RequestConfig): Promise<HttpResponse<T>>;
18
- patch<T = unknown>(url: string, body?: unknown, config?: RequestConfig): Promise<HttpResponse<T>>;
19
- delete<T = unknown>(url: string, config?: RequestConfig): Promise<HttpResponse<T>>;
20
- head(url: string, config?: RequestConfig): Promise<HttpResponse<void>>;
21
- request<T = unknown>(config: HttpRequestConfig): Promise<HttpResponse<T>>;
22
- private buildUrl;
23
- private parseBody;
24
- }
@@ -1,145 +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
- function _ts_param(paramIndex, decorator) {
11
- return function(target, key) {
12
- decorator(target, key, paramIndex);
13
- };
14
- }
15
- import { Inject, Injectable, InjectionToken, Optional } from "../container/index.js";
16
- export const HTTP_MODULE_OPTIONS = new InjectionToken('HTTP_MODULE_OPTIONS');
17
- export class HttpRequestException extends Error {
18
- status;
19
- statusText;
20
- response;
21
- constructor(status, statusText, response){
22
- super(`HTTP ${status} ${statusText}`), this.status = status, this.statusText = statusText, this.response = response;
23
- this.name = 'HttpRequestException';
24
- }
25
- }
26
- export class HttpService {
27
- baseURL;
28
- defaultHeaders;
29
- defaultTimeout;
30
- constructor(options){
31
- const opts = options ?? {};
32
- this.baseURL = opts.baseURL ?? '';
33
- this.defaultHeaders = opts.headers ?? {};
34
- this.defaultTimeout = opts.timeout;
35
- }
36
- get(url, config) {
37
- return this.request({
38
- method: 'GET',
39
- url,
40
- ...config
41
- });
42
- }
43
- post(url, body, config) {
44
- return this.request({
45
- method: 'POST',
46
- url,
47
- body,
48
- ...config
49
- });
50
- }
51
- put(url, body, config) {
52
- return this.request({
53
- method: 'PUT',
54
- url,
55
- body,
56
- ...config
57
- });
58
- }
59
- patch(url, body, config) {
60
- return this.request({
61
- method: 'PATCH',
62
- url,
63
- body,
64
- ...config
65
- });
66
- }
67
- delete(url, config) {
68
- return this.request({
69
- method: 'DELETE',
70
- url,
71
- ...config
72
- });
73
- }
74
- head(url, config) {
75
- return this.request({
76
- method: 'HEAD',
77
- url,
78
- ...config
79
- });
80
- }
81
- async request(config) {
82
- const fullUrl = this.buildUrl(config.url, config.params);
83
- const headers = {
84
- ...this.defaultHeaders,
85
- ...config.headers
86
- };
87
- const init = {
88
- method: config.method,
89
- headers
90
- };
91
- if (config.body !== undefined) {
92
- if (typeof config.body === 'string' || config.body instanceof FormData) {
93
- init.body = config.body;
94
- } else {
95
- init.body = JSON.stringify(config.body);
96
- if (!headers['Content-Type'] && !headers['content-type']) {
97
- headers['Content-Type'] = 'application/json';
98
- }
99
- }
100
- }
101
- const timeout = config.timeout ?? this.defaultTimeout;
102
- if (timeout !== undefined) {
103
- init.signal = AbortSignal.timeout(timeout);
104
- }
105
- const response = await fetch(fullUrl, init);
106
- if (!response.ok) {
107
- throw new HttpRequestException(response.status, response.statusText, response);
108
- }
109
- const data = await this.parseBody(response);
110
- return {
111
- data,
112
- status: response.status,
113
- statusText: response.statusText,
114
- headers: response.headers
115
- };
116
- }
117
- buildUrl(url, params) {
118
- const base = this.baseURL ? `${this.baseURL}${url}` : url;
119
- if (!params || Object.keys(params).length === 0) return base;
120
- const searchParams = new URLSearchParams(Object.entries(params).map(([k, v])=>[
121
- k,
122
- String(v)
123
- ]));
124
- return `${base}?${searchParams.toString()}`;
125
- }
126
- async parseBody(response) {
127
- if (response.status === 204 || response.headers.get('content-length') === '0') {
128
- return undefined;
129
- }
130
- const contentType = response.headers.get('content-type') ?? '';
131
- if (contentType.includes('application/json')) {
132
- return response.json();
133
- }
134
- return response.text();
135
- }
136
- }
137
- HttpService = _ts_decorate([
138
- Injectable(),
139
- _ts_param(0, Optional()),
140
- _ts_param(0, Inject(HTTP_MODULE_OPTIONS)),
141
- _ts_metadata("design:type", Function),
142
- _ts_metadata("design:paramtypes", [
143
- typeof HttpModuleOptions === "undefined" ? Object : HttpModuleOptions
144
- ])
145
- ], HttpService);
@@ -1,24 +0,0 @@
1
- export interface HttpModuleOptions {
2
- /** Base URL prepended to all requests. */
3
- baseURL?: string;
4
- /** Default headers sent with every request. */
5
- headers?: Record<string, string>;
6
- /** Default timeout in milliseconds (uses AbortSignal.timeout). */
7
- timeout?: number;
8
- }
9
- export interface RequestConfig {
10
- headers?: Record<string, string>;
11
- params?: Record<string, string | number | boolean>;
12
- timeout?: number;
13
- }
14
- export interface HttpRequestConfig extends RequestConfig {
15
- method: string;
16
- url: string;
17
- body?: unknown;
18
- }
19
- export interface HttpResponse<T = unknown> {
20
- data: T;
21
- status: number;
22
- statusText: string;
23
- headers: Headers;
24
- }
@@ -1 +0,0 @@
1
- export { };
@@ -1,3 +0,0 @@
1
- export { HttpModule } from './fetch.module';
2
- export { HttpService, HTTP_MODULE_OPTIONS, HttpRequestException } from './fetch.service';
3
- export type { HttpModuleOptions, HttpRequestConfig, HttpResponse, RequestConfig } from './fetch.types';
@@ -1,2 +0,0 @@
1
- export { HttpModule } from "./fetch.module.js";
2
- export { HttpService, HTTP_MODULE_OPTIONS, HttpRequestException } from "./fetch.service.js";
@@ -1,14 +0,0 @@
1
- import { HealthIndicatorService } from './health.indicator';
2
- import type { HealthIndicatorResult, ResponseCheckCallback } from './health.types';
3
- export interface HttpPingOptions {
4
- method?: string;
5
- headers?: Record<string, string>;
6
- timeout?: number;
7
- expectedStatus?: number;
8
- }
9
- export declare class HttpHealthIndicator {
10
- private indicator;
11
- constructor(indicator: HealthIndicatorService);
12
- pingCheck(key: string, url: string, options?: HttpPingOptions): Promise<HealthIndicatorResult>;
13
- responseCheck(key: string, url: string, callback: ResponseCheckCallback, options?: HttpPingOptions): Promise<HealthIndicatorResult>;
14
- }