hono 4.13.13 → 5.0.0-rc.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/README.md +2 -2
- package/dist/{types/compose.d.ts → compose.d.ts} +1 -0
- package/dist/compose.js +10 -5
- package/dist/{types/context.d.ts → context.d.ts} +15 -15
- package/dist/context.js +79 -47
- package/dist/helper/factory/define-handler.d.ts +150 -0
- package/dist/helper/factory/define-handler.js +165 -0
- package/dist/{types/helper → helper}/factory/index.d.ts +30 -1
- package/dist/helper/factory/index.js +31 -3
- package/dist/{types/helper → helper}/ssg/middleware.d.ts +0 -6
- package/dist/helper/ssg/middleware.js +1 -16
- package/dist/{types/helper → helper}/ssg/ssg.d.ts +0 -12
- package/dist/helper/ssg/ssg.js +0 -3
- package/dist/{types/hono-base.d.ts → hono-base.d.ts} +3 -60
- package/dist/hono-base.js +6 -97
- package/dist/{types/hono.d.ts → hono.d.ts} +1 -1
- package/dist/{types/middleware → middleware}/basic-auth/index.d.ts +4 -3
- package/dist/middleware/basic-auth/index.js +1 -1
- package/dist/{types/middleware → middleware}/bearer-auth/index.d.ts +4 -27
- package/dist/middleware/bearer-auth/index.js +4 -4
- package/dist/middleware/language/language.js +1 -1
- package/dist/middleware/logger/index.js +6 -8
- package/dist/{types/middleware → middleware}/serve-static/index.d.ts +0 -4
- package/dist/{types/preset → preset}/quick.d.ts +1 -1
- package/dist/{types/preset → preset}/tiny.d.ts +1 -1
- package/dist/{types/request.d.ts → request.d.ts} +3 -48
- package/dist/request.js +0 -49
- package/dist/router/linear-router/router.js +4 -6
- package/dist/router/pattern-router/router.js +2 -2
- package/dist/router/reg-exp-router/node.js +1 -1
- package/dist/router/trie-router/node.js +3 -3
- package/dist/utils/buffer.d.ts +11 -0
- package/dist/utils/buffer.js +1 -8
- package/dist/utils/color.d.ts +16 -0
- package/dist/utils/color.js +7 -23
- package/dist/{types/utils → utils}/http-status.d.ts +1 -9
- package/dist/{types/utils → utils}/url.d.ts +0 -5
- package/dist/utils/url.js +1 -11
- package/dist/{types/validator → validator}/validator.d.ts +5 -0
- package/dist/validator/validator.js +46 -49
- package/package.json +209 -350
- 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}/dev/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/types.d.ts → types.d.ts} +1 -1
- /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
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_utils_cookie = require("../../utils/cookie.js");
|
|
3
|
-
//#region src/helper/cookie/index.ts
|
|
4
|
-
const getCookie = (c, key, prefix) => {
|
|
5
|
-
const cookie = c.req.raw.headers.get("Cookie");
|
|
6
|
-
if (typeof key === "string") {
|
|
7
|
-
if (!cookie) return;
|
|
8
|
-
let finalKey = key;
|
|
9
|
-
if (prefix === "secure") finalKey = "__Secure-" + key;
|
|
10
|
-
else if (prefix === "host") finalKey = "__Host-" + key;
|
|
11
|
-
return require_utils_cookie.parse(cookie, finalKey)[finalKey];
|
|
12
|
-
}
|
|
13
|
-
if (!cookie) return {};
|
|
14
|
-
return require_utils_cookie.parse(cookie);
|
|
15
|
-
};
|
|
16
|
-
const getSignedCookie = async (c, secret, key, prefix) => {
|
|
17
|
-
const cookie = c.req.raw.headers.get("Cookie");
|
|
18
|
-
if (typeof key === "string") {
|
|
19
|
-
if (!cookie) return;
|
|
20
|
-
let finalKey = key;
|
|
21
|
-
if (prefix === "secure") finalKey = "__Secure-" + key;
|
|
22
|
-
else if (prefix === "host") finalKey = "__Host-" + key;
|
|
23
|
-
return (await require_utils_cookie.parseSigned(cookie, secret, finalKey))[finalKey];
|
|
24
|
-
}
|
|
25
|
-
if (!cookie) return {};
|
|
26
|
-
return await require_utils_cookie.parseSigned(cookie, secret);
|
|
27
|
-
};
|
|
28
|
-
const generateCookie = (name, value, opt) => {
|
|
29
|
-
let cookie;
|
|
30
|
-
if (opt?.prefix === "secure") cookie = require_utils_cookie.serialize("__Secure-" + name, value, {
|
|
31
|
-
path: "/",
|
|
32
|
-
...opt,
|
|
33
|
-
secure: true
|
|
34
|
-
});
|
|
35
|
-
else if (opt?.prefix === "host") cookie = require_utils_cookie.serialize("__Host-" + name, value, {
|
|
36
|
-
...opt,
|
|
37
|
-
path: "/",
|
|
38
|
-
secure: true,
|
|
39
|
-
domain: void 0
|
|
40
|
-
});
|
|
41
|
-
else cookie = require_utils_cookie.serialize(name, value, {
|
|
42
|
-
path: "/",
|
|
43
|
-
...opt
|
|
44
|
-
});
|
|
45
|
-
return cookie;
|
|
46
|
-
};
|
|
47
|
-
const setCookie = (c, name, value, opt) => {
|
|
48
|
-
const cookie = generateCookie(name, value, opt);
|
|
49
|
-
c.header("Set-Cookie", cookie, { append: true });
|
|
50
|
-
};
|
|
51
|
-
const generateSignedCookie = async (name, value, secret, opt) => {
|
|
52
|
-
let cookie;
|
|
53
|
-
if (opt?.prefix === "secure") cookie = await require_utils_cookie.serializeSigned("__Secure-" + name, value, secret, {
|
|
54
|
-
path: "/",
|
|
55
|
-
...opt,
|
|
56
|
-
secure: true
|
|
57
|
-
});
|
|
58
|
-
else if (opt?.prefix === "host") cookie = await require_utils_cookie.serializeSigned("__Host-" + name, value, secret, {
|
|
59
|
-
...opt,
|
|
60
|
-
path: "/",
|
|
61
|
-
secure: true,
|
|
62
|
-
domain: void 0
|
|
63
|
-
});
|
|
64
|
-
else cookie = await require_utils_cookie.serializeSigned(name, value, secret, {
|
|
65
|
-
path: "/",
|
|
66
|
-
...opt
|
|
67
|
-
});
|
|
68
|
-
return cookie;
|
|
69
|
-
};
|
|
70
|
-
const setSignedCookie = async (c, name, value, secret, opt) => {
|
|
71
|
-
const cookie = await generateSignedCookie(name, value, secret, opt);
|
|
72
|
-
c.header("set-cookie", cookie, { append: true });
|
|
73
|
-
};
|
|
74
|
-
const deleteCookie = (c, name, opt) => {
|
|
75
|
-
const deletedCookie = getCookie(c, name, opt?.prefix);
|
|
76
|
-
setCookie(c, name, "", {
|
|
77
|
-
...opt,
|
|
78
|
-
maxAge: 0
|
|
79
|
-
});
|
|
80
|
-
return deletedCookie;
|
|
81
|
-
};
|
|
82
|
-
//#endregion
|
|
83
|
-
exports.deleteCookie = deleteCookie;
|
|
84
|
-
exports.generateCookie = generateCookie;
|
|
85
|
-
exports.generateSignedCookie = generateSignedCookie;
|
|
86
|
-
exports.getCookie = getCookie;
|
|
87
|
-
exports.getSignedCookie = getSignedCookie;
|
|
88
|
-
exports.setCookie = setCookie;
|
|
89
|
-
exports.setSignedCookie = setSignedCookie;
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/helper/css/common.ts
|
|
3
|
-
const PSEUDO_GLOBAL_SELECTOR = ":-hono-global";
|
|
4
|
-
const isPseudoGlobalSelectorRe = new RegExp(`^${PSEUDO_GLOBAL_SELECTOR}{(.*)}$`);
|
|
5
|
-
const DEFAULT_STYLE_ID = "hono-css";
|
|
6
|
-
const SELECTOR = Symbol();
|
|
7
|
-
const CLASS_NAME = Symbol();
|
|
8
|
-
const STYLE_STRING = Symbol();
|
|
9
|
-
const SELECTORS = Symbol();
|
|
10
|
-
const EXTERNAL_CLASS_NAMES = Symbol();
|
|
11
|
-
const CSS_ESCAPED = Symbol();
|
|
12
|
-
const IS_CSS_ESCAPED = Symbol();
|
|
13
|
-
/**
|
|
14
|
-
* @experimental
|
|
15
|
-
* `rawCssString` is an experimental feature.
|
|
16
|
-
* The API might be changed.
|
|
17
|
-
*/
|
|
18
|
-
const rawCssString = (value) => {
|
|
19
|
-
return { [CSS_ESCAPED]: value };
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Used the goober'code as a reference:
|
|
23
|
-
* https://github.com/cristianbote/goober/blob/master/src/core/to-hash.js
|
|
24
|
-
* MIT License, Copyright (c) 2019 Cristian Bote
|
|
25
|
-
*/
|
|
26
|
-
const toHash = (str) => {
|
|
27
|
-
let i = 0, out = 11;
|
|
28
|
-
while (i < str.length) out = 101 * out + str.charCodeAt(i++) >>> 0;
|
|
29
|
-
return "css-" + out;
|
|
30
|
-
};
|
|
31
|
-
const normalizeLabel = (label) => {
|
|
32
|
-
return label.trim().replace(/\s+/g, "-");
|
|
33
|
-
};
|
|
34
|
-
const isValidClassName = (name) => /^-?[_a-zA-Z][_a-zA-Z0-9-]*$/.test(name);
|
|
35
|
-
const hasUnsafeSelectorChar = (name) => /[<{}]/.test(name);
|
|
36
|
-
const RESERVED_KEYFRAME_NAMES = /* @__PURE__ */ new Set([
|
|
37
|
-
"default",
|
|
38
|
-
"inherit",
|
|
39
|
-
"initial",
|
|
40
|
-
"none",
|
|
41
|
-
"revert",
|
|
42
|
-
"revert-layer",
|
|
43
|
-
"unset"
|
|
44
|
-
]);
|
|
45
|
-
const isValidKeyframeName = (name) => isValidClassName(name) && !RESERVED_KEYFRAME_NAMES.has(name.toLowerCase());
|
|
46
|
-
const defaultOnInvalidSlug = (slug) => {
|
|
47
|
-
console.warn(`Invalid slug: ${slug}`);
|
|
48
|
-
};
|
|
49
|
-
const cssStringReStr = ["\"(?:(?:\\\\[\\s\\S]|[^\"\\\\])*)\"", "'(?:(?:\\\\[\\s\\S]|[^'\\\\])*)'"].join("|");
|
|
50
|
-
const minifyCssRe = new RegExp([
|
|
51
|
-
"(" + cssStringReStr + ")",
|
|
52
|
-
"(?:" + [
|
|
53
|
-
"^\\s+",
|
|
54
|
-
"\\/\\*.*?\\*\\/\\s*",
|
|
55
|
-
"\\/\\/.*\\n\\s*",
|
|
56
|
-
"\\s+$"
|
|
57
|
-
].join("|") + ")",
|
|
58
|
-
"\\s*;\\s*(}|$)\\s*",
|
|
59
|
-
"\\s*([{};:,])\\s*",
|
|
60
|
-
"(\\s)\\s+"
|
|
61
|
-
].join("|"), "g");
|
|
62
|
-
const minify = (css) => {
|
|
63
|
-
return css.replace(minifyCssRe, (_, $1, $2, $3, $4) => $1 || $2 || $3 || $4 || "");
|
|
64
|
-
};
|
|
65
|
-
const buildStyleString = (strings, values) => {
|
|
66
|
-
const selectors = [];
|
|
67
|
-
const externalClassNames = [];
|
|
68
|
-
const label = strings[0].match(/^\s*\/\*(.*?)\*\//)?.[1] || "";
|
|
69
|
-
let styleString = "";
|
|
70
|
-
for (let i = 0, len = strings.length; i < len; i++) {
|
|
71
|
-
styleString += strings[i];
|
|
72
|
-
let vArray = values[i];
|
|
73
|
-
if (typeof vArray === "boolean" || vArray === null || vArray === void 0) continue;
|
|
74
|
-
if (!Array.isArray(vArray)) vArray = [vArray];
|
|
75
|
-
for (let j = 0, len = vArray.length; j < len; j++) {
|
|
76
|
-
let value = vArray[j];
|
|
77
|
-
if (typeof value === "boolean" || value === null || value === void 0) continue;
|
|
78
|
-
if (typeof value === "string") {
|
|
79
|
-
if (/([\\"'\/])/.test(value)) styleString += value.replace(/([\\"']|(?<=<)\/)/g, "\\$1");
|
|
80
|
-
else styleString += value;
|
|
81
|
-
} else if (typeof value === "number") styleString += value;
|
|
82
|
-
else if (value[CSS_ESCAPED]) styleString += value[CSS_ESCAPED];
|
|
83
|
-
else if (value[CLASS_NAME].startsWith("@keyframes ")) {
|
|
84
|
-
selectors.push(value);
|
|
85
|
-
styleString += ` ${value[CLASS_NAME].substring(11)} `;
|
|
86
|
-
} else {
|
|
87
|
-
if (strings[i + 1]?.match(/^\s*{/)) {
|
|
88
|
-
selectors.push(value);
|
|
89
|
-
value = `.${value[CLASS_NAME]}`;
|
|
90
|
-
} else {
|
|
91
|
-
selectors.push(...value[SELECTORS]);
|
|
92
|
-
externalClassNames.push(...value[EXTERNAL_CLASS_NAMES]);
|
|
93
|
-
value = value[STYLE_STRING];
|
|
94
|
-
const valueLen = value.length;
|
|
95
|
-
if (valueLen > 0) {
|
|
96
|
-
const lastChar = value[valueLen - 1];
|
|
97
|
-
if (lastChar !== ";" && lastChar !== "}") value += ";";
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
styleString += `${value || ""}`;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return [
|
|
105
|
-
label,
|
|
106
|
-
minify(styleString),
|
|
107
|
-
selectors,
|
|
108
|
-
externalClassNames
|
|
109
|
-
];
|
|
110
|
-
};
|
|
111
|
-
const cssCommon = (strings, values, classNameSlug, onInvalidSlug) => {
|
|
112
|
-
let [label, thisStyleString, selectors, externalClassNames] = buildStyleString(strings, values);
|
|
113
|
-
const isPseudoGlobal = isPseudoGlobalSelectorRe.exec(thisStyleString);
|
|
114
|
-
if (isPseudoGlobal) thisStyleString = isPseudoGlobal[1];
|
|
115
|
-
const hash = toHash(label + thisStyleString);
|
|
116
|
-
let customSlug;
|
|
117
|
-
if (classNameSlug) {
|
|
118
|
-
const slug = classNameSlug(hash, normalizeLabel(label), thisStyleString);
|
|
119
|
-
if (slug) {
|
|
120
|
-
if (isValidClassName(slug)) customSlug = slug;
|
|
121
|
-
else (onInvalidSlug || defaultOnInvalidSlug)(slug);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
const selector = (isPseudoGlobal ? PSEUDO_GLOBAL_SELECTOR : "") + (customSlug || hash);
|
|
125
|
-
const className = (isPseudoGlobal ? selectors.map((s) => s[CLASS_NAME]) : [selector, ...externalClassNames]).join(" ");
|
|
126
|
-
return {
|
|
127
|
-
[SELECTOR]: selector,
|
|
128
|
-
[CLASS_NAME]: className,
|
|
129
|
-
[STYLE_STRING]: thisStyleString,
|
|
130
|
-
[SELECTORS]: selectors,
|
|
131
|
-
[EXTERNAL_CLASS_NAMES]: externalClassNames
|
|
132
|
-
};
|
|
133
|
-
};
|
|
134
|
-
const cxCommon = (args) => {
|
|
135
|
-
for (let i = 0, len = args.length; i < len; i++) {
|
|
136
|
-
const arg = args[i];
|
|
137
|
-
if (typeof arg === "string") args[i] = {
|
|
138
|
-
[SELECTOR]: "",
|
|
139
|
-
[CLASS_NAME]: "",
|
|
140
|
-
[STYLE_STRING]: "",
|
|
141
|
-
[SELECTORS]: [],
|
|
142
|
-
[EXTERNAL_CLASS_NAMES]: hasUnsafeSelectorChar(arg) ? [] : [arg]
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
return args;
|
|
146
|
-
};
|
|
147
|
-
const keyframesCommon = (strings, values, classNameSlug, onInvalidSlug) => {
|
|
148
|
-
const [label, styleString] = buildStyleString(strings, values);
|
|
149
|
-
const hash = toHash(label + styleString);
|
|
150
|
-
let customSlug;
|
|
151
|
-
if (classNameSlug) {
|
|
152
|
-
const slug = classNameSlug(hash, normalizeLabel(label), styleString);
|
|
153
|
-
if (slug) {
|
|
154
|
-
if (isValidKeyframeName(slug)) customSlug = slug;
|
|
155
|
-
else (onInvalidSlug || defaultOnInvalidSlug)(slug);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return {
|
|
159
|
-
[SELECTOR]: "",
|
|
160
|
-
[CLASS_NAME]: `@keyframes ${customSlug || hash}`,
|
|
161
|
-
[STYLE_STRING]: styleString,
|
|
162
|
-
[SELECTORS]: [],
|
|
163
|
-
[EXTERNAL_CLASS_NAMES]: []
|
|
164
|
-
};
|
|
165
|
-
};
|
|
166
|
-
let viewTransitionNameIndex = 0;
|
|
167
|
-
const viewTransitionCommon = ((strings, values, classNameSlug, onInvalidSlug) => {
|
|
168
|
-
if (!strings) strings = [`/* h-v-t ${viewTransitionNameIndex++} */`];
|
|
169
|
-
const content = Array.isArray(strings) ? cssCommon(strings, values, classNameSlug, onInvalidSlug) : strings;
|
|
170
|
-
const transitionName = content[CLASS_NAME];
|
|
171
|
-
const res = cssCommon(["view-transition-name:", ""], [transitionName], classNameSlug, onInvalidSlug);
|
|
172
|
-
content[CLASS_NAME] = PSEUDO_GLOBAL_SELECTOR + content[CLASS_NAME];
|
|
173
|
-
content[STYLE_STRING] = content[STYLE_STRING].replace(/(?<=::view-transition(?:[a-z-]*)\()(?=\))/g, transitionName);
|
|
174
|
-
res[CLASS_NAME] = res[SELECTOR] = transitionName;
|
|
175
|
-
res[SELECTORS] = [...content[SELECTORS], content];
|
|
176
|
-
return res;
|
|
177
|
-
});
|
|
178
|
-
//#endregion
|
|
179
|
-
exports.CLASS_NAME = CLASS_NAME;
|
|
180
|
-
exports.DEFAULT_STYLE_ID = DEFAULT_STYLE_ID;
|
|
181
|
-
exports.EXTERNAL_CLASS_NAMES = EXTERNAL_CLASS_NAMES;
|
|
182
|
-
exports.IS_CSS_ESCAPED = IS_CSS_ESCAPED;
|
|
183
|
-
exports.PSEUDO_GLOBAL_SELECTOR = PSEUDO_GLOBAL_SELECTOR;
|
|
184
|
-
exports.SELECTOR = SELECTOR;
|
|
185
|
-
exports.SELECTORS = SELECTORS;
|
|
186
|
-
exports.STYLE_STRING = STYLE_STRING;
|
|
187
|
-
exports.buildStyleString = buildStyleString;
|
|
188
|
-
exports.cssCommon = cssCommon;
|
|
189
|
-
exports.cxCommon = cxCommon;
|
|
190
|
-
exports.isPseudoGlobalSelectorRe = isPseudoGlobalSelectorRe;
|
|
191
|
-
exports.keyframesCommon = keyframesCommon;
|
|
192
|
-
exports.minify = minify;
|
|
193
|
-
exports.rawCssString = rawCssString;
|
|
194
|
-
exports.viewTransitionCommon = viewTransitionCommon;
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_utils_html = require("../../utils/html.js");
|
|
3
|
-
const require_jsx_constants = require("../../jsx/constants.js");
|
|
4
|
-
const require_helper_css_common = require("./common.js");
|
|
5
|
-
const require_jsx_dom_css = require("../../jsx/dom/css.js");
|
|
6
|
-
//#region src/helper/css/index.ts
|
|
7
|
-
/**
|
|
8
|
-
* @module
|
|
9
|
-
* css Helper for Hono.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* @experimental
|
|
13
|
-
* `createCssContext` is an experimental feature.
|
|
14
|
-
* The API might be changed.
|
|
15
|
-
*
|
|
16
|
-
* @param options.id - The ID for the style element
|
|
17
|
-
* @param options.classNameSlug - Optional function to customize generated CSS class names
|
|
18
|
-
* @param options.onInvalidSlug - Optional callback function called when an invalid slug is returned from ClassNameSlug
|
|
19
|
-
*/
|
|
20
|
-
const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
|
|
21
|
-
const [cssJsxDomObject, StyleRenderToDom] = require_jsx_dom_css.createCssJsxDomObjects({ id });
|
|
22
|
-
const contextMap = /* @__PURE__ */ new WeakMap();
|
|
23
|
-
const nonceMap = /* @__PURE__ */ new WeakMap();
|
|
24
|
-
const replaceStyleRe = new RegExp(`(<style id="${id}"(?: nonce="[^"]*")?>.*?)(</style>)`);
|
|
25
|
-
const newCssClassNameObject = (cssClassName) => {
|
|
26
|
-
const appendStyle = ({ buffer, context }) => {
|
|
27
|
-
const [toAdd, added] = contextMap.get(context);
|
|
28
|
-
const names = Object.keys(toAdd);
|
|
29
|
-
if (!names.length) return;
|
|
30
|
-
let stylesStr = "";
|
|
31
|
-
names.forEach((className) => {
|
|
32
|
-
added[className] = true;
|
|
33
|
-
stylesStr += className.startsWith(":-hono-global") ? toAdd[className] : `${className[0] === "@" ? "" : "."}${className}{${toAdd[className]}}`;
|
|
34
|
-
});
|
|
35
|
-
contextMap.set(context, [{}, added]);
|
|
36
|
-
if (buffer && replaceStyleRe.test(buffer[0])) {
|
|
37
|
-
buffer[0] = buffer[0].replace(replaceStyleRe, (_, pre, post) => `${pre}${stylesStr}${post}`);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const nonce = nonceMap.get(context);
|
|
41
|
-
const appendStyleScript = `<script${nonce ? ` nonce="${nonce}"` : ""}>document.querySelector('#${id}').textContent+=${JSON.stringify(stylesStr)}<\/script>`;
|
|
42
|
-
if (buffer) {
|
|
43
|
-
buffer[0] = `${appendStyleScript}${buffer[0]}`;
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
return Promise.resolve(appendStyleScript);
|
|
47
|
-
};
|
|
48
|
-
const addClassNameToContext = ({ context }) => {
|
|
49
|
-
if (!contextMap.has(context)) contextMap.set(context, [{}, {}]);
|
|
50
|
-
const [toAdd, added] = contextMap.get(context);
|
|
51
|
-
let allAdded = true;
|
|
52
|
-
if (!added[cssClassName[require_helper_css_common.SELECTOR]]) {
|
|
53
|
-
allAdded = false;
|
|
54
|
-
toAdd[cssClassName[require_helper_css_common.SELECTOR]] = cssClassName[require_helper_css_common.STYLE_STRING];
|
|
55
|
-
}
|
|
56
|
-
cssClassName[require_helper_css_common.SELECTORS].forEach(({ [require_helper_css_common.CLASS_NAME]: className, [require_helper_css_common.STYLE_STRING]: styleString }) => {
|
|
57
|
-
if (!added[className]) {
|
|
58
|
-
allAdded = false;
|
|
59
|
-
toAdd[className] = styleString;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
if (allAdded) return;
|
|
63
|
-
return Promise.resolve(require_utils_html.raw("", [appendStyle]));
|
|
64
|
-
};
|
|
65
|
-
const rawClassName = cssClassName[require_helper_css_common.CLASS_NAME];
|
|
66
|
-
let escapedClassName = rawClassName;
|
|
67
|
-
if (/[&<>'"]/.test(rawClassName)) {
|
|
68
|
-
const escapedBuffer = [""];
|
|
69
|
-
require_utils_html.escapeToBuffer(rawClassName, escapedBuffer);
|
|
70
|
-
escapedClassName = escapedBuffer[0];
|
|
71
|
-
}
|
|
72
|
-
const className = new String(escapedClassName);
|
|
73
|
-
Object.assign(className, cssClassName);
|
|
74
|
-
className.isEscaped = true;
|
|
75
|
-
className.callbacks = [addClassNameToContext];
|
|
76
|
-
const promise = Promise.resolve(className);
|
|
77
|
-
Object.assign(promise, cssClassName);
|
|
78
|
-
promise.toString = cssJsxDomObject.toString;
|
|
79
|
-
return promise;
|
|
80
|
-
};
|
|
81
|
-
const css = (strings, ...values) => {
|
|
82
|
-
return newCssClassNameObject(require_helper_css_common.cssCommon(strings, values, classNameSlug, onInvalidSlug));
|
|
83
|
-
};
|
|
84
|
-
const cx = (...args) => {
|
|
85
|
-
args = require_helper_css_common.cxCommon(args);
|
|
86
|
-
return css(Array(args.length).fill(""), ...args);
|
|
87
|
-
};
|
|
88
|
-
const keyframes = (strings, ...values) => require_helper_css_common.keyframesCommon(strings, values, classNameSlug, onInvalidSlug);
|
|
89
|
-
const viewTransition = ((strings, ...values) => {
|
|
90
|
-
return newCssClassNameObject(require_helper_css_common.viewTransitionCommon(strings, values, classNameSlug, onInvalidSlug));
|
|
91
|
-
});
|
|
92
|
-
const Style = ({ children, nonce } = {}) => require_utils_html.raw(`<style id="${id}"${nonce ? ` nonce="${nonce}"` : ""}>${children ? children[require_helper_css_common.STYLE_STRING] : ""}</style>`, [({ context }) => {
|
|
93
|
-
nonceMap.set(context, nonce);
|
|
94
|
-
}]);
|
|
95
|
-
Style[require_jsx_constants.DOM_RENDERER] = StyleRenderToDom;
|
|
96
|
-
return {
|
|
97
|
-
css,
|
|
98
|
-
cx,
|
|
99
|
-
keyframes,
|
|
100
|
-
viewTransition,
|
|
101
|
-
Style
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
const defaultContext = createCssContext({ id: require_helper_css_common.DEFAULT_STYLE_ID });
|
|
105
|
-
/**
|
|
106
|
-
* @experimental
|
|
107
|
-
* `css` is an experimental feature.
|
|
108
|
-
* The API might be changed.
|
|
109
|
-
*/
|
|
110
|
-
const css = defaultContext.css;
|
|
111
|
-
/**
|
|
112
|
-
* @experimental
|
|
113
|
-
* `cx` is an experimental feature.
|
|
114
|
-
* The API might be changed.
|
|
115
|
-
*/
|
|
116
|
-
const cx = defaultContext.cx;
|
|
117
|
-
/**
|
|
118
|
-
* @experimental
|
|
119
|
-
* `keyframes` is an experimental feature.
|
|
120
|
-
* The API might be changed.
|
|
121
|
-
*/
|
|
122
|
-
const keyframes = defaultContext.keyframes;
|
|
123
|
-
/**
|
|
124
|
-
* @experimental
|
|
125
|
-
* `viewTransition` is an experimental feature.
|
|
126
|
-
* The API might be changed.
|
|
127
|
-
*/
|
|
128
|
-
const viewTransition = defaultContext.viewTransition;
|
|
129
|
-
/**
|
|
130
|
-
* @experimental
|
|
131
|
-
* `Style` is an experimental feature.
|
|
132
|
-
* The API might be changed.
|
|
133
|
-
*/
|
|
134
|
-
const Style = defaultContext.Style;
|
|
135
|
-
//#endregion
|
|
136
|
-
exports.Style = Style;
|
|
137
|
-
exports.createCssContext = createCssContext;
|
|
138
|
-
exports.css = css;
|
|
139
|
-
exports.cx = cx;
|
|
140
|
-
exports.keyframes = keyframes;
|
|
141
|
-
exports.rawCssString = require_helper_css_common.rawCssString;
|
|
142
|
-
exports.viewTransition = viewTransition;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_utils_color = require("../../utils/color.js");
|
|
3
|
-
const require_utils_handler = require("../../utils/handler.js");
|
|
4
|
-
//#region src/helper/dev/index.ts
|
|
5
|
-
const handlerName = (handler) => {
|
|
6
|
-
return handler.name || (require_utils_handler.isMiddleware(handler) ? "[middleware]" : "[handler]");
|
|
7
|
-
};
|
|
8
|
-
const inspectRoutes = (hono) => {
|
|
9
|
-
return hono.routes.map(({ path, method, handler }) => {
|
|
10
|
-
const targetHandler = require_utils_handler.findTargetHandler(handler);
|
|
11
|
-
return {
|
|
12
|
-
path,
|
|
13
|
-
method,
|
|
14
|
-
name: handlerName(targetHandler),
|
|
15
|
-
isMiddleware: require_utils_handler.isMiddleware(targetHandler)
|
|
16
|
-
};
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
const showRoutes = (hono, opts) => {
|
|
20
|
-
const colorEnabled = opts?.colorize ?? require_utils_color.getColorEnabled();
|
|
21
|
-
const routeData = {};
|
|
22
|
-
let maxMethodLength = 0;
|
|
23
|
-
let maxPathLength = 0;
|
|
24
|
-
inspectRoutes(hono).filter(({ isMiddleware }) => opts?.verbose || !isMiddleware).map((route) => {
|
|
25
|
-
const key = `${route.method}-${route.path}`;
|
|
26
|
-
(routeData[key] ||= []).push(route);
|
|
27
|
-
if (routeData[key].length > 1) return;
|
|
28
|
-
maxMethodLength = Math.max(maxMethodLength, route.method.length);
|
|
29
|
-
maxPathLength = Math.max(maxPathLength, route.path.length);
|
|
30
|
-
return {
|
|
31
|
-
method: route.method,
|
|
32
|
-
path: route.path,
|
|
33
|
-
routes: routeData[key]
|
|
34
|
-
};
|
|
35
|
-
}).forEach((data) => {
|
|
36
|
-
if (!data) return;
|
|
37
|
-
const { method, path, routes } = data;
|
|
38
|
-
const methodStr = colorEnabled ? `\x1b[32m${method}\x1b[0m` : method;
|
|
39
|
-
console.log(`${methodStr} ${" ".repeat(maxMethodLength - method.length)} ${path}`);
|
|
40
|
-
if (!opts?.verbose) return;
|
|
41
|
-
routes.forEach(({ name }) => {
|
|
42
|
-
console.log(`${" ".repeat(maxMethodLength + 3)} ${name}`);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
const getRouterName = (app) => {
|
|
47
|
-
app.router.match("GET", "/");
|
|
48
|
-
return app.router.name;
|
|
49
|
-
};
|
|
50
|
-
//#endregion
|
|
51
|
-
exports.getRouterName = getRouterName;
|
|
52
|
-
exports.inspectRoutes = inspectRoutes;
|
|
53
|
-
exports.showRoutes = showRoutes;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_hono = require("../../hono.js");
|
|
3
|
-
//#region src/helper/factory/index.ts
|
|
4
|
-
/**
|
|
5
|
-
* @module
|
|
6
|
-
* Factory Helper for Hono.
|
|
7
|
-
*/
|
|
8
|
-
var Factory = class {
|
|
9
|
-
initApp;
|
|
10
|
-
#defaultAppOptions;
|
|
11
|
-
constructor(init) {
|
|
12
|
-
this.initApp = init?.initApp;
|
|
13
|
-
this.#defaultAppOptions = init?.defaultAppOptions;
|
|
14
|
-
}
|
|
15
|
-
createApp = (options) => {
|
|
16
|
-
const app = new require_hono.Hono(options && this.#defaultAppOptions ? {
|
|
17
|
-
...this.#defaultAppOptions,
|
|
18
|
-
...options
|
|
19
|
-
} : options ?? this.#defaultAppOptions);
|
|
20
|
-
if (this.initApp) this.initApp(app);
|
|
21
|
-
return app;
|
|
22
|
-
};
|
|
23
|
-
createMiddleware = (middleware) => middleware;
|
|
24
|
-
createHandlers = (...handlers) => {
|
|
25
|
-
return handlers.filter((handler) => handler !== void 0);
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
const createFactory = (init) => new Factory(init);
|
|
29
|
-
const createMiddleware = (middleware) => middleware;
|
|
30
|
-
//#endregion
|
|
31
|
-
exports.Factory = Factory;
|
|
32
|
-
exports.createFactory = createFactory;
|
|
33
|
-
exports.createMiddleware = createMiddleware;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_utils_html = require("../../utils/html.js");
|
|
3
|
-
//#region src/helper/html/index.ts
|
|
4
|
-
/**
|
|
5
|
-
* @module
|
|
6
|
-
* html Helper for Hono.
|
|
7
|
-
*/
|
|
8
|
-
const html = (strings, ...values) => {
|
|
9
|
-
const buffer = [""];
|
|
10
|
-
for (let i = 0, len = strings.length - 1; i < len; i++) {
|
|
11
|
-
buffer[0] += strings[i];
|
|
12
|
-
const children = Array.isArray(values[i]) ? values[i].flat(Infinity) : [values[i]];
|
|
13
|
-
for (let i = 0, len = children.length; i < len; i++) {
|
|
14
|
-
const child = children[i];
|
|
15
|
-
if (typeof child === "string") require_utils_html.escapeToBuffer(child, buffer);
|
|
16
|
-
else if (typeof child === "number") buffer[0] += child;
|
|
17
|
-
else if (typeof child === "boolean" || child === null || child === void 0) continue;
|
|
18
|
-
else if (typeof child === "object" && child.isEscaped) {
|
|
19
|
-
if (child.callbacks) buffer.unshift("", child);
|
|
20
|
-
else {
|
|
21
|
-
const tmp = child.toString();
|
|
22
|
-
if (tmp instanceof Promise) buffer.unshift("", tmp);
|
|
23
|
-
else buffer[0] += tmp;
|
|
24
|
-
}
|
|
25
|
-
} else if (child instanceof Promise) buffer.unshift("", child);
|
|
26
|
-
else require_utils_html.escapeToBuffer(child.toString(), buffer);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
buffer[0] += strings.at(-1);
|
|
30
|
-
return buffer.length === 1 ? "callbacks" in buffer ? require_utils_html.raw(require_utils_html.resolveCallbackSync(require_utils_html.raw(buffer[0], buffer.callbacks))) : require_utils_html.raw(buffer[0]) : require_utils_html.stringBufferToString(buffer, buffer.callbacks);
|
|
31
|
-
};
|
|
32
|
-
//#endregion
|
|
33
|
-
exports.html = html;
|
|
34
|
-
exports.raw = require_utils_html.raw;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_http_exception = require("../../http-exception.js");
|
|
3
|
-
//#region src/helper/proxy/index.ts
|
|
4
|
-
/**
|
|
5
|
-
* @module
|
|
6
|
-
* Proxy Helper for Hono.
|
|
7
|
-
*/
|
|
8
|
-
const hopByHopHeaders = [
|
|
9
|
-
"connection",
|
|
10
|
-
"keep-alive",
|
|
11
|
-
"proxy-authenticate",
|
|
12
|
-
"proxy-authorization",
|
|
13
|
-
"te",
|
|
14
|
-
"trailer",
|
|
15
|
-
"transfer-encoding",
|
|
16
|
-
"upgrade"
|
|
17
|
-
];
|
|
18
|
-
const ALLOWED_TOKEN_PATTERN = /^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/;
|
|
19
|
-
const buildRequestInitFromRequest = (request, strictConnectionProcessing) => {
|
|
20
|
-
if (!request) return {};
|
|
21
|
-
const headers = new Headers(request.headers);
|
|
22
|
-
if (strictConnectionProcessing) {
|
|
23
|
-
const connectionValue = headers.get("connection");
|
|
24
|
-
if (connectionValue) {
|
|
25
|
-
const headerNames = connectionValue.split(",").map((h) => h.trim());
|
|
26
|
-
const invalidHeaders = headerNames.filter((h) => !ALLOWED_TOKEN_PATTERN.test(h));
|
|
27
|
-
if (invalidHeaders.length > 0) throw new require_http_exception.HTTPException(400, { message: `Invalid Connection header value: ${invalidHeaders.join(", ")}` });
|
|
28
|
-
headerNames.forEach((headerName) => {
|
|
29
|
-
headers.delete(headerName);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
hopByHopHeaders.forEach((header) => {
|
|
34
|
-
headers.delete(header);
|
|
35
|
-
});
|
|
36
|
-
return {
|
|
37
|
-
method: request.method,
|
|
38
|
-
body: request.body,
|
|
39
|
-
duplex: request.body ? "half" : void 0,
|
|
40
|
-
headers,
|
|
41
|
-
signal: request.signal
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
const preprocessRequestInit = (requestInit) => {
|
|
45
|
-
if (!requestInit.headers || Array.isArray(requestInit.headers) || requestInit.headers instanceof Headers) return requestInit;
|
|
46
|
-
const headers = new Headers();
|
|
47
|
-
for (const [key, value] of Object.entries(requestInit.headers)) if (value == null) headers.delete(key);
|
|
48
|
-
else headers.set(key, value);
|
|
49
|
-
requestInit.headers = headers;
|
|
50
|
-
return requestInit;
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Fetch API wrapper for proxy.
|
|
54
|
-
* The parameters and return value are the same as for `fetch` (except for the proxy-specific options).
|
|
55
|
-
*
|
|
56
|
-
* The "Accept-Encoding" header is replaced with an encoding that the current runtime can handle.
|
|
57
|
-
* Unnecessary response headers are deleted and a Response object is returned that can be returned
|
|
58
|
-
* as is as a response from the handler.
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* ```ts
|
|
62
|
-
* app.get('/proxy/:path', (c) => {
|
|
63
|
-
* return proxy(`http://${originServer}/${c.req.param('path')}`, {
|
|
64
|
-
* headers: {
|
|
65
|
-
* ...c.req.header(), // optional, specify only when forwarding all the request data (including credentials) is necessary.
|
|
66
|
-
* 'X-Forwarded-For': '127.0.0.1',
|
|
67
|
-
* 'X-Forwarded-Host': c.req.header('host'),
|
|
68
|
-
* Authorization: undefined, // do not propagate request headers contained in c.req.header('Authorization')
|
|
69
|
-
* },
|
|
70
|
-
* }).then((res) => {
|
|
71
|
-
* res.headers.delete('Set-Cookie')
|
|
72
|
-
* return res
|
|
73
|
-
* })
|
|
74
|
-
* })
|
|
75
|
-
*
|
|
76
|
-
* app.all('/proxy/:path', (c) => {
|
|
77
|
-
* return proxy(`http://${originServer}/${c.req.param('path')}`, {
|
|
78
|
-
* ...c.req, // optional, specify only when forwarding all the request data (including credentials) is necessary.
|
|
79
|
-
* headers: {
|
|
80
|
-
* ...c.req.header(),
|
|
81
|
-
* 'X-Forwarded-For': '127.0.0.1',
|
|
82
|
-
* 'X-Forwarded-Host': c.req.header('host'),
|
|
83
|
-
* Authorization: undefined, // do not propagate request headers contained in c.req.header('Authorization')
|
|
84
|
-
* },
|
|
85
|
-
* })
|
|
86
|
-
* })
|
|
87
|
-
*
|
|
88
|
-
* // Strict RFC compliance mode (use only in trusted environments)
|
|
89
|
-
* app.get('/internal-proxy/:path', (c) => {
|
|
90
|
-
* return proxy(`http://${internalServer}/${c.req.param('path')}`, {
|
|
91
|
-
* ...c.req,
|
|
92
|
-
* strictConnectionProcessing: true,
|
|
93
|
-
* })
|
|
94
|
-
* })
|
|
95
|
-
* ```
|
|
96
|
-
*/
|
|
97
|
-
const proxy = async (input, proxyInit) => {
|
|
98
|
-
const { raw, customFetch, strictConnectionProcessing = false, ...requestInit } = proxyInit instanceof Request ? { raw: proxyInit } : proxyInit ?? {};
|
|
99
|
-
const req = new Request(input, {
|
|
100
|
-
...buildRequestInitFromRequest(raw, strictConnectionProcessing),
|
|
101
|
-
...preprocessRequestInit(requestInit)
|
|
102
|
-
});
|
|
103
|
-
req.headers.delete("accept-encoding");
|
|
104
|
-
const res = await (customFetch || fetch)(req);
|
|
105
|
-
const resHeaders = new Headers(res.headers);
|
|
106
|
-
const connectionValue = resHeaders.get("connection");
|
|
107
|
-
if (connectionValue) connectionValue.split(",").map((h) => h.trim()).filter((h) => ALLOWED_TOKEN_PATTERN.test(h)).forEach((h) => resHeaders.delete(h));
|
|
108
|
-
hopByHopHeaders.forEach((header) => {
|
|
109
|
-
resHeaders.delete(header);
|
|
110
|
-
});
|
|
111
|
-
if (resHeaders.has("content-encoding")) {
|
|
112
|
-
resHeaders.delete("content-encoding");
|
|
113
|
-
resHeaders.delete("content-length");
|
|
114
|
-
}
|
|
115
|
-
return new Response(res.body, {
|
|
116
|
-
status: res.status,
|
|
117
|
-
statusText: res.statusText,
|
|
118
|
-
headers: resHeaders
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
//#endregion
|
|
122
|
-
exports.proxy = proxy;
|