elysia 1.4.28 → 2.0.0-beta.0

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 (454) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +29 -0
  2. package/dist/_virtual/_rolldown/runtime.mjs +38 -0
  3. package/dist/adapter/bun/index.d.ts +7 -6
  4. package/dist/adapter/bun/index.js +219 -380
  5. package/dist/adapter/bun/index.mjs +217 -382
  6. package/dist/adapter/constants.d.ts +6 -0
  7. package/dist/adapter/constants.js +10 -0
  8. package/dist/adapter/constants.mjs +9 -0
  9. package/dist/adapter/default-headers.d.ts +4 -0
  10. package/dist/adapter/default-headers.js +7 -0
  11. package/dist/adapter/default-headers.mjs +5 -0
  12. package/dist/adapter/index.d.ts +8 -1
  13. package/dist/adapter/index.js +7 -14
  14. package/dist/adapter/index.mjs +5 -0
  15. package/dist/adapter/origin.d.ts +63 -0
  16. package/dist/adapter/origin.js +64 -0
  17. package/dist/adapter/origin.mjs +62 -0
  18. package/dist/adapter/response-ownership.d.ts +5 -0
  19. package/dist/adapter/response-ownership.js +13 -0
  20. package/dist/adapter/response-ownership.mjs +10 -0
  21. package/dist/adapter/skip-clone.d.ts +4 -0
  22. package/dist/adapter/skip-clone.js +7 -0
  23. package/dist/adapter/skip-clone.mjs +5 -0
  24. package/dist/adapter/types.d.ts +50 -125
  25. package/dist/adapter/types.js +1 -14
  26. package/dist/adapter/types.mjs +1 -0
  27. package/dist/adapter/utils.d.ts +47 -19
  28. package/dist/adapter/utils.js +561 -311
  29. package/dist/adapter/utils.mjs +551 -283
  30. package/dist/adapter/web-standard/handler.d.ts +11 -9
  31. package/dist/adapter/web-standard/handler.js +146 -415
  32. package/dist/adapter/web-standard/handler.mjs +144 -400
  33. package/dist/adapter/web-standard/index.d.ts +5 -2
  34. package/dist/adapter/web-standard/index.js +68 -161
  35. package/dist/adapter/web-standard/index.mjs +68 -146
  36. package/dist/adapter/web-standard/utils.d.ts +4 -0
  37. package/dist/adapter/web-standard/utils.js +153 -0
  38. package/dist/adapter/web-standard/utils.mjs +152 -0
  39. package/dist/base.d.ts +898 -0
  40. package/dist/base.js +1564 -0
  41. package/dist/base.mjs +1561 -0
  42. package/dist/compile/analysis-cache.d.ts +6 -0
  43. package/dist/compile/analysis-cache.js +12 -0
  44. package/dist/compile/analysis-cache.mjs +11 -0
  45. package/dist/compile/aot-capture.d.ts +24 -0
  46. package/dist/compile/aot-capture.js +376 -0
  47. package/dist/compile/aot-capture.mjs +365 -0
  48. package/dist/compile/aot-emit.d.ts +29 -0
  49. package/dist/compile/aot-emit.js +107 -0
  50. package/dist/compile/aot-emit.mjs +101 -0
  51. package/dist/compile/aot-reconstruct.d.ts +30 -0
  52. package/dist/compile/aot-reconstruct.js +156 -0
  53. package/dist/compile/aot-reconstruct.mjs +147 -0
  54. package/dist/compile/aot.d.ts +287 -0
  55. package/dist/compile/aot.js +220 -0
  56. package/dist/compile/aot.mjs +200 -0
  57. package/dist/compile/handler/descriptor.d.ts +77 -0
  58. package/dist/compile/handler/descriptor.js +199 -0
  59. package/dist/compile/handler/descriptor.mjs +194 -0
  60. package/dist/compile/handler/frozen-validator.d.ts +39 -0
  61. package/dist/compile/handler/frozen-validator.js +319 -0
  62. package/dist/compile/handler/frozen-validator.mjs +313 -0
  63. package/dist/compile/handler/index.d.ts +19 -0
  64. package/dist/compile/handler/index.js +379 -0
  65. package/dist/compile/handler/index.mjs +371 -0
  66. package/dist/compile/handler/jit.d.ts +43 -0
  67. package/dist/compile/handler/jit.js +536 -0
  68. package/dist/compile/handler/jit.mjs +532 -0
  69. package/dist/compile/handler/params.d.ts +28 -0
  70. package/dist/compile/handler/params.js +78 -0
  71. package/dist/compile/handler/params.mjs +76 -0
  72. package/dist/compile/handler/reconstruct.d.ts +12 -0
  73. package/dist/compile/handler/reconstruct.js +50 -0
  74. package/dist/compile/handler/reconstruct.mjs +49 -0
  75. package/dist/compile/handler/utils.d.ts +45 -0
  76. package/dist/compile/handler/utils.js +514 -0
  77. package/dist/compile/handler/utils.mjs +498 -0
  78. package/dist/compile/jit-probe.d.ts +15 -0
  79. package/dist/compile/jit-probe.js +28 -0
  80. package/dist/compile/jit-probe.mjs +26 -0
  81. package/dist/compile/lexer.d.ts +7 -0
  82. package/dist/compile/lexer.js +53 -0
  83. package/dist/compile/lexer.mjs +48 -0
  84. package/dist/compile/utils.d.ts +8 -0
  85. package/dist/compile/utils.js +23 -0
  86. package/dist/compile/utils.mjs +19 -0
  87. package/dist/compiled.d.ts +17 -0
  88. package/dist/compiled.js +20 -0
  89. package/dist/compiled.mjs +16 -0
  90. package/dist/constants.d.ts +137 -0
  91. package/dist/constants.js +96 -0
  92. package/dist/constants.mjs +88 -0
  93. package/dist/context.d.ts +86 -129
  94. package/dist/context.js +110 -13
  95. package/dist/context.mjs +108 -0
  96. package/dist/cookie/config.d.ts +31 -0
  97. package/dist/cookie/config.js +98 -0
  98. package/dist/cookie/config.mjs +95 -0
  99. package/dist/cookie/cookie.d.ts +26 -0
  100. package/dist/cookie/cookie.js +105 -0
  101. package/dist/cookie/cookie.mjs +104 -0
  102. package/dist/cookie/crypto.d.ts +20 -0
  103. package/dist/cookie/crypto.js +168 -0
  104. package/dist/cookie/crypto.mjs +151 -0
  105. package/dist/cookie/error.d.ts +17 -0
  106. package/dist/cookie/error.js +25 -0
  107. package/dist/cookie/error.mjs +24 -0
  108. package/dist/cookie/index.d.ts +7 -0
  109. package/dist/cookie/index.js +13 -0
  110. package/dist/cookie/index.mjs +7 -0
  111. package/dist/cookie/lib.d.ts +7 -0
  112. package/dist/cookie/lib.js +76 -0
  113. package/dist/cookie/lib.mjs +74 -0
  114. package/dist/cookie/serialize.d.ts +6 -0
  115. package/dist/cookie/serialize.js +32 -0
  116. package/dist/cookie/serialize.mjs +31 -0
  117. package/dist/cookie/types.d.ts +113 -0
  118. package/dist/cookie/types.js +1 -0
  119. package/dist/cookie/types.mjs +1 -0
  120. package/dist/cookie/utils.d.ts +25 -0
  121. package/dist/cookie/utils.js +182 -0
  122. package/dist/cookie/utils.mjs +171 -0
  123. package/dist/error.d.ts +226 -188
  124. package/dist/error.js +519 -357
  125. package/dist/error.mjs +503 -327
  126. package/dist/generation.d.ts +30 -0
  127. package/dist/generation.js +23 -0
  128. package/dist/generation.mjs +17 -0
  129. package/dist/handler/error.d.ts +7 -0
  130. package/dist/handler/error.js +105 -0
  131. package/dist/handler/error.mjs +104 -0
  132. package/dist/handler/fetch.d.ts +8 -0
  133. package/dist/handler/fetch.js +371 -0
  134. package/dist/handler/fetch.mjs +367 -0
  135. package/dist/handler/index.d.ts +2 -0
  136. package/dist/handler/index.js +5 -0
  137. package/dist/handler/index.mjs +3 -0
  138. package/dist/handler/utils.d.ts +15 -0
  139. package/dist/handler/utils.js +48 -0
  140. package/dist/handler/utils.mjs +42 -0
  141. package/dist/index.d.ts +23 -2198
  142. package/dist/index.js +62 -1948
  143. package/dist/index.mjs +20 -1986
  144. package/dist/memory.d.ts +4 -0
  145. package/dist/memory.js +17 -0
  146. package/dist/memory.mjs +16 -0
  147. package/dist/package.js +11 -0
  148. package/dist/package.mjs +5 -0
  149. package/dist/parse-query.d.ts +7 -9
  150. package/dist/parse-query.js +154 -164
  151. package/dist/parse-query.mjs +150 -133
  152. package/dist/plugin/aot/bun.d.ts +26 -0
  153. package/dist/plugin/aot/bun.js +35 -0
  154. package/dist/plugin/aot/bun.mjs +34 -0
  155. package/dist/plugin/aot/core.d.ts +291 -0
  156. package/dist/plugin/aot/core.js +505 -0
  157. package/dist/plugin/aot/core.mjs +481 -0
  158. package/dist/plugin/aot/esbuild.d.ts +28 -0
  159. package/dist/plugin/aot/esbuild.js +48 -0
  160. package/dist/plugin/aot/esbuild.mjs +46 -0
  161. package/dist/plugin/aot/hooks.d.ts +28 -0
  162. package/dist/plugin/aot/hooks.js +114 -0
  163. package/dist/plugin/aot/hooks.mjs +112 -0
  164. package/dist/plugin/aot/rspack-loader.d.ts +23 -0
  165. package/dist/plugin/aot/rspack-loader.js +44 -0
  166. package/dist/plugin/aot/rspack-loader.mjs +40 -0
  167. package/dist/plugin/aot/rspack.d.ts +23 -0
  168. package/dist/plugin/aot/rspack.js +85 -0
  169. package/dist/plugin/aot/rspack.mjs +82 -0
  170. package/dist/plugin/aot/source.d.ts +60 -0
  171. package/dist/plugin/aot/source.js +422 -0
  172. package/dist/plugin/aot/source.mjs +418 -0
  173. package/dist/plugin/aot/treeshake.d.ts +4 -0
  174. package/dist/plugin/aot/treeshake.js +95 -0
  175. package/dist/plugin/aot/treeshake.mjs +94 -0
  176. package/dist/plugin/aot/unplugin.d.ts +50 -0
  177. package/dist/plugin/aot/unplugin.js +64 -0
  178. package/dist/plugin/aot/unplugin.mjs +62 -0
  179. package/dist/plugin/aot/vite.d.ts +30 -0
  180. package/dist/plugin/aot/vite.js +34 -0
  181. package/dist/plugin/aot/vite.mjs +33 -0
  182. package/dist/plugin/aot/worker.d.ts +1 -0
  183. package/dist/plugin/aot/worker.js +28 -0
  184. package/dist/plugin/aot/worker.mjs +27 -0
  185. package/dist/plugin/auto-head.d.ts +6 -0
  186. package/dist/plugin/auto-head.js +38 -0
  187. package/dist/plugin/auto-head.mjs +36 -0
  188. package/dist/plugin/trace.d.ts +10 -0
  189. package/dist/plugin/trace.js +39 -0
  190. package/dist/plugin/trace.mjs +36 -0
  191. package/dist/plugin/websocket.d.ts +6 -0
  192. package/dist/plugin/websocket.js +61 -0
  193. package/dist/plugin/websocket.mjs +60 -0
  194. package/dist/route-table.d.ts +28 -0
  195. package/dist/route-table.js +64 -0
  196. package/dist/route-table.mjs +61 -0
  197. package/dist/schema-snapshot.d.ts +9 -0
  198. package/dist/schema-snapshot.js +271 -0
  199. package/dist/schema-snapshot.mjs +269 -0
  200. package/dist/sucrose.d.ts +28 -63
  201. package/dist/sucrose.js +814 -306
  202. package/dist/sucrose.mjs +805 -274
  203. package/dist/trace.d.ts +145 -130
  204. package/dist/trace.js +387 -135
  205. package/dist/trace.mjs +385 -113
  206. package/dist/type/bridge-live.d.ts +15 -0
  207. package/dist/type/bridge-live.js +39 -0
  208. package/dist/type/bridge-live.mjs +17 -0
  209. package/dist/type/bridge.d.ts +56 -0
  210. package/dist/type/bridge.js +180 -0
  211. package/dist/type/bridge.mjs +63 -0
  212. package/dist/type/coerce-plan.d.ts +38 -0
  213. package/dist/type/coerce-plan.js +107 -0
  214. package/dist/type/coerce-plan.mjs +98 -0
  215. package/dist/type/coerce.d.ts +43 -0
  216. package/dist/type/coerce.js +351 -0
  217. package/dist/type/coerce.mjs +339 -0
  218. package/dist/type/compat.d.ts +8 -0
  219. package/dist/type/compat.js +46 -0
  220. package/dist/type/compat.mjs +44 -0
  221. package/dist/type/constants.d.ts +25 -0
  222. package/dist/type/constants.js +36 -0
  223. package/dist/type/constants.mjs +32 -0
  224. package/dist/type/elysia/accelerate.d.ts +6 -0
  225. package/dist/type/elysia/accelerate.js +12 -0
  226. package/dist/type/elysia/accelerate.mjs +10 -0
  227. package/dist/type/elysia/array-buffer.d.ts +6 -0
  228. package/dist/type/elysia/array-buffer.js +27 -0
  229. package/dist/type/elysia/array-buffer.mjs +25 -0
  230. package/dist/type/elysia/array-string.d.ts +7 -0
  231. package/dist/type/elysia/array-string.js +28 -0
  232. package/dist/type/elysia/array-string.mjs +26 -0
  233. package/dist/type/elysia/array.d.ts +6 -0
  234. package/dist/type/elysia/array.js +32 -0
  235. package/dist/type/elysia/array.mjs +31 -0
  236. package/dist/type/elysia/boolean-string.d.ts +6 -0
  237. package/dist/type/elysia/boolean-string.js +24 -0
  238. package/dist/type/elysia/boolean-string.mjs +22 -0
  239. package/dist/type/elysia/boolean.d.ts +6 -0
  240. package/dist/type/elysia/boolean.js +20 -0
  241. package/dist/type/elysia/boolean.mjs +18 -0
  242. package/dist/type/elysia/cookie.d.ts +15 -0
  243. package/dist/type/elysia/cookie.js +51 -0
  244. package/dist/type/elysia/cookie.mjs +50 -0
  245. package/dist/type/elysia/date.d.ts +7 -0
  246. package/dist/type/elysia/date.js +98 -0
  247. package/dist/type/elysia/date.mjs +96 -0
  248. package/dist/type/elysia/file-type.d.ts +25 -0
  249. package/dist/type/elysia/file-type.js +81 -0
  250. package/dist/type/elysia/file-type.mjs +71 -0
  251. package/dist/type/elysia/file.d.ts +9 -0
  252. package/dist/type/elysia/file.js +64 -0
  253. package/dist/type/elysia/file.mjs +48 -0
  254. package/dist/type/elysia/files.d.ts +8 -0
  255. package/dist/type/elysia/files.js +45 -0
  256. package/dist/type/elysia/files.mjs +43 -0
  257. package/dist/type/elysia/form.d.ts +8 -0
  258. package/dist/type/elysia/form.js +17 -0
  259. package/dist/type/elysia/form.mjs +15 -0
  260. package/dist/type/elysia/integer-string.d.ts +7 -0
  261. package/dist/type/elysia/integer-string.js +40 -0
  262. package/dist/type/elysia/integer-string.mjs +38 -0
  263. package/dist/type/elysia/integer.d.ts +6 -0
  264. package/dist/type/elysia/integer.js +20 -0
  265. package/dist/type/elysia/integer.mjs +18 -0
  266. package/dist/type/elysia/intersect.d.ts +6 -0
  267. package/dist/type/elysia/intersect.js +20 -0
  268. package/dist/type/elysia/intersect.mjs +19 -0
  269. package/dist/type/elysia/maybe-empty.d.ts +7 -0
  270. package/dist/type/elysia/maybe-empty.js +21 -0
  271. package/dist/type/elysia/maybe-empty.mjs +19 -0
  272. package/dist/type/elysia/no-validate.d.ts +6 -0
  273. package/dist/type/elysia/no-validate.js +9 -0
  274. package/dist/type/elysia/no-validate.mjs +8 -0
  275. package/dist/type/elysia/nullable.d.ts +7 -0
  276. package/dist/type/elysia/nullable.js +15 -0
  277. package/dist/type/elysia/nullable.mjs +13 -0
  278. package/dist/type/elysia/number.d.ts +6 -0
  279. package/dist/type/elysia/number.js +20 -0
  280. package/dist/type/elysia/number.mjs +18 -0
  281. package/dist/type/elysia/numeric-enum.d.ts +11 -0
  282. package/dist/type/elysia/numeric-enum.js +26 -0
  283. package/dist/type/elysia/numeric-enum.mjs +24 -0
  284. package/dist/type/elysia/numeric.d.ts +7 -0
  285. package/dist/type/elysia/numeric.js +62 -0
  286. package/dist/type/elysia/numeric.mjs +60 -0
  287. package/dist/type/elysia/object-string.d.ts +7 -0
  288. package/dist/type/elysia/object-string.js +28 -0
  289. package/dist/type/elysia/object-string.mjs +26 -0
  290. package/dist/type/elysia/object.d.ts +6 -0
  291. package/dist/type/elysia/object.js +47 -0
  292. package/dist/type/elysia/object.mjs +46 -0
  293. package/dist/type/elysia/optional.d.ts +6 -0
  294. package/dist/type/elysia/optional.js +22 -0
  295. package/dist/type/elysia/optional.mjs +21 -0
  296. package/dist/type/elysia/string.d.ts +6 -0
  297. package/dist/type/elysia/string.js +43 -0
  298. package/dist/type/elysia/string.mjs +41 -0
  299. package/dist/type/elysia/uint8-array.d.ts +6 -0
  300. package/dist/type/elysia/uint8-array.js +27 -0
  301. package/dist/type/elysia/uint8-array.mjs +25 -0
  302. package/dist/type/elysia/union-enum.d.ts +8 -0
  303. package/dist/type/elysia/union-enum.js +31 -0
  304. package/dist/type/elysia/union-enum.mjs +29 -0
  305. package/dist/type/elysia/union.d.ts +6 -0
  306. package/dist/type/elysia/union.js +20 -0
  307. package/dist/type/elysia/union.mjs +19 -0
  308. package/dist/type/elysia/utils.d.ts +53 -0
  309. package/dist/type/elysia/utils.js +98 -0
  310. package/dist/type/elysia/utils.mjs +88 -0
  311. package/dist/type/exports.d.ts +36 -0
  312. package/dist/type/exports.js +68 -0
  313. package/dist/type/exports.mjs +36 -0
  314. package/dist/type/index.d.ts +13 -0
  315. package/dist/type/index.js +81 -0
  316. package/dist/type/index.mjs +68 -0
  317. package/dist/type/shared.d.ts +27 -0
  318. package/dist/type/shared.js +171 -0
  319. package/dist/type/shared.mjs +161 -0
  320. package/dist/type/types.d.ts +206 -0
  321. package/dist/type/types.js +1 -0
  322. package/dist/type/types.mjs +1 -0
  323. package/dist/type/utils.d.ts +7 -0
  324. package/dist/type/utils.js +43 -0
  325. package/dist/type/utils.mjs +41 -0
  326. package/dist/type/validator/clean-safe.d.ts +8 -0
  327. package/dist/type/validator/clean-safe.js +82 -0
  328. package/dist/type/validator/clean-safe.mjs +77 -0
  329. package/dist/type/validator/custom-error.d.ts +10 -0
  330. package/dist/type/validator/custom-error.js +191 -0
  331. package/dist/type/validator/custom-error.mjs +188 -0
  332. package/dist/type/validator/default-precompute.d.ts +26 -0
  333. package/dist/type/validator/default-precompute.js +432 -0
  334. package/dist/type/validator/default-precompute.mjs +421 -0
  335. package/dist/type/validator/exact-mirror.d.ts +7 -0
  336. package/dist/type/validator/exact-mirror.js +19 -0
  337. package/dist/type/validator/exact-mirror.mjs +15 -0
  338. package/dist/type/validator/frozen-check.d.ts +11 -0
  339. package/dist/type/validator/frozen-check.js +20 -0
  340. package/dist/type/validator/frozen-check.mjs +19 -0
  341. package/dist/type/validator/index.d.ts +32 -0
  342. package/dist/type/validator/index.js +657 -0
  343. package/dist/type/validator/index.mjs +651 -0
  344. package/dist/type/validator/string-codec-aot.d.ts +8 -0
  345. package/dist/type/validator/string-codec-aot.js +68 -0
  346. package/dist/type/validator/string-codec-aot.mjs +66 -0
  347. package/dist/type/validator/validator-cache.d.ts +26 -0
  348. package/dist/type/validator/validator-cache.js +247 -0
  349. package/dist/type/validator/validator-cache.mjs +242 -0
  350. package/dist/types.d.ts +938 -1235
  351. package/dist/types.js +1 -14
  352. package/dist/types.mjs +1 -0
  353. package/dist/universal/constants.d.ts +6 -0
  354. package/dist/universal/constants.js +19 -0
  355. package/dist/universal/constants.mjs +15 -0
  356. package/dist/universal/env.d.ts +5 -1
  357. package/dist/universal/env.js +12 -26
  358. package/dist/universal/env.mjs +10 -5
  359. package/dist/universal/file.d.ts +55 -86
  360. package/dist/universal/file.js +116 -157
  361. package/dist/universal/file.mjs +111 -132
  362. package/dist/universal/index.d.ts +5 -3
  363. package/dist/universal/index.js +8 -27
  364. package/dist/universal/index.mjs +4 -5
  365. package/dist/universal/is-production.d.ts +5 -0
  366. package/dist/universal/is-production.js +10 -0
  367. package/dist/universal/is-production.mjs +8 -0
  368. package/dist/universal/server.d.ts +318 -313
  369. package/dist/universal/server.js +1 -14
  370. package/dist/universal/server.mjs +1 -0
  371. package/dist/utils.d.ts +162 -191
  372. package/dist/utils.js +732 -693
  373. package/dist/utils.mjs +683 -631
  374. package/dist/validator/index.d.ts +63 -0
  375. package/dist/validator/index.js +299 -0
  376. package/dist/validator/index.mjs +296 -0
  377. package/dist/validator/route.d.ts +32 -0
  378. package/dist/validator/route.js +51 -0
  379. package/dist/validator/route.mjs +50 -0
  380. package/dist/ws/context.d.ts +49 -0
  381. package/dist/ws/context.js +152 -0
  382. package/dist/ws/context.mjs +150 -0
  383. package/dist/ws/index.d.ts +5 -77
  384. package/dist/ws/index.js +11 -180
  385. package/dist/ws/index.mjs +5 -157
  386. package/dist/ws/parser.d.ts +5 -0
  387. package/dist/ws/parser.js +69 -0
  388. package/dist/ws/parser.mjs +66 -0
  389. package/dist/ws/route.d.ts +16 -0
  390. package/dist/ws/route.js +560 -0
  391. package/dist/ws/route.mjs +554 -0
  392. package/dist/ws/types.d.ts +154 -57
  393. package/dist/ws/types.js +1 -14
  394. package/dist/ws/types.mjs +1 -0
  395. package/package.json +179 -120
  396. package/bunfig.toml +0 -2
  397. package/dist/adapter/bun/compose.d.ts +0 -3
  398. package/dist/adapter/bun/compose.js +0 -90
  399. package/dist/adapter/bun/compose.mjs +0 -74
  400. package/dist/adapter/bun/handler-native.d.ts +0 -3
  401. package/dist/adapter/bun/handler-native.js +0 -42
  402. package/dist/adapter/bun/handler-native.mjs +0 -22
  403. package/dist/adapter/bun/handler.d.ts +0 -7
  404. package/dist/adapter/bun/handler.js +0 -363
  405. package/dist/adapter/bun/handler.mjs +0 -346
  406. package/dist/adapter/cloudflare-worker/index.d.ts +0 -20
  407. package/dist/adapter/cloudflare-worker/index.js +0 -59
  408. package/dist/adapter/cloudflare-worker/index.mjs +0 -39
  409. package/dist/compose.d.ts +0 -30
  410. package/dist/compose.js +0 -1324
  411. package/dist/compose.mjs +0 -1336
  412. package/dist/cookies.d.ts +0 -158
  413. package/dist/cookies.js +0 -250
  414. package/dist/cookies.mjs +0 -221
  415. package/dist/dynamic-handle.d.ts +0 -15
  416. package/dist/dynamic-handle.js +0 -521
  417. package/dist/dynamic-handle.mjs +0 -509
  418. package/dist/formats.d.ts +0 -79
  419. package/dist/formats.js +0 -153
  420. package/dist/formats.mjs +0 -132
  421. package/dist/manifest.d.ts +0 -0
  422. package/dist/manifest.js +0 -1
  423. package/dist/manifest.mjs +0 -0
  424. package/dist/replace-schema.d.ts +0 -60
  425. package/dist/replace-schema.js +0 -140
  426. package/dist/replace-schema.mjs +0 -115
  427. package/dist/schema.d.ts +0 -107
  428. package/dist/schema.js +0 -833
  429. package/dist/schema.mjs +0 -814
  430. package/dist/type-system/format.d.ts +0 -55
  431. package/dist/type-system/format.js +0 -197
  432. package/dist/type-system/format.mjs +0 -175
  433. package/dist/type-system/index.d.ts +0 -45
  434. package/dist/type-system/index.js +0 -406
  435. package/dist/type-system/index.mjs +0 -394
  436. package/dist/type-system/types.d.ts +0 -155
  437. package/dist/type-system/types.js +0 -14
  438. package/dist/type-system/types.mjs +0 -0
  439. package/dist/type-system/utils.d.ts +0 -62
  440. package/dist/type-system/utils.js +0 -141
  441. package/dist/type-system/utils.mjs +0 -111
  442. package/dist/universal/request.d.ts +0 -29
  443. package/dist/universal/request.js +0 -126
  444. package/dist/universal/request.mjs +0 -105
  445. package/dist/universal/types.d.ts +0 -124
  446. package/dist/universal/types.js +0 -41
  447. package/dist/universal/types.mjs +0 -19
  448. package/dist/universal/utils.d.ts +0 -3
  449. package/dist/universal/utils.js +0 -41
  450. package/dist/universal/utils.mjs +0 -18
  451. package/dist/ws/bun.d.ts +0 -419
  452. package/dist/ws/bun.js +0 -14
  453. package/dist/ws/bun.mjs +0 -0
  454. package/knip.json +0 -22
@@ -1,401 +1,145 @@
1
- import {
2
- createResponseHandler,
3
- createStreamHandler,
4
- handleFile,
5
- handleSet
6
- } from "../utils.mjs";
7
- import { mime } from "../../universal/file.mjs";
8
- import { isNotEmpty } from "../../utils.mjs";
9
- import { Cookie } from "../../cookies.mjs";
10
- import { ElysiaCustomStatusResponse } from "../../error.mjs";
11
- const handleElysiaFile = (file, set = {
12
- headers: {}
13
- }, request) => {
14
- const path = file.path, contentType = mime[path.slice(path.lastIndexOf(".") + 1)];
15
- return contentType && (set.headers["content-type"] = contentType), file.stats && set.status !== 206 && set.status !== 304 && set.status !== 412 && set.status !== 416 ? file.stats.then((stat) => {
16
- const size = stat.size;
17
- return size !== void 0 && (set.headers["content-range"] = `bytes 0-${size - 1}/${size}`, set.headers["content-length"] = size), handleFile(file.value, set, request);
18
- }) : handleFile(file.value, set, request);
19
- }, mapResponse = (response, set, request) => {
20
- if (isNotEmpty(set.headers) || set.status !== 200 || set.cookie)
21
- switch (handleSet(set), response?.constructor?.name) {
22
- case "String":
23
- return set.headers["content-type"] || (set.headers["content-type"] = "text/plain"), new Response(response, set);
24
- case "Array":
25
- case "Object":
26
- return set.headers["content-type"] || (set.headers["content-type"] = "application/json"), new Response(JSON.stringify(response), set);
27
- case "ElysiaFile":
28
- return handleElysiaFile(response, set, request);
29
- case "File":
30
- return handleFile(response, set, request);
31
- case "Blob":
32
- return handleFile(response, set, request);
33
- case "ElysiaCustomStatusResponse":
34
- return set.status = response.code, mapResponse(
35
- response.response,
36
- set,
37
- request
38
- );
39
- case void 0:
40
- return response ? new Response(JSON.stringify(response), set) : new Response("", set);
41
- case "Response":
42
- return handleResponse(response, set, request);
43
- case "Error":
44
- return errorToResponse(response, set);
45
- case "Promise":
46
- return response.then(
47
- (x) => mapResponse(x, set, request)
48
- );
49
- case "Function":
50
- return mapResponse(response(), set, request);
51
- case "Number":
52
- case "Boolean":
53
- return new Response(
54
- response.toString(),
55
- set
56
- );
57
- case "Cookie":
58
- return response instanceof Cookie ? new Response(response.value, set) : new Response(response?.toString(), set);
59
- case "FormData":
60
- return new Response(response, set);
61
- default:
62
- if (response instanceof Response)
63
- return handleResponse(response, set, request);
64
- if (response instanceof Promise)
65
- return response.then((x) => mapResponse(x, set));
66
- if (response instanceof Error)
67
- return errorToResponse(response, set);
68
- if (response instanceof ElysiaCustomStatusResponse)
69
- return set.status = response.code, mapResponse(
70
- response.response,
71
- set,
72
- request
73
- );
74
- if (
75
- // @ts-expect-error
76
- typeof response?.next == "function" || response instanceof ReadableStream
77
- )
78
- return handleStream(response, set, request);
79
- if (typeof response?.then == "function")
80
- return response.then(
81
- (x) => mapResponse(x, set)
82
- );
83
- if (Array.isArray(response))
84
- return new Response(JSON.stringify(response), {
85
- headers: {
86
- "Content-Type": "application/json"
87
- }
88
- });
89
- if (typeof response?.toResponse == "function")
90
- return mapResponse(response.toResponse(), set);
91
- if ("charCodeAt" in response) {
92
- const code = response.charCodeAt(0);
93
- if (code === 123 || code === 91)
94
- return set.headers["Content-Type"] || (set.headers["Content-Type"] = "application/json"), new Response(
95
- JSON.stringify(response),
96
- set
97
- );
98
- }
99
- return new Response(response, set);
100
- }
101
- return (
102
- // @ts-expect-error
103
- typeof response?.next == "function" || response instanceof ReadableStream ? handleStream(response, set, request) : mapCompactResponse(response, request)
104
- );
105
- }, mapEarlyResponse = (response, set, request) => {
106
- if (response != null)
107
- if (isNotEmpty(set.headers) || set.status !== 200 || set.cookie)
108
- switch (handleSet(set), response?.constructor?.name) {
109
- case "String":
110
- return set.headers["content-type"] || (set.headers["content-type"] = "text/plain"), new Response(response, set);
111
- case "Array":
112
- case "Object":
113
- return set.headers["content-type"] || (set.headers["content-type"] = "application/json"), new Response(JSON.stringify(response), set);
114
- case "ElysiaFile":
115
- return handleElysiaFile(response, set, request);
116
- case "File":
117
- return handleFile(response, set, request);
118
- case "Blob":
119
- return handleFile(response, set, request);
120
- case "ElysiaCustomStatusResponse":
121
- return set.status = response.code, mapEarlyResponse(
122
- response.response,
123
- set,
124
- request
125
- );
126
- case void 0:
127
- return response ? new Response(JSON.stringify(response), set) : void 0;
128
- case "Response":
129
- return handleResponse(response, set, request);
130
- case "Promise":
131
- return response.then(
132
- (x) => mapEarlyResponse(x, set)
133
- );
134
- case "Error":
135
- return errorToResponse(response, set);
136
- case "Function":
137
- return mapEarlyResponse(response(), set);
138
- case "Number":
139
- case "Boolean":
140
- return new Response(
141
- response.toString(),
142
- set
143
- );
144
- case "FormData":
145
- return new Response(response);
146
- case "Cookie":
147
- return response instanceof Cookie ? new Response(response.value, set) : new Response(response?.toString(), set);
148
- default:
149
- if (response instanceof Response)
150
- return handleResponse(response, set, request);
151
- if (response instanceof Promise)
152
- return response.then((x) => mapEarlyResponse(x, set));
153
- if (response instanceof Error)
154
- return errorToResponse(response, set);
155
- if (response instanceof ElysiaCustomStatusResponse)
156
- return set.status = response.code, mapEarlyResponse(
157
- response.response,
158
- set,
159
- request
160
- );
161
- if (
162
- // @ts-expect-error
163
- typeof response?.next == "function" || response instanceof ReadableStream
164
- )
165
- return handleStream(response, set, request);
166
- if (typeof response?.then == "function")
167
- return response.then(
168
- (x) => mapEarlyResponse(x, set)
169
- );
170
- if (typeof response?.toResponse == "function")
171
- return mapEarlyResponse(response.toResponse(), set);
172
- if (Array.isArray(response))
173
- return new Response(JSON.stringify(response), {
174
- headers: {
175
- "Content-Type": "application/json"
176
- }
177
- });
178
- if ("charCodeAt" in response) {
179
- const code = response.charCodeAt(0);
180
- if (code === 123 || code === 91)
181
- return set.headers["Content-Type"] || (set.headers["Content-Type"] = "application/json"), new Response(
182
- JSON.stringify(response),
183
- set
184
- );
185
- }
186
- return new Response(response, set);
187
- }
188
- else
189
- switch (response?.constructor?.name) {
190
- case "String":
191
- return set.headers["content-type"] || (set.headers["content-type"] = "text/plain"), new Response(response);
192
- case "Array":
193
- case "Object":
194
- return set.headers["content-type"] || (set.headers["content-type"] = "application/json"), new Response(JSON.stringify(response), set);
195
- case "ElysiaFile":
196
- return handleElysiaFile(response, set, request);
197
- case "File":
198
- return handleFile(response, set, request);
199
- case "Blob":
200
- return handleFile(response, set, request);
201
- case "ElysiaCustomStatusResponse":
202
- return set.status = response.code, mapEarlyResponse(
203
- response.response,
204
- set,
205
- request
206
- );
207
- case void 0:
208
- return response ? new Response(JSON.stringify(response), {
209
- headers: {
210
- "content-type": "application/json"
211
- }
212
- }) : new Response("");
213
- case "Response":
214
- return response;
215
- case "Promise":
216
- return response.then((x) => {
217
- const r = mapEarlyResponse(x, set);
218
- if (r !== void 0) return r;
219
- });
220
- case "Error":
221
- return errorToResponse(response, set);
222
- case "Function":
223
- return mapCompactResponse(response(), request);
224
- case "Number":
225
- case "Boolean":
226
- return new Response(response.toString());
227
- case "Cookie":
228
- return response instanceof Cookie ? new Response(response.value, set) : new Response(response?.toString(), set);
229
- case "FormData":
230
- return new Response(response);
231
- default:
232
- if (response instanceof Response) return response;
233
- if (response instanceof Promise)
234
- return response.then((x) => mapEarlyResponse(x, set));
235
- if (response instanceof Error)
236
- return errorToResponse(response, set);
237
- if (response instanceof ElysiaCustomStatusResponse)
238
- return set.status = response.code, mapEarlyResponse(
239
- response.response,
240
- set,
241
- request
242
- );
243
- if (
244
- // @ts-expect-error
245
- typeof response?.next == "function" || response instanceof ReadableStream
246
- )
247
- return handleStream(response, set, request);
248
- if (typeof response?.then == "function")
249
- return response.then(
250
- (x) => mapEarlyResponse(x, set)
251
- );
252
- if (typeof response?.toResponse == "function")
253
- return mapEarlyResponse(response.toResponse(), set);
254
- if (Array.isArray(response))
255
- return new Response(JSON.stringify(response), {
256
- headers: {
257
- "Content-Type": "application/json"
258
- }
259
- });
260
- if ("charCodeAt" in response) {
261
- const code = response.charCodeAt(0);
262
- if (code === 123 || code === 91)
263
- return set.headers["Content-Type"] || (set.headers["Content-Type"] = "application/json"), new Response(
264
- JSON.stringify(response),
265
- set
266
- );
267
- }
268
- return new Response(response);
269
- }
270
- }, mapCompactResponse = (response, request) => {
271
- switch (response?.constructor?.name) {
272
- case "String":
273
- return new Response(response, {
274
- headers: {
275
- "Content-Type": "text/plain"
276
- }
277
- });
278
- case "Object":
279
- case "Array":
280
- return new Response(JSON.stringify(response), {
281
- headers: {
282
- "Content-Type": "application/json"
283
- }
284
- });
285
- case "ElysiaFile":
286
- return handleElysiaFile(response, void 0, request);
287
- case "File":
288
- return handleFile(response, void 0, request);
289
- case "Blob":
290
- return handleFile(response, void 0, request);
291
- case "ElysiaCustomStatusResponse":
292
- return mapResponse(
293
- response.response,
294
- {
295
- status: response.code,
296
- headers: {}
297
- }
298
- );
299
- case void 0:
300
- return response ? new Response(JSON.stringify(response), {
301
- headers: {
302
- "content-type": "application/json"
303
- }
304
- }) : new Response("");
305
- case "Response":
306
- return response;
307
- case "Error":
308
- return errorToResponse(response);
309
- case "Promise":
310
- return response.then(
311
- (x) => mapCompactResponse(x, request)
312
- );
313
- // ? Maybe response or Blob
314
- case "Function":
315
- return mapCompactResponse(response(), request);
316
- case "Number":
317
- case "Boolean":
318
- return new Response(response.toString());
319
- case "FormData":
320
- return new Response(response);
321
- default:
322
- if (response instanceof Response) return response;
323
- if (response instanceof Promise)
324
- return response.then(
325
- (x) => mapCompactResponse(x, request)
326
- );
327
- if (response instanceof Error)
328
- return errorToResponse(response);
329
- if (response instanceof ElysiaCustomStatusResponse)
330
- return mapResponse(
331
- response.response,
332
- {
333
- status: response.code,
334
- headers: {}
335
- }
336
- );
337
- if (
338
- // @ts-expect-error
339
- typeof response?.next == "function" || response instanceof ReadableStream
340
- )
341
- return handleStream(response, void 0, request);
342
- if (typeof response?.then == "function")
343
- return response.then(
344
- (x) => mapCompactResponse(x, request)
345
- );
346
- if (typeof response?.toResponse == "function")
347
- return mapCompactResponse(response.toResponse());
348
- if (Array.isArray(response))
349
- return new Response(JSON.stringify(response), {
350
- headers: {
351
- "Content-Type": "application/json"
352
- }
353
- });
354
- if ("charCodeAt" in response) {
355
- const code = response.charCodeAt(0);
356
- if (code === 123 || code === 91)
357
- return new Response(JSON.stringify(response), {
358
- headers: {
359
- "Content-Type": "application/json"
360
- }
361
- });
362
- }
363
- return new Response(response);
364
- }
365
- }, errorToResponse = (error, set) => {
366
- if (typeof error?.toResponse == "function") {
367
- const raw = error.toResponse(), targetSet = set ?? { headers: {}, status: 200, redirect: "" }, apply = (resolved) => (resolved instanceof Response && (targetSet.status = resolved.status), mapResponse(resolved, targetSet));
368
- return typeof raw?.then == "function" ? raw.then(apply) : apply(raw);
369
- }
370
- return new Response(
371
- JSON.stringify({
372
- name: error?.name,
373
- message: error?.message,
374
- cause: error?.cause
375
- }),
376
- {
377
- status: set?.status !== 200 ? set?.status ?? 500 : 500,
378
- headers: set?.headers
379
- }
380
- );
381
- }, createStaticHandler = (handle, hooks, setHeaders = {}) => {
382
- if (typeof handle == "function") return;
383
- const response = mapResponse(handle, {
384
- headers: setHeaders
385
- });
386
- if (!hooks.parse?.length && !hooks.transform?.length && !hooks.beforeHandle?.length && !hooks.afterHandle?.length)
387
- return () => response.clone();
388
- }, handleResponse = createResponseHandler({
389
- mapResponse,
390
- mapCompactResponse
391
- }), handleStream = createStreamHandler({
392
- mapResponse,
393
- mapCompactResponse
1
+ import { isBun } from "../../universal/constants.mjs";
2
+ import { ElysiaFile, mime } from "../../universal/file.mjs";
3
+ import { formToFormData, isNotEmpty, nullObject } from "../../utils.mjs";
4
+ import { ElysiaStatus, PROBLEM_JSON, internalServerErrorBody } from "../../error.mjs";
5
+ import { defaultHeaders } from "../default-headers.mjs";
6
+ import { createResponseHandler, createStreamHandler, handleFile, handleSet, materializeSetHeaders } from "../utils.mjs";
7
+
8
+ //#region src/adapter/web-standard/handler.ts
9
+ const textPlainInit = { headers: { "content-type": "text/plain" } };
10
+ function handleElysiaFile(file, set = { headers: nullObject() }, request) {
11
+ const path = file.path;
12
+ const contentType = mime[path.slice(path.lastIndexOf(".") + 1).toLowerCase()];
13
+ const headers = materializeSetHeaders(set);
14
+ if (contentType) headers["content-type"] = contentType;
15
+ const stats = file.stats;
16
+ if (stats) return stats.then((stat) => {
17
+ const size = stat.size;
18
+ if (size !== void 0 && set.status !== 206 && set.status !== 304 && set.status !== 412 && set.status !== 416) headers["content-length"] = size;
19
+ return handleFile(file, set, request, size);
20
+ });
21
+ return handleFile(file.value, set, request);
22
+ }
23
+ function mapResponseWithSet(response, set, request, owned) {
24
+ handleSet(set);
25
+ const headers = set.headers;
26
+ switch (response?.constructor?.name) {
27
+ case "String":
28
+ if (!isBun && !headers["content-type"]) materializeSetHeaders(set)["content-type"] = "text/plain";
29
+ return new Response(response, set);
30
+ case "Array": return Response.json(response, set);
31
+ case "Object":
32
+ if (response["~ely-form"]) return new Response(formToFormData(response), set);
33
+ if (typeof response?.next === "function") return handleStream(response, set, request, void 0, owned);
34
+ return Response.json(response, set);
35
+ case "Number":
36
+ case "Boolean": return new Response(typeof response === "boolean" ? response ? "true" : "false" : response.toString(), set);
37
+ case "ElysiaFile": return handleElysiaFile(response, set, request);
38
+ case "File":
39
+ case "Blob": return handleFile(response, set, request);
40
+ case "ElysiaStatus":
41
+ set.status = response.code;
42
+ if (response.headers) Object.assign(materializeSetHeaders(set), response.headers);
43
+ return mapResponseWithSet(response.response, set, request, owned);
44
+ case void 0: return response ? Response.json(response, set) : new Response(null, set);
45
+ case "Response": return handleResponse(response, set, request, owned);
46
+ case "Error": return errorToResponse(response, set, request, owned);
47
+ case "Promise": return response.then((x) => mapResponseWithSet(x, set, request, owned));
48
+ case "Function": return mapResponseWithSet(response(), set, request, owned);
49
+ case "FormData": return new Response(response, set);
50
+ default: return mapFallback(response, set, request, owned);
51
+ }
52
+ }
53
+ function mapResponse(response, set, request, owned) {
54
+ const headers = set.headers;
55
+ if (set.status !== void 0 || set.cookie || headers["\0"] === headers || isNotEmpty(headers)) return mapResponseWithSet(response, set, request, owned);
56
+ if (response instanceof ElysiaStatus) {
57
+ set.status = response.code;
58
+ if (response.headers) Object.assign(set.headers, response.headers);
59
+ return mapResponse(response.response, set, request, owned);
60
+ }
61
+ if (response instanceof Response) return owned ? handleResponse(response, void 0, request, true) : response;
62
+ if (response instanceof Promise) return response.then((x) => mapResponse(x, set, request, owned));
63
+ if (typeof response?.next === "function" || response instanceof ReadableStream) return handleStream(response, set, request, void 0, owned);
64
+ return mapCompactResponse(response, request, owned);
65
+ }
66
+ const textHeaders = isBun ? void 0 : textPlainInit;
67
+ function mapCompactResponse(response, request, owned) {
68
+ switch (response?.constructor?.name) {
69
+ case "String": return new Response(response, textHeaders);
70
+ case "Array": return Response.json(response);
71
+ case "Object":
72
+ if (response["~ely-form"]) return new Response(formToFormData(response));
73
+ return Response.json(response);
74
+ case "Number":
75
+ case "Boolean": return new Response(typeof response === "boolean" ? response ? "true" : "false" : response.toString());
76
+ case "ElysiaFile": return handleElysiaFile(response, void 0, request);
77
+ case "File":
78
+ case "Blob": return handleFile(response, void 0, request);
79
+ case "ElysiaStatus": return mapResponse(response.response, {
80
+ status: response.code,
81
+ headers: response.headers ? Object.assign(nullObject(), response.headers) : nullObject()
82
+ }, request, owned);
83
+ case void 0: return response ? Response.json(response) : new Response("");
84
+ case "Response": return owned ? handleResponse(response, void 0, request, true) : response;
85
+ case "Error": return errorToResponse(response, void 0, request, owned);
86
+ case "Promise": return response.then((x) => mapCompactResponse(x, request, owned));
87
+ case "Function": return mapCompactResponse(response(), request, owned);
88
+ case "FormData": return new Response(response);
89
+ default: return mapFallback(response, void 0, request, owned);
90
+ }
91
+ }
92
+ function errorToResponse(error, set, request, owned = false) {
93
+ if (error?.toResponse) {
94
+ const targetSet = set ?? { headers: nullObject() };
95
+ const apply = (resolved) => {
96
+ if (resolved instanceof Response) targetSet.status = resolved.status;
97
+ return mapResponse(resolved, targetSet, request, owned);
98
+ };
99
+ const raw = error.toResponse();
100
+ return typeof raw?.then === "function" ? raw.then(apply) : apply(raw);
101
+ }
102
+ const status = set?.status && set.status !== 200 ? set.status : 500;
103
+ const body = internalServerErrorBody(error);
104
+ body.status = status;
105
+ const headers = set ? materializeSetHeaders(set) : nullObject();
106
+ headers["content-type"] = PROBLEM_JSON;
107
+ return new Response(JSON.stringify(body), {
108
+ status,
109
+ headers
110
+ });
111
+ }
112
+ function mapFallback(response, set, request, owned = false) {
113
+ if (response instanceof Response) return handleResponse(response, set, request, owned);
114
+ if (response instanceof Promise) return response.then((x) => set ? mapResponse(x, set, request, owned) : mapCompactResponse(x, request, owned));
115
+ if (response instanceof Error) return errorToResponse(response, set, request, owned);
116
+ if (response instanceof ElysiaStatus) if (set) {
117
+ set.status = response.code;
118
+ if (response.headers) set.headers = {
119
+ ...set.headers,
120
+ ...response.headers
121
+ };
122
+ return mapResponse(response.response, set, request, owned);
123
+ } else return mapResponse(response.response, {
124
+ status: response.code,
125
+ headers: response.headers ? { ...response.headers } : {}
126
+ }, request, owned);
127
+ if (response instanceof ElysiaFile) return handleElysiaFile(response, void 0, request);
128
+ if (typeof response?.next === "function" || response instanceof ReadableStream) return handleStream(response, set, request, void 0, owned);
129
+ if (typeof response?.then === "function") return response.then((x) => set ? mapResponse(x, set, request, owned) : mapCompactResponse(x, request, owned));
130
+ if (Array.isArray(response)) return Response.json(response);
131
+ if (typeof response?.toResponse === "function") return set ? mapResponse(response.toResponse(), set, request, owned) : mapCompactResponse(response.toResponse(), request, owned);
132
+ if (response?.constructor?.name === "Cookie" && response.jar) return new Response(response.value, set);
133
+ return new Response(response, set);
134
+ }
135
+ const handleResponse = createResponseHandler({
136
+ mapResponse,
137
+ mapCompactResponse
394
138
  });
395
- export {
396
- createStaticHandler,
397
- errorToResponse,
398
- mapCompactResponse,
399
- mapEarlyResponse,
400
- mapResponse
401
- };
139
+ const handleStream = createStreamHandler({
140
+ mapResponse,
141
+ mapCompactResponse
142
+ });
143
+
144
+ //#endregion
145
+ export { errorToResponse, mapCompactResponse, mapResponse };
@@ -1,2 +1,5 @@
1
- import type { ElysiaAdapter } from '../types';
2
- export declare const WebStandardAdapter: ElysiaAdapter;
1
+ import { ElysiaAdapterOptions } from "../types.js";
2
+ //#region src/adapter/web-standard/index.d.ts
3
+ declare const WebStandardAdapter: ElysiaAdapterOptions<void>;
4
+ //#endregion
5
+ export { WebStandardAdapter };