hono 4.13.13 → 5.0.0-rc.1
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/README.md +2 -2
- package/dist/client/fetch-result-please.js +0 -22
- package/dist/client/utils.js +0 -7
- package/dist/{types/compose.d.ts → compose.d.ts} +5 -3
- package/dist/compose.js +18 -31
- package/dist/context/constants.d.ts +3 -0
- package/dist/context/constants.js +4 -0
- package/dist/{types/context.d.ts → context.d.ts} +56 -15
- package/dist/context.js +83 -277
- package/dist/helper/accepts/accepts.js +0 -13
- package/dist/helper/css/common.js +0 -10
- package/dist/helper/css/index.js +0 -38
- package/dist/{types/helper → helper}/dev/index.d.ts +5 -2
- package/dist/helper/dev/index.js +3 -3
- package/dist/helper/factory/define-handler.d.ts +150 -0
- package/dist/helper/factory/define-handler.js +117 -0
- package/dist/{types/helper → helper}/factory/index.d.ts +30 -1
- package/dist/helper/factory/index.js +7 -7
- package/dist/helper/html/index.js +0 -4
- package/dist/helper/proxy/index.js +0 -49
- package/dist/helper/route/index.js +0 -90
- package/dist/{types/helper → helper}/ssg/middleware.d.ts +0 -6
- package/dist/helper/ssg/middleware.js +1 -34
- package/dist/helper/ssg/plugins.js +0 -24
- package/dist/{types/helper → helper}/ssg/ssg.d.ts +0 -12
- package/dist/helper/ssg/ssg.js +0 -18
- package/dist/helper/ssg/utils.js +0 -5
- package/dist/helper/testing/index.js +0 -4
- package/dist/helper/websocket/index.js +0 -6
- package/dist/{types/hono-base.d.ts → hono-base.d.ts} +47 -95
- package/dist/hono-base.js +63 -228
- package/dist/{types/hono.d.ts → hono.d.ts} +1 -1
- package/dist/hono.js +0 -13
- package/dist/http-exception.js +0 -36
- package/dist/index.js +0 -15
- package/dist/jsx/components.js +0 -5
- package/dist/jsx/context.js +0 -34
- package/dist/jsx/dom/client.js +0 -14
- package/dist/jsx/dom/css.js +0 -34
- package/dist/jsx/dom/hooks/index.js +0 -21
- package/dist/jsx/dom/index.js +0 -4
- package/dist/jsx/dom/server.js +0 -12
- package/dist/jsx/index.js +0 -4
- package/dist/jsx/streaming.js +0 -26
- package/dist/{types/middleware → middleware}/basic-auth/index.d.ts +4 -3
- package/dist/middleware/basic-auth/index.js +0 -49
- package/dist/{types/middleware → middleware}/bearer-auth/index.d.ts +4 -27
- package/dist/middleware/bearer-auth/index.js +3 -39
- package/dist/middleware/body-limit/index.js +0 -32
- package/dist/middleware/cache/index.js +0 -31
- package/dist/middleware/combine/index.js +0 -80
- package/dist/middleware/compress/index.js +0 -24
- package/dist/middleware/context-storage/index.js +0 -35
- package/dist/middleware/cors/index.js +0 -39
- package/dist/middleware/csrf/index.js +0 -62
- package/dist/middleware/etag/index.js +0 -29
- package/dist/middleware/ip-restriction/index.js +0 -41
- package/dist/middleware/jsx-renderer/index.js +0 -58
- package/dist/middleware/jwk/jwk.js +0 -31
- package/dist/middleware/jwt/jwt.js +0 -32
- package/dist/middleware/language/language.js +0 -60
- package/dist/middleware/logger/index.js +6 -24
- package/dist/middleware/method-not-allowed/index.js +1 -36
- package/dist/middleware/method-override/index.js +0 -25
- package/dist/middleware/mount/index.js +0 -32
- package/dist/middleware/powered-by/index.js +0 -15
- package/dist/middleware/pretty-json/index.js +0 -18
- package/dist/middleware/request-id/request-id.js +0 -22
- package/dist/middleware/secure-headers/secure-headers.js +0 -32
- package/dist/{types/middleware → middleware}/serve-static/index.d.ts +0 -4
- package/dist/middleware/serve-static/index.js +0 -3
- package/dist/middleware/serve-static/path.js +0 -4
- package/dist/middleware/timeout/index.js +0 -22
- package/dist/middleware/timing/timing.js +0 -95
- package/dist/middleware/trailing-slash/index.js +0 -50
- package/dist/{types/preset → preset}/quick.d.ts +1 -1
- package/dist/preset/quick.js +0 -4
- package/dist/{types/preset → preset}/tiny.d.ts +1 -1
- package/dist/preset/tiny.js +0 -4
- package/dist/{types/request.d.ts → request.d.ts} +3 -48
- package/dist/request.js +0 -205
- package/dist/router/linear-router/router.js +19 -13
- package/dist/router/pattern-router/router.js +3 -3
- package/dist/router/reg-exp-router/node.js +9 -11
- package/dist/router/reg-exp-router/trie.js +0 -5
- package/dist/router/trie-router/node.js +5 -5
- package/dist/router.js +0 -19
- package/dist/{types/types.d.ts → types.d.ts} +33 -2
- package/dist/utils/body.js +0 -30
- package/dist/utils/buffer.d.ts +11 -0
- package/dist/utils/buffer.js +1 -12
- package/dist/utils/color.d.ts +16 -0
- package/dist/utils/color.js +4 -33
- package/dist/utils/compress.js +0 -7
- package/dist/utils/concurrent.js +0 -4
- package/dist/utils/constants.js +0 -3
- package/dist/utils/cookie.js +0 -4
- package/dist/utils/encode.js +0 -4
- package/dist/utils/handler.js +0 -4
- package/dist/utils/html.js +0 -4
- package/dist/{types/utils → utils}/http-status.d.ts +1 -9
- package/dist/utils/ipaddr.js +0 -39
- package/dist/utils/jwt/index.js +0 -4
- package/dist/utils/jwt/jwa.js +0 -5
- package/dist/utils/jwt/jws.js +0 -5
- package/dist/utils/jwt/jwt.js +0 -5
- package/dist/utils/jwt/types.js +0 -4
- package/dist/utils/jwt/utf8.js +0 -4
- package/dist/utils/mime.js +0 -4
- package/dist/utils/stream.js +0 -14
- package/dist/{types/utils → utils}/url.d.ts +0 -5
- package/dist/utils/url.js +1 -30
- package/dist/{types/validator → validator}/validator.d.ts +5 -0
- package/dist/validator/validator.js +42 -49
- package/package.json +142 -488
- package/dist/adapter/aws-lambda/conninfo.js +0 -43
- package/dist/adapter/aws-lambda/handler.js +0 -342
- package/dist/adapter/aws-lambda/index.js +0 -3
- package/dist/adapter/aws-lambda/types.js +0 -1
- package/dist/adapter/bun/conninfo.js +0 -22
- package/dist/adapter/bun/index.js +0 -6
- package/dist/adapter/bun/serve-static.js +0 -30
- package/dist/adapter/bun/server.js +0 -11
- package/dist/adapter/bun/ssg.js +0 -27
- package/dist/adapter/bun/websocket.js +0 -66
- package/dist/adapter/cloudflare-pages/conninfo.js +0 -24
- package/dist/adapter/cloudflare-pages/handler.js +0 -64
- package/dist/adapter/cloudflare-pages/index.js +0 -3
- package/dist/adapter/cloudflare-workers/conninfo.js +0 -7
- package/dist/adapter/cloudflare-workers/index.js +0 -4
- package/dist/adapter/cloudflare-workers/serve-static-module.js +0 -7
- package/dist/adapter/cloudflare-workers/serve-static.js +0 -28
- package/dist/adapter/cloudflare-workers/utils.js +0 -22
- package/dist/adapter/cloudflare-workers/websocket.js +0 -33
- package/dist/adapter/deno/conninfo.js +0 -17
- package/dist/adapter/deno/deno.d.js +0 -1
- package/dist/adapter/deno/index.js +0 -5
- package/dist/adapter/deno/serve-static.js +0 -35
- package/dist/adapter/deno/ssg.js +0 -29
- package/dist/adapter/deno/websocket.js +0 -32
- package/dist/adapter/lambda-edge/conninfo.js +0 -7
- package/dist/adapter/lambda-edge/handler.js +0 -111
- package/dist/adapter/lambda-edge/index.js +0 -3
- package/dist/adapter/netlify/conninfo.js +0 -24
- package/dist/adapter/netlify/handler.js +0 -11
- package/dist/adapter/netlify/index.js +0 -3
- package/dist/adapter/netlify/mod.js +0 -3
- package/dist/adapter/service-worker/handler.js +0 -16
- package/dist/adapter/service-worker/index.js +0 -25
- package/dist/adapter/service-worker/types.js +0 -1
- package/dist/adapter/vercel/conninfo.js +0 -7
- package/dist/adapter/vercel/handler.js +0 -9
- package/dist/adapter/vercel/index.js +0 -3
- package/dist/cjs/_virtual/_rolldown/runtime.js +0 -33
- package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -44
- package/dist/cjs/adapter/aws-lambda/handler.js +0 -352
- package/dist/cjs/adapter/aws-lambda/index.js +0 -7
- package/dist/cjs/adapter/aws-lambda/types.js +0 -0
- package/dist/cjs/adapter/bun/conninfo.js +0 -23
- package/dist/cjs/adapter/bun/index.js +0 -14
- package/dist/cjs/adapter/bun/serve-static.js +0 -31
- package/dist/cjs/adapter/bun/server.js +0 -12
- package/dist/cjs/adapter/bun/ssg.js +0 -29
- package/dist/cjs/adapter/bun/websocket.js +0 -70
- package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -25
- package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -67
- package/dist/cjs/adapter/cloudflare-pages/index.js +0 -7
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -8
- package/dist/cjs/adapter/cloudflare-workers/index.js +0 -7
- package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -8
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -29
- package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -23
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -34
- package/dist/cjs/adapter/deno/conninfo.js +0 -18
- package/dist/cjs/adapter/deno/deno.d.js +0 -0
- package/dist/cjs/adapter/deno/index.js +0 -10
- package/dist/cjs/adapter/deno/serve-static.js +0 -36
- package/dist/cjs/adapter/deno/ssg.js +0 -31
- package/dist/cjs/adapter/deno/websocket.js +0 -33
- package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -8
- package/dist/cjs/adapter/lambda-edge/handler.js +0 -116
- package/dist/cjs/adapter/lambda-edge/index.js +0 -5
- package/dist/cjs/adapter/netlify/conninfo.js +0 -25
- package/dist/cjs/adapter/netlify/handler.js +0 -12
- package/dist/cjs/adapter/netlify/index.js +0 -5
- package/dist/cjs/adapter/netlify/mod.js +0 -5
- package/dist/cjs/adapter/service-worker/handler.js +0 -17
- package/dist/cjs/adapter/service-worker/index.js +0 -27
- package/dist/cjs/adapter/service-worker/types.js +0 -0
- package/dist/cjs/adapter/vercel/conninfo.js +0 -8
- package/dist/cjs/adapter/vercel/handler.js +0 -10
- package/dist/cjs/adapter/vercel/index.js +0 -5
- package/dist/cjs/client/client.js +0 -145
- package/dist/cjs/client/fetch-result-please.js +0 -67
- package/dist/cjs/client/index.js +0 -7
- package/dist/cjs/client/types.js +0 -0
- package/dist/cjs/client/utils.js +0 -70
- package/dist/cjs/compose.js +0 -51
- package/dist/cjs/context.js +0 -383
- package/dist/cjs/helper/accepts/accepts.js +0 -54
- package/dist/cjs/helper/accepts/index.js +0 -3
- package/dist/cjs/helper/adapter/index.js +0 -41
- package/dist/cjs/helper/conninfo/index.js +0 -0
- package/dist/cjs/helper/conninfo/types.js +0 -0
- package/dist/cjs/helper/cookie/index.js +0 -89
- package/dist/cjs/helper/css/common.js +0 -194
- package/dist/cjs/helper/css/index.js +0 -142
- package/dist/cjs/helper/dev/index.js +0 -53
- package/dist/cjs/helper/factory/index.js +0 -33
- package/dist/cjs/helper/html/index.js +0 -34
- package/dist/cjs/helper/proxy/index.js +0 -122
- package/dist/cjs/helper/route/index.js +0 -128
- package/dist/cjs/helper/ssg/index.js +0 -19
- package/dist/cjs/helper/ssg/middleware.js +0 -65
- package/dist/cjs/helper/ssg/plugins.js +0 -68
- package/dist/cjs/helper/ssg/ssg.js +0 -220
- package/dist/cjs/helper/ssg/utils.js +0 -70
- package/dist/cjs/helper/streaming/index.js +0 -8
- package/dist/cjs/helper/streaming/sse.js +0 -59
- package/dist/cjs/helper/streaming/stream.js +0 -26
- package/dist/cjs/helper/streaming/text.js +0 -12
- package/dist/cjs/helper/streaming/utils.js +0 -16
- package/dist/cjs/helper/testing/index.js +0 -18
- package/dist/cjs/helper/websocket/index.js +0 -56
- package/dist/cjs/hono-base.js +0 -351
- package/dist/cjs/hono.js +0 -29
- package/dist/cjs/http-exception.js +0 -56
- package/dist/cjs/index.js +0 -22
- package/dist/cjs/jsx/base.js +0 -266
- package/dist/cjs/jsx/children.js +0 -19
- package/dist/cjs/jsx/components.js +0 -147
- package/dist/cjs/jsx/constants.js +0 -15
- package/dist/cjs/jsx/context.js +0 -170
- package/dist/cjs/jsx/dom/client.js +0 -56
- package/dist/cjs/jsx/dom/components.js +0 -26
- package/dist/cjs/jsx/dom/context.js +0 -43
- package/dist/cjs/jsx/dom/css.js +0 -153
- package/dist/cjs/jsx/dom/hooks/index.js +0 -65
- package/dist/cjs/jsx/dom/index.js +0 -122
- package/dist/cjs/jsx/dom/intrinsic-element/components.js +0 -306
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -17
- package/dist/cjs/jsx/dom/jsx-runtime.js +0 -5
- package/dist/cjs/jsx/dom/render.js +0 -525
- package/dist/cjs/jsx/dom/server.js +0 -44
- package/dist/cjs/jsx/dom/utils.js +0 -9
- package/dist/cjs/jsx/hooks/index.js +0 -280
- package/dist/cjs/jsx/index.js +0 -89
- package/dist/cjs/jsx/intrinsic-element/common.js +0 -27
- package/dist/cjs/jsx/intrinsic-element/components.js +0 -138
- package/dist/cjs/jsx/intrinsic-elements.js +0 -0
- package/dist/cjs/jsx/jsx-dev-runtime.js +0 -16
- package/dist/cjs/jsx/jsx-runtime.js +0 -37
- package/dist/cjs/jsx/streaming.js +0 -135
- package/dist/cjs/jsx/types.js +0 -0
- package/dist/cjs/jsx/utils.js +0 -116
- package/dist/cjs/middleware/basic-auth/index.js +0 -100
- package/dist/cjs/middleware/bearer-auth/index.js +0 -97
- package/dist/cjs/middleware/body-limit/index.js +0 -69
- package/dist/cjs/middleware/cache/index.js +0 -173
- package/dist/cjs/middleware/combine/index.js +0 -141
- package/dist/cjs/middleware/compress/index.js +0 -82
- package/dist/cjs/middleware/context-storage/index.js +0 -55
- package/dist/cjs/middleware/cors/index.js +0 -109
- package/dist/cjs/middleware/csrf/index.js +0 -106
- package/dist/cjs/middleware/etag/digest.js +0 -62
- package/dist/cjs/middleware/etag/index.js +0 -79
- package/dist/cjs/middleware/ip-restriction/index.js +0 -168
- package/dist/cjs/middleware/jsx-renderer/index.js +0 -104
- package/dist/cjs/middleware/jwk/index.js +0 -3
- package/dist/cjs/middleware/jwk/jwk.js +0 -122
- package/dist/cjs/middleware/jwt/index.js +0 -9
- package/dist/cjs/middleware/jwt/jwt.js +0 -124
- package/dist/cjs/middleware/language/index.js +0 -7
- package/dist/cjs/middleware/language/language.js +0 -208
- package/dist/cjs/middleware/logger/index.js +0 -51
- package/dist/cjs/middleware/method-not-allowed/index.js +0 -84
- package/dist/cjs/middleware/method-override/index.js +0 -105
- package/dist/cjs/middleware/mount/index.js +0 -71
- package/dist/cjs/middleware/powered-by/index.js +0 -25
- package/dist/cjs/middleware/pretty-json/index.js +0 -41
- package/dist/cjs/middleware/request-id/index.js +0 -3
- package/dist/cjs/middleware/request-id/request-id.js +0 -35
- package/dist/cjs/middleware/secure-headers/index.js +0 -4
- package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -0
- package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -166
- package/dist/cjs/middleware/serve-static/index.js +0 -62
- package/dist/cjs/middleware/serve-static/path.js +0 -17
- package/dist/cjs/middleware/timeout/index.js +0 -42
- package/dist/cjs/middleware/timing/index.js +0 -7
- package/dist/cjs/middleware/timing/timing.js +0 -189
- package/dist/cjs/middleware/trailing-slash/index.js +0 -89
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/preset/quick.js +0 -19
- package/dist/cjs/preset/tiny.js +0 -16
- package/dist/cjs/request/constants.js +0 -5
- package/dist/cjs/request.js +0 -337
- package/dist/cjs/router/linear-router/index.js +0 -3
- package/dist/cjs/router/linear-router/router.js +0 -97
- package/dist/cjs/router/pattern-router/index.js +0 -3
- package/dist/cjs/router/pattern-router/router.js +0 -42
- package/dist/cjs/router/reg-exp-router/index.js +0 -7
- package/dist/cjs/router/reg-exp-router/matcher.js +0 -21
- package/dist/cjs/router/reg-exp-router/node.js +0 -96
- package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -97
- package/dist/cjs/router/reg-exp-router/router.js +0 -102
- package/dist/cjs/router/reg-exp-router/trie.js +0 -74
- package/dist/cjs/router/smart-router/index.js +0 -3
- package/dist/cjs/router/smart-router/router.js +0 -50
- package/dist/cjs/router/trie-router/index.js +0 -3
- package/dist/cjs/router/trie-router/node.js +0 -135
- package/dist/cjs/router/trie-router/router.js +0 -16
- package/dist/cjs/router/utils.js +0 -5
- package/dist/cjs/router.js +0 -40
- package/dist/cjs/types.js +0 -5
- package/dist/cjs/utils/accept.js +0 -194
- package/dist/cjs/utils/basic-auth.js +0 -21
- package/dist/cjs/utils/body.js +0 -97
- package/dist/cjs/utils/buffer.js +0 -55
- package/dist/cjs/utils/color.js +0 -39
- package/dist/cjs/utils/compress.js +0 -12
- package/dist/cjs/utils/concurrent.js +0 -31
- package/dist/cjs/utils/constants.js +0 -8
- package/dist/cjs/utils/cookie.js +0 -129
- package/dist/cjs/utils/crypto.js +0 -38
- package/dist/cjs/utils/encode.js +0 -37
- package/dist/cjs/utils/filepath.js +0 -27
- package/dist/cjs/utils/handler.js +0 -14
- package/dist/cjs/utils/headers.js +0 -0
- package/dist/cjs/utils/html.js +0 -109
- package/dist/cjs/utils/http-status.js +0 -0
- package/dist/cjs/utils/ipaddr.js +0 -247
- package/dist/cjs/utils/jwt/index.js +0 -15
- package/dist/cjs/utils/jwt/jwa.js +0 -25
- package/dist/cjs/utils/jwt/jws.js +0 -135
- package/dist/cjs/utils/jwt/jwt.js +0 -136
- package/dist/cjs/utils/jwt/types.js +0 -124
- package/dist/cjs/utils/jwt/utf8.js +0 -11
- package/dist/cjs/utils/mime.js +0 -80
- package/dist/cjs/utils/stream.js +0 -89
- package/dist/cjs/utils/types.js +0 -0
- package/dist/cjs/utils/url.js +0 -215
- package/dist/cjs/validator/index.js +0 -3
- package/dist/cjs/validator/utils.js +0 -0
- package/dist/cjs/validator/validator.js +0 -65
- package/dist/types/adapter/aws-lambda/conninfo.d.ts +0 -30
- package/dist/types/adapter/aws-lambda/handler.d.ts +0 -230
- package/dist/types/adapter/aws-lambda/index.d.ts +0 -4
- package/dist/types/adapter/aws-lambda/types.d.ts +0 -183
- package/dist/types/adapter/bun/conninfo.d.ts +0 -10
- package/dist/types/adapter/bun/index.d.ts +0 -6
- package/dist/types/adapter/bun/serve-static.d.ts +0 -8
- package/dist/types/adapter/bun/server.d.ts +0 -11
- package/dist/types/adapter/bun/ssg.d.ts +0 -17
- package/dist/types/adapter/bun/websocket.d.ts +0 -54
- package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +0 -24
- package/dist/types/adapter/cloudflare-pages/handler.d.ts +0 -45
- package/dist/types/adapter/cloudflare-pages/index.d.ts +0 -3
- package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +0 -7
- package/dist/types/adapter/cloudflare-workers/index.d.ts +0 -4
- package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +0 -7
- package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +0 -21
- package/dist/types/adapter/cloudflare-workers/utils.d.ts +0 -13
- package/dist/types/adapter/cloudflare-workers/websocket.d.ts +0 -7
- package/dist/types/adapter/deno/conninfo.d.ts +0 -10
- package/dist/types/adapter/deno/deno.d.ts +0 -1
- package/dist/types/adapter/deno/index.d.ts +0 -5
- package/dist/types/adapter/deno/serve-static.d.ts +0 -8
- package/dist/types/adapter/deno/ssg.d.ts +0 -17
- package/dist/types/adapter/deno/websocket.d.ts +0 -7
- package/dist/types/adapter/lambda-edge/conninfo.d.ts +0 -7
- package/dist/types/adapter/lambda-edge/handler.d.ts +0 -113
- package/dist/types/adapter/lambda-edge/index.d.ts +0 -3
- package/dist/types/adapter/netlify/conninfo.d.ts +0 -24
- package/dist/types/adapter/netlify/handler.d.ts +0 -7
- package/dist/types/adapter/netlify/index.d.ts +0 -3
- package/dist/types/adapter/netlify/mod.d.ts +0 -3
- package/dist/types/adapter/service-worker/handler.d.ts +0 -18
- package/dist/types/adapter/service-worker/index.d.ts +0 -26
- package/dist/types/adapter/service-worker/types.d.ts +0 -17
- package/dist/types/adapter/vercel/conninfo.d.ts +0 -7
- package/dist/types/adapter/vercel/handler.d.ts +0 -7
- package/dist/types/adapter/vercel/index.d.ts +0 -3
- package/dist/types/package.json +0 -3
- package/dist/types/utils/buffer.d.ts +0 -19
- package/dist/types/utils/color.d.ts +0 -23
- package/dist/{types/client → client}/client.d.ts +0 -0
- package/dist/{types/client → client}/fetch-result-please.d.ts +0 -0
- package/dist/{types/client → client}/index.d.ts +0 -0
- package/dist/{types/client → client}/types.d.ts +1 -1
- /package/dist/{types/client → client}/utils.d.ts +0 -0
- /package/dist/{types/helper → helper}/accepts/accepts.d.ts +0 -0
- /package/dist/{types/helper → helper}/accepts/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/adapter/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/conninfo/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/conninfo/types.d.ts +0 -0
- /package/dist/{types/helper → helper}/cookie/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/css/common.d.ts +0 -0
- /package/dist/{types/helper → helper}/css/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/html/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/proxy/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/route/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/ssg/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/ssg/plugins.d.ts +0 -0
- /package/dist/{types/helper → helper}/ssg/utils.d.ts +0 -0
- /package/dist/{types/helper → helper}/streaming/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/streaming/sse.d.ts +0 -0
- /package/dist/{types/helper → helper}/streaming/stream.d.ts +0 -0
- /package/dist/{types/helper → helper}/streaming/text.d.ts +0 -0
- /package/dist/{types/helper → helper}/streaming/utils.d.ts +0 -0
- /package/dist/{types/helper → helper}/testing/index.d.ts +0 -0
- /package/dist/{types/helper → helper}/websocket/index.d.ts +0 -0
- /package/dist/{types/http-exception.d.ts → http-exception.d.ts} +0 -0
- /package/dist/{types/index.d.ts → index.d.ts} +0 -0
- /package/dist/{types/jsx → jsx}/base.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/children.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/components.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/constants.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/context.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/client.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/components.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/context.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/css.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/hooks/index.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/index.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/intrinsic-element/components.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/jsx-dev-runtime.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/jsx-runtime.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/render.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/server.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/dom/utils.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/hooks/index.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/index.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/intrinsic-element/common.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/intrinsic-element/components.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/intrinsic-elements.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/jsx-dev-runtime.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/jsx-runtime.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/streaming.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/types.d.ts +0 -0
- /package/dist/{types/jsx → jsx}/utils.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/body-limit/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/cache/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/combine/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/compress/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/context-storage/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/cors/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/csrf/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/etag/digest.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/etag/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/ip-restriction/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/jsx-renderer/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/jwk/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/jwk/jwk.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/jwt/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/jwt/jwt.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/language/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/language/language.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/logger/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/method-not-allowed/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/method-override/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/mount/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/powered-by/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/pretty-json/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/request-id/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/request-id/request-id.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/secure-headers/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/secure-headers/permissions-policy.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/secure-headers/secure-headers.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/serve-static/path.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/timeout/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/timing/index.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/timing/timing.d.ts +0 -0
- /package/dist/{types/middleware → middleware}/trailing-slash/index.d.ts +0 -0
- /package/dist/{types/request → request}/constants.d.ts +0 -0
- /package/dist/{types/router → router}/linear-router/index.d.ts +0 -0
- /package/dist/{types/router → router}/linear-router/router.d.ts +0 -0
- /package/dist/{types/router → router}/pattern-router/index.d.ts +0 -0
- /package/dist/{types/router → router}/pattern-router/router.d.ts +0 -0
- /package/dist/{types/router → router}/reg-exp-router/index.d.ts +0 -0
- /package/dist/{types/router → router}/reg-exp-router/matcher.d.ts +0 -0
- /package/dist/{types/router → router}/reg-exp-router/node.d.ts +0 -0
- /package/dist/{types/router → router}/reg-exp-router/prepared-router.d.ts +0 -0
- /package/dist/{types/router → router}/reg-exp-router/router.d.ts +0 -0
- /package/dist/{types/router → router}/reg-exp-router/trie.d.ts +0 -0
- /package/dist/{types/router → router}/smart-router/index.d.ts +0 -0
- /package/dist/{types/router → router}/smart-router/router.d.ts +0 -0
- /package/dist/{types/router → router}/trie-router/index.d.ts +0 -0
- /package/dist/{types/router → router}/trie-router/node.d.ts +0 -0
- /package/dist/{types/router → router}/trie-router/router.d.ts +0 -0
- /package/dist/{types/router → router}/utils.d.ts +0 -0
- /package/dist/{types/router.d.ts → router.d.ts} +0 -0
- /package/dist/{types/utils → utils}/accept.d.ts +0 -0
- /package/dist/{types/utils → utils}/basic-auth.d.ts +0 -0
- /package/dist/{types/utils → utils}/body.d.ts +0 -0
- /package/dist/{types/utils → utils}/compress.d.ts +0 -0
- /package/dist/{types/utils → utils}/concurrent.d.ts +0 -0
- /package/dist/{types/utils → utils}/constants.d.ts +0 -0
- /package/dist/{types/utils → utils}/cookie.d.ts +0 -0
- /package/dist/{types/utils → utils}/crypto.d.ts +0 -0
- /package/dist/{types/utils → utils}/encode.d.ts +0 -0
- /package/dist/{types/utils → utils}/filepath.d.ts +0 -0
- /package/dist/{types/utils → utils}/handler.d.ts +0 -0
- /package/dist/{types/utils → utils}/headers.d.ts +0 -0
- /package/dist/{types/utils → utils}/html.d.ts +0 -0
- /package/dist/{types/utils → utils}/ipaddr.d.ts +0 -0
- /package/dist/{types/utils → utils}/jwt/index.d.ts +0 -0
- /package/dist/{types/utils → utils}/jwt/jwa.d.ts +0 -0
- /package/dist/{types/utils → utils}/jwt/jws.d.ts +0 -0
- /package/dist/{types/utils → utils}/jwt/jwt.d.ts +0 -0
- /package/dist/{types/utils → utils}/jwt/types.d.ts +0 -0
- /package/dist/{types/utils → utils}/jwt/utf8.d.ts +0 -0
- /package/dist/{types/utils → utils}/mime.d.ts +0 -0
- /package/dist/{types/utils → utils}/stream.d.ts +0 -0
- /package/dist/{types/utils → utils}/types.d.ts +0 -0
- /package/dist/{types/validator → validator}/index.d.ts +0 -0
- /package/dist/{types/validator → validator}/utils.d.ts +0 -0
package/dist/context.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GET_RESPONSE } from "./context/constants.js";
|
|
1
2
|
import { HonoRequest } from "./request.js";
|
|
2
3
|
import { HtmlEscapedCallbackPhase, resolveCallback } from "./utils/html.js";
|
|
3
4
|
//#region src/context.ts
|
|
@@ -12,37 +13,9 @@ const createResponseInstance = (body, init) => new Response(body, init);
|
|
|
12
13
|
var Context = class {
|
|
13
14
|
#rawRequest;
|
|
14
15
|
#req;
|
|
15
|
-
/**
|
|
16
|
-
* `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
|
|
17
|
-
*
|
|
18
|
-
* @see {@link https://hono.dev/docs/api/context#env}
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```ts
|
|
22
|
-
* // Environment object for Cloudflare Workers
|
|
23
|
-
* app.get('*', async c => {
|
|
24
|
-
* const counter = c.env.COUNTER
|
|
25
|
-
* })
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
16
|
env = {};
|
|
29
17
|
#var;
|
|
30
18
|
finalized = false;
|
|
31
|
-
/**
|
|
32
|
-
* `.error` can get the error object from the middleware if the Handler throws an error.
|
|
33
|
-
*
|
|
34
|
-
* @see {@link https://hono.dev/docs/api/context#error}
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```ts
|
|
38
|
-
* app.use('*', async (c, next) => {
|
|
39
|
-
* await next()
|
|
40
|
-
* if (c.error) {
|
|
41
|
-
* // do something...
|
|
42
|
-
* }
|
|
43
|
-
* })
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
19
|
error;
|
|
47
20
|
#status;
|
|
48
21
|
#executionCtx;
|
|
@@ -53,12 +26,6 @@ var Context = class {
|
|
|
53
26
|
#preparedHeaders;
|
|
54
27
|
#matchResult;
|
|
55
28
|
#path;
|
|
56
|
-
/**
|
|
57
|
-
* Creates an instance of the Context class.
|
|
58
|
-
*
|
|
59
|
-
* @param req - The Request object.
|
|
60
|
-
* @param options - Optional configuration options for the context.
|
|
61
|
-
*/
|
|
62
29
|
constructor(req, options) {
|
|
63
30
|
this.#rawRequest = req;
|
|
64
31
|
if (options) {
|
|
@@ -69,45 +36,21 @@ var Context = class {
|
|
|
69
36
|
this.#matchResult = options.matchResult;
|
|
70
37
|
}
|
|
71
38
|
}
|
|
72
|
-
/**
|
|
73
|
-
* `.req` is the instance of {@link HonoRequest}.
|
|
74
|
-
*/
|
|
75
39
|
get req() {
|
|
76
40
|
this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);
|
|
77
41
|
return this.#req;
|
|
78
42
|
}
|
|
79
|
-
/**
|
|
80
|
-
* @see {@link https://hono.dev/docs/api/context#event}
|
|
81
|
-
* The FetchEvent associated with the current request.
|
|
82
|
-
*
|
|
83
|
-
* @throws Will throw an error if the context does not have a FetchEvent.
|
|
84
|
-
*/
|
|
85
43
|
get event() {
|
|
86
44
|
if (this.#executionCtx && "respondWith" in this.#executionCtx) return this.#executionCtx;
|
|
87
45
|
else throw Error("This context has no FetchEvent");
|
|
88
46
|
}
|
|
89
|
-
/**
|
|
90
|
-
* @see {@link https://hono.dev/docs/api/context#executionctx}
|
|
91
|
-
* The ExecutionContext associated with the current request.
|
|
92
|
-
*
|
|
93
|
-
* @throws Will throw an error if the context does not have an ExecutionContext.
|
|
94
|
-
*/
|
|
95
47
|
get executionCtx() {
|
|
96
48
|
if (this.#executionCtx) return this.#executionCtx;
|
|
97
49
|
else throw Error("This context has no ExecutionContext");
|
|
98
50
|
}
|
|
99
|
-
/**
|
|
100
|
-
* @see {@link https://hono.dev/docs/api/context#res}
|
|
101
|
-
* The Response object for the current request.
|
|
102
|
-
*/
|
|
103
51
|
get res() {
|
|
104
52
|
return this.#res ||= createResponseInstance(null, { headers: this.#preparedHeaders ??= new Headers() });
|
|
105
53
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Sets the Response object for the current request.
|
|
108
|
-
*
|
|
109
|
-
* @param _res - The Response object to set.
|
|
110
|
-
*/
|
|
111
54
|
set res(_res) {
|
|
112
55
|
if (this.#res && _res) {
|
|
113
56
|
_res = createResponseInstance(_res.body, _res);
|
|
@@ -123,132 +66,51 @@ var Context = class {
|
|
|
123
66
|
this.#res = _res;
|
|
124
67
|
this.finalized = true;
|
|
125
68
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
* })
|
|
172
|
-
* await next()
|
|
173
|
-
* })
|
|
174
|
-
* ```
|
|
175
|
-
*/
|
|
176
|
-
setRenderer = (renderer) => {
|
|
177
|
-
this.#renderer = renderer;
|
|
178
|
-
};
|
|
179
|
-
/**
|
|
180
|
-
* `.header()` can set headers.
|
|
181
|
-
*
|
|
182
|
-
* @see {@link https://hono.dev/docs/api/context#header}
|
|
183
|
-
*
|
|
184
|
-
* @example
|
|
185
|
-
* ```ts
|
|
186
|
-
* app.get('/welcome', (c) => {
|
|
187
|
-
* // Set headers
|
|
188
|
-
* c.header('X-Message', 'Hello!')
|
|
189
|
-
* c.header('Content-Type', 'text/plain')
|
|
190
|
-
*
|
|
191
|
-
* // Append multiple headers using the append option (e.g. Vary)
|
|
192
|
-
* c.header('Vary', 'Accept-Encoding', { append: true })
|
|
193
|
-
* c.header('Vary', 'User-Agent', { append: true })
|
|
194
|
-
*
|
|
195
|
-
* return c.body('Thank you for coming')
|
|
196
|
-
* })
|
|
197
|
-
* ```
|
|
198
|
-
*/
|
|
199
|
-
header = (name, value, options) => {
|
|
200
|
-
if (this.finalized) this.#res = createResponseInstance(this.#res.body, this.#res);
|
|
201
|
-
const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
|
|
202
|
-
if (value === void 0) headers.delete(name);
|
|
203
|
-
else if (options?.append) headers.append(name, value);
|
|
204
|
-
else headers.set(name, value);
|
|
205
|
-
};
|
|
206
|
-
status = (status) => {
|
|
207
|
-
this.#status = status;
|
|
208
|
-
};
|
|
209
|
-
/**
|
|
210
|
-
* `.set()` can set the value specified by the key.
|
|
211
|
-
*
|
|
212
|
-
* @see {@link https://hono.dev/docs/api/context#set-get}
|
|
213
|
-
*
|
|
214
|
-
* @example
|
|
215
|
-
* ```ts
|
|
216
|
-
* app.use('*', async (c, next) => {
|
|
217
|
-
* c.set('message', 'Hono is hot!!')
|
|
218
|
-
* await next()
|
|
219
|
-
* })
|
|
220
|
-
* ```
|
|
221
|
-
*/
|
|
222
|
-
set = (key, value) => {
|
|
223
|
-
this.#var ??= /* @__PURE__ */ new Map();
|
|
224
|
-
this.#var.set(key, value);
|
|
225
|
-
};
|
|
226
|
-
/**
|
|
227
|
-
* `.get()` can use the value specified by the key.
|
|
228
|
-
*
|
|
229
|
-
* @see {@link https://hono.dev/docs/api/context#set-get}
|
|
230
|
-
*
|
|
231
|
-
* @example
|
|
232
|
-
* ```ts
|
|
233
|
-
* app.get('/', (c) => {
|
|
234
|
-
* const message = c.get('message')
|
|
235
|
-
* return c.text(`The message is "${message}"`)
|
|
236
|
-
* })
|
|
237
|
-
* ```
|
|
238
|
-
*/
|
|
239
|
-
get = (key) => {
|
|
240
|
-
return this.#var ? this.#var.get(key) : void 0;
|
|
241
|
-
};
|
|
242
|
-
/**
|
|
243
|
-
* `.var` can access the value of a variable.
|
|
244
|
-
*
|
|
245
|
-
* @see {@link https://hono.dev/docs/api/context#var}
|
|
246
|
-
*
|
|
247
|
-
* @example
|
|
248
|
-
* ```ts
|
|
249
|
-
* const result = c.var.client.oneMethod()
|
|
250
|
-
* ```
|
|
251
|
-
*/
|
|
69
|
+
get [GET_RESPONSE]() {
|
|
70
|
+
return this.#res;
|
|
71
|
+
}
|
|
72
|
+
get render() {
|
|
73
|
+
return (...args) => {
|
|
74
|
+
this.#renderer ??= (content) => this.html(content);
|
|
75
|
+
return this.#renderer(...args);
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
get setLayout() {
|
|
79
|
+
return (layout) => this.#layout = layout;
|
|
80
|
+
}
|
|
81
|
+
get getLayout() {
|
|
82
|
+
return () => this.#layout;
|
|
83
|
+
}
|
|
84
|
+
get setRenderer() {
|
|
85
|
+
return (renderer) => {
|
|
86
|
+
this.#renderer = renderer;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
get header() {
|
|
90
|
+
return (name, value, options) => {
|
|
91
|
+
if (this.finalized) this.#res = createResponseInstance(this.#res.body, this.#res);
|
|
92
|
+
const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
|
|
93
|
+
if (value === void 0) headers.delete(name);
|
|
94
|
+
else if (options?.append) headers.append(name, value);
|
|
95
|
+
else headers.set(name, value);
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
get status() {
|
|
99
|
+
return (status) => {
|
|
100
|
+
this.#status = status;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
get set() {
|
|
104
|
+
return (key, value) => {
|
|
105
|
+
this.#var ??= /* @__PURE__ */ new Map();
|
|
106
|
+
this.#var.set(key, value);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
get get() {
|
|
110
|
+
return (key) => {
|
|
111
|
+
return this.#var ? this.#var.get(key) : void 0;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
252
114
|
get var() {
|
|
253
115
|
if (!this.#var) return {};
|
|
254
116
|
return Object.fromEntries(this.#var);
|
|
@@ -283,99 +145,43 @@ var Context = class {
|
|
|
283
145
|
headers: responseHeaders ?? headers
|
|
284
146
|
});
|
|
285
147
|
}
|
|
286
|
-
newResponse
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
};
|
|
324
|
-
/**
|
|
325
|
-
* `.json()` can render JSON as `Content-Type:application/json`.
|
|
326
|
-
*
|
|
327
|
-
* @see {@link https://hono.dev/docs/api/context#json}
|
|
328
|
-
*
|
|
329
|
-
* @example
|
|
330
|
-
* ```ts
|
|
331
|
-
* app.get('/api', (c) => {
|
|
332
|
-
* return c.json({ message: 'Hello!' })
|
|
333
|
-
* })
|
|
334
|
-
* ```
|
|
335
|
-
*/
|
|
336
|
-
json = (object, arg, headers) => {
|
|
337
|
-
return this.#newResponse(JSON.stringify(object), arg, setDefaultContentType("application/json", headers));
|
|
338
|
-
};
|
|
339
|
-
html = (html, arg, headers) => {
|
|
340
|
-
const res = (html) => this.#newResponse(html, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
|
|
341
|
-
return typeof html === "object" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
|
|
342
|
-
};
|
|
343
|
-
/**
|
|
344
|
-
* `.redirect()` can Redirect, default status code is 302.
|
|
345
|
-
*
|
|
346
|
-
* @see {@link https://hono.dev/docs/api/context#redirect}
|
|
347
|
-
*
|
|
348
|
-
* @example
|
|
349
|
-
* ```ts
|
|
350
|
-
* app.get('/redirect', (c) => {
|
|
351
|
-
* return c.redirect('/')
|
|
352
|
-
* })
|
|
353
|
-
* app.get('/redirect-permanently', (c) => {
|
|
354
|
-
* return c.redirect('/', 301)
|
|
355
|
-
* })
|
|
356
|
-
* ```
|
|
357
|
-
*/
|
|
358
|
-
redirect = (location, status) => {
|
|
359
|
-
const locationString = String(location);
|
|
360
|
-
this.header("Location", !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString));
|
|
361
|
-
return this.newResponse(null, status ?? 302);
|
|
362
|
-
};
|
|
363
|
-
/**
|
|
364
|
-
* `.notFound()` can return the Not Found Response.
|
|
365
|
-
*
|
|
366
|
-
* @see {@link https://hono.dev/docs/api/context#notfound}
|
|
367
|
-
*
|
|
368
|
-
* @example
|
|
369
|
-
* ```ts
|
|
370
|
-
* app.get('/notfound', (c) => {
|
|
371
|
-
* return c.notFound()
|
|
372
|
-
* })
|
|
373
|
-
* ```
|
|
374
|
-
*/
|
|
375
|
-
notFound = () => {
|
|
376
|
-
this.#notFoundHandler ??= () => createResponseInstance();
|
|
377
|
-
return this.#notFoundHandler(this);
|
|
378
|
-
};
|
|
148
|
+
get newResponse() {
|
|
149
|
+
return (...args) => this.#newResponse(...args);
|
|
150
|
+
}
|
|
151
|
+
get body() {
|
|
152
|
+
return (data, arg, headers) => this.#newResponse(data, arg, headers);
|
|
153
|
+
}
|
|
154
|
+
get text() {
|
|
155
|
+
return (text, arg, headers) => {
|
|
156
|
+
return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(text, arg, setDefaultContentType(TEXT_PLAIN, headers));
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
get json() {
|
|
160
|
+
return (object, arg, headers) => {
|
|
161
|
+
const body = JSON.stringify(object);
|
|
162
|
+
if (body === void 0) throw new TypeError("Value is not JSON serializable");
|
|
163
|
+
return this.#newResponse(body, arg, setDefaultContentType("application/json", headers));
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
get html() {
|
|
167
|
+
return (html, arg, headers) => {
|
|
168
|
+
const res = (html) => this.#newResponse(html, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
|
|
169
|
+
return typeof html === "object" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
get redirect() {
|
|
173
|
+
return (location, status) => {
|
|
174
|
+
const locationString = String(location);
|
|
175
|
+
this.header("Location", !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString));
|
|
176
|
+
return this.newResponse(null, status ?? 302);
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
get notFound() {
|
|
180
|
+
return () => {
|
|
181
|
+
this.#notFoundHandler ??= () => createResponseInstance();
|
|
182
|
+
return this.#notFoundHandler(this);
|
|
183
|
+
};
|
|
184
|
+
}
|
|
379
185
|
};
|
|
380
186
|
//#endregion
|
|
381
187
|
export { Context, TEXT_PLAIN };
|
|
@@ -29,19 +29,6 @@ const defaultMatch = (accepts, config) => {
|
|
|
29
29
|
}
|
|
30
30
|
return defaultSupport;
|
|
31
31
|
};
|
|
32
|
-
/**
|
|
33
|
-
* Match the accept header with the given options.
|
|
34
|
-
* @example
|
|
35
|
-
* ```ts
|
|
36
|
-
* app.get('/users', (c) => {
|
|
37
|
-
* const lang = accepts(c, {
|
|
38
|
-
* header: 'Accept-Language',
|
|
39
|
-
* supports: ['en', 'zh'],
|
|
40
|
-
* default: 'en',
|
|
41
|
-
* })
|
|
42
|
-
* })
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
32
|
const accepts = (c, options) => {
|
|
46
33
|
const acceptHeader = c.req.header(options.header);
|
|
47
34
|
if (!acceptHeader) return options.default;
|
|
@@ -9,19 +9,9 @@ const SELECTORS = Symbol();
|
|
|
9
9
|
const EXTERNAL_CLASS_NAMES = Symbol();
|
|
10
10
|
const CSS_ESCAPED = Symbol();
|
|
11
11
|
const IS_CSS_ESCAPED = Symbol();
|
|
12
|
-
/**
|
|
13
|
-
* @experimental
|
|
14
|
-
* `rawCssString` is an experimental feature.
|
|
15
|
-
* The API might be changed.
|
|
16
|
-
*/
|
|
17
12
|
const rawCssString = (value) => {
|
|
18
13
|
return { [CSS_ESCAPED]: value };
|
|
19
14
|
};
|
|
20
|
-
/**
|
|
21
|
-
* Used the goober'code as a reference:
|
|
22
|
-
* https://github.com/cristianbote/goober/blob/master/src/core/to-hash.js
|
|
23
|
-
* MIT License, Copyright (c) 2019 Cristian Bote
|
|
24
|
-
*/
|
|
25
15
|
const toHash = (str) => {
|
|
26
16
|
let i = 0, out = 11;
|
|
27
17
|
while (i < str.length) out = 101 * out + str.charCodeAt(i++) >>> 0;
|
package/dist/helper/css/index.js
CHANGED
|
@@ -3,19 +3,6 @@ import { DOM_RENDERER } from "../../jsx/constants.js";
|
|
|
3
3
|
import { CLASS_NAME, DEFAULT_STYLE_ID, SELECTOR, SELECTORS, STYLE_STRING, cssCommon, cxCommon, keyframesCommon, rawCssString, viewTransitionCommon } from "./common.js";
|
|
4
4
|
import { createCssJsxDomObjects } from "../../jsx/dom/css.js";
|
|
5
5
|
//#region src/helper/css/index.ts
|
|
6
|
-
/**
|
|
7
|
-
* @module
|
|
8
|
-
* css Helper for Hono.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* @experimental
|
|
12
|
-
* `createCssContext` is an experimental feature.
|
|
13
|
-
* The API might be changed.
|
|
14
|
-
*
|
|
15
|
-
* @param options.id - The ID for the style element
|
|
16
|
-
* @param options.classNameSlug - Optional function to customize generated CSS class names
|
|
17
|
-
* @param options.onInvalidSlug - Optional callback function called when an invalid slug is returned from ClassNameSlug
|
|
18
|
-
*/
|
|
19
6
|
const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
|
|
20
7
|
const [cssJsxDomObject, StyleRenderToDom] = createCssJsxDomObjects({ id });
|
|
21
8
|
const contextMap = /* @__PURE__ */ new WeakMap();
|
|
@@ -101,35 +88,10 @@ const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
|
|
|
101
88
|
};
|
|
102
89
|
};
|
|
103
90
|
const defaultContext = createCssContext({ id: DEFAULT_STYLE_ID });
|
|
104
|
-
/**
|
|
105
|
-
* @experimental
|
|
106
|
-
* `css` is an experimental feature.
|
|
107
|
-
* The API might be changed.
|
|
108
|
-
*/
|
|
109
91
|
const css = defaultContext.css;
|
|
110
|
-
/**
|
|
111
|
-
* @experimental
|
|
112
|
-
* `cx` is an experimental feature.
|
|
113
|
-
* The API might be changed.
|
|
114
|
-
*/
|
|
115
92
|
const cx = defaultContext.cx;
|
|
116
|
-
/**
|
|
117
|
-
* @experimental
|
|
118
|
-
* `keyframes` is an experimental feature.
|
|
119
|
-
* The API might be changed.
|
|
120
|
-
*/
|
|
121
93
|
const keyframes = defaultContext.keyframes;
|
|
122
|
-
/**
|
|
123
|
-
* @experimental
|
|
124
|
-
* `viewTransition` is an experimental feature.
|
|
125
|
-
* The API might be changed.
|
|
126
|
-
*/
|
|
127
94
|
const viewTransition = defaultContext.viewTransition;
|
|
128
|
-
/**
|
|
129
|
-
* @experimental
|
|
130
|
-
* `Style` is an experimental feature.
|
|
131
|
-
* The API might be changed.
|
|
132
|
-
*/
|
|
133
95
|
const Style = defaultContext.Style;
|
|
134
96
|
//#endregion
|
|
135
97
|
export { Style, createCssContext, css, cx, keyframes, rawCssString, viewTransition };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Env } from "../../types.js";
|
|
2
2
|
import { Hono } from "../../hono.js";
|
|
3
3
|
//#region src/helper/dev/index.d.ts
|
|
4
|
-
interface
|
|
4
|
+
interface InspectRoutesOptions {
|
|
5
|
+
includeInternal?: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface ShowRoutesOptions extends InspectRoutesOptions {
|
|
5
8
|
verbose?: boolean;
|
|
6
9
|
colorize?: boolean;
|
|
7
10
|
}
|
|
@@ -11,7 +14,7 @@ interface RouteData {
|
|
|
11
14
|
name: string;
|
|
12
15
|
isMiddleware: boolean;
|
|
13
16
|
}
|
|
14
|
-
export declare const inspectRoutes: <E extends Env>(hono: Hono<E
|
|
17
|
+
export declare const inspectRoutes: <E extends Env>(hono: Hono<E>, opts?: InspectRoutesOptions) => RouteData[];
|
|
15
18
|
export declare const showRoutes: <E extends Env>(hono: Hono<E>, opts?: ShowRoutesOptions) => void;
|
|
16
19
|
export declare const getRouterName: <E extends Env>(app: Hono<E>) => string;
|
|
17
20
|
//#endregion
|
package/dist/helper/dev/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import { findTargetHandler, isMiddleware } from "../../utils/handler.js";
|
|
|
4
4
|
const handlerName = (handler) => {
|
|
5
5
|
return handler.name || (isMiddleware(handler) ? "[middleware]" : "[handler]");
|
|
6
6
|
};
|
|
7
|
-
const inspectRoutes = (hono) => {
|
|
8
|
-
return hono.routes.map(({ path, method, handler }) => {
|
|
7
|
+
const inspectRoutes = (hono, opts) => {
|
|
8
|
+
return hono.routes.filter(({ method }) => opts?.includeInternal || method[0] !== "@").map(({ path, method, handler }) => {
|
|
9
9
|
const targetHandler = findTargetHandler(handler);
|
|
10
10
|
return {
|
|
11
11
|
path,
|
|
@@ -20,7 +20,7 @@ const showRoutes = (hono, opts) => {
|
|
|
20
20
|
const routeData = {};
|
|
21
21
|
let maxMethodLength = 0;
|
|
22
22
|
let maxPathLength = 0;
|
|
23
|
-
inspectRoutes(hono).filter(({ isMiddleware }) => opts?.verbose || !isMiddleware).map((route) => {
|
|
23
|
+
inspectRoutes(hono, opts).filter(({ method, isMiddleware }) => opts?.verbose || !isMiddleware || opts?.includeInternal && method[0] === "@").map((route) => {
|
|
24
24
|
const key = `${route.method}-${route.path}`;
|
|
25
25
|
(routeData[key] ||= []).push(route);
|
|
26
26
|
if (routeData[key].length > 1) return;
|