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