acrylblends 0.4.1 → 0.5.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/LICENSE +73 -0
- package/docs/framework/README.md +51 -51
- package/docs/framework/UPSTREAM.md +1 -1
- package/docs/framework/agents/index.md +24 -0
- package/docs/framework/api/acryl.md +259 -0
- package/docs/framework/api/context.md +527 -0
- package/docs/framework/api/exception.md +80 -0
- package/docs/framework/api/index.md +12 -0
- package/docs/framework/api/presets.md +65 -0
- package/docs/framework/api/request.md +396 -0
- package/docs/framework/api/routing.md +303 -0
- package/docs/framework/{api-summary.md → api/summary.md} +19 -17
- package/docs/framework/concepts/benchmarks.md +26 -0
- package/docs/framework/concepts/developer-experience.md +5 -0
- package/docs/framework/concepts/middleware.md +21 -0
- package/docs/framework/concepts/motivation.md +14 -0
- package/docs/framework/concepts/routers.md +63 -0
- package/docs/framework/concepts/stacks.md +235 -0
- package/docs/framework/concepts/web-standard.md +37 -0
- package/docs/framework/{getting-started.md → cordis/acryl-in-a-cordis-app.md} +16 -16
- package/docs/framework/{concepts.md → cordis/concepts.md} +2 -2
- package/docs/framework/cordis/middleware.md +8 -0
- package/docs/framework/{migration-from-0-3.md → cordis/migration-from-0-3.md} +16 -13
- package/docs/framework/cordis/migration-from-0-4.md +14 -0
- package/docs/framework/{migration-from-dsh-webserver.md → cordis/migration-from-dsh-webserver.md} +7 -7
- package/docs/framework/{routing.md → cordis/mounting.md} +5 -108
- package/docs/framework/{node-server.md → cordis/node-server.md} +4 -4
- package/docs/framework/{surfaces.md → cordis/surfaces.md} +2 -2
- package/docs/framework/cordis/transport-and-cancellation.md +57 -0
- package/docs/framework/{validation.md → cordis/validation.md} +9 -9
- package/docs/framework/getting-started/basic.md +196 -0
- package/docs/framework/getting-started/bun.md +221 -0
- package/docs/framework/getting-started/nodejs.md +344 -0
- package/docs/framework/getting-started/other-runtimes.md +23 -0
- package/docs/framework/guides/best-practices.md +231 -0
- package/docs/framework/guides/create-acrylblends.md +79 -0
- package/docs/framework/guides/examples.md +3 -0
- package/docs/framework/guides/faq.md +19 -0
- package/docs/framework/guides/helpers.md +33 -0
- package/docs/framework/guides/jsx-dom.md +299 -0
- package/docs/framework/guides/jsx.md +440 -0
- package/docs/framework/guides/middleware.md +253 -0
- package/docs/framework/guides/rpc.md +886 -0
- package/docs/framework/guides/testing.md +133 -0
- package/docs/framework/guides/validation.md +383 -0
- package/docs/framework/helpers/accepts.md +60 -0
- package/docs/framework/helpers/adapter.md +87 -0
- package/docs/framework/helpers/conninfo.md +112 -0
- package/docs/framework/helpers/cookie.md +232 -0
- package/docs/framework/helpers/css.md +285 -0
- package/docs/framework/helpers/dev.md +67 -0
- package/docs/framework/helpers/factory.md +180 -0
- package/docs/framework/helpers/html.md +123 -0
- package/docs/framework/helpers/jwt.md +184 -0
- package/docs/framework/helpers/proxy.md +118 -0
- package/docs/framework/helpers/route.md +143 -0
- package/docs/framework/helpers/ssg.md +393 -0
- package/docs/framework/helpers/streaming.md +119 -0
- package/docs/framework/helpers/testing.md +101 -0
- package/docs/framework/helpers/websocket.md +215 -0
- package/docs/framework/middleware/builtin/basic-auth.md +165 -0
- package/docs/framework/middleware/builtin/bearer-auth.md +138 -0
- package/docs/framework/middleware/builtin/body-limit.md +71 -0
- package/docs/framework/middleware/builtin/cache.md +122 -0
- package/docs/framework/middleware/builtin/combine.md +94 -0
- package/docs/framework/middleware/builtin/compress.md +59 -0
- package/docs/framework/middleware/builtin/context-storage.md +78 -0
- package/docs/framework/middleware/builtin/cors.md +135 -0
- package/docs/framework/middleware/builtin/csrf.md +105 -0
- package/docs/framework/middleware/builtin/etag.md +54 -0
- package/docs/framework/middleware/builtin/ip-restriction.md +69 -0
- package/docs/framework/middleware/builtin/jsx-renderer.md +286 -0
- package/docs/framework/middleware/builtin/jwk.md +192 -0
- package/docs/framework/middleware/builtin/jwt.md +145 -0
- package/docs/framework/middleware/builtin/language.md +232 -0
- package/docs/framework/middleware/builtin/logger.md +74 -0
- package/docs/framework/middleware/builtin/loopback-only.md +31 -0
- package/docs/framework/middleware/builtin/method-not-allowed.md +48 -0
- package/docs/framework/middleware/builtin/method-override.md +80 -0
- package/docs/framework/middleware/builtin/mount.md +106 -0
- package/docs/framework/middleware/builtin/pretty-json.md +53 -0
- package/docs/framework/middleware/builtin/request-id.md +94 -0
- package/docs/framework/middleware/builtin/secure-headers.md +247 -0
- package/docs/framework/middleware/builtin/timeout.md +98 -0
- package/docs/framework/middleware/builtin/timing.md +101 -0
- package/docs/framework/middleware/builtin/trailing-slash.md +74 -0
- package/docs/framework/middleware/third-party.md +4 -0
- package/docs/framework/upstream.json +3 -3
- package/lib/accepts-XBuZPVRI.js +52 -0
- package/lib/accepts.d.ts +33 -0
- package/lib/accepts.js +2 -0
- package/lib/acryl-base.d.ts +2 -0
- package/lib/acryl-base.js +332 -0
- package/lib/adapter.d.ts +12 -0
- package/lib/adapter.js +37 -0
- package/lib/app-BM0rTCp7.js +26 -0
- package/lib/app-CmAYW1Al.d.ts +21 -0
- package/lib/basic-auth.d.ts +72 -0
- package/lib/basic-auth.js +95 -0
- package/lib/bearer-auth.d.ts +89 -0
- package/lib/bearer-auth.js +94 -0
- package/lib/body-limit.d.ts +42 -0
- package/lib/body-limit.js +66 -0
- package/lib/client-BHTr318g.js +266 -0
- package/lib/client.d.ts +3 -0
- package/lib/client.js +2 -0
- package/lib/combine.d.ts +85 -0
- package/lib/combine.js +137 -0
- package/lib/compose-BuW2B6PZ.js +50 -0
- package/lib/compress.d.ts +38 -0
- package/lib/compress.js +79 -0
- package/lib/connection-C7xgP1hP.js +24 -0
- package/lib/conninfo.d.ts +25 -0
- package/lib/conninfo.js +2 -0
- package/lib/constants-Dy7ZvN1H.js +4 -0
- package/lib/context-Bm7rI-oK.d.ts +1234 -0
- package/lib/context-DDO0cfuP.js +365 -0
- package/lib/context-storage.d.ts +38 -0
- package/lib/context-storage.js +52 -0
- package/lib/cookie-ClMaKDQf.d.ts +40 -0
- package/lib/cookie.d.ts +24 -0
- package/lib/cookie.js +82 -0
- package/lib/cors.d.ts +52 -0
- package/lib/cors.js +106 -0
- package/lib/csrf.d.ts +75 -0
- package/lib/csrf.js +101 -0
- package/lib/etag.d.ts +40 -0
- package/lib/etag.js +135 -0
- package/lib/factory.d.ts +35 -0
- package/lib/factory.js +30 -0
- package/lib/headers-tu2YYN8T.d.ts +11 -0
- package/lib/html.d.ts +6 -0
- package/lib/html.js +31 -0
- package/lib/http-exception.d.ts +57 -0
- package/lib/http-exception.js +54 -0
- package/lib/http-status-DaAwGAFL.d.ts +35 -0
- package/lib/index-B-3F4wt2.d.ts +12 -0
- package/lib/index-UTBmM3GX.d.ts +68 -0
- package/lib/index-oOClm_Xk.d.ts +45 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +28 -0
- package/lib/ip-restriction.d.ts +68 -0
- package/lib/ip-restriction.js +166 -0
- package/lib/jwk.d.ts +52 -0
- package/lib/jwk.js +117 -0
- package/lib/jwt-BGJBw5AF.js +403 -0
- package/lib/jwt-Dg493Tai.d.ts +51 -0
- package/lib/jwt.d.ts +72 -0
- package/lib/jwt.js +115 -0
- package/lib/language.d.ts +88 -0
- package/lib/language.js +198 -0
- package/lib/logger.d.ts +22 -0
- package/lib/logger.js +54 -0
- package/lib/loopback-only.d.ts +45 -0
- package/lib/loopback-only.js +90 -0
- package/lib/method-not-allowed.d.ts +47 -0
- package/lib/method-not-allowed.js +82 -0
- package/lib/method-override.d.ts +46 -0
- package/lib/method-override.js +103 -0
- package/lib/mime-BQOYHl-l.d.ts +72 -0
- package/lib/node-server/conninfo.d.ts +11 -0
- package/lib/node-server/conninfo.js +19 -0
- package/lib/node-server/serve-static.d.ts +19 -0
- package/lib/node-server/serve-static.js +2 -0
- package/lib/node-server.d.ts +103 -0
- package/lib/node-server.js +1325 -0
- package/lib/powered-by.d.ts +28 -0
- package/lib/powered-by.js +24 -0
- package/lib/pretty-json.d.ts +40 -0
- package/lib/pretty-json.js +39 -0
- package/lib/reg-exp-router-DC1R3qoY.js +363 -0
- package/lib/request-id.d.ts +45 -0
- package/lib/request-id.js +34 -0
- package/lib/request.d.ts +2 -0
- package/lib/request.js +323 -0
- package/lib/route.d.ts +78 -0
- package/lib/route.js +126 -0
- package/lib/router/linear-router.d.ts +11 -0
- package/lib/router/linear-router.js +96 -0
- package/lib/router/pattern-router.d.ts +11 -0
- package/lib/router/pattern-router.js +41 -0
- package/lib/router/reg-exp-router.d.ts +35 -0
- package/lib/router/reg-exp-router.js +2 -0
- package/lib/router/smart-router.d.ts +15 -0
- package/lib/router/smart-router.js +2 -0
- package/lib/router/trie-router.d.ts +11 -0
- package/lib/router/trie-router.js +2 -0
- package/lib/router-CvUxUTOq.d.ts +99 -0
- package/lib/router.d.ts +2 -0
- package/lib/router.js +35 -0
- package/lib/schema-validator.d.ts +28 -0
- package/lib/schema-validator.js +22 -0
- package/lib/secure-headers.d.ts +125 -0
- package/lib/secure-headers.js +163 -0
- package/lib/serve-static-Dw_m6KxR.js +213 -0
- package/lib/serve-static.d.ts +31 -0
- package/lib/serve-static.js +77 -0
- package/lib/smart-router-C5CZ5XSM.js +49 -0
- package/lib/stream-CPdqZ0Fp.d.ts +34 -0
- package/lib/streaming-DHST3Scg.js +96 -0
- package/lib/streaming.d.ts +23 -0
- package/lib/streaming.js +2 -0
- package/lib/testing.d.ts +10 -0
- package/lib/testing.js +17 -0
- package/lib/timeout.d.ts +30 -0
- package/lib/timeout.js +42 -0
- package/lib/timing.d.ts +130 -0
- package/lib/timing.js +183 -0
- package/lib/trailing-slash.d.ts +91 -0
- package/lib/trailing-slash.js +85 -0
- package/lib/trie-router-CfFbapzL.js +146 -0
- package/lib/types-CDO6I3B0.d.ts +40 -0
- package/lib/types-CHesD1KG.d.ts +195 -0
- package/lib/types-CwrQjlaM.d.ts +105 -0
- package/lib/types-DR95J00T.d.ts +29 -0
- package/lib/types.d.ts +2 -0
- package/lib/types.js +4 -0
- package/lib/utils/accept.d.ts +9 -0
- package/lib/utils/accept.js +193 -0
- package/lib/utils/basic-auth.d.ts +8 -0
- package/lib/utils/basic-auth.js +20 -0
- package/lib/utils/body.d.ts +2 -0
- package/lib/utils/body.js +94 -0
- package/lib/utils/buffer.d.ts +19 -0
- package/lib/utils/buffer.js +51 -0
- package/lib/utils/color.d.ts +24 -0
- package/lib/utils/color.js +37 -0
- package/lib/utils/compress.d.ts +11 -0
- package/lib/utils/compress.js +11 -0
- package/lib/utils/concurrent.d.ts +17 -0
- package/lib/utils/concurrent.js +30 -0
- package/lib/utils/constants.d.ts +7 -0
- package/lib/utils/constants.js +7 -0
- package/lib/utils/cookie.d.ts +2 -0
- package/lib/utils/cookie.js +125 -0
- package/lib/utils/crypto.d.ts +14 -0
- package/lib/utils/crypto.js +34 -0
- package/lib/utils/encode.d.ts +11 -0
- package/lib/utils/encode.js +33 -0
- package/lib/utils/filepath.d.ts +14 -0
- package/lib/utils/filepath.js +25 -0
- package/lib/utils/handler.d.ts +9 -0
- package/lib/utils/handler.js +12 -0
- package/lib/utils/headers.d.ts +2 -0
- package/lib/utils/headers.js +1 -0
- package/lib/utils/html.d.ts +46 -0
- package/lib/utils/html.js +103 -0
- package/lib/utils/http-status.d.ts +2 -0
- package/lib/utils/http-status.js +1 -0
- package/lib/utils/ipaddr.d.ts +56 -0
- package/lib/utils/ipaddr.js +238 -0
- package/lib/utils/jwt.d.ts +24 -0
- package/lib/utils/jwt.js +2 -0
- package/lib/utils/mime.d.ts +2 -0
- package/lib/utils/mime.js +77 -0
- package/lib/utils/stream.d.ts +2 -0
- package/lib/utils/stream.js +88 -0
- package/lib/utils/types.d.ts +2 -0
- package/lib/utils/types.js +1 -0
- package/lib/utils/url.d.ts +46 -0
- package/lib/utils/url.js +197 -0
- package/lib/utils-dw8lxqjL.js +4 -0
- package/lib/validator-D84mq-dO.js +65 -0
- package/lib/validator.d.ts +42 -0
- package/lib/validator.js +2 -0
- package/lib/ws.d.ts +2 -0
- package/lib/ws.js +53 -0
- package/package.json +312 -14
- package/plugins/acryl-inspect/src/service.ts +2 -2
- package/plugins/acryl-inspect/tests/service.spec.ts +3 -3
- package/plugins/acryl-inspect/upstream.json +2 -2
- package/plugins/acryl-node-server/tests/adapter/app.ts +2 -2
- package/plugins/acryl-node-server/tests/adapter/assets/static/acryl.html +1 -1
- package/plugins/acryl-node-server/tests/adapter/assets/static/index.html +1 -1
- package/plugins/acryl-node-server/tests/adapter/conninfo.test.ts +2 -2
- package/plugins/acryl-node-server/tests/adapter/content-length.test.ts +4 -4
- package/plugins/acryl-node-server/tests/adapter/early-hints.test.ts +5 -5
- package/plugins/acryl-node-server/tests/adapter/request-client-disconnect.test.ts +2 -2
- package/plugins/acryl-node-server/tests/adapter/serve-static.test.ts +20 -20
- package/plugins/acryl-node-server/tests/adapter/server-socket.test.ts +2 -2
- package/plugins/acryl-node-server/tests/adapter/server.test.ts +50 -50
- package/plugins/acryl-node-server/tests/adapter/utils/response.test.ts +4 -4
- package/plugins/acryl-node-server/tests/adapter/websocket.test.ts +9 -9
- package/plugins/acryl-node-server/tests/server.spec.ts +6 -6
- package/plugins/acryl-node-server/upstream.json +2 -2
- package/plugins/acryl-router/src/client.ts +1 -1
- package/plugins/acryl-router/src/connection.ts +2 -2
- package/plugins/acryl-router/src/core/app-base.ts +29 -29
- package/plugins/acryl-router/src/core/app.test.ts +175 -175
- package/plugins/acryl-router/src/core/app.ts +8 -8
- package/plugins/acryl-router/src/core/client/client.test.ts +76 -76
- package/plugins/acryl-router/src/core/client/client.ts +2 -2
- package/plugins/acryl-router/src/core/client/fetch-result-please.ts +1 -1
- package/plugins/acryl-router/src/core/client/index.ts +1 -1
- package/plugins/acryl-router/src/core/client/types.test.ts +6 -6
- package/plugins/acryl-router/src/core/client/types.ts +16 -16
- package/plugins/acryl-router/src/core/client/utils.test.ts +2 -2
- package/plugins/acryl-router/src/core/context.test.ts +4 -4
- package/plugins/acryl-router/src/core/context.ts +6 -6
- package/plugins/acryl-router/src/core/helper/accepts/accepts.test.ts +3 -3
- package/plugins/acryl-router/src/core/helper/accepts/index.ts +1 -1
- package/plugins/acryl-router/src/core/helper/adapter/index.test.ts +6 -6
- package/plugins/acryl-router/src/core/helper/adapter/index.ts +1 -1
- package/plugins/acryl-router/src/core/helper/conninfo/index.ts +1 -1
- package/plugins/acryl-router/src/core/helper/cookie/index.test.ts +8 -8
- package/plugins/acryl-router/src/core/helper/cookie/index.ts +1 -1
- package/plugins/acryl-router/src/core/helper/factory/index.test.ts +9 -9
- package/plugins/acryl-router/src/core/helper/factory/index.ts +10 -10
- package/plugins/acryl-router/src/core/helper/html/index.test.ts +4 -4
- package/plugins/acryl-router/src/core/helper/html/index.ts +1 -1
- package/plugins/acryl-router/src/core/helper/route/index.test.ts +7 -7
- package/plugins/acryl-router/src/core/helper/route/index.ts +8 -8
- package/plugins/acryl-router/src/core/helper/streaming/index.ts +1 -1
- package/plugins/acryl-router/src/core/helper/testing/index.test.ts +6 -6
- package/plugins/acryl-router/src/core/helper/testing/index.ts +4 -4
- package/plugins/acryl-router/src/core/helper/websocket/index.ts +2 -1
- package/plugins/acryl-router/src/core/http-exception.ts +1 -1
- package/plugins/acryl-router/src/core/index.ts +9 -9
- package/plugins/acryl-router/src/core/middleware/basic-auth/index.test.ts +6 -6
- package/plugins/acryl-router/src/core/middleware/basic-auth/index.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/bearer-auth/index.test.ts +5 -5
- package/plugins/acryl-router/src/core/middleware/bearer-auth/index.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/body-limit/index.test.ts +6 -6
- package/plugins/acryl-router/src/core/middleware/body-limit/index.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/combine/index.test.ts +9 -9
- package/plugins/acryl-router/src/core/middleware/combine/index.ts +7 -7
- package/plugins/acryl-router/src/core/middleware/compress/index.test.ts +9 -9
- package/plugins/acryl-router/src/core/middleware/compress/index.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/context-storage/index.test.ts +5 -5
- package/plugins/acryl-router/src/core/middleware/context-storage/index.ts +4 -4
- package/plugins/acryl-router/src/core/middleware/cors/index.test.ts +7 -7
- package/plugins/acryl-router/src/core/middleware/cors/index.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/csrf/index.test.ts +10 -10
- package/plugins/acryl-router/src/core/middleware/csrf/index.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/etag/index.test.ts +42 -42
- package/plugins/acryl-router/src/core/middleware/etag/index.ts +4 -4
- package/plugins/acryl-router/src/core/middleware/ip-restriction/index.test.ts +4 -4
- package/plugins/acryl-router/src/core/middleware/ip-restriction/index.ts +6 -6
- package/plugins/acryl-router/src/core/middleware/jwk/index.test.ts +16 -16
- package/plugins/acryl-router/src/core/middleware/jwk/jwk.ts +7 -6
- package/plugins/acryl-router/src/core/middleware/jwt/index.test.ts +16 -16
- package/plugins/acryl-router/src/core/middleware/jwt/jwt.ts +4 -3
- package/plugins/acryl-router/src/core/middleware/language/index.test.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/language/language.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/logger/index.test.ts +5 -5
- package/plugins/acryl-router/src/core/middleware/logger/index.ts +4 -4
- package/plugins/acryl-router/src/core/middleware/method-not-allowed/index.test.ts +24 -24
- package/plugins/acryl-router/src/core/middleware/method-not-allowed/index.ts +8 -8
- package/plugins/acryl-router/src/core/middleware/method-override/index.test.ts +5 -5
- package/plugins/acryl-router/src/core/middleware/method-override/index.ts +6 -6
- package/plugins/acryl-router/src/core/middleware/powered-by/index.test.ts +4 -4
- package/plugins/acryl-router/src/core/middleware/powered-by/index.ts +6 -6
- package/plugins/acryl-router/src/core/middleware/pretty-json/index.test.ts +30 -30
- package/plugins/acryl-router/src/core/middleware/pretty-json/index.ts +4 -4
- package/plugins/acryl-router/src/core/middleware/request-id/index.test.ts +15 -15
- package/plugins/acryl-router/src/core/middleware/request-id/request-id.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/secure-headers/index.test.ts +35 -35
- package/plugins/acryl-router/src/core/middleware/secure-headers/secure-headers.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/serve-static/index.test.ts +23 -23
- package/plugins/acryl-router/src/core/middleware/serve-static/index.ts +1 -1
- package/plugins/acryl-router/src/core/middleware/timeout/index.test.ts +2 -2
- package/plugins/acryl-router/src/core/middleware/timeout/index.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/timing/index.test.ts +14 -14
- package/plugins/acryl-router/src/core/middleware/timing/timing.ts +3 -3
- package/plugins/acryl-router/src/core/middleware/trailing-slash/index.test.ts +7 -7
- package/plugins/acryl-router/src/core/middleware/trailing-slash/index.ts +7 -7
- package/plugins/acryl-router/src/core/request.test.ts +42 -42
- package/plugins/acryl-router/src/core/request.ts +6 -6
- package/plugins/acryl-router/src/core/router/linear-router/index.ts +1 -1
- package/plugins/acryl-router/src/core/router/pattern-router/index.ts +1 -1
- package/plugins/acryl-router/src/core/router/reg-exp-router/index.ts +1 -1
- package/plugins/acryl-router/src/core/router/smart-router/index.ts +1 -1
- package/plugins/acryl-router/src/core/router/trie-router/index.ts +1 -1
- package/plugins/acryl-router/src/core/types.test.ts +115 -115
- package/plugins/acryl-router/src/core/types.ts +72 -72
- package/plugins/acryl-router/src/core/utils/body.ts +8 -8
- package/plugins/acryl-router/src/core/utils/html.ts +1 -1
- package/plugins/acryl-router/src/core/utils/jwt/jws.ts +3 -3
- package/plugins/acryl-router/src/core/utils/jwt/jwt.test.ts +2 -2
- package/plugins/acryl-router/src/core/utils/jwt/jwt.ts +3 -3
- package/plugins/acryl-router/src/core/utils/jwt/types.ts +1 -1
- package/plugins/acryl-router/src/core/utils/types.ts +42 -0
- package/plugins/acryl-router/src/core/utils/url.test.ts +2 -2
- package/plugins/acryl-router/src/core/validator/index.ts +1 -1
- package/plugins/acryl-router/src/core/validator/validator.test.ts +28 -28
- package/plugins/acryl-router/src/deprecated.ts +15 -0
- package/plugins/acryl-router/src/index.ts +3 -2
- package/plugins/acryl-router/src/service.ts +10 -10
- package/plugins/acryl-router/tests/docs-examples.spec.ts +11 -11
- package/plugins/acryl-router/tests/live-install.spec.ts +2 -2
- package/plugins/acryl-router/tests/loader.spec.ts +3 -3
- package/plugins/acryl-router/tests/loopback-only.spec.ts +4 -4
- package/plugins/acryl-router/tests/no-dom/consumer.ts +11 -0
- package/plugins/acryl-router/tests/no-dom/tsconfig.json +13 -0
- package/plugins/acryl-router/tests/service.spec.ts +23 -23
- package/plugins/acryl-router/upstream.json +3 -3
- package/plugins/acryl-router-http/tests/adapter.spec.ts +3 -3
- package/plugins/acryl-router-http/tests/surfaces.spec.ts +2 -2
- package/plugins/acryl-router-http/upstream.json +2 -2
- package/plugins/acryl-state/src/service.ts +2 -2
- package/plugins/acryl-state/upstream.json +2 -2
- package/plugins/builder/script.ts +2 -2
- package/plugins/extensions/resolve.ts +70 -10
- package/plugins/openai/prompt.ts +5 -5
- package/shared/AGENTS.core.md +16 -9
- package/templates/agent/src/routes.ts +2 -2
- package/templates/agent/test/model.test.ts +2 -2
- package/templates/agent/tsconfig.json +40 -0
- package/templates/blank/src/routes.ts +2 -2
- package/templates/todo/src/todo.ts +2 -2
- package/templates/todo/upstream.json +2 -2
- package/docs/framework/context.md +0 -129
- package/docs/framework/helpers.md +0 -118
- package/docs/framework/middleware.md +0 -154
- package/docs/framework/request.md +0 -106
- /package/docs/framework/{plugin-lifecycle.md → cordis/plugin-lifecycle.md} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module
|
|
3
|
-
* This module contains some type definitions for the
|
|
3
|
+
* This module contains some type definitions for the Acryl modules.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
7
|
import type { Context } from './context.ts'
|
|
8
|
-
import type {
|
|
8
|
+
import type { AcrylBase } from './app-base.ts'
|
|
9
9
|
import type { CustomHeader, RequestHeader } from './utils/headers.ts'
|
|
10
10
|
import type { StatusCode } from './utils/http-status.ts'
|
|
11
11
|
import type {
|
|
@@ -98,7 +98,7 @@ export type H<
|
|
|
98
98
|
* You can extend this interface to define a custom `c.notFound()` Response type.
|
|
99
99
|
*
|
|
100
100
|
* @example
|
|
101
|
-
* declare module '
|
|
101
|
+
* declare module 'acrylblends' {
|
|
102
102
|
* interface NotFoundResponse extends Response, TypedResponse<string, 404, 'text'> {}
|
|
103
103
|
* }
|
|
104
104
|
*/
|
|
@@ -139,7 +139,7 @@ export interface HandlerInterface<
|
|
|
139
139
|
E2 extends Env = E,
|
|
140
140
|
>(
|
|
141
141
|
handler: H<E2, P, I, R>
|
|
142
|
-
):
|
|
142
|
+
): AcrylBase<
|
|
143
143
|
IntersectNonAnyTypes<[E, E2]>,
|
|
144
144
|
S & ToSchema<M, P, I, MergeTypedResponse<R>>,
|
|
145
145
|
BasePath,
|
|
@@ -157,7 +157,7 @@ export interface HandlerInterface<
|
|
|
157
157
|
M1 extends H<E2, P, I> = H<E2, P, I>,
|
|
158
158
|
>(
|
|
159
159
|
...handlers: [H<E2, P, I> & M1, H<E3, P, I2, R>]
|
|
160
|
-
):
|
|
160
|
+
): AcrylBase<
|
|
161
161
|
IntersectNonAnyTypes<[E, E2, E3]>,
|
|
162
162
|
S & ToSchema<M, P, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>,
|
|
163
163
|
BasePath,
|
|
@@ -174,7 +174,7 @@ export interface HandlerInterface<
|
|
|
174
174
|
>(
|
|
175
175
|
path: P,
|
|
176
176
|
handler: H<E2, MergedPath, I, R>
|
|
177
|
-
):
|
|
177
|
+
): AcrylBase<
|
|
178
178
|
E,
|
|
179
179
|
AddSchemaIfHasResponse<MergeTypedResponse<R>, S, M, P, I, BasePath>,
|
|
180
180
|
BasePath,
|
|
@@ -196,7 +196,7 @@ export interface HandlerInterface<
|
|
|
196
196
|
M2 extends H<E3, P, I2> = H<E3, P, I2>,
|
|
197
197
|
>(
|
|
198
198
|
...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3, R>]
|
|
199
|
-
):
|
|
199
|
+
): AcrylBase<
|
|
200
200
|
IntersectNonAnyTypes<[E, E2, E3, E4]>,
|
|
201
201
|
S &
|
|
202
202
|
ToSchema<
|
|
@@ -223,7 +223,7 @@ export interface HandlerInterface<
|
|
|
223
223
|
>(
|
|
224
224
|
path: P,
|
|
225
225
|
...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]
|
|
226
|
-
):
|
|
226
|
+
): AcrylBase<
|
|
227
227
|
E,
|
|
228
228
|
AddSchemaIfHasResponse<
|
|
229
229
|
MergeTypedResponse<R> | MergeMiddlewareResponse<M1>,
|
|
@@ -255,7 +255,7 @@ export interface HandlerInterface<
|
|
|
255
255
|
M3 extends H<E4, P, I3> = H<E4, P, I3>,
|
|
256
256
|
>(
|
|
257
257
|
...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4, R>]
|
|
258
|
-
):
|
|
258
|
+
): AcrylBase<
|
|
259
259
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
|
|
260
260
|
S &
|
|
261
261
|
ToSchema<
|
|
@@ -288,7 +288,7 @@ export interface HandlerInterface<
|
|
|
288
288
|
>(
|
|
289
289
|
path: P,
|
|
290
290
|
...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]
|
|
291
|
-
):
|
|
291
|
+
): AcrylBase<
|
|
292
292
|
E,
|
|
293
293
|
AddSchemaIfHasResponse<
|
|
294
294
|
MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>,
|
|
@@ -329,7 +329,7 @@ export interface HandlerInterface<
|
|
|
329
329
|
H<E5, P, I4> & M4,
|
|
330
330
|
H<E6, P, I5, R>,
|
|
331
331
|
]
|
|
332
|
-
):
|
|
332
|
+
): AcrylBase<
|
|
333
333
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
|
|
334
334
|
S &
|
|
335
335
|
ToSchema<
|
|
@@ -371,7 +371,7 @@ export interface HandlerInterface<
|
|
|
371
371
|
H<E4, MergedPath, I3> & M3,
|
|
372
372
|
H<E5, MergedPath, I4, R>,
|
|
373
373
|
]
|
|
374
|
-
):
|
|
374
|
+
): AcrylBase<
|
|
375
375
|
E,
|
|
376
376
|
AddSchemaIfHasResponse<
|
|
377
377
|
| MergeTypedResponse<R>
|
|
@@ -419,7 +419,7 @@ export interface HandlerInterface<
|
|
|
419
419
|
H<E6, P, I5> & M5,
|
|
420
420
|
H<E7, P, I6, R>,
|
|
421
421
|
]
|
|
422
|
-
):
|
|
422
|
+
): AcrylBase<
|
|
423
423
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
|
|
424
424
|
S &
|
|
425
425
|
ToSchema<
|
|
@@ -466,7 +466,7 @@ export interface HandlerInterface<
|
|
|
466
466
|
H<E5, MergedPath, I4> & M4,
|
|
467
467
|
H<E6, MergedPath, I5, R>,
|
|
468
468
|
]
|
|
469
|
-
):
|
|
469
|
+
): AcrylBase<
|
|
470
470
|
E,
|
|
471
471
|
AddSchemaIfHasResponse<
|
|
472
472
|
| MergeTypedResponse<R>
|
|
@@ -519,7 +519,7 @@ export interface HandlerInterface<
|
|
|
519
519
|
H<E7, P, I6> & M6,
|
|
520
520
|
H<E8, P, I7, R>,
|
|
521
521
|
]
|
|
522
|
-
):
|
|
522
|
+
): AcrylBase<
|
|
523
523
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
|
|
524
524
|
S &
|
|
525
525
|
ToSchema<
|
|
@@ -571,7 +571,7 @@ export interface HandlerInterface<
|
|
|
571
571
|
H<E6, MergedPath, I5> & M5,
|
|
572
572
|
H<E7, MergedPath, I6, R>,
|
|
573
573
|
]
|
|
574
|
-
):
|
|
574
|
+
): AcrylBase<
|
|
575
575
|
E,
|
|
576
576
|
AddSchemaIfHasResponse<
|
|
577
577
|
| MergeTypedResponse<R>
|
|
@@ -629,7 +629,7 @@ export interface HandlerInterface<
|
|
|
629
629
|
H<E8, P, I7> & M7,
|
|
630
630
|
H<E9, P, I8, R>,
|
|
631
631
|
]
|
|
632
|
-
):
|
|
632
|
+
): AcrylBase<
|
|
633
633
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
|
|
634
634
|
S &
|
|
635
635
|
ToSchema<
|
|
@@ -686,7 +686,7 @@ export interface HandlerInterface<
|
|
|
686
686
|
H<E7, MergedPath, I6> & M6,
|
|
687
687
|
H<E8, MergedPath, I7, R>,
|
|
688
688
|
]
|
|
689
|
-
):
|
|
689
|
+
): AcrylBase<
|
|
690
690
|
E,
|
|
691
691
|
AddSchemaIfHasResponse<
|
|
692
692
|
| MergeTypedResponse<R>
|
|
@@ -749,7 +749,7 @@ export interface HandlerInterface<
|
|
|
749
749
|
H<E9, P, I8> & M8,
|
|
750
750
|
H<E10, P, I9, R>,
|
|
751
751
|
]
|
|
752
|
-
):
|
|
752
|
+
): AcrylBase<
|
|
753
753
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
|
|
754
754
|
S &
|
|
755
755
|
ToSchema<
|
|
@@ -811,7 +811,7 @@ export interface HandlerInterface<
|
|
|
811
811
|
H<E8, MergedPath, I7> & M7,
|
|
812
812
|
H<E9, MergedPath, I8, R>,
|
|
813
813
|
]
|
|
814
|
-
):
|
|
814
|
+
): AcrylBase<
|
|
815
815
|
E,
|
|
816
816
|
AddSchemaIfHasResponse<
|
|
817
817
|
| MergeTypedResponse<R>
|
|
@@ -879,7 +879,7 @@ export interface HandlerInterface<
|
|
|
879
879
|
H<E10, P, I9> & M9,
|
|
880
880
|
H<E11, P, I10, R>,
|
|
881
881
|
]
|
|
882
|
-
):
|
|
882
|
+
): AcrylBase<
|
|
883
883
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
|
|
884
884
|
S &
|
|
885
885
|
ToSchema<
|
|
@@ -946,7 +946,7 @@ export interface HandlerInterface<
|
|
|
946
946
|
H<E9, MergedPath, I8> & M8,
|
|
947
947
|
H<E10, MergedPath, I9, R>,
|
|
948
948
|
]
|
|
949
|
-
):
|
|
949
|
+
): AcrylBase<
|
|
950
950
|
E,
|
|
951
951
|
AddSchemaIfHasResponse<
|
|
952
952
|
| MergeTypedResponse<R>
|
|
@@ -1017,7 +1017,7 @@ export interface HandlerInterface<
|
|
|
1017
1017
|
H<E10, MergedPath, I9> & M9,
|
|
1018
1018
|
H<E11, MergedPath, I10, R>,
|
|
1019
1019
|
]
|
|
1020
|
-
):
|
|
1020
|
+
): AcrylBase<
|
|
1021
1021
|
E,
|
|
1022
1022
|
AddSchemaIfHasResponse<
|
|
1023
1023
|
| MergeTypedResponse<R>
|
|
@@ -1047,13 +1047,13 @@ export interface HandlerInterface<
|
|
|
1047
1047
|
R extends HandlerResponse<any> = any,
|
|
1048
1048
|
>(
|
|
1049
1049
|
...handlers: H<E, P, I, R>[]
|
|
1050
|
-
):
|
|
1050
|
+
): AcrylBase<E, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath, CurrentPath>
|
|
1051
1051
|
|
|
1052
1052
|
// app.get(path, ...handlers[])
|
|
1053
1053
|
<P extends string, I extends Input = BlankInput, R extends HandlerResponse<any> = any>(
|
|
1054
1054
|
path: P,
|
|
1055
1055
|
...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]
|
|
1056
|
-
):
|
|
1056
|
+
): AcrylBase<
|
|
1057
1057
|
E,
|
|
1058
1058
|
S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>,
|
|
1059
1059
|
BasePath,
|
|
@@ -1063,7 +1063,7 @@ export interface HandlerInterface<
|
|
|
1063
1063
|
// app.get(path)
|
|
1064
1064
|
<P extends string, R extends HandlerResponse<any> = any, I extends Input = BlankInput>(
|
|
1065
1065
|
path: P
|
|
1066
|
-
):
|
|
1066
|
+
): AcrylBase<
|
|
1067
1067
|
E,
|
|
1068
1068
|
S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>,
|
|
1069
1069
|
BasePath,
|
|
@@ -1085,12 +1085,12 @@ export interface MiddlewareHandlerInterface<
|
|
|
1085
1085
|
//// app.use(...handlers[])
|
|
1086
1086
|
<E2 extends Env = E>(
|
|
1087
1087
|
...handlers: MiddlewareHandler<E2, MergePath<BasePath, '*'>>[]
|
|
1088
|
-
):
|
|
1088
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergePath<BasePath, '*'>>
|
|
1089
1089
|
|
|
1090
1090
|
// app.use(handler)
|
|
1091
1091
|
<E2 extends Env = E>(
|
|
1092
1092
|
handler: MiddlewareHandler<E2, MergePath<BasePath, '*'>>
|
|
1093
|
-
):
|
|
1093
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergePath<BasePath, '*'>>
|
|
1094
1094
|
|
|
1095
1095
|
// app.use(handler x2)
|
|
1096
1096
|
<
|
|
@@ -1099,13 +1099,13 @@ export interface MiddlewareHandlerInterface<
|
|
|
1099
1099
|
P extends string = MergePath<BasePath, '*'>,
|
|
1100
1100
|
>(
|
|
1101
1101
|
...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]
|
|
1102
|
-
):
|
|
1102
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath, P>
|
|
1103
1103
|
|
|
1104
1104
|
// app.use(path, handler)
|
|
1105
1105
|
<P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E>(
|
|
1106
1106
|
path: P,
|
|
1107
1107
|
handler: MiddlewareHandler<E2, MergedPath, any, any>
|
|
1108
|
-
):
|
|
1108
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergedPath>
|
|
1109
1109
|
|
|
1110
1110
|
// app.use(handler x3)
|
|
1111
1111
|
<
|
|
@@ -1119,7 +1119,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1119
1119
|
MiddlewareHandler<E3, P, any, any>,
|
|
1120
1120
|
MiddlewareHandler<E4, P, any, any>,
|
|
1121
1121
|
]
|
|
1122
|
-
):
|
|
1122
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath, P>
|
|
1123
1123
|
|
|
1124
1124
|
// app.use(path, handler x2)
|
|
1125
1125
|
<
|
|
@@ -1130,7 +1130,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1130
1130
|
>(
|
|
1131
1131
|
path: P,
|
|
1132
1132
|
...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]
|
|
1133
|
-
):
|
|
1133
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath, MergedPath>
|
|
1134
1134
|
|
|
1135
1135
|
// app.use(handler x4)
|
|
1136
1136
|
<
|
|
@@ -1146,7 +1146,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1146
1146
|
MiddlewareHandler<E4, P>,
|
|
1147
1147
|
MiddlewareHandler<E5, P>,
|
|
1148
1148
|
]
|
|
1149
|
-
):
|
|
1149
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath, P>
|
|
1150
1150
|
|
|
1151
1151
|
// app.use(path, handler x3)
|
|
1152
1152
|
<
|
|
@@ -1158,7 +1158,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1158
1158
|
>(
|
|
1159
1159
|
path: P,
|
|
1160
1160
|
...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>]
|
|
1161
|
-
):
|
|
1161
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath, MergedPath>
|
|
1162
1162
|
|
|
1163
1163
|
// app.use(handler x5)
|
|
1164
1164
|
<
|
|
@@ -1176,7 +1176,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1176
1176
|
MiddlewareHandler<E5, P>,
|
|
1177
1177
|
MiddlewareHandler<E6, P>,
|
|
1178
1178
|
]
|
|
1179
|
-
):
|
|
1179
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath, P>
|
|
1180
1180
|
|
|
1181
1181
|
// app.use(path, handler x4)
|
|
1182
1182
|
<
|
|
@@ -1194,7 +1194,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1194
1194
|
MiddlewareHandler<E4, P>,
|
|
1195
1195
|
MiddlewareHandler<E5, P>,
|
|
1196
1196
|
]
|
|
1197
|
-
):
|
|
1197
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath, MergedPath>
|
|
1198
1198
|
|
|
1199
1199
|
// app.use(handler x6)
|
|
1200
1200
|
<
|
|
@@ -1214,7 +1214,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1214
1214
|
MiddlewareHandler<E6, P>,
|
|
1215
1215
|
MiddlewareHandler<E7, P>,
|
|
1216
1216
|
]
|
|
1217
|
-
):
|
|
1217
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath, P>
|
|
1218
1218
|
|
|
1219
1219
|
// app.use(path, handler x5)
|
|
1220
1220
|
<
|
|
@@ -1234,7 +1234,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1234
1234
|
MiddlewareHandler<E5, P>,
|
|
1235
1235
|
MiddlewareHandler<E6, P>,
|
|
1236
1236
|
]
|
|
1237
|
-
):
|
|
1237
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath, MergedPath>
|
|
1238
1238
|
|
|
1239
1239
|
// app.use(handler x7)
|
|
1240
1240
|
<
|
|
@@ -1256,7 +1256,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1256
1256
|
MiddlewareHandler<E7, P>,
|
|
1257
1257
|
MiddlewareHandler<E8, P>,
|
|
1258
1258
|
]
|
|
1259
|
-
):
|
|
1259
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath, P>
|
|
1260
1260
|
|
|
1261
1261
|
// app.use(path, handler x6)
|
|
1262
1262
|
<
|
|
@@ -1278,7 +1278,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1278
1278
|
MiddlewareHandler<E6, P>,
|
|
1279
1279
|
MiddlewareHandler<E7, P>,
|
|
1280
1280
|
]
|
|
1281
|
-
):
|
|
1281
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath, MergedPath>
|
|
1282
1282
|
|
|
1283
1283
|
// app.use(handler x8)
|
|
1284
1284
|
<
|
|
@@ -1302,7 +1302,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1302
1302
|
MiddlewareHandler<E8, P>,
|
|
1303
1303
|
MiddlewareHandler<E9, P>,
|
|
1304
1304
|
]
|
|
1305
|
-
):
|
|
1305
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath, P>
|
|
1306
1306
|
|
|
1307
1307
|
// app.use(path, handler x7)
|
|
1308
1308
|
<
|
|
@@ -1326,7 +1326,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1326
1326
|
MiddlewareHandler<E7, P>,
|
|
1327
1327
|
MiddlewareHandler<E8, P>,
|
|
1328
1328
|
]
|
|
1329
|
-
):
|
|
1329
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath, MergedPath>
|
|
1330
1330
|
|
|
1331
1331
|
// app.use(handler x9)
|
|
1332
1332
|
<
|
|
@@ -1352,7 +1352,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1352
1352
|
MiddlewareHandler<E9, P>,
|
|
1353
1353
|
MiddlewareHandler<E10, P>,
|
|
1354
1354
|
]
|
|
1355
|
-
):
|
|
1355
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S, BasePath, P>
|
|
1356
1356
|
|
|
1357
1357
|
// app.use(path, handler x8)
|
|
1358
1358
|
<
|
|
@@ -1378,7 +1378,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1378
1378
|
MiddlewareHandler<E8, P>,
|
|
1379
1379
|
MiddlewareHandler<E9, P>,
|
|
1380
1380
|
]
|
|
1381
|
-
):
|
|
1381
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath, MergedPath>
|
|
1382
1382
|
|
|
1383
1383
|
// app.use(handler x10)
|
|
1384
1384
|
<
|
|
@@ -1406,7 +1406,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1406
1406
|
MiddlewareHandler<E10, P>,
|
|
1407
1407
|
MiddlewareHandler<E11, P>,
|
|
1408
1408
|
]
|
|
1409
|
-
):
|
|
1409
|
+
): AcrylBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S, BasePath, P>
|
|
1410
1410
|
|
|
1411
1411
|
// app.use(path, handler x9)
|
|
1412
1412
|
<
|
|
@@ -1434,7 +1434,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1434
1434
|
MiddlewareHandler<E9, P>,
|
|
1435
1435
|
MiddlewareHandler<E10, P>,
|
|
1436
1436
|
]
|
|
1437
|
-
):
|
|
1437
|
+
): AcrylBase<
|
|
1438
1438
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
|
|
1439
1439
|
S,
|
|
1440
1440
|
BasePath,
|
|
@@ -1445,7 +1445,7 @@ export interface MiddlewareHandlerInterface<
|
|
|
1445
1445
|
<P extends string, E2 extends Env = E>(
|
|
1446
1446
|
path: P,
|
|
1447
1447
|
...handlers: MiddlewareHandler<E2, MergePath<BasePath, P>>[]
|
|
1448
|
-
):
|
|
1448
|
+
): AcrylBase<E, S, BasePath, MergePath<BasePath, P>>
|
|
1449
1449
|
}
|
|
1450
1450
|
|
|
1451
1451
|
////////////////////////////////////////
|
|
@@ -1471,7 +1471,7 @@ export interface OnHandlerInterface<
|
|
|
1471
1471
|
method: M,
|
|
1472
1472
|
path: P,
|
|
1473
1473
|
handler: H<E2, MergedPath, I, R>
|
|
1474
|
-
):
|
|
1474
|
+
): AcrylBase<
|
|
1475
1475
|
IntersectNonAnyTypes<[E, E2]>,
|
|
1476
1476
|
S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>,
|
|
1477
1477
|
BasePath,
|
|
@@ -1494,7 +1494,7 @@ export interface OnHandlerInterface<
|
|
|
1494
1494
|
method: M,
|
|
1495
1495
|
path: P,
|
|
1496
1496
|
...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]
|
|
1497
|
-
):
|
|
1497
|
+
): AcrylBase<
|
|
1498
1498
|
IntersectNonAnyTypes<[E, E2, E3]>,
|
|
1499
1499
|
S &
|
|
1500
1500
|
ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>,
|
|
@@ -1521,7 +1521,7 @@ export interface OnHandlerInterface<
|
|
|
1521
1521
|
method: M,
|
|
1522
1522
|
path: P,
|
|
1523
1523
|
...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]
|
|
1524
|
-
):
|
|
1524
|
+
): AcrylBase<
|
|
1525
1525
|
IntersectNonAnyTypes<[E, E2, E3, E4]>,
|
|
1526
1526
|
S &
|
|
1527
1527
|
ToSchema<
|
|
@@ -1561,7 +1561,7 @@ export interface OnHandlerInterface<
|
|
|
1561
1561
|
H<E4, MergedPath, I3> & M3,
|
|
1562
1562
|
H<E5, MergedPath, I4, R>,
|
|
1563
1563
|
]
|
|
1564
|
-
):
|
|
1564
|
+
): AcrylBase<
|
|
1565
1565
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
|
|
1566
1566
|
S &
|
|
1567
1567
|
ToSchema<
|
|
@@ -1608,7 +1608,7 @@ export interface OnHandlerInterface<
|
|
|
1608
1608
|
H<E5, MergedPath, I4> & M4,
|
|
1609
1609
|
H<E6, MergedPath, I5, R>,
|
|
1610
1610
|
]
|
|
1611
|
-
):
|
|
1611
|
+
): AcrylBase<
|
|
1612
1612
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
|
|
1613
1613
|
S &
|
|
1614
1614
|
ToSchema<
|
|
@@ -1660,7 +1660,7 @@ export interface OnHandlerInterface<
|
|
|
1660
1660
|
H<E6, MergedPath, I5> & M5,
|
|
1661
1661
|
H<E7, MergedPath, I6, R>,
|
|
1662
1662
|
]
|
|
1663
|
-
):
|
|
1663
|
+
): AcrylBase<
|
|
1664
1664
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
|
|
1665
1665
|
S &
|
|
1666
1666
|
ToSchema<
|
|
@@ -1717,7 +1717,7 @@ export interface OnHandlerInterface<
|
|
|
1717
1717
|
H<E7, MergedPath, I6> & M6,
|
|
1718
1718
|
H<E8, MergedPath, I7, R>,
|
|
1719
1719
|
]
|
|
1720
|
-
):
|
|
1720
|
+
): AcrylBase<
|
|
1721
1721
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
|
|
1722
1722
|
S &
|
|
1723
1723
|
ToSchema<
|
|
@@ -1779,7 +1779,7 @@ export interface OnHandlerInterface<
|
|
|
1779
1779
|
H<E8, MergedPath, I7> & M7,
|
|
1780
1780
|
H<E9, MergedPath, I8, R>,
|
|
1781
1781
|
]
|
|
1782
|
-
):
|
|
1782
|
+
): AcrylBase<
|
|
1783
1783
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
|
|
1784
1784
|
S &
|
|
1785
1785
|
ToSchema<
|
|
@@ -1846,7 +1846,7 @@ export interface OnHandlerInterface<
|
|
|
1846
1846
|
H<E9, MergedPath, I8> & M8,
|
|
1847
1847
|
H<E10, MergedPath, I9, R>,
|
|
1848
1848
|
]
|
|
1849
|
-
):
|
|
1849
|
+
): AcrylBase<
|
|
1850
1850
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
|
|
1851
1851
|
S &
|
|
1852
1852
|
ToSchema<
|
|
@@ -1918,7 +1918,7 @@ export interface OnHandlerInterface<
|
|
|
1918
1918
|
H<E10, MergedPath, I9> & M9,
|
|
1919
1919
|
H<E11, MergedPath, I10, R>,
|
|
1920
1920
|
]
|
|
1921
|
-
):
|
|
1921
|
+
): AcrylBase<
|
|
1922
1922
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
|
|
1923
1923
|
S &
|
|
1924
1924
|
ToSchema<
|
|
@@ -1950,7 +1950,7 @@ export interface OnHandlerInterface<
|
|
|
1950
1950
|
method: M,
|
|
1951
1951
|
path: P,
|
|
1952
1952
|
...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]
|
|
1953
|
-
):
|
|
1953
|
+
): AcrylBase<
|
|
1954
1954
|
E,
|
|
1955
1955
|
S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>,
|
|
1956
1956
|
BasePath,
|
|
@@ -1969,7 +1969,7 @@ export interface OnHandlerInterface<
|
|
|
1969
1969
|
methods: M[],
|
|
1970
1970
|
path: P,
|
|
1971
1971
|
handler: H<E2, MergedPath, I, R>
|
|
1972
|
-
):
|
|
1972
|
+
): AcrylBase<
|
|
1973
1973
|
IntersectNonAnyTypes<[E, E2]>,
|
|
1974
1974
|
S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>,
|
|
1975
1975
|
BasePath,
|
|
@@ -1992,7 +1992,7 @@ export interface OnHandlerInterface<
|
|
|
1992
1992
|
methods: M[],
|
|
1993
1993
|
path: P,
|
|
1994
1994
|
...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]
|
|
1995
|
-
):
|
|
1995
|
+
): AcrylBase<
|
|
1996
1996
|
IntersectNonAnyTypes<[E, E2, E3]>,
|
|
1997
1997
|
S &
|
|
1998
1998
|
ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>,
|
|
@@ -2019,7 +2019,7 @@ export interface OnHandlerInterface<
|
|
|
2019
2019
|
methods: M[],
|
|
2020
2020
|
path: P,
|
|
2021
2021
|
...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]
|
|
2022
|
-
):
|
|
2022
|
+
): AcrylBase<
|
|
2023
2023
|
IntersectNonAnyTypes<[E, E2, E3, E4]>,
|
|
2024
2024
|
S &
|
|
2025
2025
|
ToSchema<
|
|
@@ -2059,7 +2059,7 @@ export interface OnHandlerInterface<
|
|
|
2059
2059
|
H<E4, MergedPath, I3> & M3,
|
|
2060
2060
|
H<E5, MergedPath, I4, R>,
|
|
2061
2061
|
]
|
|
2062
|
-
):
|
|
2062
|
+
): AcrylBase<
|
|
2063
2063
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
|
|
2064
2064
|
S &
|
|
2065
2065
|
ToSchema<
|
|
@@ -2106,7 +2106,7 @@ export interface OnHandlerInterface<
|
|
|
2106
2106
|
H<E5, MergedPath, I4> & M4,
|
|
2107
2107
|
H<E6, MergedPath, I5, R>,
|
|
2108
2108
|
]
|
|
2109
|
-
):
|
|
2109
|
+
): AcrylBase<
|
|
2110
2110
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
|
|
2111
2111
|
S &
|
|
2112
2112
|
ToSchema<
|
|
@@ -2158,7 +2158,7 @@ export interface OnHandlerInterface<
|
|
|
2158
2158
|
H<E6, MergedPath, I5> & M5,
|
|
2159
2159
|
H<E7, MergedPath, I6, R>,
|
|
2160
2160
|
]
|
|
2161
|
-
):
|
|
2161
|
+
): AcrylBase<
|
|
2162
2162
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
|
|
2163
2163
|
S &
|
|
2164
2164
|
ToSchema<
|
|
@@ -2215,7 +2215,7 @@ export interface OnHandlerInterface<
|
|
|
2215
2215
|
H<E7, MergedPath, I6> & M6,
|
|
2216
2216
|
H<E8, MergedPath, I7, R>,
|
|
2217
2217
|
]
|
|
2218
|
-
):
|
|
2218
|
+
): AcrylBase<
|
|
2219
2219
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
|
|
2220
2220
|
S &
|
|
2221
2221
|
ToSchema<
|
|
@@ -2277,7 +2277,7 @@ export interface OnHandlerInterface<
|
|
|
2277
2277
|
H<E8, MergedPath, I7> & M7,
|
|
2278
2278
|
H<E9, MergedPath, I8, R>,
|
|
2279
2279
|
]
|
|
2280
|
-
):
|
|
2280
|
+
): AcrylBase<
|
|
2281
2281
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
|
|
2282
2282
|
S &
|
|
2283
2283
|
ToSchema<
|
|
@@ -2344,7 +2344,7 @@ export interface OnHandlerInterface<
|
|
|
2344
2344
|
H<E9, MergedPath, I8> & M8,
|
|
2345
2345
|
H<E10, MergedPath, I9, R>,
|
|
2346
2346
|
]
|
|
2347
|
-
):
|
|
2347
|
+
): AcrylBase<
|
|
2348
2348
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
|
|
2349
2349
|
S &
|
|
2350
2350
|
ToSchema<
|
|
@@ -2416,7 +2416,7 @@ export interface OnHandlerInterface<
|
|
|
2416
2416
|
H<E10, MergedPath, I9> & M9,
|
|
2417
2417
|
H<E11, MergedPath, I10, R>,
|
|
2418
2418
|
]
|
|
2419
|
-
):
|
|
2419
|
+
): AcrylBase<
|
|
2420
2420
|
IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
|
|
2421
2421
|
S &
|
|
2422
2422
|
ToSchema<
|
|
@@ -2448,7 +2448,7 @@ export interface OnHandlerInterface<
|
|
|
2448
2448
|
methods: M[],
|
|
2449
2449
|
path: P,
|
|
2450
2450
|
...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]
|
|
2451
|
-
):
|
|
2451
|
+
): AcrylBase<
|
|
2452
2452
|
E,
|
|
2453
2453
|
S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>,
|
|
2454
2454
|
BasePath,
|
|
@@ -2466,7 +2466,7 @@ export interface OnHandlerInterface<
|
|
|
2466
2466
|
methods: M | M[],
|
|
2467
2467
|
paths: Ps,
|
|
2468
2468
|
...handlers: H<E2, MergePath<BasePath, Ps[number]>, I, R>[]
|
|
2469
|
-
):
|
|
2469
|
+
): AcrylBase<
|
|
2470
2470
|
E,
|
|
2471
2471
|
S & ToSchema<M, MergePath<BasePath, Ps[number]>, I, MergeTypedResponse<R>>,
|
|
2472
2472
|
BasePath,
|
|
@@ -2717,7 +2717,7 @@ export type ParamKeyToRecord<T extends string> = T extends `${infer R}?`
|
|
|
2717
2717
|
|
|
2718
2718
|
////////////////////////////////////////
|
|
2719
2719
|
////// //////
|
|
2720
|
-
///// For
|
|
2720
|
+
///// For AcrylRequest //////
|
|
2721
2721
|
////// //////
|
|
2722
2722
|
////////////////////////////////////////
|
|
2723
2723
|
|
|
@@ -2739,7 +2739,7 @@ export type RemoveQuestion<T> = T extends `${infer R}?` ? R : T
|
|
|
2739
2739
|
////////////////////////////////////////
|
|
2740
2740
|
|
|
2741
2741
|
export type ExtractSchema<T> = UnionToIntersection<
|
|
2742
|
-
T extends
|
|
2742
|
+
T extends AcrylBase<infer _, infer S, any, any> ? S : never
|
|
2743
2743
|
>
|
|
2744
2744
|
|
|
2745
2745
|
export type ExtractSchemaForStatusCode<T, Status extends number> = {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Body utility.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type {
|
|
6
|
+
import type { AcrylRequest } from '../request.ts'
|
|
7
7
|
import { bufferToFormData } from './buffer.ts'
|
|
8
8
|
|
|
9
9
|
const MAX_NESTING_DEPTH = 32
|
|
@@ -77,28 +77,28 @@ export type ParseBodyOptions = {
|
|
|
77
77
|
dot: boolean
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
const isRawRequest = (request:
|
|
80
|
+
const isRawRequest = (request: AcrylRequest | Request): request is Request => 'headers' in request // 'headers' method exists only on Request, not on AcrylRequest.
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
83
|
* Parses the body of a request based on the provided options.
|
|
84
84
|
*
|
|
85
85
|
* @template T - The type of the parsed body data.
|
|
86
|
-
* @param {
|
|
86
|
+
* @param {AcrylRequest | Request} request - The request object to parse.
|
|
87
87
|
* @param {Partial<ParseBodyOptions>} [options] - Options for parsing the body.
|
|
88
88
|
* @returns {Promise<T>} The parsed body data.
|
|
89
89
|
*/
|
|
90
90
|
interface ParseBody {
|
|
91
91
|
<Options extends Partial<ParseBodyOptions>, T extends BodyData<Options>>(
|
|
92
|
-
request:
|
|
92
|
+
request: AcrylRequest | Request,
|
|
93
93
|
options?: Options
|
|
94
94
|
): Promise<T>
|
|
95
95
|
<T extends BodyData>(
|
|
96
|
-
request:
|
|
96
|
+
request: AcrylRequest | Request,
|
|
97
97
|
options?: Partial<ParseBodyOptions>
|
|
98
98
|
): Promise<T>
|
|
99
99
|
}
|
|
100
100
|
export const parseBody: ParseBody = async (
|
|
101
|
-
request:
|
|
101
|
+
request: AcrylRequest | Request,
|
|
102
102
|
options = Object.create(null)
|
|
103
103
|
) => {
|
|
104
104
|
const { all = false, dot = false } = options
|
|
@@ -119,12 +119,12 @@ export const parseBody: ParseBody = async (
|
|
|
119
119
|
* Parses form data from a request.
|
|
120
120
|
*
|
|
121
121
|
* @template T - The type of the parsed body data.
|
|
122
|
-
* @param {
|
|
122
|
+
* @param {AcrylRequest | Request} request - The request object containing form data.
|
|
123
123
|
* @param {ParseBodyOptions} options - Options for parsing the form data.
|
|
124
124
|
* @returns {Promise<T>} The parsed body data.
|
|
125
125
|
*/
|
|
126
126
|
async function parseFormData<T extends BodyData>(
|
|
127
|
-
request:
|
|
127
|
+
request: AcrylRequest | Request,
|
|
128
128
|
options: ParseBodyOptions
|
|
129
129
|
): Promise<T> {
|
|
130
130
|
if (!isRawRequest(request) && request.bodyCache.formData) {
|