@kerebron/extension-server-hono 0.7.8 → 0.7.9

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 (94) hide show
  1. package/esm/HonoYjsMemAdapter.d.ts +1 -1
  2. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/compose.d.ts.map +1 -1
  3. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/compose.js.map +1 -1
  4. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/context.d.ts.map +1 -1
  5. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/context.js.map +1 -1
  6. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/helper/websocket/index.d.ts.map +1 -1
  7. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/helper/websocket/index.js.map +1 -1
  8. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/hono-base.d.ts.map +1 -1
  9. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/hono-base.js.map +1 -1
  10. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/http-exception.d.ts.map +1 -1
  11. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/http-exception.js.map +1 -1
  12. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request/constants.d.ts.map +1 -1
  13. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request/constants.js.map +1 -1
  14. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request.d.ts.map +1 -1
  15. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request.js.map +1 -1
  16. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/router.d.ts.map +1 -1
  17. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/router.js.map +1 -1
  18. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/types.d.ts +116 -116
  19. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/types.d.ts.map +1 -1
  20. package/esm/deps/jsr.io/@hono/hono/4.12.18/src/types.js.map +1 -0
  21. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/body.d.ts.map +1 -1
  22. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/body.js.map +1 -1
  23. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/constants.d.ts.map +1 -1
  24. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/constants.js.map +1 -1
  25. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/headers.d.ts.map +1 -1
  26. package/esm/deps/jsr.io/@hono/hono/4.12.18/src/utils/headers.js.map +1 -0
  27. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/html.d.ts.map +1 -1
  28. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/html.js.map +1 -1
  29. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/http-status.d.ts.map +1 -1
  30. package/esm/deps/jsr.io/@hono/hono/4.12.18/src/utils/http-status.js.map +1 -0
  31. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/mime.d.ts.map +1 -1
  32. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/mime.js.map +1 -1
  33. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/types.d.ts.map +1 -1
  34. package/esm/deps/jsr.io/@hono/hono/4.12.18/src/utils/types.js.map +1 -0
  35. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/url.d.ts.map +1 -1
  36. package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/url.js.map +1 -1
  37. package/esm/mod.d.ts +1 -1
  38. package/package.json +1 -1
  39. package/src/HonoYjsMemAdapter.ts +1 -1
  40. package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/types.ts +396 -106
  41. package/src/mod.ts +1 -1
  42. package/esm/deps/jsr.io/@hono/hono/4.12.14/src/types.js.map +0 -1
  43. package/esm/deps/jsr.io/@hono/hono/4.12.14/src/utils/headers.js.map +0 -1
  44. package/esm/deps/jsr.io/@hono/hono/4.12.14/src/utils/http-status.js.map +0 -1
  45. package/esm/deps/jsr.io/@hono/hono/4.12.14/src/utils/types.js.map +0 -1
  46. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/compose.d.ts +0 -0
  47. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/compose.js +0 -0
  48. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/context.d.ts +0 -0
  49. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/context.js +0 -0
  50. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/helper/websocket/index.d.ts +0 -0
  51. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/helper/websocket/index.js +0 -0
  52. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/hono-base.d.ts +0 -0
  53. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/hono-base.js +0 -0
  54. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/http-exception.d.ts +0 -0
  55. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/http-exception.js +0 -0
  56. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request/constants.d.ts +0 -0
  57. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request/constants.js +0 -0
  58. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request.d.ts +0 -0
  59. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request.js +0 -0
  60. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/router.d.ts +0 -0
  61. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/router.js +0 -0
  62. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/types.js +0 -0
  63. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/body.d.ts +0 -0
  64. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/body.js +0 -0
  65. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/constants.d.ts +0 -0
  66. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/constants.js +0 -0
  67. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/headers.d.ts +0 -0
  68. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/headers.js +0 -0
  69. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/html.d.ts +0 -0
  70. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/html.js +0 -0
  71. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/http-status.d.ts +0 -0
  72. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/http-status.js +0 -0
  73. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/mime.d.ts +0 -0
  74. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/mime.js +0 -0
  75. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/types.d.ts +0 -0
  76. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/types.js +0 -0
  77. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/url.d.ts +0 -0
  78. /package/esm/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/url.js +0 -0
  79. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/compose.ts +0 -0
  80. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/context.ts +0 -0
  81. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/helper/websocket/index.ts +0 -0
  82. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/hono-base.ts +0 -0
  83. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/http-exception.ts +0 -0
  84. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request/constants.ts +0 -0
  85. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/request.ts +0 -0
  86. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/router.ts +0 -0
  87. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/body.ts +0 -0
  88. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/constants.ts +0 -0
  89. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/headers.ts +0 -0
  90. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/html.ts +0 -0
  91. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/http-status.ts +0 -0
  92. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/mime.ts +0 -0
  93. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/types.ts +0 -0
  94. /package/src/deps/jsr.io/@hono/hono/{4.12.14 → 4.12.18}/src/utils/url.ts +0 -0
@@ -1488,13 +1488,16 @@ export interface OnHandlerInterface<
1488
1488
  I2 extends Input = I,
1489
1489
  E2 extends Env = E,
1490
1490
  E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1491
+ // Middleware
1492
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1491
1493
  >(
1492
1494
  method: M,
1493
1495
  path: P,
1494
- ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]
1496
+ ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]
1495
1497
  ): HonoBase<
1496
1498
  IntersectNonAnyTypes<[E, E2, E3]>,
1497
- S & ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R>>,
1499
+ S &
1500
+ ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>,
1498
1501
  BasePath,
1499
1502
  MergePath<BasePath, P>
1500
1503
  >
@@ -1511,13 +1514,22 @@ export interface OnHandlerInterface<
1511
1514
  E2 extends Env = E,
1512
1515
  E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1513
1516
  E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
1517
+ // Middleware
1518
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1519
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1514
1520
  >(
1515
1521
  method: M,
1516
1522
  path: P,
1517
- ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]
1523
+ ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]
1518
1524
  ): HonoBase<
1519
1525
  IntersectNonAnyTypes<[E, E2, E3, E4]>,
1520
- S & ToSchema<M, MergePath<BasePath, P>, I3, MergeTypedResponse<R>>,
1526
+ S &
1527
+ ToSchema<
1528
+ M,
1529
+ MergePath<BasePath, P>,
1530
+ I3,
1531
+ MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>
1532
+ >,
1521
1533
  BasePath,
1522
1534
  MergePath<BasePath, P>
1523
1535
  >
@@ -1536,18 +1548,31 @@ export interface OnHandlerInterface<
1536
1548
  E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1537
1549
  E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
1538
1550
  E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
1551
+ // Middleware
1552
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1553
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1554
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1539
1555
  >(
1540
1556
  method: M,
1541
1557
  path: P,
1542
1558
  ...handlers: [
1543
- H<E2, MergedPath, I>,
1544
- H<E3, MergedPath, I2>,
1545
- H<E4, MergedPath, I3>,
1559
+ H<E2, MergedPath, I> & M1,
1560
+ H<E3, MergedPath, I2> & M2,
1561
+ H<E4, MergedPath, I3> & M3,
1546
1562
  H<E5, MergedPath, I4, R>,
1547
1563
  ]
1548
1564
  ): HonoBase<
1549
1565
  IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1550
- S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R>>,
1566
+ S &
1567
+ ToSchema<
1568
+ M,
1569
+ MergePath<BasePath, P>,
1570
+ I4,
1571
+ | MergeTypedResponse<R>
1572
+ | MergeMiddlewareResponse<M1>
1573
+ | MergeMiddlewareResponse<M2>
1574
+ | MergeMiddlewareResponse<M3>
1575
+ >,
1551
1576
  BasePath,
1552
1577
  MergePath<BasePath, P>
1553
1578
  >
@@ -1568,19 +1593,34 @@ export interface OnHandlerInterface<
1568
1593
  E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
1569
1594
  E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
1570
1595
  E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1596
+ // Middleware
1597
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1598
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1599
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1600
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
1571
1601
  >(
1572
1602
  method: M,
1573
1603
  path: P,
1574
1604
  ...handlers: [
1575
- H<E2, MergedPath, I>,
1576
- H<E3, MergedPath, I2>,
1577
- H<E4, MergedPath, I3>,
1578
- H<E5, MergedPath, I4>,
1605
+ H<E2, MergedPath, I> & M1,
1606
+ H<E3, MergedPath, I2> & M2,
1607
+ H<E4, MergedPath, I3> & M3,
1608
+ H<E5, MergedPath, I4> & M4,
1579
1609
  H<E6, MergedPath, I5, R>,
1580
1610
  ]
1581
1611
  ): HonoBase<
1582
1612
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1583
- S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R>>,
1613
+ S &
1614
+ ToSchema<
1615
+ M,
1616
+ MergePath<BasePath, P>,
1617
+ I5,
1618
+ | MergeTypedResponse<R>
1619
+ | MergeMiddlewareResponse<M1>
1620
+ | MergeMiddlewareResponse<M2>
1621
+ | MergeMiddlewareResponse<M3>
1622
+ | MergeMiddlewareResponse<M4>
1623
+ >,
1584
1624
  BasePath,
1585
1625
  MergePath<BasePath, P>
1586
1626
  >
@@ -1603,20 +1643,37 @@ export interface OnHandlerInterface<
1603
1643
  E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
1604
1644
  E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1605
1645
  E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1646
+ // Middleware
1647
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1648
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1649
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1650
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
1651
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
1606
1652
  >(
1607
1653
  method: M,
1608
1654
  path: P,
1609
1655
  ...handlers: [
1610
- H<E2, MergedPath, I>,
1611
- H<E3, MergedPath, I2>,
1612
- H<E4, MergedPath, I3>,
1613
- H<E5, MergedPath, I4>,
1614
- H<E6, MergedPath, I5>,
1656
+ H<E2, MergedPath, I> & M1,
1657
+ H<E3, MergedPath, I2> & M2,
1658
+ H<E4, MergedPath, I3> & M3,
1659
+ H<E5, MergedPath, I4> & M4,
1660
+ H<E6, MergedPath, I5> & M5,
1615
1661
  H<E7, MergedPath, I6, R>,
1616
1662
  ]
1617
1663
  ): HonoBase<
1618
1664
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
1619
- S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R>>,
1665
+ S &
1666
+ ToSchema<
1667
+ M,
1668
+ MergePath<BasePath, P>,
1669
+ I6,
1670
+ | MergeTypedResponse<R>
1671
+ | MergeMiddlewareResponse<M1>
1672
+ | MergeMiddlewareResponse<M2>
1673
+ | MergeMiddlewareResponse<M3>
1674
+ | MergeMiddlewareResponse<M4>
1675
+ | MergeMiddlewareResponse<M5>
1676
+ >,
1620
1677
  BasePath,
1621
1678
  MergePath<BasePath, P>
1622
1679
  >
@@ -1641,21 +1698,40 @@ export interface OnHandlerInterface<
1641
1698
  E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1642
1699
  E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1643
1700
  E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
1701
+ // Middleware
1702
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1703
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1704
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1705
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
1706
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
1707
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
1644
1708
  >(
1645
1709
  method: M,
1646
1710
  path: P,
1647
1711
  ...handlers: [
1648
- H<E2, MergedPath, I>,
1649
- H<E3, MergedPath, I2>,
1650
- H<E4, MergedPath, I3>,
1651
- H<E5, MergedPath, I4>,
1652
- H<E6, MergedPath, I5>,
1653
- H<E7, MergedPath, I6>,
1712
+ H<E2, MergedPath, I> & M1,
1713
+ H<E3, MergedPath, I2> & M2,
1714
+ H<E4, MergedPath, I3> & M3,
1715
+ H<E5, MergedPath, I4> & M4,
1716
+ H<E6, MergedPath, I5> & M5,
1717
+ H<E7, MergedPath, I6> & M6,
1654
1718
  H<E8, MergedPath, I7, R>,
1655
1719
  ]
1656
1720
  ): HonoBase<
1657
1721
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
1658
- S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R>>,
1722
+ S &
1723
+ ToSchema<
1724
+ M,
1725
+ MergePath<BasePath, P>,
1726
+ I7,
1727
+ | MergeTypedResponse<R>
1728
+ | MergeMiddlewareResponse<M1>
1729
+ | MergeMiddlewareResponse<M2>
1730
+ | MergeMiddlewareResponse<M3>
1731
+ | MergeMiddlewareResponse<M4>
1732
+ | MergeMiddlewareResponse<M5>
1733
+ | MergeMiddlewareResponse<M6>
1734
+ >,
1659
1735
  BasePath,
1660
1736
  MergePath<BasePath, P>
1661
1737
  >
@@ -1682,22 +1758,43 @@ export interface OnHandlerInterface<
1682
1758
  E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1683
1759
  E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
1684
1760
  E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
1761
+ // Middleware
1762
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1763
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1764
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1765
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
1766
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
1767
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
1768
+ M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>,
1685
1769
  >(
1686
1770
  method: M,
1687
1771
  path: P,
1688
1772
  ...handlers: [
1689
- H<E2, MergedPath, I>,
1690
- H<E3, MergedPath, I2>,
1691
- H<E4, MergedPath, I3>,
1692
- H<E5, MergedPath, I4>,
1693
- H<E6, MergedPath, I5>,
1694
- H<E7, MergedPath, I6>,
1695
- H<E8, MergedPath, I7>,
1773
+ H<E2, MergedPath, I> & M1,
1774
+ H<E3, MergedPath, I2> & M2,
1775
+ H<E4, MergedPath, I3> & M3,
1776
+ H<E5, MergedPath, I4> & M4,
1777
+ H<E6, MergedPath, I5> & M5,
1778
+ H<E7, MergedPath, I6> & M6,
1779
+ H<E8, MergedPath, I7> & M7,
1696
1780
  H<E9, MergedPath, I8, R>,
1697
1781
  ]
1698
1782
  ): HonoBase<
1699
1783
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
1700
- S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R>>,
1784
+ S &
1785
+ ToSchema<
1786
+ M,
1787
+ MergePath<BasePath, P>,
1788
+ I8,
1789
+ | MergeTypedResponse<R>
1790
+ | MergeMiddlewareResponse<M1>
1791
+ | MergeMiddlewareResponse<M2>
1792
+ | MergeMiddlewareResponse<M3>
1793
+ | MergeMiddlewareResponse<M4>
1794
+ | MergeMiddlewareResponse<M5>
1795
+ | MergeMiddlewareResponse<M6>
1796
+ | MergeMiddlewareResponse<M7>
1797
+ >,
1701
1798
  BasePath,
1702
1799
  MergePath<BasePath, P>
1703
1800
  >
@@ -1726,23 +1823,46 @@ export interface OnHandlerInterface<
1726
1823
  E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
1727
1824
  E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
1728
1825
  E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
1826
+ // Middleware
1827
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1828
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1829
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1830
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
1831
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
1832
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
1833
+ M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>,
1834
+ M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>,
1729
1835
  >(
1730
1836
  method: M,
1731
1837
  path: P,
1732
1838
  ...handlers: [
1733
- H<E2, MergedPath, I>,
1734
- H<E3, MergedPath, I2>,
1735
- H<E4, MergedPath, I3>,
1736
- H<E5, MergedPath, I4>,
1737
- H<E6, MergedPath, I5>,
1738
- H<E7, MergedPath, I6>,
1739
- H<E8, MergedPath, I7>,
1740
- H<E9, MergedPath, I8>,
1839
+ H<E2, MergedPath, I> & M1,
1840
+ H<E3, MergedPath, I2> & M2,
1841
+ H<E4, MergedPath, I3> & M3,
1842
+ H<E5, MergedPath, I4> & M4,
1843
+ H<E6, MergedPath, I5> & M5,
1844
+ H<E7, MergedPath, I6> & M6,
1845
+ H<E8, MergedPath, I7> & M7,
1846
+ H<E9, MergedPath, I8> & M8,
1741
1847
  H<E10, MergedPath, I9, R>,
1742
1848
  ]
1743
1849
  ): HonoBase<
1744
1850
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
1745
- S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R>>,
1851
+ S &
1852
+ ToSchema<
1853
+ M,
1854
+ MergePath<BasePath, P>,
1855
+ I9,
1856
+ | MergeTypedResponse<R>
1857
+ | MergeMiddlewareResponse<M1>
1858
+ | MergeMiddlewareResponse<M2>
1859
+ | MergeMiddlewareResponse<M3>
1860
+ | MergeMiddlewareResponse<M4>
1861
+ | MergeMiddlewareResponse<M5>
1862
+ | MergeMiddlewareResponse<M6>
1863
+ | MergeMiddlewareResponse<M7>
1864
+ | MergeMiddlewareResponse<M8>
1865
+ >,
1746
1866
  BasePath,
1747
1867
  MergePath<BasePath, P>
1748
1868
  >
@@ -1773,24 +1893,49 @@ export interface OnHandlerInterface<
1773
1893
  E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
1774
1894
  E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
1775
1895
  E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
1896
+ // Middleware
1897
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1898
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1899
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1900
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
1901
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
1902
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
1903
+ M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>,
1904
+ M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>,
1905
+ M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>,
1776
1906
  >(
1777
1907
  method: M,
1778
1908
  path: P,
1779
1909
  ...handlers: [
1780
- H<E2, MergedPath, I>,
1781
- H<E3, MergedPath, I2>,
1782
- H<E4, MergedPath, I3>,
1783
- H<E5, MergedPath, I4>,
1784
- H<E6, MergedPath, I5>,
1785
- H<E7, MergedPath, I6>,
1786
- H<E8, MergedPath, I7>,
1787
- H<E9, MergedPath, I8>,
1788
- H<E10, MergedPath, I9>,
1910
+ H<E2, MergedPath, I> & M1,
1911
+ H<E3, MergedPath, I2> & M2,
1912
+ H<E4, MergedPath, I3> & M3,
1913
+ H<E5, MergedPath, I4> & M4,
1914
+ H<E6, MergedPath, I5> & M5,
1915
+ H<E7, MergedPath, I6> & M6,
1916
+ H<E8, MergedPath, I7> & M7,
1917
+ H<E9, MergedPath, I8> & M8,
1918
+ H<E10, MergedPath, I9> & M9,
1789
1919
  H<E11, MergedPath, I10, R>,
1790
1920
  ]
1791
1921
  ): HonoBase<
1792
1922
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
1793
- S & ToSchema<M, MergePath<BasePath, P>, I10, MergeTypedResponse<R>>,
1923
+ S &
1924
+ ToSchema<
1925
+ M,
1926
+ MergePath<BasePath, P>,
1927
+ I10,
1928
+ | MergeTypedResponse<R>
1929
+ | MergeMiddlewareResponse<M1>
1930
+ | MergeMiddlewareResponse<M2>
1931
+ | MergeMiddlewareResponse<M3>
1932
+ | MergeMiddlewareResponse<M4>
1933
+ | MergeMiddlewareResponse<M5>
1934
+ | MergeMiddlewareResponse<M6>
1935
+ | MergeMiddlewareResponse<M7>
1936
+ | MergeMiddlewareResponse<M8>
1937
+ | MergeMiddlewareResponse<M9>
1938
+ >,
1794
1939
  BasePath,
1795
1940
  MergePath<BasePath, P>
1796
1941
  >
@@ -1841,13 +1986,16 @@ export interface OnHandlerInterface<
1841
1986
  I2 extends Input = I,
1842
1987
  E2 extends Env = E,
1843
1988
  E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1989
+ // Middleware
1990
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
1844
1991
  >(
1845
1992
  methods: M[],
1846
1993
  path: P,
1847
- ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2, R>]
1994
+ ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2, R>]
1848
1995
  ): HonoBase<
1849
1996
  IntersectNonAnyTypes<[E, E2, E3]>,
1850
- S & ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R>>,
1997
+ S &
1998
+ ToSchema<M, MergePath<BasePath, P>, I2, MergeTypedResponse<R> | MergeMiddlewareResponse<M1>>,
1851
1999
  BasePath,
1852
2000
  MergePath<BasePath, P>
1853
2001
  >
@@ -1864,13 +2012,22 @@ export interface OnHandlerInterface<
1864
2012
  E2 extends Env = E,
1865
2013
  E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1866
2014
  E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
2015
+ // Middleware
2016
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2017
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
1867
2018
  >(
1868
2019
  methods: M[],
1869
2020
  path: P,
1870
- ...handlers: [H<E2, MergedPath, I>, H<E3, MergedPath, I2>, H<E4, MergedPath, I3, R>]
2021
+ ...handlers: [H<E2, MergedPath, I> & M1, H<E3, MergedPath, I2> & M2, H<E4, MergedPath, I3, R>]
1871
2022
  ): HonoBase<
1872
2023
  IntersectNonAnyTypes<[E, E2, E3, E4]>,
1873
- S & ToSchema<M, MergePath<BasePath, P>, I3, MergeTypedResponse<R>>,
2024
+ S &
2025
+ ToSchema<
2026
+ M,
2027
+ MergePath<BasePath, P>,
2028
+ I3,
2029
+ MergeTypedResponse<R> | MergeMiddlewareResponse<M1> | MergeMiddlewareResponse<M2>
2030
+ >,
1874
2031
  BasePath,
1875
2032
  MergePath<BasePath, P>
1876
2033
  >
@@ -1889,18 +2046,31 @@ export interface OnHandlerInterface<
1889
2046
  E3 extends Env = IntersectNonAnyTypes<[E, E2]>,
1890
2047
  E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
1891
2048
  E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
2049
+ // Middleware
2050
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2051
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
2052
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
1892
2053
  >(
1893
2054
  methods: M[],
1894
2055
  path: P,
1895
2056
  ...handlers: [
1896
- H<E2, MergedPath, I>,
1897
- H<E3, MergedPath, I2>,
1898
- H<E4, MergedPath, I3>,
2057
+ H<E2, MergedPath, I> & M1,
2058
+ H<E3, MergedPath, I2> & M2,
2059
+ H<E4, MergedPath, I3> & M3,
1899
2060
  H<E5, MergedPath, I4, R>,
1900
2061
  ]
1901
2062
  ): HonoBase<
1902
2063
  IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1903
- S & ToSchema<M, MergePath<BasePath, P>, I4, MergeTypedResponse<R>>,
2064
+ S &
2065
+ ToSchema<
2066
+ M,
2067
+ MergePath<BasePath, P>,
2068
+ I4,
2069
+ | MergeTypedResponse<R>
2070
+ | MergeMiddlewareResponse<M1>
2071
+ | MergeMiddlewareResponse<M2>
2072
+ | MergeMiddlewareResponse<M3>
2073
+ >,
1904
2074
  BasePath,
1905
2075
  MergePath<BasePath, P>
1906
2076
  >
@@ -1921,19 +2091,34 @@ export interface OnHandlerInterface<
1921
2091
  E4 extends Env = IntersectNonAnyTypes<[E, E2, E3]>,
1922
2092
  E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
1923
2093
  E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
2094
+ // Middleware
2095
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2096
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
2097
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
2098
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
1924
2099
  >(
1925
2100
  methods: M[],
1926
2101
  path: P,
1927
2102
  ...handlers: [
1928
- H<E2, MergedPath, I>,
1929
- H<E3, MergedPath, I2>,
1930
- H<E4, MergedPath, I3>,
1931
- H<E5, MergedPath, I4>,
2103
+ H<E2, MergedPath, I> & M1,
2104
+ H<E3, MergedPath, I2> & M2,
2105
+ H<E4, MergedPath, I3> & M3,
2106
+ H<E5, MergedPath, I4> & M4,
1932
2107
  H<E6, MergedPath, I5, R>,
1933
2108
  ]
1934
2109
  ): HonoBase<
1935
2110
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1936
- S & ToSchema<M, MergePath<BasePath, P>, I5, MergeTypedResponse<R>>,
2111
+ S &
2112
+ ToSchema<
2113
+ M,
2114
+ MergePath<BasePath, P>,
2115
+ I5,
2116
+ | MergeTypedResponse<R>
2117
+ | MergeMiddlewareResponse<M1>
2118
+ | MergeMiddlewareResponse<M2>
2119
+ | MergeMiddlewareResponse<M3>
2120
+ | MergeMiddlewareResponse<M4>
2121
+ >,
1937
2122
  BasePath,
1938
2123
  MergePath<BasePath, P>
1939
2124
  >
@@ -1956,20 +2141,37 @@ export interface OnHandlerInterface<
1956
2141
  E5 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4]>,
1957
2142
  E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1958
2143
  E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
2144
+ // Middleware
2145
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2146
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
2147
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
2148
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
2149
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
1959
2150
  >(
1960
2151
  methods: M[],
1961
2152
  path: P,
1962
2153
  ...handlers: [
1963
- H<E2, MergedPath, I>,
1964
- H<E3, MergedPath, I2>,
1965
- H<E4, MergedPath, I3>,
1966
- H<E5, MergedPath, I4>,
1967
- H<E6, MergedPath, I5>,
2154
+ H<E2, MergedPath, I> & M1,
2155
+ H<E3, MergedPath, I2> & M2,
2156
+ H<E4, MergedPath, I3> & M3,
2157
+ H<E5, MergedPath, I4> & M4,
2158
+ H<E6, MergedPath, I5> & M5,
1968
2159
  H<E7, MergedPath, I6, R>,
1969
2160
  ]
1970
2161
  ): HonoBase<
1971
2162
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
1972
- S & ToSchema<M, MergePath<BasePath, P>, I6, MergeTypedResponse<R>>,
2163
+ S &
2164
+ ToSchema<
2165
+ M,
2166
+ MergePath<BasePath, P>,
2167
+ I6,
2168
+ | MergeTypedResponse<R>
2169
+ | MergeMiddlewareResponse<M1>
2170
+ | MergeMiddlewareResponse<M2>
2171
+ | MergeMiddlewareResponse<M3>
2172
+ | MergeMiddlewareResponse<M4>
2173
+ | MergeMiddlewareResponse<M5>
2174
+ >,
1973
2175
  BasePath,
1974
2176
  MergePath<BasePath, P>
1975
2177
  >
@@ -1994,21 +2196,40 @@ export interface OnHandlerInterface<
1994
2196
  E6 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5]>,
1995
2197
  E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
1996
2198
  E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
2199
+ // Middleware
2200
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2201
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
2202
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
2203
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
2204
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
2205
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
1997
2206
  >(
1998
2207
  methods: M[],
1999
2208
  path: P,
2000
2209
  ...handlers: [
2001
- H<E2, MergedPath, I>,
2002
- H<E3, MergedPath, I2>,
2003
- H<E4, MergedPath, I3>,
2004
- H<E5, MergedPath, I4>,
2005
- H<E6, MergedPath, I5>,
2006
- H<E7, MergedPath, I6>,
2210
+ H<E2, MergedPath, I> & M1,
2211
+ H<E3, MergedPath, I2> & M2,
2212
+ H<E4, MergedPath, I3> & M3,
2213
+ H<E5, MergedPath, I4> & M4,
2214
+ H<E6, MergedPath, I5> & M5,
2215
+ H<E7, MergedPath, I6> & M6,
2007
2216
  H<E8, MergedPath, I7, R>,
2008
2217
  ]
2009
2218
  ): HonoBase<
2010
2219
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
2011
- S & ToSchema<M, MergePath<BasePath, P>, I7, MergeTypedResponse<R>>,
2220
+ S &
2221
+ ToSchema<
2222
+ M,
2223
+ MergePath<BasePath, P>,
2224
+ I7,
2225
+ | MergeTypedResponse<R>
2226
+ | MergeMiddlewareResponse<M1>
2227
+ | MergeMiddlewareResponse<M2>
2228
+ | MergeMiddlewareResponse<M3>
2229
+ | MergeMiddlewareResponse<M4>
2230
+ | MergeMiddlewareResponse<M5>
2231
+ | MergeMiddlewareResponse<M6>
2232
+ >,
2012
2233
  BasePath,
2013
2234
  MergePath<BasePath, P>
2014
2235
  >
@@ -2035,22 +2256,43 @@ export interface OnHandlerInterface<
2035
2256
  E7 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6]>,
2036
2257
  E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
2037
2258
  E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
2259
+ // Middleware
2260
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2261
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
2262
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
2263
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
2264
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
2265
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
2266
+ M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>,
2038
2267
  >(
2039
2268
  methods: M[],
2040
2269
  path: P,
2041
2270
  ...handlers: [
2042
- H<E2, MergedPath, I>,
2043
- H<E3, MergedPath, I2>,
2044
- H<E4, MergedPath, I3>,
2045
- H<E5, MergedPath, I4>,
2046
- H<E6, MergedPath, I5>,
2047
- H<E7, MergedPath, I6>,
2048
- H<E8, MergedPath, I7>,
2271
+ H<E2, MergedPath, I> & M1,
2272
+ H<E3, MergedPath, I2> & M2,
2273
+ H<E4, MergedPath, I3> & M3,
2274
+ H<E5, MergedPath, I4> & M4,
2275
+ H<E6, MergedPath, I5> & M5,
2276
+ H<E7, MergedPath, I6> & M6,
2277
+ H<E8, MergedPath, I7> & M7,
2049
2278
  H<E9, MergedPath, I8, R>,
2050
2279
  ]
2051
2280
  ): HonoBase<
2052
2281
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
2053
- S & ToSchema<M, MergePath<BasePath, P>, I8, MergeTypedResponse<R>>,
2282
+ S &
2283
+ ToSchema<
2284
+ M,
2285
+ MergePath<BasePath, P>,
2286
+ I8,
2287
+ | MergeTypedResponse<R>
2288
+ | MergeMiddlewareResponse<M1>
2289
+ | MergeMiddlewareResponse<M2>
2290
+ | MergeMiddlewareResponse<M3>
2291
+ | MergeMiddlewareResponse<M4>
2292
+ | MergeMiddlewareResponse<M5>
2293
+ | MergeMiddlewareResponse<M6>
2294
+ | MergeMiddlewareResponse<M7>
2295
+ >,
2054
2296
  BasePath,
2055
2297
  MergePath<BasePath, P>
2056
2298
  >
@@ -2079,23 +2321,46 @@ export interface OnHandlerInterface<
2079
2321
  E8 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7]>,
2080
2322
  E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
2081
2323
  E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
2324
+ // Middleware
2325
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2326
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
2327
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
2328
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
2329
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
2330
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
2331
+ M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>,
2332
+ M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>,
2082
2333
  >(
2083
2334
  methods: M[],
2084
2335
  path: P,
2085
2336
  ...handlers: [
2086
- H<E2, MergedPath, I>,
2087
- H<E3, MergedPath, I2>,
2088
- H<E4, MergedPath, I3>,
2089
- H<E5, MergedPath, I4>,
2090
- H<E6, MergedPath, I5>,
2091
- H<E7, MergedPath, I6>,
2092
- H<E8, MergedPath, I7>,
2093
- H<E9, MergedPath, I8>,
2337
+ H<E2, MergedPath, I> & M1,
2338
+ H<E3, MergedPath, I2> & M2,
2339
+ H<E4, MergedPath, I3> & M3,
2340
+ H<E5, MergedPath, I4> & M4,
2341
+ H<E6, MergedPath, I5> & M5,
2342
+ H<E7, MergedPath, I6> & M6,
2343
+ H<E8, MergedPath, I7> & M7,
2344
+ H<E9, MergedPath, I8> & M8,
2094
2345
  H<E10, MergedPath, I9, R>,
2095
2346
  ]
2096
2347
  ): HonoBase<
2097
2348
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
2098
- S & ToSchema<M, MergePath<BasePath, P>, I9, MergeTypedResponse<R>>,
2349
+ S &
2350
+ ToSchema<
2351
+ M,
2352
+ MergePath<BasePath, P>,
2353
+ I9,
2354
+ | MergeTypedResponse<R>
2355
+ | MergeMiddlewareResponse<M1>
2356
+ | MergeMiddlewareResponse<M2>
2357
+ | MergeMiddlewareResponse<M3>
2358
+ | MergeMiddlewareResponse<M4>
2359
+ | MergeMiddlewareResponse<M5>
2360
+ | MergeMiddlewareResponse<M6>
2361
+ | MergeMiddlewareResponse<M7>
2362
+ | MergeMiddlewareResponse<M8>
2363
+ >,
2099
2364
  BasePath,
2100
2365
  MergePath<BasePath, P>
2101
2366
  >
@@ -2126,24 +2391,49 @@ export interface OnHandlerInterface<
2126
2391
  E9 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8]>,
2127
2392
  E10 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9]>,
2128
2393
  E11 extends Env = IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10]>,
2394
+ // Middleware
2395
+ M1 extends H<E2, MergedPath, I> = H<E2, MergedPath, I>,
2396
+ M2 extends H<E3, MergedPath, I2> = H<E3, MergedPath, I2>,
2397
+ M3 extends H<E4, MergedPath, I3> = H<E4, MergedPath, I3>,
2398
+ M4 extends H<E5, MergedPath, I4> = H<E5, MergedPath, I4>,
2399
+ M5 extends H<E6, MergedPath, I5> = H<E6, MergedPath, I5>,
2400
+ M6 extends H<E7, MergedPath, I6> = H<E7, MergedPath, I6>,
2401
+ M7 extends H<E8, MergedPath, I7> = H<E8, MergedPath, I7>,
2402
+ M8 extends H<E9, MergedPath, I8> = H<E9, MergedPath, I8>,
2403
+ M9 extends H<E10, MergedPath, I9> = H<E10, MergedPath, I9>,
2129
2404
  >(
2130
2405
  methods: M[],
2131
2406
  path: P,
2132
2407
  ...handlers: [
2133
- H<E2, MergedPath, I>,
2134
- H<E3, MergedPath, I2>,
2135
- H<E4, MergedPath, I3>,
2136
- H<E5, MergedPath, I4>,
2137
- H<E6, MergedPath, I5>,
2138
- H<E7, MergedPath, I6>,
2139
- H<E8, MergedPath, I7>,
2140
- H<E9, MergedPath, I8>,
2141
- H<E10, MergedPath, I9>,
2408
+ H<E2, MergedPath, I> & M1,
2409
+ H<E3, MergedPath, I2> & M2,
2410
+ H<E4, MergedPath, I3> & M3,
2411
+ H<E5, MergedPath, I4> & M4,
2412
+ H<E6, MergedPath, I5> & M5,
2413
+ H<E7, MergedPath, I6> & M6,
2414
+ H<E8, MergedPath, I7> & M7,
2415
+ H<E9, MergedPath, I8> & M8,
2416
+ H<E10, MergedPath, I9> & M9,
2142
2417
  H<E11, MergedPath, I10, R>,
2143
2418
  ]
2144
2419
  ): HonoBase<
2145
2420
  IntersectNonAnyTypes<[E, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11]>,
2146
- S & ToSchema<M, MergePath<BasePath, P>, I10, MergeTypedResponse<R>>,
2421
+ S &
2422
+ ToSchema<
2423
+ M,
2424
+ MergePath<BasePath, P>,
2425
+ I10,
2426
+ | MergeTypedResponse<R>
2427
+ | MergeMiddlewareResponse<M1>
2428
+ | MergeMiddlewareResponse<M2>
2429
+ | MergeMiddlewareResponse<M3>
2430
+ | MergeMiddlewareResponse<M4>
2431
+ | MergeMiddlewareResponse<M5>
2432
+ | MergeMiddlewareResponse<M6>
2433
+ | MergeMiddlewareResponse<M7>
2434
+ | MergeMiddlewareResponse<M8>
2435
+ | MergeMiddlewareResponse<M9>
2436
+ >,
2147
2437
  BasePath,
2148
2438
  MergePath<BasePath, P>
2149
2439
  >