@zuplo/cli 7.8.18 → 7.8.20

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 (727) hide show
  1. package/dist/__tests__/integration/delete.integration.test.js +101 -1
  2. package/dist/__tests__/integration/delete.integration.test.js.map +1 -1
  3. package/dist/__tests__/integration/deploy.integration.test.js +117 -1
  4. package/dist/__tests__/integration/deploy.integration.test.js.map +1 -1
  5. package/dist/cmds/delete.d.ts.map +1 -1
  6. package/dist/cmds/delete.js +10 -5
  7. package/dist/cmds/delete.js.map +1 -1
  8. package/dist/cmds/deploy.d.ts.map +1 -1
  9. package/dist/cmds/deploy.js +11 -6
  10. package/dist/cmds/deploy.js.map +1 -1
  11. package/dist/common/middleware/get-environment-param.d.ts +7 -0
  12. package/dist/common/middleware/get-environment-param.d.ts.map +1 -1
  13. package/dist/common/middleware/get-environment-param.js +16 -2
  14. package/dist/common/middleware/get-environment-param.js.map +1 -1
  15. package/dist/common/middleware/get-environment-param.test.js +25 -1
  16. package/dist/common/middleware/get-environment-param.test.js.map +1 -1
  17. package/node_modules/@hono/node-server/README.md +21 -10
  18. package/node_modules/@hono/node-server/dist/early-hints.cjs +1 -1
  19. package/node_modules/@hono/node-server/dist/early-hints.mjs +1 -1
  20. package/node_modules/@hono/node-server/dist/index.cjs +41 -19
  21. package/node_modules/@hono/node-server/dist/index.mjs +42 -20
  22. package/node_modules/@hono/node-server/dist/serve-static.cjs +1 -0
  23. package/node_modules/@hono/node-server/dist/serve-static.d.cts +2 -1
  24. package/node_modules/@hono/node-server/dist/serve-static.d.mts +2 -1
  25. package/node_modules/@hono/node-server/dist/serve-static.mjs +1 -0
  26. package/node_modules/@hono/node-server/package.json +3 -2
  27. package/node_modules/@modelcontextprotocol/client/dist/{index-CEk3qkZM.d.cts → index-D_CiY-T3.d.cts} +3 -1
  28. package/node_modules/@modelcontextprotocol/client/dist/index-D_CiY-T3.d.cts.map +1 -0
  29. package/node_modules/@modelcontextprotocol/client/dist/{index-BCtJi0p5.d.mts → index-D_QDtbiv.d.mts} +3 -1
  30. package/node_modules/@modelcontextprotocol/client/dist/index-D_QDtbiv.d.mts.map +1 -0
  31. package/node_modules/@modelcontextprotocol/client/dist/index.cjs +100 -55
  32. package/node_modules/@modelcontextprotocol/client/dist/index.cjs.map +1 -1
  33. package/node_modules/@modelcontextprotocol/client/dist/index.d.cts +157 -30
  34. package/node_modules/@modelcontextprotocol/client/dist/index.d.cts.map +1 -1
  35. package/node_modules/@modelcontextprotocol/client/dist/index.d.mts +157 -30
  36. package/node_modules/@modelcontextprotocol/client/dist/index.d.mts.map +1 -1
  37. package/node_modules/@modelcontextprotocol/client/dist/index.mjs +100 -55
  38. package/node_modules/@modelcontextprotocol/client/dist/index.mjs.map +1 -1
  39. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs +1 -1
  40. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs +1 -1
  41. package/node_modules/@modelcontextprotocol/client/dist/{src-D0qEN74R.cjs → src-oZBjf3U1.cjs} +21 -4
  42. package/node_modules/@modelcontextprotocol/client/dist/src-oZBjf3U1.cjs.map +1 -0
  43. package/node_modules/@modelcontextprotocol/client/dist/{src-DDAAhLnO.mjs → src-xKF0PJN-.mjs} +16 -5
  44. package/node_modules/@modelcontextprotocol/client/dist/src-xKF0PJN-.mjs.map +1 -0
  45. package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs +1 -1
  46. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.cts +1 -1
  47. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.mts +1 -1
  48. package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs +1 -1
  49. package/node_modules/@modelcontextprotocol/client/package.json +3 -3
  50. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts → auth-Anm-lwWi.d.mts} +9 -8
  51. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts.map → auth-Anm-lwWi.d.mts.map} +1 -1
  52. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs → auth-BNDyLTqp.mjs} +5 -3
  53. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs.map → auth-BNDyLTqp.mjs.map} +1 -1
  54. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs → auth-D1CeV_Jr.cjs} +5 -3
  55. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs.map → auth-D1CeV_Jr.cjs.map} +1 -1
  56. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts → auth-V9XJSCfa.d.cts} +9 -8
  57. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts.map → auth-V9XJSCfa.d.cts.map} +1 -1
  58. package/node_modules/@modelcontextprotocol/core/dist/index.cjs +1 -1
  59. package/node_modules/@modelcontextprotocol/core/dist/index.d.cts +1 -1
  60. package/node_modules/@modelcontextprotocol/core/dist/index.d.mts +1 -1
  61. package/node_modules/@modelcontextprotocol/core/dist/index.mjs +1 -1
  62. package/node_modules/@modelcontextprotocol/core/dist/internal.cjs +1 -1
  63. package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +1 -1
  64. package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +1 -1
  65. package/node_modules/@modelcontextprotocol/core/dist/internal.mjs +1 -1
  66. package/node_modules/@modelcontextprotocol/core/package.json +1 -1
  67. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts +43 -2
  68. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts.map +1 -1
  69. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js +26 -5
  70. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js.map +1 -1
  71. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts +11 -0
  72. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts.map +1 -1
  73. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js +96 -14
  74. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js.map +1 -1
  75. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts +1 -0
  76. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts.map +1 -1
  77. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js +11 -2
  78. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js.map +1 -1
  79. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  80. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  81. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  82. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js +6 -3
  83. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  84. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts +3 -0
  85. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts.map +1 -1
  86. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js +12 -2
  87. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js.map +1 -1
  88. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts +43 -2
  89. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts.map +1 -1
  90. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js +26 -5
  91. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js.map +1 -1
  92. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts +11 -0
  93. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts.map +1 -1
  94. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +96 -14
  95. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js.map +1 -1
  96. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts +1 -0
  97. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts.map +1 -1
  98. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js +11 -2
  99. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js.map +1 -1
  100. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  101. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  102. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  103. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js +6 -3
  104. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  105. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts +3 -0
  106. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts.map +1 -1
  107. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +12 -2
  108. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js.map +1 -1
  109. package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
  110. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-Bt6U_Fqb.d.mts → createMcpHandler-CfX6zgs1.d.mts} +3 -1
  111. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CfX6zgs1.d.mts.map +1 -0
  112. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-BLVe3qmU.d.cts → createMcpHandler-LSKhyqpU.d.cts} +3 -1
  113. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-BLVe3qmU.d.cts.map → createMcpHandler-LSKhyqpU.d.cts.map} +1 -1
  114. package/node_modules/@modelcontextprotocol/server/dist/index.cjs +5 -3
  115. package/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
  116. package/node_modules/@modelcontextprotocol/server/dist/index.d.cts +1 -1
  117. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts +1 -1
  118. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -1
  119. package/node_modules/@modelcontextprotocol/server/dist/index.mjs +5 -3
  120. package/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
  121. package/node_modules/@modelcontextprotocol/server/dist/{mcp-Dw2OlZ1f.mjs → mcp-DYuW2ZSs.mjs} +6 -2
  122. package/node_modules/@modelcontextprotocol/server/dist/mcp-DYuW2ZSs.mjs.map +1 -0
  123. package/node_modules/@modelcontextprotocol/server/dist/{mcp-DUcCQSTW.cjs → mcp-TfXCpFsH.cjs} +6 -2
  124. package/node_modules/@modelcontextprotocol/server/dist/mcp-TfXCpFsH.cjs.map +1 -0
  125. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +1 -1
  126. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +1 -1
  127. package/node_modules/@modelcontextprotocol/server/dist/{src-D-y6h4N7.mjs → src-BHSMhZ_W.mjs} +8 -4
  128. package/node_modules/@modelcontextprotocol/server/dist/src-BHSMhZ_W.mjs.map +1 -0
  129. package/node_modules/@modelcontextprotocol/server/dist/{src-CgFsfg3E.cjs → src-BtQ5YSyq.cjs} +8 -4
  130. package/node_modules/@modelcontextprotocol/server/dist/src-BtQ5YSyq.cjs.map +1 -0
  131. package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +2 -2
  132. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +1 -1
  133. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +1 -1
  134. package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +2 -2
  135. package/node_modules/@modelcontextprotocol/server/package.json +3 -3
  136. package/node_modules/@posthog/types/dist/posthog.d.ts +14 -0
  137. package/node_modules/@posthog/types/dist/posthog.d.ts.map +1 -1
  138. package/node_modules/@posthog/types/package.json +1 -1
  139. package/node_modules/@posthog/types/src/posthog.ts +14 -0
  140. package/node_modules/@zuplo/core/package.json +1 -1
  141. package/node_modules/@zuplo/graphql/package.json +1 -1
  142. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  143. package/node_modules/@zuplo/otel/package.json +1 -1
  144. package/node_modules/@zuplo/runtime/out/esm/{chunk-N3MU52FH.js → chunk-I5ENAL3B.js} +35 -35
  145. package/node_modules/@zuplo/runtime/out/esm/chunk-I5ENAL3B.js.map +1 -0
  146. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  147. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  148. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  149. package/node_modules/@zuplo/runtime/package.json +1 -1
  150. package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  151. package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  152. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +318 -344
  153. package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  154. package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  155. package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  156. package/node_modules/hono/dist/adapter/bun/index.js +3 -13
  157. package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  158. package/node_modules/hono/dist/adapter/bun/server.js +11 -5
  159. package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  160. package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  161. package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  162. package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  163. package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  164. package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  165. package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  166. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  167. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  168. package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  169. package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  170. package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  171. package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  172. package/node_modules/hono/dist/adapter/deno/index.js +3 -10
  173. package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  174. package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  175. package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  176. package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  177. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -101
  178. package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  179. package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  180. package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  181. package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  182. package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  183. package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  184. package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  185. package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  186. package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  187. package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  188. package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  189. package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  190. package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  191. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +326 -373
  192. package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  193. package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  194. package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  195. package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  196. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  197. package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  198. package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  199. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  200. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  201. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  202. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  203. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  204. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  205. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  206. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  207. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  208. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  209. package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  210. package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  211. package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  212. package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  213. package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  214. package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  215. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +102 -130
  216. package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  217. package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  218. package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  219. package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  220. package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  221. package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  222. package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  223. package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  224. package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  225. package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  226. package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  227. package/node_modules/hono/dist/cjs/client/client.js +139 -212
  228. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  229. package/node_modules/hono/dist/cjs/client/index.js +7 -32
  230. package/node_modules/hono/dist/cjs/client/types.js +0 -15
  231. package/node_modules/hono/dist/cjs/client/utils.js +54 -92
  232. package/node_modules/hono/dist/cjs/compose.js +49 -66
  233. package/node_modules/hono/dist/cjs/context.js +379 -450
  234. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -72
  235. package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  236. package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  237. package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  238. package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  239. package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  240. package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  241. package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  242. package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  243. package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  244. package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  245. package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  246. package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  247. package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  248. package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  249. package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  250. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  251. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  252. package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  253. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  254. package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  255. package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  256. package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  257. package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  258. package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  259. package/node_modules/hono/dist/cjs/hono-base.js +345 -403
  260. package/node_modules/hono/dist/cjs/hono.js +28 -42
  261. package/node_modules/hono/dist/cjs/http-exception.js +55 -56
  262. package/node_modules/hono/dist/cjs/index.js +22 -30
  263. package/node_modules/hono/dist/cjs/jsx/base.js +237 -366
  264. package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  265. package/node_modules/hono/dist/cjs/jsx/components.js +119 -192
  266. package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  267. package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  268. package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  269. package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  270. package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  271. package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  272. package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  273. package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  274. package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  275. package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  276. package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  277. package/node_modules/hono/dist/cjs/jsx/dom/render.js +469 -623
  278. package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -64
  279. package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  280. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  281. package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  282. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  283. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  284. package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  285. package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  286. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  287. package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -166
  288. package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  289. package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  290. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  291. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  292. package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  293. package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  294. package/node_modules/hono/dist/cjs/middleware/combine/index.js +133 -95
  295. package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  296. package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  297. package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  298. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  299. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  300. package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  301. package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  302. package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  303. package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  304. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  305. package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  306. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  307. package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  308. package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -182
  309. package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  310. package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  311. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  312. package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  313. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -42
  314. package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  315. package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  316. package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  317. package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  318. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  319. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  320. package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  321. package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  322. package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  323. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  324. package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  325. package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  326. package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  327. package/node_modules/hono/dist/cjs/request/constants.js +5 -27
  328. package/node_modules/hono/dist/cjs/request.js +334 -346
  329. package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  330. package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  331. package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  332. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  333. package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  334. package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  335. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  336. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  337. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  338. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  339. package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  340. package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  341. package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  342. package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  343. package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  344. package/node_modules/hono/dist/cjs/router/utils.js +5 -27
  345. package/node_modules/hono/dist/cjs/router.js +37 -37
  346. package/node_modules/hono/dist/cjs/types.js +5 -28
  347. package/node_modules/hono/dist/cjs/utils/accept.js +177 -225
  348. package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  349. package/node_modules/hono/dist/cjs/utils/body.js +84 -110
  350. package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  351. package/node_modules/hono/dist/cjs/utils/color.js +35 -44
  352. package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  353. package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  354. package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  355. package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  356. package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  357. package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  358. package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  359. package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  360. package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  361. package/node_modules/hono/dist/cjs/utils/html.js +96 -137
  362. package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  363. package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  364. package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  365. package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  366. package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  367. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -206
  368. package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  369. package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  370. package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  371. package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  372. package/node_modules/hono/dist/cjs/utils/types.js +0 -15
  373. package/node_modules/hono/dist/cjs/utils/url.js +185 -234
  374. package/node_modules/hono/dist/cjs/validator/index.js +3 -27
  375. package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  376. package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  377. package/node_modules/hono/dist/client/client.js +138 -197
  378. package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  379. package/node_modules/hono/dist/client/index.js +3 -7
  380. package/node_modules/hono/dist/client/types.js +1 -0
  381. package/node_modules/hono/dist/client/utils.js +51 -68
  382. package/node_modules/hono/dist/compose.js +49 -45
  383. package/node_modules/hono/dist/context.js +376 -426
  384. package/node_modules/hono/dist/helper/accepts/accepts.js +47 -51
  385. package/node_modules/hono/dist/helper/accepts/index.js +1 -4
  386. package/node_modules/hono/dist/helper/adapter/index.js +33 -52
  387. package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  388. package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  389. package/node_modules/hono/dist/helper/cookie/index.js +74 -94
  390. package/node_modules/hono/dist/helper/css/common.js +167 -225
  391. package/node_modules/hono/dist/helper/css/index.js +132 -137
  392. package/node_modules/hono/dist/helper/dev/index.js +44 -49
  393. package/node_modules/hono/dist/helper/factory/index.js +27 -27
  394. package/node_modules/hono/dist/helper/html/index.js +30 -39
  395. package/node_modules/hono/dist/helper/proxy/index.js +116 -88
  396. package/node_modules/hono/dist/helper/route/index.js +121 -43
  397. package/node_modules/hono/dist/helper/ssg/index.js +3 -18
  398. package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  399. package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  400. package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  401. package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  402. package/node_modules/hono/dist/helper/streaming/index.js +2 -8
  403. package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  404. package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  405. package/node_modules/hono/dist/helper/streaming/text.js +9 -10
  406. package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  407. package/node_modules/hono/dist/helper/testing/index.js +16 -10
  408. package/node_modules/hono/dist/helper/websocket/index.js +49 -53
  409. package/node_modules/hono/dist/hono-base.js +342 -379
  410. package/node_modules/hono/dist/hono.js +27 -20
  411. package/node_modules/hono/dist/http-exception.js +53 -33
  412. package/node_modules/hono/dist/index.js +19 -6
  413. package/node_modules/hono/dist/jsx/base.js +231 -340
  414. package/node_modules/hono/dist/jsx/children.js +16 -20
  415. package/node_modules/hono/dist/jsx/components.js +118 -170
  416. package/node_modules/hono/dist/jsx/constants.js +9 -15
  417. package/node_modules/hono/dist/jsx/context.js +153 -150
  418. package/node_modules/hono/dist/jsx/dom/client.js +45 -48
  419. package/node_modules/hono/dist/jsx/dom/components.js +21 -29
  420. package/node_modules/hono/dist/jsx/dom/context.js +37 -44
  421. package/node_modules/hono/dist/jsx/dom/css.js +142 -147
  422. package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  423. package/node_modules/hono/dist/jsx/dom/index.js +71 -134
  424. package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  425. package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  426. package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  427. package/node_modules/hono/dist/jsx/dom/render.js +492 -631
  428. package/node_modules/hono/dist/jsx/dom/server.js +32 -32
  429. package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  430. package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  431. package/node_modules/hono/dist/jsx/index.js +45 -98
  432. package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  433. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  434. package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  435. package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  436. package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  437. package/node_modules/hono/dist/jsx/streaming.js +120 -142
  438. package/node_modules/hono/dist/jsx/types.js +1 -0
  439. package/node_modules/hono/dist/jsx/utils.js +105 -168
  440. package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  441. package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  442. package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  443. package/node_modules/hono/dist/middleware/cache/index.js +165 -190
  444. package/node_modules/hono/dist/middleware/combine/index.js +132 -73
  445. package/node_modules/hono/dist/middleware/compress/index.js +75 -69
  446. package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  447. package/node_modules/hono/dist/middleware/cors/index.js +107 -86
  448. package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  449. package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  450. package/node_modules/hono/dist/middleware/etag/index.js +71 -70
  451. package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  452. package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  453. package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  454. package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  455. package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  456. package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  457. package/node_modules/hono/dist/middleware/language/index.js +2 -15
  458. package/node_modules/hono/dist/middleware/language/language.js +180 -157
  459. package/node_modules/hono/dist/middleware/logger/index.js +43 -37
  460. package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  461. package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  462. package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  463. package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -22
  464. package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  465. package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  466. package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  467. package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  468. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  469. package/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  470. package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  471. package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  472. package/node_modules/hono/dist/middleware/timing/index.js +2 -9
  473. package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  474. package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  475. package/node_modules/hono/dist/preset/quick.js +17 -15
  476. package/node_modules/hono/dist/preset/tiny.js +14 -11
  477. package/node_modules/hono/dist/request/constants.js +4 -5
  478. package/node_modules/hono/dist/request.js +328 -319
  479. package/node_modules/hono/dist/router/linear-router/index.js +1 -4
  480. package/node_modules/hono/dist/router/linear-router/router.js +93 -120
  481. package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  482. package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  483. package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  484. package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  485. package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  486. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  487. package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  488. package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  489. package/node_modules/hono/dist/router/smart-router/index.js +1 -4
  490. package/node_modules/hono/dist/router/smart-router/router.js +46 -55
  491. package/node_modules/hono/dist/router/trie-router/index.js +1 -4
  492. package/node_modules/hono/dist/router/trie-router/node.js +131 -162
  493. package/node_modules/hono/dist/router/trie-router/router.js +11 -14
  494. package/node_modules/hono/dist/router/utils.js +4 -5
  495. package/node_modules/hono/dist/router.js +35 -14
  496. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  497. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -105
  498. package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  499. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -123
  500. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  501. package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  502. package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  503. package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  504. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  505. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -17
  506. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  507. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -18
  508. package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  509. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  510. package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  511. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -3
  512. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  513. package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  514. package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  515. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  516. package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  517. package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  518. package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  519. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  520. package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  521. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  522. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -58
  523. package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  524. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  525. package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  526. package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  527. package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  528. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -8
  529. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +6 -9
  530. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -8
  531. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  532. package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  533. package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  534. package/node_modules/hono/dist/types/client/client.d.ts +5 -3
  535. package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  536. package/node_modules/hono/dist/types/client/index.d.ts +5 -7
  537. package/node_modules/hono/dist/types/client/types.d.ts +134 -160
  538. package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  539. package/node_modules/hono/dist/types/compose.d.ts +4 -2
  540. package/node_modules/hono/dist/types/context.d.ts +335 -336
  541. package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  542. package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  543. package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  544. package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  545. package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  546. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -13
  547. package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -10
  548. package/node_modules/hono/dist/types/helper/css/index.d.ts +25 -28
  549. package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -13
  550. package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -74
  551. package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  552. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +19 -22
  553. package/node_modules/hono/dist/types/helper/route/index.d.ts +4 -2
  554. package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  555. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -7
  556. package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  557. package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  558. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -4
  559. package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  560. package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  561. package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  562. package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  563. package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  564. package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -10
  565. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  566. package/node_modules/hono/dist/types/hono-base.d.ts +208 -211
  567. package/node_modules/hono/dist/types/hono.d.ts +11 -10
  568. package/node_modules/hono/dist/types/http-exception.d.ts +20 -23
  569. package/node_modules/hono/dist/types/index.d.ts +6 -37
  570. package/node_modules/hono/dist/types/jsx/base.d.ts +36 -35
  571. package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  572. package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  573. package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  574. package/node_modules/hono/dist/types/jsx/context.d.ts +9 -7
  575. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +8 -10
  576. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  577. package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  578. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +26 -30
  579. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -13
  580. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +78 -83
  581. package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  582. package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  583. package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  584. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -51
  585. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +86 -85
  586. package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  587. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -17
  588. package/node_modules/hono/dist/types/jsx/index.d.ts +70 -73
  589. package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  590. package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  591. package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  592. package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  593. package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  594. package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  595. package/node_modules/hono/dist/types/jsx/types.d.ts +11 -13
  596. package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  597. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -20
  598. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -49
  599. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -9
  600. package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  601. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +4 -7
  602. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +8 -10
  603. package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  604. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -13
  605. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -9
  606. package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  607. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -9
  608. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -13
  609. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -12
  610. package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  611. package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  612. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +6 -6
  613. package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  614. package/node_modules/hono/dist/types/middleware/language/index.d.ts +5 -5
  615. package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  616. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -6
  617. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -10
  618. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -17
  619. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -11
  620. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -21
  621. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +5 -5
  622. package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  623. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +5 -6
  624. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -1
  625. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -58
  626. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  627. package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  628. package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  629. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +5 -5
  630. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -21
  631. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -38
  632. package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  633. package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  634. package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  635. package/node_modules/hono/dist/types/request.d.ts +288 -287
  636. package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  637. package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  638. package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  639. package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  640. package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  641. package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  642. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  643. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -11
  644. package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  645. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  646. package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  647. package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  648. package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  649. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  650. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  651. package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  652. package/node_modules/hono/dist/types/router.d.ts +23 -22
  653. package/node_modules/hono/dist/types/types.d.ts +146 -506
  654. package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  655. package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  656. package/node_modules/hono/dist/types/utils/body.d.ts +46 -51
  657. package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -6
  658. package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  659. package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  660. package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  661. package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  662. package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -19
  663. package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -8
  664. package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  665. package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -4
  666. package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  667. package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  668. package/node_modules/hono/dist/types/utils/html.d.ts +11 -10
  669. package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  670. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  671. package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  672. package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  673. package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  674. package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  675. package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  676. package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  677. package/node_modules/hono/dist/types/utils/mime.d.ts +59 -57
  678. package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  679. package/node_modules/hono/dist/types/utils/types.d.ts +14 -27
  680. package/node_modules/hono/dist/types/utils/url.d.ts +2 -1
  681. package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  682. package/node_modules/hono/dist/types/validator/utils.d.ts +6 -9
  683. package/node_modules/hono/dist/types/validator/validator.d.ts +11 -10
  684. package/node_modules/hono/dist/types.js +4 -6
  685. package/node_modules/hono/dist/utils/accept.js +185 -212
  686. package/node_modules/hono/dist/utils/basic-auth.js +18 -21
  687. package/node_modules/hono/dist/utils/body.js +87 -92
  688. package/node_modules/hono/dist/utils/buffer.js +44 -71
  689. package/node_modules/hono/dist/utils/color.js +33 -21
  690. package/node_modules/hono/dist/utils/compress.js +11 -5
  691. package/node_modules/hono/dist/utils/concurrent.js +29 -38
  692. package/node_modules/hono/dist/utils/constants.js +7 -5
  693. package/node_modules/hono/dist/utils/cookie.js +114 -163
  694. package/node_modules/hono/dist/utils/crypto.js +30 -40
  695. package/node_modules/hono/dist/utils/encode.js +30 -26
  696. package/node_modules/hono/dist/utils/filepath.js +23 -33
  697. package/node_modules/hono/dist/utils/handler.js +10 -11
  698. package/node_modules/hono/dist/utils/headers.js +1 -0
  699. package/node_modules/hono/dist/utils/html.js +97 -117
  700. package/node_modules/hono/dist/utils/http-status.js +1 -0
  701. package/node_modules/hono/dist/utils/ipaddr.js +227 -279
  702. package/node_modules/hono/dist/utils/jwt/index.js +12 -4
  703. package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  704. package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  705. package/node_modules/hono/dist/utils/jwt/jwt.js +120 -198
  706. package/node_modules/hono/dist/utils/jwt/types.js +79 -95
  707. package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  708. package/node_modules/hono/dist/utils/mime.js +74 -79
  709. package/node_modules/hono/dist/utils/stream.js +86 -88
  710. package/node_modules/hono/dist/utils/types.js +1 -0
  711. package/node_modules/hono/dist/utils/url.js +187 -215
  712. package/node_modules/hono/dist/validator/index.js +1 -4
  713. package/node_modules/hono/dist/validator/utils.js +1 -0
  714. package/node_modules/hono/dist/validator/validator.js +61 -83
  715. package/node_modules/hono/package.json +27 -27
  716. package/package.json +11 -11
  717. package/node_modules/@modelcontextprotocol/client/dist/index-BCtJi0p5.d.mts.map +0 -1
  718. package/node_modules/@modelcontextprotocol/client/dist/index-CEk3qkZM.d.cts.map +0 -1
  719. package/node_modules/@modelcontextprotocol/client/dist/src-D0qEN74R.cjs.map +0 -1
  720. package/node_modules/@modelcontextprotocol/client/dist/src-DDAAhLnO.mjs.map +0 -1
  721. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-Bt6U_Fqb.d.mts.map +0 -1
  722. package/node_modules/@modelcontextprotocol/server/dist/mcp-DUcCQSTW.cjs.map +0 -1
  723. package/node_modules/@modelcontextprotocol/server/dist/mcp-Dw2OlZ1f.mjs.map +0 -1
  724. package/node_modules/@modelcontextprotocol/server/dist/src-CgFsfg3E.cjs.map +0 -1
  725. package/node_modules/@modelcontextprotocol/server/dist/src-D-y6h4N7.mjs.map +0 -1
  726. package/node_modules/@zuplo/runtime/out/esm/chunk-N3MU52FH.js.map +0 -1
  727. /package/node_modules/@zuplo/runtime/out/esm/{chunk-N3MU52FH.js.LEGAL.txt → chunk-I5ENAL3B.js.LEGAL.txt} +0 -0
@@ -1,33 +1,30 @@
1
- /**
2
- * @module
3
- * This module contains some type definitions for the Hono modules.
4
- */
5
- import type { Context } from './context';
6
- import type { HonoBase } from './hono-base';
7
- import type { CustomHeader, RequestHeader } from './utils/headers';
8
- import type { StatusCode } from './utils/http-status';
9
- import type { IfAnyThenEmptyObject, IsAny, JSONValue, RemoveBlankRecord, Simplify, UnionToIntersection } from './utils/types';
1
+ import { HonoBase as Hono } from "./hono-base.js";
2
+ import { CustomHeader, RequestHeader } from "./utils/headers.js";
3
+ import { StatusCode } from "./utils/http-status.js";
4
+ import { IfAnyThenEmptyObject, IsAny, JSONValue, RemoveBlankRecord, Simplify, UnionToIntersection } from "./utils/types.js";
5
+ import { Context } from "./context.js";
6
+ //#region src/types.d.ts
10
7
  export type Bindings = object;
11
8
  export type Variables = object;
12
9
  export type BlankEnv = {};
13
10
  export type Env = {
14
- Bindings?: Bindings;
15
- Variables?: Variables;
11
+ Bindings?: Bindings;
12
+ Variables?: Variables;
16
13
  };
17
14
  export type Next = () => Promise<void>;
18
15
  export type ExtractInput<I extends Input | Input['in']> = I extends Input ? unknown extends I['in'] ? {} : I['in'] : I;
19
16
  export type Input = {
20
- in?: {};
21
- out?: {};
22
- outputFormat?: ResponseFormat;
17
+ in?: {};
18
+ out?: {};
19
+ outputFormat?: ResponseFormat;
23
20
  };
24
21
  export type BlankSchema = {};
25
22
  export type BlankInput = {};
26
23
  export interface RouterRoute {
27
- basePath: string;
28
- path: string;
29
- method: string;
30
- handler: H;
24
+ basePath: string;
25
+ path: string;
26
+ method: string;
27
+ handler: H;
31
28
  }
32
29
  export type HandlerResponse<O> = Response | TypedResponse<O> | Promise<Response | TypedResponse<O>> | Promise<void>;
33
30
  export type Handler<E extends Env = any, P extends string = any, I extends Input = BlankInput, R extends HandlerResponse<any> = any> = (c: Context<E, P, I>, next: Next) => R;
@@ -41,533 +38,176 @@ export type H<E extends Env = any, P extends string = any, I extends Input = Bla
41
38
  * interface NotFoundResponse extends Response, TypedResponse<string, 404, 'text'> {}
42
39
  * }
43
40
  */
44
- export interface NotFoundResponse {
45
- }
41
+ export interface NotFoundResponse {}
46
42
  export type NotFoundHandler<E extends Env = any> = (c: Context<E>) => NotFoundResponse extends Response ? NotFoundResponse | Promise<NotFoundResponse> : Response | Promise<Response>;
47
43
  export interface HTTPResponseError extends Error {
48
- getResponse: () => Response;
44
+ getResponse: () => Response;
49
45
  }
50
46
  export type ErrorHandler<E extends Env = any> = (err: Error | HTTPResponseError, c: Context<E>) => Response | Promise<Response>;
51
47
  export interface HandlerInterface<E extends Env = Env, M extends string = string, S extends Schema = BlankSchema, BasePath extends string = '/', CurrentPath extends string = BasePath> {
52
- <P extends string = CurrentPath, I extends Input = BlankInput, R extends HandlerResponse<any> = any, E2 extends Env = E>(handler: H<E2, P, I, R>): HonoBase<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath, CurrentPath>;
53
- <P extends string = CurrentPath, I extends Input = BlankInput, I2 extends Input = I, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, P, I> = H<E2, P, I>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2, R>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, P, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>, BasePath, CurrentPath>;
54
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(path: P, handler: H<E2, MergedPath, I, R>): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R>, S, M, P, I, BasePath>, BasePath, MergePath<BasePath, P>>;
55
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3, R>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, P, I3, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>>, BasePath, CurrentPath>;
56
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1>, S, M, P, I2, BasePath>, BasePath, MergePath<BasePath, P>>;
57
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4, R>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, P, I4, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>>, BasePath, CurrentPath>;
58
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>, S, M, P, I3, BasePath>, BasePath, MergePath<BasePath, P>>;
59
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>>(...handlers: [
60
- H<E2, P, I> & M1,
61
- H<E3, P, I2> & M2,
62
- H<E4, P, I3> & M3,
63
- H<E5, P, I4> & M4,
64
- H<E6, P, I5, R>
65
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, P, I5, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>>, BasePath, CurrentPath>;
66
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>>(path: P, ...handlers: [
67
- H<E2, MergedPath, I> & M1,
68
- H<E3, MergedPath, I2> & M2,
69
- H<E4, MergedPath, I3> & M3,
70
- H<E5, MergedPath, I4, R>
71
- ]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>, S, M, P, I4, BasePath>, BasePath, MergePath<BasePath, P>>;
72
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>>(...handlers: [
73
- H<E2, P, I> & M1,
74
- H<E3, P, I2> & M2,
75
- H<E4, P, I3> & M3,
76
- H<E5, P, I4> & M4,
77
- H<E6, P, I5> & M5,
78
- H<E7, P, I6, R>
79
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, P, I6, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>>, BasePath, CurrentPath>;
80
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>>(path: P, ...handlers: [
81
- H<E2, MergedPath, I> & M1,
82
- H<E3, MergedPath, I2> & M2,
83
- H<E4, MergedPath, I3> & M3,
84
- H<E5, MergedPath, I4> & M4,
85
- H<E6, MergedPath, I5, R>
86
- ]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>, S, M, P, I5, BasePath>, BasePath, MergePath<BasePath, P>>;
87
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>>(...handlers: [
88
- H<E2, P, I> & M1,
89
- H<E3, P, I2> & M2,
90
- H<E4, P, I3> & M3,
91
- H<E5, P, I4> & M4,
92
- H<E6, P, I5> & M5,
93
- H<E7, P, I6> & M6,
94
- H<E8, P, I7, R>
95
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, P, I7, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>>, BasePath, CurrentPath>;
96
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>>(path: P, ...handlers: [
97
- H<E2, MergedPath, I> & M1,
98
- H<E3, MergedPath, I2> & M2,
99
- H<E4, MergedPath, I3> & M3,
100
- H<E5, MergedPath, I4> & M4,
101
- H<E6, MergedPath, I5> & M5,
102
- H<E7, MergedPath, I6, R>
103
- ]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>, S, M, P, I6, BasePath>, BasePath, MergePath<BasePath, P>>;
104
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>, M7 extends H<E8, P, I7> = H<E8, P, I7>>(...handlers: [
105
- H<E2, P, I> & M1,
106
- H<E3, P, I2> & M2,
107
- H<E4, P, I3> & M3,
108
- H<E5, P, I4> & M4,
109
- H<E6, P, I5> & M5,
110
- H<E7, P, I6> & M6,
111
- H<E8, P, I7> & M7,
112
- H<E9, P, I8, R>
113
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, P, I8, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>>, BasePath, CurrentPath>;
114
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>>(path: P, ...handlers: [
115
- H<E2, MergedPath, I> & M1,
116
- H<E3, MergedPath, I2> & M2,
117
- H<E4, MergedPath, I3> & M3,
118
- H<E5, MergedPath, I4> & M4,
119
- H<E6, MergedPath, I5> & M5,
120
- H<E7, MergedPath, I6> & M6,
121
- H<E8, MergedPath, I7, R>
122
- ]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>, S, M, P, I7, BasePath>, BasePath, MergePath<BasePath, P>>;
123
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>, M7 extends H<E8, P, I7> = H<E8, P, I7>, M8 extends H<E9, P, I8> = H<E9, P, I8>>(...handlers: [
124
- H<E2, P, I> & M1,
125
- H<E3, P, I2> & M2,
126
- H<E4, P, I3> & M3,
127
- H<E5, P, I4> & M4,
128
- H<E6, P, I5> & M5,
129
- H<E7, P, I6> & M6,
130
- H<E8, P, I7> & M7,
131
- H<E9, P, I8> & M8,
132
- H<E10, P, I9, R>
133
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, P, I9, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>>, BasePath, CurrentPath>;
134
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>>(path: P, ...handlers: [
135
- H<E2, MergedPath, I> & M1,
136
- H<E3, MergedPath, I2> & M2,
137
- H<E4, MergedPath, I3> & M3,
138
- H<E5, MergedPath, I4> & M4,
139
- H<E6, MergedPath, I5> & M5,
140
- H<E7, MergedPath, I6> & M6,
141
- H<E8, MergedPath, I7> & M7,
142
- H<E9, MergedPath, I8, R>
143
- ]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>, S, M, P, I8, BasePath>, BasePath, MergePath<BasePath, P>>;
144
- <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>, M7 extends H<E8, P, I7> = H<E8, P, I7>, M8 extends H<E9, P, I8> = H<E9, P, I8>, M9 extends H<E10, P, I9> = H<E10, P, I9>>(...handlers: [
145
- H<E2, P, I> & M1,
146
- H<E3, P, I2> & M2,
147
- H<E4, P, I3> & M3,
148
- H<E5, P, I4> & M4,
149
- H<E6, P, I5> & M5,
150
- H<E7, P, I6> & M6,
151
- H<E8, P, I7> & M7,
152
- H<E9, P, I8> & M8,
153
- H<E10, P, I9> & M9,
154
- H<E11, P, I10, R>
155
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, P, I10, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>>, BasePath, CurrentPath>;
156
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>>(path: P, ...handlers: [
157
- H<E2, MergedPath, I> & M1,
158
- H<E3, MergedPath, I2> & M2,
159
- H<E4, MergedPath, I3> & M3,
160
- H<E5, MergedPath, I4> & M4,
161
- H<E6, MergedPath, I5> & M5,
162
- H<E7, MergedPath, I6> & M6,
163
- H<E8, MergedPath, I7> & M7,
164
- H<E9, MergedPath, I8> & M8,
165
- H<E10, MergedPath, I9, R>
166
- ]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>, S, M, P, I9, BasePath>, BasePath, MergePath<BasePath, P>>;
167
- <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>, M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>>(path: P, ...handlers: [
168
- H<E2, MergedPath, I> & M1,
169
- H<E3, MergedPath, I2> & M2,
170
- H<E4, MergedPath, I3> & M3,
171
- H<E5, MergedPath, I4> & M4,
172
- H<E6, MergedPath, I5> & M5,
173
- H<E7, MergedPath, I6> & M6,
174
- H<E8, MergedPath, I7> & M7,
175
- H<E9, MergedPath, I8> & M8,
176
- H<E10, MergedPath, I9> & M9,
177
- H<E11, MergedPath, I10, R>
178
- ]): HonoBase<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>, S, M, P, I10, BasePath>, BasePath, MergePath<BasePath, P>>;
179
- <P extends string = CurrentPath, I extends Input = BlankInput, R extends HandlerResponse<any> = any>(...handlers: H<E, P, I, R>[]): HonoBase<E, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath, CurrentPath>;
180
- <P extends string, I extends Input = BlankInput, R extends HandlerResponse<any> = any>(path: P, ...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]): HonoBase<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
181
- <P extends string, R extends HandlerResponse<any> = any, I extends Input = BlankInput>(path: P): HonoBase<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
48
+ <P extends string = CurrentPath, I extends Input = BlankInput, R extends HandlerResponse<any> = any, E2 extends Env = E>(handler: H<E2, P, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath, CurrentPath>;
49
+ <P extends string = CurrentPath, I extends Input = BlankInput, I2 extends Input = I, R extends HandlerResponse<any> = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, P, I> = H<E2, P, I>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, P, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>, BasePath, CurrentPath>;
50
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(path: P, handler: H<E2, MergedPath, I, R>): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R>, S, M, P, I, BasePath>, BasePath, MergePath<BasePath, P>>;
51
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, P, I3, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>>, BasePath, CurrentPath>;
52
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1>, S, M, P, I2, BasePath>, BasePath, MergePath<BasePath, P>>;
53
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, P, I4, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>>, BasePath, CurrentPath>;
54
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>, S, M, P, I3, BasePath>, BasePath, MergePath<BasePath, P>>;
55
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4> & M4, H<E6, P, I5, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, P, I5, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>>, BasePath, CurrentPath>;
56
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>, S, M, P, I4, BasePath>, BasePath, MergePath<BasePath, P>>;
57
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4> & M4, H<E6, P, I5> & M5, H<E7, P, I6, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, P, I6, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>>, BasePath, CurrentPath>;
58
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>, S, M, P, I5, BasePath>, BasePath, MergePath<BasePath, P>>;
59
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4> & M4, H<E6, P, I5> & M5, H<E7, P, I6> & M6, H<E8, P, I7, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, P, I7, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>>, BasePath, CurrentPath>;
60
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>, S, M, P, I6, BasePath>, BasePath, MergePath<BasePath, P>>;
61
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>, M7 extends H<E8, P, I7> = H<E8, P, I7>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4> & M4, H<E6, P, I5> & M5, H<E7, P, I6> & M6, H<E8, P, I7> & M7, H<E9, P, I8, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, P, I8, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>>, BasePath, CurrentPath>;
62
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>, S, M, P, I7, BasePath>, BasePath, MergePath<BasePath, P>>;
63
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>, M7 extends H<E8, P, I7> = H<E8, P, I7>, M8 extends H<E9, P, I8> = H<E9, P, I8>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4> & M4, H<E6, P, I5> & M5, H<E7, P, I6> & M6, H<E8, P, I7> & M7, H<E9, P, I8> & M8, H<E10, P, I9, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, P, I9, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>>, BasePath, CurrentPath>;
64
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>, S, M, P, I8, BasePath>, BasePath, MergePath<BasePath, P>>;
65
+ <P extends string = CurrentPath, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, P, I> = H<E2, P, I>, M2 extends H<E3, P, I2> = H<E3, P, I2>, M3 extends H<E4, P, I3> = H<E4, P, I3>, M4 extends H<E5, P, I4> = H<E5, P, I4>, M5 extends H<E6, P, I5> = H<E6, P, I5>, M6 extends H<E7, P, I6> = H<E7, P, I6>, M7 extends H<E8, P, I7> = H<E8, P, I7>, M8 extends H<E9, P, I8> = H<E9, P, I8>, M9 extends H<E10, P, I9> = H<E10, P, I9>>(...handlers: [H<E2, P, I> & M1, H<E3, P, I2> & M2, H<E4, P, I3> & M3, H<E5, P, I4> & M4, H<E6, P, I5> & M5, H<E7, P, I6> & M6, H<E8, P, I7> & M7, H<E9, P, I8> & M8, H<E10, P, I9> & M9, H<E11, P, I10, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, P, I10, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>>, BasePath, CurrentPath>;
66
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8> & M8, H<E10, MergedPath, I9, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>, S, M, P, I9, BasePath>, BasePath, MergePath<BasePath, P>>;
67
+ <P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>, M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>>(path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8> & M8, H<E10, MergedPath, I9> & M9, H<E11, MergedPath, I10, R>]): Hono<E, AddSchemaIfHasResponse<MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>, S, M, P, I10, BasePath>, BasePath, MergePath<BasePath, P>>;
68
+ <P extends string = CurrentPath, I extends Input = BlankInput, R extends HandlerResponse<any> = any>(...handlers: H<E, P, I, R>[]): Hono<E, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath, CurrentPath>;
69
+ <P extends string, I extends Input = BlankInput, R extends HandlerResponse<any> = any>(path: P, ...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
70
+ <P extends string, R extends HandlerResponse<any> = any, I extends Input = BlankInput>(path: P): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
182
71
  }
183
72
  export interface MiddlewareHandlerInterface<E extends Env = Env, S extends Schema = BlankSchema, BasePath extends string = '/'> {
184
- <E2 extends Env = E>(...handlers: MiddlewareHandler<E2, MergePath<BasePath, '*'>>[]): HonoBase<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergePath<BasePath, '*'>>;
185
- <E2 extends Env = E>(handler: MiddlewareHandler<E2, MergePath<BasePath, '*'>>): HonoBase<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergePath<BasePath, '*'>>;
186
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath, P>;
187
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E>(path: P, handler: MiddlewareHandler<E2, MergedPath, any, any>): HonoBase<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergedPath>;
188
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
189
- MiddlewareHandler<E2, P, any, any>,
190
- MiddlewareHandler<E3, P, any, any>,
191
- MiddlewareHandler<E4, P, any, any>
192
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath, P>;
193
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath, MergedPath>;
194
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
195
- MiddlewareHandler<E2, P>,
196
- MiddlewareHandler<E3, P>,
197
- MiddlewareHandler<E4, P>,
198
- MiddlewareHandler<E5, P>
199
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath, P>;
200
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath, MergedPath>;
201
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
202
- MiddlewareHandler<E2, P>,
203
- MiddlewareHandler<E3, P>,
204
- MiddlewareHandler<E4, P>,
205
- MiddlewareHandler<E5, P>,
206
- MiddlewareHandler<E6, P>
207
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath, P>;
208
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>>(path: P, ...handlers: [
209
- MiddlewareHandler<E2, P>,
210
- MiddlewareHandler<E3, P>,
211
- MiddlewareHandler<E4, P>,
212
- MiddlewareHandler<E5, P>
213
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath, MergedPath>;
214
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
215
- MiddlewareHandler<E2, P>,
216
- MiddlewareHandler<E3, P>,
217
- MiddlewareHandler<E4, P>,
218
- MiddlewareHandler<E5, P>,
219
- MiddlewareHandler<E6, P>,
220
- MiddlewareHandler<E7, P>
221
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath, P>;
222
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>>(path: P, ...handlers: [
223
- MiddlewareHandler<E2, P>,
224
- MiddlewareHandler<E3, P>,
225
- MiddlewareHandler<E4, P>,
226
- MiddlewareHandler<E5, P>,
227
- MiddlewareHandler<E6, P>
228
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath, MergedPath>;
229
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
230
- MiddlewareHandler<E2, P>,
231
- MiddlewareHandler<E3, P>,
232
- MiddlewareHandler<E4, P>,
233
- MiddlewareHandler<E5, P>,
234
- MiddlewareHandler<E6, P>,
235
- MiddlewareHandler<E7, P>,
236
- MiddlewareHandler<E8, P>
237
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath, P>;
238
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>>(path: P, ...handlers: [
239
- MiddlewareHandler<E2, P>,
240
- MiddlewareHandler<E3, P>,
241
- MiddlewareHandler<E4, P>,
242
- MiddlewareHandler<E5, P>,
243
- MiddlewareHandler<E6, P>,
244
- MiddlewareHandler<E7, P>
245
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath, MergedPath>;
246
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
247
- MiddlewareHandler<E2, P>,
248
- MiddlewareHandler<E3, P>,
249
- MiddlewareHandler<E4, P>,
250
- MiddlewareHandler<E5, P>,
251
- MiddlewareHandler<E6, P>,
252
- MiddlewareHandler<E7, P>,
253
- MiddlewareHandler<E8, P>,
254
- MiddlewareHandler<E9, P>
255
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath, P>;
256
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>>(path: P, ...handlers: [
257
- MiddlewareHandler<E2, P>,
258
- MiddlewareHandler<E3, P>,
259
- MiddlewareHandler<E4, P>,
260
- MiddlewareHandler<E5, P>,
261
- MiddlewareHandler<E6, P>,
262
- MiddlewareHandler<E7, P>,
263
- MiddlewareHandler<E8, P>
264
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath, MergedPath>;
265
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
266
- MiddlewareHandler<E2, P>,
267
- MiddlewareHandler<E3, P>,
268
- MiddlewareHandler<E4, P>,
269
- MiddlewareHandler<E5, P>,
270
- MiddlewareHandler<E6, P>,
271
- MiddlewareHandler<E7, P>,
272
- MiddlewareHandler<E8, P>,
273
- MiddlewareHandler<E9, P>,
274
- MiddlewareHandler<E10, P>
275
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S, BasePath, P>;
276
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>>(path: P, ...handlers: [
277
- MiddlewareHandler<E2, P>,
278
- MiddlewareHandler<E3, P>,
279
- MiddlewareHandler<E4, P>,
280
- MiddlewareHandler<E5, P>,
281
- MiddlewareHandler<E6, P>,
282
- MiddlewareHandler<E7, P>,
283
- MiddlewareHandler<E8, P>,
284
- MiddlewareHandler<E9, P>
285
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath, MergedPath>;
286
- <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [
287
- MiddlewareHandler<E2, P>,
288
- MiddlewareHandler<E3, P>,
289
- MiddlewareHandler<E4, P>,
290
- MiddlewareHandler<E5, P>,
291
- MiddlewareHandler<E6, P>,
292
- MiddlewareHandler<E7, P>,
293
- MiddlewareHandler<E8, P>,
294
- MiddlewareHandler<E9, P>,
295
- MiddlewareHandler<E10, P>,
296
- MiddlewareHandler<E11, P>
297
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S, BasePath, P>;
298
- <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>>(path: P, ...handlers: [
299
- MiddlewareHandler<E2, P>,
300
- MiddlewareHandler<E3, P>,
301
- MiddlewareHandler<E4, P>,
302
- MiddlewareHandler<E5, P>,
303
- MiddlewareHandler<E6, P>,
304
- MiddlewareHandler<E7, P>,
305
- MiddlewareHandler<E8, P>,
306
- MiddlewareHandler<E9, P>,
307
- MiddlewareHandler<E10, P>
308
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S, BasePath, MergedPath>;
309
- <P extends string, E2 extends Env = E>(path: P, ...handlers: MiddlewareHandler<E2, MergePath<BasePath, P>>[]): HonoBase<E, S, BasePath, MergePath<BasePath, P>>;
73
+ <E2 extends Env = E>(...handlers: MiddlewareHandler<E2, MergePath<BasePath, '*'>>[]): Hono<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergePath<BasePath, '*'>>;
74
+ <E2 extends Env = E>(handler: MiddlewareHandler<E2, MergePath<BasePath, '*'>>): Hono<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergePath<BasePath, '*'>>;
75
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath, P>;
76
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E>(path: P, handler: MiddlewareHandler<E2, MergedPath, any, any>): Hono<IntersectNonAnyTypes<[E, E2]>, S, BasePath, MergedPath>;
77
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P, any, any>, MiddlewareHandler<E3, P, any, any>, MiddlewareHandler<E4, P, any, any>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath, P>;
78
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath, MergedPath>;
79
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath, P>;
80
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath, MergedPath>;
81
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath, P>;
82
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath, MergedPath>;
83
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath, P>;
84
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath, MergedPath>;
85
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>, MiddlewareHandler<E8, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath, P>;
86
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath, MergedPath>;
87
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>, MiddlewareHandler<E8, P>, MiddlewareHandler<E9, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath, P>;
88
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>, MiddlewareHandler<E8, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath, MergedPath>;
89
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>, MiddlewareHandler<E8, P>, MiddlewareHandler<E9, P>, MiddlewareHandler<E10, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S, BasePath, P>;
90
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>, MiddlewareHandler<E8, P>, MiddlewareHandler<E9, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath, MergedPath>;
91
+ <E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, P extends string = MergePath<BasePath, '*'>>(...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>, MiddlewareHandler<E8, P>, MiddlewareHandler<E9, P>, MiddlewareHandler<E10, P>, MiddlewareHandler<E11, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S, BasePath, P>;
92
+ <P extends string, MergedPath extends MergePath<BasePath, P>, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>>(path: P, ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>, MiddlewareHandler<E5, P>, MiddlewareHandler<E6, P>, MiddlewareHandler<E7, P>, MiddlewareHandler<E8, P>, MiddlewareHandler<E9, P>, MiddlewareHandler<E10, P>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S, BasePath, MergedPath>;
93
+ <P extends string, E2 extends Env = E>(path: P, ...handlers: MiddlewareHandler<E2, MergePath<BasePath, P>>[]): Hono<E, S, BasePath, MergePath<BasePath, P>>;
310
94
  }
311
95
  export interface OnHandlerInterface<E extends Env = Env, S extends Schema = BlankSchema, BasePath extends string = '/'> {
312
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(method: M, path: P, handler: H<E2, MergedPath, I, R>): HonoBase<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
313
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>, BasePath, MergePath<BasePath, P>>;
314
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, MergePath<BasePath, P>, I3, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>>, BasePath, MergePath<BasePath, P>>;
315
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>>(method: M, path: P, ...handlers: [
316
- H<E2, MergedPath, I> & M1,
317
- H<E3, MergedPath, I2> & M2,
318
- H<E4, MergedPath, I3> & M3,
319
- H<E5, MergedPath, I4, R>
320
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>>, BasePath, MergePath<BasePath, P>>;
321
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>>(method: M, path: P, ...handlers: [
322
- H<E2, MergedPath, I> & M1,
323
- H<E3, MergedPath, I2> & M2,
324
- H<E4, MergedPath, I3> & M3,
325
- H<E5, MergedPath, I4> & M4,
326
- H<E6, MergedPath, I5, R>
327
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>>, BasePath, MergePath<BasePath, P>>;
328
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>>(method: M, path: P, ...handlers: [
329
- H<E2, MergedPath, I> & M1,
330
- H<E3, MergedPath, I2> & M2,
331
- H<E4, MergedPath, I3> & M3,
332
- H<E5, MergedPath, I4> & M4,
333
- H<E6, MergedPath, I5> & M5,
334
- H<E7, MergedPath, I6, R>
335
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>>, BasePath, MergePath<BasePath, P>>;
336
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>>(method: M, path: P, ...handlers: [
337
- H<E2, MergedPath, I> & M1,
338
- H<E3, MergedPath, I2> & M2,
339
- H<E4, MergedPath, I3> & M3,
340
- H<E5, MergedPath, I4> & M4,
341
- H<E6, MergedPath, I5> & M5,
342
- H<E7, MergedPath, I6> & M6,
343
- H<E8, MergedPath, I7, R>
344
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>>, BasePath, MergePath<BasePath, P>>;
345
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>>(method: M, path: P, ...handlers: [
346
- H<E2, MergedPath, I> & M1,
347
- H<E3, MergedPath, I2> & M2,
348
- H<E4, MergedPath, I3> & M3,
349
- H<E5, MergedPath, I4> & M4,
350
- H<E6, MergedPath, I5> & M5,
351
- H<E7, MergedPath, I6> & M6,
352
- H<E8, MergedPath, I7> & M7,
353
- H<E9, MergedPath, I8, R>
354
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>>, BasePath, MergePath<BasePath, P>>;
355
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>>(method: M, path: P, ...handlers: [
356
- H<E2, MergedPath, I> & M1,
357
- H<E3, MergedPath, I2> & M2,
358
- H<E4, MergedPath, I3> & M3,
359
- H<E5, MergedPath, I4> & M4,
360
- H<E6, MergedPath, I5> & M5,
361
- H<E7, MergedPath, I6> & M6,
362
- H<E8, MergedPath, I7> & M7,
363
- H<E9, MergedPath, I8> & M8,
364
- H<E10, MergedPath, I9, R>
365
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>>, BasePath, MergePath<BasePath, P>>;
366
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>, M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>>(method: M, path: P, ...handlers: [
367
- H<E2, MergedPath, I> & M1,
368
- H<E3, MergedPath, I2> & M2,
369
- H<E4, MergedPath, I3> & M3,
370
- H<E5, MergedPath, I4> & M4,
371
- H<E6, MergedPath, I5> & M5,
372
- H<E7, MergedPath, I6> & M6,
373
- H<E8, MergedPath, I7> & M7,
374
- H<E9, MergedPath, I8> & M8,
375
- H<E10, MergedPath, I9> & M9,
376
- H<E11, MergedPath, I10, R>
377
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, MergePath<BasePath, P>, I10, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>>, BasePath, MergePath<BasePath, P>>;
378
- <M extends string, P extends string, R extends HandlerResponse<any> = any, I extends Input = BlankInput>(method: M, path: P, ...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]): HonoBase<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
379
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(methods: M[], path: P, handler: H<E2, MergedPath, I, R>): HonoBase<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
380
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>, BasePath, MergePath<BasePath, P>>;
381
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, MergePath<BasePath, P>, I3, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>>, BasePath, MergePath<BasePath, P>>;
382
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>>(methods: M[], path: P, ...handlers: [
383
- H<E2, MergedPath, I> & M1,
384
- H<E3, MergedPath, I2> & M2,
385
- H<E4, MergedPath, I3> & M3,
386
- H<E5, MergedPath, I4, R>
387
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>>, BasePath, MergePath<BasePath, P>>;
388
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>>(methods: M[], path: P, ...handlers: [
389
- H<E2, MergedPath, I> & M1,
390
- H<E3, MergedPath, I2> & M2,
391
- H<E4, MergedPath, I3> & M3,
392
- H<E5, MergedPath, I4> & M4,
393
- H<E6, MergedPath, I5, R>
394
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>>, BasePath, MergePath<BasePath, P>>;
395
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>>(methods: M[], path: P, ...handlers: [
396
- H<E2, MergedPath, I> & M1,
397
- H<E3, MergedPath, I2> & M2,
398
- H<E4, MergedPath, I3> & M3,
399
- H<E5, MergedPath, I4> & M4,
400
- H<E6, MergedPath, I5> & M5,
401
- H<E7, MergedPath, I6, R>
402
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>>, BasePath, MergePath<BasePath, P>>;
403
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>>(methods: M[], path: P, ...handlers: [
404
- H<E2, MergedPath, I> & M1,
405
- H<E3, MergedPath, I2> & M2,
406
- H<E4, MergedPath, I3> & M3,
407
- H<E5, MergedPath, I4> & M4,
408
- H<E6, MergedPath, I5> & M5,
409
- H<E7, MergedPath, I6> & M6,
410
- H<E8, MergedPath, I7, R>
411
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>>, BasePath, MergePath<BasePath, P>>;
412
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>>(methods: M[], path: P, ...handlers: [
413
- H<E2, MergedPath, I> & M1,
414
- H<E3, MergedPath, I2> & M2,
415
- H<E4, MergedPath, I3> & M3,
416
- H<E5, MergedPath, I4> & M4,
417
- H<E6, MergedPath, I5> & M5,
418
- H<E7, MergedPath, I6> & M6,
419
- H<E8, MergedPath, I7> & M7,
420
- H<E9, MergedPath, I8, R>
421
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>>, BasePath, MergePath<BasePath, P>>;
422
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>>(methods: M[], path: P, ...handlers: [
423
- H<E2, MergedPath, I> & M1,
424
- H<E3, MergedPath, I2> & M2,
425
- H<E4, MergedPath, I3> & M3,
426
- H<E5, MergedPath, I4> & M4,
427
- H<E6, MergedPath, I5> & M5,
428
- H<E7, MergedPath, I6> & M6,
429
- H<E8, MergedPath, I7> & M7,
430
- H<E9, MergedPath, I8> & M8,
431
- H<E10, MergedPath, I9, R>
432
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>>, BasePath, MergePath<BasePath, P>>;
433
- <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>, M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>>(methods: M[], path: P, ...handlers: [
434
- H<E2, MergedPath, I> & M1,
435
- H<E3, MergedPath, I2> & M2,
436
- H<E4, MergedPath, I3> & M3,
437
- H<E5, MergedPath, I4> & M4,
438
- H<E6, MergedPath, I5> & M5,
439
- H<E7, MergedPath, I6> & M6,
440
- H<E8, MergedPath, I7> & M7,
441
- H<E9, MergedPath, I8> & M8,
442
- H<E10, MergedPath, I9> & M9,
443
- H<E11, MergedPath, I10, R>
444
- ]): HonoBase<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, MergePath<BasePath, P>, I10, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>>, BasePath, MergePath<BasePath, P>>;
445
- <M extends string, P extends string, R extends HandlerResponse<any> = any, I extends Input = BlankInput>(methods: M[], path: P, ...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]): HonoBase<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
446
- <M extends string, const Ps extends string[], I extends Input = BlankInput, R extends HandlerResponse<any> = any, E2 extends Env = E>(methods: M | M[], paths: Ps, ...handlers: H<E2, MergePath<BasePath, Ps[number]>, I, R>[]): HonoBase<E, S & ToSchema<M, MergePath<BasePath, Ps[number]>, I, MergeTypedResponse<R>>, BasePath, Ps extends [...string[], infer LastPath extends string] ? MergePath<BasePath, LastPath> : never>;
96
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(method: M, path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
97
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>, BasePath, MergePath<BasePath, P>>;
98
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, MergePath<BasePath, P>, I3, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>>, BasePath, MergePath<BasePath, P>>;
99
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>>, BasePath, MergePath<BasePath, P>>;
100
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>>, BasePath, MergePath<BasePath, P>>;
101
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>>, BasePath, MergePath<BasePath, P>>;
102
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>>, BasePath, MergePath<BasePath, P>>;
103
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>>, BasePath, MergePath<BasePath, P>>;
104
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8> & M8, H<E10, MergedPath, I9, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>>, BasePath, MergePath<BasePath, P>>;
105
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>, M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>>(method: M, path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8> & M8, H<E10, MergedPath, I9> & M9, H<E11, MergedPath, I10, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, MergePath<BasePath, P>, I10, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>>, BasePath, MergePath<BasePath, P>>;
106
+ <M extends string, P extends string, R extends HandlerResponse<any> = any, I extends Input = BlankInput>(method: M, path: P, ...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
107
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, E2 extends Env = E>(methods: M[], path: P, handler: H<E2, MergedPath, I, R>): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
108
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S & ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>, BasePath, MergePath<BasePath, P>>;
109
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S & ToSchema<M, MergePath<BasePath, P>, I3, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>>, BasePath, MergePath<BasePath, P>>;
110
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3>>, BasePath, MergePath<BasePath, P>>;
111
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4>>, BasePath, MergePath<BasePath, P>>;
112
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5>>, BasePath, MergePath<BasePath, P>>;
113
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6>>, BasePath, MergePath<BasePath, P>>;
114
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7>>, BasePath, MergePath<BasePath, P>>;
115
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8> & M8, H<E10, MergedPath, I9, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8>>, BasePath, MergePath<BasePath, P>>;
116
+ <M extends string, P extends string, MergedPath extends MergePath<BasePath, P>, R extends HandlerResponse<any> = any, I extends Input = BlankInput, I2 extends Input = I, I3 extends Input = I & I2, I4 extends Input = I & I2 & I3, I5 extends Input = I & I2 & I3 & I4, I6 extends Input = I & I2 & I3 & I4 & I5, I7 extends Input = I & I2 & I3 & I4 & I5 & I6, I8 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7, I9 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8, I10 extends Input = I & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[E, E2]>, E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>, E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>, E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>, M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>, M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>, M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>, M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>, M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>, M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>, M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>, M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>>(methods: M[], path: P, ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3> & M3, H<E5, MergedPath, I4> & M4, H<E6, MergedPath, I5> & M5, H<E7, MergedPath, I6> & M6, H<E8, MergedPath, I7> & M7, H<E9, MergedPath, I8> & M8, H<E10, MergedPath, I9> & M9, H<E11, MergedPath, I10, R>]): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S & ToSchema<M, MergePath<BasePath, P>, I10, MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2> | MergeMiddlewareResponse<M3> | MergeMiddlewareResponse<M4> | MergeMiddlewareResponse<M5> | MergeMiddlewareResponse<M6> | MergeMiddlewareResponse<M7> | MergeMiddlewareResponse<M8> | MergeMiddlewareResponse<M9>>, BasePath, MergePath<BasePath, P>>;
117
+ <M extends string, P extends string, R extends HandlerResponse<any> = any, I extends Input = BlankInput>(methods: M[], path: P, ...handlers: [H<E, MergePath<BasePath, P>, I, R>, ...H<E, MergePath<BasePath, P>, I, R>[]]): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I, MergeTypedResponse<R>>, BasePath, MergePath<BasePath, P>>;
118
+ <M extends string, const Ps extends string[], I extends Input = BlankInput, R extends HandlerResponse<any> = any, E2 extends Env = E>(methods: M | M[], paths: Ps, ...handlers: H<E2, MergePath<BasePath, Ps[number]>, I, R>[]): Hono<E, S & ToSchema<M, MergePath<BasePath, Ps[number]>, I, MergeTypedResponse<R>>, BasePath, Ps extends [...string[], infer LastPath extends string] ? MergePath<BasePath, LastPath> : never>;
447
119
  }
448
120
  type ToSchemaOutput<RorO, I extends Input | Input['in']> = RorO extends TypedResponse<infer T, infer U, infer F> ? {
449
- output: unknown extends T ? {} : T;
450
- outputFormat: I extends {
451
- outputFormat: string;
452
- } ? I['outputFormat'] : F;
453
- status: U;
121
+ output: unknown extends T ? {} : T;
122
+ outputFormat: I extends {
123
+ outputFormat: string;
124
+ } ? I['outputFormat'] : F;
125
+ status: U;
454
126
  } : {
455
- output: unknown extends RorO ? {} : RorO;
456
- outputFormat: unknown extends RorO ? 'json' : I extends {
457
- outputFormat: string;
458
- } ? I['outputFormat'] : 'json';
459
- status: StatusCode;
460
- };
461
- export type ToSchema<M extends string, P extends string, I extends Input | Input['in'], RorO> = IsAny<RorO> extends true ? {
462
- [K in P]: {
463
- [K2 in M as AddDollar<K2>]: {
464
- input: AddParam<ExtractInput<I>, P>;
465
- output: {};
466
- outputFormat: ResponseFormat;
467
- status: StatusCode;
468
- };
469
- };
470
- } : [RorO] extends [never] ? {} : [RorO] extends [Promise<void>] ? {} : {
471
- [K in P]: {
472
- [K2 in M as AddDollar<K2>]: Simplify<{
473
- input: AddParam<ExtractInput<I>, P>;
474
- } & ToSchemaOutput<RorO, I>>;
475
- };
127
+ output: unknown extends RorO ? {} : RorO;
128
+ outputFormat: unknown extends RorO ? 'json' : I extends {
129
+ outputFormat: string;
130
+ } ? I['outputFormat'] : 'json';
131
+ status: StatusCode;
476
132
  };
133
+ export type ToSchema<M extends string, P extends string, I extends Input | Input['in'], RorO> = IsAny<RorO> extends true ? { [K in P]: { [K2 in M as AddDollar<K2>]: {
134
+ input: AddParam<ExtractInput<I>, P>;
135
+ output: {};
136
+ outputFormat: ResponseFormat;
137
+ status: StatusCode;
138
+ }; }; } : [RorO] extends [never] ? {} : [RorO] extends [Promise<void>] ? {} : { [K in P]: { [K2 in M as AddDollar<K2>]: Simplify<{
139
+ input: AddParam<ExtractInput<I>, P>;
140
+ } & ToSchemaOutput<RorO, I>>; }; };
477
141
  export type Schema = {
478
- [Path: string]: {
479
- [Method: `$${Lowercase<string>}`]: Endpoint;
480
- };
142
+ [Path: string]: {
143
+ [Method: `$${Lowercase<string>}`]: Endpoint;
144
+ };
481
145
  };
482
146
  type AddSchemaIfHasResponse<Merged, S extends Schema, M extends string, P extends string, I extends Input | Input['in'], BasePath extends string> = [Merged] extends [Promise<void>] ? S : S & ToSchema<M, MergePath<BasePath, P>, I, Merged>;
483
147
  export type Endpoint = {
484
- input: any;
485
- output: any;
486
- outputFormat: ResponseFormat;
487
- status: StatusCode;
488
- };
489
- type ExtractParams<Path extends string> = string extends Path ? Record<string, string> : Path extends `${infer _Start}:${infer Param}/${infer Rest}` ? {
490
- [K in Param | keyof ExtractParams<`/${Rest}`>]: string;
491
- } : Path extends `${infer _Start}:${infer Param}` ? {
492
- [K in Param]: string;
493
- } : never;
494
- type FlattenIfIntersect<T> = T extends infer O ? {
495
- [K in keyof O]: O[K];
496
- } : never;
497
- export type MergeSchemaPath<OrigSchema extends Schema, SubPath extends string> = {
498
- [P in keyof OrigSchema as MergePath<SubPath, P & string>]: [OrigSchema[P]] extends [
499
- Record<string, Endpoint>
500
- ] ? {
501
- [M in keyof OrigSchema[P]]: MergeEndpointParamsWithPath<OrigSchema[P][M], SubPath>;
502
- } : never;
148
+ input: any;
149
+ output: any;
150
+ outputFormat: ResponseFormat;
151
+ status: StatusCode;
503
152
  };
153
+ type ExtractParams<Path extends string> = string extends Path ? Record<string, string> : Path extends `${infer _Start}:${infer Param}/${infer Rest}` ? { [K in Param | keyof ExtractParams<`/${Rest}`>]: string; } : Path extends `${infer _Start}:${infer Param}` ? { [K in Param]: string; } : never;
154
+ type FlattenIfIntersect<T> = T extends (infer O) ? { [K in keyof O]: O[K]; } : never;
155
+ export type MergeSchemaPath<OrigSchema extends Schema, SubPath extends string> = { [P in keyof OrigSchema as MergePath<SubPath, P & string>]: [OrigSchema[P]] extends [Record<string, Endpoint>] ? { [M in keyof OrigSchema[P]]: MergeEndpointParamsWithPath<OrigSchema[P][M], SubPath>; } : never; };
504
156
  type MergeEndpointParamsWithPath<T extends Endpoint, SubPath extends string> = T extends unknown ? {
505
- input: T['input'] extends {
506
- param: infer _;
507
- } ? ExtractParams<SubPath> extends never ? T['input'] : FlattenIfIntersect<T['input'] & {
508
- param: {
509
- [K in keyof ExtractParams<SubPath> as K extends `${infer Prefix}{${infer _}}` ? Prefix : K]: string;
510
- };
511
- }> : RemoveBlankRecord<ExtractParams<SubPath>> extends never ? T['input'] : T['input'] & {
512
- param: {
513
- [K in keyof ExtractParams<SubPath> as K extends `${infer Prefix}{${infer _}}` ? Prefix : K]: string;
514
- };
515
- };
516
- output: T['output'];
517
- outputFormat: T['outputFormat'];
518
- status: T['status'];
157
+ input: T['input'] extends {
158
+ param: infer _;
159
+ } ? ExtractParams<SubPath> extends never ? T['input'] : FlattenIfIntersect<T['input'] & {
160
+ param: { [K in keyof ExtractParams<SubPath> as K extends `${infer Prefix}{${infer _}}` ? Prefix : K]: string; };
161
+ }> : RemoveBlankRecord<ExtractParams<SubPath>> extends never ? T['input'] : T['input'] & {
162
+ param: { [K in keyof ExtractParams<SubPath> as K extends `${infer Prefix}{${infer _}}` ? Prefix : K]: string; };
163
+ };
164
+ output: T['output'];
165
+ outputFormat: T['outputFormat'];
166
+ status: T['status'];
519
167
  } : never;
520
168
  export type AddParam<I, P extends string> = ParamKeys<P> extends never ? I : I extends {
521
- param: infer _;
169
+ param: infer _;
522
170
  } ? I : I & {
523
- param: UnionToIntersection<ParamKeyToRecord<ParamKeys<P>>>;
171
+ param: UnionToIntersection<ParamKeyToRecord<ParamKeys<P>>>;
524
172
  };
525
173
  type AddDollar<T extends string> = `$${Lowercase<T>}`;
526
174
  export type MergePath<A extends string, B extends string> = B extends '' ? MergePath<A, '/'> : A extends '' ? B : A extends '/' ? B : A extends `${infer P}/` ? B extends `/${infer Q}` ? `${P}/${Q}` : `${P}/${B}` : B extends `/${infer Q}` ? Q extends '' ? A : `${A}/${Q}` : `${A}/${B}`;
527
175
  export type KnownResponseFormat = 'json' | 'text' | 'redirect';
528
176
  export type ResponseFormat = KnownResponseFormat | string;
529
177
  export type TypedResponse<T = unknown, U extends StatusCode = StatusCode, F extends ResponseFormat = T extends string ? 'text' : T extends JSONValue ? 'json' : ResponseFormat> = {
530
- _data: T;
531
- _status: U;
532
- _format: F;
178
+ _data: T;
179
+ _status: U;
180
+ _format: F;
533
181
  };
534
182
  type MergeTypedResponse<T> = T extends Promise<void> ? T : T extends Promise<infer T2> ? T2 extends TypedResponse ? T2 : TypedResponse : T extends TypedResponse ? T : TypedResponse;
535
183
  type ExtractTypedResponseOnly<T> = T extends TypedResponse ? T : never;
536
- type MergeMiddlewareResponse<T> = T extends (c: any, next: any) => Promise<infer R> ? Exclude<R, void> extends never ? never : Exclude<R, void> extends Response | TypedResponse<any, any, any> ? ExtractTypedResponseOnly<Exclude<R, void>> : never : T extends (c: any, next: any) => infer R ? R extends Response | TypedResponse<any, any, any> ? ExtractTypedResponseOnly<R> : never : never;
184
+ type MergeMiddlewareResponse<T> = T extends ((c: any, next: any) => Promise<infer R>) ? Exclude<R, void> extends never ? never : Exclude<R, void> extends Response | TypedResponse<any, any, any> ? ExtractTypedResponseOnly<Exclude<R, void>> : never : T extends ((c: any, next: any) => infer R) ? R extends Response | TypedResponse<any, any, any> ? ExtractTypedResponseOnly<R> : never : never;
537
185
  export type FormValue = string | Blob;
538
186
  export type ParsedFormValue = string | File;
539
187
  export type ValidationTargets<T extends FormValue = ParsedFormValue, P extends string = string> = {
540
- json: any;
541
- form: Record<string, T | T[]>;
542
- query: Record<string, string | string[]>;
543
- param: Record<P, P extends `${infer _}?` ? string | undefined : string>;
544
- header: Record<RequestHeader | CustomHeader, string>;
545
- cookie: Record<string, string>;
188
+ json: any;
189
+ form: Record<string, T | T[]>;
190
+ query: Record<string, string | string[]>;
191
+ param: Record<P, P extends `${infer _}?` ? string | undefined : string>;
192
+ header: Record<RequestHeader | CustomHeader, string>;
193
+ cookie: Record<string, string>;
546
194
  };
547
195
  type ParamKey<Component> = Component extends `:${infer NameWithPattern}` ? NameWithPattern extends `${infer Name}{${infer Rest}` ? Rest extends `${infer _Pattern}?` ? `${Name}?` : Name : NameWithPattern : never;
548
196
  export type ParamKeys<Path> = Path extends `${infer Component}/${infer Rest}` ? ParamKey<Component> | ParamKeys<Rest> : ParamKey<Path>;
549
- export type ParamKeyToRecord<T extends string> = T extends `${infer R}?` ? Record<R, string | undefined> : {
550
- [K in T]: string;
551
- };
552
- export type InputToDataByTarget<T extends Input['out'], Target extends keyof ValidationTargets> = T extends {
553
- [K in Target]: infer R;
554
- } ? R : never;
197
+ export type ParamKeyToRecord<T extends string> = T extends `${infer R}?` ? Record<R, string | undefined> : { [K in T]: string; };
198
+ export type InputToDataByTarget<T extends Input['out'], Target extends keyof ValidationTargets> = T extends { [K in Target]: infer R; } ? R : never;
555
199
  export type RemoveQuestion<T> = T extends `${infer R}?` ? R : T;
556
- export type ExtractSchema<T> = UnionToIntersection<T extends HonoBase<infer _, infer S, any, any> ? S : never>;
557
- export type ExtractSchemaForStatusCode<T, Status extends number> = {
558
- [Path in keyof ExtractSchema<T>]: {
559
- [Method in keyof ExtractSchema<T>[Path]]: Extract<ExtractSchema<T>[Path][Method], {
560
- status: Status;
561
- }>;
562
- };
563
- };
564
- export type ExtractHandlerResponse<T> = T extends (c: any, next: any) => Promise<infer R> ? Exclude<R, void> extends never ? never : Exclude<R, void> extends Response | TypedResponse<any, any, any> ? Exclude<R, void> : never : T extends (c: any, next: any) => infer R ? R extends Response | TypedResponse<any, any, any> ? R : never : never;
200
+ export type ExtractSchema<T> = UnionToIntersection<T extends Hono<infer _, infer S, any, any> ? S : never>;
201
+ export type ExtractSchemaForStatusCode<T, Status extends number> = { [Path in keyof ExtractSchema<T>]: { [Method in keyof ExtractSchema<T>[Path]]: Extract<ExtractSchema<T>[Path][Method], {
202
+ status: Status;
203
+ }>; }; };
204
+ export type ExtractHandlerResponse<T> = T extends ((c: any, next: any) => Promise<infer R>) ? Exclude<R, void> extends never ? never : Exclude<R, void> extends Response | TypedResponse<any, any, any> ? Exclude<R, void> : never : T extends ((c: any, next: any) => infer R) ? R extends Response | TypedResponse<any, any, any> ? R : never : never;
565
205
  type ProcessHead<T> = IfAnyThenEmptyObject<T extends Env ? (Env extends T ? {} : T) : T>;
566
206
  export type IntersectNonAnyTypes<T extends any[]> = T extends [infer Head, ...infer Rest] ? ProcessHead<Head> & IntersectNonAnyTypes<Rest> : {};
567
207
  export declare abstract class FetchEventLike {
568
- abstract readonly request: Request;
569
- abstract respondWith(promise: Response | Promise<Response>): void;
570
- abstract passThroughOnException(): void;
571
- abstract waitUntil(promise: Promise<void>): void;
208
+ abstract readonly request: Request;
209
+ abstract respondWith(promise: Response | Promise<Response>): void;
210
+ abstract passThroughOnException(): void;
211
+ abstract waitUntil(promise: Promise<void>): void;
572
212
  }
573
- export {};
213
+ //#endregion