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
@@ -0,0 +1,291 @@
1
+ import { JITProbeResult } from "../../compile/jit-probe.js";
2
+ import { AotTarget } from "./source.js";
3
+
4
+ //#region src/plugin/aot/core.d.ts
5
+ interface ElysiaAotOptions {
6
+ /**
7
+ * Specifier the generated module imports `Compiled` from
8
+ * Must resolve to the same `elysia` instance the app runs
9
+ *
10
+ * @default 'elysia'
11
+ */
12
+ registerFrom?: string;
13
+ /**
14
+ * Specifier the generated module imports the `Reconstruct` table from.
15
+ * Pure so any elysia copy works (registration goes through `Compiled`)
16
+ *
17
+ * @default 'elysia/reconstruct'
18
+ */
19
+ reconstructFrom?: string;
20
+ /**
21
+ * Split the emitted validator manifest into lazily-materialized groups
22
+ *
23
+ * Validator entries are registered as grouped thunks: a group's
24
+ * validators are constructed on the first request to any route in that
25
+ * group, trading first-request latency in unbuilt groups for lower
26
+ * startup cost. Handlers are always eager. Only validator construction
27
+ * is deferred. Pass a number to set the group size explicitly.
28
+ *
29
+ * @default decided by Elysia based on route batch scale
30
+ */
31
+ lazy?: boolean | number;
32
+ /**
33
+ * Deploy target for build-time-baked codegen consts (the response-header
34
+ * path). Set `target: 'workerd'` to build under Bun yet ship a manifest
35
+ * valid on Cloudflare Workers / Node.
36
+ *
37
+ * When set to an unambiguous runtime (`'bun'` or `'node'`/`'workerd'`),
38
+ * the plugin also aliases `adapter/constants` so that only the matching
39
+ * adapter ships in the bundle (the other one DCEs). When `target` is
40
+ * absent the runtime `isBun` check is preserved unchanged.
41
+ *
42
+ * @default the build runtime
43
+ */
44
+ target?: AotTarget;
45
+ /**
46
+ * Replace `import { t } from 'elysia'` with `import * as t from 'elysia/type'`
47
+ * at build time so unused TypeBox constructors tree-shake
48
+ *
49
+ * @default true
50
+ */
51
+ treeShake?: boolean;
52
+ /**
53
+ * Replace the internal handler compiler with a throwing stub so the bundler
54
+ * can drop the handler-JIT graph
55
+ *
56
+ * This is only safe when every route is reconstructed from the frozen AOT
57
+ * handler manifest. The plugin verifies that by replaying a frozen build and
58
+ * watching whether handler JIT is reached
59
+ *
60
+ * - `'auto'` (default): stub only when the frozen replay proves handler JIT
61
+ * is unused. Skip if any route still reaches handler JIT
62
+ * - `true`: require a fully precompiled handler manifest and throw if any
63
+ * route still reaches handler JIT
64
+ * - `false`: never stub
65
+ *
66
+ * @default 'auto'
67
+ */
68
+ strip?: boolean | 'auto';
69
+ /**
70
+ * Treat this as a production build, making `isProduction` a compile-time
71
+ * constant `true` so bundlers can DCE `!isProduction()` branches.
72
+ *
73
+ * - `true` (default): stub `isProduction` as `() => true` so dev-verbose
74
+ * error paths tree-shake
75
+ * - `false`: leave `isProduction` as a runtime env read (preserves dev
76
+ * behaviour in the bundle)
77
+ *
78
+ * @default true
79
+ */
80
+ production?: boolean;
81
+ /**
82
+ * Log one detail line per affected route when a sealed validator carries
83
+ * a coercion/codec schema (its 422 error detail can only name the
84
+ * offending field coarsely, best-effort).
85
+ *
86
+ * - `false` (default): collapse all affected routes into a single
87
+ * build-end summary line (none if no route is affected)
88
+ * - `true`: also print the per-route detail line as each one is found
89
+ *
90
+ * @default false
91
+ */
92
+ verbose?: boolean;
93
+ }
94
+ declare const resolveEntry: (entry: string) => string;
95
+ /** Runtime handler-JIT module a strip build can replace with a throwing stub. */
96
+ interface StubPlan {
97
+ /** Stub the internal handler codegen module. */
98
+ jit: boolean;
99
+ /** Stub internal WS route builders when the app declares no WS routes. */
100
+ ws: boolean;
101
+ /**
102
+ * Stub frozen-handler reconstruction (validator `va`, cookie `cc`, trace `tr`)
103
+ * when no replayed handler aliases any of them.
104
+ */
105
+ reconstruct: boolean;
106
+ /**
107
+ * Stub the request-side cookie machinery (parse / jar / signing in
108
+ * `cookie/utils` + `cookie/config`) when no replayed handler aliases the
109
+ * cookie config (`cc`)
110
+ */
111
+ cookie: boolean;
112
+ /**
113
+ * Stub the trace runtime (`trace.ts` `createTracer` + recorder machinery)
114
+ * when no replayed handler aliases trace (`tr`), or even under live
115
+ * handler JIT when the app registers no trace handler at all (`~hasTrace`
116
+ * + history sweep; a mount forbids it). Every call site (fetch, JIT
117
+ * codegen, frozen reconstruct) only calls in when trace handlers exist, so
118
+ * a throwing stub is unreachable once detection proves trace is unused
119
+ *
120
+ * NOT moot after the `elysia/trace` capability severance. The reachable
121
+ * post-severance case is: an app that `.use(trace())` (so the capability
122
+ * is registered and `dist/trace.mjs` IS in the bundle graph via
123
+ * `dist/plugin/trace.mjs`) but never attaches `.trace(fn)` (no trace
124
+ * hooks, so `tr` is unaliased and `mayTrace` is false). Under the frozen
125
+ * path (`jit`) this flag is still `true`, so the stub replaces the real
126
+ * trace module with the non-throwing `unionTracePhases(){return new Set()}`
127
+ * fallback (+ throwing `createTracer`, unreachable with zero hooks).
128
+ * Measured saving for that shape: ~18KB severing trace also tree-shakes
129
+ * sucrose's `separateFunction`, which trace is the sole importer of. A
130
+ * traceless app that never imports the capability (Fixture B) has no
131
+ * trace module in the graph, so the stub is a no-op there.
132
+ */
133
+ trace: boolean;
134
+ /**
135
+ * Stub the `memory` module's `clearSucroseCache` edge when handler JIT is
136
+ * stubbed. Sucrose never runs in a precompiled app, so its caches are always
137
+ * empty and the flush is a no-op. Dropping the import lets the Sucrose
138
+ * analyzer tree-shake. `flushMemory`'s other clears are preserved, and the
139
+ * public `elysia/sucrose` module is left untouched
140
+ */
141
+ sucrose: boolean;
142
+ /**
143
+ * Stub `type/compat` so `setupTypebox` becomes a no-op, un-wiring the
144
+ * TypeBox bridge from the bundle. Set in BOTH sealed (mode A) and wired
145
+ * (mode B) builds. In mode A the bridge is severed entirely. Every captured
146
+ * validator is bridge-free so nothing reaches it. In mode B the mirror
147
+ * (`bridge` → `bridge-live` reroute) replaces the latch, so `setupTypebox`
148
+ * must still be a no-op to guarantee the bridge is wired exactly once
149
+ */
150
+ compat: boolean;
151
+ /**
152
+ * Re-route `type/bridge` → `type/bridge-live` (the statically-wired mirror)
153
+ * so the bridge exports resolve to real TypeBox members without the runtime
154
+ * `setupTypebox` latch. Set only in the wired build (mode B): the app has at
155
+ * least one validator that is not bridge-free, so the bridge is still needed
156
+ */
157
+ bridge: boolean;
158
+ /**
159
+ * Replace `adapter/constants` with a target-specific stub that hard-selects
160
+ * either `BunAdapter` or `WebStandardAdapter`, letting the bundler DCE the
161
+ * other adapter. Only set when `target` unambiguously implies a runtime
162
+ * (`'bun'` → Bun; `'node'`/`'workerd'` → WebStandard). When `target` is
163
+ * absent or ambiguous this is `false` and the runtime `isBun` path is kept.
164
+ */
165
+ adapter: 'bun' | 'web-standard' | false;
166
+ /**
167
+ * Replace `universal/is-production` with a stub that returns `true` at
168
+ * compile time so bundlers can DCE `!isProduction()` branches. Set when
169
+ * `production: true` (the default for plugin builds).
170
+ */
171
+ isProduction: boolean;
172
+ }
173
+ /**
174
+ * Chosen TypeBox-collapse strategy for the build, logged in the dry-run line.
175
+ *
176
+ * - `'sealed'` (mode A): every captured validator is bridge-free (HTTP and WS
177
+ * alike) and the app is fully stripped (handler JIT unused). `compat` is
178
+ * stubbed and the bridge is severed, TypeBox collapses entirely
179
+ * - `'wired'` (mode B): at least one validator still needs the bridge. `compat`
180
+ * is stubbed AND the bridge is re-routed to the statically-wired mirror so it
181
+ * works without the DCE-fragile `setupTypebox()` anchor
182
+ * - `'off'`: no bridge action (strip disabled, or handler JIT still reachable,
183
+ * the frozen path is not active so the bridge stays wired the normal way)
184
+ */
185
+ type BridgeMode = 'sealed' | 'wired' | 'off';
186
+ declare const NO_STUB: StubPlan;
187
+ /**
188
+ * Resolve whether handler JIT is safe to stub for `entry`, honouring the
189
+ * `strip` option. `'auto'` stubs only when detection proves handler JIT unused;
190
+ * `true` throws when handler JIT is still reachable; `false` disables.
191
+ *
192
+ * Also decides the TypeBox-collapse `mode`:
193
+ * - `'sealed'`: the frozen path is active (`jit`) and EVERY captured
194
+ * validator, HTTP and WS is bridge-free (`bridgeFree`). `setupTypebox` is
195
+ * stubbed and the bridge is severe, nothing reaches it, TypeBox collapses.
196
+ * - `'wired'`: the frozen path is active but at least one validator
197
+ * still needs the bridge. `setupTypebox` is stubbed AND the bridge is
198
+ * re-routed to the statically-wired mirror (works without the DCE-fragile
199
+ * `setupTypebox()` anchor).
200
+ * - `'off'`: handler JIT still reachable (or strip disabled). The frozen path
201
+ * is not active, so the bridge must stay wired the ordinary way. No compat
202
+ * stub, no reroute.
203
+ */
204
+ declare function planFromReport(strip: boolean | 'auto', report: JITProbeResult, hasWS: boolean, mayTrace: boolean, aliases: Set<string>, allBridgeFree: boolean, zeroCapture: boolean, adapterStub?: 'bun' | 'web-standard' | false, productionStub?: boolean): {
205
+ plan: StubPlan;
206
+ mode: BridgeMode;
207
+ };
208
+ declare function adapterConstantsSource(target: 'bun' | 'web-standard'): string;
209
+ /** Filter matching elysia's own `adapter/constants` module (src + dist). */
210
+ declare const ADAPTER_CONSTANTS_FILTER: RegExp;
211
+ declare const ADAPTER_BUN_FILTER: RegExp;
212
+ declare const IS_PRODUCTION_FILTER: RegExp;
213
+ /**
214
+ * Loose fallback filter
215
+ *
216
+ * Matches the `/elysia/(dist|src)/` segment anywhere in a path (node_modules layouts,
217
+ * monorepos, linked installs). Used by esbuild as a broad pre-filter
218
+ *
219
+ * The caller must further check that the path is under the resolved elysia package root
220
+ * to avoid matching user code in a directory that happens to be named "elysia"
221
+ *
222
+ * @internal
223
+ */
224
+ declare const ELYSIA_MODULE_FILTER: RegExp;
225
+ /**
226
+ * Build a predicate that returns `true` only for modules that are under the
227
+ * resolved elysia package root (i.e. actually elysia's own files).
228
+ *
229
+ * Anchoring to the real package root prevents user projects rooted in a
230
+ * directory named `elysia` (like this repo itself) from having their code
231
+ * rewritten.
232
+ *
233
+ * Pass the result to both the esbuild `filter` (convert to RegExp via
234
+ * `makeElysiaModuleFilterRegex`) and the Vite transform (`isElysiaModule`).
235
+ */
236
+ declare function resolveElysiaRoot(from?: string): string;
237
+ /**
238
+ * Returns a predicate that is `true` only when the given module path is under
239
+ * the resolved elysia package root AND matches the broad module filter.
240
+ */
241
+ declare function makeIsElysiaModule(elysiaRoot: string): (path: string) => boolean;
242
+ /**
243
+ * Build an esbuild-compatible RegExp that anchors to the resolved elysia root
244
+ * so the `onLoad` pre-filter is as tight as possible. esbuild uses this as an
245
+ * initial path filter before calling the callback, so we still double-check
246
+ * with `makeIsElysiaModule` inside the callback.
247
+ */
248
+ declare function makeElysiaModuleFilterRegex(elysiaRoot: string): RegExp;
249
+ declare function rewriteIsProductionCalls(code: string): string;
250
+ declare const bunAdapterStubSource: string;
251
+ declare const STUB_SOURCES: Record<Exclude<keyof StubPlan, 'adapter' | 'isProduction'>, Array<{
252
+ filter: RegExp;
253
+ source: string;
254
+ }>>;
255
+ declare const alignStubExtensions: (stubSource: string, targetPath: string) => string;
256
+ declare const OVERRIDE_MAP: Record<string, {
257
+ leaf: string;
258
+ export: string;
259
+ }>;
260
+ declare function generateVirtualType(typeSpecifier?: string): Promise<string>;
261
+ interface CompiledArtifacts {
262
+ source: string;
263
+ /** Handler-JIT modules detection proved safe to stub for this app. */
264
+ stub: StubPlan;
265
+ /** Chosen TypeBox-collapse strategy (`sealed` / `wired` / `off`). */
266
+ mode: BridgeMode;
267
+ /**
268
+ * Virtual `elysia/type` module source (re-export surface, no `setupTypebox`).
269
+ * Served for `elysia/type` in both sealed and wired modes so unused `t.*`
270
+ * constructors tree-shake. `undefined` when the bridge is left wired (`off`).
271
+ */
272
+ virtualType?: string;
273
+ }
274
+ /** @internal Test diagnostic for deterministic worker cleanup. */
275
+ declare const getAotWorkerDiagnostics: () => {
276
+ activeWorkers: number;
277
+ lastExit: Promise<number> | undefined;
278
+ };
279
+ /**
280
+ * Extension mirroring the running module's own build output, so a sibling
281
+ * source file can be resolved from `import.meta.url` in `.mjs`/`.js`/`.ts`
282
+ * builds alike.
283
+ */
284
+ declare function siblingModuleExt(moduleUrl: string): '.mjs' | '.js' | '.ts';
285
+ /** @internal Re-evaluate an entry in a disposable worker for watch rebuilds. */
286
+ declare function generateCompiledArtifactsIsolated(file: string, options?: ElysiaAotOptions): Promise<CompiledArtifacts>;
287
+ declare function generateCompiledArtifacts(file: string, options?: ElysiaAotOptions): Promise<CompiledArtifacts>;
288
+ declare const SOURCE_REGEX: RegExp;
289
+ declare const realPath: (path: string) => string;
290
+ //#endregion
291
+ export { ADAPTER_BUN_FILTER, ADAPTER_CONSTANTS_FILTER, BridgeMode, CompiledArtifacts, ELYSIA_MODULE_FILTER, ElysiaAotOptions, IS_PRODUCTION_FILTER, NO_STUB, OVERRIDE_MAP, SOURCE_REGEX, STUB_SOURCES, StubPlan, adapterConstantsSource, alignStubExtensions, bunAdapterStubSource, generateCompiledArtifacts, generateCompiledArtifactsIsolated, generateVirtualType, getAotWorkerDiagnostics, makeElysiaModuleFilterRegex, makeIsElysiaModule, planFromReport, realPath, resolveElysiaRoot, resolveEntry, rewriteIsProductionCalls, siblingModuleExt };