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
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_utils_encode = require("../encode.js");
|
|
3
|
-
const require_utils_jwt_jwa = require("./jwa.js");
|
|
4
|
-
const require_utils_jwt_types = require("./types.js");
|
|
5
|
-
const require_utils_jwt_utf8 = require("./utf8.js");
|
|
6
|
-
const require_utils_jwt_jws = require("./jws.js");
|
|
7
|
-
//#region src/utils/jwt/jwt.ts
|
|
8
|
-
/**
|
|
9
|
-
* @module
|
|
10
|
-
* JSON Web Token (JWT)
|
|
11
|
-
* https://datatracker.ietf.org/doc/html/rfc7519
|
|
12
|
-
*/
|
|
13
|
-
const encodeJwtPart = (part) => require_utils_encode.encodeBase64Url(require_utils_jwt_utf8.utf8Encoder.encode(JSON.stringify(part)).buffer).replace(/=/g, "");
|
|
14
|
-
const encodeSignaturePart = (buf) => require_utils_encode.encodeBase64Url(buf).replace(/=/g, "");
|
|
15
|
-
const decodeJwtPart = (part) => JSON.parse(require_utils_jwt_utf8.utf8Decoder.decode(require_utils_encode.decodeBase64Url(part)));
|
|
16
|
-
function isTokenHeader(obj) {
|
|
17
|
-
if (typeof obj === "object" && obj !== null) {
|
|
18
|
-
const objWithAlg = obj;
|
|
19
|
-
return "alg" in objWithAlg && Object.values(require_utils_jwt_jwa.AlgorithmTypes).includes(objWithAlg.alg) && (!("typ" in objWithAlg) || objWithAlg.typ === "JWT");
|
|
20
|
-
}
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
const sign = async (payload, privateKey, alg = "HS256") => {
|
|
24
|
-
const encodedPayload = encodeJwtPart(payload);
|
|
25
|
-
let encodedHeader;
|
|
26
|
-
if (typeof privateKey === "object" && "alg" in privateKey) {
|
|
27
|
-
alg = privateKey.alg;
|
|
28
|
-
encodedHeader = encodeJwtPart({
|
|
29
|
-
alg,
|
|
30
|
-
typ: "JWT",
|
|
31
|
-
kid: privateKey.kid
|
|
32
|
-
});
|
|
33
|
-
} else encodedHeader = encodeJwtPart({
|
|
34
|
-
alg,
|
|
35
|
-
typ: "JWT"
|
|
36
|
-
});
|
|
37
|
-
const partialToken = `${encodedHeader}.${encodedPayload}`;
|
|
38
|
-
const signaturePart = await require_utils_jwt_jws.signing(privateKey, alg, require_utils_jwt_utf8.utf8Encoder.encode(partialToken));
|
|
39
|
-
return `${partialToken}.${encodeSignaturePart(signaturePart)}`;
|
|
40
|
-
};
|
|
41
|
-
const verify = async (token, publicKey, algOrOptions) => {
|
|
42
|
-
if (!algOrOptions) throw new require_utils_jwt_types.JwtAlgorithmRequired();
|
|
43
|
-
const { alg, iss, nbf = true, exp = true, iat = true, aud } = typeof algOrOptions === "string" ? { alg: algOrOptions } : algOrOptions;
|
|
44
|
-
if (!alg) throw new require_utils_jwt_types.JwtAlgorithmRequired();
|
|
45
|
-
const tokenParts = token.split(".");
|
|
46
|
-
if (tokenParts.length !== 3) throw new require_utils_jwt_types.JwtTokenInvalid(token);
|
|
47
|
-
const { header, payload } = decode(token);
|
|
48
|
-
if (!isTokenHeader(header)) throw new require_utils_jwt_types.JwtHeaderInvalid(header);
|
|
49
|
-
if (header.alg !== alg) throw new require_utils_jwt_types.JwtAlgorithmMismatch(alg, header.alg);
|
|
50
|
-
const now = Math.floor(Date.now() / 1e3);
|
|
51
|
-
if (nbf && payload.nbf !== void 0) {
|
|
52
|
-
if (typeof payload.nbf !== "number" || !Number.isFinite(payload.nbf) || payload.nbf > now) throw new require_utils_jwt_types.JwtTokenNotBefore(token);
|
|
53
|
-
}
|
|
54
|
-
if (exp && payload.exp !== void 0) {
|
|
55
|
-
if (typeof payload.exp !== "number" || !Number.isFinite(payload.exp) || payload.exp <= now) throw new require_utils_jwt_types.JwtTokenExpired(token);
|
|
56
|
-
}
|
|
57
|
-
if (iat && payload.iat !== void 0) {
|
|
58
|
-
if (typeof payload.iat !== "number" || !Number.isFinite(payload.iat) || now < payload.iat) throw new require_utils_jwt_types.JwtTokenIssuedAt(now, payload.iat);
|
|
59
|
-
}
|
|
60
|
-
if (iss) {
|
|
61
|
-
if (!payload.iss) throw new require_utils_jwt_types.JwtTokenIssuer(iss, null);
|
|
62
|
-
if (typeof iss === "string" && payload.iss !== iss) throw new require_utils_jwt_types.JwtTokenIssuer(iss, payload.iss);
|
|
63
|
-
if (iss instanceof RegExp && !iss.test(payload.iss)) throw new require_utils_jwt_types.JwtTokenIssuer(iss, payload.iss);
|
|
64
|
-
}
|
|
65
|
-
if (aud) {
|
|
66
|
-
if (!payload.aud) throw new require_utils_jwt_types.JwtPayloadRequiresAud(payload);
|
|
67
|
-
if (!(Array.isArray(payload.aud) ? payload.aud : [payload.aud]).some((payloadAud) => aud instanceof RegExp ? aud.test(payloadAud) : typeof aud === "string" ? payloadAud === aud : Array.isArray(aud) && aud.includes(payloadAud))) throw new require_utils_jwt_types.JwtTokenAudience(aud, payload.aud);
|
|
68
|
-
}
|
|
69
|
-
const headerPayload = token.substring(0, token.lastIndexOf("."));
|
|
70
|
-
let signature;
|
|
71
|
-
try {
|
|
72
|
-
signature = require_utils_encode.decodeBase64Url(tokenParts[2]);
|
|
73
|
-
} catch {
|
|
74
|
-
throw new require_utils_jwt_types.JwtTokenInvalid(token);
|
|
75
|
-
}
|
|
76
|
-
if (!await require_utils_jwt_jws.verifying(publicKey, alg, signature, require_utils_jwt_utf8.utf8Encoder.encode(headerPayload))) throw new require_utils_jwt_types.JwtTokenSignatureMismatched(token);
|
|
77
|
-
return payload;
|
|
78
|
-
};
|
|
79
|
-
const symmetricAlgorithms = [
|
|
80
|
-
"HS256",
|
|
81
|
-
"HS384",
|
|
82
|
-
"HS512"
|
|
83
|
-
];
|
|
84
|
-
const verifyWithJwks = async (token, options, init) => {
|
|
85
|
-
const verifyOpts = options.verification || {};
|
|
86
|
-
const header = decodeHeader(token);
|
|
87
|
-
if (!isTokenHeader(header)) throw new require_utils_jwt_types.JwtHeaderInvalid(header);
|
|
88
|
-
if (!header.kid) throw new require_utils_jwt_types.JwtHeaderRequiresKid(header);
|
|
89
|
-
if (symmetricAlgorithms.includes(header.alg)) throw new require_utils_jwt_types.JwtSymmetricAlgorithmNotAllowed(header.alg);
|
|
90
|
-
if (!options.allowedAlgorithms.includes(header.alg)) throw new require_utils_jwt_types.JwtAlgorithmNotAllowed(header.alg, options.allowedAlgorithms);
|
|
91
|
-
let verifyKeys = options.keys ? [...options.keys] : void 0;
|
|
92
|
-
if (options.jwks_uri) {
|
|
93
|
-
const response = await fetch(options.jwks_uri, init);
|
|
94
|
-
if (!response.ok) throw new Error(`failed to fetch JWKS from ${options.jwks_uri}`);
|
|
95
|
-
const data = await response.json();
|
|
96
|
-
if (!data.keys) throw new Error("invalid JWKS response. \"keys\" field is missing");
|
|
97
|
-
if (!Array.isArray(data.keys)) throw new Error("invalid JWKS response. \"keys\" field is not an array");
|
|
98
|
-
verifyKeys ??= [];
|
|
99
|
-
verifyKeys.push(...data.keys);
|
|
100
|
-
} else if (!verifyKeys) throw new Error("verifyWithJwks requires options for either \"keys\" or \"jwks_uri\" or both");
|
|
101
|
-
const matchingKey = verifyKeys.find((key) => key.kid === header.kid);
|
|
102
|
-
if (!matchingKey) throw new require_utils_jwt_types.JwtTokenInvalid(token);
|
|
103
|
-
if (matchingKey.alg && matchingKey.alg !== header.alg) throw new require_utils_jwt_types.JwtAlgorithmMismatch(matchingKey.alg, header.alg);
|
|
104
|
-
return await verify(token, matchingKey, {
|
|
105
|
-
alg: header.alg,
|
|
106
|
-
...verifyOpts
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
const decode = (token) => {
|
|
110
|
-
const parts = token.split(".");
|
|
111
|
-
if (parts.length !== 3) throw new require_utils_jwt_types.JwtTokenInvalid(token);
|
|
112
|
-
try {
|
|
113
|
-
return {
|
|
114
|
-
header: decodeJwtPart(parts[0]),
|
|
115
|
-
payload: decodeJwtPart(parts[1])
|
|
116
|
-
};
|
|
117
|
-
} catch {
|
|
118
|
-
throw new require_utils_jwt_types.JwtTokenInvalid(token);
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
const decodeHeader = (token) => {
|
|
122
|
-
const parts = token.split(".");
|
|
123
|
-
if (parts.length !== 3) throw new require_utils_jwt_types.JwtTokenInvalid(token);
|
|
124
|
-
try {
|
|
125
|
-
return decodeJwtPart(parts[0]);
|
|
126
|
-
} catch {
|
|
127
|
-
throw new require_utils_jwt_types.JwtTokenInvalid(token);
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
//#endregion
|
|
131
|
-
exports.decode = decode;
|
|
132
|
-
exports.decodeHeader = decodeHeader;
|
|
133
|
-
exports.isTokenHeader = isTokenHeader;
|
|
134
|
-
exports.sign = sign;
|
|
135
|
-
exports.verify = verify;
|
|
136
|
-
exports.verifyWithJwks = verifyWithJwks;
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/utils/jwt/types.ts
|
|
3
|
-
/**
|
|
4
|
-
* @module
|
|
5
|
-
* Type definitions for JWT utilities.
|
|
6
|
-
*/
|
|
7
|
-
var JwtAlgorithmNotImplemented = class extends Error {
|
|
8
|
-
constructor(alg) {
|
|
9
|
-
super(`${alg} is not an implemented algorithm`);
|
|
10
|
-
this.name = "JwtAlgorithmNotImplemented";
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
var JwtAlgorithmRequired = class extends Error {
|
|
14
|
-
constructor() {
|
|
15
|
-
super("JWT verification requires \"alg\" option to be specified");
|
|
16
|
-
this.name = "JwtAlgorithmRequired";
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
var JwtAlgorithmMismatch = class extends Error {
|
|
20
|
-
constructor(expected, actual) {
|
|
21
|
-
super(`JWT algorithm mismatch: expected "${expected}", got "${actual}"`);
|
|
22
|
-
this.name = "JwtAlgorithmMismatch";
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
var JwtTokenInvalid = class extends Error {
|
|
26
|
-
constructor(token) {
|
|
27
|
-
super(`invalid JWT token: ${token}`);
|
|
28
|
-
this.name = "JwtTokenInvalid";
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
var JwtTokenNotBefore = class extends Error {
|
|
32
|
-
constructor(token) {
|
|
33
|
-
super(`token (${token}) is being used before it's valid`);
|
|
34
|
-
this.name = "JwtTokenNotBefore";
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
var JwtTokenExpired = class extends Error {
|
|
38
|
-
constructor(token) {
|
|
39
|
-
super(`token (${token}) expired`);
|
|
40
|
-
this.name = "JwtTokenExpired";
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
var JwtTokenIssuedAt = class extends Error {
|
|
44
|
-
constructor(currentTimestamp, iat) {
|
|
45
|
-
super(`Invalid "iat" claim, must be a valid number lower than "${currentTimestamp}" (iat: "${iat}")`);
|
|
46
|
-
this.name = "JwtTokenIssuedAt";
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
var JwtTokenIssuer = class extends Error {
|
|
50
|
-
constructor(expected, iss) {
|
|
51
|
-
super(`expected issuer "${expected}", got ${iss ? `"${iss}"` : "none"} `);
|
|
52
|
-
this.name = "JwtTokenIssuer";
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
var JwtHeaderInvalid = class extends Error {
|
|
56
|
-
constructor(header) {
|
|
57
|
-
super(`jwt header is invalid: ${JSON.stringify(header)}`);
|
|
58
|
-
this.name = "JwtHeaderInvalid";
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
var JwtHeaderRequiresKid = class extends Error {
|
|
62
|
-
constructor(header) {
|
|
63
|
-
super(`required "kid" in jwt header: ${JSON.stringify(header)}`);
|
|
64
|
-
this.name = "JwtHeaderRequiresKid";
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
var JwtSymmetricAlgorithmNotAllowed = class extends Error {
|
|
68
|
-
constructor(alg) {
|
|
69
|
-
super(`symmetric algorithm "${alg}" is not allowed for JWK verification`);
|
|
70
|
-
this.name = "JwtSymmetricAlgorithmNotAllowed";
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
var JwtAlgorithmNotAllowed = class extends Error {
|
|
74
|
-
constructor(alg, allowedAlgorithms) {
|
|
75
|
-
super(`algorithm "${alg}" is not in the allowed list: [${allowedAlgorithms.join(", ")}]`);
|
|
76
|
-
this.name = "JwtAlgorithmNotAllowed";
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
var JwtTokenSignatureMismatched = class extends Error {
|
|
80
|
-
constructor(token) {
|
|
81
|
-
super(`token(${token}) signature mismatched`);
|
|
82
|
-
this.name = "JwtTokenSignatureMismatched";
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
var JwtPayloadRequiresAud = class extends Error {
|
|
86
|
-
constructor(payload) {
|
|
87
|
-
super(`required "aud" in jwt payload: ${JSON.stringify(payload)}`);
|
|
88
|
-
this.name = "JwtPayloadRequiresAud";
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
var JwtTokenAudience = class extends Error {
|
|
92
|
-
constructor(expected, aud) {
|
|
93
|
-
super(`expected audience "${Array.isArray(expected) ? expected.join(", ") : expected}", got "${aud}"`);
|
|
94
|
-
this.name = "JwtTokenAudience";
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
let CryptoKeyUsage = /* @__PURE__ */ function(CryptoKeyUsage) {
|
|
98
|
-
CryptoKeyUsage["Encrypt"] = "encrypt";
|
|
99
|
-
CryptoKeyUsage["Decrypt"] = "decrypt";
|
|
100
|
-
CryptoKeyUsage["Sign"] = "sign";
|
|
101
|
-
CryptoKeyUsage["Verify"] = "verify";
|
|
102
|
-
CryptoKeyUsage["DeriveKey"] = "deriveKey";
|
|
103
|
-
CryptoKeyUsage["DeriveBits"] = "deriveBits";
|
|
104
|
-
CryptoKeyUsage["WrapKey"] = "wrapKey";
|
|
105
|
-
CryptoKeyUsage["UnwrapKey"] = "unwrapKey";
|
|
106
|
-
return CryptoKeyUsage;
|
|
107
|
-
}({});
|
|
108
|
-
//#endregion
|
|
109
|
-
exports.CryptoKeyUsage = CryptoKeyUsage;
|
|
110
|
-
exports.JwtAlgorithmMismatch = JwtAlgorithmMismatch;
|
|
111
|
-
exports.JwtAlgorithmNotAllowed = JwtAlgorithmNotAllowed;
|
|
112
|
-
exports.JwtAlgorithmNotImplemented = JwtAlgorithmNotImplemented;
|
|
113
|
-
exports.JwtAlgorithmRequired = JwtAlgorithmRequired;
|
|
114
|
-
exports.JwtHeaderInvalid = JwtHeaderInvalid;
|
|
115
|
-
exports.JwtHeaderRequiresKid = JwtHeaderRequiresKid;
|
|
116
|
-
exports.JwtPayloadRequiresAud = JwtPayloadRequiresAud;
|
|
117
|
-
exports.JwtSymmetricAlgorithmNotAllowed = JwtSymmetricAlgorithmNotAllowed;
|
|
118
|
-
exports.JwtTokenAudience = JwtTokenAudience;
|
|
119
|
-
exports.JwtTokenExpired = JwtTokenExpired;
|
|
120
|
-
exports.JwtTokenInvalid = JwtTokenInvalid;
|
|
121
|
-
exports.JwtTokenIssuedAt = JwtTokenIssuedAt;
|
|
122
|
-
exports.JwtTokenIssuer = JwtTokenIssuer;
|
|
123
|
-
exports.JwtTokenNotBefore = JwtTokenNotBefore;
|
|
124
|
-
exports.JwtTokenSignatureMismatched = JwtTokenSignatureMismatched;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/utils/jwt/utf8.ts
|
|
3
|
-
/**
|
|
4
|
-
* @module
|
|
5
|
-
* Functions for encoding/decoding UTF8.
|
|
6
|
-
*/
|
|
7
|
-
const utf8Encoder = new TextEncoder();
|
|
8
|
-
const utf8Decoder = new TextDecoder();
|
|
9
|
-
//#endregion
|
|
10
|
-
exports.utf8Decoder = utf8Decoder;
|
|
11
|
-
exports.utf8Encoder = utf8Encoder;
|
package/dist/cjs/utils/mime.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/utils/mime.ts
|
|
3
|
-
/**
|
|
4
|
-
* @module
|
|
5
|
-
* MIME utility.
|
|
6
|
-
*/
|
|
7
|
-
const getMimeType = (filename, mimes = baseMimes) => {
|
|
8
|
-
const match = filename.match(/\.([a-zA-Z0-9]+?)$/);
|
|
9
|
-
if (!match) return;
|
|
10
|
-
return mimes[match[1].toLowerCase()];
|
|
11
|
-
};
|
|
12
|
-
const getExtension = (mimeType) => {
|
|
13
|
-
const baseType = mimeType.split(";", 1)[0].trim();
|
|
14
|
-
for (const ext in baseMimes) {
|
|
15
|
-
const stored = baseMimes[ext];
|
|
16
|
-
if (stored === mimeType || stored.split(";", 1)[0].trim() === baseType) return ext;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
const baseMimes = {
|
|
20
|
-
aac: "audio/aac",
|
|
21
|
-
avi: "video/x-msvideo",
|
|
22
|
-
avif: "image/avif",
|
|
23
|
-
av1: "video/av1",
|
|
24
|
-
bin: "application/octet-stream",
|
|
25
|
-
bmp: "image/bmp",
|
|
26
|
-
css: "text/css; charset=utf-8",
|
|
27
|
-
csv: "text/csv; charset=utf-8",
|
|
28
|
-
eot: "application/vnd.ms-fontobject",
|
|
29
|
-
epub: "application/epub+zip",
|
|
30
|
-
gif: "image/gif",
|
|
31
|
-
gz: "application/gzip",
|
|
32
|
-
htm: "text/html; charset=utf-8",
|
|
33
|
-
html: "text/html; charset=utf-8",
|
|
34
|
-
ico: "image/x-icon",
|
|
35
|
-
ics: "text/calendar; charset=utf-8",
|
|
36
|
-
jpeg: "image/jpeg",
|
|
37
|
-
jpg: "image/jpeg",
|
|
38
|
-
js: "text/javascript; charset=utf-8",
|
|
39
|
-
json: "application/json",
|
|
40
|
-
jsonld: "application/ld+json",
|
|
41
|
-
map: "application/json",
|
|
42
|
-
mid: "audio/x-midi",
|
|
43
|
-
midi: "audio/x-midi",
|
|
44
|
-
mjs: "text/javascript; charset=utf-8",
|
|
45
|
-
mp3: "audio/mpeg",
|
|
46
|
-
mp4: "video/mp4",
|
|
47
|
-
mpeg: "video/mpeg",
|
|
48
|
-
oga: "audio/ogg",
|
|
49
|
-
ogv: "video/ogg",
|
|
50
|
-
ogx: "application/ogg",
|
|
51
|
-
opus: "audio/opus",
|
|
52
|
-
otf: "font/otf",
|
|
53
|
-
pdf: "application/pdf",
|
|
54
|
-
png: "image/png",
|
|
55
|
-
rtf: "application/rtf",
|
|
56
|
-
svg: "image/svg+xml; charset=utf-8",
|
|
57
|
-
tif: "image/tiff",
|
|
58
|
-
tiff: "image/tiff",
|
|
59
|
-
ts: "video/mp2t",
|
|
60
|
-
ttf: "font/ttf",
|
|
61
|
-
txt: "text/plain; charset=utf-8",
|
|
62
|
-
wasm: "application/wasm",
|
|
63
|
-
webm: "video/webm",
|
|
64
|
-
weba: "audio/webm",
|
|
65
|
-
webmanifest: "application/manifest+json",
|
|
66
|
-
webp: "image/webp",
|
|
67
|
-
woff: "font/woff",
|
|
68
|
-
woff2: "font/woff2",
|
|
69
|
-
xhtml: "application/xhtml+xml; charset=utf-8",
|
|
70
|
-
xml: "application/xml; charset=utf-8",
|
|
71
|
-
zip: "application/zip",
|
|
72
|
-
"3gp": "video/3gpp",
|
|
73
|
-
"3g2": "video/3gpp2",
|
|
74
|
-
gltf: "model/gltf+json",
|
|
75
|
-
glb: "model/gltf-binary"
|
|
76
|
-
};
|
|
77
|
-
//#endregion
|
|
78
|
-
exports.getExtension = getExtension;
|
|
79
|
-
exports.getMimeType = getMimeType;
|
|
80
|
-
exports.mimes = baseMimes;
|
package/dist/cjs/utils/stream.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/utils/stream.ts
|
|
3
|
-
/**
|
|
4
|
-
* @module
|
|
5
|
-
* Stream utility.
|
|
6
|
-
*/
|
|
7
|
-
var StreamingApi = class {
|
|
8
|
-
writer;
|
|
9
|
-
encoder;
|
|
10
|
-
writable;
|
|
11
|
-
abortSubscribers = [];
|
|
12
|
-
responseReadable;
|
|
13
|
-
/**
|
|
14
|
-
* Whether the stream has been aborted.
|
|
15
|
-
*/
|
|
16
|
-
aborted = false;
|
|
17
|
-
/**
|
|
18
|
-
* Whether the stream has been closed normally.
|
|
19
|
-
*/
|
|
20
|
-
closed = false;
|
|
21
|
-
constructor(writable, _readable) {
|
|
22
|
-
this.writable = writable;
|
|
23
|
-
this.writer = writable.getWriter();
|
|
24
|
-
this.encoder = new TextEncoder();
|
|
25
|
-
const reader = _readable.getReader();
|
|
26
|
-
this.abortSubscribers.push(async () => {
|
|
27
|
-
await reader.cancel();
|
|
28
|
-
});
|
|
29
|
-
this.responseReadable = new ReadableStream({
|
|
30
|
-
async pull(controller) {
|
|
31
|
-
const { done, value } = await reader.read();
|
|
32
|
-
done ? controller.close() : controller.enqueue(value);
|
|
33
|
-
},
|
|
34
|
-
cancel: () => {
|
|
35
|
-
if (!this.closed) this.abort();
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
async write(input) {
|
|
40
|
-
try {
|
|
41
|
-
if (typeof input === "string") input = this.encoder.encode(input);
|
|
42
|
-
await this.writer.write(input);
|
|
43
|
-
} catch {}
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
async writeln(input) {
|
|
47
|
-
await this.write(input + "\n");
|
|
48
|
-
return this;
|
|
49
|
-
}
|
|
50
|
-
sleep(ms) {
|
|
51
|
-
return new Promise((res) => setTimeout(res, ms));
|
|
52
|
-
}
|
|
53
|
-
async close() {
|
|
54
|
-
this.closed = true;
|
|
55
|
-
try {
|
|
56
|
-
await this.writer.close();
|
|
57
|
-
} catch {}
|
|
58
|
-
}
|
|
59
|
-
async pipe(body) {
|
|
60
|
-
this.writer.releaseLock();
|
|
61
|
-
try {
|
|
62
|
-
await body.pipeTo(this.writable, {
|
|
63
|
-
preventClose: true,
|
|
64
|
-
preventAbort: true
|
|
65
|
-
});
|
|
66
|
-
} finally {
|
|
67
|
-
this.writer = this.writable.getWriter();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
onAbort(listener) {
|
|
71
|
-
this.abortSubscribers.push(listener);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Abort the stream.
|
|
75
|
-
* You can call this method when stream is aborted by external event.
|
|
76
|
-
*/
|
|
77
|
-
abort() {
|
|
78
|
-
if (!this.aborted) {
|
|
79
|
-
this.aborted = true;
|
|
80
|
-
this.abortSubscribers.forEach((subscriber) => {
|
|
81
|
-
try {
|
|
82
|
-
Promise.resolve(subscriber()).catch(() => {});
|
|
83
|
-
} catch {}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
//#endregion
|
|
89
|
-
exports.StreamingApi = StreamingApi;
|
package/dist/cjs/utils/types.js
DELETED
|
File without changes
|
package/dist/cjs/utils/url.js
DELETED
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/utils/url.ts
|
|
3
|
-
const splitPath = (path) => {
|
|
4
|
-
const paths = path.split("/");
|
|
5
|
-
if (paths[0] === "") paths.shift();
|
|
6
|
-
return paths;
|
|
7
|
-
};
|
|
8
|
-
const splitRoutingPath = (routePath) => {
|
|
9
|
-
const { groups, path } = extractGroupsFromPath(routePath);
|
|
10
|
-
const paths = splitPath(path);
|
|
11
|
-
return replaceGroupMarks(paths, groups);
|
|
12
|
-
};
|
|
13
|
-
const extractGroupsFromPath = (path) => {
|
|
14
|
-
const groups = [];
|
|
15
|
-
path = path.replace(/\{[^}]+\}/g, (match, index) => {
|
|
16
|
-
const mark = `@${index}`;
|
|
17
|
-
groups.push([mark, match]);
|
|
18
|
-
return mark;
|
|
19
|
-
});
|
|
20
|
-
return {
|
|
21
|
-
groups,
|
|
22
|
-
path
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
const replaceGroupMarks = (paths, groups) => {
|
|
26
|
-
for (let i = groups.length - 1; i >= 0; i--) {
|
|
27
|
-
const [mark] = groups[i];
|
|
28
|
-
for (let j = paths.length - 1; j >= 0; j--) if (paths[j].includes(mark)) {
|
|
29
|
-
paths[j] = paths[j].replace(mark, groups[i][1]);
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return paths;
|
|
34
|
-
};
|
|
35
|
-
const patternCache = {};
|
|
36
|
-
const getPattern = (label, next) => {
|
|
37
|
-
if (label === "*") return "*";
|
|
38
|
-
const match = label.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);
|
|
39
|
-
if (match) {
|
|
40
|
-
const cacheKey = `${label}#${next}`;
|
|
41
|
-
if (!patternCache[cacheKey]) {
|
|
42
|
-
if (match[2]) patternCache[cacheKey] = next && next[0] !== ":" && next[0] !== "*" ? [
|
|
43
|
-
cacheKey,
|
|
44
|
-
match[1],
|
|
45
|
-
new RegExp(`^${match[2]}(?=/${next})`)
|
|
46
|
-
] : [
|
|
47
|
-
label,
|
|
48
|
-
match[1],
|
|
49
|
-
new RegExp(`^${match[2]}$`)
|
|
50
|
-
];
|
|
51
|
-
else patternCache[cacheKey] = [
|
|
52
|
-
label,
|
|
53
|
-
match[1],
|
|
54
|
-
true
|
|
55
|
-
];
|
|
56
|
-
}
|
|
57
|
-
return patternCache[cacheKey];
|
|
58
|
-
}
|
|
59
|
-
return null;
|
|
60
|
-
};
|
|
61
|
-
const tryDecode = (str, decoder) => {
|
|
62
|
-
try {
|
|
63
|
-
return decoder(str);
|
|
64
|
-
} catch {
|
|
65
|
-
return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match) => {
|
|
66
|
-
try {
|
|
67
|
-
return decoder(match);
|
|
68
|
-
} catch {
|
|
69
|
-
return match;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* Try to apply decodeURI() to given string.
|
|
76
|
-
* If it fails, skip invalid percent encoding or invalid UTF-8 sequences, and apply decodeURI() to the rest as much as possible.
|
|
77
|
-
* @param str The string to decode.
|
|
78
|
-
* @returns The decoded string that sometimes contains undecodable percent encoding.
|
|
79
|
-
* @example
|
|
80
|
-
* tryDecodeURI('Hello%20World') // 'Hello World'
|
|
81
|
-
* tryDecodeURI('Hello%20World/%A4%A2') // 'Hello World/%A4%A2'
|
|
82
|
-
*/
|
|
83
|
-
const tryDecodeURI = (str) => tryDecode(str, decodeURI);
|
|
84
|
-
const getPath = (request) => {
|
|
85
|
-
const url = request.url;
|
|
86
|
-
const start = url.indexOf("/", url.indexOf(":") + 4);
|
|
87
|
-
let i = start;
|
|
88
|
-
for (; i < url.length; i++) {
|
|
89
|
-
const charCode = url.charCodeAt(i);
|
|
90
|
-
if (charCode === 37) {
|
|
91
|
-
const queryIndex = url.indexOf("?", i);
|
|
92
|
-
const hashIndex = url.indexOf("#", i);
|
|
93
|
-
const end = queryIndex === -1 ? hashIndex === -1 ? void 0 : hashIndex : hashIndex === -1 ? queryIndex : Math.min(queryIndex, hashIndex);
|
|
94
|
-
const path = url.slice(start, end);
|
|
95
|
-
return tryDecodeURI(path.includes("%25") ? path.replace(/%25/g, "%2525") : path);
|
|
96
|
-
} else if (charCode === 63 || charCode === 35) break;
|
|
97
|
-
}
|
|
98
|
-
return url.slice(start, i);
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* @deprecated
|
|
102
|
-
* Use the `URL` API instead.
|
|
103
|
-
*/
|
|
104
|
-
const getQueryStrings = (url) => {
|
|
105
|
-
const queryIndex = url.indexOf("?", 8);
|
|
106
|
-
if (queryIndex === -1) return "";
|
|
107
|
-
const hashIndex = url.indexOf("#", 8);
|
|
108
|
-
return hashIndex === -1 ? url.slice(queryIndex) : queryIndex < hashIndex ? url.slice(queryIndex, hashIndex) : "";
|
|
109
|
-
};
|
|
110
|
-
const getPathNoStrict = (request) => {
|
|
111
|
-
const result = getPath(request);
|
|
112
|
-
return result.length > 1 && result.at(-1) === "/" ? result.slice(0, -1) : result;
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Merge paths.
|
|
116
|
-
* @param {string[]} ...paths - The paths to merge.
|
|
117
|
-
* @returns {string} The merged path.
|
|
118
|
-
* @example
|
|
119
|
-
* mergePath('/api', '/users') // '/api/users'
|
|
120
|
-
* mergePath('/api/', '/users') // '/api/users'
|
|
121
|
-
* mergePath('/api', '/') // '/api'
|
|
122
|
-
* mergePath('/api/', '/') // '/api/'
|
|
123
|
-
*/
|
|
124
|
-
const mergePath = (base, sub, ...rest) => {
|
|
125
|
-
if (rest.length) sub = mergePath(sub, ...rest);
|
|
126
|
-
return `${base?.[0] === "/" ? "" : "/"}${base}${sub === "/" ? "" : `${base?.at(-1) === "/" ? "" : "/"}${sub?.[0] === "/" ? sub.slice(1) : sub}`}`;
|
|
127
|
-
};
|
|
128
|
-
const checkOptionalParameter = (path) => {
|
|
129
|
-
if (path.charCodeAt(path.length - 1) !== 63 || !path.includes(":")) return null;
|
|
130
|
-
const segments = path.split("/");
|
|
131
|
-
const results = [];
|
|
132
|
-
let basePath = "";
|
|
133
|
-
segments.forEach((segment) => {
|
|
134
|
-
if (segment !== "" && !/\:/.test(segment)) basePath += "/" + segment;
|
|
135
|
-
else if (/\:/.test(segment)) {
|
|
136
|
-
if (segment.charCodeAt(segment.length - 1) === 63) {
|
|
137
|
-
if (results.length === 0 && basePath === "") results.push("/");
|
|
138
|
-
else results.push(basePath);
|
|
139
|
-
const optionalSegment = segment.slice(0, -1);
|
|
140
|
-
basePath += "/" + optionalSegment;
|
|
141
|
-
results.push(basePath);
|
|
142
|
-
} else basePath += "/" + segment;
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
return results.filter((v, i, a) => a.indexOf(v) === i);
|
|
146
|
-
};
|
|
147
|
-
const tryDecodeURIComponent = (str) => str.indexOf("%") !== -1 ? tryDecode(str, decodeURIComponent_) : str;
|
|
148
|
-
const _decodeURI = (value) => {
|
|
149
|
-
if (value.indexOf("+") !== -1) value = value.replace(/\+/g, " ");
|
|
150
|
-
return tryDecodeURIComponent(value);
|
|
151
|
-
};
|
|
152
|
-
const _getQueryParam = (url, key, multiple) => {
|
|
153
|
-
const hashIndex = url.indexOf("#", 8);
|
|
154
|
-
if (hashIndex !== -1) url = url.slice(0, hashIndex);
|
|
155
|
-
let encoded;
|
|
156
|
-
if (!multiple && key && key.indexOf("%") === -1 && key.indexOf("+") === -1) {
|
|
157
|
-
let keyIndex = url.indexOf("?", 8);
|
|
158
|
-
if (keyIndex === -1) return;
|
|
159
|
-
if (!url.startsWith(key, keyIndex + 1)) keyIndex = url.indexOf(`&${key}`, keyIndex + 1);
|
|
160
|
-
while (keyIndex !== -1) {
|
|
161
|
-
const trailingKeyCode = url.charCodeAt(keyIndex + key.length + 1);
|
|
162
|
-
if (trailingKeyCode === 61) {
|
|
163
|
-
const valueIndex = keyIndex + key.length + 2;
|
|
164
|
-
const endIndex = url.indexOf("&", valueIndex);
|
|
165
|
-
return _decodeURI(url.slice(valueIndex, endIndex === -1 ? void 0 : endIndex));
|
|
166
|
-
} else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) return "";
|
|
167
|
-
keyIndex = url.indexOf(`&${key}`, keyIndex + 1);
|
|
168
|
-
}
|
|
169
|
-
encoded = /[%+]/.test(url);
|
|
170
|
-
if (!encoded) return;
|
|
171
|
-
}
|
|
172
|
-
const results = Object.create(null);
|
|
173
|
-
encoded ??= /[%+]/.test(url);
|
|
174
|
-
let keyIndex = url.indexOf("?", 8);
|
|
175
|
-
while (keyIndex !== -1) {
|
|
176
|
-
const nextKeyIndex = url.indexOf("&", keyIndex + 1);
|
|
177
|
-
let valueIndex = url.indexOf("=", keyIndex);
|
|
178
|
-
if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) valueIndex = -1;
|
|
179
|
-
let name = url.slice(keyIndex + 1, valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex);
|
|
180
|
-
if (encoded) name = _decodeURI(name);
|
|
181
|
-
keyIndex = nextKeyIndex;
|
|
182
|
-
if (name === "") continue;
|
|
183
|
-
let value;
|
|
184
|
-
if (valueIndex === -1) value = "";
|
|
185
|
-
else {
|
|
186
|
-
value = url.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex);
|
|
187
|
-
if (encoded) value = _decodeURI(value);
|
|
188
|
-
}
|
|
189
|
-
if (multiple) {
|
|
190
|
-
if (!(results[name] && Array.isArray(results[name]))) results[name] = [];
|
|
191
|
-
results[name].push(value);
|
|
192
|
-
} else results[name] ??= value;
|
|
193
|
-
}
|
|
194
|
-
return key ? results[key] : results;
|
|
195
|
-
};
|
|
196
|
-
const getQueryParam = _getQueryParam;
|
|
197
|
-
const getQueryParams = (url, key) => {
|
|
198
|
-
return _getQueryParam(url, key, true);
|
|
199
|
-
};
|
|
200
|
-
const decodeURIComponent_ = decodeURIComponent;
|
|
201
|
-
//#endregion
|
|
202
|
-
exports.checkOptionalParameter = checkOptionalParameter;
|
|
203
|
-
exports.decodeURIComponent_ = decodeURIComponent_;
|
|
204
|
-
exports.getPath = getPath;
|
|
205
|
-
exports.getPathNoStrict = getPathNoStrict;
|
|
206
|
-
exports.getPattern = getPattern;
|
|
207
|
-
exports.getQueryParam = getQueryParam;
|
|
208
|
-
exports.getQueryParams = getQueryParams;
|
|
209
|
-
exports.getQueryStrings = getQueryStrings;
|
|
210
|
-
exports.mergePath = mergePath;
|
|
211
|
-
exports.splitPath = splitPath;
|
|
212
|
-
exports.splitRoutingPath = splitRoutingPath;
|
|
213
|
-
exports.tryDecode = tryDecode;
|
|
214
|
-
exports.tryDecodeURI = tryDecodeURI;
|
|
215
|
-
exports.tryDecodeURIComponent = tryDecodeURIComponent;
|
|
File without changes
|