@sheetxl/mcp 0.8.0-beta.24 → 1.0.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/assets/{Cf0zmfQYfJ7zM0Ya.js → 0WuReGsjIpidu0Cr.js} +1 -1
- package/assets/{B6caaQsfOpFEgYQ4.js → 13QanvzRbNib7VHR.js} +1 -1
- package/assets/{DGI_8HyNF0eAv0P5.js → 2c1OYsVAy_w-ex-F.js} +1 -1
- package/assets/{B-t1q2NS61c2B8E4.js → 8114GVvAL1oaiJLV.js} +1 -1
- package/assets/{B16G2473LTkZP6Mq.js → 8hLtXHueDl7B_SEn.js} +1417 -1356
- package/assets/{DRzZ4bEyLRGVOLzV.js → 8mWHFnE0j-CaNsxr.js} +1 -1
- package/assets/{DaF9L7No8h8a-cqb.js → B-b7HyruDF2gdj3R.js} +2 -2
- package/assets/{CmkgQ5-IG0BSCM3R.js → B3J6davzttys1e7l.js} +3 -3
- package/assets/{doqBmhonQlHp-1Ud.js → B3lrS_GHkG6Mw5pN.js} +1 -1
- package/assets/{CnI4Nli8vtWdFKvf.js → B5rrqMYFybo3oW9k.js} +21 -21
- package/assets/{D6d1DKL15m52ZCuC.js → BB39UJoWw8tjThqY.js} +1 -1
- package/assets/{DtVSjxL6N_7WyM8Z.js → BBF_CDIKB2NIXiHg.js} +1 -1
- package/assets/{DE7G34oYbvrfXbJ7.js → BBLuTiY3V4MpFphK.js} +294 -294
- package/assets/{DM-yGHahbfA_uarn.js → BBZUslaSLC0vlZEb.js} +1 -1
- package/assets/{sJVPCrgeh0U6LbAK.js → BCdXK-2-AE6FAdRs.js} +1 -1
- package/assets/{CUYQlZz5zWsUdmRy.js → BF0C-5gSMHWBXI_k.js} +1 -1
- package/assets/{Xccc6oxtlSvJUDsC.js → BKGTzaNNBlRh7ua3.js} +1 -1
- package/assets/BOa1dD_9H3g65WbP.js +14 -0
- package/assets/{C-nA4SXN5hWHaxV6.js → BPlrBhzIqyWK19E2.js} +526 -526
- package/assets/{xD41vsQY6h60lCqz.js → BR4Wpxs0eSlaoLOl.js} +8 -8
- package/assets/{CSXmTA6w6Pnbtqvb.js → BTB4fa2DU21pP7At.js} +1 -1
- package/assets/{bv3fZLUPzd14I58C.js → BTamKr78GfsihW1a.js} +485 -485
- package/assets/{BPNLZ07Bu_B8Yhf1.js → BVfjBXAMgo4u8Y72.js} +1 -1
- package/assets/{TZnuVwhVjkOBax9F.js → BaZAIwIrqn1x69WH.js} +2 -2
- package/assets/{b8yACuWy67eIj_j2.js → Ban4yk1SYcz9Cs7n.js} +1 -1
- package/assets/{Ds4TB1hn56-RK6_f.js → BfB7Vq09p5uO-L88.js} +1 -1
- package/assets/{DOSWSyKkK4eSi4PD.js → BfEmSaLbKgcjIIpn.js} +2 -2
- package/assets/{DkQ4kxEKhKYQgfjK.js → Bfpf9b1s1bWyBXIw.js} +1 -1
- package/assets/{BrYc6PLonux_gI6b.js → BgHOi7rAHLhztiz-.js} +215 -215
- package/assets/{3VycPrqi6qgLOgGY.js → BgN67gyTyx_xz2Ny.js} +6 -6
- package/assets/{yz2PTfYm_8EGJPM5.js → BhxIJ8xdUxyMPJ_m.js} +1 -1
- package/assets/{Jy-_0a72nn5Iv1NK.js → BlMUrEA8V2S2KH0D.js} +1 -1
- package/assets/{CM-q_J5aF6YXmjeu.js → BloJ-e8xad1b_H7X.js} +3 -3
- package/assets/{C6PNMev7cs5JLgwy.js → Bm-wDNSoT-3JD2bJ.js} +1 -1
- package/assets/{BaYk1vO2hP2S3_1w.js → BoE9cj92LVH2LLy0.js} +2 -2
- package/assets/{g2Nu44uuSJFMzxEV.js → BqH4txhrgR2S-2ji.js} +2 -2
- package/assets/{DPYFRLJbHGlrcrJq.js → BrHXHm2FNXsL53bo.js} +2 -2
- package/assets/{CnKX5SPVE2iuSK42.js → BuFb0lPxYlHccrD9.js} +1 -1
- package/assets/{BkekCZ17YTtd07_C.js → ByGn4tk2SE1MH_sZ.js} +2 -2
- package/assets/{Cxzowsi6ASdZtzeI.js → C1IE0F-y65XqEYRl.js} +1 -1
- package/assets/{7vPlH3_rhJxmmBvG.js → C1JeIUEWW-RL1Rnu.js} +1 -1
- package/assets/{a2e_g9YI3J-lUD7-.js → C2sDVxKGBNlTFg6y.js} +1 -1
- package/assets/{D_tdoUtUe7cApQJn.js → C30apcFVvDHn2M4R.js} +4 -4
- package/assets/{TdDTOcC1TYhk6UuR.js → C3c2PUtIo-aWbjw4.js} +1 -1
- package/assets/{suLYEZBtGUhSYeB7.js → C4C3Ot0xeo1O0wm5.js} +1 -1
- package/assets/{By1QPrSxtnRiJu0R.js → C8zzCf71C976X7SG.js} +2 -2
- package/assets/{BxwB3iTNSE1TgHkb.js → CCS6r_ru_-bq12nu.js} +1 -1
- package/assets/{DNSWaXblwhTtI3w7.js → CDDtXZTG6nNFBQZP.js} +1 -1
- package/assets/{DL8pez0eKo8arYPj.js → CEa6wNiDRZrans9S.js} +3 -3
- package/assets/{Daaro0HbHkKXkBP-.js → CF1fqmS030ry2XQ0.js} +2 -2
- package/assets/{P6V3JAiRpC3BWceC.js → CFqF3aUKvOGFOK9O.js} +1 -1
- package/assets/{BH7ctzMzOYVTGxzA.js → CI8Pu3ko8VzQYdRD.js} +1 -1
- package/assets/{9GnbVPKozgrJpeLW.js → CICMJpasl9o4FaZi.js} +1 -1
- package/assets/{CIw6ZC3K9x-ccacl.js → CJcyMzG19TOjqNHS.js} +1 -1
- package/assets/{2YT_wstXIH6UIigi.js → CJoREr6-3iOl7iU_.js} +1 -1
- package/assets/{B4uS01J0mrSJSftQ.js → CMd7aLIwOA7bxcZm.js} +88 -88
- package/assets/{CpvJUGg9ckuCIpIS.js → CNikOloX_losH8Nz.js} +1 -1
- package/assets/{C0uu0vLKQh0S508B.js → CRZMD-wS-944FnD_.js} +40 -40
- package/assets/{CJ2hV-9ipqOEkLSG.js → CRlLpD9cfhJ9Ov9L.js} +1 -1
- package/assets/{DwNcvKM47ZHfvQM6.js → CS07BBUu6ZtXk4TZ.js} +1 -1
- package/assets/{DyiH3LlinD-38bG7.js → CX-LNahzNZRc78er.js} +1 -1
- package/assets/{DuEtCJEnG_GnJzTX.js → CY3Lmr-fgs6NqXRp.js} +1 -1
- package/assets/{KMzONx2Ps841nJHj.js → CbkCnjWs7Fpj5iQY.js} +8 -8
- package/assets/{Dlqk7XqKnAZ8Pcj3.js → CdbucPAmUkkc5pcM.js} +155 -156
- package/assets/{DRq6lQLndj73WT35.js → CfBJzpZuy1o216iZ.js} +1 -1
- package/assets/{Dk9zYXO3VoBhTdex.js → CoSNTR-pg7BZAU7o.js} +1 -1
- package/assets/{CFWwwr74qRKOBrg9.js → CpoqmW4E7rFdkRpf.js} +1 -1
- package/assets/{BAVltO4Xf7lC0Xr6.js → Cs1df4D35bBjqyvX.js} +1 -1
- package/assets/{DIgPlkEabQdKNUQn.js → CsPyLus3kh4QnahD.js} +1 -1
- package/assets/{DXCTHw-ZutNIuo_2.js → Cwe_kiigxAfceEK9.js} +1 -1
- package/assets/{CzRvg04_TIbwBH5C.js → CwzSgovxnBMrgLmJ.js} +3 -3
- package/assets/{BnNB_ejvNaLu6B3o.js → D31pY9r4JAFWw3E4.js} +1 -1
- package/assets/DCWHNfq5qCxvALwe.js +199 -0
- package/assets/{DGOgx3-IyO8bjF_t.js → DF9WfdyjHuCpsEXh.js} +63 -63
- package/assets/{LM2rVDHdB0jVUFcT.js → DOIpXsEXCaI-8VwJ.js} +1 -1
- package/assets/{76dPHG5RYA7MUV_g.js → DOXj80NXiglJXsMZ.js} +3 -3
- package/assets/{CR1aLf7CWEfPTO9a.js → DQ2vEDfVfsIGSmId.js} +1 -1
- package/assets/{Dhy6iU_09lrQnOAV.js → DQtnL5nOzSzVJhit.js} +61 -61
- package/assets/{CCF6CwJ6cbeLRl23.js → DRcmbp80jMRjxelW.js} +1 -1
- package/assets/{CFNtPYPfDPH-3BXK.js → DRy0AcTiSKQY3bih.js} +1 -1
- package/assets/{tWO-mE87mAuj1qih.js → DWr6GqsnMpLwSUno.js} +2 -2
- package/assets/{ByYJTTTUuu67hDF-.js → DXrX5tIZ1J5BhpFk.js} +4 -4
- package/assets/{CmwNIrRssYuLN2fn.js → DZxHk5oKIVvu3iJR.js} +458 -458
- package/assets/{CbJWbjmv4bz4ppIZ.js → Da0CtWhc7saaOdER.js} +318 -318
- package/assets/{mZt9BTEejCJZ4YK4.js → Dbi1_JHT_4u0nhwc.js} +1 -1
- package/assets/{C9iFJ52KwQTePQ81.js → Dcw7GSCgw_dgsum7.js} +11490 -11497
- package/assets/{fEfisM0E2fUYKIyU.js → DfuY8GdoSk8LxDFW.js} +5 -5
- package/assets/{CT4czEKWIj1GeQN8.js → DlARYdaCOVKiQzMH.js} +1 -1
- package/assets/{BJwiwzwx4Bl5L4Vq.js → DngX5ZuqqFGTp44B.js} +1 -1
- package/assets/{DFVQIZ2zZyAphhCF.js → DpwdC4SN_VYB9_ho.js} +1 -1
- package/assets/{CIY_RiLu1_FmRLAA.js → Dst0tyK__q2Q_AKk.js} +1 -1
- package/assets/{BrJd9jVVv9SQzZol.js → DvHZEP1wpb6549uf.js} +423 -423
- package/assets/{DMDTS0LH9Ke9t-3z.js → DzYvbv5u7E2H7IoB.js} +12 -7
- package/assets/{BjyXkr-CzV8mVx0t.js → G489eYf-lt3D1riX.js} +1 -1
- package/assets/{CKD460cQOgwF6uSV.js → L42Y17f0HUEpfS6U.js} +1 -1
- package/assets/{flby0g5gyZ9P2Wu2.js → O3m_QwxIRXMPFTB8.js} +1 -1
- package/assets/{7IzItpr7MkdnaAwh.js → P3Or6rEY-fHmQZbH.js} +69 -69
- package/assets/{DaHD9SY75O8wDy3p.js → PAzPVx_0jajb_7cO.js} +2 -2
- package/assets/{DJfpKncnYnrr28G0.js → PvRzzufo1V8BuC-I.js} +1 -1
- package/assets/{CFT_tDogP98gTbh7.js → Sm1ouHLiXlCuQVKV.js} +79 -79
- package/assets/{D-vo2bQyAmStQmD9.js → WC-THJfezYSFdiMF.js} +1 -1
- package/assets/{DczQhB3mRSUw6GCf.js → YK80feN98r6GVZv5.js} +1 -1
- package/assets/{DPLTGglaPovTg9e5.js → cl0C9YlF3Ds-lHps.js} +1 -1
- package/assets/{BXWGS09xFG81nnIT.js → eExV3IoVMxYkv5GO.js} +1 -1
- package/assets/{qc7rA-Z3a4rkVQPx.js → g3TrQtFS0qJZeshT.js} +215 -215
- package/assets/{B8bEJ65vQRqsfBlS.js → gf6l-4XXMXtq8hpJ.js} +5 -5
- package/assets/{CEk658HeLJk2cAjM.js → hiKRbrdbpmJglbWC.js} +3 -3
- package/assets/{D8k9de_hen-KqBWe.js → j4zqu8S2Be_yum7W.js} +1 -1
- package/assets/{Ch9w7xFxVMrvGuC_.js → jNZ7exipVCGRPbzr.js} +1 -1
- package/assets/{MosMza0-rXD8uHX_.js → kThU6e6dkzEoaK6n.js} +2 -2
- package/assets/{DJGYlGr2Zj7SkYqc.js → knMcDWv3xN7yJBTT.js} +1 -1
- package/assets/{BJqo8c5bFKjnq69G.js → ov7L79VlksT4fw7T.js} +11 -11
- package/assets/{BifwlrCmEVtjh_1U.js → pLM8Pxl1CscUdvMh.js} +1 -1
- package/assets/{NAWWzA_hk4wYtsPP.js → pfa2CH5NQuzku6FP.js} +2 -2
- package/assets/{B-5mBXpY9i6-eCrZ.js → q6advQx4x6PXvl0i.js} +35 -35
- package/assets/{BWLavTnANLUerdS0.js → qVBjd-c5B8neljc0.js} +2 -2
- package/assets/{DqSBb1HmgeU7eg_i.js → rlgXnCh6A88ozBRz.js} +110 -110
- package/assets/{DUbIxDAzW1dzrtdI.js → rzi2XAwlfy8BsGEa.js} +1 -1
- package/assets/{B7lATTNffVTrDsKE.js → xGASRbzSVVKfEAh-.js} +2 -2
- package/assets/{BkHeIMSE7-LehRCs.js → ybnQoU8_KttlHjiy.js} +1 -1
- package/index.js +145 -145
- package/lib.js +1 -1
- package/licenses/dependencies.txt +45 -45
- package/package.json +2 -2
- package/screenshot-page/assets/-HdF7KAN8PKqrASL.js +1 -0
- package/screenshot-page/assets/{C_YKEkTsGB_5gFNg.js → 0P0DnZolMnjPhiea.js} +2 -2
- package/screenshot-page/assets/{FcTM4SB17cEX1M3X.js → 5Y11BWntgqmzo9dz.js} +1 -1
- package/screenshot-page/assets/{Cx9eq2x1gIXGki3Q.js → B-E9Dzx1wh9RA2yC.js} +1 -1
- package/screenshot-page/assets/{CXwbGzavyvYgDbWU.js → B0CDAMDdxSN4en9k.js} +1 -1
- package/screenshot-page/assets/B39YZkEvc1U8ZQ8H.js +2 -0
- package/screenshot-page/assets/B8Dy_WA9RlWuvMqF.js +4 -0
- package/screenshot-page/assets/BAzHRU12l2vyyXq-.js +39 -0
- package/screenshot-page/assets/{DR-og7vslxlOZd8j.js → BGIujWi3UayyIWlg.js} +1 -1
- package/screenshot-page/assets/BNjmzbnQlBmX-HPQ.js +1 -0
- package/screenshot-page/assets/{B-0-chiwq4MIUQy9.js → BOF6KOmT8mH_NQnA.js} +1 -1
- package/screenshot-page/assets/{DcrVJCyDwGKeil2U.js → BQTLEc84Eql61S2m.js} +1 -1
- package/screenshot-page/assets/{clrFU8i-0wNkmbs7.js → BfkbiKKbYlPpRZqZ.js} +1 -1
- package/screenshot-page/assets/{DGkaCFHx4PsOJkFu.js → BhHceo22V3IBfap0.js} +1 -1
- package/screenshot-page/assets/{Cx1kZ2u_8JFV2Q8D.js → BiRVjUOUI8Qv0CE1.js} +1 -1
- package/screenshot-page/assets/{D6EXAYU-ZH8hjx_7.js → Bne-AygyF1USkPAy.js} +2 -2
- package/screenshot-page/assets/{Dkf51CnZh2zPEGMd.js → BpJaTpbR_CQzXj9M.js} +1 -1
- package/screenshot-page/assets/{B7pXfEVkcbaMBMhc.js → BrEXXxB9tAI5mmZP.js} +1 -1
- package/screenshot-page/assets/{CwCu_r0BW41uLt3P.js → Bt7fKk5ZupUuo_xD.js} +2 -2
- package/screenshot-page/assets/BwYQTcPRDDYIeAA5.js +586 -0
- package/screenshot-page/assets/ByyC3p23DsLAbUpr.js +1 -0
- package/screenshot-page/assets/{D7Yt7xmUlA6-Lq0Q.js → BzI5CCx73aXausKb.js} +9 -9
- package/screenshot-page/assets/{DM6hr-bvWV50-Oex.js → C-2hBFk27roWkIrQ.js} +2 -2
- package/screenshot-page/assets/{BTJ1NNUzHotNDiDe.js → CAKBmg6tXRtjEWgb.js} +2 -2
- package/screenshot-page/assets/CALWodHqzUTIv9le.js +5 -0
- package/screenshot-page/assets/{BcZPWw18bdj_ZvA9.js → CGNsyKbDXXz9qMa2.js} +1 -1
- package/screenshot-page/assets/CGZYePkVGI5DPBBY.js +1 -0
- package/screenshot-page/assets/{Bfq6-treWd_rRiWl.js → CJAgr6wyQGYAd3ZV.js} +1 -1
- package/screenshot-page/assets/{BKwDvElKinpn1IK0.js → CL_hAngRQwm_KGdR.js} +1 -1
- package/screenshot-page/assets/COL9dj40ytErlGak.js +2 -0
- package/screenshot-page/assets/CWA4xGjOeBuxJOzW.js +3 -0
- package/screenshot-page/assets/{r2HZG9_SMzF3__ID.js → CX-ITg5RXdV2cefd.js} +6 -6
- package/screenshot-page/assets/{C7mXat-6esc1AmRD.js → CXeDqC02BZcixiHS.js} +2 -2
- package/screenshot-page/assets/{Pt9ne0xkE2icD3Ih.js → CZaKvnrRdlLj1_X8.js} +1 -1
- package/screenshot-page/assets/{a3fvt1Klg1uGE7p6.js → Cg9eIWL8fPmeZFHG.js} +7 -7
- package/screenshot-page/assets/{DyxJBLjUkeDuu96F.js → CltB1nb5HHSmYrNG.js} +1 -1
- package/screenshot-page/assets/{FqdZRM336KMEcsbU.js → Cq1EzIAt4dHBkzfP.js} +1 -1
- package/screenshot-page/assets/{D6Yv5cc1JE7DGd6j.js → CqBSIwwGzWl8mrBe.js} +1 -1
- package/screenshot-page/assets/D2TibFqUBAPLcu_2.js +1 -0
- package/screenshot-page/assets/{ChSvXfVMLxZsP9zG.js → D4RZZdlItfrgQHcE.js} +1 -1
- package/screenshot-page/assets/{J73KTOmdZGNmnq-z.js → D72Rp__0TEqJ972a.js} +1 -1
- package/screenshot-page/assets/D8EmNst-H2v0eWcf.js +1 -0
- package/screenshot-page/assets/{Tj3B5At0OAN3tDza.js → DACqwpSwlZka3b7s.js} +1 -1
- package/screenshot-page/assets/DEy3e1rY-XMdI309.js +1 -0
- package/screenshot-page/assets/{CI3Z1f4amZ9G2rPD.js → DJebrQ5mu8uxpX3b.js} +1 -1
- package/screenshot-page/assets/{DynKB5GH-vfFMJEy.js → DOsZiE9rOdS_Mm2Q.js} +1 -1
- package/screenshot-page/assets/{CSFFMEKyxEFaykqL.js → DTAKTGn53yF_B621.js} +1 -1
- package/screenshot-page/assets/{D6Ciix7JAZtdKqmj.js → DYYzsN95gWMsxOaj.js} +1 -1
- package/screenshot-page/assets/{DOVt9zHz7FQ2KUQM.js → Da_VIghRFdNrmfZT.js} +1 -1
- package/screenshot-page/assets/DaqAdr-mtpVZMOS8.js +2 -0
- package/screenshot-page/assets/{0UZBKpOOsp7P-DkP.js → DdmX3djBOA6UCZtf.js} +2 -2
- package/screenshot-page/assets/{DEpn6VGd30cHEJOS.js → DfQS5zAy3pN31xNb.js} +1 -1
- package/screenshot-page/assets/DhnaoxNYwMobAVP6.js +1 -0
- package/screenshot-page/assets/{B-8IMo2f1yGNXOyz.js → GxbRmvyoKhHl0ZYY.js} +13 -8
- package/screenshot-page/assets/{zvxBjll3jnL0-vNn.js → Np3jWxG724t5hLHZ.js} +2 -2
- package/screenshot-page/assets/{Bg9UyX4yrB2mSdJt.js → QVGvXAvlw1c8vZjy.js} +12 -12
- package/screenshot-page/assets/{BbT5KRhoeAKLzy54.js → d8BvDCByceUNvHp7.js} +2 -2
- package/screenshot-page/assets/eR9_DaySoB72PvMo.js +1 -0
- package/screenshot-page/assets/{CtiTwHzd_ZSzd3W2.js → hB5riGkPy0wXVIig.js} +1 -1
- package/screenshot-page/assets/hHvAGynpTvAb97GX.js +1 -0
- package/screenshot-page/assets/jFfcyGJ9xruiOUyS.js +1 -0
- package/screenshot-page/assets/{DmDFKv_3APEWI-IY.js → jKvAZg0Tp701aw1o.js} +2 -2
- package/screenshot-page/assets/{DACSL7FA_J91Z_H7.js → jteb4n23QwBT9m_4.js} +1 -1
- package/screenshot-page/assets/mzrDp0emvkWnkXBt.js +1 -0
- package/screenshot-page/index.html +15 -15
- package/types/scripting-api.json +1 -1
- package/types/scripting.d.ts +2 -2
- package/assets/6CBUVbF01Bedq0e2.js +0 -199
- package/assets/Dfv_T_PQVL0O3lu5.js +0 -14
- package/screenshot-page/assets/BDRMUi2BsnBqytIq.js +0 -2
- package/screenshot-page/assets/BEjJHVSbtlsNtoq7.js +0 -3
- package/screenshot-page/assets/BIuMiduMHSsTGacU.js +0 -2
- package/screenshot-page/assets/BPMQ22uISGOm3ymr.js +0 -1
- package/screenshot-page/assets/Bxq4FCQhyPbVhhaR.js +0 -2
- package/screenshot-page/assets/CNB6WmYfGVZjlCKV.js +0 -5
- package/screenshot-page/assets/CXeJV1BW2CVemhPE.js +0 -1
- package/screenshot-page/assets/CkxmJxdtjBIxYoMq.js +0 -1
- package/screenshot-page/assets/D43IayseD2Cy8OZo.js +0 -4
- package/screenshot-page/assets/D8KyhLvfyjLZW92H.js +0 -39
- package/screenshot-page/assets/DBxAatsD6aWk7Zb6.js +0 -586
- package/screenshot-page/assets/DMhOGCTy8V0N14gY.js +0 -1
- package/screenshot-page/assets/DSTlKGmqncM7XHeW.js +0 -1
- package/screenshot-page/assets/Dh14XQinAphjZOKC.js +0 -1
- package/screenshot-page/assets/Dt8JxbBBr2TeDflQ.js +0 -1
- package/screenshot-page/assets/Dxi-bXNjS-CpC5Qr.js +0 -1
- package/screenshot-page/assets/Oay0yGsGYgJDzy8r.js +0 -1
- package/screenshot-page/assets/QZg76Jflu3Q808W3.js +0 -1
- package/screenshot-page/assets/WTrYzPnMQhYDILMR.js +0 -1
- package/screenshot-page/assets/qFyplGXRu7IepHio.js +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. -
|
|
2
|
+
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v1.0.0
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: SheetXL EULA — https://www.sheetxl.com/eula
|
|
6
6
|
*/
|
|
7
|
-
import { u as e } from "./
|
|
8
|
-
import {
|
|
7
|
+
import { u as e } from "./8mWHFnE0j-CaNsxr.js";
|
|
8
|
+
import { Cn as t, Cr as n, Ct as i, Dt as r, Fn as s, Fr as o, Hi as a, Hn as c, Ii as h, L as l, Na as u, Oa as d, Vr as p, Yi as f, Zt as m, a as E, aa as T, ao as g, ar as O, eo as A, gr as R, in as I, ji as _, jr as N, mi as L, ot as S, pt as C, qr as y, ti as k, ya as v } from "./Dcw7GSCgw_dgsum7.js";
|
|
9
9
|
function x(e) {
|
|
10
10
|
console && console.error && console.error(`Error: ${e}`);
|
|
11
11
|
}
|
|
@@ -213,7 +213,7 @@ function q(e) {
|
|
|
213
213
|
if (e instanceof H) return "CONSUME";
|
|
214
214
|
throw Error("non exhaustive match");
|
|
215
215
|
}
|
|
216
|
-
var
|
|
216
|
+
var Z = class {
|
|
217
217
|
walk(e, t = []) {
|
|
218
218
|
e.definition.forEach((n, i) => {
|
|
219
219
|
const r = e.definition.slice(i + 1);
|
|
@@ -246,7 +246,7 @@ var Q = class {
|
|
|
246
246
|
this.walk(e, i);
|
|
247
247
|
}
|
|
248
248
|
walkAtLeastOneSep(e, t, n) {
|
|
249
|
-
const i =
|
|
249
|
+
const i = Q(e, t, n);
|
|
250
250
|
this.walk(e, i);
|
|
251
251
|
}
|
|
252
252
|
walkMany(e, t, n) {
|
|
@@ -254,7 +254,7 @@ var Q = class {
|
|
|
254
254
|
this.walk(e, i);
|
|
255
255
|
}
|
|
256
256
|
walkManySep(e, t, n) {
|
|
257
|
-
const i =
|
|
257
|
+
const i = Q(e, t, n);
|
|
258
258
|
this.walk(e, i);
|
|
259
259
|
}
|
|
260
260
|
walkOr(e, t, n) {
|
|
@@ -265,7 +265,7 @@ var Q = class {
|
|
|
265
265
|
});
|
|
266
266
|
}
|
|
267
267
|
};
|
|
268
|
-
function
|
|
268
|
+
function Q(e, t, n) {
|
|
269
269
|
return [new B({ definition: [new H({ terminalType: e.separator })].concat(e.definition) })].concat(t, n);
|
|
270
270
|
}
|
|
271
271
|
function J(e) {
|
|
@@ -288,7 +288,7 @@ function J(e) {
|
|
|
288
288
|
}(e);
|
|
289
289
|
throw Error("non exhaustive match");
|
|
290
290
|
}
|
|
291
|
-
var ee = "_~IN~_", te = class extends
|
|
291
|
+
var ee = "_~IN~_", te = class extends Z {
|
|
292
292
|
constructor(e) {
|
|
293
293
|
super(), this.topProd = e, this.follows = {};
|
|
294
294
|
}
|
|
@@ -1277,7 +1277,7 @@ function ve(e, t) {
|
|
|
1277
1277
|
return {
|
|
1278
1278
|
errors: t.map((e) => ({
|
|
1279
1279
|
message: "Token Type: ->" + e.name + "<- missing static 'PATTERN' property",
|
|
1280
|
-
type:
|
|
1280
|
+
type: Qe.MISSING_PATTERN,
|
|
1281
1281
|
tokenTypes: [e]
|
|
1282
1282
|
})),
|
|
1283
1283
|
valid: e.filter((e) => !t.includes(e))
|
|
@@ -1292,7 +1292,7 @@ function ve(e, t) {
|
|
|
1292
1292
|
return {
|
|
1293
1293
|
errors: t.map((e) => ({
|
|
1294
1294
|
message: "Token Type: ->" + e.name + "<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",
|
|
1295
|
-
type:
|
|
1295
|
+
type: Qe.INVALID_PATTERN,
|
|
1296
1296
|
tokenTypes: [e]
|
|
1297
1297
|
})),
|
|
1298
1298
|
valid: e.filter((e) => !t.includes(e))
|
|
@@ -1320,7 +1320,7 @@ function ve(e, t) {
|
|
|
1320
1320
|
}
|
|
1321
1321
|
}).map((e) => ({
|
|
1322
1322
|
message: "Unexpected RegExp Anchor Error:\n Token Type: ->" + e.name + "<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",
|
|
1323
|
-
type:
|
|
1323
|
+
type: Qe.EOI_ANCHOR_FOUND,
|
|
1324
1324
|
tokenTypes: [e]
|
|
1325
1325
|
}));
|
|
1326
1326
|
}(n)), t = t.concat(function(e) {
|
|
@@ -1342,7 +1342,7 @@ function ve(e, t) {
|
|
|
1342
1342
|
}
|
|
1343
1343
|
}).map((e) => ({
|
|
1344
1344
|
message: "Unexpected RegExp Anchor Error:\n Token Type: ->" + e.name + "<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",
|
|
1345
|
-
type:
|
|
1345
|
+
type: Qe.SOI_ANCHOR_FOUND,
|
|
1346
1346
|
tokenTypes: [e]
|
|
1347
1347
|
}));
|
|
1348
1348
|
}(n)), t = t.concat(function(e) {
|
|
@@ -1351,7 +1351,7 @@ function ve(e, t) {
|
|
|
1351
1351
|
return t instanceof RegExp && (t.multiline || t.global);
|
|
1352
1352
|
}).map((e) => ({
|
|
1353
1353
|
message: "Token Type: ->" + e.name + "<- static 'PATTERN' may NOT contain global('g') or multiline('m')",
|
|
1354
|
-
type:
|
|
1354
|
+
type: Qe.UNSUPPORTED_FLAGS_FOUND,
|
|
1355
1355
|
tokenTypes: [e]
|
|
1356
1356
|
}));
|
|
1357
1357
|
}(n)), t = t.concat(function(e) {
|
|
@@ -1361,14 +1361,14 @@ function ve(e, t) {
|
|
|
1361
1361
|
const t = e.map((e) => e.name);
|
|
1362
1362
|
return {
|
|
1363
1363
|
message: `The same RegExp pattern ->${e[0].PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,
|
|
1364
|
-
type:
|
|
1364
|
+
type: Qe.DUPLICATE_PATTERNS_FOUND,
|
|
1365
1365
|
tokenTypes: e
|
|
1366
1366
|
};
|
|
1367
1367
|
});
|
|
1368
1368
|
}(n)), t = t.concat(function(e) {
|
|
1369
1369
|
return e.filter((e) => e.PATTERN.test("")).map((e) => ({
|
|
1370
1370
|
message: "Token Type: ->" + e.name + "<- static 'PATTERN' must not match an empty string",
|
|
1371
|
-
type:
|
|
1371
|
+
type: Qe.EMPTY_MATCH_PATTERN,
|
|
1372
1372
|
tokenTypes: [e]
|
|
1373
1373
|
}));
|
|
1374
1374
|
}(n)), t;
|
|
@@ -1379,13 +1379,13 @@ function ve(e, t) {
|
|
|
1379
1379
|
return t !== tt.SKIPPED && t !== tt.NA && !("string" == typeof t);
|
|
1380
1380
|
}).map((e) => ({
|
|
1381
1381
|
message: "Token Type: ->" + e.name + "<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",
|
|
1382
|
-
type:
|
|
1382
|
+
type: Qe.INVALID_GROUP_TYPE_FOUND,
|
|
1383
1383
|
tokenTypes: [e]
|
|
1384
1384
|
}));
|
|
1385
1385
|
}(s)), n = n.concat(function(e, t) {
|
|
1386
1386
|
return e.filter((e) => void 0 !== e.PUSH_MODE && !t.includes(e.PUSH_MODE)).map((e) => ({
|
|
1387
1387
|
message: `Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,
|
|
1388
|
-
type:
|
|
1388
|
+
type: Qe.PUSH_MODE_DOES_NOT_EXIST,
|
|
1389
1389
|
tokenTypes: [e]
|
|
1390
1390
|
}));
|
|
1391
1391
|
}(s, t)), n = n.concat(function(e) {
|
|
@@ -1432,7 +1432,7 @@ function ve(e, t) {
|
|
|
1432
1432
|
const n = `Token: ->${s.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;
|
|
1433
1433
|
t.push({
|
|
1434
1434
|
message: n,
|
|
1435
|
-
type:
|
|
1435
|
+
type: Qe.UNREACHABLE_PATTERN,
|
|
1436
1436
|
tokenTypes: [e, s]
|
|
1437
1437
|
});
|
|
1438
1438
|
}
|
|
@@ -1476,19 +1476,19 @@ function Fe(e, t) {
|
|
|
1476
1476
|
Se(t, e.PATTERN);
|
|
1477
1477
|
} catch (e) {
|
|
1478
1478
|
return {
|
|
1479
|
-
issue:
|
|
1479
|
+
issue: Qe.IDENTIFY_TERMINATOR,
|
|
1480
1480
|
errMsg: e.message
|
|
1481
1481
|
};
|
|
1482
1482
|
}
|
|
1483
1483
|
return !1;
|
|
1484
1484
|
}
|
|
1485
1485
|
if ("string" == typeof e.PATTERN) return !1;
|
|
1486
|
-
if (be(e)) return { issue:
|
|
1486
|
+
if (be(e)) return { issue: Qe.CUSTOM_LINE_BREAK };
|
|
1487
1487
|
throw Error("non exhaustive match");
|
|
1488
1488
|
}
|
|
1489
1489
|
function De(e, t) {
|
|
1490
|
-
if (t.issue ===
|
|
1491
|
-
if (t.issue ===
|
|
1490
|
+
if (t.issue === Qe.IDENTIFY_TERMINATOR) return `Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;
|
|
1491
|
+
if (t.issue === Qe.CUSTOM_LINE_BREAK) return `Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <${e.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;
|
|
1492
1492
|
throw Error("non exhaustive match");
|
|
1493
1493
|
}
|
|
1494
1494
|
function Be(e) {
|
|
@@ -1554,16 +1554,16 @@ function Xe(e) {
|
|
|
1554
1554
|
function qe(e) {
|
|
1555
1555
|
return Object.hasOwn(null != e ? e : {}, "CATEGORIES");
|
|
1556
1556
|
}
|
|
1557
|
-
function
|
|
1557
|
+
function Ze(e) {
|
|
1558
1558
|
return Object.hasOwn(null != e ? e : {}, "tokenTypeIdx");
|
|
1559
1559
|
}
|
|
1560
|
-
var
|
|
1560
|
+
var Qe, Je = {
|
|
1561
1561
|
buildUnableToPopLexerModeMessage: (e) => `Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,
|
|
1562
1562
|
buildUnexpectedCharactersMessage: (e, t, n, i, r, s) => `unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters.`
|
|
1563
1563
|
};
|
|
1564
1564
|
(function(e) {
|
|
1565
1565
|
e[e.MISSING_PATTERN = 0] = "MISSING_PATTERN", e[e.INVALID_PATTERN = 1] = "INVALID_PATTERN", e[e.EOI_ANCHOR_FOUND = 2] = "EOI_ANCHOR_FOUND", e[e.UNSUPPORTED_FLAGS_FOUND = 3] = "UNSUPPORTED_FLAGS_FOUND", e[e.DUPLICATE_PATTERNS_FOUND = 4] = "DUPLICATE_PATTERNS_FOUND", e[e.INVALID_GROUP_TYPE_FOUND = 5] = "INVALID_GROUP_TYPE_FOUND", e[e.PUSH_MODE_DOES_NOT_EXIST = 6] = "PUSH_MODE_DOES_NOT_EXIST", e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE = 7] = "MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE", e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY = 8] = "MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY", e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST = 9] = "MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST", e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED = 10] = "LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED", e[e.SOI_ANCHOR_FOUND = 11] = "SOI_ANCHOR_FOUND", e[e.EMPTY_MATCH_PATTERN = 12] = "EMPTY_MATCH_PATTERN", e[e.NO_LINE_BREAKS_FLAGS = 13] = "NO_LINE_BREAKS_FLAGS", e[e.UNREACHABLE_PATTERN = 14] = "UNREACHABLE_PATTERN", e[e.IDENTIFY_TERMINATOR = 15] = "IDENTIFY_TERMINATOR", e[e.CUSTOM_LINE_BREAK = 16] = "CUSTOM_LINE_BREAK", e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE = 17] = "MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";
|
|
1566
|
-
})(
|
|
1566
|
+
})(Qe || (Qe = {}));
|
|
1567
1567
|
var et = {
|
|
1568
1568
|
deferDefinitionErrorsHandling: !1,
|
|
1569
1569
|
positionTracking: "full",
|
|
@@ -1606,23 +1606,23 @@ var tt = class {
|
|
|
1606
1606
|
const t = [];
|
|
1607
1607
|
return Object.hasOwn(e, "defaultMode") || t.push({
|
|
1608
1608
|
message: "A MultiMode Lexer cannot be initialized without a <defaultMode> property in its definition\n",
|
|
1609
|
-
type:
|
|
1609
|
+
type: Qe.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE
|
|
1610
1610
|
}), Object.hasOwn(e, "modes") || t.push({
|
|
1611
1611
|
message: "A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",
|
|
1612
|
-
type:
|
|
1612
|
+
type: Qe.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY
|
|
1613
1613
|
}), Object.hasOwn(e, "modes") && Object.hasOwn(e, "defaultMode") && !Object.hasOwn(e.modes, e.defaultMode) && t.push({
|
|
1614
1614
|
message: `A MultiMode Lexer cannot be initialized with a ${ye}: <${e.defaultMode}>which does not exist\n`,
|
|
1615
|
-
type:
|
|
1615
|
+
type: Qe.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST
|
|
1616
1616
|
}), Object.hasOwn(e, "modes") && Object.keys(e.modes).forEach((n) => {
|
|
1617
1617
|
const i = e.modes[n];
|
|
1618
1618
|
i.forEach((e, r) => {
|
|
1619
1619
|
void 0 === e ? t.push({
|
|
1620
1620
|
message: `A Lexer cannot be initialized using an undefined Token Type. Mode:<${n}> at index: <${r}>\n`,
|
|
1621
|
-
type:
|
|
1621
|
+
type: Qe.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED
|
|
1622
1622
|
}) : Object.hasOwn(e, "LONGER_ALT") && (Array.isArray(e.LONGER_ALT) ? e.LONGER_ALT : [e.LONGER_ALT]).forEach((r) => {
|
|
1623
1623
|
void 0 === r || i.includes(r) || t.push({
|
|
1624
1624
|
message: `A MultiMode Lexer cannot be initialized with a longer_alt <${r.name}> on token <${e.name}> outside of mode <${n}>\n`,
|
|
1625
|
-
type:
|
|
1625
|
+
type: Qe.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE
|
|
1626
1626
|
});
|
|
1627
1627
|
});
|
|
1628
1628
|
});
|
|
@@ -1645,7 +1645,7 @@ var tt = class {
|
|
|
1645
1645
|
} else Object.hasOwn(e, "LINE_BREAKS") ? !0 === e.LINE_BREAKS && (r = !0) : Se(o, e.PATTERN) && (r = !0);
|
|
1646
1646
|
}), t && !r && i.push({
|
|
1647
1647
|
message: "Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",
|
|
1648
|
-
type:
|
|
1648
|
+
type: Qe.NO_LINE_BREAKS_FLAGS
|
|
1649
1649
|
}), i;
|
|
1650
1650
|
}(n, this.trackStartLines, this.config.lineTerminatorCharacters));
|
|
1651
1651
|
})), n.modes = n.modes ? n.modes : {}, Object.entries(n.modes).forEach(([e, t]) => {
|
|
@@ -2002,7 +2002,7 @@ var Ot, At = class extends z {
|
|
|
2002
2002
|
});
|
|
2003
2003
|
}
|
|
2004
2004
|
}
|
|
2005
|
-
}, Rt = class extends
|
|
2005
|
+
}, Rt = class extends Z {
|
|
2006
2006
|
constructor(e, t) {
|
|
2007
2007
|
super(), this.topProd = e, this.path = t, this.possibleTokTypes = [], this.nextProductionName = "", this.nextProductionOccurrence = 0, this.found = !1, this.isAtEndOfPath = !1;
|
|
2008
2008
|
}
|
|
@@ -2032,7 +2032,7 @@ var Ot, At = class extends z {
|
|
|
2032
2032
|
this.possibleTokTypes = J(i), this.found = !0;
|
|
2033
2033
|
}
|
|
2034
2034
|
}
|
|
2035
|
-
}, _t = class extends
|
|
2035
|
+
}, _t = class extends Z {
|
|
2036
2036
|
constructor(e, t) {
|
|
2037
2037
|
super(), this.topRule = e, this.occurrence = t, this.result = {
|
|
2038
2038
|
token: void 0,
|
|
@@ -2191,7 +2191,7 @@ function Pt(e, t, n) {
|
|
|
2191
2191
|
(function(e) {
|
|
2192
2192
|
e[e.OPTION = 0] = "OPTION", e[e.REPETITION = 1] = "REPETITION", e[e.REPETITION_MANDATORY = 2] = "REPETITION_MANDATORY", e[e.REPETITION_MANDATORY_WITH_SEPARATOR = 3] = "REPETITION_MANDATORY_WITH_SEPARATOR", e[e.REPETITION_WITH_SEPARATOR = 4] = "REPETITION_WITH_SEPARATOR", e[e.ALTERNATION = 5] = "ALTERNATION";
|
|
2193
2193
|
})(Ot || (Ot = {}));
|
|
2194
|
-
var Mt = class extends
|
|
2194
|
+
var Mt = class extends Z {
|
|
2195
2195
|
constructor(e, t, n) {
|
|
2196
2196
|
super(), this.topProd = e, this.targetOccurrence = t, this.targetProdType = n;
|
|
2197
2197
|
}
|
|
@@ -2636,7 +2636,7 @@ function qt(e, t) {
|
|
|
2636
2636
|
alternative: r + 1
|
|
2637
2637
|
}] : []));
|
|
2638
2638
|
}
|
|
2639
|
-
function
|
|
2639
|
+
function Zt(e, t, n) {
|
|
2640
2640
|
const i = new Xt();
|
|
2641
2641
|
e.accept(i);
|
|
2642
2642
|
let r = i.alternations;
|
|
@@ -2703,7 +2703,7 @@ function Qt(e, t, n) {
|
|
|
2703
2703
|
return a.concat(c);
|
|
2704
2704
|
});
|
|
2705
2705
|
}
|
|
2706
|
-
var
|
|
2706
|
+
var Qt = class extends z {
|
|
2707
2707
|
constructor() {
|
|
2708
2708
|
super(...arguments), this.allProductions = [];
|
|
2709
2709
|
}
|
|
@@ -2801,13 +2801,13 @@ var mn = 1024, En = 1280, Tn = 1536, gn = class {
|
|
|
2801
2801
|
return e.flatMap((e) => qt(e, gt));
|
|
2802
2802
|
}
|
|
2803
2803
|
validateAmbiguousAlternationAlternatives(e, t) {
|
|
2804
|
-
return e.flatMap((e) =>
|
|
2804
|
+
return e.flatMap((e) => Zt(e, t, gt));
|
|
2805
2805
|
}
|
|
2806
2806
|
validateSomeNonEmptyLookaheadPath(e, t) {
|
|
2807
2807
|
return function(e, t, n) {
|
|
2808
2808
|
const i = [];
|
|
2809
2809
|
return e.forEach((e) => {
|
|
2810
|
-
const r = new
|
|
2810
|
+
const r = new Qt();
|
|
2811
2811
|
e.accept(r), r.allProductions.forEach((r) => {
|
|
2812
2812
|
const s = vt(r), o = r.maxLookahead || t;
|
|
2813
2813
|
if (0 === $t(r.idx, e, s, o)[0].flat().length) {
|
|
@@ -3398,7 +3398,7 @@ $n.DEFER_DEFINITION_ERRORS_HANDLING = !1, Bn = $n, [
|
|
|
3398
3398
|
if ("number" == typeof e[0].startOffset) throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.");
|
|
3399
3399
|
}
|
|
3400
3400
|
if (Array.isArray(e)) this.tokensMap = e.reduce((e, t) => (e[t.name] = t, e), {});
|
|
3401
|
-
else if (Object.hasOwn(e, "modes") && Object.values(e.modes).flat().every(
|
|
3401
|
+
else if (Object.hasOwn(e, "modes") && Object.values(e.modes).flat().every(Ze)) {
|
|
3402
3402
|
const t = Object.values(e.modes).flat(), n = [...new Set(t)];
|
|
3403
3403
|
this.tokensMap = n.reduce((e, t) => (e[t.name] = t, e), {});
|
|
3404
3404
|
} else {
|
|
@@ -4187,22 +4187,22 @@ var jn = class extends $n {
|
|
|
4187
4187
|
}
|
|
4188
4188
|
}, Gn = class t {
|
|
4189
4189
|
static shared(e) {
|
|
4190
|
-
const n = e?.locale ??
|
|
4191
|
-
let
|
|
4192
|
-
|
|
4193
|
-
const
|
|
4194
|
-
let
|
|
4195
|
-
return
|
|
4190
|
+
const n = e?.locale ?? g, i = e?.maxColumn ?? Vn, r = e?.maxRow ?? Yn;
|
|
4191
|
+
let s = Hn.get(n);
|
|
4192
|
+
s || (s = /* @__PURE__ */ new Map(), Hn.set(n, s));
|
|
4193
|
+
const o = `${i}:${r}`;
|
|
4194
|
+
let a = s.get(o);
|
|
4195
|
+
return a || (a = new t({
|
|
4196
4196
|
locale: n,
|
|
4197
4197
|
maxColumn: i,
|
|
4198
4198
|
maxRow: r
|
|
4199
|
-
}),
|
|
4199
|
+
}), s.set(o, a)), a;
|
|
4200
4200
|
}
|
|
4201
4201
|
constructor(e) {
|
|
4202
|
-
const t = e?.maxColumn ?? Vn, n = e?.maxRow ?? Yn, i = e?.locale ??
|
|
4202
|
+
const t = e?.maxColumn ?? Vn, n = e?.maxRow ?? Yn, i = e?.locale ?? g;
|
|
4203
4203
|
this._locale = i, this._maxColumn = t, this._maxRow = n;
|
|
4204
|
-
const { separatorFunction: r, separatorColumn:
|
|
4205
|
-
if (
|
|
4204
|
+
const { separatorFunction: r, separatorColumn: s, separatorRow: o, separatorDecimal: a } = i.separators;
|
|
4205
|
+
if (s === o) throw new Error(`FormulaLexer: separatorColumn and separatorRow must differ (both '${s}')`);
|
|
4206
4206
|
const h = pt({
|
|
4207
4207
|
name: "WhiteSpace",
|
|
4208
4208
|
pattern: /[ \n\v\f\r\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,
|
|
@@ -4215,12 +4215,12 @@ var jn = class extends $n {
|
|
|
4215
4215
|
pattern: /[a-zA-Z_\u007F-\uFFFF]+[a-zA-Z0-9_.\u007F-\uFFFF]*(?=\()/
|
|
4216
4216
|
}), d = pt({
|
|
4217
4217
|
name: "TableReference",
|
|
4218
|
-
pattern: { exec:
|
|
4218
|
+
pattern: { exec: c },
|
|
4219
4219
|
line_breaks: !1,
|
|
4220
4220
|
start_chars_hint: Wn
|
|
4221
4221
|
}), p = pt({
|
|
4222
4222
|
name: "BracketedString",
|
|
4223
|
-
pattern: { exec:
|
|
4223
|
+
pattern: { exec: O },
|
|
4224
4224
|
line_breaks: !1,
|
|
4225
4225
|
start_chars_hint: [91],
|
|
4226
4226
|
longer_alt: [d, l]
|
|
@@ -4247,20 +4247,20 @@ var jn = class extends $n {
|
|
|
4247
4247
|
}), T = pt({
|
|
4248
4248
|
name: "RefError",
|
|
4249
4249
|
pattern: new RegExp(f(i.errorRefs) + ["#REF!", "#NAME\\?"].map(m).join("|"))
|
|
4250
|
-
}),
|
|
4250
|
+
}), A = pt({
|
|
4251
4251
|
name: "SingleQuotedString",
|
|
4252
4252
|
pattern: /'(''|[^'])*'/
|
|
4253
|
-
}),
|
|
4253
|
+
}), R = pt({
|
|
4254
4254
|
name: "SheetQuoted",
|
|
4255
4255
|
pattern: /'(?:''|[^'])*?'!/
|
|
4256
|
-
}),
|
|
4256
|
+
}), I = pt({
|
|
4257
4257
|
name: "Sheet",
|
|
4258
4258
|
pattern: /[A-Za-z_.\d\u007F-\uFFFF]*!/
|
|
4259
|
-
}),
|
|
4259
|
+
}), _ = /[a-zA-Z_\\\u007F-\uFFFF][a-zA-Z0-9_.?\\\u007F-\uFFFF]*:?/y, N = pt({
|
|
4260
4260
|
name: "NamedToken",
|
|
4261
4261
|
pattern: { exec: (e, t) => {
|
|
4262
|
-
|
|
4263
|
-
const n =
|
|
4262
|
+
_.lastIndex = t;
|
|
4263
|
+
const n = _.exec(e);
|
|
4264
4264
|
if (!n) return null;
|
|
4265
4265
|
let i = n[0];
|
|
4266
4266
|
const r = i.indexOf(".:");
|
|
@@ -4268,25 +4268,25 @@ var jn = class extends $n {
|
|
|
4268
4268
|
} },
|
|
4269
4269
|
line_breaks: !1,
|
|
4270
4270
|
start_chars_hint: Wn
|
|
4271
|
-
}),
|
|
4271
|
+
}), L = pt({
|
|
4272
4272
|
name: "Cell",
|
|
4273
4273
|
pattern: { exec: qn(t, n) },
|
|
4274
4274
|
line_breaks: !1,
|
|
4275
4275
|
start_chars_hint: [36, ...Kn],
|
|
4276
|
-
longer_alt:
|
|
4277
|
-
}),
|
|
4276
|
+
longer_alt: N
|
|
4277
|
+
}), S = pt({
|
|
4278
4278
|
name: "Column",
|
|
4279
4279
|
pattern: { exec: Xn(t) },
|
|
4280
4280
|
line_breaks: !1,
|
|
4281
4281
|
start_chars_hint: [36, ...Kn],
|
|
4282
|
-
longer_alt:
|
|
4283
|
-
}),
|
|
4282
|
+
longer_alt: N
|
|
4283
|
+
}), C = pt({
|
|
4284
4284
|
name: "AbsRow",
|
|
4285
4285
|
pattern: /[$][0-9]+/
|
|
4286
|
-
}),
|
|
4286
|
+
}), y = "." === a ? "\\." : a, k = pt({
|
|
4287
4287
|
name: "NumberToken",
|
|
4288
|
-
pattern: new RegExp(`[0-9]+${
|
|
4289
|
-
}),
|
|
4288
|
+
pattern: new RegExp(`[0-9]+${y}(?!:)[0-9]*([eE][+-]?[0-9]+|\\*\\*[+-]?[0-9]+)?|${y}[0-9]+([eE][+-]?[0-9]+|\\*\\*[+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+`)
|
|
4289
|
+
}), v = pt({
|
|
4290
4290
|
name: "ScientificDigit",
|
|
4291
4291
|
pattern: /[0-9]+\*\*[+-]?[0-9]+/
|
|
4292
4292
|
}), x = pt({
|
|
@@ -4302,13 +4302,13 @@ var jn = class extends $n {
|
|
|
4302
4302
|
pattern: new RegExp(P.join("|"), "i")
|
|
4303
4303
|
}), b = pt({
|
|
4304
4304
|
name: "ArgSeparator",
|
|
4305
|
-
pattern:
|
|
4305
|
+
pattern: Zn(r)
|
|
4306
4306
|
}), U = pt({
|
|
4307
4307
|
name: "ColSeparator",
|
|
4308
|
-
pattern:
|
|
4308
|
+
pattern: Zn(s)
|
|
4309
4309
|
}), w = pt({
|
|
4310
4310
|
name: "RowSeparator",
|
|
4311
|
-
pattern:
|
|
4311
|
+
pattern: Zn(o)
|
|
4312
4312
|
}), F = pt({
|
|
4313
4313
|
name: "RangeOp",
|
|
4314
4314
|
pattern: /:/
|
|
@@ -4351,10 +4351,10 @@ var jn = class extends $n {
|
|
|
4351
4351
|
}), q = pt({
|
|
4352
4352
|
name: "ImplicitIntersectOp",
|
|
4353
4353
|
pattern: /@/
|
|
4354
|
-
}),
|
|
4354
|
+
}), Z = pt({
|
|
4355
4355
|
name: "ConcatOp",
|
|
4356
4356
|
pattern: /&/
|
|
4357
|
-
}),
|
|
4357
|
+
}), Q = pt({
|
|
4358
4358
|
name: "ExOp",
|
|
4359
4359
|
pattern: /\^/
|
|
4360
4360
|
}), J = pt({
|
|
@@ -4376,31 +4376,31 @@ var jn = class extends $n {
|
|
|
4376
4376
|
}), re = [
|
|
4377
4377
|
h,
|
|
4378
4378
|
l,
|
|
4379
|
-
|
|
4380
|
-
g,
|
|
4379
|
+
R,
|
|
4381
4380
|
A,
|
|
4381
|
+
I,
|
|
4382
4382
|
u,
|
|
4383
4383
|
d,
|
|
4384
4384
|
p,
|
|
4385
4385
|
E,
|
|
4386
4386
|
T,
|
|
4387
4387
|
b,
|
|
4388
|
-
...
|
|
4388
|
+
...s !== r ? [U] : [],
|
|
4389
4389
|
w,
|
|
4390
4390
|
D,
|
|
4391
4391
|
B,
|
|
4392
4392
|
$,
|
|
4393
4393
|
F,
|
|
4394
|
-
N,
|
|
4395
|
-
M,
|
|
4396
4394
|
L,
|
|
4395
|
+
M,
|
|
4397
4396
|
S,
|
|
4398
|
-
|
|
4397
|
+
C,
|
|
4399
4398
|
k,
|
|
4399
|
+
v,
|
|
4400
4400
|
x,
|
|
4401
4401
|
ee,
|
|
4402
4402
|
q,
|
|
4403
|
-
|
|
4403
|
+
N,
|
|
4404
4404
|
j,
|
|
4405
4405
|
G,
|
|
4406
4406
|
K,
|
|
@@ -4410,8 +4410,8 @@ var jn = class extends $n {
|
|
|
4410
4410
|
Y,
|
|
4411
4411
|
z,
|
|
4412
4412
|
X,
|
|
4413
|
-
Q,
|
|
4414
4413
|
Z,
|
|
4414
|
+
Q,
|
|
4415
4415
|
J,
|
|
4416
4416
|
pt({
|
|
4417
4417
|
name: "NeqOp",
|
|
@@ -4433,7 +4433,7 @@ var jn = class extends $n {
|
|
|
4433
4433
|
const se = {};
|
|
4434
4434
|
re.forEach((e) => {
|
|
4435
4435
|
se[e.name] = e;
|
|
4436
|
-
}),
|
|
4436
|
+
}), s === r && (se.ColSeparator = b), this._vocabulary = se;
|
|
4437
4437
|
}
|
|
4438
4438
|
tokenize(t, n = !0) {
|
|
4439
4439
|
const i = this._lexer.tokenize(t);
|
|
@@ -4529,13 +4529,13 @@ function qn(e, t) {
|
|
|
4529
4529
|
return a < 1 || a > t ? null : [n.substring(i, r)];
|
|
4530
4530
|
};
|
|
4531
4531
|
}
|
|
4532
|
-
function
|
|
4532
|
+
function Zn(e) {
|
|
4533
4533
|
return new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
4534
4534
|
}
|
|
4535
|
-
var
|
|
4536
|
-
constructor(e =
|
|
4535
|
+
var Qn = class {
|
|
4536
|
+
constructor(e = g) {
|
|
4537
4537
|
const t = function(e) {
|
|
4538
|
-
const t = [...
|
|
4538
|
+
const t = [...s];
|
|
4539
4539
|
if (e) for (const n of Object.values(e)) {
|
|
4540
4540
|
const e = n?.trim();
|
|
4541
4541
|
e && !t.some((t) => t.toLowerCase() === e.toLowerCase()) && t.push(e);
|
|
@@ -4582,53 +4582,53 @@ var Zn = class {
|
|
|
4582
4582
|
return this._lexer.tokenize(e);
|
|
4583
4583
|
}
|
|
4584
4584
|
}, Jn = class extends jn {
|
|
4585
|
-
constructor(e =
|
|
4586
|
-
const t = new
|
|
4585
|
+
constructor(e = g) {
|
|
4586
|
+
const t = new Qn(e), n = t.getVocabulary();
|
|
4587
4587
|
super(n, {
|
|
4588
4588
|
nodeLocationTracking: "none",
|
|
4589
4589
|
maxLookahead: 2,
|
|
4590
4590
|
skipValidations: !0,
|
|
4591
4591
|
recoveryEnabled: !1
|
|
4592
4592
|
}), this._lexer = t;
|
|
4593
|
-
const { TableSpecifier: i, BracketedColumn: r, BareSpecifier:
|
|
4594
|
-
|
|
4595
|
-
const e = [], t =
|
|
4596
|
-
return
|
|
4593
|
+
const { TableSpecifier: i, BracketedColumn: r, BareSpecifier: s, ColumnSep: o, ListSep: a } = n, c = this;
|
|
4594
|
+
c.RULE("ruleContent", () => {
|
|
4595
|
+
const e = [], t = c.SUBRULE(c.ruleItem);
|
|
4596
|
+
return c.ACTION(() => {
|
|
4597
4597
|
t && e.push(t);
|
|
4598
|
-
}),
|
|
4599
|
-
|
|
4600
|
-
const t =
|
|
4601
|
-
|
|
4598
|
+
}), c.MANY(() => {
|
|
4599
|
+
c.CONSUME(a), c.OPTION(() => {
|
|
4600
|
+
const t = c.SUBRULE2(c.ruleItem);
|
|
4601
|
+
c.ACTION(() => {
|
|
4602
4602
|
t && e.push(t);
|
|
4603
4603
|
});
|
|
4604
4604
|
});
|
|
4605
4605
|
}), e;
|
|
4606
|
-
}),
|
|
4607
|
-
const t =
|
|
4608
|
-
return
|
|
4609
|
-
const n =
|
|
4606
|
+
}), c.RULE("ruleItem", () => c.OR([{ ALT: () => c.SUBRULE(c.ruleSpecifier) }, { ALT: () => c.SUBRULE(c.ruleColumnOrRange) }])), c.RULE("ruleSpecifier", () => c.OR([{ ALT: () => {
|
|
4607
|
+
const t = c.CONSUME(i);
|
|
4608
|
+
return c.ACTION(() => {
|
|
4609
|
+
const n = C(t.image, e);
|
|
4610
4610
|
return n.image = t.image, n;
|
|
4611
4611
|
});
|
|
4612
4612
|
} }, { ALT: () => {
|
|
4613
|
-
const t =
|
|
4614
|
-
return
|
|
4615
|
-
const n =
|
|
4613
|
+
const t = c.CONSUME(s);
|
|
4614
|
+
return c.ACTION(() => {
|
|
4615
|
+
const n = C(t.image, e);
|
|
4616
4616
|
return n.image = t.image, n;
|
|
4617
4617
|
});
|
|
4618
|
-
} }])),
|
|
4619
|
-
const e =
|
|
4618
|
+
} }])), c.RULE("ruleColumnOrRange", () => {
|
|
4619
|
+
const e = c.CONSUME(r);
|
|
4620
4620
|
let t, n;
|
|
4621
|
-
return
|
|
4622
|
-
t =
|
|
4623
|
-
}),
|
|
4624
|
-
const i =
|
|
4621
|
+
return c.OPTION(() => {
|
|
4622
|
+
t = c.CONSUME(o), n = c.CONSUME2(r);
|
|
4623
|
+
}), c.ACTION(() => {
|
|
4624
|
+
const i = u(e.image);
|
|
4625
4625
|
if (i.image = e.image, !n) return i;
|
|
4626
|
-
const r =
|
|
4626
|
+
const r = u(n.image);
|
|
4627
4627
|
r.image = n.image;
|
|
4628
|
-
const s =
|
|
4628
|
+
const s = p(":", i, r, !0);
|
|
4629
4629
|
return s.image = t?.image ?? ":", s;
|
|
4630
4630
|
});
|
|
4631
|
-
}),
|
|
4631
|
+
}), c.performSelfAnalysis();
|
|
4632
4632
|
}
|
|
4633
4633
|
_parseInner(e) {
|
|
4634
4634
|
const t = this._lexer.tokenize(e);
|
|
@@ -4642,23 +4642,23 @@ var Zn = class {
|
|
|
4642
4642
|
if ("@" === n) {
|
|
4643
4643
|
const e = t.slice(1).trim();
|
|
4644
4644
|
if (!e) {
|
|
4645
|
-
const e =
|
|
4645
|
+
const e = f("@", null, !0);
|
|
4646
4646
|
return e.image = "@", [e];
|
|
4647
4647
|
}
|
|
4648
4648
|
if ("[" === e.charAt(0)) {
|
|
4649
4649
|
const t = this._parseInner(e);
|
|
4650
4650
|
if (1 === t.length && "infix" === t[0].type) {
|
|
4651
|
-
const e =
|
|
4651
|
+
const e = f("@", t[0], !0);
|
|
4652
4652
|
return e.image = "@", [e];
|
|
4653
4653
|
}
|
|
4654
4654
|
}
|
|
4655
|
-
const n =
|
|
4655
|
+
const n = u(e);
|
|
4656
4656
|
n.image = e;
|
|
4657
|
-
const i =
|
|
4657
|
+
const i = f("@", n, !0);
|
|
4658
4658
|
return i.image = "@", [i];
|
|
4659
4659
|
}
|
|
4660
4660
|
if ("[" !== n && "#" !== n) {
|
|
4661
|
-
const t =
|
|
4661
|
+
const t = u(e);
|
|
4662
4662
|
return t.image = e, [t];
|
|
4663
4663
|
}
|
|
4664
4664
|
return this._parseInner(t);
|
|
@@ -4666,7 +4666,7 @@ var Zn = class {
|
|
|
4666
4666
|
parse(e, t, n) {
|
|
4667
4667
|
this.reset();
|
|
4668
4668
|
const i = () => ({
|
|
4669
|
-
root:
|
|
4669
|
+
root: m("", []),
|
|
4670
4670
|
errors: []
|
|
4671
4671
|
});
|
|
4672
4672
|
if (!n) return i();
|
|
@@ -4679,7 +4679,7 @@ var Zn = class {
|
|
|
4679
4679
|
if (-1 === s) return i();
|
|
4680
4680
|
const o = n.slice(0, s), a = n.slice(s + 1, -1), c = this._parseContent(a);
|
|
4681
4681
|
return {
|
|
4682
|
-
root:
|
|
4682
|
+
root: m(o, c),
|
|
4683
4683
|
errors: this.errors.length > 0 ? [...this.errors] : []
|
|
4684
4684
|
};
|
|
4685
4685
|
}
|
|
@@ -4694,7 +4694,7 @@ var Zn = class {
|
|
|
4694
4694
|
":."
|
|
4695
4695
|
]), ni = (e) => {
|
|
4696
4696
|
if (!e) return null;
|
|
4697
|
-
if (e.type ===
|
|
4697
|
+
if (e.type === n.Cell) {
|
|
4698
4698
|
const t = e.value;
|
|
4699
4699
|
return t.rowIndex === Number.MIN_SAFE_INTEGER ? "col" : t.colIndex === Number.MIN_SAFE_INTEGER ? "row" : null;
|
|
4700
4700
|
}
|
|
@@ -4752,23 +4752,23 @@ var ai = {
|
|
|
4752
4752
|
])), f = {
|
|
4753
4753
|
value: p,
|
|
4754
4754
|
index: this.getLexerPosition(),
|
|
4755
|
-
isRange:
|
|
4756
|
-
},
|
|
4755
|
+
isRange: I.includes(p)
|
|
4756
|
+
}, m = this.SUBRULE2(this._rulePostfixOp);
|
|
4757
4757
|
d.push({
|
|
4758
4758
|
op: f,
|
|
4759
|
-
node:
|
|
4759
|
+
node: m
|
|
4760
4760
|
});
|
|
4761
4761
|
}), this.ACTION(() => {
|
|
4762
4762
|
let e = d.length - 1;
|
|
4763
|
-
const t =
|
|
4763
|
+
const t = A.length;
|
|
4764
4764
|
for (let n = 0; e > 0 && n < t; n++) {
|
|
4765
|
-
const t =
|
|
4765
|
+
const t = A[n];
|
|
4766
4766
|
let i = 1;
|
|
4767
4767
|
for (; i < d.length;) {
|
|
4768
4768
|
const n = d[i].op;
|
|
4769
4769
|
if (t.includes(n.value)) {
|
|
4770
4770
|
const t = d[i - 1].node, r = d[i].node;
|
|
4771
|
-
let s =
|
|
4771
|
+
let s = p(n.value, t, r, n.isRange);
|
|
4772
4772
|
s = this._tag(s, n.index), d[i - 1].node = s, d.splice(i, 1), e--;
|
|
4773
4773
|
} else i++;
|
|
4774
4774
|
}
|
|
@@ -4789,8 +4789,8 @@ var ai = {
|
|
|
4789
4789
|
}), this.ACTION(() => {
|
|
4790
4790
|
const e = n.length;
|
|
4791
4791
|
if (0 !== e) for (let i = 0; i < e; i++) {
|
|
4792
|
-
const e = n[i], r = e[0], s = e[1], o =
|
|
4793
|
-
t =
|
|
4792
|
+
const e = n[i], r = e[0], s = e[1], o = I.includes(r);
|
|
4793
|
+
t = a(r, t, o), t = this._tag(t, s);
|
|
4794
4794
|
}
|
|
4795
4795
|
}), t;
|
|
4796
4796
|
}), this._rulePrefixOp = this.RULE("rulePrefixOp", () => {
|
|
@@ -4805,14 +4805,14 @@ var ai = {
|
|
|
4805
4805
|
i.push([r, this.getLexerPosition()]);
|
|
4806
4806
|
});
|
|
4807
4807
|
});
|
|
4808
|
-
let
|
|
4808
|
+
let r = this.SUBRULE(this._ruleRangeOp);
|
|
4809
4809
|
return this.ACTION(() => {
|
|
4810
4810
|
const e = i.length;
|
|
4811
4811
|
if (0 !== e) for (let t = e - 1; t >= 0; t--) {
|
|
4812
|
-
const e = i[t], n = e[0],
|
|
4813
|
-
|
|
4812
|
+
const e = i[t], n = e[0], s = e[1], o = I.includes(n);
|
|
4813
|
+
r = f(n, r, o), r = this._tag(r, s);
|
|
4814
4814
|
}
|
|
4815
|
-
}),
|
|
4815
|
+
}), r;
|
|
4816
4816
|
}), this._ruleRangeOp = this.RULE("ruleRangeOp", () => {
|
|
4817
4817
|
const { RangeOp: e, RangeTrimFullOp: t, RangeTrimLeadingOp: n, RangeTrimTrailingOp: i, ArrayAnchorOp: r } = this._vocab, s = [];
|
|
4818
4818
|
return s.push({ node: this.SUBRULE(this._ruleCallOp) }), this.MANY2(() => {
|
|
@@ -4838,22 +4838,22 @@ var ai = {
|
|
|
4838
4838
|
const t = s[e], n = s[e + 1];
|
|
4839
4839
|
if (":" !== t.op?.value || ":" !== n.op?.value) continue;
|
|
4840
4840
|
const i = ni(t.node);
|
|
4841
|
-
i && ni(n.node) === i && ni(s[e - 1].node) !== i && (t.node = this._tag(
|
|
4841
|
+
i && ni(n.node) === i && ni(s[e - 1].node) !== i && (t.node = this._tag(p(":", t.node, n.node, !0), n.op.index), s.splice(e + 1, 1));
|
|
4842
4842
|
}
|
|
4843
4843
|
for (let e = 1; e < s.length; e++) {
|
|
4844
4844
|
const t = s[e];
|
|
4845
4845
|
if (void 0 !== t.anchor) {
|
|
4846
|
-
s[0].node = this._tag(
|
|
4846
|
+
s[0].node = this._tag(a("#", s[0].node, !0), t.anchor);
|
|
4847
4847
|
continue;
|
|
4848
4848
|
}
|
|
4849
4849
|
const n = t.op;
|
|
4850
|
-
let i =
|
|
4850
|
+
let i = p(n.value, s[0].node, t.node, !0);
|
|
4851
4851
|
i = this._tag(i, n.index), s[0].node = i;
|
|
4852
4852
|
}
|
|
4853
4853
|
}), s[0].node;
|
|
4854
4854
|
}), this._ruleCallOp = this.RULE("ruleCallOp", () => {
|
|
4855
|
-
const { OpenParen: e, CloseParen:
|
|
4856
|
-
let
|
|
4855
|
+
const { OpenParen: e, CloseParen: t } = this._vocab;
|
|
4856
|
+
let n = this.SUBRULE(this._ruleFormula);
|
|
4857
4857
|
return this.MANY({
|
|
4858
4858
|
GATE: () => {
|
|
4859
4859
|
const t = this.LA(0), n = this.LA(1);
|
|
@@ -4861,12 +4861,12 @@ var ai = {
|
|
|
4861
4861
|
},
|
|
4862
4862
|
DEF: () => {
|
|
4863
4863
|
this.CONSUME(e);
|
|
4864
|
-
const
|
|
4864
|
+
const i = this.getLexerPosition(), r = this.SUBRULE(this._ruleFunctionArguments), s = n, o = this.ACTION(() => this._tag(S(s, r), i)), a = this.OPTION(() => this.CONSUME(t));
|
|
4865
4865
|
this.ACTION(() => {
|
|
4866
|
-
|
|
4866
|
+
a || this._reportError(o, "Missing closing parenthesis ')'", i), this._tagClose(o, this.getLexerPosition()), n = o;
|
|
4867
4867
|
});
|
|
4868
4868
|
}
|
|
4869
|
-
}),
|
|
4869
|
+
}), n;
|
|
4870
4870
|
}), this._ruleIntersectOp = this.RULE("ruleIntersectOp", () => {
|
|
4871
4871
|
const e = [this.SUBRULE(this._ruleInfixOp)];
|
|
4872
4872
|
return this.MANY(() => {
|
|
@@ -4883,7 +4883,7 @@ var ai = {
|
|
|
4883
4883
|
for (; e.length > 1;) {
|
|
4884
4884
|
let t = e.length - 1;
|
|
4885
4885
|
for (let n = 0; n < t; n++) {
|
|
4886
|
-
const i = e[n], r = e[n + 1], s =
|
|
4886
|
+
const i = e[n], r = e[n + 1], s = p(" ", i, r, !0), o = this._tokenMap.get(i);
|
|
4887
4887
|
o && delete o.tokenIndexClose;
|
|
4888
4888
|
const a = this._tokenMap.get(r), c = a?.tokenIndex;
|
|
4889
4889
|
if (void 0 !== c) {
|
|
@@ -4913,13 +4913,13 @@ var ai = {
|
|
|
4913
4913
|
}), t;
|
|
4914
4914
|
}), this._ruleParen = this.RULE("ruleParen", () => {
|
|
4915
4915
|
const { OpenParen: e, CloseParen: t } = this._vocab;
|
|
4916
|
-
return this._processParen(
|
|
4916
|
+
return this._processParen(n.Paren, e, t);
|
|
4917
4917
|
}), this._ruleLiteralArray = this.RULE("ruleLiteralArray", () => {
|
|
4918
4918
|
const { OpenCurlyParen: e, CloseCurlyParen: t, ColSeparator: n, RowSeparator: i } = this._vocab;
|
|
4919
|
-
let r =
|
|
4919
|
+
let r = E();
|
|
4920
4920
|
this.CONSUME(e);
|
|
4921
4921
|
const s = this.getLexerPosition();
|
|
4922
|
-
let o = this.ACTION(() => this._tag(
|
|
4922
|
+
let o = this.ACTION(() => this._tag(R(r), s));
|
|
4923
4923
|
const a = this.SUBRULE(this._ruleLiteralForArray);
|
|
4924
4924
|
this.ACTION(() => {
|
|
4925
4925
|
r.value.push(a);
|
|
@@ -4930,64 +4930,64 @@ var ai = {
|
|
|
4930
4930
|
} }, { ALT: () => this.CONSUME(i) }]);
|
|
4931
4931
|
const t = this.SUBRULE2(this._ruleLiteralForArray);
|
|
4932
4932
|
this.ACTION(() => {
|
|
4933
|
-
e || (r =
|
|
4933
|
+
e || (r = E(), o.value.push(r)), r.value.push(t);
|
|
4934
4934
|
});
|
|
4935
4935
|
});
|
|
4936
4936
|
const c = this.OPTION(() => this.CONSUME(t));
|
|
4937
4937
|
return o = this.ACTION(() => (c || this._reportError(o, "Missing closing parenthesis '}'", s), this._tagClose(o, this.getLexerPosition()))), o;
|
|
4938
4938
|
}), this._ruleLiteralForArray = this.RULE("ruleLiteralForArray", () => {
|
|
4939
|
-
const { StringToken: e, BooleanToken: t, LiteralError: n, RefError:
|
|
4939
|
+
const { StringToken: e, BooleanToken: t, LiteralError: n, RefError: i } = this._vocab;
|
|
4940
4940
|
return this.OR([
|
|
4941
4941
|
{ ALT: () => {
|
|
4942
|
-
const e = this.OPTION(() => this.SUBRULE(this._rulePlusMinusOp)), t = this.SUBRULE(this._ruleNumber), n = this.ACTION(() => this._tag(
|
|
4943
|
-
return this.ACTION(() => e ?
|
|
4942
|
+
const e = this.OPTION(() => this.SUBRULE(this._rulePlusMinusOp)), t = this.SUBRULE(this._ruleNumber), n = this.ACTION(() => this._tag(L(t.image, this._locale), this.getLexerPosition()));
|
|
4943
|
+
return this.ACTION(() => e ? v(e.image, n) : n);
|
|
4944
4944
|
} },
|
|
4945
4945
|
{ ALT: () => {
|
|
4946
4946
|
const t = this.CONSUME(e);
|
|
4947
|
-
return this.ACTION(() => this._tag(
|
|
4947
|
+
return this.ACTION(() => this._tag(_(t.image), this.getLexerPosition()));
|
|
4948
4948
|
} },
|
|
4949
4949
|
{ ALT: () => {
|
|
4950
4950
|
const e = this.CONSUME(t);
|
|
4951
|
-
return this.ACTION(() => this._tag(
|
|
4951
|
+
return this.ACTION(() => this._tag(N(e.image, this._locale), this.getLexerPosition()));
|
|
4952
4952
|
} },
|
|
4953
4953
|
{ ALT: () => {
|
|
4954
4954
|
const e = this.CONSUME(n);
|
|
4955
|
-
return this.ACTION(() => this._tag(
|
|
4955
|
+
return this.ACTION(() => this._tag(k(e.image, this._locale), this.getLexerPosition()));
|
|
4956
4956
|
} },
|
|
4957
4957
|
{ ALT: () => {
|
|
4958
|
-
const e = this.CONSUME(
|
|
4959
|
-
return this.ACTION(() => this._tag(
|
|
4958
|
+
const e = this.CONSUME(i);
|
|
4959
|
+
return this.ACTION(() => this._tag(o(e.image, this._locale), this.getLexerPosition()));
|
|
4960
4960
|
} }
|
|
4961
4961
|
]);
|
|
4962
4962
|
}), this._ruleLiteral = this.RULE("ruleLiteral", () => {
|
|
4963
|
-
const { StringToken: e, BooleanToken: t, LiteralError: n, RefError:
|
|
4963
|
+
const { StringToken: e, BooleanToken: t, LiteralError: n, RefError: i } = this._vocab;
|
|
4964
4964
|
return this.OR([
|
|
4965
4965
|
{ ALT: () => {
|
|
4966
4966
|
const e = this.SUBRULE(this._ruleNumber);
|
|
4967
|
-
return this.ACTION(() => this._tag(
|
|
4967
|
+
return this.ACTION(() => this._tag(L(e.image, this._locale), this.getLexerPosition()));
|
|
4968
4968
|
} },
|
|
4969
4969
|
{ ALT: () => {
|
|
4970
4970
|
const t = this.CONSUME(e);
|
|
4971
|
-
return this.ACTION(() => this._tag(
|
|
4971
|
+
return this.ACTION(() => this._tag(_(t.image), this.getLexerPosition()));
|
|
4972
4972
|
} },
|
|
4973
4973
|
{ ALT: () => {
|
|
4974
4974
|
const e = this.CONSUME(t);
|
|
4975
|
-
return this.ACTION(() => this._tag(
|
|
4975
|
+
return this.ACTION(() => this._tag(N(e.image, this._locale), this.getLexerPosition()));
|
|
4976
4976
|
} },
|
|
4977
4977
|
{ ALT: () => {
|
|
4978
4978
|
const e = this.CONSUME(n);
|
|
4979
|
-
return this.ACTION(() => this._tag(
|
|
4979
|
+
return this.ACTION(() => this._tag(k(e.image, this._locale), this.getLexerPosition()));
|
|
4980
4980
|
} },
|
|
4981
4981
|
{ ALT: () => {
|
|
4982
|
-
const e = this.CONSUME(
|
|
4983
|
-
return this.ACTION(() => this._tag(
|
|
4982
|
+
const e = this.CONSUME(i);
|
|
4983
|
+
return this.ACTION(() => this._tag(o(e.image, this._locale), this.getLexerPosition()));
|
|
4984
4984
|
} }
|
|
4985
4985
|
]);
|
|
4986
4986
|
}), this._ruleFunction = this.RULE("ruleFunction", () => {
|
|
4987
|
-
const { FunctionToken: e, OpenParen:
|
|
4988
|
-
this.CONSUME(
|
|
4987
|
+
const { FunctionToken: e, OpenParen: n, CloseParen: i } = this._vocab, r = this.CONSUME(e).image, s = this.getLexerPosition();
|
|
4988
|
+
this.CONSUME(n);
|
|
4989
4989
|
const o = this.SUBRULE(this._ruleFunctionArguments);
|
|
4990
|
-
let a = this.ACTION(() => this._tag(
|
|
4990
|
+
let a = this.ACTION(() => this._tag(t(r, o), s));
|
|
4991
4991
|
const c = this.OPTION(() => this.CONSUME(i));
|
|
4992
4992
|
return a = this.ACTION(() => (c || this._reportError(a, "Missing closing parenthesis ')'", s), this._tagClose(a, this.getLexerPosition()))), a;
|
|
4993
4993
|
}), this._ruleFunctionArguments = this.RULE("ruleFunctionArguments", () => {
|
|
@@ -4998,11 +4998,11 @@ var ai = {
|
|
|
4998
4998
|
let t;
|
|
4999
4999
|
this.OPTION2(() => {
|
|
5000
5000
|
t = this.SUBRULE(this._ruleIntersectOp);
|
|
5001
|
-
}), t = this.ACTION(() => t ?? this._tagClose(
|
|
5001
|
+
}), t = this.ACTION(() => t ?? this._tagClose(y(), this.getLexerPosition())), n.push(t), this.MANY(() => {
|
|
5002
5002
|
let t;
|
|
5003
5003
|
this.CONSUME(e), this.OPTION3(() => {
|
|
5004
5004
|
t = this.SUBRULE2(this._ruleIntersectOp);
|
|
5005
|
-
}), t = this.ACTION(() => t ?? this._tagClose(
|
|
5005
|
+
}), t = this.ACTION(() => t ?? this._tagClose(y(), this.getLexerPosition())), n.push(t);
|
|
5006
5006
|
});
|
|
5007
5007
|
}
|
|
5008
5008
|
}), n;
|
|
@@ -5021,60 +5021,60 @@ var ai = {
|
|
|
5021
5021
|
return this._tag(e.root, n);
|
|
5022
5022
|
});
|
|
5023
5023
|
}), this._ruleReference = this.RULE("ruleReference", () => {
|
|
5024
|
-
const { Sheet: e, SheetQuoted: t, DivOp:
|
|
5025
|
-
let
|
|
5024
|
+
const { Sheet: e, SheetQuoted: t, DivOp: s, MulOp: a, PlusOp: c, MinOp: h, ArgSeparator: u, Cell: p, NamedToken: f, SingleQuotedString: m, Column: E, AbsRow: T, DigitToken: g, RefError: O } = this._vocab;
|
|
5025
|
+
let A, R;
|
|
5026
5026
|
this.OPTION2({
|
|
5027
5027
|
GATE: () => {
|
|
5028
|
-
for (let
|
|
5029
|
-
const
|
|
5030
|
-
if (
|
|
5031
|
-
if ("" ===
|
|
5028
|
+
for (let n = 1; n < 6; n++) {
|
|
5029
|
+
const i = this.LA(n);
|
|
5030
|
+
if (i.tokenType === e || i.tokenType === t) return !0;
|
|
5031
|
+
if ("" === i.image || ")" === i.image || i.tokenType === s || i.tokenType === a || i.tokenType === c || i.tokenType === h || i.tokenType === u) break;
|
|
5032
5032
|
}
|
|
5033
5033
|
return !1;
|
|
5034
5034
|
},
|
|
5035
5035
|
DEF: () => {
|
|
5036
|
-
|
|
5036
|
+
R = this.getLexerPosition() + 1, A = this.SUBRULE(this._rulePrefixSheetName);
|
|
5037
5037
|
}
|
|
5038
5038
|
});
|
|
5039
|
-
let
|
|
5039
|
+
let I = this.OR([
|
|
5040
5040
|
{ ALT: () => {
|
|
5041
|
-
const e = this.CONSUME(
|
|
5042
|
-
return this.ACTION(() => this._tag(
|
|
5041
|
+
const e = this.CONSUME(p), t = this.getLexerPosition();
|
|
5042
|
+
return this.ACTION(() => this._tag(r(e.image, this.rowIndex, this.colIndex), t));
|
|
5043
5043
|
} },
|
|
5044
5044
|
{ ALT: () => {
|
|
5045
|
-
const e = this.OR2([{ ALT: () => this.CONSUME(
|
|
5046
|
-
return this.ACTION(() => this._tag(
|
|
5045
|
+
const e = this.OR2([{ ALT: () => this.CONSUME(f) }, { ALT: () => this.CONSUME(m) }]);
|
|
5046
|
+
return this.ACTION(() => this._tag(d(e.image), this.getLexerPosition()));
|
|
5047
5047
|
} },
|
|
5048
5048
|
{ ALT: () => this.SUBRULE(this._ruleBracketedString) },
|
|
5049
5049
|
{ ALT: () => this.SUBRULE(this._ruleFunction) },
|
|
5050
5050
|
{ ALT: () => {
|
|
5051
|
-
const e = this.CONSUME(
|
|
5052
|
-
return this.ACTION(() => this._tag(
|
|
5051
|
+
const e = this.CONSUME(E);
|
|
5052
|
+
return this.ACTION(() => this._tag(i(e.image, this.colIndex), this.getLexerPosition()));
|
|
5053
5053
|
} },
|
|
5054
5054
|
{ ALT: () => {
|
|
5055
|
-
const e = this.CONSUME(
|
|
5056
|
-
return this.ACTION(() => this._tag(
|
|
5055
|
+
const e = this.CONSUME(T);
|
|
5056
|
+
return this.ACTION(() => this._tag(l(e.image, this.rowIndex), this.getLexerPosition()));
|
|
5057
5057
|
} },
|
|
5058
5058
|
{ ALT: () => {
|
|
5059
|
-
const e = this.CONSUME(
|
|
5060
|
-
return this.ACTION(() => this._tag(
|
|
5059
|
+
const e = this.CONSUME(g);
|
|
5060
|
+
return this.ACTION(() => this._tag(l(e.image, this.rowIndex), this.getLexerPosition()));
|
|
5061
5061
|
} },
|
|
5062
5062
|
{ ALT: () => {
|
|
5063
|
-
const e = this.CONSUME(
|
|
5064
|
-
return this.ACTION(() => this._tag(
|
|
5063
|
+
const e = this.CONSUME(O);
|
|
5064
|
+
return this.ACTION(() => this._tag(o(e.image, this._locale), this.getLexerPosition()));
|
|
5065
5065
|
} }
|
|
5066
5066
|
]);
|
|
5067
5067
|
return this.ACTION(() => {
|
|
5068
|
-
if (
|
|
5069
|
-
if ("" ===
|
|
5070
|
-
let e =
|
|
5071
|
-
if (
|
|
5072
|
-
e.value.scope =
|
|
5068
|
+
if (A && I) {
|
|
5069
|
+
if ("" === A.name) return void this._reportError(I, `'${A.image}' is not a valid sheet reference — a '!' needs a sheet name before it`);
|
|
5070
|
+
let e = I;
|
|
5071
|
+
if (I.type === n.Postfix && I.inputs?.[0] && (e = I.inputs[0]), e.type === n.Cell || e.type === n.Named || e.type === n.Row || e.type === n.TableColumn || e.type === n.Error) {
|
|
5072
|
+
e.value.scope = A.name, e.value.scopeImage = A.image;
|
|
5073
5073
|
const t = this._tokenMap.get(e);
|
|
5074
|
-
t && void 0 !==
|
|
5074
|
+
t && void 0 !== R && (t.tokenIndex = R);
|
|
5075
5075
|
}
|
|
5076
5076
|
}
|
|
5077
|
-
}),
|
|
5077
|
+
}), I;
|
|
5078
5078
|
}), this._rulePrefixSheetName = this.RULE("rulePrefixSheetName", () => {
|
|
5079
5079
|
const { SheetQuoted: e, BracketedString: t, NamedToken: n, Column: i, RangeOp: r, Sheet: s } = this._vocab;
|
|
5080
5080
|
return this.OR([{ ALT: () => {
|
|
@@ -5110,13 +5110,13 @@ var ai = {
|
|
|
5110
5110
|
{ ALT: () => this.CONSUME(n) }
|
|
5111
5111
|
]);
|
|
5112
5112
|
}), this._ruleRoot = this.RULE("ruleRoot", () => {
|
|
5113
|
-
const { ArgSeparator: e } = this._vocab, t = this.SUBRULE(this._ruleIntersectOp),
|
|
5113
|
+
const { ArgSeparator: e } = this._vocab, t = this.SUBRULE(this._ruleIntersectOp), i = [];
|
|
5114
5114
|
return this.MANY(() => {
|
|
5115
|
-
this.CONSUME(e),
|
|
5116
|
-
}), this.ACTION(() => 0 ===
|
|
5117
|
-
type:
|
|
5115
|
+
this.CONSUME(e), i.push(this.SUBRULE2(this._ruleIntersectOp));
|
|
5116
|
+
}), this.ACTION(() => 0 === i.length ? t : {
|
|
5117
|
+
type: n.List,
|
|
5118
5118
|
value: ",",
|
|
5119
|
-
inputs: [t, ...
|
|
5119
|
+
inputs: [t, ...i],
|
|
5120
5120
|
isReference: !0
|
|
5121
5121
|
});
|
|
5122
5122
|
}), this._lexer = s, this._locale = s.getLocale(), this._vocab = c, this._srParser = e?.srParser ?? new Jn(this._locale), this.performSelfAnalysis();
|
|
@@ -5124,38 +5124,38 @@ var ai = {
|
|
|
5124
5124
|
getLexer() {
|
|
5125
5125
|
return this._lexer;
|
|
5126
5126
|
}
|
|
5127
|
-
parse(t,
|
|
5128
|
-
const
|
|
5129
|
-
let
|
|
5130
|
-
if (!
|
|
5127
|
+
parse(t, i, r) {
|
|
5128
|
+
const s = this._lexer.tokenize(r);
|
|
5129
|
+
let o;
|
|
5130
|
+
if (!s) return {
|
|
5131
5131
|
root: {
|
|
5132
|
-
type:
|
|
5133
|
-
value:
|
|
5132
|
+
type: n.Unparsed,
|
|
5133
|
+
value: r
|
|
5134
5134
|
},
|
|
5135
5135
|
errors: []
|
|
5136
5136
|
};
|
|
5137
|
-
const a =
|
|
5137
|
+
const a = s.tokens;
|
|
5138
5138
|
if (0 === a.length) throw new e.Parse(ri);
|
|
5139
|
-
return this.input = a, this._inputText =
|
|
5140
|
-
const
|
|
5141
|
-
if (
|
|
5142
|
-
const n =
|
|
5143
|
-
return
|
|
5139
|
+
return this.input = a, this._inputText = r, this._inputTextLength = r.length, this.rowIndex = t, this.colIndex = i, this._astErrors = [], this._tokenMap = /* @__PURE__ */ new Map(), this.reset(), o = this._ruleRoot(), o && this._bindAllWhitespace(o), o = T(o, (e, i) => {
|
|
5140
|
+
const r = e.type, s = i?.isReference ? i.value : void 0, o = "string" == typeof s && ei.has(s), a = "string" == typeof s && ti.has(s), c = o ? i.inputs : void 0, u = c ? c[0] === e ? c[1] : c[0] : void 0, p = this._lexer.getMaxRow();
|
|
5141
|
+
if (o && r !== n.Cell && Number.isInteger(e.value)) {
|
|
5142
|
+
const n = l(e.image, t);
|
|
5143
|
+
return h(n, e), "row" !== ni(u) ? this._reportError(n, `'${e.image}' is not a valid reference — a whole row can only pair with another row (as in ${e.image}:${e.image})`) : ii(e.image, p) || this._reportError(n, `'${e.image}' is not a valid row — rows run from 1 to ${p}`), n;
|
|
5144
5144
|
}
|
|
5145
|
-
if (a &&
|
|
5146
|
-
if (
|
|
5145
|
+
if (a && r === n.Named) return this._reportError(e, `'${e.image ?? e.value?.nameId}' is a name — '${s}' needs a cell or range on both sides`), e;
|
|
5146
|
+
if (r === n.Cell) {
|
|
5147
5147
|
const t = e.value, n = t.colIndex === Number.MIN_SAFE_INTEGER, i = t.rowIndex === Number.MIN_SAFE_INTEGER;
|
|
5148
|
-
if ((n || i) && ni(
|
|
5148
|
+
if ((n || i) && ni(u) === (n ? "row" : "col")) return n && !ii(e.image, p) && this._reportError(e, `'${e.image}' is not a valid row — rows run from 1 to ${p}`), e;
|
|
5149
5149
|
if (n || i || t.colIndex >= 16384) {
|
|
5150
|
-
const
|
|
5151
|
-
|
|
5152
|
-
const
|
|
5153
|
-
return
|
|
5150
|
+
const r = d(e.image);
|
|
5151
|
+
h(r, e);
|
|
5152
|
+
const o = t.scope;
|
|
5153
|
+
return o && (r.value.scope = o, r.value.scopeImage = t.scopeImage), n ? this._reportError(r, `'${e.image}' is not a valid reference — a row needs a column (use ${e.image}:${e.image} for the whole row)`) : i && e.image.includes("$") ? this._reportError(r, `'${e.image}' is not a valid reference — a whole column can only pair with another column (as in ${e.image}:${e.image})`) : a && this._reportError(r, `'${e.image}' is a name — '${s}' needs a cell or range on both sides`), r;
|
|
5154
5154
|
}
|
|
5155
5155
|
}
|
|
5156
5156
|
return e;
|
|
5157
5157
|
}), {
|
|
5158
|
-
root:
|
|
5158
|
+
root: o,
|
|
5159
5159
|
errors: [...this.errors, ...this._astErrors]
|
|
5160
5160
|
};
|
|
5161
5161
|
}
|
|
@@ -5211,7 +5211,7 @@ var ai = {
|
|
|
5211
5211
|
_bindAllWhitespace(e) {
|
|
5212
5212
|
if (e) {
|
|
5213
5213
|
if (this._bindNodeWhitespace(e), e.inputs) for (const t of e.inputs) t && this._bindAllWhitespace(t);
|
|
5214
|
-
if (e.type ===
|
|
5214
|
+
if (e.type === n.Array && Array.isArray(e.value)) {
|
|
5215
5215
|
for (const t of e.value) if (t && Array.isArray(t.value)) for (const e of t.value) e && this._bindAllWhitespace(e);
|
|
5216
5216
|
}
|
|
5217
5217
|
}
|