@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.
- package/.dist/cjs/.mion/types/A0Qb_D32xQCR.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_D32xQCR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_D5PMNNO.cjs +17 -0
- package/.dist/cjs/.mion/types/A0Qb_D5PMNNO.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_E1CjDEA.cjs +36 -0
- package/.dist/cjs/.mion/types/A0Qb_E1CjDEA.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_EYEglde.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_EYEglde.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_EyHLuYw.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_EyHLuYw.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_G42dZdW.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_G42dZdW.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_HSE8icr.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_HSE8icr.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_HXAy3Lx.cjs +13 -0
- package/.dist/cjs/.mion/types/A0Qb_HXAy3Lx.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_JJrCj9i.cjs +13 -0
- package/.dist/cjs/.mion/types/A0Qb_JJrCj9i.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_KDyf2Fa.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_KDyf2Fa.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_L3mQkaR.cjs +13 -0
- package/.dist/cjs/.mion/types/A0Qb_L3mQkaR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_RAudOr2.cjs +13 -0
- package/.dist/cjs/.mion/types/A0Qb_RAudOr2.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_TRnIbow.cjs +17 -0
- package/.dist/cjs/.mion/types/A0Qb_TRnIbow.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_UOI3bXq.cjs +17 -0
- package/.dist/cjs/.mion/types/A0Qb_UOI3bXq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_VsWxRKn.cjs +13 -0
- package/.dist/cjs/.mion/types/A0Qb_VsWxRKn.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_ZTKzxQG.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_ZTKzxQG.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_b4tYK8X.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_b4tYK8X.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_deFq9zY.cjs +26 -0
- package/.dist/cjs/.mion/types/A0Qb_deFq9zY.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_fMIJ1JT.cjs +14 -0
- package/.dist/cjs/.mion/types/A0Qb_fMIJ1JT.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_g17turq.cjs +13 -0
- package/.dist/cjs/.mion/types/A0Qb_g17turq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_hqa3Nzs.cjs +14 -0
- package/.dist/cjs/.mion/types/A0Qb_hqa3Nzs.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_iKPrxW9.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_iKPrxW9.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_jLtJ5Kv.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_jLtJ5Kv.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_kibOHkN.cjs +14 -0
- package/.dist/cjs/.mion/types/A0Qb_kibOHkN.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_kz5ne4c.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_kz5ne4c.cjs.map +1 -0
- package/.dist/cjs/.mion/types/A0Qb_pzBRrJb.cjs +16 -0
- package/.dist/cjs/.mion/types/A0Qb_pzBRrJb.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_EYEglde.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_EYEglde.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_EyHLuYw.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_EyHLuYw.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_HSE8icr.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_HSE8icr.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_HXAy3Lx.cjs +13 -0
- package/.dist/cjs/.mion/types/Eq2V_HXAy3Lx.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_JJrCj9i.cjs +13 -0
- package/.dist/cjs/.mion/types/Eq2V_JJrCj9i.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_KDyf2Fa.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_KDyf2Fa.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_L3mQkaR.cjs +13 -0
- package/.dist/cjs/.mion/types/Eq2V_L3mQkaR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_RAudOr2.cjs +13 -0
- package/.dist/cjs/.mion/types/Eq2V_RAudOr2.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_TRnIbow.cjs +17 -0
- package/.dist/cjs/.mion/types/Eq2V_TRnIbow.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_UOI3bXq.cjs +17 -0
- package/.dist/cjs/.mion/types/Eq2V_UOI3bXq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_VsWxRKn.cjs +13 -0
- package/.dist/cjs/.mion/types/Eq2V_VsWxRKn.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_ZTKzxQG.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_ZTKzxQG.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_b4tYK8X.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_b4tYK8X.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_deFq9zY.cjs +26 -0
- package/.dist/cjs/.mion/types/Eq2V_deFq9zY.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_g17turq.cjs +13 -0
- package/.dist/cjs/.mion/types/Eq2V_g17turq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_iKPrxW9.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_iKPrxW9.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_jLtJ5Kv.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_jLtJ5Kv.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_kz5ne4c.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_kz5ne4c.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Eq2V_pzBRrJb.cjs +16 -0
- package/.dist/cjs/.mion/types/Eq2V_pzBRrJb.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_D32xQCR.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_D32xQCR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_D5PMNNO.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_D5PMNNO.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_E1CjDEA.cjs +32 -0
- package/.dist/cjs/.mion/types/Ky89_E1CjDEA.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_EYEglde.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_EYEglde.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_EyHLuYw.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_EyHLuYw.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_G42dZdW.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_G42dZdW.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_HSE8icr.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_HSE8icr.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_JJrCj9i.cjs +13 -0
- package/.dist/cjs/.mion/types/Ky89_JJrCj9i.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_KDyf2Fa.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_KDyf2Fa.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_L3mQkaR.cjs +13 -0
- package/.dist/cjs/.mion/types/Ky89_L3mQkaR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_RAudOr2.cjs +13 -0
- package/.dist/cjs/.mion/types/Ky89_RAudOr2.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_TRnIbow.cjs +13 -0
- package/.dist/cjs/.mion/types/Ky89_TRnIbow.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_UOI3bXq.cjs +17 -0
- package/.dist/cjs/.mion/types/Ky89_UOI3bXq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_ZTKzxQG.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_ZTKzxQG.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_b4tYK8X.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_b4tYK8X.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_deFq9zY.cjs +26 -0
- package/.dist/cjs/.mion/types/Ky89_deFq9zY.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_fMIJ1JT.cjs +13 -0
- package/.dist/cjs/.mion/types/Ky89_fMIJ1JT.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_g17turq.cjs +13 -0
- package/.dist/cjs/.mion/types/Ky89_g17turq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_hqa3Nzs.cjs +14 -0
- package/.dist/cjs/.mion/types/Ky89_hqa3Nzs.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_iKPrxW9.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_iKPrxW9.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_jLtJ5Kv.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_jLtJ5Kv.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_kibOHkN.cjs +13 -0
- package/.dist/cjs/.mion/types/Ky89_kibOHkN.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_kz5ne4c.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_kz5ne4c.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Ky89_pzBRrJb.cjs +16 -0
- package/.dist/cjs/.mion/types/Ky89_pzBRrJb.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_D32xQCR.cjs +23 -0
- package/.dist/cjs/.mion/types/OBOg_D32xQCR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_D5PMNNO.cjs +18 -0
- package/.dist/cjs/.mion/types/OBOg_D5PMNNO.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_E1CjDEA.cjs +18 -0
- package/.dist/cjs/.mion/types/OBOg_E1CjDEA.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_G42dZdW.cjs +18 -0
- package/.dist/cjs/.mion/types/OBOg_G42dZdW.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_LKYfhxm.cjs +18 -0
- package/.dist/cjs/.mion/types/OBOg_LKYfhxm.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_fMIJ1JT.cjs +18 -0
- package/.dist/cjs/.mion/types/OBOg_fMIJ1JT.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_g17turq.cjs +17 -0
- package/.dist/cjs/.mion/types/OBOg_g17turq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_hqa3Nzs.cjs +17 -0
- package/.dist/cjs/.mion/types/OBOg_hqa3Nzs.cjs.map +1 -0
- package/.dist/cjs/.mion/types/OBOg_kibOHkN.cjs +17 -0
- package/.dist/cjs/.mion/types/OBOg_kibOHkN.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_D32xQCR.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_D32xQCR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_D5PMNNO.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_D5PMNNO.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_E1CjDEA.cjs +29 -0
- package/.dist/cjs/.mion/types/Xhuv_E1CjDEA.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_EYEglde.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_EYEglde.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_EyHLuYw.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_EyHLuYw.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_G42dZdW.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_G42dZdW.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_HSE8icr.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_HSE8icr.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_HXAy3Lx.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_HXAy3Lx.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_JJrCj9i.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_JJrCj9i.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_KDyf2Fa.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_KDyf2Fa.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_L3mQkaR.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_L3mQkaR.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_LKYfhxm.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_LKYfhxm.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_RAudOr2.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_RAudOr2.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_TRnIbow.cjs +17 -0
- package/.dist/cjs/.mion/types/Xhuv_TRnIbow.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_UOI3bXq.cjs +17 -0
- package/.dist/cjs/.mion/types/Xhuv_UOI3bXq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_VsWxRKn.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_VsWxRKn.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_ZTKzxQG.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_ZTKzxQG.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_ZgsWs6s.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_ZgsWs6s.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_b4tYK8X.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_b4tYK8X.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_deFq9zY.cjs +26 -0
- package/.dist/cjs/.mion/types/Xhuv_deFq9zY.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_fMIJ1JT.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_fMIJ1JT.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_g17turq.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_g17turq.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_hqa3Nzs.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_hqa3Nzs.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_iKPrxW9.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_iKPrxW9.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_jLtJ5Kv.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_jLtJ5Kv.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_kibOHkN.cjs +13 -0
- package/.dist/cjs/.mion/types/Xhuv_kibOHkN.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_kz5ne4c.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_kz5ne4c.cjs.map +1 -0
- package/.dist/cjs/.mion/types/Xhuv_pzBRrJb.cjs +16 -0
- package/.dist/cjs/.mion/types/Xhuv_pzBRrJb.cjs.map +1 -0
- package/.dist/cjs/.mion/types/mzca_fMIJ1JT.cjs +14 -0
- package/.dist/cjs/.mion/types/mzca_fMIJ1JT.cjs.map +1 -0
- package/.dist/cjs/.mion/types/mzca_hqa3Nzs.cjs +14 -0
- package/.dist/cjs/.mion/types/mzca_hqa3Nzs.cjs.map +1 -0
- package/.dist/cjs/.mion/types/mzca_kibOHkN.cjs +14 -0
- package/.dist/cjs/.mion/types/mzca_kibOHkN.cjs.map +1 -0
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.cjs +14 -0
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.cjs.map +1 -0
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.cjs +14 -0
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.cjs.map +1 -0
- package/.dist/cjs/.mion/types/rt/C7ezVBCtGn.cjs +498 -0
- package/.dist/cjs/.mion/types/rt/C7ezVBCtGn.cjs.map +1 -0
- package/.dist/cjs/.mion/types/rt/VIdAjpHu1X.cjs +526 -0
- package/.dist/cjs/.mion/types/rt/VIdAjpHu1X.cjs.map +1 -0
- package/.dist/cjs/.mion/types/rt/eF4wQzU6Fd.cjs +876 -0
- package/.dist/cjs/.mion/types/rt/eF4wQzU6Fd.cjs.map +1 -0
- package/.dist/cjs/.mion/types/rt/shared/JQEexHbHMp.cjs +467 -0
- package/.dist/cjs/.mion/types/rt/shared/JQEexHbHMp.cjs.map +1 -0
- package/.dist/cjs/.mion/types/rt/shared/connsmWgsp.cjs +1475 -0
- package/.dist/cjs/.mion/types/rt/shared/connsmWgsp.cjs.map +1 -0
- package/.dist/cjs/index.cjs +115 -153
- package/.dist/cjs/index.d.ts +5 -4
- package/.dist/cjs/middlewares.cjs +5 -0
- package/.dist/cjs/middlewares.d.ts +3 -0
- package/.dist/cjs/src/batches.cjs +332 -0
- package/.dist/cjs/src/batches.cjs.map +1 -0
- package/.dist/cjs/src/batches.d.ts +22 -0
- package/.dist/cjs/src/callContext.cjs +72 -116
- package/.dist/cjs/src/callContext.cjs.map +1 -1
- package/.dist/cjs/src/callContext.d.ts +5 -8
- package/.dist/cjs/src/constants.cjs +22 -41
- package/.dist/cjs/src/constants.cjs.map +1 -1
- package/.dist/cjs/src/constants.d.ts +1 -7
- package/.dist/cjs/src/dispatch.cjs +227 -129
- package/.dist/cjs/src/dispatch.cjs.map +1 -1
- package/.dist/cjs/src/dispatch.d.ts +8 -2
- package/.dist/cjs/src/lib/bodyLimit.cjs +37 -0
- package/.dist/cjs/src/lib/bodyLimit.cjs.map +1 -0
- package/.dist/cjs/src/lib/bodyLimit.d.ts +5 -0
- package/.dist/cjs/src/lib/bodyReader.cjs +79 -0
- package/.dist/cjs/src/lib/bodyReader.cjs.map +1 -0
- package/.dist/cjs/src/lib/bodyReader.d.ts +10 -0
- package/.dist/cjs/src/lib/dispatchError.cjs +77 -34
- package/.dist/cjs/src/lib/dispatchError.cjs.map +1 -1
- package/.dist/cjs/src/lib/dispatchError.d.ts +6 -2
- package/.dist/cjs/src/lib/handlers.cjs +91 -44
- package/.dist/cjs/src/lib/handlers.cjs.map +1 -1
- package/.dist/cjs/src/lib/handlers.d.ts +14 -9
- package/.dist/cjs/src/lib/headers.cjs +172 -55
- package/.dist/cjs/src/lib/headers.cjs.map +1 -1
- package/.dist/cjs/src/lib/headers.d.ts +40 -1
- package/.dist/cjs/src/lib/queryBody.cjs +25 -29
- package/.dist/cjs/src/lib/queryBody.cjs.map +1 -1
- package/.dist/cjs/src/lib/queryBody.d.ts +0 -1
- package/.dist/cjs/src/lib/reflection.cjs +78 -371
- package/.dist/cjs/src/lib/reflection.cjs.map +1 -1
- package/.dist/cjs/src/lib/reflection.d.ts +12 -9
- package/.dist/cjs/src/lib/remoteMethods.cjs +104 -104
- package/.dist/cjs/src/lib/remoteMethods.cjs.map +1 -1
- package/.dist/cjs/src/lib/remoteMethods.d.ts +4 -4
- package/.dist/cjs/src/lib/urlQuery.cjs +24 -0
- package/.dist/cjs/src/lib/urlQuery.cjs.map +1 -0
- package/.dist/cjs/src/lib/urlQuery.d.ts +2 -0
- package/.dist/cjs/src/middlewares/fetchMetadata.cjs +99 -0
- package/.dist/cjs/src/middlewares/fetchMetadata.cjs.map +1 -0
- package/.dist/cjs/src/middlewares/fetchMetadata.d.ts +15 -0
- package/.dist/cjs/src/middlewares/syncRoutes.cjs +67 -0
- package/.dist/cjs/src/middlewares/syncRoutes.cjs.map +1 -0
- package/.dist/cjs/src/middlewares/syncRoutes.d.ts +12 -0
- package/.dist/cjs/src/router.cjs +506 -432
- package/.dist/cjs/src/router.cjs.map +1 -1
- package/.dist/cjs/src/router.d.ts +27 -19
- package/.dist/cjs/src/routes/errors.routes.cjs +81 -46
- package/.dist/cjs/src/routes/errors.routes.cjs.map +1 -1
- package/.dist/cjs/src/routes/errors.routes.d.ts +14 -3
- package/.dist/cjs/src/routes/serializer.routes.cjs +107 -176
- package/.dist/cjs/src/routes/serializer.routes.cjs.map +1 -1
- package/.dist/cjs/src/routes/serializer.routes.d.ts +3 -3
- package/.dist/cjs/src/types/context.cjs +0 -31
- package/.dist/cjs/src/types/context.d.ts +13 -21
- package/.dist/cjs/src/types/definitions.cjs +0 -15
- package/.dist/cjs/src/types/definitions.d.ts +32 -20
- package/.dist/cjs/src/types/general.cjs +0 -14
- package/.dist/cjs/src/types/general.d.ts +15 -15
- package/.dist/cjs/src/types/guards.cjs +31 -38
- package/.dist/cjs/src/types/guards.cjs.map +1 -1
- package/.dist/cjs/src/types/guards.d.ts +7 -7
- package/.dist/cjs/src/types/handlers.cjs +0 -13
- package/.dist/cjs/src/types/handlers.d.ts +8 -5
- package/.dist/cjs/src/types/mionRouter.cjs +0 -0
- package/.dist/cjs/src/types/mionRouter.d.ts +44 -0
- package/.dist/cjs/src/types/parser.cjs +0 -0
- package/.dist/cjs/src/types/parser.d.ts +43 -0
- package/.dist/cjs/src/types/publicMethods.cjs +0 -24
- package/.dist/cjs/src/types/publicMethods.d.ts +65 -25
- package/.dist/cjs/src/types/remoteMethods.cjs +0 -25
- package/.dist/cjs/src/types/remoteMethods.d.ts +49 -29
- package/.dist/cjs/src/types/resolvedOptions.cjs +0 -0
- package/.dist/cjs/src/types/resolvedOptions.d.ts +28 -0
- package/.dist/esm/.mion/types/A0Qb_D32xQCR.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_D32xQCR.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_D5PMNNO.js +17 -0
- package/.dist/esm/.mion/types/A0Qb_D5PMNNO.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_E1CjDEA.js +36 -0
- package/.dist/esm/.mion/types/A0Qb_E1CjDEA.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_EYEglde.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_EYEglde.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_EyHLuYw.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_EyHLuYw.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_G42dZdW.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_G42dZdW.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_HSE8icr.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_HSE8icr.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_HXAy3Lx.js +13 -0
- package/.dist/esm/.mion/types/A0Qb_HXAy3Lx.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_JJrCj9i.js +13 -0
- package/.dist/esm/.mion/types/A0Qb_JJrCj9i.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_KDyf2Fa.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_KDyf2Fa.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_L3mQkaR.js +13 -0
- package/.dist/esm/.mion/types/A0Qb_L3mQkaR.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_RAudOr2.js +13 -0
- package/.dist/esm/.mion/types/A0Qb_RAudOr2.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_TRnIbow.js +17 -0
- package/.dist/esm/.mion/types/A0Qb_TRnIbow.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_UOI3bXq.js +17 -0
- package/.dist/esm/.mion/types/A0Qb_UOI3bXq.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_VsWxRKn.js +13 -0
- package/.dist/esm/.mion/types/A0Qb_VsWxRKn.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_ZTKzxQG.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_ZTKzxQG.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_b4tYK8X.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_b4tYK8X.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_deFq9zY.js +26 -0
- package/.dist/esm/.mion/types/A0Qb_deFq9zY.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_fMIJ1JT.js +14 -0
- package/.dist/esm/.mion/types/A0Qb_fMIJ1JT.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_g17turq.js +13 -0
- package/.dist/esm/.mion/types/A0Qb_g17turq.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_hqa3Nzs.js +14 -0
- package/.dist/esm/.mion/types/A0Qb_hqa3Nzs.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_iKPrxW9.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_iKPrxW9.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_jLtJ5Kv.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_jLtJ5Kv.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_kibOHkN.js +14 -0
- package/.dist/esm/.mion/types/A0Qb_kibOHkN.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_kz5ne4c.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_kz5ne4c.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_pzBRrJb.js +16 -0
- package/.dist/esm/.mion/types/A0Qb_pzBRrJb.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_EYEglde.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_EYEglde.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_EyHLuYw.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_EyHLuYw.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_HSE8icr.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_HSE8icr.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_HXAy3Lx.js +13 -0
- package/.dist/esm/.mion/types/Eq2V_HXAy3Lx.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_JJrCj9i.js +13 -0
- package/.dist/esm/.mion/types/Eq2V_JJrCj9i.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_KDyf2Fa.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_KDyf2Fa.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_L3mQkaR.js +13 -0
- package/.dist/esm/.mion/types/Eq2V_L3mQkaR.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_RAudOr2.js +13 -0
- package/.dist/esm/.mion/types/Eq2V_RAudOr2.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_TRnIbow.js +17 -0
- package/.dist/esm/.mion/types/Eq2V_TRnIbow.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_UOI3bXq.js +17 -0
- package/.dist/esm/.mion/types/Eq2V_UOI3bXq.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_VsWxRKn.js +13 -0
- package/.dist/esm/.mion/types/Eq2V_VsWxRKn.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_ZTKzxQG.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_ZTKzxQG.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_b4tYK8X.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_b4tYK8X.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_deFq9zY.js +26 -0
- package/.dist/esm/.mion/types/Eq2V_deFq9zY.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_g17turq.js +13 -0
- package/.dist/esm/.mion/types/Eq2V_g17turq.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_iKPrxW9.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_iKPrxW9.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_jLtJ5Kv.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_jLtJ5Kv.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_kz5ne4c.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_kz5ne4c.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_pzBRrJb.js +16 -0
- package/.dist/esm/.mion/types/Eq2V_pzBRrJb.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_D32xQCR.js +16 -0
- package/.dist/esm/.mion/types/Ky89_D32xQCR.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_D5PMNNO.js +16 -0
- package/.dist/esm/.mion/types/Ky89_D5PMNNO.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_E1CjDEA.js +32 -0
- package/.dist/esm/.mion/types/Ky89_E1CjDEA.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_EYEglde.js +16 -0
- package/.dist/esm/.mion/types/Ky89_EYEglde.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_EyHLuYw.js +16 -0
- package/.dist/esm/.mion/types/Ky89_EyHLuYw.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_G42dZdW.js +16 -0
- package/.dist/esm/.mion/types/Ky89_G42dZdW.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_HSE8icr.js +16 -0
- package/.dist/esm/.mion/types/Ky89_HSE8icr.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_JJrCj9i.js +13 -0
- package/.dist/esm/.mion/types/Ky89_JJrCj9i.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_KDyf2Fa.js +16 -0
- package/.dist/esm/.mion/types/Ky89_KDyf2Fa.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_L3mQkaR.js +13 -0
- package/.dist/esm/.mion/types/Ky89_L3mQkaR.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_RAudOr2.js +13 -0
- package/.dist/esm/.mion/types/Ky89_RAudOr2.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_TRnIbow.js +13 -0
- package/.dist/esm/.mion/types/Ky89_TRnIbow.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_UOI3bXq.js +17 -0
- package/.dist/esm/.mion/types/Ky89_UOI3bXq.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_ZTKzxQG.js +16 -0
- package/.dist/esm/.mion/types/Ky89_ZTKzxQG.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_b4tYK8X.js +16 -0
- package/.dist/esm/.mion/types/Ky89_b4tYK8X.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_deFq9zY.js +26 -0
- package/.dist/esm/.mion/types/Ky89_deFq9zY.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_fMIJ1JT.js +13 -0
- package/.dist/esm/.mion/types/Ky89_fMIJ1JT.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_g17turq.js +13 -0
- package/.dist/esm/.mion/types/Ky89_g17turq.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_hqa3Nzs.js +14 -0
- package/.dist/esm/.mion/types/Ky89_hqa3Nzs.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_iKPrxW9.js +16 -0
- package/.dist/esm/.mion/types/Ky89_iKPrxW9.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_jLtJ5Kv.js +16 -0
- package/.dist/esm/.mion/types/Ky89_jLtJ5Kv.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_kibOHkN.js +13 -0
- package/.dist/esm/.mion/types/Ky89_kibOHkN.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_kz5ne4c.js +16 -0
- package/.dist/esm/.mion/types/Ky89_kz5ne4c.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_pzBRrJb.js +16 -0
- package/.dist/esm/.mion/types/Ky89_pzBRrJb.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_D32xQCR.js +23 -0
- package/.dist/esm/.mion/types/OBOg_D32xQCR.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_D5PMNNO.js +18 -0
- package/.dist/esm/.mion/types/OBOg_D5PMNNO.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_E1CjDEA.js +18 -0
- package/.dist/esm/.mion/types/OBOg_E1CjDEA.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_G42dZdW.js +18 -0
- package/.dist/esm/.mion/types/OBOg_G42dZdW.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_LKYfhxm.js +18 -0
- package/.dist/esm/.mion/types/OBOg_LKYfhxm.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_fMIJ1JT.js +18 -0
- package/.dist/esm/.mion/types/OBOg_fMIJ1JT.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_g17turq.js +17 -0
- package/.dist/esm/.mion/types/OBOg_g17turq.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_hqa3Nzs.js +17 -0
- package/.dist/esm/.mion/types/OBOg_hqa3Nzs.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_kibOHkN.js +17 -0
- package/.dist/esm/.mion/types/OBOg_kibOHkN.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_D32xQCR.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_D32xQCR.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_D5PMNNO.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_D5PMNNO.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_E1CjDEA.js +29 -0
- package/.dist/esm/.mion/types/Xhuv_E1CjDEA.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_EYEglde.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_EYEglde.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_EyHLuYw.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_EyHLuYw.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_G42dZdW.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_G42dZdW.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_HSE8icr.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_HSE8icr.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_HXAy3Lx.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_HXAy3Lx.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_JJrCj9i.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_JJrCj9i.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_KDyf2Fa.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_KDyf2Fa.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_L3mQkaR.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_L3mQkaR.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_LKYfhxm.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_LKYfhxm.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_RAudOr2.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_RAudOr2.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_TRnIbow.js +17 -0
- package/.dist/esm/.mion/types/Xhuv_TRnIbow.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_UOI3bXq.js +17 -0
- package/.dist/esm/.mion/types/Xhuv_UOI3bXq.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_VsWxRKn.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_VsWxRKn.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_ZTKzxQG.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_ZTKzxQG.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_ZgsWs6s.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_ZgsWs6s.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_b4tYK8X.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_b4tYK8X.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_deFq9zY.js +26 -0
- package/.dist/esm/.mion/types/Xhuv_deFq9zY.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_fMIJ1JT.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_fMIJ1JT.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_g17turq.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_g17turq.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_hqa3Nzs.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_hqa3Nzs.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_iKPrxW9.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_iKPrxW9.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_jLtJ5Kv.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_jLtJ5Kv.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_kibOHkN.js +13 -0
- package/.dist/esm/.mion/types/Xhuv_kibOHkN.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_kz5ne4c.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_kz5ne4c.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_pzBRrJb.js +16 -0
- package/.dist/esm/.mion/types/Xhuv_pzBRrJb.js.map +1 -0
- package/.dist/esm/.mion/types/mzca_fMIJ1JT.js +14 -0
- package/.dist/esm/.mion/types/mzca_fMIJ1JT.js.map +1 -0
- package/.dist/esm/.mion/types/mzca_hqa3Nzs.js +14 -0
- package/.dist/esm/.mion/types/mzca_hqa3Nzs.js.map +1 -0
- package/.dist/esm/.mion/types/mzca_kibOHkN.js +14 -0
- package/.dist/esm/.mion/types/mzca_kibOHkN.js.map +1 -0
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.js +14 -0
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.js.map +1 -0
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.js +14 -0
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.js.map +1 -0
- package/.dist/esm/.mion/types/rt/C7ezVBCtGn.js +495 -0
- package/.dist/esm/.mion/types/rt/C7ezVBCtGn.js.map +1 -0
- package/.dist/esm/.mion/types/rt/VIdAjpHu1X.js +521 -0
- package/.dist/esm/.mion/types/rt/VIdAjpHu1X.js.map +1 -0
- package/.dist/esm/.mion/types/rt/eF4wQzU6Fd.js +873 -0
- package/.dist/esm/.mion/types/rt/eF4wQzU6Fd.js.map +1 -0
- package/.dist/esm/.mion/types/rt/shared/JQEexHbHMp.js +467 -0
- package/.dist/esm/.mion/types/rt/shared/JQEexHbHMp.js.map +1 -0
- package/.dist/esm/.mion/types/rt/shared/connsmWgsp.js +1475 -0
- package/.dist/esm/.mion/types/rt/shared/connsmWgsp.js.map +1 -0
- package/.dist/esm/index.d.ts +5 -4
- package/.dist/esm/index.js +11 -145
- package/.dist/esm/middlewares.d.ts +3 -0
- package/.dist/esm/middlewares.js +3 -0
- package/.dist/esm/src/batches.d.ts +22 -0
- package/.dist/esm/src/batches.js +321 -0
- package/.dist/esm/src/batches.js.map +1 -0
- package/.dist/esm/src/callContext.d.ts +5 -8
- package/.dist/esm/src/callContext.js +70 -118
- package/.dist/esm/src/callContext.js.map +1 -1
- package/.dist/esm/src/constants.d.ts +1 -7
- package/.dist/esm/src/constants.js +22 -44
- package/.dist/esm/src/constants.js.map +1 -1
- package/.dist/esm/src/dispatch.d.ts +8 -2
- package/.dist/esm/src/dispatch.js +223 -131
- package/.dist/esm/src/dispatch.js.map +1 -1
- package/.dist/esm/src/lib/bodyLimit.d.ts +5 -0
- package/.dist/esm/src/lib/bodyLimit.js +35 -0
- package/.dist/esm/src/lib/bodyLimit.js.map +1 -0
- package/.dist/esm/src/lib/bodyReader.d.ts +10 -0
- package/.dist/esm/src/lib/bodyReader.js +76 -0
- package/.dist/esm/src/lib/bodyReader.js.map +1 -0
- package/.dist/esm/src/lib/dispatchError.d.ts +6 -2
- package/.dist/esm/src/lib/dispatchError.js +72 -36
- package/.dist/esm/src/lib/dispatchError.js.map +1 -1
- package/.dist/esm/src/lib/handlers.d.ts +14 -9
- package/.dist/esm/src/lib/handlers.js +85 -48
- package/.dist/esm/src/lib/handlers.js.map +1 -1
- package/.dist/esm/src/lib/headers.d.ts +40 -1
- package/.dist/esm/src/lib/headers.js +167 -57
- package/.dist/esm/src/lib/headers.js.map +1 -1
- package/.dist/esm/src/lib/queryBody.d.ts +0 -1
- package/.dist/esm/src/lib/queryBody.js +26 -31
- package/.dist/esm/src/lib/queryBody.js.map +1 -1
- package/.dist/esm/src/lib/reflection.d.ts +12 -9
- package/.dist/esm/src/lib/reflection.js +75 -351
- package/.dist/esm/src/lib/reflection.js.map +1 -1
- package/.dist/esm/src/lib/remoteMethods.d.ts +4 -4
- package/.dist/esm/src/lib/remoteMethods.js +105 -111
- package/.dist/esm/src/lib/remoteMethods.js.map +1 -1
- package/.dist/esm/src/lib/urlQuery.d.ts +2 -0
- package/.dist/esm/src/lib/urlQuery.js +23 -0
- package/.dist/esm/src/lib/urlQuery.js.map +1 -0
- package/.dist/esm/src/middlewares/fetchMetadata.d.ts +15 -0
- package/.dist/esm/src/middlewares/fetchMetadata.js +97 -0
- package/.dist/esm/src/middlewares/fetchMetadata.js.map +1 -0
- package/.dist/esm/src/middlewares/syncRoutes.d.ts +12 -0
- package/.dist/esm/src/middlewares/syncRoutes.js +66 -0
- package/.dist/esm/src/middlewares/syncRoutes.js.map +1 -0
- package/.dist/esm/src/router.d.ts +27 -19
- package/.dist/esm/src/router.js +477 -449
- package/.dist/esm/src/router.js.map +1 -1
- package/.dist/esm/src/routes/errors.routes.d.ts +14 -3
- package/.dist/esm/src/routes/errors.routes.js +80 -48
- package/.dist/esm/src/routes/errors.routes.js.map +1 -1
- package/.dist/esm/src/routes/serializer.routes.d.ts +3 -3
- package/.dist/esm/src/routes/serializer.routes.js +107 -179
- package/.dist/esm/src/routes/serializer.routes.js.map +1 -1
- package/.dist/esm/src/types/context.d.ts +13 -21
- package/.dist/esm/src/types/context.js +0 -31
- package/.dist/esm/src/types/definitions.d.ts +32 -20
- package/.dist/esm/src/types/definitions.js +0 -15
- package/.dist/esm/src/types/general.d.ts +15 -15
- package/.dist/esm/src/types/general.js +0 -14
- package/.dist/esm/src/types/guards.d.ts +7 -7
- package/.dist/esm/src/types/guards.js +27 -46
- package/.dist/esm/src/types/guards.js.map +1 -1
- package/.dist/esm/src/types/handlers.d.ts +8 -5
- package/.dist/esm/src/types/handlers.js +0 -13
- package/.dist/esm/src/types/mionRouter.d.ts +44 -0
- package/.dist/esm/src/types/mionRouter.js +0 -0
- package/.dist/esm/src/types/parser.d.ts +43 -0
- package/.dist/esm/src/types/parser.js +0 -0
- package/.dist/esm/src/types/publicMethods.d.ts +65 -25
- package/.dist/esm/src/types/publicMethods.js +0 -24
- package/.dist/esm/src/types/remoteMethods.d.ts +49 -29
- package/.dist/esm/src/types/remoteMethods.js +0 -25
- package/.dist/esm/src/types/resolvedOptions.d.ts +28 -0
- package/.dist/esm/src/types/resolvedOptions.js +0 -0
- package/LICENSE +1 -1
- package/README.md +6 -6
- package/package.json +21 -24
- package/.dist/cjs/index.cjs.map +0 -1
- package/.dist/cjs/index.d.ts.map +0 -1
- package/.dist/cjs/src/aot/aotCacheLoader.cjs +0 -11
- package/.dist/cjs/src/aot/aotCacheLoader.cjs.map +0 -1
- package/.dist/cjs/src/aot/aotCacheLoader.d.ts +0 -2
- package/.dist/cjs/src/aot/aotCacheLoader.d.ts.map +0 -1
- package/.dist/cjs/src/callContext.d.ts.map +0 -1
- package/.dist/cjs/src/constants.d.ts.map +0 -1
- package/.dist/cjs/src/defaultRoutes.cjs +0 -16
- package/.dist/cjs/src/defaultRoutes.cjs.map +0 -1
- package/.dist/cjs/src/defaultRoutes.d.ts +0 -4
- package/.dist/cjs/src/defaultRoutes.d.ts.map +0 -1
- package/.dist/cjs/src/dispatch.d.ts.map +0 -1
- package/.dist/cjs/src/lib/aotEmitter.cjs +0 -74
- package/.dist/cjs/src/lib/aotEmitter.cjs.map +0 -1
- package/.dist/cjs/src/lib/aotEmitter.d.ts +0 -24
- package/.dist/cjs/src/lib/aotEmitter.d.ts.map +0 -1
- package/.dist/cjs/src/lib/dispatchError.d.ts.map +0 -1
- package/.dist/cjs/src/lib/handlers.d.ts.map +0 -1
- package/.dist/cjs/src/lib/headers.d.ts.map +0 -1
- package/.dist/cjs/src/lib/methodsCache.cjs +0 -55
- package/.dist/cjs/src/lib/methodsCache.cjs.map +0 -1
- package/.dist/cjs/src/lib/methodsCache.d.ts +0 -12
- package/.dist/cjs/src/lib/methodsCache.d.ts.map +0 -1
- package/.dist/cjs/src/lib/queryBody.d.ts.map +0 -1
- package/.dist/cjs/src/lib/reflection.d.ts.map +0 -1
- package/.dist/cjs/src/lib/remoteMethods.d.ts.map +0 -1
- package/.dist/cjs/src/lib/test/aotEmitter-test-router.cjs +0 -24
- package/.dist/cjs/src/lib/test/aotEmitter-test-router.cjs.map +0 -1
- package/.dist/cjs/src/lib/test/aotEmitter-test-router.d.ts +0 -5
- package/.dist/cjs/src/lib/test/aotEmitter-test-router.d.ts.map +0 -1
- package/.dist/cjs/src/router.d.ts.map +0 -1
- package/.dist/cjs/src/routes/client.routes.cjs +0 -76
- package/.dist/cjs/src/routes/client.routes.cjs.map +0 -1
- package/.dist/cjs/src/routes/client.routes.d.ts +0 -20
- package/.dist/cjs/src/routes/client.routes.d.ts.map +0 -1
- package/.dist/cjs/src/routes/errors.routes.d.ts.map +0 -1
- package/.dist/cjs/src/routes/mion.routes.cjs +0 -13
- package/.dist/cjs/src/routes/mion.routes.cjs.map +0 -1
- package/.dist/cjs/src/routes/mion.routes.d.ts +0 -10
- package/.dist/cjs/src/routes/mion.routes.d.ts.map +0 -1
- package/.dist/cjs/src/routes/serializer.routes.d.ts.map +0 -1
- package/.dist/cjs/src/routesFlow.cjs +0 -227
- package/.dist/cjs/src/routesFlow.cjs.map +0 -1
- package/.dist/cjs/src/routesFlow.d.ts +0 -8
- package/.dist/cjs/src/routesFlow.d.ts.map +0 -1
- package/.dist/cjs/src/types/context.cjs.map +0 -1
- package/.dist/cjs/src/types/context.d.ts.map +0 -1
- package/.dist/cjs/src/types/definitions.cjs.map +0 -1
- package/.dist/cjs/src/types/definitions.d.ts.map +0 -1
- package/.dist/cjs/src/types/general.cjs.map +0 -1
- package/.dist/cjs/src/types/general.d.ts.map +0 -1
- package/.dist/cjs/src/types/guards.d.ts.map +0 -1
- package/.dist/cjs/src/types/handlers.cjs.map +0 -1
- package/.dist/cjs/src/types/handlers.d.ts.map +0 -1
- package/.dist/cjs/src/types/publicMethods.cjs.map +0 -1
- package/.dist/cjs/src/types/publicMethods.d.ts.map +0 -1
- package/.dist/cjs/src/types/remoteMethods.cjs.map +0 -1
- package/.dist/cjs/src/types/remoteMethods.d.ts.map +0 -1
- package/.dist/esm/index.d.ts.map +0 -1
- package/.dist/esm/index.js.map +0 -1
- package/.dist/esm/src/aot/aotCacheLoader.d.ts +0 -2
- package/.dist/esm/src/aot/aotCacheLoader.d.ts.map +0 -1
- package/.dist/esm/src/aot/aotCacheLoader.js +0 -11
- package/.dist/esm/src/aot/aotCacheLoader.js.map +0 -1
- package/.dist/esm/src/callContext.d.ts.map +0 -1
- package/.dist/esm/src/constants.d.ts.map +0 -1
- package/.dist/esm/src/defaultRoutes.d.ts +0 -4
- package/.dist/esm/src/defaultRoutes.d.ts.map +0 -1
- package/.dist/esm/src/defaultRoutes.js +0 -16
- package/.dist/esm/src/defaultRoutes.js.map +0 -1
- package/.dist/esm/src/dispatch.d.ts.map +0 -1
- package/.dist/esm/src/lib/aotEmitter.d.ts +0 -24
- package/.dist/esm/src/lib/aotEmitter.d.ts.map +0 -1
- package/.dist/esm/src/lib/aotEmitter.js +0 -74
- package/.dist/esm/src/lib/aotEmitter.js.map +0 -1
- package/.dist/esm/src/lib/dispatchError.d.ts.map +0 -1
- package/.dist/esm/src/lib/handlers.d.ts.map +0 -1
- package/.dist/esm/src/lib/headers.d.ts.map +0 -1
- package/.dist/esm/src/lib/methodsCache.d.ts +0 -12
- package/.dist/esm/src/lib/methodsCache.d.ts.map +0 -1
- package/.dist/esm/src/lib/methodsCache.js +0 -56
- package/.dist/esm/src/lib/methodsCache.js.map +0 -1
- package/.dist/esm/src/lib/queryBody.d.ts.map +0 -1
- package/.dist/esm/src/lib/reflection.d.ts.map +0 -1
- package/.dist/esm/src/lib/remoteMethods.d.ts.map +0 -1
- package/.dist/esm/src/lib/test/aotEmitter-test-router.d.ts +0 -5
- package/.dist/esm/src/lib/test/aotEmitter-test-router.d.ts.map +0 -1
- package/.dist/esm/src/lib/test/aotEmitter-test-router.js +0 -24
- package/.dist/esm/src/lib/test/aotEmitter-test-router.js.map +0 -1
- package/.dist/esm/src/router.d.ts.map +0 -1
- package/.dist/esm/src/routes/client.routes.d.ts +0 -20
- package/.dist/esm/src/routes/client.routes.d.ts.map +0 -1
- package/.dist/esm/src/routes/client.routes.js +0 -76
- package/.dist/esm/src/routes/client.routes.js.map +0 -1
- package/.dist/esm/src/routes/errors.routes.d.ts.map +0 -1
- package/.dist/esm/src/routes/mion.routes.d.ts +0 -10
- package/.dist/esm/src/routes/mion.routes.d.ts.map +0 -1
- package/.dist/esm/src/routes/mion.routes.js +0 -13
- package/.dist/esm/src/routes/mion.routes.js.map +0 -1
- package/.dist/esm/src/routes/serializer.routes.d.ts.map +0 -1
- package/.dist/esm/src/routesFlow.d.ts +0 -8
- package/.dist/esm/src/routesFlow.d.ts.map +0 -1
- package/.dist/esm/src/routesFlow.js +0 -227
- package/.dist/esm/src/routesFlow.js.map +0 -1
- package/.dist/esm/src/types/context.d.ts.map +0 -1
- package/.dist/esm/src/types/context.js.map +0 -1
- package/.dist/esm/src/types/definitions.d.ts.map +0 -1
- package/.dist/esm/src/types/definitions.js.map +0 -1
- package/.dist/esm/src/types/general.d.ts.map +0 -1
- package/.dist/esm/src/types/general.js.map +0 -1
- package/.dist/esm/src/types/guards.d.ts.map +0 -1
- package/.dist/esm/src/types/handlers.d.ts.map +0 -1
- package/.dist/esm/src/types/handlers.js.map +0 -1
- package/.dist/esm/src/types/publicMethods.d.ts.map +0 -1
- package/.dist/esm/src/types/publicMethods.js.map +0 -1
- package/.dist/esm/src/types/remoteMethods.d.ts.map +0 -1
- package/.dist/esm/src/types/remoteMethods.js.map +0 -1
- package/index.ts +0 -29
- package/src/aot/aotCacheLoader.ts +0 -15
- package/src/callContext.ts +0 -193
- package/src/constants.ts +0 -45
- package/src/defaultRoutes.ts +0 -37
- package/src/dispatch.ts +0 -204
- package/src/lib/aotEmitter.ts +0 -140
- package/src/lib/dispatchError.ts +0 -60
- package/src/lib/handlers.ts +0 -75
- package/src/lib/headers.ts +0 -102
- package/src/lib/methodsCache.ts +0 -72
- package/src/lib/queryBody.ts +0 -40
- package/src/lib/reflection.ts +0 -517
- package/src/lib/remoteMethods.ts +0 -180
- package/src/lib/test/aotEmitter-test-router.ts +0 -40
- package/src/router.ts +0 -656
- package/src/routes/client.routes.ts +0 -108
- package/src/routes/errors.routes.ts +0 -51
- package/src/routes/mion.routes.ts +0 -11
- package/src/routes/serializer.routes.ts +0 -225
- package/src/routesFlow.ts +0 -320
- package/src/types/context.ts +0 -119
- package/src/types/definitions.ts +0 -53
- package/src/types/general.ts +0 -84
- package/src/types/guards.ts +0 -71
- package/src/types/handlers.ts +0 -49
- package/src/types/publicMethods.ts +0 -83
- package/src/types/remoteMethods.ts +0 -54
|
@@ -1,191 +1,119 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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
|
-
|
|
128
|
-
function
|
|
129
|
-
|
|
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
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
//#
|
|
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":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyObject,
|
|
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
|
|
12
|
+
readonly batchId?: string;
|
|
13
|
+
readonly batchRouteIds?: string[];
|
|
11
14
|
}
|
|
12
|
-
export type RawRequestBody = string |
|
|
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
|
|
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,
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export
|
|
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,
|
|
1
|
+
import { CoreRouterOptions, ParserOption } from '@mionjs/core';
|
|
2
2
|
import { ContextDataFactory } from './context.ts';
|
|
3
|
-
import {
|
|
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 |
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
strictTypes?: boolean;
|
|
14
|
+
parser?: ParserOption;
|
|
15
|
+
sanitizeParams?: boolean;
|
|
18
16
|
getPublicRoutesData: boolean;
|
|
19
17
|
autoGenerateErrorId: boolean;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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 {
|
|
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
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
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
|
|
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(
|
|
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
|