@mionjs/router 0.8.8 → 0.13.0

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_D32xQCR.cjs +16 -0
  2. package/.dist/cjs/.mion/types/A0Qb_D32xQCR.cjs.map +1 -0
  3. package/.dist/cjs/.mion/types/A0Qb_D5PMNNO.cjs +17 -0
  4. package/.dist/cjs/.mion/types/A0Qb_D5PMNNO.cjs.map +1 -0
  5. package/.dist/cjs/.mion/types/A0Qb_E1CjDEA.cjs +36 -0
  6. package/.dist/cjs/.mion/types/A0Qb_E1CjDEA.cjs.map +1 -0
  7. package/.dist/cjs/.mion/types/A0Qb_EYEglde.cjs +16 -0
  8. package/.dist/cjs/.mion/types/A0Qb_EYEglde.cjs.map +1 -0
  9. package/.dist/cjs/.mion/types/A0Qb_EyHLuYw.cjs +16 -0
  10. package/.dist/cjs/.mion/types/A0Qb_EyHLuYw.cjs.map +1 -0
  11. package/.dist/cjs/.mion/types/A0Qb_G42dZdW.cjs +16 -0
  12. package/.dist/cjs/.mion/types/A0Qb_G42dZdW.cjs.map +1 -0
  13. package/.dist/cjs/.mion/types/A0Qb_HSE8icr.cjs +16 -0
  14. package/.dist/cjs/.mion/types/A0Qb_HSE8icr.cjs.map +1 -0
  15. package/.dist/cjs/.mion/types/A0Qb_HXAy3Lx.cjs +13 -0
  16. package/.dist/cjs/.mion/types/A0Qb_HXAy3Lx.cjs.map +1 -0
  17. package/.dist/cjs/.mion/types/A0Qb_JJrCj9i.cjs +13 -0
  18. package/.dist/cjs/.mion/types/A0Qb_JJrCj9i.cjs.map +1 -0
  19. package/.dist/cjs/.mion/types/A0Qb_KDyf2Fa.cjs +16 -0
  20. package/.dist/cjs/.mion/types/A0Qb_KDyf2Fa.cjs.map +1 -0
  21. package/.dist/cjs/.mion/types/A0Qb_L3mQkaR.cjs +13 -0
  22. package/.dist/cjs/.mion/types/A0Qb_L3mQkaR.cjs.map +1 -0
  23. package/.dist/cjs/.mion/types/A0Qb_RAudOr2.cjs +13 -0
  24. package/.dist/cjs/.mion/types/A0Qb_RAudOr2.cjs.map +1 -0
  25. package/.dist/cjs/.mion/types/A0Qb_TRnIbow.cjs +17 -0
  26. package/.dist/cjs/.mion/types/A0Qb_TRnIbow.cjs.map +1 -0
  27. package/.dist/cjs/.mion/types/A0Qb_UOI3bXq.cjs +17 -0
  28. package/.dist/cjs/.mion/types/A0Qb_UOI3bXq.cjs.map +1 -0
  29. package/.dist/cjs/.mion/types/A0Qb_VsWxRKn.cjs +13 -0
  30. package/.dist/cjs/.mion/types/A0Qb_VsWxRKn.cjs.map +1 -0
  31. package/.dist/cjs/.mion/types/A0Qb_ZTKzxQG.cjs +16 -0
  32. package/.dist/cjs/.mion/types/A0Qb_ZTKzxQG.cjs.map +1 -0
  33. package/.dist/cjs/.mion/types/A0Qb_b4tYK8X.cjs +16 -0
  34. package/.dist/cjs/.mion/types/A0Qb_b4tYK8X.cjs.map +1 -0
  35. package/.dist/cjs/.mion/types/A0Qb_deFq9zY.cjs +26 -0
  36. package/.dist/cjs/.mion/types/A0Qb_deFq9zY.cjs.map +1 -0
  37. package/.dist/cjs/.mion/types/A0Qb_fMIJ1JT.cjs +14 -0
  38. package/.dist/cjs/.mion/types/A0Qb_fMIJ1JT.cjs.map +1 -0
  39. package/.dist/cjs/.mion/types/A0Qb_g17turq.cjs +13 -0
  40. package/.dist/cjs/.mion/types/A0Qb_g17turq.cjs.map +1 -0
  41. package/.dist/cjs/.mion/types/A0Qb_hqa3Nzs.cjs +14 -0
  42. package/.dist/cjs/.mion/types/A0Qb_hqa3Nzs.cjs.map +1 -0
  43. package/.dist/cjs/.mion/types/A0Qb_iKPrxW9.cjs +16 -0
  44. package/.dist/cjs/.mion/types/A0Qb_iKPrxW9.cjs.map +1 -0
  45. package/.dist/cjs/.mion/types/A0Qb_jLtJ5Kv.cjs +16 -0
  46. package/.dist/cjs/.mion/types/A0Qb_jLtJ5Kv.cjs.map +1 -0
  47. package/.dist/cjs/.mion/types/A0Qb_kibOHkN.cjs +14 -0
  48. package/.dist/cjs/.mion/types/A0Qb_kibOHkN.cjs.map +1 -0
  49. package/.dist/cjs/.mion/types/A0Qb_kz5ne4c.cjs +16 -0
  50. package/.dist/cjs/.mion/types/A0Qb_kz5ne4c.cjs.map +1 -0
  51. package/.dist/cjs/.mion/types/A0Qb_pzBRrJb.cjs +16 -0
  52. package/.dist/cjs/.mion/types/A0Qb_pzBRrJb.cjs.map +1 -0
  53. package/.dist/cjs/.mion/types/Eq2V_EYEglde.cjs +16 -0
  54. package/.dist/cjs/.mion/types/Eq2V_EYEglde.cjs.map +1 -0
  55. package/.dist/cjs/.mion/types/Eq2V_EyHLuYw.cjs +16 -0
  56. package/.dist/cjs/.mion/types/Eq2V_EyHLuYw.cjs.map +1 -0
  57. package/.dist/cjs/.mion/types/Eq2V_HSE8icr.cjs +16 -0
  58. package/.dist/cjs/.mion/types/Eq2V_HSE8icr.cjs.map +1 -0
  59. package/.dist/cjs/.mion/types/Eq2V_HXAy3Lx.cjs +13 -0
  60. package/.dist/cjs/.mion/types/Eq2V_HXAy3Lx.cjs.map +1 -0
  61. package/.dist/cjs/.mion/types/Eq2V_JJrCj9i.cjs +13 -0
  62. package/.dist/cjs/.mion/types/Eq2V_JJrCj9i.cjs.map +1 -0
  63. package/.dist/cjs/.mion/types/Eq2V_KDyf2Fa.cjs +16 -0
  64. package/.dist/cjs/.mion/types/Eq2V_KDyf2Fa.cjs.map +1 -0
  65. package/.dist/cjs/.mion/types/Eq2V_L3mQkaR.cjs +13 -0
  66. package/.dist/cjs/.mion/types/Eq2V_L3mQkaR.cjs.map +1 -0
  67. package/.dist/cjs/.mion/types/Eq2V_RAudOr2.cjs +13 -0
  68. package/.dist/cjs/.mion/types/Eq2V_RAudOr2.cjs.map +1 -0
  69. package/.dist/cjs/.mion/types/Eq2V_TRnIbow.cjs +17 -0
  70. package/.dist/cjs/.mion/types/Eq2V_TRnIbow.cjs.map +1 -0
  71. package/.dist/cjs/.mion/types/Eq2V_UOI3bXq.cjs +17 -0
  72. package/.dist/cjs/.mion/types/Eq2V_UOI3bXq.cjs.map +1 -0
  73. package/.dist/cjs/.mion/types/Eq2V_VsWxRKn.cjs +13 -0
  74. package/.dist/cjs/.mion/types/Eq2V_VsWxRKn.cjs.map +1 -0
  75. package/.dist/cjs/.mion/types/Eq2V_ZTKzxQG.cjs +16 -0
  76. package/.dist/cjs/.mion/types/Eq2V_ZTKzxQG.cjs.map +1 -0
  77. package/.dist/cjs/.mion/types/Eq2V_b4tYK8X.cjs +16 -0
  78. package/.dist/cjs/.mion/types/Eq2V_b4tYK8X.cjs.map +1 -0
  79. package/.dist/cjs/.mion/types/Eq2V_deFq9zY.cjs +26 -0
  80. package/.dist/cjs/.mion/types/Eq2V_deFq9zY.cjs.map +1 -0
  81. package/.dist/cjs/.mion/types/Eq2V_g17turq.cjs +13 -0
  82. package/.dist/cjs/.mion/types/Eq2V_g17turq.cjs.map +1 -0
  83. package/.dist/cjs/.mion/types/Eq2V_iKPrxW9.cjs +16 -0
  84. package/.dist/cjs/.mion/types/Eq2V_iKPrxW9.cjs.map +1 -0
  85. package/.dist/cjs/.mion/types/Eq2V_jLtJ5Kv.cjs +16 -0
  86. package/.dist/cjs/.mion/types/Eq2V_jLtJ5Kv.cjs.map +1 -0
  87. package/.dist/cjs/.mion/types/Eq2V_kz5ne4c.cjs +16 -0
  88. package/.dist/cjs/.mion/types/Eq2V_kz5ne4c.cjs.map +1 -0
  89. package/.dist/cjs/.mion/types/Eq2V_pzBRrJb.cjs +16 -0
  90. package/.dist/cjs/.mion/types/Eq2V_pzBRrJb.cjs.map +1 -0
  91. package/.dist/cjs/.mion/types/Ky89_D32xQCR.cjs +16 -0
  92. package/.dist/cjs/.mion/types/Ky89_D32xQCR.cjs.map +1 -0
  93. package/.dist/cjs/.mion/types/Ky89_D5PMNNO.cjs +16 -0
  94. package/.dist/cjs/.mion/types/Ky89_D5PMNNO.cjs.map +1 -0
  95. package/.dist/cjs/.mion/types/Ky89_E1CjDEA.cjs +32 -0
  96. package/.dist/cjs/.mion/types/Ky89_E1CjDEA.cjs.map +1 -0
  97. package/.dist/cjs/.mion/types/Ky89_EYEglde.cjs +16 -0
  98. package/.dist/cjs/.mion/types/Ky89_EYEglde.cjs.map +1 -0
  99. package/.dist/cjs/.mion/types/Ky89_EyHLuYw.cjs +16 -0
  100. package/.dist/cjs/.mion/types/Ky89_EyHLuYw.cjs.map +1 -0
  101. package/.dist/cjs/.mion/types/Ky89_G42dZdW.cjs +16 -0
  102. package/.dist/cjs/.mion/types/Ky89_G42dZdW.cjs.map +1 -0
  103. package/.dist/cjs/.mion/types/Ky89_HSE8icr.cjs +16 -0
  104. package/.dist/cjs/.mion/types/Ky89_HSE8icr.cjs.map +1 -0
  105. package/.dist/cjs/.mion/types/Ky89_JJrCj9i.cjs +13 -0
  106. package/.dist/cjs/.mion/types/Ky89_JJrCj9i.cjs.map +1 -0
  107. package/.dist/cjs/.mion/types/Ky89_KDyf2Fa.cjs +16 -0
  108. package/.dist/cjs/.mion/types/Ky89_KDyf2Fa.cjs.map +1 -0
  109. package/.dist/cjs/.mion/types/Ky89_L3mQkaR.cjs +13 -0
  110. package/.dist/cjs/.mion/types/Ky89_L3mQkaR.cjs.map +1 -0
  111. package/.dist/cjs/.mion/types/Ky89_RAudOr2.cjs +13 -0
  112. package/.dist/cjs/.mion/types/Ky89_RAudOr2.cjs.map +1 -0
  113. package/.dist/cjs/.mion/types/Ky89_TRnIbow.cjs +13 -0
  114. package/.dist/cjs/.mion/types/Ky89_TRnIbow.cjs.map +1 -0
  115. package/.dist/cjs/.mion/types/Ky89_UOI3bXq.cjs +17 -0
  116. package/.dist/cjs/.mion/types/Ky89_UOI3bXq.cjs.map +1 -0
  117. package/.dist/cjs/.mion/types/Ky89_ZTKzxQG.cjs +16 -0
  118. package/.dist/cjs/.mion/types/Ky89_ZTKzxQG.cjs.map +1 -0
  119. package/.dist/cjs/.mion/types/Ky89_b4tYK8X.cjs +16 -0
  120. package/.dist/cjs/.mion/types/Ky89_b4tYK8X.cjs.map +1 -0
  121. package/.dist/cjs/.mion/types/Ky89_deFq9zY.cjs +26 -0
  122. package/.dist/cjs/.mion/types/Ky89_deFq9zY.cjs.map +1 -0
  123. package/.dist/cjs/.mion/types/Ky89_fMIJ1JT.cjs +13 -0
  124. package/.dist/cjs/.mion/types/Ky89_fMIJ1JT.cjs.map +1 -0
  125. package/.dist/cjs/.mion/types/Ky89_g17turq.cjs +13 -0
  126. package/.dist/cjs/.mion/types/Ky89_g17turq.cjs.map +1 -0
  127. package/.dist/cjs/.mion/types/Ky89_hqa3Nzs.cjs +14 -0
  128. package/.dist/cjs/.mion/types/Ky89_hqa3Nzs.cjs.map +1 -0
  129. package/.dist/cjs/.mion/types/Ky89_iKPrxW9.cjs +16 -0
  130. package/.dist/cjs/.mion/types/Ky89_iKPrxW9.cjs.map +1 -0
  131. package/.dist/cjs/.mion/types/Ky89_jLtJ5Kv.cjs +16 -0
  132. package/.dist/cjs/.mion/types/Ky89_jLtJ5Kv.cjs.map +1 -0
  133. package/.dist/cjs/.mion/types/Ky89_kibOHkN.cjs +13 -0
  134. package/.dist/cjs/.mion/types/Ky89_kibOHkN.cjs.map +1 -0
  135. package/.dist/cjs/.mion/types/Ky89_kz5ne4c.cjs +16 -0
  136. package/.dist/cjs/.mion/types/Ky89_kz5ne4c.cjs.map +1 -0
  137. package/.dist/cjs/.mion/types/Ky89_pzBRrJb.cjs +16 -0
  138. package/.dist/cjs/.mion/types/Ky89_pzBRrJb.cjs.map +1 -0
  139. package/.dist/cjs/.mion/types/OBOg_D32xQCR.cjs +23 -0
  140. package/.dist/cjs/.mion/types/OBOg_D32xQCR.cjs.map +1 -0
  141. package/.dist/cjs/.mion/types/OBOg_D5PMNNO.cjs +18 -0
  142. package/.dist/cjs/.mion/types/OBOg_D5PMNNO.cjs.map +1 -0
  143. package/.dist/cjs/.mion/types/OBOg_E1CjDEA.cjs +18 -0
  144. package/.dist/cjs/.mion/types/OBOg_E1CjDEA.cjs.map +1 -0
  145. package/.dist/cjs/.mion/types/OBOg_G42dZdW.cjs +18 -0
  146. package/.dist/cjs/.mion/types/OBOg_G42dZdW.cjs.map +1 -0
  147. package/.dist/cjs/.mion/types/OBOg_LKYfhxm.cjs +18 -0
  148. package/.dist/cjs/.mion/types/OBOg_LKYfhxm.cjs.map +1 -0
  149. package/.dist/cjs/.mion/types/OBOg_fMIJ1JT.cjs +18 -0
  150. package/.dist/cjs/.mion/types/OBOg_fMIJ1JT.cjs.map +1 -0
  151. package/.dist/cjs/.mion/types/OBOg_g17turq.cjs +17 -0
  152. package/.dist/cjs/.mion/types/OBOg_g17turq.cjs.map +1 -0
  153. package/.dist/cjs/.mion/types/OBOg_hqa3Nzs.cjs +17 -0
  154. package/.dist/cjs/.mion/types/OBOg_hqa3Nzs.cjs.map +1 -0
  155. package/.dist/cjs/.mion/types/OBOg_kibOHkN.cjs +17 -0
  156. package/.dist/cjs/.mion/types/OBOg_kibOHkN.cjs.map +1 -0
  157. package/.dist/cjs/.mion/types/Xhuv_D32xQCR.cjs +16 -0
  158. package/.dist/cjs/.mion/types/Xhuv_D32xQCR.cjs.map +1 -0
  159. package/.dist/cjs/.mion/types/Xhuv_D5PMNNO.cjs +16 -0
  160. package/.dist/cjs/.mion/types/Xhuv_D5PMNNO.cjs.map +1 -0
  161. package/.dist/cjs/.mion/types/Xhuv_E1CjDEA.cjs +29 -0
  162. package/.dist/cjs/.mion/types/Xhuv_E1CjDEA.cjs.map +1 -0
  163. package/.dist/cjs/.mion/types/Xhuv_EYEglde.cjs +16 -0
  164. package/.dist/cjs/.mion/types/Xhuv_EYEglde.cjs.map +1 -0
  165. package/.dist/cjs/.mion/types/Xhuv_EyHLuYw.cjs +16 -0
  166. package/.dist/cjs/.mion/types/Xhuv_EyHLuYw.cjs.map +1 -0
  167. package/.dist/cjs/.mion/types/Xhuv_G42dZdW.cjs +16 -0
  168. package/.dist/cjs/.mion/types/Xhuv_G42dZdW.cjs.map +1 -0
  169. package/.dist/cjs/.mion/types/Xhuv_HSE8icr.cjs +16 -0
  170. package/.dist/cjs/.mion/types/Xhuv_HSE8icr.cjs.map +1 -0
  171. package/.dist/cjs/.mion/types/Xhuv_HXAy3Lx.cjs +13 -0
  172. package/.dist/cjs/.mion/types/Xhuv_HXAy3Lx.cjs.map +1 -0
  173. package/.dist/cjs/.mion/types/Xhuv_JJrCj9i.cjs +13 -0
  174. package/.dist/cjs/.mion/types/Xhuv_JJrCj9i.cjs.map +1 -0
  175. package/.dist/cjs/.mion/types/Xhuv_KDyf2Fa.cjs +16 -0
  176. package/.dist/cjs/.mion/types/Xhuv_KDyf2Fa.cjs.map +1 -0
  177. package/.dist/cjs/.mion/types/Xhuv_L3mQkaR.cjs +13 -0
  178. package/.dist/cjs/.mion/types/Xhuv_L3mQkaR.cjs.map +1 -0
  179. package/.dist/cjs/.mion/types/Xhuv_LKYfhxm.cjs +13 -0
  180. package/.dist/cjs/.mion/types/Xhuv_LKYfhxm.cjs.map +1 -0
  181. package/.dist/cjs/.mion/types/Xhuv_RAudOr2.cjs +13 -0
  182. package/.dist/cjs/.mion/types/Xhuv_RAudOr2.cjs.map +1 -0
  183. package/.dist/cjs/.mion/types/Xhuv_TRnIbow.cjs +17 -0
  184. package/.dist/cjs/.mion/types/Xhuv_TRnIbow.cjs.map +1 -0
  185. package/.dist/cjs/.mion/types/Xhuv_UOI3bXq.cjs +17 -0
  186. package/.dist/cjs/.mion/types/Xhuv_UOI3bXq.cjs.map +1 -0
  187. package/.dist/cjs/.mion/types/Xhuv_VsWxRKn.cjs +13 -0
  188. package/.dist/cjs/.mion/types/Xhuv_VsWxRKn.cjs.map +1 -0
  189. package/.dist/cjs/.mion/types/Xhuv_ZTKzxQG.cjs +16 -0
  190. package/.dist/cjs/.mion/types/Xhuv_ZTKzxQG.cjs.map +1 -0
  191. package/.dist/cjs/.mion/types/Xhuv_ZgsWs6s.cjs +13 -0
  192. package/.dist/cjs/.mion/types/Xhuv_ZgsWs6s.cjs.map +1 -0
  193. package/.dist/cjs/.mion/types/Xhuv_b4tYK8X.cjs +16 -0
  194. package/.dist/cjs/.mion/types/Xhuv_b4tYK8X.cjs.map +1 -0
  195. package/.dist/cjs/.mion/types/Xhuv_deFq9zY.cjs +26 -0
  196. package/.dist/cjs/.mion/types/Xhuv_deFq9zY.cjs.map +1 -0
  197. package/.dist/cjs/.mion/types/Xhuv_fMIJ1JT.cjs +16 -0
  198. package/.dist/cjs/.mion/types/Xhuv_fMIJ1JT.cjs.map +1 -0
  199. package/.dist/cjs/.mion/types/Xhuv_g17turq.cjs +13 -0
  200. package/.dist/cjs/.mion/types/Xhuv_g17turq.cjs.map +1 -0
  201. package/.dist/cjs/.mion/types/Xhuv_hqa3Nzs.cjs +13 -0
  202. package/.dist/cjs/.mion/types/Xhuv_hqa3Nzs.cjs.map +1 -0
  203. package/.dist/cjs/.mion/types/Xhuv_iKPrxW9.cjs +16 -0
  204. package/.dist/cjs/.mion/types/Xhuv_iKPrxW9.cjs.map +1 -0
  205. package/.dist/cjs/.mion/types/Xhuv_jLtJ5Kv.cjs +16 -0
  206. package/.dist/cjs/.mion/types/Xhuv_jLtJ5Kv.cjs.map +1 -0
  207. package/.dist/cjs/.mion/types/Xhuv_kibOHkN.cjs +13 -0
  208. package/.dist/cjs/.mion/types/Xhuv_kibOHkN.cjs.map +1 -0
  209. package/.dist/cjs/.mion/types/Xhuv_kz5ne4c.cjs +16 -0
  210. package/.dist/cjs/.mion/types/Xhuv_kz5ne4c.cjs.map +1 -0
  211. package/.dist/cjs/.mion/types/Xhuv_pzBRrJb.cjs +16 -0
  212. package/.dist/cjs/.mion/types/Xhuv_pzBRrJb.cjs.map +1 -0
  213. package/.dist/cjs/.mion/types/mzca_fMIJ1JT.cjs +14 -0
  214. package/.dist/cjs/.mion/types/mzca_fMIJ1JT.cjs.map +1 -0
  215. package/.dist/cjs/.mion/types/mzca_hqa3Nzs.cjs +14 -0
  216. package/.dist/cjs/.mion/types/mzca_hqa3Nzs.cjs.map +1 -0
  217. package/.dist/cjs/.mion/types/mzca_kibOHkN.cjs +14 -0
  218. package/.dist/cjs/.mion/types/mzca_kibOHkN.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 +876 -0
  228. package/.dist/cjs/.mion/types/rt/eF4wQzU6Fd.cjs.map +1 -0
  229. package/.dist/cjs/.mion/types/rt/shared/JQEexHbHMp.cjs +467 -0
  230. package/.dist/cjs/.mion/types/rt/shared/JQEexHbHMp.cjs.map +1 -0
  231. package/.dist/cjs/.mion/types/rt/shared/connsmWgsp.cjs +1475 -0
  232. package/.dist/cjs/.mion/types/rt/shared/connsmWgsp.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_D32xQCR.js +16 -0
  313. package/.dist/esm/.mion/types/A0Qb_D32xQCR.js.map +1 -0
  314. package/.dist/esm/.mion/types/A0Qb_D5PMNNO.js +17 -0
  315. package/.dist/esm/.mion/types/A0Qb_D5PMNNO.js.map +1 -0
  316. package/.dist/esm/.mion/types/A0Qb_E1CjDEA.js +36 -0
  317. package/.dist/esm/.mion/types/A0Qb_E1CjDEA.js.map +1 -0
  318. package/.dist/esm/.mion/types/A0Qb_EYEglde.js +16 -0
  319. package/.dist/esm/.mion/types/A0Qb_EYEglde.js.map +1 -0
  320. package/.dist/esm/.mion/types/A0Qb_EyHLuYw.js +16 -0
  321. package/.dist/esm/.mion/types/A0Qb_EyHLuYw.js.map +1 -0
  322. package/.dist/esm/.mion/types/A0Qb_G42dZdW.js +16 -0
  323. package/.dist/esm/.mion/types/A0Qb_G42dZdW.js.map +1 -0
  324. package/.dist/esm/.mion/types/A0Qb_HSE8icr.js +16 -0
  325. package/.dist/esm/.mion/types/A0Qb_HSE8icr.js.map +1 -0
  326. package/.dist/esm/.mion/types/A0Qb_HXAy3Lx.js +13 -0
  327. package/.dist/esm/.mion/types/A0Qb_HXAy3Lx.js.map +1 -0
  328. package/.dist/esm/.mion/types/A0Qb_JJrCj9i.js +13 -0
  329. package/.dist/esm/.mion/types/A0Qb_JJrCj9i.js.map +1 -0
  330. package/.dist/esm/.mion/types/A0Qb_KDyf2Fa.js +16 -0
  331. package/.dist/esm/.mion/types/A0Qb_KDyf2Fa.js.map +1 -0
  332. package/.dist/esm/.mion/types/A0Qb_L3mQkaR.js +13 -0
  333. package/.dist/esm/.mion/types/A0Qb_L3mQkaR.js.map +1 -0
  334. package/.dist/esm/.mion/types/A0Qb_RAudOr2.js +13 -0
  335. package/.dist/esm/.mion/types/A0Qb_RAudOr2.js.map +1 -0
  336. package/.dist/esm/.mion/types/A0Qb_TRnIbow.js +17 -0
  337. package/.dist/esm/.mion/types/A0Qb_TRnIbow.js.map +1 -0
  338. package/.dist/esm/.mion/types/A0Qb_UOI3bXq.js +17 -0
  339. package/.dist/esm/.mion/types/A0Qb_UOI3bXq.js.map +1 -0
  340. package/.dist/esm/.mion/types/A0Qb_VsWxRKn.js +13 -0
  341. package/.dist/esm/.mion/types/A0Qb_VsWxRKn.js.map +1 -0
  342. package/.dist/esm/.mion/types/A0Qb_ZTKzxQG.js +16 -0
  343. package/.dist/esm/.mion/types/A0Qb_ZTKzxQG.js.map +1 -0
  344. package/.dist/esm/.mion/types/A0Qb_b4tYK8X.js +16 -0
  345. package/.dist/esm/.mion/types/A0Qb_b4tYK8X.js.map +1 -0
  346. package/.dist/esm/.mion/types/A0Qb_deFq9zY.js +26 -0
  347. package/.dist/esm/.mion/types/A0Qb_deFq9zY.js.map +1 -0
  348. package/.dist/esm/.mion/types/A0Qb_fMIJ1JT.js +14 -0
  349. package/.dist/esm/.mion/types/A0Qb_fMIJ1JT.js.map +1 -0
  350. package/.dist/esm/.mion/types/A0Qb_g17turq.js +13 -0
  351. package/.dist/esm/.mion/types/A0Qb_g17turq.js.map +1 -0
  352. package/.dist/esm/.mion/types/A0Qb_hqa3Nzs.js +14 -0
  353. package/.dist/esm/.mion/types/A0Qb_hqa3Nzs.js.map +1 -0
  354. package/.dist/esm/.mion/types/A0Qb_iKPrxW9.js +16 -0
  355. package/.dist/esm/.mion/types/A0Qb_iKPrxW9.js.map +1 -0
  356. package/.dist/esm/.mion/types/A0Qb_jLtJ5Kv.js +16 -0
  357. package/.dist/esm/.mion/types/A0Qb_jLtJ5Kv.js.map +1 -0
  358. package/.dist/esm/.mion/types/A0Qb_kibOHkN.js +14 -0
  359. package/.dist/esm/.mion/types/A0Qb_kibOHkN.js.map +1 -0
  360. package/.dist/esm/.mion/types/A0Qb_kz5ne4c.js +16 -0
  361. package/.dist/esm/.mion/types/A0Qb_kz5ne4c.js.map +1 -0
  362. package/.dist/esm/.mion/types/A0Qb_pzBRrJb.js +16 -0
  363. package/.dist/esm/.mion/types/A0Qb_pzBRrJb.js.map +1 -0
  364. package/.dist/esm/.mion/types/Eq2V_EYEglde.js +16 -0
  365. package/.dist/esm/.mion/types/Eq2V_EYEglde.js.map +1 -0
  366. package/.dist/esm/.mion/types/Eq2V_EyHLuYw.js +16 -0
  367. package/.dist/esm/.mion/types/Eq2V_EyHLuYw.js.map +1 -0
  368. package/.dist/esm/.mion/types/Eq2V_HSE8icr.js +16 -0
  369. package/.dist/esm/.mion/types/Eq2V_HSE8icr.js.map +1 -0
  370. package/.dist/esm/.mion/types/Eq2V_HXAy3Lx.js +13 -0
  371. package/.dist/esm/.mion/types/Eq2V_HXAy3Lx.js.map +1 -0
  372. package/.dist/esm/.mion/types/Eq2V_JJrCj9i.js +13 -0
  373. package/.dist/esm/.mion/types/Eq2V_JJrCj9i.js.map +1 -0
  374. package/.dist/esm/.mion/types/Eq2V_KDyf2Fa.js +16 -0
  375. package/.dist/esm/.mion/types/Eq2V_KDyf2Fa.js.map +1 -0
  376. package/.dist/esm/.mion/types/Eq2V_L3mQkaR.js +13 -0
  377. package/.dist/esm/.mion/types/Eq2V_L3mQkaR.js.map +1 -0
  378. package/.dist/esm/.mion/types/Eq2V_RAudOr2.js +13 -0
  379. package/.dist/esm/.mion/types/Eq2V_RAudOr2.js.map +1 -0
  380. package/.dist/esm/.mion/types/Eq2V_TRnIbow.js +17 -0
  381. package/.dist/esm/.mion/types/Eq2V_TRnIbow.js.map +1 -0
  382. package/.dist/esm/.mion/types/Eq2V_UOI3bXq.js +17 -0
  383. package/.dist/esm/.mion/types/Eq2V_UOI3bXq.js.map +1 -0
  384. package/.dist/esm/.mion/types/Eq2V_VsWxRKn.js +13 -0
  385. package/.dist/esm/.mion/types/Eq2V_VsWxRKn.js.map +1 -0
  386. package/.dist/esm/.mion/types/Eq2V_ZTKzxQG.js +16 -0
  387. package/.dist/esm/.mion/types/Eq2V_ZTKzxQG.js.map +1 -0
  388. package/.dist/esm/.mion/types/Eq2V_b4tYK8X.js +16 -0
  389. package/.dist/esm/.mion/types/Eq2V_b4tYK8X.js.map +1 -0
  390. package/.dist/esm/.mion/types/Eq2V_deFq9zY.js +26 -0
  391. package/.dist/esm/.mion/types/Eq2V_deFq9zY.js.map +1 -0
  392. package/.dist/esm/.mion/types/Eq2V_g17turq.js +13 -0
  393. package/.dist/esm/.mion/types/Eq2V_g17turq.js.map +1 -0
  394. package/.dist/esm/.mion/types/Eq2V_iKPrxW9.js +16 -0
  395. package/.dist/esm/.mion/types/Eq2V_iKPrxW9.js.map +1 -0
  396. package/.dist/esm/.mion/types/Eq2V_jLtJ5Kv.js +16 -0
  397. package/.dist/esm/.mion/types/Eq2V_jLtJ5Kv.js.map +1 -0
  398. package/.dist/esm/.mion/types/Eq2V_kz5ne4c.js +16 -0
  399. package/.dist/esm/.mion/types/Eq2V_kz5ne4c.js.map +1 -0
  400. package/.dist/esm/.mion/types/Eq2V_pzBRrJb.js +16 -0
  401. package/.dist/esm/.mion/types/Eq2V_pzBRrJb.js.map +1 -0
  402. package/.dist/esm/.mion/types/Ky89_D32xQCR.js +16 -0
  403. package/.dist/esm/.mion/types/Ky89_D32xQCR.js.map +1 -0
  404. package/.dist/esm/.mion/types/Ky89_D5PMNNO.js +16 -0
  405. package/.dist/esm/.mion/types/Ky89_D5PMNNO.js.map +1 -0
  406. package/.dist/esm/.mion/types/Ky89_E1CjDEA.js +32 -0
  407. package/.dist/esm/.mion/types/Ky89_E1CjDEA.js.map +1 -0
  408. package/.dist/esm/.mion/types/Ky89_EYEglde.js +16 -0
  409. package/.dist/esm/.mion/types/Ky89_EYEglde.js.map +1 -0
  410. package/.dist/esm/.mion/types/Ky89_EyHLuYw.js +16 -0
  411. package/.dist/esm/.mion/types/Ky89_EyHLuYw.js.map +1 -0
  412. package/.dist/esm/.mion/types/Ky89_G42dZdW.js +16 -0
  413. package/.dist/esm/.mion/types/Ky89_G42dZdW.js.map +1 -0
  414. package/.dist/esm/.mion/types/Ky89_HSE8icr.js +16 -0
  415. package/.dist/esm/.mion/types/Ky89_HSE8icr.js.map +1 -0
  416. package/.dist/esm/.mion/types/Ky89_JJrCj9i.js +13 -0
  417. package/.dist/esm/.mion/types/Ky89_JJrCj9i.js.map +1 -0
  418. package/.dist/esm/.mion/types/Ky89_KDyf2Fa.js +16 -0
  419. package/.dist/esm/.mion/types/Ky89_KDyf2Fa.js.map +1 -0
  420. package/.dist/esm/.mion/types/Ky89_L3mQkaR.js +13 -0
  421. package/.dist/esm/.mion/types/Ky89_L3mQkaR.js.map +1 -0
  422. package/.dist/esm/.mion/types/Ky89_RAudOr2.js +13 -0
  423. package/.dist/esm/.mion/types/Ky89_RAudOr2.js.map +1 -0
  424. package/.dist/esm/.mion/types/Ky89_TRnIbow.js +13 -0
  425. package/.dist/esm/.mion/types/Ky89_TRnIbow.js.map +1 -0
  426. package/.dist/esm/.mion/types/Ky89_UOI3bXq.js +17 -0
  427. package/.dist/esm/.mion/types/Ky89_UOI3bXq.js.map +1 -0
  428. package/.dist/esm/.mion/types/Ky89_ZTKzxQG.js +16 -0
  429. package/.dist/esm/.mion/types/Ky89_ZTKzxQG.js.map +1 -0
  430. package/.dist/esm/.mion/types/Ky89_b4tYK8X.js +16 -0
  431. package/.dist/esm/.mion/types/Ky89_b4tYK8X.js.map +1 -0
  432. package/.dist/esm/.mion/types/Ky89_deFq9zY.js +26 -0
  433. package/.dist/esm/.mion/types/Ky89_deFq9zY.js.map +1 -0
  434. package/.dist/esm/.mion/types/Ky89_fMIJ1JT.js +13 -0
  435. package/.dist/esm/.mion/types/Ky89_fMIJ1JT.js.map +1 -0
  436. package/.dist/esm/.mion/types/Ky89_g17turq.js +13 -0
  437. package/.dist/esm/.mion/types/Ky89_g17turq.js.map +1 -0
  438. package/.dist/esm/.mion/types/Ky89_hqa3Nzs.js +14 -0
  439. package/.dist/esm/.mion/types/Ky89_hqa3Nzs.js.map +1 -0
  440. package/.dist/esm/.mion/types/Ky89_iKPrxW9.js +16 -0
  441. package/.dist/esm/.mion/types/Ky89_iKPrxW9.js.map +1 -0
  442. package/.dist/esm/.mion/types/Ky89_jLtJ5Kv.js +16 -0
  443. package/.dist/esm/.mion/types/Ky89_jLtJ5Kv.js.map +1 -0
  444. package/.dist/esm/.mion/types/Ky89_kibOHkN.js +13 -0
  445. package/.dist/esm/.mion/types/Ky89_kibOHkN.js.map +1 -0
  446. package/.dist/esm/.mion/types/Ky89_kz5ne4c.js +16 -0
  447. package/.dist/esm/.mion/types/Ky89_kz5ne4c.js.map +1 -0
  448. package/.dist/esm/.mion/types/Ky89_pzBRrJb.js +16 -0
  449. package/.dist/esm/.mion/types/Ky89_pzBRrJb.js.map +1 -0
  450. package/.dist/esm/.mion/types/OBOg_D32xQCR.js +23 -0
  451. package/.dist/esm/.mion/types/OBOg_D32xQCR.js.map +1 -0
  452. package/.dist/esm/.mion/types/OBOg_D5PMNNO.js +18 -0
  453. package/.dist/esm/.mion/types/OBOg_D5PMNNO.js.map +1 -0
  454. package/.dist/esm/.mion/types/OBOg_E1CjDEA.js +18 -0
  455. package/.dist/esm/.mion/types/OBOg_E1CjDEA.js.map +1 -0
  456. package/.dist/esm/.mion/types/OBOg_G42dZdW.js +18 -0
  457. package/.dist/esm/.mion/types/OBOg_G42dZdW.js.map +1 -0
  458. package/.dist/esm/.mion/types/OBOg_LKYfhxm.js +18 -0
  459. package/.dist/esm/.mion/types/OBOg_LKYfhxm.js.map +1 -0
  460. package/.dist/esm/.mion/types/OBOg_fMIJ1JT.js +18 -0
  461. package/.dist/esm/.mion/types/OBOg_fMIJ1JT.js.map +1 -0
  462. package/.dist/esm/.mion/types/OBOg_g17turq.js +17 -0
  463. package/.dist/esm/.mion/types/OBOg_g17turq.js.map +1 -0
  464. package/.dist/esm/.mion/types/OBOg_hqa3Nzs.js +17 -0
  465. package/.dist/esm/.mion/types/OBOg_hqa3Nzs.js.map +1 -0
  466. package/.dist/esm/.mion/types/OBOg_kibOHkN.js +17 -0
  467. package/.dist/esm/.mion/types/OBOg_kibOHkN.js.map +1 -0
  468. package/.dist/esm/.mion/types/Xhuv_D32xQCR.js +16 -0
  469. package/.dist/esm/.mion/types/Xhuv_D32xQCR.js.map +1 -0
  470. package/.dist/esm/.mion/types/Xhuv_D5PMNNO.js +16 -0
  471. package/.dist/esm/.mion/types/Xhuv_D5PMNNO.js.map +1 -0
  472. package/.dist/esm/.mion/types/Xhuv_E1CjDEA.js +29 -0
  473. package/.dist/esm/.mion/types/Xhuv_E1CjDEA.js.map +1 -0
  474. package/.dist/esm/.mion/types/Xhuv_EYEglde.js +16 -0
  475. package/.dist/esm/.mion/types/Xhuv_EYEglde.js.map +1 -0
  476. package/.dist/esm/.mion/types/Xhuv_EyHLuYw.js +16 -0
  477. package/.dist/esm/.mion/types/Xhuv_EyHLuYw.js.map +1 -0
  478. package/.dist/esm/.mion/types/Xhuv_G42dZdW.js +16 -0
  479. package/.dist/esm/.mion/types/Xhuv_G42dZdW.js.map +1 -0
  480. package/.dist/esm/.mion/types/Xhuv_HSE8icr.js +16 -0
  481. package/.dist/esm/.mion/types/Xhuv_HSE8icr.js.map +1 -0
  482. package/.dist/esm/.mion/types/Xhuv_HXAy3Lx.js +13 -0
  483. package/.dist/esm/.mion/types/Xhuv_HXAy3Lx.js.map +1 -0
  484. package/.dist/esm/.mion/types/Xhuv_JJrCj9i.js +13 -0
  485. package/.dist/esm/.mion/types/Xhuv_JJrCj9i.js.map +1 -0
  486. package/.dist/esm/.mion/types/Xhuv_KDyf2Fa.js +16 -0
  487. package/.dist/esm/.mion/types/Xhuv_KDyf2Fa.js.map +1 -0
  488. package/.dist/esm/.mion/types/Xhuv_L3mQkaR.js +13 -0
  489. package/.dist/esm/.mion/types/Xhuv_L3mQkaR.js.map +1 -0
  490. package/.dist/esm/.mion/types/Xhuv_LKYfhxm.js +13 -0
  491. package/.dist/esm/.mion/types/Xhuv_LKYfhxm.js.map +1 -0
  492. package/.dist/esm/.mion/types/Xhuv_RAudOr2.js +13 -0
  493. package/.dist/esm/.mion/types/Xhuv_RAudOr2.js.map +1 -0
  494. package/.dist/esm/.mion/types/Xhuv_TRnIbow.js +17 -0
  495. package/.dist/esm/.mion/types/Xhuv_TRnIbow.js.map +1 -0
  496. package/.dist/esm/.mion/types/Xhuv_UOI3bXq.js +17 -0
  497. package/.dist/esm/.mion/types/Xhuv_UOI3bXq.js.map +1 -0
  498. package/.dist/esm/.mion/types/Xhuv_VsWxRKn.js +13 -0
  499. package/.dist/esm/.mion/types/Xhuv_VsWxRKn.js.map +1 -0
  500. package/.dist/esm/.mion/types/Xhuv_ZTKzxQG.js +16 -0
  501. package/.dist/esm/.mion/types/Xhuv_ZTKzxQG.js.map +1 -0
  502. package/.dist/esm/.mion/types/Xhuv_ZgsWs6s.js +13 -0
  503. package/.dist/esm/.mion/types/Xhuv_ZgsWs6s.js.map +1 -0
  504. package/.dist/esm/.mion/types/Xhuv_b4tYK8X.js +16 -0
  505. package/.dist/esm/.mion/types/Xhuv_b4tYK8X.js.map +1 -0
  506. package/.dist/esm/.mion/types/Xhuv_deFq9zY.js +26 -0
  507. package/.dist/esm/.mion/types/Xhuv_deFq9zY.js.map +1 -0
  508. package/.dist/esm/.mion/types/Xhuv_fMIJ1JT.js +16 -0
  509. package/.dist/esm/.mion/types/Xhuv_fMIJ1JT.js.map +1 -0
  510. package/.dist/esm/.mion/types/Xhuv_g17turq.js +13 -0
  511. package/.dist/esm/.mion/types/Xhuv_g17turq.js.map +1 -0
  512. package/.dist/esm/.mion/types/Xhuv_hqa3Nzs.js +13 -0
  513. package/.dist/esm/.mion/types/Xhuv_hqa3Nzs.js.map +1 -0
  514. package/.dist/esm/.mion/types/Xhuv_iKPrxW9.js +16 -0
  515. package/.dist/esm/.mion/types/Xhuv_iKPrxW9.js.map +1 -0
  516. package/.dist/esm/.mion/types/Xhuv_jLtJ5Kv.js +16 -0
  517. package/.dist/esm/.mion/types/Xhuv_jLtJ5Kv.js.map +1 -0
  518. package/.dist/esm/.mion/types/Xhuv_kibOHkN.js +13 -0
  519. package/.dist/esm/.mion/types/Xhuv_kibOHkN.js.map +1 -0
  520. package/.dist/esm/.mion/types/Xhuv_kz5ne4c.js +16 -0
  521. package/.dist/esm/.mion/types/Xhuv_kz5ne4c.js.map +1 -0
  522. package/.dist/esm/.mion/types/Xhuv_pzBRrJb.js +16 -0
  523. package/.dist/esm/.mion/types/Xhuv_pzBRrJb.js.map +1 -0
  524. package/.dist/esm/.mion/types/mzca_fMIJ1JT.js +14 -0
  525. package/.dist/esm/.mion/types/mzca_fMIJ1JT.js.map +1 -0
  526. package/.dist/esm/.mion/types/mzca_hqa3Nzs.js +14 -0
  527. package/.dist/esm/.mion/types/mzca_hqa3Nzs.js.map +1 -0
  528. package/.dist/esm/.mion/types/mzca_kibOHkN.js +14 -0
  529. package/.dist/esm/.mion/types/mzca_kibOHkN.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 +873 -0
  539. package/.dist/esm/.mion/types/rt/eF4wQzU6Fd.js.map +1 -0
  540. package/.dist/esm/.mion/types/rt/shared/JQEexHbHMp.js +467 -0
  541. package/.dist/esm/.mion/types/rt/shared/JQEexHbHMp.js.map +1 -0
  542. package/.dist/esm/.mion/types/rt/shared/connsmWgsp.js +1475 -0
  543. package/.dist/esm/.mion/types/rt/shared/connsmWgsp.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
@@ -1,191 +1,119 @@
1
- import { __ΩCallContext as ___CallContext, __ΩResponseBody as ___ResponseBody } from "../types/context.js";
2
- import { __ΩRouterOptions as ___RouterOptions } from "../types/general.js";
3
- import { __ΩMayReturnError as ___MayReturnError } from "../types/publicMethods.js";
4
- import { SerializerModes, deserializeBinaryBody, RpcError, StatusCodes, serializeBinaryBody as serializeBinaryBody$1, MION_ROUTES } from "@mionjs/core";
5
- import { rawMiddleFn } from "../lib/handlers.js";
6
- import { getRouteExecutableFromPath, getRouteExecutable } from "../router.js";
7
- import { __ΩRemoteMethod as ___RemoteMethod } from "../types/remoteMethods.js";
8
- import { onExecutableError } from "../lib/dispatchError.js";
1
+ import { JSON_CONTENT_TYPE } from "../constants.js";
2
+ import { recordUndeclaredError } from "../lib/dispatchError.js";
3
+ import { rawMiddleware } from "../lib/handlers.js";
4
+ import { getRouteExecutable, getRouterOptions } from "../router.js";
5
+ import { FatalError, MION_ROUTES, SerializerModes, StatusCodes, isRpcError } from "@mionjs/core";
6
+ //#region src/routes/serializer.routes.ts
7
+ /** Runs before any other middleware or route handler. Registered through `rawMiddleware`: it runs before the
8
+ * response contract exists, so it throws rather than answering with a declared error.
9
+ * @mion:rawMiddleware
10
+ */
9
11
  function deserializeRequestBody(context) {
10
- if (!context.request.rawBody)
11
- return;
12
- let parsedBody;
13
- switch (context.request.bodyType) {
14
- case SerializerModes.stringifyJson:
15
- try {
16
- parsedBody = JSON.parse(context.request.rawBody);
17
- } catch (err) {
18
- throw new RpcError({
19
- statusCode: StatusCodes.UNEXPECTED_ERROR,
20
- type: "parsing-json-request-error",
21
- publicMessage: `Invalid json request body: ${err?.message || "unknown parsing error."}`
22
- });
23
- }
24
- break;
25
- case SerializerModes.binary: {
26
- const rawBody = context.request.rawBody;
27
- const { body } = deserializeBinaryBody(context.path, rawBody, false);
28
- parsedBody = body;
29
- break;
30
- }
31
- case SerializerModes.json:
32
- parsedBody = context.request.rawBody;
33
- break;
34
- default:
35
- throw new Error(`Invalid body type ${context.request.bodyType}`);
36
- }
37
- if (parsedBody) {
38
- if (Array.isArray(parsedBody)) {
39
- parsedBody = { [getRouteExecutableFromPath(context.path).id]: parsedBody };
40
- }
41
- if (typeof parsedBody !== "object")
42
- throw new RpcError({
43
- statusCode: StatusCodes.UNEXPECTED_ERROR,
44
- type: "invalid-request-body",
45
- publicMessage: "Wrong request body. Expecting a body containing the route name and parameters."
46
- });
47
- context.request.body = parsedBody;
48
- }
12
+ if (!context.readsBody || context.response.hasErrors || !context.request.rawBody) return;
13
+ rejectOversizedBody(context.request.rawBody, context.maxBodySize);
14
+ let parsedBody;
15
+ switch (context.request.bodyType) {
16
+ case SerializerModes.stringifyJson:
17
+ try {
18
+ parsedBody = JSON.parse(context.request.rawBody);
19
+ } catch (err) {
20
+ throw new FatalError({
21
+ statusCode: StatusCodes.UNEXPECTED_ERROR,
22
+ type: "parsing-json-request-error",
23
+ publicMessage: "Invalid json request body.",
24
+ originalError: err
25
+ });
26
+ }
27
+ break;
28
+ case SerializerModes.json:
29
+ parsedBody = context.request.rawBody;
30
+ break;
31
+ default: throw new Error(`Invalid body type ${String(context.request.bodyType)}`);
32
+ }
33
+ if (Array.isArray(parsedBody)) {
34
+ const { methods, routeIndex } = context.executionChain;
35
+ parsedBody = { [methods[routeIndex].id]: parsedBody };
36
+ }
37
+ if (parsedBody === null || typeof parsedBody !== "object") throw new FatalError({
38
+ statusCode: StatusCodes.UNEXPECTED_ERROR,
39
+ type: "invalid-request-body",
40
+ publicMessage: "Wrong request body. Expecting a body containing the route name and parameters."
41
+ });
42
+ context.request.body = parsedBody;
43
+ if (getRouterOptions().releaseRawBody) context.request.rawBody = "";
49
44
  }
50
- deserializeRequestBody.__type = [() => ___CallContext, "context", () => ___MayReturnError, "deserializeRequestBody", 'Pn!2"n#/$'];
51
- function serializeResponseBody(context, opts) {
52
- const response = context.response;
53
- const respBody = response.body;
54
- const bodyType = context.response.serializer;
55
- const thrownErrors = context.request.thrownErrors;
56
- if (thrownErrors)
57
- response.body["@thrownErrors"] = thrownErrors;
58
- switch (bodyType) {
59
- case SerializerModes.stringifyJson: {
60
- response.headers.set("content-type", "application/json; charset=utf-8");
61
- const body = stringifyBody(context, context.executionChain.methods, respBody);
62
- response.rawBody = body;
63
- break;
64
- }
65
- case SerializerModes.json: {
66
- response.headers.set("content-type", "application/json; charset=utf-8");
67
- prepareBodyForJson(context, context.executionChain.methods, respBody);
68
- break;
69
- }
70
- case SerializerModes.binary: {
71
- response.headers.set("content-type", "application/octet-stream");
72
- serializeBinaryBody(context, context.executionChain.methods, respBody);
73
- break;
74
- }
75
- default:
76
- throw new Error(`Invalid body type ${context.request.bodyType}`);
77
- }
78
- }
79
- serializeResponseBody.__type = [() => ___CallContext, "context", () => ___RouterOptions, "opts", () => ___MayReturnError, "serializeResponseBody", 'Pn!2"n#2$n%/&'];
80
- function serializeBinaryBody(context, executionChain, respBody) {
81
- const response = context.response;
82
- const { serializer, buffer } = serializeBinaryBody$1(context.path, executionChain, respBody, true, context.routesFlowRouteIds);
83
- response.binSerializer = serializer;
84
- response.rawBody = new Uint8Array(buffer);
85
- }
86
- serializeBinaryBody.__type = [() => ___CallContext, "context", () => ___RemoteMethod, "executionChain", () => ___ResponseBody, "respBody", "serializeBinaryBody", `Pn!2"n#F2$n%2&$/'`];
87
- function stringifyBody(context, executionChain, respBody) {
88
- const props = [];
89
- for (let i = 0; i < executionChain.length; i++) {
90
- const method = executionChain[i];
91
- const returnValue = respBody[method.id];
92
- if (!method.hasReturnData || typeof returnValue === "undefined")
93
- continue;
94
- try {
95
- const jsonValue = stringifyHandlerReturnValue(method, returnValue);
96
- if (!jsonValue)
97
- continue;
98
- props.push(`${JSON.stringify(method.id)}:${jsonValue}`);
99
- } catch (e) {
100
- onStringifyExecutableError(context, method, e);
101
- }
102
- }
103
- const thrownErrors = respBody["@thrownErrors"];
104
- if (thrownErrors) {
105
- const method = getRouteExecutable(MION_ROUTES.thrownErrors);
106
- try {
107
- const jsonValue = stringifyHandlerReturnValue(method, thrownErrors);
108
- if (jsonValue)
109
- props.push(`${JSON.stringify(method.id)}:${jsonValue}`);
110
- } catch (e) {
111
- onStringifyExecutableError(context, method, e);
112
- }
113
- }
114
- return `{${props.join(",")}}`;
45
+ /** The router-level check of the limit the context carries (the chain's number, capped by the platform's).
46
+ * The node / uws adapters stopped the read at the same number; this is what holds on a platform that hands
47
+ * the body over whole. A string is measured in UTF-16 code units, never more than its byte length, so the
48
+ * byte-exact adapter limit always fires first. */
49
+ function rejectOversizedBody(rawBody, maxBodySize) {
50
+ if (typeof rawBody !== "string" || rawBody.length <= maxBodySize) return;
51
+ throw new FatalError({
52
+ statusCode: StatusCodes.PAYLOAD_TOO_LARGE,
53
+ type: "request-payload-too-large",
54
+ publicMessage: "Payload Too Large"
55
+ });
115
56
  }
116
- stringifyBody.__type = [() => ___CallContext, "context", () => ___RemoteMethod, "executionChain", () => ___ResponseBody, "respBody", "stringifyBody", `Pn!2"n#F2$n%2&&/'`];
117
- function onStringifyExecutableError(context, method, e) {
118
- const err = new RpcError({
119
- statusCode: StatusCodes.UNEXPECTED_ERROR,
120
- type: "json-stringify-response-error",
121
- publicMessage: `Failed to stringify return value for handler ${method.id}, expected response type: ${method.returnJitFns.stringifyJson.typeName}`,
122
- originalError: e,
123
- errorData: { methodId: method.id }
124
- });
125
- onExecutableError(context, method, err);
57
+ /** Runs after any other middleware or route handler. Registered through `rawMiddleware`: it IS the layer that
58
+ * writes the answer, so it has no declared error to return and throws instead.
59
+ * @mion:rawMiddleware
60
+ */
61
+ function serializeResponseBody(context, opts) {
62
+ const response = context.response;
63
+ const respBody = response.body;
64
+ response.contentType = JSON_CONTENT_TYPE;
65
+ prepareBodyForJson(context, context.executionChain.methods, respBody);
126
66
  }
127
- onStringifyExecutableError.__type = [() => ___CallContext, "context", () => ___RemoteMethod, "method", "e", "onStringifyExecutableError", 'Pn!2"n#2$"2%"/&'];
128
- function stringifyHandlerReturnValue(method, returnValue) {
129
- if (!method.hasReturnData)
130
- return "";
131
- if (method.returnJitFns.prepareForJson.isNoop)
132
- JSON.stringify(returnValue);
133
- return method.returnJitFns.stringifyJson.fn(returnValue);
67
+ /** A mistyped handler's undeclared error stays raw JSON: the success encoder would mangle it, the client reads its brand. */
68
+ function isUndeclaredError(method, value) {
69
+ return isRpcError(value) && !method.returnJitFns.isType.fn(value);
134
70
  }
135
- stringifyHandlerReturnValue.__type = [() => ___RemoteMethod, "method", "returnValue", "stringifyHandlerReturnValue", 'Pn!2""2#&/$'];
136
71
  function prepareBodyForJson(context, executionChain, respBody) {
137
- for (let i = 0; i < executionChain.length; i++) {
138
- const method = executionChain[i];
139
- const returnValue = respBody[method.id];
140
- if (!method.hasReturnData || typeof returnValue === "undefined")
141
- continue;
142
- try {
143
- const preparedValue = prepareHandlerReturnValue(method, returnValue);
144
- if (preparedValue !== void 0)
145
- respBody[method.id] = preparedValue;
146
- } catch (e) {
147
- onPrepareForJsonExecutableError(context, method, e);
148
- }
149
- }
150
- const thrownErrors = respBody["@thrownErrors"];
151
- if (thrownErrors) {
152
- const method = getRouteExecutable(MION_ROUTES.thrownErrors);
153
- try {
154
- const preparedValue = prepareHandlerReturnValue(method, thrownErrors);
155
- if (preparedValue !== void 0)
156
- respBody[method.id] = preparedValue;
157
- } catch (e) {
158
- onPrepareForJsonExecutableError(context, method, e);
159
- }
160
- }
72
+ for (let i = 0; i < executionChain.length; i++) {
73
+ const method = executionChain[i];
74
+ if (!method.hasReturnData || !Object.hasOwn(respBody, method.id)) continue;
75
+ const returnValue = respBody[method.id];
76
+ if (typeof returnValue === "undefined") continue;
77
+ try {
78
+ const preparedValue = prepareHandlerReturnValue(method, returnValue);
79
+ if (preparedValue !== void 0) respBody[method.id] = preparedValue;
80
+ } catch (e) {
81
+ onPrepareForJsonExecutableError(context, method, e);
82
+ }
83
+ }
84
+ const thrownErrors = context.request.thrownErrors;
85
+ if (thrownErrors) {
86
+ respBody["@thrownErrors"] = thrownErrors;
87
+ const method = getRouteExecutable(MION_ROUTES.thrownErrors);
88
+ try {
89
+ const preparedValue = prepareHandlerReturnValue(method, thrownErrors);
90
+ if (preparedValue !== void 0) respBody[method.id] = preparedValue;
91
+ } catch (e) {
92
+ onPrepareForJsonExecutableError(context, method, e);
93
+ }
94
+ }
161
95
  }
162
- prepareBodyForJson.__type = [() => ___CallContext, "context", () => ___RemoteMethod, "executionChain", () => ___ResponseBody, "respBody", "prepareBodyForJson", `Pn!2"n#F2$n%2&$/'`];
163
96
  function onPrepareForJsonExecutableError(context, method, e) {
164
- const err = new RpcError({
165
- statusCode: StatusCodes.UNEXPECTED_ERROR,
166
- type: "prepare-for-json-response-error",
167
- publicMessage: `Failed to prepare return value for JSON for handler ${method.id}, expected response type: ${method.returnJitFns.prepareForJson.typeName}`,
168
- originalError: e,
169
- errorData: { methodId: method.id }
170
- });
171
- onExecutableError(context, method, err);
97
+ const err = new FatalError({
98
+ statusCode: StatusCodes.UNEXPECTED_ERROR,
99
+ type: "prepare-for-json-response-error",
100
+ publicMessage: `Failed to prepare return value for JSON for handler ${method.id}, expected response type: ${method.returnJitFns.json.encode.typeName}`,
101
+ originalError: e,
102
+ errorData: { methodId: method.id }
103
+ });
104
+ recordUndeclaredError(context, method.id, err);
172
105
  }
173
- onPrepareForJsonExecutableError.__type = [() => ___CallContext, "context", () => ___RemoteMethod, "method", "e", "onPrepareForJsonExecutableError", 'Pn!2"n#2$"2%"/&'];
174
106
  function prepareHandlerReturnValue(method, returnValue) {
175
- if (!method.hasReturnData)
176
- return void 0;
177
- if (method.returnJitFns.prepareForJson.isNoop)
178
- return returnValue;
179
- return method.returnJitFns.prepareForJson.fn(returnValue);
107
+ if (!method.hasReturnData) return void 0;
108
+ const { json } = method.returnJitFns;
109
+ if (json.encode.isNoop || isUndeclaredError(method, returnValue)) return returnValue;
110
+ return json.encode.fn(returnValue);
180
111
  }
181
- prepareHandlerReturnValue.__type = [() => ___RemoteMethod, "method", "returnValue", "prepareHandlerReturnValue", 'Pn!2""2#"/$'];
182
- const serializerMiddleFns = {
183
- mionDeserializeRequest: rawMiddleFn(deserializeRequestBody, { runOnError: true }),
184
- mionSerializeResponse: rawMiddleFn(serializeResponseBody, { runOnError: true })
185
- };
186
- export {
187
- deserializeRequestBody,
188
- serializeResponseBody,
189
- serializerMiddleFns
112
+ var serializerMiddlewares = {
113
+ mionDeserializeRequest: rawMiddleware(deserializeRequestBody, { alwaysRun: true }),
114
+ ["mionSerializeResponse"]: rawMiddleware(serializeResponseBody, { alwaysRun: true })
190
115
  };
191
- //# sourceMappingURL=serializer.routes.js.map
116
+ //#endregion
117
+ export { deserializeRequestBody, serializeResponseBody, serializerMiddlewares };
118
+
119
+ //# sourceMappingURL=serializer.routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.routes.js","sources":["../../../../src/routes/serializer.routes.ts"],"sourcesContent":["/* ########\n * 2023 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {MionResponse, MionRequest, CallContext, ResponseBody} from '../types/context.ts';\nimport {RouterOptions} from '../types/general.ts';\nimport {MiddleFnsCollection, MayReturnError} from '../types/publicMethods.ts';\nimport {\n AnyObject,\n Mutable,\n MION_ROUTES,\n StatusCodes,\n serializeBinaryBody as coreSerializeBinaryBody,\n deserializeBinaryBody as coreDeserializeBinaryBody,\n SerializerModes,\n} from '@mionjs/core';\nimport {rawMiddleFn} from '../lib/handlers.ts';\nimport {getRouteExecutableFromPath, getRouteExecutable} from '../router.ts';\nimport {RpcError} from '@mionjs/core';\nimport {RemoteMethod} from '../types/remoteMethods.ts';\nimport {onExecutableError} from '../lib/dispatchError.ts';\n\n// ############# PUBLIC METHODS #############\n\n/**\n * Deserializes the request body and stores it in the request body property.\n * This method is called before any other middleFn or route handler.\n * For binary requests, the body is parsed lazily per-method in dispatch.ts.\n * @mion:middleFn\n */\nexport function deserializeRequestBody(context: CallContext): MayReturnError {\n if (!context.request.rawBody) return; // empty body\n let parsedBody: any;\n switch (context.request.bodyType) {\n case SerializerModes.stringifyJson: // jit stringify json\n try {\n parsedBody = JSON.parse(context.request.rawBody as string);\n } catch (err: any) {\n throw new RpcError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'parsing-json-request-error',\n publicMessage: `Invalid json request body: ${err?.message || 'unknown parsing error.'}`,\n });\n }\n break;\n case SerializerModes.binary: {\n // binary\n const rawBody = context.request.rawBody as Uint8Array;\n const {body} = coreDeserializeBinaryBody(context.path, rawBody, false);\n parsedBody = body;\n break;\n }\n case SerializerModes.json: // Object (pre-parsed body from platforms like Google Cloud Functions where Express auto-parses JSON)\n parsedBody = context.request.rawBody;\n break;\n default:\n throw new Error(`Invalid body type ${context.request.bodyType}`);\n }\n if (parsedBody) {\n if (Array.isArray(parsedBody)) {\n // when the body is an array we assume it's a single route call and we have to reconstruct the body\n // http://my-api.com/route1 [p1, p2, p3] => {route1: [p1, p2, p3]}\n parsedBody = {[getRouteExecutableFromPath(context.path).id]: parsedBody};\n }\n if (typeof parsedBody !== 'object')\n throw new RpcError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'invalid-request-body',\n publicMessage: 'Wrong request body. Expecting a body containing the route name and parameters.',\n });\n (context.request as Mutable<MionRequest>).body = parsedBody;\n }\n}\n\n/**\n * Serializes the response body and stores it in the response rawBody property.\n * This method is called after any other middleFn or route handler.\n * @mion:middleFn\n */\nexport function serializeResponseBody(context: CallContext, opts: RouterOptions): MayReturnError {\n const response = context.response as Mutable<MionResponse>;\n const respBody: AnyObject = response.body;\n const bodyType = context.response.serializer;\n const thrownErrors = context.request.thrownErrors as Record<string, RpcError<string>> | undefined;\n // Add thrownErrors to response body before the serializer runs\n if (thrownErrors) (response.body as Mutable<AnyObject>)['@thrownErrors'] = thrownErrors;\n switch (bodyType) {\n case SerializerModes.stringifyJson: {\n // json - use stringifyJson JIT function\n response.headers.set('content-type', 'application/json; charset=utf-8');\n const body = stringifyBody(context, context.executionChain.methods, respBody);\n response.rawBody = body;\n break;\n }\n case SerializerModes.json: {\n // pre-serialized object - only prepare for JSON, don't stringify\n // Platform adapters will handle the actual JSON stringification\n // prepareForJson mutates response.body in place, so we don't set rawBody\n response.headers.set('content-type', 'application/json; charset=utf-8');\n prepareBodyForJson(context, context.executionChain.methods, respBody);\n break;\n }\n case SerializerModes.binary: {\n // binary - use toBinary JIT function\n response.headers.set('content-type', 'application/octet-stream');\n serializeBinaryBody(context, context.executionChain.methods, respBody);\n break;\n }\n default:\n throw new Error(`Invalid body type ${context.request.bodyType}`);\n }\n}\n\n/** Serializes response body to binary format using the core serializeBinaryBody function */\nfunction serializeBinaryBody(context: CallContext, executionChain: RemoteMethod[], respBody: ResponseBody): void {\n const response = context.response as Mutable<MionResponse>;\n // For routesFlow, use routesFlowRouteIds from context for proper buffer sizing\n const {serializer, buffer} = coreSerializeBinaryBody(\n context.path,\n executionChain,\n respBody,\n true,\n context.routesFlowRouteIds\n );\n response.binSerializer = serializer;\n response.rawBody = new Uint8Array(buffer);\n}\n\nfunction stringifyBody(context: CallContext, executionChain: RemoteMethod[], respBody: ResponseBody): string {\n const props: string[] = [];\n for (let i = 0; i < executionChain.length; i++) {\n const method = executionChain[i];\n const returnValue = respBody[method.id];\n if (!method.hasReturnData || typeof returnValue === 'undefined') continue;\n try {\n const jsonValue = stringifyHandlerReturnValue(method, returnValue);\n if (!jsonValue) continue;\n props.push(`${JSON.stringify(method.id)}:${jsonValue}`);\n } catch (e: any) {\n onStringifyExecutableError(context, method, e);\n }\n }\n\n // Serialize thrownErrors if they exist\n const thrownErrors = respBody['@thrownErrors'];\n if (thrownErrors) {\n const method = getRouteExecutable(MION_ROUTES.thrownErrors)!;\n try {\n const jsonValue = stringifyHandlerReturnValue(method, thrownErrors);\n if (jsonValue) props.push(`${JSON.stringify(method.id)}:${jsonValue}`);\n } catch (e: any) {\n onStringifyExecutableError(context, method, e);\n }\n }\n return `{${props.join(',')}}`;\n}\n\nfunction onStringifyExecutableError(context: CallContext, method: RemoteMethod, e: any) {\n const err = new RpcError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'json-stringify-response-error',\n publicMessage: `Failed to stringify return value for handler ${method.id}, expected response type: ${method.returnJitFns.stringifyJson.typeName}`,\n originalError: e,\n errorData: {methodId: method.id},\n });\n onExecutableError(context, method, err);\n}\n\nfunction stringifyHandlerReturnValue(method: RemoteMethod, returnValue: any): string {\n if (!method.hasReturnData) return '';\n // id data does not require custom encoding then we use native json\n if (method.returnJitFns.prepareForJson.isNoop) JSON.stringify(returnValue);\n return method.returnJitFns.stringifyJson.fn(returnValue);\n}\n\nfunction prepareBodyForJson(context: CallContext, executionChain: RemoteMethod[], respBody: ResponseBody): void {\n // prepareForJson mutates the response body in place\n for (let i = 0; i < executionChain.length; i++) {\n const method = executionChain[i];\n const returnValue = respBody[method.id];\n if (!method.hasReturnData || typeof returnValue === 'undefined') continue;\n try {\n const preparedValue = prepareHandlerReturnValue(method, returnValue);\n if (preparedValue !== undefined) (respBody as Mutable<ResponseBody>)[method.id] = preparedValue;\n } catch (e: any) {\n onPrepareForJsonExecutableError(context, method, e);\n }\n }\n // Prepare thrownErrors if they exist\n const thrownErrors = respBody['@thrownErrors'];\n if (thrownErrors) {\n const method = getRouteExecutable(MION_ROUTES.thrownErrors)!;\n try {\n const preparedValue = prepareHandlerReturnValue(method, thrownErrors);\n if (preparedValue !== undefined) (respBody as Mutable<ResponseBody>)[method.id] = preparedValue;\n } catch (e: any) {\n onPrepareForJsonExecutableError(context, method, e);\n }\n }\n}\n\nfunction onPrepareForJsonExecutableError(context: CallContext, method: RemoteMethod, e: any) {\n const err = new RpcError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'prepare-for-json-response-error',\n publicMessage: `Failed to prepare return value for JSON for handler ${method.id}, expected response type: ${method.returnJitFns.prepareForJson.typeName}`,\n originalError: e,\n errorData: {methodId: method.id},\n });\n onExecutableError(context, method, err);\n}\n\nfunction prepareHandlerReturnValue(method: RemoteMethod, returnValue: any): any {\n if (!method.hasReturnData) return undefined;\n if (method.returnJitFns.prepareForJson.isNoop) return returnValue;\n return method.returnJitFns.prepareForJson.fn(returnValue);\n}\n\nexport const serializerMiddleFns = {\n mionDeserializeRequest: rawMiddleFn(deserializeRequestBody, {runOnError: true}),\n mionSerializeResponse: rawMiddleFn(serializeResponseBody, {runOnError: true}),\n} satisfies MiddleFnsCollection;\n"],"names":["coreDeserializeBinaryBody","coreSerializeBinaryBody"],"mappings":"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"}
1
+ {"version":3,"file":"serializer.routes.js","names":[],"sources":["../../../../src/routes/serializer.routes.ts"],"sourcesContent":["/* ########\n * 2023 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {MionResponse, MionRequest, CallContext, ResponseBody, RawRequestBody} from '../types/context.ts';\nimport {RouterOptions} from '../types/general.ts';\nimport {MiddlewaresCollection, MayReturnError} from '../types/publicMethods.ts';\nimport {AnyObject, Mutable, MION_ROUTES, StatusCodes, SerializerModes} from '@mionjs/core';\nimport {rawMiddleware} from '../lib/handlers.ts';\nimport {JSON_CONTENT_TYPE} from '../constants.ts';\nimport {getRouteExecutable, getRouterOptions} from '../router.ts';\nimport {FatalError, isRpcError} from '@mionjs/core';\nimport {RemoteMethod} from '../types/remoteMethods.ts';\nimport {recordUndeclaredError} from '../lib/dispatchError.ts';\n\n// ############# PUBLIC METHODS #############\n\n/** Runs before any other middleware or route handler. Registered through `rawMiddleware`: it runs before the\n * response contract exists, so it throws rather than answering with a declared error.\n * @mion:rawMiddleware\n */\nexport function deserializeRequestBody(context: CallContext): MayReturnError {\n // a request that already failed never parses: a not-found chain has no route to feed and the adapter\n // skipped the read; a caller that handed a body anyway (aws, gcloud, dispatchRoute) gets the same answer\n if (!context.readsBody || context.response.hasErrors || !context.request.rawBody) return;\n rejectOversizedBody(context.request.rawBody, context.maxBodySize);\n let parsedBody: any;\n switch (context.request.bodyType) {\n case SerializerModes.stringifyJson: // jit stringify json\n try {\n parsedBody = JSON.parse(context.request.rawBody as string);\n } catch (err: any) {\n // Fixed text: the engine's parse message (which quotes the offending input) stays on originalError\n throw new FatalError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'parsing-json-request-error',\n publicMessage: 'Invalid json request body.',\n originalError: err,\n });\n }\n break;\n case SerializerModes.json: // Object (pre-parsed body from platforms like Google Cloud Functions where Express auto-parses JSON)\n parsedBody = context.request.rawBody;\n break;\n default:\n throw new Error(`Invalid body type ${String(context.request.bodyType)}`);\n }\n if (Array.isArray(parsedBody)) {\n // an array body is a single route call, rebuilt as a body: /route1 [p1, p2] => {route1: [p1, p2]}\n // the chain already knows which member is the route, so this costs no second router lookup\n const {methods, routeIndex} = context.executionChain;\n parsedBody = {[methods[routeIndex].id]: parsedBody};\n }\n // `null`, `0`, `false` and `\"\"` are valid JSON documents but not a request body\n if (parsedBody === null || typeof parsedBody !== 'object')\n throw new FatalError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'invalid-request-body',\n publicMessage: 'Wrong request body. Expecting a body containing the route name and parameters.',\n });\n (context.request as Mutable<MionRequest>).body = parsedBody;\n // Nothing reads the raw body after this. An empty string rather than undefined, because `rawBody` is a\n // non-optional public field: it frees the body without making every consumer's read a maybe.\n if (getRouterOptions().releaseRawBody) (context.request as Mutable<MionRequest>).rawBody = '';\n}\n\n/** The router-level check of the limit the context carries (the chain's number, capped by the platform's).\n * The node / uws adapters stopped the read at the same number; this is what holds on a platform that hands\n * the body over whole. A string is measured in UTF-16 code units, never more than its byte length, so the\n * byte-exact adapter limit always fires first. */\nfunction rejectOversizedBody(rawBody: RawRequestBody, maxBodySize: number): void {\n // A pre-parsed object body has no wire size here and is never refused for being unmeasurable:\n // `dispatchRoute`, a batch and a test all pass bodies that never crossed a wire. The adapter handing a\n // parsed body over still has the wire size, so it owns the check (gcloud measures content-length first).\n if (typeof rawBody !== 'string' || rawBody.length <= maxBodySize) return;\n throw new FatalError({\n statusCode: StatusCodes.PAYLOAD_TOO_LARGE,\n type: 'request-payload-too-large',\n publicMessage: 'Payload Too Large',\n });\n}\n\n/** Runs after any other middleware or route handler. Registered through `rawMiddleware`: it IS the layer that\n * writes the answer, so it has no declared error to return and throws instead.\n * @mion:rawMiddleware\n */\nexport function serializeResponseBody(context: CallContext, opts: RouterOptions): MayReturnError {\n const response = context.response as Mutable<MionResponse>;\n const respBody: AnyObject = response.body;\n // prepareBodyForJson mutates in place; the adapter stringifies the body\n response.contentType = JSON_CONTENT_TYPE;\n prepareBodyForJson(context, context.executionChain.methods, respBody);\n}\n\n/** A mistyped handler's undeclared error stays raw JSON: the success encoder would mangle it, the client reads its brand. */\nfunction isUndeclaredError(method: RemoteMethod, value: unknown): boolean {\n return isRpcError(value) && !method.returnJitFns.isType.fn(value);\n}\n\nfunction prepareBodyForJson(context: CallContext, executionChain: RemoteMethod[], respBody: ResponseBody): void {\n for (let i = 0; i < executionChain.length; i++) {\n const method = executionChain[i];\n // own key only: a skipped member named like `toString` would otherwise encode Object.prototype's function\n if (!method.hasReturnData || !Object.hasOwn(respBody, method.id)) continue;\n const returnValue = respBody[method.id];\n if (typeof returnValue === 'undefined') continue;\n try {\n const preparedValue = prepareHandlerReturnValue(method, returnValue);\n if (preparedValue !== undefined) (respBody as Mutable<ResponseBody>)[method.id] = preparedValue;\n } catch (e: any) {\n onPrepareForJsonExecutableError(context, method, e);\n }\n }\n // read off the request after the loop: a failure inside it creates the map when it is the first error\n const thrownErrors = context.request.thrownErrors;\n if (thrownErrors) {\n (respBody as Mutable<ResponseBody>)['@thrownErrors'] = thrownErrors;\n const method = getRouteExecutable(MION_ROUTES.thrownErrors)!;\n try {\n const preparedValue = prepareHandlerReturnValue(method, thrownErrors);\n if (preparedValue !== undefined) (respBody as Mutable<ResponseBody>)[method.id] = preparedValue;\n } catch (e: any) {\n onPrepareForJsonExecutableError(context, method, e);\n }\n }\n}\n\nfunction onPrepareForJsonExecutableError(context: CallContext, method: RemoteMethod, e: any) {\n const err = new FatalError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'prepare-for-json-response-error',\n publicMessage: `Failed to prepare return value for JSON for handler ${method.id}, expected response type: ${method.returnJitFns.json.encode.typeName}`,\n originalError: e,\n errorData: {methodId: method.id},\n });\n recordUndeclaredError(context, method.id, err);\n}\n\nfunction prepareHandlerReturnValue(method: RemoteMethod, returnValue: any): any {\n if (!method.hasReturnData) return undefined;\n const {json} = method.returnJitFns;\n // an undeclared error is left as it is: the platform's JSON.stringify writes its own fields\n if (json.encode.isNoop || isUndeclaredError(method, returnValue)) return returnValue;\n return json.encode.fn(returnValue);\n}\n\nconst SERIALIZE_RESPONSE_ID = 'mionSerializeResponse';\n\nexport const serializerMiddlewares = {\n mionDeserializeRequest: rawMiddleware(deserializeRequestBody, {alwaysRun: true}),\n [SERIALIZE_RESPONSE_ID]: rawMiddleware(serializeResponseBody, {alwaysRun: true}),\n} satisfies MiddlewaresCollection;\n"],"mappings":";;;;;;;;;;AAwBA,SAAgB,uBAAuB,SAAsC;CAG3E,IAAI,CAAC,QAAQ,aAAa,QAAQ,SAAS,aAAa,CAAC,QAAQ,QAAQ,SAAS;CAClF,oBAAoB,QAAQ,QAAQ,SAAS,QAAQ,WAAW;CAChE,IAAI;CACJ,QAAQ,QAAQ,QAAQ,UAAxB;EACE,KAAK,gBAAgB;GACnB,IAAI;IACF,aAAa,KAAK,MAAM,QAAQ,QAAQ,OAAiB;GAC3D,SAAS,KAAU;IAEjB,MAAM,IAAI,WAAW;KACnB,YAAY,YAAY;KACxB,MAAM;KACN,eAAe;KACf,eAAe;IACjB,CAAC;GACH;GACA;EACF,KAAK,gBAAgB;GACnB,aAAa,QAAQ,QAAQ;GAC7B;EACF,SACE,MAAM,IAAI,MAAM,qBAAqB,OAAO,QAAQ,QAAQ,QAAQ,GAAG;CAC3E;CACA,IAAI,MAAM,QAAQ,UAAU,GAAG;EAG7B,MAAM,EAAC,SAAS,eAAc,QAAQ;EACtC,aAAa,GAAE,QAAQ,YAAY,KAAK,WAAU;CACpD;CAEA,IAAI,eAAe,QAAQ,OAAO,eAAe,UAC/C,MAAM,IAAI,WAAW;EACnB,YAAY,YAAY;EACxB,MAAM;EACN,eAAe;CACjB,CAAC;CACH,QAAS,QAAiC,OAAO;CAGjD,IAAI,iBAAiB,EAAE,gBAAgB,QAAS,QAAiC,UAAU;AAC7F;;;;;AAMA,SAAS,oBAAoB,SAAyB,aAA2B;CAI/E,IAAI,OAAO,YAAY,YAAY,QAAQ,UAAU,aAAa;CAClE,MAAM,IAAI,WAAW;EACnB,YAAY,YAAY;EACxB,MAAM;EACN,eAAe;CACjB,CAAC;AACH;;;;;AAMA,SAAgB,sBAAsB,SAAsB,MAAqC;CAC/F,MAAM,WAAW,QAAQ;CACzB,MAAM,WAAsB,SAAS;CAErC,SAAS,cAAc;CACvB,mBAAmB,SAAS,QAAQ,eAAe,SAAS,QAAQ;AACtE;;AAGA,SAAS,kBAAkB,QAAsB,OAAyB;CACxE,OAAO,WAAW,KAAK,KAAK,CAAC,OAAO,aAAa,OAAO,GAAG,KAAK;AAClE;AAEA,SAAS,mBAAmB,SAAsB,gBAAgC,UAA8B;CAC9G,KAAK,IAAI,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;EAC9C,MAAM,SAAS,eAAe;EAE9B,IAAI,CAAC,OAAO,iBAAiB,CAAC,OAAO,OAAO,UAAU,OAAO,EAAE,GAAG;EAClE,MAAM,cAAc,SAAS,OAAO;EACpC,IAAI,OAAO,gBAAgB,aAAa;EACxC,IAAI;GACF,MAAM,gBAAgB,0BAA0B,QAAQ,WAAW;GACnE,IAAI,kBAAkB,KAAA,GAAW,SAAoC,OAAO,MAAM;EACpF,SAAS,GAAQ;GACf,gCAAgC,SAAS,QAAQ,CAAC;EACpD;CACF;CAEA,MAAM,eAAe,QAAQ,QAAQ;CACrC,IAAI,cAAc;EAChB,SAAoC,mBAAmB;EACvD,MAAM,SAAS,mBAAmB,YAAY,YAAY;EAC1D,IAAI;GACF,MAAM,gBAAgB,0BAA0B,QAAQ,YAAY;GACpE,IAAI,kBAAkB,KAAA,GAAW,SAAoC,OAAO,MAAM;EACpF,SAAS,GAAQ;GACf,gCAAgC,SAAS,QAAQ,CAAC;EACpD;CACF;AACF;AAEA,SAAS,gCAAgC,SAAsB,QAAsB,GAAQ;CAC3F,MAAM,MAAM,IAAI,WAAW;EACzB,YAAY,YAAY;EACxB,MAAM;EACN,eAAe,uDAAuD,OAAO,GAAG,4BAA4B,OAAO,aAAa,KAAK,OAAO;EAC5I,eAAe;EACf,WAAW,EAAC,UAAU,OAAO,GAAE;CACjC,CAAC;CACD,sBAAsB,SAAS,OAAO,IAAI,GAAG;AAC/C;AAEA,SAAS,0BAA0B,QAAsB,aAAuB;CAC9E,IAAI,CAAC,OAAO,eAAe,OAAO,KAAA;CAClC,MAAM,EAAC,SAAQ,OAAO;CAEtB,IAAI,KAAK,OAAO,UAAU,kBAAkB,QAAQ,WAAW,GAAG,OAAO;CACzE,OAAO,KAAK,OAAO,GAAG,WAAW;AACnC;AAIA,IAAa,wBAAwB;CACnC,wBAAwB,cAAc,wBAAwB,EAAC,WAAW,KAAI,CAAC;EAC9E,0BAAwB,cAAc,uBAAuB,EAAC,WAAW,KAAI,CAAC;AACjF"}
@@ -1,4 +1,4 @@
1
- import { AnyObject, DataViewSerializer, SerializerCode, RpcError, RoutesFlowMapping } from '@mionjs/core';
1
+ import { AnyObject, SerializerCode, RpcError } from '@mionjs/core';
2
2
  import { MethodsExecutionChain } from './remoteMethods.ts';
3
3
  export interface CallContext<ContextData extends Record<string, any> = any> {
4
4
  readonly path: string;
@@ -6,11 +6,13 @@ export interface CallContext<ContextData extends Record<string, any> = any> {
6
6
  readonly response: MionResponse;
7
7
  shared: ContextData;
8
8
  readonly executionChain: MethodsExecutionChain;
9
+ readonly maxBodySize: number;
10
+ readonly readsBody: boolean;
9
11
  readonly urlQuery?: string;
10
- readonly routesFlowRouteIds?: string[];
12
+ readonly batchId?: string;
13
+ readonly batchRouteIds?: string[];
11
14
  }
12
- export type RawRequestBody = string | ArrayBuffer | Uint8Array | AnyObject;
13
- export type RawResponseBody = string | ArrayBuffer | Uint8Array | AnyObject;
15
+ export type RawRequestBody = string | AnyObject;
14
16
  export interface MionRequest {
15
17
  readonly headers: Readonly<Omit<MionHeaders, 'append' | 'set' | 'delete'>>;
16
18
  readonly rawBody: RawRequestBody;
@@ -20,12 +22,16 @@ export interface MionRequest {
20
22
  }
21
23
  export interface MionResponse {
22
24
  readonly statusCode: number;
25
+ readonly contentType: string;
23
26
  readonly headers: Readonly<MionHeaders>;
24
- readonly rawBody: RawResponseBody;
25
- readonly serializer: SerializerCode;
26
27
  readonly body: Readonly<ResponseBody>;
27
28
  readonly hasErrors: boolean;
28
- readonly binSerializer?: DataViewSerializer | undefined;
29
+ readonly fatalError?: RpcError<string>;
30
+ }
31
+ export type ResponseDefaults = Readonly<Record<string, string>>;
32
+ export interface PooledHeaders extends MionHeaders {
33
+ readonly unused: boolean;
34
+ readonly defaults: ResponseDefaults;
29
35
  }
30
36
  export interface MionHeaders {
31
37
  append(name: string, value: string): void;
@@ -41,18 +47,4 @@ export type ContextDataFactory<ContextData extends Record<string, any>> = () =>
41
47
  export interface ResponseBody extends Record<string, any> {
42
48
  '@thrownErrors'?: Record<string, RpcError<string>>;
43
49
  }
44
- export interface RoutesFlowExecutionResult {
45
- executionChain: MethodsExecutionChain;
46
- routesFlowRouteIds?: string[];
47
- mappings?: RoutesFlowMapping[];
48
- }
49
- export declare type __ΩCallContext = any[];
50
- export declare type __ΩRawRequestBody = any[];
51
- export declare type __ΩRawResponseBody = any[];
52
- export declare type __ΩMionRequest = any[];
53
- export declare type __ΩMionResponse = any[];
54
- export declare type __ΩMionHeaders = any[];
55
- export declare type __ΩContextDataFactory = any[];
56
- export declare type __ΩResponseBody = any[];
57
- export declare type __ΩRoutesFlowExecutionResult = any[];
58
50
  //# sourceMappingURL=context.d.ts.map
@@ -1,31 +0,0 @@
1
- const __ΩReadonly = ["T", "Readonly", 'l+e#!e"!fRb!Pde"!gN#%w"y'];
2
- const __ΩOmit = ["T", "K", () => __ΩPick, () => __ΩExclude, "Omit", 'b!b"e!!e!!ge!"o$#o##w%y'];
3
- const __ΩRecord = ["K", "T", "Record", `l'e#"Rb!b"Pde"!N#!w#y`];
4
- const __ΩIterableIterator = ["T", "TReturn", "TNext", () => __ΩIterator, 0, () => Symbol.iterator, "IterableIterator", `b!"c""c#Pe"!e""e"#o$$Pe#!e#"e##o%$1&Mw'y`];
5
- const __ΩPick = ["T", "K", "Pick", 'l+e#!e"!fRb!b"Pde""N#!w#y'];
6
- const __ΩExclude = ["T", "U", "Exclude", 'l6!Re$!RPe#!e$"qk#%QRb!b"Pde"!p)w#y'];
7
- const __ΩIterator = ["T", "TReturn", "TNext", "param0", () => __ΩIteratorResult, "next", "value", () => __ΩIteratorResult, "return", "e", () => __ΩIteratorResult, "throw", "Iterator", `b!"c""c#PPPPGPe%#GJ@2$e#!e#"o%#1&Pe#"2'8e#!e#"o(#1)8P"2*8e#!e#"o+#1,8Mw-y`];
8
- const __ΩIteratorResult = ["T", "TReturn", () => __ΩIteratorYieldResult, () => __ΩIteratorReturnResult, "IteratorResult", 'b!"c"Pe"!o#"e""o$"Jw%y'];
9
- const __ΩIteratorYieldResult = ["TYield", false, "done", "value", "IteratorYieldResult", 'b!P."4#8e"!4$Mw%y'];
10
- const __ΩIteratorReturnResult = ["TReturn", true, "done", "value", "IteratorReturnResult", 'b!P."4#e"!4$Mw%y'];
11
- const __ΩCallContext = ["ContextData", "path", () => __ΩMionRequest, "request", () => __ΩMionResponse, "response", "shared", "MethodsExecutionChain", "executionChain", "urlQuery", "routesFlowRouteIds", "CallContext", `"c!P&4"9n#4$9n%4&9e"!4'"w(4)9&4*89&F4+89Mw,y`];
12
- const __ΩRawRequestBody = ["AnyObject", "RawRequestBody", 'P&_W"w!Jw"y'];
13
- const __ΩRawResponseBody = ["AnyObject", "RawResponseBody", 'P&_W"w!Jw"y'];
14
- const __ΩMionRequest = [() => __ΩReadonly, () => __ΩOmit, () => __ΩMionHeaders, "append", "set", "delete", "headers", () => __ΩRawRequestBody, "rawBody", "SerializerCode", "bodyType", () => __ΩReadonly, "AnyObject", "body", () => __ΩReadonly, () => __ΩRecord, "RpcError", "thrownErrors", "MionRequest", `Pn#P.$.%.&Jo"#o!"4'9n(4)9"w*4+9"w-o,"4.9&"w1o0#o/"4289Mw3y`];
15
- const __ΩMionResponse = ["statusCode", () => __ΩReadonly, () => __ΩMionHeaders, "headers", () => __ΩRawResponseBody, "rawBody", "SerializerCode", "serializer", () => __ΩReadonly, () => __ΩResponseBody, "body", "hasErrors", "DataViewSerializer", "binSerializer", "MionResponse", `P'4!9n#o""4$9n%4&9"w'4(9n*o)"4+9)4,9P"w--J4.89Mw/y`];
16
- const __ΩMionHeaders = ["name", "value", "append", "delete", "set", "get", "has", () => __ΩIterableIterator, "entries", () => __ΩIterableIterator, "keys", () => __ΩIterableIterator, "values", "MionHeaders", `PP&2!&2"$1#P&2!$1$P&2!&2"$1%P&2!P&-,J1&P&2!)1'PP&&Go("1)P&o*"1+P&o,"1-Mw.y`];
17
- const __ΩContextDataFactory = ["ContextData", "", "ContextDataFactory", 'b!Pe"!/"w#y'];
18
- const __ΩResponseBody = [() => __ΩRecord, () => __ΩRecord, "RpcError", "@thrownErrors", "ResponseBody", 'P&"o!#&"w#o"#4$8Mw%y'];
19
- const __ΩRoutesFlowExecutionResult = ["MethodsExecutionChain", "executionChain", "routesFlowRouteIds", "RoutesFlowMapping", "mappings", "RoutesFlowExecutionResult", 'P"w!4"&F4#8"w$F4%8Mw&y'];
20
- export {
21
- __ΩCallContext,
22
- __ΩContextDataFactory,
23
- __ΩMionHeaders,
24
- __ΩMionRequest,
25
- __ΩMionResponse,
26
- __ΩRawRequestBody,
27
- __ΩRawResponseBody,
28
- __ΩResponseBody,
29
- __ΩRoutesFlowExecutionResult
30
- };
31
- //# sourceMappingURL=context.js.map
@@ -1,21 +1,33 @@
1
- import { Handler, HeaderHandler, RawMiddleFnHandler } from './handlers.ts';
2
- import { HeadersMiddleFnOptions, HeadersMethod, MiddleFnOptions, MiddleFnMethod, RawMiddleFnOptions, RawMethod, RouteOptions, RouteMethod } from './remoteMethods.ts';
3
- export type RouteDef<H extends Handler = any> = Pick<RouteMethod<H>, 'type' | 'handler'> & {
4
- options?: RouteOptions;
5
- };
6
- export type MiddleFnDef<H extends Handler = any> = Pick<MiddleFnMethod<H>, 'type' | 'handler'> & {
7
- options?: MiddleFnOptions;
8
- };
9
- export type HeadersMiddleFnDef<H extends HeaderHandler = any> = Pick<HeadersMethod<H>, 'type' | 'handler'> & {
10
- options?: HeadersMiddleFnOptions;
11
- };
12
- export type RawMiddleFnDef<H extends RawMiddleFnHandler = any> = Pick<RawMethod<H>, 'type' | 'handler'> & {
13
- options?: RawMiddleFnOptions;
14
- };
15
- export type AnyHandlerDef = RouteDef | MiddleFnDef | HeadersMiddleFnDef | RawMiddleFnDef;
16
- export declare type __ΩRouteDef = any[];
17
- export declare type __ΩMiddleFnDef = any[];
18
- export declare type __ΩHeadersMiddleFnDef = any[];
19
- export declare type __ΩRawMiddleFnDef = any[];
20
- export declare type __ΩAnyHandlerDef = any[];
1
+ import { Handler, HeaderHandler, RawMiddlewareHandler } from './handlers.ts';
2
+ import { HandlerType, RtMarkerPayload } from '@mionjs/core';
3
+ import { HeadersMiddlewareOptions, MiddlewareOptions, RawMiddlewareOptions, RouteOptions } from './remoteMethods.ts';
4
+ import { RouterOptions } from './general.ts';
5
+ export type DeclaredRouterOptions = Partial<RouterOptions>;
6
+ export interface RouteDef<H extends Handler = any, RO extends RouteOptions = RouteOptions, O extends DeclaredRouterOptions = DeclaredRouterOptions> {
7
+ type: typeof HandlerType.route;
8
+ handler: H;
9
+ options?: RO;
10
+ rtFns?: RtMarkerPayload;
11
+ readonly routerOptions?: O;
12
+ }
13
+ export interface MiddlewareDef<H extends Handler = any, RO extends MiddlewareOptions = MiddlewareOptions, O extends DeclaredRouterOptions = DeclaredRouterOptions> {
14
+ type: typeof HandlerType.middleware;
15
+ handler: H;
16
+ options?: RO;
17
+ rtFns?: RtMarkerPayload;
18
+ readonly routerOptions?: O;
19
+ }
20
+ export interface HeadersMiddlewareDef<H extends HeaderHandler = any, RO extends HeadersMiddlewareOptions = HeadersMiddlewareOptions, O extends DeclaredRouterOptions = DeclaredRouterOptions> {
21
+ type: typeof HandlerType.headersMiddleware;
22
+ handler: H;
23
+ options?: RO;
24
+ rtFns?: RtMarkerPayload;
25
+ readonly routerOptions?: O;
26
+ }
27
+ export interface RawMiddlewareDef<H extends RawMiddlewareHandler = any> {
28
+ type: typeof HandlerType.rawMiddleware;
29
+ handler: H;
30
+ options?: RawMiddlewareOptions;
31
+ }
32
+ export type AnyHandlerDef = RouteDef | MiddlewareDef | HeadersMiddlewareDef | RawMiddlewareDef;
21
33
  //# sourceMappingURL=definitions.d.ts.map
@@ -1,15 +0,0 @@
1
- import { __ΩRouteMethod as ___RouteMethod, __ΩRouteOptions as ___RouteOptions, __ΩMiddleFnMethod as ___MiddleFnMethod, __ΩMiddleFnOptions as ___MiddleFnOptions, __ΩHeadersMethod as ___HeadersMethod, __ΩHeadersMiddleFnOptions as ___HeadersMiddleFnOptions, __ΩRawMethod as ___RawMethod, __ΩRawMiddleFnOptions as ___RawMiddleFnOptions } from "./remoteMethods.js";
2
- const __ΩPick = ["T", "K", "Pick", 'l+e#!e"!fRb!b"Pde""N#!w#y'];
3
- const __ΩRouteDef = ["H", () => __ΩPick, () => ___RouteMethod, "type", "handler", () => ___RouteOptions, "options", "RouteDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
4
- const __ΩMiddleFnDef = ["H", () => __ΩPick, () => ___MiddleFnMethod, "type", "handler", () => ___MiddleFnOptions, "options", "MiddleFnDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
5
- const __ΩHeadersMiddleFnDef = ["H", () => __ΩPick, () => ___HeadersMethod, "type", "handler", () => ___HeadersMiddleFnOptions, "options", "HeadersMiddleFnDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
6
- const __ΩRawMiddleFnDef = ["H", () => __ΩPick, () => ___RawMethod, "type", "handler", () => ___RawMiddleFnOptions, "options", "RawMiddleFnDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
7
- const __ΩAnyHandlerDef = [() => __ΩRouteDef, () => __ΩMiddleFnDef, () => __ΩHeadersMiddleFnDef, () => __ΩRawMiddleFnDef, "AnyHandlerDef", 'Pn!n"n#n$Jw%y'];
8
- export {
9
- __ΩAnyHandlerDef,
10
- __ΩHeadersMiddleFnDef,
11
- __ΩMiddleFnDef,
12
- __ΩRawMiddleFnDef,
13
- __ΩRouteDef
14
- };
15
- //# sourceMappingURL=definitions.js.map
@@ -1,9 +1,8 @@
1
- import { CoreRouterOptions, SerializerMode } from '@mionjs/core';
1
+ import { CoreRouterOptions, ParserOption } from '@mionjs/core';
2
2
  import { ContextDataFactory } from './context.ts';
3
- import { HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef } from './definitions.ts';
4
- import { RunTypeOptions } from '@mionjs/run-types';
3
+ import { HeadersMiddlewareDef, MiddlewareDef, RawMiddlewareDef, RouteDef } from './definitions.ts';
5
4
  export type Route = RouteDef;
6
- export type RouterEntry = Routes | MiddleFnDef | RouteDef | RawMiddleFnDef | HeadersMiddleFnDef;
5
+ export type RouterEntry = Routes | MiddlewareDef | RouteDef | RawMiddlewareDef | HeadersMiddlewareDef;
7
6
  export interface Routes {
8
7
  [key: string]: RouterEntry;
9
8
  }
@@ -12,18 +11,19 @@ export interface RouterOptions<Req = any, ContextData extends Record<string, any
12
11
  suffix: string;
13
12
  pathTransform?: (request: Req, path: string) => string;
14
13
  contextDataFactory?: ContextDataFactory<ContextData>;
15
- serializer: SerializerMode;
16
- runTypeOptions: RunTypeOptions;
17
- strictTypes?: boolean;
14
+ parser?: ParserOption;
15
+ sanitizeParams?: boolean;
18
16
  getPublicRoutesData: boolean;
19
17
  autoGenerateErrorId: boolean;
20
- skipClientRoutes: boolean;
21
- aot: boolean;
22
- maxContextPoolSize: number;
23
- maxRoutesFlowsCacheSize: number;
18
+ alwaysAwait: boolean;
19
+ maxBodySizeFactor: number;
20
+ releaseRawBody: boolean;
21
+ responseHeaders: Record<string, string>;
22
+ apiVersionCheck: boolean;
23
+ getAllRemoteMethodsMaxNumber: number;
24
+ }
25
+ export interface HostRequestHandler {
26
+ node?(req: unknown, res: unknown): void;
27
+ fetch?(req: Request): Response | Promise<Response>;
24
28
  }
25
- export declare type __ΩRoute = any[];
26
- export declare type __ΩRouterEntry = any[];
27
- export declare type __ΩRoutes = any[];
28
- export declare type __ΩRouterOptions = any[];
29
29
  //# sourceMappingURL=general.d.ts.map
@@ -1,14 +0,0 @@
1
- import { __ΩCoreRouterOptions as ___CoreRouterOptions, __ΩSerializerMode as ___SerializerMode } from "@mionjs/core";
2
- import { __ΩContextDataFactory as ___ContextDataFactory } from "./context.js";
3
- import { __ΩRouteDef as ___RouteDef, __ΩMiddleFnDef as ___MiddleFnDef, __ΩRawMiddleFnDef as ___RawMiddleFnDef, __ΩHeadersMiddleFnDef as ___HeadersMiddleFnDef } from "./definitions.js";
4
- const __ΩRoute = [() => ___RouteDef, "Route", 'n!w"y'];
5
- const __ΩRouterEntry = [() => __ΩRoutes, () => ___MiddleFnDef, () => ___RouteDef, () => ___RawMiddleFnDef, () => ___HeadersMiddleFnDef, "RouterEntry", 'Pn!n"n#n$n%Jw&y'];
6
- const __ΩRoutes = [() => __ΩRouterEntry, "Routes", 'P&n!LMw"y'];
7
- const __ΩRouterOptions = ["Req", "ContextData", () => ___CoreRouterOptions, "basePath", "suffix", "request", "path", "", "pathTransform", () => ___ContextDataFactory, "contextDataFactory", () => ___SerializerMode, "serializer", "RunTypeOptions", "runTypeOptions", "strictTypes", "getPublicRoutesData", "autoGenerateErrorId", "skipClientRoutes", "aot", "maxContextPoolSize", "maxRoutesFlowsCacheSize", "RouterOptions", `"c!"c"Pn#&4$&4%Pe#!2&&2'&/(4)8e""o*"4+8n,4-"w.4/)408)41)42)43)44'45'46Mw7y`];
8
- export {
9
- __ΩRoute,
10
- __ΩRouterEntry,
11
- __ΩRouterOptions,
12
- __ΩRoutes
13
- };
14
- //# sourceMappingURL=general.js.map
@@ -1,18 +1,18 @@
1
- import { HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef } from './definitions.ts';
1
+ import { HeadersMiddlewareDef, MiddlewareDef, RawMiddlewareDef, RouteDef } from './definitions.ts';
2
2
  import { Route, RouterEntry, Routes } from './general.ts';
3
3
  import { RawMethod, HeadersMethod, RouteMethod, RemoteMethod } from './remoteMethods.ts';
4
4
  export declare function isRouteDef(entry: RouterEntry): entry is RouteDef;
5
- export declare function isMiddleFnDef(entry: RouterEntry): entry is MiddleFnDef;
6
- export declare function isRawMiddleFnDef(entry: RouterEntry): entry is RawMiddleFnDef;
7
- export declare function isHeadersMiddleFnDef(entry: RouterEntry): entry is HeadersMiddleFnDef;
8
- export declare function isAnyMiddleFnDef(entry: RouterEntry): entry is HeadersMiddleFnDef | MiddleFnDef | RawMiddleFnDef;
5
+ export declare function isMiddlewareDef(entry: RouterEntry): entry is MiddlewareDef;
6
+ export declare function isRawMiddlewareDef(entry: RouterEntry): entry is RawMiddlewareDef;
7
+ export declare function isHeadersMiddlewareDef(entry: RouterEntry): entry is HeadersMiddlewareDef;
8
+ export declare function isAnyMiddlewareDef(entry: RouterEntry): entry is HeadersMiddlewareDef | MiddlewareDef | RawMiddlewareDef;
9
9
  export declare function isRoute(entry: RouterEntry): entry is Route;
10
- export declare function isRoutes(entry: RouterEntry | Routes): entry is Route;
10
+ export declare function isRoutes(entry: RouterEntry | Routes): entry is Routes;
11
11
  export declare function isExecutable(entry: RemoteMethod | {
12
12
  pathPointer: string[];
13
13
  }): entry is RemoteMethod;
14
14
  export declare function isRawExecutable(entry: RemoteMethod): entry is RawMethod;
15
- export declare function isPublicExecutable(entry: RemoteMethod): entry is RemoteMethod;
15
+ export declare function isPublicExecutable(executable: RemoteMethod): boolean;
16
16
  export declare function isHeaderExecutable(entry: RemoteMethod): entry is HeadersMethod;
17
17
  export declare function isRouteExecutable(entry: RemoteMethod): entry is RouteMethod;
18
18
  //# sourceMappingURL=guards.d.ts.map