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/schema.mjs DELETED
@@ -1,814 +0,0 @@
1
- import {
2
- Kind,
3
- OptionalKind,
4
- TransformKind
5
- } from "@sinclair/typebox";
6
- import { Value } from "@sinclair/typebox/value";
7
- import { TypeCompiler } from "@sinclair/typebox/compiler";
8
- import {
9
- createMirror
10
- } from "exact-mirror";
11
- import { t } from "./type-system/index.mjs";
12
- import { mergeCookie, mergeDeep, randomId } from "./utils.mjs";
13
- import { mapValueError } from "./error.mjs";
14
- import {
15
- replaceSchemaTypeFromManyOptions,
16
- stringToStructureCoercions
17
- } from "./replace-schema.mjs";
18
- const isOptional = (schema) => schema ? schema?.[Kind] === "Import" && schema.References ? schema.References().some(isOptional) : (schema.schema && (schema = schema.schema), !!schema && OptionalKind in schema) : !1, hasAdditionalProperties = (_schema) => {
19
- if (!_schema) return !1;
20
- const schema = _schema?.schema ?? _schema;
21
- if (schema[Kind] === "Import" && _schema.References)
22
- return _schema.References().some(hasAdditionalProperties);
23
- if (schema.anyOf) return schema.anyOf.some(hasAdditionalProperties);
24
- if (schema.someOf) return schema.someOf.some(hasAdditionalProperties);
25
- if (schema.allOf) return schema.allOf.some(hasAdditionalProperties);
26
- if (schema.not) return schema.not.some(hasAdditionalProperties);
27
- if (schema.type === "object") {
28
- const properties = schema.properties;
29
- if ("additionalProperties" in schema) return schema.additionalProperties;
30
- if ("patternProperties" in schema) return !1;
31
- for (const key of Object.keys(properties)) {
32
- const property = properties[key];
33
- if (property.type === "object") {
34
- if (hasAdditionalProperties(property)) return !0;
35
- } else if (property.anyOf) {
36
- for (let i = 0; i < property.anyOf.length; i++)
37
- if (hasAdditionalProperties(property.anyOf[i])) return !0;
38
- }
39
- return property.additionalProperties;
40
- }
41
- return !1;
42
- }
43
- return schema.type === "array" && schema.items && !Array.isArray(schema.items) ? hasAdditionalProperties(schema.items) : !1;
44
- }, resolveSchema = (schema, models, modules) => {
45
- if (schema)
46
- return typeof schema != "string" ? schema : modules && schema in modules.$defs ? modules.Import(schema) : models?.[schema];
47
- }, hasType = (type, schema) => {
48
- if (!schema) return !1;
49
- if (Kind in schema && schema[Kind] === type) return !0;
50
- if (Kind in schema && schema[Kind] === "Import" && schema.$defs && schema.$ref) {
51
- const ref = schema.$ref.replace("#/$defs/", "");
52
- if (schema.$defs[ref])
53
- return hasType(type, schema.$defs[ref]);
54
- }
55
- if (schema.anyOf) return schema.anyOf.some((s) => hasType(type, s));
56
- if (schema.oneOf) return schema.oneOf.some((s) => hasType(type, s));
57
- if (schema.allOf) return schema.allOf.some((s) => hasType(type, s));
58
- if (schema.type === "array" && schema.items)
59
- return type === "Files" && Kind in schema.items && schema.items[Kind] === "File" ? !0 : hasType(type, schema.items);
60
- if (schema.type === "object") {
61
- const properties = schema.properties;
62
- if (!properties) return !1;
63
- for (const key of Object.keys(properties))
64
- if (hasType(type, properties[key])) return !0;
65
- }
66
- return !1;
67
- }, hasElysiaMeta = (meta, _schema) => {
68
- if (!_schema) return !1;
69
- const schema = _schema?.schema ?? _schema;
70
- if (schema.elysiaMeta === meta) return !0;
71
- if (schema[Kind] === "Import" && _schema.References)
72
- return _schema.References().some((schema2) => hasElysiaMeta(meta, schema2));
73
- if (schema.anyOf)
74
- return schema.anyOf.some(
75
- (schema2) => hasElysiaMeta(meta, schema2)
76
- );
77
- if (schema.someOf)
78
- return schema.someOf.some(
79
- (schema2) => hasElysiaMeta(meta, schema2)
80
- );
81
- if (schema.allOf)
82
- return schema.allOf.some(
83
- (schema2) => hasElysiaMeta(meta, schema2)
84
- );
85
- if (schema.not)
86
- return schema.not.some((schema2) => hasElysiaMeta(meta, schema2));
87
- if (schema.type === "object") {
88
- const properties = schema.properties;
89
- if (!properties) return !1;
90
- for (const key of Object.keys(properties)) {
91
- const property = properties[key];
92
- if (property.type === "object") {
93
- if (hasElysiaMeta(meta, property)) return !0;
94
- } else if (property.anyOf) {
95
- for (let i = 0; i < property.anyOf.length; i++)
96
- if (hasElysiaMeta(meta, property.anyOf[i])) return !0;
97
- }
98
- return schema.elysiaMeta === meta;
99
- }
100
- return !1;
101
- }
102
- return schema.type === "array" && schema.items && !Array.isArray(schema.items) ? hasElysiaMeta(meta, schema.items) : !1;
103
- }, hasProperty = (expectedProperty, _schema) => {
104
- if (!_schema) return !1;
105
- const schema = _schema.schema ?? _schema;
106
- if (schema[Kind] === "Import" && _schema.References)
107
- return _schema.References().some((schema2) => hasProperty(expectedProperty, schema2));
108
- if (schema.anyOf)
109
- return schema.anyOf.some(
110
- (s) => hasProperty(expectedProperty, s)
111
- );
112
- if (schema.allOf)
113
- return schema.allOf.some(
114
- (s) => hasProperty(expectedProperty, s)
115
- );
116
- if (schema.oneOf)
117
- return schema.oneOf.some(
118
- (s) => hasProperty(expectedProperty, s)
119
- );
120
- if (schema.type === "object") {
121
- const properties = schema.properties;
122
- if (!properties) return !1;
123
- for (const key of Object.keys(properties)) {
124
- const property = properties[key];
125
- if (expectedProperty in property) return !0;
126
- if (property.type === "object") {
127
- if (hasProperty(expectedProperty, property)) return !0;
128
- } else if (property.anyOf) {
129
- for (let i = 0; i < property.anyOf.length; i++)
130
- if (hasProperty(expectedProperty, property.anyOf[i]))
131
- return !0;
132
- }
133
- }
134
- return !1;
135
- }
136
- return expectedProperty in schema;
137
- }, hasRef = (schema) => {
138
- if (!schema) return !1;
139
- if (schema.oneOf) {
140
- for (let i = 0; i < schema.oneOf.length; i++)
141
- if (hasRef(schema.oneOf[i])) return !0;
142
- }
143
- if (schema.anyOf) {
144
- for (let i = 0; i < schema.anyOf.length; i++)
145
- if (hasRef(schema.anyOf[i])) return !0;
146
- }
147
- if (schema.oneOf) {
148
- for (let i = 0; i < schema.oneOf.length; i++)
149
- if (hasRef(schema.oneOf[i])) return !0;
150
- }
151
- if (schema.allOf) {
152
- for (let i = 0; i < schema.allOf.length; i++)
153
- if (hasRef(schema.allOf[i])) return !0;
154
- }
155
- if (schema.not && hasRef(schema.not)) return !0;
156
- if (schema.type === "object" && schema.properties) {
157
- const properties = schema.properties;
158
- for (const key of Object.keys(properties)) {
159
- const property = properties[key];
160
- if (hasRef(property) || property.type === "array" && property.items && hasRef(property.items))
161
- return !0;
162
- }
163
- }
164
- return schema.type === "array" && schema.items && hasRef(schema.items) ? !0 : schema[Kind] === "Ref" && "$ref" in schema;
165
- }, hasTransform = (schema) => {
166
- if (!schema) return !1;
167
- if (schema.$ref && schema.$defs && schema.$ref in schema.$defs && hasTransform(schema.$defs[schema.$ref]))
168
- return !0;
169
- if (schema.oneOf) {
170
- for (let i = 0; i < schema.oneOf.length; i++)
171
- if (hasTransform(schema.oneOf[i])) return !0;
172
- }
173
- if (schema.anyOf) {
174
- for (let i = 0; i < schema.anyOf.length; i++)
175
- if (hasTransform(schema.anyOf[i])) return !0;
176
- }
177
- if (schema.allOf) {
178
- for (let i = 0; i < schema.allOf.length; i++)
179
- if (hasTransform(schema.allOf[i])) return !0;
180
- }
181
- if (schema.not && hasTransform(schema.not)) return !0;
182
- if (schema.type === "object" && schema.properties) {
183
- const properties = schema.properties;
184
- for (const key of Object.keys(properties)) {
185
- const property = properties[key];
186
- if (hasTransform(property) || property.type === "array" && property.items && hasTransform(property.items))
187
- return !0;
188
- }
189
- }
190
- return schema.type === "array" && schema.items && hasTransform(schema.items) ? !0 : TransformKind in schema;
191
- }, createCleaner = (schema) => (value) => {
192
- if (typeof value == "object")
193
- try {
194
- return Value.Clean(schema, value);
195
- } catch {
196
- }
197
- return value;
198
- }, getSchemaValidator = (s, {
199
- models = {},
200
- dynamic = !1,
201
- modules,
202
- normalize = !1,
203
- additionalProperties = !1,
204
- forceAdditionalProperties = !1,
205
- coerce = !1,
206
- additionalCoerce = [],
207
- validators,
208
- sanitize
209
- } = {}) => {
210
- if (validators = validators?.filter((x) => x), !s) {
211
- if (!validators?.length) return;
212
- s = validators[0], validators = validators.slice(1);
213
- }
214
- let doesHaveRef;
215
- const replaceSchema = (schema2) => coerce ? replaceSchemaTypeFromManyOptions(schema2, [
216
- {
217
- from: t.Number(),
218
- to: (options) => t.Numeric(options),
219
- untilObjectFound: !0
220
- },
221
- {
222
- from: t.Boolean(),
223
- to: (options) => t.BooleanString(options),
224
- untilObjectFound: !0
225
- },
226
- ...Array.isArray(additionalCoerce) ? additionalCoerce : [additionalCoerce]
227
- ]) : replaceSchemaTypeFromManyOptions(schema2, additionalCoerce), mapSchema = (s2) => {
228
- if (s2 && typeof s2 != "string" && "~standard" in s2)
229
- return s2;
230
- if (!s2) return;
231
- let schema2;
232
- if (typeof s2 != "string") schema2 = s2;
233
- else if (schema2 = // @ts-expect-error private property
234
- modules && s2 in modules.$defs ? modules.Import(s2) : models[s2], !schema2) return;
235
- const hasAdditionalCoerce = Array.isArray(additionalCoerce) ? additionalCoerce.length > 0 : !!additionalCoerce;
236
- if (Kind in schema2)
237
- if (schema2[Kind] === "Import")
238
- hasRef(schema2.$defs[schema2.$ref]) || (schema2 = schema2.$defs[schema2.$ref] ?? models[schema2.$ref], (coerce || hasAdditionalCoerce) && (schema2 = replaceSchema(schema2), "$id" in schema2 && !schema2.$defs && (schema2.$id = `${schema2.$id}_coerced_${randomId()}`)));
239
- else if (hasRef(schema2)) {
240
- const id = randomId();
241
- schema2 = t.Module({
242
- // @ts-expect-error private property
243
- ...modules?.$defs,
244
- [id]: schema2
245
- }).Import(id);
246
- } else (coerce || hasAdditionalCoerce) && (schema2 = replaceSchema(schema2));
247
- return schema2;
248
- };
249
- let schema = mapSchema(s), _validators = validators;
250
- if ("~standard" in schema || validators?.length && validators.some(
251
- (x) => x && typeof x != "string" && "~standard" in x
252
- )) {
253
- let Check2 = function(value, validated = !1) {
254
- let v = validated ? value : mainCheck.validate(value);
255
- if (v instanceof Promise)
256
- return v.then((v2) => Check2(v2, !0));
257
- if (v.issues) return v;
258
- const values = [];
259
- return v && typeof v == "object" && values.push(v.value), runCheckers2(value, 0, values, v);
260
- }, runCheckers2 = function(value, startIndex, values, lastV) {
261
- for (let i = startIndex; i < checkers.length; i++) {
262
- let v = checkers[i].validate(value);
263
- if (v instanceof Promise)
264
- return v.then((resolved) => {
265
- if (resolved.issues) return resolved;
266
- const nextValues = [...values];
267
- return resolved && typeof resolved == "object" && nextValues.push(resolved.value), runCheckers2(value, i + 1, nextValues, resolved);
268
- });
269
- if (v.issues) return v;
270
- v && typeof v == "object" && values.push(v.value), lastV = v;
271
- }
272
- return mergeValues2(values, lastV);
273
- }, mergeValues2 = function(values, lastV) {
274
- if (!values.length) return { value: lastV };
275
- if (values.length === 1) return { value: values[0] };
276
- if (values.length === 2)
277
- return { value: mergeDeep(values[0], values[1]) };
278
- let newValue = mergeDeep(values[0], values[1]);
279
- for (let i = 2; i < values.length; i++)
280
- newValue = mergeDeep(newValue, values[i]);
281
- return { value: newValue };
282
- };
283
- var Check = Check2, runCheckers = runCheckers2, mergeValues = mergeValues2;
284
- const typeboxSubValidator = (schema2) => {
285
- let mirror;
286
- if (normalize === !0 || normalize === "exactMirror")
287
- try {
288
- mirror = createMirror(schema2, {
289
- TypeCompiler,
290
- sanitize: sanitize?.(),
291
- modules
292
- });
293
- } catch {
294
- console.warn(
295
- "Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"
296
- ), console.warn(schema2), mirror = createCleaner(schema2);
297
- }
298
- const vali = getSchemaValidator(schema2, {
299
- models,
300
- modules,
301
- dynamic,
302
- normalize,
303
- additionalProperties: !0,
304
- forceAdditionalProperties: !0,
305
- coerce,
306
- additionalCoerce
307
- });
308
- return vali.Decode = mirror, {
309
- // @ts-ignore
310
- validate: (v) => vali.Check(v) ? {
311
- value: mirror ? mirror(v) : v
312
- } : {
313
- issues: [...vali.Errors(v)]
314
- }
315
- };
316
- }, mainCheck = schema["~standard"] ? schema["~standard"] : typeboxSubValidator(schema);
317
- let checkers = [];
318
- if (validators?.length) {
319
- for (const validator2 of validators)
320
- if (validator2 && typeof validator2 != "string") {
321
- if (validator2?.["~standard"]) {
322
- checkers.push(validator2["~standard"]);
323
- continue;
324
- }
325
- if (Kind in validator2) {
326
- checkers.push(typeboxSubValidator(validator2));
327
- continue;
328
- }
329
- }
330
- }
331
- const validator = {
332
- provider: "standard",
333
- schema,
334
- references: "",
335
- checkFunc: () => {
336
- },
337
- code: "",
338
- // @ts-ignore
339
- Check: Check2,
340
- // @ts-ignore
341
- Errors: (value) => Check2(value)?.then?.((x) => x?.issues),
342
- Code: () => "",
343
- // @ts-ignore
344
- Decode: Check2,
345
- // @ts-ignore
346
- Encode: (value) => value,
347
- hasAdditionalProperties: !1,
348
- hasDefault: !1,
349
- isOptional: !1,
350
- hasTransform: !1,
351
- hasRef: !1
352
- };
353
- return validator.parse = (v) => {
354
- try {
355
- return validator.Decode(validator.Clean?.(v) ?? v);
356
- } catch {
357
- throw [...validator.Errors(v)].map(mapValueError);
358
- }
359
- }, validator.safeParse = (v) => {
360
- try {
361
- return {
362
- success: !0,
363
- data: validator.Decode(validator.Clean?.(v) ?? v),
364
- error: null
365
- };
366
- } catch {
367
- const errors = [...compiled.Errors(v)].map(mapValueError);
368
- return {
369
- success: !1,
370
- data: null,
371
- error: errors[0]?.summary,
372
- errors
373
- };
374
- }
375
- }, validator;
376
- } else if (validators?.length) {
377
- let hasAdditional = !1;
378
- const validators2 = _validators, { schema: mergedObjectSchema, notObjects } = mergeObjectSchemas([
379
- schema,
380
- ...validators2.map(mapSchema)
381
- ]);
382
- notObjects && (schema = t.Intersect([
383
- ...mergedObjectSchema ? [mergedObjectSchema] : [],
384
- ...notObjects.map((x) => {
385
- const schema2 = mapSchema(x);
386
- return schema2.type === "object" && "additionalProperties" in schema2 && (!hasAdditional && schema2.additionalProperties === !1 && (hasAdditional = !0), delete schema2.additionalProperties), schema2;
387
- })
388
- ]), schema.type === "object" && hasAdditional && (schema.additionalProperties = !1));
389
- } else
390
- schema.type === "object" && (!("additionalProperties" in schema) || forceAdditionalProperties) ? schema.additionalProperties = additionalProperties : schema = replaceSchemaTypeFromManyOptions(schema, {
391
- onlyFirst: "object",
392
- from: t.Object({}),
393
- to(schema2) {
394
- return !schema2.properties || "additionalProperties" in schema2 ? schema2 : t.Object(schema2.properties, {
395
- ...schema2,
396
- additionalProperties: !1
397
- });
398
- }
399
- });
400
- if (dynamic)
401
- if (Kind in schema) {
402
- const validator = {
403
- provider: "typebox",
404
- schema,
405
- // @ts-ignore
406
- references: "",
407
- checkFunc: () => {
408
- },
409
- code: "",
410
- Check: (value) => Value.Check(schema, value),
411
- Errors: (value) => Value.Errors(schema, value),
412
- Code: () => "",
413
- Clean: createCleaner(schema),
414
- Decode: (value) => Value.Decode(schema, value),
415
- Encode: (value) => Value.Encode(schema, value),
416
- get hasAdditionalProperties() {
417
- return "~hasAdditionalProperties" in this ? this["~hasAdditionalProperties"] : this["~hasAdditionalProperties"] = hasAdditionalProperties(schema);
418
- },
419
- get hasDefault() {
420
- return "~hasDefault" in this ? this["~hasDefault"] : this["~hasDefault"] = hasProperty(
421
- "default",
422
- schema
423
- );
424
- },
425
- get isOptional() {
426
- return "~isOptional" in this ? this["~isOptional"] : this["~isOptional"] = isOptional(schema);
427
- },
428
- get hasTransform() {
429
- return "~hasTransform" in this ? this["~hasTransform"] : this["~hasTransform"] = hasTransform(schema);
430
- },
431
- "~hasRef": doesHaveRef,
432
- get hasRef() {
433
- return "~hasRef" in this ? this["~hasRef"] : this["~hasRef"] = hasTransform(schema);
434
- }
435
- };
436
- if (schema.config && (validator.config = schema.config, validator?.schema?.config && delete validator.schema.config), normalize && schema.additionalProperties === !1)
437
- if (normalize === !0 || normalize === "exactMirror")
438
- try {
439
- validator.Clean = createMirror(schema, {
440
- TypeCompiler,
441
- sanitize: sanitize?.(),
442
- modules
443
- });
444
- } catch {
445
- console.warn(
446
- "Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"
447
- ), console.warn(schema), validator.Clean = createCleaner(schema);
448
- }
449
- else validator.Clean = createCleaner(schema);
450
- return validator.parse = (v) => {
451
- try {
452
- return validator.Decode(validator.Clean?.(v) ?? v);
453
- } catch {
454
- throw [...validator.Errors(v)].map(mapValueError);
455
- }
456
- }, validator.safeParse = (v) => {
457
- try {
458
- return {
459
- success: !0,
460
- data: validator.Decode(validator.Clean?.(v) ?? v),
461
- error: null
462
- };
463
- } catch {
464
- const errors = [...compiled.Errors(v)].map(mapValueError);
465
- return {
466
- success: !1,
467
- data: null,
468
- error: errors[0]?.summary,
469
- errors
470
- };
471
- }
472
- }, validator;
473
- } else {
474
- const validator = {
475
- provider: "standard",
476
- schema,
477
- references: "",
478
- checkFunc: () => {
479
- },
480
- code: "",
481
- // @ts-ignore
482
- Check: (v) => schema["~standard"].validate(v),
483
- // @ts-ignore
484
- Errors(value) {
485
- const response = schema["~standard"].validate(value);
486
- if (response instanceof Promise)
487
- throw Error(
488
- "Async validation is not supported in non-dynamic schema"
489
- );
490
- return response.issues;
491
- },
492
- Code: () => "",
493
- // @ts-ignore
494
- Decode(value) {
495
- const response = schema["~standard"].validate(value);
496
- if (response instanceof Promise)
497
- throw Error(
498
- "Async validation is not supported in non-dynamic schema"
499
- );
500
- return response;
501
- },
502
- // @ts-ignore
503
- Encode: (value) => value,
504
- hasAdditionalProperties: !1,
505
- hasDefault: !1,
506
- isOptional: !1,
507
- hasTransform: !1,
508
- hasRef: !1
509
- };
510
- return validator.parse = (v) => {
511
- try {
512
- return validator.Decode(validator.Clean?.(v) ?? v);
513
- } catch {
514
- throw [...validator.Errors(v)].map(mapValueError);
515
- }
516
- }, validator.safeParse = (v) => {
517
- try {
518
- return {
519
- success: !0,
520
- data: validator.Decode(validator.Clean?.(v) ?? v),
521
- error: null
522
- };
523
- } catch {
524
- const errors = [...compiled.Errors(v)].map(mapValueError);
525
- return {
526
- success: !1,
527
- data: null,
528
- error: errors[0]?.summary,
529
- errors
530
- };
531
- }
532
- }, validator;
533
- }
534
- let compiled;
535
- if (Kind in schema)
536
- if (compiled = TypeCompiler.Compile(
537
- schema,
538
- Object.values(models).filter((x) => Kind in x)
539
- ), compiled.provider = "typebox", schema.config && (compiled.config = schema.config, compiled?.schema?.config && delete compiled.schema.config), normalize === !0 || normalize === "exactMirror")
540
- try {
541
- compiled.Clean = createMirror(schema, {
542
- TypeCompiler,
543
- sanitize: sanitize?.(),
544
- modules
545
- });
546
- } catch {
547
- console.warn(
548
- "Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"
549
- ), console.dir(schema, {
550
- depth: null
551
- }), compiled.Clean = createCleaner(schema);
552
- }
553
- else normalize === "typebox" && (compiled.Clean = createCleaner(schema));
554
- else
555
- compiled = {
556
- provider: "standard",
557
- schema,
558
- references: "",
559
- checkFunc(value) {
560
- const response = schema["~standard"].validate(value);
561
- if (response instanceof Promise)
562
- throw Error(
563
- "Async validation is not supported in non-dynamic schema"
564
- );
565
- return response;
566
- },
567
- code: "",
568
- // @ts-ignore
569
- Check: (v) => schema["~standard"].validate(v),
570
- // @ts-ignore
571
- Errors(value) {
572
- const response = schema["~standard"].validate(value);
573
- if (response instanceof Promise)
574
- throw Error(
575
- "Async validation is not supported in non-dynamic schema"
576
- );
577
- return response.issues;
578
- },
579
- Code: () => "",
580
- // @ts-ignore
581
- Decode(value) {
582
- const response = schema["~standard"].validate(value);
583
- if (response instanceof Promise)
584
- throw Error(
585
- "Async validation is not supported in non-dynamic schema"
586
- );
587
- return response;
588
- },
589
- // @ts-ignore
590
- Encode: (value) => value,
591
- hasAdditionalProperties: !1,
592
- hasDefault: !1,
593
- isOptional: !1,
594
- hasTransform: !1,
595
- hasRef: !1
596
- };
597
- return compiled.parse = (v) => {
598
- try {
599
- return compiled.Decode(compiled.Clean?.(v) ?? v);
600
- } catch {
601
- throw [...compiled.Errors(v)].map(mapValueError);
602
- }
603
- }, compiled.safeParse = (v) => {
604
- try {
605
- return {
606
- success: !0,
607
- data: compiled.Decode(compiled.Clean?.(v) ?? v),
608
- error: null
609
- };
610
- } catch {
611
- const errors = [...compiled.Errors(v)].map(mapValueError);
612
- return {
613
- success: !1,
614
- data: null,
615
- error: errors[0]?.summary,
616
- errors
617
- };
618
- }
619
- }, Kind in schema && Object.assign(compiled, {
620
- get hasAdditionalProperties() {
621
- return "~hasAdditionalProperties" in this ? this["~hasAdditionalProperties"] : this["~hasAdditionalProperties"] = hasAdditionalProperties(compiled);
622
- },
623
- get hasDefault() {
624
- return "~hasDefault" in this ? this["~hasDefault"] : this["~hasDefault"] = hasProperty("default", compiled);
625
- },
626
- get isOptional() {
627
- return "~isOptional" in this ? this["~isOptional"] : this["~isOptional"] = isOptional(compiled);
628
- },
629
- get hasTransform() {
630
- return "~hasTransform" in this ? this["~hasTransform"] : this["~hasTransform"] = hasTransform(schema);
631
- },
632
- get hasRef() {
633
- return "~hasRef" in this ? this["~hasRef"] : this["~hasRef"] = hasRef(schema);
634
- },
635
- "~hasRef": doesHaveRef
636
- }), compiled;
637
- }, isUnion = (schema) => schema[Kind] === "Union" || !schema.schema && !!schema.anyOf, getSchemaProperties = (schema) => {
638
- if (!schema) return;
639
- if (schema.properties) return schema.properties;
640
- const members = schema.allOf ?? schema.anyOf ?? schema.oneOf;
641
- if (members) {
642
- const result = {};
643
- for (const member of members) {
644
- const props = getSchemaProperties(member);
645
- props && Object.assign(result, props);
646
- }
647
- return Object.keys(result).length > 0 ? result : void 0;
648
- }
649
- }, mergeObjectSchemas = (schemas) => {
650
- if (schemas.length === 0)
651
- return {
652
- schema: void 0,
653
- notObjects: []
654
- };
655
- if (schemas.length === 1)
656
- return schemas[0].type === "object" ? {
657
- schema: schemas[0],
658
- notObjects: []
659
- } : {
660
- schema: void 0,
661
- notObjects: schemas
662
- };
663
- let newSchema;
664
- const notObjects = [];
665
- let additionalPropertiesIsTrue = !1, additionalPropertiesIsFalse = !1;
666
- for (const schema of schemas) {
667
- if (schema.type !== "object") {
668
- notObjects.push(schema);
669
- continue;
670
- }
671
- if ("additionalProperties" in schema && (schema.additionalProperties === !0 ? additionalPropertiesIsTrue = !0 : schema.additionalProperties === !1 && (additionalPropertiesIsFalse = !0)), !newSchema) {
672
- newSchema = schema;
673
- continue;
674
- }
675
- newSchema = {
676
- ...newSchema,
677
- ...schema,
678
- properties: {
679
- ...newSchema.properties,
680
- ...schema.properties
681
- },
682
- required: [
683
- ...newSchema?.required ?? [],
684
- ...schema.required ?? []
685
- ]
686
- };
687
- }
688
- return newSchema && (newSchema.required && (newSchema.required = [...new Set(newSchema.required)]), additionalPropertiesIsFalse ? newSchema.additionalProperties = !1 : additionalPropertiesIsTrue && (newSchema.additionalProperties = !0)), {
689
- schema: newSchema,
690
- notObjects
691
- };
692
- }, getResponseSchemaValidator = (s, {
693
- models = {},
694
- modules,
695
- dynamic = !1,
696
- normalize = !1,
697
- additionalProperties = !1,
698
- validators = [],
699
- sanitize
700
- }) => {
701
- if (validators = validators.filter((x) => x), !s) {
702
- if (!validators?.length) return;
703
- s = validators[0], validators = validators.slice(1);
704
- }
705
- let maybeSchemaOrRecord;
706
- if (typeof s != "string") maybeSchemaOrRecord = s;
707
- else if (maybeSchemaOrRecord = // @ts-expect-error private property
708
- modules && s in modules.$defs ? modules.Import(s) : models[s], !maybeSchemaOrRecord) return;
709
- if (!maybeSchemaOrRecord) return;
710
- if (Kind in maybeSchemaOrRecord || "~standard" in maybeSchemaOrRecord)
711
- return {
712
- 200: getSchemaValidator(
713
- maybeSchemaOrRecord,
714
- {
715
- modules,
716
- models,
717
- additionalProperties,
718
- dynamic,
719
- normalize,
720
- coerce: !1,
721
- additionalCoerce: [],
722
- validators: validators.map((x) => x[200]),
723
- sanitize
724
- }
725
- )
726
- };
727
- const record = {};
728
- return Object.keys(maybeSchemaOrRecord).forEach((status) => {
729
- if (isNaN(+status)) return;
730
- const maybeNameOrSchema = maybeSchemaOrRecord[+status];
731
- if (typeof maybeNameOrSchema == "string") {
732
- if (maybeNameOrSchema in models) {
733
- const schema = models[maybeNameOrSchema];
734
- if (!schema) return;
735
- record[+status] = Kind in schema || "~standard" in schema ? getSchemaValidator(schema, {
736
- modules,
737
- models,
738
- additionalProperties,
739
- dynamic,
740
- normalize,
741
- coerce: !1,
742
- additionalCoerce: [],
743
- validators: validators.map((x) => x[+status]),
744
- sanitize
745
- }) : schema;
746
- }
747
- return;
748
- }
749
- record[+status] = Kind in maybeNameOrSchema || "~standard" in maybeNameOrSchema ? getSchemaValidator(maybeNameOrSchema, {
750
- modules,
751
- models,
752
- additionalProperties,
753
- dynamic,
754
- normalize,
755
- coerce: !1,
756
- additionalCoerce: [],
757
- validators: validators.map((x) => x[+status]),
758
- sanitize
759
- }) : maybeNameOrSchema;
760
- }), record;
761
- }, getCookieValidator = ({
762
- validator,
763
- modules,
764
- defaultConfig = {},
765
- config,
766
- dynamic,
767
- normalize = !1,
768
- models,
769
- validators,
770
- sanitize
771
- }) => {
772
- let cookieValidator = (
773
- // @ts-ignore
774
- validator?.provider ? validator : (
775
- // @ts-ignore
776
- getSchemaValidator(validator, {
777
- modules,
778
- dynamic,
779
- models,
780
- normalize,
781
- additionalProperties: !0,
782
- coerce: !0,
783
- additionalCoerce: stringToStructureCoercions(),
784
- validators,
785
- sanitize
786
- })
787
- )
788
- );
789
- return cookieValidator ? cookieValidator.config = mergeCookie(cookieValidator.config, config) : (cookieValidator = getSchemaValidator(t.Cookie(t.Any()), {
790
- modules,
791
- dynamic,
792
- models,
793
- additionalProperties: !0,
794
- validators,
795
- sanitize
796
- }), cookieValidator.config = defaultConfig), cookieValidator;
797
- }, unwrapImportSchema = (schema) => schema && schema[Kind] === "Import" && schema.$defs[schema.$ref][Kind] === "Object" ? schema.$defs[schema.$ref] : schema;
798
- export {
799
- getCookieValidator,
800
- getResponseSchemaValidator,
801
- getSchemaProperties,
802
- getSchemaValidator,
803
- hasAdditionalProperties,
804
- hasElysiaMeta,
805
- hasProperty,
806
- hasRef,
807
- hasTransform,
808
- hasType,
809
- isOptional,
810
- isUnion,
811
- mergeObjectSchemas,
812
- resolveSchema,
813
- unwrapImportSchema
814
- };