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
package/dist/types.js CHANGED
@@ -1,14 +1 @@
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 types_exports = {};
14
- module.exports = __toCommonJS(types_exports);
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
package/dist/types.mjs CHANGED
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,6 @@
1
+ //#region src/universal/constants.d.ts
2
+ declare const isBun: boolean;
3
+ declare const isCloudflareWorker: boolean;
4
+ declare const hasHeaderShorthand: boolean;
5
+ //#endregion
6
+ export { hasHeaderShorthand, isBun, isCloudflareWorker };
@@ -0,0 +1,19 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/universal/constants.ts
4
+ const isBun = typeof Bun !== "undefined";
5
+ const isCloudflareWorker = (() => {
6
+ try {
7
+ if (typeof caches !== "undefined" && typeof caches.default !== "undefined") return true;
8
+ if (typeof WebSocketPair !== "undefined") return true;
9
+ } catch {
10
+ return false;
11
+ }
12
+ return false;
13
+ })();
14
+ const hasHeaderShorthand = isBun ? "toJSON" in new Headers() : false;
15
+
16
+ //#endregion
17
+ exports.hasHeaderShorthand = hasHeaderShorthand;
18
+ exports.isBun = isBun;
19
+ exports.isCloudflareWorker = isCloudflareWorker;
@@ -0,0 +1,15 @@
1
+ //#region src/universal/constants.ts
2
+ const isBun = typeof Bun !== "undefined";
3
+ const isCloudflareWorker = (() => {
4
+ try {
5
+ if (typeof caches !== "undefined" && typeof caches.default !== "undefined") return true;
6
+ if (typeof WebSocketPair !== "undefined") return true;
7
+ } catch {
8
+ return false;
9
+ }
10
+ return false;
11
+ })();
12
+ const hasHeaderShorthand = isBun ? "toJSON" in new Headers() : false;
13
+
14
+ //#endregion
15
+ export { hasHeaderShorthand, isBun, isCloudflareWorker };
@@ -1 +1,5 @@
1
- export declare const env: NodeJS.ProcessEnv;
1
+ //#region src/universal/env.d.ts
2
+ declare const env: any;
3
+ declare const hasReadableEnv: boolean;
4
+ //#endregion
5
+ export { env, hasReadableEnv };
@@ -1,26 +1,12 @@
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 __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
- var env_exports = {};
17
- __export(env_exports, {
18
- env: () => env
19
- });
20
- module.exports = __toCommonJS(env_exports);
21
- var import_utils = require('./utils.js');
22
- const env = import_utils.isBun ? Bun.env : typeof process < "u" && process?.env ? process.env : {};
23
- // Annotate the CommonJS export names for ESM import in node:
24
- 0 && (module.exports = {
25
- env
26
- });
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_universal_constants = require('./constants.js');
3
+ const require_utils = require('../utils.js');
4
+
5
+ //#region src/universal/env.ts
6
+ const nodeEnv = typeof process !== "undefined" && process?.env ? process.env : void 0;
7
+ const env = require_universal_constants.isBun ? Bun.env : nodeEnv ?? require_utils.nullObject();
8
+ const hasReadableEnv = require_universal_constants.isBun || nodeEnv !== void 0;
9
+
10
+ //#endregion
11
+ exports.env = env;
12
+ exports.hasReadableEnv = hasReadableEnv;
@@ -1,5 +1,10 @@
1
- import { isBun } from "./utils.mjs";
2
- const env = isBun ? Bun.env : typeof process < "u" && process?.env ? process.env : {};
3
- export {
4
- env
5
- };
1
+ import { isBun } from "./constants.mjs";
2
+ import { nullObject } from "../utils.mjs";
3
+
4
+ //#region src/universal/env.ts
5
+ const nodeEnv = typeof process !== "undefined" && process?.env ? process.env : void 0;
6
+ const env = isBun ? Bun.env : nodeEnv ?? nullObject();
7
+ const hasReadableEnv = isBun || nodeEnv !== void 0;
8
+
9
+ //#endregion
10
+ export { env, hasReadableEnv };
@@ -1,88 +1,57 @@
1
- import { type stat as Stat } from 'fs/promises';
2
- export declare const mime: {
3
- readonly aac: "audio/aac";
4
- readonly abw: "application/x-abiword";
5
- readonly ai: "application/postscript";
6
- readonly arc: "application/octet-stream";
7
- readonly avi: "video/x-msvideo";
8
- readonly azw: "application/vnd.amazon.ebook";
9
- readonly bin: "application/octet-stream";
10
- readonly bz: "application/x-bzip";
11
- readonly bz2: "application/x-bzip2";
12
- readonly csh: "application/x-csh";
13
- readonly css: "text/css";
14
- readonly csv: "text/csv";
15
- readonly doc: "application/msword";
16
- readonly dll: "application/octet-stream";
17
- readonly eot: "application/vnd.ms-fontobject";
18
- readonly epub: "application/epub+zip";
19
- readonly gif: "image/gif";
20
- readonly htm: "text/html";
21
- readonly html: "text/html";
22
- readonly ico: "image/x-icon";
23
- readonly ics: "text/calendar";
24
- readonly jar: "application/java-archive";
25
- readonly jpeg: "image/jpeg";
26
- readonly jpg: "image/jpeg";
27
- readonly js: "application/javascript";
28
- readonly json: "application/json";
29
- readonly mid: "audio/midi";
30
- readonly midi: "audio/midi";
31
- readonly mp2: "audio/mpeg";
32
- readonly mp3: "audio/mpeg";
33
- readonly mp4: "video/mp4";
34
- readonly mpa: "video/mpeg";
35
- readonly mpe: "video/mpeg";
36
- readonly mpeg: "video/mpeg";
37
- readonly mpkg: "application/vnd.apple.installer+xml";
38
- readonly odp: "application/vnd.oasis.opendocument.presentation";
39
- readonly ods: "application/vnd.oasis.opendocument.spreadsheet";
40
- readonly odt: "application/vnd.oasis.opendocument.text";
41
- readonly oga: "audio/ogg";
42
- readonly ogv: "video/ogg";
43
- readonly ogx: "application/ogg";
44
- readonly otf: "font/otf";
45
- readonly png: "image/png";
46
- readonly pdf: "application/pdf";
47
- readonly ppt: "application/vnd.ms-powerpoint";
48
- readonly rar: "application/x-rar-compressed";
49
- readonly rtf: "application/rtf";
50
- readonly sh: "application/x-sh";
51
- readonly svg: "image/svg+xml";
52
- readonly swf: "application/x-shockwave-flash";
53
- readonly tar: "application/x-tar";
54
- readonly tif: "image/tiff";
55
- readonly tiff: "image/tiff";
56
- readonly ts: "application/typescript";
57
- readonly ttf: "font/ttf";
58
- readonly txt: "text/plain";
59
- readonly vsd: "application/vnd.visio";
60
- readonly wav: "audio/x-wav";
61
- readonly weba: "audio/webm";
62
- readonly webm: "video/webm";
63
- readonly webp: "image/webp";
64
- readonly woff: "font/woff";
65
- readonly woff2: "font/woff2";
66
- readonly xhtml: "application/xhtml+xml";
67
- readonly xls: "application/vnd.ms-excel";
68
- readonly xlsx: "application/vnd.ms-excel";
69
- readonly xlsx_OLD: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
70
- readonly xml: "application/xml";
71
- readonly xul: "application/vnd.mozilla.xul+xml";
72
- readonly zip: "application/zip";
73
- readonly '3gp': "video/3gpp";
74
- readonly '3gp_DOES_NOT_CONTAIN_VIDEO': "audio/3gpp";
75
- readonly '3gp2': "video/3gpp2";
76
- readonly '3gp2_DOES_NOT_CONTAIN_VIDEO': "audio/3gpp2";
77
- readonly '7z': "application/x-7z-compressed";
1
+ import * as _$node_fs0 from "node:fs";
2
+ import { BunFile } from "bun";
3
+
4
+ //#region src/universal/file.d.ts
5
+ declare const mime: {
6
+ readonly html: "text/html";
7
+ readonly htm: "text/html";
8
+ readonly css: "text/css";
9
+ readonly js: "application/javascript";
10
+ readonly ts: "application/typescript";
11
+ readonly json: "application/json";
12
+ readonly xml: "application/xml";
13
+ readonly jpg: "image/jpeg";
14
+ readonly jpeg: "image/jpeg";
15
+ readonly png: "image/png";
16
+ readonly gif: "image/gif";
17
+ readonly webp: "image/webp";
18
+ readonly avif: "image/avif";
19
+ readonly svg: "image/svg+xml";
20
+ readonly ico: "image/x-icon";
21
+ readonly mp4: "video/mp4";
22
+ readonly webm: "video/webm";
23
+ readonly mp3: "audio/mpeg";
24
+ readonly wav: "audio/x-wav";
25
+ readonly woff: "font/woff";
26
+ readonly woff2: "font/woff2";
27
+ readonly ttf: "font/ttf";
28
+ readonly otf: "font/otf";
29
+ readonly pdf: "application/pdf";
30
+ readonly txt: "text/plain";
31
+ readonly csv: "text/csv";
32
+ readonly zip: "application/zip";
33
+ readonly doc: "application/msword";
34
+ readonly docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
35
+ readonly xls: "application/vnd.ms-excel";
36
+ readonly xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
37
+ readonly ppt: "application/vnd.ms-powerpoint";
38
+ readonly pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation";
78
39
  };
79
- export declare const getFileExtension: (path: string) => string;
80
- export declare const file: (path: string) => ElysiaFile;
81
- export declare class ElysiaFile {
82
- path: string;
83
- readonly value: unknown;
84
- readonly stats: ReturnType<typeof Stat> | undefined;
85
- constructor(path: string);
86
- get type(): any;
87
- get length(): number | Promise<number | bigint>;
40
+ /** @internal exported for test/universal/file-extension.test.ts */
41
+ declare function getFileExtension(path: string): string;
42
+ /**
43
+ * Serve a file from a path as the response.
44
+ */
45
+ declare const file: (path: string) => ElysiaFile;
46
+ declare class ElysiaFile {
47
+ #private;
48
+ path: string;
49
+ constructor(path: string);
50
+ get stats(): Promise<_$node_fs0.Stats> | undefined;
51
+ get value(): BunFile | _$node_fs0.ReadStream | undefined;
52
+ slice(start: number, end: number): BunFile | _$node_fs0.ReadStream | undefined;
53
+ get type(): any;
54
+ get length(): number | Promise<number>;
88
55
  }
56
+ //#endregion
57
+ export { ElysiaFile, file, getFileExtension, mime };
@@ -1,159 +1,118 @@
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 __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
- var file_exports = {};
17
- __export(file_exports, {
18
- ElysiaFile: () => ElysiaFile,
19
- file: () => file,
20
- getFileExtension: () => getFileExtension,
21
- mime: () => mime
22
- });
23
- module.exports = __toCommonJS(file_exports);
24
- var import_utils = require('./utils.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_universal_constants = require('./constants.js');
3
+
4
+ //#region src/universal/file.ts
5
+ const text = "text/";
6
+ const application = "application/";
7
+ const image = "image/";
8
+ const msft365 = "application/vnd.openxmlformats-officedocument.";
25
9
  const mime = {
26
- aac: "audio/aac",
27
- abw: "application/x-abiword",
28
- ai: "application/postscript",
29
- arc: "application/octet-stream",
30
- avi: "video/x-msvideo",
31
- azw: "application/vnd.amazon.ebook",
32
- bin: "application/octet-stream",
33
- bz: "application/x-bzip",
34
- bz2: "application/x-bzip2",
35
- csh: "application/x-csh",
36
- css: "text/css",
37
- csv: "text/csv",
38
- doc: "application/msword",
39
- dll: "application/octet-stream",
40
- eot: "application/vnd.ms-fontobject",
41
- epub: "application/epub+zip",
42
- gif: "image/gif",
43
- htm: "text/html",
44
- html: "text/html",
45
- ico: "image/x-icon",
46
- ics: "text/calendar",
47
- jar: "application/java-archive",
48
- jpeg: "image/jpeg",
49
- jpg: "image/jpeg",
50
- js: "application/javascript",
51
- json: "application/json",
52
- mid: "audio/midi",
53
- midi: "audio/midi",
54
- mp2: "audio/mpeg",
55
- mp3: "audio/mpeg",
56
- mp4: "video/mp4",
57
- mpa: "video/mpeg",
58
- mpe: "video/mpeg",
59
- mpeg: "video/mpeg",
60
- mpkg: "application/vnd.apple.installer+xml",
61
- odp: "application/vnd.oasis.opendocument.presentation",
62
- ods: "application/vnd.oasis.opendocument.spreadsheet",
63
- odt: "application/vnd.oasis.opendocument.text",
64
- oga: "audio/ogg",
65
- ogv: "video/ogg",
66
- ogx: "application/ogg",
67
- otf: "font/otf",
68
- png: "image/png",
69
- pdf: "application/pdf",
70
- ppt: "application/vnd.ms-powerpoint",
71
- rar: "application/x-rar-compressed",
72
- rtf: "application/rtf",
73
- sh: "application/x-sh",
74
- svg: "image/svg+xml",
75
- swf: "application/x-shockwave-flash",
76
- tar: "application/x-tar",
77
- tif: "image/tiff",
78
- tiff: "image/tiff",
79
- ts: "application/typescript",
80
- ttf: "font/ttf",
81
- txt: "text/plain",
82
- vsd: "application/vnd.visio",
83
- wav: "audio/x-wav",
84
- weba: "audio/webm",
85
- webm: "video/webm",
86
- webp: "image/webp",
87
- woff: "font/woff",
88
- woff2: "font/woff2",
89
- xhtml: "application/xhtml+xml",
90
- xls: "application/vnd.ms-excel",
91
- xlsx: "application/vnd.ms-excel",
92
- xlsx_OLD: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
93
- xml: "application/xml",
94
- xul: "application/vnd.mozilla.xul+xml",
95
- zip: "application/zip",
96
- "3gp": "video/3gpp",
97
- "3gp_DOES_NOT_CONTAIN_VIDEO": "audio/3gpp",
98
- "3gp2": "video/3gpp2",
99
- "3gp2_DOES_NOT_CONTAIN_VIDEO": "audio/3gpp2",
100
- "7z": "application/x-7z-compressed"
101
- }, getFileExtension = (path) => {
102
- const index = path.lastIndexOf(".");
103
- return index === -1 ? "" : path.slice(index + 1);
104
- }, file = (path) => new ElysiaFile(path);
105
- let createReadStream, stat;
106
- class ElysiaFile {
107
- constructor(path) {
108
- this.path = path;
109
- if (import_utils.isBun) this.value = Bun.file(path);
110
- else {
111
- if (!createReadStream || !stat) {
112
- if (typeof window < "u") {
113
- console.warn("Browser environment does not support file");
114
- return;
115
- }
116
- const warnMissing = (name) => console.warn(
117
- new Error(
118
- `[elysia] \`file\` require \`fs${name ? "." + name : ""}\` ${name?.includes(".") ? "module " : ""}which is not available in this environment`
119
- )
120
- );
121
- if (typeof process > "u" || typeof process.getBuiltinModule != "function") {
122
- warnMissing();
123
- return;
124
- }
125
- const fs = process.getBuiltinModule("fs");
126
- if (!fs) {
127
- warnMissing();
128
- return;
129
- }
130
- if (typeof fs.createReadStream != "function") {
131
- warnMissing();
132
- return;
133
- }
134
- if (typeof fs.promises?.stat != "function") {
135
- warnMissing();
136
- return;
137
- }
138
- createReadStream = fs.createReadStream, stat = fs.promises.stat;
139
- }
140
- this.value = createReadStream(path), this.stats = stat(path);
141
- }
142
- }
143
- get type() {
144
- return (
145
- // @ts-ignore
146
- mime[getFileExtension(this.path)] || "application/octet-stream"
147
- );
148
- }
149
- get length() {
150
- return import_utils.isBun ? this.value.size : this.stats?.then((x) => x.size) ?? 0;
151
- }
10
+ html: `${text}html`,
11
+ htm: `${text}html`,
12
+ css: `${text}css`,
13
+ js: `${application}javascript`,
14
+ ts: `${application}typescript`,
15
+ json: `${application}json`,
16
+ xml: `${application}xml`,
17
+ jpg: `${image}jpeg`,
18
+ jpeg: `${image}jpeg`,
19
+ png: `${image}png`,
20
+ gif: `${image}gif`,
21
+ webp: `${image}webp`,
22
+ avif: `${image}avif`,
23
+ svg: `${image}svg+xml`,
24
+ ico: `${image}x-icon`,
25
+ mp4: "video/mp4",
26
+ webm: "video/webm",
27
+ mp3: "audio/mpeg",
28
+ wav: "audio/x-wav",
29
+ woff: "font/woff",
30
+ woff2: "font/woff2",
31
+ ttf: "font/ttf",
32
+ otf: "font/otf",
33
+ pdf: `${application}pdf`,
34
+ txt: `${text}plain`,
35
+ csv: `${text}csv`,
36
+ zip: `${application}zip`,
37
+ doc: `${application}msword`,
38
+ docx: `${msft365}wordprocessingml.document`,
39
+ xls: `${application}vnd.ms-excel`,
40
+ xlsx: `${msft365}spreadsheetml.sheet`,
41
+ ppt: `${application}vnd.ms-powerpoint`,
42
+ pptx: `${msft365}presentationml.presentation`
43
+ };
44
+ /** @internal exported for test/universal/file-extension.test.ts */
45
+ function getFileExtension(path) {
46
+ const index = path.lastIndexOf(".");
47
+ if (index === -1) return "";
48
+ return path.slice(index + 1).toLowerCase();
152
49
  }
153
- // Annotate the CommonJS export names for ESM import in node:
154
- 0 && (module.exports = {
155
- ElysiaFile,
156
- file,
157
- getFileExtension,
158
- mime
159
- });
50
+ /**
51
+ * Serve a file from a path as the response.
52
+ */
53
+ const file = (path) => new ElysiaFile(path);
54
+ let createReadStream;
55
+ let stat;
56
+ function warnMissing(name) {
57
+ console.warn(/* @__PURE__ */ new Error(`[Elysia] \`file\` require \`fs${name ? "." + name : ""}\` ${name?.includes(".") ? "module " : ""}which is not available in this environment`));
58
+ }
59
+ var ElysiaFile = class {
60
+ #value;
61
+ constructor(path) {
62
+ this.path = path;
63
+ if (require_universal_constants.isBun) this.#value = Bun.file(path);
64
+ else if (!createReadStream || !stat) {
65
+ if (typeof window !== "undefined") {
66
+ console.warn("Browser environment does not support file");
67
+ return;
68
+ }
69
+ if (typeof process === "undefined" || typeof process.getBuiltinModule !== "function") {
70
+ warnMissing();
71
+ return;
72
+ }
73
+ const fs = process.getBuiltinModule("fs");
74
+ if (!fs || typeof fs.createReadStream !== "function" || typeof fs.promises?.stat !== "function") {
75
+ warnMissing();
76
+ return;
77
+ }
78
+ createReadStream = fs.createReadStream;
79
+ stat = fs.promises.stat;
80
+ }
81
+ }
82
+ get stats() {
83
+ if (require_universal_constants.isBun || !stat) return;
84
+ const value = stat(this.path);
85
+ value.catch(() => {});
86
+ return value;
87
+ }
88
+ get value() {
89
+ if (require_universal_constants.isBun) return this.#value;
90
+ const stream = createReadStream?.(this.path);
91
+ stream?.on?.("error", () => {});
92
+ return stream;
93
+ }
94
+ slice(start, end) {
95
+ if (require_universal_constants.isBun) return this.#value?.slice(start, end);
96
+ const stream = createReadStream?.(this.path, {
97
+ start,
98
+ end: end - 1
99
+ });
100
+ stream?.on?.("error", () => {});
101
+ return stream;
102
+ }
103
+ get type() {
104
+ return mime[getFileExtension(this.path)] || "application/octet-stream";
105
+ }
106
+ get length() {
107
+ if (require_universal_constants.isBun) return this.#value.size;
108
+ const value = this.stats?.then((x) => x.size);
109
+ value?.catch(() => {});
110
+ return value ?? 0;
111
+ }
112
+ };
113
+
114
+ //#endregion
115
+ exports.ElysiaFile = ElysiaFile;
116
+ exports.file = file;
117
+ exports.getFileExtension = getFileExtension;
118
+ exports.mime = mime;