@mionjs/router 0.8.10 → 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,11 +1,8 @@
1
1
  import { CallContext, MionHeaders, RawRequestBody } from './types/context.ts';
2
- import { RouterOptions } from './types/general.ts';
2
+ import { MethodsExecutionChain } from './types/remoteMethods.ts';
3
3
  import { SerializerCode } from '@mionjs/core';
4
- export declare function getContextPoolStats(): {
5
- poolSize: number;
6
- };
7
- export declare function clearContextPool(): void;
8
- export declare function createCallContext(path: string, opts: RouterOptions, reqRawBody: RawRequestBody, rawRequest: unknown, reqHeaders: MionHeaders, respHeaders: MionHeaders, reqBodyType?: SerializerCode, urlQuery?: string): CallContext;
9
- export declare function acquireCallContext(usePooling: boolean, path: string, opts: RouterOptions, reqRawBody: RawRequestBody, rawRequest: unknown, reqHeaders: MionHeaders, respHeaders: MionHeaders, reqBodyType?: SerializerCode, urlQuery?: string): CallContext;
10
- export declare function releaseCallContext(ctx: CallContext, maxPoolSize: number): void;
4
+ export declare function resolveExecutionChain(path: string, urlQuery: string | undefined, rawRequest: unknown): MethodsExecutionChain;
5
+ export declare function createContextFromChain(chain: MethodsExecutionChain, path: string, urlQuery: string | undefined, reqHeaders: MionHeaders, respHeaders: MionHeaders, reqRawBody?: RawRequestBody, reqBodyType?: SerializerCode): CallContext;
6
+ export declare function createCallContext(path: string, urlQuery: string | undefined, rawRequest: unknown, reqHeaders: MionHeaders, respHeaders: MionHeaders, reqRawBody?: RawRequestBody, reqBodyType?: SerializerCode): CallContext;
7
+ export declare function getRequestBodyType(rawBody: RawRequestBody | undefined): SerializerCode;
11
8
  //# sourceMappingURL=callContext.d.ts.map
@@ -1,125 +1,77 @@
1
- import { WORKFLOW_PATH } from "./constants.js";
2
- import { getRouteExecutionChain } from "./router.js";
3
- import { StatusCodes, SerializerModes, getRoutePath, MION_ROUTES, RpcError } from "@mionjs/core";
4
- import { getRoutesFlowExecutionChain } from "./routesFlow.js";
5
- let contextPool = [];
6
- function getContextPoolStats() {
7
- return {
8
- poolSize: contextPool.length
9
- };
1
+ import { JSON_CONTENT_TYPE } from "./constants.js";
2
+ import { getBatchExecutionChain } from "./batches.js";
3
+ import { getNotFoundExecutionChain, getRouteExecutionChain, getRouterOptions } from "./router.js";
4
+ import { FatalError, MION_BATCH_PATH, MION_ROUTES, SerializerModes, StatusCodes } from "@mionjs/core";
5
+ //#region src/callContext.ts
6
+ /** Resolves a request to the REGISTERED chain that answers it, allocating NOTHING, so a streaming adapter
7
+ * calls it BEFORE the body to read against `chain.maxBodySize` and `createContextFromChain` after.
8
+ * Nothing of the request's own may survive the read: such an object is promoted to the old heap and the
9
+ * parsed body attached to it is promoted with it, which on a 4 MB body costs garbage-collector throughput.
10
+ * The chain is SHARED and long-lived: mutating what this returns damages the route for the whole process.
11
+ * An unknown path or batch id resolves to a not-found chain that never reads the body (`readsBody` false)
12
+ * and runs only the global middlewares that declare `alwaysRun`. */
13
+ function resolveExecutionChain(path, urlQuery, rawRequest) {
14
+ const opts = getRouterOptions();
15
+ return getExecutionChain(path, opts.pathTransform?.(rawRequest, path) || path, urlQuery, rawRequest, opts);
10
16
  }
11
- function clearContextPool() {
12
- contextPool = [];
17
+ /** `path` and `urlQuery` are the request's; a route chain's own path wins, not-found and batch chains use the request's. */
18
+ function createContextFromChain(chain, path, urlQuery, reqHeaders, respHeaders, reqRawBody, reqBodyType) {
19
+ const request = {
20
+ headers: reqHeaders,
21
+ rawBody: reqRawBody,
22
+ bodyType: reqBodyType ?? getRequestBodyType(reqRawBody),
23
+ body: EMPTY_BODY,
24
+ thrownErrors: void 0
25
+ };
26
+ const response = {
27
+ statusCode: StatusCodes.OK,
28
+ contentType: JSON_CONTENT_TYPE,
29
+ hasErrors: false,
30
+ fatalError: void 0,
31
+ headers: respHeaders,
32
+ body: {}
33
+ };
34
+ const contextDataFactory = getRouterOptions().contextDataFactory;
35
+ return {
36
+ path: chain.path ?? path,
37
+ request,
38
+ response,
39
+ executionChain: chain,
40
+ maxBodySize: chain.maxBodySize,
41
+ readsBody: chain.readsBody,
42
+ shared: contextDataFactory ? contextDataFactory() : {},
43
+ urlQuery,
44
+ batchId: chain.batchId,
45
+ batchRouteIds: chain.batchRouteIds
46
+ };
13
47
  }
14
- function createCallContext(path, opts, reqRawBody, rawRequest, reqHeaders, respHeaders, reqBodyType, urlQuery) {
15
- const transformedPath = opts.pathTransform?.(rawRequest, path) || path;
16
- const { executionChain, routesFlowRouteIds } = getExecutionChain(path, transformedPath, urlQuery, rawRequest, opts);
17
- return {
18
- path: transformedPath,
19
- request: {
20
- headers: reqHeaders,
21
- rawBody: reqRawBody,
22
- bodyType: reqBodyType ?? getRequestBodyType(reqRawBody),
23
- body: {},
24
- thrownErrors: void 0
25
- },
26
- response: {
27
- statusCode: StatusCodes.OK,
28
- hasErrors: false,
29
- headers: respHeaders,
30
- body: {},
31
- rawBody: "",
32
- serializer: SerializerModes.json,
33
- binSerializer: void 0
34
- },
35
- executionChain,
36
- shared: opts.contextDataFactory ? opts.contextDataFactory() : {},
37
- urlQuery,
38
- routesFlowRouteIds
39
- };
40
- }
41
- function acquireCallContext(usePooling, path, opts, reqRawBody, rawRequest, reqHeaders, respHeaders, reqBodyType, urlQuery) {
42
- if (!usePooling) return createCallContext(path, opts, reqRawBody, rawRequest, reqHeaders, respHeaders, reqBodyType, urlQuery);
43
- const pooledContext = contextPool.pop();
44
- const transformedPath = opts.pathTransform?.(rawRequest, path) || path;
45
- if (pooledContext) {
46
- const ctx = pooledContext;
47
- ctx.path = transformedPath;
48
- const req = ctx.request;
49
- req.headers = reqHeaders;
50
- req.rawBody = reqRawBody;
51
- req.bodyType = reqBodyType ?? getRequestBodyType(reqRawBody);
52
- req.body = {};
53
- req.thrownErrors = void 0;
54
- const resp = ctx.response;
55
- resp.statusCode = StatusCodes.OK;
56
- resp.hasErrors = false;
57
- resp.headers = respHeaders;
58
- resp.body = {};
59
- resp.rawBody = "";
60
- resp.serializer = SerializerModes.json;
61
- resp.binSerializer = void 0;
62
- const { executionChain, routesFlowRouteIds } = getExecutionChain(path, transformedPath, urlQuery, rawRequest, opts);
63
- ctx.executionChain = executionChain;
64
- ctx.routesFlowRouteIds = routesFlowRouteIds;
65
- ctx.shared = opts.contextDataFactory ? opts.contextDataFactory() : {};
66
- ctx.urlQuery = urlQuery;
67
- return ctx;
68
- }
69
- return createCallContext(path, opts, reqRawBody, rawRequest, reqHeaders, respHeaders, reqBodyType, urlQuery);
70
- }
71
- function releaseCallContext(ctx, maxPoolSize) {
72
- if (contextPool.length < maxPoolSize) {
73
- const mutableCtx = ctx;
74
- const req = mutableCtx.request;
75
- req.rawBody = "";
76
- req.body = null;
77
- req.thrownErrors = void 0;
78
- mutableCtx.response = {
79
- statusCode: StatusCodes.OK,
80
- hasErrors: false,
81
- headers: null,
82
- // Will be set when context is acquired
83
- body: null,
84
- // Will be set when context is acquired
85
- rawBody: "",
86
- serializer: SerializerModes.json,
87
- binSerializer: void 0
88
- };
89
- mutableCtx.shared = null;
90
- mutableCtx.executionChain = null;
91
- mutableCtx.routesFlowRouteIds = void 0;
92
- contextPool.push(ctx);
93
- }
48
+ var EMPTY_BODY = Object.freeze({});
49
+ /** The one-call form, for a caller that already has the body (a host that parsed it, `dispatchRoute`, a test). */
50
+ function createCallContext(path, urlQuery, rawRequest, reqHeaders, respHeaders, reqRawBody, reqBodyType) {
51
+ return createContextFromChain(resolveExecutionChain(path, urlQuery, rawRequest), path, urlQuery, reqHeaders, respHeaders, reqRawBody, reqBodyType);
94
52
  }
53
+ /** The wire form of a body: a string is stringified JSON, anything else a parsed object. A body
54
+ * not yet read (a context built before it) reads as an object until the body arrives. */
95
55
  function getRequestBodyType(rawBody) {
96
- if (typeof rawBody === "string") return SerializerModes.stringifyJson;
97
- if (rawBody instanceof ArrayBuffer || rawBody instanceof Uint8Array) return SerializerModes.binary;
98
- return SerializerModes.json;
56
+ if (typeof rawBody === "string") return SerializerModes.stringifyJson;
57
+ if (rawBody instanceof ArrayBuffer || rawBody instanceof Uint8Array) throw new Error("mion: a byte request body has no encoder; send the body as a JSON string or a parsed object.");
58
+ return SerializerModes.json;
99
59
  }
100
60
  function getExecutionChain(originalPath, transformedPath, urlQuery, rawRequest, opts) {
101
- const hasPrefix = !!opts.basePath;
102
- const isRoutesFlowPath = hasPrefix ? originalPath.endsWith(WORKFLOW_PATH) : originalPath === WORKFLOW_PATH;
103
- if (isRoutesFlowPath) return getRoutesFlowExecutionChain(rawRequest, opts, urlQuery);
104
- let executionChain = getRouteExecutionChain(transformedPath);
105
- if (!executionChain) {
106
- const notFoundPath = getRoutePath([MION_ROUTES.notFound], opts);
107
- executionChain = getRouteExecutionChain(notFoundPath);
108
- if (!executionChain) {
109
- throw new RpcError({
110
- statusCode: StatusCodes.UNEXPECTED_ERROR,
111
- type: "not-found",
112
- publicMessage: "Not-found route is not registered. This should never happen."
113
- });
114
- }
115
- }
116
- return { executionChain };
61
+ if (!!opts.basePath ? originalPath.endsWith(MION_BATCH_PATH) : originalPath === MION_BATCH_PATH) return getBatchExecutionChain(rawRequest, opts, urlQuery) ?? notFoundChain(MION_ROUTES.batchNotFound);
62
+ return getRouteExecutionChain(transformedPath) ?? notFoundChain(MION_ROUTES.notFound);
63
+ }
64
+ /** mion's own not-found chains are built by initRouter, so an absent one is a bug, not a request error. */
65
+ function notFoundChain(chainId) {
66
+ const executionChain = getNotFoundExecutionChain(chainId);
67
+ if (!executionChain) throw new FatalError({
68
+ statusCode: StatusCodes.UNEXPECTED_ERROR,
69
+ type: "not-found",
70
+ publicMessage: "Not-found chain is not registered. This should never happen."
71
+ });
72
+ return executionChain;
117
73
  }
118
- export {
119
- acquireCallContext,
120
- clearContextPool,
121
- createCallContext,
122
- getContextPoolStats,
123
- releaseCallContext
124
- };
125
- //# sourceMappingURL=callContext.js.map
74
+ //#endregion
75
+ export { createCallContext, createContextFromChain, getRequestBodyType, resolveExecutionChain };
76
+
77
+ //# sourceMappingURL=callContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callContext.js","sources":["../../../src/callContext.ts"],"sourcesContent":["/* ########\n * 2026 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {WORKFLOW_PATH} from './constants.ts';\nimport {getRouteExecutionChain} from './router.ts';\nimport type {\n CallContext,\n MionResponse,\n MionRequest,\n MionHeaders,\n RawRequestBody,\n RoutesFlowExecutionResult,\n} from './types/context.ts';\nimport type {RouterOptions} from './types/general.ts';\nimport {Mutable, StatusCodes, SerializerModes, SerializerCode, RpcError, MION_ROUTES, getRoutePath} from '@mionjs/core';\nimport {getRoutesFlowExecutionChain} from './routesFlow.ts';\n\n// ############# POOL STATE #############\n\nlet contextPool: CallContext[] = [];\n\n/** Get current pool statistics for monitoring */\nexport function getContextPoolStats(): {poolSize: number} {\n return {\n poolSize: contextPool.length,\n };\n}\n\n/** Clear the context pool - useful for testing */\nexport function clearContextPool(): void {\n contextPool = [];\n}\n\n// ############# CONTEXT CREATION #############\n\n/** Creates a new CallContext without pooling (original behavior) */\nexport function createCallContext(\n path: string,\n opts: RouterOptions,\n reqRawBody: RawRequestBody,\n rawRequest: unknown,\n reqHeaders: MionHeaders,\n respHeaders: MionHeaders,\n reqBodyType?: SerializerCode,\n urlQuery?: string\n): CallContext {\n const transformedPath = opts.pathTransform?.(rawRequest, path) || path;\n const {executionChain, routesFlowRouteIds} = getExecutionChain(path, transformedPath, urlQuery, rawRequest, opts);\n return {\n path: transformedPath,\n request: {\n headers: reqHeaders,\n rawBody: reqRawBody,\n bodyType: reqBodyType ?? getRequestBodyType(reqRawBody),\n body: {},\n thrownErrors: undefined,\n },\n response: {\n statusCode: StatusCodes.OK,\n hasErrors: false,\n headers: respHeaders,\n body: {},\n rawBody: '',\n serializer: SerializerModes.json,\n binSerializer: undefined,\n },\n executionChain,\n shared: opts.contextDataFactory ? opts.contextDataFactory() : {},\n urlQuery,\n routesFlowRouteIds,\n } as CallContext;\n}\n\n/** Acquires a CallContext from the pool or creates a new one */\nexport function acquireCallContext(\n usePooling: boolean,\n path: string,\n opts: RouterOptions,\n reqRawBody: RawRequestBody,\n rawRequest: unknown,\n reqHeaders: MionHeaders,\n respHeaders: MionHeaders,\n reqBodyType?: SerializerCode,\n urlQuery?: string\n): CallContext {\n if (!usePooling) return createCallContext(path, opts, reqRawBody, rawRequest, reqHeaders, respHeaders, reqBodyType, urlQuery);\n const pooledContext = contextPool.pop();\n const transformedPath = opts.pathTransform?.(rawRequest, path) || path;\n\n if (pooledContext) {\n // Reuse the pooled context shell, but create fresh body objects\n const ctx = pooledContext as Mutable<CallContext>;\n ctx.path = transformedPath;\n // Reset request - reuse the request object shell\n const req = ctx.request as Mutable<MionRequest>;\n req.headers = reqHeaders;\n req.rawBody = reqRawBody;\n req.bodyType = reqBodyType ?? getRequestBodyType(reqRawBody);\n req.body = {}; // Must be fresh - handlers write to this\n req.thrownErrors = undefined;\n // Reset response - reuse the response object shell\n const resp = ctx.response as Mutable<MionResponse>;\n resp.statusCode = StatusCodes.OK;\n resp.hasErrors = false;\n resp.headers = respHeaders;\n resp.body = {}; // Must be fresh - handlers write to this\n resp.rawBody = '';\n resp.serializer = SerializerModes.json;\n resp.binSerializer = undefined;\n // Reset execution chain and routesFlow route IDs\n const {executionChain, routesFlowRouteIds} = getExecutionChain(path, transformedPath, urlQuery, rawRequest, opts);\n ctx.executionChain = executionChain;\n ctx.routesFlowRouteIds = routesFlowRouteIds;\n // Reset shared data\n ctx.shared = opts.contextDataFactory ? opts.contextDataFactory() : {};\n // Reset urlQuery\n ctx.urlQuery = urlQuery;\n return ctx;\n }\n // No pooled context available, create new one\n return createCallContext(path, opts, reqRawBody, rawRequest, reqHeaders, respHeaders, reqBodyType, urlQuery);\n}\n\n/** Releases a CallContext back to the pool for reuse */\nexport function releaseCallContext(ctx: CallContext, maxPoolSize: number): void {\n if (contextPool.length < maxPoolSize) {\n const mutableCtx = ctx as Mutable<CallContext>;\n const req = mutableCtx.request as Mutable<MionRequest>;\n // Clear request data - safe to mutate since request is not returned to caller\n req.rawBody = '';\n req.body = null as any; // Will be set when context is acquired\n req.thrownErrors = undefined;\n // Create fresh response object - the old one may still be referenced by the caller\n // IMPORTANT: We must NOT mutate the existing response object because it's returned\n // to the platform wrapper (e.g., HTTP handler) which may still be using it\n mutableCtx.response = {\n statusCode: StatusCodes.OK,\n hasErrors: false,\n headers: null as any, // Will be set when context is acquired\n body: null as any, // Will be set when context is acquired\n rawBody: '',\n serializer: SerializerModes.json,\n binSerializer: undefined,\n };\n mutableCtx.shared = null as any;\n mutableCtx.executionChain = null as any;\n mutableCtx.routesFlowRouteIds = undefined;\n contextPool.push(ctx);\n }\n // If pool is full, let the context be garbage collected\n}\n\n// ############# HELPER FUNCTIONS #############\n\nfunction getRequestBodyType(rawBody: RawRequestBody): SerializerCode {\n if (typeof rawBody === 'string') return SerializerModes.stringifyJson;\n if (rawBody instanceof ArrayBuffer || rawBody instanceof Uint8Array) return SerializerModes.binary;\n return SerializerModes.json;\n}\n\n/** Gets the execution chain for a path, handling routesFlow paths specially */\nfunction getExecutionChain(\n originalPath: string,\n transformedPath: string,\n urlQuery: string | undefined,\n rawRequest: unknown,\n opts: RouterOptions\n): RoutesFlowExecutionResult {\n const hasPrefix = !!opts.basePath;\n // Handle routesFlow path - check if the original path ends with the workflow key\n // This works with any prefix (e.g., /mion-routes-flow, /api/v1/mion-routes-flow)\n const isRoutesFlowPath = hasPrefix ? originalPath.endsWith(WORKFLOW_PATH) : originalPath === WORKFLOW_PATH;\n if (isRoutesFlowPath) return getRoutesFlowExecutionChain(rawRequest, opts, urlQuery);\n\n // Normal path - get execution chain from router using transformed path\n let executionChain = getRouteExecutionChain(transformedPath);\n if (!executionChain) {\n const notFoundPath = getRoutePath([MION_ROUTES.notFound], opts);\n executionChain = getRouteExecutionChain(notFoundPath);\n if (!executionChain) {\n throw new RpcError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'not-found',\n publicMessage: 'Not-found route is not registered. This should never happen.',\n });\n }\n }\n return {executionChain};\n}\n"],"names":[],"mappings":";;;;AAuBA,IAAI,cAA6B,CAAA;AAG1B,SAAS,sBAA0C;AACtD,SAAO;AAAA,IACH,UAAU,YAAY;AAAA,EAAA;AAE9B;AAGO,SAAS,mBAAyB;AACrC,gBAAc,CAAA;AAClB;AAKO,SAAS,kBACZ,MACA,MACA,YACA,YACA,YACA,aACA,aACA,UACW;AACX,QAAM,kBAAkB,KAAK,gBAAgB,YAAY,IAAI,KAAK;AAClE,QAAM,EAAC,gBAAgB,mBAAA,IAAsB,kBAAkB,MAAM,iBAAiB,UAAU,YAAY,IAAI;AAChH,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,MACL,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU,eAAe,mBAAmB,UAAU;AAAA,MACtD,MAAM,CAAA;AAAA,MACN,cAAc;AAAA,IAAA;AAAA,IAElB,UAAU;AAAA,MACN,YAAY,YAAY;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,MAAM,CAAA;AAAA,MACN,SAAS;AAAA,MACT,YAAY,gBAAgB;AAAA,MAC5B,eAAe;AAAA,IAAA;AAAA,IAEnB;AAAA,IACA,QAAQ,KAAK,qBAAqB,KAAK,mBAAA,IAAuB,CAAA;AAAA,IAC9D;AAAA,IACA;AAAA,EAAA;AAER;AAGO,SAAS,mBACZ,YACA,MACA,MACA,YACA,YACA,YACA,aACA,aACA,UACW;AACX,MAAI,CAAC,WAAY,QAAO,kBAAkB,MAAM,MAAM,YAAY,YAAY,YAAY,aAAa,aAAa,QAAQ;AAC5H,QAAM,gBAAgB,YAAY,IAAA;AAClC,QAAM,kBAAkB,KAAK,gBAAgB,YAAY,IAAI,KAAK;AAElE,MAAI,eAAe;AAEf,UAAM,MAAM;AACZ,QAAI,OAAO;AAEX,UAAM,MAAM,IAAI;AAChB,QAAI,UAAU;AACd,QAAI,UAAU;AACd,QAAI,WAAW,eAAe,mBAAmB,UAAU;AAC3D,QAAI,OAAO,CAAA;AACX,QAAI,eAAe;AAEnB,UAAM,OAAO,IAAI;AACjB,SAAK,aAAa,YAAY;AAC9B,SAAK,YAAY;AACjB,SAAK,UAAU;AACf,SAAK,OAAO,CAAA;AACZ,SAAK,UAAU;AACf,SAAK,aAAa,gBAAgB;AAClC,SAAK,gBAAgB;AAErB,UAAM,EAAC,gBAAgB,mBAAA,IAAsB,kBAAkB,MAAM,iBAAiB,UAAU,YAAY,IAAI;AAChH,QAAI,iBAAiB;AACrB,QAAI,qBAAqB;AAEzB,QAAI,SAAS,KAAK,qBAAqB,KAAK,mBAAA,IAAuB,CAAA;AAEnE,QAAI,WAAW;AACf,WAAO;AAAA,EACX;AAEA,SAAO,kBAAkB,MAAM,MAAM,YAAY,YAAY,YAAY,aAAa,aAAa,QAAQ;AAC/G;AAGO,SAAS,mBAAmB,KAAkB,aAA2B;AAC5E,MAAI,YAAY,SAAS,aAAa;AAClC,UAAM,aAAa;AACnB,UAAM,MAAM,WAAW;AAEvB,QAAI,UAAU;AACd,QAAI,OAAO;AACX,QAAI,eAAe;AAInB,eAAW,WAAW;AAAA,MAClB,YAAY,YAAY;AAAA,MACxB,WAAW;AAAA,MACX,SAAS;AAAA;AAAA,MACT,MAAM;AAAA;AAAA,MACN,SAAS;AAAA,MACT,YAAY,gBAAgB;AAAA,MAC5B,eAAe;AAAA,IAAA;AAEnB,eAAW,SAAS;AACpB,eAAW,iBAAiB;AAC5B,eAAW,qBAAqB;AAChC,gBAAY,KAAK,GAAG;AAAA,EACxB;AAEJ;AAIA,SAAS,mBAAmB,SAAyC;AACjE,MAAI,OAAO,YAAY,SAAU,QAAO,gBAAgB;AACxD,MAAI,mBAAmB,eAAe,mBAAmB,mBAAmB,gBAAgB;AAC5F,SAAO,gBAAgB;AAC3B;AAGA,SAAS,kBACL,cACA,iBACA,UACA,YACA,MACyB;AACzB,QAAM,YAAY,CAAC,CAAC,KAAK;AAGzB,QAAM,mBAAmB,YAAY,aAAa,SAAS,aAAa,IAAI,iBAAiB;AAC7F,MAAI,iBAAkB,QAAO,4BAA4B,YAAY,MAAM,QAAQ;AAGnF,MAAI,iBAAiB,uBAAuB,eAAe;AAC3D,MAAI,CAAC,gBAAgB;AACjB,UAAM,eAAe,aAAa,CAAC,YAAY,QAAQ,GAAG,IAAI;AAC9D,qBAAiB,uBAAuB,YAAY;AACpD,QAAI,CAAC,gBAAgB;AACjB,YAAM,IAAI,SAAS;AAAA,QACf,YAAY,YAAY;AAAA,QACxB,MAAM;AAAA,QACN,eAAe;AAAA,MAAA,CAClB;AAAA,IACL;AAAA,EACJ;AACA,SAAO,EAAC,eAAA;AACZ;"}
1
+ {"version":3,"file":"callContext.js","names":[],"sources":["../../../src/callContext.ts"],"sourcesContent":["/* ########\n * 2026 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {getRouteExecutionChain, getNotFoundExecutionChain, getRouterOptions} from './router.ts';\nimport type {CallContext, MionHeaders, MionRequest, MionResponse, RawRequestBody} from './types/context.ts';\nimport type {RouterOptions} from './types/general.ts';\nimport type {MethodsExecutionChain} from './types/remoteMethods.ts';\nimport {StatusCodes, SerializerModes, SerializerCode, FatalError, MION_ROUTES, MION_BATCH_PATH} from '@mionjs/core';\nimport type {AnyObject} from '@mionjs/core';\nimport {getBatchExecutionChain} from './batches.ts';\nimport {JSON_CONTENT_TYPE} from './constants.ts';\n\n// ############# CONTEXT CREATION #############\n\n/** Resolves a request to the REGISTERED chain that answers it, allocating NOTHING, so a streaming adapter\n * calls it BEFORE the body to read against `chain.maxBodySize` and `createContextFromChain` after.\n * Nothing of the request's own may survive the read: such an object is promoted to the old heap and the\n * parsed body attached to it is promoted with it, which on a 4 MB body costs garbage-collector throughput.\n * The chain is SHARED and long-lived: mutating what this returns damages the route for the whole process.\n * An unknown path or batch id resolves to a not-found chain that never reads the body (`readsBody` false)\n * and runs only the global middlewares that declare `alwaysRun`. */\nexport function resolveExecutionChain(path: string, urlQuery: string | undefined, rawRequest: unknown): MethodsExecutionChain {\n const opts = getRouterOptions();\n const transformedPath = opts.pathTransform?.(rawRequest, path) || path;\n return getExecutionChain(path, transformedPath, urlQuery, rawRequest, opts);\n}\n\n/** `path` and `urlQuery` are the request's; a route chain's own path wins, not-found and batch chains use the request's. */\nexport function createContextFromChain(\n chain: MethodsExecutionChain,\n path: string,\n urlQuery: string | undefined,\n reqHeaders: MionHeaders,\n respHeaders: MionHeaders,\n reqRawBody?: RawRequestBody,\n reqBodyType?: SerializerCode\n): CallContext {\n const request: MionRequest = {\n headers: reqHeaders,\n rawBody: reqRawBody,\n bodyType: reqBodyType ?? getRequestBodyType(reqRawBody),\n // Shared and FROZEN: the parse replaces it, and a write before the parse would leak across requests\n body: EMPTY_BODY,\n thrownErrors: undefined,\n } as MionRequest;\n const response: MionResponse = {\n statusCode: StatusCodes.OK,\n contentType: JSON_CONTENT_TYPE,\n hasErrors: false,\n fatalError: undefined,\n headers: respHeaders,\n body: {},\n } as MionResponse;\n const contextDataFactory = getRouterOptions().contextDataFactory;\n\n return {\n path: chain.path ?? path,\n request,\n response,\n executionChain: chain,\n maxBodySize: chain.maxBodySize,\n readsBody: chain.readsBody,\n // Eager: a lazy defineProperty puts contexts in V8 dictionary mode (2x heap, 6% less throughput at 1 KB)\n shared: contextDataFactory ? contextDataFactory() : {},\n urlQuery,\n batchId: chain.batchId,\n batchRouteIds: chain.batchRouteIds,\n } as CallContext;\n}\n\nconst EMPTY_BODY: Readonly<AnyObject> = Object.freeze({});\n\n/** The one-call form, for a caller that already has the body (a host that parsed it, `dispatchRoute`, a test). */\nexport function createCallContext(\n path: string,\n urlQuery: string | undefined,\n rawRequest: unknown,\n reqHeaders: MionHeaders,\n respHeaders: MionHeaders,\n reqRawBody?: RawRequestBody,\n reqBodyType?: SerializerCode\n): CallContext {\n const chain = resolveExecutionChain(path, urlQuery, rawRequest);\n return createContextFromChain(chain, path, urlQuery, reqHeaders, respHeaders, reqRawBody, reqBodyType);\n}\n\n// ############# HELPER FUNCTIONS #############\n\n/** The wire form of a body: a string is stringified JSON, anything else a parsed object. A body\n * not yet read (a context built before it) reads as an object until the body arrives. */\nexport function getRequestBodyType(rawBody: RawRequestBody | undefined): SerializerCode {\n if (typeof rawBody === 'string') return SerializerModes.stringifyJson;\n if (rawBody instanceof ArrayBuffer || rawBody instanceof Uint8Array)\n throw new Error('mion: a byte request body has no encoder; send the body as a JSON string or a parsed object.');\n return SerializerModes.json;\n}\n\nfunction getExecutionChain(\n originalPath: string,\n transformedPath: string,\n urlQuery: string | undefined,\n rawRequest: unknown,\n opts: RouterOptions\n): MethodsExecutionChain {\n const hasPrefix = !!opts.basePath;\n // the batch key ends the path under any prefix (/mion-batch, /api/v1/mion-batch); the query id picks the chain\n const isBatchPath = hasPrefix ? originalPath.endsWith(MION_BATCH_PATH) : originalPath === MION_BATCH_PATH;\n if (isBatchPath) {\n return getBatchExecutionChain(rawRequest, opts, urlQuery) ?? notFoundChain(MION_ROUTES.batchNotFound);\n }\n\n return getRouteExecutionChain(transformedPath) ?? notFoundChain(MION_ROUTES.notFound);\n}\n\n/** mion's own not-found chains are built by initRouter, so an absent one is a bug, not a request error. */\nfunction notFoundChain(chainId: string): MethodsExecutionChain {\n const executionChain = getNotFoundExecutionChain(chainId);\n if (!executionChain) {\n throw new FatalError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'not-found',\n publicMessage: 'Not-found chain is not registered. This should never happen.',\n });\n }\n return executionChain;\n}\n"],"mappings":";;;;;;;;;;;;AAyBA,SAAgB,sBAAsB,MAAc,UAA8B,YAA4C;CAC5H,MAAM,OAAO,iBAAiB;CAE9B,OAAO,kBAAkB,MADD,KAAK,gBAAgB,YAAY,IAAI,KAAK,MAClB,UAAU,YAAY,IAAI;AAC5E;;AAGA,SAAgB,uBACd,OACA,MACA,UACA,YACA,aACA,YACA,aACa;CACb,MAAM,UAAuB;EAC3B,SAAS;EACT,SAAS;EACT,UAAU,eAAe,mBAAmB,UAAU;EAEtD,MAAM;EACN,cAAc,KAAA;CAChB;CACA,MAAM,WAAyB;EAC7B,YAAY,YAAY;EACxB,aAAa;EACb,WAAW;EACX,YAAY,KAAA;EACZ,SAAS;EACT,MAAM,CAAC;CACT;CACA,MAAM,qBAAqB,iBAAiB,EAAE;CAE9C,OAAO;EACL,MAAM,MAAM,QAAQ;EACpB;EACA;EACA,gBAAgB;EAChB,aAAa,MAAM;EACnB,WAAW,MAAM;EAEjB,QAAQ,qBAAqB,mBAAmB,IAAI,CAAC;EACrD;EACA,SAAS,MAAM;EACf,eAAe,MAAM;CACvB;AACF;AAEA,IAAM,aAAkC,OAAO,OAAO,CAAC,CAAC;;AAGxD,SAAgB,kBACd,MACA,UACA,YACA,YACA,aACA,YACA,aACa;CAEb,OAAO,uBADO,sBAAsB,MAAM,UAAU,UACtB,GAAO,MAAM,UAAU,YAAY,aAAa,YAAY,WAAW;AACvG;;;AAMA,SAAgB,mBAAmB,SAAqD;CACtF,IAAI,OAAO,YAAY,UAAU,OAAO,gBAAgB;CACxD,IAAI,mBAAmB,eAAe,mBAAmB,YACvD,MAAM,IAAI,MAAM,8FAA8F;CAChH,OAAO,gBAAgB;AACzB;AAEA,SAAS,kBACP,cACA,iBACA,UACA,YACA,MACuB;CAIvB,IADoB,CAFD,CAAC,KAAK,WAEO,aAAa,SAAS,eAAe,IAAI,iBAAiB,iBAExF,OAAO,uBAAuB,YAAY,MAAM,QAAQ,KAAK,cAAc,YAAY,aAAa;CAGtG,OAAO,uBAAuB,eAAe,KAAK,cAAc,YAAY,QAAQ;AACtF;;AAGA,SAAS,cAAc,SAAwC;CAC7D,MAAM,iBAAiB,0BAA0B,OAAO;CACxD,IAAI,CAAC,gBACH,MAAM,IAAI,WAAW;EACnB,YAAY,YAAY;EACxB,MAAM;EACN,eAAe;CACjB,CAAC;CAEH,OAAO;AACT"}
@@ -1,11 +1,5 @@
1
1
  import { RouterOptions } from './types/general.ts';
2
- export declare const IS_TEST_ENV: boolean;
3
- export declare const ROUTE_DEFAULT_PARAMS: string[];
4
- export declare const HEADER_HOOK_DEFAULT_PARAMS: string[];
5
2
  export declare const DEFAULT_ROUTE_OPTIONS: Readonly<RouterOptions>;
6
3
  export declare const MAX_ROUTE_NESTING = 10;
7
- export declare const NOT_FOUND_HOOK_NAME = "_mi\u03A6n404N\u03A6tf\u03A6undH\u03A6\u03A6k_";
8
- export declare const NOT_FOUND_PATH: string;
9
- export declare const WORKFLOW_KEY = "mion-routes-flow";
10
- export declare const WORKFLOW_PATH = "/mion-routes-flow";
4
+ export declare const JSON_CONTENT_TYPE = "application/json; charset=utf-8";
11
5
  //# sourceMappingURL=constants.d.ts.map
@@ -1,45 +1,23 @@
1
- import { getENV, PATH_SEPARATOR, MION_ROUTES } from "@mionjs/core";
2
- const IS_TEST_ENV = getENV("JEST_WORKER_ID") !== void 0 || getENV("NODE_ENV") === "test";
3
- const ROUTE_DEFAULT_PARAMS = ["context"];
4
- const HEADER_HOOK_DEFAULT_PARAMS = ["context", "headers"];
5
- const DEFAULT_ROUTE_OPTIONS = {
6
- /** Prefix for all routes, i.e: api/v1. Path separator is added between the prefix and the route */
7
- basePath: "",
8
- /** Suffix for all routes, i.e: .json. No path separator is added between the route and the suffix */
9
- suffix: "",
10
- /** Function that transforms the path before finding a route */
11
- pathTransform: void 0,
12
- /** Default serializer mode - json as default native serializer, and minimum overhead to transform just required fields */
13
- serializer: "json",
14
- /** Default run type compiling options for routes and middleFns, can't be configured by the user as would break functionality */
15
- runTypeOptions: {},
16
- /** set to true to generate router spec for clients. */
17
- getPublicRoutesData: process.env.GENERATE_ROUTER_SPEC === "true",
18
- /** Set true to automatically generate and id for every error. */
19
- autoGenerateErrorId: false,
20
- /** client routes are initialized by default */
21
- skipClientRoutes: IS_TEST_ENV,
22
- /** AOT mode is disabled by default */
23
- aot: false,
24
- /** Context pooling size == 100 by default */
25
- maxContextPoolSize: 100,
26
- /** RoutesFlow cache size == 100 by default */
27
- maxRoutesFlowsCacheSize: 100
1
+ //#region src/constants.ts
2
+ var DEFAULT_ROUTE_OPTIONS = {
3
+ basePath: "",
4
+ suffix: "",
5
+ pathTransform: void 0,
6
+ /** set to true to generate router spec for clients. */
7
+ getPublicRoutesData: process.env.GENERATE_ROUTER_SPEC === "true",
8
+ autoGenerateErrorId: false,
9
+ /** Every chain step is awaited by default, so the chain keeps yielding between steps */
10
+ alwaysAwait: true,
11
+ /** A type-derived request limit is the JSON maximum times this factor */
12
+ maxBodySizeFactor: 2,
13
+ releaseRawBody: true,
14
+ responseHeaders: {},
15
+ apiVersionCheck: true,
16
+ getAllRemoteMethodsMaxNumber: 100
28
17
  };
29
- const MAX_ROUTE_NESTING = 10;
30
- const NOT_FOUND_HOOK_NAME = "_miΦn404NΦtfΦundHΦΦk_";
31
- const NOT_FOUND_PATH = `${PATH_SEPARATOR}${MION_ROUTES.notFound}`;
32
- const WORKFLOW_KEY = `mion-routes-flow`;
33
- const WORKFLOW_PATH = `${PATH_SEPARATOR}${WORKFLOW_KEY}`;
34
- export {
35
- DEFAULT_ROUTE_OPTIONS,
36
- HEADER_HOOK_DEFAULT_PARAMS,
37
- IS_TEST_ENV,
38
- MAX_ROUTE_NESTING,
39
- NOT_FOUND_HOOK_NAME,
40
- NOT_FOUND_PATH,
41
- ROUTE_DEFAULT_PARAMS,
42
- WORKFLOW_KEY,
43
- WORKFLOW_PATH
44
- };
45
- //# sourceMappingURL=constants.js.map
18
+ var MAX_ROUTE_NESTING = 10;
19
+ var JSON_CONTENT_TYPE = "application/json; charset=utf-8";
20
+ //#endregion
21
+ export { DEFAULT_ROUTE_OPTIONS, JSON_CONTENT_TYPE, MAX_ROUTE_NESTING };
22
+
23
+ //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../src/constants.ts"],"sourcesContent":["/* ########\n * 2022 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {RouterOptions} from './types/general.ts';\nimport {getENV, MION_ROUTES, PATH_SEPARATOR} from '@mionjs/core';\n\nexport const IS_TEST_ENV = getENV('JEST_WORKER_ID') !== undefined || getENV('NODE_ENV') === 'test';\n\nexport const ROUTE_DEFAULT_PARAMS = ['context'];\nexport const HEADER_HOOK_DEFAULT_PARAMS = ['context', 'headers'];\n\nexport const DEFAULT_ROUTE_OPTIONS = {\n /** Prefix for all routes, i.e: api/v1. Path separator is added between the prefix and the route */\n basePath: '',\n /** Suffix for all routes, i.e: .json. No path separator is added between the route and the suffix */\n suffix: '',\n /** Function that transforms the path before finding a route */\n pathTransform: undefined,\n /** Default serializer mode - json as default native serializer, and minimum overhead to transform just required fields */\n serializer: 'json',\n /** Default run type compiling options for routes and middleFns, can't be configured by the user as would break functionality */\n runTypeOptions: {},\n /** set to true to generate router spec for clients. */\n getPublicRoutesData: process.env.GENERATE_ROUTER_SPEC === 'true',\n /** Set true to automatically generate and id for every error. */\n autoGenerateErrorId: false,\n /** client routes are initialized by default */\n skipClientRoutes: IS_TEST_ENV,\n /** AOT mode is disabled by default */\n aot: false,\n /** Context pooling size == 100 by default */\n maxContextPoolSize: 100,\n /** RoutesFlow cache size == 100 by default */\n maxRoutesFlowsCacheSize: 100,\n} as Readonly<RouterOptions>;\n\nexport const MAX_ROUTE_NESTING = 10;\nexport const NOT_FOUND_HOOK_NAME = '_miΦn404NΦtfΦundHΦΦk_';\nexport const NOT_FOUND_PATH = `${PATH_SEPARATOR}${MION_ROUTES.notFound}`;\nexport const WORKFLOW_KEY = `mion-routes-flow`;\nexport const WORKFLOW_PATH = `${PATH_SEPARATOR}${WORKFLOW_KEY}`;\n"],"names":[],"mappings":";AAUO,MAAM,cAAc,OAAO,gBAAgB,MAAM,UAAa,OAAO,UAAU,MAAM;AAErF,MAAM,uBAAuB,CAAC,SAAS;AACvC,MAAM,6BAA6B,CAAC,WAAW,SAAS;AAExD,MAAM,wBAAwB;AAAA;AAAA,EAEjC,UAAU;AAAA;AAAA,EAEV,QAAQ;AAAA;AAAA,EAER,eAAe;AAAA;AAAA,EAEf,YAAY;AAAA;AAAA,EAEZ,gBAAgB,CAAA;AAAA;AAAA,EAEhB,qBAAqB,QAAQ,IAAI,yBAAyB;AAAA;AAAA,EAE1D,qBAAqB;AAAA;AAAA,EAErB,kBAAkB;AAAA;AAAA,EAElB,KAAK;AAAA;AAAA,EAEL,oBAAoB;AAAA;AAAA,EAEpB,yBAAyB;;AAGtB,MAAM,oBAAoB;AAC1B,MAAM,sBAAsB;AAC5B,MAAM,iBAAiB,GAAG,cAAc,GAAG,YAAY,QAAQ;AAC/D,MAAM,eAAe;AACrB,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY;"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../../../src/constants.ts"],"sourcesContent":["/* ########\n * 2022 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {RouterOptions} from './types/general.ts';\n\nexport const DEFAULT_ROUTE_OPTIONS = {\n basePath: '',\n suffix: '',\n pathTransform: undefined,\n /** set to true to generate router spec for clients. */\n getPublicRoutesData: process.env.GENERATE_ROUTER_SPEC === 'true',\n autoGenerateErrorId: false,\n /** Every chain step is awaited by default, so the chain keeps yielding between steps */\n alwaysAwait: true,\n /** A type-derived request limit is the JSON maximum times this factor */\n maxBodySizeFactor: 2,\n releaseRawBody: true,\n responseHeaders: {},\n apiVersionCheck: true,\n getAllRemoteMethodsMaxNumber: 100,\n} as Readonly<RouterOptions>;\n\nexport const MAX_ROUTE_NESTING = 10;\n\nexport const JSON_CONTENT_TYPE = 'application/json; charset=utf-8';\n"],"mappings":";AASA,IAAa,wBAAwB;CACnC,UAAU;CACV,QAAQ;CACR,eAAe,KAAA;;CAEf,qBAAqB,QAAQ,IAAI,yBAAyB;CAC1D,qBAAqB;;CAErB,aAAa;;CAEb,mBAAmB;CACnB,gBAAgB;CAChB,iBAAiB,CAAC;CAClB,iBAAiB;CACjB,8BAA8B;AAChC;AAEA,IAAa,oBAAoB;AAEjC,IAAa,oBAAoB"}
@@ -1,4 +1,10 @@
1
- import { MionResponse, MionHeaders, RawRequestBody } from './types/context.ts';
2
- import { SerializerCode } from '@mionjs/core';
1
+ import { CallContext, MionResponse, MionHeaders, RawRequestBody } from './types/context.ts';
2
+ import { RemoteMethod, MethodsExecutionChain } from './types/remoteMethods.ts';
3
+ import { SerializerCode, RpcError } from '@mionjs/core';
3
4
  export declare function dispatchRoute<Req, Resp>(path: string, reqRawBody: RawRequestBody, reqHeaders: MionHeaders, respHeaders: MionHeaders, rawRequest: Req, rawResponse?: Resp, reqBodyType?: SerializerCode, urlQuery?: string): Promise<MionResponse>;
5
+ export declare function dispatchWithContext<Req, Resp>(context: CallContext, rawRequest: Req, rawResponse?: Resp, reqRawBody?: RawRequestBody, reqBodyType?: SerializerCode): Promise<MionResponse>;
6
+ export declare function dispatchMaybeSync<Req, Resp>(context: CallContext, rawRequest: Req, rawResponse?: Resp): MionResponse | Promise<MionResponse>;
7
+ export declare function dispatchPlatformError<Req, Resp>(chain: MethodsExecutionChain, path: string, urlQuery: string | undefined, platformError: RpcError<string>, reqHeaders: MionHeaders, respHeaders: MionHeaders, rawRequest: Req, rawResponse?: Resp): Promise<MionResponse>;
8
+ export declare function callerForType(type: RemoteMethod['type']): (...args: any[]) => any;
9
+ export declare function getMethodCaller(executable: RemoteMethod): (...args: any[]) => any;
4
10
  //# sourceMappingURL=dispatch.d.ts.map