@mionjs/router 0.13.0 → 0.14.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/esm/.mion/types/A0Qb_CXFfAul.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_CXFfAul.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_EkYSHqf.js +29 -0
- package/.dist/esm/.mion/types/A0Qb_EkYSHqf.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_GVXB1Wo.js +22 -0
- package/.dist/esm/.mion/types/A0Qb_GVXB1Wo.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_HvnlLnd.js +38 -0
- package/.dist/esm/.mion/types/A0Qb_HvnlLnd.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_JTXvy7Y.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_JTXvy7Y.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_JkwVz03.js +36 -0
- package/.dist/esm/.mion/types/A0Qb_JkwVz03.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_Ju6MvJU.js +14 -0
- package/.dist/esm/.mion/types/A0Qb_Ju6MvJU.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_KYXJdoi.js +42 -0
- package/.dist/esm/.mion/types/A0Qb_KYXJdoi.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_L7TAwqn.js +44 -0
- package/.dist/esm/.mion/types/A0Qb_L7TAwqn.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_NXjo9wB.js +82 -0
- package/.dist/esm/.mion/types/A0Qb_NXjo9wB.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_P05N010.js +35 -0
- package/.dist/esm/.mion/types/A0Qb_P05N010.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_R2waGIJ.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_R2waGIJ.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_UE6lPE3.js +14 -0
- package/.dist/esm/.mion/types/A0Qb_UE6lPE3.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_UGPHsHZ.js +29 -0
- package/.dist/esm/.mion/types/A0Qb_UGPHsHZ.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_VMxJugF.js +29 -0
- package/.dist/esm/.mion/types/A0Qb_VMxJugF.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_VuzVN13.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_VuzVN13.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_WaXzp6u.js +29 -0
- package/.dist/esm/.mion/types/A0Qb_WaXzp6u.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_b8JOgtl.js +35 -0
- package/.dist/esm/.mion/types/A0Qb_b8JOgtl.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_bWgCH09.js +14 -0
- package/.dist/esm/.mion/types/A0Qb_bWgCH09.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_cIwQaiK.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_cIwQaiK.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_ddv0QYt.js +27 -0
- package/.dist/esm/.mion/types/A0Qb_ddv0QYt.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_fjaxPpO.js +28 -0
- package/.dist/esm/.mion/types/A0Qb_fjaxPpO.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_hnO6xA5.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_hnO6xA5.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_jMcsHAh.js +76 -0
- package/.dist/esm/.mion/types/A0Qb_jMcsHAh.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_pJ9XvFm.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_pJ9XvFm.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_pWBRJYE.js +22 -0
- package/.dist/esm/.mion/types/A0Qb_pWBRJYE.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_qatpo1O.js +27 -0
- package/.dist/esm/.mion/types/A0Qb_qatpo1O.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_qxw8aWP.js +43 -0
- package/.dist/esm/.mion/types/A0Qb_qxw8aWP.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_ujMZYNY.js +29 -0
- package/.dist/esm/.mion/types/A0Qb_ujMZYNY.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_vIbt7K7.js +25 -0
- package/.dist/esm/.mion/types/A0Qb_vIbt7K7.js.map +1 -0
- package/.dist/esm/.mion/types/A0Qb_vMVZ77w.js +29 -0
- package/.dist/esm/.mion/types/A0Qb_vMVZ77w.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_EkYSHqf.js +31 -0
- package/.dist/esm/.mion/types/Eq2V_EkYSHqf.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_GVXB1Wo.js +22 -0
- package/.dist/esm/.mion/types/Eq2V_GVXB1Wo.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_HvnlLnd.js +39 -0
- package/.dist/esm/.mion/types/Eq2V_HvnlLnd.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_JTXvy7Y.js +24 -0
- package/.dist/esm/.mion/types/Eq2V_JTXvy7Y.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_JkwVz03.js +39 -0
- package/.dist/esm/.mion/types/Eq2V_JkwVz03.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_KYXJdoi.js +41 -0
- package/.dist/esm/.mion/types/Eq2V_KYXJdoi.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_L7TAwqn.js +41 -0
- package/.dist/esm/.mion/types/Eq2V_L7TAwqn.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_P05N010.js +31 -0
- package/.dist/esm/.mion/types/Eq2V_P05N010.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_R2waGIJ.js +24 -0
- package/.dist/esm/.mion/types/Eq2V_R2waGIJ.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_UGPHsHZ.js +26 -0
- package/.dist/esm/.mion/types/Eq2V_UGPHsHZ.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_VMxJugF.js +31 -0
- package/.dist/esm/.mion/types/Eq2V_VMxJugF.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_VuzVN13.js +24 -0
- package/.dist/esm/.mion/types/Eq2V_VuzVN13.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_WaXzp6u.js +31 -0
- package/.dist/esm/.mion/types/Eq2V_WaXzp6u.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_cIwQaiK.js +24 -0
- package/.dist/esm/.mion/types/Eq2V_cIwQaiK.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_ddv0QYt.js +26 -0
- package/.dist/esm/.mion/types/Eq2V_ddv0QYt.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_fjaxPpO.js +32 -0
- package/.dist/esm/.mion/types/Eq2V_fjaxPpO.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_hnO6xA5.js +24 -0
- package/.dist/esm/.mion/types/Eq2V_hnO6xA5.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_pJ9XvFm.js +24 -0
- package/.dist/esm/.mion/types/Eq2V_pJ9XvFm.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_pWBRJYE.js +22 -0
- package/.dist/esm/.mion/types/Eq2V_pWBRJYE.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_qatpo1O.js +29 -0
- package/.dist/esm/.mion/types/Eq2V_qatpo1O.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_qxw8aWP.js +24 -0
- package/.dist/esm/.mion/types/Eq2V_qxw8aWP.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_vIbt7K7.js +27 -0
- package/.dist/esm/.mion/types/Eq2V_vIbt7K7.js.map +1 -0
- package/.dist/esm/.mion/types/Eq2V_vMVZ77w.js +31 -0
- package/.dist/esm/.mion/types/Eq2V_vMVZ77w.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_CXFfAul.js +64 -0
- package/.dist/esm/.mion/types/Ky89_CXFfAul.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_EkYSHqf.js +28 -0
- package/.dist/esm/.mion/types/Ky89_EkYSHqf.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_HvnlLnd.js +42 -0
- package/.dist/esm/.mion/types/Ky89_HvnlLnd.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_JTXvy7Y.js +64 -0
- package/.dist/esm/.mion/types/Ky89_JTXvy7Y.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_JkwVz03.js +37 -0
- package/.dist/esm/.mion/types/Ky89_JkwVz03.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_Ju6MvJU.js +14 -0
- package/.dist/esm/.mion/types/Ky89_Ju6MvJU.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_KYXJdoi.js +47 -0
- package/.dist/esm/.mion/types/Ky89_KYXJdoi.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_L7TAwqn.js +53 -0
- package/.dist/esm/.mion/types/Ky89_L7TAwqn.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_NXjo9wB.js +51 -0
- package/.dist/esm/.mion/types/Ky89_NXjo9wB.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_P05N010.js +35 -0
- package/.dist/esm/.mion/types/Ky89_P05N010.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_R2waGIJ.js +64 -0
- package/.dist/esm/.mion/types/Ky89_R2waGIJ.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_UE6lPE3.js +25 -0
- package/.dist/esm/.mion/types/Ky89_UE6lPE3.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_UGPHsHZ.js +28 -0
- package/.dist/esm/.mion/types/Ky89_UGPHsHZ.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_VMxJugF.js +28 -0
- package/.dist/esm/.mion/types/Ky89_VMxJugF.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_VuzVN13.js +64 -0
- package/.dist/esm/.mion/types/Ky89_VuzVN13.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_WaXzp6u.js +27 -0
- package/.dist/esm/.mion/types/Ky89_WaXzp6u.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_b8JOgtl.js +32 -0
- package/.dist/esm/.mion/types/Ky89_b8JOgtl.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_bWgCH09.js +26 -0
- package/.dist/esm/.mion/types/Ky89_bWgCH09.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_cIwQaiK.js +64 -0
- package/.dist/esm/.mion/types/Ky89_cIwQaiK.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_ddv0QYt.js +23 -0
- package/.dist/esm/.mion/types/Ky89_ddv0QYt.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_fjaxPpO.js +30 -0
- package/.dist/esm/.mion/types/Ky89_fjaxPpO.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_hnO6xA5.js +64 -0
- package/.dist/esm/.mion/types/Ky89_hnO6xA5.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_jMcsHAh.js +63 -0
- package/.dist/esm/.mion/types/Ky89_jMcsHAh.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_pJ9XvFm.js +64 -0
- package/.dist/esm/.mion/types/Ky89_pJ9XvFm.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_qatpo1O.js +33 -0
- package/.dist/esm/.mion/types/Ky89_qatpo1O.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_qxw8aWP.js +64 -0
- package/.dist/esm/.mion/types/Ky89_qxw8aWP.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_ujMZYNY.js +28 -0
- package/.dist/esm/.mion/types/Ky89_ujMZYNY.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_vIbt7K7.js +28 -0
- package/.dist/esm/.mion/types/Ky89_vIbt7K7.js.map +1 -0
- package/.dist/esm/.mion/types/Ky89_vMVZ77w.js +28 -0
- package/.dist/esm/.mion/types/Ky89_vMVZ77w.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_CXFfAul.js +57 -0
- package/.dist/esm/.mion/types/OBOg_CXFfAul.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_Ju6MvJU.js +25 -0
- package/.dist/esm/.mion/types/OBOg_Ju6MvJU.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_K9zElfi.js +27 -0
- package/.dist/esm/.mion/types/OBOg_K9zElfi.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_NXjo9wB.js +27 -0
- package/.dist/esm/.mion/types/OBOg_NXjo9wB.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_UE6lPE3.js +29 -0
- package/.dist/esm/.mion/types/OBOg_UE6lPE3.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_b8JOgtl.js +27 -0
- package/.dist/esm/.mion/types/OBOg_b8JOgtl.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_bWgCH09.js +34 -0
- package/.dist/esm/.mion/types/OBOg_bWgCH09.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_ddv0QYt.js +25 -0
- package/.dist/esm/.mion/types/OBOg_ddv0QYt.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_jMcsHAh.js +27 -0
- package/.dist/esm/.mion/types/OBOg_jMcsHAh.js.map +1 -0
- package/.dist/esm/.mion/types/OBOg_ujMZYNY.js +34 -0
- package/.dist/esm/.mion/types/OBOg_ujMZYNY.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_CXFfAul.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_CXFfAul.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_EkYSHqf.js +31 -0
- package/.dist/esm/.mion/types/Xhuv_EkYSHqf.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_GVXB1Wo.js +22 -0
- package/.dist/esm/.mion/types/Xhuv_GVXB1Wo.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_HvnlLnd.js +39 -0
- package/.dist/esm/.mion/types/Xhuv_HvnlLnd.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_JTXvy7Y.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_JTXvy7Y.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_JkwVz03.js +39 -0
- package/.dist/esm/.mion/types/Xhuv_JkwVz03.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_Ju6MvJU.js +22 -0
- package/.dist/esm/.mion/types/Xhuv_Ju6MvJU.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_K9zElfi.js +22 -0
- package/.dist/esm/.mion/types/Xhuv_K9zElfi.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_KYXJdoi.js +41 -0
- package/.dist/esm/.mion/types/Xhuv_KYXJdoi.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_L7TAwqn.js +41 -0
- package/.dist/esm/.mion/types/Xhuv_L7TAwqn.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_NXjo9wB.js +95 -0
- package/.dist/esm/.mion/types/Xhuv_NXjo9wB.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_P05N010.js +31 -0
- package/.dist/esm/.mion/types/Xhuv_P05N010.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_R2waGIJ.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_R2waGIJ.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_UE6lPE3.js +30 -0
- package/.dist/esm/.mion/types/Xhuv_UE6lPE3.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_UGPHsHZ.js +26 -0
- package/.dist/esm/.mion/types/Xhuv_UGPHsHZ.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_VMxJugF.js +31 -0
- package/.dist/esm/.mion/types/Xhuv_VMxJugF.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_VuzVN13.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_VuzVN13.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_WaXzp6u.js +31 -0
- package/.dist/esm/.mion/types/Xhuv_WaXzp6u.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_b0EmsPZ.js +22 -0
- package/.dist/esm/.mion/types/Xhuv_b0EmsPZ.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_b8JOgtl.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_b8JOgtl.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_bWgCH09.js +33 -0
- package/.dist/esm/.mion/types/Xhuv_bWgCH09.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_cIwQaiK.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_cIwQaiK.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_ddv0QYt.js +26 -0
- package/.dist/esm/.mion/types/Xhuv_ddv0QYt.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_fjaxPpO.js +32 -0
- package/.dist/esm/.mion/types/Xhuv_fjaxPpO.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_hnO6xA5.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_hnO6xA5.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_jMcsHAh.js +71 -0
- package/.dist/esm/.mion/types/Xhuv_jMcsHAh.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_pJ9XvFm.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_pJ9XvFm.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_pWBRJYE.js +22 -0
- package/.dist/esm/.mion/types/Xhuv_pWBRJYE.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_qatpo1O.js +29 -0
- package/.dist/esm/.mion/types/Xhuv_qatpo1O.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_qxw8aWP.js +24 -0
- package/.dist/esm/.mion/types/Xhuv_qxw8aWP.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_ujMZYNY.js +31 -0
- package/.dist/esm/.mion/types/Xhuv_ujMZYNY.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_vIbt7K7.js +27 -0
- package/.dist/esm/.mion/types/Xhuv_vIbt7K7.js.map +1 -0
- package/.dist/esm/.mion/types/Xhuv_vMVZ77w.js +31 -0
- package/.dist/esm/.mion/types/Xhuv_vMVZ77w.js.map +1 -0
- package/.dist/esm/.mion/types/mzca_Ju6MvJU.js +14 -0
- package/.dist/esm/.mion/types/mzca_Ju6MvJU.js.map +1 -0
- package/.dist/esm/.mion/types/mzca_UE6lPE3.js +14 -0
- package/.dist/esm/.mion/types/mzca_UE6lPE3.js.map +1 -0
- package/.dist/esm/.mion/types/mzca_bWgCH09.js +14 -0
- package/.dist/esm/.mion/types/mzca_bWgCH09.js.map +1 -0
- package/.dist/esm/.mion/types/pf/_rt/_abcB3do2M.js +23 -0
- package/.dist/esm/.mion/types/pf/_rt/_abcB3do2M.js.map +1 -0
- package/.dist/esm/.mion/types/pf/_rt/tfRjnFZVF8.js +27 -0
- package/.dist/esm/.mion/types/pf/_rt/tfRjnFZVF8.js.map +1 -0
- package/.dist/esm/.mion/types/rt/C7ezVBCtGn.js +200 -195
- package/.dist/esm/.mion/types/rt/C7ezVBCtGn.js.map +1 -1
- package/.dist/esm/.mion/types/rt/KjC1OsUQp4.js +1207 -0
- package/.dist/esm/.mion/types/rt/KjC1OsUQp4.js.map +1 -0
- package/.dist/esm/.mion/types/rt/VIdAjpHu1X.js +178 -179
- package/.dist/esm/.mion/types/rt/VIdAjpHu1X.js.map +1 -1
- package/.dist/esm/.mion/types/rt/eF4wQzU6Fd.js +335 -330
- package/.dist/esm/.mion/types/rt/eF4wQzU6Fd.js.map +1 -1
- package/.dist/{cjs/.mion/types/rt/shared/JQEexHbHMp.cjs → esm/.mion/types/rt/shared/EjfwjaotqB.js} +171 -155
- package/.dist/esm/.mion/types/rt/shared/EjfwjaotqB.js.map +1 -0
- package/.dist/esm/.mion/types/rt/shared/lhgmFrJdOO.js +278 -0
- package/.dist/esm/.mion/types/rt/shared/lhgmFrJdOO.js.map +1 -0
- package/.dist/esm/.mion/types/rt/shared/{connsmWgsp.js → nJOmbxLb37.js} +476 -612
- package/.dist/esm/.mion/types/rt/shared/nJOmbxLb37.js.map +1 -0
- package/.dist/esm/index.d.ts +1 -1
- package/.dist/esm/index.js +7 -7
- package/.dist/esm/middlewares.d.ts +1 -0
- package/.dist/esm/middlewares.js +2 -1
- package/.dist/esm/src/batches.js +3 -3
- package/.dist/esm/src/batches.js.map +1 -1
- package/.dist/esm/src/callContext.d.ts +3 -3
- package/.dist/esm/src/callContext.js +7 -5
- package/.dist/esm/src/callContext.js.map +1 -1
- package/.dist/esm/src/constants.d.ts +1 -0
- package/.dist/esm/src/constants.js +5 -3
- package/.dist/esm/src/constants.js.map +1 -1
- package/.dist/esm/src/dispatch.d.ts +3 -3
- package/.dist/esm/src/dispatch.js +10 -8
- package/.dist/esm/src/dispatch.js.map +1 -1
- package/.dist/esm/src/lib/dispatchError.d.ts +2 -1
- package/.dist/esm/src/lib/dispatchError.js +11 -2
- package/.dist/esm/src/lib/dispatchError.js.map +1 -1
- package/.dist/esm/src/lib/handlers.d.ts +3 -3
- package/.dist/esm/src/lib/handlers.js.map +1 -1
- package/.dist/esm/src/lib/headers.d.ts +2 -0
- package/.dist/esm/src/lib/headers.js +19 -1
- package/.dist/esm/src/lib/headers.js.map +1 -1
- package/.dist/esm/src/lib/httpMethod.d.ts +3 -0
- package/.dist/esm/src/lib/httpMethod.js +21 -0
- package/.dist/esm/src/lib/httpMethod.js.map +1 -0
- package/.dist/esm/src/lib/queryBody.d.ts +1 -6
- package/.dist/esm/src/lib/queryBody.js +4 -7
- package/.dist/esm/src/lib/queryBody.js.map +1 -1
- package/.dist/esm/src/lib/reflection.js +4 -4
- package/.dist/esm/src/lib/reflection.js.map +1 -1
- package/.dist/esm/src/lib/remoteMethods.js +2 -2
- package/.dist/esm/src/lib/remoteMethods.js.map +1 -1
- package/.dist/esm/src/middlewares/fetchMetadata.js +20 -20
- package/.dist/esm/src/middlewares/security.d.ts +9 -0
- package/.dist/esm/src/middlewares/security.js +213 -0
- package/.dist/esm/src/middlewares/security.js.map +1 -0
- package/.dist/esm/src/middlewares/syncRoutes.js +20 -20
- package/.dist/esm/src/router.d.ts +8 -6
- package/.dist/esm/src/router.js +40 -29
- package/.dist/esm/src/router.js.map +1 -1
- package/.dist/esm/src/routes/errors.routes.js +34 -34
- package/.dist/esm/src/routes/serializer.routes.js +13 -2
- package/.dist/esm/src/routes/serializer.routes.js.map +1 -1
- package/.dist/esm/src/types/context.d.ts +6 -3
- package/.dist/esm/src/types/definitions.d.ts +5 -3
- package/.dist/esm/src/types/general.d.ts +24 -5
- package/.dist/esm/src/types/guards.d.ts +2 -6
- package/.dist/esm/src/types/guards.js +1 -13
- package/.dist/esm/src/types/guards.js.map +1 -1
- package/.dist/esm/src/types/mionRouter.d.ts +67 -22
- package/.dist/esm/src/types/publicMethods.d.ts +4 -5
- package/.dist/esm/src/types/resolvedOptions.d.ts +11 -2
- package/package.json +6 -6
- package/.dist/cjs/.mion/types/A0Qb_D32xQCR.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_D32xQCR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_D5PMNNO.cjs +0 -17
- package/.dist/cjs/.mion/types/A0Qb_D5PMNNO.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_E1CjDEA.cjs +0 -36
- package/.dist/cjs/.mion/types/A0Qb_E1CjDEA.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_EYEglde.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_EYEglde.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_EyHLuYw.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_EyHLuYw.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_G42dZdW.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_G42dZdW.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_HSE8icr.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_HSE8icr.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_HXAy3Lx.cjs +0 -13
- package/.dist/cjs/.mion/types/A0Qb_HXAy3Lx.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_JJrCj9i.cjs +0 -13
- package/.dist/cjs/.mion/types/A0Qb_JJrCj9i.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_KDyf2Fa.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_KDyf2Fa.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_L3mQkaR.cjs +0 -13
- package/.dist/cjs/.mion/types/A0Qb_L3mQkaR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_RAudOr2.cjs +0 -13
- package/.dist/cjs/.mion/types/A0Qb_RAudOr2.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_TRnIbow.cjs +0 -17
- package/.dist/cjs/.mion/types/A0Qb_TRnIbow.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_UOI3bXq.cjs +0 -17
- package/.dist/cjs/.mion/types/A0Qb_UOI3bXq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_VsWxRKn.cjs +0 -13
- package/.dist/cjs/.mion/types/A0Qb_VsWxRKn.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_ZTKzxQG.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_ZTKzxQG.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_b4tYK8X.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_b4tYK8X.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_deFq9zY.cjs +0 -26
- package/.dist/cjs/.mion/types/A0Qb_deFq9zY.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_fMIJ1JT.cjs +0 -14
- package/.dist/cjs/.mion/types/A0Qb_fMIJ1JT.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_g17turq.cjs +0 -13
- package/.dist/cjs/.mion/types/A0Qb_g17turq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_hqa3Nzs.cjs +0 -14
- package/.dist/cjs/.mion/types/A0Qb_hqa3Nzs.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_iKPrxW9.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_iKPrxW9.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_jLtJ5Kv.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_jLtJ5Kv.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_kibOHkN.cjs +0 -14
- package/.dist/cjs/.mion/types/A0Qb_kibOHkN.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_kz5ne4c.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_kz5ne4c.cjs.map +0 -1
- package/.dist/cjs/.mion/types/A0Qb_pzBRrJb.cjs +0 -16
- package/.dist/cjs/.mion/types/A0Qb_pzBRrJb.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_EYEglde.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_EYEglde.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_EyHLuYw.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_EyHLuYw.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_HSE8icr.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_HSE8icr.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_HXAy3Lx.cjs +0 -13
- package/.dist/cjs/.mion/types/Eq2V_HXAy3Lx.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_JJrCj9i.cjs +0 -13
- package/.dist/cjs/.mion/types/Eq2V_JJrCj9i.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_KDyf2Fa.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_KDyf2Fa.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_L3mQkaR.cjs +0 -13
- package/.dist/cjs/.mion/types/Eq2V_L3mQkaR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_RAudOr2.cjs +0 -13
- package/.dist/cjs/.mion/types/Eq2V_RAudOr2.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_TRnIbow.cjs +0 -17
- package/.dist/cjs/.mion/types/Eq2V_TRnIbow.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_UOI3bXq.cjs +0 -17
- package/.dist/cjs/.mion/types/Eq2V_UOI3bXq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_VsWxRKn.cjs +0 -13
- package/.dist/cjs/.mion/types/Eq2V_VsWxRKn.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_ZTKzxQG.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_ZTKzxQG.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_b4tYK8X.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_b4tYK8X.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_deFq9zY.cjs +0 -26
- package/.dist/cjs/.mion/types/Eq2V_deFq9zY.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_g17turq.cjs +0 -13
- package/.dist/cjs/.mion/types/Eq2V_g17turq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_iKPrxW9.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_iKPrxW9.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_jLtJ5Kv.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_jLtJ5Kv.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_kz5ne4c.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_kz5ne4c.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Eq2V_pzBRrJb.cjs +0 -16
- package/.dist/cjs/.mion/types/Eq2V_pzBRrJb.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_D32xQCR.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_D32xQCR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_D5PMNNO.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_D5PMNNO.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_E1CjDEA.cjs +0 -32
- package/.dist/cjs/.mion/types/Ky89_E1CjDEA.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_EYEglde.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_EYEglde.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_EyHLuYw.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_EyHLuYw.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_G42dZdW.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_G42dZdW.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_HSE8icr.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_HSE8icr.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_JJrCj9i.cjs +0 -13
- package/.dist/cjs/.mion/types/Ky89_JJrCj9i.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_KDyf2Fa.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_KDyf2Fa.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_L3mQkaR.cjs +0 -13
- package/.dist/cjs/.mion/types/Ky89_L3mQkaR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_RAudOr2.cjs +0 -13
- package/.dist/cjs/.mion/types/Ky89_RAudOr2.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_TRnIbow.cjs +0 -13
- package/.dist/cjs/.mion/types/Ky89_TRnIbow.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_UOI3bXq.cjs +0 -17
- package/.dist/cjs/.mion/types/Ky89_UOI3bXq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_ZTKzxQG.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_ZTKzxQG.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_b4tYK8X.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_b4tYK8X.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_deFq9zY.cjs +0 -26
- package/.dist/cjs/.mion/types/Ky89_deFq9zY.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_fMIJ1JT.cjs +0 -13
- package/.dist/cjs/.mion/types/Ky89_fMIJ1JT.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_g17turq.cjs +0 -13
- package/.dist/cjs/.mion/types/Ky89_g17turq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_hqa3Nzs.cjs +0 -14
- package/.dist/cjs/.mion/types/Ky89_hqa3Nzs.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_iKPrxW9.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_iKPrxW9.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_jLtJ5Kv.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_jLtJ5Kv.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_kibOHkN.cjs +0 -13
- package/.dist/cjs/.mion/types/Ky89_kibOHkN.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_kz5ne4c.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_kz5ne4c.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Ky89_pzBRrJb.cjs +0 -16
- package/.dist/cjs/.mion/types/Ky89_pzBRrJb.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_D32xQCR.cjs +0 -23
- package/.dist/cjs/.mion/types/OBOg_D32xQCR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_D5PMNNO.cjs +0 -18
- package/.dist/cjs/.mion/types/OBOg_D5PMNNO.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_E1CjDEA.cjs +0 -18
- package/.dist/cjs/.mion/types/OBOg_E1CjDEA.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_G42dZdW.cjs +0 -18
- package/.dist/cjs/.mion/types/OBOg_G42dZdW.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_LKYfhxm.cjs +0 -18
- package/.dist/cjs/.mion/types/OBOg_LKYfhxm.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_fMIJ1JT.cjs +0 -18
- package/.dist/cjs/.mion/types/OBOg_fMIJ1JT.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_g17turq.cjs +0 -17
- package/.dist/cjs/.mion/types/OBOg_g17turq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_hqa3Nzs.cjs +0 -17
- package/.dist/cjs/.mion/types/OBOg_hqa3Nzs.cjs.map +0 -1
- package/.dist/cjs/.mion/types/OBOg_kibOHkN.cjs +0 -17
- package/.dist/cjs/.mion/types/OBOg_kibOHkN.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_D32xQCR.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_D32xQCR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_D5PMNNO.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_D5PMNNO.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_E1CjDEA.cjs +0 -29
- package/.dist/cjs/.mion/types/Xhuv_E1CjDEA.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_EYEglde.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_EYEglde.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_EyHLuYw.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_EyHLuYw.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_G42dZdW.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_G42dZdW.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_HSE8icr.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_HSE8icr.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_HXAy3Lx.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_HXAy3Lx.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_JJrCj9i.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_JJrCj9i.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_KDyf2Fa.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_KDyf2Fa.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_L3mQkaR.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_L3mQkaR.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_LKYfhxm.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_LKYfhxm.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_RAudOr2.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_RAudOr2.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_TRnIbow.cjs +0 -17
- package/.dist/cjs/.mion/types/Xhuv_TRnIbow.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_UOI3bXq.cjs +0 -17
- package/.dist/cjs/.mion/types/Xhuv_UOI3bXq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_VsWxRKn.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_VsWxRKn.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_ZTKzxQG.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_ZTKzxQG.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_ZgsWs6s.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_ZgsWs6s.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_b4tYK8X.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_b4tYK8X.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_deFq9zY.cjs +0 -26
- package/.dist/cjs/.mion/types/Xhuv_deFq9zY.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_fMIJ1JT.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_fMIJ1JT.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_g17turq.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_g17turq.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_hqa3Nzs.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_hqa3Nzs.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_iKPrxW9.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_iKPrxW9.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_jLtJ5Kv.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_jLtJ5Kv.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_kibOHkN.cjs +0 -13
- package/.dist/cjs/.mion/types/Xhuv_kibOHkN.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_kz5ne4c.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_kz5ne4c.cjs.map +0 -1
- package/.dist/cjs/.mion/types/Xhuv_pzBRrJb.cjs +0 -16
- package/.dist/cjs/.mion/types/Xhuv_pzBRrJb.cjs.map +0 -1
- package/.dist/cjs/.mion/types/mzca_fMIJ1JT.cjs +0 -14
- package/.dist/cjs/.mion/types/mzca_fMIJ1JT.cjs.map +0 -1
- package/.dist/cjs/.mion/types/mzca_hqa3Nzs.cjs +0 -14
- package/.dist/cjs/.mion/types/mzca_hqa3Nzs.cjs.map +0 -1
- package/.dist/cjs/.mion/types/mzca_kibOHkN.cjs +0 -14
- package/.dist/cjs/.mion/types/mzca_kibOHkN.cjs.map +0 -1
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.cjs +0 -14
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.cjs.map +0 -1
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.cjs +0 -14
- package/.dist/cjs/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.cjs.map +0 -1
- package/.dist/cjs/.mion/types/rt/C7ezVBCtGn.cjs +0 -498
- package/.dist/cjs/.mion/types/rt/C7ezVBCtGn.cjs.map +0 -1
- package/.dist/cjs/.mion/types/rt/VIdAjpHu1X.cjs +0 -526
- package/.dist/cjs/.mion/types/rt/VIdAjpHu1X.cjs.map +0 -1
- package/.dist/cjs/.mion/types/rt/eF4wQzU6Fd.cjs +0 -876
- package/.dist/cjs/.mion/types/rt/eF4wQzU6Fd.cjs.map +0 -1
- package/.dist/cjs/.mion/types/rt/shared/JQEexHbHMp.cjs.map +0 -1
- package/.dist/cjs/.mion/types/rt/shared/connsmWgsp.cjs +0 -1475
- package/.dist/cjs/.mion/types/rt/shared/connsmWgsp.cjs.map +0 -1
- package/.dist/cjs/index.cjs +0 -118
- package/.dist/cjs/index.d.ts +0 -21
- package/.dist/cjs/middlewares.cjs +0 -5
- package/.dist/cjs/middlewares.d.ts +0 -3
- package/.dist/cjs/package.json +0 -1
- package/.dist/cjs/src/batches.cjs +0 -332
- package/.dist/cjs/src/batches.cjs.map +0 -1
- package/.dist/cjs/src/batches.d.ts +0 -22
- package/.dist/cjs/src/callContext.cjs +0 -81
- package/.dist/cjs/src/callContext.cjs.map +0 -1
- package/.dist/cjs/src/callContext.d.ts +0 -8
- package/.dist/cjs/src/constants.cjs +0 -26
- package/.dist/cjs/src/constants.cjs.map +0 -1
- package/.dist/cjs/src/constants.d.ts +0 -5
- package/.dist/cjs/src/dispatch.cjs +0 -239
- package/.dist/cjs/src/dispatch.cjs.map +0 -1
- package/.dist/cjs/src/dispatch.d.ts +0 -10
- package/.dist/cjs/src/lib/bodyLimit.cjs +0 -37
- package/.dist/cjs/src/lib/bodyLimit.cjs.map +0 -1
- package/.dist/cjs/src/lib/bodyLimit.d.ts +0 -5
- package/.dist/cjs/src/lib/bodyReader.cjs +0 -79
- package/.dist/cjs/src/lib/bodyReader.cjs.map +0 -1
- package/.dist/cjs/src/lib/bodyReader.d.ts +0 -10
- package/.dist/cjs/src/lib/dispatchError.cjs +0 -82
- package/.dist/cjs/src/lib/dispatchError.cjs.map +0 -1
- package/.dist/cjs/src/lib/dispatchError.d.ts +0 -10
- package/.dist/cjs/src/lib/handlers.cjs +0 -99
- package/.dist/cjs/src/lib/handlers.cjs.map +0 -1
- package/.dist/cjs/src/lib/handlers.d.ts +0 -15
- package/.dist/cjs/src/lib/headers.cjs +0 -181
- package/.dist/cjs/src/lib/headers.cjs.map +0 -1
- package/.dist/cjs/src/lib/headers.d.ts +0 -42
- package/.dist/cjs/src/lib/queryBody.cjs +0 -30
- package/.dist/cjs/src/lib/queryBody.cjs.map +0 -1
- package/.dist/cjs/src/lib/queryBody.d.ts +0 -7
- package/.dist/cjs/src/lib/reflection.cjs +0 -81
- package/.dist/cjs/src/lib/reflection.cjs.map +0 -1
- package/.dist/cjs/src/lib/reflection.d.ts +0 -18
- package/.dist/cjs/src/lib/remoteMethods.cjs +0 -125
- package/.dist/cjs/src/lib/remoteMethods.cjs.map +0 -1
- package/.dist/cjs/src/lib/remoteMethods.d.ts +0 -11
- package/.dist/cjs/src/lib/urlQuery.cjs +0 -24
- package/.dist/cjs/src/lib/urlQuery.cjs.map +0 -1
- package/.dist/cjs/src/lib/urlQuery.d.ts +0 -2
- package/.dist/cjs/src/middlewares/fetchMetadata.cjs +0 -99
- package/.dist/cjs/src/middlewares/fetchMetadata.cjs.map +0 -1
- package/.dist/cjs/src/middlewares/fetchMetadata.d.ts +0 -15
- package/.dist/cjs/src/middlewares/syncRoutes.cjs +0 -67
- package/.dist/cjs/src/middlewares/syncRoutes.cjs.map +0 -1
- package/.dist/cjs/src/middlewares/syncRoutes.d.ts +0 -12
- package/.dist/cjs/src/router.cjs +0 -556
- package/.dist/cjs/src/router.cjs.map +0 -1
- package/.dist/cjs/src/router.d.ts +0 -41
- package/.dist/cjs/src/routes/errors.routes.cjs +0 -84
- package/.dist/cjs/src/routes/errors.routes.cjs.map +0 -1
- package/.dist/cjs/src/routes/errors.routes.d.ts +0 -19
- package/.dist/cjs/src/routes/serializer.routes.cjs +0 -122
- package/.dist/cjs/src/routes/serializer.routes.cjs.map +0 -1
- package/.dist/cjs/src/routes/serializer.routes.d.ts +0 -10
- package/.dist/cjs/src/types/context.cjs +0 -0
- package/.dist/cjs/src/types/context.d.ts +0 -50
- package/.dist/cjs/src/types/definitions.cjs +0 -0
- package/.dist/cjs/src/types/definitions.d.ts +0 -33
- package/.dist/cjs/src/types/general.cjs +0 -0
- package/.dist/cjs/src/types/general.d.ts +0 -29
- package/.dist/cjs/src/types/guards.cjs +0 -59
- package/.dist/cjs/src/types/guards.cjs.map +0 -1
- package/.dist/cjs/src/types/guards.d.ts +0 -18
- package/.dist/cjs/src/types/handlers.cjs +0 -0
- package/.dist/cjs/src/types/handlers.d.ts +0 -16
- package/.dist/cjs/src/types/mionRouter.cjs +0 -0
- package/.dist/cjs/src/types/mionRouter.d.ts +0 -44
- package/.dist/cjs/src/types/parser.cjs +0 -0
- package/.dist/cjs/src/types/parser.d.ts +0 -43
- package/.dist/cjs/src/types/publicMethods.cjs +0 -0
- package/.dist/cjs/src/types/publicMethods.d.ts +0 -86
- package/.dist/cjs/src/types/remoteMethods.cjs +0 -0
- package/.dist/cjs/src/types/remoteMethods.d.ts +0 -65
- package/.dist/cjs/src/types/resolvedOptions.cjs +0 -0
- package/.dist/cjs/src/types/resolvedOptions.d.ts +0 -28
- package/.dist/esm/.mion/types/A0Qb_D32xQCR.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_D32xQCR.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_D5PMNNO.js +0 -17
- package/.dist/esm/.mion/types/A0Qb_D5PMNNO.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_E1CjDEA.js +0 -36
- package/.dist/esm/.mion/types/A0Qb_E1CjDEA.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_EYEglde.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_EYEglde.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_EyHLuYw.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_EyHLuYw.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_G42dZdW.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_G42dZdW.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_HSE8icr.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_HSE8icr.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_HXAy3Lx.js +0 -13
- package/.dist/esm/.mion/types/A0Qb_HXAy3Lx.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_JJrCj9i.js +0 -13
- package/.dist/esm/.mion/types/A0Qb_JJrCj9i.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_KDyf2Fa.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_KDyf2Fa.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_L3mQkaR.js +0 -13
- package/.dist/esm/.mion/types/A0Qb_L3mQkaR.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_RAudOr2.js +0 -13
- package/.dist/esm/.mion/types/A0Qb_RAudOr2.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_TRnIbow.js +0 -17
- package/.dist/esm/.mion/types/A0Qb_TRnIbow.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_UOI3bXq.js +0 -17
- package/.dist/esm/.mion/types/A0Qb_UOI3bXq.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_VsWxRKn.js +0 -13
- package/.dist/esm/.mion/types/A0Qb_VsWxRKn.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_ZTKzxQG.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_ZTKzxQG.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_b4tYK8X.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_b4tYK8X.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_deFq9zY.js +0 -26
- package/.dist/esm/.mion/types/A0Qb_deFq9zY.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_fMIJ1JT.js +0 -14
- package/.dist/esm/.mion/types/A0Qb_fMIJ1JT.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_g17turq.js +0 -13
- package/.dist/esm/.mion/types/A0Qb_g17turq.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_hqa3Nzs.js +0 -14
- package/.dist/esm/.mion/types/A0Qb_hqa3Nzs.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_iKPrxW9.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_iKPrxW9.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_jLtJ5Kv.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_jLtJ5Kv.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_kibOHkN.js +0 -14
- package/.dist/esm/.mion/types/A0Qb_kibOHkN.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_kz5ne4c.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_kz5ne4c.js.map +0 -1
- package/.dist/esm/.mion/types/A0Qb_pzBRrJb.js +0 -16
- package/.dist/esm/.mion/types/A0Qb_pzBRrJb.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_EYEglde.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_EYEglde.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_EyHLuYw.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_EyHLuYw.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_HSE8icr.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_HSE8icr.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_HXAy3Lx.js +0 -13
- package/.dist/esm/.mion/types/Eq2V_HXAy3Lx.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_JJrCj9i.js +0 -13
- package/.dist/esm/.mion/types/Eq2V_JJrCj9i.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_KDyf2Fa.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_KDyf2Fa.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_L3mQkaR.js +0 -13
- package/.dist/esm/.mion/types/Eq2V_L3mQkaR.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_RAudOr2.js +0 -13
- package/.dist/esm/.mion/types/Eq2V_RAudOr2.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_TRnIbow.js +0 -17
- package/.dist/esm/.mion/types/Eq2V_TRnIbow.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_UOI3bXq.js +0 -17
- package/.dist/esm/.mion/types/Eq2V_UOI3bXq.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_VsWxRKn.js +0 -13
- package/.dist/esm/.mion/types/Eq2V_VsWxRKn.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_ZTKzxQG.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_ZTKzxQG.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_b4tYK8X.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_b4tYK8X.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_deFq9zY.js +0 -26
- package/.dist/esm/.mion/types/Eq2V_deFq9zY.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_g17turq.js +0 -13
- package/.dist/esm/.mion/types/Eq2V_g17turq.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_iKPrxW9.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_iKPrxW9.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_jLtJ5Kv.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_jLtJ5Kv.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_kz5ne4c.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_kz5ne4c.js.map +0 -1
- package/.dist/esm/.mion/types/Eq2V_pzBRrJb.js +0 -16
- package/.dist/esm/.mion/types/Eq2V_pzBRrJb.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_D32xQCR.js +0 -16
- package/.dist/esm/.mion/types/Ky89_D32xQCR.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_D5PMNNO.js +0 -16
- package/.dist/esm/.mion/types/Ky89_D5PMNNO.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_E1CjDEA.js +0 -32
- package/.dist/esm/.mion/types/Ky89_E1CjDEA.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_EYEglde.js +0 -16
- package/.dist/esm/.mion/types/Ky89_EYEglde.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_EyHLuYw.js +0 -16
- package/.dist/esm/.mion/types/Ky89_EyHLuYw.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_G42dZdW.js +0 -16
- package/.dist/esm/.mion/types/Ky89_G42dZdW.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_HSE8icr.js +0 -16
- package/.dist/esm/.mion/types/Ky89_HSE8icr.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_JJrCj9i.js +0 -13
- package/.dist/esm/.mion/types/Ky89_JJrCj9i.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_KDyf2Fa.js +0 -16
- package/.dist/esm/.mion/types/Ky89_KDyf2Fa.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_L3mQkaR.js +0 -13
- package/.dist/esm/.mion/types/Ky89_L3mQkaR.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_RAudOr2.js +0 -13
- package/.dist/esm/.mion/types/Ky89_RAudOr2.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_TRnIbow.js +0 -13
- package/.dist/esm/.mion/types/Ky89_TRnIbow.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_UOI3bXq.js +0 -17
- package/.dist/esm/.mion/types/Ky89_UOI3bXq.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_ZTKzxQG.js +0 -16
- package/.dist/esm/.mion/types/Ky89_ZTKzxQG.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_b4tYK8X.js +0 -16
- package/.dist/esm/.mion/types/Ky89_b4tYK8X.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_deFq9zY.js +0 -26
- package/.dist/esm/.mion/types/Ky89_deFq9zY.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_fMIJ1JT.js +0 -13
- package/.dist/esm/.mion/types/Ky89_fMIJ1JT.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_g17turq.js +0 -13
- package/.dist/esm/.mion/types/Ky89_g17turq.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_hqa3Nzs.js +0 -14
- package/.dist/esm/.mion/types/Ky89_hqa3Nzs.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_iKPrxW9.js +0 -16
- package/.dist/esm/.mion/types/Ky89_iKPrxW9.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_jLtJ5Kv.js +0 -16
- package/.dist/esm/.mion/types/Ky89_jLtJ5Kv.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_kibOHkN.js +0 -13
- package/.dist/esm/.mion/types/Ky89_kibOHkN.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_kz5ne4c.js +0 -16
- package/.dist/esm/.mion/types/Ky89_kz5ne4c.js.map +0 -1
- package/.dist/esm/.mion/types/Ky89_pzBRrJb.js +0 -16
- package/.dist/esm/.mion/types/Ky89_pzBRrJb.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_D32xQCR.js +0 -23
- package/.dist/esm/.mion/types/OBOg_D32xQCR.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_D5PMNNO.js +0 -18
- package/.dist/esm/.mion/types/OBOg_D5PMNNO.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_E1CjDEA.js +0 -18
- package/.dist/esm/.mion/types/OBOg_E1CjDEA.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_G42dZdW.js +0 -18
- package/.dist/esm/.mion/types/OBOg_G42dZdW.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_LKYfhxm.js +0 -18
- package/.dist/esm/.mion/types/OBOg_LKYfhxm.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_fMIJ1JT.js +0 -18
- package/.dist/esm/.mion/types/OBOg_fMIJ1JT.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_g17turq.js +0 -17
- package/.dist/esm/.mion/types/OBOg_g17turq.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_hqa3Nzs.js +0 -17
- package/.dist/esm/.mion/types/OBOg_hqa3Nzs.js.map +0 -1
- package/.dist/esm/.mion/types/OBOg_kibOHkN.js +0 -17
- package/.dist/esm/.mion/types/OBOg_kibOHkN.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_D32xQCR.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_D32xQCR.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_D5PMNNO.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_D5PMNNO.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_E1CjDEA.js +0 -29
- package/.dist/esm/.mion/types/Xhuv_E1CjDEA.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_EYEglde.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_EYEglde.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_EyHLuYw.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_EyHLuYw.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_G42dZdW.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_G42dZdW.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_HSE8icr.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_HSE8icr.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_HXAy3Lx.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_HXAy3Lx.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_JJrCj9i.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_JJrCj9i.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_KDyf2Fa.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_KDyf2Fa.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_L3mQkaR.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_L3mQkaR.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_LKYfhxm.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_LKYfhxm.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_RAudOr2.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_RAudOr2.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_TRnIbow.js +0 -17
- package/.dist/esm/.mion/types/Xhuv_TRnIbow.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_UOI3bXq.js +0 -17
- package/.dist/esm/.mion/types/Xhuv_UOI3bXq.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_VsWxRKn.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_VsWxRKn.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_ZTKzxQG.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_ZTKzxQG.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_ZgsWs6s.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_ZgsWs6s.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_b4tYK8X.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_b4tYK8X.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_deFq9zY.js +0 -26
- package/.dist/esm/.mion/types/Xhuv_deFq9zY.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_fMIJ1JT.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_fMIJ1JT.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_g17turq.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_g17turq.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_hqa3Nzs.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_hqa3Nzs.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_iKPrxW9.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_iKPrxW9.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_jLtJ5Kv.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_jLtJ5Kv.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_kibOHkN.js +0 -13
- package/.dist/esm/.mion/types/Xhuv_kibOHkN.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_kz5ne4c.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_kz5ne4c.js.map +0 -1
- package/.dist/esm/.mion/types/Xhuv_pzBRrJb.js +0 -16
- package/.dist/esm/.mion/types/Xhuv_pzBRrJb.js.map +0 -1
- package/.dist/esm/.mion/types/mzca_fMIJ1JT.js +0 -14
- package/.dist/esm/.mion/types/mzca_fMIJ1JT.js.map +0 -1
- package/.dist/esm/.mion/types/mzca_hqa3Nzs.js +0 -14
- package/.dist/esm/.mion/types/mzca_hqa3Nzs.js.map +0 -1
- package/.dist/esm/.mion/types/mzca_kibOHkN.js +0 -14
- package/.dist/esm/.mion/types/mzca_kibOHkN.js.map +0 -1
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.js +0 -14
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/rXVwGkGDX08BsQ.js.map +0 -1
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.js +0 -14
- package/.dist/esm/.mion/types/pf/@mionjs/run-types/tfRjnFZVF8lqI_.js.map +0 -1
- package/.dist/esm/.mion/types/rt/shared/JQEexHbHMp.js +0 -467
- package/.dist/esm/.mion/types/rt/shared/JQEexHbHMp.js.map +0 -1
- package/.dist/esm/.mion/types/rt/shared/connsmWgsp.js.map +0 -1
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_src_constants = require("../constants.cjs");
|
|
3
|
-
let _mionjs_core = require("@mionjs/core");
|
|
4
|
-
//#region src/lib/dispatchError.ts
|
|
5
|
-
/** The response for an error raised outside the router by any adapter; it goes in `@thrownErrors` like a route error. */
|
|
6
|
-
function getRouterFatalErrorResponse(returnErr, respHeaders) {
|
|
7
|
-
(0, _mionjs_core.markFatal)(returnErr);
|
|
8
|
-
const body = { "@thrownErrors": { [_mionjs_core.MION_ROUTES.platformError]: returnErr } };
|
|
9
|
-
respHeaders.set("x-rpc-error", errorHeaderValue(returnErr.type));
|
|
10
|
-
return {
|
|
11
|
-
statusCode: returnErr.statusCode || _mionjs_core.StatusCodes.SERVER_ERROR,
|
|
12
|
-
contentType: require_src_constants.JSON_CONTENT_TYPE,
|
|
13
|
-
hasErrors: true,
|
|
14
|
-
fatalError: returnErr,
|
|
15
|
-
headers: respHeaders,
|
|
16
|
-
body
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/** An app-thrown RpcError may carry any string as its `type`, and a CR or LF there is header injection on
|
|
20
|
-
* adapters that write headers unchecked (or an ERR_INVALID_CHAR throw on node). Anything outside the token
|
|
21
|
-
* alphabet reports as `unknown-error` on the header; the body still carries the full type. */
|
|
22
|
-
var HEADER_SAFE_TYPE = /^[A-Za-z0-9_.:@-]{1,128}$/;
|
|
23
|
-
function errorHeaderValue(type) {
|
|
24
|
-
return HEADER_SAFE_TYPE.test(type) ? type : "unknown-error";
|
|
25
|
-
}
|
|
26
|
-
/** Marks the response as ended by `rpcError`: the error header (first error only), the status code,
|
|
27
|
-
* `hasErrors` (what the dispatcher's skip rule reads) and `fatalError` (first one wins). Shared by the
|
|
28
|
-
* thrown path and a returned FatalError; where the error itself lands is the caller's decision.
|
|
29
|
-
* `fallbackStatus` answers when the error carries no statusCode: a thrown one is unexpected (422), a
|
|
30
|
-
* returned FatalError a declared application error (400). */
|
|
31
|
-
function markResponseFailed(context, rpcError, fallbackStatus) {
|
|
32
|
-
const response = context.response;
|
|
33
|
-
if (!response.hasErrors) {
|
|
34
|
-
response.headers.set("x-rpc-error", errorHeaderValue(rpcError.type));
|
|
35
|
-
response.fatalError = rpcError;
|
|
36
|
-
}
|
|
37
|
-
response.statusCode = rpcError.statusCode ?? fallbackStatus;
|
|
38
|
-
response.hasErrors = true;
|
|
39
|
-
}
|
|
40
|
-
/** Whatever an adapter caught, as the mion error the wire carries. */
|
|
41
|
-
function toRpcError(err) {
|
|
42
|
-
return err instanceof _mionjs_core.RpcError ? err : new _mionjs_core.FatalError({
|
|
43
|
-
publicMessage: "Unknown Error",
|
|
44
|
-
type: "unknown-error",
|
|
45
|
-
originalError: err
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/** Records an undeclared error under `key` and ends the request: it lands in `@thrownErrors` untyped, sets
|
|
49
|
-
* the status and the error header, and stops every later member that does not declare `alwaysRun`.
|
|
50
|
-
* Undeclared means thrown, or returned by a raw middleware, which cannot declare a return type; a declared
|
|
51
|
-
* error is returned from a handler and goes straight into `response.body`. The key is normally the member
|
|
52
|
-
* that failed; an adapter passes its own (`mion@platformError`) for a request no member could run. */
|
|
53
|
-
function recordUndeclaredError(context, key, err) {
|
|
54
|
-
const rpcError = (0, _mionjs_core.markFatal)(err instanceof _mionjs_core.RpcError ? err : new _mionjs_core.FatalError({
|
|
55
|
-
statusCode: _mionjs_core.StatusCodes.UNEXPECTED_ERROR,
|
|
56
|
-
publicMessage: `Unknown error in handler "${key}" of route ExecutionChain.`,
|
|
57
|
-
originalError: err,
|
|
58
|
-
type: "unknown-error"
|
|
59
|
-
}));
|
|
60
|
-
markResponseFailed(context, rpcError, _mionjs_core.StatusCodes.UNEXPECTED_ERROR);
|
|
61
|
-
addThrownError(context, key, rpcError);
|
|
62
|
-
}
|
|
63
|
-
/** Unlike recordUndeclaredError, does not end the request. */
|
|
64
|
-
function addThrownError(context, key, rpcError) {
|
|
65
|
-
const thrownErrors = context.request.thrownErrors || {};
|
|
66
|
-
thrownErrors[key] = rpcError;
|
|
67
|
-
context.request.thrownErrors = thrownErrors;
|
|
68
|
-
}
|
|
69
|
-
function hasThrownError(context, key) {
|
|
70
|
-
const thrownErrors = context.request.thrownErrors;
|
|
71
|
-
return !!thrownErrors && Object.hasOwn(thrownErrors, key);
|
|
72
|
-
}
|
|
73
|
-
//#endregion
|
|
74
|
-
exports.addThrownError = addThrownError;
|
|
75
|
-
exports.errorHeaderValue = errorHeaderValue;
|
|
76
|
-
exports.getRouterFatalErrorResponse = getRouterFatalErrorResponse;
|
|
77
|
-
exports.hasThrownError = hasThrownError;
|
|
78
|
-
exports.markResponseFailed = markResponseFailed;
|
|
79
|
-
exports.recordUndeclaredError = recordUndeclaredError;
|
|
80
|
-
exports.toRpcError = toRpcError;
|
|
81
|
-
|
|
82
|
-
//# sourceMappingURL=dispatchError.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dispatchError.cjs","names":[],"sources":["../../../../src/lib/dispatchError.ts"],"sourcesContent":["import {RpcError, FatalError, MION_ROUTES, Mutable, StatusCodes, markFatal} from '@mionjs/core';\nimport {JSON_CONTENT_TYPE} from '../constants.ts';\nimport type {CallContext, MionHeaders, MionRequest, MionResponse, ResponseBody} from '../types/context.ts';\n\n/** The response for an error raised outside the router by any adapter; it goes in `@thrownErrors` like a route error. */\n\nexport function getRouterFatalErrorResponse(returnErr: RpcError<string>, respHeaders: MionHeaders): MionResponse {\n // a platform error ends the request before any handler runs, so it is fatal by definition\n markFatal(returnErr);\n const body: ResponseBody = {\n '@thrownErrors': {[MION_ROUTES.platformError]: returnErr},\n };\n respHeaders.set('x-rpc-error', errorHeaderValue(returnErr.type));\n const response: Mutable<MionResponse> = {\n statusCode: returnErr.statusCode || StatusCodes.SERVER_ERROR, // Global errors are always unexpected\n contentType: JSON_CONTENT_TYPE,\n hasErrors: true,\n fatalError: returnErr,\n headers: respHeaders,\n body,\n };\n return response;\n}\n\n/** An app-thrown RpcError may carry any string as its `type`, and a CR or LF there is header injection on\n * adapters that write headers unchecked (or an ERR_INVALID_CHAR throw on node). Anything outside the token\n * alphabet reports as `unknown-error` on the header; the body still carries the full type. */\nconst HEADER_SAFE_TYPE = /^[A-Za-z0-9_.:@-]{1,128}$/;\nexport function errorHeaderValue(type: string): string {\n return HEADER_SAFE_TYPE.test(type) ? type : 'unknown-error';\n}\n\n/** Marks the response as ended by `rpcError`: the error header (first error only), the status code,\n * `hasErrors` (what the dispatcher's skip rule reads) and `fatalError` (first one wins). Shared by the\n * thrown path and a returned FatalError; where the error itself lands is the caller's decision.\n * `fallbackStatus` answers when the error carries no statusCode: a thrown one is unexpected (422), a\n * returned FatalError a declared application error (400). */\nexport function markResponseFailed(context: CallContext, rpcError: RpcError<string>, fallbackStatus: number) {\n const response = context.response as Mutable<MionResponse>;\n if (!response.hasErrors) {\n response.headers.set('x-rpc-error', errorHeaderValue(rpcError.type));\n response.fatalError = rpcError;\n }\n response.statusCode = rpcError.statusCode ?? fallbackStatus;\n response.hasErrors = true;\n}\n\n/** Whatever an adapter caught, as the mion error the wire carries. */\nexport function toRpcError(err: unknown): RpcError<string> {\n return err instanceof RpcError\n ? err\n : new FatalError({publicMessage: 'Unknown Error', type: 'unknown-error', originalError: err as Error});\n}\n\n/** Records an undeclared error under `key` and ends the request: it lands in `@thrownErrors` untyped, sets\n * the status and the error header, and stops every later member that does not declare `alwaysRun`.\n * Undeclared means thrown, or returned by a raw middleware, which cannot declare a return type; a declared\n * error is returned from a handler and goes straight into `response.body`. The key is normally the member\n * that failed; an adapter passes its own (`mion@platformError`) for a request no member could run. */\nexport function recordUndeclaredError(context: CallContext, key: string, err: any) {\n const rpcError: RpcError<string> = markFatal(\n err instanceof RpcError\n ? err\n : new FatalError({\n statusCode: StatusCodes.UNEXPECTED_ERROR,\n publicMessage: `Unknown error in handler \"${key}\" of route ExecutionChain.`,\n originalError: err,\n type: 'unknown-error',\n })\n );\n markResponseFailed(context, rpcError, StatusCodes.UNEXPECTED_ERROR);\n addThrownError(context, key, rpcError);\n}\n\n/** Unlike recordUndeclaredError, does not end the request. */\nexport function addThrownError(context: CallContext, key: string, rpcError: RpcError<string>) {\n // tsgo types `readonly || mutable` as readonly, so casting only the `{}` fallback still forbids the write.\n const thrownErrors = (context.request.thrownErrors || {}) as Record<string, RpcError<string>>;\n thrownErrors[key] = rpcError;\n (context.request as Mutable<MionRequest>).thrownErrors = thrownErrors;\n}\n\nexport function hasThrownError(context: CallContext, key: string): boolean {\n const thrownErrors = context.request.thrownErrors;\n return !!thrownErrors && Object.hasOwn(thrownErrors, key);\n}\n"],"mappings":";;;;;AAMA,SAAgB,4BAA4B,WAA6B,aAAwC;CAE/G,CAAA,GAAA,aAAA,WAAU,SAAS;CACnB,MAAM,OAAqB,EACzB,iBAAiB,GAAE,aAAA,YAAY,gBAAgB,UAAS,EAC1D;CACA,YAAY,IAAI,eAAe,iBAAiB,UAAU,IAAI,CAAC;CAS/D,OAAO;EAPL,YAAY,UAAU,cAAc,aAAA,YAAY;EAChD,aAAa,sBAAA;EACb,WAAW;EACX,YAAY;EACZ,SAAS;EACT;CAEK;AACT;;;;AAKA,IAAM,mBAAmB;AACzB,SAAgB,iBAAiB,MAAsB;CACrD,OAAO,iBAAiB,KAAK,IAAI,IAAI,OAAO;AAC9C;;;;;;AAOA,SAAgB,mBAAmB,SAAsB,UAA4B,gBAAwB;CAC3G,MAAM,WAAW,QAAQ;CACzB,IAAI,CAAC,SAAS,WAAW;EACvB,SAAS,QAAQ,IAAI,eAAe,iBAAiB,SAAS,IAAI,CAAC;EACnE,SAAS,aAAa;CACxB;CACA,SAAS,aAAa,SAAS,cAAc;CAC7C,SAAS,YAAY;AACvB;;AAGA,SAAgB,WAAW,KAAgC;CACzD,OAAO,eAAe,aAAA,WAClB,MACA,IAAI,aAAA,WAAW;EAAC,eAAe;EAAiB,MAAM;EAAiB,eAAe;CAAY,CAAC;AACzG;;;;;;AAOA,SAAgB,sBAAsB,SAAsB,KAAa,KAAU;CACjF,MAAM,YAAA,GAAA,aAAA,WACJ,eAAe,aAAA,WACX,MACA,IAAI,aAAA,WAAW;EACb,YAAY,aAAA,YAAY;EACxB,eAAe,6BAA6B,IAAI;EAChD,eAAe;EACf,MAAM;CACR,CAAC,CACP;CACA,mBAAmB,SAAS,UAAU,aAAA,YAAY,gBAAgB;CAClE,eAAe,SAAS,KAAK,QAAQ;AACvC;;AAGA,SAAgB,eAAe,SAAsB,KAAa,UAA4B;CAE5F,MAAM,eAAgB,QAAQ,QAAQ,gBAAgB,CAAC;CACvD,aAAa,OAAO;CACpB,QAAS,QAAiC,eAAe;AAC3D;AAEA,SAAgB,eAAe,SAAsB,KAAsB;CACzE,MAAM,eAAe,QAAQ,QAAQ;CACrC,OAAO,CAAC,CAAC,gBAAgB,OAAO,OAAO,cAAc,GAAG;AAC1D"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { RpcError } from '@mionjs/core';
|
|
2
|
-
import { CallContext, MionHeaders, MionResponse } from '../types/context.ts';
|
|
3
|
-
export declare function getRouterFatalErrorResponse(returnErr: RpcError<string>, respHeaders: MionHeaders): MionResponse;
|
|
4
|
-
export declare function errorHeaderValue(type: string): string;
|
|
5
|
-
export declare function markResponseFailed(context: CallContext, rpcError: RpcError<string>, fallbackStatus: number): void;
|
|
6
|
-
export declare function toRpcError(err: unknown): RpcError<string>;
|
|
7
|
-
export declare function recordUndeclaredError(context: CallContext, key: string, err: any): void;
|
|
8
|
-
export declare function addThrownError(context: CallContext, key: string, rpcError: RpcError<string>): void;
|
|
9
|
-
export declare function hasThrownError(context: CallContext, key: string): boolean;
|
|
10
|
-
//# sourceMappingURL=dispatchError.d.ts.map
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
let _mionjs_core = require("@mionjs/core");
|
|
3
|
-
//#region src/lib/handlers.ts
|
|
4
|
-
var route = (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({
|
|
5
|
-
type: _mionjs_core.HandlerType.route,
|
|
6
|
-
handler,
|
|
7
|
-
options: opts,
|
|
8
|
-
rtFns: {
|
|
9
|
-
paramsFns,
|
|
10
|
-
returnFns,
|
|
11
|
-
paramsId,
|
|
12
|
-
returnId,
|
|
13
|
-
isAsyncId,
|
|
14
|
-
syncId
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
/** Typed as the same helper as `route()`, so both keep the marker signature the scanner reads at the call site. */
|
|
18
|
-
function routeWithMutation(isMutation) {
|
|
19
|
-
return (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({
|
|
20
|
-
type: _mionjs_core.HandlerType.route,
|
|
21
|
-
handler,
|
|
22
|
-
options: {
|
|
23
|
-
...opts,
|
|
24
|
-
isMutation
|
|
25
|
-
},
|
|
26
|
-
rtFns: {
|
|
27
|
-
paramsFns,
|
|
28
|
-
returnFns,
|
|
29
|
-
paramsId,
|
|
30
|
-
returnId,
|
|
31
|
-
isAsyncId,
|
|
32
|
-
syncId
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
/** Route handler for read-only queries. Uses GET with ?data=base64url on the client when payload fits. */
|
|
37
|
-
var query = routeWithMutation(false);
|
|
38
|
-
var mutation = routeWithMutation(true);
|
|
39
|
-
var middleware = (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({
|
|
40
|
-
type: _mionjs_core.HandlerType.middleware,
|
|
41
|
-
handler,
|
|
42
|
-
options: opts,
|
|
43
|
-
rtFns: {
|
|
44
|
-
paramsFns,
|
|
45
|
-
returnFns,
|
|
46
|
-
paramsId,
|
|
47
|
-
returnId,
|
|
48
|
-
isAsyncId,
|
|
49
|
-
syncId
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
var headersMiddleware = (handler, opts, headersFns, paramsFns, returnFns, headersId, paramsId, returnId, isAsyncId, syncId) => ({
|
|
53
|
-
type: _mionjs_core.HandlerType.headersMiddleware,
|
|
54
|
-
handler,
|
|
55
|
-
options: opts,
|
|
56
|
-
rtFns: {
|
|
57
|
-
paramsFns,
|
|
58
|
-
returnFns,
|
|
59
|
-
paramsId,
|
|
60
|
-
returnId,
|
|
61
|
-
isAsyncId,
|
|
62
|
-
syncId,
|
|
63
|
-
headersFns,
|
|
64
|
-
headersId
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
var rawMiddleware = (handler, opts) => ({
|
|
68
|
-
type: _mionjs_core.HandlerType.rawMiddleware,
|
|
69
|
-
handler,
|
|
70
|
-
options: opts
|
|
71
|
-
});
|
|
72
|
-
/** Each on-demand middleware, with what it does on every call even without its slot. */
|
|
73
|
-
var onDemandMiddlewares = /* @__PURE__ */ new WeakMap();
|
|
74
|
-
/** Internal: the middleware runs only when the request body carries its slot, so an absent slot costs nothing */
|
|
75
|
-
function markOnDemand(def, onEveryCall) {
|
|
76
|
-
onDemandMiddlewares.set(def, onEveryCall);
|
|
77
|
-
return def;
|
|
78
|
-
}
|
|
79
|
-
function isOnDemandMiddleware(def) {
|
|
80
|
-
return onDemandMiddlewares.has(def);
|
|
81
|
-
}
|
|
82
|
-
function getOnEveryCall(def) {
|
|
83
|
-
return onDemandMiddlewares.get(def);
|
|
84
|
-
}
|
|
85
|
-
/** mion's own ids, never exposed to clients */
|
|
86
|
-
var mionInternalRouteIds = new Set(Object.values(_mionjs_core.MION_ROUTES));
|
|
87
|
-
//#endregion
|
|
88
|
-
exports.getOnEveryCall = getOnEveryCall;
|
|
89
|
-
exports.headersMiddleware = headersMiddleware;
|
|
90
|
-
exports.isOnDemandMiddleware = isOnDemandMiddleware;
|
|
91
|
-
exports.markOnDemand = markOnDemand;
|
|
92
|
-
exports.middleware = middleware;
|
|
93
|
-
exports.mionInternalRouteIds = mionInternalRouteIds;
|
|
94
|
-
exports.mutation = mutation;
|
|
95
|
-
exports.query = query;
|
|
96
|
-
exports.rawMiddleware = rawMiddleware;
|
|
97
|
-
exports.route = route;
|
|
98
|
-
|
|
99
|
-
//# sourceMappingURL=handlers.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.cjs","names":[],"sources":["../../../../src/lib/handlers.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {HandlerType, MION_ROUTES} from '@mionjs/core';\nimport type {\n HeadersMiddlewareHelper,\n MiddlewareHelper,\n PinnedMutation,\n RawMiddlewareHelper,\n RouteHelper,\n RouterOptionsInput,\n} from '../types/mionRouter.ts';\nimport type {CallContext} from '../types/context.ts';\n\n// ############# Route & Middlewares initialization (INTERNAL) #############\n// These bodies initialize the definition objects AND are the mion injection points: the trailing marker\n// params are filled at BUILD TIME by @mionjs/devtools. Not exported from the package, consumers reach\n// them as the closures `createMionRouter()` returns; only mion's own middlewares and its error / serializer routes\n// call them directly, each pinning its own `encoder`.\n// ⚠️ There is NO signature here on purpose: each body is TYPED BY its helper interface in\n// types/mionRouter.ts, the one place a helper signature is written, so there is no second surface to keep\n// in step. `RouterOptionsInput` is the widest options shape; `createMionRouter` narrows each helper to\n// its own `O` so a declaration reads the factory's options.\n\nexport const route: RouteHelper<RouterOptionsInput> = (\n handler,\n opts,\n paramsFns,\n returnFns,\n paramsId,\n returnId,\n isAsyncId,\n syncId\n) => ({\n type: HandlerType.route,\n handler,\n options: opts,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId},\n});\n\n/** Typed as the same helper as `route()`, so both keep the marker signature the scanner reads at the call site. */\nfunction routeWithMutation<M extends boolean>(isMutation: M): RouteHelper<RouterOptionsInput, M> {\n return (handler, opts, paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId) => ({\n type: HandlerType.route,\n handler,\n options: {...opts, isMutation} as PinnedMutation<typeof opts & object, M>,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId},\n });\n}\n\n/** Route handler for read-only queries. Uses GET with ?data=base64url on the client when payload fits. */\nexport const query = routeWithMutation(false);\n\nexport const mutation = routeWithMutation(true);\n\nexport const middleware: MiddlewareHelper<RouterOptionsInput> = (\n handler,\n opts,\n paramsFns,\n returnFns,\n paramsId,\n returnId,\n isAsyncId,\n syncId\n) => ({\n type: HandlerType.middleware,\n handler,\n options: opts,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId},\n});\n\nexport const headersMiddleware: HeadersMiddlewareHelper<RouterOptionsInput> = (\n handler,\n opts,\n headersFns,\n paramsFns,\n returnFns,\n headersId,\n paramsId,\n returnId,\n isAsyncId,\n syncId\n) => ({\n type: HandlerType.headersMiddleware,\n handler,\n options: opts,\n rtFns: {paramsFns, returnFns, paramsId, returnId, isAsyncId, syncId, headersFns, headersId},\n});\n\nexport const rawMiddleware: RawMiddlewareHelper<RouterOptionsInput> = (handler, opts) => ({\n type: HandlerType.rawMiddleware,\n handler,\n options: opts,\n});\n\n/** Each on-demand middleware, with what it does on every call even without its slot. */\nconst onDemandMiddlewares = new WeakMap<object, OnEveryCall | undefined>();\ntype OnEveryCall = (ctx: CallContext) => void;\n\n/** Internal: the middleware runs only when the request body carries its slot, so an absent slot costs nothing */\nexport function markOnDemand<Def extends object>(def: Def, onEveryCall?: OnEveryCall): Def {\n onDemandMiddlewares.set(def, onEveryCall);\n return def;\n}\n\nexport function isOnDemandMiddleware(def: object): boolean {\n return onDemandMiddlewares.has(def);\n}\n\nexport function getOnEveryCall(def: object): OnEveryCall | undefined {\n return onDemandMiddlewares.get(def);\n}\n\n/** mion's own ids, never exposed to clients */\nexport const mionInternalRouteIds: ReadonlySet<string> = new Set(Object.values(MION_ROUTES));\n"],"mappings":";;;AA4BA,IAAa,SACX,SACA,MACA,WACA,WACA,UACA,UACA,WACA,YACI;CACJ,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;CACT,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAW;CAAM;AACrE;;AAGA,SAAS,kBAAqC,YAAmD;CAC/F,QAAQ,SAAS,MAAM,WAAW,WAAW,UAAU,UAAU,WAAW,YAAY;EACtF,MAAM,aAAA,YAAY;EAClB;EACA,SAAS;GAAC,GAAG;GAAM;EAAU;EAC7B,OAAO;GAAC;GAAW;GAAW;GAAU;GAAU;GAAW;EAAM;CACrE;AACF;;AAGA,IAAa,QAAQ,kBAAkB,KAAK;AAE5C,IAAa,WAAW,kBAAkB,IAAI;AAE9C,IAAa,cACX,SACA,MACA,WACA,WACA,UACA,UACA,WACA,YACI;CACJ,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;CACT,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAW;CAAM;AACrE;AAEA,IAAa,qBACX,SACA,MACA,YACA,WACA,WACA,WACA,UACA,UACA,WACA,YACI;CACJ,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;CACT,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAW;EAAQ;EAAY;CAAS;AAC5F;AAEA,IAAa,iBAA0D,SAAS,UAAU;CACxF,MAAM,aAAA,YAAY;CAClB;CACA,SAAS;AACX;;AAGA,IAAM,sCAAsB,IAAI,QAAyC;;AAIzE,SAAgB,aAAiC,KAAU,aAAgC;CACzF,oBAAoB,IAAI,KAAK,WAAW;CACxC,OAAO;AACT;AAEA,SAAgB,qBAAqB,KAAsB;CACzD,OAAO,oBAAoB,IAAI,GAAG;AACpC;AAEA,SAAgB,eAAe,KAAsC;CACnE,OAAO,oBAAoB,IAAI,GAAG;AACpC;;AAGA,IAAa,uBAA4C,IAAI,IAAI,OAAO,OAAO,aAAA,WAAW,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { HeadersMiddlewareHelper, MiddlewareHelper, RawMiddlewareHelper, RouteHelper, RouterOptionsInput } from '../types/mionRouter.ts';
|
|
2
|
-
import { CallContext } from '../types/context.ts';
|
|
3
|
-
export declare const route: RouteHelper<RouterOptionsInput>;
|
|
4
|
-
export declare const query: RouteHelper<Partial<import('../types/general.ts').RouterOptions<any, any>>, false>;
|
|
5
|
-
export declare const mutation: RouteHelper<Partial<import('../types/general.ts').RouterOptions<any, any>>, true>;
|
|
6
|
-
export declare const middleware: MiddlewareHelper<RouterOptionsInput>;
|
|
7
|
-
export declare const headersMiddleware: HeadersMiddlewareHelper<RouterOptionsInput>;
|
|
8
|
-
export declare const rawMiddleware: RawMiddlewareHelper<RouterOptionsInput>;
|
|
9
|
-
type OnEveryCall = (ctx: CallContext) => void;
|
|
10
|
-
export declare function markOnDemand<Def extends object>(def: Def, onEveryCall?: OnEveryCall): Def;
|
|
11
|
-
export declare function isOnDemandMiddleware(def: object): boolean;
|
|
12
|
-
export declare function getOnEveryCall(def: object): OnEveryCall | undefined;
|
|
13
|
-
export declare const mionInternalRouteIds: ReadonlySet<string>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
require("../constants.cjs");
|
|
3
|
-
const require_src_router = require("../router.cjs");
|
|
4
|
-
//#region src/lib/headers.ts
|
|
5
|
-
var PROTO_KEY = "__proto__";
|
|
6
|
-
/** Case-insensitive HTTP headers, like the fetch Headers API but optimized for performance.
|
|
7
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/Headers */
|
|
8
|
-
var MionHeadersImpl = class {
|
|
9
|
-
headers;
|
|
10
|
-
/** Read by the response headers pool only; request headers ignore it. */
|
|
11
|
-
unused = true;
|
|
12
|
-
constructor(headers) {
|
|
13
|
-
this.headers = headers;
|
|
14
|
-
}
|
|
15
|
-
append(name, value) {
|
|
16
|
-
this.unused = false;
|
|
17
|
-
const nl = name.toLowerCase();
|
|
18
|
-
if (nl === PROTO_KEY) return;
|
|
19
|
-
const existing = readHeader(this.headers, nl);
|
|
20
|
-
const headerValue = toSingleHeader(value);
|
|
21
|
-
if (existing) this.headers[nl] = `${existing}, ${headerValue}`;
|
|
22
|
-
else this.headers[nl] = headerValue;
|
|
23
|
-
}
|
|
24
|
-
delete(name) {
|
|
25
|
-
this.unused = false;
|
|
26
|
-
delete this.headers[name.toLowerCase()];
|
|
27
|
-
}
|
|
28
|
-
get(name) {
|
|
29
|
-
return readHeader(this.headers, name.toLowerCase());
|
|
30
|
-
}
|
|
31
|
-
set(name, value) {
|
|
32
|
-
this.unused = false;
|
|
33
|
-
const ln = name.toLowerCase();
|
|
34
|
-
if (ln === PROTO_KEY) return;
|
|
35
|
-
this.headers[ln] = value;
|
|
36
|
-
}
|
|
37
|
-
has(name) {
|
|
38
|
-
return !!readHeader(this.headers, name.toLowerCase());
|
|
39
|
-
}
|
|
40
|
-
entries() {
|
|
41
|
-
return Object.entries(this.headers).map(([name, value]) => [name, joined(value)]).values();
|
|
42
|
-
}
|
|
43
|
-
keys() {
|
|
44
|
-
return new Map(Object.entries(this.headers)).keys();
|
|
45
|
-
}
|
|
46
|
-
values() {
|
|
47
|
-
return Object.values(this.headers).map(joined).values();
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
/** Response headers over a copy of the defaults, for an adapter that answers from a header record (uws, aws). */
|
|
51
|
-
var RecordResponseHeaders = class extends MionHeadersImpl {
|
|
52
|
-
defaults;
|
|
53
|
-
constructor(defaults) {
|
|
54
|
-
super({ ...defaults });
|
|
55
|
-
this.defaults = defaults;
|
|
56
|
-
}
|
|
57
|
-
/** Keeps a repeated name's values apart, never joined: the adapter writes them its own way. */
|
|
58
|
-
append(name, value) {
|
|
59
|
-
this.unused = false;
|
|
60
|
-
const key = name.toLowerCase();
|
|
61
|
-
if (key === PROTO_KEY) return;
|
|
62
|
-
const current = this.headers[key];
|
|
63
|
-
if (Array.isArray(current)) current.push(value);
|
|
64
|
-
else if (typeof current === "string" && current) this.headers[key] = [current, value];
|
|
65
|
-
else this.headers[key] = value;
|
|
66
|
-
}
|
|
67
|
-
/** Walks the headers with no pair array per header; a repeated name gives its values apart. */
|
|
68
|
-
forEach(visit) {
|
|
69
|
-
for (const name in this.headers) visit(name, this.headers[name]);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
/** The response headers of the fetch adapters (bun, cloudflare, vercel). */
|
|
73
|
-
var FetchResponseHeaders = class {
|
|
74
|
-
defaults;
|
|
75
|
-
/** What the reply hands to `Response`, which copies it. */
|
|
76
|
-
native = new Headers();
|
|
77
|
-
unused = true;
|
|
78
|
-
constructor(defaults) {
|
|
79
|
-
this.defaults = defaults;
|
|
80
|
-
for (const name in defaults) this.native.set(name, defaults[name]);
|
|
81
|
-
}
|
|
82
|
-
set(name, value) {
|
|
83
|
-
this.unused = false;
|
|
84
|
-
this.native.set(name, value);
|
|
85
|
-
}
|
|
86
|
-
append(name, value) {
|
|
87
|
-
this.unused = false;
|
|
88
|
-
this.native.append(name, value);
|
|
89
|
-
}
|
|
90
|
-
delete(name) {
|
|
91
|
-
this.unused = false;
|
|
92
|
-
this.native.delete(name);
|
|
93
|
-
}
|
|
94
|
-
get(name) {
|
|
95
|
-
return this.native.get(name);
|
|
96
|
-
}
|
|
97
|
-
has(name) {
|
|
98
|
-
return this.native.has(name);
|
|
99
|
-
}
|
|
100
|
-
entries() {
|
|
101
|
-
return this.native.entries();
|
|
102
|
-
}
|
|
103
|
-
keys() {
|
|
104
|
-
return this.native.keys();
|
|
105
|
-
}
|
|
106
|
-
values() {
|
|
107
|
-
return this.native.values();
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
var MAX_UNUSED_HEADERS = 256;
|
|
111
|
-
var unusedRecordHeaders = [];
|
|
112
|
-
var unusedFetchHeaders = [];
|
|
113
|
-
var newRecordHeaders = (defaults) => new RecordResponseHeaders(defaults);
|
|
114
|
-
var newFetchHeaders = (defaults) => new FetchResponseHeaders(defaults);
|
|
115
|
-
/** Response headers holding the defaults and nothing else, from the pool or new. */
|
|
116
|
-
var getDefaultHeaders = () => takeUnused(unusedRecordHeaders, newRecordHeaders);
|
|
117
|
-
/** Like `getDefaultHeaders`, over a native `Headers` for the fetch adapters. */
|
|
118
|
-
var getDefaultFetchHeaders = () => takeUnused(unusedFetchHeaders, newFetchHeaders);
|
|
119
|
-
/** Gives headers back once the reply is sent; written ones are dropped. */
|
|
120
|
-
var releaseHeaders = (headers) => giveBackUnused(unusedRecordHeaders, headers);
|
|
121
|
-
function takeUnused(pool, create) {
|
|
122
|
-
const defaults = require_src_router.getResponseDefaults();
|
|
123
|
-
const headers = pool.pop();
|
|
124
|
-
if (headers?.defaults === defaults) return headers;
|
|
125
|
-
pool.length = 0;
|
|
126
|
-
return create(defaults);
|
|
127
|
-
}
|
|
128
|
-
function giveBackUnused(pool, headers) {
|
|
129
|
-
if (headers.unused && pool.length < MAX_UNUSED_HEADERS) pool.push(headers);
|
|
130
|
-
}
|
|
131
|
-
function replyFetch(mionResp, headers) {
|
|
132
|
-
if (!headers.unused || mionResp.contentType !== "application/json; charset=utf-8") headers.set("content-type", mionResp.contentType);
|
|
133
|
-
const response = Response.json(mionResp.body, {
|
|
134
|
-
status: mionResp.statusCode,
|
|
135
|
-
headers: headers.native
|
|
136
|
-
});
|
|
137
|
-
giveBackUnused(unusedFetchHeaders, headers);
|
|
138
|
-
return response;
|
|
139
|
-
}
|
|
140
|
-
/** A fetch-like (not identical) Headers object over a header record, for an incoming request carrying its
|
|
141
|
-
* headers as an object: IncomingMessage.headers, ApiGatewayEvent.headers.
|
|
142
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/Headers */
|
|
143
|
-
function headersFromRecord(headersObj, skipToLower = false) {
|
|
144
|
-
return new MionHeadersImpl(parseHeaders(headersObj, skipToLower));
|
|
145
|
-
}
|
|
146
|
-
/** A header value, or undefined for a name the record does not carry as an own string (a prototype
|
|
147
|
-
* hit is a function or an object). A platform record may hold an array (node's `set-cookie`). */
|
|
148
|
-
function readHeader(headers, lowerName) {
|
|
149
|
-
const value = headers[lowerName];
|
|
150
|
-
if (typeof value === "string") return value;
|
|
151
|
-
return Array.isArray(value) ? value.join(", ") : void 0;
|
|
152
|
-
}
|
|
153
|
-
function joined(value) {
|
|
154
|
-
return Array.isArray(value) ? value.join(", ") : value;
|
|
155
|
-
}
|
|
156
|
-
function toSingleHeader(value) {
|
|
157
|
-
if (Array.isArray(value)) return value.join(", ");
|
|
158
|
-
return value;
|
|
159
|
-
}
|
|
160
|
-
function parseHeaders(headersObj, skipToLower = false) {
|
|
161
|
-
if (skipToLower) return headersObj;
|
|
162
|
-
const entries = Object.entries(headersObj);
|
|
163
|
-
const headers = Object.create(null);
|
|
164
|
-
for (let i = 0; i < entries.length; i++) {
|
|
165
|
-
const [name, value] = entries[i];
|
|
166
|
-
if (!value) continue;
|
|
167
|
-
const ln = name.toLowerCase();
|
|
168
|
-
headers[ln] = toSingleHeader(value);
|
|
169
|
-
}
|
|
170
|
-
return headers;
|
|
171
|
-
}
|
|
172
|
-
//#endregion
|
|
173
|
-
exports.FetchResponseHeaders = FetchResponseHeaders;
|
|
174
|
-
exports.RecordResponseHeaders = RecordResponseHeaders;
|
|
175
|
-
exports.getDefaultFetchHeaders = getDefaultFetchHeaders;
|
|
176
|
-
exports.getDefaultHeaders = getDefaultHeaders;
|
|
177
|
-
exports.headersFromRecord = headersFromRecord;
|
|
178
|
-
exports.releaseHeaders = releaseHeaders;
|
|
179
|
-
exports.replyFetch = replyFetch;
|
|
180
|
-
|
|
181
|
-
//# sourceMappingURL=headers.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headers.cjs","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,mBAAA,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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { MionHeaders, MionResponse, PooledHeaders, ResponseDefaults } from '../types/context.ts';
|
|
2
|
-
type HeadersRecord = Record<string, string | string[]>;
|
|
3
|
-
declare class MionHeadersImpl implements MionHeaders {
|
|
4
|
-
protected headers: HeadersRecord;
|
|
5
|
-
unused: boolean;
|
|
6
|
-
constructor(headers: HeadersRecord);
|
|
7
|
-
append(name: string, value: string): void;
|
|
8
|
-
delete(name: string): void;
|
|
9
|
-
get(name: string): string | undefined | null;
|
|
10
|
-
set(name: string, value: string): void;
|
|
11
|
-
has(name: string): boolean;
|
|
12
|
-
entries(): IterableIterator<[string, string]>;
|
|
13
|
-
keys(): IterableIterator<string>;
|
|
14
|
-
values(): IterableIterator<string>;
|
|
15
|
-
}
|
|
16
|
-
export declare class RecordResponseHeaders extends MionHeadersImpl implements PooledHeaders {
|
|
17
|
-
readonly defaults: ResponseDefaults;
|
|
18
|
-
constructor(defaults: ResponseDefaults);
|
|
19
|
-
append(name: string, value: string): void;
|
|
20
|
-
forEach(visit: (name: string, value: string | string[]) => void): void;
|
|
21
|
-
}
|
|
22
|
-
export declare class FetchResponseHeaders implements PooledHeaders {
|
|
23
|
-
readonly defaults: ResponseDefaults;
|
|
24
|
-
readonly native: import('undici-types').Headers;
|
|
25
|
-
unused: boolean;
|
|
26
|
-
constructor(defaults: ResponseDefaults);
|
|
27
|
-
set(name: string, value: string): void;
|
|
28
|
-
append(name: string, value: string): void;
|
|
29
|
-
delete(name: string): void;
|
|
30
|
-
get(name: string): string | null;
|
|
31
|
-
has(name: string): boolean;
|
|
32
|
-
entries(): IterableIterator<[string, string]>;
|
|
33
|
-
keys(): IterableIterator<string>;
|
|
34
|
-
values(): IterableIterator<string>;
|
|
35
|
-
}
|
|
36
|
-
export declare const getDefaultHeaders: () => RecordResponseHeaders;
|
|
37
|
-
export declare const getDefaultFetchHeaders: () => FetchResponseHeaders;
|
|
38
|
-
export declare const releaseHeaders: (headers: RecordResponseHeaders) => void;
|
|
39
|
-
export declare function replyFetch(mionResp: MionResponse, headers: FetchResponseHeaders): Response;
|
|
40
|
-
export declare function headersFromRecord(headersObj: Record<string, string>, skipToLower?: boolean): MionHeaders;
|
|
41
|
-
export {};
|
|
42
|
-
//# sourceMappingURL=headers.d.ts.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_src_lib_urlQuery = require("./urlQuery.cjs");
|
|
3
|
-
let _mionjs_core = require("@mionjs/core");
|
|
4
|
-
//#region src/lib/queryBody.ts
|
|
5
|
-
function decodeQueryBody(urlQuery, rawBody) {
|
|
6
|
-
if (rawBody) return void 0;
|
|
7
|
-
if (!urlQuery) return void 0;
|
|
8
|
-
const dataValue = require_src_lib_urlQuery.findMionQueryParam(urlQuery, "data");
|
|
9
|
-
if (!dataValue) return void 0;
|
|
10
|
-
try {
|
|
11
|
-
return {
|
|
12
|
-
rawBody: (0, _mionjs_core.fromBase64Url)(dataValue),
|
|
13
|
-
bodyType: _mionjs_core.SerializerModes.stringifyJson
|
|
14
|
-
};
|
|
15
|
-
} catch (err) {
|
|
16
|
-
throw invalidQueryBody(err);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function invalidQueryBody(originalError) {
|
|
20
|
-
return new _mionjs_core.FatalError({
|
|
21
|
-
statusCode: _mionjs_core.StatusCodes.UNEXPECTED_ERROR,
|
|
22
|
-
type: "invalid-query-body",
|
|
23
|
-
publicMessage: "Invalid query body: the data parameter is not base64url encoded.",
|
|
24
|
-
originalError
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
//#endregion
|
|
28
|
-
exports.decodeQueryBody = decodeQueryBody;
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=queryBody.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queryBody.cjs","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,yBAAA,mBAAmB,UAAU,MAAM;CACrD,IAAI,CAAC,WAAW,OAAO,KAAA;CACvB,IAAI;EACF,OAAO;GAAC,UAAA,GAAA,aAAA,eAAuB,SAAS;GAAG,UAAU,aAAA,gBAAgB;EAAa;CACpF,SAAS,KAAK;EACZ,MAAM,iBAAiB,GAAG;CAC5B;AACF;AAEA,SAAS,iBAAiB,eAAyD;CACjF,OAAO,IAAI,aAAA,WAAW;EACpB,YAAY,aAAA,YAAY;EACxB,MAAM;EACN,eAAe;EACA;CACjB,CAAC;AACH"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SerializerCode } from '@mionjs/core';
|
|
2
|
-
export interface QueryBodyResult {
|
|
3
|
-
rawBody: string;
|
|
4
|
-
bodyType: SerializerCode;
|
|
5
|
-
}
|
|
6
|
-
export declare function decodeQueryBody(urlQuery: string | undefined, rawBody: unknown): QueryBodyResult | undefined;
|
|
7
|
-
//# sourceMappingURL=queryBody.d.ts.map
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
let _mionjs_core = require("@mionjs/core");
|
|
3
|
-
//#region src/lib/reflection.ts
|
|
4
|
-
/** The definition carries no injected type information: it was built or run without the mion plugin active. */
|
|
5
|
-
var MissingRtFnsError = class extends Error {
|
|
6
|
-
constructor(routeId, cause) {
|
|
7
|
-
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}` : ""));
|
|
8
|
-
this.name = "MissingRtFnsError";
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
/** The injected type information IS present but the host forbids building functions from strings (workerd,
|
|
12
|
-
* Vercel's EdgeVM, a CSP without 'unsafe-eval'). A BUILD-CONFIG problem, not a missing-plugin one. */
|
|
13
|
-
var RuntimeCodeGenBlockedError = class extends Error {
|
|
14
|
-
constructor(routeId, cause) {
|
|
15
|
-
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}` : ""));
|
|
16
|
-
this.name = "RuntimeCodeGenBlockedError";
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
var CODE_GEN_BLOCKED = /code generation from strings|unsafe-eval/i;
|
|
20
|
-
/** True when an error from the mion runtime is a blocked `new Function`, not a missing payload. */
|
|
21
|
-
function isCodeGenBlocked(message) {
|
|
22
|
-
return !!message && CODE_GEN_BLOCKED.test(message);
|
|
23
|
-
}
|
|
24
|
-
var rawMiddlewareReflectionCache = (0, _mionjs_core.getOrCreateGlobal)("mion.reflection.rawMiddlewareReflectionCache", () => /* @__PURE__ */ new Map());
|
|
25
|
-
/** Creates a MethodReflect for raw middlewares: no type info, NoopJitFns. */
|
|
26
|
-
function createRawMiddlewareReflection(isAsync, hasReturnData = false, paramsCount = 0) {
|
|
27
|
-
const cacheKey = `${isAsync}_${hasReturnData}_${paramsCount}`;
|
|
28
|
-
const cached = rawMiddlewareReflectionCache.get(cacheKey);
|
|
29
|
-
if (cached) return cached;
|
|
30
|
-
const reflection = {
|
|
31
|
-
paramsCount,
|
|
32
|
-
paramsJitFns: (0, _mionjs_core.getNoopJitFns)(),
|
|
33
|
-
returnJitFns: (0, _mionjs_core.getNoopJitFns)(),
|
|
34
|
-
paramsJitHash: _mionjs_core.EMPTY_HASH,
|
|
35
|
-
returnJitHash: _mionjs_core.EMPTY_HASH,
|
|
36
|
-
hasReturnData,
|
|
37
|
-
isAsync
|
|
38
|
-
};
|
|
39
|
-
rawMiddlewareReflectionCache.set(cacheKey, reflection);
|
|
40
|
-
return reflection;
|
|
41
|
-
}
|
|
42
|
-
/** All data derives from the mion marker payload the factory stashed on the definition (`def.rtFns`);
|
|
43
|
-
* registration fails loudly when that payload is missing (plugin not active). */
|
|
44
|
-
function getHandlerReflection(def, routeId, routerOptions, handlerOptions = {}, isHeadersMiddleware = false) {
|
|
45
|
-
try {
|
|
46
|
-
return isHeadersMiddleware ? (0, _mionjs_core.getHeadersReflectionFromMarkers)(def.rtFns, def.handler, routeId) : (0, _mionjs_core.getReflectionFromMarkers)(def.rtFns, def.handler, routeId);
|
|
47
|
-
} catch (error) {
|
|
48
|
-
if (isCodeGenBlocked(error?.message)) throw new RuntimeCodeGenBlockedError(routeId, error.message);
|
|
49
|
-
throw new MissingRtFnsError(routeId, error?.message);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/** Raw middlewares parse the raw request / response themselves, so they carry no type info. */
|
|
53
|
-
function getRawMethodReflection(handler, routeId, routerOptions) {
|
|
54
|
-
return createRawMiddlewareReflection((0, _mionjs_core.isAsyncHandler)(handler));
|
|
55
|
-
}
|
|
56
|
-
/** Checks each direction's compiled strategy against the resolved one: they differ only when the
|
|
57
|
-
* build saw a different literal than the runtime value. */
|
|
58
|
-
function assertCompiledParser(methodId, parser, reflection) {
|
|
59
|
-
const sides = [[
|
|
60
|
-
"params",
|
|
61
|
-
reflection.paramsJitHash,
|
|
62
|
-
reflection.paramsJitFns
|
|
63
|
-
], [
|
|
64
|
-
"return",
|
|
65
|
-
reflection.returnJitHash,
|
|
66
|
-
reflection.returnJitFns
|
|
67
|
-
]];
|
|
68
|
-
for (const [direction, hash, fns] of sides) {
|
|
69
|
-
if (hash === _mionjs_core.EMPTY_HASH) continue;
|
|
70
|
-
const wanted = parser[direction];
|
|
71
|
-
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.`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//#endregion
|
|
75
|
-
exports.MissingRtFnsError = MissingRtFnsError;
|
|
76
|
-
exports.RuntimeCodeGenBlockedError = RuntimeCodeGenBlockedError;
|
|
77
|
-
exports.assertCompiledParser = assertCompiledParser;
|
|
78
|
-
exports.getHandlerReflection = getHandlerReflection;
|
|
79
|
-
exports.getRawMethodReflection = getRawMethodReflection;
|
|
80
|
-
|
|
81
|
-
//# sourceMappingURL=reflection.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reflection.cjs","names":[],"sources":["../../../../src/lib/reflection.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport type {MethodWithJitFns} from '@mionjs/core';\nimport {EMPTY_HASH, getNoopJitFns, getOrCreateGlobal, type ResolvedParser} from '@mionjs/core';\nimport {getHeadersReflectionFromMarkers, getReflectionFromMarkers, isAsyncHandler} from '@mionjs/core';\nimport {Handler} from '../types/handlers.ts';\nimport {RouterOptions} from '../types/general.ts';\nimport {RouteOptions, MiddlewareOptions} from '../types/remoteMethods.ts';\nimport {AnyHandlerDef, RawMiddlewareDef} from '../types/definitions.ts';\n\n// ############ This file is the only one consuming type reflection within the router ########\n// All type information is injected AT BUILD TIME into the route()/middleware() call sites (lib/handlers.ts)\n// and this module only adapts those payloads into the MethodReflect shape the router consumes. No runtime\n// reflection, no JIT compilation, no AOT cache: the modules the mion vite plugin emits ARE the artifacts.\n\ntype MethodReflect = Omit<MethodWithJitFns, 'id' | 'type' | 'nestLevel' | 'pointer' | 'options'>;\n\n/** The definition carries no injected type information: it was built or run without the mion plugin active. */\nexport class MissingRtFnsError extends Error {\n constructor(routeId: string, cause?: string) {\n super(\n `Route/middleware \"${routeId}\" has no build-time type information.\\n` +\n `Declare it through route()/middleware() and make sure mionVitePlugin (@mionjs/devtools) is active in the build.` +\n (cause ? `\\nCause: ${cause}` : '')\n );\n this.name = 'MissingRtFnsError';\n }\n}\n\n/** The injected type information IS present but the host forbids building functions from strings (workerd,\n * Vercel's EdgeVM, a CSP without 'unsafe-eval'). A BUILD-CONFIG problem, not a missing-plugin one. */\nexport class RuntimeCodeGenBlockedError extends Error {\n constructor(routeId: string, cause?: string) {\n super(\n `Route/middleware \"${routeId}\" carries build-time type information, but this runtime forbids ` +\n `compiling functions from strings.\\n` +\n `Build with \\`mionVitePlugin({runTypes: {emitMode: 'both'}})\\`: the default 'code' ships each ` +\n `compiled fn as a source string that is turned into a function on first use, which edge ` +\n `runtimes (Cloudflare Workers / workerd, Vercel Edge) refuse. 'both' also emits the live ` +\n `factory, so nothing is compiled at runtime.` +\n (cause ? `\\nCause: ${cause}` : '')\n );\n this.name = 'RuntimeCodeGenBlockedError';\n }\n}\n\n// workerd: \"Code generation from strings disallowed for this context\"; V8/EdgeVM with a CSP:\n// \"Code generation from strings disallowed\"/\"unsafe-eval\". Matched on the shared stem so both land.\nconst CODE_GEN_BLOCKED = /code generation from strings|unsafe-eval/i;\n\n/** True when an error from the mion runtime is a blocked `new Function`, not a missing payload. */\nfunction isCodeGenBlocked(message?: string): boolean {\n return !!message && CODE_GEN_BLOCKED.test(message);\n}\n\n// ############ Raw Middleware Reflection ############\n\nconst rawMiddlewareReflectionCache = getOrCreateGlobal(\n 'mion.reflection.rawMiddlewareReflectionCache',\n () => new Map<string, MethodReflect>()\n);\n\n/** Creates a MethodReflect for raw middlewares: no type info, NoopJitFns. */\nfunction createRawMiddlewareReflection(isAsync: boolean, hasReturnData: boolean = false, paramsCount: number = 0): MethodReflect {\n const cacheKey = `${isAsync}_${hasReturnData}_${paramsCount}`;\n const cached = rawMiddlewareReflectionCache.get(cacheKey);\n if (cached) return cached;\n\n const reflection: MethodReflect = {\n paramsCount,\n paramsJitFns: getNoopJitFns(),\n returnJitFns: getNoopJitFns(),\n paramsJitHash: EMPTY_HASH,\n returnJitHash: EMPTY_HASH,\n hasReturnData,\n isAsync,\n };\n\n rawMiddlewareReflectionCache.set(cacheKey, reflection);\n return reflection;\n}\n\n// ############ Main Reflection Functions ############\n\n/** Definitions that carry an injected `rtFns` payload. RawMiddlewareDef is excluded: a raw\n * middleware declares no extra params, so it has no reflection and goes through\n * getRawMethodReflection instead. */\ntype ReflectableDef = Exclude<AnyHandlerDef, RawMiddlewareDef>;\n\n/** All data derives from the mion marker payload the factory stashed on the definition (`def.rtFns`);\n * registration fails loudly when that payload is missing (plugin not active). */\nexport function getHandlerReflection(\n def: ReflectableDef,\n routeId: string,\n routerOptions: RouterOptions,\n // handlerOptions stays unused here: what a route compiles is decided at build time by its parser strategy.\n handlerOptions: RouteOptions | MiddlewareOptions = {}, // eslint-disable-line @typescript-eslint/no-unused-vars\n isHeadersMiddleware: boolean = false\n): MethodReflect {\n try {\n return isHeadersMiddleware\n ? getHeadersReflectionFromMarkers(def.rtFns, def.handler, routeId)\n : getReflectionFromMarkers(def.rtFns, def.handler, routeId);\n } catch (error: any) {\n if (isCodeGenBlocked(error?.message)) throw new RuntimeCodeGenBlockedError(routeId, error.message);\n throw new MissingRtFnsError(routeId, error?.message);\n }\n}\n\n/** Raw middlewares parse the raw request / response themselves, so they carry no type info. */\nexport function getRawMethodReflection(\n handler: Handler,\n routeId: string, // eslint-disable-line @typescript-eslint/no-unused-vars\n routerOptions: RouterOptions // eslint-disable-line @typescript-eslint/no-unused-vars\n): MethodReflect {\n return createRawMiddlewareReflection(isAsyncHandler(handler));\n}\n\n/** Checks each direction's compiled strategy against the resolved one: they differ only when the\n * build saw a different literal than the runtime value. */\nexport function assertCompiledParser(methodId: string, parser: ResolvedParser, reflection: MethodReflect): void {\n const sides = [\n ['params', reflection.paramsJitHash, reflection.paramsJitFns],\n ['return', reflection.returnJitHash, reflection.returnJitFns],\n ] as const;\n for (const [direction, hash, fns] of sides) {\n if (hash === EMPTY_HASH) continue;\n const wanted = parser[direction];\n if (fns.json.strategy !== wanted)\n throw new Error(\n `mion: ${direction} parser of \"${methodId}\" is '${wanted}' at runtime but the build compiled ` +\n `'${fns.json.strategy}'. Write the parser option inline on the route (or as an \\`as const\\` preset) and the ` +\n `router-wide default as a literal on createMionRouter, so the build sees the same value the runtime reads.`\n );\n }\n}\n"],"mappings":";;;;AAuBA,IAAa,oBAAb,cAAuC,MAAM;CAC3C,YAAY,SAAiB,OAAgB;EAC3C,MACE,qBAAqB,QAAQ,2JAE1B,QAAQ,YAAY,UAAU,GACnC;EACA,KAAK,OAAO;CACd;AACF;;;AAIA,IAAa,6BAAb,cAAgD,MAAM;CACpD,YAAY,SAAiB,OAAgB;EAC3C,MACE,qBAAqB,QAAQ,+ZAM1B,QAAQ,YAAY,UAAU,GACnC;EACA,KAAK,OAAO;CACd;AACF;AAIA,IAAM,mBAAmB;;AAGzB,SAAS,iBAAiB,SAA2B;CACnD,OAAO,CAAC,CAAC,WAAW,iBAAiB,KAAK,OAAO;AACnD;AAIA,IAAM,gCAAA,GAAA,aAAA,mBACJ,sEACM,IAAI,IAA2B,CACvC;;AAGA,SAAS,8BAA8B,SAAkB,gBAAyB,OAAO,cAAsB,GAAkB;CAC/H,MAAM,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG;CAChD,MAAM,SAAS,6BAA6B,IAAI,QAAQ;CACxD,IAAI,QAAQ,OAAO;CAEnB,MAAM,aAA4B;EAChC;EACA,eAAA,GAAA,aAAA,eAA4B;EAC5B,eAAA,GAAA,aAAA,eAA4B;EAC5B,eAAe,aAAA;EACf,eAAe,aAAA;EACf;EACA;CACF;CAEA,6BAA6B,IAAI,UAAU,UAAU;CACrD,OAAO;AACT;;;AAWA,SAAgB,qBACd,KACA,SACA,eAEA,iBAAmD,CAAC,GACpD,sBAA+B,OAChB;CACf,IAAI;EACF,OAAO,uBAAA,GAAA,aAAA,iCAC6B,IAAI,OAAO,IAAI,SAAS,OAAO,KAAA,GAAA,aAAA,0BACtC,IAAI,OAAO,IAAI,SAAS,OAAO;CAC9D,SAAS,OAAY;EACnB,IAAI,iBAAiB,OAAO,OAAO,GAAG,MAAM,IAAI,2BAA2B,SAAS,MAAM,OAAO;EACjG,MAAM,IAAI,kBAAkB,SAAS,OAAO,OAAO;CACrD;AACF;;AAGA,SAAgB,uBACd,SACA,SACA,eACe;CACf,OAAO,+BAAA,GAAA,aAAA,gBAA6C,OAAO,CAAC;AAC9D;;;AAIA,SAAgB,qBAAqB,UAAkB,QAAwB,YAAiC;CAC9G,MAAM,QAAQ,CACZ;EAAC;EAAU,WAAW;EAAe,WAAW;CAAY,GAC5D;EAAC;EAAU,WAAW;EAAe,WAAW;CAAY,CAC9D;CACA,KAAK,MAAM,CAAC,WAAW,MAAM,QAAQ,OAAO;EAC1C,IAAI,SAAS,aAAA,YAAY;EACzB,MAAM,SAAS,OAAO;EACtB,IAAI,IAAI,KAAK,aAAa,QACxB,MAAM,IAAI,MACR,SAAS,UAAU,cAAc,SAAS,QAAQ,OAAO,uCACnD,IAAI,KAAK,SAAS,gMAE1B;CACJ;AACF"}
|