@depup/hono 4.12.8-depup.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 +21 -0
- package/README.md +25 -0
- package/changes.json +5 -0
- package/dist/adapter/aws-lambda/conninfo.js +24 -0
- package/dist/adapter/aws-lambda/handler.js +366 -0
- package/dist/adapter/aws-lambda/index.js +9 -0
- package/dist/adapter/aws-lambda/types.js +0 -0
- package/dist/adapter/bun/conninfo.js +27 -0
- package/dist/adapter/bun/index.js +16 -0
- package/dist/adapter/bun/serve-static.js +30 -0
- package/dist/adapter/bun/server.js +5 -0
- package/dist/adapter/bun/ssg.js +17 -0
- package/dist/adapter/bun/websocket.js +71 -0
- package/dist/adapter/cloudflare-pages/conninfo.js +9 -0
- package/dist/adapter/cloudflare-pages/handler.js +67 -0
- package/dist/adapter/cloudflare-pages/index.js +9 -0
- package/dist/adapter/cloudflare-workers/conninfo.js +9 -0
- package/dist/adapter/cloudflare-workers/index.js +9 -0
- package/dist/adapter/cloudflare-workers/serve-static-module.js +8 -0
- package/dist/adapter/cloudflare-workers/serve-static.js +22 -0
- package/dist/adapter/cloudflare-workers/utils.js +35 -0
- package/dist/adapter/cloudflare-workers/websocket.js +41 -0
- package/dist/adapter/deno/conninfo.js +14 -0
- package/dist/adapter/deno/deno.d.js +0 -0
- package/dist/adapter/deno/index.js +12 -0
- package/dist/adapter/deno/serve-static.js +40 -0
- package/dist/adapter/deno/ssg.js +18 -0
- package/dist/adapter/deno/websocket.js +28 -0
- package/dist/adapter/lambda-edge/conninfo.js +9 -0
- package/dist/adapter/lambda-edge/handler.js +80 -0
- package/dist/adapter/lambda-edge/index.js +7 -0
- package/dist/adapter/netlify/conninfo.js +9 -0
- package/dist/adapter/netlify/handler.js +9 -0
- package/dist/adapter/netlify/index.js +2 -0
- package/dist/adapter/netlify/mod.js +7 -0
- package/dist/adapter/service-worker/handler.js +20 -0
- package/dist/adapter/service-worker/index.js +11 -0
- package/dist/adapter/service-worker/types.js +0 -0
- package/dist/adapter/vercel/conninfo.js +10 -0
- package/dist/adapter/vercel/handler.js +7 -0
- package/dist/adapter/vercel/index.js +7 -0
- package/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
- package/dist/cjs/adapter/aws-lambda/handler.js +397 -0
- package/dist/cjs/adapter/aws-lambda/index.js +34 -0
- package/dist/cjs/adapter/aws-lambda/types.js +15 -0
- package/dist/cjs/adapter/bun/conninfo.js +49 -0
- package/dist/cjs/adapter/bun/index.js +45 -0
- package/dist/cjs/adapter/bun/serve-static.js +52 -0
- package/dist/cjs/adapter/bun/server.js +27 -0
- package/dist/cjs/adapter/bun/ssg.js +40 -0
- package/dist/cjs/adapter/bun/websocket.js +96 -0
- package/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
- package/dist/cjs/adapter/cloudflare-pages/handler.js +91 -0
- package/dist/cjs/adapter/cloudflare-pages/index.js +34 -0
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +31 -0
- package/dist/cjs/adapter/cloudflare-workers/index.js +33 -0
- package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +30 -0
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +44 -0
- package/dist/cjs/adapter/cloudflare-workers/utils.js +57 -0
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +63 -0
- package/dist/cjs/adapter/deno/conninfo.js +36 -0
- package/dist/cjs/adapter/deno/deno.d.js +0 -0
- package/dist/cjs/adapter/deno/index.js +38 -0
- package/dist/cjs/adapter/deno/serve-static.js +62 -0
- package/dist/cjs/adapter/deno/ssg.js +41 -0
- package/dist/cjs/adapter/deno/websocket.js +50 -0
- package/dist/cjs/adapter/lambda-edge/conninfo.js +31 -0
- package/dist/cjs/adapter/lambda-edge/handler.js +114 -0
- package/dist/cjs/adapter/lambda-edge/index.js +30 -0
- package/dist/cjs/adapter/netlify/conninfo.js +31 -0
- package/dist/cjs/adapter/netlify/handler.js +31 -0
- package/dist/cjs/adapter/netlify/index.js +21 -0
- package/dist/cjs/adapter/netlify/mod.js +30 -0
- package/dist/cjs/adapter/service-worker/handler.js +42 -0
- package/dist/cjs/adapter/service-worker/index.js +34 -0
- package/dist/cjs/adapter/service-worker/types.js +15 -0
- package/dist/cjs/adapter/vercel/conninfo.js +32 -0
- package/dist/cjs/adapter/vercel/handler.js +29 -0
- package/dist/cjs/adapter/vercel/index.js +30 -0
- package/dist/cjs/client/client.js +195 -0
- package/dist/cjs/client/fetch-result-please.js +85 -0
- package/dist/cjs/client/index.js +32 -0
- package/dist/cjs/client/types.js +15 -0
- package/dist/cjs/client/utils.js +105 -0
- package/dist/cjs/compose.js +68 -0
- package/dist/cjs/context.js +435 -0
- package/dist/cjs/helper/accepts/accepts.js +43 -0
- package/dist/cjs/helper/accepts/index.js +27 -0
- package/dist/cjs/helper/adapter/index.js +81 -0
- package/dist/cjs/helper/conninfo/index.js +15 -0
- package/dist/cjs/helper/conninfo/types.js +15 -0
- package/dist/cjs/helper/cookie/index.js +130 -0
- package/dist/cjs/helper/css/common.js +222 -0
- package/dist/cjs/helper/css/index.js +142 -0
- package/dist/cjs/helper/dev/index.js +79 -0
- package/dist/cjs/helper/factory/index.js +54 -0
- package/dist/cjs/helper/html/index.js +64 -0
- package/dist/cjs/helper/proxy/index.js +111 -0
- package/dist/cjs/helper/route/index.js +71 -0
- package/dist/cjs/helper/ssg/index.js +43 -0
- package/dist/cjs/helper/ssg/middleware.js +73 -0
- package/dist/cjs/helper/ssg/plugins.js +70 -0
- package/dist/cjs/helper/ssg/ssg.js +316 -0
- package/dist/cjs/helper/ssg/utils.js +84 -0
- package/dist/cjs/helper/streaming/index.js +35 -0
- package/dist/cjs/helper/streaming/sse.js +90 -0
- package/dist/cjs/helper/streaming/stream.js +56 -0
- package/dist/cjs/helper/streaming/text.js +34 -0
- package/dist/cjs/helper/streaming/utils.js +35 -0
- package/dist/cjs/helper/testing/index.js +33 -0
- package/dist/cjs/helper/websocket/index.js +81 -0
- package/dist/cjs/hono-base.js +400 -0
- package/dist/cjs/hono.js +43 -0
- package/dist/cjs/http-exception.js +57 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/jsx/base.js +374 -0
- package/dist/cjs/jsx/children.js +44 -0
- package/dist/cjs/jsx/components.js +201 -0
- package/dist/cjs/jsx/constants.js +42 -0
- package/dist/cjs/jsx/context.js +62 -0
- package/dist/cjs/jsx/dom/client.js +76 -0
- package/dist/cjs/jsx/dom/components.js +55 -0
- package/dist/cjs/jsx/dom/context.js +71 -0
- package/dist/cjs/jsx/dom/css.js +161 -0
- package/dist/cjs/jsx/dom/hooks/index.js +74 -0
- package/dist/cjs/jsx/dom/index.js +181 -0
- package/dist/cjs/jsx/dom/intrinsic-element/components.js +399 -0
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +52 -0
- package/dist/cjs/jsx/dom/jsx-runtime.js +32 -0
- package/dist/cjs/jsx/dom/render.js +619 -0
- package/dist/cjs/jsx/dom/server.js +67 -0
- package/dist/cjs/jsx/dom/utils.js +32 -0
- package/dist/cjs/jsx/hooks/index.js +370 -0
- package/dist/cjs/jsx/index.js +138 -0
- package/dist/cjs/jsx/intrinsic-element/common.js +50 -0
- package/dist/cjs/jsx/intrinsic-element/components.js +189 -0
- package/dist/cjs/jsx/intrinsic-elements.js +15 -0
- package/dist/cjs/jsx/jsx-dev-runtime.js +41 -0
- package/dist/cjs/jsx/jsx-runtime.js +68 -0
- package/dist/cjs/jsx/streaming.js +177 -0
- package/dist/cjs/jsx/types.js +15 -0
- package/dist/cjs/jsx/utils.js +50 -0
- package/dist/cjs/middleware/basic-auth/index.js +88 -0
- package/dist/cjs/middleware/bearer-auth/index.js +114 -0
- package/dist/cjs/middleware/body-limit/index.js +84 -0
- package/dist/cjs/middleware/cache/index.js +111 -0
- package/dist/cjs/middleware/combine/index.js +101 -0
- package/dist/cjs/middleware/compress/index.js +61 -0
- package/dist/cjs/middleware/context-storage/index.js +47 -0
- package/dist/cjs/middleware/cors/index.js +109 -0
- package/dist/cjs/middleware/csrf/index.js +77 -0
- package/dist/cjs/middleware/etag/digest.js +55 -0
- package/dist/cjs/middleware/etag/index.js +95 -0
- package/dist/cjs/middleware/ip-restriction/index.js +124 -0
- package/dist/cjs/middleware/jsx-renderer/index.js +82 -0
- package/dist/cjs/middleware/jwk/index.js +27 -0
- package/dist/cjs/middleware/jwk/jwk.js +134 -0
- package/dist/cjs/middleware/jwt/index.js +38 -0
- package/dist/cjs/middleware/jwt/jwt.js +140 -0
- package/dist/cjs/middleware/language/index.js +35 -0
- package/dist/cjs/middleware/language/language.js +221 -0
- package/dist/cjs/middleware/logger/index.js +72 -0
- package/dist/cjs/middleware/method-override/index.js +104 -0
- package/dist/cjs/middleware/powered-by/index.js +32 -0
- package/dist/cjs/middleware/pretty-json/index.js +37 -0
- package/dist/cjs/middleware/request-id/index.js +27 -0
- package/dist/cjs/middleware/request-id/request-id.js +43 -0
- package/dist/cjs/middleware/secure-headers/index.js +29 -0
- package/dist/cjs/middleware/secure-headers/permissions-policy.js +15 -0
- package/dist/cjs/middleware/secure-headers/secure-headers.js +189 -0
- package/dist/cjs/middleware/serve-static/index.js +99 -0
- package/dist/cjs/middleware/serve-static/path.js +40 -0
- package/dist/cjs/middleware/timeout/index.js +47 -0
- package/dist/cjs/middleware/timing/index.js +35 -0
- package/dist/cjs/middleware/timing/timing.js +128 -0
- package/dist/cjs/middleware/trailing-slash/index.js +62 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/preset/quick.js +38 -0
- package/dist/cjs/preset/tiny.js +34 -0
- package/dist/cjs/request/constants.js +27 -0
- package/dist/cjs/request.js +324 -0
- package/dist/cjs/router/linear-router/index.js +27 -0
- package/dist/cjs/router/linear-router/router.js +140 -0
- package/dist/cjs/router/pattern-router/index.js +27 -0
- package/dist/cjs/router/pattern-router/router.js +70 -0
- package/dist/cjs/router/reg-exp-router/index.js +34 -0
- package/dist/cjs/router/reg-exp-router/matcher.js +48 -0
- package/dist/cjs/router/reg-exp-router/node.js +134 -0
- package/dist/cjs/router/reg-exp-router/prepared-router.js +166 -0
- package/dist/cjs/router/reg-exp-router/router.js +208 -0
- package/dist/cjs/router/reg-exp-router/trie.js +81 -0
- package/dist/cjs/router/smart-router/index.js +27 -0
- package/dist/cjs/router/smart-router/router.js +80 -0
- package/dist/cjs/router/trie-router/index.js +27 -0
- package/dist/cjs/router/trie-router/node.js +201 -0
- package/dist/cjs/router/trie-router/router.js +48 -0
- package/dist/cjs/router.js +40 -0
- package/dist/cjs/types.js +28 -0
- package/dist/cjs/utils/accept.js +245 -0
- package/dist/cjs/utils/basic-auth.js +45 -0
- package/dist/cjs/utils/body.js +97 -0
- package/dist/cjs/utils/buffer.js +102 -0
- package/dist/cjs/utils/color.js +48 -0
- package/dist/cjs/utils/compress.js +27 -0
- package/dist/cjs/utils/concurrent.js +61 -0
- package/dist/cjs/utils/constants.js +27 -0
- package/dist/cjs/utils/cookie.js +177 -0
- package/dist/cjs/utils/crypto.js +69 -0
- package/dist/cjs/utils/encode.js +54 -0
- package/dist/cjs/utils/filepath.js +58 -0
- package/dist/cjs/utils/handler.js +36 -0
- package/dist/cjs/utils/headers.js +15 -0
- package/dist/cjs/utils/html.js +150 -0
- package/dist/cjs/utils/http-status.js +15 -0
- package/dist/cjs/utils/ipaddr.js +129 -0
- package/dist/cjs/utils/jwt/index.js +28 -0
- package/dist/cjs/utils/jwt/jwa.js +42 -0
- package/dist/cjs/utils/jwt/jws.js +215 -0
- package/dist/cjs/utils/jwt/jwt.js +213 -0
- package/dist/cjs/utils/jwt/types.js +161 -0
- package/dist/cjs/utils/jwt/utf8.js +30 -0
- package/dist/cjs/utils/mime.js +108 -0
- package/dist/cjs/utils/stream.js +101 -0
- package/dist/cjs/utils/types.js +15 -0
- package/dist/cjs/utils/url.js +256 -0
- package/dist/cjs/validator/index.js +27 -0
- package/dist/cjs/validator/utils.js +15 -0
- package/dist/cjs/validator/validator.js +108 -0
- package/dist/client/client.js +180 -0
- package/dist/client/fetch-result-please.js +62 -0
- package/dist/client/index.js +8 -0
- package/dist/client/types.js +0 -0
- package/dist/client/utils.js +76 -0
- package/dist/compose.js +46 -0
- package/dist/context.js +412 -0
- package/dist/helper/accepts/accepts.js +20 -0
- package/dist/helper/accepts/index.js +5 -0
- package/dist/helper/adapter/index.js +56 -0
- package/dist/helper/conninfo/index.js +0 -0
- package/dist/helper/conninfo/types.js +0 -0
- package/dist/helper/cookie/index.js +102 -0
- package/dist/helper/css/common.js +185 -0
- package/dist/helper/css/index.js +125 -0
- package/dist/helper/dev/index.js +55 -0
- package/dist/helper/factory/index.js +30 -0
- package/dist/helper/html/index.js +41 -0
- package/dist/helper/proxy/index.js +89 -0
- package/dist/helper/route/index.js +46 -0
- package/dist/helper/ssg/index.js +19 -0
- package/dist/helper/ssg/middleware.js +45 -0
- package/dist/helper/ssg/plugins.js +47 -0
- package/dist/helper/ssg/ssg.js +287 -0
- package/dist/helper/ssg/utils.js +59 -0
- package/dist/helper/streaming/index.js +10 -0
- package/dist/helper/streaming/sse.js +67 -0
- package/dist/helper/streaming/stream.js +34 -0
- package/dist/helper/streaming/text.js +12 -0
- package/dist/helper/streaming/utils.js +13 -0
- package/dist/helper/testing/index.js +11 -0
- package/dist/helper/websocket/index.js +57 -0
- package/dist/hono-base.js +378 -0
- package/dist/hono.js +21 -0
- package/dist/http-exception.js +35 -0
- package/dist/index.js +5 -0
- package/dist/jsx/base.js +331 -0
- package/dist/jsx/children.js +21 -0
- package/dist/jsx/components.js +178 -0
- package/dist/jsx/constants.js +15 -0
- package/dist/jsx/context.js +38 -0
- package/dist/jsx/dom/client.js +53 -0
- package/dist/jsx/dom/components.js +32 -0
- package/dist/jsx/dom/context.js +48 -0
- package/dist/jsx/dom/css.js +143 -0
- package/dist/jsx/dom/hooks/index.js +48 -0
- package/dist/jsx/dom/index.js +142 -0
- package/dist/jsx/dom/intrinsic-element/components.js +374 -0
- package/dist/jsx/dom/jsx-dev-runtime.js +19 -0
- package/dist/jsx/dom/jsx-runtime.js +8 -0
- package/dist/jsx/dom/render.js +595 -0
- package/dist/jsx/dom/server.js +33 -0
- package/dist/jsx/dom/utils.js +10 -0
- package/dist/jsx/hooks/index.js +328 -0
- package/dist/jsx/index.js +103 -0
- package/dist/jsx/intrinsic-element/common.js +24 -0
- package/dist/jsx/intrinsic-element/components.js +165 -0
- package/dist/jsx/intrinsic-elements.js +0 -0
- package/dist/jsx/jsx-dev-runtime.js +18 -0
- package/dist/jsx/jsx-runtime.js +41 -0
- package/dist/jsx/streaming.js +153 -0
- package/dist/jsx/types.js +0 -0
- package/dist/jsx/utils.js +27 -0
- package/dist/middleware/basic-auth/index.js +66 -0
- package/dist/middleware/bearer-auth/index.js +92 -0
- package/dist/middleware/body-limit/index.js +62 -0
- package/dist/middleware/cache/index.js +89 -0
- package/dist/middleware/combine/index.js +77 -0
- package/dist/middleware/compress/index.js +39 -0
- package/dist/middleware/context-storage/index.js +23 -0
- package/dist/middleware/cors/index.js +87 -0
- package/dist/middleware/csrf/index.js +55 -0
- package/dist/middleware/etag/digest.js +33 -0
- package/dist/middleware/etag/index.js +72 -0
- package/dist/middleware/ip-restriction/index.js +107 -0
- package/dist/middleware/jsx-renderer/index.js +58 -0
- package/dist/middleware/jwk/index.js +5 -0
- package/dist/middleware/jwk/jwk.js +112 -0
- package/dist/middleware/jwt/index.js +11 -0
- package/dist/middleware/jwt/jwt.js +114 -0
- package/dist/middleware/language/index.js +15 -0
- package/dist/middleware/language/language.js +190 -0
- package/dist/middleware/logger/index.js +44 -0
- package/dist/middleware/method-override/index.js +82 -0
- package/dist/middleware/powered-by/index.js +10 -0
- package/dist/middleware/pretty-json/index.js +15 -0
- package/dist/middleware/request-id/index.js +5 -0
- package/dist/middleware/request-id/request-id.js +21 -0
- package/dist/middleware/secure-headers/index.js +6 -0
- package/dist/middleware/secure-headers/permissions-policy.js +0 -0
- package/dist/middleware/secure-headers/secure-headers.js +166 -0
- package/dist/middleware/serve-static/index.js +77 -0
- package/dist/middleware/serve-static/path.js +18 -0
- package/dist/middleware/timeout/index.js +25 -0
- package/dist/middleware/timing/index.js +9 -0
- package/dist/middleware/timing/timing.js +102 -0
- package/dist/middleware/trailing-slash/index.js +39 -0
- package/dist/preset/quick.js +16 -0
- package/dist/preset/tiny.js +12 -0
- package/dist/request/constants.js +5 -0
- package/dist/request.js +301 -0
- package/dist/router/linear-router/index.js +5 -0
- package/dist/router/linear-router/router.js +118 -0
- package/dist/router/pattern-router/index.js +5 -0
- package/dist/router/pattern-router/router.js +48 -0
- package/dist/router/reg-exp-router/index.js +9 -0
- package/dist/router/reg-exp-router/matcher.js +25 -0
- package/dist/router/reg-exp-router/node.js +111 -0
- package/dist/router/reg-exp-router/prepared-router.js +142 -0
- package/dist/router/reg-exp-router/router.js +190 -0
- package/dist/router/reg-exp-router/trie.js +59 -0
- package/dist/router/smart-router/index.js +5 -0
- package/dist/router/smart-router/router.js +58 -0
- package/dist/router/trie-router/index.js +5 -0
- package/dist/router/trie-router/node.js +179 -0
- package/dist/router/trie-router/router.js +26 -0
- package/dist/router.js +14 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
- package/dist/types/adapter/aws-lambda/handler.d.ts +184 -0
- package/dist/types/adapter/aws-lambda/index.d.ts +8 -0
- package/dist/types/adapter/aws-lambda/types.d.ts +144 -0
- package/dist/types/adapter/bun/conninfo.d.ts +7 -0
- package/dist/types/adapter/bun/index.d.ts +10 -0
- package/dist/types/adapter/bun/serve-static.d.ts +3 -0
- package/dist/types/adapter/bun/server.d.ts +12 -0
- package/dist/types/adapter/bun/ssg.d.ts +13 -0
- package/dist/types/adapter/bun/websocket.d.ts +39 -0
- package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
- package/dist/types/adapter/cloudflare-pages/handler.d.ts +33 -0
- package/dist/types/adapter/cloudflare-pages/index.d.ts +7 -0
- package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +2 -0
- package/dist/types/adapter/cloudflare-workers/index.d.ts +7 -0
- package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +4 -0
- package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +16 -0
- package/dist/types/adapter/cloudflare-workers/utils.d.ts +5 -0
- package/dist/types/adapter/cloudflare-workers/websocket.d.ts +2 -0
- package/dist/types/adapter/deno/conninfo.d.ts +7 -0
- package/dist/types/adapter/deno/index.d.ts +8 -0
- package/dist/types/adapter/deno/serve-static.d.ts +3 -0
- package/dist/types/adapter/deno/ssg.d.ts +13 -0
- package/dist/types/adapter/deno/websocket.d.ts +2 -0
- package/dist/types/adapter/lambda-edge/conninfo.d.ts +2 -0
- package/dist/types/adapter/lambda-edge/handler.d.ts +87 -0
- package/dist/types/adapter/lambda-edge/index.d.ts +7 -0
- package/dist/types/adapter/netlify/conninfo.d.ts +21 -0
- package/dist/types/adapter/netlify/handler.d.ts +2 -0
- package/dist/types/adapter/netlify/index.d.ts +5 -0
- package/dist/types/adapter/netlify/mod.d.ts +2 -0
- package/dist/types/adapter/service-worker/handler.d.ts +16 -0
- package/dist/types/adapter/service-worker/index.d.ts +28 -0
- package/dist/types/adapter/service-worker/types.d.ts +12 -0
- package/dist/types/adapter/vercel/conninfo.d.ts +2 -0
- package/dist/types/adapter/vercel/handler.d.ts +2 -0
- package/dist/types/adapter/vercel/index.d.ts +6 -0
- package/dist/types/client/client.d.ts +4 -0
- package/dist/types/client/fetch-result-please.d.ts +35 -0
- package/dist/types/client/index.d.ts +7 -0
- package/dist/types/client/types.d.ts +209 -0
- package/dist/types/client/utils.d.ts +18 -0
- package/dist/types/compose.d.ts +14 -0
- package/dist/types/context.d.ts +455 -0
- package/dist/types/helper/accepts/accepts.d.ts +30 -0
- package/dist/types/helper/accepts/index.d.ts +5 -0
- package/dist/types/helper/adapter/index.d.ts +12 -0
- package/dist/types/helper/conninfo/index.d.ts +5 -0
- package/dist/types/helper/conninfo/types.d.ts +36 -0
- package/dist/types/helper/cookie/index.d.ts +24 -0
- package/dist/types/helper/css/common.d.ts +42 -0
- package/dist/types/helper/css/index.d.ts +73 -0
- package/dist/types/helper/dev/index.d.ts +20 -0
- package/dist/types/helper/factory/index.d.ts +82 -0
- package/dist/types/helper/html/index.d.ts +8 -0
- package/dist/types/helper/proxy/index.d.ts +72 -0
- package/dist/types/helper/route/index.d.ts +75 -0
- package/dist/types/helper/ssg/index.d.ts +7 -0
- package/dist/types/helper/ssg/middleware.d.ts +44 -0
- package/dist/types/helper/ssg/plugins.d.ts +27 -0
- package/dist/types/helper/ssg/ssg.d.ts +91 -0
- package/dist/types/helper/ssg/utils.d.ts +15 -0
- package/dist/types/helper/streaming/index.d.ts +8 -0
- package/dist/types/helper/streaming/sse.d.ts +13 -0
- package/dist/types/helper/streaming/stream.d.ts +3 -0
- package/dist/types/helper/streaming/text.d.ts +3 -0
- package/dist/types/helper/streaming/utils.d.ts +1 -0
- package/dist/types/helper/testing/index.d.ts +12 -0
- package/dist/types/helper/websocket/index.d.ts +69 -0
- package/dist/types/hono-base.d.ts +220 -0
- package/dist/types/hono.d.ts +19 -0
- package/dist/types/http-exception.d.ts +59 -0
- package/dist/types/index.d.ts +36 -0
- package/dist/types/jsx/base.d.ts +58 -0
- package/dist/types/jsx/children.d.ts +9 -0
- package/dist/types/jsx/components.d.ts +15 -0
- package/dist/types/jsx/constants.d.ts +6 -0
- package/dist/types/jsx/context.d.ts +12 -0
- package/dist/types/jsx/dom/client.d.ts +31 -0
- package/dist/types/jsx/dom/components.d.ts +10 -0
- package/dist/types/jsx/dom/context.d.ts +3 -0
- package/dist/types/jsx/dom/css.d.ts +77 -0
- package/dist/types/jsx/dom/hooks/index.d.ts +39 -0
- package/dist/types/jsx/dom/index.d.ts +88 -0
- package/dist/types/jsx/dom/intrinsic-element/components.d.ts +16 -0
- package/dist/types/jsx/dom/jsx-dev-runtime.d.ts +8 -0
- package/dist/types/jsx/dom/jsx-runtime.d.ts +7 -0
- package/dist/types/jsx/dom/render.d.ts +73 -0
- package/dist/types/jsx/dom/server.d.ts +106 -0
- package/dist/types/jsx/dom/utils.d.ts +1 -0
- package/dist/types/jsx/hooks/index.d.ts +45 -0
- package/dist/types/jsx/index.d.ts +75 -0
- package/dist/types/jsx/intrinsic-element/common.d.ts +6 -0
- package/dist/types/jsx/intrinsic-element/components.d.ts +13 -0
- package/dist/types/jsx/intrinsic-elements.d.ts +722 -0
- package/dist/types/jsx/jsx-dev-runtime.d.ts +8 -0
- package/dist/types/jsx/jsx-runtime.d.ts +12 -0
- package/dist/types/jsx/streaming.d.ts +36 -0
- package/dist/types/jsx/types.d.ts +35 -0
- package/dist/types/jsx/utils.d.ts +2 -0
- package/dist/types/middleware/basic-auth/index.d.ts +75 -0
- package/dist/types/middleware/bearer-auth/index.d.ts +91 -0
- package/dist/types/middleware/body-limit/index.d.ts +45 -0
- package/dist/types/middleware/cache/index.d.ts +41 -0
- package/dist/types/middleware/combine/index.d.ts +85 -0
- package/dist/types/middleware/compress/index.d.ts +29 -0
- package/dist/types/middleware/context-storage/index.d.ts +40 -0
- package/dist/types/middleware/cors/index.d.ts +55 -0
- package/dist/types/middleware/csrf/index.d.ts +78 -0
- package/dist/types/middleware/etag/digest.d.ts +1 -0
- package/dist/types/middleware/etag/index.d.ts +42 -0
- package/dist/types/middleware/ip-restriction/index.d.ts +31 -0
- package/dist/types/middleware/jsx-renderer/index.d.ts +77 -0
- package/dist/types/middleware/jwk/index.d.ts +1 -0
- package/dist/types/middleware/jwk/jwk.d.ts +54 -0
- package/dist/types/middleware/jwt/index.d.ts +8 -0
- package/dist/types/middleware/jwt/jwt.d.ts +67 -0
- package/dist/types/middleware/language/index.d.ts +7 -0
- package/dist/types/middleware/language/language.d.ts +102 -0
- package/dist/types/middleware/logger/index.d.ts +24 -0
- package/dist/types/middleware/method-override/index.d.ts +48 -0
- package/dist/types/middleware/powered-by/index.d.ts +29 -0
- package/dist/types/middleware/pretty-json/index.d.ts +42 -0
- package/dist/types/middleware/request-id/index.d.ts +7 -0
- package/dist/types/middleware/request-id/request-id.d.ts +37 -0
- package/dist/types/middleware/secure-headers/index.d.ts +8 -0
- package/dist/types/middleware/secure-headers/permissions-policy.d.ts +14 -0
- package/dist/types/middleware/secure-headers/secure-headers.d.ts +109 -0
- package/dist/types/middleware/serve-static/index.d.ts +31 -0
- package/dist/types/middleware/serve-static/path.d.ts +5 -0
- package/dist/types/middleware/timeout/index.d.ts +31 -0
- package/dist/types/middleware/timing/index.d.ts +7 -0
- package/dist/types/middleware/timing/timing.d.ts +129 -0
- package/dist/types/middleware/trailing-slash/index.d.ts +78 -0
- package/dist/types/package.json +3 -0
- package/dist/types/preset/quick.d.ts +10 -0
- package/dist/types/preset/tiny.d.ts +10 -0
- package/dist/types/request/constants.d.ts +1 -0
- package/dist/types/request.d.ts +313 -0
- package/dist/types/router/linear-router/index.d.ts +5 -0
- package/dist/types/router/linear-router/router.d.ts +7 -0
- package/dist/types/router/pattern-router/index.d.ts +5 -0
- package/dist/types/router/pattern-router/router.d.ts +7 -0
- package/dist/types/router/reg-exp-router/index.d.ts +6 -0
- package/dist/types/router/reg-exp-router/matcher.d.ts +7 -0
- package/dist/types/router/reg-exp-router/node.d.ts +10 -0
- package/dist/types/router/reg-exp-router/prepared-router.d.ts +17 -0
- package/dist/types/router/reg-exp-router/router.d.ts +11 -0
- package/dist/types/router/reg-exp-router/trie.d.ts +7 -0
- package/dist/types/router/smart-router/index.d.ts +5 -0
- package/dist/types/router/smart-router/router.d.ts +11 -0
- package/dist/types/router/trie-router/index.d.ts +5 -0
- package/dist/types/router/trie-router/node.d.ts +7 -0
- package/dist/types/router/trie-router/router.d.ts +8 -0
- package/dist/types/router.d.ts +97 -0
- package/dist/types/types.d.ts +573 -0
- package/dist/types/utils/accept.d.ts +6 -0
- package/dist/types/utils/basic-auth.d.ts +5 -0
- package/dist/types/utils/body.d.ts +79 -0
- package/dist/types/utils/buffer.d.ts +17 -0
- package/dist/types/utils/color.d.ts +21 -0
- package/dist/types/utils/compress.d.ts +8 -0
- package/dist/types/utils/concurrent.d.ts +11 -0
- package/dist/types/utils/constants.d.ts +4 -0
- package/dist/types/utils/cookie.d.ts +40 -0
- package/dist/types/utils/crypto.d.ts +15 -0
- package/dist/types/utils/encode.d.ts +8 -0
- package/dist/types/utils/filepath.d.ts +12 -0
- package/dist/types/utils/handler.d.ts +6 -0
- package/dist/types/utils/headers.d.ts +8 -0
- package/dist/types/utils/html.d.ts +44 -0
- package/dist/types/utils/http-status.d.ts +32 -0
- package/dist/types/utils/ipaddr.d.ts +40 -0
- package/dist/types/utils/jwt/index.d.ts +18 -0
- package/dist/types/utils/jwt/jwa.d.ts +23 -0
- package/dist/types/utils/jwt/jws.d.ts +12 -0
- package/dist/types/utils/jwt/jwt.d.ts +43 -0
- package/dist/types/utils/jwt/types.d.ts +86 -0
- package/dist/types/utils/jwt/utf8.d.ts +6 -0
- package/dist/types/utils/mime.d.ts +70 -0
- package/dist/types/utils/stream.d.ts +31 -0
- package/dist/types/utils/types.d.ts +74 -0
- package/dist/types/utils/url.d.ts +39 -0
- package/dist/types/validator/index.d.ts +7 -0
- package/dist/types/validator/utils.d.ts +29 -0
- package/dist/types/validator/validator.d.ts +16 -0
- package/dist/types.js +6 -0
- package/dist/utils/accept.js +223 -0
- package/dist/utils/basic-auth.js +23 -0
- package/dist/utils/body.js +75 -0
- package/dist/utils/buffer.js +77 -0
- package/dist/utils/color.js +25 -0
- package/dist/utils/compress.js +5 -0
- package/dist/utils/concurrent.js +39 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/cookie.js +152 -0
- package/dist/utils/crypto.js +44 -0
- package/dist/utils/encode.js +29 -0
- package/dist/utils/filepath.js +35 -0
- package/dist/utils/handler.js +13 -0
- package/dist/utils/headers.js +0 -0
- package/dist/utils/html.js +123 -0
- package/dist/utils/http-status.js +0 -0
- package/dist/utils/ipaddr.js +102 -0
- package/dist/utils/jwt/index.js +6 -0
- package/dist/utils/jwt/jwa.js +20 -0
- package/dist/utils/jwt/jws.js +192 -0
- package/dist/utils/jwt/jwt.js +201 -0
- package/dist/utils/jwt/types.js +124 -0
- package/dist/utils/jwt/utf8.js +7 -0
- package/dist/utils/mime.js +84 -0
- package/dist/utils/stream.js +79 -0
- package/dist/utils/types.js +0 -0
- package/dist/utils/url.js +222 -0
- package/dist/validator/index.js +5 -0
- package/dist/validator/utils.js +0 -0
- package/dist/validator/validator.js +86 -0
- package/package.json +702 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* This module is the base module for the Hono object.
|
|
4
|
+
*/
|
|
5
|
+
import { Context } from './context';
|
|
6
|
+
import type { ExecutionContext } from './context';
|
|
7
|
+
import type { Router } from './router';
|
|
8
|
+
import type { Env, ErrorHandler, H, HandlerInterface, MergePath, MergeSchemaPath, MiddlewareHandlerInterface, NotFoundHandler, OnHandlerInterface, RouterRoute, Schema } from './types';
|
|
9
|
+
type GetPath<E extends Env> = (request: Request, options?: {
|
|
10
|
+
env?: E['Bindings'];
|
|
11
|
+
}) => string;
|
|
12
|
+
export type HonoOptions<E extends Env> = {
|
|
13
|
+
/**
|
|
14
|
+
* `strict` option specifies whether to distinguish whether the last path is a directory or not.
|
|
15
|
+
*
|
|
16
|
+
* @see {@link https://hono.dev/docs/api/hono#strict-mode}
|
|
17
|
+
*
|
|
18
|
+
* @default true
|
|
19
|
+
*/
|
|
20
|
+
strict?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* `router` option specifies which router to use.
|
|
23
|
+
*
|
|
24
|
+
* @see {@link https://hono.dev/docs/api/hono#router-option}
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* const app = new Hono({ router: new RegExpRouter() })
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
router?: Router<[H, RouterRoute]>;
|
|
32
|
+
/**
|
|
33
|
+
* `getPath` can handle the host header value.
|
|
34
|
+
*
|
|
35
|
+
* @see {@link https://hono.dev/docs/api/routing#routing-with-host-header-value}
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const app = new Hono({
|
|
40
|
+
* getPath: (req) =>
|
|
41
|
+
* '/' + req.headers.get('host') + req.url.replace(/^https?:\/\/[^/]+(\/[^?]*)/, '$1'),
|
|
42
|
+
* })
|
|
43
|
+
*
|
|
44
|
+
* app.get('/www1.example.com/hello', () => c.text('hello www1'))
|
|
45
|
+
*
|
|
46
|
+
* // A following request will match the route:
|
|
47
|
+
* // new Request('http://www1.example.com/hello', {
|
|
48
|
+
* // headers: { host: 'www1.example.com' },
|
|
49
|
+
* // })
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
getPath?: GetPath<E>;
|
|
53
|
+
};
|
|
54
|
+
type MountOptionHandler = (c: Context) => unknown;
|
|
55
|
+
type MountReplaceRequest = (originalRequest: Request) => Request;
|
|
56
|
+
type MountOptions = MountOptionHandler | {
|
|
57
|
+
optionHandler?: MountOptionHandler;
|
|
58
|
+
replaceRequest?: MountReplaceRequest | false;
|
|
59
|
+
};
|
|
60
|
+
declare class Hono<E extends Env = Env, S extends Schema = {}, BasePath extends string = '/', CurrentPath extends string = BasePath> {
|
|
61
|
+
|
|
62
|
+
get: HandlerInterface<E, 'get', S, BasePath, CurrentPath>;
|
|
63
|
+
post: HandlerInterface<E, 'post', S, BasePath, CurrentPath>;
|
|
64
|
+
put: HandlerInterface<E, 'put', S, BasePath, CurrentPath>;
|
|
65
|
+
delete: HandlerInterface<E, 'delete', S, BasePath, CurrentPath>;
|
|
66
|
+
options: HandlerInterface<E, 'options', S, BasePath, CurrentPath>;
|
|
67
|
+
patch: HandlerInterface<E, 'patch', S, BasePath, CurrentPath>;
|
|
68
|
+
all: HandlerInterface<E, 'all', S, BasePath, CurrentPath>;
|
|
69
|
+
on: OnHandlerInterface<E, S, BasePath>;
|
|
70
|
+
use: MiddlewareHandlerInterface<E, S, BasePath>;
|
|
71
|
+
router: Router<[H, RouterRoute]>;
|
|
72
|
+
readonly getPath: GetPath<E>;
|
|
73
|
+
private _basePath;
|
|
74
|
+
routes: RouterRoute[];
|
|
75
|
+
constructor(options?: HonoOptions<E>);
|
|
76
|
+
private errorHandler;
|
|
77
|
+
/**
|
|
78
|
+
* `.route()` allows grouping other Hono instance in routes.
|
|
79
|
+
*
|
|
80
|
+
* @see {@link https://hono.dev/docs/api/routing#grouping}
|
|
81
|
+
*
|
|
82
|
+
* @param {string} path - base Path
|
|
83
|
+
* @param {Hono} app - other Hono instance
|
|
84
|
+
* @returns {Hono} routed Hono instance
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const app = new Hono()
|
|
89
|
+
* const app2 = new Hono()
|
|
90
|
+
*
|
|
91
|
+
* app2.get("/user", (c) => c.text("user"))
|
|
92
|
+
* app.route("/api", app2) // GET /api/user
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
route<SubPath extends string, SubEnv extends Env, SubSchema extends Schema, SubBasePath extends string, SubCurrentPath extends string>(path: SubPath, app: Hono<SubEnv, SubSchema, SubBasePath, SubCurrentPath>): Hono<E, MergeSchemaPath<SubSchema, MergePath<BasePath, SubPath>> | S, BasePath, CurrentPath>;
|
|
96
|
+
/**
|
|
97
|
+
* `.basePath()` allows base paths to be specified.
|
|
98
|
+
*
|
|
99
|
+
* @see {@link https://hono.dev/docs/api/routing#base-path}
|
|
100
|
+
*
|
|
101
|
+
* @param {string} path - base Path
|
|
102
|
+
* @returns {Hono} changed Hono instance
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* const api = new Hono().basePath('/api')
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
basePath<SubPath extends string>(path: SubPath): Hono<E, S, MergePath<BasePath, SubPath>, MergePath<BasePath, SubPath>>;
|
|
110
|
+
/**
|
|
111
|
+
* `.onError()` handles an error and returns a customized Response.
|
|
112
|
+
*
|
|
113
|
+
* @see {@link https://hono.dev/docs/api/hono#error-handling}
|
|
114
|
+
*
|
|
115
|
+
* @param {ErrorHandler} handler - request Handler for error
|
|
116
|
+
* @returns {Hono} changed Hono instance
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
* app.onError((err, c) => {
|
|
121
|
+
* console.error(`${err}`)
|
|
122
|
+
* return c.text('Custom Error Message', 500)
|
|
123
|
+
* })
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
onError: (handler: ErrorHandler<E>) => Hono<E, S, BasePath, CurrentPath>;
|
|
127
|
+
/**
|
|
128
|
+
* `.notFound()` allows you to customize a Not Found Response.
|
|
129
|
+
*
|
|
130
|
+
* @see {@link https://hono.dev/docs/api/hono#not-found}
|
|
131
|
+
*
|
|
132
|
+
* @param {NotFoundHandler} handler - request handler for not-found
|
|
133
|
+
* @returns {Hono} changed Hono instance
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* app.notFound((c) => {
|
|
138
|
+
* return c.text('Custom 404 Message', 404)
|
|
139
|
+
* })
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
notFound: (handler: NotFoundHandler<E>) => Hono<E, S, BasePath, CurrentPath>;
|
|
143
|
+
/**
|
|
144
|
+
* `.mount()` allows you to mount applications built with other frameworks into your Hono application.
|
|
145
|
+
*
|
|
146
|
+
* @see {@link https://hono.dev/docs/api/hono#mount}
|
|
147
|
+
*
|
|
148
|
+
* @param {string} path - base Path
|
|
149
|
+
* @param {Function} applicationHandler - other Request Handler
|
|
150
|
+
* @param {MountOptions} [options] - options of `.mount()`
|
|
151
|
+
* @returns {Hono} mounted Hono instance
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* import { Router as IttyRouter } from 'itty-router'
|
|
156
|
+
* import { Hono } from 'hono'
|
|
157
|
+
* // Create itty-router application
|
|
158
|
+
* const ittyRouter = IttyRouter()
|
|
159
|
+
* // GET /itty-router/hello
|
|
160
|
+
* ittyRouter.get('/hello', () => new Response('Hello from itty-router'))
|
|
161
|
+
*
|
|
162
|
+
* const app = new Hono()
|
|
163
|
+
* app.mount('/itty-router', ittyRouter.handle)
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```ts
|
|
168
|
+
* const app = new Hono()
|
|
169
|
+
* // Send the request to another application without modification.
|
|
170
|
+
* app.mount('/app', anotherApp, {
|
|
171
|
+
* replaceRequest: (req) => req,
|
|
172
|
+
* })
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
mount(path: string, applicationHandler: (request: Request, ...args: any) => Response | Promise<Response>, options?: MountOptions): Hono<E, S, BasePath, CurrentPath>;
|
|
176
|
+
/**
|
|
177
|
+
* `.fetch()` will be entry point of your app.
|
|
178
|
+
*
|
|
179
|
+
* @see {@link https://hono.dev/docs/api/hono#fetch}
|
|
180
|
+
*
|
|
181
|
+
* @param {Request} request - request Object of request
|
|
182
|
+
* @param {Env} Env - env Object
|
|
183
|
+
* @param {ExecutionContext} - context of execution
|
|
184
|
+
* @returns {Response | Promise<Response>} response of request
|
|
185
|
+
*
|
|
186
|
+
*/
|
|
187
|
+
fetch: (request: Request, Env?: E['Bindings'] | {}, executionCtx?: ExecutionContext) => Response | Promise<Response>;
|
|
188
|
+
/**
|
|
189
|
+
* `.request()` is a useful method for testing.
|
|
190
|
+
* You can pass a URL or pathname to send a GET request.
|
|
191
|
+
* app will return a Response object.
|
|
192
|
+
* ```ts
|
|
193
|
+
* test('GET /hello is ok', async () => {
|
|
194
|
+
* const res = await app.request('/hello')
|
|
195
|
+
* expect(res.status).toBe(200)
|
|
196
|
+
* })
|
|
197
|
+
* ```
|
|
198
|
+
* @see https://hono.dev/docs/api/hono#request
|
|
199
|
+
*/
|
|
200
|
+
request: (input: Request | string | URL, requestInit?: RequestInit, Env?: E["Bindings"] | {}, executionCtx?: ExecutionContext) => Response | Promise<Response>;
|
|
201
|
+
/**
|
|
202
|
+
* `.fire()` automatically adds a global fetch event listener.
|
|
203
|
+
* This can be useful for environments that adhere to the Service Worker API, such as non-ES module Cloudflare Workers.
|
|
204
|
+
* @deprecated
|
|
205
|
+
* Use `fire` from `hono/service-worker` instead.
|
|
206
|
+
* ```ts
|
|
207
|
+
* import { Hono } from 'hono'
|
|
208
|
+
* import { fire } from 'hono/service-worker'
|
|
209
|
+
*
|
|
210
|
+
* const app = new Hono()
|
|
211
|
+
* // ...
|
|
212
|
+
* fire(app)
|
|
213
|
+
* ```
|
|
214
|
+
* @see https://hono.dev/docs/api/hono#fire
|
|
215
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
|
|
216
|
+
* @see https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/
|
|
217
|
+
*/
|
|
218
|
+
fire: () => void;
|
|
219
|
+
}
|
|
220
|
+
export { Hono as HonoBase };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HonoBase } from './hono-base';
|
|
2
|
+
import type { HonoOptions } from './hono-base';
|
|
3
|
+
import type { BlankEnv, BlankSchema, Env, Schema } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* The Hono class extends the functionality of the HonoBase class.
|
|
6
|
+
* It sets up routing and allows for custom options to be passed.
|
|
7
|
+
*
|
|
8
|
+
* @template E - The environment type.
|
|
9
|
+
* @template S - The schema type.
|
|
10
|
+
* @template BasePath - The base path type.
|
|
11
|
+
*/
|
|
12
|
+
export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends HonoBase<E, S, BasePath> {
|
|
13
|
+
/**
|
|
14
|
+
* Creates an instance of the Hono class.
|
|
15
|
+
*
|
|
16
|
+
* @param options - Optional configuration options for the Hono instance.
|
|
17
|
+
*/
|
|
18
|
+
constructor(options?: HonoOptions<E>);
|
|
19
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* This module provides the `HTTPException` class.
|
|
4
|
+
*/
|
|
5
|
+
import type { ContentfulStatusCode } from './utils/http-status';
|
|
6
|
+
/**
|
|
7
|
+
* Options for creating an `HTTPException`.
|
|
8
|
+
* @property res - Optional response object to use.
|
|
9
|
+
* @property message - Optional custom error message.
|
|
10
|
+
* @property cause - Optional cause of the error.
|
|
11
|
+
*/
|
|
12
|
+
type HTTPExceptionOptions = {
|
|
13
|
+
res?: Response;
|
|
14
|
+
message?: string;
|
|
15
|
+
cause?: unknown;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* `HTTPException` must be used when a fatal error such as authentication failure occurs.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://hono.dev/docs/api/exception}
|
|
21
|
+
*
|
|
22
|
+
* @param {StatusCode} status - status code of HTTPException
|
|
23
|
+
* @param {HTTPExceptionOptions} options - options of HTTPException
|
|
24
|
+
* @param {HTTPExceptionOptions["res"]} options.res - response of options of HTTPException
|
|
25
|
+
* @param {HTTPExceptionOptions["message"]} options.message - message of options of HTTPException
|
|
26
|
+
* @param {HTTPExceptionOptions["cause"]} options.cause - cause of options of HTTPException
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { HTTPException } from 'hono/http-exception'
|
|
31
|
+
*
|
|
32
|
+
* // ...
|
|
33
|
+
*
|
|
34
|
+
* app.post('/auth', async (c, next) => {
|
|
35
|
+
* // authentication
|
|
36
|
+
* if (authorized === false) {
|
|
37
|
+
* throw new HTTPException(401, { message: 'Custom error message' })
|
|
38
|
+
* }
|
|
39
|
+
* await next()
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare class HTTPException extends Error {
|
|
44
|
+
readonly res?: Response;
|
|
45
|
+
readonly status: ContentfulStatusCode;
|
|
46
|
+
/**
|
|
47
|
+
* Creates an instance of `HTTPException`.
|
|
48
|
+
* @param status - HTTP status code for the exception. Defaults to 500.
|
|
49
|
+
* @param options - Additional options for the exception.
|
|
50
|
+
*/
|
|
51
|
+
constructor(status?: ContentfulStatusCode, options?: HTTPExceptionOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Returns the response object associated with the exception.
|
|
54
|
+
* If a response object is not provided, a new response is created with the error message and status code.
|
|
55
|
+
* @returns The response object.
|
|
56
|
+
*/
|
|
57
|
+
getResponse(): Response;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
*
|
|
4
|
+
* Hono - Web Framework built on Web Standards
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { Hono } from 'hono'
|
|
9
|
+
* const app = new Hono()
|
|
10
|
+
*
|
|
11
|
+
* app.get('/', (c) => c.text('Hono!'))
|
|
12
|
+
*
|
|
13
|
+
* export default app
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import { Hono } from './hono';
|
|
17
|
+
/**
|
|
18
|
+
* Types for environment variables, error handlers, handlers, middleware handlers, and more.
|
|
19
|
+
*/
|
|
20
|
+
export type { Env, ErrorHandler, Handler, MiddlewareHandler, Next, NotFoundResponse, NotFoundHandler, ValidationTargets, Input, Schema, ToSchema, TypedResponse, } from './types';
|
|
21
|
+
/**
|
|
22
|
+
* Types for context, context variable map, context renderer, and execution context.
|
|
23
|
+
*/
|
|
24
|
+
export type { Context, ContextVariableMap, ContextRenderer, ExecutionContext } from './context';
|
|
25
|
+
/**
|
|
26
|
+
* Type for HonoRequest.
|
|
27
|
+
*/
|
|
28
|
+
export type { HonoRequest } from './request';
|
|
29
|
+
/**
|
|
30
|
+
* Types for inferring request and response types and client request options.
|
|
31
|
+
*/
|
|
32
|
+
export type { InferRequestType, InferResponseType, ClientRequestOptions } from './client';
|
|
33
|
+
/**
|
|
34
|
+
* Hono framework for building web applications.
|
|
35
|
+
*/
|
|
36
|
+
export { Hono };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { HtmlEscaped, HtmlEscapedString, StringBufferWithCallbacks } from '../utils/html';
|
|
2
|
+
import { DOM_MEMO } from './constants';
|
|
3
|
+
import type { Context } from './context';
|
|
4
|
+
import type { JSX as HonoJSX, IntrinsicElements as IntrinsicElementsDefined } from './intrinsic-elements';
|
|
5
|
+
export type Props = Record<string, any>;
|
|
6
|
+
export type FC<P = Props> = {
|
|
7
|
+
(props: P): HtmlEscapedString | Promise<HtmlEscapedString> | null;
|
|
8
|
+
defaultProps?: Partial<P> | undefined;
|
|
9
|
+
displayName?: string | undefined;
|
|
10
|
+
};
|
|
11
|
+
export type DOMAttributes = HonoJSX.HTMLAttributes;
|
|
12
|
+
export declare namespace JSX {
|
|
13
|
+
type Element = HtmlEscapedString | Promise<HtmlEscapedString>;
|
|
14
|
+
interface ElementChildrenAttribute {
|
|
15
|
+
children: Child;
|
|
16
|
+
}
|
|
17
|
+
interface IntrinsicElements extends IntrinsicElementsDefined {
|
|
18
|
+
[tagName: string]: Props;
|
|
19
|
+
}
|
|
20
|
+
interface IntrinsicAttributes {
|
|
21
|
+
key?: string | number | bigint | null | undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export declare const getNameSpaceContext: () => Context<string> | undefined;
|
|
25
|
+
export declare const booleanAttributes: string[];
|
|
26
|
+
type LocalContexts = [Context<unknown>, unknown][];
|
|
27
|
+
export type Child = string | Promise<string> | number | JSXNode | null | undefined | boolean | Child[];
|
|
28
|
+
export declare class JSXNode implements HtmlEscaped {
|
|
29
|
+
tag: string | Function;
|
|
30
|
+
props: Props;
|
|
31
|
+
key?: string;
|
|
32
|
+
children: Child[];
|
|
33
|
+
isEscaped: true;
|
|
34
|
+
localContexts?: LocalContexts;
|
|
35
|
+
constructor(tag: string | Function, props: Props, children: Child[]);
|
|
36
|
+
get type(): string | Function;
|
|
37
|
+
get ref(): any;
|
|
38
|
+
toString(): string | Promise<string>;
|
|
39
|
+
toStringToBuffer(buffer: StringBufferWithCallbacks): void;
|
|
40
|
+
}
|
|
41
|
+
export declare class JSXFragmentNode extends JSXNode {
|
|
42
|
+
toStringToBuffer(buffer: StringBufferWithCallbacks): void;
|
|
43
|
+
}
|
|
44
|
+
export declare const jsx: (tag: string | Function, props: Props | null, ...children: (string | number | HtmlEscapedString)[]) => JSXNode;
|
|
45
|
+
export declare const jsxFn: (tag: string | Function, props: Props, children: (string | number | HtmlEscapedString)[]) => JSXNode;
|
|
46
|
+
export declare const shallowEqual: (a: Props, b: Props) => boolean;
|
|
47
|
+
export type MemorableFC<T> = FC<T> & {
|
|
48
|
+
[DOM_MEMO]: (prevProps: Readonly<T>, nextProps: Readonly<T>) => boolean;
|
|
49
|
+
};
|
|
50
|
+
export declare const memo: <T>(component: FC<T>, propsAreEqual?: (prevProps: Readonly<T>, nextProps: Readonly<T>) => boolean) => FC<T>;
|
|
51
|
+
export declare const Fragment: ({ children, }: {
|
|
52
|
+
key?: string;
|
|
53
|
+
children?: Child | HtmlEscapedString;
|
|
54
|
+
}) => HtmlEscapedString;
|
|
55
|
+
export declare const isValidElement: (element: unknown) => element is JSXNode;
|
|
56
|
+
export declare const cloneElement: <T extends JSXNode | JSX.Element>(element: T, props: Partial<Props>, ...children: Child[]) => T;
|
|
57
|
+
export declare const reactAPICompatVersion = "19.0.0-hono-jsx";
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Child } from './base';
|
|
2
|
+
export declare const toArray: (children: Child) => Child[];
|
|
3
|
+
export declare const Children: {
|
|
4
|
+
map: (children: Child[], fn: (child: Child, index: number) => Child) => Child[];
|
|
5
|
+
forEach: (children: Child[], fn: (child: Child, index: number) => void) => void;
|
|
6
|
+
count: (children: Child[]) => number;
|
|
7
|
+
only: (_children: Child[]) => Child;
|
|
8
|
+
toArray: (children: Child) => Child[];
|
|
9
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HtmlEscapedString } from '../utils/html';
|
|
2
|
+
import type { Child, FC, PropsWithChildren } from './';
|
|
3
|
+
export declare const childrenToString: (children: Child[]) => Promise<HtmlEscapedString[]>;
|
|
4
|
+
export type ErrorHandler = (error: Error) => void;
|
|
5
|
+
export type FallbackRender = (error: Error) => Child;
|
|
6
|
+
/**
|
|
7
|
+
* @experimental
|
|
8
|
+
* `ErrorBoundary` is an experimental feature.
|
|
9
|
+
* The API might be changed.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ErrorBoundary: FC<PropsWithChildren<{
|
|
12
|
+
fallback?: Child;
|
|
13
|
+
fallbackRender?: FallbackRender;
|
|
14
|
+
onError?: ErrorHandler;
|
|
15
|
+
}>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const DOM_RENDERER: unique symbol;
|
|
2
|
+
export declare const DOM_ERROR_HANDLER: unique symbol;
|
|
3
|
+
export declare const DOM_STASH: unique symbol;
|
|
4
|
+
export declare const DOM_INTERNAL_TAG: unique symbol;
|
|
5
|
+
export declare const DOM_MEMO: unique symbol;
|
|
6
|
+
export declare const PERMALINK: unique symbol;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FC, PropsWithChildren } from './';
|
|
2
|
+
export interface Context<T> extends FC<PropsWithChildren<{
|
|
3
|
+
value: T;
|
|
4
|
+
}>> {
|
|
5
|
+
values: T[];
|
|
6
|
+
Provider: FC<PropsWithChildren<{
|
|
7
|
+
value: T;
|
|
8
|
+
}>>;
|
|
9
|
+
}
|
|
10
|
+
export declare const globalContexts: Context<unknown>[];
|
|
11
|
+
export declare const createContext: <T>(defaultValue: T) => Context<T>;
|
|
12
|
+
export declare const useContext: <T>(context: Context<T>) => T;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* This module provides APIs for `hono/jsx/dom/client`, which is compatible with `react-dom/client`.
|
|
4
|
+
*/
|
|
5
|
+
import type { Child } from '../base';
|
|
6
|
+
export interface Root {
|
|
7
|
+
render(children: Child): void;
|
|
8
|
+
unmount(): void;
|
|
9
|
+
}
|
|
10
|
+
export type RootOptions = Record<string, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* Create a root object for rendering
|
|
13
|
+
* @param element Render target
|
|
14
|
+
* @param options Options for createRoot (not supported yet)
|
|
15
|
+
* @returns Root object has `render` and `unmount` methods
|
|
16
|
+
*/
|
|
17
|
+
export declare const createRoot: (element: HTMLElement | DocumentFragment, options?: RootOptions) => Root;
|
|
18
|
+
/**
|
|
19
|
+
* Create a root object and hydrate app to the target element.
|
|
20
|
+
* In hono/jsx/dom, hydrate is equivalent to render.
|
|
21
|
+
* @param element Render target
|
|
22
|
+
* @param reactNode A JSXNode to render
|
|
23
|
+
* @param options Options for createRoot (not supported yet)
|
|
24
|
+
* @returns Root object has `render` and `unmount` methods
|
|
25
|
+
*/
|
|
26
|
+
export declare const hydrateRoot: (element: HTMLElement | DocumentFragment, reactNode: Child, options?: RootOptions) => Root;
|
|
27
|
+
declare const _default: {
|
|
28
|
+
createRoot: (element: HTMLElement | DocumentFragment, options?: RootOptions) => Root;
|
|
29
|
+
hydrateRoot: (element: HTMLElement | DocumentFragment, reactNode: Child, options?: RootOptions) => Root;
|
|
30
|
+
};
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Child, FC, PropsWithChildren } from '../';
|
|
2
|
+
import type { ErrorHandler, FallbackRender } from '../components';
|
|
3
|
+
export declare const ErrorBoundary: FC<PropsWithChildren<{
|
|
4
|
+
fallback?: Child;
|
|
5
|
+
fallbackRender?: FallbackRender;
|
|
6
|
+
onError?: ErrorHandler;
|
|
7
|
+
}>>;
|
|
8
|
+
export declare const Suspense: FC<PropsWithChildren<{
|
|
9
|
+
fallback: any;
|
|
10
|
+
}>>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* This module provides APIs that enable `hono/jsx/dom` to support.
|
|
4
|
+
*/
|
|
5
|
+
import type { FC, PropsWithChildren } from '../';
|
|
6
|
+
import type { CssClassName, CssVariableType } from '../../helper/css/common';
|
|
7
|
+
export { rawCssString } from '../../helper/css/common';
|
|
8
|
+
interface CreateCssJsxDomObjectsType {
|
|
9
|
+
(args: {
|
|
10
|
+
id: Readonly<string>;
|
|
11
|
+
}): readonly [
|
|
12
|
+
{
|
|
13
|
+
toString(this: CssClassName): string;
|
|
14
|
+
},
|
|
15
|
+
FC<PropsWithChildren<void>>
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
export declare const createCssJsxDomObjects: CreateCssJsxDomObjectsType;
|
|
19
|
+
interface CssType {
|
|
20
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): string;
|
|
21
|
+
}
|
|
22
|
+
interface CxType {
|
|
23
|
+
(...args: (string | boolean | null | undefined)[]): string;
|
|
24
|
+
}
|
|
25
|
+
interface KeyframesType {
|
|
26
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): CssClassName;
|
|
27
|
+
}
|
|
28
|
+
interface ViewTransitionType {
|
|
29
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): string;
|
|
30
|
+
(content: string): string;
|
|
31
|
+
(): string;
|
|
32
|
+
}
|
|
33
|
+
interface DefaultContextType {
|
|
34
|
+
css: CssType;
|
|
35
|
+
cx: CxType;
|
|
36
|
+
keyframes: KeyframesType;
|
|
37
|
+
viewTransition: ViewTransitionType;
|
|
38
|
+
Style: FC<PropsWithChildren<void>>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @experimental
|
|
42
|
+
* `createCssContext` is an experimental feature.
|
|
43
|
+
* The API might be changed.
|
|
44
|
+
*/
|
|
45
|
+
export declare const createCssContext: ({ id }: {
|
|
46
|
+
id: Readonly<string>;
|
|
47
|
+
}) => DefaultContextType;
|
|
48
|
+
/**
|
|
49
|
+
* @experimental
|
|
50
|
+
* `css` is an experimental feature.
|
|
51
|
+
* The API might be changed.
|
|
52
|
+
*/
|
|
53
|
+
export declare const css: CssType;
|
|
54
|
+
/**
|
|
55
|
+
* @experimental
|
|
56
|
+
* `cx` is an experimental feature.
|
|
57
|
+
* The API might be changed.
|
|
58
|
+
*/
|
|
59
|
+
export declare const cx: CxType;
|
|
60
|
+
/**
|
|
61
|
+
* @experimental
|
|
62
|
+
* `keyframes` is an experimental feature.
|
|
63
|
+
* The API might be changed.
|
|
64
|
+
*/
|
|
65
|
+
export declare const keyframes: KeyframesType;
|
|
66
|
+
/**
|
|
67
|
+
* @experimental
|
|
68
|
+
* `viewTransition` is an experimental feature.
|
|
69
|
+
* The API might be changed.
|
|
70
|
+
*/
|
|
71
|
+
export declare const viewTransition: ViewTransitionType;
|
|
72
|
+
/**
|
|
73
|
+
* @experimental
|
|
74
|
+
* `Style` is an experimental feature.
|
|
75
|
+
* The API might be changed.
|
|
76
|
+
*/
|
|
77
|
+
export declare const Style: FC<PropsWithChildren<void>>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provide hooks used only in jsx/dom
|
|
3
|
+
*/
|
|
4
|
+
import type { Context } from '../../context';
|
|
5
|
+
type FormStatus = {
|
|
6
|
+
pending: false;
|
|
7
|
+
data: null;
|
|
8
|
+
method: null;
|
|
9
|
+
action: null;
|
|
10
|
+
} | {
|
|
11
|
+
pending: true;
|
|
12
|
+
data: FormData;
|
|
13
|
+
method: 'get' | 'post';
|
|
14
|
+
action: string | ((formData: FormData) => void | Promise<void>);
|
|
15
|
+
};
|
|
16
|
+
export declare const FormContext: Context<FormStatus>;
|
|
17
|
+
export declare const registerAction: (action: Promise<unknown>) => void;
|
|
18
|
+
/**
|
|
19
|
+
* This hook returns the current form status
|
|
20
|
+
* @returns FormStatus
|
|
21
|
+
*/
|
|
22
|
+
export declare const useFormStatus: () => FormStatus;
|
|
23
|
+
/**
|
|
24
|
+
* This hook returns the current state and a function to update the state optimistically
|
|
25
|
+
* The current state is updated optimistically and then reverted to the original state when all actions are resolved
|
|
26
|
+
* @param state
|
|
27
|
+
* @param updateState
|
|
28
|
+
* @returns [T, (action: N) => void]
|
|
29
|
+
*/
|
|
30
|
+
export declare const useOptimistic: <T, N>(state: T, updateState: (currentState: T, action: N) => T) => [T, (action: N) => void];
|
|
31
|
+
/**
|
|
32
|
+
* This hook returns the current state and a function to update the state by form action
|
|
33
|
+
* @param fn
|
|
34
|
+
* @param initialState
|
|
35
|
+
* @param permalink
|
|
36
|
+
* @returns [T, (data: FormData) => void]
|
|
37
|
+
*/
|
|
38
|
+
export declare const useActionState: <T>(fn: Function, initialState: T, permalink?: string) => [T, Function];
|
|
39
|
+
export {};
|