@sheetxl/studio-vanilla 0.7.28-beta.4 → 0.8.0-beta.2
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/browser/cjs/{C0hGnOYkvrwxaGrw.cjs → 3a3qEmdJWFXfGW0q.cjs} +1 -1
- package/browser/cjs/9rXsWW4SnEpudhfh.cjs +1 -0
- package/browser/cjs/{J7LQgueGGNUE9emR.cjs → 9vk-L6rRvx20jeQj.cjs} +1 -1
- package/browser/cjs/{C9L-xibuJ434Mqqq2.cjs → B0FCH1gFfg2bQiPi2.cjs} +1 -1
- package/browser/cjs/B3WkiDqFBfA_xxJL2.cjs +1 -0
- package/browser/cjs/B4ANcw0mAmhe2Aeb2.cjs +1 -0
- package/browser/cjs/B6IXpae7f0J8Ocq62.cjs +1 -0
- package/browser/cjs/B6vy56yEA1I3B74O2.cjs +1 -0
- package/browser/cjs/B7QDcu7uACQA1y3h.cjs +1 -0
- package/browser/cjs/BF8ZxFWyAAnbe4mz.cjs +5 -0
- package/browser/cjs/BLAG3kDSthU0SH-E.cjs +2 -0
- package/browser/cjs/BPWKnUtyoTrtW567.cjs +1 -0
- package/browser/cjs/BQWmn92gYmxC8eWt.cjs +1 -0
- package/browser/cjs/BcROQ4pvVajDQ1em.cjs +1 -0
- package/browser/cjs/BdJvn1vLXMZvE-8h.cjs +4 -0
- package/browser/cjs/BhcbKFKbSWEavYJm.cjs +7 -0
- package/browser/cjs/Bncc0oXhFMdj_HuR2.cjs +1 -0
- package/browser/cjs/Bo7EQ8niKmwtAwo_2.cjs +1 -0
- package/browser/cjs/Bqup1MCJFqTZbLDd2.cjs +1 -0
- package/browser/cjs/BsJHSGeWLskirGXg.cjs +14 -0
- package/browser/cjs/Bsl_clm06l5cwpML.cjs +32 -0
- package/browser/cjs/BvVzIzXLyLxpBcia2.cjs +3 -0
- package/browser/cjs/BylqpwnwQYDHIWjX.cjs +5 -0
- package/browser/cjs/C-xC6h1TOBr5ZDSe2.cjs +1 -0
- package/browser/cjs/{CRx1WvmgBjT8WVyB2.cjs → C0g87ndP2zMUbX6f.cjs} +1 -1
- package/browser/cjs/{n4ZQ0-3uSrEsInbg.cjs → C19UoK2TTtKU_faS.cjs} +1 -1
- package/browser/cjs/C1tOH7BEpO_ANMsa.cjs +1 -0
- package/browser/cjs/C4cZxb9nRtzTCA40.cjs +1 -0
- package/browser/cjs/C9q3zr8iCIoYDrdA.cjs +1 -0
- package/browser/cjs/CA_ZsYjkTHSpGK0j.cjs +41 -0
- package/browser/cjs/{lEQC21-Sk4lwHy2r2.cjs → CFxueP0tbpmvY1Ip2.cjs} +1 -1
- package/browser/cjs/CH7BUjrXIKDIE7XE.cjs +93 -0
- package/browser/cjs/CKEselBM-qmMpQBW2.cjs +2 -0
- package/browser/cjs/CRcv32tHTbGSGtkh2.cjs +1 -0
- package/browser/cjs/{M19oMY91yZxf2WAR.cjs → CTDN-AYeejrfopDC.cjs} +1 -1
- package/browser/cjs/CVHc_cJddJk7J3Zt2.cjs +1 -0
- package/browser/cjs/CX7VUEYca9dtWS0N.cjs +1 -0
- package/browser/cjs/{BEJFcqVMDMKOvs11.cjs → C_T-ehCAzjaVRmTk.cjs} +1 -1
- package/browser/cjs/CaJGoNwTL6pAJ6a42.cjs +1 -0
- package/browser/cjs/CfXcRa4RlFmqU0Op2.cjs +1 -0
- package/browser/cjs/ClVLjLIRgWqX3Q-F.cjs +1 -0
- package/browser/cjs/Co31kjvOPAAYbeF-.cjs +1 -0
- package/browser/cjs/CoCKYtBIVeDXxSIq2.cjs +1 -0
- package/browser/cjs/CqPb6CbrHTRnbSKa2.cjs +8 -0
- package/browser/cjs/CtsduUtTrkcWM02v.cjs +3747 -0
- package/browser/cjs/D-N5oLosHPjoj-oG.cjs +1 -0
- package/browser/cjs/D2ZPx3v4EVejvhR2.cjs +54 -0
- package/browser/cjs/D5Gp16-G3pjMtypl2.cjs +1 -0
- package/browser/cjs/D8tkBbkGH5cZzIJP2.cjs +1 -0
- package/browser/cjs/DA0nGLC0bEkOhh7G2.cjs +1 -0
- package/browser/cjs/DCRe7NqRclU-Jr7p.cjs +1 -0
- package/browser/cjs/{EeOVMRq7TuptFKTc2.cjs → DF4l8xrxkcLkgExp2.cjs} +1 -1
- package/browser/cjs/{DtaFdoK4CppKRF6F2.cjs → DHL7SVvz96-5zSWE2.cjs} +2 -2
- package/browser/cjs/DHMQnssVXWjGBSs-.cjs +3 -0
- package/browser/cjs/{DQTBgNqDHInvxrwS.cjs → DIdPQwECld6gubdK2.cjs} +1 -1
- package/browser/cjs/DLtFM988NCD-jeBV.cjs +8 -0
- package/browser/cjs/DNnMGL1ff8hutxSd.cjs +1 -0
- package/browser/cjs/DP1pufP3NJFoDa-g.cjs +3 -0
- package/browser/cjs/{CnZfa45XxA-9Jhmp.cjs → DRmo6uoGoqtiVff82.cjs} +1 -1
- package/browser/cjs/DSXLVieENYN9qXYl2.cjs +1 -0
- package/browser/cjs/DTZiRVEB3kVK7eK-2.cjs +1 -0
- package/browser/cjs/DU2HMmI1EeHBTvuG.cjs +1 -0
- package/browser/cjs/DWzkpizTIJkaqf4J2.cjs +1 -0
- package/browser/cjs/DZBKNR9xUMTHWS_D.cjs +1 -0
- package/browser/cjs/{X1LnR885SNQaK5HZ.cjs → D_IilnLuy_hDaBmI.cjs} +1 -1
- package/browser/cjs/Dg3GaW0QWwnlqetX2.cjs +1 -0
- package/browser/cjs/Dg5fR9uTvYHyxOX62.cjs +22 -0
- package/browser/cjs/{jIxFDc3EQDDXisAC2.cjs → Dk1WS0vM-LQJx_EO2.cjs} +1 -1
- package/browser/cjs/DpFg69dDCPoOK2BY2.cjs +1 -0
- package/browser/cjs/{zEytED4Eleo5DVvS.cjs → DsqHxG-lGZxL1XgQ.cjs} +1 -1
- package/browser/cjs/DtlC63s51_88j6AY2.cjs +1 -0
- package/browser/cjs/{Du4jBiFxRIF1OjD42.cjs → Dtxj9JR14A-uliu5.cjs} +1 -1
- package/browser/cjs/{CpJJh4UnFl1_qFui.cjs → Dx7GQ4ALtNG3kshu.cjs} +1 -1
- package/browser/cjs/{DG-AY_xO8RKHtEBE.cjs → Dy50BSaRMmRISD2Y.cjs} +1 -2
- package/browser/cjs/GPlG4lbMP89VDHYJ.cjs +126 -0
- package/browser/cjs/LD1P-jAXleebK12X.cjs +7 -0
- package/browser/cjs/PmwvZPFhqmL4DO582.cjs +1 -0
- package/browser/cjs/SATfdSwNygvlOSKC2.cjs +1 -0
- package/browser/cjs/TZQc-szdIVnHDH6F.cjs +11 -0
- package/browser/cjs/{BKXFdLiztqEHIjQ_2.cjs → VgwyOcXDHhEp_NvH2.cjs} +1 -1
- package/browser/cjs/XRCcogT-Iqd3Wv6R2.cjs +1 -0
- package/browser/cjs/a4xpA8d_d22-GKos.cjs +1 -0
- package/browser/cjs/aBulzIf4cHnL7sbw.cjs +1 -0
- package/browser/cjs/cexWxRluo6g-NG_u.cjs +1 -0
- package/browser/cjs/iYn00uzmSLl2T0oN2.cjs +1 -0
- package/browser/cjs/ibvsavYh4kU-xxL8.cjs +1 -0
- package/browser/cjs/index.cjs +2 -2
- package/browser/cjs/{DIbdDzNf_3S2RYZN.cjs → p3PYFz7cN2z4XQoU.cjs} +1 -1
- package/browser/cjs/{CEpXnHhrczUmIwMa2.cjs → xTT7lHV4HUjeNdMs2.cjs} +1 -1
- package/browser/esm/{CFVzVz9BCRBowBea.mjs → 04mVsW7CTmUlxnOa.mjs} +3 -3
- package/browser/esm/0YKBRd7eLIUmcKns.mjs +35 -0
- package/browser/esm/13CH9sjvoEqt6nbt2.mjs +37 -0
- package/browser/esm/7lIMFL11BRZrMXdc2.mjs +19 -0
- package/browser/esm/9CP_UyAqmAHE7-mv.mjs +267 -0
- package/browser/esm/{ByJMrAYRARLc7uZQ2.mjs → AAHsV9V95k39t9SD.mjs} +27 -29
- package/browser/esm/{D8zyGG6yt4CsyA8K.mjs → B-Zf8W3s_WXgYxhN.mjs} +12 -12
- package/browser/esm/{hsy1zALC1oNNm5Sf.mjs → B0FNPu0uhX_WW-aJ.mjs} +1 -1
- package/browser/esm/{DmqS0kz7jvlOw3qr.mjs → B0aCnXuYD0ZopZdA.mjs} +28 -13
- package/browser/esm/B2nEJHcip8raAhdc.mjs +3342 -0
- package/browser/esm/B2vjec5TDs2ZJ1eI2.mjs +33 -0
- package/{cdn/assets/C7xBBqvPqat9oEft2.js → browser/esm/B50P0gSziuG68Umu.mjs} +95 -53
- package/browser/esm/BA6JMESdvw_1-mFg2.mjs +238 -0
- package/{cdn/assets/BGWyNjrM55ce-D1o.js → browser/esm/BBaNqp1ZjuO25FQg2.mjs} +2 -2
- package/browser/esm/BBzzLAeBBFbVvgph2.mjs +8 -0
- package/browser/esm/{pFBVGSvmImMMDMuJ.mjs → BCQgeu38866r56Dh.mjs} +97 -54
- package/{cdn/assets/DOsKUeLPwFIdzQv32.js → browser/esm/BDZAVKSYpcOp9Dve2.mjs} +1 -1
- package/browser/esm/BEWsOD2JQ8dwQCEm2.mjs +427 -0
- package/{cdn/assets/BRBHACVjnV1_6VLQ.js → browser/esm/BEYY8z4FusH7S5K-.mjs} +1 -1
- package/browser/esm/{DM4g0nYgYXgI44dL2.mjs → BF842ZtkvebA1LgR.mjs} +1 -1
- package/{cdn/assets/BF9yh58xfvR0KbSo.js → browser/esm/BG_hG8jUkf0aMzGK.mjs} +2 -2
- package/{cdn/assets/D-tQc4bi3FzGVnFg.js → browser/esm/BG_hG8jUkf0aMzGK2.mjs} +2 -2
- package/browser/esm/{5LJ1sC7IPn109Ien.mjs → BIab7njjwaSXjSEP2.mjs} +2 -2
- package/browser/esm/BJJBFdJaP2dMlug92.mjs +280 -0
- package/browser/esm/{Bc2Dp6W4U_22cv7c.mjs → BM343UBJqjbDokO62.mjs} +1 -1
- package/browser/esm/{B4fSPDN923nqCDVE2.mjs → BOhfbmK18Xj1P7-i.mjs} +2 -2
- package/browser/esm/{BgwHVPZp494SgQ0d2.mjs → BPt7dDNLBsKrZgzO2.mjs} +22 -22
- package/browser/esm/{BsP1iPcd49wYIIoP.mjs → BTNqElWtYkKW47Vg.mjs} +3 -3
- package/{cdn/assets/BO2NRW9sjHGE9tg-2.js → browser/esm/BVOTzF7NFvB20R7D.mjs} +2 -2
- package/browser/esm/BVtQCzVeMOJZq64r2.mjs +394 -0
- package/browser/esm/BZZ2IOkVKppFWNLE.mjs +27 -0
- package/browser/esm/{Cd8G1nX1dKzp-mho2.mjs → B_49GiUSgx96vBvq2.mjs} +2 -2
- package/{cdn/assets/Bfd3T36ocASPZddR.js → browser/esm/BauR0SATr44ggHRU.mjs} +1714 -939
- package/browser/esm/Bc8-re9biUn57kdl.mjs +87777 -0
- package/browser/esm/{CJ-lOo2cXlcYrg2P.mjs → BcHN_VMA7bLNKKMO.mjs} +1682 -1600
- package/{cdn/assets/DJSXXWTUJGbXqLLx.js → browser/esm/Bcjus_Q6f72kE1MK.mjs} +1 -1
- package/browser/esm/{DENx9Ts-f8adXw3Y2.mjs → Be2-C5U5LlfLTmyo2.mjs} +1 -1
- package/browser/esm/Be7--zCnU6JvLkK1.mjs +637 -0
- package/browser/esm/{Ykh10IaXTKA2XWot.mjs → Bfq8Gdqf3I7y_Hju.mjs} +1 -1
- package/browser/esm/BhGgNWNVYntkJYgU.mjs +155 -0
- package/browser/esm/{CHmSnCPoww1StSta.mjs → BiArrlzwKsOlSm00.mjs} +4 -4
- package/{cdn/assets/CJGlwQusOCSy9ZAb.js → browser/esm/Bl5xLu1ou-9zMIBZ2.mjs} +5 -5
- package/browser/esm/{6A8iYjFWJzx5PaTP2.mjs → BnFriW2cIcOJkXU42.mjs} +16 -16
- package/browser/esm/{CXDtDYyREwoFwtMJ2.mjs → Bokc-Wu4XBPWKmdt.mjs} +1 -1
- package/browser/esm/BuSBBEiK_3KnBr632.mjs +514 -0
- package/{cdn/assets/Bh4hZt6639QZusIG.js → browser/esm/Bvy9LWN5UHwJXV9i2.mjs} +2 -2
- package/{cdn/assets/DnMUizHKSRwWpO_72.js → browser/esm/C04uI3XsvTc6Cc7w2.mjs} +37 -3
- package/{cdn/assets/Bj8bWbLg1IY965tK.js → browser/esm/C1EvC_qPiGiVMrkF.mjs} +963 -946
- package/browser/esm/{BxecIrskOMQZB-Xc.mjs → C1doaJjkCzQlB_3u2.mjs} +3 -3
- package/browser/esm/{DGfzktq0BrIwcb8j.mjs → C3M_lKSZ_Fq1SQOn.mjs} +2 -2
- package/browser/esm/C3qSUuVA-FII3rMU2.mjs +298 -0
- package/{cdn/assets/BzktrYJH7SQ9GyUI2.js → browser/esm/C6X4CmElTpPxrad6.mjs} +1 -1
- package/{cdn/assets/CIgn8uIPaadIJP4a2.js → browser/esm/CA4eJpge9meoO0rj2.mjs} +17 -18
- package/browser/esm/CAVONPXgoytyiNK-.mjs +25 -0
- package/{cdn/assets/BPAEbeXV75XIAS4n.js → browser/esm/CPgOplnn6NuHwsZ_.mjs} +1 -1
- package/browser/esm/{DLArQtAbWAarI8od2.mjs → CQBSLdAdR53c7BVh2.mjs} +1 -1
- package/browser/esm/{BjYIAiuzZbD-dk822.mjs → CThP3jXwDzLlUOeI.mjs} +1 -1
- package/browser/esm/CTzKk6VuZTohsOIF2.mjs +58 -0
- package/{cdn/assets/CmYCYFWjq9KP6xw7.js → browser/esm/CU1_-PzBC9cDsm5t2.mjs} +6 -6
- package/{cdn/assets/FVJ1akngxeMiYwPa.js → browser/esm/CULlzRLL3s2Dikjg.mjs} +1 -1
- package/browser/esm/CUMu_1tXFa0LPKGV.mjs +3324 -0
- package/browser/esm/{DjS4iUli-T3uuUfK.mjs → CUYBRp4sHMdGwkLT.mjs} +1 -1
- package/browser/esm/CYU_-DiQXjh1SEU1.mjs +3343 -0
- package/browser/esm/{DxxlSejA2S6YUPWD.mjs → CaTmLXIsIxaOrLcZ.mjs} +446 -347
- package/browser/esm/CcK4ACF7d5ogFpAS.mjs +91 -0
- package/{cdn/assets/Bce8ZTUCpXr5Y_zl2.js → browser/esm/CjFOk9mcZqAngWD2.mjs} +48 -2
- package/browser/esm/{DrKUGkrCTKZHu8XC.mjs → CmSATmXaMlqwTjAe2.mjs} +1 -1
- package/browser/esm/{C4vqrW3EmJDy1otX.mjs → CnvlkxK0pS02Z3gZ.mjs} +7 -6
- package/browser/esm/{CXlA71yGA1Hqvp_S.mjs → Cvw3poNlUmn3qAh0.mjs} +6 -6
- package/{cdn/assets/CBC_MJL6Bwk7bzQz2.js → browser/esm/CwDjNuGkKnVtfJo-.mjs} +1 -1
- package/browser/esm/{L6LjzOx1G9Idjtxa2.mjs → D-egzesxukW7Z_e3.mjs} +2 -2
- package/{cdn/assets/g8dDbkwbYjhKWJM2.js → browser/esm/D13sLQRMMKrDHepu.mjs} +2 -2
- package/{cdn/assets/CsKCqLuggHhYC93k.js → browser/esm/D1bACCJy4F8kANLy.mjs} +1 -1
- package/{cdn/assets/MHuhAgQAA8zcnWkd2.js → browser/esm/D5Pa9lfPfAcCGj_N.mjs} +1 -1
- package/browser/esm/{DSWdYe7SDB5cYWo5.mjs → DBTB0moKfwOu0F47.mjs} +241 -241
- package/browser/esm/{Bz3-FDGVU67Izdnv2.mjs → DHzdEqMCGL_JPh9w2.mjs} +19 -27
- package/browser/esm/{-9NsA_4pZqcEQBX7.mjs → DMMtONCySdMHoaMU.mjs} +15 -15
- package/{cdn/assets/BGAXiHOiX_PZ1ww1.js → browser/esm/DTfDzhFtORWkuoRv.mjs} +1 -1
- package/{cdn/assets/Dgt8kua8CYlMRfdw.js → browser/esm/DYyxB53T5uaoyInL2.mjs} +2 -2
- package/browser/esm/DZLyXICwEHYRnCuO.mjs +758 -0
- package/browser/esm/{Bjx-9lUaScF5-Hki2.mjs → DbVSG7Uf7YDQbmc32.mjs} +2 -5
- package/browser/esm/Dd80tsdITZsotoCX2.mjs +47 -0
- package/browser/esm/{s4trFf5sOSGNEzr3.mjs → DeSDYBzD8e5XXnvq.mjs} +40 -40
- package/browser/esm/DeeFxCkhXDF0p1nl.mjs +87 -0
- package/{cdn/assets/D4aK0uTRJQpM63922.js → browser/esm/DgH-AoqKDdIWg0J8.mjs} +1 -1
- package/browser/esm/{CTwLETvNO4KeXbkK2.mjs → DjNR_ZGCbg-xia152.mjs} +5 -5
- package/browser/esm/DkuK8fY8vrl7aZpf2.mjs +115 -0
- package/browser/esm/{BzktrYJH7SQ9GyUI.mjs → DmPq6SwNcX1qXKct.mjs} +1 -1
- package/{cdn/assets/DtkqR-Hu7K4agnCs2.js → browser/esm/Dn8Z0WK2Hwi8MRnQ.mjs} +1 -1
- package/browser/esm/{BZkd8LNLgEd5WQXO2.mjs → DoCYcvHzw3S0MDCW.mjs} +69 -4
- package/{cdn/assets/DRAYZ0SGlbCLkftR.js → browser/esm/DtQu3vHaJfA5KM2H2.mjs} +1 -1
- package/{cdn/assets/DjfBSoaKM-vtbeqT.js → browser/esm/DtqMTXq5u5DmS5S1.mjs} +2 -2
- package/browser/esm/{BetL7yI63lEdQ0gM.mjs → DuijhgjRhgWB9sCY.mjs} +504 -331
- package/browser/esm/{C3dXBjR3SrDCdJlm.mjs → DyPe20tPiPVm1PLe.mjs} +6 -6
- package/{cdn/assets/BZXvEddjoz4C8y4w.js → browser/esm/Dz713G5R9JayR5v1.mjs} +16 -11
- package/browser/esm/{CY4ANhbzXqZMJPnL2.mjs → GDYIOITizuJ9xSUf2.mjs} +15 -15
- package/{cdn/assets/D5BuXc-kVnr6Xiae2.js → browser/esm/LfHB39-nf7mi9XC72.mjs} +1 -1
- package/browser/esm/{CRsnKeHAnKrWvuG52.mjs → LgoljOEffsYkpZZJ2.mjs} +2462 -2971
- package/browser/esm/QNvOHujamKYSXWWA2.mjs +32 -0
- package/browser/esm/{DER7-kADXFnTmK-32.mjs → R2c8rUTz1GjCQEp-2.mjs} +121 -94
- package/browser/esm/S2_pz0y2RTJFpXkS.mjs +15 -0
- package/browser/esm/{PzCXbVRf1jOHVOAw.mjs → V-oO_EfTyth0iptZ2.mjs} +1 -1
- package/browser/esm/XB269tVMhdRHj10G.mjs +674 -0
- package/browser/esm/{BJQfvwvEke-uN0_02.mjs → YC83lJ3yRZP57lBl2.mjs} +42 -4
- package/{cdn/assets/CY7qR8ENX314HrrD.js → browser/esm/ZJ32DJlBpN_9fAph.mjs} +3 -3
- package/browser/esm/{DdtDlBp6KJZjL28o.mjs → apjOZ6N9KbmyErGz.mjs} +1867 -1407
- package/browser/esm/b49cTAZ6BWPQgfYu.mjs +159 -0
- package/browser/esm/{D_8B8jIlshd3eTIO2.mjs → bvuPDJZmI2O5oihy2.mjs} +139 -137
- package/browser/esm/{BrUe0MnOhxzeOngn2.mjs → eTXmezPFvAwM_L-D2.mjs} +1 -1
- package/{cdn/assets/BaIe3fLfPLw3FbYP2.js → browser/esm/ep-IjWXOPg2b-REP2.mjs} +1 -1
- package/browser/esm/{B3tC7wY_kUGXf5sb2.mjs → f9r0yTaD2YChFtEg2.mjs} +1 -1
- package/browser/esm/fJ0eqh3Ja3O0z1QL.mjs +149 -0
- package/browser/esm/{Dwko6HB2zePBBeBu2.mjs → gAriGKwELet15RCY2.mjs} +13 -13
- package/browser/esm/gCeoOjDjiVaX8dtF2.mjs +119 -0
- package/browser/esm/iYNN3Px9AekrMEfu2.mjs +117 -0
- package/browser/esm/index.mjs +6 -6
- package/browser/esm/{Duo6t8_BzIiBDrFm.mjs → j-9DpYsIlTN1mwql.mjs} +16159 -16463
- package/{cdn/assets/esX6dx06TUUL-cRt.js → browser/esm/jQ5c7MGwQOZq4s5w.mjs} +1 -1
- package/browser/esm/kcfC6hY47HklE6Om.mjs +225 -0
- package/browser/esm/{DJk14sSSnSHiEXZ72.mjs → lHpMVBxqkkCYD6d12.mjs} +51 -11
- package/browser/esm/{B_U_UpQXdbjNRthb.mjs → nBZATD4yR1W5D4Fi.mjs} +1 -1
- package/browser/esm/{BZSAb1WGbwagUKGv2.mjs → rxlYDHBsenoxRx-K2.mjs} +6 -6
- package/browser/esm/sfOREE_huDAOcfYs.mjs +15495 -0
- package/{cdn/assets/D2Ls6urWeByV5W-B.js → browser/esm/txVgXcuMeWVNWHnZ.mjs} +1 -1
- package/{cdn/assets/CgsQuAbp76UOAPHm2.js → browser/esm/xzoxSwyGoZdH-ysh.mjs} +196 -175
- package/browser/esm/{B9t9fF8FNCLomgK_.mjs → yFldtlfN_ASKyMll.mjs} +563 -534
- package/browser/esm/yVLsr0rcaOFel2nS2.mjs +32 -0
- package/cdn/assets/13CH9sjvoEqt6nbt.js +37 -0
- package/cdn/assets/{BIPjogMyMmLRly43.js → 2QsTDWiE6SMelbNU2.js} +7 -7
- package/cdn/assets/588lLflWQypQVzce.js +27 -0
- package/cdn/assets/7lIMFL11BRZrMXdc.js +19 -0
- package/cdn/assets/{ByJMrAYRARLc7uZQ.js → AAHsV9V95k39t9SD.js} +27 -29
- package/cdn/assets/{hsy1zALC1oNNm5Sf.js → B0FNPu0uhX_WW-aJ2.js} +1 -1
- package/cdn/assets/B2vjec5TDs2ZJ1eI.js +33 -0
- package/{browser/esm/C7xBBqvPqat9oEft.mjs → cdn/assets/B50P0gSziuG68Umu2.js} +95 -53
- package/cdn/assets/{DP9sLYfGGWMDI7hL2.js → B66--qmqjDI4V95v2.js} +8 -8
- package/cdn/assets/{DGWhm91XZlY1GWHe2.js → B9hBziUoXFzKPWF02.js} +7 -7
- package/cdn/assets/{B4492m5zRjz4JWIo2.js → B9oLwnLz9m-TWSPJ2.js} +1867 -1407
- package/cdn/assets/{DpNYiOK112bFC3KK2.js → BB6k7f_6TCVysy8a.js} +41 -3
- package/{browser/esm/BGWyNjrM55ce-D1o2.mjs → cdn/assets/BBaNqp1ZjuO25FQg.js} +2 -2
- package/{browser/esm/DOsKUeLPwFIdzQv32.mjs → cdn/assets/BDZAVKSYpcOp9Dve.js} +1 -1
- package/{browser/esm/BRBHACVjnV1_6VLQ2.mjs → cdn/assets/BEYY8z4FusH7S5K-2.js} +1 -1
- package/cdn/assets/{DM4g0nYgYXgI44dL.js → BF842ZtkvebA1LgR2.js} +1 -1
- package/cdn/assets/{5LJ1sC7IPn109Ien.js → BIab7njjwaSXjSEP.js} +2 -2
- package/cdn/assets/BKouftCLbhExXXXU.js +264 -0
- package/cdn/assets/{Bc2Dp6W4U_22cv7c2.js → BM343UBJqjbDokO6.js} +1 -1
- package/cdn/assets/{Dy5Z2XIqS7-0tdjc2.js → BNm-ZCOBoBRceGXA2.js} +65 -65
- package/cdn/assets/{B4fSPDN923nqCDVE.js → BOhfbmK18Xj1P7-i2.js} +2 -2
- package/{browser/esm/DHQcJqD-EtJ0Efug2.mjs → cdn/assets/BPOi08RtEmQdlbtS2.js} +27 -26
- package/cdn/assets/{DQhvG3cP0HPB6giA2.js → BSixIKI7PxSqiUGB2.js} +5 -5
- package/{browser/esm/BQt5lpPjssz4Lvhs.mjs → cdn/assets/BT3KOuPzJsNUvy4B.js} +2 -2
- package/cdn/assets/BTB79KyzSZf-h-lm2.js +226 -0
- package/cdn/assets/{DEFEOS3OuA23llF92.js → BWtyERLPrUmI8Qbi2.js} +140 -138
- package/cdn/assets/{Cd8G1nX1dKzp-mho.js → B_49GiUSgx96vBvq.js} +2 -2
- package/cdn/assets/B_UEqzmXZIhHAEyS.js +280 -0
- package/cdn/assets/B_sKE05xgjFFafjm.js +15496 -0
- package/{browser/esm/O982fBwJ80FSdhad.mjs → cdn/assets/BaEH7HZAJkFGHtNj2.js} +203 -180
- package/{browser/esm/DJSXXWTUJGbXqLLx.mjs → cdn/assets/Bcjus_Q6f72kE1MK.js} +1 -1
- package/{browser/esm/BmTSjuGI87QqMA-a.mjs → cdn/assets/BdCn57ENgiC2kOsF.js} +2 -2
- package/cdn/assets/{DENx9Ts-f8adXw3Y.js → Be2-C5U5LlfLTmyo.js} +1 -1
- package/cdn/assets/Be_TDLQucHiVwNvT.js +268 -0
- package/cdn/assets/{Ykh10IaXTKA2XWot2.js → Bfq8Gdqf3I7y_Hju2.js} +1 -1
- package/cdn/assets/Bi9IWSBo7DDXROTC.js +8 -0
- package/{browser/esm/CJGlwQusOCSy9ZAb2.mjs → cdn/assets/Bl5xLu1ou-9zMIBZ.js} +5 -5
- package/cdn/assets/{CXDtDYyREwoFwtMJ.js → Bokc-Wu4XBPWKmdt.js} +1 -1
- package/cdn/assets/{Wb48SedqaKMZnxym.js → Bqe5WbSIlCRYLcqT.js} +4 -4
- package/cdn/assets/{DiKc6jzGM1isrN02.js → BsGz_0JrhSfOZ24Q.js} +3 -3
- package/cdn/assets/BsHFBjNwTzc_CKLq2.js +87777 -0
- package/{browser/esm/DuJ_gK9f35IbKDd6.mjs → cdn/assets/BuyRy9BcgPYo8l8W.js} +1714 -939
- package/cdn/assets/{B2BvBxjz3Kfii_Gn2.js → ByHzW_x0qXsBJMwv2.js} +2386 -2895
- package/{browser/esm/DnMUizHKSRwWpO_7.mjs → cdn/assets/C04uI3XsvTc6Cc7w.js} +37 -3
- package/cdn/assets/{BxecIrskOMQZB-Xc.js → C1doaJjkCzQlB_3u.js} +3 -3
- package/cdn/assets/C2JMpa_lWCs9k2ZI.js +3324 -0
- package/cdn/assets/{BOTU30yJHbaNehFS.js → C2X9NooB33IkSomz.js} +13 -13
- package/cdn/assets/{B0N6rTGGJN2DZPaf.js → C3KIo0iwLXhIIMG8.js} +2 -2
- package/{browser/esm/BBhB25AlKEzdoI0V.mjs → cdn/assets/C6X4CmElTpPxrad6.js} +1 -1
- package/cdn/assets/C6X4CmElTpPxrad62.js +24 -0
- package/cdn/assets/{6L6HfOFw1xzxXtf22.js → C7ZHXwoL2A_nxZjl.js} +436 -337
- package/cdn/assets/CA9oxppuFcYDyylE.js +149 -0
- package/{browser/esm/CBuulf8RrSItPZJi.mjs → cdn/assets/CAOPlenSF-pjVfqt2.js} +2 -2
- package/cdn/assets/CAVONPXgoytyiNK-.js +25 -0
- package/cdn/assets/{DY9zG4TdF0FAs_QP2.js → CBQrIDBtf5Ibwi96.js} +28 -13
- package/cdn/assets/{BdhFhDEa7Xed6dFE.js → CCTYceFrydwG3Vyt2.js} +23600 -23903
- package/cdn/assets/CDijenaMI_dBIGU-.js +3344 -0
- package/cdn/assets/{CDqMmEdh_CPaFCCi2.js → COk-0FZl3cv__3yY2.js} +566 -537
- package/cdn/assets/{DaX0_AkJxkaUnNT7.js → CP0M0z_IaCwCMGNS.js} +16 -16
- package/{browser/esm/BPAEbeXV75XIAS4n2.mjs → cdn/assets/CPgOplnn6NuHwsZ_2.js} +1 -1
- package/cdn/assets/{hClmI7sWeaBbHo3W2.js → CPjsJ0CY-AurDJgm2.js} +14 -14
- package/cdn/assets/{DLArQtAbWAarI8od.js → CQBSLdAdR53c7BVh.js} +1 -1
- package/cdn/assets/{BjYIAiuzZbD-dk82.js → CThP3jXwDzLlUOeI2.js} +1 -1
- package/cdn/assets/CTzKk6VuZTohsOIF.js +58 -0
- package/{browser/esm/CmYCYFWjq9KP6xw72.mjs → cdn/assets/CU1_-PzBC9cDsm5t.js} +6 -6
- package/{browser/esm/FVJ1akngxeMiYwPa.mjs → cdn/assets/CULlzRLL3s2Dikjg.js} +1 -1
- package/cdn/assets/{CnfGgjuCEyX-PYs_2.js → CUTnOs5iWyc3J2cN2.js} +17 -17
- package/cdn/assets/CUYBRp4sHMdGwkLT2.js +24 -0
- package/cdn/assets/CUrzB9ponX7LAYXR.js +35 -0
- package/{browser/esm/XBb7Mxqf0beXaSJt.mjs → cdn/assets/CWOPhBfYI6R0kz-p.js} +965 -944
- package/cdn/assets/CZ3JFujrzd0iX0zL2.js +428 -0
- package/cdn/assets/{xMskoOI2CK9-AmBF2.js → CheDxDxt7x0CPz9P.js} +11 -9
- package/{browser/esm/Bce8ZTUCpXr5Y_zl.mjs → cdn/assets/CjFOk9mcZqAngWD22.js} +48 -2
- package/cdn/assets/{DrKUGkrCTKZHu8XC.js → CmSATmXaMlqwTjAe.js} +1 -1
- package/cdn/assets/{C4vqrW3EmJDy1otX.js → CnvlkxK0pS02Z3gZ.js} +7 -6
- package/cdn/assets/{KJzdwvEWwCwAXuo4.js → CqI09iUEId8rHfJ9.js} +242 -242
- package/{browser/esm/CBC_MJL6Bwk7bzQz.mjs → cdn/assets/CwDjNuGkKnVtfJo-2.js} +1 -1
- package/cdn/assets/CzEHYpK2SYTRpxDm2.js +239 -0
- package/cdn/assets/{L6LjzOx1G9Idjtxa.js → D-egzesxukW7Z_e32.js} +2 -2
- package/{browser/esm/g8dDbkwbYjhKWJM22.mjs → cdn/assets/D13sLQRMMKrDHepu2.js} +2 -2
- package/{browser/esm/CsKCqLuggHhYC93k2.mjs → cdn/assets/D1bACCJy4F8kANLy2.js} +1 -1
- package/{browser/esm/MHuhAgQAA8zcnWkd.mjs → cdn/assets/D5Pa9lfPfAcCGj_N2.js} +1 -1
- package/{browser/esm/PAu9erpoOTNzgNbN.mjs → cdn/assets/D6Uwvg4vo1g0pWZa.js} +16 -11
- package/cdn/assets/{DlLXCXDokJ72EW-E.js → DI4QTfUQPCjSn0kl.js} +41 -41
- package/cdn/assets/DIlrvTRlRll76TiE2.js +496 -0
- package/cdn/assets/DJBTmv-rddT91Z-N2.js +156 -0
- package/cdn/assets/{llvXNxZaCMnYqvSm.js → DPN0a43QHMUmHgo5.js} +3 -3
- package/{browser/esm/BGAXiHOiX_PZ1ww12.mjs → cdn/assets/DTfDzhFtORWkuoRv2.js} +1 -1
- package/cdn/assets/DYCh_5thAx4qo1ns2.js +3342 -0
- package/cdn/assets/{Bjx-9lUaScF5-Hki.js → DbVSG7Uf7YDQbmc3.js} +2 -5
- package/cdn/assets/Dd80tsdITZsotoCX.js +47 -0
- package/cdn/assets/Dg26zVdGlO10MX0h2.js +159 -0
- package/{browser/esm/D4aK0uTRJQpM6392.mjs → cdn/assets/DgH-AoqKDdIWg0J8.js} +1 -1
- package/cdn/assets/{CTwLETvNO4KeXbkK.js → DjNR_ZGCbg-xia15.js} +5 -5
- package/cdn/assets/{Dr1U0I01_KIa9vgR2.js → Dlq2nAMNpWkqjt9Y.js} +16 -16
- package/cdn/assets/DmQ4uKOlhrcJfgk82.js +118 -0
- package/{browser/esm/DOIVDuyf7YyJZjcD.mjs → cdn/assets/DmRqcUu6qCPcOxgW.js} +2 -2
- package/{browser/esm/DtkqR-Hu7K4agnCs.mjs → cdn/assets/Dn8Z0WK2Hwi8MRnQ2.js} +1 -1
- package/cdn/assets/{BynqRVXFRplO7XgC.js → DoBxkE57H5PfH7Or.js} +2 -2
- package/cdn/assets/{BZkd8LNLgEd5WQXO.js → DoCYcvHzw3S0MDCW.js} +69 -4
- package/{browser/esm/DRAYZ0SGlbCLkftR2.mjs → cdn/assets/DtQu3vHaJfA5KM2H.js} +1 -1
- package/cdn/assets/{BetL7yI63lEdQ0gM2.js → DuijhgjRhgWB9sCY2.js} +504 -331
- package/cdn/assets/DvfekR32WVFv_WrS.js +394 -0
- package/cdn/assets/Dz0_oXqVesISvhbJ.js +87 -0
- package/cdn/assets/{DeFts-aGqB-RDuV1.js → I2Cn0c2NkX845WIx.js} +7 -7
- package/cdn/assets/Ifw8W-tqHjQnCWZO2.js +299 -0
- package/{browser/esm/D5BuXc-kVnr6Xiae.mjs → cdn/assets/LfHB39-nf7mi9XC7.js} +1 -1
- package/{browser/esm/BOMct7uvqiNJIS63.mjs → cdn/assets/N5PCgig3g9yqotn9.js} +2 -2
- package/cdn/assets/QNvOHujamKYSXWWA.js +32 -0
- package/cdn/assets/{DEyeWdXLwDRo2yYf2.js → QT-5i27zeGPhkyui2.js} +20 -28
- package/cdn/assets/S2_pz0y2RTJFpXkS2.js +15 -0
- package/cdn/assets/{DW2yQm-sEcHogX7E.js → UNtnFd2ssTtnrqRp.js} +1685 -1603
- package/cdn/assets/{PzCXbVRf1jOHVOAw.js → V-oO_EfTyth0iptZ.js} +1 -1
- package/cdn/assets/VEJV_bhNDNNyZAIA2.js +116 -0
- package/cdn/assets/WFkg-W8MQ-V6F1Fu.js +758 -0
- package/cdn/assets/{DJHOKENCVOJMx3aE2.js → XFQGB8ADW__0ZBoF2.js} +3 -3
- package/{browser/esm/Eszk9OugmYOhaS2s.mjs → cdn/assets/_gPnIgVx33slqynA.js} +2 -2
- package/cdn/assets/b-o8RUlQpF1RaDgI.js +675 -0
- package/cdn/assets/{BrUe0MnOhxzeOngn.js → eTXmezPFvAwM_L-D.js} +1 -1
- package/{browser/esm/BaIe3fLfPLw3FbYP2.mjs → cdn/assets/ep-IjWXOPg2b-REP2.js} +1 -1
- package/{browser/esm/Ca6NSkWoi9DvRJjQ.mjs → cdn/assets/erwt6xEgCY7lDQWp.js} +3 -3
- package/cdn/assets/f1iQWnLWVpKZ34XR2.js +91 -0
- package/cdn/assets/{B3tC7wY_kUGXf5sb.js → f9r0yTaD2YChFtEg.js} +1 -1
- package/cdn/assets/gCeoOjDjiVaX8dtF.js +119 -0
- package/cdn/assets/{CuIUyLNDoHvYMJaQ2.js → gJT4n5za0DqWXFK12.js} +75 -48
- package/{browser/esm/esX6dx06TUUL-cRt.mjs → cdn/assets/jQ5c7MGwQOZq4s5w2.js} +1 -1
- package/cdn/assets/{DJk14sSSnSHiEXZ7.js → lHpMVBxqkkCYD6d1.js} +51 -11
- package/cdn/assets/{B_U_UpQXdbjNRthb.js → nBZATD4yR1W5D4Fi.js} +1 -1
- package/{browser/esm/D2Ls6urWeByV5W-B2.mjs → cdn/assets/txVgXcuMeWVNWHnZ.js} +1 -1
- package/cdn/assets/yVLsr0rcaOFel2nS.js +32 -0
- package/cdn/index.js +2 -2
- package/package.json +3 -3
- package/browser/cjs/49_x589Na12sizKK2.cjs +0 -1
- package/browser/cjs/B4JJfKSI4ppwU8552.cjs +0 -1
- package/browser/cjs/BClFnd-voK5qaz1I.cjs +0 -88
- package/browser/cjs/BF-38Z7Z0FZOPl192.cjs +0 -1
- package/browser/cjs/BF14ZEAnaqxXroSj.cjs +0 -1
- package/browser/cjs/BFdq8CHyR6FQvmQA2.cjs +0 -1
- package/browser/cjs/BVN0uo1XwTCtE2mh.cjs +0 -7
- package/browser/cjs/BbEwESVyRYXzMlW7.cjs +0 -5
- package/browser/cjs/BjgiE9MBDkKiRL6q.cjs +0 -3
- package/browser/cjs/BnccBYHCCq9TGFx4.cjs +0 -8
- package/browser/cjs/BwLx9ix5Sq7suAYP2.cjs +0 -1
- package/browser/cjs/Byl4bQWpLnjthChn2.cjs +0 -7
- package/browser/cjs/BzsAbsb35hYT3xUc.cjs +0 -5
- package/browser/cjs/C7GpcB_YgM-RLa2P.cjs +0 -1
- package/browser/cjs/C8GZf3UAOhfisYCs.cjs +0 -1
- package/browser/cjs/C9C-pr-T_ThweQX9.cjs +0 -1
- package/browser/cjs/CEXs4eRDOv4EjbSw2.cjs +0 -1
- package/browser/cjs/CLXzYSmhCHV5LQh7.cjs +0 -1
- package/browser/cjs/CN-dCAHVcxuMSyFz.cjs +0 -1
- package/browser/cjs/CZfNBCd62H_Jpkhl.cjs +0 -12
- package/browser/cjs/C_7w8EJZpHw8ueuq.cjs +0 -1
- package/browser/cjs/C_IEgjM-hSJCv6Gm.cjs +0 -1
- package/browser/cjs/CeF0DZ-k4DB8M47I.cjs +0 -1
- package/browser/cjs/Ck7Tc5npWk73wrF3.cjs +0 -57
- package/browser/cjs/Clu7XiAsCB48GDXN.cjs +0 -1
- package/browser/cjs/CnjaTz8HJXStwuH8.cjs +0 -1
- package/browser/cjs/CoiPEZabJyiXxLta.cjs +0 -1
- package/browser/cjs/Cty5pi0fwToP1GWe.cjs +0 -7
- package/browser/cjs/Cu0UCwSpRK4OnCuP.cjs +0 -1
- package/browser/cjs/CxWeFfNAUvhHe9F-.cjs +0 -21
- package/browser/cjs/D-o-mlG9tYSuZrvy2.cjs +0 -1
- package/browser/cjs/DAA0zpvkrMOLDPxr.cjs +0 -1
- package/browser/cjs/DAXgAEDtRrsWAePT.cjs +0 -1
- package/browser/cjs/DCIlWcGDrp-5PDoA2.cjs +0 -1
- package/browser/cjs/DDPxHIqx8aIbqTRE.cjs +0 -1
- package/browser/cjs/DMp9wql2kbZKAbGe.cjs +0 -3
- package/browser/cjs/DNCC-QNp2I7saV-I.cjs +0 -1
- package/browser/cjs/DcHxh5QxfVitzdhv.cjs +0 -1
- package/browser/cjs/DgGGzl7jq3i7Cqfi.cjs +0 -1
- package/browser/cjs/Dkgu60euhL6wPoYa2.cjs +0 -1
- package/browser/cjs/DsFZgtSQpC75d1M02.cjs +0 -1
- package/browser/cjs/DsgqbxMOVQmAFSDy2.cjs +0 -1
- package/browser/cjs/Dtc_8P-koQRmNT2s.cjs +0 -33
- package/browser/cjs/FUM_3mQlC-6WPjkT.cjs +0 -4
- package/browser/cjs/IbciPMJP2Pam3ERm.cjs +0 -1
- package/browser/cjs/Kvn916ebqGc4t6hv2.cjs +0 -1
- package/browser/cjs/NzAMMcPT7SETmqPg.cjs +0 -2
- package/browser/cjs/QK9BfdSZPLmyRpGi2.cjs +0 -1
- package/browser/cjs/Y78-VwYSNffwXRVz2.cjs +0 -2
- package/browser/cjs/bpcQTcfzGVBK-rfT2.cjs +0 -1
- package/browser/cjs/fqTQ_p3ehzUvc1tF2.cjs +0 -1
- package/browser/cjs/h3dw1jAp2J5Pu4p32.cjs +0 -1
- package/browser/cjs/iyvcAhhnDFxkR8tW.cjs +0 -1
- package/browser/cjs/jev6VGWTdgEgm4Yk2.cjs +0 -1
- package/browser/cjs/kqP-W5qRIy-d-ChZ.cjs +0 -1
- package/browser/cjs/mXzhcays1ok40iiU.cjs +0 -1
- package/browser/cjs/ppSJKdLn646BZOzg.cjs +0 -1
- package/browser/cjs/sFD2bsTPq558FCMx.cjs +0 -126
- package/browser/cjs/stXrcKZOIHl0fq5U2.cjs +0 -2
- package/browser/esm/B-dSKzg5shPDd733.mjs +0 -25
- package/browser/esm/B6bX01HNxwBooBTX2.mjs +0 -514
- package/browser/esm/BPwpFe7c1-F62aAU.mjs +0 -518
- package/browser/esm/BT2mYkpZGrhWovkv2.mjs +0 -238
- package/browser/esm/BUKNpzG26V0YaAzW.mjs +0 -219
- package/browser/esm/BgNWvKfVoVgVVDB4.mjs +0 -134
- package/browser/esm/Bj3gyDL2ZJUDcxt72.mjs +0 -82
- package/browser/esm/BkBT2LB95lonIiBu.mjs +0 -152
- package/browser/esm/BqMvXD8dX4ksYjnj.mjs +0 -53
- package/browser/esm/CElACTFuqPAnCAMJ.mjs +0 -99
- package/browser/esm/CFtsbobCiLpZIzCh.mjs +0 -34
- package/browser/esm/CbJ_xQftC08KrH3E2.mjs +0 -20
- package/browser/esm/CfjG7gHJ4oN60Clj.mjs +0 -4423
- package/browser/esm/CpEgh9EOkeMvwAuj.mjs +0 -304
- package/browser/esm/CxKAnYBWCYMkUpnr.mjs +0 -824
- package/browser/esm/Cye91DfKIFwRdDpF.mjs +0 -224
- package/browser/esm/DFQGftDcmDwUGxV8.mjs +0 -27
- package/browser/esm/DdaO25i-WWFSh1W0.mjs +0 -3188
- package/browser/esm/DhW7Cqyuxk7D6zsW.mjs +0 -509
- package/browser/esm/DhgwMDb052opCiAA.mjs +0 -11273
- package/browser/esm/DimkHq0_x-d4uNdV.mjs +0 -50758
- package/browser/esm/DnCkPg9-xb3RvxD-.mjs +0 -44
- package/browser/esm/DygUxASTETZM60uN2.mjs +0 -47
- package/browser/esm/FAHIw2t7_M_rvRio.mjs +0 -149
- package/browser/esm/HFqcMD9nTL0jdLxT.mjs +0 -15
- package/browser/esm/N-koparnupMSl92y.mjs +0 -2687
- package/browser/esm/evPbHV86yom22yGf2.mjs +0 -16301
- package/browser/esm/ohVj-y1gCC9PEHJI.mjs +0 -87
- package/cdn/assets/B-dSKzg5shPDd733.js +0 -25
- package/cdn/assets/B3ZyfwskutLZMYfl2.js +0 -44
- package/cdn/assets/B6Y_HasaiihQLVYz2.js +0 -3188
- package/cdn/assets/B8ok93z6wOu1Mo5H.js +0 -27
- package/cdn/assets/BdmCBWTVHb7KuHxO2.js +0 -2687
- package/cdn/assets/BjN8kU7URKZwGlmk2.js +0 -4423
- package/cdn/assets/BouCHi6QnBrUDYkx.js +0 -16301
- package/cdn/assets/CLhSKL0Xdm8miSTy.js +0 -34
- package/cdn/assets/CSkSOhGT8E29E2Nh2.js +0 -99
- package/cdn/assets/CXrcgTVB77CopjOJ.js +0 -518
- package/cdn/assets/Cb71rZAQvCk3wnfp.js +0 -220
- package/cdn/assets/CbJ_xQftC08KrH3E.js +0 -20
- package/cdn/assets/CblzazoiTtSuaAkj.js +0 -225
- package/cdn/assets/CdPxVRKpCOqCDHI8.js +0 -824
- package/cdn/assets/CimYGZTVXcjbjrBU2.js +0 -83
- package/cdn/assets/CpEgh9EOkeMvwAuj.js +0 -304
- package/cdn/assets/D57KcDfTbBzf_NGr.js +0 -150
- package/cdn/assets/Dhq9e6LCpmlIkFod.js +0 -220
- package/cdn/assets/DjS4iUli-T3uuUfK.js +0 -24
- package/cdn/assets/DjS4iUli-T3uuUfK2.js +0 -24
- package/cdn/assets/DoJfPxuL3zziG4p62.js +0 -134
- package/cdn/assets/Dq7WxMef5CTJ47QI2.js +0 -48
- package/cdn/assets/HFqcMD9nTL0jdLxT2.js +0 -15
- package/cdn/assets/HeznPoDlSj26Q4lq.js +0 -11274
- package/cdn/assets/JL1xk8XqkuTOA_as2.js +0 -239
- package/cdn/assets/NZO3-fDBtqhmCsbB2.js +0 -50758
- package/cdn/assets/Wsgx1I_j1chJ6hwn.js +0 -152
- package/cdn/assets/XSUr59k0gaFIS1Qf2.js +0 -53
- package/cdn/assets/omgRvCRxe7suvog8.js +0 -510
- package/cdn/assets/zrS_ERBQML_OXJ4J.js +0 -87
- /package/browser/cjs/{1XrWGMP3GmsQOMIX.cjs → 1XrWGMP3GmsQOMIX2.cjs} +0 -0
- /package/browser/cjs/{507hQYooKKjnRzsZ2.cjs → 507hQYooKKjnRzsZ.cjs} +0 -0
- /package/browser/cjs/{BAxVLKkxFgI6cXnR2.cjs → BAxVLKkxFgI6cXnR.cjs} +0 -0
- /package/browser/cjs/{BWDfauDHqB6U_2ka2.cjs → BWDfauDHqB6U_2ka.cjs} +0 -0
- /package/browser/cjs/{Btc0Nzu40VYOpzLX2.cjs → Btc0Nzu40VYOpzLX.cjs} +0 -0
- /package/browser/cjs/{C2uDl8VIJqh58YF_2.cjs → C2uDl8VIJqh58YF_.cjs} +0 -0
- /package/browser/cjs/{CW-b31_-r-_raT8Y.cjs → CW-b31_-r-_raT8Y2.cjs} +0 -0
- /package/browser/cjs/{CXlzsh_WHCOsErJ12.cjs → CXlzsh_WHCOsErJ1.cjs} +0 -0
- /package/browser/cjs/{DM7-R_ltoLbA9jde2.cjs → DM7-R_ltoLbA9jde.cjs} +0 -0
- /package/browser/cjs/{DNKyaSruDogoBd2H.cjs → DNKyaSruDogoBd2H2.cjs} +0 -0
- /package/browser/cjs/{Dx79LP1-YCQg8B87.cjs → Dx79LP1-YCQg8B872.cjs} +0 -0
- /package/browser/cjs/{CbLXP9WY38wTcGn5.cjs → NcNz8RfT5V889CMT2.cjs} +0 -0
- /package/browser/cjs/{aONv0Ys3C8xmnaR8.cjs → aONv0Ys3C8xmnaR82.cjs} +0 -0
- /package/browser/cjs/{z_rZE1OHFPpdGBh42.cjs → z_rZE1OHFPpdGBh4.cjs} +0 -0
|
@@ -0,0 +1,758 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.8.0-beta.2
|
|
3
|
+
*
|
|
4
|
+
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
import { R as e } from "./DuijhgjRhgWB9sCY.mjs";
|
|
8
|
+
import { c as t, o as n, t as r } from "./B50P0gSziuG68Umu.mjs";
|
|
9
|
+
var i = Object.freeze({
|
|
10
|
+
NoBody: "SXL1001",
|
|
11
|
+
Anonymous: "SXL1002",
|
|
12
|
+
ParseError: "SXL1003",
|
|
13
|
+
InvalidParamType: "SXL2001",
|
|
14
|
+
InvalidReturnType: "SXL2002",
|
|
15
|
+
UndefinedInput: "SXL2003",
|
|
16
|
+
MissingType: "SXL2004",
|
|
17
|
+
UntypedArray: "SXL2005",
|
|
18
|
+
GenericArity: "SXL2006",
|
|
19
|
+
MultipleModifiers: "SXL2007",
|
|
20
|
+
ContextNotFirst: "SXL2010",
|
|
21
|
+
MultipleLambda: "SXL2020",
|
|
22
|
+
LambdaNotLast: "SXL2021",
|
|
23
|
+
LambdaScalarMismatch: "SXL2022",
|
|
24
|
+
LambdaReturn: "SXL2023",
|
|
25
|
+
FunctionReturn: "SXL2024",
|
|
26
|
+
LambdaArity: "SXL2025",
|
|
27
|
+
ArrayDepth: "SXL2030",
|
|
28
|
+
RepeatingPosition: "SXL2040",
|
|
29
|
+
MultipleRepeating: "SXL2041",
|
|
30
|
+
RepeatingSlots: "SXL2042",
|
|
31
|
+
RepeatingOptional: "SXL2043",
|
|
32
|
+
RepeatingMax: "SXL2044",
|
|
33
|
+
EnumMixed: "SXL2050",
|
|
34
|
+
EnumMemberNotConstant: "SXL2051",
|
|
35
|
+
EnumNotLocal: "SXL2052",
|
|
36
|
+
EnumMissingAlias: "SXL2053",
|
|
37
|
+
EnumPosition: "SXL2054",
|
|
38
|
+
EnumOmittedValue: "SXL2055",
|
|
39
|
+
NoExports: "SXL3001",
|
|
40
|
+
UnknownParam: "SXL3002",
|
|
41
|
+
BuiltInName: "SXL3003",
|
|
42
|
+
UnknownReturnKind: "SXL3005",
|
|
43
|
+
InvalidName: "SXL3006",
|
|
44
|
+
DuplicateName: "SXL3007",
|
|
45
|
+
MissingSummary: "SXL9001",
|
|
46
|
+
MissingParamDescription: "SXL9002",
|
|
47
|
+
MissingReturns: "SXL9003",
|
|
48
|
+
EnumDuplicateValue: "SXL9004",
|
|
49
|
+
EnumMemberUndocumented: "SXL9005"
|
|
50
|
+
}), a = [
|
|
51
|
+
{
|
|
52
|
+
name: "param",
|
|
53
|
+
group: "jsdoc",
|
|
54
|
+
description: "Document a parameter. A string union type becomes a dropdown of allowed options.",
|
|
55
|
+
snippet: "param ${1:name} ${2:description}"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "returns",
|
|
59
|
+
aliases: ["return"],
|
|
60
|
+
group: "jsdoc",
|
|
61
|
+
description: "Describe the return value."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "category",
|
|
65
|
+
group: "sheetxl",
|
|
66
|
+
description: "Group the function under a category in the function list.",
|
|
67
|
+
snippet: "category ${1:name}"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "name",
|
|
71
|
+
group: "sheetxl",
|
|
72
|
+
description: "A name an identifier cannot spell: the name formulas call a function by (MY.FUNC), or an enum member's label.",
|
|
73
|
+
snippet: "name ${1:NAME}"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: "description",
|
|
77
|
+
group: "sheetxl",
|
|
78
|
+
description: "A longer description of the function."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: "deprecated",
|
|
82
|
+
group: "sheetxl",
|
|
83
|
+
standalone: !0,
|
|
84
|
+
description: "Mark the function as deprecated (optionally with a reason)."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: "hidden",
|
|
88
|
+
group: "sheetxl",
|
|
89
|
+
standalone: !0,
|
|
90
|
+
description: "Hide the function from the function list."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "returnkind",
|
|
94
|
+
group: "sheetxl",
|
|
95
|
+
description: "Declare the value kind of the return (a ValueKind word, e.g. `number`, `array`, `reference`) where the type spelling cannot say it (a union return collapses to any).",
|
|
96
|
+
snippet: "returnKind ${1:number}"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "example",
|
|
100
|
+
group: "jsdoc",
|
|
101
|
+
description: "Provide a usage example."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: "see",
|
|
105
|
+
group: "jsdoc",
|
|
106
|
+
description: "Reference a related function or link."
|
|
107
|
+
}
|
|
108
|
+
], o = (() => {
|
|
109
|
+
let e = /* @__PURE__ */ new Map();
|
|
110
|
+
for (let t of a) if (e.set(t.name, t), t.aliases) for (let n of t.aliases) e.set(n, t);
|
|
111
|
+
return e;
|
|
112
|
+
})();
|
|
113
|
+
function s(e) {
|
|
114
|
+
return !0 === function(e) {
|
|
115
|
+
if (!e) return;
|
|
116
|
+
let t = (e.startsWith("@") ? e.slice(1) : e).toLowerCase();
|
|
117
|
+
return o.get(t);
|
|
118
|
+
}(e)?.standalone;
|
|
119
|
+
}
|
|
120
|
+
var c = /* @__PURE__ */ new Map([["IReferenceRange", "p"], ["IRange", "r"]]), l = new Set(Object.values(t).filter((e) => e !== t.Omitted)), u = /* @__PURE__ */ new Map([
|
|
121
|
+
["IWorkbook", "workbook"],
|
|
122
|
+
["ISheet", "sheet"],
|
|
123
|
+
["ICellRanges", "ranges"],
|
|
124
|
+
["ICellRange", "range"]
|
|
125
|
+
]), d = Array.from(u.keys()), f = (e, t) => {
|
|
126
|
+
Array.from(t.keys()).forEach((n) => {
|
|
127
|
+
let r = t.get(n);
|
|
128
|
+
t.set(`${e}.${n}`, r);
|
|
129
|
+
});
|
|
130
|
+
}, p = /* @__PURE__ */ new Map([
|
|
131
|
+
["Scalar", "*"],
|
|
132
|
+
["Lambda", "l"],
|
|
133
|
+
["FormulaError.Known", r.Error],
|
|
134
|
+
["Date", n.Date],
|
|
135
|
+
["IRichData", n.RichData]
|
|
136
|
+
]), m = /* @__PURE__ */ new Map([["Repeating", "repeating"]]), h = /* @__PURE__ */ new Set(["Flatten", "SheetXL.Flatten"]), g = /* @__PURE__ */ new Set(["AcceptError"]), _ = /* @__PURE__ */ new Set(["Omittable"]), v = /* @__PURE__ */ new Set(["NoLift"]), y = /* @__PURE__ */ new Set(["NoFilter"]), b = /* @__PURE__ */ new Set(["Lazy"]), x = /* @__PURE__ */ new Set(["ReportType"]), S = /^[a-zA-Z_-][a-zA-Z0-9_.-]*$/, C = /^([a-z]{1,3})([0-9]+)$/i, w = /^r[0-9]*c[0-9]*$/i, T = "SheetXL", E = (e) => {
|
|
137
|
+
let t = e.typeName.getText();
|
|
138
|
+
return t.startsWith(`${T}.`) ? t.slice(8) : t;
|
|
139
|
+
};
|
|
140
|
+
f(T, c), f(T, u), f(T, m), g.add(T + ".AcceptError"), _.add(`${T}.Omittable`), v.add(`${T}.NoLift`), y.add(`${T}.NoFilter`), b.add(`${T}.Lazy`), x.add(`${T}.ReportType`);
|
|
141
|
+
var D = /* @__PURE__ */ new Map([
|
|
142
|
+
["Promise", () => ({ async: !0 })],
|
|
143
|
+
["Observable", () => ({ stream: !0 })],
|
|
144
|
+
["Volatile", () => ({ volatile: !0 })],
|
|
145
|
+
[`${T}.Volatile`, () => ({ volatile: !0 })]
|
|
146
|
+
]), O = "__scriptContext__", k = "script", A = /* @__PURE__ */ new Set([
|
|
147
|
+
"IScript.ScriptContext",
|
|
148
|
+
`${T}.IScript.ScriptContext`,
|
|
149
|
+
"ScriptContext"
|
|
150
|
+
]), j = (e, t) => {
|
|
151
|
+
let n = t.literal;
|
|
152
|
+
if (n === void 0) return;
|
|
153
|
+
let r = e.SyntaxKind;
|
|
154
|
+
switch (n.kind) {
|
|
155
|
+
case r.StringLiteral: return n.text;
|
|
156
|
+
case r.NumericLiteral: return parseFloat(n.text);
|
|
157
|
+
case r.TrueKeyword: return !0;
|
|
158
|
+
case r.FalseKeyword: return !1;
|
|
159
|
+
case r.NullKeyword: return null;
|
|
160
|
+
case r.PrefixUnaryExpression: return n.operator === r.MinusToken && n.operand?.kind === r.NumericLiteral ? -parseFloat(n.operand.text) : void 0;
|
|
161
|
+
default: return;
|
|
162
|
+
}
|
|
163
|
+
}, M = (e) => {
|
|
164
|
+
if (!e || e.length === 0) return "";
|
|
165
|
+
let t = "";
|
|
166
|
+
for (let n = 0; n < e.length; n++) {
|
|
167
|
+
let r = e[n], i = r.kind;
|
|
168
|
+
if (i !== "link") {
|
|
169
|
+
if (i === "linkName") {
|
|
170
|
+
let i = e[n + 1];
|
|
171
|
+
if (i?.kind === "linkText" && i.text.trim()) continue;
|
|
172
|
+
t += r.text;
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
t += i === "linkText" ? r.text.trim() : r.text;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return t.replace(/\r\n?/g, "\n").split(/\n[^\S\n]*\n\s*/).map((e) => e.split("\n").map((e) => e.trim()).filter(Boolean).join(" ")).filter(Boolean).join("\n").trim();
|
|
179
|
+
};
|
|
180
|
+
function N(t, n, a, o) {
|
|
181
|
+
let f = o?.builtInNames?.length ? new Set(o.builtInNames.map((e) => e.toUpperCase())) : null, N = [], P = /* @__PURE__ */ new Map(), F = [], I = null, L = (e, t, n, r) => {
|
|
182
|
+
let { start: i, length: a } = ((e) => {
|
|
183
|
+
if (!e || typeof e.getStart != "function") return {
|
|
184
|
+
start: 0,
|
|
185
|
+
length: 0
|
|
186
|
+
};
|
|
187
|
+
try {
|
|
188
|
+
return {
|
|
189
|
+
start: e.getStart(),
|
|
190
|
+
length: e.getWidth()
|
|
191
|
+
};
|
|
192
|
+
} catch {
|
|
193
|
+
return {
|
|
194
|
+
start: 0,
|
|
195
|
+
length: 0
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
})(e);
|
|
199
|
+
F.push({
|
|
200
|
+
start: i,
|
|
201
|
+
length: a,
|
|
202
|
+
severity: n,
|
|
203
|
+
code: t,
|
|
204
|
+
message: r
|
|
205
|
+
});
|
|
206
|
+
}, R = (e, t, n) => {
|
|
207
|
+
L(e, t, "error", n);
|
|
208
|
+
}, z = (e) => e?.parent?.name?.escapedText, B = (e, t, n, r, a = !1, o = !1, s = !1) => {
|
|
209
|
+
let c = { count: 0 }, l = Z(e, t, n, r, c, a, o, s);
|
|
210
|
+
c.count >= 2 && (t.range || (t.range = "m", c.count -= 2), !r && c.count >= 1 && (--c.count, c.count > 0 && R(e, i.ArrayDepth, `Arrays of more than 2 dimensions are not supported: '${z(e)}'.`))), c.count > 0 && (t.arrayDepth = c.count);
|
|
211
|
+
let u = t.enum;
|
|
212
|
+
return u && (c.count > +!!s || t.range) && !K.has(t) && (t.valueOrRange || (R(e, i.EnumPosition, `A list cannot hold the enum '${u.id}': '${t.name ?? z(e)}'. Its members reach the body as they are, so nothing checks them against the enum. Take one value per argument ('...x: ${u.id}[]'), or type the list by its scalar ('${u.type}').`), delete t.enum)), l;
|
|
213
|
+
}, V = (e, n, r, i, a) => {
|
|
214
|
+
if (n !== "Lambda" && n !== `${T}.Lambda`) return !1;
|
|
215
|
+
let o = e.typeArguments, s = "*";
|
|
216
|
+
if (o && o.length === 2) if (a && o[0].kind === t.SyntaxKind.TupleType && (r.lambdaArity = o[0].elements.length), o[1].kind === t.SyntaxKind.AnyKeyword) s = "raw";
|
|
217
|
+
else {
|
|
218
|
+
let e = {};
|
|
219
|
+
Z(o[1], e, i, !1, { count: 0 }), s = e.scalar ?? "*";
|
|
220
|
+
}
|
|
221
|
+
else if (o && o.length === 1 && o[0].kind !== t.SyntaxKind.TupleType && o[0].kind !== t.SyntaxKind.ArrayType) if (a && (r.lambdaArity = 2), o[0].kind === t.SyntaxKind.AnyKeyword) s = "raw";
|
|
222
|
+
else {
|
|
223
|
+
let e = {};
|
|
224
|
+
Z(o[0], e, i, !1, { count: 0 }), s = e.scalar ?? "*";
|
|
225
|
+
}
|
|
226
|
+
return r.lambda = s, !0;
|
|
227
|
+
}, H = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Map(), W = /* @__PURE__ */ new Map(), G = /* @__PURE__ */ new Set(), K = /* @__PURE__ */ new WeakSet(), q = (e) => e !== void 0 && e.getSourceFile() === n, J = (t, n = !1) => t.getJsDocTags(a).find((e) => e.name === "name")?.text?.map((e) => e.text).join("").trim() || (n ? e.camelToPrettyCase(t.name) : t.name), Y = (e) => {
|
|
228
|
+
let t = e.getJsDocTags(a).find((e) => e.name === "deprecated");
|
|
229
|
+
if (t) return t.text?.map((e) => e.text).join("").trim() || !0;
|
|
230
|
+
}, X = (e, o) => {
|
|
231
|
+
let s = t.isTypeReferenceNode(e) ? e.typeName : void 0, c = s ? a.getSymbolAtLocation(s) : void 0, l = c?.declarations?.length ? c : void 0;
|
|
232
|
+
if (s) {
|
|
233
|
+
if (l && l.flags & t.SymbolFlags.Alias) return void R(e, i.EnumNotLocal, `'${s.getText()}' is imported, so its declaration cannot be read: '${o}'. An enum must be declared in the module that uses it.`);
|
|
234
|
+
if (!(l && l.flags & t.SymbolFlags.Type)) {
|
|
235
|
+
let r = s.getText();
|
|
236
|
+
return (l ? (l.flags & t.SymbolFlags.Variable) !== 0 : n.statements.some((e) => t.isVariableStatement(e) && e.declarationList.declarations.some((e) => t.isIdentifier(e.name) && e.name.text === r))) ? void R(e, i.EnumMissingAlias, `'${r}' is a value, not a type: '${o}'. Pair the object with a same-name type — 'type ${r} = typeof ${r}[keyof typeof ${r}];' — or declare it as 'enum ${r} { … }'.`) : null;
|
|
237
|
+
}
|
|
238
|
+
let r = H.get(l);
|
|
239
|
+
if (r !== void 0) return r;
|
|
240
|
+
if (G.has(l)) return;
|
|
241
|
+
}
|
|
242
|
+
let u = [], d = !1;
|
|
243
|
+
if (l && l.flags & t.SymbolFlags.Enum) {
|
|
244
|
+
if (!l.declarations?.some(q)) return void R(e, i.EnumNotLocal, `'${l.name}' is not declared in this module: '${o}'. An enum must be declared in the module that uses it.`);
|
|
245
|
+
d = !0;
|
|
246
|
+
let n = !1;
|
|
247
|
+
if (l.exports?.forEach((e) => {
|
|
248
|
+
let r = e.valueDeclaration;
|
|
249
|
+
if (!r || !t.isEnumMember(r)) return;
|
|
250
|
+
let o = a.getConstantValue(r);
|
|
251
|
+
if (o === void 0) return R(r, i.EnumMemberNotConstant, `'${l.name}.${e.name}' is not a constant number or string. A formula passes the VALUE, so every member needs one that can be read at compile time.`), void (n = !0);
|
|
252
|
+
u.push([
|
|
253
|
+
J(e, !0),
|
|
254
|
+
o,
|
|
255
|
+
r,
|
|
256
|
+
M(e.getDocumentationComment(a)),
|
|
257
|
+
Y(e)
|
|
258
|
+
]);
|
|
259
|
+
}), n) return void G.add(l);
|
|
260
|
+
} else {
|
|
261
|
+
let n = a.getTypeFromTypeNode(e), r = t.TypeFlags.Null | t.TypeFlags.Undefined | t.TypeFlags.Void, i = (n.isUnion() ? n.types : [n]).filter((e) => !(e.flags & r)), o = [];
|
|
262
|
+
for (let e of i) {
|
|
263
|
+
if (!(e.flags & (t.TypeFlags.NumberLiteral | t.TypeFlags.StringLiteral))) return l && H.set(l, null), null;
|
|
264
|
+
o.push(e.value);
|
|
265
|
+
}
|
|
266
|
+
if (o.length === 0) return null;
|
|
267
|
+
let s = l?.declarations?.find((e) => t.isTypeAliasDeclaration(e)), c = t.isUnionTypeNode(e) ? e : s?.type;
|
|
268
|
+
if (c && t.isUnionTypeNode(c)) {
|
|
269
|
+
let e = c.types.map((e) => {
|
|
270
|
+
let t = a.getTypeFromTypeNode(e);
|
|
271
|
+
return t.isLiteral() ? t.value : void 0;
|
|
272
|
+
}), t = (t) => {
|
|
273
|
+
let n = e.indexOf(t);
|
|
274
|
+
return n < 0 ? e.length : n;
|
|
275
|
+
};
|
|
276
|
+
o.sort((e, n) => t(e) - t(n));
|
|
277
|
+
}
|
|
278
|
+
let f = l && l.flags & t.SymbolFlags.Variable ? l.valueDeclaration : void 0, p = new Set(o);
|
|
279
|
+
if (l && f && q(f)) for (let e of a.getTypeOfSymbolAtLocation(l, f).getProperties()) {
|
|
280
|
+
let n = e.valueDeclaration, r = a.getTypeOfSymbolAtLocation(e, n ?? f);
|
|
281
|
+
if (!(r.flags & (t.TypeFlags.NumberLiteral | t.TypeFlags.StringLiteral))) continue;
|
|
282
|
+
let i = r.value;
|
|
283
|
+
o.includes(i) && (d = !0, p.delete(i), u.push([
|
|
284
|
+
J(e, !0),
|
|
285
|
+
i,
|
|
286
|
+
n,
|
|
287
|
+
M(e.getDocumentationComment(a)),
|
|
288
|
+
Y(e)
|
|
289
|
+
]));
|
|
290
|
+
}
|
|
291
|
+
for (let e of o) p.has(e) && u.push([
|
|
292
|
+
String(e),
|
|
293
|
+
e,
|
|
294
|
+
void 0,
|
|
295
|
+
null
|
|
296
|
+
]);
|
|
297
|
+
}
|
|
298
|
+
if (u.length === 0) return null;
|
|
299
|
+
let f = typeof u[0][1] == "number";
|
|
300
|
+
if (u.some(([, e]) => typeof e == "number" !== f)) return void R(e, i.EnumMixed, `'${l?.name ?? e.getText()}' mixes number and string members: '${o}'. A parameter has one type, so an enum is all numbers or all strings.`);
|
|
301
|
+
let p = l ? J(l) : u.map(([, e]) => String(e)).join("|"), m = l ? void 0 : U.get(p);
|
|
302
|
+
if (m) return m;
|
|
303
|
+
if (d) {
|
|
304
|
+
let t = /* @__PURE__ */ new Map();
|
|
305
|
+
for (let [n, r, a, o] of u) {
|
|
306
|
+
let s = a?.name?.getText() ?? n, c = t.get(r);
|
|
307
|
+
c === void 0 ? t.set(r, s) : L(a ?? e, i.EnumDuplicateValue, "warning", `'${p}.${s}' has the same value as '${p}.${c}' (${JSON.stringify(r)}). A formula passes the value, so the two cannot be told apart.`), o === "" && L(a ?? e, i.EnumMemberUndocumented, "warning", `'${p}.${s}' is missing a description. Add a doc comment above the member — it is what the argument dropdown shows.`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
let h = {
|
|
311
|
+
id: p,
|
|
312
|
+
type: f ? r.Number : r.String,
|
|
313
|
+
members: u.map(([e, t, , , n]) => n ? [
|
|
314
|
+
e,
|
|
315
|
+
t,
|
|
316
|
+
n
|
|
317
|
+
] : [e, t])
|
|
318
|
+
};
|
|
319
|
+
l ? H.set(l, h) : U.set(p, h);
|
|
320
|
+
let g = l ? M(l.getDocumentationComment(a)) : "", _ = {};
|
|
321
|
+
for (let [e, , , t] of u) t && (_[e] = { description: t });
|
|
322
|
+
if (g || Object.keys(_).length > 0) {
|
|
323
|
+
let e = {};
|
|
324
|
+
g && (e.summary = g), Object.keys(_).length > 0 && (e.members = _), W.set(h, e);
|
|
325
|
+
}
|
|
326
|
+
return h;
|
|
327
|
+
}, Z = (e, n, a, o, s, l = !1, f = !1, S = !1) => {
|
|
328
|
+
if (e) {
|
|
329
|
+
if (e.kind === t.SyntaxKind.ParenthesizedType) return Z(e.type, n, a, o, s, l, f, S);
|
|
330
|
+
if (e.kind === t.SyntaxKind.UnionType) {
|
|
331
|
+
let r = (e) => e.kind === t.SyntaxKind.UndefinedKeyword || e.kind === t.SyntaxKind.VoidKeyword || e.kind === t.SyntaxKind.NullKeyword || e.kind === t.SyntaxKind.LiteralType && e.literal?.kind === t.SyntaxKind.NullKeyword, u = e.types.filter((e) => !r(e));
|
|
332
|
+
if (u.length === 1) return Z(u[0], n, a, o, s, l, f, S);
|
|
333
|
+
let d = X(e, n.name ?? z(e));
|
|
334
|
+
if (d === void 0) return;
|
|
335
|
+
if (d !== null) return n.scalar = d.type, void (o && (n.enum = d));
|
|
336
|
+
if (!o) return void (n.scalar = "*");
|
|
337
|
+
if (u.length === 2) {
|
|
338
|
+
let e = (e) => e.kind === t.SyntaxKind.TypeReference && t.isTypeReferenceNode(e) && E(e) === "Lambda", r = u.findIndex(e);
|
|
339
|
+
if (r >= 0 && !e(u[1 - r])) return Z(u[1 - r], n, a, o, s, l, f, S), void V(u[r], E(u[r]), n, a, o);
|
|
340
|
+
}
|
|
341
|
+
if (o && u.length === 2) {
|
|
342
|
+
let e = (e) => {
|
|
343
|
+
if (e.kind === t.SyntaxKind.TypeReference && !e.typeArguments?.length) return c.get(E(e));
|
|
344
|
+
}, r = u.findIndex((t) => e(t) !== void 0);
|
|
345
|
+
if (r >= 0 && e(u[1 - r]) === void 0) {
|
|
346
|
+
let t = {}, i = s.count;
|
|
347
|
+
if (Z(u[1 - r], t, a, o, s, l, !1), t.scalar && !t.range && t.lambda == null && s.count === i) {
|
|
348
|
+
n.range = e(u[r]), n.scalar = t.scalar, n.valueOrRange = !0;
|
|
349
|
+
let i = t.enum;
|
|
350
|
+
i && (n.enum = i);
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
if (o && u.length === 2) {
|
|
356
|
+
let r = (e) => e.kind === t.SyntaxKind.TypeReference && !e.typeArguments?.length && E(e) === "Scalar", i = u.findIndex(r);
|
|
357
|
+
if (i >= 0 && !r(u[1 - i])) {
|
|
358
|
+
let t = X(u[1 - i], n.name ?? z(e));
|
|
359
|
+
if (t === void 0) return;
|
|
360
|
+
if (t !== null) return n.scalar = "*", void (n.enum = t);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
R(e, i.InvalidParamType, `Union parameter types are not supported: '${z(e)}'. Use a single type, optionally with '| null' or '| undefined', 'T | Lambda<…>' for a value-or-lambda slot, 'IRange | Scalar' for a value-or-range slot, or 'E | Scalar' for an uncoerced slot whose values an enum documents.`);
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
if (e.kind === t.SyntaxKind.NumberKeyword) n.scalar = r.Number;
|
|
367
|
+
else if (e.kind === t.SyntaxKind.StringKeyword) n.scalar = r.String;
|
|
368
|
+
else if (e.kind === t.SyntaxKind.BooleanKeyword) n.scalar = r.Boolean;
|
|
369
|
+
else if (e.kind === t.SyntaxKind.UndefinedKeyword || e.kind === t.SyntaxKind.NullKeyword || e.kind === t.SyntaxKind.VoidKeyword) {
|
|
370
|
+
if (o) return void R(e, i.UndefinedInput, `'undefined' is not a valid type for input: '${z(e)}'.`);
|
|
371
|
+
n.scalar = r.Null;
|
|
372
|
+
} else if (e.kind === t.SyntaxKind.BigIntKeyword) n.scalar = r.Number;
|
|
373
|
+
else if (e.kind === t.SyntaxKind.AnyKeyword) o && (n.range = "*");
|
|
374
|
+
else if (e.kind === t.SyntaxKind.ArrayType) {
|
|
375
|
+
let t = e.elementType;
|
|
376
|
+
if (!t) return void R(e, i.UntypedArray, `'Array' must be typed: '${z(e)}'.`);
|
|
377
|
+
if (o && f) {
|
|
378
|
+
let r = n, i = r.name ?? z(e) ?? "parameter", o = r.acceptError;
|
|
379
|
+
delete r.acceptError;
|
|
380
|
+
let s = { name: i };
|
|
381
|
+
B(t, s, a, !0), o && !s.acceptError && (s.acceptError = !0), r.repeating = [s];
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
s.count++, Z(t, n, a, o, s);
|
|
385
|
+
} else if (e.kind !== t.SyntaxKind.TupleType) if (e.kind === t.SyntaxKind.TypeReference) {
|
|
386
|
+
let r = E(e);
|
|
387
|
+
if (g.has(r)) {
|
|
388
|
+
let t = z(e);
|
|
389
|
+
if (!o) return void R(e, i.InvalidReturnType, `'${r}' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
390
|
+
let c = n;
|
|
391
|
+
if (c.acceptError) return void R(e, i.InvalidParamType, `'${t}' declares 'AcceptError' more than once.`);
|
|
392
|
+
let u = e.typeArguments;
|
|
393
|
+
return u && u.length === 1 ? (c.acceptError = !0, Z(u[0], n, a, o, s, l, f, S)) : void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${t}'.`);
|
|
394
|
+
}
|
|
395
|
+
if (x.has(r)) {
|
|
396
|
+
let t = n.name ?? z(e);
|
|
397
|
+
if (!o) return void R(e, i.InvalidReturnType, `'ReportType' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
398
|
+
let c = e.typeArguments;
|
|
399
|
+
return c && c.length === 1 ? (n.reportType = !0, Z(c[0], n, a, o, s, l, f, S)) : void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${t}'.`);
|
|
400
|
+
}
|
|
401
|
+
if (v.has(r)) {
|
|
402
|
+
let t = n.name ?? z(e);
|
|
403
|
+
if (!o) return void R(e, i.InvalidReturnType, `'NoLift' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
404
|
+
let c = e.typeArguments;
|
|
405
|
+
if (!c || c.length !== 1) return void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${t}'.`);
|
|
406
|
+
let u = n;
|
|
407
|
+
u.noLift = !0;
|
|
408
|
+
let d = s.count;
|
|
409
|
+
Z(c[0], n, a, o, s, l, f, S), (u.range || u.lambda != null || u.repeating || s.count !== d) && R(e, i.InvalidParamType, `'${t}': 'NoLift' applies to a SCALAR parameter only - a range, list, repeating or lambda slot never lifts.`);
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
if (y.has(r)) {
|
|
413
|
+
let t = n.name ?? z(e);
|
|
414
|
+
if (!o) return void R(e, i.InvalidReturnType, `'NoFilter' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
415
|
+
let c = e.typeArguments;
|
|
416
|
+
if (!c || c.length !== 1) return void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${t}'.`);
|
|
417
|
+
let u = n;
|
|
418
|
+
u.noFilter = !0;
|
|
419
|
+
let d = s.count;
|
|
420
|
+
if (Z(c[0], n, a, o, s, l, f, S), u.range || u.lambda != null || s.count !== d) return void R(e, i.InvalidParamType, `'${t}': 'NoFilter' applies to a SCALAR slot only - a range, list or lambda slot has no members to coerce.`);
|
|
421
|
+
let p = u.repeating;
|
|
422
|
+
if (p) {
|
|
423
|
+
if (delete u.noFilter, p.length !== 1) return void R(e, i.InvalidParamType, `'${t}': 'NoFilter' over a repeating group applies to a period-1 group only - write it on the slot that takes the members.`);
|
|
424
|
+
p[0].noFilter = !0;
|
|
425
|
+
} else f && R(e, i.InvalidParamType, `'${t}': 'NoFilter' applies to a REPEATING slot only - a single scalar argument has no members to coerce.`);
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
if (_.has(r)) {
|
|
429
|
+
let c = n.name ?? z(e);
|
|
430
|
+
if (!o) return void R(e, i.InvalidReturnType, `'Omittable' is not a valid return type: '${c}'. It describes how an ARGUMENT is received.`);
|
|
431
|
+
let u = e.typeArguments;
|
|
432
|
+
if (!u || u.length < 1 || u.length > 2) return void R(e, i.GenericArity, `'${r}' must be typed with 1 or 2 types: '${c}'.`);
|
|
433
|
+
let d = n;
|
|
434
|
+
if (d.omittable = !0, u.length === 2) {
|
|
435
|
+
let n = j(t, u[1]);
|
|
436
|
+
if (n === void 0) return void R(e, i.InvalidParamType, `'${c}' declares '${r}' with a second type that is not a literal value. Use a number, string, boolean or null - the engine substitutes it for an omitted argument.`);
|
|
437
|
+
d.omittedValue = n;
|
|
438
|
+
}
|
|
439
|
+
let p = Z(u[0], n, a, o, s, l, f, S), m = d.omittedValue;
|
|
440
|
+
return d.enum && m != null && !d.enum.members.some(([, e]) => e === m) && R(u[1], i.EnumOmittedValue, `'${c}': ${JSON.stringify(m)} is not a member of '${d.enum.id}'. An omitted argument must mean a member (${d.enum.members.map(([, e]) => JSON.stringify(e)).join(", ")}) or null.`), p;
|
|
441
|
+
}
|
|
442
|
+
if (b.has(r)) {
|
|
443
|
+
let c = n.name ?? z(e);
|
|
444
|
+
if (!o) return void R(e, i.InvalidReturnType, `'Lazy' is not a valid return type: '${c}'. It describes how an ARGUMENT is received.`);
|
|
445
|
+
let u = n;
|
|
446
|
+
if (u.lazy) return void R(e, i.InvalidParamType, `'${c}' declares 'Lazy' more than once.`);
|
|
447
|
+
let d = e.typeArguments;
|
|
448
|
+
if (!d || d.length < 1 || d.length > 2) return void R(e, i.GenericArity, `'${r}' must be typed with 1 or 2 types: '${c}'.`);
|
|
449
|
+
if (u.lazy = !0, d.length === 2) {
|
|
450
|
+
let n = j(t, d[1]);
|
|
451
|
+
if (n === void 0) return void R(e, i.InvalidParamType, `'${c}' declares '${r}' with a second type that is not a literal value. Use a number, string, boolean or null - the engine substitutes it for an absent argument.`);
|
|
452
|
+
u.optional = !0, u.defaultValue = n;
|
|
453
|
+
}
|
|
454
|
+
Z(d[0], n, a, o, s, l, f, S), u.enum ? (R(e, i.EnumPosition, `'${c}': 'Lazy' cannot hold the enum '${u.enum.id}'. The argument may never be evaluated, so there is no point at which it could be checked against the members.`), delete u.enum) : u.lambda == null ? u.repeating && R(e, i.InvalidParamType, `'${c}': 'Lazy' applies to a VALUE, not to a repeating group - mark the group's slots instead.`) : R(e, i.InvalidParamType, `'${c}': 'Lazy' cannot be combined with a Lambda parameter - a callable slot is already the body's to call, or not.`);
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
if (h.has(r)) {
|
|
458
|
+
let t = n.name ?? z(e);
|
|
459
|
+
if (!o) return void R(e, i.InvalidReturnType, `'Flatten' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
460
|
+
let c = e.typeArguments;
|
|
461
|
+
return c && c.length === 1 ? (s.count++, Z(c[0], n, a, o, s, l)) : void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${t}'.`);
|
|
462
|
+
}
|
|
463
|
+
if (m.get(r) === "repeating") {
|
|
464
|
+
let c = n.name ?? z(e);
|
|
465
|
+
if (!o) return void R(e, i.RepeatingPosition, `'Repeating' is not a valid return type: '${c}'.`);
|
|
466
|
+
if (s.count !== 0) return void R(e, i.RepeatingPosition, `'Repeating' cannot be nested inside another type: '${c}'.`);
|
|
467
|
+
let u = n, d = e.typeArguments;
|
|
468
|
+
if (!d || d.length < 1 || d.length > 2) return void R(e, i.GenericArity, `'${r}' must be typed with 1 type, optionally followed by a maximum argument count: '${c}'.`);
|
|
469
|
+
let p;
|
|
470
|
+
if (d.length === 2) {
|
|
471
|
+
let e = d[1], n = e.kind === t.SyntaxKind.LiteralType ? e.literal : null, o = n && n.kind === t.SyntaxKind.NumericLiteral ? Number(n.text) : NaN;
|
|
472
|
+
if (!Number.isInteger(o) || o < 1 || o > 255) return void R(e, i.RepeatingMax, `'${c}': '${r}'’s maximum must be a whole number between 1 and 255.`);
|
|
473
|
+
p = o, a.maxArguments = o;
|
|
474
|
+
}
|
|
475
|
+
if (S) return p === void 0 ? void R(e, i.RepeatingPosition, `'${c}' is a rest parameter and a repeating group. A group already repeats — drop the '...', or give the group a maximum ('Repeating<T, 254>') if the ceiling is all you meant.`) : Z(d[0], n, a, o, s, l, f);
|
|
476
|
+
let m = u.acceptError;
|
|
477
|
+
delete u.acceptError;
|
|
478
|
+
let h = ((e, n, r, a) => {
|
|
479
|
+
let o = (e, t, n) => {
|
|
480
|
+
let i = { name: e };
|
|
481
|
+
return B(t, i, r, !0), n && (i.optional = !0), a && !i.acceptError && (i.acceptError = !0), i;
|
|
482
|
+
};
|
|
483
|
+
if (e.kind !== t.SyntaxKind.TupleType) return [o(n, e, !1)];
|
|
484
|
+
let s = e.elements;
|
|
485
|
+
if (s.length < 2) return R(e, i.RepeatingSlots, `'${n}': a repeating group of period ${s.length} must be spelled 'Repeating<T>' without the tuple.`), null;
|
|
486
|
+
let c = [];
|
|
487
|
+
for (let e = 0; e < s.length; e++) {
|
|
488
|
+
let r = s[e];
|
|
489
|
+
if (r.kind !== t.SyntaxKind.NamedTupleMember) return R(r, i.RepeatingSlots, `'${n}': every slot of a repeating group must be labelled, e.g. 'Repeating<[criteriaRange: IRange, criteria: Scalar]>'.`), null;
|
|
490
|
+
let a = !!r.questionToken;
|
|
491
|
+
if (a && e !== s.length - 1) return R(r, i.RepeatingOptional, `'${n}': only the LAST slot of a repeating group may be optional (slot '${r.name?.getText?.()}' is not).`), null;
|
|
492
|
+
c.push(o(r.name?.getText?.() ?? `${e}`, r.type, a));
|
|
493
|
+
}
|
|
494
|
+
return c;
|
|
495
|
+
})(d[0], c ?? "parameter", a, m);
|
|
496
|
+
h && (u.repeating = h);
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
499
|
+
let C = c.get(r), w = !1;
|
|
500
|
+
C && (n.range = C, w = !0);
|
|
501
|
+
let k = p.get(r);
|
|
502
|
+
if (k && (n.scalar = k), k !== void 0 && (w = !0), V(e, r, n, a, o)) return;
|
|
503
|
+
if (o) {
|
|
504
|
+
if (r === "Volatile" || r === `${T}.Volatile`) return void R(e, i.InvalidParamType, `'Volatile' is not a valid parameter type: '${z(e)}'. It describes the function's RESULT, so it belongs on the return type.`);
|
|
505
|
+
if (A.has(r)) return O;
|
|
506
|
+
let t = u.get(r);
|
|
507
|
+
if (t) return t;
|
|
508
|
+
} else {
|
|
509
|
+
let t = D.get(r);
|
|
510
|
+
if (t) {
|
|
511
|
+
let a = Object.assign(n, t()), o = 0;
|
|
512
|
+
if (a.async && o++, a.stream && o++, o > 1) return void R(e, i.MultipleModifiers, `'${r}' cannot have multiple modifiers: '${z(e)}'.`);
|
|
513
|
+
w = !0;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
if (!w) {
|
|
517
|
+
let t = X(e, n.name ?? z(e));
|
|
518
|
+
if (t === void 0) return;
|
|
519
|
+
if (t !== null) return n.scalar = t.type, void (o && (n.enum = t));
|
|
520
|
+
}
|
|
521
|
+
if (!w) {
|
|
522
|
+
let t = "number, string, boolean, Scalar, Lambda, Date, FormulaError.Known, IRichData, IRange, IReferenceRange (and arrays of these; optionally wrapped in AcceptError<T>, or grouped with Repeating<T>)", n;
|
|
523
|
+
n = o ? l ? `'${r}' is not a valid first parameter: '${z(e)}'. The first parameter is EITHER a macro target (making this a macro) OR a calculation input (making this a calculation function). Allowed: ${d.join(", ")} (macro target); ${t} (calculation input).` : `'${r}' is not a valid parameter type: '${z(e)}'. Allowed: ${t}.` : `'${r}' is not a valid return type: '${z(e)}'. Allowed: number, string, boolean, Scalar, Date, FormulaError.Known, IRichData, IRange, Promise<T>, Observable<T>, Volatile<T> (and arrays of these).`, R(e, o ? i.InvalidParamType : i.InvalidReturnType, n);
|
|
524
|
+
return;
|
|
525
|
+
}
|
|
526
|
+
let M = e.typeArguments;
|
|
527
|
+
if (M) {
|
|
528
|
+
if (M.length !== 1) return void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${z(e)}'.`);
|
|
529
|
+
let s = M[0], c = o && t.isTypeReferenceNode(s) && x.has(E(s)), l = n.reportType;
|
|
530
|
+
c && K.add(n), B(s, n, a, o), c && l === void 0 && delete n.reportType;
|
|
531
|
+
let u = n.enum;
|
|
532
|
+
u && !c && (R(M[0], i.EnumPosition, `'${r}' cannot hold the enum '${u.id}': '${z(e)}'. The members of a range reach the body as they are, so nothing checks them against the enum. Take the enum as a value, or type the range by its scalar ('${r}<${u.type}>').`), delete n.enum);
|
|
533
|
+
}
|
|
534
|
+
} else e.kind === t.SyntaxKind.FunctionType && ((e, n, r, a) => {
|
|
535
|
+
if (!a) return void R(e, i.FunctionReturn, `Function type is not a valid return type: '${z(e)}'. Declare a 'Lambda' return instead.`);
|
|
536
|
+
let o = e.type, s = {}, c = "*";
|
|
537
|
+
o && (o.kind === t.SyntaxKind.AnyKeyword ? c = "raw" : (Z(o, s, r, !1, { count: 0 }), c = s.scalar ?? "*"));
|
|
538
|
+
let l = e.parameters;
|
|
539
|
+
l && !l.some((e) => e.dotDotDotToken) && (n.lambdaArity = l.length), n.lambda = c;
|
|
540
|
+
})(e, n, a, o);
|
|
541
|
+
} else R(e, i.MissingType, `Type is not defined for '${n?.name ?? "return"}'.`);
|
|
542
|
+
};
|
|
543
|
+
try {
|
|
544
|
+
t.forEachChild(n, (e) => {
|
|
545
|
+
if (r = e, (t.getCombinedModifierFlags(r) & t.ModifierFlags.Export) !== 0 && t.isFunctionDeclaration(e)) {
|
|
546
|
+
let r = e?.name?.getText();
|
|
547
|
+
if (!e.body) return void R(e, i.NoBody, `'${r}': function has no body.`);
|
|
548
|
+
if (!r) return void R(e, i.Anonymous, "Anonymous exported functions are not allowed.");
|
|
549
|
+
let c = {}, u = { parameters: {} };
|
|
550
|
+
try {
|
|
551
|
+
c.name = r;
|
|
552
|
+
let d = M(a.getSymbolAtLocation(e.name)?.getDocumentationComment(a));
|
|
553
|
+
d && (u.summary = d);
|
|
554
|
+
let p = {};
|
|
555
|
+
B(e.type, p, c, !1), c.returnType = p;
|
|
556
|
+
let m = {};
|
|
557
|
+
n = e, (t.getCombinedModifierFlags(n) & t.ModifierFlags.Default) !== 0 && (m.default = !0, I = r), c.parameters = [];
|
|
558
|
+
let h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Set(), v = null, y = null, b = null, x = 0, T = !1, E = 0;
|
|
559
|
+
for (let n = 0; n < e.parameters.length; n++) {
|
|
560
|
+
let r = e.parameters[n], s = {};
|
|
561
|
+
s.name = r.name?.getText();
|
|
562
|
+
let l = c.parameters.length === 0;
|
|
563
|
+
if (o?.lenient && n === 0 && !r.type && m.default) {
|
|
564
|
+
c.context = k;
|
|
565
|
+
continue;
|
|
566
|
+
}
|
|
567
|
+
let d = B(r.type, s, c, !0, l, !r.dotDotDotToken, !!r.dotDotDotToken);
|
|
568
|
+
if (d === O) {
|
|
569
|
+
n === 0 && c.context === void 0 && (c.context = k);
|
|
570
|
+
continue;
|
|
571
|
+
}
|
|
572
|
+
if (d) {
|
|
573
|
+
if (c.parameters.length !== 0) return void R(r, i.ContextNotFirst, `'${c.name}' contexts must be the first parameter: '${s.name}'.`);
|
|
574
|
+
c.context = d;
|
|
575
|
+
continue;
|
|
576
|
+
}
|
|
577
|
+
if (s.lambda !== void 0) {
|
|
578
|
+
if (v !== null) return void R(r, i.MultipleLambda, `'${c.name}' has more than one Lambda parameter ('${v}' and '${s.name}'). Only one Lambda parameter is allowed.`);
|
|
579
|
+
v = s.name;
|
|
580
|
+
} else if (v !== null) return void R(r, i.LambdaNotLast, `'${c.name}' Lambda parameter ('${v}') must be the last parameter, but '${s.name}' follows it.`);
|
|
581
|
+
let f = !0 === s.optional || r.initializer !== void 0 && r.initializer !== null || r.questionToken !== void 0 && r.questionToken !== null, p;
|
|
582
|
+
if (f && (s.optional = !0, r.initializer)) try {
|
|
583
|
+
if (r.initializer.kind === t.SyntaxKind.StringLiteral) p = r.initializer.text;
|
|
584
|
+
else if (r.initializer.kind === t.SyntaxKind.NumericLiteral) p = parseFloat(r.initializer.text);
|
|
585
|
+
else if (r.initializer.kind === t.SyntaxKind.TrueKeyword || r.initializer.kind === t.SyntaxKind.FalseKeyword) p = r.initializer.kind === t.SyntaxKind.TrueKeyword;
|
|
586
|
+
else if (r.initializer.kind === t.SyntaxKind.NullKeyword) p = null;
|
|
587
|
+
else if (t.isPrefixUnaryExpression(r.initializer) && r.initializer.operator === t.SyntaxKind.MinusToken && r.initializer.operand.kind === t.SyntaxKind.NumericLiteral) p = -parseFloat(r.initializer.operand.text);
|
|
588
|
+
else if (t.isPropertyAccessExpression(r.initializer) || t.isElementAccessExpression(r.initializer)) {
|
|
589
|
+
let e = a.getTypeAtLocation(r.initializer);
|
|
590
|
+
e.flags & (t.TypeFlags.NumberLiteral | t.TypeFlags.StringLiteral) && (p = e.value);
|
|
591
|
+
}
|
|
592
|
+
} catch (e) {
|
|
593
|
+
console.warn(`Couldn't extract default value for parameter '${s.name}'`, e);
|
|
594
|
+
}
|
|
595
|
+
r.dotDotDotToken && (s.rest = !0);
|
|
596
|
+
let S = s.repeating;
|
|
597
|
+
if (S) {
|
|
598
|
+
if (s.rest) return void R(r, i.RepeatingPosition, `'${c.name}' parameter '${s.name}' is both a rest parameter and a repeating group. A group already repeats — drop the '...'.`);
|
|
599
|
+
if (f && S.length === 1) return void R(r, i.RepeatingOptional, `'${c.name}' parameter '${s.name}' cannot be an optional repeating group. Use '...${s.name}: T[]' for zero-or-more, or drop the '?' for one-or-more.`);
|
|
600
|
+
if (y !== null) return void R(r, i.MultipleRepeating, `'${c.name}' has more than one repeating group ('${y}' and '${s.name}'). Only one is allowed — two would make the argument count ambiguous.`);
|
|
601
|
+
if (b !== null) return void R(r, i.RepeatingOptional, `'${c.name}' parameter '${b}' is optional and precedes the repeating group '${s.name}'. Every parameter outside a group must be required.`);
|
|
602
|
+
y = s.name, x = S.length, T = !0 === S[S.length - 1].optional;
|
|
603
|
+
} else {
|
|
604
|
+
if (y !== null && s.rest) return void R(r, i.RepeatingOptional, `'${c.name}' parameter '${s.name}' is a rest parameter and follows the repeating group '${y}'. Two variadic tails would make the argument count ambiguous.`);
|
|
605
|
+
if (y !== null && f) {
|
|
606
|
+
if (E >= x - 1) return void R(r, i.RepeatingOptional, x === 1 ? `'${c.name}' parameter '${s.name}' is optional and follows the period-1 repeating group '${y}'. One more argument is indistinguishable from one more repetition — make it required, or give the group a period.` : `'${c.name}' has ${E + 1} optional parameters after the repeating group '${y}', which has period ${x}. At most ${x - 1} may be optional, or the argument count no longer decides the parse.`);
|
|
607
|
+
if (T) return void R(r, i.RepeatingOptional, `'${c.name}' parameter '${s.name}' is optional and follows '${y}', whose own last slot is already optional. Both omissions reach the same argument count — drop one.`);
|
|
608
|
+
E++;
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
f && !S && (b = s.name);
|
|
612
|
+
let C = (s.range ? 2 : 0) + (s.arrayDepth ?? 0), w = s.range === "r" || s.range === "p" || s.range === "*", D = s.rest || w ? 3 : 2;
|
|
613
|
+
if (C > D) return void R(r, i.ArrayDepth, `'${c.name}' parameter '${s.name}' has an array depth of ${C}; the maximum is ${D}${s.rest ? " for a rest parameter" : " (use a rest parameter for one more level, or an IRange)"}.`);
|
|
614
|
+
c.parameters.push(s);
|
|
615
|
+
let A = { description: "" };
|
|
616
|
+
u.parameters[s.name] = A, A.description = M(a.getSymbolAtLocation(r.name)?.getDocumentationComment(a)), p !== void 0 && (s.defaultValue = p);
|
|
617
|
+
for (let e of [s, ...s.repeating ?? []]) {
|
|
618
|
+
let t = e.enum ? W.get(e.enum) : void 0;
|
|
619
|
+
t && ((u.enums ??= {})[e.enum.id] = t);
|
|
620
|
+
}
|
|
621
|
+
if (h.set(s.name, s), g.set(s.name, r), S && S.length > 1) {
|
|
622
|
+
_.add(s.name);
|
|
623
|
+
for (let e of S) {
|
|
624
|
+
let t = `${s.name}.${e.name}`;
|
|
625
|
+
u.parameters[t] = { description: "" }, h.set(t, e), g.set(t, r);
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
let D = c.maxArguments;
|
|
630
|
+
if (D !== void 0) {
|
|
631
|
+
let t = c.parameters ?? [];
|
|
632
|
+
if (!t.some((e) => !0 === e.rest || e.repeating !== void 0)) return void R(e, i.RepeatingMax, `'${c.name}' declares a maximum of ${D} arguments but takes a fixed ${t.length}. A maximum only means something on a variadic tail.`);
|
|
633
|
+
let n = 0;
|
|
634
|
+
for (let e of t) !0 !== e.rest && !0 !== e.optional && (n += e.repeating ? e.repeating.length : 1);
|
|
635
|
+
if (D < n) return void R(e, i.RepeatingMax, `'${c.name}' declares a maximum of ${D} arguments but requires ${n}.`);
|
|
636
|
+
}
|
|
637
|
+
if (e.jsDoc && e.jsDoc.length > 0) {
|
|
638
|
+
let t = e.jsDoc, n = t.length;
|
|
639
|
+
for (let e = 0; e < n; e++) {
|
|
640
|
+
let n = t[e]?.tags;
|
|
641
|
+
if (!n) continue;
|
|
642
|
+
let a = n.length;
|
|
643
|
+
for (let e = 0; e < a; e++) {
|
|
644
|
+
let t = n[e], a = t?.tagName?.text;
|
|
645
|
+
if (!a) continue;
|
|
646
|
+
a = a.toLowerCase();
|
|
647
|
+
let o = t.comment, d = s(a);
|
|
648
|
+
if (typeof o == "string" || d) {
|
|
649
|
+
if (typeof o == "string" && (o = o.replace(/\r\n?/g, "\n").trim()), d || !o || (o = o.split("\n")[0].trim(), o && o.length !== 0)) {
|
|
650
|
+
if (o && typeof o == "string") {
|
|
651
|
+
let e = /\{@link(code|plain)?\s+([^}|]+)(?:\s*\|\s*([^}]+))?\}/g, t, n = o, r = [];
|
|
652
|
+
for (; (t = e.exec(o)) !== null;) {
|
|
653
|
+
let [e, n, r, i] = t, a = [r.trim()];
|
|
654
|
+
i && a.push(i.trim());
|
|
655
|
+
}
|
|
656
|
+
o = n, r.length > 0 && a === "see" && (u.links ||= [], u.links.push(...r));
|
|
657
|
+
}
|
|
658
|
+
if (a === "name") {
|
|
659
|
+
let e = o;
|
|
660
|
+
e !== r && (u.name = e);
|
|
661
|
+
} else if (a !== "description") {
|
|
662
|
+
if (a === "param") {
|
|
663
|
+
let e = t.name?.getText?.() ?? t.name?.text;
|
|
664
|
+
if (!h.get(e)) {
|
|
665
|
+
R(t, i.UnknownParam, `Parameter '${e}' not found in function '${r}'.`);
|
|
666
|
+
continue;
|
|
667
|
+
}
|
|
668
|
+
let n = u.parameters?.[e];
|
|
669
|
+
n && !n.description && typeof o == "string" && o && (n.description = o);
|
|
670
|
+
} else if (a === "returns" || a === "return") c.returnType.description = o;
|
|
671
|
+
else if (a === "returnkind") {
|
|
672
|
+
let e = (o ?? "").trim().toLowerCase();
|
|
673
|
+
l.has(e) ? c.returnType.kind = e : R(t, i.UnknownReturnKind, `'@returnKind ${e}' is not a known value kind. Known: ${[...l].map((e) => `'${e}'`).join(", ")}.`);
|
|
674
|
+
} else if (a === "category") u.category = o;
|
|
675
|
+
else if (a === "deprecated" || a === "hidden") {
|
|
676
|
+
let e = !0, t = o?.toLowerCase();
|
|
677
|
+
t === "false" ? e = !1 : t !== "true" && (e = o), !1 !== e && (u.deprecated = e ?? !0);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
} else a === "returnkind" && R(t, i.UnknownReturnKind, `'@returnKind' needs a value kind. Known: ${[...l].map((e) => `'${e}'`).join(", ")}.`);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
Object.keys(c.returnType).length === 0 && delete c.returnType, Object.keys(m).length > 0 && (c.behavior = m), u.summary || L(e.name ?? e, i.MissingSummary, "warning", `'${r}': missing a description. Add a JSDoc comment above the function.`);
|
|
686
|
+
let A = !c.context, j = A && u.name || r;
|
|
687
|
+
if (A && !S.test(j)) {
|
|
688
|
+
let t = u.name ? `'@name ${u.name}'` : `'${j}'`;
|
|
689
|
+
R(e.name ?? e, i.InvalidName, `'${r}': ${t} cannot be called from a formula. A function name starts with a letter or '_', and continues with letters, digits, '_' or '.'.` + (u.name ? "" : " Add an '@name' tag to register it under another name."));
|
|
690
|
+
return;
|
|
691
|
+
}
|
|
692
|
+
if (A && !o?.isBuiltIn && ((e) => {
|
|
693
|
+
if (w.test(e)) return !0;
|
|
694
|
+
let t = C.exec(e);
|
|
695
|
+
if (!t) return !1;
|
|
696
|
+
let n = 0;
|
|
697
|
+
for (let e of t[1].toUpperCase()) n = 26 * n + (e.charCodeAt(0) - 64);
|
|
698
|
+
let r = Number(t[2]);
|
|
699
|
+
return n <= 16384 && r >= 1 && r <= 1048576;
|
|
700
|
+
})(j)) {
|
|
701
|
+
let t = u.name ? `'@name ${u.name}'` : `'${j}'`;
|
|
702
|
+
R(e.name ?? e, i.InvalidName, `'${r}': ${t} cannot be called from a formula. It reads as a cell address.` + (u.name ? "" : " Add an '@name' tag to register it under another name."));
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
let F = P.get(j.toUpperCase());
|
|
706
|
+
if (F !== void 0) return void R(e.name ?? e, i.DuplicateName, `'${r}': '${j}' is already the name of '${F}' in this module.`);
|
|
707
|
+
if (P.set(j.toUpperCase(), r), A && f?.has(j.toUpperCase())) return void R(e.name ?? e, i.BuiltInName, `'${j}' is a built-in function. Choose a different name - a calculation function cannot replace a built-in.`);
|
|
708
|
+
if (A) {
|
|
709
|
+
let e = u.parameters ?? {};
|
|
710
|
+
for (let [t, n] of Object.entries(e)) if (!_.has(t) && !n.description) {
|
|
711
|
+
let e = g.get(t);
|
|
712
|
+
L(e, i.MissingParamDescription, "warning", `'${r}': parameter '${t}' is missing a description. Add an '@param ${t}' tag.`);
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
N.push([c, u]);
|
|
716
|
+
} catch (t) {
|
|
717
|
+
R(e, i.ParseError, `'${r}': ${t.message}`);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
var n, r;
|
|
721
|
+
});
|
|
722
|
+
} catch (e) {
|
|
723
|
+
R(void 0, i.ParseError, `Unable to analyze module: ${e?.message ?? e}`);
|
|
724
|
+
}
|
|
725
|
+
return {
|
|
726
|
+
functions: N,
|
|
727
|
+
autoRun: I,
|
|
728
|
+
diagnostics: F
|
|
729
|
+
};
|
|
730
|
+
}
|
|
731
|
+
function P(e, t, n) {
|
|
732
|
+
let r = "script.ts", i = "lib.d.ts", a = {
|
|
733
|
+
[r]: t ?? "",
|
|
734
|
+
[i]: ""
|
|
735
|
+
}, o = e.createProgram([r], {
|
|
736
|
+
allowJs: !0,
|
|
737
|
+
noResolve: !0,
|
|
738
|
+
noLib: !0,
|
|
739
|
+
isolatedModules: !0,
|
|
740
|
+
module: 99,
|
|
741
|
+
target: e.ScriptTarget.ES2020
|
|
742
|
+
}, {
|
|
743
|
+
getSourceFile: (t) => {
|
|
744
|
+
let n = a[t];
|
|
745
|
+
if (n !== void 0) return e.createSourceFile(t, n, e.ScriptTarget.Latest, !0);
|
|
746
|
+
},
|
|
747
|
+
fileExists: (e) => a[e] !== void 0,
|
|
748
|
+
readFile: (e) => a[e],
|
|
749
|
+
writeFile: () => {},
|
|
750
|
+
getCurrentDirectory: () => "./",
|
|
751
|
+
getCanonicalFileName: (e) => e,
|
|
752
|
+
useCaseSensitiveFileNames: () => !0,
|
|
753
|
+
getDefaultLibFileName: () => i,
|
|
754
|
+
getNewLine: () => "\n"
|
|
755
|
+
}), s = o.getTypeChecker(), c = o.getSourceFile(r);
|
|
756
|
+
return c ? N(e, c, s, n).diagnostics : [];
|
|
757
|
+
}
|
|
758
|
+
export { N as analyzeModule, P as lintScript, i as t };
|