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,384 +1,219 @@
1
+ import { createAdapter } from "../index.mjs";
2
+ import { isDynamicRegex, needEncodeRegex } from "../../constants.mjs";
3
+ import { flattenChain, getLoosePath, nullObject } from "../../utils.mjs";
1
4
  import { WebStandardAdapter } from "../web-standard/index.mjs";
2
- import { parseSetCookies } from "../utils.mjs";
3
- import { createBunRouteHandler } from "./compose.mjs";
4
- import { createNativeStaticHandler } from "./handler-native.mjs";
5
- import { serializeCookie } from "../../cookies.mjs";
6
- import { isProduction, status, ValidationError } from "../../error.mjs";
7
- import { getSchemaValidator } from "../../schema.mjs";
8
- import {
9
- hasHeaderShorthand,
10
- isNotEmpty,
11
- isNumericString,
12
- randomId,
13
- supportPerMethodInlineHandler
14
- } from "../../utils.mjs";
15
- import {
16
- mapResponse,
17
- mapEarlyResponse,
18
- mapCompactResponse,
19
- createStaticHandler
20
- } from "./handler.mjs";
21
- import {
22
- createHandleWSResponse,
23
- createWSMessageParser,
24
- ElysiaWS,
25
- websocket
26
- } from "../../ws/index.mjs";
27
- const optionalParam = /:.+?\?(?=\/|$)/, getPossibleParams = (path) => {
28
- const match = optionalParam.exec(path);
29
- if (!match) return [path];
30
- const routes = [], head = path.slice(0, match.index), param = match[0].slice(0, -1), tail = path.slice(match.index + match[0].length);
31
- routes.push(head.slice(0, -1)), routes.push(head + param);
32
- for (const fragment of getPossibleParams(tail))
33
- fragment && (fragment.startsWith("/:") || routes.push(head.slice(0, -1) + fragment), routes.push(head + param + fragment));
34
- return routes;
35
- }, isHTMLBundle = (handle) => typeof handle == "object" && handle !== null && (handle.toString() === "[object HTMLBundle]" || typeof handle.index == "string"), supportedMethods = {
36
- GET: !0,
37
- HEAD: !0,
38
- OPTIONS: !0,
39
- DELETE: !0,
40
- PATCH: !0,
41
- POST: !0,
42
- PUT: !0
43
- }, mapRoutes = (app) => {
44
- if (!app.config.aot || app.config.systemRouter === !1) return;
45
- const routes = {}, add = (route, handler) => {
46
- const path = encodeURI(route.path);
47
- routes[path] ? routes[path][route.method] || (routes[path][route.method] = handler) : routes[path] = {
48
- [route.method]: handler
49
- };
50
- }, tree = app.routeTree;
51
- for (const route of app.router.history) {
52
- if (typeof route.handler != "function") continue;
53
- const method = route.method;
54
- if (method === "GET" && `WS_${route.path}` in tree || method === "WS" || route.path.charCodeAt(route.path.length - 1) === 42 || !(method in supportedMethods))
55
- continue;
56
- if (method === "ALL") {
57
- `WS_${route.path}` in tree || (routes[route.path] = route.hooks?.config?.mount ? route.hooks.trace || app.event.trace || // @ts-expect-error private property
58
- app.extender.higherOrderFunctions ? createBunRouteHandler(app, route) : route.hooks.mount || route.handler : route.handler);
59
- continue;
60
- }
61
- let compiled;
62
- const handler = app.config.precompile ? createBunRouteHandler(app, route) : (request) => compiled ? compiled(request) : (compiled = createBunRouteHandler(app, route))(
63
- request
64
- );
65
- for (const path of getPossibleParams(route.path))
66
- add(
67
- {
68
- method,
69
- path
70
- },
71
- handler
72
- );
73
- }
74
- return routes;
75
- }, mergeRoutes = (r1, r2) => {
76
- if (!r2) return r1;
77
- for (const key of Object.keys(r2))
78
- if (r1[key] !== r2[key]) {
79
- if (!r1[key]) {
80
- r1[key] = r2[key];
81
- continue;
82
- }
83
- if (r1[key] && r2[key]) {
84
- if (typeof r1[key] == "function" || r1[key] instanceof Response) {
85
- r1[key] = r2[key];
86
- continue;
87
- }
88
- r1[key] = {
89
- ...r1[key],
90
- ...r2[key]
91
- };
92
- }
93
- }
94
- return r1;
95
- }, removeTrailingPath = (routes) => {
96
- for (const key of Object.keys(routes))
97
- key.length > 1 && key.charCodeAt(key.length - 1) === 47 && (routes[key.slice(0, -1)] = routes[key], delete routes[key]);
98
- return routes;
99
- }, BunAdapter = {
100
- ...WebStandardAdapter,
101
- name: "bun",
102
- handler: {
103
- mapResponse,
104
- mapEarlyResponse,
105
- mapCompactResponse,
106
- createStaticHandler,
107
- createNativeStaticHandler
108
- },
109
- composeHandler: {
110
- ...WebStandardAdapter.composeHandler,
111
- headers: hasHeaderShorthand ? `c.headers=c.request.headers.toJSON()
112
- ` : `c.headers={}
113
- for(const [k,v] of c.request.headers.entries())c.headers[k]=v
114
- `
115
- },
116
- listen(app) {
117
- return (options, callback) => {
118
- if (typeof Bun > "u")
119
- throw new Error(
120
- ".listen() is designed to run on Bun only. If you are running Elysia in other environment please use a dedicated plugin or export the handler via Elysia.fetch"
121
- );
122
- if (app.compile(), typeof options == "string") {
123
- if (!isNumericString(options))
124
- throw new Error("Port must be a numeric value");
125
- options = parseInt(options);
126
- }
127
- const createStaticRoute = (iterator, { withAsync = !1 } = {}) => {
128
- const staticRoutes = {}, ops = [];
129
- for (let [path, route] of Object.entries(iterator))
130
- if (path = encodeURI(path), supportPerMethodInlineHandler) {
131
- if (!route) continue;
132
- for (const [method, value] of Object.entries(route))
133
- if (!(!value || !(method in supportedMethods))) {
134
- if (value instanceof Promise) {
135
- withAsync && (staticRoutes[path] || (staticRoutes[path] = {}), ops.push(
136
- value.then((awaited) => {
137
- awaited instanceof Response && (staticRoutes[path][method] = awaited), isHTMLBundle(awaited) && (staticRoutes[path][method] = awaited);
138
- })
139
- ));
140
- continue;
141
- }
142
- !(value instanceof Response) && !isHTMLBundle(value) || (staticRoutes[path] || (staticRoutes[path] = {}), staticRoutes[path][method] = value);
143
- }
144
- } else {
145
- if (!route) continue;
146
- if (route instanceof Promise) {
147
- withAsync && (staticRoutes[path] || (staticRoutes[path] = {}), ops.push(
148
- route.then((awaited) => {
149
- awaited instanceof Response && (staticRoutes[path] = awaited);
150
- })
151
- ));
152
- continue;
153
- }
154
- if (!(route instanceof Response)) continue;
155
- staticRoutes[path] = route;
156
- }
157
- return withAsync ? Promise.all(ops).then(() => staticRoutes) : staticRoutes;
158
- }, routes = removeTrailingPath(
159
- mergeRoutes(
160
- mergeRoutes(
161
- createStaticRoute(app.router.response),
162
- mapRoutes(app)
163
- ),
164
- // @ts-ignore
165
- app.config.serve?.routes
166
- )
167
- ), serve = typeof options == "object" ? {
168
- development: !isProduction,
169
- reusePort: !0,
170
- idleTimeout: 30,
171
- ...app.config.serve || {},
172
- ...options || {},
173
- routes,
174
- websocket: {
175
- ...app.config.websocket || {},
176
- ...websocket || {},
177
- ...options.websocket || {}
178
- },
179
- fetch: app.fetch
180
- } : {
181
- development: !isProduction,
182
- reusePort: !0,
183
- idleTimeout: 30,
184
- ...app.config.serve || {},
185
- routes,
186
- websocket: {
187
- ...app.config.websocket || {},
188
- ...websocket || {}
189
- },
190
- port: options,
191
- fetch: app.fetch
192
- };
193
- if (app.server = Bun.serve(serve), app.event.start)
194
- for (let i = 0; i < app.event.start.length; i++)
195
- app.event.start[i].fn(app);
196
- callback && callback(app.server), process.on("beforeExit", async () => {
197
- if (app.server && (await app.server.stop?.(), app.server = null, app.event.stop))
198
- for (let i = 0; i < app.event.stop.length; i++)
199
- app.event.stop[i].fn(app);
200
- }), app.promisedModules.then(async () => {
201
- app.config.aot, app.compile();
202
- const routes2 = removeTrailingPath(
203
- mergeRoutes(
204
- mergeRoutes(
205
- await createStaticRoute(app.router.response, {
206
- withAsync: !0
207
- }),
208
- mapRoutes(app)
209
- ),
210
- // @ts-ignore
211
- app.config.serve?.routes
212
- )
213
- );
214
- app.server?.reload({
215
- ...serve,
216
- fetch: app.fetch,
217
- // @ts-ignore
218
- routes: routes2
219
- }), Bun?.gc(!1);
220
- });
221
- };
222
- },
223
- async stop(app, closeActiveConnections) {
224
- if (app.server) {
225
- if (await app.server.stop(closeActiveConnections), app.server = null, app.event.stop?.length)
226
- for (let i = 0; i < app.event.stop.length; i++)
227
- app.event.stop[i].fn(app);
228
- } else
229
- console.log(
230
- "Elysia isn't running. Call `app.listen` to start the server.",
231
- new Error().stack
232
- );
233
- },
234
- ws(app, path, options) {
235
- const { parse, body, response, ...rest } = options, messageValidator = getSchemaValidator(body, {
236
- // @ts-expect-error private property
237
- modules: app.definitions.typebox,
238
- // @ts-expect-error private property
239
- models: app.definitions.type,
240
- normalize: app.config.normalize
241
- }), validateMessage = messageValidator ? messageValidator.provider === "standard" ? (data) => messageValidator.schema["~standard"].validate(data).issues : (data) => messageValidator.Check(data) === !1 : void 0, responseValidator = getSchemaValidator(response, {
242
- // @ts-expect-error private property
243
- modules: app.definitions.typebox,
244
- // @ts-expect-error private property
245
- models: app.definitions.type,
246
- normalize: app.config.normalize
247
- });
248
- app.route(
249
- "WS",
250
- path,
251
- async (context) => {
252
- const server = context.server ?? app.server, { set, path: path2, qi, headers, query, params } = context;
253
- if (context.validator = responseValidator, options.upgrade)
254
- if (typeof options.upgrade == "function") {
255
- const temp = options.upgrade(context);
256
- temp instanceof Promise && await temp;
257
- } else options.upgrade && Object.assign(
258
- set.headers,
259
- options.upgrade
260
- );
261
- if (set.cookie && isNotEmpty(set.cookie)) {
262
- const cookie = serializeCookie(set.cookie);
263
- cookie && (set.headers["set-cookie"] = cookie);
264
- }
265
- set.headers["set-cookie"] && Array.isArray(set.headers["set-cookie"]) && (set.headers = parseSetCookies(
266
- new Headers(set.headers),
267
- set.headers["set-cookie"]
268
- ));
269
- const handleResponse = createHandleWSResponse(responseValidator), parseMessage = createWSMessageParser(parse);
270
- let _id;
271
- if (typeof options.beforeHandle == "function") {
272
- const result = options.beforeHandle(context);
273
- result instanceof Promise && await result;
274
- }
275
- const errorHandlers = [
276
- ...options.error ? Array.isArray(options.error) ? options.error : [options.error] : [],
277
- ...(app.event.error ?? []).map(
278
- (x) => typeof x == "function" ? x : x.fn
279
- )
280
- ].filter((x) => x), hasCustomErrorHandlers = errorHandlers.length > 0, handleErrors = hasCustomErrorHandlers ? async (ws, error) => {
281
- for (const handleError of errorHandlers) {
282
- let response2 = handleError(
283
- Object.assign(context, { error })
284
- );
285
- if (response2 instanceof Promise && (response2 = await response2), await handleResponse(ws, response2), response2) break;
286
- }
287
- } : () => {
288
- };
289
- if (!server?.upgrade(context.request, {
290
- headers: isNotEmpty(set.headers) ? set.headers : void 0,
291
- data: {
292
- ...context,
293
- get id() {
294
- return _id || (_id = randomId());
295
- },
296
- validator: responseValidator,
297
- ping(ws, data) {
298
- options.ping?.(ws, data);
299
- },
300
- pong(ws, data) {
301
- options.pong?.(ws, data);
302
- },
303
- open: async (ws) => {
304
- try {
305
- await handleResponse(
306
- ws,
307
- options.open?.(
308
- new ElysiaWS(ws, context)
309
- )
310
- );
311
- } catch (error) {
312
- handleErrors(ws, error);
313
- }
314
- },
315
- message: async (ws, _message) => {
316
- const message = await parseMessage(ws, _message);
317
- if (validateMessage && validateMessage(message)) {
318
- const validationError = new ValidationError(
319
- "message",
320
- messageValidator,
321
- message
322
- );
323
- return hasCustomErrorHandlers ? handleErrors(ws, validationError) : void ws.send(
324
- validationError.message
325
- );
326
- }
327
- try {
328
- await handleResponse(
329
- ws,
330
- options.message?.(
331
- new ElysiaWS(
332
- ws,
333
- context,
334
- message
335
- ),
336
- message
337
- )
338
- );
339
- } catch (error) {
340
- handleErrors(ws, error);
341
- }
342
- },
343
- drain: async (ws) => {
344
- try {
345
- await handleResponse(
346
- ws,
347
- options.drain?.(
348
- new ElysiaWS(ws, context)
349
- )
350
- );
351
- } catch (error) {
352
- handleErrors(ws, error);
353
- }
354
- },
355
- close: async (ws, code, reason) => {
356
- try {
357
- await handleResponse(
358
- ws,
359
- options.close?.(
360
- new ElysiaWS(ws, context),
361
- code,
362
- reason
363
- )
364
- );
365
- } catch (error) {
366
- handleErrors(ws, error);
367
- }
368
- }
369
- }
370
- }))
371
- return status(400, "Expected a websocket connection");
372
- },
373
- {
374
- ...rest,
375
- websocket: options
376
- }
377
- );
378
- }
379
- };
380
- export {
381
- BunAdapter,
382
- isHTMLBundle,
383
- removeTrailingPath
5
+ import { frozenRootOf, resolvedWsOf } from "../../generation.mjs";
6
+ import { origin } from "../origin.mjs";
7
+ import { buildNativeStaticResponse } from "../../compile/handler/index.mjs";
8
+ import { routeRow } from "../../route-table.mjs";
9
+
10
+ //#region src/adapter/bun/index.ts
11
+ /**
12
+ * ! This may looks like it would cause race condition, but it is not
13
+ * Bun is single-threaded and synchronous, so the `finally` block will
14
+ * always run before the next request comes in
15
+ * @see ../origin.ts
16
+ *
17
+ * `finally` runs on the synchronous return of `fetch` (the returned promise is
18
+ * not awaited), so the slot is live only for the handler's synchronous prologue
19
+ */
20
+ const withOrigin = (fetch) => (request, server) => {
21
+ origin.request = request;
22
+ try {
23
+ return fetch(request, server);
24
+ } finally {
25
+ origin.request = void 0;
26
+ }
384
27
  };
28
+ const nativeStaticMethods = new Set([
29
+ "GET",
30
+ "POST",
31
+ "PUT",
32
+ "DELETE",
33
+ "PATCH",
34
+ "HEAD",
35
+ "OPTIONS"
36
+ ]);
37
+ function collectStaticRoutes(app) {
38
+ if (app["~config"]?.nativeStaticResponse === false) return;
39
+ app.fetch;
40
+ const frozenRoot = frozenRootOf(app);
41
+ const fetchLevelHook = flattenChain(frozenRoot["~hookChain"]);
42
+ if (fetchLevelHook?.request?.length || fetchLevelHook?.trace?.length || frozenRoot["~ext"]?.hoc?.length) return;
43
+ const table = app["~generation"]?.routeTable ?? app["~routeTable"];
44
+ const length = table?.length ?? 0;
45
+ if (!table || !length) return;
46
+ const methods = table.method;
47
+ const paths = table.path;
48
+ const handlers = table.handler;
49
+ let hasCandidate = false;
50
+ for (let i = 0; i < length; i++) {
51
+ const h = handlers[i];
52
+ if (typeof h === "function" || h instanceof Error || h instanceof Promise) continue;
53
+ if (!nativeStaticMethods.has(methods[i])) continue;
54
+ hasCandidate = true;
55
+ break;
56
+ }
57
+ if (!hasCandidate) return;
58
+ const ready = nullObject();
59
+ const strictPath = frozenRoot["~config"]?.strictPath === true;
60
+ const seen = /* @__PURE__ */ new Map();
61
+ for (let i = 0; i < length; i++) seen.set(methods[i] + " " + paths[i], i);
62
+ let explicitPaths;
63
+ if (!strictPath) {
64
+ explicitPaths = /* @__PURE__ */ new Map();
65
+ for (let i = 0; i < length; i++) {
66
+ const method = methods[i];
67
+ const path = paths[i];
68
+ let set = explicitPaths.get(method);
69
+ if (!set) explicitPaths.set(method, set = /* @__PURE__ */ new Set());
70
+ set.add(path);
71
+ if (needEncodeRegex.test(path)) {
72
+ const encoded = encodeURI(path);
73
+ if (encoded !== path) set.add(encoded);
74
+ }
75
+ }
76
+ }
77
+ const add = (method, path, value) => {
78
+ if (needEncodeRegex.test(path)) path = encodeURI(path);
79
+ (ready[path] ??= nullObject())[method] = value;
80
+ };
81
+ for (let i = 0; i < length; i++) {
82
+ const method = methods[i];
83
+ if (method === "WS") continue;
84
+ const path = paths[i];
85
+ if (seen.get(method + " " + path) !== i) continue;
86
+ if (!nativeStaticMethods.has(method)) continue;
87
+ const h = handlers[i];
88
+ if (typeof h === "function" || h instanceof Error || h instanceof Promise) continue;
89
+ const value = buildNativeStaticResponse(routeRow(table, i), app);
90
+ if (!value) continue;
91
+ add(method, path, value);
92
+ if (!strictPath && !isDynamicRegex.test(path)) {
93
+ const loose = getLoosePath(path);
94
+ if (loose !== path && !explicitPaths?.get(method)?.has(loose)) add(method, loose, value);
95
+ }
96
+ }
97
+ if (!Object.keys(ready).length) return;
98
+ return [ready, []];
99
+ }
100
+ const BunAdapter = createAdapter({
101
+ name: "bun",
102
+ runtime: "bun",
103
+ isWebStandard: true,
104
+ parse: WebStandardAdapter.parse,
105
+ response: WebStandardAdapter.response,
106
+ listen(app, options, callback) {
107
+ const _config = app["~config"]?.serve;
108
+ const optionsIsObject = typeof options === "object";
109
+ let live;
110
+ const gatedFetch = (request, server) => live ? live(request, server) : Promise.resolve(ready).then(() => {
111
+ if (!live) throw new Error("[Elysia] Server was stopped before it was ready");
112
+ return live(request, server);
113
+ });
114
+ const _options = optionsIsObject ? { ...options } : {
115
+ port: +options,
116
+ fetch: gatedFetch
117
+ };
118
+ if (optionsIsObject) _options.fetch = gatedFetch;
119
+ const serve = _config ? {
120
+ ..._config,
121
+ ..._options
122
+ } : _options;
123
+ let ready;
124
+ const build = () => {
125
+ const fetch = app.fetch;
126
+ let routes;
127
+ try {
128
+ routes = collectStaticRoutes(app);
129
+ } catch (error) {
130
+ console.warn("[Elysia] Native static promotion was skipped:", error);
131
+ }
132
+ let websocket;
133
+ if (app["~hasWS"]) {
134
+ const resolved = resolvedWsOf(app);
135
+ if (!resolved) throw new Error("[Elysia] internal: WebSocket routes are present but no capability provider was resolved");
136
+ websocket = resolved.config ? Object.assign(resolved.provider.buildGlobalWSHandler(), resolved.config) : resolved.provider.buildGlobalWSHandler();
137
+ }
138
+ return {
139
+ fetch,
140
+ routes,
141
+ websocket
142
+ };
143
+ };
144
+ let built;
145
+ const server = app.server = Bun.serve(serve);
146
+ const reload = () => {
147
+ try {
148
+ server.reload(serve);
149
+ } catch (error) {
150
+ if (!serve.routes) throw error;
151
+ delete serve.routes;
152
+ console.warn("[Elysia] Native static promotion was skipped:", error);
153
+ try {
154
+ server.reload(serve);
155
+ } catch (fallbackError) {
156
+ console.error("[Elysia] Failed to reload Bun server:", fallbackError);
157
+ throw fallbackError;
158
+ }
159
+ }
160
+ };
161
+ const setup = () => {
162
+ const onSetup = app["~ext"]?.setup;
163
+ if (!onSetup) return;
164
+ let pendingSetups;
165
+ for (let i = 0; i < onSetup.length; i++) {
166
+ const result = onSetup[i](app);
167
+ if (result && typeof result.then === "function") (pendingSetups ??= []).push(result);
168
+ }
169
+ if (pendingSetups) return Promise.all(pendingSetups);
170
+ };
171
+ const rollback = (error) => {
172
+ if (app.server !== server) return;
173
+ try {
174
+ server.stop(true);
175
+ } catch (stopError) {
176
+ console.error(stopError);
177
+ } finally {
178
+ app.server = void 0;
179
+ }
180
+ const cleanup = app["~ext"]?.cleanup;
181
+ if (cleanup) for (let i = cleanup.length - 1; i >= 0; i--) try {
182
+ const result = cleanup[i](app);
183
+ if (result && typeof result.then === "function") Promise.resolve(result).catch(console.error);
184
+ } catch (cleanupError) {
185
+ console.error(cleanupError);
186
+ }
187
+ return error;
188
+ };
189
+ const publish = () => {
190
+ if (app.server !== server) return;
191
+ built ??= build();
192
+ live = serve.fetch = withOrigin(built.fetch);
193
+ if (built.websocket) serve.websocket = built.websocket;
194
+ if (built.routes) serve.routes = built.routes[0];
195
+ reload();
196
+ if (callback) callback(server);
197
+ };
198
+ const start = () => {
199
+ if (app.server !== server) return;
200
+ const setupReady = setup();
201
+ if (setupReady && typeof setupReady.then === "function") return Promise.resolve(setupReady).then(publish);
202
+ publish();
203
+ };
204
+ try {
205
+ if (app.pending) ready = app.modules.then(start);
206
+ else ready = Promise.resolve().then(start);
207
+ ready.catch((error) => {
208
+ console.error("[Elysia] listen() failed:", error);
209
+ return rollback(error);
210
+ });
211
+ } catch (error) {
212
+ rollback(error);
213
+ throw error;
214
+ }
215
+ }
216
+ });
217
+
218
+ //#endregion
219
+ export { BunAdapter, collectStaticRoutes };
@@ -0,0 +1,6 @@
1
+ import { ElysiaAdapterOptions } from "./types.js";
2
+
3
+ //#region src/adapter/constants.d.ts
4
+ declare const defaultAdapter: ElysiaAdapterOptions<void>;
5
+ //#endregion
6
+ export { defaultAdapter };
@@ -0,0 +1,10 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_universal_constants = require('../universal/constants.js');
3
+ const require_adapter_web_standard_index = require('./web-standard/index.js');
4
+ const require_adapter_bun_index = require('./bun/index.js');
5
+
6
+ //#region src/adapter/constants.ts
7
+ const defaultAdapter = require_universal_constants.isBun ? require_adapter_bun_index.BunAdapter : require_adapter_web_standard_index.WebStandardAdapter;
8
+
9
+ //#endregion
10
+ exports.defaultAdapter = defaultAdapter;
@@ -0,0 +1,9 @@
1
+ import { isBun } from "../universal/constants.mjs";
2
+ import { WebStandardAdapter } from "./web-standard/index.mjs";
3
+ import { BunAdapter } from "./bun/index.mjs";
4
+
5
+ //#region src/adapter/constants.ts
6
+ const defaultAdapter = isBun ? BunAdapter : WebStandardAdapter;
7
+
8
+ //#endregion
9
+ export { defaultAdapter };
@@ -0,0 +1,4 @@
1
+ //#region src/adapter/default-headers.d.ts
2
+ declare const defaultHeaders = "\0";
3
+ //#endregion
4
+ export { defaultHeaders };
@@ -0,0 +1,7 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/adapter/default-headers.ts
4
+ const defaultHeaders = "\0";
5
+
6
+ //#endregion
7
+ exports.defaultHeaders = defaultHeaders;
@@ -0,0 +1,5 @@
1
+ //#region src/adapter/default-headers.ts
2
+ const defaultHeaders = "\0";
3
+
4
+ //#endregion
5
+ export { defaultHeaders };
@@ -1 +1,8 @@
1
- export type { ElysiaAdapter } from './types';
1
+ import { AnyElysia } from "../base.js";
2
+ import { ElysiaAdapterOptions } from "./types.js";
3
+
4
+ //#region src/adapter/index.d.ts
5
+ declare const createAdapter: <App extends AnyElysia | void = void>(adapter: ElysiaAdapterOptions<App>) => ElysiaAdapterOptions<App>;
6
+ type ElysiaAdapter = ReturnType<typeof createAdapter>;
7
+ //#endregion
8
+ export { ElysiaAdapter, type ElysiaAdapterOptions, createAdapter };
@@ -1,14 +1,7 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from == "object" || typeof from == "function")
8
- for (let key of __getOwnPropNames(from))
9
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- return to;
11
- };
12
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
13
- var adapter_exports = {};
14
- module.exports = __toCommonJS(adapter_exports);
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/adapter/index.ts
4
+ const createAdapter = (adapter) => adapter;
5
+
6
+ //#endregion
7
+ exports.createAdapter = createAdapter;
@@ -0,0 +1,5 @@
1
+ //#region src/adapter/index.ts
2
+ const createAdapter = (adapter) => adapter;
3
+
4
+ //#endregion
5
+ export { createAdapter };