@psnext/slingcli 3.3.20260924-1 → 3.3.20261002-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.
Files changed (652) hide show
  1. package/node_modules/@hono/node-server/README.md +21 -10
  2. package/node_modules/@hono/node-server/dist/early-hints.cjs +1 -1
  3. package/node_modules/@hono/node-server/dist/early-hints.mjs +1 -1
  4. package/node_modules/@hono/node-server/dist/index.cjs +41 -19
  5. package/node_modules/@hono/node-server/dist/index.mjs +42 -20
  6. package/node_modules/@hono/node-server/dist/serve-static.cjs +1 -0
  7. package/node_modules/@hono/node-server/dist/serve-static.d.cts +2 -1
  8. package/node_modules/@hono/node-server/dist/serve-static.d.mts +2 -1
  9. package/node_modules/@hono/node-server/dist/serve-static.mjs +1 -0
  10. package/node_modules/@hono/node-server/package.json +3 -2
  11. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts +43 -2
  12. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts.map +1 -1
  13. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js +26 -5
  14. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js.map +1 -1
  15. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts +11 -0
  16. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts.map +1 -1
  17. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js +96 -14
  18. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js.map +1 -1
  19. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts +1 -0
  20. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts.map +1 -1
  21. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js +11 -2
  22. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js.map +1 -1
  23. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  24. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  25. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  26. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js +6 -3
  27. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  28. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts +3 -0
  29. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts.map +1 -1
  30. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js +12 -2
  31. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js.map +1 -1
  32. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts +43 -2
  33. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts.map +1 -1
  34. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js +26 -5
  35. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js.map +1 -1
  36. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts +11 -0
  37. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts.map +1 -1
  38. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +96 -14
  39. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js.map +1 -1
  40. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts +1 -0
  41. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts.map +1 -1
  42. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js +11 -2
  43. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js.map +1 -1
  44. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  45. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  46. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  47. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js +6 -3
  48. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  49. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts +3 -0
  50. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts.map +1 -1
  51. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +12 -2
  52. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js.map +1 -1
  53. package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
  54. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +33 -11
  55. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +3 -0
  56. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js +33 -11
  57. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +3 -0
  58. package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/exceptions.d.ts +1 -0
  59. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/exceptions.d.ts +1 -0
  60. package/node_modules/@smithy/core/package.json +1 -1
  61. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +4 -1
  62. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js +4 -1
  63. package/node_modules/@smithy/signature-v4/package.json +3 -3
  64. package/node_modules/@types/node/README.md +1 -1
  65. package/node_modules/@types/node/crypto.d.ts +2 -2
  66. package/node_modules/@types/node/dgram.d.ts +1 -1
  67. package/node_modules/@types/node/package.json +2 -2
  68. package/node_modules/@types/node/zlib.d.ts +6 -0
  69. package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  70. package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  71. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +318 -344
  72. package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  73. package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  74. package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  75. package/node_modules/hono/dist/adapter/bun/index.js +3 -13
  76. package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  77. package/node_modules/hono/dist/adapter/bun/server.js +11 -5
  78. package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  79. package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  80. package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  81. package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  82. package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  83. package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  84. package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  85. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  86. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  87. package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  88. package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  89. package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  90. package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  91. package/node_modules/hono/dist/adapter/deno/index.js +3 -10
  92. package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  93. package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  94. package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  95. package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  96. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -101
  97. package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  98. package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  99. package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  100. package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  101. package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  102. package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  103. package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  104. package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  105. package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  106. package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  107. package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  108. package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  109. package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  110. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +326 -373
  111. package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  112. package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  113. package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  114. package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  115. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  116. package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  117. package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  118. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  119. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  120. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  121. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  122. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  123. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  124. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  125. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  126. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  127. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  128. package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  129. package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  130. package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  131. package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  132. package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  133. package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  134. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +102 -130
  135. package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  136. package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  137. package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  138. package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  139. package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  140. package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  141. package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  142. package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  143. package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  144. package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  145. package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  146. package/node_modules/hono/dist/cjs/client/client.js +139 -212
  147. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  148. package/node_modules/hono/dist/cjs/client/index.js +7 -32
  149. package/node_modules/hono/dist/cjs/client/types.js +0 -15
  150. package/node_modules/hono/dist/cjs/client/utils.js +54 -92
  151. package/node_modules/hono/dist/cjs/compose.js +49 -66
  152. package/node_modules/hono/dist/cjs/context.js +379 -450
  153. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -72
  154. package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  155. package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  156. package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  157. package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  158. package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  159. package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  160. package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  161. package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  162. package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  163. package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  164. package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  165. package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  166. package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  167. package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  168. package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  169. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  170. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  171. package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  172. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  173. package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  174. package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  175. package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  176. package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  177. package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  178. package/node_modules/hono/dist/cjs/hono-base.js +345 -403
  179. package/node_modules/hono/dist/cjs/hono.js +28 -42
  180. package/node_modules/hono/dist/cjs/http-exception.js +55 -56
  181. package/node_modules/hono/dist/cjs/index.js +22 -30
  182. package/node_modules/hono/dist/cjs/jsx/base.js +237 -366
  183. package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  184. package/node_modules/hono/dist/cjs/jsx/components.js +119 -192
  185. package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  186. package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  187. package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  188. package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  189. package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  190. package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  191. package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  192. package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  193. package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  194. package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  195. package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  196. package/node_modules/hono/dist/cjs/jsx/dom/render.js +469 -623
  197. package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -64
  198. package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  199. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  200. package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  201. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  202. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  203. package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  204. package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  205. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  206. package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -166
  207. package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  208. package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  209. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  210. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  211. package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  212. package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  213. package/node_modules/hono/dist/cjs/middleware/combine/index.js +135 -95
  214. package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  215. package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  216. package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  217. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  218. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  219. package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  220. package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  221. package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  222. package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  223. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  224. package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  225. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  226. package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  227. package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -182
  228. package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  229. package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  230. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  231. package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  232. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -42
  233. package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  234. package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  235. package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  236. package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  237. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  238. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  239. package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  240. package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  241. package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  242. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  243. package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  244. package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  245. package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  246. package/node_modules/hono/dist/cjs/request/constants.js +5 -27
  247. package/node_modules/hono/dist/cjs/request.js +334 -346
  248. package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  249. package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  250. package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  251. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  252. package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  253. package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  254. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  255. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  256. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  257. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  258. package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  259. package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  260. package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  261. package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  262. package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  263. package/node_modules/hono/dist/cjs/router/utils.js +5 -27
  264. package/node_modules/hono/dist/cjs/router.js +37 -37
  265. package/node_modules/hono/dist/cjs/types.js +5 -28
  266. package/node_modules/hono/dist/cjs/utils/accept.js +177 -225
  267. package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  268. package/node_modules/hono/dist/cjs/utils/body.js +84 -110
  269. package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  270. package/node_modules/hono/dist/cjs/utils/color.js +35 -44
  271. package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  272. package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  273. package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  274. package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  275. package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  276. package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  277. package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  278. package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  279. package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  280. package/node_modules/hono/dist/cjs/utils/html.js +96 -137
  281. package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  282. package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  283. package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  284. package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  285. package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  286. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -206
  287. package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  288. package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  289. package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  290. package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  291. package/node_modules/hono/dist/cjs/utils/types.js +0 -15
  292. package/node_modules/hono/dist/cjs/utils/url.js +185 -234
  293. package/node_modules/hono/dist/cjs/validator/index.js +3 -27
  294. package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  295. package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  296. package/node_modules/hono/dist/client/client.js +138 -197
  297. package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  298. package/node_modules/hono/dist/client/index.js +3 -7
  299. package/node_modules/hono/dist/client/types.js +1 -0
  300. package/node_modules/hono/dist/client/utils.js +51 -68
  301. package/node_modules/hono/dist/compose.js +49 -45
  302. package/node_modules/hono/dist/context.js +376 -426
  303. package/node_modules/hono/dist/helper/accepts/accepts.js +47 -51
  304. package/node_modules/hono/dist/helper/accepts/index.js +1 -4
  305. package/node_modules/hono/dist/helper/adapter/index.js +33 -52
  306. package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  307. package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  308. package/node_modules/hono/dist/helper/cookie/index.js +74 -94
  309. package/node_modules/hono/dist/helper/css/common.js +167 -225
  310. package/node_modules/hono/dist/helper/css/index.js +132 -137
  311. package/node_modules/hono/dist/helper/dev/index.js +44 -49
  312. package/node_modules/hono/dist/helper/factory/index.js +27 -27
  313. package/node_modules/hono/dist/helper/html/index.js +30 -39
  314. package/node_modules/hono/dist/helper/proxy/index.js +116 -88
  315. package/node_modules/hono/dist/helper/route/index.js +121 -43
  316. package/node_modules/hono/dist/helper/ssg/index.js +3 -18
  317. package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  318. package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  319. package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  320. package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  321. package/node_modules/hono/dist/helper/streaming/index.js +2 -8
  322. package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  323. package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  324. package/node_modules/hono/dist/helper/streaming/text.js +9 -10
  325. package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  326. package/node_modules/hono/dist/helper/testing/index.js +16 -10
  327. package/node_modules/hono/dist/helper/websocket/index.js +49 -53
  328. package/node_modules/hono/dist/hono-base.js +342 -379
  329. package/node_modules/hono/dist/hono.js +27 -20
  330. package/node_modules/hono/dist/http-exception.js +53 -33
  331. package/node_modules/hono/dist/index.js +19 -6
  332. package/node_modules/hono/dist/jsx/base.js +231 -340
  333. package/node_modules/hono/dist/jsx/children.js +16 -20
  334. package/node_modules/hono/dist/jsx/components.js +118 -170
  335. package/node_modules/hono/dist/jsx/constants.js +9 -15
  336. package/node_modules/hono/dist/jsx/context.js +153 -150
  337. package/node_modules/hono/dist/jsx/dom/client.js +45 -48
  338. package/node_modules/hono/dist/jsx/dom/components.js +21 -29
  339. package/node_modules/hono/dist/jsx/dom/context.js +37 -44
  340. package/node_modules/hono/dist/jsx/dom/css.js +142 -147
  341. package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  342. package/node_modules/hono/dist/jsx/dom/index.js +71 -134
  343. package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  344. package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  345. package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  346. package/node_modules/hono/dist/jsx/dom/render.js +492 -631
  347. package/node_modules/hono/dist/jsx/dom/server.js +32 -32
  348. package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  349. package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  350. package/node_modules/hono/dist/jsx/index.js +45 -98
  351. package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  352. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  353. package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  354. package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  355. package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  356. package/node_modules/hono/dist/jsx/streaming.js +120 -142
  357. package/node_modules/hono/dist/jsx/types.js +1 -0
  358. package/node_modules/hono/dist/jsx/utils.js +105 -168
  359. package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  360. package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  361. package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  362. package/node_modules/hono/dist/middleware/cache/index.js +165 -190
  363. package/node_modules/hono/dist/middleware/combine/index.js +134 -73
  364. package/node_modules/hono/dist/middleware/compress/index.js +75 -69
  365. package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  366. package/node_modules/hono/dist/middleware/cors/index.js +107 -86
  367. package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  368. package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  369. package/node_modules/hono/dist/middleware/etag/index.js +71 -70
  370. package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  371. package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  372. package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  373. package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  374. package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  375. package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  376. package/node_modules/hono/dist/middleware/language/index.js +2 -15
  377. package/node_modules/hono/dist/middleware/language/language.js +180 -157
  378. package/node_modules/hono/dist/middleware/logger/index.js +43 -37
  379. package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  380. package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  381. package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  382. package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -22
  383. package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  384. package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  385. package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  386. package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  387. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  388. package/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  389. package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  390. package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  391. package/node_modules/hono/dist/middleware/timing/index.js +2 -9
  392. package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  393. package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  394. package/node_modules/hono/dist/preset/quick.js +17 -15
  395. package/node_modules/hono/dist/preset/tiny.js +14 -11
  396. package/node_modules/hono/dist/request/constants.js +4 -5
  397. package/node_modules/hono/dist/request.js +328 -319
  398. package/node_modules/hono/dist/router/linear-router/index.js +1 -4
  399. package/node_modules/hono/dist/router/linear-router/router.js +93 -120
  400. package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  401. package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  402. package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  403. package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  404. package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  405. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  406. package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  407. package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  408. package/node_modules/hono/dist/router/smart-router/index.js +1 -4
  409. package/node_modules/hono/dist/router/smart-router/router.js +46 -55
  410. package/node_modules/hono/dist/router/trie-router/index.js +1 -4
  411. package/node_modules/hono/dist/router/trie-router/node.js +131 -162
  412. package/node_modules/hono/dist/router/trie-router/router.js +11 -14
  413. package/node_modules/hono/dist/router/utils.js +4 -5
  414. package/node_modules/hono/dist/router.js +35 -14
  415. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  416. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -104
  417. package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  418. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -122
  419. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  420. package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  421. package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  422. package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  423. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  424. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -16
  425. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  426. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -17
  427. package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  428. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  429. package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  430. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -2
  431. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  432. package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  433. package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  434. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  435. package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  436. package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  437. package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  438. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  439. package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  440. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  441. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -57
  442. package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  443. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  444. package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  445. package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  446. package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  447. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -7
  448. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +7 -9
  449. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -7
  450. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  451. package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  452. package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  453. package/node_modules/hono/dist/types/client/client.d.ts +5 -3
  454. package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  455. package/node_modules/hono/dist/types/client/index.d.ts +5 -7
  456. package/node_modules/hono/dist/types/client/types.d.ts +134 -159
  457. package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  458. package/node_modules/hono/dist/types/compose.d.ts +4 -2
  459. package/node_modules/hono/dist/types/context.d.ts +335 -335
  460. package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  461. package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  462. package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  463. package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  464. package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  465. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -12
  466. package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -9
  467. package/node_modules/hono/dist/types/helper/css/index.d.ts +26 -28
  468. package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -12
  469. package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -73
  470. package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  471. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +19 -21
  472. package/node_modules/hono/dist/types/helper/route/index.d.ts +4 -2
  473. package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  474. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -6
  475. package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  476. package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  477. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -3
  478. package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  479. package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  480. package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  481. package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  482. package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  483. package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -9
  484. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  485. package/node_modules/hono/dist/types/hono-base.d.ts +208 -210
  486. package/node_modules/hono/dist/types/hono.d.ts +11 -10
  487. package/node_modules/hono/dist/types/http-exception.d.ts +20 -22
  488. package/node_modules/hono/dist/types/index.d.ts +6 -37
  489. package/node_modules/hono/dist/types/jsx/base.d.ts +36 -34
  490. package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  491. package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  492. package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  493. package/node_modules/hono/dist/types/jsx/context.d.ts +9 -6
  494. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +9 -10
  495. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  496. package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  497. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +27 -30
  498. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -12
  499. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +79 -83
  500. package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  501. package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  502. package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  503. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -50
  504. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +87 -85
  505. package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  506. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -16
  507. package/node_modules/hono/dist/types/jsx/index.d.ts +71 -73
  508. package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  509. package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  510. package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  511. package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  512. package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  513. package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  514. package/node_modules/hono/dist/types/jsx/types.d.ts +12 -13
  515. package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  516. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -19
  517. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -48
  518. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -8
  519. package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  520. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +4 -6
  521. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +9 -10
  522. package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  523. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -12
  524. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -8
  525. package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  526. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -8
  527. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -12
  528. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -11
  529. package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  530. package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  531. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +7 -6
  532. package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  533. package/node_modules/hono/dist/types/middleware/language/index.d.ts +6 -5
  534. package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  535. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -5
  536. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -9
  537. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -16
  538. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -10
  539. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -20
  540. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +6 -5
  541. package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  542. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +6 -6
  543. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -0
  544. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -57
  545. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  546. package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  547. package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  548. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +6 -5
  549. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -20
  550. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -37
  551. package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  552. package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  553. package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  554. package/node_modules/hono/dist/types/request.d.ts +288 -286
  555. package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  556. package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  557. package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  558. package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  559. package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  560. package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  561. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  562. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -10
  563. package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  564. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  565. package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  566. package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  567. package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  568. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  569. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  570. package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  571. package/node_modules/hono/dist/types/router.d.ts +23 -22
  572. package/node_modules/hono/dist/types/types.d.ts +146 -505
  573. package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  574. package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  575. package/node_modules/hono/dist/types/utils/body.d.ts +46 -50
  576. package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -5
  577. package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  578. package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  579. package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  580. package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  581. package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -18
  582. package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -7
  583. package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  584. package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -3
  585. package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  586. package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  587. package/node_modules/hono/dist/types/utils/html.d.ts +11 -9
  588. package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  589. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  590. package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  591. package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  592. package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  593. package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  594. package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  595. package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  596. package/node_modules/hono/dist/types/utils/mime.d.ts +60 -57
  597. package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  598. package/node_modules/hono/dist/types/utils/types.d.ts +14 -26
  599. package/node_modules/hono/dist/types/utils/url.d.ts +2 -0
  600. package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  601. package/node_modules/hono/dist/types/validator/utils.d.ts +6 -8
  602. package/node_modules/hono/dist/types/validator/validator.d.ts +11 -9
  603. package/node_modules/hono/dist/types.js +4 -6
  604. package/node_modules/hono/dist/utils/accept.js +185 -212
  605. package/node_modules/hono/dist/utils/basic-auth.js +18 -21
  606. package/node_modules/hono/dist/utils/body.js +87 -92
  607. package/node_modules/hono/dist/utils/buffer.js +44 -71
  608. package/node_modules/hono/dist/utils/color.js +33 -21
  609. package/node_modules/hono/dist/utils/compress.js +11 -5
  610. package/node_modules/hono/dist/utils/concurrent.js +29 -38
  611. package/node_modules/hono/dist/utils/constants.js +7 -5
  612. package/node_modules/hono/dist/utils/cookie.js +114 -163
  613. package/node_modules/hono/dist/utils/crypto.js +30 -40
  614. package/node_modules/hono/dist/utils/encode.js +30 -26
  615. package/node_modules/hono/dist/utils/filepath.js +23 -33
  616. package/node_modules/hono/dist/utils/handler.js +10 -11
  617. package/node_modules/hono/dist/utils/headers.js +1 -0
  618. package/node_modules/hono/dist/utils/html.js +97 -117
  619. package/node_modules/hono/dist/utils/http-status.js +1 -0
  620. package/node_modules/hono/dist/utils/ipaddr.js +227 -279
  621. package/node_modules/hono/dist/utils/jwt/index.js +12 -4
  622. package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  623. package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  624. package/node_modules/hono/dist/utils/jwt/jwt.js +120 -198
  625. package/node_modules/hono/dist/utils/jwt/types.js +79 -95
  626. package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  627. package/node_modules/hono/dist/utils/mime.js +74 -79
  628. package/node_modules/hono/dist/utils/stream.js +86 -88
  629. package/node_modules/hono/dist/utils/types.js +1 -0
  630. package/node_modules/hono/dist/utils/url.js +187 -215
  631. package/node_modules/hono/dist/validator/index.js +1 -4
  632. package/node_modules/hono/dist/validator/utils.js +1 -0
  633. package/node_modules/hono/dist/validator/validator.js +61 -83
  634. package/node_modules/hono/package.json +27 -27
  635. package/node_modules/ip-address/README.md +34 -34
  636. package/node_modules/ip-address/dist/ipv4.js +7 -0
  637. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  638. package/node_modules/ip-address/package.json +1 -1
  639. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +3 -1
  640. package/node_modules/undici/docs/docs/api/Dispatcher.md +1 -0
  641. package/node_modules/undici/lib/core/request.js +23 -2
  642. package/node_modules/undici/lib/dispatcher/client-h1.js +11 -4
  643. package/node_modules/undici/lib/dispatcher/client-h2.js +14 -5
  644. package/node_modules/undici/lib/handler/retry-handler.js +71 -20
  645. package/node_modules/undici/lib/interceptor/decompress.js +228 -68
  646. package/node_modules/undici/lib/web/websocket/connection.js +18 -8
  647. package/node_modules/undici/package.json +1 -1
  648. package/node_modules/undici/types/interceptors.d.ts +1 -1
  649. package/node_modules/ws/lib/websocket.js +17 -3
  650. package/node_modules/ws/package.json +1 -1
  651. package/package.json +2 -2
  652. package/slingshot/index.js +256 -256
@@ -1,431 +1,381 @@
1
- // src/context.ts
2
1
  import { HonoRequest } from "./request.js";
3
2
  import { HtmlEscapedCallbackPhase, resolveCallback } from "./utils/html.js";
4
- var TEXT_PLAIN = "text/plain; charset=UTF-8";
5
- var setDefaultContentType = (contentType, headers) => {
6
- return {
7
- "Content-Type": contentType,
8
- ...headers
9
- };
3
+ //#region src/context.ts
4
+ const TEXT_PLAIN = "text/plain; charset=UTF-8";
5
+ const setDefaultContentType = (contentType, headers) => {
6
+ return {
7
+ "Content-Type": contentType,
8
+ ...headers
9
+ };
10
10
  };
11
- var createResponseInstance = (body, init) => new Response(body, init);
11
+ const createResponseInstance = (body, init) => new Response(body, init);
12
12
  var Context = class {
13
- #rawRequest;
14
- #req;
15
- /**
16
- * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
17
- *
18
- * @see {@link https://hono.dev/docs/api/context#env}
19
- *
20
- * @example
21
- * ```ts
22
- * // Environment object for Cloudflare Workers
23
- * app.get('*', async c => {
24
- * const counter = c.env.COUNTER
25
- * })
26
- * ```
27
- */
28
- env = {};
29
- #var;
30
- finalized = false;
31
- /**
32
- * `.error` can get the error object from the middleware if the Handler throws an error.
33
- *
34
- * @see {@link https://hono.dev/docs/api/context#error}
35
- *
36
- * @example
37
- * ```ts
38
- * app.use('*', async (c, next) => {
39
- * await next()
40
- * if (c.error) {
41
- * // do something...
42
- * }
43
- * })
44
- * ```
45
- */
46
- error;
47
- #status;
48
- #executionCtx;
49
- #res;
50
- #layout;
51
- #renderer;
52
- #notFoundHandler;
53
- #preparedHeaders;
54
- #matchResult;
55
- #path;
56
- /**
57
- * Creates an instance of the Context class.
58
- *
59
- * @param req - The Request object.
60
- * @param options - Optional configuration options for the context.
61
- */
62
- constructor(req, options) {
63
- this.#rawRequest = req;
64
- if (options) {
65
- this.#executionCtx = options.executionCtx;
66
- this.env = options.env;
67
- this.#notFoundHandler = options.notFoundHandler;
68
- this.#path = options.path;
69
- this.#matchResult = options.matchResult;
70
- }
71
- }
72
- /**
73
- * `.req` is the instance of {@link HonoRequest}.
74
- */
75
- get req() {
76
- this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);
77
- return this.#req;
78
- }
79
- /**
80
- * @see {@link https://hono.dev/docs/api/context#event}
81
- * The FetchEvent associated with the current request.
82
- *
83
- * @throws Will throw an error if the context does not have a FetchEvent.
84
- */
85
- get event() {
86
- if (this.#executionCtx && "respondWith" in this.#executionCtx) {
87
- return this.#executionCtx;
88
- } else {
89
- throw Error("This context has no FetchEvent");
90
- }
91
- }
92
- /**
93
- * @see {@link https://hono.dev/docs/api/context#executionctx}
94
- * The ExecutionContext associated with the current request.
95
- *
96
- * @throws Will throw an error if the context does not have an ExecutionContext.
97
- */
98
- get executionCtx() {
99
- if (this.#executionCtx) {
100
- return this.#executionCtx;
101
- } else {
102
- throw Error("This context has no ExecutionContext");
103
- }
104
- }
105
- /**
106
- * @see {@link https://hono.dev/docs/api/context#res}
107
- * The Response object for the current request.
108
- */
109
- get res() {
110
- return this.#res ||= createResponseInstance(null, {
111
- headers: this.#preparedHeaders ??= new Headers()
112
- });
113
- }
114
- /**
115
- * Sets the Response object for the current request.
116
- *
117
- * @param _res - The Response object to set.
118
- */
119
- set res(_res) {
120
- if (this.#res && _res) {
121
- _res = createResponseInstance(_res.body, _res);
122
- for (const [k, v] of this.#res.headers.entries()) {
123
- if (k === "content-type") {
124
- continue;
125
- }
126
- if (k === "set-cookie") {
127
- const cookies = this.#res.headers.getSetCookie();
128
- _res.headers.delete("set-cookie");
129
- for (const cookie of cookies) {
130
- _res.headers.append("set-cookie", cookie);
131
- }
132
- } else {
133
- _res.headers.set(k, v);
134
- }
135
- }
136
- }
137
- this.#res = _res;
138
- this.finalized = true;
139
- }
140
- /**
141
- * `.render()` can create a response within a layout.
142
- *
143
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
144
- *
145
- * @example
146
- * ```ts
147
- * app.get('/', (c) => {
148
- * return c.render('Hello!')
149
- * })
150
- * ```
151
- */
152
- render = (...args) => {
153
- this.#renderer ??= (content) => this.html(content);
154
- return this.#renderer(...args);
155
- };
156
- /**
157
- * Sets the layout for the response.
158
- *
159
- * @param layout - The layout to set.
160
- * @returns The layout function.
161
- */
162
- setLayout = (layout) => this.#layout = layout;
163
- /**
164
- * Gets the current layout for the response.
165
- *
166
- * @returns The current layout function.
167
- */
168
- getLayout = () => this.#layout;
169
- /**
170
- * `.setRenderer()` can set the layout in the custom middleware.
171
- *
172
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
173
- *
174
- * @example
175
- * ```tsx
176
- * app.use('*', async (c, next) => {
177
- * c.setRenderer((content) => {
178
- * return c.html(
179
- * <html>
180
- * <body>
181
- * <p>{content}</p>
182
- * </body>
183
- * </html>
184
- * )
185
- * })
186
- * await next()
187
- * })
188
- * ```
189
- */
190
- setRenderer = (renderer) => {
191
- this.#renderer = renderer;
192
- };
193
- /**
194
- * `.header()` can set headers.
195
- *
196
- * @see {@link https://hono.dev/docs/api/context#header}
197
- *
198
- * @example
199
- * ```ts
200
- * app.get('/welcome', (c) => {
201
- * // Set headers
202
- * c.header('X-Message', 'Hello!')
203
- * c.header('Content-Type', 'text/plain')
204
- *
205
- * // Append multiple headers using the append option (e.g. Vary)
206
- * c.header('Vary', 'Accept-Encoding', { append: true })
207
- * c.header('Vary', 'User-Agent', { append: true })
208
- *
209
- * return c.body('Thank you for coming')
210
- * })
211
- * ```
212
- */
213
- header = (name, value, options) => {
214
- if (this.finalized) {
215
- this.#res = createResponseInstance(this.#res.body, this.#res);
216
- }
217
- const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
218
- if (value === void 0) {
219
- headers.delete(name);
220
- } else if (options?.append) {
221
- headers.append(name, value);
222
- } else {
223
- headers.set(name, value);
224
- }
225
- };
226
- status = (status) => {
227
- this.#status = status;
228
- };
229
- /**
230
- * `.set()` can set the value specified by the key.
231
- *
232
- * @see {@link https://hono.dev/docs/api/context#set-get}
233
- *
234
- * @example
235
- * ```ts
236
- * app.use('*', async (c, next) => {
237
- * c.set('message', 'Hono is hot!!')
238
- * await next()
239
- * })
240
- * ```
241
- */
242
- set = (key, value) => {
243
- this.#var ??= /* @__PURE__ */ new Map();
244
- this.#var.set(key, value);
245
- };
246
- /**
247
- * `.get()` can use the value specified by the key.
248
- *
249
- * @see {@link https://hono.dev/docs/api/context#set-get}
250
- *
251
- * @example
252
- * ```ts
253
- * app.get('/', (c) => {
254
- * const message = c.get('message')
255
- * return c.text(`The message is "${message}"`)
256
- * })
257
- * ```
258
- */
259
- get = (key) => {
260
- return this.#var ? this.#var.get(key) : void 0;
261
- };
262
- /**
263
- * `.var` can access the value of a variable.
264
- *
265
- * @see {@link https://hono.dev/docs/api/context#var}
266
- *
267
- * @example
268
- * ```ts
269
- * const result = c.var.client.oneMethod()
270
- * ```
271
- */
272
- // c.var.propName is a read-only
273
- get var() {
274
- if (!this.#var) {
275
- return {};
276
- }
277
- return Object.fromEntries(this.#var);
278
- }
279
- #newResponse(data, arg, headers) {
280
- let responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders;
281
- if (typeof arg === "object" && arg.headers) {
282
- responseHeaders ??= new Headers();
283
- for (const [key, value] of new Headers(arg.headers)) {
284
- if (key === "set-cookie") {
285
- responseHeaders.append(key, value);
286
- } else {
287
- responseHeaders.set(key, value);
288
- }
289
- }
290
- }
291
- if (headers) {
292
- if (!responseHeaders) {
293
- let count = 0;
294
- for (const k in headers) {
295
- if (++count > 1 || typeof headers[k] !== "string") {
296
- responseHeaders = new Headers();
297
- break;
298
- }
299
- }
300
- }
301
- if (responseHeaders) {
302
- for (const k in headers) {
303
- const v = headers[k];
304
- if (typeof v === "string") {
305
- responseHeaders.set(k, v);
306
- } else {
307
- responseHeaders.delete(k);
308
- for (const v2 of v) {
309
- responseHeaders.append(k, v2);
310
- }
311
- }
312
- }
313
- }
314
- }
315
- const status = typeof arg === "number" ? arg : arg?.status ?? this.#status;
316
- return createResponseInstance(data, {
317
- status,
318
- headers: responseHeaders ?? headers
319
- });
320
- }
321
- newResponse = (...args) => this.#newResponse(...args);
322
- /**
323
- * `.body()` can return the HTTP response.
324
- * You can set headers with `.header()` and set HTTP status code with `.status`.
325
- * This can also be set in `.text()`, `.json()` and so on.
326
- *
327
- * @see {@link https://hono.dev/docs/api/context#body}
328
- *
329
- * @example
330
- * ```ts
331
- * app.get('/welcome', (c) => {
332
- * // Set headers
333
- * c.header('X-Message', 'Hello!')
334
- * c.header('Content-Type', 'text/plain')
335
- * // Set HTTP status code
336
- * c.status(201)
337
- *
338
- * // Return the response body
339
- * return c.body('Thank you for coming')
340
- * })
341
- * ```
342
- */
343
- body = (data, arg, headers) => this.#newResponse(data, arg, headers);
344
- /**
345
- * `.text()` can render text as `Content-Type:text/plain`.
346
- *
347
- * @see {@link https://hono.dev/docs/api/context#text}
348
- *
349
- * @example
350
- * ```ts
351
- * app.get('/say', (c) => {
352
- * return c.text('Hello!')
353
- * })
354
- * ```
355
- */
356
- text = (text, arg, headers) => {
357
- return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(
358
- text,
359
- arg,
360
- setDefaultContentType(TEXT_PLAIN, headers)
361
- );
362
- };
363
- /**
364
- * `.json()` can render JSON as `Content-Type:application/json`.
365
- *
366
- * @see {@link https://hono.dev/docs/api/context#json}
367
- *
368
- * @example
369
- * ```ts
370
- * app.get('/api', (c) => {
371
- * return c.json({ message: 'Hello!' })
372
- * })
373
- * ```
374
- */
375
- json = (object, arg, headers) => {
376
- return this.#newResponse(
377
- JSON.stringify(object),
378
- arg,
379
- setDefaultContentType("application/json", headers)
380
- );
381
- };
382
- html = (html, arg, headers) => {
383
- const res = (html2) => this.#newResponse(html2, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
384
- return typeof html === "object" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
385
- };
386
- /**
387
- * `.redirect()` can Redirect, default status code is 302.
388
- *
389
- * @see {@link https://hono.dev/docs/api/context#redirect}
390
- *
391
- * @example
392
- * ```ts
393
- * app.get('/redirect', (c) => {
394
- * return c.redirect('/')
395
- * })
396
- * app.get('/redirect-permanently', (c) => {
397
- * return c.redirect('/', 301)
398
- * })
399
- * ```
400
- */
401
- redirect = (location, status) => {
402
- const locationString = String(location);
403
- this.header(
404
- "Location",
405
- // Multibytes should be encoded
406
- // eslint-disable-next-line no-control-regex
407
- !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString)
408
- );
409
- return this.newResponse(null, status ?? 302);
410
- };
411
- /**
412
- * `.notFound()` can return the Not Found Response.
413
- *
414
- * @see {@link https://hono.dev/docs/api/context#notfound}
415
- *
416
- * @example
417
- * ```ts
418
- * app.get('/notfound', (c) => {
419
- * return c.notFound()
420
- * })
421
- * ```
422
- */
423
- notFound = () => {
424
- this.#notFoundHandler ??= () => createResponseInstance();
425
- return this.#notFoundHandler(this);
426
- };
427
- };
428
- export {
429
- Context,
430
- TEXT_PLAIN
13
+ #rawRequest;
14
+ #req;
15
+ /**
16
+ * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
17
+ *
18
+ * @see {@link https://hono.dev/docs/api/context#env}
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * // Environment object for Cloudflare Workers
23
+ * app.get('*', async c => {
24
+ * const counter = c.env.COUNTER
25
+ * })
26
+ * ```
27
+ */
28
+ env = {};
29
+ #var;
30
+ finalized = false;
31
+ /**
32
+ * `.error` can get the error object from the middleware if the Handler throws an error.
33
+ *
34
+ * @see {@link https://hono.dev/docs/api/context#error}
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * app.use('*', async (c, next) => {
39
+ * await next()
40
+ * if (c.error) {
41
+ * // do something...
42
+ * }
43
+ * })
44
+ * ```
45
+ */
46
+ error;
47
+ #status;
48
+ #executionCtx;
49
+ #res;
50
+ #layout;
51
+ #renderer;
52
+ #notFoundHandler;
53
+ #preparedHeaders;
54
+ #matchResult;
55
+ #path;
56
+ /**
57
+ * Creates an instance of the Context class.
58
+ *
59
+ * @param req - The Request object.
60
+ * @param options - Optional configuration options for the context.
61
+ */
62
+ constructor(req, options) {
63
+ this.#rawRequest = req;
64
+ if (options) {
65
+ this.#executionCtx = options.executionCtx;
66
+ this.env = options.env;
67
+ this.#notFoundHandler = options.notFoundHandler;
68
+ this.#path = options.path;
69
+ this.#matchResult = options.matchResult;
70
+ }
71
+ }
72
+ /**
73
+ * `.req` is the instance of {@link HonoRequest}.
74
+ */
75
+ get req() {
76
+ this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult);
77
+ return this.#req;
78
+ }
79
+ /**
80
+ * @see {@link https://hono.dev/docs/api/context#event}
81
+ * The FetchEvent associated with the current request.
82
+ *
83
+ * @throws Will throw an error if the context does not have a FetchEvent.
84
+ */
85
+ get event() {
86
+ if (this.#executionCtx && "respondWith" in this.#executionCtx) return this.#executionCtx;
87
+ else throw Error("This context has no FetchEvent");
88
+ }
89
+ /**
90
+ * @see {@link https://hono.dev/docs/api/context#executionctx}
91
+ * The ExecutionContext associated with the current request.
92
+ *
93
+ * @throws Will throw an error if the context does not have an ExecutionContext.
94
+ */
95
+ get executionCtx() {
96
+ if (this.#executionCtx) return this.#executionCtx;
97
+ else throw Error("This context has no ExecutionContext");
98
+ }
99
+ /**
100
+ * @see {@link https://hono.dev/docs/api/context#res}
101
+ * The Response object for the current request.
102
+ */
103
+ get res() {
104
+ return this.#res ||= createResponseInstance(null, { headers: this.#preparedHeaders ??= new Headers() });
105
+ }
106
+ /**
107
+ * Sets the Response object for the current request.
108
+ *
109
+ * @param _res - The Response object to set.
110
+ */
111
+ set res(_res) {
112
+ if (this.#res && _res) {
113
+ _res = createResponseInstance(_res.body, _res);
114
+ for (const [k, v] of this.#res.headers.entries()) {
115
+ if (k === "content-type") continue;
116
+ if (k === "set-cookie") {
117
+ const cookies = this.#res.headers.getSetCookie();
118
+ _res.headers.delete("set-cookie");
119
+ for (const cookie of cookies) _res.headers.append("set-cookie", cookie);
120
+ } else _res.headers.set(k, v);
121
+ }
122
+ }
123
+ this.#res = _res;
124
+ this.finalized = true;
125
+ }
126
+ /**
127
+ * `.render()` can create a response within a layout.
128
+ *
129
+ * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * app.get('/', (c) => {
134
+ * return c.render('Hello!')
135
+ * })
136
+ * ```
137
+ */
138
+ render = (...args) => {
139
+ this.#renderer ??= (content) => this.html(content);
140
+ return this.#renderer(...args);
141
+ };
142
+ /**
143
+ * Sets the layout for the response.
144
+ *
145
+ * @param layout - The layout to set.
146
+ * @returns The layout function.
147
+ */
148
+ setLayout = (layout) => this.#layout = layout;
149
+ /**
150
+ * Gets the current layout for the response.
151
+ *
152
+ * @returns The current layout function.
153
+ */
154
+ getLayout = () => this.#layout;
155
+ /**
156
+ * `.setRenderer()` can set the layout in the custom middleware.
157
+ *
158
+ * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * app.use('*', async (c, next) => {
163
+ * c.setRenderer((content) => {
164
+ * return c.html(
165
+ * <html>
166
+ * <body>
167
+ * <p>{content}</p>
168
+ * </body>
169
+ * </html>
170
+ * )
171
+ * })
172
+ * await next()
173
+ * })
174
+ * ```
175
+ */
176
+ setRenderer = (renderer) => {
177
+ this.#renderer = renderer;
178
+ };
179
+ /**
180
+ * `.header()` can set headers.
181
+ *
182
+ * @see {@link https://hono.dev/docs/api/context#header}
183
+ *
184
+ * @example
185
+ * ```ts
186
+ * app.get('/welcome', (c) => {
187
+ * // Set headers
188
+ * c.header('X-Message', 'Hello!')
189
+ * c.header('Content-Type', 'text/plain')
190
+ *
191
+ * // Append multiple headers using the append option (e.g. Vary)
192
+ * c.header('Vary', 'Accept-Encoding', { append: true })
193
+ * c.header('Vary', 'User-Agent', { append: true })
194
+ *
195
+ * return c.body('Thank you for coming')
196
+ * })
197
+ * ```
198
+ */
199
+ header = (name, value, options) => {
200
+ if (this.finalized) this.#res = createResponseInstance(this.#res.body, this.#res);
201
+ const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
202
+ if (value === void 0) headers.delete(name);
203
+ else if (options?.append) headers.append(name, value);
204
+ else headers.set(name, value);
205
+ };
206
+ status = (status) => {
207
+ this.#status = status;
208
+ };
209
+ /**
210
+ * `.set()` can set the value specified by the key.
211
+ *
212
+ * @see {@link https://hono.dev/docs/api/context#set-get}
213
+ *
214
+ * @example
215
+ * ```ts
216
+ * app.use('*', async (c, next) => {
217
+ * c.set('message', 'Hono is hot!!')
218
+ * await next()
219
+ * })
220
+ * ```
221
+ */
222
+ set = (key, value) => {
223
+ this.#var ??= /* @__PURE__ */ new Map();
224
+ this.#var.set(key, value);
225
+ };
226
+ /**
227
+ * `.get()` can use the value specified by the key.
228
+ *
229
+ * @see {@link https://hono.dev/docs/api/context#set-get}
230
+ *
231
+ * @example
232
+ * ```ts
233
+ * app.get('/', (c) => {
234
+ * const message = c.get('message')
235
+ * return c.text(`The message is "${message}"`)
236
+ * })
237
+ * ```
238
+ */
239
+ get = (key) => {
240
+ return this.#var ? this.#var.get(key) : void 0;
241
+ };
242
+ /**
243
+ * `.var` can access the value of a variable.
244
+ *
245
+ * @see {@link https://hono.dev/docs/api/context#var}
246
+ *
247
+ * @example
248
+ * ```ts
249
+ * const result = c.var.client.oneMethod()
250
+ * ```
251
+ */
252
+ get var() {
253
+ if (!this.#var) return {};
254
+ return Object.fromEntries(this.#var);
255
+ }
256
+ #newResponse(data, arg, headers) {
257
+ let responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders;
258
+ if (typeof arg === "object" && arg.headers) {
259
+ responseHeaders ??= new Headers();
260
+ for (const [key, value] of new Headers(arg.headers)) if (key === "set-cookie") responseHeaders.append(key, value);
261
+ else responseHeaders.set(key, value);
262
+ }
263
+ if (headers) {
264
+ if (!responseHeaders) {
265
+ let count = 0;
266
+ for (const k in headers) if (++count > 1 || typeof headers[k] !== "string") {
267
+ responseHeaders = new Headers();
268
+ break;
269
+ }
270
+ }
271
+ if (responseHeaders) for (const k in headers) {
272
+ const v = headers[k];
273
+ if (typeof v === "string") responseHeaders.set(k, v);
274
+ else {
275
+ responseHeaders.delete(k);
276
+ for (const v2 of v) responseHeaders.append(k, v2);
277
+ }
278
+ }
279
+ }
280
+ const status = typeof arg === "number" ? arg : arg?.status ?? this.#status;
281
+ return createResponseInstance(data, {
282
+ status,
283
+ headers: responseHeaders ?? headers
284
+ });
285
+ }
286
+ newResponse = (...args) => this.#newResponse(...args);
287
+ /**
288
+ * `.body()` can return the HTTP response.
289
+ * You can set headers with `.header()` and set HTTP status code with `.status`.
290
+ * This can also be set in `.text()`, `.json()` and so on.
291
+ *
292
+ * @see {@link https://hono.dev/docs/api/context#body}
293
+ *
294
+ * @example
295
+ * ```ts
296
+ * app.get('/welcome', (c) => {
297
+ * // Set headers
298
+ * c.header('X-Message', 'Hello!')
299
+ * c.header('Content-Type', 'text/plain')
300
+ * // Set HTTP status code
301
+ * c.status(201)
302
+ *
303
+ * // Return the response body
304
+ * return c.body('Thank you for coming')
305
+ * })
306
+ * ```
307
+ */
308
+ body = (data, arg, headers) => this.#newResponse(data, arg, headers);
309
+ /**
310
+ * `.text()` can render text as `Content-Type:text/plain`.
311
+ *
312
+ * @see {@link https://hono.dev/docs/api/context#text}
313
+ *
314
+ * @example
315
+ * ```ts
316
+ * app.get('/say', (c) => {
317
+ * return c.text('Hello!')
318
+ * })
319
+ * ```
320
+ */
321
+ text = (text, arg, headers) => {
322
+ return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(text, arg, setDefaultContentType(TEXT_PLAIN, headers));
323
+ };
324
+ /**
325
+ * `.json()` can render JSON as `Content-Type:application/json`.
326
+ *
327
+ * @see {@link https://hono.dev/docs/api/context#json}
328
+ *
329
+ * @example
330
+ * ```ts
331
+ * app.get('/api', (c) => {
332
+ * return c.json({ message: 'Hello!' })
333
+ * })
334
+ * ```
335
+ */
336
+ json = (object, arg, headers) => {
337
+ return this.#newResponse(JSON.stringify(object), arg, setDefaultContentType("application/json", headers));
338
+ };
339
+ html = (html, arg, headers) => {
340
+ const res = (html) => this.#newResponse(html, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
341
+ return typeof html === "object" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
342
+ };
343
+ /**
344
+ * `.redirect()` can Redirect, default status code is 302.
345
+ *
346
+ * @see {@link https://hono.dev/docs/api/context#redirect}
347
+ *
348
+ * @example
349
+ * ```ts
350
+ * app.get('/redirect', (c) => {
351
+ * return c.redirect('/')
352
+ * })
353
+ * app.get('/redirect-permanently', (c) => {
354
+ * return c.redirect('/', 301)
355
+ * })
356
+ * ```
357
+ */
358
+ redirect = (location, status) => {
359
+ const locationString = String(location);
360
+ this.header("Location", !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString));
361
+ return this.newResponse(null, status ?? 302);
362
+ };
363
+ /**
364
+ * `.notFound()` can return the Not Found Response.
365
+ *
366
+ * @see {@link https://hono.dev/docs/api/context#notfound}
367
+ *
368
+ * @example
369
+ * ```ts
370
+ * app.get('/notfound', (c) => {
371
+ * return c.notFound()
372
+ * })
373
+ * ```
374
+ */
375
+ notFound = () => {
376
+ this.#notFoundHandler ??= () => createResponseInstance();
377
+ return this.#notFoundHandler(this);
378
+ };
431
379
  };
380
+ //#endregion
381
+ export { Context, TEXT_PLAIN };