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
|
@@ -1,401 +1,145 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from "../utils.mjs";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
case "Number":
|
|
139
|
-
case "Boolean":
|
|
140
|
-
return new Response(
|
|
141
|
-
response.toString(),
|
|
142
|
-
set
|
|
143
|
-
);
|
|
144
|
-
case "FormData":
|
|
145
|
-
return new Response(response);
|
|
146
|
-
case "Cookie":
|
|
147
|
-
return response instanceof Cookie ? new Response(response.value, set) : new Response(response?.toString(), set);
|
|
148
|
-
default:
|
|
149
|
-
if (response instanceof Response)
|
|
150
|
-
return handleResponse(response, set, request);
|
|
151
|
-
if (response instanceof Promise)
|
|
152
|
-
return response.then((x) => mapEarlyResponse(x, set));
|
|
153
|
-
if (response instanceof Error)
|
|
154
|
-
return errorToResponse(response, set);
|
|
155
|
-
if (response instanceof ElysiaCustomStatusResponse)
|
|
156
|
-
return set.status = response.code, mapEarlyResponse(
|
|
157
|
-
response.response,
|
|
158
|
-
set,
|
|
159
|
-
request
|
|
160
|
-
);
|
|
161
|
-
if (
|
|
162
|
-
// @ts-expect-error
|
|
163
|
-
typeof response?.next == "function" || response instanceof ReadableStream
|
|
164
|
-
)
|
|
165
|
-
return handleStream(response, set, request);
|
|
166
|
-
if (typeof response?.then == "function")
|
|
167
|
-
return response.then(
|
|
168
|
-
(x) => mapEarlyResponse(x, set)
|
|
169
|
-
);
|
|
170
|
-
if (typeof response?.toResponse == "function")
|
|
171
|
-
return mapEarlyResponse(response.toResponse(), set);
|
|
172
|
-
if (Array.isArray(response))
|
|
173
|
-
return new Response(JSON.stringify(response), {
|
|
174
|
-
headers: {
|
|
175
|
-
"Content-Type": "application/json"
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
if ("charCodeAt" in response) {
|
|
179
|
-
const code = response.charCodeAt(0);
|
|
180
|
-
if (code === 123 || code === 91)
|
|
181
|
-
return set.headers["Content-Type"] || (set.headers["Content-Type"] = "application/json"), new Response(
|
|
182
|
-
JSON.stringify(response),
|
|
183
|
-
set
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
return new Response(response, set);
|
|
187
|
-
}
|
|
188
|
-
else
|
|
189
|
-
switch (response?.constructor?.name) {
|
|
190
|
-
case "String":
|
|
191
|
-
return set.headers["content-type"] || (set.headers["content-type"] = "text/plain"), new Response(response);
|
|
192
|
-
case "Array":
|
|
193
|
-
case "Object":
|
|
194
|
-
return set.headers["content-type"] || (set.headers["content-type"] = "application/json"), new Response(JSON.stringify(response), set);
|
|
195
|
-
case "ElysiaFile":
|
|
196
|
-
return handleElysiaFile(response, set, request);
|
|
197
|
-
case "File":
|
|
198
|
-
return handleFile(response, set, request);
|
|
199
|
-
case "Blob":
|
|
200
|
-
return handleFile(response, set, request);
|
|
201
|
-
case "ElysiaCustomStatusResponse":
|
|
202
|
-
return set.status = response.code, mapEarlyResponse(
|
|
203
|
-
response.response,
|
|
204
|
-
set,
|
|
205
|
-
request
|
|
206
|
-
);
|
|
207
|
-
case void 0:
|
|
208
|
-
return response ? new Response(JSON.stringify(response), {
|
|
209
|
-
headers: {
|
|
210
|
-
"content-type": "application/json"
|
|
211
|
-
}
|
|
212
|
-
}) : new Response("");
|
|
213
|
-
case "Response":
|
|
214
|
-
return response;
|
|
215
|
-
case "Promise":
|
|
216
|
-
return response.then((x) => {
|
|
217
|
-
const r = mapEarlyResponse(x, set);
|
|
218
|
-
if (r !== void 0) return r;
|
|
219
|
-
});
|
|
220
|
-
case "Error":
|
|
221
|
-
return errorToResponse(response, set);
|
|
222
|
-
case "Function":
|
|
223
|
-
return mapCompactResponse(response(), request);
|
|
224
|
-
case "Number":
|
|
225
|
-
case "Boolean":
|
|
226
|
-
return new Response(response.toString());
|
|
227
|
-
case "Cookie":
|
|
228
|
-
return response instanceof Cookie ? new Response(response.value, set) : new Response(response?.toString(), set);
|
|
229
|
-
case "FormData":
|
|
230
|
-
return new Response(response);
|
|
231
|
-
default:
|
|
232
|
-
if (response instanceof Response) return response;
|
|
233
|
-
if (response instanceof Promise)
|
|
234
|
-
return response.then((x) => mapEarlyResponse(x, set));
|
|
235
|
-
if (response instanceof Error)
|
|
236
|
-
return errorToResponse(response, set);
|
|
237
|
-
if (response instanceof ElysiaCustomStatusResponse)
|
|
238
|
-
return set.status = response.code, mapEarlyResponse(
|
|
239
|
-
response.response,
|
|
240
|
-
set,
|
|
241
|
-
request
|
|
242
|
-
);
|
|
243
|
-
if (
|
|
244
|
-
// @ts-expect-error
|
|
245
|
-
typeof response?.next == "function" || response instanceof ReadableStream
|
|
246
|
-
)
|
|
247
|
-
return handleStream(response, set, request);
|
|
248
|
-
if (typeof response?.then == "function")
|
|
249
|
-
return response.then(
|
|
250
|
-
(x) => mapEarlyResponse(x, set)
|
|
251
|
-
);
|
|
252
|
-
if (typeof response?.toResponse == "function")
|
|
253
|
-
return mapEarlyResponse(response.toResponse(), set);
|
|
254
|
-
if (Array.isArray(response))
|
|
255
|
-
return new Response(JSON.stringify(response), {
|
|
256
|
-
headers: {
|
|
257
|
-
"Content-Type": "application/json"
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
if ("charCodeAt" in response) {
|
|
261
|
-
const code = response.charCodeAt(0);
|
|
262
|
-
if (code === 123 || code === 91)
|
|
263
|
-
return set.headers["Content-Type"] || (set.headers["Content-Type"] = "application/json"), new Response(
|
|
264
|
-
JSON.stringify(response),
|
|
265
|
-
set
|
|
266
|
-
);
|
|
267
|
-
}
|
|
268
|
-
return new Response(response);
|
|
269
|
-
}
|
|
270
|
-
}, mapCompactResponse = (response, request) => {
|
|
271
|
-
switch (response?.constructor?.name) {
|
|
272
|
-
case "String":
|
|
273
|
-
return new Response(response, {
|
|
274
|
-
headers: {
|
|
275
|
-
"Content-Type": "text/plain"
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
case "Object":
|
|
279
|
-
case "Array":
|
|
280
|
-
return new Response(JSON.stringify(response), {
|
|
281
|
-
headers: {
|
|
282
|
-
"Content-Type": "application/json"
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
|
-
case "ElysiaFile":
|
|
286
|
-
return handleElysiaFile(response, void 0, request);
|
|
287
|
-
case "File":
|
|
288
|
-
return handleFile(response, void 0, request);
|
|
289
|
-
case "Blob":
|
|
290
|
-
return handleFile(response, void 0, request);
|
|
291
|
-
case "ElysiaCustomStatusResponse":
|
|
292
|
-
return mapResponse(
|
|
293
|
-
response.response,
|
|
294
|
-
{
|
|
295
|
-
status: response.code,
|
|
296
|
-
headers: {}
|
|
297
|
-
}
|
|
298
|
-
);
|
|
299
|
-
case void 0:
|
|
300
|
-
return response ? new Response(JSON.stringify(response), {
|
|
301
|
-
headers: {
|
|
302
|
-
"content-type": "application/json"
|
|
303
|
-
}
|
|
304
|
-
}) : new Response("");
|
|
305
|
-
case "Response":
|
|
306
|
-
return response;
|
|
307
|
-
case "Error":
|
|
308
|
-
return errorToResponse(response);
|
|
309
|
-
case "Promise":
|
|
310
|
-
return response.then(
|
|
311
|
-
(x) => mapCompactResponse(x, request)
|
|
312
|
-
);
|
|
313
|
-
// ? Maybe response or Blob
|
|
314
|
-
case "Function":
|
|
315
|
-
return mapCompactResponse(response(), request);
|
|
316
|
-
case "Number":
|
|
317
|
-
case "Boolean":
|
|
318
|
-
return new Response(response.toString());
|
|
319
|
-
case "FormData":
|
|
320
|
-
return new Response(response);
|
|
321
|
-
default:
|
|
322
|
-
if (response instanceof Response) return response;
|
|
323
|
-
if (response instanceof Promise)
|
|
324
|
-
return response.then(
|
|
325
|
-
(x) => mapCompactResponse(x, request)
|
|
326
|
-
);
|
|
327
|
-
if (response instanceof Error)
|
|
328
|
-
return errorToResponse(response);
|
|
329
|
-
if (response instanceof ElysiaCustomStatusResponse)
|
|
330
|
-
return mapResponse(
|
|
331
|
-
response.response,
|
|
332
|
-
{
|
|
333
|
-
status: response.code,
|
|
334
|
-
headers: {}
|
|
335
|
-
}
|
|
336
|
-
);
|
|
337
|
-
if (
|
|
338
|
-
// @ts-expect-error
|
|
339
|
-
typeof response?.next == "function" || response instanceof ReadableStream
|
|
340
|
-
)
|
|
341
|
-
return handleStream(response, void 0, request);
|
|
342
|
-
if (typeof response?.then == "function")
|
|
343
|
-
return response.then(
|
|
344
|
-
(x) => mapCompactResponse(x, request)
|
|
345
|
-
);
|
|
346
|
-
if (typeof response?.toResponse == "function")
|
|
347
|
-
return mapCompactResponse(response.toResponse());
|
|
348
|
-
if (Array.isArray(response))
|
|
349
|
-
return new Response(JSON.stringify(response), {
|
|
350
|
-
headers: {
|
|
351
|
-
"Content-Type": "application/json"
|
|
352
|
-
}
|
|
353
|
-
});
|
|
354
|
-
if ("charCodeAt" in response) {
|
|
355
|
-
const code = response.charCodeAt(0);
|
|
356
|
-
if (code === 123 || code === 91)
|
|
357
|
-
return new Response(JSON.stringify(response), {
|
|
358
|
-
headers: {
|
|
359
|
-
"Content-Type": "application/json"
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
return new Response(response);
|
|
364
|
-
}
|
|
365
|
-
}, errorToResponse = (error, set) => {
|
|
366
|
-
if (typeof error?.toResponse == "function") {
|
|
367
|
-
const raw = error.toResponse(), targetSet = set ?? { headers: {}, status: 200, redirect: "" }, apply = (resolved) => (resolved instanceof Response && (targetSet.status = resolved.status), mapResponse(resolved, targetSet));
|
|
368
|
-
return typeof raw?.then == "function" ? raw.then(apply) : apply(raw);
|
|
369
|
-
}
|
|
370
|
-
return new Response(
|
|
371
|
-
JSON.stringify({
|
|
372
|
-
name: error?.name,
|
|
373
|
-
message: error?.message,
|
|
374
|
-
cause: error?.cause
|
|
375
|
-
}),
|
|
376
|
-
{
|
|
377
|
-
status: set?.status !== 200 ? set?.status ?? 500 : 500,
|
|
378
|
-
headers: set?.headers
|
|
379
|
-
}
|
|
380
|
-
);
|
|
381
|
-
}, createStaticHandler = (handle, hooks, setHeaders = {}) => {
|
|
382
|
-
if (typeof handle == "function") return;
|
|
383
|
-
const response = mapResponse(handle, {
|
|
384
|
-
headers: setHeaders
|
|
385
|
-
});
|
|
386
|
-
if (!hooks.parse?.length && !hooks.transform?.length && !hooks.beforeHandle?.length && !hooks.afterHandle?.length)
|
|
387
|
-
return () => response.clone();
|
|
388
|
-
}, handleResponse = createResponseHandler({
|
|
389
|
-
mapResponse,
|
|
390
|
-
mapCompactResponse
|
|
391
|
-
}), handleStream = createStreamHandler({
|
|
392
|
-
mapResponse,
|
|
393
|
-
mapCompactResponse
|
|
1
|
+
import { isBun } from "../../universal/constants.mjs";
|
|
2
|
+
import { ElysiaFile, mime } from "../../universal/file.mjs";
|
|
3
|
+
import { formToFormData, isNotEmpty, nullObject } from "../../utils.mjs";
|
|
4
|
+
import { ElysiaStatus, PROBLEM_JSON, internalServerErrorBody } from "../../error.mjs";
|
|
5
|
+
import { defaultHeaders } from "../default-headers.mjs";
|
|
6
|
+
import { createResponseHandler, createStreamHandler, handleFile, handleSet, materializeSetHeaders } from "../utils.mjs";
|
|
7
|
+
|
|
8
|
+
//#region src/adapter/web-standard/handler.ts
|
|
9
|
+
const textPlainInit = { headers: { "content-type": "text/plain" } };
|
|
10
|
+
function handleElysiaFile(file, set = { headers: nullObject() }, request) {
|
|
11
|
+
const path = file.path;
|
|
12
|
+
const contentType = mime[path.slice(path.lastIndexOf(".") + 1).toLowerCase()];
|
|
13
|
+
const headers = materializeSetHeaders(set);
|
|
14
|
+
if (contentType) headers["content-type"] = contentType;
|
|
15
|
+
const stats = file.stats;
|
|
16
|
+
if (stats) return stats.then((stat) => {
|
|
17
|
+
const size = stat.size;
|
|
18
|
+
if (size !== void 0 && set.status !== 206 && set.status !== 304 && set.status !== 412 && set.status !== 416) headers["content-length"] = size;
|
|
19
|
+
return handleFile(file, set, request, size);
|
|
20
|
+
});
|
|
21
|
+
return handleFile(file.value, set, request);
|
|
22
|
+
}
|
|
23
|
+
function mapResponseWithSet(response, set, request, owned) {
|
|
24
|
+
handleSet(set);
|
|
25
|
+
const headers = set.headers;
|
|
26
|
+
switch (response?.constructor?.name) {
|
|
27
|
+
case "String":
|
|
28
|
+
if (!isBun && !headers["content-type"]) materializeSetHeaders(set)["content-type"] = "text/plain";
|
|
29
|
+
return new Response(response, set);
|
|
30
|
+
case "Array": return Response.json(response, set);
|
|
31
|
+
case "Object":
|
|
32
|
+
if (response["~ely-form"]) return new Response(formToFormData(response), set);
|
|
33
|
+
if (typeof response?.next === "function") return handleStream(response, set, request, void 0, owned);
|
|
34
|
+
return Response.json(response, set);
|
|
35
|
+
case "Number":
|
|
36
|
+
case "Boolean": return new Response(typeof response === "boolean" ? response ? "true" : "false" : response.toString(), set);
|
|
37
|
+
case "ElysiaFile": return handleElysiaFile(response, set, request);
|
|
38
|
+
case "File":
|
|
39
|
+
case "Blob": return handleFile(response, set, request);
|
|
40
|
+
case "ElysiaStatus":
|
|
41
|
+
set.status = response.code;
|
|
42
|
+
if (response.headers) Object.assign(materializeSetHeaders(set), response.headers);
|
|
43
|
+
return mapResponseWithSet(response.response, set, request, owned);
|
|
44
|
+
case void 0: return response ? Response.json(response, set) : new Response(null, set);
|
|
45
|
+
case "Response": return handleResponse(response, set, request, owned);
|
|
46
|
+
case "Error": return errorToResponse(response, set, request, owned);
|
|
47
|
+
case "Promise": return response.then((x) => mapResponseWithSet(x, set, request, owned));
|
|
48
|
+
case "Function": return mapResponseWithSet(response(), set, request, owned);
|
|
49
|
+
case "FormData": return new Response(response, set);
|
|
50
|
+
default: return mapFallback(response, set, request, owned);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function mapResponse(response, set, request, owned) {
|
|
54
|
+
const headers = set.headers;
|
|
55
|
+
if (set.status !== void 0 || set.cookie || headers["\0"] === headers || isNotEmpty(headers)) return mapResponseWithSet(response, set, request, owned);
|
|
56
|
+
if (response instanceof ElysiaStatus) {
|
|
57
|
+
set.status = response.code;
|
|
58
|
+
if (response.headers) Object.assign(set.headers, response.headers);
|
|
59
|
+
return mapResponse(response.response, set, request, owned);
|
|
60
|
+
}
|
|
61
|
+
if (response instanceof Response) return owned ? handleResponse(response, void 0, request, true) : response;
|
|
62
|
+
if (response instanceof Promise) return response.then((x) => mapResponse(x, set, request, owned));
|
|
63
|
+
if (typeof response?.next === "function" || response instanceof ReadableStream) return handleStream(response, set, request, void 0, owned);
|
|
64
|
+
return mapCompactResponse(response, request, owned);
|
|
65
|
+
}
|
|
66
|
+
const textHeaders = isBun ? void 0 : textPlainInit;
|
|
67
|
+
function mapCompactResponse(response, request, owned) {
|
|
68
|
+
switch (response?.constructor?.name) {
|
|
69
|
+
case "String": return new Response(response, textHeaders);
|
|
70
|
+
case "Array": return Response.json(response);
|
|
71
|
+
case "Object":
|
|
72
|
+
if (response["~ely-form"]) return new Response(formToFormData(response));
|
|
73
|
+
return Response.json(response);
|
|
74
|
+
case "Number":
|
|
75
|
+
case "Boolean": return new Response(typeof response === "boolean" ? response ? "true" : "false" : response.toString());
|
|
76
|
+
case "ElysiaFile": return handleElysiaFile(response, void 0, request);
|
|
77
|
+
case "File":
|
|
78
|
+
case "Blob": return handleFile(response, void 0, request);
|
|
79
|
+
case "ElysiaStatus": return mapResponse(response.response, {
|
|
80
|
+
status: response.code,
|
|
81
|
+
headers: response.headers ? Object.assign(nullObject(), response.headers) : nullObject()
|
|
82
|
+
}, request, owned);
|
|
83
|
+
case void 0: return response ? Response.json(response) : new Response("");
|
|
84
|
+
case "Response": return owned ? handleResponse(response, void 0, request, true) : response;
|
|
85
|
+
case "Error": return errorToResponse(response, void 0, request, owned);
|
|
86
|
+
case "Promise": return response.then((x) => mapCompactResponse(x, request, owned));
|
|
87
|
+
case "Function": return mapCompactResponse(response(), request, owned);
|
|
88
|
+
case "FormData": return new Response(response);
|
|
89
|
+
default: return mapFallback(response, void 0, request, owned);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function errorToResponse(error, set, request, owned = false) {
|
|
93
|
+
if (error?.toResponse) {
|
|
94
|
+
const targetSet = set ?? { headers: nullObject() };
|
|
95
|
+
const apply = (resolved) => {
|
|
96
|
+
if (resolved instanceof Response) targetSet.status = resolved.status;
|
|
97
|
+
return mapResponse(resolved, targetSet, request, owned);
|
|
98
|
+
};
|
|
99
|
+
const raw = error.toResponse();
|
|
100
|
+
return typeof raw?.then === "function" ? raw.then(apply) : apply(raw);
|
|
101
|
+
}
|
|
102
|
+
const status = set?.status && set.status !== 200 ? set.status : 500;
|
|
103
|
+
const body = internalServerErrorBody(error);
|
|
104
|
+
body.status = status;
|
|
105
|
+
const headers = set ? materializeSetHeaders(set) : nullObject();
|
|
106
|
+
headers["content-type"] = PROBLEM_JSON;
|
|
107
|
+
return new Response(JSON.stringify(body), {
|
|
108
|
+
status,
|
|
109
|
+
headers
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function mapFallback(response, set, request, owned = false) {
|
|
113
|
+
if (response instanceof Response) return handleResponse(response, set, request, owned);
|
|
114
|
+
if (response instanceof Promise) return response.then((x) => set ? mapResponse(x, set, request, owned) : mapCompactResponse(x, request, owned));
|
|
115
|
+
if (response instanceof Error) return errorToResponse(response, set, request, owned);
|
|
116
|
+
if (response instanceof ElysiaStatus) if (set) {
|
|
117
|
+
set.status = response.code;
|
|
118
|
+
if (response.headers) set.headers = {
|
|
119
|
+
...set.headers,
|
|
120
|
+
...response.headers
|
|
121
|
+
};
|
|
122
|
+
return mapResponse(response.response, set, request, owned);
|
|
123
|
+
} else return mapResponse(response.response, {
|
|
124
|
+
status: response.code,
|
|
125
|
+
headers: response.headers ? { ...response.headers } : {}
|
|
126
|
+
}, request, owned);
|
|
127
|
+
if (response instanceof ElysiaFile) return handleElysiaFile(response, void 0, request);
|
|
128
|
+
if (typeof response?.next === "function" || response instanceof ReadableStream) return handleStream(response, set, request, void 0, owned);
|
|
129
|
+
if (typeof response?.then === "function") return response.then((x) => set ? mapResponse(x, set, request, owned) : mapCompactResponse(x, request, owned));
|
|
130
|
+
if (Array.isArray(response)) return Response.json(response);
|
|
131
|
+
if (typeof response?.toResponse === "function") return set ? mapResponse(response.toResponse(), set, request, owned) : mapCompactResponse(response.toResponse(), request, owned);
|
|
132
|
+
if (response?.constructor?.name === "Cookie" && response.jar) return new Response(response.value, set);
|
|
133
|
+
return new Response(response, set);
|
|
134
|
+
}
|
|
135
|
+
const handleResponse = createResponseHandler({
|
|
136
|
+
mapResponse,
|
|
137
|
+
mapCompactResponse
|
|
394
138
|
});
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
};
|
|
139
|
+
const handleStream = createStreamHandler({
|
|
140
|
+
mapResponse,
|
|
141
|
+
mapCompactResponse
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
//#endregion
|
|
145
|
+
export { errorToResponse, mapCompactResponse, mapResponse };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ElysiaAdapterOptions } from "../types.js";
|
|
2
|
+
//#region src/adapter/web-standard/index.d.ts
|
|
3
|
+
declare const WebStandardAdapter: ElysiaAdapterOptions<void>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { WebStandardAdapter };
|