@mionjs/router 0.8.10 → 0.13.2

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 (771) hide show
  1. package/.dist/cjs/.mion/types/A0Qb_EtDWACB.cjs +16 -0
  2. package/.dist/cjs/.mion/types/A0Qb_EtDWACB.cjs.map +1 -0
  3. package/.dist/cjs/.mion/types/A0Qb_FSFQzFT.cjs +17 -0
  4. package/.dist/cjs/.mion/types/A0Qb_FSFQzFT.cjs.map +1 -0
  5. package/.dist/cjs/.mion/types/A0Qb_IJpcjGV.cjs +16 -0
  6. package/.dist/cjs/.mion/types/A0Qb_IJpcjGV.cjs.map +1 -0
  7. package/.dist/cjs/.mion/types/A0Qb_IugtMk3.cjs +14 -0
  8. package/.dist/cjs/.mion/types/A0Qb_IugtMk3.cjs.map +1 -0
  9. package/.dist/cjs/.mion/types/A0Qb_JmyrGf9.cjs +13 -0
  10. package/.dist/cjs/.mion/types/A0Qb_JmyrGf9.cjs.map +1 -0
  11. package/.dist/cjs/.mion/types/A0Qb_KW2BeGf.cjs +13 -0
  12. package/.dist/cjs/.mion/types/A0Qb_KW2BeGf.cjs.map +1 -0
  13. package/.dist/cjs/.mion/types/A0Qb_N4upY9e.cjs +14 -0
  14. package/.dist/cjs/.mion/types/A0Qb_N4upY9e.cjs.map +1 -0
  15. package/.dist/cjs/.mion/types/A0Qb_NpYuWjf.cjs +16 -0
  16. package/.dist/cjs/.mion/types/A0Qb_NpYuWjf.cjs.map +1 -0
  17. package/.dist/cjs/.mion/types/A0Qb_PGJvDQM.cjs +16 -0
  18. package/.dist/cjs/.mion/types/A0Qb_PGJvDQM.cjs.map +1 -0
  19. package/.dist/cjs/.mion/types/A0Qb_SJBMH8X.cjs +16 -0
  20. package/.dist/cjs/.mion/types/A0Qb_SJBMH8X.cjs.map +1 -0
  21. package/.dist/cjs/.mion/types/A0Qb_SW6Ke6X.cjs +26 -0
  22. package/.dist/cjs/.mion/types/A0Qb_SW6Ke6X.cjs.map +1 -0
  23. package/.dist/cjs/.mion/types/A0Qb_UM4R4B0.cjs +16 -0
  24. package/.dist/cjs/.mion/types/A0Qb_UM4R4B0.cjs.map +1 -0
  25. package/.dist/cjs/.mion/types/A0Qb_VU2j3Ds.cjs +16 -0
  26. package/.dist/cjs/.mion/types/A0Qb_VU2j3Ds.cjs.map +1 -0
  27. package/.dist/cjs/.mion/types/A0Qb_WIhjWe9.cjs +13 -0
  28. package/.dist/cjs/.mion/types/A0Qb_WIhjWe9.cjs.map +1 -0
  29. package/.dist/cjs/.mion/types/A0Qb_ZRJiRyT.cjs +13 -0
  30. package/.dist/cjs/.mion/types/A0Qb_ZRJiRyT.cjs.map +1 -0
  31. package/.dist/cjs/.mion/types/A0Qb_Zdevfid.cjs +16 -0
  32. package/.dist/cjs/.mion/types/A0Qb_Zdevfid.cjs.map +1 -0
  33. package/.dist/cjs/.mion/types/A0Qb_cCmjzQr.cjs +36 -0
  34. package/.dist/cjs/.mion/types/A0Qb_cCmjzQr.cjs.map +1 -0
  35. package/.dist/cjs/.mion/types/A0Qb_dbzlcVY.cjs +16 -0
  36. package/.dist/cjs/.mion/types/A0Qb_dbzlcVY.cjs.map +1 -0
  37. package/.dist/cjs/.mion/types/A0Qb_fzrXFOz.cjs +16 -0
  38. package/.dist/cjs/.mion/types/A0Qb_fzrXFOz.cjs.map +1 -0
  39. package/.dist/cjs/.mion/types/A0Qb_il6MWfT.cjs +16 -0
  40. package/.dist/cjs/.mion/types/A0Qb_il6MWfT.cjs.map +1 -0
  41. package/.dist/cjs/.mion/types/A0Qb_kuE24Ar.cjs +13 -0
  42. package/.dist/cjs/.mion/types/A0Qb_kuE24Ar.cjs.map +1 -0
  43. package/.dist/cjs/.mion/types/A0Qb_od0j6kO.cjs +16 -0
  44. package/.dist/cjs/.mion/types/A0Qb_od0j6kO.cjs.map +1 -0
  45. package/.dist/cjs/.mion/types/A0Qb_uz6TmiD.cjs +17 -0
  46. package/.dist/cjs/.mion/types/A0Qb_uz6TmiD.cjs.map +1 -0
  47. package/.dist/cjs/.mion/types/A0Qb_vDX1rqR.cjs +13 -0
  48. package/.dist/cjs/.mion/types/A0Qb_vDX1rqR.cjs.map +1 -0
  49. package/.dist/cjs/.mion/types/A0Qb_vei3XnC.cjs +17 -0
  50. package/.dist/cjs/.mion/types/A0Qb_vei3XnC.cjs.map +1 -0
  51. package/.dist/cjs/.mion/types/A0Qb_vtuQRKM.cjs +14 -0
  52. package/.dist/cjs/.mion/types/A0Qb_vtuQRKM.cjs.map +1 -0
  53. package/.dist/cjs/.mion/types/Eq2V_EtDWACB.cjs +16 -0
  54. package/.dist/cjs/.mion/types/Eq2V_EtDWACB.cjs.map +1 -0
  55. package/.dist/cjs/.mion/types/Eq2V_IJpcjGV.cjs +16 -0
  56. package/.dist/cjs/.mion/types/Eq2V_IJpcjGV.cjs.map +1 -0
  57. package/.dist/cjs/.mion/types/Eq2V_JmyrGf9.cjs +13 -0
  58. package/.dist/cjs/.mion/types/Eq2V_JmyrGf9.cjs.map +1 -0
  59. package/.dist/cjs/.mion/types/Eq2V_KW2BeGf.cjs +13 -0
  60. package/.dist/cjs/.mion/types/Eq2V_KW2BeGf.cjs.map +1 -0
  61. package/.dist/cjs/.mion/types/Eq2V_NpYuWjf.cjs +16 -0
  62. package/.dist/cjs/.mion/types/Eq2V_NpYuWjf.cjs.map +1 -0
  63. package/.dist/cjs/.mion/types/Eq2V_SJBMH8X.cjs +16 -0
  64. package/.dist/cjs/.mion/types/Eq2V_SJBMH8X.cjs.map +1 -0
  65. package/.dist/cjs/.mion/types/Eq2V_SW6Ke6X.cjs +26 -0
  66. package/.dist/cjs/.mion/types/Eq2V_SW6Ke6X.cjs.map +1 -0
  67. package/.dist/cjs/.mion/types/Eq2V_VU2j3Ds.cjs +16 -0
  68. package/.dist/cjs/.mion/types/Eq2V_VU2j3Ds.cjs.map +1 -0
  69. package/.dist/cjs/.mion/types/Eq2V_WIhjWe9.cjs +13 -0
  70. package/.dist/cjs/.mion/types/Eq2V_WIhjWe9.cjs.map +1 -0
  71. package/.dist/cjs/.mion/types/Eq2V_ZRJiRyT.cjs +13 -0
  72. package/.dist/cjs/.mion/types/Eq2V_ZRJiRyT.cjs.map +1 -0
  73. package/.dist/cjs/.mion/types/Eq2V_Zdevfid.cjs +16 -0
  74. package/.dist/cjs/.mion/types/Eq2V_Zdevfid.cjs.map +1 -0
  75. package/.dist/cjs/.mion/types/Eq2V_dbzlcVY.cjs +16 -0
  76. package/.dist/cjs/.mion/types/Eq2V_dbzlcVY.cjs.map +1 -0
  77. package/.dist/cjs/.mion/types/Eq2V_fzrXFOz.cjs +16 -0
  78. package/.dist/cjs/.mion/types/Eq2V_fzrXFOz.cjs.map +1 -0
  79. package/.dist/cjs/.mion/types/Eq2V_il6MWfT.cjs +16 -0
  80. package/.dist/cjs/.mion/types/Eq2V_il6MWfT.cjs.map +1 -0
  81. package/.dist/cjs/.mion/types/Eq2V_kuE24Ar.cjs +13 -0
  82. package/.dist/cjs/.mion/types/Eq2V_kuE24Ar.cjs.map +1 -0
  83. package/.dist/cjs/.mion/types/Eq2V_od0j6kO.cjs +16 -0
  84. package/.dist/cjs/.mion/types/Eq2V_od0j6kO.cjs.map +1 -0
  85. package/.dist/cjs/.mion/types/Eq2V_uz6TmiD.cjs +17 -0
  86. package/.dist/cjs/.mion/types/Eq2V_uz6TmiD.cjs.map +1 -0
  87. package/.dist/cjs/.mion/types/Eq2V_vDX1rqR.cjs +13 -0
  88. package/.dist/cjs/.mion/types/Eq2V_vDX1rqR.cjs.map +1 -0
  89. package/.dist/cjs/.mion/types/Eq2V_vei3XnC.cjs +17 -0
  90. package/.dist/cjs/.mion/types/Eq2V_vei3XnC.cjs.map +1 -0
  91. package/.dist/cjs/.mion/types/Ky89_EtDWACB.cjs +16 -0
  92. package/.dist/cjs/.mion/types/Ky89_EtDWACB.cjs.map +1 -0
  93. package/.dist/cjs/.mion/types/Ky89_FSFQzFT.cjs +16 -0
  94. package/.dist/cjs/.mion/types/Ky89_FSFQzFT.cjs.map +1 -0
  95. package/.dist/cjs/.mion/types/Ky89_IJpcjGV.cjs +16 -0
  96. package/.dist/cjs/.mion/types/Ky89_IJpcjGV.cjs.map +1 -0
  97. package/.dist/cjs/.mion/types/Ky89_IugtMk3.cjs +14 -0
  98. package/.dist/cjs/.mion/types/Ky89_IugtMk3.cjs.map +1 -0
  99. package/.dist/cjs/.mion/types/Ky89_JmyrGf9.cjs +13 -0
  100. package/.dist/cjs/.mion/types/Ky89_JmyrGf9.cjs.map +1 -0
  101. package/.dist/cjs/.mion/types/Ky89_KW2BeGf.cjs +13 -0
  102. package/.dist/cjs/.mion/types/Ky89_KW2BeGf.cjs.map +1 -0
  103. package/.dist/cjs/.mion/types/Ky89_N4upY9e.cjs +13 -0
  104. package/.dist/cjs/.mion/types/Ky89_N4upY9e.cjs.map +1 -0
  105. package/.dist/cjs/.mion/types/Ky89_NpYuWjf.cjs +16 -0
  106. package/.dist/cjs/.mion/types/Ky89_NpYuWjf.cjs.map +1 -0
  107. package/.dist/cjs/.mion/types/Ky89_PGJvDQM.cjs +16 -0
  108. package/.dist/cjs/.mion/types/Ky89_PGJvDQM.cjs.map +1 -0
  109. package/.dist/cjs/.mion/types/Ky89_SJBMH8X.cjs +16 -0
  110. package/.dist/cjs/.mion/types/Ky89_SJBMH8X.cjs.map +1 -0
  111. package/.dist/cjs/.mion/types/Ky89_SW6Ke6X.cjs +26 -0
  112. package/.dist/cjs/.mion/types/Ky89_SW6Ke6X.cjs.map +1 -0
  113. package/.dist/cjs/.mion/types/Ky89_UM4R4B0.cjs +16 -0
  114. package/.dist/cjs/.mion/types/Ky89_UM4R4B0.cjs.map +1 -0
  115. package/.dist/cjs/.mion/types/Ky89_VU2j3Ds.cjs +16 -0
  116. package/.dist/cjs/.mion/types/Ky89_VU2j3Ds.cjs.map +1 -0
  117. package/.dist/cjs/.mion/types/Ky89_Zdevfid.cjs +16 -0
  118. package/.dist/cjs/.mion/types/Ky89_Zdevfid.cjs.map +1 -0
  119. package/.dist/cjs/.mion/types/Ky89_cCmjzQr.cjs +32 -0
  120. package/.dist/cjs/.mion/types/Ky89_cCmjzQr.cjs.map +1 -0
  121. package/.dist/cjs/.mion/types/Ky89_dbzlcVY.cjs +16 -0
  122. package/.dist/cjs/.mion/types/Ky89_dbzlcVY.cjs.map +1 -0
  123. package/.dist/cjs/.mion/types/Ky89_fzrXFOz.cjs +16 -0
  124. package/.dist/cjs/.mion/types/Ky89_fzrXFOz.cjs.map +1 -0
  125. package/.dist/cjs/.mion/types/Ky89_il6MWfT.cjs +16 -0
  126. package/.dist/cjs/.mion/types/Ky89_il6MWfT.cjs.map +1 -0
  127. package/.dist/cjs/.mion/types/Ky89_kuE24Ar.cjs +13 -0
  128. package/.dist/cjs/.mion/types/Ky89_kuE24Ar.cjs.map +1 -0
  129. package/.dist/cjs/.mion/types/Ky89_od0j6kO.cjs +16 -0
  130. package/.dist/cjs/.mion/types/Ky89_od0j6kO.cjs.map +1 -0
  131. package/.dist/cjs/.mion/types/Ky89_uz6TmiD.cjs +13 -0
  132. package/.dist/cjs/.mion/types/Ky89_uz6TmiD.cjs.map +1 -0
  133. package/.dist/cjs/.mion/types/Ky89_vDX1rqR.cjs +13 -0
  134. package/.dist/cjs/.mion/types/Ky89_vDX1rqR.cjs.map +1 -0
  135. package/.dist/cjs/.mion/types/Ky89_vei3XnC.cjs +17 -0
  136. package/.dist/cjs/.mion/types/Ky89_vei3XnC.cjs.map +1 -0
  137. package/.dist/cjs/.mion/types/Ky89_vtuQRKM.cjs +13 -0
  138. package/.dist/cjs/.mion/types/Ky89_vtuQRKM.cjs.map +1 -0
  139. package/.dist/cjs/.mion/types/OBOg_FSFQzFT.cjs +18 -0
  140. package/.dist/cjs/.mion/types/OBOg_FSFQzFT.cjs.map +1 -0
  141. package/.dist/cjs/.mion/types/OBOg_IugtMk3.cjs +17 -0
  142. package/.dist/cjs/.mion/types/OBOg_IugtMk3.cjs.map +1 -0
  143. package/.dist/cjs/.mion/types/OBOg_N4upY9e.cjs +17 -0
  144. package/.dist/cjs/.mion/types/OBOg_N4upY9e.cjs.map +1 -0
  145. package/.dist/cjs/.mion/types/OBOg_PGJvDQM.cjs +18 -0
  146. package/.dist/cjs/.mion/types/OBOg_PGJvDQM.cjs.map +1 -0
  147. package/.dist/cjs/.mion/types/OBOg_TEA76po.cjs +18 -0
  148. package/.dist/cjs/.mion/types/OBOg_TEA76po.cjs.map +1 -0
  149. package/.dist/cjs/.mion/types/OBOg_UM4R4B0.cjs +23 -0
  150. package/.dist/cjs/.mion/types/OBOg_UM4R4B0.cjs.map +1 -0
  151. package/.dist/cjs/.mion/types/OBOg_cCmjzQr.cjs +18 -0
  152. package/.dist/cjs/.mion/types/OBOg_cCmjzQr.cjs.map +1 -0
  153. package/.dist/cjs/.mion/types/OBOg_vDX1rqR.cjs +17 -0
  154. package/.dist/cjs/.mion/types/OBOg_vDX1rqR.cjs.map +1 -0
  155. package/.dist/cjs/.mion/types/OBOg_vtuQRKM.cjs +18 -0
  156. package/.dist/cjs/.mion/types/OBOg_vtuQRKM.cjs.map +1 -0
  157. package/.dist/cjs/.mion/types/Xhuv_EtDWACB.cjs +16 -0
  158. package/.dist/cjs/.mion/types/Xhuv_EtDWACB.cjs.map +1 -0
  159. package/.dist/cjs/.mion/types/Xhuv_FSFQzFT.cjs +16 -0
  160. package/.dist/cjs/.mion/types/Xhuv_FSFQzFT.cjs.map +1 -0
  161. package/.dist/cjs/.mion/types/Xhuv_IJpcjGV.cjs +16 -0
  162. package/.dist/cjs/.mion/types/Xhuv_IJpcjGV.cjs.map +1 -0
  163. package/.dist/cjs/.mion/types/Xhuv_IugtMk3.cjs +13 -0
  164. package/.dist/cjs/.mion/types/Xhuv_IugtMk3.cjs.map +1 -0
  165. package/.dist/cjs/.mion/types/Xhuv_JmyrGf9.cjs +13 -0
  166. package/.dist/cjs/.mion/types/Xhuv_JmyrGf9.cjs.map +1 -0
  167. package/.dist/cjs/.mion/types/Xhuv_KW2BeGf.cjs +13 -0
  168. package/.dist/cjs/.mion/types/Xhuv_KW2BeGf.cjs.map +1 -0
  169. package/.dist/cjs/.mion/types/Xhuv_N4upY9e.cjs +13 -0
  170. package/.dist/cjs/.mion/types/Xhuv_N4upY9e.cjs.map +1 -0
  171. package/.dist/cjs/.mion/types/Xhuv_NpYuWjf.cjs +16 -0
  172. package/.dist/cjs/.mion/types/Xhuv_NpYuWjf.cjs.map +1 -0
  173. package/.dist/cjs/.mion/types/Xhuv_PGJvDQM.cjs +16 -0
  174. package/.dist/cjs/.mion/types/Xhuv_PGJvDQM.cjs.map +1 -0
  175. package/.dist/cjs/.mion/types/Xhuv_SJBMH8X.cjs +16 -0
  176. package/.dist/cjs/.mion/types/Xhuv_SJBMH8X.cjs.map +1 -0
  177. package/.dist/cjs/.mion/types/Xhuv_SW6Ke6X.cjs +26 -0
  178. package/.dist/cjs/.mion/types/Xhuv_SW6Ke6X.cjs.map +1 -0
  179. package/.dist/cjs/.mion/types/Xhuv_TEA76po.cjs +13 -0
  180. package/.dist/cjs/.mion/types/Xhuv_TEA76po.cjs.map +1 -0
  181. package/.dist/cjs/.mion/types/Xhuv_UM4R4B0.cjs +16 -0
  182. package/.dist/cjs/.mion/types/Xhuv_UM4R4B0.cjs.map +1 -0
  183. package/.dist/cjs/.mion/types/Xhuv_VU2j3Ds.cjs +16 -0
  184. package/.dist/cjs/.mion/types/Xhuv_VU2j3Ds.cjs.map +1 -0
  185. package/.dist/cjs/.mion/types/Xhuv_WIhjWe9.cjs +13 -0
  186. package/.dist/cjs/.mion/types/Xhuv_WIhjWe9.cjs.map +1 -0
  187. package/.dist/cjs/.mion/types/Xhuv_ZRJiRyT.cjs +13 -0
  188. package/.dist/cjs/.mion/types/Xhuv_ZRJiRyT.cjs.map +1 -0
  189. package/.dist/cjs/.mion/types/Xhuv_Zdevfid.cjs +16 -0
  190. package/.dist/cjs/.mion/types/Xhuv_Zdevfid.cjs.map +1 -0
  191. package/.dist/cjs/.mion/types/Xhuv_cCmjzQr.cjs +29 -0
  192. package/.dist/cjs/.mion/types/Xhuv_cCmjzQr.cjs.map +1 -0
  193. package/.dist/cjs/.mion/types/Xhuv_dbzlcVY.cjs +16 -0
  194. package/.dist/cjs/.mion/types/Xhuv_dbzlcVY.cjs.map +1 -0
  195. package/.dist/cjs/.mion/types/Xhuv_fzrXFOz.cjs +16 -0
  196. package/.dist/cjs/.mion/types/Xhuv_fzrXFOz.cjs.map +1 -0
  197. package/.dist/cjs/.mion/types/Xhuv_il6MWfT.cjs +16 -0
  198. package/.dist/cjs/.mion/types/Xhuv_il6MWfT.cjs.map +1 -0
  199. package/.dist/cjs/.mion/types/Xhuv_kuE24Ar.cjs +13 -0
  200. package/.dist/cjs/.mion/types/Xhuv_kuE24Ar.cjs.map +1 -0
  201. package/.dist/cjs/.mion/types/Xhuv_m13oqC7.cjs +13 -0
  202. package/.dist/cjs/.mion/types/Xhuv_m13oqC7.cjs.map +1 -0
  203. package/.dist/cjs/.mion/types/Xhuv_od0j6kO.cjs +16 -0
  204. package/.dist/cjs/.mion/types/Xhuv_od0j6kO.cjs.map +1 -0
  205. package/.dist/cjs/.mion/types/Xhuv_uz6TmiD.cjs +17 -0
  206. package/.dist/cjs/.mion/types/Xhuv_uz6TmiD.cjs.map +1 -0
  207. package/.dist/cjs/.mion/types/Xhuv_vDX1rqR.cjs +13 -0
  208. package/.dist/cjs/.mion/types/Xhuv_vDX1rqR.cjs.map +1 -0
  209. package/.dist/cjs/.mion/types/Xhuv_vei3XnC.cjs +17 -0
  210. package/.dist/cjs/.mion/types/Xhuv_vei3XnC.cjs.map +1 -0
  211. package/.dist/cjs/.mion/types/Xhuv_vtuQRKM.cjs +16 -0
  212. package/.dist/cjs/.mion/types/Xhuv_vtuQRKM.cjs.map +1 -0
  213. package/.dist/cjs/.mion/types/mzca_IugtMk3.cjs +14 -0
  214. package/.dist/cjs/.mion/types/mzca_IugtMk3.cjs.map +1 -0
  215. package/.dist/cjs/.mion/types/mzca_N4upY9e.cjs +14 -0
  216. package/.dist/cjs/.mion/types/mzca_N4upY9e.cjs.map +1 -0
  217. package/.dist/cjs/.mion/types/mzca_vtuQRKM.cjs +14 -0
  218. package/.dist/cjs/.mion/types/mzca_vtuQRKM.cjs.map +1 -0
  219. package/.dist/cjs/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.cjs +14 -0
  220. package/.dist/cjs/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.cjs.map +1 -0
  221. package/.dist/cjs/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.cjs +14 -0
  222. package/.dist/cjs/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.cjs.map +1 -0
  223. package/.dist/cjs/.mion/types/rt/C7ezVBCtGn.cjs +498 -0
  224. package/.dist/cjs/.mion/types/rt/C7ezVBCtGn.cjs.map +1 -0
  225. package/.dist/cjs/.mion/types/rt/VIdAjpHu1X.cjs +526 -0
  226. package/.dist/cjs/.mion/types/rt/VIdAjpHu1X.cjs.map +1 -0
  227. package/.dist/cjs/.mion/types/rt/eF4wQzU6Fd.cjs +875 -0
  228. package/.dist/cjs/.mion/types/rt/eF4wQzU6Fd.cjs.map +1 -0
  229. package/.dist/cjs/.mion/types/rt/shared/X6LLuPu8LB.cjs +467 -0
  230. package/.dist/cjs/.mion/types/rt/shared/X6LLuPu8LB.cjs.map +1 -0
  231. package/.dist/cjs/.mion/types/rt/shared/b3OCOIQ3Az.cjs +1475 -0
  232. package/.dist/cjs/.mion/types/rt/shared/b3OCOIQ3Az.cjs.map +1 -0
  233. package/.dist/cjs/index.cjs +115 -153
  234. package/.dist/cjs/index.d.ts +5 -4
  235. package/.dist/cjs/middlewares.cjs +5 -0
  236. package/.dist/cjs/middlewares.d.ts +3 -0
  237. package/.dist/cjs/src/batches.cjs +332 -0
  238. package/.dist/cjs/src/batches.cjs.map +1 -0
  239. package/.dist/cjs/src/batches.d.ts +22 -0
  240. package/.dist/cjs/src/callContext.cjs +72 -116
  241. package/.dist/cjs/src/callContext.cjs.map +1 -1
  242. package/.dist/cjs/src/callContext.d.ts +5 -8
  243. package/.dist/cjs/src/constants.cjs +22 -41
  244. package/.dist/cjs/src/constants.cjs.map +1 -1
  245. package/.dist/cjs/src/constants.d.ts +1 -7
  246. package/.dist/cjs/src/dispatch.cjs +227 -129
  247. package/.dist/cjs/src/dispatch.cjs.map +1 -1
  248. package/.dist/cjs/src/dispatch.d.ts +8 -2
  249. package/.dist/cjs/src/lib/bodyLimit.cjs +37 -0
  250. package/.dist/cjs/src/lib/bodyLimit.cjs.map +1 -0
  251. package/.dist/cjs/src/lib/bodyLimit.d.ts +5 -0
  252. package/.dist/cjs/src/lib/bodyReader.cjs +79 -0
  253. package/.dist/cjs/src/lib/bodyReader.cjs.map +1 -0
  254. package/.dist/cjs/src/lib/bodyReader.d.ts +10 -0
  255. package/.dist/cjs/src/lib/dispatchError.cjs +77 -34
  256. package/.dist/cjs/src/lib/dispatchError.cjs.map +1 -1
  257. package/.dist/cjs/src/lib/dispatchError.d.ts +6 -2
  258. package/.dist/cjs/src/lib/handlers.cjs +91 -44
  259. package/.dist/cjs/src/lib/handlers.cjs.map +1 -1
  260. package/.dist/cjs/src/lib/handlers.d.ts +14 -9
  261. package/.dist/cjs/src/lib/headers.cjs +172 -55
  262. package/.dist/cjs/src/lib/headers.cjs.map +1 -1
  263. package/.dist/cjs/src/lib/headers.d.ts +40 -1
  264. package/.dist/cjs/src/lib/queryBody.cjs +25 -29
  265. package/.dist/cjs/src/lib/queryBody.cjs.map +1 -1
  266. package/.dist/cjs/src/lib/queryBody.d.ts +0 -1
  267. package/.dist/cjs/src/lib/reflection.cjs +78 -371
  268. package/.dist/cjs/src/lib/reflection.cjs.map +1 -1
  269. package/.dist/cjs/src/lib/reflection.d.ts +12 -9
  270. package/.dist/cjs/src/lib/remoteMethods.cjs +104 -104
  271. package/.dist/cjs/src/lib/remoteMethods.cjs.map +1 -1
  272. package/.dist/cjs/src/lib/remoteMethods.d.ts +4 -4
  273. package/.dist/cjs/src/lib/urlQuery.cjs +24 -0
  274. package/.dist/cjs/src/lib/urlQuery.cjs.map +1 -0
  275. package/.dist/cjs/src/lib/urlQuery.d.ts +2 -0
  276. package/.dist/cjs/src/middlewares/fetchMetadata.cjs +99 -0
  277. package/.dist/cjs/src/middlewares/fetchMetadata.cjs.map +1 -0
  278. package/.dist/cjs/src/middlewares/fetchMetadata.d.ts +15 -0
  279. package/.dist/cjs/src/middlewares/syncRoutes.cjs +67 -0
  280. package/.dist/cjs/src/middlewares/syncRoutes.cjs.map +1 -0
  281. package/.dist/cjs/src/middlewares/syncRoutes.d.ts +12 -0
  282. package/.dist/cjs/src/router.cjs +506 -432
  283. package/.dist/cjs/src/router.cjs.map +1 -1
  284. package/.dist/cjs/src/router.d.ts +27 -19
  285. package/.dist/cjs/src/routes/errors.routes.cjs +81 -46
  286. package/.dist/cjs/src/routes/errors.routes.cjs.map +1 -1
  287. package/.dist/cjs/src/routes/errors.routes.d.ts +14 -3
  288. package/.dist/cjs/src/routes/serializer.routes.cjs +107 -176
  289. package/.dist/cjs/src/routes/serializer.routes.cjs.map +1 -1
  290. package/.dist/cjs/src/routes/serializer.routes.d.ts +3 -3
  291. package/.dist/cjs/src/types/context.cjs +0 -31
  292. package/.dist/cjs/src/types/context.d.ts +13 -21
  293. package/.dist/cjs/src/types/definitions.cjs +0 -15
  294. package/.dist/cjs/src/types/definitions.d.ts +32 -20
  295. package/.dist/cjs/src/types/general.cjs +0 -14
  296. package/.dist/cjs/src/types/general.d.ts +15 -15
  297. package/.dist/cjs/src/types/guards.cjs +31 -38
  298. package/.dist/cjs/src/types/guards.cjs.map +1 -1
  299. package/.dist/cjs/src/types/guards.d.ts +7 -7
  300. package/.dist/cjs/src/types/handlers.cjs +0 -13
  301. package/.dist/cjs/src/types/handlers.d.ts +8 -5
  302. package/.dist/cjs/src/types/mionRouter.cjs +0 -0
  303. package/.dist/cjs/src/types/mionRouter.d.ts +44 -0
  304. package/.dist/cjs/src/types/parser.cjs +0 -0
  305. package/.dist/cjs/src/types/parser.d.ts +43 -0
  306. package/.dist/cjs/src/types/publicMethods.cjs +0 -24
  307. package/.dist/cjs/src/types/publicMethods.d.ts +65 -25
  308. package/.dist/cjs/src/types/remoteMethods.cjs +0 -25
  309. package/.dist/cjs/src/types/remoteMethods.d.ts +49 -29
  310. package/.dist/cjs/src/types/resolvedOptions.cjs +0 -0
  311. package/.dist/cjs/src/types/resolvedOptions.d.ts +28 -0
  312. package/.dist/esm/.mion/types/A0Qb_EtDWACB.js +16 -0
  313. package/.dist/esm/.mion/types/A0Qb_EtDWACB.js.map +1 -0
  314. package/.dist/esm/.mion/types/A0Qb_FSFQzFT.js +17 -0
  315. package/.dist/esm/.mion/types/A0Qb_FSFQzFT.js.map +1 -0
  316. package/.dist/esm/.mion/types/A0Qb_IJpcjGV.js +16 -0
  317. package/.dist/esm/.mion/types/A0Qb_IJpcjGV.js.map +1 -0
  318. package/.dist/esm/.mion/types/A0Qb_IugtMk3.js +14 -0
  319. package/.dist/esm/.mion/types/A0Qb_IugtMk3.js.map +1 -0
  320. package/.dist/esm/.mion/types/A0Qb_JmyrGf9.js +13 -0
  321. package/.dist/esm/.mion/types/A0Qb_JmyrGf9.js.map +1 -0
  322. package/.dist/esm/.mion/types/A0Qb_KW2BeGf.js +13 -0
  323. package/.dist/esm/.mion/types/A0Qb_KW2BeGf.js.map +1 -0
  324. package/.dist/esm/.mion/types/A0Qb_N4upY9e.js +14 -0
  325. package/.dist/esm/.mion/types/A0Qb_N4upY9e.js.map +1 -0
  326. package/.dist/esm/.mion/types/A0Qb_NpYuWjf.js +16 -0
  327. package/.dist/esm/.mion/types/A0Qb_NpYuWjf.js.map +1 -0
  328. package/.dist/esm/.mion/types/A0Qb_PGJvDQM.js +16 -0
  329. package/.dist/esm/.mion/types/A0Qb_PGJvDQM.js.map +1 -0
  330. package/.dist/esm/.mion/types/A0Qb_SJBMH8X.js +16 -0
  331. package/.dist/esm/.mion/types/A0Qb_SJBMH8X.js.map +1 -0
  332. package/.dist/esm/.mion/types/A0Qb_SW6Ke6X.js +26 -0
  333. package/.dist/esm/.mion/types/A0Qb_SW6Ke6X.js.map +1 -0
  334. package/.dist/esm/.mion/types/A0Qb_UM4R4B0.js +16 -0
  335. package/.dist/esm/.mion/types/A0Qb_UM4R4B0.js.map +1 -0
  336. package/.dist/esm/.mion/types/A0Qb_VU2j3Ds.js +16 -0
  337. package/.dist/esm/.mion/types/A0Qb_VU2j3Ds.js.map +1 -0
  338. package/.dist/esm/.mion/types/A0Qb_WIhjWe9.js +13 -0
  339. package/.dist/esm/.mion/types/A0Qb_WIhjWe9.js.map +1 -0
  340. package/.dist/esm/.mion/types/A0Qb_ZRJiRyT.js +13 -0
  341. package/.dist/esm/.mion/types/A0Qb_ZRJiRyT.js.map +1 -0
  342. package/.dist/esm/.mion/types/A0Qb_Zdevfid.js +16 -0
  343. package/.dist/esm/.mion/types/A0Qb_Zdevfid.js.map +1 -0
  344. package/.dist/esm/.mion/types/A0Qb_cCmjzQr.js +36 -0
  345. package/.dist/esm/.mion/types/A0Qb_cCmjzQr.js.map +1 -0
  346. package/.dist/esm/.mion/types/A0Qb_dbzlcVY.js +16 -0
  347. package/.dist/esm/.mion/types/A0Qb_dbzlcVY.js.map +1 -0
  348. package/.dist/esm/.mion/types/A0Qb_fzrXFOz.js +16 -0
  349. package/.dist/esm/.mion/types/A0Qb_fzrXFOz.js.map +1 -0
  350. package/.dist/esm/.mion/types/A0Qb_il6MWfT.js +16 -0
  351. package/.dist/esm/.mion/types/A0Qb_il6MWfT.js.map +1 -0
  352. package/.dist/esm/.mion/types/A0Qb_kuE24Ar.js +13 -0
  353. package/.dist/esm/.mion/types/A0Qb_kuE24Ar.js.map +1 -0
  354. package/.dist/esm/.mion/types/A0Qb_od0j6kO.js +16 -0
  355. package/.dist/esm/.mion/types/A0Qb_od0j6kO.js.map +1 -0
  356. package/.dist/esm/.mion/types/A0Qb_uz6TmiD.js +17 -0
  357. package/.dist/esm/.mion/types/A0Qb_uz6TmiD.js.map +1 -0
  358. package/.dist/esm/.mion/types/A0Qb_vDX1rqR.js +13 -0
  359. package/.dist/esm/.mion/types/A0Qb_vDX1rqR.js.map +1 -0
  360. package/.dist/esm/.mion/types/A0Qb_vei3XnC.js +17 -0
  361. package/.dist/esm/.mion/types/A0Qb_vei3XnC.js.map +1 -0
  362. package/.dist/esm/.mion/types/A0Qb_vtuQRKM.js +14 -0
  363. package/.dist/esm/.mion/types/A0Qb_vtuQRKM.js.map +1 -0
  364. package/.dist/esm/.mion/types/Eq2V_EtDWACB.js +16 -0
  365. package/.dist/esm/.mion/types/Eq2V_EtDWACB.js.map +1 -0
  366. package/.dist/esm/.mion/types/Eq2V_IJpcjGV.js +16 -0
  367. package/.dist/esm/.mion/types/Eq2V_IJpcjGV.js.map +1 -0
  368. package/.dist/esm/.mion/types/Eq2V_JmyrGf9.js +13 -0
  369. package/.dist/esm/.mion/types/Eq2V_JmyrGf9.js.map +1 -0
  370. package/.dist/esm/.mion/types/Eq2V_KW2BeGf.js +13 -0
  371. package/.dist/esm/.mion/types/Eq2V_KW2BeGf.js.map +1 -0
  372. package/.dist/esm/.mion/types/Eq2V_NpYuWjf.js +16 -0
  373. package/.dist/esm/.mion/types/Eq2V_NpYuWjf.js.map +1 -0
  374. package/.dist/esm/.mion/types/Eq2V_SJBMH8X.js +16 -0
  375. package/.dist/esm/.mion/types/Eq2V_SJBMH8X.js.map +1 -0
  376. package/.dist/esm/.mion/types/Eq2V_SW6Ke6X.js +26 -0
  377. package/.dist/esm/.mion/types/Eq2V_SW6Ke6X.js.map +1 -0
  378. package/.dist/esm/.mion/types/Eq2V_VU2j3Ds.js +16 -0
  379. package/.dist/esm/.mion/types/Eq2V_VU2j3Ds.js.map +1 -0
  380. package/.dist/esm/.mion/types/Eq2V_WIhjWe9.js +13 -0
  381. package/.dist/esm/.mion/types/Eq2V_WIhjWe9.js.map +1 -0
  382. package/.dist/esm/.mion/types/Eq2V_ZRJiRyT.js +13 -0
  383. package/.dist/esm/.mion/types/Eq2V_ZRJiRyT.js.map +1 -0
  384. package/.dist/esm/.mion/types/Eq2V_Zdevfid.js +16 -0
  385. package/.dist/esm/.mion/types/Eq2V_Zdevfid.js.map +1 -0
  386. package/.dist/esm/.mion/types/Eq2V_dbzlcVY.js +16 -0
  387. package/.dist/esm/.mion/types/Eq2V_dbzlcVY.js.map +1 -0
  388. package/.dist/esm/.mion/types/Eq2V_fzrXFOz.js +16 -0
  389. package/.dist/esm/.mion/types/Eq2V_fzrXFOz.js.map +1 -0
  390. package/.dist/esm/.mion/types/Eq2V_il6MWfT.js +16 -0
  391. package/.dist/esm/.mion/types/Eq2V_il6MWfT.js.map +1 -0
  392. package/.dist/esm/.mion/types/Eq2V_kuE24Ar.js +13 -0
  393. package/.dist/esm/.mion/types/Eq2V_kuE24Ar.js.map +1 -0
  394. package/.dist/esm/.mion/types/Eq2V_od0j6kO.js +16 -0
  395. package/.dist/esm/.mion/types/Eq2V_od0j6kO.js.map +1 -0
  396. package/.dist/esm/.mion/types/Eq2V_uz6TmiD.js +17 -0
  397. package/.dist/esm/.mion/types/Eq2V_uz6TmiD.js.map +1 -0
  398. package/.dist/esm/.mion/types/Eq2V_vDX1rqR.js +13 -0
  399. package/.dist/esm/.mion/types/Eq2V_vDX1rqR.js.map +1 -0
  400. package/.dist/esm/.mion/types/Eq2V_vei3XnC.js +17 -0
  401. package/.dist/esm/.mion/types/Eq2V_vei3XnC.js.map +1 -0
  402. package/.dist/esm/.mion/types/Ky89_EtDWACB.js +16 -0
  403. package/.dist/esm/.mion/types/Ky89_EtDWACB.js.map +1 -0
  404. package/.dist/esm/.mion/types/Ky89_FSFQzFT.js +16 -0
  405. package/.dist/esm/.mion/types/Ky89_FSFQzFT.js.map +1 -0
  406. package/.dist/esm/.mion/types/Ky89_IJpcjGV.js +16 -0
  407. package/.dist/esm/.mion/types/Ky89_IJpcjGV.js.map +1 -0
  408. package/.dist/esm/.mion/types/Ky89_IugtMk3.js +14 -0
  409. package/.dist/esm/.mion/types/Ky89_IugtMk3.js.map +1 -0
  410. package/.dist/esm/.mion/types/Ky89_JmyrGf9.js +13 -0
  411. package/.dist/esm/.mion/types/Ky89_JmyrGf9.js.map +1 -0
  412. package/.dist/esm/.mion/types/Ky89_KW2BeGf.js +13 -0
  413. package/.dist/esm/.mion/types/Ky89_KW2BeGf.js.map +1 -0
  414. package/.dist/esm/.mion/types/Ky89_N4upY9e.js +13 -0
  415. package/.dist/esm/.mion/types/Ky89_N4upY9e.js.map +1 -0
  416. package/.dist/esm/.mion/types/Ky89_NpYuWjf.js +16 -0
  417. package/.dist/esm/.mion/types/Ky89_NpYuWjf.js.map +1 -0
  418. package/.dist/esm/.mion/types/Ky89_PGJvDQM.js +16 -0
  419. package/.dist/esm/.mion/types/Ky89_PGJvDQM.js.map +1 -0
  420. package/.dist/esm/.mion/types/Ky89_SJBMH8X.js +16 -0
  421. package/.dist/esm/.mion/types/Ky89_SJBMH8X.js.map +1 -0
  422. package/.dist/esm/.mion/types/Ky89_SW6Ke6X.js +26 -0
  423. package/.dist/esm/.mion/types/Ky89_SW6Ke6X.js.map +1 -0
  424. package/.dist/esm/.mion/types/Ky89_UM4R4B0.js +16 -0
  425. package/.dist/esm/.mion/types/Ky89_UM4R4B0.js.map +1 -0
  426. package/.dist/esm/.mion/types/Ky89_VU2j3Ds.js +16 -0
  427. package/.dist/esm/.mion/types/Ky89_VU2j3Ds.js.map +1 -0
  428. package/.dist/esm/.mion/types/Ky89_Zdevfid.js +16 -0
  429. package/.dist/esm/.mion/types/Ky89_Zdevfid.js.map +1 -0
  430. package/.dist/esm/.mion/types/Ky89_cCmjzQr.js +32 -0
  431. package/.dist/esm/.mion/types/Ky89_cCmjzQr.js.map +1 -0
  432. package/.dist/esm/.mion/types/Ky89_dbzlcVY.js +16 -0
  433. package/.dist/esm/.mion/types/Ky89_dbzlcVY.js.map +1 -0
  434. package/.dist/esm/.mion/types/Ky89_fzrXFOz.js +16 -0
  435. package/.dist/esm/.mion/types/Ky89_fzrXFOz.js.map +1 -0
  436. package/.dist/esm/.mion/types/Ky89_il6MWfT.js +16 -0
  437. package/.dist/esm/.mion/types/Ky89_il6MWfT.js.map +1 -0
  438. package/.dist/esm/.mion/types/Ky89_kuE24Ar.js +13 -0
  439. package/.dist/esm/.mion/types/Ky89_kuE24Ar.js.map +1 -0
  440. package/.dist/esm/.mion/types/Ky89_od0j6kO.js +16 -0
  441. package/.dist/esm/.mion/types/Ky89_od0j6kO.js.map +1 -0
  442. package/.dist/esm/.mion/types/Ky89_uz6TmiD.js +13 -0
  443. package/.dist/esm/.mion/types/Ky89_uz6TmiD.js.map +1 -0
  444. package/.dist/esm/.mion/types/Ky89_vDX1rqR.js +13 -0
  445. package/.dist/esm/.mion/types/Ky89_vDX1rqR.js.map +1 -0
  446. package/.dist/esm/.mion/types/Ky89_vei3XnC.js +17 -0
  447. package/.dist/esm/.mion/types/Ky89_vei3XnC.js.map +1 -0
  448. package/.dist/esm/.mion/types/Ky89_vtuQRKM.js +13 -0
  449. package/.dist/esm/.mion/types/Ky89_vtuQRKM.js.map +1 -0
  450. package/.dist/esm/.mion/types/OBOg_FSFQzFT.js +18 -0
  451. package/.dist/esm/.mion/types/OBOg_FSFQzFT.js.map +1 -0
  452. package/.dist/esm/.mion/types/OBOg_IugtMk3.js +17 -0
  453. package/.dist/esm/.mion/types/OBOg_IugtMk3.js.map +1 -0
  454. package/.dist/esm/.mion/types/OBOg_N4upY9e.js +17 -0
  455. package/.dist/esm/.mion/types/OBOg_N4upY9e.js.map +1 -0
  456. package/.dist/esm/.mion/types/OBOg_PGJvDQM.js +18 -0
  457. package/.dist/esm/.mion/types/OBOg_PGJvDQM.js.map +1 -0
  458. package/.dist/esm/.mion/types/OBOg_TEA76po.js +18 -0
  459. package/.dist/esm/.mion/types/OBOg_TEA76po.js.map +1 -0
  460. package/.dist/esm/.mion/types/OBOg_UM4R4B0.js +23 -0
  461. package/.dist/esm/.mion/types/OBOg_UM4R4B0.js.map +1 -0
  462. package/.dist/esm/.mion/types/OBOg_cCmjzQr.js +18 -0
  463. package/.dist/esm/.mion/types/OBOg_cCmjzQr.js.map +1 -0
  464. package/.dist/esm/.mion/types/OBOg_vDX1rqR.js +17 -0
  465. package/.dist/esm/.mion/types/OBOg_vDX1rqR.js.map +1 -0
  466. package/.dist/esm/.mion/types/OBOg_vtuQRKM.js +18 -0
  467. package/.dist/esm/.mion/types/OBOg_vtuQRKM.js.map +1 -0
  468. package/.dist/esm/.mion/types/Xhuv_EtDWACB.js +16 -0
  469. package/.dist/esm/.mion/types/Xhuv_EtDWACB.js.map +1 -0
  470. package/.dist/esm/.mion/types/Xhuv_FSFQzFT.js +16 -0
  471. package/.dist/esm/.mion/types/Xhuv_FSFQzFT.js.map +1 -0
  472. package/.dist/esm/.mion/types/Xhuv_IJpcjGV.js +16 -0
  473. package/.dist/esm/.mion/types/Xhuv_IJpcjGV.js.map +1 -0
  474. package/.dist/esm/.mion/types/Xhuv_IugtMk3.js +13 -0
  475. package/.dist/esm/.mion/types/Xhuv_IugtMk3.js.map +1 -0
  476. package/.dist/esm/.mion/types/Xhuv_JmyrGf9.js +13 -0
  477. package/.dist/esm/.mion/types/Xhuv_JmyrGf9.js.map +1 -0
  478. package/.dist/esm/.mion/types/Xhuv_KW2BeGf.js +13 -0
  479. package/.dist/esm/.mion/types/Xhuv_KW2BeGf.js.map +1 -0
  480. package/.dist/esm/.mion/types/Xhuv_N4upY9e.js +13 -0
  481. package/.dist/esm/.mion/types/Xhuv_N4upY9e.js.map +1 -0
  482. package/.dist/esm/.mion/types/Xhuv_NpYuWjf.js +16 -0
  483. package/.dist/esm/.mion/types/Xhuv_NpYuWjf.js.map +1 -0
  484. package/.dist/esm/.mion/types/Xhuv_PGJvDQM.js +16 -0
  485. package/.dist/esm/.mion/types/Xhuv_PGJvDQM.js.map +1 -0
  486. package/.dist/esm/.mion/types/Xhuv_SJBMH8X.js +16 -0
  487. package/.dist/esm/.mion/types/Xhuv_SJBMH8X.js.map +1 -0
  488. package/.dist/esm/.mion/types/Xhuv_SW6Ke6X.js +26 -0
  489. package/.dist/esm/.mion/types/Xhuv_SW6Ke6X.js.map +1 -0
  490. package/.dist/esm/.mion/types/Xhuv_TEA76po.js +13 -0
  491. package/.dist/esm/.mion/types/Xhuv_TEA76po.js.map +1 -0
  492. package/.dist/esm/.mion/types/Xhuv_UM4R4B0.js +16 -0
  493. package/.dist/esm/.mion/types/Xhuv_UM4R4B0.js.map +1 -0
  494. package/.dist/esm/.mion/types/Xhuv_VU2j3Ds.js +16 -0
  495. package/.dist/esm/.mion/types/Xhuv_VU2j3Ds.js.map +1 -0
  496. package/.dist/esm/.mion/types/Xhuv_WIhjWe9.js +13 -0
  497. package/.dist/esm/.mion/types/Xhuv_WIhjWe9.js.map +1 -0
  498. package/.dist/esm/.mion/types/Xhuv_ZRJiRyT.js +13 -0
  499. package/.dist/esm/.mion/types/Xhuv_ZRJiRyT.js.map +1 -0
  500. package/.dist/esm/.mion/types/Xhuv_Zdevfid.js +16 -0
  501. package/.dist/esm/.mion/types/Xhuv_Zdevfid.js.map +1 -0
  502. package/.dist/esm/.mion/types/Xhuv_cCmjzQr.js +29 -0
  503. package/.dist/esm/.mion/types/Xhuv_cCmjzQr.js.map +1 -0
  504. package/.dist/esm/.mion/types/Xhuv_dbzlcVY.js +16 -0
  505. package/.dist/esm/.mion/types/Xhuv_dbzlcVY.js.map +1 -0
  506. package/.dist/esm/.mion/types/Xhuv_fzrXFOz.js +16 -0
  507. package/.dist/esm/.mion/types/Xhuv_fzrXFOz.js.map +1 -0
  508. package/.dist/esm/.mion/types/Xhuv_il6MWfT.js +16 -0
  509. package/.dist/esm/.mion/types/Xhuv_il6MWfT.js.map +1 -0
  510. package/.dist/esm/.mion/types/Xhuv_kuE24Ar.js +13 -0
  511. package/.dist/esm/.mion/types/Xhuv_kuE24Ar.js.map +1 -0
  512. package/.dist/esm/.mion/types/Xhuv_m13oqC7.js +13 -0
  513. package/.dist/esm/.mion/types/Xhuv_m13oqC7.js.map +1 -0
  514. package/.dist/esm/.mion/types/Xhuv_od0j6kO.js +16 -0
  515. package/.dist/esm/.mion/types/Xhuv_od0j6kO.js.map +1 -0
  516. package/.dist/esm/.mion/types/Xhuv_uz6TmiD.js +17 -0
  517. package/.dist/esm/.mion/types/Xhuv_uz6TmiD.js.map +1 -0
  518. package/.dist/esm/.mion/types/Xhuv_vDX1rqR.js +13 -0
  519. package/.dist/esm/.mion/types/Xhuv_vDX1rqR.js.map +1 -0
  520. package/.dist/esm/.mion/types/Xhuv_vei3XnC.js +17 -0
  521. package/.dist/esm/.mion/types/Xhuv_vei3XnC.js.map +1 -0
  522. package/.dist/esm/.mion/types/Xhuv_vtuQRKM.js +16 -0
  523. package/.dist/esm/.mion/types/Xhuv_vtuQRKM.js.map +1 -0
  524. package/.dist/esm/.mion/types/mzca_IugtMk3.js +14 -0
  525. package/.dist/esm/.mion/types/mzca_IugtMk3.js.map +1 -0
  526. package/.dist/esm/.mion/types/mzca_N4upY9e.js +14 -0
  527. package/.dist/esm/.mion/types/mzca_N4upY9e.js.map +1 -0
  528. package/.dist/esm/.mion/types/mzca_vtuQRKM.js +14 -0
  529. package/.dist/esm/.mion/types/mzca_vtuQRKM.js.map +1 -0
  530. package/.dist/esm/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.js +14 -0
  531. package/.dist/esm/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.js.map +1 -0
  532. package/.dist/esm/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.js +14 -0
  533. package/.dist/esm/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.js.map +1 -0
  534. package/.dist/esm/.mion/types/rt/C7ezVBCtGn.js +495 -0
  535. package/.dist/esm/.mion/types/rt/C7ezVBCtGn.js.map +1 -0
  536. package/.dist/esm/.mion/types/rt/VIdAjpHu1X.js +521 -0
  537. package/.dist/esm/.mion/types/rt/VIdAjpHu1X.js.map +1 -0
  538. package/.dist/esm/.mion/types/rt/eF4wQzU6Fd.js +872 -0
  539. package/.dist/esm/.mion/types/rt/eF4wQzU6Fd.js.map +1 -0
  540. package/.dist/esm/.mion/types/rt/shared/X6LLuPu8LB.js +467 -0
  541. package/.dist/esm/.mion/types/rt/shared/X6LLuPu8LB.js.map +1 -0
  542. package/.dist/esm/.mion/types/rt/shared/b3OCOIQ3Az.js +1475 -0
  543. package/.dist/esm/.mion/types/rt/shared/b3OCOIQ3Az.js.map +1 -0
  544. package/.dist/esm/index.d.ts +5 -4
  545. package/.dist/esm/index.js +11 -145
  546. package/.dist/esm/middlewares.d.ts +3 -0
  547. package/.dist/esm/middlewares.js +3 -0
  548. package/.dist/esm/src/batches.d.ts +22 -0
  549. package/.dist/esm/src/batches.js +321 -0
  550. package/.dist/esm/src/batches.js.map +1 -0
  551. package/.dist/esm/src/callContext.d.ts +5 -8
  552. package/.dist/esm/src/callContext.js +70 -118
  553. package/.dist/esm/src/callContext.js.map +1 -1
  554. package/.dist/esm/src/constants.d.ts +1 -7
  555. package/.dist/esm/src/constants.js +22 -44
  556. package/.dist/esm/src/constants.js.map +1 -1
  557. package/.dist/esm/src/dispatch.d.ts +8 -2
  558. package/.dist/esm/src/dispatch.js +223 -131
  559. package/.dist/esm/src/dispatch.js.map +1 -1
  560. package/.dist/esm/src/lib/bodyLimit.d.ts +5 -0
  561. package/.dist/esm/src/lib/bodyLimit.js +35 -0
  562. package/.dist/esm/src/lib/bodyLimit.js.map +1 -0
  563. package/.dist/esm/src/lib/bodyReader.d.ts +10 -0
  564. package/.dist/esm/src/lib/bodyReader.js +76 -0
  565. package/.dist/esm/src/lib/bodyReader.js.map +1 -0
  566. package/.dist/esm/src/lib/dispatchError.d.ts +6 -2
  567. package/.dist/esm/src/lib/dispatchError.js +72 -36
  568. package/.dist/esm/src/lib/dispatchError.js.map +1 -1
  569. package/.dist/esm/src/lib/handlers.d.ts +14 -9
  570. package/.dist/esm/src/lib/handlers.js +85 -48
  571. package/.dist/esm/src/lib/handlers.js.map +1 -1
  572. package/.dist/esm/src/lib/headers.d.ts +40 -1
  573. package/.dist/esm/src/lib/headers.js +167 -57
  574. package/.dist/esm/src/lib/headers.js.map +1 -1
  575. package/.dist/esm/src/lib/queryBody.d.ts +0 -1
  576. package/.dist/esm/src/lib/queryBody.js +26 -31
  577. package/.dist/esm/src/lib/queryBody.js.map +1 -1
  578. package/.dist/esm/src/lib/reflection.d.ts +12 -9
  579. package/.dist/esm/src/lib/reflection.js +75 -351
  580. package/.dist/esm/src/lib/reflection.js.map +1 -1
  581. package/.dist/esm/src/lib/remoteMethods.d.ts +4 -4
  582. package/.dist/esm/src/lib/remoteMethods.js +105 -111
  583. package/.dist/esm/src/lib/remoteMethods.js.map +1 -1
  584. package/.dist/esm/src/lib/urlQuery.d.ts +2 -0
  585. package/.dist/esm/src/lib/urlQuery.js +23 -0
  586. package/.dist/esm/src/lib/urlQuery.js.map +1 -0
  587. package/.dist/esm/src/middlewares/fetchMetadata.d.ts +15 -0
  588. package/.dist/esm/src/middlewares/fetchMetadata.js +97 -0
  589. package/.dist/esm/src/middlewares/fetchMetadata.js.map +1 -0
  590. package/.dist/esm/src/middlewares/syncRoutes.d.ts +12 -0
  591. package/.dist/esm/src/middlewares/syncRoutes.js +66 -0
  592. package/.dist/esm/src/middlewares/syncRoutes.js.map +1 -0
  593. package/.dist/esm/src/router.d.ts +27 -19
  594. package/.dist/esm/src/router.js +477 -449
  595. package/.dist/esm/src/router.js.map +1 -1
  596. package/.dist/esm/src/routes/errors.routes.d.ts +14 -3
  597. package/.dist/esm/src/routes/errors.routes.js +80 -48
  598. package/.dist/esm/src/routes/errors.routes.js.map +1 -1
  599. package/.dist/esm/src/routes/serializer.routes.d.ts +3 -3
  600. package/.dist/esm/src/routes/serializer.routes.js +107 -179
  601. package/.dist/esm/src/routes/serializer.routes.js.map +1 -1
  602. package/.dist/esm/src/types/context.d.ts +13 -21
  603. package/.dist/esm/src/types/context.js +0 -31
  604. package/.dist/esm/src/types/definitions.d.ts +32 -20
  605. package/.dist/esm/src/types/definitions.js +0 -15
  606. package/.dist/esm/src/types/general.d.ts +15 -15
  607. package/.dist/esm/src/types/general.js +0 -14
  608. package/.dist/esm/src/types/guards.d.ts +7 -7
  609. package/.dist/esm/src/types/guards.js +27 -46
  610. package/.dist/esm/src/types/guards.js.map +1 -1
  611. package/.dist/esm/src/types/handlers.d.ts +8 -5
  612. package/.dist/esm/src/types/handlers.js +0 -13
  613. package/.dist/esm/src/types/mionRouter.d.ts +44 -0
  614. package/.dist/esm/src/types/mionRouter.js +0 -0
  615. package/.dist/esm/src/types/parser.d.ts +43 -0
  616. package/.dist/esm/src/types/parser.js +0 -0
  617. package/.dist/esm/src/types/publicMethods.d.ts +65 -25
  618. package/.dist/esm/src/types/publicMethods.js +0 -24
  619. package/.dist/esm/src/types/remoteMethods.d.ts +49 -29
  620. package/.dist/esm/src/types/remoteMethods.js +0 -25
  621. package/.dist/esm/src/types/resolvedOptions.d.ts +28 -0
  622. package/.dist/esm/src/types/resolvedOptions.js +0 -0
  623. package/LICENSE +1 -1
  624. package/README.md +6 -6
  625. package/package.json +21 -24
  626. package/.dist/cjs/index.cjs.map +0 -1
  627. package/.dist/cjs/index.d.ts.map +0 -1
  628. package/.dist/cjs/src/aot/aotCacheLoader.cjs +0 -11
  629. package/.dist/cjs/src/aot/aotCacheLoader.cjs.map +0 -1
  630. package/.dist/cjs/src/aot/aotCacheLoader.d.ts +0 -2
  631. package/.dist/cjs/src/aot/aotCacheLoader.d.ts.map +0 -1
  632. package/.dist/cjs/src/callContext.d.ts.map +0 -1
  633. package/.dist/cjs/src/constants.d.ts.map +0 -1
  634. package/.dist/cjs/src/defaultRoutes.cjs +0 -16
  635. package/.dist/cjs/src/defaultRoutes.cjs.map +0 -1
  636. package/.dist/cjs/src/defaultRoutes.d.ts +0 -4
  637. package/.dist/cjs/src/defaultRoutes.d.ts.map +0 -1
  638. package/.dist/cjs/src/dispatch.d.ts.map +0 -1
  639. package/.dist/cjs/src/lib/aotEmitter.cjs +0 -74
  640. package/.dist/cjs/src/lib/aotEmitter.cjs.map +0 -1
  641. package/.dist/cjs/src/lib/aotEmitter.d.ts +0 -24
  642. package/.dist/cjs/src/lib/aotEmitter.d.ts.map +0 -1
  643. package/.dist/cjs/src/lib/dispatchError.d.ts.map +0 -1
  644. package/.dist/cjs/src/lib/handlers.d.ts.map +0 -1
  645. package/.dist/cjs/src/lib/headers.d.ts.map +0 -1
  646. package/.dist/cjs/src/lib/methodsCache.cjs +0 -55
  647. package/.dist/cjs/src/lib/methodsCache.cjs.map +0 -1
  648. package/.dist/cjs/src/lib/methodsCache.d.ts +0 -12
  649. package/.dist/cjs/src/lib/methodsCache.d.ts.map +0 -1
  650. package/.dist/cjs/src/lib/queryBody.d.ts.map +0 -1
  651. package/.dist/cjs/src/lib/reflection.d.ts.map +0 -1
  652. package/.dist/cjs/src/lib/remoteMethods.d.ts.map +0 -1
  653. package/.dist/cjs/src/lib/test/aotEmitter-test-router.cjs +0 -24
  654. package/.dist/cjs/src/lib/test/aotEmitter-test-router.cjs.map +0 -1
  655. package/.dist/cjs/src/lib/test/aotEmitter-test-router.d.ts +0 -5
  656. package/.dist/cjs/src/lib/test/aotEmitter-test-router.d.ts.map +0 -1
  657. package/.dist/cjs/src/router.d.ts.map +0 -1
  658. package/.dist/cjs/src/routes/client.routes.cjs +0 -76
  659. package/.dist/cjs/src/routes/client.routes.cjs.map +0 -1
  660. package/.dist/cjs/src/routes/client.routes.d.ts +0 -20
  661. package/.dist/cjs/src/routes/client.routes.d.ts.map +0 -1
  662. package/.dist/cjs/src/routes/errors.routes.d.ts.map +0 -1
  663. package/.dist/cjs/src/routes/mion.routes.cjs +0 -13
  664. package/.dist/cjs/src/routes/mion.routes.cjs.map +0 -1
  665. package/.dist/cjs/src/routes/mion.routes.d.ts +0 -10
  666. package/.dist/cjs/src/routes/mion.routes.d.ts.map +0 -1
  667. package/.dist/cjs/src/routes/serializer.routes.d.ts.map +0 -1
  668. package/.dist/cjs/src/routesFlow.cjs +0 -227
  669. package/.dist/cjs/src/routesFlow.cjs.map +0 -1
  670. package/.dist/cjs/src/routesFlow.d.ts +0 -8
  671. package/.dist/cjs/src/routesFlow.d.ts.map +0 -1
  672. package/.dist/cjs/src/types/context.cjs.map +0 -1
  673. package/.dist/cjs/src/types/context.d.ts.map +0 -1
  674. package/.dist/cjs/src/types/definitions.cjs.map +0 -1
  675. package/.dist/cjs/src/types/definitions.d.ts.map +0 -1
  676. package/.dist/cjs/src/types/general.cjs.map +0 -1
  677. package/.dist/cjs/src/types/general.d.ts.map +0 -1
  678. package/.dist/cjs/src/types/guards.d.ts.map +0 -1
  679. package/.dist/cjs/src/types/handlers.cjs.map +0 -1
  680. package/.dist/cjs/src/types/handlers.d.ts.map +0 -1
  681. package/.dist/cjs/src/types/publicMethods.cjs.map +0 -1
  682. package/.dist/cjs/src/types/publicMethods.d.ts.map +0 -1
  683. package/.dist/cjs/src/types/remoteMethods.cjs.map +0 -1
  684. package/.dist/cjs/src/types/remoteMethods.d.ts.map +0 -1
  685. package/.dist/esm/index.d.ts.map +0 -1
  686. package/.dist/esm/index.js.map +0 -1
  687. package/.dist/esm/src/aot/aotCacheLoader.d.ts +0 -2
  688. package/.dist/esm/src/aot/aotCacheLoader.d.ts.map +0 -1
  689. package/.dist/esm/src/aot/aotCacheLoader.js +0 -11
  690. package/.dist/esm/src/aot/aotCacheLoader.js.map +0 -1
  691. package/.dist/esm/src/callContext.d.ts.map +0 -1
  692. package/.dist/esm/src/constants.d.ts.map +0 -1
  693. package/.dist/esm/src/defaultRoutes.d.ts +0 -4
  694. package/.dist/esm/src/defaultRoutes.d.ts.map +0 -1
  695. package/.dist/esm/src/defaultRoutes.js +0 -16
  696. package/.dist/esm/src/defaultRoutes.js.map +0 -1
  697. package/.dist/esm/src/dispatch.d.ts.map +0 -1
  698. package/.dist/esm/src/lib/aotEmitter.d.ts +0 -24
  699. package/.dist/esm/src/lib/aotEmitter.d.ts.map +0 -1
  700. package/.dist/esm/src/lib/aotEmitter.js +0 -74
  701. package/.dist/esm/src/lib/aotEmitter.js.map +0 -1
  702. package/.dist/esm/src/lib/dispatchError.d.ts.map +0 -1
  703. package/.dist/esm/src/lib/handlers.d.ts.map +0 -1
  704. package/.dist/esm/src/lib/headers.d.ts.map +0 -1
  705. package/.dist/esm/src/lib/methodsCache.d.ts +0 -12
  706. package/.dist/esm/src/lib/methodsCache.d.ts.map +0 -1
  707. package/.dist/esm/src/lib/methodsCache.js +0 -56
  708. package/.dist/esm/src/lib/methodsCache.js.map +0 -1
  709. package/.dist/esm/src/lib/queryBody.d.ts.map +0 -1
  710. package/.dist/esm/src/lib/reflection.d.ts.map +0 -1
  711. package/.dist/esm/src/lib/remoteMethods.d.ts.map +0 -1
  712. package/.dist/esm/src/lib/test/aotEmitter-test-router.d.ts +0 -5
  713. package/.dist/esm/src/lib/test/aotEmitter-test-router.d.ts.map +0 -1
  714. package/.dist/esm/src/lib/test/aotEmitter-test-router.js +0 -24
  715. package/.dist/esm/src/lib/test/aotEmitter-test-router.js.map +0 -1
  716. package/.dist/esm/src/router.d.ts.map +0 -1
  717. package/.dist/esm/src/routes/client.routes.d.ts +0 -20
  718. package/.dist/esm/src/routes/client.routes.d.ts.map +0 -1
  719. package/.dist/esm/src/routes/client.routes.js +0 -76
  720. package/.dist/esm/src/routes/client.routes.js.map +0 -1
  721. package/.dist/esm/src/routes/errors.routes.d.ts.map +0 -1
  722. package/.dist/esm/src/routes/mion.routes.d.ts +0 -10
  723. package/.dist/esm/src/routes/mion.routes.d.ts.map +0 -1
  724. package/.dist/esm/src/routes/mion.routes.js +0 -13
  725. package/.dist/esm/src/routes/mion.routes.js.map +0 -1
  726. package/.dist/esm/src/routes/serializer.routes.d.ts.map +0 -1
  727. package/.dist/esm/src/routesFlow.d.ts +0 -8
  728. package/.dist/esm/src/routesFlow.d.ts.map +0 -1
  729. package/.dist/esm/src/routesFlow.js +0 -227
  730. package/.dist/esm/src/routesFlow.js.map +0 -1
  731. package/.dist/esm/src/types/context.d.ts.map +0 -1
  732. package/.dist/esm/src/types/context.js.map +0 -1
  733. package/.dist/esm/src/types/definitions.d.ts.map +0 -1
  734. package/.dist/esm/src/types/definitions.js.map +0 -1
  735. package/.dist/esm/src/types/general.d.ts.map +0 -1
  736. package/.dist/esm/src/types/general.js.map +0 -1
  737. package/.dist/esm/src/types/guards.d.ts.map +0 -1
  738. package/.dist/esm/src/types/handlers.d.ts.map +0 -1
  739. package/.dist/esm/src/types/handlers.js.map +0 -1
  740. package/.dist/esm/src/types/publicMethods.d.ts.map +0 -1
  741. package/.dist/esm/src/types/publicMethods.js.map +0 -1
  742. package/.dist/esm/src/types/remoteMethods.d.ts.map +0 -1
  743. package/.dist/esm/src/types/remoteMethods.js.map +0 -1
  744. package/index.ts +0 -29
  745. package/src/aot/aotCacheLoader.ts +0 -15
  746. package/src/callContext.ts +0 -193
  747. package/src/constants.ts +0 -45
  748. package/src/defaultRoutes.ts +0 -37
  749. package/src/dispatch.ts +0 -204
  750. package/src/lib/aotEmitter.ts +0 -140
  751. package/src/lib/dispatchError.ts +0 -60
  752. package/src/lib/handlers.ts +0 -75
  753. package/src/lib/headers.ts +0 -102
  754. package/src/lib/methodsCache.ts +0 -72
  755. package/src/lib/queryBody.ts +0 -40
  756. package/src/lib/reflection.ts +0 -517
  757. package/src/lib/remoteMethods.ts +0 -180
  758. package/src/lib/test/aotEmitter-test-router.ts +0 -40
  759. package/src/router.ts +0 -656
  760. package/src/routes/client.routes.ts +0 -108
  761. package/src/routes/errors.routes.ts +0 -51
  762. package/src/routes/mion.routes.ts +0 -11
  763. package/src/routes/serializer.routes.ts +0 -225
  764. package/src/routesFlow.ts +0 -320
  765. package/src/types/context.ts +0 -119
  766. package/src/types/definitions.ts +0 -53
  767. package/src/types/general.ts +0 -84
  768. package/src/types/guards.ts +0 -71
  769. package/src/types/handlers.ts +0 -49
  770. package/src/types/publicMethods.ts +0 -83
  771. package/src/types/remoteMethods.ts +0 -54
@@ -0,0 +1,37 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let _mionjs_core = require("@mionjs/core");
3
+ //#region src/lib/bodyLimit.ts
4
+ /** Floor of a derived chain limit: a body of `{}` / `[]`, whitespace, or a no-params slot is never refused. */
5
+ var MIN_CHAIN_BODY_SIZE = 64;
6
+ /** A member's contribution: its own `maxBodySize` option, else the compact-JSON maximum of its params
7
+ * tuple the build computed, else unknown. One with no params and no option costs no slot at all. */
8
+ function memberBodyBytes(method) {
9
+ if (method.type === _mionjs_core.HandlerType.rawMiddleware) return null;
10
+ const declared = method.options.maxBodySize;
11
+ if (declared !== void 0) return declared;
12
+ if (!method.paramsCount) return null;
13
+ return method.paramsJsonMaxBytes;
14
+ }
15
+ /** The request limit of one chain, settled once at registration: the route's own `maxBodySize` option,
16
+ * else, when every member with params has a number, the largest keyed body `{"<id>":<params>,…}` times
17
+ * `maxBodySizeFactor`, else undefined, meaning the types cannot say and the request takes the adapter's
18
+ * `maxBodySize` at resolve time. Reads `options.maxBodySize` BEFORE it is overwritten with the result. */
19
+ function resolveChainMaxBodySize(methods, route, opts) {
20
+ if (route.options.maxBodySize !== void 0) return route.options.maxBodySize;
21
+ let total = 2;
22
+ let slots = 0;
23
+ for (const method of methods) {
24
+ const bytes = memberBodyBytes(method);
25
+ if (bytes === null) continue;
26
+ if (bytes === void 0) return void 0;
27
+ total += method.quotedId.length + 1 + bytes;
28
+ slots++;
29
+ }
30
+ if (slots > 1) total += slots - 1;
31
+ return Math.max(Math.ceil(total * opts.maxBodySizeFactor), 64);
32
+ }
33
+ //#endregion
34
+ exports.MIN_CHAIN_BODY_SIZE = MIN_CHAIN_BODY_SIZE;
35
+ exports.resolveChainMaxBodySize = resolveChainMaxBodySize;
36
+
37
+ //# sourceMappingURL=bodyLimit.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bodyLimit.cjs","names":[],"sources":["../../../../src/lib/bodyLimit.ts"],"sourcesContent":["/* ########\n * 2026 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {HandlerType} from '@mionjs/core';\nimport type {RemoteMethod, RouteMethod} from '../types/remoteMethods.ts';\nimport type {RouterOptions} from '../types/general.ts';\n\n/** Floor of a derived chain limit: a body of `{}` / `[]`, whitespace, or a no-params slot is never refused. */\nexport const MIN_CHAIN_BODY_SIZE = 64;\n\n/** A member's contribution: its own `maxBodySize` option, else the compact-JSON maximum of its params\n * tuple the build computed, else unknown. One with no params and no option costs no slot at all. */\nfunction memberBodyBytes(method: RemoteMethod): number | undefined | null {\n if (method.type === HandlerType.rawMiddleware) return null;\n const declared = method.options.maxBodySize;\n if (declared !== undefined) return declared;\n if (!method.paramsCount) return null;\n return method.paramsJsonMaxBytes;\n}\n\n/** The request limit of one chain, settled once at registration: the route's own `maxBodySize` option,\n * else, when every member with params has a number, the largest keyed body `{\"<id>\":<params>,…}` times\n * `maxBodySizeFactor`, else undefined, meaning the types cannot say and the request takes the adapter's\n * `maxBodySize` at resolve time. Reads `options.maxBodySize` BEFORE it is overwritten with the result. */\nexport function resolveChainMaxBodySize(methods: RemoteMethod[], route: RouteMethod, opts: RouterOptions): number | undefined {\n if (route.options.maxBodySize !== undefined) return route.options.maxBodySize;\n let total = 2; // the braces\n let slots = 0;\n for (const method of methods) {\n const bytes = memberBodyBytes(method);\n if (bytes === null) continue;\n if (bytes === undefined) return undefined;\n total += method.quotedId.length + 1 + bytes; // `\"id\":` + params\n slots++;\n }\n if (slots > 1) total += slots - 1; // the commas\n return Math.max(Math.ceil(total * opts.maxBodySizeFactor), MIN_CHAIN_BODY_SIZE);\n}\n"],"mappings":";;;;AAYA,IAAa,sBAAsB;;;AAInC,SAAS,gBAAgB,QAAiD;CACxE,IAAI,OAAO,SAAS,aAAA,YAAY,eAAe,OAAO;CACtD,MAAM,WAAW,OAAO,QAAQ;CAChC,IAAI,aAAa,KAAA,GAAW,OAAO;CACnC,IAAI,CAAC,OAAO,aAAa,OAAO;CAChC,OAAO,OAAO;AAChB;;;;;AAMA,SAAgB,wBAAwB,SAAyB,OAAoB,MAAyC;CAC5H,IAAI,MAAM,QAAQ,gBAAgB,KAAA,GAAW,OAAO,MAAM,QAAQ;CAClE,IAAI,QAAQ;CACZ,IAAI,QAAQ;CACZ,KAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,QAAQ,gBAAgB,MAAM;EACpC,IAAI,UAAU,MAAM;EACpB,IAAI,UAAU,KAAA,GAAW,OAAO,KAAA;EAChC,SAAS,OAAO,SAAS,SAAS,IAAI;EACtC;CACF;CACA,IAAI,QAAQ,GAAG,SAAS,QAAQ;CAChC,OAAO,KAAK,IAAI,KAAK,KAAK,QAAQ,KAAK,iBAAiB,GAAA,EAAsB;AAChF"}
@@ -0,0 +1,5 @@
1
+ import { RemoteMethod, RouteMethod } from '../types/remoteMethods.ts';
2
+ import { RouterOptions } from '../types/general.ts';
3
+ export declare const MIN_CHAIN_BODY_SIZE = 64;
4
+ export declare function resolveChainMaxBodySize(methods: RemoteMethod[], route: RouteMethod, opts: RouterOptions): number | undefined;
5
+ //# sourceMappingURL=bodyLimit.d.ts.map
@@ -0,0 +1,79 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let _mionjs_core = require("@mionjs/core");
3
+ //#region src/lib/bodyReader.ts
4
+ /** The 413 a platform adapter answers when a body passes the route's limit while it arrives. */
5
+ function requestPayloadTooLarge() {
6
+ return new _mionjs_core.FatalError({
7
+ statusCode: _mionjs_core.StatusCodes.PAYLOAD_TOO_LARGE,
8
+ publicMessage: "Payload Too Large",
9
+ type: "request-payload-too-large"
10
+ });
11
+ }
12
+ /** How a fetch-style runtime reads a body fastest, a numeric code so the per-request check is one integer
13
+ * compare. Measured on each runtime with a real server:
14
+ * `stream` pulls the body stream and decodes once: node's Request (undici, the vercel node runtime), where
15
+ * `text()` is slower than its own stream at every size.
16
+ * `text` is `text()` when a content-length is declared, the stream otherwise: workerd, where both are
17
+ * native and only the stream can stop an upload mid-flight.
18
+ * `buffered` is `text()` or `arrayBuffer()`, never the stream reader: bun buffers the body natively and its
19
+ * stream reader is over ten times slower, so its server-wide native limit is the one mid-flight guard. */
20
+ var BodyReadStrategy = {
21
+ stream: 1,
22
+ text: 2,
23
+ buffered: 3
24
+ };
25
+ var utf8 = new TextDecoder();
26
+ /** Reads a fetch-style request body as text against the route's limit, the way the runtime reads fastest
27
+ * (`strategy`). A declared `content-length` past the limit is refused before a byte is read. Sizes are
28
+ * counted in bytes, never less than the character count the router checks again before parsing, so the
29
+ * byte-exact refusal here always fires first. Undefined for a request with no body, else the router's 413. */
30
+ async function readRequestBody(req, maxBodySize, strategy) {
31
+ if (!req.body) return void 0;
32
+ const declared = req.headers.get("content-length");
33
+ if (declared !== null) {
34
+ if (Number(declared) > maxBodySize) throw requestPayloadTooLarge();
35
+ if (strategy !== BodyReadStrategy.stream) return req.text();
36
+ return readStream(req, maxBodySize);
37
+ }
38
+ if (strategy !== BodyReadStrategy.buffered) return readStream(req, maxBodySize);
39
+ const bytes = await req.arrayBuffer();
40
+ if (bytes.byteLength > maxBodySize) throw requestPayloadTooLarge();
41
+ return utf8.decode(bytes);
42
+ }
43
+ /** Pulls the body chunk by chunk with the running size counted, cancels the stream the moment it
44
+ * passes the limit so the rest is never pulled, and decodes ONCE at the end. */
45
+ async function readStream(req, maxBodySize) {
46
+ const reader = req.body.getReader();
47
+ const chunks = [];
48
+ let size = 0;
49
+ for (;;) {
50
+ const { done, value } = await reader.read();
51
+ if (done) break;
52
+ size += value.byteLength;
53
+ if (size > maxBodySize) {
54
+ await reader.cancel();
55
+ throw requestPayloadTooLarge();
56
+ }
57
+ chunks.push(value);
58
+ }
59
+ return decodeOnce(chunks, size);
60
+ }
61
+ /** One UTF-8 decode over the whole body: a single chunk decodes in place, several are joined into
62
+ * one buffer first so a character split across chunks is never decoded in halves. */
63
+ function decodeOnce(chunks, size) {
64
+ if (chunks.length === 0) return "";
65
+ if (chunks.length === 1) return utf8.decode(chunks[0]);
66
+ const joined = new Uint8Array(size);
67
+ let offset = 0;
68
+ for (const chunk of chunks) {
69
+ joined.set(chunk, offset);
70
+ offset += chunk.byteLength;
71
+ }
72
+ return utf8.decode(joined);
73
+ }
74
+ //#endregion
75
+ exports.BodyReadStrategy = BodyReadStrategy;
76
+ exports.readRequestBody = readRequestBody;
77
+ exports.requestPayloadTooLarge = requestPayloadTooLarge;
78
+
79
+ //# sourceMappingURL=bodyReader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bodyReader.cjs","names":[],"sources":["../../../../src/lib/bodyReader.ts"],"sourcesContent":["/* ########\n * 2026 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {FatalError, RpcError, StatusCodes} from '@mionjs/core';\n\n/** The 413 a platform adapter answers when a body passes the route's limit while it arrives. */\nexport function requestPayloadTooLarge(): RpcError<'request-payload-too-large'> {\n return new FatalError({\n statusCode: StatusCodes.PAYLOAD_TOO_LARGE,\n publicMessage: 'Payload Too Large',\n type: 'request-payload-too-large',\n });\n}\n\n/** How a fetch-style runtime reads a body fastest, a numeric code so the per-request check is one integer\n * compare. Measured on each runtime with a real server:\n * `stream` pulls the body stream and decodes once: node's Request (undici, the vercel node runtime), where\n * `text()` is slower than its own stream at every size.\n * `text` is `text()` when a content-length is declared, the stream otherwise: workerd, where both are\n * native and only the stream can stop an upload mid-flight.\n * `buffered` is `text()` or `arrayBuffer()`, never the stream reader: bun buffers the body natively and its\n * stream reader is over ten times slower, so its server-wide native limit is the one mid-flight guard. */\nexport const BodyReadStrategy = {stream: 1, text: 2, buffered: 3} as const;\nexport type BodyReadStrategy = (typeof BodyReadStrategy)[keyof typeof BodyReadStrategy];\n\n// One decoder for every request: a non-streaming `decode` keeps no state between calls, so sharing it is\n// safe. A streaming decode (`{stream: true}`) would not be, which is why the stream path decodes ONCE.\nconst utf8 = new TextDecoder();\n\n/** Reads a fetch-style request body as text against the route's limit, the way the runtime reads fastest\n * (`strategy`). A declared `content-length` past the limit is refused before a byte is read. Sizes are\n * counted in bytes, never less than the character count the router checks again before parsing, so the\n * byte-exact refusal here always fires first. Undefined for a request with no body, else the router's 413. */\nexport async function readRequestBody(\n req: Request,\n maxBodySize: number,\n strategy: BodyReadStrategy\n): Promise<string | undefined> {\n if (!req.body) return undefined;\n const declared = req.headers.get('content-length');\n if (declared !== null) {\n if (Number(declared) > maxBodySize) throw requestPayloadTooLarge();\n // the runtime delivers exactly content-length bytes: one native decode\n if (strategy !== BodyReadStrategy.stream) return req.text();\n return readStream(req, maxBodySize);\n }\n if (strategy !== BodyReadStrategy.buffered) return readStream(req, maxBodySize);\n // no content-length on a runtime whose stream reader is the slow path: take the bytes whole\n // (the native server limit already bounded them) and refuse past the limit before decoding\n const bytes = await req.arrayBuffer();\n if (bytes.byteLength > maxBodySize) throw requestPayloadTooLarge();\n return utf8.decode(bytes);\n}\n\n/** Pulls the body chunk by chunk with the running size counted, cancels the stream the moment it\n * passes the limit so the rest is never pulled, and decodes ONCE at the end. */\nasync function readStream(req: Request, maxBodySize: number): Promise<string> {\n const reader = req.body!.getReader();\n const chunks: Uint8Array[] = [];\n let size = 0;\n for (;;) {\n const {done, value} = await reader.read();\n if (done) break;\n size += value.byteLength;\n if (size > maxBodySize) {\n await reader.cancel();\n throw requestPayloadTooLarge();\n }\n chunks.push(value);\n }\n return decodeOnce(chunks, size);\n}\n\n/** One UTF-8 decode over the whole body: a single chunk decodes in place, several are joined into\n * one buffer first so a character split across chunks is never decoded in halves. */\nfunction decodeOnce(chunks: Uint8Array[], size: number): string {\n if (chunks.length === 0) return '';\n if (chunks.length === 1) return utf8.decode(chunks[0]);\n const joined = new Uint8Array(size);\n let offset = 0;\n for (const chunk of chunks) {\n joined.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return utf8.decode(joined);\n}\n"],"mappings":";;;;AAUA,SAAgB,yBAAgE;CAC9E,OAAO,IAAI,aAAA,WAAW;EACpB,YAAY,aAAA,YAAY;EACxB,eAAe;EACf,MAAM;CACR,CAAC;AACH;;;;;;;;;AAUA,IAAa,mBAAmB;CAAC,QAAQ;CAAG,MAAM;CAAG,UAAU;AAAC;AAKhE,IAAM,OAAO,IAAI,YAAY;;;;;AAM7B,eAAsB,gBACpB,KACA,aACA,UAC6B;CAC7B,IAAI,CAAC,IAAI,MAAM,OAAO,KAAA;CACtB,MAAM,WAAW,IAAI,QAAQ,IAAI,gBAAgB;CACjD,IAAI,aAAa,MAAM;EACrB,IAAI,OAAO,QAAQ,IAAI,aAAa,MAAM,uBAAuB;EAEjE,IAAI,aAAa,iBAAiB,QAAQ,OAAO,IAAI,KAAK;EAC1D,OAAO,WAAW,KAAK,WAAW;CACpC;CACA,IAAI,aAAa,iBAAiB,UAAU,OAAO,WAAW,KAAK,WAAW;CAG9E,MAAM,QAAQ,MAAM,IAAI,YAAY;CACpC,IAAI,MAAM,aAAa,aAAa,MAAM,uBAAuB;CACjE,OAAO,KAAK,OAAO,KAAK;AAC1B;;;AAIA,eAAe,WAAW,KAAc,aAAsC;CAC5E,MAAM,SAAS,IAAI,KAAM,UAAU;CACnC,MAAM,SAAuB,CAAC;CAC9B,IAAI,OAAO;CACX,SAAS;EACP,MAAM,EAAC,MAAM,UAAS,MAAM,OAAO,KAAK;EACxC,IAAI,MAAM;EACV,QAAQ,MAAM;EACd,IAAI,OAAO,aAAa;GACtB,MAAM,OAAO,OAAO;GACpB,MAAM,uBAAuB;EAC/B;EACA,OAAO,KAAK,KAAK;CACnB;CACA,OAAO,WAAW,QAAQ,IAAI;AAChC;;;AAIA,SAAS,WAAW,QAAsB,MAAsB;CAC9D,IAAI,OAAO,WAAW,GAAG,OAAO;CAChC,IAAI,OAAO,WAAW,GAAG,OAAO,KAAK,OAAO,OAAO,EAAE;CACrD,MAAM,SAAS,IAAI,WAAW,IAAI;CAClC,IAAI,SAAS;CACb,KAAK,MAAM,SAAS,QAAQ;EAC1B,OAAO,IAAI,OAAO,MAAM;EACxB,UAAU,MAAM;CAClB;CACA,OAAO,KAAK,OAAO,MAAM;AAC3B"}
@@ -0,0 +1,10 @@
1
+ import { RpcError } from '@mionjs/core';
2
+ export declare function requestPayloadTooLarge(): RpcError<'request-payload-too-large'>;
3
+ export declare const BodyReadStrategy: {
4
+ readonly stream: 1;
5
+ readonly text: 2;
6
+ readonly buffered: 3;
7
+ };
8
+ export type BodyReadStrategy = (typeof BodyReadStrategy)[keyof typeof BodyReadStrategy];
9
+ export declare function readRequestBody(req: Request, maxBodySize: number, strategy: BodyReadStrategy): Promise<string | undefined>;
10
+ //# sourceMappingURL=bodyReader.d.ts.map
@@ -1,39 +1,82 @@
1
- "use strict";
2
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const core = require("@mionjs/core");
2
+ const require_src_constants = require("../constants.cjs");
3
+ let _mionjs_core = require("@mionjs/core");
4
+ //#region src/lib/dispatchError.ts
5
+ /** The response for an error raised outside the router by any adapter; it goes in `@thrownErrors` like a route error. */
4
6
  function getRouterFatalErrorResponse(returnErr, respHeaders) {
5
- const body = {
6
- "@thrownErrors": { [core.MION_ROUTES.platformError]: returnErr }
7
- };
8
- respHeaders.set("content-type", "application/json; charset=utf-8");
9
- const response = {
10
- statusCode: returnErr.statusCode || core.StatusCodes.SERVER_ERROR,
11
- // Global errors are always unexpected
12
- hasErrors: true,
13
- headers: respHeaders,
14
- body,
15
- rawBody: JSON.stringify(body),
16
- serializer: core.SerializerModes.json
17
- // global errors are always json
18
- };
19
- return response;
7
+ (0, _mionjs_core.markFatal)(returnErr);
8
+ const body = { "@thrownErrors": { [_mionjs_core.MION_ROUTES.platformError]: returnErr } };
9
+ respHeaders.set("x-rpc-error", errorHeaderValue(returnErr.type));
10
+ return {
11
+ statusCode: returnErr.statusCode || _mionjs_core.StatusCodes.SERVER_ERROR,
12
+ contentType: require_src_constants.JSON_CONTENT_TYPE,
13
+ hasErrors: true,
14
+ fatalError: returnErr,
15
+ headers: respHeaders,
16
+ body
17
+ };
20
18
  }
21
- function onExecutableError(context, executable, err) {
22
- const response = context.response;
23
- const path = executable.id;
24
- const rpcError = err instanceof core.RpcError ? err : new core.RpcError({
25
- statusCode: core.StatusCodes.UNEXPECTED_ERROR,
26
- publicMessage: `Unknown error in handler "${path}" of route ExecutionChain.`,
27
- originalError: err,
28
- type: "unknown-error"
29
- });
30
- if (!response.hasErrors) response.headers.set("x-rpc-error", rpcError.type);
31
- response.statusCode = rpcError.statusCode ?? core.StatusCodes.UNEXPECTED_ERROR;
32
- response.hasErrors = true;
33
- const thrownErrors = context.request.thrownErrors || {};
34
- thrownErrors[path] = rpcError;
35
- context.request.thrownErrors = thrownErrors;
19
+ /** An app-thrown RpcError may carry any string as its `type`, and a CR or LF there is header injection on
20
+ * adapters that write headers unchecked (or an ERR_INVALID_CHAR throw on node). Anything outside the token
21
+ * alphabet reports as `unknown-error` on the header; the body still carries the full type. */
22
+ var HEADER_SAFE_TYPE = /^[A-Za-z0-9_.:@-]{1,128}$/;
23
+ function errorHeaderValue(type) {
24
+ return HEADER_SAFE_TYPE.test(type) ? type : "unknown-error";
36
25
  }
26
+ /** Marks the response as ended by `rpcError`: the error header (first error only), the status code,
27
+ * `hasErrors` (what the dispatcher's skip rule reads) and `fatalError` (first one wins). Shared by the
28
+ * thrown path and a returned FatalError; where the error itself lands is the caller's decision.
29
+ * `fallbackStatus` answers when the error carries no statusCode: a thrown one is unexpected (422), a
30
+ * returned FatalError a declared application error (400). */
31
+ function markResponseFailed(context, rpcError, fallbackStatus) {
32
+ const response = context.response;
33
+ if (!response.hasErrors) {
34
+ response.headers.set("x-rpc-error", errorHeaderValue(rpcError.type));
35
+ response.fatalError = rpcError;
36
+ }
37
+ response.statusCode = rpcError.statusCode ?? fallbackStatus;
38
+ response.hasErrors = true;
39
+ }
40
+ /** Whatever an adapter caught, as the mion error the wire carries. */
41
+ function toRpcError(err) {
42
+ return err instanceof _mionjs_core.RpcError ? err : new _mionjs_core.FatalError({
43
+ publicMessage: "Unknown Error",
44
+ type: "unknown-error",
45
+ originalError: err
46
+ });
47
+ }
48
+ /** Records an undeclared error under `key` and ends the request: it lands in `@thrownErrors` untyped, sets
49
+ * the status and the error header, and stops every later member that does not declare `alwaysRun`.
50
+ * Undeclared means thrown, or returned by a raw middleware, which cannot declare a return type; a declared
51
+ * error is returned from a handler and goes straight into `response.body`. The key is normally the member
52
+ * that failed; an adapter passes its own (`mion@platformError`) for a request no member could run. */
53
+ function recordUndeclaredError(context, key, err) {
54
+ const rpcError = (0, _mionjs_core.markFatal)(err instanceof _mionjs_core.RpcError ? err : new _mionjs_core.FatalError({
55
+ statusCode: _mionjs_core.StatusCodes.UNEXPECTED_ERROR,
56
+ publicMessage: `Unknown error in handler "${key}" of route ExecutionChain.`,
57
+ originalError: err,
58
+ type: "unknown-error"
59
+ }));
60
+ markResponseFailed(context, rpcError, _mionjs_core.StatusCodes.UNEXPECTED_ERROR);
61
+ addThrownError(context, key, rpcError);
62
+ }
63
+ /** Unlike recordUndeclaredError, does not end the request. */
64
+ function addThrownError(context, key, rpcError) {
65
+ const thrownErrors = context.request.thrownErrors || {};
66
+ thrownErrors[key] = rpcError;
67
+ context.request.thrownErrors = thrownErrors;
68
+ }
69
+ function hasThrownError(context, key) {
70
+ const thrownErrors = context.request.thrownErrors;
71
+ return !!thrownErrors && Object.hasOwn(thrownErrors, key);
72
+ }
73
+ //#endregion
74
+ exports.addThrownError = addThrownError;
75
+ exports.errorHeaderValue = errorHeaderValue;
37
76
  exports.getRouterFatalErrorResponse = getRouterFatalErrorResponse;
38
- exports.onExecutableError = onExecutableError;
39
- //# sourceMappingURL=dispatchError.cjs.map
77
+ exports.hasThrownError = hasThrownError;
78
+ exports.markResponseFailed = markResponseFailed;
79
+ exports.recordUndeclaredError = recordUndeclaredError;
80
+ exports.toRpcError = toRpcError;
81
+
82
+ //# sourceMappingURL=dispatchError.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatchError.cjs","sources":["../../../../src/lib/dispatchError.ts"],"sourcesContent":["import {RpcError, MION_ROUTES, Mutable, StatusCodes, SerializerModes} from '@mionjs/core';\nimport type {CallContext, MionHeaders, MionRequest, MionResponse, ResponseBody} from '../types/context.ts';\nimport type {RemoteMethod} from '../types/remoteMethods.ts';\n\n/**\n * Return a Response mion response for any error that happens before or outside the router.\n * to be used by any adapter layer. ie: node/http, aws/lambda, bun, etc.\n * Uses thrownErrors with a special platformError key to maintain consistency with route errors.\n * @param returnErr\n * @param respHeaders\n * @returns\n */\n\nexport function getRouterFatalErrorResponse(returnErr: RpcError<string>, respHeaders: MionHeaders): MionResponse {\n // Store platform error in thrownErrors with special platformError key\n const body: ResponseBody = {\n '@thrownErrors': {[MION_ROUTES.platformError]: returnErr},\n };\n respHeaders.set('content-type', 'application/json; charset=utf-8');\n const response: Mutable<MionResponse> = {\n statusCode: returnErr.statusCode || StatusCodes.SERVER_ERROR, // Global errors are always unexpected\n hasErrors: true,\n headers: respHeaders,\n body,\n rawBody: JSON.stringify(body),\n serializer: SerializerModes.json, // global errors are always json\n };\n return response;\n}\n\n/**\n * Handles errors during route dispatch.\n * All errors passed to this function are unexpected (thrown errors).\n * Expected errors are returned from handlers and added directly to response.body.\n * @param context\n * @param executable\n * @param err\n * @returns\n */\nexport function onExecutableError(context: CallContext, executable: RemoteMethod, err: any | RpcError<string> | Error) {\n const response = context.response as Mutable<MionResponse>;\n const path = executable.id;\n const rpcError: RpcError<string> =\n err instanceof RpcError\n ? err\n : new RpcError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n publicMessage: `Unknown error in handler \"${path}\" of route ExecutionChain.`,\n originalError: err,\n type: 'unknown-error',\n });\n // only first error sets the error header\n if (!response.hasErrors) response.headers.set('x-rpc-error', rpcError.type);\n response.statusCode = rpcError.statusCode ?? StatusCodes.UNEXPECTED_ERROR;\n response.hasErrors = true;\n // Store unexpected errors for serialization\n const thrownErrors = context.request.thrownErrors || ({} as Record<string, RpcError<string>>);\n thrownErrors[path] = rpcError;\n (context.request as Mutable<MionRequest>).thrownErrors = thrownErrors;\n}\n"],"names":["MION_ROUTES","StatusCodes","SerializerModes","RpcError"],"mappings":";;;AAaO,SAAS,4BAA4B,WAA6B,aAAwC;AAE7G,QAAM,OAAqB;AAAA,IACvB,iBAAiB,EAAC,CAACA,iBAAY,aAAa,GAAG,UAAA;AAAA,EAAS;AAE5D,cAAY,IAAI,gBAAgB,iCAAiC;AACjE,QAAM,WAAkC;AAAA,IACpC,YAAY,UAAU,cAAcC,KAAAA,YAAY;AAAA;AAAA,IAChD,WAAW;AAAA,IACX,SAAS;AAAA,IACT;AAAA,IACA,SAAS,KAAK,UAAU,IAAI;AAAA,IAC5B,YAAYC,KAAAA,gBAAgB;AAAA;AAAA,EAAA;AAEhC,SAAO;AACX;AAWO,SAAS,kBAAkB,SAAsB,YAA0B,KAAqC;AACnH,QAAM,WAAW,QAAQ;AACzB,QAAM,OAAO,WAAW;AACxB,QAAM,WACF,eAAeC,KAAAA,WACT,MACA,IAAIA,KAAAA,SAAS;AAAA,IACT,YAAYF,KAAAA,YAAY;AAAA,IACxB,eAAe,6BAA6B,IAAI;AAAA,IAChD,eAAe;AAAA,IACf,MAAM;AAAA,EAAA,CACT;AAEX,MAAI,CAAC,SAAS,UAAW,UAAS,QAAQ,IAAI,eAAe,SAAS,IAAI;AAC1E,WAAS,aAAa,SAAS,cAAcA,KAAAA,YAAY;AACzD,WAAS,YAAY;AAErB,QAAM,eAAe,QAAQ,QAAQ,gBAAiB,CAAA;AACtD,eAAa,IAAI,IAAI;AACpB,UAAQ,QAAiC,eAAe;AAC7D;;;"}
1
+ {"version":3,"file":"dispatchError.cjs","names":[],"sources":["../../../../src/lib/dispatchError.ts"],"sourcesContent":["import {RpcError, FatalError, MION_ROUTES, Mutable, StatusCodes, markFatal} from '@mionjs/core';\nimport {JSON_CONTENT_TYPE} from '../constants.ts';\nimport type {CallContext, MionHeaders, MionRequest, MionResponse, ResponseBody} from '../types/context.ts';\n\n/** The response for an error raised outside the router by any adapter; it goes in `@thrownErrors` like a route error. */\n\nexport function getRouterFatalErrorResponse(returnErr: RpcError<string>, respHeaders: MionHeaders): MionResponse {\n // a platform error ends the request before any handler runs, so it is fatal by definition\n markFatal(returnErr);\n const body: ResponseBody = {\n '@thrownErrors': {[MION_ROUTES.platformError]: returnErr},\n };\n respHeaders.set('x-rpc-error', errorHeaderValue(returnErr.type));\n const response: Mutable<MionResponse> = {\n statusCode: returnErr.statusCode || StatusCodes.SERVER_ERROR, // Global errors are always unexpected\n contentType: JSON_CONTENT_TYPE,\n hasErrors: true,\n fatalError: returnErr,\n headers: respHeaders,\n body,\n };\n return response;\n}\n\n/** An app-thrown RpcError may carry any string as its `type`, and a CR or LF there is header injection on\n * adapters that write headers unchecked (or an ERR_INVALID_CHAR throw on node). Anything outside the token\n * alphabet reports as `unknown-error` on the header; the body still carries the full type. */\nconst HEADER_SAFE_TYPE = /^[A-Za-z0-9_.:@-]{1,128}$/;\nexport function errorHeaderValue(type: string): string {\n return HEADER_SAFE_TYPE.test(type) ? type : 'unknown-error';\n}\n\n/** Marks the response as ended by `rpcError`: the error header (first error only), the status code,\n * `hasErrors` (what the dispatcher's skip rule reads) and `fatalError` (first one wins). Shared by the\n * thrown path and a returned FatalError; where the error itself lands is the caller's decision.\n * `fallbackStatus` answers when the error carries no statusCode: a thrown one is unexpected (422), a\n * returned FatalError a declared application error (400). */\nexport function markResponseFailed(context: CallContext, rpcError: RpcError<string>, fallbackStatus: number) {\n const response = context.response as Mutable<MionResponse>;\n if (!response.hasErrors) {\n response.headers.set('x-rpc-error', errorHeaderValue(rpcError.type));\n response.fatalError = rpcError;\n }\n response.statusCode = rpcError.statusCode ?? fallbackStatus;\n response.hasErrors = true;\n}\n\n/** Whatever an adapter caught, as the mion error the wire carries. */\nexport function toRpcError(err: unknown): RpcError<string> {\n return err instanceof RpcError\n ? err\n : new FatalError({publicMessage: 'Unknown Error', type: 'unknown-error', originalError: err as Error});\n}\n\n/** Records an undeclared error under `key` and ends the request: it lands in `@thrownErrors` untyped, sets\n * the status and the error header, and stops every later member that does not declare `alwaysRun`.\n * Undeclared means thrown, or returned by a raw middleware, which cannot declare a return type; a declared\n * error is returned from a handler and goes straight into `response.body`. The key is normally the member\n * that failed; an adapter passes its own (`mion@platformError`) for a request no member could run. */\nexport function recordUndeclaredError(context: CallContext, key: string, err: any) {\n const rpcError: RpcError<string> = markFatal(\n err instanceof RpcError\n ? err\n : new FatalError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n publicMessage: `Unknown error in handler \"${key}\" of route ExecutionChain.`,\n originalError: err,\n type: 'unknown-error',\n })\n );\n markResponseFailed(context, rpcError, StatusCodes.UNEXPECTED_ERROR);\n addThrownError(context, key, rpcError);\n}\n\n/** Unlike recordUndeclaredError, does not end the request. */\nexport function addThrownError(context: CallContext, key: string, rpcError: RpcError<string>) {\n // tsgo types `readonly || mutable` as readonly, so casting only the `{}` fallback still forbids the write.\n const thrownErrors = (context.request.thrownErrors || {}) as Record<string, RpcError<string>>;\n thrownErrors[key] = rpcError;\n (context.request as Mutable<MionRequest>).thrownErrors = thrownErrors;\n}\n\nexport function hasThrownError(context: CallContext, key: string): boolean {\n const thrownErrors = context.request.thrownErrors;\n return !!thrownErrors && Object.hasOwn(thrownErrors, key);\n}\n"],"mappings":";;;;;AAMA,SAAgB,4BAA4B,WAA6B,aAAwC;CAE/G,CAAA,GAAA,aAAA,WAAU,SAAS;CACnB,MAAM,OAAqB,EACzB,iBAAiB,GAAE,aAAA,YAAY,gBAAgB,UAAS,EAC1D;CACA,YAAY,IAAI,eAAe,iBAAiB,UAAU,IAAI,CAAC;CAS/D,OAAO;EAPL,YAAY,UAAU,cAAc,aAAA,YAAY;EAChD,aAAa,sBAAA;EACb,WAAW;EACX,YAAY;EACZ,SAAS;EACT;CAEK;AACT;;;;AAKA,IAAM,mBAAmB;AACzB,SAAgB,iBAAiB,MAAsB;CACrD,OAAO,iBAAiB,KAAK,IAAI,IAAI,OAAO;AAC9C;;;;;;AAOA,SAAgB,mBAAmB,SAAsB,UAA4B,gBAAwB;CAC3G,MAAM,WAAW,QAAQ;CACzB,IAAI,CAAC,SAAS,WAAW;EACvB,SAAS,QAAQ,IAAI,eAAe,iBAAiB,SAAS,IAAI,CAAC;EACnE,SAAS,aAAa;CACxB;CACA,SAAS,aAAa,SAAS,cAAc;CAC7C,SAAS,YAAY;AACvB;;AAGA,SAAgB,WAAW,KAAgC;CACzD,OAAO,eAAe,aAAA,WAClB,MACA,IAAI,aAAA,WAAW;EAAC,eAAe;EAAiB,MAAM;EAAiB,eAAe;CAAY,CAAC;AACzG;;;;;;AAOA,SAAgB,sBAAsB,SAAsB,KAAa,KAAU;CACjF,MAAM,YAAA,GAAA,aAAA,WACJ,eAAe,aAAA,WACX,MACA,IAAI,aAAA,WAAW;EACb,YAAY,aAAA,YAAY;EACxB,eAAe,6BAA6B,IAAI;EAChD,eAAe;EACf,MAAM;CACR,CAAC,CACP;CACA,mBAAmB,SAAS,UAAU,aAAA,YAAY,gBAAgB;CAClE,eAAe,SAAS,KAAK,QAAQ;AACvC;;AAGA,SAAgB,eAAe,SAAsB,KAAa,UAA4B;CAE5F,MAAM,eAAgB,QAAQ,QAAQ,gBAAgB,CAAC;CACvD,aAAa,OAAO;CACpB,QAAS,QAAiC,eAAe;AAC3D;AAEA,SAAgB,eAAe,SAAsB,KAAsB;CACzE,MAAM,eAAe,QAAQ,QAAQ;CACrC,OAAO,CAAC,CAAC,gBAAgB,OAAO,OAAO,cAAc,GAAG;AAC1D"}
@@ -1,6 +1,10 @@
1
1
  import { RpcError } from '@mionjs/core';
2
2
  import { CallContext, MionHeaders, MionResponse } from '../types/context.ts';
3
- import { RemoteMethod } from '../types/remoteMethods.ts';
4
3
  export declare function getRouterFatalErrorResponse(returnErr: RpcError<string>, respHeaders: MionHeaders): MionResponse;
5
- export declare function onExecutableError(context: CallContext, executable: RemoteMethod, err: any | RpcError<string> | Error): void;
4
+ export declare function errorHeaderValue(type: string): string;
5
+ export declare function markResponseFailed(context: CallContext, rpcError: RpcError<string>, fallbackStatus: number): void;
6
+ export declare function toRpcError(err: unknown): RpcError<string>;
7
+ export declare function recordUndeclaredError(context: CallContext, key: string, err: any): void;
8
+ export declare function addThrownError(context: CallContext, key: string, rpcError: RpcError<string>): void;
9
+ export declare function hasThrownError(context: CallContext, key: string): boolean;
6
10
  //# sourceMappingURL=dispatchError.d.ts.map
@@ -1,52 +1,99 @@
1
- "use strict";
2
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const core = require("@mionjs/core");
4
- function route(handler, opts) {
5
- return {
6
- type: core.HandlerType.route,
7
- handler,
8
- options: opts
9
- };
2
+ let _mionjs_core = require("@mionjs/core");
3
+ //#region src/lib/handlers.ts
4
+ var route = (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({
5
+ type: _mionjs_core.HandlerType.route,
6
+ handler,
7
+ options: opts,
8
+ rtFns: {
9
+ paramsFns,
10
+ returnFns,
11
+ paramsId,
12
+ returnId,
13
+ isAsyncId,
14
+ syncId
15
+ }
16
+ });
17
+ /** Typed as the same helper as `route()`, so both keep the marker signature the scanner reads at the call site. */
18
+ function routeWithMutation(isMutation) {
19
+ return (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({
20
+ type: _mionjs_core.HandlerType.route,
21
+ handler,
22
+ options: {
23
+ ...opts,
24
+ isMutation
25
+ },
26
+ rtFns: {
27
+ paramsFns,
28
+ returnFns,
29
+ paramsId,
30
+ returnId,
31
+ isAsyncId,
32
+ syncId
33
+ }
34
+ });
10
35
  }
11
- function query(handler, opts) {
12
- return {
13
- type: core.HandlerType.route,
14
- handler,
15
- options: { ...opts, isMutation: false }
16
- };
36
+ /** Route handler for read-only queries. Uses GET with ?data=base64url on the client when payload fits. */
37
+ var query = routeWithMutation(false);
38
+ var mutation = routeWithMutation(true);
39
+ var middleware = (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({
40
+ type: _mionjs_core.HandlerType.middleware,
41
+ handler,
42
+ options: opts,
43
+ rtFns: {
44
+ paramsFns,
45
+ returnFns,
46
+ paramsId,
47
+ returnId,
48
+ isAsyncId,
49
+ syncId
50
+ }
51
+ });
52
+ var headersMiddleware = (handler, opts, headersFns, paramsFns, returnFns, headersId, paramsId, returnId, isAsyncId, syncId) => ({
53
+ type: _mionjs_core.HandlerType.headersMiddleware,
54
+ handler,
55
+ options: opts,
56
+ rtFns: {
57
+ paramsFns,
58
+ returnFns,
59
+ paramsId,
60
+ returnId,
61
+ isAsyncId,
62
+ syncId,
63
+ headersFns,
64
+ headersId
65
+ }
66
+ });
67
+ var rawMiddleware = (handler, opts) => ({
68
+ type: _mionjs_core.HandlerType.rawMiddleware,
69
+ handler,
70
+ options: opts
71
+ });
72
+ /** Each on-demand middleware, with what it does on every call even without its slot. */
73
+ var onDemandMiddlewares = /* @__PURE__ */ new WeakMap();
74
+ /** Internal: the middleware runs only when the request body carries its slot, so an absent slot costs nothing */
75
+ function markOnDemand(def, onEveryCall) {
76
+ onDemandMiddlewares.set(def, onEveryCall);
77
+ return def;
17
78
  }
18
- function mutation(handler, opts) {
19
- return {
20
- type: core.HandlerType.route,
21
- handler,
22
- options: { ...opts, isMutation: true }
23
- };
79
+ function isOnDemandMiddleware(def) {
80
+ return onDemandMiddlewares.has(def);
24
81
  }
25
- function middleFn(handler, opts) {
26
- return {
27
- type: core.HandlerType.middleFn,
28
- handler,
29
- options: opts
30
- };
82
+ function getOnEveryCall(def) {
83
+ return onDemandMiddlewares.get(def);
31
84
  }
32
- function headersFn(handler, opts) {
33
- return {
34
- type: core.HandlerType.headersMiddleFn,
35
- handler,
36
- options: opts
37
- };
38
- }
39
- function rawMiddleFn(handler, opts) {
40
- return {
41
- type: core.HandlerType.rawMiddleFn,
42
- handler,
43
- options: opts
44
- };
45
- }
46
- exports.headersFn = headersFn;
47
- exports.middleFn = middleFn;
85
+ /** mion's own ids, never exposed to clients */
86
+ var mionInternalRouteIds = new Set(Object.values(_mionjs_core.MION_ROUTES));
87
+ //#endregion
88
+ exports.getOnEveryCall = getOnEveryCall;
89
+ exports.headersMiddleware = headersMiddleware;
90
+ exports.isOnDemandMiddleware = isOnDemandMiddleware;
91
+ exports.markOnDemand = markOnDemand;
92
+ exports.middleware = middleware;
93
+ exports.mionInternalRouteIds = mionInternalRouteIds;
48
94
  exports.mutation = mutation;
49
95
  exports.query = query;
50
- exports.rawMiddleFn = rawMiddleFn;
96
+ exports.rawMiddleware = rawMiddleware;
51
97
  exports.route = route;
52
- //# sourceMappingURL=handlers.cjs.map
98
+
99
+ //# sourceMappingURL=handlers.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.cjs","sources":["../../../../src/lib/handlers.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {HeadersMiddleFnOptions, MiddleFnOptions, RawMiddleFnOptions, RouteOptions} from '../types/remoteMethods.ts';\nimport {HandlerType} from '@mionjs/core';\nimport {Handler, HeaderHandler, RawMiddleFnHandler} from '../types/handlers.ts';\nimport {HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef} from '../types/definitions.ts';\n\n// ############# Route & MiddleFns initialization #############\n// these functions are just helpers to initialize the route & middleFns objects and keep route definitions clean\n\nexport function route<H extends Handler>(handler: H, opts?: RouteOptions): RouteDef<H> {\n return {\n type: HandlerType.route,\n handler,\n options: opts,\n };\n}\n\n/** Route handler for read-only queries. Uses GET with ?data=base64url on the client when payload fits. */\nexport function query<H extends Handler>(handler: H, opts?: RouteOptions): RouteDef<H> {\n return {\n type: HandlerType.route,\n handler,\n options: {...opts, isMutation: false},\n };\n}\n\n/** Route handler for mutations. Explicit alias for route() with isMutation: true. */\nexport function mutation<H extends Handler>(handler: H, opts?: RouteOptions): RouteDef<H> {\n return {\n type: HandlerType.route,\n handler,\n options: {...opts, isMutation: true},\n };\n}\n\nexport function middleFn<H extends Handler>(handler: H, opts?: MiddleFnOptions): MiddleFnDef<H> {\n return {\n type: HandlerType.middleFn,\n handler,\n options: opts,\n };\n}\n\n/**\n * MiddleFn for handling HTTP header parameters\n * Used to define middleFns that receive values from HTTP headers\n *\n * @example\n * ```ts\n * headersFn(['authorization'], (ctx, token: string): void => {\n * // token contains the value of the 'authorization' header\n * })\n * ```\n */\nexport function headersFn<H extends HeaderHandler>(handler: H, opts?: HeadersMiddleFnOptions): HeadersMiddleFnDef<H> {\n return {\n type: HandlerType.headersMiddleFn,\n handler,\n options: opts,\n };\n}\n\nexport function rawMiddleFn<H extends RawMiddleFnHandler>(handler: H, opts?: RawMiddleFnOptions): RawMiddleFnDef<H> {\n return {\n type: HandlerType.rawMiddleFn,\n handler,\n options: opts,\n };\n}\n"],"names":["HandlerType"],"mappings":";;;AAeO,SAAS,MAAyB,SAAY,MAAkC;AACnF,SAAO;AAAA,IACH,MAAMA,KAAAA,YAAY;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,EAAA;AAEjB;AAGO,SAAS,MAAyB,SAAY,MAAkC;AACnF,SAAO;AAAA,IACH,MAAMA,KAAAA,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,EAAC,GAAG,MAAM,YAAY,MAAA;AAAA,EAAK;AAE5C;AAGO,SAAS,SAA4B,SAAY,MAAkC;AACtF,SAAO;AAAA,IACH,MAAMA,KAAAA,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,EAAC,GAAG,MAAM,YAAY,KAAA;AAAA,EAAI;AAE3C;AAEO,SAAS,SAA4B,SAAY,MAAwC;AAC5F,SAAO;AAAA,IACH,MAAMA,KAAAA,YAAY;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,EAAA;AAEjB;AAaO,SAAS,UAAmC,SAAY,MAAsD;AACjH,SAAO;AAAA,IACH,MAAMA,KAAAA,YAAY;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,EAAA;AAEjB;AAEO,SAAS,YAA0C,SAAY,MAA8C;AAChH,SAAO;AAAA,IACH,MAAMA,KAAAA,YAAY;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,EAAA;AAEjB;;;;;;;"}
1
+ {"version":3,"file":"handlers.cjs","names":[],"sources":["../../../../src/lib/handlers.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {HandlerType, MION_ROUTES} from '@mionjs/core';\nimport type {\n HeadersMiddlewareHelper,\n MiddlewareHelper,\n PinnedMutation,\n RawMiddlewareHelper,\n RouteHelper,\n RouterOptionsInput,\n} from '../types/mionRouter.ts';\nimport type {CallContext} from '../types/context.ts';\n\n// ############# Route & Middlewares initialization (INTERNAL) #############\n// These bodies initialize the definition objects AND are the mion injection points: the trailing marker\n// params are filled at BUILD TIME by @mionjs/devtools. Not exported from the package, consumers reach\n// them as the closures `createMionRouter()` returns; only mion's own middlewares and its error / serializer routes\n// call them directly, each pinning its own `encoder`.\n// ⚠️ There is NO signature here on purpose: each body is TYPED BY its helper interface in\n// types/mionRouter.ts, the one place a helper signature is written, so there is no second surface to keep\n// in step. `RouterOptionsInput` is the widest options shape; `createMionRouter` narrows each helper to\n// its own `O` so a declaration reads the factory's options.\n\nexport const route: RouteHelper<RouterOptionsInput> = (\n handler,\n opts,\n paramsFns,\n returnFns,\n paramsId,\n returnId,\n isAsyncId,\n syncId\n) => ({\n type: HandlerType.route,\n handler,\n options: opts,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId},\n});\n\n/** Typed as the same helper as `route()`, so both keep the marker signature the scanner reads at the call site. */\nfunction routeWithMutation<M extends boolean>(isMutation: M): RouteHelper<RouterOptionsInput, M> {\n return (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({\n type: HandlerType.route,\n handler,\n options: {...opts, isMutation} as PinnedMutation<typeof opts & object, M>,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId},\n });\n}\n\n/** Route handler for read-only queries. Uses GET with ?data=base64url on the client when payload fits. */\nexport const query = routeWithMutation(false);\n\nexport const mutation = routeWithMutation(true);\n\nexport const middleware: MiddlewareHelper<RouterOptionsInput> = (\n handler,\n opts,\n paramsFns,\n returnFns,\n paramsId,\n returnId,\n isAsyncId,\n syncId\n) => ({\n type: HandlerType.middleware,\n handler,\n options: opts,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId},\n});\n\nexport const headersMiddleware: HeadersMiddlewareHelper<RouterOptionsInput> = (\n handler,\n opts,\n headersFns,\n paramsFns,\n returnFns,\n headersId,\n paramsId,\n returnId,\n isAsyncId,\n syncId\n) => ({\n type: HandlerType.headersMiddleware,\n handler,\n options: opts,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId, headersFns, headersId},\n});\n\nexport const rawMiddleware: RawMiddlewareHelper<RouterOptionsInput> = (handler, opts) => ({\n type: HandlerType.rawMiddleware,\n handler,\n options: opts,\n});\n\n/** Each on-demand middleware, with what it does on every call even without its slot. */\nconst onDemandMiddlewares = new WeakMap<object, OnEveryCall | undefined>();\ntype OnEveryCall = (ctx: CallContext) => void;\n\n/** Internal: the middleware runs only when the request body carries its slot, so an absent slot costs nothing */\nexport function markOnDemand<Def extends object>(def: Def, onEveryCall?: OnEveryCall): Def {\n onDemandMiddlewares.set(def, onEveryCall);\n return def;\n}\n\nexport function isOnDemandMiddleware(def: object): boolean {\n return onDemandMiddlewares.has(def);\n}\n\nexport function getOnEveryCall(def: object): OnEveryCall | undefined {\n return onDemandMiddlewares.get(def);\n}\n\n/** mion's own ids, never exposed to clients */\nexport const mionInternalRouteIds: ReadonlySet<string> = new Set(Object.values(MION_ROUTES));\n"],"mappings":";;;AA4BA,IAAa,SACX,SACA,MACA,WACA,WACA,UACA,UACA,WACA,YACI;CACJ,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;CACT,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAW;CAAM;AACrE;;AAGA,SAAS,kBAAqC,YAAmD;CAC/F,QAAQ,SAAS,MAAM,WAAW,WAAW,UAAU,UAAU,WAAW,YAAY;EACtF,MAAM,aAAA,YAAY;EAClB;EACA,SAAS;GAAC,GAAG;GAAM;EAAU;EAC7B,OAAO;GAAC;GAAW;GAAW;GAAU;GAAU;GAAW;EAAM;CACrE;AACF;;AAGA,IAAa,QAAQ,kBAAkB,KAAK;AAE5C,IAAa,WAAW,kBAAkB,IAAI;AAE9C,IAAa,cACX,SACA,MACA,WACA,WACA,UACA,UACA,WACA,YACI;CACJ,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;CACT,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAW;CAAM;AACrE;AAEA,IAAa,qBACX,SACA,MACA,YACA,WACA,WACA,WACA,UACA,UACA,WACA,YACI;CACJ,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;CACT,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAW;EAAQ;EAAY;CAAS;AAC5F;AAEA,IAAa,iBAA0D,SAAS,UAAU;CACxF,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;AACX;;AAGA,IAAM,sCAAsB,IAAI,QAAyC;;AAIzE,SAAgB,aAAiC,KAAU,aAAgC;CACzF,oBAAoB,IAAI,KAAK,WAAW;CACxC,OAAO;AACT;AAEA,SAAgB,qBAAqB,KAAsB;CACzD,OAAO,oBAAoB,IAAI,GAAG;AACpC;AAEA,SAAgB,eAAe,KAAsC;CACnE,OAAO,oBAAoB,IAAI,GAAG;AACpC;;AAGA,IAAa,uBAA4C,IAAI,IAAI,OAAO,OAAO,aAAA,WAAW,CAAC"}
@@ -1,10 +1,15 @@
1
- import { HeadersMiddleFnOptions, MiddleFnOptions, RawMiddleFnOptions, RouteOptions } from '../types/remoteMethods.ts';
2
- import { Handler, HeaderHandler, RawMiddleFnHandler } from '../types/handlers.ts';
3
- import { HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef } from '../types/definitions.ts';
4
- export declare function route<H extends Handler>(handler: H, opts?: RouteOptions): RouteDef<H>;
5
- export declare function query<H extends Handler>(handler: H, opts?: RouteOptions): RouteDef<H>;
6
- export declare function mutation<H extends Handler>(handler: H, opts?: RouteOptions): RouteDef<H>;
7
- export declare function middleFn<H extends Handler>(handler: H, opts?: MiddleFnOptions): MiddleFnDef<H>;
8
- export declare function headersFn<H extends HeaderHandler>(handler: H, opts?: HeadersMiddleFnOptions): HeadersMiddleFnDef<H>;
9
- export declare function rawMiddleFn<H extends RawMiddleFnHandler>(handler: H, opts?: RawMiddleFnOptions): RawMiddleFnDef<H>;
1
+ import { HeadersMiddlewareHelper, MiddlewareHelper, RawMiddlewareHelper, RouteHelper, RouterOptionsInput } from '../types/mionRouter.ts';
2
+ import { CallContext } from '../types/context.ts';
3
+ export declare const route: RouteHelper<RouterOptionsInput>;
4
+ export declare const query: RouteHelper<Partial<import('../types/general.ts').RouterOptions<any, any>>, false>;
5
+ export declare const mutation: RouteHelper<Partial<import('../types/general.ts').RouterOptions<any, any>>, true>;
6
+ export declare const middleware: MiddlewareHelper<RouterOptionsInput>;
7
+ export declare const headersMiddleware: HeadersMiddlewareHelper<RouterOptionsInput>;
8
+ export declare const rawMiddleware: RawMiddlewareHelper<RouterOptionsInput>;
9
+ type OnEveryCall = (ctx: CallContext) => void;
10
+ export declare function markOnDemand<Def extends object>(def: Def, onEveryCall?: OnEveryCall): Def;
11
+ export declare function isOnDemandMiddleware(def: object): boolean;
12
+ export declare function getOnEveryCall(def: object): OnEveryCall | undefined;
13
+ export declare const mionInternalRouteIds: ReadonlySet<string>;
14
+ export {};
10
15
  //# sourceMappingURL=handlers.d.ts.map