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.
- package/dist/_virtual/_rolldown/runtime.js +29 -0
- package/dist/_virtual/_rolldown/runtime.mjs +38 -0
- package/dist/adapter/bun/index.d.ts +7 -6
- package/dist/adapter/bun/index.js +219 -380
- package/dist/adapter/bun/index.mjs +217 -382
- package/dist/adapter/constants.d.ts +6 -0
- package/dist/adapter/constants.js +10 -0
- package/dist/adapter/constants.mjs +9 -0
- package/dist/adapter/default-headers.d.ts +4 -0
- package/dist/adapter/default-headers.js +7 -0
- package/dist/adapter/default-headers.mjs +5 -0
- package/dist/adapter/index.d.ts +8 -1
- package/dist/adapter/index.js +7 -14
- package/dist/adapter/index.mjs +5 -0
- package/dist/adapter/origin.d.ts +63 -0
- package/dist/adapter/origin.js +64 -0
- package/dist/adapter/origin.mjs +62 -0
- package/dist/adapter/response-ownership.d.ts +5 -0
- package/dist/adapter/response-ownership.js +13 -0
- package/dist/adapter/response-ownership.mjs +10 -0
- package/dist/adapter/skip-clone.d.ts +4 -0
- package/dist/adapter/skip-clone.js +7 -0
- package/dist/adapter/skip-clone.mjs +5 -0
- package/dist/adapter/types.d.ts +50 -125
- package/dist/adapter/types.js +1 -14
- package/dist/adapter/types.mjs +1 -0
- package/dist/adapter/utils.d.ts +47 -19
- package/dist/adapter/utils.js +561 -311
- package/dist/adapter/utils.mjs +551 -283
- package/dist/adapter/web-standard/handler.d.ts +11 -9
- package/dist/adapter/web-standard/handler.js +146 -415
- package/dist/adapter/web-standard/handler.mjs +144 -400
- package/dist/adapter/web-standard/index.d.ts +5 -2
- package/dist/adapter/web-standard/index.js +68 -161
- package/dist/adapter/web-standard/index.mjs +68 -146
- package/dist/adapter/web-standard/utils.d.ts +4 -0
- package/dist/adapter/web-standard/utils.js +153 -0
- package/dist/adapter/web-standard/utils.mjs +152 -0
- package/dist/base.d.ts +898 -0
- package/dist/base.js +1564 -0
- package/dist/base.mjs +1561 -0
- package/dist/compile/analysis-cache.d.ts +6 -0
- package/dist/compile/analysis-cache.js +12 -0
- package/dist/compile/analysis-cache.mjs +11 -0
- package/dist/compile/aot-capture.d.ts +24 -0
- package/dist/compile/aot-capture.js +376 -0
- package/dist/compile/aot-capture.mjs +365 -0
- package/dist/compile/aot-emit.d.ts +29 -0
- package/dist/compile/aot-emit.js +107 -0
- package/dist/compile/aot-emit.mjs +101 -0
- package/dist/compile/aot-reconstruct.d.ts +30 -0
- package/dist/compile/aot-reconstruct.js +156 -0
- package/dist/compile/aot-reconstruct.mjs +147 -0
- package/dist/compile/aot.d.ts +287 -0
- package/dist/compile/aot.js +220 -0
- package/dist/compile/aot.mjs +200 -0
- package/dist/compile/handler/descriptor.d.ts +77 -0
- package/dist/compile/handler/descriptor.js +199 -0
- package/dist/compile/handler/descriptor.mjs +194 -0
- package/dist/compile/handler/frozen-validator.d.ts +39 -0
- package/dist/compile/handler/frozen-validator.js +319 -0
- package/dist/compile/handler/frozen-validator.mjs +313 -0
- package/dist/compile/handler/index.d.ts +19 -0
- package/dist/compile/handler/index.js +379 -0
- package/dist/compile/handler/index.mjs +371 -0
- package/dist/compile/handler/jit.d.ts +43 -0
- package/dist/compile/handler/jit.js +536 -0
- package/dist/compile/handler/jit.mjs +532 -0
- package/dist/compile/handler/params.d.ts +28 -0
- package/dist/compile/handler/params.js +78 -0
- package/dist/compile/handler/params.mjs +76 -0
- package/dist/compile/handler/reconstruct.d.ts +12 -0
- package/dist/compile/handler/reconstruct.js +50 -0
- package/dist/compile/handler/reconstruct.mjs +49 -0
- package/dist/compile/handler/utils.d.ts +45 -0
- package/dist/compile/handler/utils.js +514 -0
- package/dist/compile/handler/utils.mjs +498 -0
- package/dist/compile/jit-probe.d.ts +15 -0
- package/dist/compile/jit-probe.js +28 -0
- package/dist/compile/jit-probe.mjs +26 -0
- package/dist/compile/lexer.d.ts +7 -0
- package/dist/compile/lexer.js +53 -0
- package/dist/compile/lexer.mjs +48 -0
- package/dist/compile/utils.d.ts +8 -0
- package/dist/compile/utils.js +23 -0
- package/dist/compile/utils.mjs +19 -0
- package/dist/compiled.d.ts +17 -0
- package/dist/compiled.js +20 -0
- package/dist/compiled.mjs +16 -0
- package/dist/constants.d.ts +137 -0
- package/dist/constants.js +96 -0
- package/dist/constants.mjs +88 -0
- package/dist/context.d.ts +86 -129
- package/dist/context.js +110 -13
- package/dist/context.mjs +108 -0
- package/dist/cookie/config.d.ts +31 -0
- package/dist/cookie/config.js +98 -0
- package/dist/cookie/config.mjs +95 -0
- package/dist/cookie/cookie.d.ts +26 -0
- package/dist/cookie/cookie.js +105 -0
- package/dist/cookie/cookie.mjs +104 -0
- package/dist/cookie/crypto.d.ts +20 -0
- package/dist/cookie/crypto.js +168 -0
- package/dist/cookie/crypto.mjs +151 -0
- package/dist/cookie/error.d.ts +17 -0
- package/dist/cookie/error.js +25 -0
- package/dist/cookie/error.mjs +24 -0
- package/dist/cookie/index.d.ts +7 -0
- package/dist/cookie/index.js +13 -0
- package/dist/cookie/index.mjs +7 -0
- package/dist/cookie/lib.d.ts +7 -0
- package/dist/cookie/lib.js +76 -0
- package/dist/cookie/lib.mjs +74 -0
- package/dist/cookie/serialize.d.ts +6 -0
- package/dist/cookie/serialize.js +32 -0
- package/dist/cookie/serialize.mjs +31 -0
- package/dist/cookie/types.d.ts +113 -0
- package/dist/cookie/types.js +1 -0
- package/dist/cookie/types.mjs +1 -0
- package/dist/cookie/utils.d.ts +25 -0
- package/dist/cookie/utils.js +182 -0
- package/dist/cookie/utils.mjs +171 -0
- package/dist/error.d.ts +226 -188
- package/dist/error.js +519 -357
- package/dist/error.mjs +503 -327
- package/dist/generation.d.ts +30 -0
- package/dist/generation.js +23 -0
- package/dist/generation.mjs +17 -0
- package/dist/handler/error.d.ts +7 -0
- package/dist/handler/error.js +105 -0
- package/dist/handler/error.mjs +104 -0
- package/dist/handler/fetch.d.ts +8 -0
- package/dist/handler/fetch.js +371 -0
- package/dist/handler/fetch.mjs +367 -0
- package/dist/handler/index.d.ts +2 -0
- package/dist/handler/index.js +5 -0
- package/dist/handler/index.mjs +3 -0
- package/dist/handler/utils.d.ts +15 -0
- package/dist/handler/utils.js +48 -0
- package/dist/handler/utils.mjs +42 -0
- package/dist/index.d.ts +23 -2198
- package/dist/index.js +62 -1948
- package/dist/index.mjs +20 -1986
- package/dist/memory.d.ts +4 -0
- package/dist/memory.js +17 -0
- package/dist/memory.mjs +16 -0
- package/dist/package.js +11 -0
- package/dist/package.mjs +5 -0
- package/dist/parse-query.d.ts +7 -9
- package/dist/parse-query.js +154 -164
- package/dist/parse-query.mjs +150 -133
- package/dist/plugin/aot/bun.d.ts +26 -0
- package/dist/plugin/aot/bun.js +35 -0
- package/dist/plugin/aot/bun.mjs +34 -0
- package/dist/plugin/aot/core.d.ts +291 -0
- package/dist/plugin/aot/core.js +505 -0
- package/dist/plugin/aot/core.mjs +481 -0
- package/dist/plugin/aot/esbuild.d.ts +28 -0
- package/dist/plugin/aot/esbuild.js +48 -0
- package/dist/plugin/aot/esbuild.mjs +46 -0
- package/dist/plugin/aot/hooks.d.ts +28 -0
- package/dist/plugin/aot/hooks.js +114 -0
- package/dist/plugin/aot/hooks.mjs +112 -0
- package/dist/plugin/aot/rspack-loader.d.ts +23 -0
- package/dist/plugin/aot/rspack-loader.js +44 -0
- package/dist/plugin/aot/rspack-loader.mjs +40 -0
- package/dist/plugin/aot/rspack.d.ts +23 -0
- package/dist/plugin/aot/rspack.js +85 -0
- package/dist/plugin/aot/rspack.mjs +82 -0
- package/dist/plugin/aot/source.d.ts +60 -0
- package/dist/plugin/aot/source.js +422 -0
- package/dist/plugin/aot/source.mjs +418 -0
- package/dist/plugin/aot/treeshake.d.ts +4 -0
- package/dist/plugin/aot/treeshake.js +95 -0
- package/dist/plugin/aot/treeshake.mjs +94 -0
- package/dist/plugin/aot/unplugin.d.ts +50 -0
- package/dist/plugin/aot/unplugin.js +64 -0
- package/dist/plugin/aot/unplugin.mjs +62 -0
- package/dist/plugin/aot/vite.d.ts +30 -0
- package/dist/plugin/aot/vite.js +34 -0
- package/dist/plugin/aot/vite.mjs +33 -0
- package/dist/plugin/aot/worker.d.ts +1 -0
- package/dist/plugin/aot/worker.js +28 -0
- package/dist/plugin/aot/worker.mjs +27 -0
- package/dist/plugin/auto-head.d.ts +6 -0
- package/dist/plugin/auto-head.js +38 -0
- package/dist/plugin/auto-head.mjs +36 -0
- package/dist/plugin/trace.d.ts +10 -0
- package/dist/plugin/trace.js +39 -0
- package/dist/plugin/trace.mjs +36 -0
- package/dist/plugin/websocket.d.ts +6 -0
- package/dist/plugin/websocket.js +61 -0
- package/dist/plugin/websocket.mjs +60 -0
- package/dist/route-table.d.ts +28 -0
- package/dist/route-table.js +64 -0
- package/dist/route-table.mjs +61 -0
- package/dist/schema-snapshot.d.ts +9 -0
- package/dist/schema-snapshot.js +271 -0
- package/dist/schema-snapshot.mjs +269 -0
- package/dist/sucrose.d.ts +28 -63
- package/dist/sucrose.js +814 -306
- package/dist/sucrose.mjs +805 -274
- package/dist/trace.d.ts +145 -130
- package/dist/trace.js +387 -135
- package/dist/trace.mjs +385 -113
- package/dist/type/bridge-live.d.ts +15 -0
- package/dist/type/bridge-live.js +39 -0
- package/dist/type/bridge-live.mjs +17 -0
- package/dist/type/bridge.d.ts +56 -0
- package/dist/type/bridge.js +180 -0
- package/dist/type/bridge.mjs +63 -0
- package/dist/type/coerce-plan.d.ts +38 -0
- package/dist/type/coerce-plan.js +107 -0
- package/dist/type/coerce-plan.mjs +98 -0
- package/dist/type/coerce.d.ts +43 -0
- package/dist/type/coerce.js +351 -0
- package/dist/type/coerce.mjs +339 -0
- package/dist/type/compat.d.ts +8 -0
- package/dist/type/compat.js +46 -0
- package/dist/type/compat.mjs +44 -0
- package/dist/type/constants.d.ts +25 -0
- package/dist/type/constants.js +36 -0
- package/dist/type/constants.mjs +32 -0
- package/dist/type/elysia/accelerate.d.ts +6 -0
- package/dist/type/elysia/accelerate.js +12 -0
- package/dist/type/elysia/accelerate.mjs +10 -0
- package/dist/type/elysia/array-buffer.d.ts +6 -0
- package/dist/type/elysia/array-buffer.js +27 -0
- package/dist/type/elysia/array-buffer.mjs +25 -0
- package/dist/type/elysia/array-string.d.ts +7 -0
- package/dist/type/elysia/array-string.js +28 -0
- package/dist/type/elysia/array-string.mjs +26 -0
- package/dist/type/elysia/array.d.ts +6 -0
- package/dist/type/elysia/array.js +32 -0
- package/dist/type/elysia/array.mjs +31 -0
- package/dist/type/elysia/boolean-string.d.ts +6 -0
- package/dist/type/elysia/boolean-string.js +24 -0
- package/dist/type/elysia/boolean-string.mjs +22 -0
- package/dist/type/elysia/boolean.d.ts +6 -0
- package/dist/type/elysia/boolean.js +20 -0
- package/dist/type/elysia/boolean.mjs +18 -0
- package/dist/type/elysia/cookie.d.ts +15 -0
- package/dist/type/elysia/cookie.js +51 -0
- package/dist/type/elysia/cookie.mjs +50 -0
- package/dist/type/elysia/date.d.ts +7 -0
- package/dist/type/elysia/date.js +98 -0
- package/dist/type/elysia/date.mjs +96 -0
- package/dist/type/elysia/file-type.d.ts +25 -0
- package/dist/type/elysia/file-type.js +81 -0
- package/dist/type/elysia/file-type.mjs +71 -0
- package/dist/type/elysia/file.d.ts +9 -0
- package/dist/type/elysia/file.js +64 -0
- package/dist/type/elysia/file.mjs +48 -0
- package/dist/type/elysia/files.d.ts +8 -0
- package/dist/type/elysia/files.js +45 -0
- package/dist/type/elysia/files.mjs +43 -0
- package/dist/type/elysia/form.d.ts +8 -0
- package/dist/type/elysia/form.js +17 -0
- package/dist/type/elysia/form.mjs +15 -0
- package/dist/type/elysia/integer-string.d.ts +7 -0
- package/dist/type/elysia/integer-string.js +40 -0
- package/dist/type/elysia/integer-string.mjs +38 -0
- package/dist/type/elysia/integer.d.ts +6 -0
- package/dist/type/elysia/integer.js +20 -0
- package/dist/type/elysia/integer.mjs +18 -0
- package/dist/type/elysia/intersect.d.ts +6 -0
- package/dist/type/elysia/intersect.js +20 -0
- package/dist/type/elysia/intersect.mjs +19 -0
- package/dist/type/elysia/maybe-empty.d.ts +7 -0
- package/dist/type/elysia/maybe-empty.js +21 -0
- package/dist/type/elysia/maybe-empty.mjs +19 -0
- package/dist/type/elysia/no-validate.d.ts +6 -0
- package/dist/type/elysia/no-validate.js +9 -0
- package/dist/type/elysia/no-validate.mjs +8 -0
- package/dist/type/elysia/nullable.d.ts +7 -0
- package/dist/type/elysia/nullable.js +15 -0
- package/dist/type/elysia/nullable.mjs +13 -0
- package/dist/type/elysia/number.d.ts +6 -0
- package/dist/type/elysia/number.js +20 -0
- package/dist/type/elysia/number.mjs +18 -0
- package/dist/type/elysia/numeric-enum.d.ts +11 -0
- package/dist/type/elysia/numeric-enum.js +26 -0
- package/dist/type/elysia/numeric-enum.mjs +24 -0
- package/dist/type/elysia/numeric.d.ts +7 -0
- package/dist/type/elysia/numeric.js +62 -0
- package/dist/type/elysia/numeric.mjs +60 -0
- package/dist/type/elysia/object-string.d.ts +7 -0
- package/dist/type/elysia/object-string.js +28 -0
- package/dist/type/elysia/object-string.mjs +26 -0
- package/dist/type/elysia/object.d.ts +6 -0
- package/dist/type/elysia/object.js +47 -0
- package/dist/type/elysia/object.mjs +46 -0
- package/dist/type/elysia/optional.d.ts +6 -0
- package/dist/type/elysia/optional.js +22 -0
- package/dist/type/elysia/optional.mjs +21 -0
- package/dist/type/elysia/string.d.ts +6 -0
- package/dist/type/elysia/string.js +43 -0
- package/dist/type/elysia/string.mjs +41 -0
- package/dist/type/elysia/uint8-array.d.ts +6 -0
- package/dist/type/elysia/uint8-array.js +27 -0
- package/dist/type/elysia/uint8-array.mjs +25 -0
- package/dist/type/elysia/union-enum.d.ts +8 -0
- package/dist/type/elysia/union-enum.js +31 -0
- package/dist/type/elysia/union-enum.mjs +29 -0
- package/dist/type/elysia/union.d.ts +6 -0
- package/dist/type/elysia/union.js +20 -0
- package/dist/type/elysia/union.mjs +19 -0
- package/dist/type/elysia/utils.d.ts +53 -0
- package/dist/type/elysia/utils.js +98 -0
- package/dist/type/elysia/utils.mjs +88 -0
- package/dist/type/exports.d.ts +36 -0
- package/dist/type/exports.js +68 -0
- package/dist/type/exports.mjs +36 -0
- package/dist/type/index.d.ts +13 -0
- package/dist/type/index.js +81 -0
- package/dist/type/index.mjs +68 -0
- package/dist/type/shared.d.ts +27 -0
- package/dist/type/shared.js +171 -0
- package/dist/type/shared.mjs +161 -0
- package/dist/type/types.d.ts +206 -0
- package/dist/type/types.js +1 -0
- package/dist/type/types.mjs +1 -0
- package/dist/type/utils.d.ts +7 -0
- package/dist/type/utils.js +43 -0
- package/dist/type/utils.mjs +41 -0
- package/dist/type/validator/clean-safe.d.ts +8 -0
- package/dist/type/validator/clean-safe.js +82 -0
- package/dist/type/validator/clean-safe.mjs +77 -0
- package/dist/type/validator/custom-error.d.ts +10 -0
- package/dist/type/validator/custom-error.js +191 -0
- package/dist/type/validator/custom-error.mjs +188 -0
- package/dist/type/validator/default-precompute.d.ts +26 -0
- package/dist/type/validator/default-precompute.js +432 -0
- package/dist/type/validator/default-precompute.mjs +421 -0
- package/dist/type/validator/exact-mirror.d.ts +7 -0
- package/dist/type/validator/exact-mirror.js +19 -0
- package/dist/type/validator/exact-mirror.mjs +15 -0
- package/dist/type/validator/frozen-check.d.ts +11 -0
- package/dist/type/validator/frozen-check.js +20 -0
- package/dist/type/validator/frozen-check.mjs +19 -0
- package/dist/type/validator/index.d.ts +32 -0
- package/dist/type/validator/index.js +657 -0
- package/dist/type/validator/index.mjs +651 -0
- package/dist/type/validator/string-codec-aot.d.ts +8 -0
- package/dist/type/validator/string-codec-aot.js +68 -0
- package/dist/type/validator/string-codec-aot.mjs +66 -0
- package/dist/type/validator/validator-cache.d.ts +26 -0
- package/dist/type/validator/validator-cache.js +247 -0
- package/dist/type/validator/validator-cache.mjs +242 -0
- package/dist/types.d.ts +938 -1235
- package/dist/types.js +1 -14
- package/dist/types.mjs +1 -0
- package/dist/universal/constants.d.ts +6 -0
- package/dist/universal/constants.js +19 -0
- package/dist/universal/constants.mjs +15 -0
- package/dist/universal/env.d.ts +5 -1
- package/dist/universal/env.js +12 -26
- package/dist/universal/env.mjs +10 -5
- package/dist/universal/file.d.ts +55 -86
- package/dist/universal/file.js +116 -157
- package/dist/universal/file.mjs +111 -132
- package/dist/universal/index.d.ts +5 -3
- package/dist/universal/index.js +8 -27
- package/dist/universal/index.mjs +4 -5
- package/dist/universal/is-production.d.ts +5 -0
- package/dist/universal/is-production.js +10 -0
- package/dist/universal/is-production.mjs +8 -0
- package/dist/universal/server.d.ts +318 -313
- package/dist/universal/server.js +1 -14
- package/dist/universal/server.mjs +1 -0
- package/dist/utils.d.ts +162 -191
- package/dist/utils.js +732 -693
- package/dist/utils.mjs +683 -631
- package/dist/validator/index.d.ts +63 -0
- package/dist/validator/index.js +299 -0
- package/dist/validator/index.mjs +296 -0
- package/dist/validator/route.d.ts +32 -0
- package/dist/validator/route.js +51 -0
- package/dist/validator/route.mjs +50 -0
- package/dist/ws/context.d.ts +49 -0
- package/dist/ws/context.js +152 -0
- package/dist/ws/context.mjs +150 -0
- package/dist/ws/index.d.ts +5 -77
- package/dist/ws/index.js +11 -180
- package/dist/ws/index.mjs +5 -157
- package/dist/ws/parser.d.ts +5 -0
- package/dist/ws/parser.js +69 -0
- package/dist/ws/parser.mjs +66 -0
- package/dist/ws/route.d.ts +16 -0
- package/dist/ws/route.js +560 -0
- package/dist/ws/route.mjs +554 -0
- package/dist/ws/types.d.ts +154 -57
- package/dist/ws/types.js +1 -14
- package/dist/ws/types.mjs +1 -0
- package/package.json +179 -120
- package/bunfig.toml +0 -2
- package/dist/adapter/bun/compose.d.ts +0 -3
- package/dist/adapter/bun/compose.js +0 -90
- package/dist/adapter/bun/compose.mjs +0 -74
- package/dist/adapter/bun/handler-native.d.ts +0 -3
- package/dist/adapter/bun/handler-native.js +0 -42
- package/dist/adapter/bun/handler-native.mjs +0 -22
- package/dist/adapter/bun/handler.d.ts +0 -7
- package/dist/adapter/bun/handler.js +0 -363
- package/dist/adapter/bun/handler.mjs +0 -346
- package/dist/adapter/cloudflare-worker/index.d.ts +0 -20
- package/dist/adapter/cloudflare-worker/index.js +0 -59
- package/dist/adapter/cloudflare-worker/index.mjs +0 -39
- package/dist/compose.d.ts +0 -30
- package/dist/compose.js +0 -1324
- package/dist/compose.mjs +0 -1336
- package/dist/cookies.d.ts +0 -158
- package/dist/cookies.js +0 -250
- package/dist/cookies.mjs +0 -221
- package/dist/dynamic-handle.d.ts +0 -15
- package/dist/dynamic-handle.js +0 -521
- package/dist/dynamic-handle.mjs +0 -509
- package/dist/formats.d.ts +0 -79
- package/dist/formats.js +0 -153
- package/dist/formats.mjs +0 -132
- package/dist/manifest.d.ts +0 -0
- package/dist/manifest.js +0 -1
- package/dist/manifest.mjs +0 -0
- package/dist/replace-schema.d.ts +0 -60
- package/dist/replace-schema.js +0 -140
- package/dist/replace-schema.mjs +0 -115
- package/dist/schema.d.ts +0 -107
- package/dist/schema.js +0 -833
- package/dist/schema.mjs +0 -814
- package/dist/type-system/format.d.ts +0 -55
- package/dist/type-system/format.js +0 -197
- package/dist/type-system/format.mjs +0 -175
- package/dist/type-system/index.d.ts +0 -45
- package/dist/type-system/index.js +0 -406
- package/dist/type-system/index.mjs +0 -394
- package/dist/type-system/types.d.ts +0 -155
- package/dist/type-system/types.js +0 -14
- package/dist/type-system/types.mjs +0 -0
- package/dist/type-system/utils.d.ts +0 -62
- package/dist/type-system/utils.js +0 -141
- package/dist/type-system/utils.mjs +0 -111
- package/dist/universal/request.d.ts +0 -29
- package/dist/universal/request.js +0 -126
- package/dist/universal/request.mjs +0 -105
- package/dist/universal/types.d.ts +0 -124
- package/dist/universal/types.js +0 -41
- package/dist/universal/types.mjs +0 -19
- package/dist/universal/utils.d.ts +0 -3
- package/dist/universal/utils.js +0 -41
- package/dist/universal/utils.mjs +0 -18
- package/dist/ws/bun.d.ts +0 -419
- package/dist/ws/bun.js +0 -14
- package/dist/ws/bun.mjs +0 -0
- package/knip.json +0 -22
package/dist/utils.d.ts
CHANGED
|
@@ -1,209 +1,180 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
readonly 'Unsupported Media Type': 415;
|
|
67
|
-
readonly 'Range Not Satisfiable': 416;
|
|
68
|
-
readonly 'Expectation Failed': 417;
|
|
69
|
-
readonly "I'm a teapot": 418;
|
|
70
|
-
readonly 'Enhance Your Calm': 420;
|
|
71
|
-
readonly 'Misdirected Request': 421;
|
|
72
|
-
readonly 'Unprocessable Content': 422;
|
|
73
|
-
readonly Locked: 423;
|
|
74
|
-
readonly 'Failed Dependency': 424;
|
|
75
|
-
readonly 'Too Early': 425;
|
|
76
|
-
readonly 'Upgrade Required': 426;
|
|
77
|
-
readonly 'Precondition Required': 428;
|
|
78
|
-
readonly 'Too Many Requests': 429;
|
|
79
|
-
readonly 'Request Header Fields Too Large': 431;
|
|
80
|
-
readonly 'Unavailable For Legal Reasons': 451;
|
|
81
|
-
readonly 'Internal Server Error': 500;
|
|
82
|
-
readonly 'Not Implemented': 501;
|
|
83
|
-
readonly 'Bad Gateway': 502;
|
|
84
|
-
readonly 'Service Unavailable': 503;
|
|
85
|
-
readonly 'Gateway Timeout': 504;
|
|
86
|
-
readonly 'HTTP Version Not Supported': 505;
|
|
87
|
-
readonly 'Variant Also Negotiates': 506;
|
|
88
|
-
readonly 'Insufficient Storage': 507;
|
|
89
|
-
readonly 'Loop Detected': 508;
|
|
90
|
-
readonly 'Not Extended': 510;
|
|
91
|
-
readonly 'Network Authentication Required': 511;
|
|
1
|
+
import { AnyLocalHook, AppHook, ElysiaFormData, EventFn, EventScope, GuardSchemaType, InputSchema, Macro, MaybeArray, Prettify, SSEPayload } from "./types.js";
|
|
2
|
+
import { Context } from "./context.js";
|
|
3
|
+
import { AnySchema, StandardSchemaV1Like } from "./type/types.js";
|
|
4
|
+
|
|
5
|
+
//#region src/utils.d.ts
|
|
6
|
+
type DeriveEntry = Function | readonly [Function, 'mapDerive'];
|
|
7
|
+
declare const nullObject: () => any;
|
|
8
|
+
declare const mapDeriveEntry: (fn: Function) => DeriveEntry;
|
|
9
|
+
declare const deriveEntryFn: (entry: DeriveEntry) => any;
|
|
10
|
+
declare const isMapDeriveEntry: (entry: DeriveEntry) => boolean;
|
|
11
|
+
declare function isEmpty<T extends Object>(obj: T): boolean;
|
|
12
|
+
declare const isNotEmpty: <T extends Object>(obj?: T) => boolean | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* @internal Generational cache eviction at cap, drop the oldest half.
|
|
15
|
+
*
|
|
16
|
+
* `map.delete(oldest)` per insert leaks ~1KB/eviction on JSC in ~1/3 of
|
|
17
|
+
* processes (churned bucket cells permanently grow the heap and are never
|
|
18
|
+
* reclaimed); clear + reinsert of the newest half measures clean and
|
|
19
|
+
* amortizes to O(1) per insertion.
|
|
20
|
+
*/
|
|
21
|
+
declare function evictOldestHalf(cache: Map<any, any>): void;
|
|
22
|
+
declare function fnv1a(str: string): number;
|
|
23
|
+
/**
|
|
24
|
+
* Maps each lifecycle/derive function to the hash of the named plugin it was
|
|
25
|
+
* first registered on. Used by `.use()` to dedup absorbed hooks: if a fn's
|
|
26
|
+
* origin is already in `parent.#apps`, the parent has already absorbed that
|
|
27
|
+
* named plugin via another path and should skip re-adding the fn.
|
|
28
|
+
*
|
|
29
|
+
* Anonymous plugins (no name) don't tag their fns - there's no hash to dedup
|
|
30
|
+
* by, so their fns always propagate.
|
|
31
|
+
*/
|
|
32
|
+
declare const fnOrigin: WeakMap<Function, number>;
|
|
33
|
+
declare const macroOrigin: WeakMap<object | Function, number>;
|
|
34
|
+
declare const isLocalScope: (s: EventScope | undefined) => s is "local" | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Linked-list representation of the scope/global hook chain of a route
|
|
37
|
+
*
|
|
38
|
+
* Each `.use()` that propagates extends the parent instance's chain
|
|
39
|
+
* by one node; routes absorbed in that `.use()` snapshot the head pointer
|
|
40
|
+
*
|
|
41
|
+
* - O(1) per stamp, O(N) memory per instance regardless of route count
|
|
42
|
+
*
|
|
43
|
+
* shapes:
|
|
44
|
+
* 1. "standard" node: `added` + `parent` set, `combine`/`over` undefined
|
|
45
|
+
* 2. "combine" node: `combine` + `over` set, `added`/`parent` undefined
|
|
46
|
+
*
|
|
47
|
+
* Combine nodes appear at multi-level absorption (parent.use(child) when
|
|
48
|
+
* child's routes already had their own chain): they link two sibling chains
|
|
49
|
+
* without flattening - `over` is walked first (older / outer context),
|
|
50
|
+
* then `combine` (newer / inner context)
|
|
51
|
+
*
|
|
52
|
+
* Use with {@link flattenChain} to walk tail-first and reconstruct
|
|
53
|
+
* flat `Partial<AppHook>` at compile time
|
|
54
|
+
*/
|
|
55
|
+
type ChainNode = {
|
|
56
|
+
added: Partial<AppHook>;
|
|
57
|
+
parent: ChainNode | undefined;
|
|
58
|
+
refs: boolean;
|
|
59
|
+
scope?: EventScope;
|
|
60
|
+
propagated?: boolean;
|
|
61
|
+
owner?: object;
|
|
62
|
+
} | {
|
|
63
|
+
combine: ChainNode;
|
|
64
|
+
over: ChainNode | undefined;
|
|
65
|
+
refs: boolean;
|
|
92
66
|
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
export declare const signCookie: (val: string, secret: string | null) => Promise<string>;
|
|
97
|
-
export declare const unsignCookie: (input: string, secret: string | null) => Promise<string | false>;
|
|
98
|
-
export declare const insertStandaloneValidator: <const Name extends keyof InputSchema>(hook: {
|
|
99
|
-
standaloneValidator: InputSchema[];
|
|
100
|
-
}, name: Name, value: InputSchema[Name]) => void;
|
|
101
|
-
export declare const isNumericString: (message: string | number) => boolean;
|
|
102
|
-
export declare class PromiseGroup implements PromiseLike<void> {
|
|
103
|
-
onError: (error: any) => void;
|
|
104
|
-
onFinally: () => void;
|
|
105
|
-
root: Promise<any> | null;
|
|
106
|
-
promises: Promise<any>[];
|
|
107
|
-
constructor(onError?: (error: any) => void, onFinally?: () => void);
|
|
108
|
-
/**
|
|
109
|
-
* The number of promises still being awaited.
|
|
110
|
-
*/
|
|
111
|
-
get size(): number;
|
|
112
|
-
/**
|
|
113
|
-
* Add a promise to the group.
|
|
114
|
-
* @returns The promise that was added.
|
|
115
|
-
*/
|
|
116
|
-
add<T>(promise: Promise<T>): Promise<T>;
|
|
117
|
-
private drain;
|
|
118
|
-
then<TResult1 = void, TResult2 = never>(onfulfilled?: ((value: void) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): PromiseLike<TResult1 | TResult2>;
|
|
67
|
+
interface CompactBeforeHandleChunk {
|
|
68
|
+
parent?: CompactBeforeHandleChunk;
|
|
69
|
+
values: readonly Function[];
|
|
119
70
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
71
|
+
interface CompactBeforeHandlePrefix {
|
|
72
|
+
tail?: CompactBeforeHandleChunk;
|
|
73
|
+
length: number;
|
|
74
|
+
previous?: CompactBeforeHandlePrefix;
|
|
75
|
+
added: readonly Function[];
|
|
76
|
+
}
|
|
77
|
+
declare const isCompactBeforeHandleOnly: (hook: Partial<AppHook> | undefined) => boolean;
|
|
78
|
+
declare function compactBeforeHandleConflicts(hook: Partial<AppHook> | undefined): boolean;
|
|
79
|
+
declare function compactBeforeHandlePrefix(start: ChainNode | undefined): CompactBeforeHandlePrefix | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Walk the chain tail-first into a fresh `Partial<AppHook>`
|
|
82
|
+
*
|
|
83
|
+
* Explicit-stack walk (no recursion) so it works uniformly for linear
|
|
84
|
+
* chains and combine nodes without risking stack overflow on deep chains
|
|
85
|
+
*/
|
|
86
|
+
declare function flattenChain(start: ChainNode | undefined, keep?: (s: EventScope | undefined) => boolean, stopAt?: ChainNode, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined): Partial<AppHook> | undefined;
|
|
87
|
+
declare const macroEpoch: () => number;
|
|
88
|
+
declare const invalidateMacroEpoch: () => void;
|
|
89
|
+
/** Drop this root's flattened-chain memo. Recomputable on next compile. */
|
|
90
|
+
declare function clearFlattenChainMemo(root: object): void;
|
|
91
|
+
declare function flattenChainMemo(root: object, start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined): Partial<AppHook> | undefined;
|
|
92
|
+
declare function flattenChainMemoReadonly(root: object, start: ChainNode | undefined, resolveAdded?: (node: ChainNode) => Partial<AppHook> | undefined): Partial<AppHook> | undefined;
|
|
136
93
|
/**
|
|
137
94
|
*
|
|
138
95
|
* @param url URL to redirect to
|
|
139
96
|
* @param HTTP status code to send,
|
|
140
97
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
[key in keyof A]: IsTuple<A[key]> extends true ? A[key][number] extends Blob | ElysiaFile ? File[] : A[key] : A[key];
|
|
149
|
-
} : T;
|
|
150
|
-
};
|
|
151
|
-
export declare const ELYSIA_REQUEST_ID: unique symbol;
|
|
152
|
-
export type ELYSIA_REQUEST_ID = typeof ELYSIA_REQUEST_ID;
|
|
153
|
-
export declare const form: <const T extends Record<keyof any, unknown>>(items: T) => ElysiaFormData<T>;
|
|
98
|
+
declare const redirect: (url: string, status?: 301 | 302 | 303 | 307 | 308) => Response;
|
|
99
|
+
type redirect = typeof redirect;
|
|
100
|
+
/**
|
|
101
|
+
* Build `FormData` from a `form()` object, skipping the internal `~ely-form`
|
|
102
|
+
* marker that flags the object as a form.
|
|
103
|
+
*/
|
|
104
|
+
declare function formToFormData(value: Record<keyof any, unknown>): FormData;
|
|
154
105
|
/**
|
|
155
|
-
*
|
|
106
|
+
* Return a `multipart/form-data` response.
|
|
156
107
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```ts
|
|
110
|
+
* import { Elysia, form, file } from 'elysia'
|
|
160
111
|
*
|
|
161
|
-
*
|
|
112
|
+
* new Elysia().get('/', () =>
|
|
113
|
+
* form({
|
|
114
|
+
* name: 'Tea Party',
|
|
115
|
+
* images: [file('1.webp'), file('2.webp')]
|
|
116
|
+
* })
|
|
117
|
+
* )
|
|
118
|
+
* ```
|
|
162
119
|
*/
|
|
163
|
-
|
|
164
|
-
|
|
120
|
+
declare const form: <const T extends Record<keyof any, unknown>>(value: T) => ElysiaFormData<T>;
|
|
121
|
+
declare const getLoosePath: (path: string) => string;
|
|
165
122
|
/**
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
123
|
+
* Certify a byte stream for direct Response body pass-through.
|
|
124
|
+
*
|
|
125
|
+
* The returned Response owns this exact stream. Cancel it through the response
|
|
126
|
+
* body reader; preserving identity means Elysia does not install a second
|
|
127
|
+
* request-signal reader after the body is locked.
|
|
169
128
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
export declare const isNotEmpty: (obj?: Object) => boolean;
|
|
173
|
-
export declare const encodePath: (path: string, { dynamic }?: {
|
|
174
|
-
dynamic?: boolean | undefined;
|
|
175
|
-
}) => string;
|
|
176
|
-
export declare const supportPerMethodInlineHandler: boolean;
|
|
129
|
+
declare function bytes<T extends ReadableStream<Uint8Array>>(stream: T): T;
|
|
130
|
+
declare const isByteStream: (value: unknown) => value is ReadableStream<Uint8Array>;
|
|
177
131
|
type FormatSSEPayload<T = unknown> = T extends string ? {
|
|
178
|
-
|
|
132
|
+
readonly data: T;
|
|
179
133
|
} : Prettify<SSEPayload<T>>;
|
|
134
|
+
declare const sse: <const T extends string | SSEPayload | Generator | AsyncGenerator | ReadableStream>(_payload: T) => T extends string ? {
|
|
135
|
+
readonly data: T;
|
|
136
|
+
} : T extends SSEPayload ? T : T extends ReadableStream<infer A> ? ReadableStream<FormatSSEPayload<A>> : T extends Generator<infer A, infer B, infer C> ? Generator<FormatSSEPayload<A>, B, C> : T extends AsyncGenerator<infer A, infer B_1, infer C_1> ? AsyncGenerator<FormatSSEPayload<A>, B_1, C_1> : T;
|
|
137
|
+
declare const constantTimeEqual: (a: string, b: string) => boolean;
|
|
138
|
+
declare const isRecordNumber: (x: Record<keyof object, unknown> | undefined) => x is Record<number, unknown>;
|
|
139
|
+
declare function mergeResponse(a: InputSchema['response'], b: InputSchema['response']): string | {
|
|
140
|
+
'~kind': string;
|
|
141
|
+
} | {
|
|
142
|
+
'~unsafe': unknown;
|
|
143
|
+
} | {
|
|
144
|
+
'~refine': unknown;
|
|
145
|
+
} | {
|
|
146
|
+
'~codec': unknown;
|
|
147
|
+
} | StandardSchemaV1Like<unknown, unknown> | Record<number, string | AnySchema> | undefined;
|
|
180
148
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
* @example
|
|
184
|
-
* ```ts
|
|
185
|
-
* import { sse } from 'elysia'
|
|
149
|
+
* a is mutable, b is immutable
|
|
186
150
|
*
|
|
187
|
-
*
|
|
188
|
-
* .get('/sse', function*() {
|
|
189
|
-
* yield sse('Hello, world!')
|
|
190
|
-
* yield sse({
|
|
191
|
-
* event: 'message',
|
|
192
|
-
* data: { message: 'This is a JSON object' }
|
|
193
|
-
* })
|
|
194
|
-
* }
|
|
151
|
+
* If both are arrays, mutates a by pushing/appending b
|
|
195
152
|
*/
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
|
|
153
|
+
declare function mergeArray<A extends MaybeArray<unknown> | undefined, B extends MaybeArray<unknown> | undefined>(a: A, b: B, reverse?: boolean): (A extends unknown[] ? A : []) | (B extends unknown[] ? B : []);
|
|
154
|
+
declare const schemaProperties: Set<string>;
|
|
155
|
+
declare const eventProperties: Set<string>;
|
|
156
|
+
declare function hookToGuard(a: Partial<AppHook & Macro> & {
|
|
157
|
+
schema?: GuardSchemaType;
|
|
158
|
+
}): Partial<AppHook & Macro>;
|
|
159
|
+
declare function coalesceSchemas(existing: any[], incoming: any[]): void;
|
|
160
|
+
declare function mergeHook(a: Partial<AppHook>, b: Partial<AppHook> | undefined, reverse?: boolean, dedup?: boolean): Partial<AppHook>;
|
|
161
|
+
declare const createErrorEventHandler: (fn: EventFn<"error">, error: Error) => (context: Context) => unknown;
|
|
162
|
+
declare function mergeDeep<A extends Record<string, any>, B extends Record<string, any>>(target: A, source: B, skipKeys?: string[], override?: boolean, mergeArray?: boolean, seen?: WeakSet<object>, cloneAdopt?: {
|
|
163
|
+
map?: WeakMap<object, any>;
|
|
164
|
+
}): A & B;
|
|
165
|
+
declare const isBlob: (value: unknown) => value is Blob;
|
|
166
|
+
declare function cloneHook<T extends Partial<AnyLocalHook> | Partial<AppHook>>(src: T): T;
|
|
167
|
+
declare function clonePlainDeep<T>(value: T, seen?: WeakMap<object, any>): T;
|
|
168
|
+
declare function guardNonPlainLeaves(target: Record<string, unknown>, source: Record<string, unknown>): void;
|
|
169
|
+
declare function joinPath(base: string, path: string): string;
|
|
170
|
+
declare function pushField<K extends keyof any>(target: Record<K, unknown>, key: K, item: unknown, defaultArray?: boolean): void;
|
|
171
|
+
declare const requestId: any;
|
|
172
|
+
declare function replaceUrlPath(url: string, path: string): string;
|
|
173
|
+
declare function clonePlainDecorators<T extends Record<string, unknown>>(source: T, seen?: WeakMap<object, any>): T;
|
|
174
|
+
declare function prefix<T extends string, Models extends Record<string, AnySchema>>(prefix: T, models: Models): { [k in keyof Models as `${T}.${k & string}`]: Models[k] };
|
|
175
|
+
declare namespace prefix {
|
|
176
|
+
var capitalize: <T extends string, Models extends Record<string, AnySchema>>(prefix: T, models: Models) => { [k in keyof Models as `${T}.${Capitalize<k & string>}`]: Models[k] };
|
|
177
|
+
}
|
|
178
|
+
declare function serializeMacroSeed(_key: string, value: unknown): unknown;
|
|
179
|
+
//#endregion
|
|
180
|
+
export { ChainNode, CompactBeforeHandleChunk, CompactBeforeHandlePrefix, DeriveEntry, bytes, clearFlattenChainMemo, cloneHook, clonePlainDecorators, clonePlainDeep, coalesceSchemas, compactBeforeHandleConflicts, compactBeforeHandlePrefix, constantTimeEqual, createErrorEventHandler, deriveEntryFn, eventProperties, evictOldestHalf, flattenChain, flattenChainMemo, flattenChainMemoReadonly, fnOrigin, fnv1a, form, formToFormData, getLoosePath, guardNonPlainLeaves, hookToGuard, invalidateMacroEpoch, isBlob, isByteStream, isCompactBeforeHandleOnly, isEmpty, isLocalScope, isMapDeriveEntry, isNotEmpty, isRecordNumber, joinPath, macroEpoch, macroOrigin, mapDeriveEntry, mergeArray, mergeDeep, mergeHook, mergeResponse, nullObject, prefix, pushField, redirect, replaceUrlPath, requestId, schemaProperties, serializeMacroSeed, sse };
|