@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sources":["../../../../src/lib/headers.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 type {MionHeaders} from '../types/context.ts';\n\n// ############# PUBLIC METHODS #############\n\ntype HeadersRecord = Record<string, string>;\n\n/**\n * Reusable class for managing HTTP headers with case-insensitive access\n * Similar to the fetch Headers API but optimized for performance\n * https://developer.mozilla.org/en-US/docs/Web/API/Headers\n */\nclass MionHeadersImpl implements MionHeaders {\n constructor(private headers: HeadersRecord) {}\n\n append(name: string, value: string): void {\n const nl = name.toLowerCase();\n const existing = this.headers[nl];\n const headerValue = toSingleHeader(value);\n if (existing) {\n this.headers[nl] = `${existing}, ${headerValue}`;\n } else {\n this.headers[nl] = headerValue;\n }\n }\n\n delete(name: string): void {\n const nl = name.toLowerCase();\n delete this.headers[nl];\n }\n\n get(name: string): string | undefined | null {\n const nl = name.toLowerCase();\n return this.headers[nl];\n }\n\n set(name: string, value: string): void {\n const ln = name.toLowerCase();\n this.headers[ln] = value as string;\n }\n\n has(name: string): boolean {\n const nl = name.toLowerCase();\n return !!this.headers[nl];\n }\n\n entries(): IterableIterator<[string, string]> {\n return new Map(Object.entries(this.headers)).entries();\n }\n\n keys(): IterableIterator<string> {\n return new Map(Object.entries(this.headers)).keys();\n }\n\n values(): IterableIterator<string> {\n return new Map(Object.entries(this.headers)).values();\n }\n}\n\n/**\n * Return a Headers Like object from a Headers Record structure (Record<string, string | string[]>)\n * Returned Headers object is similar to the fetch Headers object but not exactly the same\n * https://developer.mozilla.org/en-US/docs/Web/API/Headers\n *\n * This is optimized to avoid creating the Headers Map if it's not strictly needed.\n * ie. for incoming header that only use get method, the Headers object is never created and instead the HeadersRecord is used directly.\n *\n * This function can be used to create a Headers object from incoming request that has the headers in an object structure.\n * ie IncomingMessage.headers or ApiGatewayEvent.headers\n *\n * @param headersObj\n * @returns\n */\nexport function headersFromRecord(headersObj: Record<string, string>, skipToLower = false): MionHeaders {\n // lazy load headers map\n const headers = parseHeaders(headersObj, skipToLower);\n return new MionHeadersImpl(headers);\n}\n\nfunction toSingleHeader(value: string | number): string {\n if (Array.isArray(value)) return value.join(', ');\n return value as string;\n}\n\nfunction parseHeaders(headersObj: Record<string, string>, skipToLower = false): HeadersRecord {\n if (skipToLower) return headersObj;\n const entries = Object.entries(headersObj);\n const headers: HeadersRecord = {};\n for (let i = 0; i < entries.length; i++) {\n const [name, value] = entries[i];\n if (!value) continue;\n const ln = name.toLowerCase();\n headers[ln] = toSingleHeader(value);\n }\n return headers;\n}\n"],"names":[],"mappings":"AAkBA,MAAM,gBAAuC;AAAA,EACzC,YAAoB,SAAwB;AAAxB,SAAA,UAAA;AAAA,EAAyB;AAAA,EAE7C,OAAO,MAAc,OAAqB;AACtC,UAAM,KAAK,KAAK,YAAA;AAChB,UAAM,WAAW,KAAK,QAAQ,EAAE;AAChC,UAAM,cAAc,eAAe,KAAK;AACxC,QAAI,UAAU;AACV,WAAK,QAAQ,EAAE,IAAI,GAAG,QAAQ,KAAK,WAAW;AAAA,IAClD,OAAO;AACH,WAAK,QAAQ,EAAE,IAAI;AAAA,IACvB;AAAA,EACJ;AAAA,EAEA,OAAO,MAAoB;AACvB,UAAM,KAAK,KAAK,YAAA;AAChB,WAAO,KAAK,QAAQ,EAAE;AAAA,EAC1B;AAAA,EAEA,IAAI,MAAyC;AACzC,UAAM,KAAK,KAAK,YAAA;AAChB,WAAO,KAAK,QAAQ,EAAE;AAAA,EAC1B;AAAA,EAEA,IAAI,MAAc,OAAqB;AACnC,UAAM,KAAK,KAAK,YAAA;AAChB,SAAK,QAAQ,EAAE,IAAI;AAAA,EACvB;AAAA,EAEA,IAAI,MAAuB;AACvB,UAAM,KAAK,KAAK,YAAA;AAChB,WAAO,CAAC,CAAC,KAAK,QAAQ,EAAE;AAAA,EAC5B;AAAA,EAEA,UAA8C;AAC1C,WAAO,IAAI,IAAI,OAAO,QAAQ,KAAK,OAAO,CAAC,EAAE,QAAA;AAAA,EACjD;AAAA,EAEA,OAAiC;AAC7B,WAAO,IAAI,IAAI,OAAO,QAAQ,KAAK,OAAO,CAAC,EAAE,KAAA;AAAA,EACjD;AAAA,EAEA,SAAmC;AAC/B,WAAO,IAAI,IAAI,OAAO,QAAQ,KAAK,OAAO,CAAC,EAAE,OAAA;AAAA,EACjD;AACJ;AAgBO,SAAS,kBAAkB,YAAoC,cAAc,OAAoB;AAEpG,QAAM,UAAU,aAAa,YAAY,WAAW;AACpD,SAAO,IAAI,gBAAgB,OAAO;AACtC;AAEA,SAAS,eAAe,OAAgC;AACpD,MAAI,MAAM,QAAQ,KAAK,EAAG,QAAO,MAAM,KAAK,IAAI;AAChD,SAAO;AACX;AAEA,SAAS,aAAa,YAAoC,cAAc,OAAsB;AAC1F,MAAI,YAAa,QAAO;AACxB,QAAM,UAAU,OAAO,QAAQ,UAAU;AACzC,QAAM,UAAyB,CAAA;AAC/B,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACrC,UAAM,CAAC,MAAM,KAAK,IAAI,QAAQ,CAAC;AAC/B,QAAI,CAAC,MAAO;AACZ,UAAM,KAAK,KAAK,YAAA;AAChB,YAAQ,EAAE,IAAI,eAAe,KAAK;AAAA,EACtC;AACA,SAAO;AACX;"}
|
|
1
|
+
{"version":3,"file":"headers.js","names":[],"sources":["../../../../src/lib/headers.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 type {MionHeaders, MionResponse, PooledHeaders, ResponseDefaults} from '../types/context.ts';\nimport {JSON_CONTENT_TYPE} from '../constants.ts';\nimport {getResponseDefaults} from '../router.ts';\n\n// ############# PUBLIC METHODS #############\n\n// an array for a name appended twice on response headers (node's request record may hold one too)\ntype HeadersRecord = Record<string, string | string[]>;\n\nconst PROTO_KEY = '__proto__';\n\n/** Case-insensitive HTTP headers, like the fetch Headers API but optimized for performance.\n * https://developer.mozilla.org/en-US/docs/Web/API/Headers */\nclass MionHeadersImpl implements MionHeaders {\n // The record may be a plain object handed over by the platform (node's IncomingMessage.headers is one),\n // where `constructor` or `toString` would be \"found\" on the prototype chain. A prototype hit is never a\n // string, so a read checks the VALUE's type: cheaper than an own-key check per read (14 vs 23 ns).\n // `__proto__` is never written: on a plain object that assignment swaps the prototype.\n /** Read by the response headers pool only; request headers ignore it. */\n unused = true;\n\n constructor(protected headers: HeadersRecord) {}\n\n append(name: string, value: string): void {\n this.unused = false;\n const nl = name.toLowerCase();\n if (nl === PROTO_KEY) return;\n const existing = readHeader(this.headers, nl);\n const headerValue = toSingleHeader(value);\n if (existing) {\n this.headers[nl] = `${existing}, ${headerValue}`;\n } else {\n this.headers[nl] = headerValue;\n }\n }\n\n delete(name: string): void {\n this.unused = false;\n delete this.headers[name.toLowerCase()];\n }\n\n get(name: string): string | undefined | null {\n return readHeader(this.headers, name.toLowerCase());\n }\n\n set(name: string, value: string): void {\n this.unused = false;\n const ln = name.toLowerCase();\n if (ln === PROTO_KEY) return;\n this.headers[ln] = value as string;\n }\n\n has(name: string): boolean {\n return !!readHeader(this.headers, name.toLowerCase());\n }\n\n entries(): IterableIterator<[string, string]> {\n return Object.entries(this.headers)\n .map(([name, value]): [string, string] => [name, joined(value)])\n .values();\n }\n\n keys(): IterableIterator<string> {\n return new Map(Object.entries(this.headers)).keys();\n }\n\n values(): IterableIterator<string> {\n return Object.values(this.headers).map(joined).values();\n }\n}\n\n/** Response headers over a copy of the defaults, for an adapter that answers from a header record (uws, aws). */\nexport class RecordResponseHeaders extends MionHeadersImpl implements PooledHeaders {\n constructor(readonly defaults: ResponseDefaults) {\n super({...defaults});\n }\n\n /** Keeps a repeated name's values apart, never joined: the adapter writes them its own way. */\n append(name: string, value: string): void {\n this.unused = false;\n const key = name.toLowerCase();\n if (key === PROTO_KEY) return;\n const current = this.headers[key] as unknown;\n // an empty earlier value counts as absent, and so does a prototype hit such as `constructor`\n if (Array.isArray(current)) current.push(value);\n else if (typeof current === 'string' && current) this.headers[key] = [current, value];\n else this.headers[key] = value;\n }\n\n /** Walks the headers with no pair array per header; a repeated name gives its values apart. */\n forEach(visit: (name: string, value: string | string[]) => void): void {\n for (const name in this.headers) visit(name, this.headers[name]);\n }\n}\n\n/** The response headers of the fetch adapters (bun, cloudflare, vercel). */\nexport class FetchResponseHeaders implements PooledHeaders {\n /** What the reply hands to `Response`, which copies it. */\n readonly native = new Headers();\n unused = true;\n\n constructor(readonly defaults: ResponseDefaults) {\n // one set per name beats building from a record\n for (const name in defaults) this.native.set(name, defaults[name]);\n }\n\n set(name: string, value: string): void {\n this.unused = false;\n this.native.set(name, value);\n }\n append(name: string, value: string): void {\n this.unused = false;\n this.native.append(name, value);\n }\n delete(name: string): void {\n this.unused = false;\n this.native.delete(name);\n }\n get(name: string): string | null {\n return this.native.get(name);\n }\n has(name: string): boolean {\n return this.native.has(name);\n }\n entries(): IterableIterator<[string, string]> {\n return this.native.entries();\n }\n keys(): IterableIterator<string> {\n return this.native.keys();\n }\n values(): IterableIterator<string> {\n return this.native.values();\n }\n}\n\n// Pools of unwritten response headers: one serves exactly one request and comes back only if still unused.\nconst MAX_UNUSED_HEADERS = 256;\nconst unusedRecordHeaders: RecordResponseHeaders[] = [];\nconst unusedFetchHeaders: FetchResponseHeaders[] = [];\nconst newRecordHeaders = (defaults: ResponseDefaults) => new RecordResponseHeaders(defaults);\nconst newFetchHeaders = (defaults: ResponseDefaults) => new FetchResponseHeaders(defaults);\n\n/** Response headers holding the defaults and nothing else, from the pool or new. */\nexport const getDefaultHeaders = (): RecordResponseHeaders => takeUnused(unusedRecordHeaders, newRecordHeaders);\n\n/** Like `getDefaultHeaders`, over a native `Headers` for the fetch adapters. */\nexport const getDefaultFetchHeaders = (): FetchResponseHeaders => takeUnused(unusedFetchHeaders, newFetchHeaders);\n\n/** Gives headers back once the reply is sent; written ones are dropped. */\nexport const releaseHeaders = (headers: RecordResponseHeaders): void => giveBackUnused(unusedRecordHeaders, headers);\n\nfunction takeUnused<Pooled extends PooledHeaders>(pool: Pooled[], create: (defaults: ResponseDefaults) => Pooled): Pooled {\n const defaults = getResponseDefaults();\n const headers = pool.pop();\n if (headers?.defaults === defaults) return headers;\n // the router restarted: pooled headers carry the old defaults\n pool.length = 0;\n return create(defaults);\n}\n\nfunction giveBackUnused<Pooled extends PooledHeaders>(pool: Pooled[], headers: Pooled): void {\n if (headers.unused && pool.length < MAX_UNUSED_HEADERS) pool.push(headers);\n}\n\nexport function replyFetch(mionResp: MionResponse, headers: FetchResponseHeaders): Response {\n // last, so a handler never replaces it; unused headers already hold the JSON one\n if (!headers.unused || mionResp.contentType !== JSON_CONTENT_TYPE) headers.set('content-type', mionResp.contentType);\n // Response copies its headers, so unused ones serve the next request\n const response = Response.json(mionResp.body, {status: mionResp.statusCode, headers: headers.native});\n giveBackUnused(unusedFetchHeaders, headers);\n return response;\n}\n\n/** A fetch-like (not identical) Headers object over a header record, for an incoming request carrying its\n * headers as an object: IncomingMessage.headers, ApiGatewayEvent.headers.\n * https://developer.mozilla.org/en-US/docs/Web/API/Headers */\nexport function headersFromRecord(headersObj: Record<string, string>, skipToLower = false): MionHeaders {\n const headers = parseHeaders(headersObj, skipToLower);\n return new MionHeadersImpl(headers);\n}\n\n/** A header value, or undefined for a name the record does not carry as an own string (a prototype\n * hit is a function or an object). A platform record may hold an array (node's `set-cookie`). */\nfunction readHeader(headers: HeadersRecord, lowerName: string): string | undefined {\n const value = headers[lowerName] as unknown;\n if (typeof value === 'string') return value;\n return Array.isArray(value) ? value.join(', ') : undefined;\n}\n\nfunction joined(value: string | string[]): string {\n return Array.isArray(value) ? value.join(', ') : value;\n}\n\nfunction toSingleHeader(value: string | number): string {\n if (Array.isArray(value)) return value.join(', ');\n return value as string;\n}\n\nfunction parseHeaders(headersObj: Record<string, string>, skipToLower = false): HeadersRecord {\n if (skipToLower) return headersObj;\n const entries = Object.entries(headersObj);\n // null-prototype: header names come off the wire\n const headers: HeadersRecord = Object.create(null);\n for (let i = 0; i < entries.length; i++) {\n const [name, value] = entries[i];\n if (!value) continue;\n const ln = name.toLowerCase();\n headers[ln] = toSingleHeader(value);\n }\n return headers;\n}\n"],"mappings":";;;AAgBA,IAAM,YAAY;;;AAIlB,IAAM,kBAAN,MAA6C;CAQrB;;CAFtB,SAAS;CAET,YAAY,SAAkC;EAAxB,KAAA,UAAA;CAAyB;CAE/C,OAAO,MAAc,OAAqB;EACxC,KAAK,SAAS;EACd,MAAM,KAAK,KAAK,YAAY;EAC5B,IAAI,OAAO,WAAW;EACtB,MAAM,WAAW,WAAW,KAAK,SAAS,EAAE;EAC5C,MAAM,cAAc,eAAe,KAAK;EACxC,IAAI,UACF,KAAK,QAAQ,MAAM,GAAG,SAAS,IAAI;OAEnC,KAAK,QAAQ,MAAM;CAEvB;CAEA,OAAO,MAAoB;EACzB,KAAK,SAAS;EACd,OAAO,KAAK,QAAQ,KAAK,YAAY;CACvC;CAEA,IAAI,MAAyC;EAC3C,OAAO,WAAW,KAAK,SAAS,KAAK,YAAY,CAAC;CACpD;CAEA,IAAI,MAAc,OAAqB;EACrC,KAAK,SAAS;EACd,MAAM,KAAK,KAAK,YAAY;EAC5B,IAAI,OAAO,WAAW;EACtB,KAAK,QAAQ,MAAM;CACrB;CAEA,IAAI,MAAuB;EACzB,OAAO,CAAC,CAAC,WAAW,KAAK,SAAS,KAAK,YAAY,CAAC;CACtD;CAEA,UAA8C;EAC5C,OAAO,OAAO,QAAQ,KAAK,OAAO,EAC/B,KAAK,CAAC,MAAM,WAA6B,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC,EAC9D,OAAO;CACZ;CAEA,OAAiC;EAC/B,OAAO,IAAI,IAAI,OAAO,QAAQ,KAAK,OAAO,CAAC,EAAE,KAAK;CACpD;CAEA,SAAmC;EACjC,OAAO,OAAO,OAAO,KAAK,OAAO,EAAE,IAAI,MAAM,EAAE,OAAO;CACxD;AACF;;AAGA,IAAa,wBAAb,cAA2C,gBAAyC;CAC7D;CAArB,YAAY,UAAqC;EAC/C,MAAM,EAAC,GAAG,SAAQ,CAAC;EADA,KAAA,WAAA;CAErB;;CAGA,OAAO,MAAc,OAAqB;EACxC,KAAK,SAAS;EACd,MAAM,MAAM,KAAK,YAAY;EAC7B,IAAI,QAAQ,WAAW;EACvB,MAAM,UAAU,KAAK,QAAQ;EAE7B,IAAI,MAAM,QAAQ,OAAO,GAAG,QAAQ,KAAK,KAAK;OACzC,IAAI,OAAO,YAAY,YAAY,SAAS,KAAK,QAAQ,OAAO,CAAC,SAAS,KAAK;OAC/E,KAAK,QAAQ,OAAO;CAC3B;;CAGA,QAAQ,OAA+D;EACrE,KAAK,MAAM,QAAQ,KAAK,SAAS,MAAM,MAAM,KAAK,QAAQ,KAAK;CACjE;AACF;;AAGA,IAAa,uBAAb,MAA2D;CAKpC;;CAHrB,SAAkB,IAAI,QAAQ;CAC9B,SAAS;CAET,YAAY,UAAqC;EAA5B,KAAA,WAAA;EAEnB,KAAK,MAAM,QAAQ,UAAU,KAAK,OAAO,IAAI,MAAM,SAAS,KAAK;CACnE;CAEA,IAAI,MAAc,OAAqB;EACrC,KAAK,SAAS;EACd,KAAK,OAAO,IAAI,MAAM,KAAK;CAC7B;CACA,OAAO,MAAc,OAAqB;EACxC,KAAK,SAAS;EACd,KAAK,OAAO,OAAO,MAAM,KAAK;CAChC;CACA,OAAO,MAAoB;EACzB,KAAK,SAAS;EACd,KAAK,OAAO,OAAO,IAAI;CACzB;CACA,IAAI,MAA6B;EAC/B,OAAO,KAAK,OAAO,IAAI,IAAI;CAC7B;CACA,IAAI,MAAuB;EACzB,OAAO,KAAK,OAAO,IAAI,IAAI;CAC7B;CACA,UAA8C;EAC5C,OAAO,KAAK,OAAO,QAAQ;CAC7B;CACA,OAAiC;EAC/B,OAAO,KAAK,OAAO,KAAK;CAC1B;CACA,SAAmC;EACjC,OAAO,KAAK,OAAO,OAAO;CAC5B;AACF;AAGA,IAAM,qBAAqB;AAC3B,IAAM,sBAA+C,CAAC;AACtD,IAAM,qBAA6C,CAAC;AACpD,IAAM,oBAAoB,aAA+B,IAAI,sBAAsB,QAAQ;AAC3F,IAAM,mBAAmB,aAA+B,IAAI,qBAAqB,QAAQ;;AAGzF,IAAa,0BAAiD,WAAW,qBAAqB,gBAAgB;;AAG9G,IAAa,+BAAqD,WAAW,oBAAoB,eAAe;;AAGhH,IAAa,kBAAkB,YAAyC,eAAe,qBAAqB,OAAO;AAEnH,SAAS,WAAyC,MAAgB,QAAwD;CACxH,MAAM,WAAW,oBAAoB;CACrC,MAAM,UAAU,KAAK,IAAI;CACzB,IAAI,SAAS,aAAa,UAAU,OAAO;CAE3C,KAAK,SAAS;CACd,OAAO,OAAO,QAAQ;AACxB;AAEA,SAAS,eAA6C,MAAgB,SAAuB;CAC3F,IAAI,QAAQ,UAAU,KAAK,SAAS,oBAAoB,KAAK,KAAK,OAAO;AAC3E;AAEA,SAAgB,WAAW,UAAwB,SAAyC;CAE1F,IAAI,CAAC,QAAQ,UAAU,SAAS,gBAAA,mCAAmC,QAAQ,IAAI,gBAAgB,SAAS,WAAW;CAEnH,MAAM,WAAW,SAAS,KAAK,SAAS,MAAM;EAAC,QAAQ,SAAS;EAAY,SAAS,QAAQ;CAAM,CAAC;CACpG,eAAe,oBAAoB,OAAO;CAC1C,OAAO;AACT;;;;AAKA,SAAgB,kBAAkB,YAAoC,cAAc,OAAoB;CAEtG,OAAO,IAAI,gBADK,aAAa,YAAY,WACd,CAAO;AACpC;;;AAIA,SAAS,WAAW,SAAwB,WAAuC;CACjF,MAAM,QAAQ,QAAQ;CACtB,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI,KAAA;AACnD;AAEA,SAAS,OAAO,OAAkC;CAChD,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,KAAK,IAAI,IAAI;AACnD;AAEA,SAAS,eAAe,OAAgC;CACtD,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,KAAK,IAAI;CAChD,OAAO;AACT;AAEA,SAAS,aAAa,YAAoC,cAAc,OAAsB;CAC5F,IAAI,aAAa,OAAO;CACxB,MAAM,UAAU,OAAO,QAAQ,UAAU;CAEzC,MAAM,UAAyB,OAAO,OAAO,IAAI;CACjD,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,MAAM,CAAC,MAAM,SAAS,QAAQ;EAC9B,IAAI,CAAC,OAAO;EACZ,MAAM,KAAK,KAAK,YAAY;EAC5B,QAAQ,MAAM,eAAe,KAAK;CACpC;CACA,OAAO;AACT"}
|
|
@@ -4,5 +4,4 @@ export interface QueryBodyResult {
|
|
|
4
4
|
bodyType: SerializerCode;
|
|
5
5
|
}
|
|
6
6
|
export declare function decodeQueryBody(urlQuery: string | undefined, rawBody: unknown): QueryBodyResult | undefined;
|
|
7
|
-
export declare type __ΩQueryBodyResult = any[];
|
|
8
7
|
//# sourceMappingURL=queryBody.d.ts.map
|
|
@@ -1,34 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { findMionQueryParam } from "./urlQuery.js";
|
|
2
|
+
import { FatalError, SerializerModes, StatusCodes, fromBase64Url } from "@mionjs/core";
|
|
3
|
+
//#region src/lib/queryBody.ts
|
|
3
4
|
function decodeQueryBody(urlQuery, rawBody) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
if (rawBody) return void 0;
|
|
6
|
+
if (!urlQuery) return void 0;
|
|
7
|
+
const dataValue = findMionQueryParam(urlQuery, "data");
|
|
8
|
+
if (!dataValue) return void 0;
|
|
9
|
+
try {
|
|
10
|
+
return {
|
|
11
|
+
rawBody: fromBase64Url(dataValue),
|
|
12
|
+
bodyType: SerializerModes.stringifyJson
|
|
13
|
+
};
|
|
14
|
+
} catch (err) {
|
|
15
|
+
throw invalidQueryBody(err);
|
|
16
|
+
}
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (idx === -1)
|
|
24
|
-
return void 0;
|
|
25
|
-
const start = idx + 6;
|
|
26
|
-
const ampIndex = urlQuery.indexOf("&", start);
|
|
27
|
-
return ampIndex === -1 ? urlQuery.slice(start) : urlQuery.slice(start, ampIndex);
|
|
18
|
+
function invalidQueryBody(originalError) {
|
|
19
|
+
return new FatalError({
|
|
20
|
+
statusCode: StatusCodes.UNEXPECTED_ERROR,
|
|
21
|
+
type: "invalid-query-body",
|
|
22
|
+
publicMessage: "Invalid query body: the data parameter is not base64url encoded.",
|
|
23
|
+
originalError
|
|
24
|
+
});
|
|
28
25
|
}
|
|
29
|
-
|
|
30
|
-
export {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=queryBody.js.map
|
|
26
|
+
//#endregion
|
|
27
|
+
export { decodeQueryBody };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=queryBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryBody.js","sources":["../../../../src/lib/queryBody.ts"],"sourcesContent":["/* ########\n * 2025 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {fromBase64Url, SerializerModes} from '@mionjs/core';\nimport type {SerializerCode} from '@mionjs/core';\n\n
|
|
1
|
+
{"version":3,"file":"queryBody.js","names":[],"sources":["../../../../src/lib/queryBody.ts"],"sourcesContent":["/* ########\n * 2025 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {fromBase64Url, FatalError, RpcError, SerializerModes, StatusCodes} from '@mionjs/core';\nimport type {SerializerCode} from '@mionjs/core';\nimport {findMionQueryParam} from './urlQuery.ts';\n\n// `atob` throws a raw InvalidCharacterError on anything that is not base64, and one `GET /route?data=!`\n// used to take the node and uws processes down with an unhandled rejection. No pre-check: a regex over\n// the value doubled the cost of every query-body request (85 to 170 ns) to refuse what `atob` refuses.\n\nexport interface QueryBodyResult {\n rawBody: string;\n bodyType: SerializerCode;\n}\n\nexport function decodeQueryBody(urlQuery: string | undefined, rawBody: unknown): QueryBodyResult | undefined {\n if (rawBody) return undefined;\n if (!urlQuery) return undefined;\n const dataValue = findMionQueryParam(urlQuery, 'data');\n if (!dataValue) return undefined;\n try {\n return {rawBody: fromBase64Url(dataValue), bodyType: SerializerModes.stringifyJson};\n } catch (err) {\n throw invalidQueryBody(err);\n }\n}\n\nfunction invalidQueryBody(originalError?: unknown): RpcError<'invalid-query-body'> {\n return new FatalError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n type: 'invalid-query-body',\n publicMessage: 'Invalid query body: the data parameter is not base64url encoded.',\n originalError: originalError as Error | undefined,\n });\n}\n"],"mappings":";;;AAoBA,SAAgB,gBAAgB,UAA8B,SAA+C;CAC3G,IAAI,SAAS,OAAO,KAAA;CACpB,IAAI,CAAC,UAAU,OAAO,KAAA;CACtB,MAAM,YAAY,mBAAmB,UAAU,MAAM;CACrD,IAAI,CAAC,WAAW,OAAO,KAAA;CACvB,IAAI;EACF,OAAO;GAAC,SAAS,cAAc,SAAS;GAAG,UAAU,gBAAgB;EAAa;CACpF,SAAS,KAAK;EACZ,MAAM,iBAAiB,GAAG;CAC5B;AACF;AAEA,SAAS,iBAAiB,eAAyD;CACjF,OAAO,IAAI,WAAW;EACpB,YAAY,YAAY;EACxB,MAAM;EACN,eAAe;EACA;CACjB,CAAC;AACH"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { MethodWithJitFns } from '@mionjs/core';
|
|
1
|
+
import { MethodWithJitFns, ResolvedParser } from '@mionjs/core';
|
|
2
2
|
import { Handler } from '../types/handlers.ts';
|
|
3
3
|
import { RouterOptions } from '../types/general.ts';
|
|
4
|
-
import { RouteOptions,
|
|
4
|
+
import { RouteOptions, MiddlewareOptions } from '../types/remoteMethods.ts';
|
|
5
|
+
import { AnyHandlerDef, RawMiddlewareDef } from '../types/definitions.ts';
|
|
5
6
|
type MethodReflect = Omit<MethodWithJitFns, 'id' | 'type' | 'nestLevel' | 'pointer' | 'options'>;
|
|
6
|
-
export declare class
|
|
7
|
-
constructor(routeId: string,
|
|
7
|
+
export declare class MissingRtFnsError extends Error {
|
|
8
|
+
constructor(routeId: string, cause?: string);
|
|
8
9
|
}
|
|
9
|
-
export declare
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export declare function
|
|
10
|
+
export declare class RuntimeCodeGenBlockedError extends Error {
|
|
11
|
+
constructor(routeId: string, cause?: string);
|
|
12
|
+
}
|
|
13
|
+
type ReflectableDef = Exclude<AnyHandlerDef, RawMiddlewareDef>;
|
|
14
|
+
export declare function getHandlerReflection(def: ReflectableDef, routeId: string, routerOptions: RouterOptions, handlerOptions?: RouteOptions | MiddlewareOptions, isHeadersMiddleware?: boolean): MethodReflect;
|
|
15
|
+
export declare function getRawMethodReflection(handler: Handler, routeId: string, routerOptions: RouterOptions): MethodReflect;
|
|
16
|
+
export declare function assertCompiledParser(methodId: string, parser: ResolvedParser, reflection: MethodReflect): void;
|
|
14
17
|
export {};
|
|
15
18
|
//# sourceMappingURL=reflection.d.ts.map
|
|
@@ -1,352 +1,76 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const typeLabel = type === "rawMiddleFn" ? "Raw middleFn" : type === "middleFn" ? "MiddleFn" : "Route/middleFn";
|
|
18
|
-
super(`${typeLabel} "${routeId}" not found in AOT cache.
|
|
19
|
-
Regenerate AOT caches using 'mion-build-aot' command.`);
|
|
20
|
-
this.name = "AOTCacheError";
|
|
21
|
-
}
|
|
22
|
-
static __type = [() => Error, "routeId", "route", "middleFn", "rawMiddleFn", "type", () => "route", "constructor", "AOTCacheError", `P7!P&2"P.#.$.%J2&>'"0(5w)`];
|
|
23
|
-
}
|
|
24
|
-
const __ΩRunTypesModule = ["RunTypesModule", "!w!y"];
|
|
25
|
-
const __ΩRunTypesFunctions = [() => __ΩRunTypesModule, "JitFunctions", "JitFunctions", () => __ΩRunTypesModule, "reflectFunction", "reflectFunction", () => __ΩRunTypesModule, "isUnionRunType", "isUnionRunType", () => __ΩRunTypesModule, "isClassRunType", "isClassRunType", () => __ΩRunTypesModule, "isLiteralRunType", "isLiteralRunType", () => __ΩRunTypesModule, "isNeverRunType", "isNeverRunType", "RunTypesFunctions", `Pn!."f4#n$.%f4&n'.(f4)n*.+f4,n-..f4/n0.1f42Mw3y`];
|
|
26
|
-
let runTypesModule = null;
|
|
27
|
-
let runTypesLoadPromise = null;
|
|
28
|
-
async function loadRunTypesModule() {
|
|
29
|
-
if (runTypesModule)
|
|
30
|
-
return runTypesModule;
|
|
31
|
-
if (runTypesLoadPromise)
|
|
32
|
-
return runTypesLoadPromise;
|
|
33
|
-
runTypesLoadPromise = import("@mionjs/run-types").then(__assignType((module) => {
|
|
34
|
-
runTypesModule = {
|
|
35
|
-
JitFunctions: module.JitFunctions,
|
|
36
|
-
reflectFunction: module.reflectFunction,
|
|
37
|
-
isUnionRunType: module.isUnionRunType,
|
|
38
|
-
isClassRunType: module.isClassRunType,
|
|
39
|
-
isLiteralRunType: module.isLiteralRunType,
|
|
40
|
-
isNeverRunType: module.isNeverRunType
|
|
41
|
-
};
|
|
42
|
-
return runTypesModule;
|
|
43
|
-
}, ["module", "", 'P"2!"/"']));
|
|
44
|
-
return runTypesLoadPromise;
|
|
45
|
-
}
|
|
46
|
-
loadRunTypesModule.__type = [() => __ΩRunTypesFunctions, "loadRunTypesModule", 'Pn!`/"'];
|
|
47
|
-
function resetRunTypesCache() {
|
|
48
|
-
runTypesModule = null;
|
|
49
|
-
runTypesLoadPromise = null;
|
|
50
|
-
}
|
|
51
|
-
resetRunTypesCache.__type = ["resetRunTypesCache", "P$/!"];
|
|
52
|
-
function resetReflectionCaches() {
|
|
53
|
-
rawMiddleFnReflectionCache.clear();
|
|
54
|
-
}
|
|
55
|
-
resetReflectionCaches.__type = ["resetReflectionCaches", "P$/!"];
|
|
56
|
-
const rawMiddleFnReflectionCache = (Map.Ω = [["&"], [() => __ΩMethodReflect, "n!"]], /* @__PURE__ */ new Map());
|
|
57
|
-
function createRawMiddleFnReflection(isAsync, hasReturnData = false, paramNames = []) {
|
|
58
|
-
const cacheKey = `${isAsync}_${hasReturnData}_${paramNames.join(",")}`;
|
|
59
|
-
const cached = rawMiddleFnReflectionCache.get(cacheKey);
|
|
60
|
-
if (cached)
|
|
61
|
-
return cached;
|
|
62
|
-
const reflection = {
|
|
63
|
-
paramNames,
|
|
64
|
-
paramsJitFns: getNoopJitFns(),
|
|
65
|
-
returnJitFns: getNoopJitFns(),
|
|
66
|
-
paramsJitHash: EMPTY_HASH,
|
|
67
|
-
returnJitHash: EMPTY_HASH,
|
|
68
|
-
hasReturnData,
|
|
69
|
-
isAsync
|
|
70
|
-
};
|
|
71
|
-
rawMiddleFnReflectionCache.set(cacheKey, reflection);
|
|
72
|
-
return reflection;
|
|
73
|
-
}
|
|
74
|
-
createRawMiddleFnReflection.__type = ["isAsync", "hasReturnData", () => false, "paramNames", () => [], () => __ΩMethodReflect, "createRawMiddleFnReflection", `P)2!)2">#&F2$>%n&/'`];
|
|
75
|
-
const __ΩCachedMethodMetadata = ["MethodMetadata", () => __ΩMethodReflect, "_cachedReflection", "CachedMethodMetadata", 'P"w!Pn"4#8MKw$y'];
|
|
76
|
-
function extractReflectionFromCached(cached) {
|
|
77
|
-
if (cached._cachedReflection)
|
|
78
|
-
return cached._cachedReflection;
|
|
79
|
-
const reflectionItems = {
|
|
80
|
-
paramNames: cached.paramNames || [],
|
|
81
|
-
paramsJitFns: getJitFunctionsFromHash(cached.paramsJitHash),
|
|
82
|
-
returnJitFns: getJitFunctionsFromHash(cached.returnJitHash),
|
|
83
|
-
paramsJitHash: cached.paramsJitHash,
|
|
84
|
-
returnJitHash: cached.returnJitHash,
|
|
85
|
-
hasReturnData: cached.hasReturnData,
|
|
86
|
-
isAsync: cached.isAsync
|
|
87
|
-
};
|
|
88
|
-
if (cached.headersParam) {
|
|
89
|
-
reflectionItems.headersParam = {
|
|
90
|
-
headerNames: cached.headersParam.headerNames,
|
|
91
|
-
jitFns: getJitFunctionsFromHash(cached.headersParam.jitHash),
|
|
92
|
-
jitHash: cached.headersParam.jitHash
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
if (cached.headersReturn) {
|
|
96
|
-
reflectionItems.headersReturn = {
|
|
97
|
-
headerNames: cached.headersReturn.headerNames,
|
|
98
|
-
jitFns: getJitFunctionsFromHash(cached.headersReturn.jitHash),
|
|
99
|
-
jitHash: cached.headersReturn.jitHash
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
cached._cachedReflection = reflectionItems;
|
|
103
|
-
return reflectionItems;
|
|
104
|
-
}
|
|
105
|
-
extractReflectionFromCached.__type = [() => __ΩCachedMethodMetadata, "cached", () => __ΩMethodReflect, "extractReflectionFromCached", 'Pn!2"n#/$'];
|
|
106
|
-
async function getHandlerReflection(handler, routeId, routerOptions, handlerOptions = {}, isHeadersMiddleFn = false, methodStrictTypes) {
|
|
107
|
-
const cached = getPersistedMethodMetadata(routeId);
|
|
108
|
-
if (cached)
|
|
109
|
-
return extractReflectionFromCached(cached);
|
|
110
|
-
if (routerOptions.aot)
|
|
111
|
-
throw new AOTCacheError(routeId, isHeadersMiddleFn ? "middleFn" : "route");
|
|
112
|
-
const rt = await loadRunTypesModule();
|
|
113
|
-
return generateHandlerReflection(handler, routeId, routerOptions, handlerOptions, isHeadersMiddleFn, rt, methodStrictTypes);
|
|
114
|
-
}
|
|
115
|
-
getHandlerReflection.__type = [() => ___Handler, "handler", "routeId", () => ___RouterOptions, "routerOptions", () => ___RouteOptions, () => ___MiddleFnOptions, () => ___HeadersMiddleFnOptions, "handlerOptions", () => ({}), "isHeadersMiddleFn", () => false, "methodStrictTypes", () => __ΩMethodReflect, "getHandlerReflection", "Pn!2\"&2#n$2%Pn&n'n(J2)>*)2+>,)2-8n.`//"];
|
|
116
|
-
async function getRawMethodReflection(handler, routeId, routerOptions) {
|
|
117
|
-
const cached = getPersistedMethodMetadata(routeId);
|
|
118
|
-
if (cached)
|
|
119
|
-
return createRawMiddleFnReflection(cached.isAsync, cached.hasReturnData, cached.paramNames || []);
|
|
120
|
-
if (routerOptions.aot)
|
|
121
|
-
return createRawMiddleFnReflection(true);
|
|
122
|
-
const rt = await loadRunTypesModule();
|
|
123
|
-
return generateRawMethodReflection(handler, routeId, rt);
|
|
124
|
-
}
|
|
125
|
-
getRawMethodReflection.__type = [() => ___Handler, "handler", "routeId", () => ___RouterOptions, "routerOptions", () => __ΩMethodReflect, "getRawMethodReflection", "Pn!2\"&2#n$2%n&`/'"];
|
|
126
|
-
function generateHandlerReflection(handler, routeId, routerOptions, handlerOptions, isHeadersMiddleFn, rt, methodStrictTypes) {
|
|
127
|
-
const reflectionItems = {};
|
|
128
|
-
let handlerRunType;
|
|
129
|
-
const needsBinary = (handlerOptions?.serializer ?? routerOptions.serializer) === "binary";
|
|
130
|
-
const effectiveStrictTypes = methodStrictTypes ?? routerOptions.strictTypes;
|
|
131
|
-
const runTypeOptions = {
|
|
132
|
-
...routerOptions?.runTypeOptions || DEFAULT_ROUTE_OPTIONS.runTypeOptions,
|
|
133
|
-
...effectiveStrictTypes !== void 0 ? { strictTypes: effectiveStrictTypes } : {}
|
|
134
|
-
};
|
|
135
|
-
try {
|
|
136
|
-
handlerRunType = rt.reflectFunction(handler);
|
|
137
|
-
} catch (error) {
|
|
138
|
-
throw new Error(`Can not get RunType of handler for route/middleFn "${routeId}." Error: ${error?.message}`);
|
|
139
|
-
}
|
|
140
|
-
const paramsSlice = isHeadersMiddleFn ? { start: HEADER_HOOK_DEFAULT_PARAMS.length } : { start: ROUTE_DEFAULT_PARAMS.length };
|
|
141
|
-
const paramsOpts = { ...runTypeOptions, paramsSlice };
|
|
142
|
-
try {
|
|
143
|
-
reflectionItems.paramNames = handlerRunType.getParameterNames(paramsOpts);
|
|
144
|
-
if (reflectionItems.paramNames.length === 0) {
|
|
145
|
-
reflectionItems.paramsJitHash = EMPTY_HASH;
|
|
146
|
-
reflectionItems.paramsJitFns = getNoopJitFns();
|
|
147
|
-
} else {
|
|
148
|
-
reflectionItems.paramsJitFns = getFunctionJitFns(handler, paramsOpts, rt, false, needsBinary);
|
|
149
|
-
reflectionItems.paramsJitHash = handlerRunType.getParameters().getJitHash(paramsOpts);
|
|
150
|
-
}
|
|
151
|
-
} catch (error) {
|
|
152
|
-
throw new Error(`Can not compile Jit Functions for Parameters of route/middleFn "${routeId}." Error: ${error?.message}`);
|
|
153
|
-
}
|
|
154
|
-
if (isHeadersMiddleFn) {
|
|
155
|
-
const headersRunType = getParamsHeadersRunType(handlerRunType, routeId, routerOptions, rt);
|
|
156
|
-
const headerNames = getHeaderNames(headersRunType, routeId, rt);
|
|
157
|
-
try {
|
|
158
|
-
const opts = {
|
|
159
|
-
...runTypeOptions,
|
|
160
|
-
paramsSlice: void 0
|
|
161
|
-
};
|
|
162
|
-
const jitFns = getTypeJitFunctions(headersRunType, opts, rt, false);
|
|
163
|
-
const jitHash = headersRunType.getJitHash(opts);
|
|
164
|
-
reflectionItems.headersParam = { headerNames, jitFns, jitHash };
|
|
165
|
-
} catch (error) {
|
|
166
|
-
throw new Error(`Can not compile Jit Functions for Headers of Headers MiddleFn "${routeId}." Error: ${error?.message}`);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
const returnHeadersRunType = getReturnHeadersRunType(handlerRunType, rt);
|
|
170
|
-
if (returnHeadersRunType) {
|
|
171
|
-
const opts = {};
|
|
172
|
-
const headerNames = getHeaderNames(returnHeadersRunType, routeId, rt);
|
|
173
|
-
const jitFns = getFunctionJitFns(handler, opts, rt, true, false);
|
|
174
|
-
const jitHash = returnHeadersRunType.getJitHash(opts);
|
|
175
|
-
reflectionItems.headersReturn = { headerNames, jitFns, jitHash };
|
|
176
|
-
}
|
|
177
|
-
const returnOpts = runTypeOptions;
|
|
178
|
-
reflectionItems.hasReturnData = handlerRunType.hasReturnData();
|
|
179
|
-
try {
|
|
180
|
-
if (!reflectionItems.hasReturnData) {
|
|
181
|
-
reflectionItems.returnJitFns = getNoopJitFns();
|
|
182
|
-
reflectionItems.returnJitHash = EMPTY_HASH;
|
|
183
|
-
} else {
|
|
184
|
-
reflectionItems.returnJitFns = getFunctionJitFns(handler, returnOpts, rt, true, needsBinary);
|
|
185
|
-
reflectionItems.returnJitHash = handlerRunType.getResolvedReturnType().getJitHash(returnOpts);
|
|
186
|
-
}
|
|
187
|
-
} catch (error) {
|
|
188
|
-
throw new Error(`Can not get Jit Functions for Return of route/middleFn "${routeId}." Error: ${error?.message}`);
|
|
189
|
-
}
|
|
190
|
-
reflectionItems.isAsync = handlerRunType.isAsync();
|
|
191
|
-
return reflectionItems;
|
|
192
|
-
}
|
|
193
|
-
generateHandlerReflection.__type = [() => ___Handler, "handler", "routeId", () => ___RouterOptions, "routerOptions", () => ___RouteOptions, () => ___MiddleFnOptions, () => ___HeadersMiddleFnOptions, "handlerOptions", "isHeadersMiddleFn", () => __ΩRunTypesFunctions, "rt", "methodStrictTypes", () => __ΩMethodReflect, "generateHandlerReflection", `Pn!2"&2#n$2%Pn&n'n(J2))2*n+2,)2-8n.//`];
|
|
194
|
-
function generateRawMethodReflection(handler, routeId, rt) {
|
|
195
|
-
let handlerRunType;
|
|
196
|
-
try {
|
|
197
|
-
handlerRunType = rt.reflectFunction(handler);
|
|
198
|
-
} catch (error) {
|
|
199
|
-
throw new Error(`Can not get RunType of handler for route/middleFn "${routeId}." Error: ${error?.message}`);
|
|
200
|
-
}
|
|
201
|
-
const isAsync = handlerRunType?.isAsync() || true;
|
|
202
|
-
return createRawMiddleFnReflection(isAsync);
|
|
203
|
-
}
|
|
204
|
-
generateRawMethodReflection.__type = [() => ___Handler, "handler", "routeId", () => __ΩRunTypesFunctions, "rt", () => __ΩMethodReflect, "generateRawMethodReflection", `Pn!2"&2#n$2%n&/'`];
|
|
205
|
-
function getParamsHeadersRunType(handlerRunType, routeId, routerOptions, rt) {
|
|
206
|
-
const paramRunTypes = handlerRunType.getParameters().getParamRunTypes(getFakeCompiler(routerOptions));
|
|
207
|
-
const headersSubset = paramRunTypes[1]?.getMemberType?.();
|
|
208
|
-
if (!isHeaderSubSetRunType(headersSubset, rt)) {
|
|
209
|
-
throw new Error(`Headers MiddleFn '${routeId}' second parameter must be a HeadersSubset.`);
|
|
210
|
-
}
|
|
211
|
-
return headersSubset;
|
|
212
|
-
}
|
|
213
|
-
getParamsHeadersRunType.__type = ["FunctionRunType", "handlerRunType", "routeId", () => ___RouterOptions, "routerOptions", () => __ΩRunTypesFunctions, "rt", "BaseRunType", "getParamsHeadersRunType", `P"w!2"&2#n$2%n&2'"w(/)`];
|
|
214
|
-
function getReturnHeadersRunType(handlerRunType, rt) {
|
|
215
|
-
const returnRunType = handlerRunType.getReturnType();
|
|
216
|
-
if (rt.isUnionRunType(returnRunType)) {
|
|
217
|
-
const headersSubset = returnRunType.getChildRunTypes().find(__assignType((child) => isHeaderSubSetRunType(child, rt), ["child", "", 'P"2!"/"']));
|
|
218
|
-
if (!headersSubset)
|
|
219
|
-
return void 0;
|
|
220
|
-
return headersSubset;
|
|
221
|
-
}
|
|
222
|
-
if (!isHeaderSubSetRunType(returnRunType, rt))
|
|
223
|
-
return void 0;
|
|
224
|
-
return returnRunType;
|
|
225
|
-
}
|
|
226
|
-
getReturnHeadersRunType.__type = ["FunctionRunType", "handlerRunType", () => __ΩRunTypesFunctions, "rt", "BaseRunType", "getReturnHeadersRunType", 'P"w!2"n#2$P"w%-J/&'];
|
|
227
|
-
function isHeaderSubSetRunType(runType, rt) {
|
|
228
|
-
if (!runType)
|
|
229
|
-
return false;
|
|
230
|
-
return rt.isClassRunType(runType, HeadersSubset);
|
|
231
|
-
}
|
|
232
|
-
isHeaderSubSetRunType.__type = ["BaseRunType", "runType", () => __ΩRunTypesFunctions, "rt", "isHeaderSubSetRunType", 'PP"w!-J2"n#2$!/%'];
|
|
233
|
-
function getHeaderNames(runType, routeId, rt) {
|
|
234
|
-
const typeArguments = runType.src.typeArguments;
|
|
235
|
-
if (!typeArguments || typeArguments.length === 0) {
|
|
236
|
-
throw new Error(`HeadersSubset must have type arguments in route/middleFn ${routeId}`);
|
|
237
|
-
}
|
|
238
|
-
const headerNames = [];
|
|
239
|
-
const requiredArg = typeArguments[0];
|
|
240
|
-
if (requiredArg) {
|
|
241
|
-
const requiredNames = extractLiteralStringsFromType(requiredArg._rt, rt);
|
|
242
|
-
headerNames.push(...requiredNames);
|
|
243
|
-
}
|
|
244
|
-
if (typeArguments.length > 1) {
|
|
245
|
-
const optionalArg = typeArguments[1];
|
|
246
|
-
if (optionalArg) {
|
|
247
|
-
const optionalNames = extractLiteralStringsFromType(optionalArg._rt, rt);
|
|
248
|
-
headerNames.push(...optionalNames);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
if (headerNames.length === 0)
|
|
252
|
-
throw new Error(`Header names array cannot be empty in route/middleFn ${routeId}`);
|
|
253
|
-
return headerNames;
|
|
254
|
-
}
|
|
255
|
-
getHeaderNames.__type = ["BaseRunType", "runType", "routeId", () => __ΩRunTypesFunctions, "rt", "getHeaderNames", 'P"w!2"&2#n$2%&F/&'];
|
|
256
|
-
function extractLiteralStringsFromTypeRecursive(runType, rt) {
|
|
257
|
-
if (rt.isLiteralRunType(runType)) {
|
|
258
|
-
const literal = runType.getLiteralValue();
|
|
259
|
-
if (typeof literal === "string") {
|
|
260
|
-
return [literal];
|
|
261
|
-
}
|
|
262
|
-
return [];
|
|
263
|
-
}
|
|
264
|
-
if (rt.isUnionRunType(runType)) {
|
|
265
|
-
const children = runType.getChildRunTypes();
|
|
266
|
-
const literals = [];
|
|
267
|
-
for (const child of children) {
|
|
268
|
-
const childLiterals = extractLiteralStringsFromTypeRecursive(child, rt);
|
|
269
|
-
literals.push(...childLiterals);
|
|
270
|
-
}
|
|
271
|
-
return literals;
|
|
272
|
-
}
|
|
273
|
-
return [];
|
|
274
|
-
}
|
|
275
|
-
extractLiteralStringsFromTypeRecursive.__type = ["BaseRunType", "runType", () => __ΩRunTypesFunctions, "rt", "extractLiteralStringsFromTypeRecursive", 'P"w!2"n#2$&F/%'];
|
|
276
|
-
function extractLiteralStringsFromType(runType, rt) {
|
|
277
|
-
if (rt.isNeverRunType(runType))
|
|
278
|
-
return [];
|
|
279
|
-
return extractLiteralStringsFromTypeRecursive(runType, rt);
|
|
280
|
-
}
|
|
281
|
-
extractLiteralStringsFromType.__type = ["BaseRunType", "runType", () => __ΩRunTypesFunctions, "rt", "extractLiteralStringsFromType", 'P"w!2"n#2$&F/%'];
|
|
282
|
-
function getFakeCompiler(routerOptions) {
|
|
283
|
-
return { opts: routerOptions };
|
|
284
|
-
}
|
|
285
|
-
getFakeCompiler.__type = [() => ___RouterOptions, "routerOptions", "JitFnCompiler", "getFakeCompiler", 'Pn!2""w#/$'];
|
|
286
|
-
function getTypeJitFunctions(runType, opts, rtModule, needsBinary = false) {
|
|
287
|
-
const jitFns = {
|
|
288
|
-
isType: runType.createJitCompiledFunction(rtModule.JitFunctions.isType.id, void 0, opts),
|
|
289
|
-
typeErrors: runType.createJitCompiledFunction(rtModule.JitFunctions.typeErrors.id, void 0, opts),
|
|
290
|
-
prepareForJson: runType.createJitCompiledFunction(rtModule.JitFunctions.prepareForJson.id, void 0, opts),
|
|
291
|
-
restoreFromJson: runType.createJitCompiledFunction(rtModule.JitFunctions.restoreFromJson.id, void 0, opts),
|
|
292
|
-
stringifyJson: runType.createJitCompiledFunction(rtModule.JitFunctions.stringifyJson.id, void 0, opts),
|
|
293
|
-
...needsBinary ? {
|
|
294
|
-
toBinary: runType.createJitCompiledFunction(rtModule.JitFunctions.toBinary.id, void 0, opts),
|
|
295
|
-
fromBinary: runType.createJitCompiledFunction(rtModule.JitFunctions.fromBinary.id, void 0, opts)
|
|
296
|
-
} : {}
|
|
297
|
-
};
|
|
298
|
-
return jitFns;
|
|
299
|
-
}
|
|
300
|
-
getTypeJitFunctions.__type = ["BaseRunType", "runType", "RunTypeOptions", "opts", () => __ΩRunTypesFunctions, "rtModule", "needsBinary", () => false, "JitCompiledFunctions", "getTypeJitFunctions", `P"w!2"P"w#-J2$n%2&)2'>("w)/*`];
|
|
301
|
-
const functionRunTypeCache = (WeakMap.Ω = [["AnyFn", '"w!'], ["FunctionRunType", '"w!']], /* @__PURE__ */ new WeakMap());
|
|
302
|
-
function getFunctionJitFns(fn, opts, rtModule, isReturn, needsBinary = false) {
|
|
303
|
-
let runType = functionRunTypeCache.get(fn);
|
|
304
|
-
if (!runType) {
|
|
305
|
-
runType = rtModule.reflectFunction(fn);
|
|
306
|
-
functionRunTypeCache.set(fn, runType);
|
|
307
|
-
}
|
|
308
|
-
const createFn = isReturn ? runType.createJitCompiledReturnFunction.bind(runType) : runType.createJitCompiledParamsFunction.bind(runType);
|
|
309
|
-
const jitFunctions = {
|
|
310
|
-
isType: createFn(rtModule.JitFunctions.isType, opts),
|
|
311
|
-
typeErrors: createFn(rtModule.JitFunctions.typeErrors, opts),
|
|
312
|
-
prepareForJson: createFn(rtModule.JitFunctions.prepareForJson, opts),
|
|
313
|
-
restoreFromJson: createFn(rtModule.JitFunctions.restoreFromJson, opts),
|
|
314
|
-
stringifyJson: createFn(rtModule.JitFunctions.stringifyJson, opts),
|
|
315
|
-
...needsBinary ? {
|
|
316
|
-
toBinary: createFn(rtModule.JitFunctions.toBinary, opts),
|
|
317
|
-
fromBinary: createFn(rtModule.JitFunctions.fromBinary, opts)
|
|
318
|
-
} : {}
|
|
319
|
-
};
|
|
320
|
-
return jitFunctions;
|
|
321
|
-
}
|
|
322
|
-
getFunctionJitFns.__type = ["fn", "RunTypeOptions", "opts", () => __ΩRunTypesFunctions, "rtModule", "isReturn", "needsBinary", () => false, "JitCompiledFunctions", "getFunctionJitFns", `P"2!P"w"-J2#n$2%)2&)2'>("w)/*`];
|
|
323
|
-
async function ensureBinaryJitFns(method) {
|
|
324
|
-
if (method.paramsJitFns.toBinary && method.returnJitFns.toBinary)
|
|
325
|
-
return;
|
|
326
|
-
const rt = await loadRunTypesModule();
|
|
327
|
-
const isHeader = method.type === HandlerType.headersMiddleFn;
|
|
328
|
-
const paramsSlice = isHeader ? { start: HEADER_HOOK_DEFAULT_PARAMS.length } : { start: ROUTE_DEFAULT_PARAMS.length };
|
|
329
|
-
const opts = { paramsSlice };
|
|
330
|
-
if (!method.paramsJitFns.toBinary && method.paramsJitHash !== EMPTY_HASH) {
|
|
331
|
-
const runType = rt.reflectFunction(method.handler);
|
|
332
|
-
const createFn = runType.createJitCompiledParamsFunction.bind(runType);
|
|
333
|
-
method.paramsJitFns.toBinary = createFn(rt.JitFunctions.toBinary, opts);
|
|
334
|
-
method.paramsJitFns.fromBinary = createFn(rt.JitFunctions.fromBinary, opts);
|
|
335
|
-
}
|
|
336
|
-
if (!method.returnJitFns.toBinary && method.returnJitHash !== EMPTY_HASH && method.hasReturnData) {
|
|
337
|
-
const runType = rt.reflectFunction(method.handler);
|
|
338
|
-
const createFn = runType.createJitCompiledReturnFunction.bind(runType);
|
|
339
|
-
method.returnJitFns.toBinary = createFn(rt.JitFunctions.toBinary);
|
|
340
|
-
method.returnJitFns.fromBinary = createFn(rt.JitFunctions.fromBinary);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
ensureBinaryJitFns.__type = [() => ___MiddleFnMethod, () => ___HeadersMethod, "method", "ensureBinaryJitFns", 'PPn!n"J2#$`/$'];
|
|
344
|
-
export {
|
|
345
|
-
AOTCacheError,
|
|
346
|
-
ensureBinaryJitFns,
|
|
347
|
-
getHandlerReflection,
|
|
348
|
-
getRawMethodReflection,
|
|
349
|
-
resetReflectionCaches,
|
|
350
|
-
resetRunTypesCache
|
|
1
|
+
import { EMPTY_HASH, getHeadersReflectionFromMarkers, getNoopJitFns, getOrCreateGlobal, getReflectionFromMarkers, isAsyncHandler } from "@mionjs/core";
|
|
2
|
+
//#region src/lib/reflection.ts
|
|
3
|
+
/** The definition carries no injected type information: it was built or run without the mion plugin active. */
|
|
4
|
+
var MissingRtFnsError = class extends Error {
|
|
5
|
+
constructor(routeId, cause) {
|
|
6
|
+
super(`Route/middleware "${routeId}" has no build-time type information.\nDeclare it through route()/middleware() and make sure mionVitePlugin (@mionjs/devtools) is active in the build.` + (cause ? `\nCause: ${cause}` : ""));
|
|
7
|
+
this.name = "MissingRtFnsError";
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
/** The injected type information IS present but the host forbids building functions from strings (workerd,
|
|
11
|
+
* Vercel's EdgeVM, a CSP without 'unsafe-eval'). A BUILD-CONFIG problem, not a missing-plugin one. */
|
|
12
|
+
var RuntimeCodeGenBlockedError = class extends Error {
|
|
13
|
+
constructor(routeId, cause) {
|
|
14
|
+
super(`Route/middleware "${routeId}" carries build-time type information, but this runtime forbids compiling functions from strings.\nBuild with \`mionVitePlugin({runTypes: {emitMode: 'both'}})\`: the default 'code' ships each compiled fn as a source string that is turned into a function on first use, which edge runtimes (Cloudflare Workers / workerd, Vercel Edge) refuse. 'both' also emits the live factory, so nothing is compiled at runtime.` + (cause ? `\nCause: ${cause}` : ""));
|
|
15
|
+
this.name = "RuntimeCodeGenBlockedError";
|
|
16
|
+
}
|
|
351
17
|
};
|
|
352
|
-
|
|
18
|
+
var CODE_GEN_BLOCKED = /code generation from strings|unsafe-eval/i;
|
|
19
|
+
/** True when an error from the mion runtime is a blocked `new Function`, not a missing payload. */
|
|
20
|
+
function isCodeGenBlocked(message) {
|
|
21
|
+
return !!message && CODE_GEN_BLOCKED.test(message);
|
|
22
|
+
}
|
|
23
|
+
var rawMiddlewareReflectionCache = getOrCreateGlobal("mion.reflection.rawMiddlewareReflectionCache", () => /* @__PURE__ */ new Map());
|
|
24
|
+
/** Creates a MethodReflect for raw middlewares: no type info, NoopJitFns. */
|
|
25
|
+
function createRawMiddlewareReflection(isAsync, hasReturnData = false, paramsCount = 0) {
|
|
26
|
+
const cacheKey = `${isAsync}_${hasReturnData}_${paramsCount}`;
|
|
27
|
+
const cached = rawMiddlewareReflectionCache.get(cacheKey);
|
|
28
|
+
if (cached) return cached;
|
|
29
|
+
const reflection = {
|
|
30
|
+
paramsCount,
|
|
31
|
+
paramsJitFns: getNoopJitFns(),
|
|
32
|
+
returnJitFns: getNoopJitFns(),
|
|
33
|
+
paramsJitHash: EMPTY_HASH,
|
|
34
|
+
returnJitHash: EMPTY_HASH,
|
|
35
|
+
hasReturnData,
|
|
36
|
+
isAsync
|
|
37
|
+
};
|
|
38
|
+
rawMiddlewareReflectionCache.set(cacheKey, reflection);
|
|
39
|
+
return reflection;
|
|
40
|
+
}
|
|
41
|
+
/** All data derives from the mion marker payload the factory stashed on the definition (`def.rtFns`);
|
|
42
|
+
* registration fails loudly when that payload is missing (plugin not active). */
|
|
43
|
+
function getHandlerReflection(def, routeId, routerOptions, handlerOptions = {}, isHeadersMiddleware = false) {
|
|
44
|
+
try {
|
|
45
|
+
return isHeadersMiddleware ? getHeadersReflectionFromMarkers(def.rtFns, def.handler, routeId) : getReflectionFromMarkers(def.rtFns, def.handler, routeId);
|
|
46
|
+
} catch (error) {
|
|
47
|
+
if (isCodeGenBlocked(error?.message)) throw new RuntimeCodeGenBlockedError(routeId, error.message);
|
|
48
|
+
throw new MissingRtFnsError(routeId, error?.message);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Raw middlewares parse the raw request / response themselves, so they carry no type info. */
|
|
52
|
+
function getRawMethodReflection(handler, routeId, routerOptions) {
|
|
53
|
+
return createRawMiddlewareReflection(isAsyncHandler(handler));
|
|
54
|
+
}
|
|
55
|
+
/** Checks each direction's compiled strategy against the resolved one: they differ only when the
|
|
56
|
+
* build saw a different literal than the runtime value. */
|
|
57
|
+
function assertCompiledParser(methodId, parser, reflection) {
|
|
58
|
+
const sides = [[
|
|
59
|
+
"params",
|
|
60
|
+
reflection.paramsJitHash,
|
|
61
|
+
reflection.paramsJitFns
|
|
62
|
+
], [
|
|
63
|
+
"return",
|
|
64
|
+
reflection.returnJitHash,
|
|
65
|
+
reflection.returnJitFns
|
|
66
|
+
]];
|
|
67
|
+
for (const [direction, hash, fns] of sides) {
|
|
68
|
+
if (hash === EMPTY_HASH) continue;
|
|
69
|
+
const wanted = parser[direction];
|
|
70
|
+
if (fns.json.strategy !== wanted) throw new Error(`mion: ${direction} parser of "${methodId}" is '${wanted}' at runtime but the build compiled '${fns.json.strategy}'. Write the parser option inline on the route (or as an \`as const\` preset) and the router-wide default as a literal on createMionRouter, so the build sees the same value the runtime reads.`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { MissingRtFnsError, RuntimeCodeGenBlockedError, assertCompiledParser, getHandlerReflection, getRawMethodReflection };
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=reflection.js.map
|