bluera-knowledge 0.9.31 → 0.9.34

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 (200) hide show
  1. package/.claude/commands/code-review.md +15 -0
  2. package/.claude/hooks/post-edit-check.sh +5 -3
  3. package/.claude/skills/atomic-commits/SKILL.md +3 -1
  4. package/.claude/skills/code-review-repo/skill.md +62 -0
  5. package/.husky/pre-commit +3 -2
  6. package/.prettierrc +9 -0
  7. package/.versionrc.json +1 -1
  8. package/CHANGELOG.md +35 -0
  9. package/CLAUDE.md +6 -0
  10. package/README.md +25 -13
  11. package/bun.lock +277 -33
  12. package/dist/{chunk-L2YVNC63.js → chunk-6FHWC36B.js} +9 -1
  13. package/dist/chunk-6FHWC36B.js.map +1 -0
  14. package/dist/{chunk-2SJHNRXD.js → chunk-DC7CGSGT.js} +288 -241
  15. package/dist/chunk-DC7CGSGT.js.map +1 -0
  16. package/dist/{chunk-RWSXP3PQ.js → chunk-WFNPNAAP.js} +3194 -3024
  17. package/dist/chunk-WFNPNAAP.js.map +1 -0
  18. package/dist/{chunk-OGEY66FZ.js → chunk-Z2KKVH45.js} +548 -482
  19. package/dist/chunk-Z2KKVH45.js.map +1 -0
  20. package/dist/index.js +871 -754
  21. package/dist/index.js.map +1 -1
  22. package/dist/mcp/server.js +3 -3
  23. package/dist/watch.service-BJV3TI3F.js +7 -0
  24. package/dist/workers/background-worker-cli.js +46 -45
  25. package/dist/workers/background-worker-cli.js.map +1 -1
  26. package/eslint.config.js +43 -1
  27. package/package.json +18 -11
  28. package/plugin.json +8 -0
  29. package/python/requirements.txt +1 -1
  30. package/src/analysis/ast-parser.test.ts +12 -11
  31. package/src/analysis/ast-parser.ts +28 -22
  32. package/src/analysis/code-graph.test.ts +52 -62
  33. package/src/analysis/code-graph.ts +9 -13
  34. package/src/analysis/dependency-usage-analyzer.test.ts +91 -271
  35. package/src/analysis/dependency-usage-analyzer.ts +52 -24
  36. package/src/analysis/go-ast-parser.test.ts +22 -22
  37. package/src/analysis/go-ast-parser.ts +18 -25
  38. package/src/analysis/parser-factory.test.ts +9 -9
  39. package/src/analysis/parser-factory.ts +3 -3
  40. package/src/analysis/python-ast-parser.test.ts +27 -27
  41. package/src/analysis/python-ast-parser.ts +2 -2
  42. package/src/analysis/repo-url-resolver.test.ts +82 -82
  43. package/src/analysis/rust-ast-parser.test.ts +19 -19
  44. package/src/analysis/rust-ast-parser.ts +17 -27
  45. package/src/analysis/tree-sitter-parser.test.ts +3 -3
  46. package/src/analysis/tree-sitter-parser.ts +10 -16
  47. package/src/cli/commands/crawl.test.ts +40 -24
  48. package/src/cli/commands/crawl.ts +186 -161
  49. package/src/cli/commands/index-cmd.test.ts +90 -90
  50. package/src/cli/commands/index-cmd.ts +52 -36
  51. package/src/cli/commands/mcp.test.ts +6 -6
  52. package/src/cli/commands/mcp.ts +2 -2
  53. package/src/cli/commands/plugin-api.test.ts +16 -18
  54. package/src/cli/commands/plugin-api.ts +9 -6
  55. package/src/cli/commands/search.test.ts +16 -7
  56. package/src/cli/commands/search.ts +124 -87
  57. package/src/cli/commands/serve.test.ts +67 -25
  58. package/src/cli/commands/serve.ts +18 -3
  59. package/src/cli/commands/setup.test.ts +176 -101
  60. package/src/cli/commands/setup.ts +140 -117
  61. package/src/cli/commands/store.test.ts +82 -53
  62. package/src/cli/commands/store.ts +56 -37
  63. package/src/cli/program.ts +2 -2
  64. package/src/crawl/article-converter.test.ts +4 -1
  65. package/src/crawl/article-converter.ts +46 -31
  66. package/src/crawl/bridge.test.ts +240 -132
  67. package/src/crawl/bridge.ts +87 -30
  68. package/src/crawl/claude-client.test.ts +124 -56
  69. package/src/crawl/claude-client.ts +7 -15
  70. package/src/crawl/intelligent-crawler.test.ts +65 -22
  71. package/src/crawl/intelligent-crawler.ts +86 -53
  72. package/src/crawl/markdown-utils.ts +1 -4
  73. package/src/db/embeddings.ts +4 -6
  74. package/src/db/lance.test.ts +63 -4
  75. package/src/db/lance.ts +31 -12
  76. package/src/index.ts +26 -17
  77. package/src/logging/index.ts +1 -5
  78. package/src/logging/logger.ts +3 -5
  79. package/src/logging/payload.test.ts +1 -1
  80. package/src/logging/payload.ts +3 -5
  81. package/src/mcp/commands/index.ts +2 -2
  82. package/src/mcp/commands/job.commands.ts +12 -18
  83. package/src/mcp/commands/meta.commands.ts +13 -13
  84. package/src/mcp/commands/registry.ts +5 -8
  85. package/src/mcp/commands/store.commands.ts +19 -19
  86. package/src/mcp/handlers/execute.handler.test.ts +10 -10
  87. package/src/mcp/handlers/execute.handler.ts +4 -5
  88. package/src/mcp/handlers/index.ts +10 -14
  89. package/src/mcp/handlers/job.handler.test.ts +10 -10
  90. package/src/mcp/handlers/job.handler.ts +22 -25
  91. package/src/mcp/handlers/search.handler.test.ts +36 -65
  92. package/src/mcp/handlers/search.handler.ts +135 -104
  93. package/src/mcp/handlers/store.handler.test.ts +41 -52
  94. package/src/mcp/handlers/store.handler.ts +108 -88
  95. package/src/mcp/schemas/index.test.ts +73 -68
  96. package/src/mcp/schemas/index.ts +18 -12
  97. package/src/mcp/server.test.ts +1 -1
  98. package/src/mcp/server.ts +59 -46
  99. package/src/plugin/commands.test.ts +230 -95
  100. package/src/plugin/commands.ts +24 -25
  101. package/src/plugin/dependency-analyzer.test.ts +52 -52
  102. package/src/plugin/dependency-analyzer.ts +85 -22
  103. package/src/plugin/git-clone.test.ts +24 -13
  104. package/src/plugin/git-clone.ts +3 -7
  105. package/src/server/app.test.ts +109 -109
  106. package/src/server/app.ts +32 -23
  107. package/src/server/index.test.ts +64 -66
  108. package/src/services/chunking.service.test.ts +32 -32
  109. package/src/services/chunking.service.ts +16 -9
  110. package/src/services/code-graph.service.test.ts +30 -36
  111. package/src/services/code-graph.service.ts +24 -10
  112. package/src/services/code-unit.service.test.ts +55 -11
  113. package/src/services/code-unit.service.ts +85 -11
  114. package/src/services/config.service.test.ts +37 -18
  115. package/src/services/config.service.ts +30 -7
  116. package/src/services/index.service.test.ts +49 -18
  117. package/src/services/index.service.ts +98 -48
  118. package/src/services/index.ts +8 -10
  119. package/src/services/job.service.test.ts +22 -22
  120. package/src/services/job.service.ts +18 -18
  121. package/src/services/project-root.service.test.ts +1 -3
  122. package/src/services/search.service.test.ts +248 -120
  123. package/src/services/search.service.ts +286 -156
  124. package/src/services/services.test.ts +36 -0
  125. package/src/services/snippet.service.test.ts +14 -6
  126. package/src/services/snippet.service.ts +7 -5
  127. package/src/services/store.service.test.ts +68 -29
  128. package/src/services/store.service.ts +41 -12
  129. package/src/services/watch.service.test.ts +34 -14
  130. package/src/services/watch.service.ts +11 -1
  131. package/src/types/brands.test.ts +3 -1
  132. package/src/types/index.ts +2 -13
  133. package/src/types/search.ts +10 -8
  134. package/src/utils/type-guards.test.ts +20 -15
  135. package/src/utils/type-guards.ts +1 -1
  136. package/src/workers/background-worker-cli.ts +2 -2
  137. package/src/workers/background-worker.test.ts +54 -40
  138. package/src/workers/background-worker.ts +76 -60
  139. package/src/workers/spawn-worker.test.ts +22 -10
  140. package/src/workers/spawn-worker.ts +6 -6
  141. package/tests/analysis/ast-parser.test.ts +3 -3
  142. package/tests/analysis/code-graph.test.ts +5 -5
  143. package/tests/fixtures/code-snippets/api/error-handling.ts +4 -15
  144. package/tests/fixtures/code-snippets/api/rest-controller.ts +3 -9
  145. package/tests/fixtures/code-snippets/auth/jwt-auth.ts +5 -21
  146. package/tests/fixtures/code-snippets/auth/oauth-flow.ts +4 -4
  147. package/tests/fixtures/code-snippets/database/repository-pattern.ts +11 -3
  148. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/handler.ts +2 -2
  149. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/handler.ts +1 -1
  150. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static.ts +2 -2
  151. package/tests/fixtures/corpus/oss-repos/hono/src/client/client.ts +2 -2
  152. package/tests/fixtures/corpus/oss-repos/hono/src/client/types.ts +22 -20
  153. package/tests/fixtures/corpus/oss-repos/hono/src/context.ts +13 -10
  154. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/accepts.ts +10 -7
  155. package/tests/fixtures/corpus/oss-repos/hono/src/helper/adapter/index.ts +2 -2
  156. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/index.ts +1 -1
  157. package/tests/fixtures/corpus/oss-repos/hono/src/helper/factory/index.ts +16 -16
  158. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/ssg.ts +2 -2
  159. package/tests/fixtures/corpus/oss-repos/hono/src/hono-base.ts +3 -3
  160. package/tests/fixtures/corpus/oss-repos/hono/src/hono.ts +1 -1
  161. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/css.ts +2 -2
  162. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/intrinsic-element/components.ts +1 -1
  163. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/render.ts +7 -7
  164. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/hooks/index.ts +3 -3
  165. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/components.ts +1 -1
  166. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/utils.ts +6 -6
  167. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jsx-renderer/index.ts +3 -3
  168. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/serve-static/index.ts +1 -1
  169. package/tests/fixtures/corpus/oss-repos/hono/src/preset/quick.ts +1 -1
  170. package/tests/fixtures/corpus/oss-repos/hono/src/preset/tiny.ts +1 -1
  171. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/router.ts +2 -2
  172. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/node.ts +4 -4
  173. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/router.ts +1 -1
  174. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/node.ts +1 -1
  175. package/tests/fixtures/corpus/oss-repos/hono/src/types.ts +166 -169
  176. package/tests/fixtures/corpus/oss-repos/hono/src/utils/body.ts +8 -8
  177. package/tests/fixtures/corpus/oss-repos/hono/src/utils/color.ts +3 -3
  178. package/tests/fixtures/corpus/oss-repos/hono/src/utils/cookie.ts +2 -2
  179. package/tests/fixtures/corpus/oss-repos/hono/src/utils/encode.ts +2 -2
  180. package/tests/fixtures/corpus/oss-repos/hono/src/utils/types.ts +30 -33
  181. package/tests/fixtures/corpus/oss-repos/hono/src/validator/validator.ts +2 -2
  182. package/tests/fixtures/test-server.ts +3 -2
  183. package/tests/helpers/performance-metrics.ts +8 -25
  184. package/tests/helpers/search-relevance.ts +14 -69
  185. package/tests/integration/cli-consistency.test.ts +5 -4
  186. package/tests/integration/e2e-workflow.test.ts +2 -0
  187. package/tests/integration/python-bridge.test.ts +13 -3
  188. package/tests/mcp/server.test.ts +1 -1
  189. package/tests/services/code-unit.service.test.ts +48 -0
  190. package/tests/services/job.service.test.ts +124 -0
  191. package/tests/services/search.progressive-context.test.ts +2 -2
  192. package/.claude-plugin/plugin.json +0 -13
  193. package/BUGS-FOUND.md +0 -71
  194. package/dist/chunk-2SJHNRXD.js.map +0 -1
  195. package/dist/chunk-L2YVNC63.js.map +0 -1
  196. package/dist/chunk-OGEY66FZ.js.map +0 -1
  197. package/dist/chunk-RWSXP3PQ.js.map +0 -1
  198. package/dist/watch.service-YAIKKDCF.js +0 -7
  199. package/skills/atomic-commits/SKILL.md +0 -77
  200. /package/dist/{watch.service-YAIKKDCF.js.map → watch.service-BJV3TI3F.js.map} +0 -0
@@ -73,20 +73,20 @@ export type Handler<
73
73
  E extends Env = any,
74
74
  P extends string = any,
75
75
  I extends Input = BlankInput,
76
- R extends HandlerResponse<any> = any
76
+ R extends HandlerResponse<any> = any,
77
77
  > = (c: Context<E, P, I>, next: Next) => R
78
78
 
79
79
  export type MiddlewareHandler<
80
80
  E extends Env = any,
81
81
  P extends string = string,
82
- I extends Input = {}
82
+ I extends Input = {},
83
83
  > = (c: Context<E, P, I>, next: Next) => Promise<Response | void>
84
84
 
85
85
  export type H<
86
86
  E extends Env = any,
87
87
  P extends string = any,
88
88
  I extends Input = BlankInput,
89
- R extends HandlerResponse<any> = any
89
+ R extends HandlerResponse<any> = any,
90
90
  > = Handler<E, P, I, R> | MiddlewareHandler<E, P, I>
91
91
 
92
92
  export type NotFoundHandler<E extends Env = any> = (c: Context<E>) => Response | Promise<Response>
@@ -109,14 +109,14 @@ export interface HandlerInterface<
109
109
  E extends Env = Env,
110
110
  M extends string = string,
111
111
  S extends Schema = BlankSchema,
112
- BasePath extends string = '/'
112
+ BasePath extends string = '/',
113
113
  > {
114
114
  // app.get(handler)
115
115
  <
116
116
  P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>,
117
117
  I extends Input = BlankInput,
118
118
  R extends HandlerResponse<any> = any,
119
- E2 extends Env = E
119
+ E2 extends Env = E,
120
120
  >(
121
121
  handler: H<E2, P, I, R>
122
122
  ): Hono<IntersectNonAnyTypes<[E, E2]>, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath>
@@ -128,7 +128,7 @@ export interface HandlerInterface<
128
128
  I2 extends Input = I,
129
129
  R extends HandlerResponse<any> = any,
130
130
  E2 extends Env = E,
131
- E3 extends Env = IntersectNonAnyTypes<[E, E2]>
131
+ E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
132
132
  >(
133
133
  ...handlers: [H<E2, P, I>, H<E3, P, I2, R>]
134
134
  ): Hono<
@@ -143,7 +143,7 @@ export interface HandlerInterface<
143
143
  MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>,
144
144
  R extends HandlerResponse<any> = any,
145
145
  I extends Input = BlankInput,
146
- E2 extends Env = E
146
+ E2 extends Env = E,
147
147
  >(
148
148
  path: P,
149
149
  handler: H<E2, MergedPath, I, R>
@@ -158,7 +158,7 @@ export interface HandlerInterface<
158
158
  I3 extends Input = I & I2,
159
159
  E2 extends Env = E,
160
160
  E3 extends Env = E,
161
- E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>
161
+ E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
162
162
  >(
163
163
  ...handlers: [H<E2, P, I>, H<E3, P, I2>, H<E4, P, I3, R>]
164
164
  ): Hono<
@@ -175,7 +175,7 @@ export interface HandlerInterface<
175
175
  I extends Input = BlankInput,
176
176
  I2 extends Input = I,
177
177
  E2 extends Env = E,
178
- E3 extends Env = IntersectNonAnyTypes<[E, E2]>
178
+ E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
179
179
  >(
180
180
  path: P,
181
181
  ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]
@@ -192,7 +192,7 @@ export interface HandlerInterface<
192
192
  E2 extends Env = E,
193
193
  E3 extends Env = E,
194
194
  E4 extends Env = E,
195
- E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>
195
+ E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
196
196
  >(
197
197
  ...handlers: [H<E2, P, I>, H<E3, P, I2>, H<E4, P, I3>, H<E5, P, I4, R>]
198
198
  ): Hono<
@@ -211,7 +211,7 @@ export interface HandlerInterface<
211
211
  I3 extends Input = I & I2,
212
212
  E2 extends Env = E,
213
213
  E3 extends Env = E,
214
- E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>
214
+ E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
215
215
  >(
216
216
  path: P,
217
217
  ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]
@@ -230,7 +230,7 @@ export interface HandlerInterface<
230
230
  E3 extends Env = E,
231
231
  E4 extends Env = E,
232
232
  E5 extends Env = E,
233
- E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>
233
+ E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
234
234
  >(
235
235
  ...handlers: [H<E2, P, I>, H<E3, P, I2>, H<E4, P, I3>, H<E5, P, I4>, H<E6, P, I5, R>]
236
236
  ): Hono<
@@ -251,14 +251,14 @@ export interface HandlerInterface<
251
251
  E2 extends Env = E,
252
252
  E3 extends Env = E,
253
253
  E4 extends Env = E,
254
- E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>
254
+ E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
255
255
  >(
256
256
  path: P,
257
257
  ...handlers: [
258
258
  H<E2, MergedPath, I>,
259
259
  H<E3, MergedPath, I2>,
260
260
  H<E4, MergedPath, I3>,
261
- H<E5, MergedPath, I4, R>
261
+ H<E5, MergedPath, I4, R>,
262
262
  ]
263
263
  ): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R>>, BasePath>
264
264
 
@@ -277,7 +277,7 @@ export interface HandlerInterface<
277
277
  E4 extends Env = E,
278
278
  E5 extends Env = E,
279
279
  E6 extends Env = E,
280
- E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>
280
+ E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
281
281
  >(
282
282
  ...handlers: [
283
283
  H<E2, P, I>,
@@ -285,7 +285,7 @@ export interface HandlerInterface<
285
285
  H<E4, P, I3>,
286
286
  H<E5, P, I4>,
287
287
  H<E6, P, I5>,
288
- H<E7, P, I6, R>
288
+ H<E7, P, I6, R>,
289
289
  ]
290
290
  ): Hono<
291
291
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
@@ -307,7 +307,7 @@ export interface HandlerInterface<
307
307
  E3 extends Env = E,
308
308
  E4 extends Env = E,
309
309
  E5 extends Env = E,
310
- E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>
310
+ E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
311
311
  >(
312
312
  path: P,
313
313
  ...handlers: [
@@ -315,7 +315,7 @@ export interface HandlerInterface<
315
315
  H<E3, MergedPath, I2>,
316
316
  H<E4, MergedPath, I3>,
317
317
  H<E5, MergedPath, I4>,
318
- H<E6, MergedPath, I5, R>
318
+ H<E6, MergedPath, I5, R>,
319
319
  ]
320
320
  ): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R>>, BasePath>
321
321
 
@@ -336,7 +336,7 @@ export interface HandlerInterface<
336
336
  E5 extends Env = E,
337
337
  E6 extends Env = E,
338
338
  E7 extends Env = E,
339
- E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>
339
+ E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
340
340
  >(
341
341
  ...handlers: [
342
342
  H<E2, P, I>,
@@ -345,7 +345,7 @@ export interface HandlerInterface<
345
345
  H<E5, P, I4>,
346
346
  H<E6, P, I5>,
347
347
  H<E7, P, I6>,
348
- H<E8, P, I7, R>
348
+ H<E8, P, I7, R>,
349
349
  ]
350
350
  ): Hono<
351
351
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
@@ -369,7 +369,7 @@ export interface HandlerInterface<
369
369
  E4 extends Env = E,
370
370
  E5 extends Env = E,
371
371
  E6 extends Env = E,
372
- E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>
372
+ E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
373
373
  >(
374
374
  path: P,
375
375
  ...handlers: [
@@ -378,7 +378,7 @@ export interface HandlerInterface<
378
378
  H<E4, MergedPath, I3>,
379
379
  H<E5, MergedPath, I4>,
380
380
  H<E6, MergedPath, I5>,
381
- H<E7, MergedPath, I6, R>
381
+ H<E7, MergedPath, I6, R>,
382
382
  ]
383
383
  ): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R>>, BasePath>
384
384
 
@@ -401,7 +401,7 @@ export interface HandlerInterface<
401
401
  E6 extends Env = E,
402
402
  E7 extends Env = E,
403
403
  E8 extends Env = E,
404
- E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>
404
+ E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
405
405
  >(
406
406
  ...handlers: [
407
407
  H<E2, P, I>,
@@ -411,7 +411,7 @@ export interface HandlerInterface<
411
411
  H<E6, P, I5>,
412
412
  H<E7, P, I6>,
413
413
  H<E8, P, I7>,
414
- H<E9, P, I8, R>
414
+ H<E9, P, I8, R>,
415
415
  ]
416
416
  ): Hono<
417
417
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
@@ -437,7 +437,7 @@ export interface HandlerInterface<
437
437
  E5 extends Env = E,
438
438
  E6 extends Env = E,
439
439
  E7 extends Env = E,
440
- E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>
440
+ E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
441
441
  >(
442
442
  path: P,
443
443
  ...handlers: [
@@ -447,7 +447,7 @@ export interface HandlerInterface<
447
447
  H<E5, MergedPath, I4>,
448
448
  H<E6, MergedPath, I5>,
449
449
  H<E7, MergedPath, I6>,
450
- H<E8, MergedPath, I7, R>
450
+ H<E8, MergedPath, I7, R>,
451
451
  ]
452
452
  ): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R>>, BasePath>
453
453
 
@@ -472,7 +472,7 @@ export interface HandlerInterface<
472
472
  E7 extends Env = E,
473
473
  E8 extends Env = E,
474
474
  E9 extends Env = E,
475
- E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>
475
+ E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
476
476
  >(
477
477
  ...handlers: [
478
478
  H<E2, P, I>,
@@ -483,7 +483,7 @@ export interface HandlerInterface<
483
483
  H<E7, P, I6>,
484
484
  H<E8, P, I7>,
485
485
  H<E9, P, I8>,
486
- H<E10, P, I9, R>
486
+ H<E10, P, I9, R>,
487
487
  ]
488
488
  ): Hono<
489
489
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
@@ -511,7 +511,7 @@ export interface HandlerInterface<
511
511
  E6 extends Env = E,
512
512
  E7 extends Env = E,
513
513
  E8 extends Env = E,
514
- E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>
514
+ E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
515
515
  >(
516
516
  path: P,
517
517
  ...handlers: [
@@ -522,7 +522,7 @@ export interface HandlerInterface<
522
522
  H<E6, MergedPath, I5>,
523
523
  H<E7, MergedPath, I6>,
524
524
  H<E8, MergedPath, I7>,
525
- H<E9, MergedPath, I8, R>
525
+ H<E9, MergedPath, I8, R>,
526
526
  ]
527
527
  ): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R>>, BasePath>
528
528
 
@@ -549,7 +549,7 @@ export interface HandlerInterface<
549
549
  E8 extends Env = E,
550
550
  E9 extends Env = E,
551
551
  E10 extends Env = E,
552
- E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>
552
+ E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
553
553
  >(
554
554
  ...handlers: [
555
555
  H<E2, P, I>,
@@ -561,7 +561,7 @@ export interface HandlerInterface<
561
561
  H<E8, P, I7>,
562
562
  H<E9, P, I8>,
563
563
  H<E10, P, I9>,
564
- H<E11, P, I10, R>
564
+ H<E11, P, I10, R>,
565
565
  ]
566
566
  ): Hono<
567
567
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
@@ -591,7 +591,7 @@ export interface HandlerInterface<
591
591
  E7 extends Env = E,
592
592
  E8 extends Env = E,
593
593
  E9 extends Env = E,
594
- E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>
594
+ E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
595
595
  >(
596
596
  path: P,
597
597
  ...handlers: [
@@ -603,7 +603,7 @@ export interface HandlerInterface<
603
603
  H<E7, MergedPath, I6>,
604
604
  H<E8, MergedPath, I7>,
605
605
  H<E9, MergedPath, I8>,
606
- H<E10, MergedPath, I9, R>
606
+ H<E10, MergedPath, I9, R>,
607
607
  ]
608
608
  ): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R>>, BasePath>
609
609
 
@@ -631,7 +631,7 @@ export interface HandlerInterface<
631
631
  E8 extends Env = E,
632
632
  E9 extends Env = E,
633
633
  E10 extends Env = E,
634
- E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>
634
+ E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
635
635
  >(
636
636
  path: P,
637
637
  ...handlers: [
@@ -644,7 +644,7 @@ export interface HandlerInterface<
644
644
  H<E8, MergedPath, I7>,
645
645
  H<E9, MergedPath, I8>,
646
646
  H<E10, MergedPath, I9>,
647
- H<E11, MergedPath, I10, R>
647
+ H<E11, MergedPath, I10, R>,
648
648
  ]
649
649
  ): Hono<E, S & ToSchema<M, MergePath<BasePath, P>, I10, MergeTypedResponse<R>>, BasePath>
650
650
 
@@ -652,7 +652,7 @@ export interface HandlerInterface<
652
652
  <
653
653
  P extends string = ExtractKey<S> extends never ? BasePath : ExtractKey<S>,
654
654
  I extends Input = BlankInput,
655
- R extends HandlerResponse<any> = any
655
+ R extends HandlerResponse<any> = any,
656
656
  >(
657
657
  ...handlers: H<E, P, I, R>[]
658
658
  ): Hono<E, S & ToSchema<M, P, I, MergeTypedResponse<R>>, BasePath>
@@ -678,7 +678,7 @@ export interface HandlerInterface<
678
678
  export interface MiddlewareHandlerInterface<
679
679
  E extends Env = Env,
680
680
  S extends Schema = BlankSchema,
681
- BasePath extends string = '/'
681
+ BasePath extends string = '/',
682
682
  > {
683
683
  //// app.use(...handlers[])
684
684
  <E2 extends Env = E>(
@@ -686,17 +686,15 @@ export interface MiddlewareHandlerInterface<
686
686
  ): Hono<IntersectNonAnyTypes<[E, E2]>, S, BasePath>
687
687
 
688
688
  // app.use(handler)
689
- <E2 extends Env = E>(handler: MiddlewareHandler<E2, MergePath<BasePath, ExtractKey<S>>>): Hono<
690
- IntersectNonAnyTypes<[E, E2]>,
691
- S,
692
- BasePath
693
- >
689
+ <E2 extends Env = E>(
690
+ handler: MiddlewareHandler<E2, MergePath<BasePath, ExtractKey<S>>>
691
+ ): Hono<IntersectNonAnyTypes<[E, E2]>, S, BasePath>
694
692
 
695
693
  // app.use(handler x2)
696
694
  <
697
695
  E2 extends Env = E,
698
696
  E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
699
- P extends string = MergePath<BasePath, ExtractKey<S>>
697
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
700
698
  >(
701
699
  ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]
702
700
  ): Hono<IntersectNonAnyTypes<[E, E2, E3]>, S, BasePath>
@@ -705,7 +703,7 @@ export interface MiddlewareHandlerInterface<
705
703
  <
706
704
  P extends string,
707
705
  MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>,
708
- E2 extends Env = E
706
+ E2 extends Env = E,
709
707
  >(
710
708
  path: P,
711
709
  handler: MiddlewareHandler<E2, MergedPath>
@@ -716,7 +714,7 @@ export interface MiddlewareHandlerInterface<
716
714
  E2 extends Env = E,
717
715
  E3 extends Env = E,
718
716
  E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
719
- P extends string = MergePath<BasePath, ExtractKey<S>>
717
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
720
718
  >(
721
719
  ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>]
722
720
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4]>, S, BasePath>
@@ -726,7 +724,7 @@ export interface MiddlewareHandlerInterface<
726
724
  P extends string,
727
725
  MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>,
728
726
  E2 extends Env = E,
729
- E3 extends Env = IntersectNonAnyTypes<[E, E2]>
727
+ E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
730
728
  >(
731
729
  path: P,
732
730
  ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>]
@@ -738,13 +736,13 @@ export interface MiddlewareHandlerInterface<
738
736
  E3 extends Env = E,
739
737
  E4 extends Env = E,
740
738
  E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
741
- P extends string = MergePath<BasePath, ExtractKey<S>>
739
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
742
740
  >(
743
741
  ...handlers: [
744
742
  MiddlewareHandler<E2, P>,
745
743
  MiddlewareHandler<E3, P>,
746
744
  MiddlewareHandler<E4, P>,
747
- MiddlewareHandler<E5, P>
745
+ MiddlewareHandler<E5, P>,
748
746
  ]
749
747
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, S, BasePath>
750
748
 
@@ -754,7 +752,7 @@ export interface MiddlewareHandlerInterface<
754
752
  MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>,
755
753
  E2 extends Env = E,
756
754
  E3 extends Env = E,
757
- E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>
755
+ E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
758
756
  >(
759
757
  path: P,
760
758
  ...handlers: [MiddlewareHandler<E2, P>, MiddlewareHandler<E3, P>, MiddlewareHandler<E4, P>]
@@ -767,14 +765,14 @@ export interface MiddlewareHandlerInterface<
767
765
  E4 extends Env = E,
768
766
  E5 extends Env = E,
769
767
  E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
770
- P extends string = MergePath<BasePath, ExtractKey<S>>
768
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
771
769
  >(
772
770
  ...handlers: [
773
771
  MiddlewareHandler<E2, P>,
774
772
  MiddlewareHandler<E3, P>,
775
773
  MiddlewareHandler<E4, P>,
776
774
  MiddlewareHandler<E5, P>,
777
- MiddlewareHandler<E6, P>
775
+ MiddlewareHandler<E6, P>,
778
776
  ]
779
777
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>, S, BasePath>
780
778
 
@@ -785,14 +783,14 @@ export interface MiddlewareHandlerInterface<
785
783
  E2 extends Env = E,
786
784
  E3 extends Env = E,
787
785
  E4 extends Env = E,
788
- E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>
786
+ E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
789
787
  >(
790
788
  path: P,
791
789
  ...handlers: [
792
790
  MiddlewareHandler<E2, P>,
793
791
  MiddlewareHandler<E3, P>,
794
792
  MiddlewareHandler<E4, P>,
795
- MiddlewareHandler<E5, P>
793
+ MiddlewareHandler<E5, P>,
796
794
  ]
797
795
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5]>, ChangePathOfSchema<S, MergedPath>, BasePath>
798
796
 
@@ -804,7 +802,7 @@ export interface MiddlewareHandlerInterface<
804
802
  E5 extends Env = E,
805
803
  E6 extends Env = E,
806
804
  E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
807
- P extends string = MergePath<BasePath, ExtractKey<S>>
805
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
808
806
  >(
809
807
  ...handlers: [
810
808
  MiddlewareHandler<E2, P>,
@@ -812,7 +810,7 @@ export interface MiddlewareHandlerInterface<
812
810
  MiddlewareHandler<E4, P>,
813
811
  MiddlewareHandler<E5, P>,
814
812
  MiddlewareHandler<E6, P>,
815
- MiddlewareHandler<E7, P>
813
+ MiddlewareHandler<E7, P>,
816
814
  ]
817
815
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>, S, BasePath>
818
816
 
@@ -824,7 +822,7 @@ export interface MiddlewareHandlerInterface<
824
822
  E3 extends Env = E,
825
823
  E4 extends Env = E,
826
824
  E5 extends Env = E,
827
- E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>
825
+ E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
828
826
  >(
829
827
  path: P,
830
828
  ...handlers: [
@@ -832,7 +830,7 @@ export interface MiddlewareHandlerInterface<
832
830
  MiddlewareHandler<E3, P>,
833
831
  MiddlewareHandler<E4, P>,
834
832
  MiddlewareHandler<E5, P>,
835
- MiddlewareHandler<E6, P>
833
+ MiddlewareHandler<E6, P>,
836
834
  ]
837
835
  ): Hono<
838
836
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
@@ -849,7 +847,7 @@ export interface MiddlewareHandlerInterface<
849
847
  E6 extends Env = E,
850
848
  E7 extends Env = E,
851
849
  E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
852
- P extends string = MergePath<BasePath, ExtractKey<S>>
850
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
853
851
  >(
854
852
  ...handlers: [
855
853
  MiddlewareHandler<E2, P>,
@@ -858,7 +856,7 @@ export interface MiddlewareHandlerInterface<
858
856
  MiddlewareHandler<E5, P>,
859
857
  MiddlewareHandler<E6, P>,
860
858
  MiddlewareHandler<E7, P>,
861
- MiddlewareHandler<E8, P>
859
+ MiddlewareHandler<E8, P>,
862
860
  ]
863
861
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>, S, BasePath>
864
862
 
@@ -871,7 +869,7 @@ export interface MiddlewareHandlerInterface<
871
869
  E4 extends Env = E,
872
870
  E5 extends Env = E,
873
871
  E6 extends Env = E,
874
- E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>
872
+ E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
875
873
  >(
876
874
  path: P,
877
875
  ...handlers: [
@@ -880,7 +878,7 @@ export interface MiddlewareHandlerInterface<
880
878
  MiddlewareHandler<E4, P>,
881
879
  MiddlewareHandler<E5, P>,
882
880
  MiddlewareHandler<E6, P>,
883
- MiddlewareHandler<E7, P>
881
+ MiddlewareHandler<E7, P>,
884
882
  ]
885
883
  ): Hono<
886
884
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
@@ -898,7 +896,7 @@ export interface MiddlewareHandlerInterface<
898
896
  E7 extends Env = E,
899
897
  E8 extends Env = E,
900
898
  E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
901
- P extends string = MergePath<BasePath, ExtractKey<S>>
899
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
902
900
  >(
903
901
  ...handlers: [
904
902
  MiddlewareHandler<E2, P>,
@@ -908,7 +906,7 @@ export interface MiddlewareHandlerInterface<
908
906
  MiddlewareHandler<E6, P>,
909
907
  MiddlewareHandler<E7, P>,
910
908
  MiddlewareHandler<E8, P>,
911
- MiddlewareHandler<E9, P>
909
+ MiddlewareHandler<E9, P>,
912
910
  ]
913
911
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>, S, BasePath>
914
912
 
@@ -922,7 +920,7 @@ export interface MiddlewareHandlerInterface<
922
920
  E5 extends Env = E,
923
921
  E6 extends Env = E,
924
922
  E7 extends Env = E,
925
- E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>
923
+ E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
926
924
  >(
927
925
  path: P,
928
926
  ...handlers: [
@@ -932,7 +930,7 @@ export interface MiddlewareHandlerInterface<
932
930
  MiddlewareHandler<E5, P>,
933
931
  MiddlewareHandler<E6, P>,
934
932
  MiddlewareHandler<E7, P>,
935
- MiddlewareHandler<E8, P>
933
+ MiddlewareHandler<E8, P>,
936
934
  ]
937
935
  ): Hono<
938
936
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
@@ -951,7 +949,7 @@ export interface MiddlewareHandlerInterface<
951
949
  E8 extends Env = E,
952
950
  E9 extends Env = E,
953
951
  E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
954
- P extends string = MergePath<BasePath, ExtractKey<S>>
952
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
955
953
  >(
956
954
  ...handlers: [
957
955
  MiddlewareHandler<E2, P>,
@@ -962,7 +960,7 @@ export interface MiddlewareHandlerInterface<
962
960
  MiddlewareHandler<E7, P>,
963
961
  MiddlewareHandler<E8, P>,
964
962
  MiddlewareHandler<E9, P>,
965
- MiddlewareHandler<E10, P>
963
+ MiddlewareHandler<E10, P>,
966
964
  ]
967
965
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>, S, BasePath>
968
966
 
@@ -977,7 +975,7 @@ export interface MiddlewareHandlerInterface<
977
975
  E6 extends Env = E,
978
976
  E7 extends Env = E,
979
977
  E8 extends Env = E,
980
- E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>
978
+ E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
981
979
  >(
982
980
  path: P,
983
981
  ...handlers: [
@@ -988,7 +986,7 @@ export interface MiddlewareHandlerInterface<
988
986
  MiddlewareHandler<E6, P>,
989
987
  MiddlewareHandler<E7, P>,
990
988
  MiddlewareHandler<E8, P>,
991
- MiddlewareHandler<E9, P>
989
+ MiddlewareHandler<E9, P>,
992
990
  ]
993
991
  ): Hono<
994
992
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
@@ -1008,7 +1006,7 @@ export interface MiddlewareHandlerInterface<
1008
1006
  E9 extends Env = E,
1009
1007
  E10 extends Env = E,
1010
1008
  E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
1011
- P extends string = MergePath<BasePath, ExtractKey<S>>
1009
+ P extends string = MergePath<BasePath, ExtractKey<S>>,
1012
1010
  >(
1013
1011
  ...handlers: [
1014
1012
  MiddlewareHandler<E2, P>,
@@ -1020,7 +1018,7 @@ export interface MiddlewareHandlerInterface<
1020
1018
  MiddlewareHandler<E8, P>,
1021
1019
  MiddlewareHandler<E9, P>,
1022
1020
  MiddlewareHandler<E10, P>,
1023
- MiddlewareHandler<E11, P>
1021
+ MiddlewareHandler<E11, P>,
1024
1022
  ]
1025
1023
  ): Hono<IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>, S, BasePath>
1026
1024
 
@@ -1036,7 +1034,7 @@ export interface MiddlewareHandlerInterface<
1036
1034
  E7 extends Env = E,
1037
1035
  E8 extends Env = E,
1038
1036
  E9 extends Env = E,
1039
- E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>
1037
+ E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
1040
1038
  >(
1041
1039
  path: P,
1042
1040
  ...handlers: [
@@ -1048,7 +1046,7 @@ export interface MiddlewareHandlerInterface<
1048
1046
  MiddlewareHandler<E7, P>,
1049
1047
  MiddlewareHandler<E8, P>,
1050
1048
  MiddlewareHandler<E9, P>,
1051
- MiddlewareHandler<E10, P>
1049
+ MiddlewareHandler<E10, P>,
1052
1050
  ]
1053
1051
  ): Hono<
1054
1052
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
@@ -1072,7 +1070,7 @@ export interface MiddlewareHandlerInterface<
1072
1070
  export interface OnHandlerInterface<
1073
1071
  E extends Env = Env,
1074
1072
  S extends Schema = BlankSchema,
1075
- BasePath extends string = '/'
1073
+ BasePath extends string = '/',
1076
1074
  > {
1077
1075
  // app.on(method, path, handler)
1078
1076
  <
@@ -1081,7 +1079,7 @@ export interface OnHandlerInterface<
1081
1079
  MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>,
1082
1080
  R extends HandlerResponse<any> = any,
1083
1081
  I extends Input = BlankInput,
1084
- E2 extends Env = E
1082
+ E2 extends Env = E,
1085
1083
  >(
1086
1084
  method: M,
1087
1085
  path: P,
@@ -1101,7 +1099,7 @@ export interface OnHandlerInterface<
1101
1099
  I extends Input = BlankInput,
1102
1100
  I2 extends Input = I,
1103
1101
  E2 extends Env = E,
1104
- E3 extends Env = IntersectNonAnyTypes<[E, E2]>
1102
+ E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1105
1103
  >(
1106
1104
  method: M,
1107
1105
  path: P,
@@ -1123,7 +1121,7 @@ export interface OnHandlerInterface<
1123
1121
  I3 extends Input = I & I2,
1124
1122
  E2 extends Env = E,
1125
1123
  E3 extends Env = E,
1126
- E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>
1124
+ E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
1127
1125
  >(
1128
1126
  method: M,
1129
1127
  path: P,
@@ -1147,7 +1145,7 @@ export interface OnHandlerInterface<
1147
1145
  E2 extends Env = E,
1148
1146
  E3 extends Env = E,
1149
1147
  E4 extends Env = E,
1150
- E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>
1148
+ E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
1151
1149
  >(
1152
1150
  method: M,
1153
1151
  path: P,
@@ -1155,7 +1153,7 @@ export interface OnHandlerInterface<
1155
1153
  H<E2, MergedPath, I>,
1156
1154
  H<E3, MergedPath, I2>,
1157
1155
  H<E4, MergedPath, I3>,
1158
- H<E5, MergedPath, I4, R>
1156
+ H<E5, MergedPath, I4, R>,
1159
1157
  ]
1160
1158
  ): Hono<
1161
1159
  IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
@@ -1178,7 +1176,7 @@ export interface OnHandlerInterface<
1178
1176
  E3 extends Env = E,
1179
1177
  E4 extends Env = E,
1180
1178
  E5 extends Env = E,
1181
- E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>
1179
+ E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1182
1180
  >(
1183
1181
  method: M,
1184
1182
  path: P,
@@ -1187,7 +1185,7 @@ export interface OnHandlerInterface<
1187
1185
  H<E3, MergedPath, I2>,
1188
1186
  H<E4, MergedPath, I3>,
1189
1187
  H<E5, MergedPath, I4>,
1190
- H<E6, MergedPath, I5, R>
1188
+ H<E6, MergedPath, I5, R>,
1191
1189
  ]
1192
1190
  ): Hono<
1193
1191
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
@@ -1212,7 +1210,7 @@ export interface OnHandlerInterface<
1212
1210
  E4 extends Env = E,
1213
1211
  E5 extends Env = E,
1214
1212
  E6 extends Env = E,
1215
- E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>
1213
+ E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1216
1214
  >(
1217
1215
  method: M,
1218
1216
  path: P,
@@ -1222,7 +1220,7 @@ export interface OnHandlerInterface<
1222
1220
  H<E4, MergedPath, I3>,
1223
1221
  H<E5, MergedPath, I4>,
1224
1222
  H<E6, MergedPath, I5>,
1225
- H<E7, MergedPath, I6, R>
1223
+ H<E7, MergedPath, I6, R>,
1226
1224
  ]
1227
1225
  ): Hono<
1228
1226
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
@@ -1249,7 +1247,7 @@ export interface OnHandlerInterface<
1249
1247
  E5 extends Env = E,
1250
1248
  E6 extends Env = E,
1251
1249
  E7 extends Env = E,
1252
- E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>
1250
+ E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
1253
1251
  >(
1254
1252
  method: M,
1255
1253
  path: P,
@@ -1260,7 +1258,7 @@ export interface OnHandlerInterface<
1260
1258
  H<E5, MergedPath, I4>,
1261
1259
  H<E6, MergedPath, I5>,
1262
1260
  H<E7, MergedPath, I6>,
1263
- H<E8, MergedPath, I7, R>
1261
+ H<E8, MergedPath, I7, R>,
1264
1262
  ]
1265
1263
  ): Hono<
1266
1264
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
@@ -1289,7 +1287,7 @@ export interface OnHandlerInterface<
1289
1287
  E6 extends Env = E,
1290
1288
  E7 extends Env = E,
1291
1289
  E8 extends Env = E,
1292
- E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>
1290
+ E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
1293
1291
  >(
1294
1292
  method: M,
1295
1293
  path: P,
@@ -1301,7 +1299,7 @@ export interface OnHandlerInterface<
1301
1299
  H<E6, MergedPath, I5>,
1302
1300
  H<E7, MergedPath, I6>,
1303
1301
  H<E8, MergedPath, I7>,
1304
- H<E9, MergedPath, I8, R>
1302
+ H<E9, MergedPath, I8, R>,
1305
1303
  ]
1306
1304
  ): Hono<
1307
1305
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
@@ -1332,7 +1330,7 @@ export interface OnHandlerInterface<
1332
1330
  E7 extends Env = E,
1333
1331
  E8 extends Env = E,
1334
1332
  E9 extends Env = E,
1335
- E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>
1333
+ E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
1336
1334
  >(
1337
1335
  method: M,
1338
1336
  path: P,
@@ -1345,7 +1343,7 @@ export interface OnHandlerInterface<
1345
1343
  H<E7, MergedPath, I6>,
1346
1344
  H<E8, MergedPath, I7>,
1347
1345
  H<E9, MergedPath, I8>,
1348
- H<E10, MergedPath, I9, R>
1346
+ H<E10, MergedPath, I9, R>,
1349
1347
  ]
1350
1348
  ): Hono<
1351
1349
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
@@ -1377,7 +1375,7 @@ export interface OnHandlerInterface<
1377
1375
  E8 extends Env = E,
1378
1376
  E9 extends Env = E,
1379
1377
  E10 extends Env = E,
1380
- E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>
1378
+ E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
1381
1379
  >(
1382
1380
  method: M,
1383
1381
  path: P,
@@ -1391,7 +1389,7 @@ export interface OnHandlerInterface<
1391
1389
  H<E8, MergedPath, I7>,
1392
1390
  H<E9, MergedPath, I8>,
1393
1391
  H<E10, MergedPath, I9>,
1394
- H<E11, MergedPath, I10>
1392
+ H<E11, MergedPath, I10>,
1395
1393
  ]
1396
1394
  ): Hono<
1397
1395
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
@@ -1404,7 +1402,7 @@ export interface OnHandlerInterface<
1404
1402
  M extends string,
1405
1403
  P extends string,
1406
1404
  R extends HandlerResponse<any> = any,
1407
- I extends Input = BlankInput
1405
+ I extends Input = BlankInput,
1408
1406
  >(
1409
1407
  method: M,
1410
1408
  path: P,
@@ -1418,7 +1416,7 @@ export interface OnHandlerInterface<
1418
1416
  MergedPath extends MergePath<BasePath, P> = MergePath<BasePath, P>,
1419
1417
  R extends HandlerResponse<any> = any,
1420
1418
  I extends Input = BlankInput,
1421
- E2 extends Env = E
1419
+ E2 extends Env = E,
1422
1420
  >(
1423
1421
  methods: Ms,
1424
1422
  path: P,
@@ -1438,7 +1436,7 @@ export interface OnHandlerInterface<
1438
1436
  I extends Input = BlankInput,
1439
1437
  I2 extends Input = I,
1440
1438
  E2 extends Env = E,
1441
- E3 extends Env = IntersectNonAnyTypes<[E, E2]>
1439
+ E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1442
1440
  >(
1443
1441
  methods: Ms,
1444
1442
  path: P,
@@ -1460,7 +1458,7 @@ export interface OnHandlerInterface<
1460
1458
  I3 extends Input = I & I2,
1461
1459
  E2 extends Env = E,
1462
1460
  E3 extends Env = E,
1463
- E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>
1461
+ E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
1464
1462
  >(
1465
1463
  methods: Ms,
1466
1464
  path: P,
@@ -1484,7 +1482,7 @@ export interface OnHandlerInterface<
1484
1482
  E2 extends Env = E,
1485
1483
  E3 extends Env = E,
1486
1484
  E4 extends Env = E,
1487
- E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>
1485
+ E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
1488
1486
  >(
1489
1487
  methods: Ms,
1490
1488
  path: P,
@@ -1492,7 +1490,7 @@ export interface OnHandlerInterface<
1492
1490
  H<E2, MergedPath, I>,
1493
1491
  H<E3, MergedPath, I2>,
1494
1492
  H<E4, MergedPath, I3>,
1495
- H<E5, MergedPath, I4, R>
1493
+ H<E5, MergedPath, I4, R>,
1496
1494
  ]
1497
1495
  ): Hono<
1498
1496
  IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
@@ -1515,7 +1513,7 @@ export interface OnHandlerInterface<
1515
1513
  E3 extends Env = E,
1516
1514
  E4 extends Env = E,
1517
1515
  E5 extends Env = E,
1518
- E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>
1516
+ E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1519
1517
  >(
1520
1518
  methods: Ms,
1521
1519
  path: P,
@@ -1524,7 +1522,7 @@ export interface OnHandlerInterface<
1524
1522
  H<E3, MergedPath, I2>,
1525
1523
  H<E4, MergedPath, I3>,
1526
1524
  H<E5, MergedPath, I4>,
1527
- H<E6, MergedPath, I5, R>
1525
+ H<E6, MergedPath, I5, R>,
1528
1526
  ]
1529
1527
  ): Hono<
1530
1528
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
@@ -1549,7 +1547,7 @@ export interface OnHandlerInterface<
1549
1547
  E4 extends Env = E,
1550
1548
  E5 extends Env = E,
1551
1549
  E6 extends Env = E,
1552
- E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>
1550
+ E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1553
1551
  >(
1554
1552
  methods: Ms,
1555
1553
  path: P,
@@ -1559,7 +1557,7 @@ export interface OnHandlerInterface<
1559
1557
  H<E4, MergedPath, I3>,
1560
1558
  H<E5, MergedPath, I4>,
1561
1559
  H<E6, MergedPath, I5>,
1562
- H<E7, MergedPath, I6, R>
1560
+ H<E7, MergedPath, I6, R>,
1563
1561
  ]
1564
1562
  ): Hono<
1565
1563
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
@@ -1586,7 +1584,7 @@ export interface OnHandlerInterface<
1586
1584
  E5 extends Env = E,
1587
1585
  E6 extends Env = E,
1588
1586
  E7 extends Env = E,
1589
- E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>
1587
+ E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
1590
1588
  >(
1591
1589
  methods: Ms,
1592
1590
  path: P,
@@ -1597,7 +1595,7 @@ export interface OnHandlerInterface<
1597
1595
  H<E5, MergedPath, I4>,
1598
1596
  H<E6, MergedPath, I5>,
1599
1597
  H<E7, MergedPath, I6>,
1600
- H<E8, MergedPath, I7, R>
1598
+ H<E8, MergedPath, I7, R>,
1601
1599
  ]
1602
1600
  ): Hono<
1603
1601
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
@@ -1626,7 +1624,7 @@ export interface OnHandlerInterface<
1626
1624
  E6 extends Env = E,
1627
1625
  E7 extends Env = E,
1628
1626
  E8 extends Env = E,
1629
- E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>
1627
+ E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
1630
1628
  >(
1631
1629
  methods: Ms,
1632
1630
  path: P,
@@ -1638,7 +1636,7 @@ export interface OnHandlerInterface<
1638
1636
  H<E6, MergedPath, I5>,
1639
1637
  H<E7, MergedPath, I6>,
1640
1638
  H<E8, MergedPath, I7>,
1641
- H<E9, MergedPath, I8, R>
1639
+ H<E9, MergedPath, I8, R>,
1642
1640
  ]
1643
1641
  ): Hono<
1644
1642
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
@@ -1668,7 +1666,7 @@ export interface OnHandlerInterface<
1668
1666
  E7 extends Env = E,
1669
1667
  E8 extends Env = E,
1670
1668
  E9 extends Env = E,
1671
- E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>
1669
+ E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
1672
1670
  >(
1673
1671
  methods: Ms,
1674
1672
  path: P,
@@ -1681,7 +1679,7 @@ export interface OnHandlerInterface<
1681
1679
  H<E7, MergedPath, I6>,
1682
1680
  H<E8, MergedPath, I7>,
1683
1681
  H<E9, MergedPath, I8>,
1684
- H<E10, MergedPath, I9>
1682
+ H<E10, MergedPath, I9>,
1685
1683
  ]
1686
1684
  ): Hono<
1687
1685
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
@@ -1713,7 +1711,7 @@ export interface OnHandlerInterface<
1713
1711
  E8 extends Env = E,
1714
1712
  E9 extends Env = E,
1715
1713
  E10 extends Env = E,
1716
- E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>
1714
+ E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
1717
1715
  >(
1718
1716
  methods: Ms,
1719
1717
  path: P,
@@ -1727,7 +1725,7 @@ export interface OnHandlerInterface<
1727
1725
  H<E8, MergedPath, I7>,
1728
1726
  H<E9, MergedPath, I8>,
1729
1727
  H<E10, MergedPath, I9>,
1730
- H<E11, MergedPath, I10>
1728
+ H<E11, MergedPath, I10>,
1731
1729
  ]
1732
1730
  ): Hono<
1733
1731
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
@@ -1750,11 +1748,8 @@ export interface OnHandlerInterface<
1750
1748
  ): Hono<E, S & ToSchema<string, string, I, MergeTypedResponse<R>>, BasePath>
1751
1749
  }
1752
1750
 
1753
- type ExtractKey<S> = S extends Record<infer Key, unknown>
1754
- ? Key extends string
1755
- ? Key
1756
- : never
1757
- : string
1751
+ type ExtractKey<S> =
1752
+ S extends Record<infer Key, unknown> ? (Key extends string ? Key : never) : string
1758
1753
 
1759
1754
  ////////////////////////////////////////
1760
1755
  ////// //////
@@ -1766,7 +1761,7 @@ export type ToSchema<
1766
1761
  M extends string,
1767
1762
  P extends string,
1768
1763
  I extends Input | Input['in'],
1769
- RorO // Response or Output
1764
+ RorO, // Response or Output
1770
1765
  > = Simplify<{
1771
1766
  [K in P]: {
1772
1767
  [K2 in M as AddDollar<K2>]: Simplify<
@@ -1779,20 +1774,20 @@ export type ToSchema<
1779
1774
  status: StatusCode
1780
1775
  }
1781
1776
  : RorO extends TypedResponse<infer T, infer U, infer F>
1782
- ? {
1783
- output: unknown extends T ? {} : T
1784
- outputFormat: I extends { outputFormat: string } ? I['outputFormat'] : F
1785
- status: U
1786
- }
1787
- : {
1788
- output: unknown extends RorO ? {} : RorO
1789
- outputFormat: unknown extends RorO
1790
- ? 'json'
1791
- : I extends { outputFormat: string }
1792
- ? I['outputFormat']
1793
- : 'json'
1794
- status: StatusCode
1795
- })
1777
+ ? {
1778
+ output: unknown extends T ? {} : T
1779
+ outputFormat: I extends { outputFormat: string } ? I['outputFormat'] : F
1780
+ status: U
1781
+ }
1782
+ : {
1783
+ output: unknown extends RorO ? {} : RorO
1784
+ outputFormat: unknown extends RorO
1785
+ ? 'json'
1786
+ : I extends { outputFormat: string }
1787
+ ? I['outputFormat']
1788
+ : 'json'
1789
+ status: StatusCode
1790
+ })
1796
1791
  >
1797
1792
  }
1798
1793
  }>
@@ -1817,10 +1812,10 @@ export type Endpoint = {
1817
1812
  type ExtractParams<Path extends string> = string extends Path
1818
1813
  ? Record<string, string>
1819
1814
  : Path extends `${infer _Start}:${infer Param}/${infer Rest}`
1820
- ? { [K in Param | keyof ExtractParams<`/${Rest}`>]: string }
1821
- : Path extends `${infer _Start}:${infer Param}`
1822
- ? { [K in Param]: string }
1823
- : never
1815
+ ? { [K in Param | keyof ExtractParams<`/${Rest}`>]: string }
1816
+ : Path extends `${infer _Start}:${infer Param}`
1817
+ ? { [K in Param]: string }
1818
+ : never
1824
1819
 
1825
1820
  type FlattenIfIntersect<T> = T extends infer O ? { [K in keyof O]: O[K] } : never
1826
1821
 
@@ -1851,44 +1846,45 @@ type MergeEndpointParamsWithPath<T, SubPath extends string> = T extends {
1851
1846
  }
1852
1847
  >
1853
1848
  : RemoveBlankRecord<ExtractParams<SubPath>> extends never
1854
- ? Input
1855
- : Input & {
1856
- // Maps extracted keys, stripping braces, to a string-typed record.
1857
- param: {
1858
- [K in keyof ExtractParams<SubPath> as K extends `${infer Prefix}{${infer _}}`
1859
- ? Prefix
1860
- : K]: string
1849
+ ? Input
1850
+ : Input & {
1851
+ // Maps extracted keys, stripping braces, to a string-typed record.
1852
+ param: {
1853
+ [K in keyof ExtractParams<SubPath> as K extends `${infer Prefix}{${infer _}}`
1854
+ ? Prefix
1855
+ : K]: string
1856
+ }
1861
1857
  }
1862
- }
1863
1858
  output: Output
1864
1859
  outputFormat: OutputFormat
1865
1860
  status: Status
1866
1861
  }
1867
1862
  : never
1868
1863
 
1869
- export type AddParam<I, P extends string> = ParamKeys<P> extends never
1870
- ? I
1871
- : I extends { param: infer _ }
1872
- ? I
1873
- : I & { param: UnionToIntersection<ParamKeyToRecord<ParamKeys<P>>> }
1864
+ export type AddParam<I, P extends string> =
1865
+ ParamKeys<P> extends never
1866
+ ? I
1867
+ : I extends { param: infer _ }
1868
+ ? I
1869
+ : I & { param: UnionToIntersection<ParamKeyToRecord<ParamKeys<P>>> }
1874
1870
 
1875
1871
  type AddDollar<T extends string> = `$${Lowercase<T>}`
1876
1872
 
1877
1873
  export type MergePath<A extends string, B extends string> = B extends ''
1878
1874
  ? MergePath<A, '/'>
1879
1875
  : A extends ''
1880
- ? B
1881
- : A extends '/'
1882
- ? B
1883
- : A extends `${infer P}/`
1884
- ? B extends `/${infer Q}`
1885
- ? `${P}/${Q}`
1886
- : `${P}/${B}`
1887
- : B extends `/${infer Q}`
1888
- ? Q extends ''
1889
- ? A
1890
- : `${A}/${Q}`
1891
- : `${A}/${B}`
1876
+ ? B
1877
+ : A extends '/'
1878
+ ? B
1879
+ : A extends `${infer P}/`
1880
+ ? B extends `/${infer Q}`
1881
+ ? `${P}/${Q}`
1882
+ : `${P}/${B}`
1883
+ : B extends `/${infer Q}`
1884
+ ? Q extends ''
1885
+ ? A
1886
+ : `${A}/${Q}`
1887
+ : `${A}/${B}`
1892
1888
 
1893
1889
  ////////////////////////////////////////
1894
1890
  ////// //////
@@ -1905,21 +1901,22 @@ export type TypedResponse<
1905
1901
  F extends ResponseFormat = T extends string
1906
1902
  ? 'text'
1907
1903
  : T extends JSONValue
1908
- ? 'json'
1909
- : ResponseFormat
1904
+ ? 'json'
1905
+ : ResponseFormat,
1910
1906
  > = {
1911
1907
  _data: T
1912
1908
  _status: U
1913
1909
  _format: F
1914
1910
  }
1915
1911
 
1916
- type MergeTypedResponse<T> = T extends Promise<infer T2>
1917
- ? T2 extends TypedResponse
1918
- ? T2
1919
- : TypedResponse
1920
- : T extends TypedResponse
1921
- ? T
1922
- : TypedResponse
1912
+ type MergeTypedResponse<T> =
1913
+ T extends Promise<infer T2>
1914
+ ? T2 extends TypedResponse
1915
+ ? T2
1916
+ : TypedResponse
1917
+ : T extends TypedResponse
1918
+ ? T
1919
+ : TypedResponse
1923
1920
 
1924
1921
  ////////////////////////////////////////
1925
1922
  ////// /////
@@ -1971,7 +1968,7 @@ export type ParamKeyToRecord<T extends string> = T extends `${infer R}?`
1971
1968
 
1972
1969
  export type InputToDataByTarget<
1973
1970
  T extends Input['out'],
1974
- Target extends keyof ValidationTargets
1971
+ Target extends keyof ValidationTargets,
1975
1972
  > = T extends {
1976
1973
  [K in Target]: infer R
1977
1974
  }