@sheetxl/studio-vanilla 0.7.28-beta.4 → 0.8.0-beta.10
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/esm/-LoBx7J6imeqaxCq.mjs +236 -0
- package/browser/esm/8-jmVNNbOHuXFdVQ.mjs +392 -0
- package/{cdn/assets/DJSXXWTUJGbXqLLx.js → browser/esm/B00ixdmb8-O5ijEp.mjs} +1 -1
- package/browser/esm/{ByJMrAYRARLc7uZQ2.mjs → B0Wjc3lwtjKMwnvn.mjs} +27 -29
- package/browser/esm/B3Ii8x6RquHW1jMc.mjs +299 -0
- package/{cdn/assets/BF9yh58xfvR0KbSo.js → browser/esm/B7iV5qzlmJlM2nQv.mjs} +179 -202
- package/{cdn/assets/C7xBBqvPqat9oEft2.js → browser/esm/BAH_cWcQEIBKWnl6.mjs} +101 -55
- package/browser/esm/BAdRecWK1maKGOZd.mjs +142 -0
- package/browser/esm/BBjgqNlHm-ssbSAG.mjs +47 -0
- package/browser/esm/BCWTI3jdTPG37r8W.mjs +46 -0
- package/{cdn/assets/CJGlwQusOCSy9ZAb.js → browser/esm/BMlPFJ1glExv-70Z.mjs} +5 -5
- package/browser/esm/{BrUe0MnOhxzeOngn2.mjs → BN2d5U1nw7pRtOrn.mjs} +1 -1
- package/browser/esm/BNIInlJQbJjH8B6G.mjs +84250 -0
- package/browser/esm/BPrHgyAsm2Htx15h.mjs +67 -0
- package/browser/esm/BRfat1fV3oGLwvin.mjs +76 -0
- package/browser/esm/{CXDtDYyREwoFwtMJ2.mjs → BSCja5yvevmKZPBB.mjs} +1 -1
- package/browser/esm/BThOwSja2ra4xejQ.mjs +6306 -0
- package/browser/esm/BVJUL2HhoedhbwVy.mjs +77 -0
- package/{cdn/assets/MHuhAgQAA8zcnWkd2.js → browser/esm/BWo1N4YbK_zGU0nu.mjs} +1 -1
- package/browser/esm/B_HB4y7AA88Z775Z.mjs +91 -0
- package/browser/esm/BaEZmurTZnX_yfKD.mjs +1082 -0
- package/browser/esm/BeMLfv6hWo15VCIL.mjs +239 -0
- package/browser/esm/{BjYIAiuzZbD-dk822.mjs → BhkeuRcx8RlLCQ5E.mjs} +1 -1
- package/browser/esm/Bi5-feQLtwpV6Ai8.mjs +57 -0
- package/browser/esm/BlPn_DXaEXOPxMxC.mjs +540 -0
- package/{cdn/assets/DY9zG4TdF0FAs_QP2.js → browser/esm/BsUrrzAgfyAdcCJW.mjs} +28 -13
- package/{cdn/assets/CBC_MJL6Bwk7bzQz2.js → browser/esm/BtGmrIqU9W1L8zfZ.mjs} +1 -1
- package/browser/esm/BtdRr6IbtO6Gypsk.mjs +27 -0
- package/browser/esm/BwOxnbR61WFJwy0A.mjs +607 -0
- package/browser/esm/BxhKgo_rPQ2d12HT.mjs +35 -0
- package/browser/esm/By3a43qwWICwXRmw.mjs +8035 -0
- package/browser/esm/{Cd8G1nX1dKzp-mho2.mjs → ByUcqyCNfqi5Mm7w.mjs} +2 -2
- package/{cdn/assets/DP9sLYfGGWMDI7hL2.js → browser/esm/ByqhqEMBLrnkaPKE.mjs} +26 -26
- package/browser/esm/{5LJ1sC7IPn109Ien.mjs → C-0viTjg1dT2F-sk.mjs} +2 -2
- package/browser/esm/{DnMUizHKSRwWpO_7.mjs → C3r_9RqlWrEmlXZ1.mjs} +37 -3
- package/browser/esm/C4VT6lNbpaDXCpBb.mjs +8820 -0
- package/browser/esm/{B3tC7wY_kUGXf5sb2.mjs → C5EKgE9Owsc_juw-.mjs} +1 -1
- package/{cdn/assets/BzktrYJH7SQ9GyUI2.js → browser/esm/C9NyIoUahFiyRCxP.mjs} +2 -2
- package/{cdn/assets/D5BuXc-kVnr6Xiae2.js → browser/esm/CBdNC7BOfc5TewHU.mjs} +1 -1
- package/browser/esm/CCd192S7yVpc6iOe.mjs +118 -0
- package/browser/esm/{Eszk9OugmYOhaS2s.mjs → CDsuiN--qdALFyql.mjs} +179 -202
- package/{cdn/assets/DtkqR-Hu7K4agnCs2.js → browser/esm/CFvKDDbrL3wpXnQH.mjs} +1 -1
- package/browser/esm/{DjS4iUli-T3uuUfK.mjs → CHMqT9DzYKTxPfP6.mjs} +2 -2
- package/{cdn/assets/BetL7yI63lEdQ0gM2.js → browser/esm/CMxbiQ5J79M3n1tk.mjs} +604 -405
- package/{cdn/assets/B4fSPDN923nqCDVE.js → browser/esm/CQOyeq_-pg3CM-uA.mjs} +6 -7
- package/browser/esm/CQuv-nk5jtXUfu7C.mjs +7 -0
- package/browser/esm/CRAzVh3CaAa16avf.mjs +521 -0
- package/browser/esm/{g8dDbkwbYjhKWJM22.mjs → CSEMxasVyGCekxKf.mjs} +6 -7
- package/browser/esm/CTI-mCJbJzitJZwj.mjs +25 -0
- package/browser/esm/{DrKUGkrCTKZHu8XC.mjs → CTdFZ_I-41Vr6Dy4.mjs} +1 -1
- package/browser/esm/CVcCUfSRsiZ1-6hs.mjs +119 -0
- package/browser/esm/CVxlfyE-gnJM8hOz.mjs +177 -0
- package/browser/esm/CWJzHmEgahdOfNjH.mjs +527 -0
- package/browser/esm/CWoPWWRwMgkGPFFP.mjs +7393 -0
- package/browser/esm/CZOJogyZqMfUxcXj.mjs +1141 -0
- package/{cdn/assets/Dy5Z2XIqS7-0tdjc2.js → browser/esm/CaS8_J5HfBRk5_Nw.mjs} +86 -86
- package/browser/esm/CdeXXPCp5cCYvGyD.mjs +14 -0
- package/browser/esm/{B9t9fF8FNCLomgK_.mjs → CfltjY8hY-RPwwpd.mjs} +582 -551
- package/browser/esm/Chr_TXM-48IsK8Va.mjs +155 -0
- package/browser/esm/{Ca6NSkWoi9DvRJjQ.mjs → ClJvUf8aR8vNC_3Z.mjs} +6 -6
- package/browser/esm/Clx8vvGDOTWK_M2l.mjs +484 -0
- package/browser/esm/CnWNviK4qlX2GVl6.mjs +73 -0
- package/browser/esm/{BsP1iPcd49wYIIoP.mjs → Cpza4AeltEVHASij.mjs} +3 -3
- package/browser/esm/{Dwko6HB2zePBBeBu2.mjs → CqoHxlGpZ3yzPj5V.mjs} +22 -21
- package/browser/esm/{XBb7Mxqf0beXaSJt.mjs → CtZPEkaldpJpoGtW.mjs} +2197 -2011
- package/browser/esm/CvWGtHslTdesJik-.mjs +69 -0
- package/browser/esm/Cw-4uoMuq_m7ziA3.mjs +36 -0
- package/browser/esm/CxCipDFamYSOctBo.mjs +299 -0
- package/browser/esm/Cy00y9b9j17Txyv1.mjs +466 -0
- package/browser/esm/D-55MlIn7Wo_hdjI.mjs +905 -0
- package/browser/esm/D-9f1NKcpuYSgond.mjs +412 -0
- package/browser/esm/D-KZpU6HMaP4VUva.mjs +357 -0
- package/browser/esm/D0r2MPlWLnStWJNW.mjs +622 -0
- package/browser/esm/{CXlA71yGA1Hqvp_S.mjs → D2aQPiGg0ZoMYzuf.mjs} +22 -21
- package/{cdn/assets/KJzdwvEWwCwAXuo4.js → browser/esm/D2coM-dNrlLpnUu5.mjs} +1000 -1010
- package/browser/esm/D7CGuQcwpkiuesEI.mjs +229 -0
- package/browser/esm/{BQt5lpPjssz4Lvhs.mjs → D7DWH3-5fBNx8jtc.mjs} +182 -132
- package/browser/esm/D7kkzIFPqKBK94kO.mjs +17952 -0
- package/browser/esm/D88StfSjZJi5E8Xb.mjs +5153 -0
- package/browser/esm/D8exjrado9TJrBp-.mjs +1946 -0
- package/browser/esm/DAE3Kv0Vs0VuBecT.mjs +32 -0
- package/browser/esm/DAprxR00V9qvNLL2.mjs +6607 -0
- package/browser/esm/DEvZj68igS7Q8SZE.mjs +763 -0
- package/browser/esm/DG3BfxRsbjey-B7E.mjs +441 -0
- package/browser/esm/DGCOPbZbEmt0x9z0.mjs +155 -0
- package/browser/esm/DGcvio2uhlrsE3ZY.mjs +236 -0
- package/browser/esm/DGuynZFJ9tqziqQs.mjs +92 -0
- package/browser/esm/DJqj66SnUcx0QmSN.mjs +15 -0
- package/browser/esm/DLhK_oSGg71ry6-m.mjs +86 -0
- package/browser/esm/{B_U_UpQXdbjNRthb.mjs → DLqc11Pf8vaE4Q5B.mjs} +2 -2
- package/browser/esm/DNCqTF9EbT-U1TdV.mjs +20 -0
- package/browser/esm/{DM4g0nYgYXgI44dL2.mjs → DNaPo7BQu6hr1fWq.mjs} +1 -1
- package/{cdn/assets/DRAYZ0SGlbCLkftR.js → browser/esm/DQEjvIGMgEkiaP6J.mjs} +1 -1
- package/browser/esm/{Ykh10IaXTKA2XWot.mjs → DQIRFXG4MveFkK3I.mjs} +1 -1
- package/{cdn/assets/DJk14sSSnSHiEXZ7.js → browser/esm/DRm1R4uVOkaMfXNI.mjs} +51 -11
- package/browser/esm/DSf-Db1h8rlW2A6n.mjs +122 -0
- package/browser/esm/DSviq1TNoiIAGW7W.mjs +32 -0
- package/{cdn/assets/CuIUyLNDoHvYMJaQ2.js → browser/esm/DTn9oYyiIYgyijAk.mjs} +110 -83
- package/browser/esm/{BxecIrskOMQZB-Xc.mjs → DVpi1vC8ixXvUQG_.mjs} +3 -3
- package/browser/esm/{esX6dx06TUUL-cRt.mjs → DWgp4t9N9u0eWthH.mjs} +1 -1
- package/browser/esm/{DLArQtAbWAarI8od2.mjs → DXo8mR6t5HGsmTcu.mjs} +1 -1
- package/browser/esm/DZRmBfjn2TgOTu5e.mjs +3604 -0
- package/browser/esm/{BJQfvwvEke-uN0_02.mjs → D_7BWdsu8yejhUxy.mjs} +184 -11
- package/browser/esm/D_thhK0vSez8Yfle.mjs +798 -0
- package/browser/esm/DaMKWQQTgIF08cT7.mjs +105 -0
- package/browser/esm/Db6Tvr45TS9J5Qsb.mjs +259 -0
- package/browser/esm/{Bc2Dp6W4U_22cv7c.mjs → Dc2ZwgbIEgYWwAsF.mjs} +1 -1
- package/{cdn/assets/BGWyNjrM55ce-D1o.js → browser/esm/DeUXRggj8Oz9ru_i.mjs} +2 -2
- package/{cdn/assets/CmYCYFWjq9KP6xw7.js → browser/esm/DfESVLC8CAi8m8A7.mjs} +6 -6
- package/browser/esm/{hsy1zALC1oNNm5Sf.mjs → DjdkGy-EI1kSo226.mjs} +7 -5
- package/browser/esm/DjtXfgbmXjUAoG0y.mjs +58 -0
- package/browser/esm/DlOVZD0OiAjouS6-.mjs +3563 -0
- package/browser/esm/Dme0qpRinBnhzp53.mjs +519 -0
- package/browser/esm/DnyZmrwPxShyeUjm.mjs +849 -0
- package/browser/esm/DoS1sE431fEhdOQb.mjs +216 -0
- package/browser/esm/DqBj-9o7UdXu4qhb.mjs +33 -0
- package/{cdn/assets/FVJ1akngxeMiYwPa.js → browser/esm/DrI_S0A9TQvriTua.mjs} +1 -1
- package/browser/esm/Dv2z0548SZRGTN3l.mjs +149 -0
- package/browser/esm/{Bjx-9lUaScF5-Hki2.mjs → Dv8aQFTTaQBJKDDk.mjs} +2 -5
- package/browser/esm/DvWCBuY0jAL-RmJV.mjs +3363 -0
- package/browser/esm/Dwxz0s23ra1tRtsH.mjs +7 -0
- package/{cdn/assets/D4aK0uTRJQpM63922.js → browser/esm/DxcRLd7wmBGDgJsA.mjs} +1 -1
- package/{cdn/assets/CIgn8uIPaadIJP4a2.js → browser/esm/DxwprgjYhcmfDbXH.mjs} +24 -24
- package/browser/esm/{DENx9Ts-f8adXw3Y2.mjs → Dy44qJVkwNseMG-3.mjs} +1 -1
- package/browser/esm/DyeY6XwMQ_XNUHiW.mjs +89 -0
- package/browser/esm/{BOMct7uvqiNJIS63.mjs → ErIXJFPDFXwGEL8V.mjs} +2 -2
- package/browser/esm/{C4vqrW3EmJDy1otX.mjs → FO1Jezau486fH4kN.mjs} +7 -6
- package/browser/esm/FjNOhkR7-JAIaRP6.mjs +19 -0
- package/browser/esm/H-JnJQMcZQbpvjdb.mjs +2706 -0
- package/browser/esm/J9i3r1fU0H10b2hX.mjs +1001 -0
- package/browser/esm/LAbUYeLiPG8z9cmA.mjs +277 -0
- package/browser/esm/M7RYrx20B_Yl_euJ.mjs +400 -0
- package/browser/esm/{PzCXbVRf1jOHVOAw.mjs → PtGiIWFBYP-ujLmf.mjs} +1 -1
- package/browser/esm/RLU85PsAYtKPUf6N.mjs +71 -0
- package/browser/esm/{CTwLETvNO4KeXbkK2.mjs → RfHd1JATBlcsfLPv.mjs} +5 -5
- package/{cdn/assets/Bce8ZTUCpXr5Y_zl2.js → browser/esm/SNze-adFJwKuGSQW.mjs} +48 -2
- package/browser/esm/UTZcodQydbuMfCOS.mjs +171 -0
- package/{cdn/assets/BGAXiHOiX_PZ1ww1.js → browser/esm/VwGokBaawZfZiV2X.mjs} +1 -1
- package/browser/esm/WMYR09ZOR8JbZEnx.mjs +4748 -0
- package/browser/esm/{DOIVDuyf7YyJZjcD.mjs → ZbGPiRN9j0629JJQ.mjs} +2 -2
- package/{cdn/assets/BPAEbeXV75XIAS4n.js → browser/esm/ZxsFYopF0_WWqw4Q.mjs} +1 -1
- package/browser/esm/_MPToH4oMe4rhTdZ.mjs +63 -0
- package/browser/esm/{L6LjzOx1G9Idjtxa2.mjs → _t0Mx-mUFVtmVNkU.mjs} +2 -2
- package/{cdn/assets/CgsQuAbp76UOAPHm2.js → browser/esm/_zRV52yhE4gPf3XI.mjs} +211 -189
- package/browser/esm/aUREGNA8H7p4BpMK.mjs +33 -0
- package/browser/esm/cwuYkcKwsKkPe3gG.mjs +598 -0
- package/browser/esm/{CY4ANhbzXqZMJPnL2.mjs → djM9mJznx8GzVq51.mjs} +16 -15
- package/browser/esm/{6A8iYjFWJzx5PaTP2.mjs → f1OJemsiZnbwnds-.mjs} +16 -15
- package/{cdn/assets/DOsKUeLPwFIdzQv32.js → browser/esm/i0P63Wd0RRlgJotb.mjs} +1 -1
- package/browser/esm/{BZSAb1WGbwagUKGv2.mjs → iC69oOND5T8khIWf.mjs} +18 -17
- package/browser/esm/index.mjs +644 -48
- package/browser/esm/{pFBVGSvmImMMDMuJ.mjs → kVBPUUnVyZfb8pf3.mjs} +52 -52
- package/browser/esm/{BZkd8LNLgEd5WQXO2.mjs → lqknEt3DTma5Juxs.mjs} +69 -4
- package/browser/esm/mZ92wNrHVpYdli1U.mjs +182 -0
- package/browser/esm/{CBuulf8RrSItPZJi.mjs → pKc_RPdZPLAgvNDh.mjs} +2 -2
- package/{cdn/assets/D2Ls6urWeByV5W-B.js → browser/esm/pc49xtHdprXZLW2X.mjs} +1 -1
- package/browser/esm/px-aQ8dMjiWag_pV.mjs +167 -0
- package/browser/esm/qYca4mdySLkACfo1.mjs +37 -0
- package/browser/esm/r2Az2Yc4_qj2-sn0.mjs +398 -0
- package/browser/esm/{CHmSnCPoww1StSta.mjs → rY-dC3WB558TIbum.mjs} +4 -4
- package/browser/esm/rkTVQiYG3wd8oPom.mjs +2452 -0
- package/browser/esm/sDVzjXC1mS5rucF5.mjs +2447 -0
- package/browser/esm/sxxbiJiCMOW2Eivd.mjs +24952 -0
- package/{cdn/assets/BZXvEddjoz4C8y4w.js → browser/esm/vGKTE7yjY8y-XnsW.mjs} +16 -11
- package/{cdn/assets/BRBHACVjnV1_6VLQ.js → browser/esm/x6GcENwqoUVbd60j.mjs} +1 -1
- package/{cdn/assets/CsKCqLuggHhYC93k.js → browser/esm/ycmpAs4kQfeh78Pa.mjs} +1 -1
- package/browser/esm/ztqpWR65YYMZ3EPk.mjs +811 -0
- package/cdn/assets/0vqRTRN0wEzWao1c.js +522 -0
- package/cdn/assets/514mXPTuNvdNgw35.js +412 -0
- package/{browser/esm/B6bX01HNxwBooBTX2.mjs → cdn/assets/7Sg0ht_ZCMJkPurt.js} +89 -87
- package/cdn/assets/{CY7qR8ENX314HrrD.js → 7i4WSxDsu2ApJJ2_.js} +6 -6
- package/cdn/assets/AjMG7Fb9r4Fk7Hsf.js +78 -0
- package/{browser/esm/DJSXXWTUJGbXqLLx.mjs → cdn/assets/B00ixdmb8-O5ijEp.js} +1 -1
- package/cdn/assets/{ByJMrAYRARLc7uZQ.js → B0Wjc3lwtjKMwnvn.js} +27 -29
- package/cdn/assets/B27vTQlxbHhSQJx8.js +24953 -0
- package/cdn/assets/B3NWCYKXucbHhOix.js +93 -0
- package/{browser/esm/C7xBBqvPqat9oEft.mjs → cdn/assets/BAH_cWcQEIBKWnl6.js} +101 -55
- package/cdn/assets/BAdRecWK1maKGOZd.js +142 -0
- package/cdn/assets/BB4MW8sSYEXjPvvf.js +64 -0
- package/cdn/assets/BBjgqNlHm-ssbSAG.js +47 -0
- package/cdn/assets/BI6afPOpgNYkzIWv.js +6609 -0
- package/cdn/assets/{Dgt8kua8CYlMRfdw.js → BIsbcP5RXRU2XPfx.js} +2 -2
- package/{browser/esm/CJGlwQusOCSy9ZAb2.mjs → cdn/assets/BMlPFJ1glExv-70Z.js} +5 -5
- package/cdn/assets/{BrUe0MnOhxzeOngn.js → BN2d5U1nw7pRtOrn.js} +1 -1
- package/cdn/assets/BNsqqoZY7a4N1wWC.js +905 -0
- package/cdn/assets/BPrHgyAsm2Htx15h.js +67 -0
- package/cdn/assets/{CXDtDYyREwoFwtMJ.js → BSCja5yvevmKZPBB.js} +1 -1
- package/{browser/esm/MHuhAgQAA8zcnWkd.mjs → cdn/assets/BWo1N4YbK_zGU0nu.js} +1 -1
- package/cdn/assets/B_3Musz0q2MSZ5H-.js +799 -0
- package/cdn/assets/Ba8taVvLslFcKS72.js +119 -0
- package/cdn/assets/{B0N6rTGGJN2DZPaf.js → BeQ95CzwR65il0CK.js} +2 -2
- package/cdn/assets/BelX6bvQPsGuo-x3.js +7 -0
- package/cdn/assets/{DGWhm91XZlY1GWHe2.js → Bgbi7BFR3rN5qj51.js} +22 -21
- package/cdn/assets/BgyY4zVPZSXljoCZ.js +14 -0
- package/cdn/assets/{BjYIAiuzZbD-dk82.js → BhkeuRcx8RlLCQ5E.js} +1 -1
- package/cdn/assets/BlIZ30huelIxNo6S.js +91 -0
- package/cdn/assets/BlPn_DXaEXOPxMxC.js +540 -0
- package/cdn/assets/BoFx07POTorOb5g-.js +7393 -0
- package/cdn/assets/{hClmI7sWeaBbHo3W2.js → BpZ7P0CO148rR4zW.js} +24 -23
- package/cdn/assets/BsTFy_iJXJYmaO3Z.js +763 -0
- package/cdn/assets/{DiKc6jzGM1isrN02.js → Bsn-tUx172sEG2kR.js} +59 -47
- package/{browser/esm/CBC_MJL6Bwk7bzQz.mjs → cdn/assets/BtGmrIqU9W1L8zfZ.js} +1 -1
- package/cdn/assets/BuYS_ZjSlcvWZ1JC.js +8035 -0
- package/cdn/assets/BvlfKrfrDhE9Jw4d.js +598 -0
- package/cdn/assets/BwOxnbR61WFJwy0A.js +607 -0
- package/cdn/assets/BxqXOiOyI_XiOmvN.js +156 -0
- package/cdn/assets/{Cd8G1nX1dKzp-mho.js → ByUcqyCNfqi5Mm7w.js} +2 -2
- package/{browser/esm/D8zyGG6yt4CsyA8K.mjs → cdn/assets/BzbP4jaN13wC9aSi.js} +58 -55
- package/cdn/assets/{5LJ1sC7IPn109Ien.js → C-0viTjg1dT2F-sk.js} +2 -2
- package/cdn/assets/C0CeCYdLWLjySEFe.js +123 -0
- package/cdn/assets/{DjfBSoaKM-vtbeqT.js → C32co-XulWTkEKrW.js} +2 -2
- package/cdn/assets/{DnMUizHKSRwWpO_72.js → C3r_9RqlWrEmlXZ1.js} +37 -3
- package/cdn/assets/{B3tC7wY_kUGXf5sb.js → C5EKgE9Owsc_juw-.js} +1 -1
- package/cdn/assets/C6INLvBy8kdzFpsX.js +2447 -0
- package/cdn/assets/C7fu6LrSMBlHqwUy.js +46 -0
- package/{browser/esm/BzktrYJH7SQ9GyUI.mjs → cdn/assets/C9NyIoUahFiyRCxP.js} +2 -2
- package/{browser/esm/D5BuXc-kVnr6Xiae.mjs → cdn/assets/CBdNC7BOfc5TewHU.js} +1 -1
- package/cdn/assets/{DJHOKENCVOJMx3aE2.js → CCvBdPu7W2ZF6A9J.js} +9 -9
- package/{browser/esm/DmqS0kz7jvlOw3qr.mjs → cdn/assets/CDAYVaQYywqaxg4O.js} +28 -13
- package/cdn/assets/CEYyp6Qrr_IopxpL.js +22597 -0
- package/cdn/assets/CFBgmXap8kmumhoz.js +622 -0
- package/{browser/esm/DtkqR-Hu7K4agnCs.mjs → cdn/assets/CFvKDDbrL3wpXnQH.js} +1 -1
- package/{browser/esm/BBhB25AlKEzdoI0V.mjs → cdn/assets/CHMqT9DzYKTxPfP6.js} +2 -2
- package/cdn/assets/CILUMtSddGz7WXEv.js +240 -0
- package/cdn/assets/{BynqRVXFRplO7XgC.js → CIyaijfp6itgRpFM.js} +95 -87
- package/cdn/assets/{DpNYiOK112bFC3KK2.js → CL6Tgu_rUO6G-fyq.js} +183 -10
- package/cdn/assets/CMVTwWHsRgyfSEDM.js +300 -0
- package/{browser/esm/BetL7yI63lEdQ0gM.mjs → cdn/assets/CMxbiQ5J79M3n1tk.js} +604 -405
- package/cdn/assets/COMOqucXq7X1vi0P.js +230 -0
- package/{browser/esm/B4fSPDN923nqCDVE2.mjs → cdn/assets/CQOyeq_-pg3CM-uA.js} +6 -7
- package/cdn/assets/{DaX0_AkJxkaUnNT7.js → CRXSrbGNABtzf532.js} +141 -126
- package/cdn/assets/{g8dDbkwbYjhKWJM2.js → CSEMxasVyGCekxKf.js} +6 -7
- package/cdn/assets/CSIZpJClc66_20kP.js +849 -0
- package/cdn/assets/CTI-mCJbJzitJZwj.js +25 -0
- package/cdn/assets/{DrKUGkrCTKZHu8XC.js → CTdFZ_I-41Vr6Dy4.js} +1 -1
- package/cdn/assets/CTvPIYWTcjwlJeEA.js +237 -0
- package/cdn/assets/CU5cKipVT1X8Xz7F.js +156 -0
- package/cdn/assets/CVcCUfSRsiZ1-6hs.js +119 -0
- package/cdn/assets/CWJzHmEgahdOfNjH.js +527 -0
- package/cdn/assets/CZOJogyZqMfUxcXj.js +1141 -0
- package/{browser/esm/DER7-kADXFnTmK-32.mjs → cdn/assets/CakrxSS_RXtKmcUX.js} +123 -94
- package/cdn/assets/{Bj8bWbLg1IY965tK.js → CbTN0q6XnYGJqyEp.js} +2215 -2029
- package/cdn/assets/{DQhvG3cP0HPB6giA2.js → Cfg4Dtndwurxv9LM.js} +8 -8
- package/{browser/esm/BgwHVPZp494SgQ0d2.mjs → cdn/assets/ChAKLV5zrGAHAof2.js} +44 -42
- package/cdn/assets/{BO2NRW9sjHGE9tg-2.js → CsrTRThObSryov1b.js} +182 -132
- package/cdn/assets/Cv5PLuhEmh5IDHjb.js +75 -0
- package/cdn/assets/Cw-4uoMuq_m7ziA3.js +36 -0
- package/cdn/assets/Cw7AJWd0S2sjRmr6.js +6309 -0
- package/cdn/assets/CwqRA5h1u92Cyit-.js +7 -0
- package/cdn/assets/Cy00y9b9j17Txyv1.js +466 -0
- package/cdn/assets/{CnfGgjuCEyX-PYs_2.js → D-bNmX0QsA8SuT0m.js} +33 -32
- package/{browser/esm/PAu9erpoOTNzgNbN.mjs → cdn/assets/D-yz3V2UC54rwctD.js} +16 -11
- package/cdn/assets/D32D_biNXRCZ24vG.js +87 -0
- package/cdn/assets/D8DghdqjOtBzO2Wx.js +35 -0
- package/cdn/assets/DAE3Kv0Vs0VuBecT.js +32 -0
- package/cdn/assets/DCnWyVXikb_8Dat3.js +61 -0
- package/cdn/assets/DHH_uKVzQ_kRYO2N.js +57 -0
- package/cdn/assets/DHugYwX4_ZyqGn-C.js +1947 -0
- package/cdn/assets/DJqj66SnUcx0QmSN.js +15 -0
- package/cdn/assets/{DM4g0nYgYXgI44dL.js → DNaPo7BQu6hr1fWq.js} +1 -1
- package/cdn/assets/DOHh3pUXxMM09UY5.js +3604 -0
- package/cdn/assets/DONxZZT2Iwu7psS5.js +27 -0
- package/{browser/esm/DRAYZ0SGlbCLkftR2.mjs → cdn/assets/DQEjvIGMgEkiaP6J.js} +1 -1
- package/cdn/assets/{Ykh10IaXTKA2XWot2.js → DQIRFXG4MveFkK3I.js} +1 -1
- package/cdn/assets/DQjxp9lDP9DzP8ah.js +357 -0
- package/{browser/esm/DJk14sSSnSHiEXZ72.mjs → cdn/assets/DRm1R4uVOkaMfXNI.js} +51 -11
- package/cdn/assets/DSXJHEORGmMQX_Mb.js +8391 -0
- package/cdn/assets/DSviq1TNoiIAGW7W.js +32 -0
- package/cdn/assets/{BxecIrskOMQZB-Xc.js → DVpi1vC8ixXvUQG_.js} +3 -3
- package/cdn/assets/{esX6dx06TUUL-cRt.js → DWgp4t9N9u0eWthH.js} +1 -1
- package/cdn/assets/{DLArQtAbWAarI8od.js → DXo8mR6t5HGsmTcu.js} +1 -1
- package/cdn/assets/DYvBgX17ZerZSHEJ.js +300 -0
- package/cdn/assets/DZRm4H75lnEtOG8e.js +260 -0
- package/cdn/assets/D_pMOq6FdH4RSBLc.js +3364 -0
- package/cdn/assets/{Bc2Dp6W4U_22cv7c2.js → Dc2ZwgbIEgYWwAsF.js} +1 -1
- package/cdn/assets/DckmFyHxGX4Y1gOq.js +70 -0
- package/cdn/assets/{D-tQc4bi3FzGVnFg.js → De2z8LdHaWRFiR5T.js} +179 -202
- package/{browser/esm/BGWyNjrM55ce-D1o2.mjs → cdn/assets/DeUXRggj8Oz9ru_i.js} +2 -2
- package/{browser/esm/CmYCYFWjq9KP6xw72.mjs → cdn/assets/DfESVLC8CAi8m8A7.js} +6 -6
- package/cdn/assets/DicTo_3G-KZyWDiE.js +1084 -0
- package/cdn/assets/{hsy1zALC1oNNm5Sf.js → DjdkGy-EI1kSo226.js} +7 -5
- package/cdn/assets/DjtXfgbmXjUAoG0y.js +58 -0
- package/cdn/assets/DlpgIJxNq2V4gdDq.js +74 -0
- package/cdn/assets/{Bh4hZt6639QZusIG.js → Dp-GJXOMz_b8qAxD.js} +2 -2
- package/cdn/assets/DqBj-9o7UdXu4qhb.js +33 -0
- package/{browser/esm/FVJ1akngxeMiYwPa.mjs → cdn/assets/DrI_S0A9TQvriTua.js} +1 -1
- package/cdn/assets/DuAbY54w5gJpQgss.js +84250 -0
- package/cdn/assets/{Bjx-9lUaScF5-Hki.js → Dv8aQFTTaQBJKDDk.js} +2 -5
- package/cdn/assets/DviEoeWW0EvDg1hr.js +149 -0
- package/{browser/esm/D4aK0uTRJQpM6392.mjs → cdn/assets/DxcRLd7wmBGDgJsA.js} +1 -1
- package/cdn/assets/DxisV9_27l_WU-nk.js +21 -0
- package/cdn/assets/{DENx9Ts-f8adXw3Y.js → Dy44qJVkwNseMG-3.js} +1 -1
- package/cdn/assets/ENtt4kmaU9mJfVEp.js +236 -0
- package/cdn/assets/{C4vqrW3EmJDy1otX.js → FO1Jezau486fH4kN.js} +7 -6
- package/cdn/assets/FjNOhkR7-JAIaRP6.js +19 -0
- package/{browser/esm/BmTSjuGI87QqMA-a.mjs → cdn/assets/G5z0uVlyF6CLw_PA.js} +179 -202
- package/cdn/assets/H-JnJQMcZQbpvjdb.js +2706 -0
- package/cdn/assets/J3hutJxqQiHENpIe.js +392 -0
- package/cdn/assets/J9i3r1fU0H10b2hX.js +1001 -0
- package/cdn/assets/{PzCXbVRf1jOHVOAw.js → PtGiIWFBYP-ujLmf.js} +1 -1
- package/cdn/assets/PzWqv-oXxEuzKdaT.js +484 -0
- package/cdn/assets/QJ4AkDD269D1MzmI.js +89 -0
- package/cdn/assets/{CTwLETvNO4KeXbkK.js → RfHd1JATBlcsfLPv.js} +5 -5
- package/{browser/esm/Bce8ZTUCpXr5Y_zl.mjs → cdn/assets/SNze-adFJwKuGSQW.js} +48 -2
- package/cdn/assets/UTZcodQydbuMfCOS.js +171 -0
- package/{browser/esm/DSWdYe7SDB5cYWo5.mjs → cdn/assets/VCiu_neIjCTg2NUa.js} +998 -1006
- package/{browser/esm/BGAXiHOiX_PZ1ww12.mjs → cdn/assets/VwGokBaawZfZiV2X.js} +1 -1
- package/cdn/assets/W1d6GQyySAHrtjEu.js +3563 -0
- package/cdn/assets/ZSYS1J3uR7UQuHwZ.js +217 -0
- package/{browser/esm/BPAEbeXV75XIAS4n2.mjs → cdn/assets/ZxsFYopF0_WWqw4Q.js} +1 -1
- package/cdn/assets/{L6LjzOx1G9Idjtxa.js → _t0Mx-mUFVtmVNkU.js} +2 -2
- package/cdn/assets/aHTKr1ijZ6bRi3Zg.js +33 -0
- package/cdn/assets/anQDUZhHMDPi1eha.js +812 -0
- package/cdn/assets/{Dr1U0I01_KIa9vgR2.js → dn69mDhY7Xcc91kF.js} +20 -19
- package/cdn/assets/fm3mUdTDo-STB36M.js +4749 -0
- package/cdn/assets/gpQ4FdJMbIScKnS_.js +400 -0
- package/cdn/assets/{DeFts-aGqB-RDuV1.js → hg8WYI0Yy4WPPPoP.js} +28 -27
- package/{browser/esm/DOsKUeLPwFIdzQv32.mjs → cdn/assets/i0P63Wd0RRlgJotb.js} +1 -1
- package/cdn/assets/lWY3TbG2NDscy9He.js +72 -0
- package/cdn/assets/{BZkd8LNLgEd5WQXO.js → lqknEt3DTma5Juxs.js} +69 -4
- package/cdn/assets/mK8HcIZyXkOTvL6E.js +2453 -0
- package/{browser/esm/D2Ls6urWeByV5W-B2.mjs → cdn/assets/pc49xtHdprXZLW2X.js} +1 -1
- package/cdn/assets/px-aQ8dMjiWag_pV.js +167 -0
- package/cdn/assets/qYca4mdySLkACfo1.js +37 -0
- package/{browser/esm/DHQcJqD-EtJ0Efug2.mjs → cdn/assets/w5IQWbJETgHhqMsY.js} +33 -31
- package/cdn/assets/wM7DzeOpoEGBVDBe.js +441 -0
- package/{browser/esm/BRBHACVjnV1_6VLQ2.mjs → cdn/assets/x6GcENwqoUVbd60j.js} +1 -1
- package/cdn/assets/xlXDq-qoj7eOE6_T.js +5153 -0
- package/{browser/esm/CsKCqLuggHhYC93k2.mjs → cdn/assets/ycmpAs4kQfeh78Pa.js} +1 -1
- package/cdn/index.js +2 -2
- package/package.json +13 -14
- package/browser/cjs/1XrWGMP3GmsQOMIX.cjs +0 -1
- package/browser/cjs/49_x589Na12sizKK2.cjs +0 -1
- package/browser/cjs/4nReftSsKWmnRdtf2.cjs +0 -1
- package/browser/cjs/507hQYooKKjnRzsZ2.cjs +0 -1
- package/browser/cjs/B4JJfKSI4ppwU8552.cjs +0 -1
- package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
- package/browser/cjs/BAxVLKkxFgI6cXnR2.cjs +0 -1
- package/browser/cjs/BClFnd-voK5qaz1I.cjs +0 -88
- package/browser/cjs/BEJFcqVMDMKOvs11.cjs +0 -1
- 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/BK0SCfN_VZYqBxoQ2.cjs +0 -1
- package/browser/cjs/BKXFdLiztqEHIjQ_2.cjs +0 -1
- package/browser/cjs/BVN0uo1XwTCtE2mh.cjs +0 -7
- package/browser/cjs/BWDfauDHqB6U_2ka2.cjs +0 -1
- package/browser/cjs/B_WV3e3yexp3dKaz.cjs +0 -9
- package/browser/cjs/BbEwESVyRYXzMlW7.cjs +0 -5
- package/browser/cjs/BjgiE9MBDkKiRL6q.cjs +0 -3
- package/browser/cjs/BnccBYHCCq9TGFx4.cjs +0 -8
- package/browser/cjs/Btc0Nzu40VYOpzLX2.cjs +0 -1
- package/browser/cjs/BvG8N7G_8CXIAlT-.cjs +0 -1
- package/browser/cjs/BwLx9ix5Sq7suAYP2.cjs +0 -1
- package/browser/cjs/Byl4bQWpLnjthChn2.cjs +0 -7
- package/browser/cjs/BzsAbsb35hYT3xUc.cjs +0 -5
- package/browser/cjs/C-bW8lKUTFFUVap4.cjs +0 -1
- package/browser/cjs/C0hGnOYkvrwxaGrw.cjs +0 -1
- package/browser/cjs/C2uDl8VIJqh58YF_2.cjs +0 -1
- 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/C9L-xibuJ434Mqqq2.cjs +0 -1
- package/browser/cjs/CEXs4eRDOv4EjbSw2.cjs +0 -1
- package/browser/cjs/CEpXnHhrczUmIwMa2.cjs +0 -1
- package/browser/cjs/CHFOXPbNUaeZbrXn.cjs +0 -1
- package/browser/cjs/CHMgm0vAbEBS1mVW.cjs +0 -1
- package/browser/cjs/CJYewYJ5Z3iojl7J.cjs +0 -1
- package/browser/cjs/CLXzYSmhCHV5LQh7.cjs +0 -1
- package/browser/cjs/CN-dCAHVcxuMSyFz.cjs +0 -1
- package/browser/cjs/CPcBvw4ZPwHVTUZF.cjs +0 -1
- package/browser/cjs/CRx1WvmgBjT8WVyB2.cjs +0 -1
- package/browser/cjs/CV4KQsHluMqo1I2Q2.cjs +0 -1
- package/browser/cjs/CW-b31_-r-_raT8Y.cjs +0 -1
- package/browser/cjs/CXlzsh_WHCOsErJ12.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/CbLXP9WY38wTcGn5.cjs +0 -10
- 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/CnZfa45XxA-9Jhmp.cjs +0 -1
- package/browser/cjs/CnjaTz8HJXStwuH8.cjs +0 -1
- package/browser/cjs/CoiPEZabJyiXxLta.cjs +0 -1
- package/browser/cjs/CpJJh4UnFl1_qFui.cjs +0 -1
- package/browser/cjs/CrZlUtdX1h2RUnCP.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/D8-KovdJ0LjxqCe2.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/DDnGLOLTqLFsdUDS.cjs +0 -1
- package/browser/cjs/DEOu_cHJ1FfTA9R_2.cjs +0 -1
- package/browser/cjs/DG-AY_xO8RKHtEBE.cjs +0 -2
- package/browser/cjs/DG2kqsWRUtVugjay.cjs +0 -1
- package/browser/cjs/DIbdDzNf_3S2RYZN.cjs +0 -1
- package/browser/cjs/DLYEQZzAGuSAmJsp.cjs +0 -6
- package/browser/cjs/DM7-R_ltoLbA9jde2.cjs +0 -1
- package/browser/cjs/DMp9wql2kbZKAbGe.cjs +0 -3
- package/browser/cjs/DNCC-QNp2I7saV-I.cjs +0 -1
- package/browser/cjs/DNKyaSruDogoBd2H.cjs +0 -1
- package/browser/cjs/DQTBgNqDHInvxrwS.cjs +0 -1
- package/browser/cjs/DYqvGm5rx1DB53p7.cjs +0 -1
- package/browser/cjs/DZSvmqU8nRas1uz62.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/DtaFdoK4CppKRF6F2.cjs +0 -20
- package/browser/cjs/Dtc_8P-koQRmNT2s.cjs +0 -33
- package/browser/cjs/Du4jBiFxRIF1OjD42.cjs +0 -1
- package/browser/cjs/Dx79LP1-YCQg8B87.cjs +0 -1
- package/browser/cjs/EeOVMRq7TuptFKTc2.cjs +0 -1
- package/browser/cjs/FUM_3mQlC-6WPjkT.cjs +0 -4
- package/browser/cjs/IbciPMJP2Pam3ERm.cjs +0 -1
- package/browser/cjs/J7LQgueGGNUE9emR.cjs +0 -1
- package/browser/cjs/JfM6P_qoQQTWakZf2.cjs +0 -1
- package/browser/cjs/Kvn916ebqGc4t6hv2.cjs +0 -1
- package/browser/cjs/M19oMY91yZxf2WAR.cjs +0 -1
- package/browser/cjs/NcNz8RfT5V889CMT.cjs +0 -10
- package/browser/cjs/NzAMMcPT7SETmqPg.cjs +0 -2
- package/browser/cjs/QK9BfdSZPLmyRpGi2.cjs +0 -1
- package/browser/cjs/X1LnR885SNQaK5HZ.cjs +0 -1
- package/browser/cjs/Y78-VwYSNffwXRVz2.cjs +0 -2
- package/browser/cjs/Ytzw6iUYx5f19wfK.cjs +0 -9
- package/browser/cjs/aONv0Ys3C8xmnaR8.cjs +0 -1
- package/browser/cjs/bM25C5avKgBAJVfk2.cjs +0 -1
- 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/index.cjs +0 -79
- package/browser/cjs/iyvcAhhnDFxkR8tW.cjs +0 -1
- package/browser/cjs/jIxFDc3EQDDXisAC2.cjs +0 -1
- package/browser/cjs/jev6VGWTdgEgm4Yk2.cjs +0 -1
- package/browser/cjs/kqP-W5qRIy-d-ChZ.cjs +0 -1
- package/browser/cjs/lEQC21-Sk4lwHy2r2.cjs +0 -1
- package/browser/cjs/mXzhcays1ok40iiU.cjs +0 -1
- package/browser/cjs/n4ZQ0-3uSrEsInbg.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/cjs/xQ6-wbTw5UzZUM1Y.cjs +0 -1
- package/browser/cjs/zEytED4Eleo5DVvS.cjs +0 -1
- package/browser/cjs/z_rZE1OHFPpdGBh42.cjs +0 -1
- package/browser/esm/-9NsA_4pZqcEQBX7.mjs +0 -383
- package/browser/esm/B-dSKzg5shPDd733.mjs +0 -25
- 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/BaIe3fLfPLw3FbYP2.mjs +0 -1149
- 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/Bz3-FDGVU67Izdnv2.mjs +0 -106
- package/browser/esm/C3dXBjR3SrDCdJlm.mjs +0 -105
- package/browser/esm/CElACTFuqPAnCAMJ.mjs +0 -99
- package/browser/esm/CFVzVz9BCRBowBea.mjs +0 -6104
- package/browser/esm/CFtsbobCiLpZIzCh.mjs +0 -34
- package/browser/esm/CJ-lOo2cXlcYrg2P.mjs +0 -8255
- package/browser/esm/CRsnKeHAnKrWvuG52.mjs +0 -6713
- 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/DGfzktq0BrIwcb8j.mjs +0 -7813
- package/browser/esm/D_8B8jIlshd3eTIO2.mjs +0 -471
- package/browser/esm/DdaO25i-WWFSh1W0.mjs +0 -3188
- package/browser/esm/DdtDlBp6KJZjL28o.mjs +0 -4745
- 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/DuJ_gK9f35IbKDd6.mjs +0 -3651
- package/browser/esm/Duo6t8_BzIiBDrFm.mjs +0 -28435
- package/browser/esm/DxxlSejA2S6YUPWD.mjs +0 -2211
- 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/O982fBwJ80FSdhad.mjs +0 -615
- package/browser/esm/evPbHV86yom22yGf2.mjs +0 -16301
- package/browser/esm/ohVj-y1gCC9PEHJI.mjs +0 -87
- package/browser/esm/s4trFf5sOSGNEzr3.mjs +0 -235
- package/cdn/assets/6L6HfOFw1xzxXtf22.js +0 -2211
- package/cdn/assets/B-dSKzg5shPDd733.js +0 -25
- package/cdn/assets/B2BvBxjz3Kfii_Gn2.js +0 -6715
- package/cdn/assets/B3ZyfwskutLZMYfl2.js +0 -44
- package/cdn/assets/B4492m5zRjz4JWIo2.js +0 -4745
- package/cdn/assets/B6Y_HasaiihQLVYz2.js +0 -3188
- package/cdn/assets/B8ok93z6wOu1Mo5H.js +0 -27
- package/cdn/assets/BIPjogMyMmLRly43.js +0 -106
- package/cdn/assets/BOTU30yJHbaNehFS.js +0 -176
- package/cdn/assets/B_U_UpQXdbjNRthb.js +0 -24
- package/cdn/assets/BaIe3fLfPLw3FbYP2.js +0 -1149
- package/cdn/assets/BdhFhDEa7Xed6dFE.js +0 -28436
- package/cdn/assets/BdmCBWTVHb7KuHxO2.js +0 -2687
- package/cdn/assets/Bfd3T36ocASPZddR.js +0 -3651
- package/cdn/assets/BjN8kU7URKZwGlmk2.js +0 -4423
- package/cdn/assets/BouCHi6QnBrUDYkx.js +0 -16301
- package/cdn/assets/CDqMmEdh_CPaFCCi2.js +0 -2199
- 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/DEFEOS3OuA23llF92.js +0 -472
- package/cdn/assets/DEyeWdXLwDRo2yYf2.js +0 -107
- package/cdn/assets/DW2yQm-sEcHogX7E.js +0 -8258
- 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/DlLXCXDokJ72EW-E.js +0 -236
- 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/Wb48SedqaKMZnxym.js +0 -7404
- package/cdn/assets/Wsgx1I_j1chJ6hwn.js +0 -152
- package/cdn/assets/XSUr59k0gaFIS1Qf2.js +0 -53
- package/cdn/assets/llvXNxZaCMnYqvSm.js +0 -6104
- package/cdn/assets/omgRvCRxe7suvog8.js +0 -510
- package/cdn/assets/xMskoOI2CK9-AmBF2.js +0 -44
- package/cdn/assets/zrS_ERBQML_OXJ4J.js +0 -87
|
@@ -0,0 +1,763 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.8.0-beta.10
|
|
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 { P as e } from "./CMxbiQ5J79M3n1tk.mjs";
|
|
8
|
+
import { c as t, o as n, t as r } from "./BAH_cWcQEIBKWnl6.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) {
|
|
217
|
+
if (a && o[0].kind === t.SyntaxKind.TupleType && (r.lambdaArity = o[0].elements.length), o[1].kind === t.SyntaxKind.AnyKeyword) s = "raw";
|
|
218
|
+
else {
|
|
219
|
+
let e = {};
|
|
220
|
+
Z(o[1], e, i, !1, { count: 0 }), s = e.scalar ?? "*";
|
|
221
|
+
}
|
|
222
|
+
} else if (o && o.length === 1 && o[0].kind !== t.SyntaxKind.TupleType && o[0].kind !== t.SyntaxKind.ArrayType) {
|
|
223
|
+
if (a && (r.lambdaArity = 2), o[0].kind === t.SyntaxKind.AnyKeyword) s = "raw";
|
|
224
|
+
else {
|
|
225
|
+
let e = {};
|
|
226
|
+
Z(o[0], e, i, !1, { count: 0 }), s = e.scalar ?? "*";
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return r.lambda = s, !0;
|
|
230
|
+
}, 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) => {
|
|
231
|
+
let t = e.getJsDocTags(a).find((e) => e.name === "deprecated");
|
|
232
|
+
if (t) return t.text?.map((e) => e.text).join("").trim() || !0;
|
|
233
|
+
}, X = (e, o) => {
|
|
234
|
+
let s = t.isTypeReferenceNode(e) ? e.typeName : void 0, c = s ? a.getSymbolAtLocation(s) : void 0, l = c?.declarations?.length ? c : void 0;
|
|
235
|
+
if (s) {
|
|
236
|
+
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.`);
|
|
237
|
+
if (!(l && l.flags & t.SymbolFlags.Type)) {
|
|
238
|
+
let r = s.getText();
|
|
239
|
+
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;
|
|
240
|
+
}
|
|
241
|
+
let r = H.get(l);
|
|
242
|
+
if (r !== void 0) return r;
|
|
243
|
+
if (G.has(l)) return;
|
|
244
|
+
}
|
|
245
|
+
let u = [], d = !1;
|
|
246
|
+
if (l && l.flags & t.SymbolFlags.Enum) {
|
|
247
|
+
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.`);
|
|
248
|
+
d = !0;
|
|
249
|
+
let n = !1;
|
|
250
|
+
if (l.exports?.forEach((e) => {
|
|
251
|
+
let r = e.valueDeclaration;
|
|
252
|
+
if (!r || !t.isEnumMember(r)) return;
|
|
253
|
+
let o = a.getConstantValue(r);
|
|
254
|
+
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);
|
|
255
|
+
u.push([
|
|
256
|
+
J(e, !0),
|
|
257
|
+
o,
|
|
258
|
+
r,
|
|
259
|
+
M(e.getDocumentationComment(a)),
|
|
260
|
+
Y(e)
|
|
261
|
+
]);
|
|
262
|
+
}), n) return void G.add(l);
|
|
263
|
+
} else {
|
|
264
|
+
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 = [];
|
|
265
|
+
for (let e of i) {
|
|
266
|
+
if (!(e.flags & (t.TypeFlags.NumberLiteral | t.TypeFlags.StringLiteral))) return l && H.set(l, null), null;
|
|
267
|
+
o.push(e.value);
|
|
268
|
+
}
|
|
269
|
+
if (o.length === 0) return null;
|
|
270
|
+
let s = l?.declarations?.find((e) => t.isTypeAliasDeclaration(e)), c = t.isUnionTypeNode(e) ? e : s?.type;
|
|
271
|
+
if (c && t.isUnionTypeNode(c)) {
|
|
272
|
+
let e = c.types.map((e) => {
|
|
273
|
+
let t = a.getTypeFromTypeNode(e);
|
|
274
|
+
return t.isLiteral() ? t.value : void 0;
|
|
275
|
+
}), t = (t) => {
|
|
276
|
+
let n = e.indexOf(t);
|
|
277
|
+
return n < 0 ? e.length : n;
|
|
278
|
+
};
|
|
279
|
+
o.sort((e, n) => t(e) - t(n));
|
|
280
|
+
}
|
|
281
|
+
let f = l && l.flags & t.SymbolFlags.Variable ? l.valueDeclaration : void 0, p = new Set(o);
|
|
282
|
+
if (l && f && q(f)) for (let e of a.getTypeOfSymbolAtLocation(l, f).getProperties()) {
|
|
283
|
+
let n = e.valueDeclaration, r = a.getTypeOfSymbolAtLocation(e, n ?? f);
|
|
284
|
+
if (!(r.flags & (t.TypeFlags.NumberLiteral | t.TypeFlags.StringLiteral))) continue;
|
|
285
|
+
let i = r.value;
|
|
286
|
+
o.includes(i) && (d = !0, p.delete(i), u.push([
|
|
287
|
+
J(e, !0),
|
|
288
|
+
i,
|
|
289
|
+
n,
|
|
290
|
+
M(e.getDocumentationComment(a)),
|
|
291
|
+
Y(e)
|
|
292
|
+
]));
|
|
293
|
+
}
|
|
294
|
+
for (let e of o) p.has(e) && u.push([
|
|
295
|
+
String(e),
|
|
296
|
+
e,
|
|
297
|
+
void 0,
|
|
298
|
+
null
|
|
299
|
+
]);
|
|
300
|
+
}
|
|
301
|
+
if (u.length === 0) return null;
|
|
302
|
+
let f = typeof u[0][1] == "number";
|
|
303
|
+
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.`);
|
|
304
|
+
let p = l ? J(l) : u.map(([, e]) => String(e)).join("|"), m = l ? void 0 : U.get(p);
|
|
305
|
+
if (m) return m;
|
|
306
|
+
if (d) {
|
|
307
|
+
let t = /* @__PURE__ */ new Map();
|
|
308
|
+
for (let [n, r, a, o] of u) {
|
|
309
|
+
let s = a?.name?.getText() ?? n, c = t.get(r);
|
|
310
|
+
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.`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
let h = {
|
|
314
|
+
id: p,
|
|
315
|
+
type: f ? r.Number : r.String,
|
|
316
|
+
members: u.map(([e, t, , , n]) => n ? [
|
|
317
|
+
e,
|
|
318
|
+
t,
|
|
319
|
+
n
|
|
320
|
+
] : [e, t])
|
|
321
|
+
};
|
|
322
|
+
l ? H.set(l, h) : U.set(p, h);
|
|
323
|
+
let g = l ? M(l.getDocumentationComment(a)) : "", _ = {};
|
|
324
|
+
for (let [e, , , t] of u) t && (_[e] = { description: t });
|
|
325
|
+
if (g || Object.keys(_).length > 0) {
|
|
326
|
+
let e = {};
|
|
327
|
+
g && (e.summary = g), Object.keys(_).length > 0 && (e.members = _), W.set(h, e);
|
|
328
|
+
}
|
|
329
|
+
return h;
|
|
330
|
+
}, Z = (e, n, a, o, s, l = !1, f = !1, S = !1) => {
|
|
331
|
+
if (e) {
|
|
332
|
+
if (e.kind === t.SyntaxKind.ParenthesizedType) return Z(e.type, n, a, o, s, l, f, S);
|
|
333
|
+
if (e.kind === t.SyntaxKind.UnionType) {
|
|
334
|
+
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));
|
|
335
|
+
if (u.length === 1) return Z(u[0], n, a, o, s, l, f, S);
|
|
336
|
+
let d = X(e, n.name ?? z(e));
|
|
337
|
+
if (d === void 0) return;
|
|
338
|
+
if (d !== null) return n.scalar = d.type, void (o && (n.enum = d));
|
|
339
|
+
if (!o) return void (n.scalar = "*");
|
|
340
|
+
if (u.length === 2) {
|
|
341
|
+
let e = (e) => e.kind === t.SyntaxKind.TypeReference && t.isTypeReferenceNode(e) && E(e) === "Lambda", r = u.findIndex(e);
|
|
342
|
+
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);
|
|
343
|
+
}
|
|
344
|
+
if (o && u.length === 2) {
|
|
345
|
+
let e = (e) => {
|
|
346
|
+
if (e.kind === t.SyntaxKind.TypeReference && !e.typeArguments?.length) return c.get(E(e));
|
|
347
|
+
}, r = u.findIndex((t) => e(t) !== void 0);
|
|
348
|
+
if (r >= 0 && e(u[1 - r]) === void 0) {
|
|
349
|
+
let t = {}, i = s.count;
|
|
350
|
+
if (Z(u[1 - r], t, a, o, s, l, !1), t.scalar && !t.range && t.lambda == null && s.count === i) {
|
|
351
|
+
n.range = e(u[r]), n.scalar = t.scalar, n.valueOrRange = !0;
|
|
352
|
+
let i = t.enum;
|
|
353
|
+
i && (n.enum = i);
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
if (o && u.length === 2) {
|
|
359
|
+
let r = (e) => e.kind === t.SyntaxKind.TypeReference && !e.typeArguments?.length && E(e) === "Scalar", i = u.findIndex(r);
|
|
360
|
+
if (i >= 0 && !r(u[1 - i])) {
|
|
361
|
+
let t = X(u[1 - i], n.name ?? z(e));
|
|
362
|
+
if (t === void 0) return;
|
|
363
|
+
if (t !== null) return n.scalar = "*", void (n.enum = t);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
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.`);
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
if (e.kind === t.SyntaxKind.NumberKeyword) n.scalar = r.Number;
|
|
370
|
+
else if (e.kind === t.SyntaxKind.StringKeyword) n.scalar = r.String;
|
|
371
|
+
else if (e.kind === t.SyntaxKind.BooleanKeyword) n.scalar = r.Boolean;
|
|
372
|
+
else if (e.kind === t.SyntaxKind.UndefinedKeyword || e.kind === t.SyntaxKind.NullKeyword || e.kind === t.SyntaxKind.VoidKeyword) {
|
|
373
|
+
if (o) return void R(e, i.UndefinedInput, `'undefined' is not a valid type for input: '${z(e)}'.`);
|
|
374
|
+
n.scalar = r.Null;
|
|
375
|
+
} else if (e.kind === t.SyntaxKind.BigIntKeyword) n.scalar = r.Number;
|
|
376
|
+
else if (e.kind === t.SyntaxKind.AnyKeyword) o && (n.range = "*");
|
|
377
|
+
else if (e.kind === t.SyntaxKind.ArrayType) {
|
|
378
|
+
let t = e.elementType;
|
|
379
|
+
if (!t) return void R(e, i.UntypedArray, `'Array' must be typed: '${z(e)}'.`);
|
|
380
|
+
if (o && f) {
|
|
381
|
+
let r = n, i = r.name ?? z(e) ?? "parameter", o = r.acceptError;
|
|
382
|
+
delete r.acceptError;
|
|
383
|
+
let s = { name: i };
|
|
384
|
+
B(t, s, a, !0), o && !s.acceptError && (s.acceptError = !0), r.repeating = [s];
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
s.count++, Z(t, n, a, o, s);
|
|
388
|
+
} else if (e.kind !== t.SyntaxKind.TupleType) {
|
|
389
|
+
if (e.kind === t.SyntaxKind.TypeReference) {
|
|
390
|
+
let r = E(e);
|
|
391
|
+
if (g.has(r)) {
|
|
392
|
+
let t = z(e);
|
|
393
|
+
if (!o) return void R(e, i.InvalidReturnType, `'${r}' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
394
|
+
let c = n;
|
|
395
|
+
if (c.acceptError) return void R(e, i.InvalidParamType, `'${t}' declares 'AcceptError' more than once.`);
|
|
396
|
+
let u = e.typeArguments;
|
|
397
|
+
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}'.`);
|
|
398
|
+
}
|
|
399
|
+
if (x.has(r)) {
|
|
400
|
+
let t = n.name ?? z(e);
|
|
401
|
+
if (!o) return void R(e, i.InvalidReturnType, `'ReportType' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
402
|
+
let c = e.typeArguments;
|
|
403
|
+
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}'.`);
|
|
404
|
+
}
|
|
405
|
+
if (v.has(r)) {
|
|
406
|
+
let t = n.name ?? z(e);
|
|
407
|
+
if (!o) return void R(e, i.InvalidReturnType, `'NoLift' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
408
|
+
let c = e.typeArguments;
|
|
409
|
+
if (!c || c.length !== 1) return void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${t}'.`);
|
|
410
|
+
let u = n;
|
|
411
|
+
u.noLift = !0;
|
|
412
|
+
let d = s.count;
|
|
413
|
+
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.`);
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
if (y.has(r)) {
|
|
417
|
+
let t = n.name ?? z(e);
|
|
418
|
+
if (!o) return void R(e, i.InvalidReturnType, `'NoFilter' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
419
|
+
let c = e.typeArguments;
|
|
420
|
+
if (!c || c.length !== 1) return void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${t}'.`);
|
|
421
|
+
let u = n;
|
|
422
|
+
u.noFilter = !0;
|
|
423
|
+
let d = s.count;
|
|
424
|
+
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.`);
|
|
425
|
+
let p = u.repeating;
|
|
426
|
+
if (p) {
|
|
427
|
+
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.`);
|
|
428
|
+
p[0].noFilter = !0;
|
|
429
|
+
} else f && R(e, i.InvalidParamType, `'${t}': 'NoFilter' applies to a REPEATING slot only - a single scalar argument has no members to coerce.`);
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
if (_.has(r)) {
|
|
433
|
+
let c = n.name ?? z(e);
|
|
434
|
+
if (!o) return void R(e, i.InvalidReturnType, `'Omittable' is not a valid return type: '${c}'. It describes how an ARGUMENT is received.`);
|
|
435
|
+
let u = e.typeArguments;
|
|
436
|
+
if (!u || u.length < 1 || u.length > 2) return void R(e, i.GenericArity, `'${r}' must be typed with 1 or 2 types: '${c}'.`);
|
|
437
|
+
let d = n;
|
|
438
|
+
if (d.omittable = !0, u.length === 2) {
|
|
439
|
+
let n = j(t, u[1]);
|
|
440
|
+
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.`);
|
|
441
|
+
d.omittedValue = n;
|
|
442
|
+
}
|
|
443
|
+
let p = Z(u[0], n, a, o, s, l, f, S), m = d.omittedValue;
|
|
444
|
+
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;
|
|
445
|
+
}
|
|
446
|
+
if (b.has(r)) {
|
|
447
|
+
let c = n.name ?? z(e);
|
|
448
|
+
if (!o) return void R(e, i.InvalidReturnType, `'Lazy' is not a valid return type: '${c}'. It describes how an ARGUMENT is received.`);
|
|
449
|
+
let u = n;
|
|
450
|
+
if (u.lazy) return void R(e, i.InvalidParamType, `'${c}' declares 'Lazy' more than once.`);
|
|
451
|
+
let d = e.typeArguments;
|
|
452
|
+
if (!d || d.length < 1 || d.length > 2) return void R(e, i.GenericArity, `'${r}' must be typed with 1 or 2 types: '${c}'.`);
|
|
453
|
+
if (u.lazy = !0, d.length === 2) {
|
|
454
|
+
let n = j(t, d[1]);
|
|
455
|
+
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.`);
|
|
456
|
+
u.optional = !0, u.defaultValue = n;
|
|
457
|
+
}
|
|
458
|
+
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.`);
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
if (h.has(r)) {
|
|
462
|
+
let t = n.name ?? z(e);
|
|
463
|
+
if (!o) return void R(e, i.InvalidReturnType, `'Flatten' is not a valid return type: '${t}'. It describes how an ARGUMENT is received.`);
|
|
464
|
+
let c = e.typeArguments;
|
|
465
|
+
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}'.`);
|
|
466
|
+
}
|
|
467
|
+
if (m.get(r) === "repeating") {
|
|
468
|
+
let c = n.name ?? z(e);
|
|
469
|
+
if (!o) return void R(e, i.RepeatingPosition, `'Repeating' is not a valid return type: '${c}'.`);
|
|
470
|
+
if (s.count !== 0) return void R(e, i.RepeatingPosition, `'Repeating' cannot be nested inside another type: '${c}'.`);
|
|
471
|
+
let u = n, d = e.typeArguments;
|
|
472
|
+
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}'.`);
|
|
473
|
+
let p;
|
|
474
|
+
if (d.length === 2) {
|
|
475
|
+
let e = d[1], n = e.kind === t.SyntaxKind.LiteralType ? e.literal : null, o = n && n.kind === t.SyntaxKind.NumericLiteral ? Number(n.text) : NaN;
|
|
476
|
+
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.`);
|
|
477
|
+
p = o, a.maxArguments = o;
|
|
478
|
+
}
|
|
479
|
+
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);
|
|
480
|
+
let m = u.acceptError;
|
|
481
|
+
delete u.acceptError;
|
|
482
|
+
let h = ((e, n, r, a) => {
|
|
483
|
+
let o = (e, t, n) => {
|
|
484
|
+
let i = { name: e };
|
|
485
|
+
return B(t, i, r, !0), n && (i.optional = !0), a && !i.acceptError && (i.acceptError = !0), i;
|
|
486
|
+
};
|
|
487
|
+
if (e.kind !== t.SyntaxKind.TupleType) return [o(n, e, !1)];
|
|
488
|
+
let s = e.elements;
|
|
489
|
+
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;
|
|
490
|
+
let c = [];
|
|
491
|
+
for (let e = 0; e < s.length; e++) {
|
|
492
|
+
let r = s[e];
|
|
493
|
+
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;
|
|
494
|
+
let a = !!r.questionToken;
|
|
495
|
+
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;
|
|
496
|
+
c.push(o(r.name?.getText?.() ?? `${e}`, r.type, a));
|
|
497
|
+
}
|
|
498
|
+
return c;
|
|
499
|
+
})(d[0], c ?? "parameter", a, m);
|
|
500
|
+
h && (u.repeating = h);
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
let C = c.get(r), w = !1;
|
|
504
|
+
C && (n.range = C, w = !0);
|
|
505
|
+
let k = p.get(r);
|
|
506
|
+
if (k && (n.scalar = k), k !== void 0 && (w = !0), V(e, r, n, a, o)) return;
|
|
507
|
+
if (o) {
|
|
508
|
+
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.`);
|
|
509
|
+
if (A.has(r)) return O;
|
|
510
|
+
let t = u.get(r);
|
|
511
|
+
if (t) return t;
|
|
512
|
+
} else {
|
|
513
|
+
let t = D.get(r);
|
|
514
|
+
if (t) {
|
|
515
|
+
let a = Object.assign(n, t()), o = 0;
|
|
516
|
+
if (a.async && o++, a.stream && o++, o > 1) return void R(e, i.MultipleModifiers, `'${r}' cannot have multiple modifiers: '${z(e)}'.`);
|
|
517
|
+
w = !0;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
if (!w) {
|
|
521
|
+
let t = X(e, n.name ?? z(e));
|
|
522
|
+
if (t === void 0) return;
|
|
523
|
+
if (t !== null) return n.scalar = t.type, void (o && (n.enum = t));
|
|
524
|
+
}
|
|
525
|
+
if (!w) {
|
|
526
|
+
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;
|
|
527
|
+
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);
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
let M = e.typeArguments;
|
|
531
|
+
if (M) {
|
|
532
|
+
if (M.length !== 1) return void R(e, i.GenericArity, `'${r}' must be typed with exactly 1 type: '${z(e)}'.`);
|
|
533
|
+
let s = M[0], c = o && t.isTypeReferenceNode(s) && x.has(E(s)), l = n.reportType;
|
|
534
|
+
c && K.add(n), B(s, n, a, o), c && l === void 0 && delete n.reportType;
|
|
535
|
+
let u = n.enum;
|
|
536
|
+
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);
|
|
537
|
+
}
|
|
538
|
+
} else e.kind === t.SyntaxKind.FunctionType && ((e, n, r, a) => {
|
|
539
|
+
if (!a) return void R(e, i.FunctionReturn, `Function type is not a valid return type: '${z(e)}'. Declare a 'Lambda' return instead.`);
|
|
540
|
+
let o = e.type, s = {}, c = "*";
|
|
541
|
+
o && (o.kind === t.SyntaxKind.AnyKeyword ? c = "raw" : (Z(o, s, r, !1, { count: 0 }), c = s.scalar ?? "*"));
|
|
542
|
+
let l = e.parameters;
|
|
543
|
+
l && !l.some((e) => e.dotDotDotToken) && (n.lambdaArity = l.length), n.lambda = c;
|
|
544
|
+
})(e, n, a, o);
|
|
545
|
+
}
|
|
546
|
+
} else R(e, i.MissingType, `Type is not defined for '${n?.name ?? "return"}'.`);
|
|
547
|
+
};
|
|
548
|
+
try {
|
|
549
|
+
t.forEachChild(n, (e) => {
|
|
550
|
+
if (r = e, (t.getCombinedModifierFlags(r) & t.ModifierFlags.Export) !== 0 && t.isFunctionDeclaration(e)) {
|
|
551
|
+
let r = e?.name?.getText();
|
|
552
|
+
if (!e.body) return void R(e, i.NoBody, `'${r}': function has no body.`);
|
|
553
|
+
if (!r) return void R(e, i.Anonymous, "Anonymous exported functions are not allowed.");
|
|
554
|
+
let c = {}, u = { parameters: {} };
|
|
555
|
+
try {
|
|
556
|
+
c.name = r;
|
|
557
|
+
let d = M(a.getSymbolAtLocation(e.name)?.getDocumentationComment(a));
|
|
558
|
+
d && (u.summary = d);
|
|
559
|
+
let p = {};
|
|
560
|
+
B(e.type, p, c, !1), c.returnType = p;
|
|
561
|
+
let m = {};
|
|
562
|
+
n = e, (t.getCombinedModifierFlags(n) & t.ModifierFlags.Default) !== 0 && (m.default = !0, I = r), c.parameters = [];
|
|
563
|
+
let h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Set(), v = null, y = null, b = null, x = 0, T = !1, E = 0;
|
|
564
|
+
for (let n = 0; n < e.parameters.length; n++) {
|
|
565
|
+
let r = e.parameters[n], s = {};
|
|
566
|
+
s.name = r.name?.getText();
|
|
567
|
+
let l = c.parameters.length === 0;
|
|
568
|
+
if (o?.lenient && n === 0 && !r.type && m.default) {
|
|
569
|
+
c.context = k;
|
|
570
|
+
continue;
|
|
571
|
+
}
|
|
572
|
+
let d = B(r.type, s, c, !0, l, !r.dotDotDotToken, !!r.dotDotDotToken);
|
|
573
|
+
if (d === O) {
|
|
574
|
+
n === 0 && c.context === void 0 && (c.context = k);
|
|
575
|
+
continue;
|
|
576
|
+
}
|
|
577
|
+
if (d) {
|
|
578
|
+
if (c.parameters.length !== 0) return void R(r, i.ContextNotFirst, `'${c.name}' contexts must be the first parameter: '${s.name}'.`);
|
|
579
|
+
c.context = d;
|
|
580
|
+
continue;
|
|
581
|
+
}
|
|
582
|
+
if (s.lambda !== void 0) {
|
|
583
|
+
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.`);
|
|
584
|
+
v = s.name;
|
|
585
|
+
} 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.`);
|
|
586
|
+
let f = !0 === s.optional || r.initializer !== void 0 && r.initializer !== null || r.questionToken !== void 0 && r.questionToken !== null, p;
|
|
587
|
+
if (f && (s.optional = !0, r.initializer)) try {
|
|
588
|
+
if (r.initializer.kind === t.SyntaxKind.StringLiteral) p = r.initializer.text;
|
|
589
|
+
else if (r.initializer.kind === t.SyntaxKind.NumericLiteral) p = parseFloat(r.initializer.text);
|
|
590
|
+
else if (r.initializer.kind === t.SyntaxKind.TrueKeyword || r.initializer.kind === t.SyntaxKind.FalseKeyword) p = r.initializer.kind === t.SyntaxKind.TrueKeyword;
|
|
591
|
+
else if (r.initializer.kind === t.SyntaxKind.NullKeyword) p = null;
|
|
592
|
+
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);
|
|
593
|
+
else if (t.isPropertyAccessExpression(r.initializer) || t.isElementAccessExpression(r.initializer)) {
|
|
594
|
+
let e = a.getTypeAtLocation(r.initializer);
|
|
595
|
+
e.flags & (t.TypeFlags.NumberLiteral | t.TypeFlags.StringLiteral) && (p = e.value);
|
|
596
|
+
}
|
|
597
|
+
} catch (e) {
|
|
598
|
+
console.warn(`Couldn't extract default value for parameter '${s.name}'`, e);
|
|
599
|
+
}
|
|
600
|
+
r.dotDotDotToken && (s.rest = !0);
|
|
601
|
+
let S = s.repeating;
|
|
602
|
+
if (S) {
|
|
603
|
+
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 '...'.`);
|
|
604
|
+
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.`);
|
|
605
|
+
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.`);
|
|
606
|
+
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.`);
|
|
607
|
+
y = s.name, x = S.length, T = !0 === S[S.length - 1].optional;
|
|
608
|
+
} else {
|
|
609
|
+
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.`);
|
|
610
|
+
if (y !== null && f) {
|
|
611
|
+
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.`);
|
|
612
|
+
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.`);
|
|
613
|
+
E++;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
f && !S && (b = s.name);
|
|
617
|
+
let C = (s.range ? 2 : 0) + (s.arrayDepth ?? 0), w = s.range === "r" || s.range === "p" || s.range === "*", D = s.rest || w ? 3 : 2;
|
|
618
|
+
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)"}.`);
|
|
619
|
+
c.parameters.push(s);
|
|
620
|
+
let A = { description: "" };
|
|
621
|
+
u.parameters[s.name] = A, A.description = M(a.getSymbolAtLocation(r.name)?.getDocumentationComment(a)), p !== void 0 && (s.defaultValue = p);
|
|
622
|
+
for (let e of [s, ...s.repeating ?? []]) {
|
|
623
|
+
let t = e.enum ? W.get(e.enum) : void 0;
|
|
624
|
+
t && ((u.enums ??= {})[e.enum.id] = t);
|
|
625
|
+
}
|
|
626
|
+
if (h.set(s.name, s), g.set(s.name, r), S && S.length > 1) {
|
|
627
|
+
_.add(s.name);
|
|
628
|
+
for (let e of S) {
|
|
629
|
+
let t = `${s.name}.${e.name}`;
|
|
630
|
+
u.parameters[t] = { description: "" }, h.set(t, e), g.set(t, r);
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
let D = c.maxArguments;
|
|
635
|
+
if (D !== void 0) {
|
|
636
|
+
let t = c.parameters ?? [];
|
|
637
|
+
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.`);
|
|
638
|
+
let n = 0;
|
|
639
|
+
for (let e of t) !0 !== e.rest && !0 !== e.optional && (n += e.repeating ? e.repeating.length : 1);
|
|
640
|
+
if (D < n) return void R(e, i.RepeatingMax, `'${c.name}' declares a maximum of ${D} arguments but requires ${n}.`);
|
|
641
|
+
}
|
|
642
|
+
if (e.jsDoc && e.jsDoc.length > 0) {
|
|
643
|
+
let t = e.jsDoc, n = t.length;
|
|
644
|
+
for (let e = 0; e < n; e++) {
|
|
645
|
+
let n = t[e]?.tags;
|
|
646
|
+
if (!n) continue;
|
|
647
|
+
let a = n.length;
|
|
648
|
+
for (let e = 0; e < a; e++) {
|
|
649
|
+
let t = n[e], a = t?.tagName?.text;
|
|
650
|
+
if (!a) continue;
|
|
651
|
+
a = a.toLowerCase();
|
|
652
|
+
let o = t.comment, d = s(a);
|
|
653
|
+
if (typeof o == "string" || d) {
|
|
654
|
+
if (typeof o == "string" && (o = o.replace(/\r\n?/g, "\n").trim()), d || !o || (o = o.split("\n")[0].trim(), o && o.length !== 0)) {
|
|
655
|
+
if (o && typeof o == "string") {
|
|
656
|
+
let e = /\{@link(code|plain)?\s+([^}|]+)(?:\s*\|\s*([^}]+))?\}/g, t, n = o, r = [];
|
|
657
|
+
for (; (t = e.exec(o)) !== null;) {
|
|
658
|
+
let [e, n, r, i] = t, a = [r.trim()];
|
|
659
|
+
i && a.push(i.trim());
|
|
660
|
+
}
|
|
661
|
+
o = n, r.length > 0 && a === "see" && (u.links ||= [], u.links.push(...r));
|
|
662
|
+
}
|
|
663
|
+
if (a === "name") {
|
|
664
|
+
let e = o;
|
|
665
|
+
e !== r && (u.name = e);
|
|
666
|
+
} else if (a !== "description") {
|
|
667
|
+
if (a === "param") {
|
|
668
|
+
let e = t.name?.getText?.() ?? t.name?.text;
|
|
669
|
+
if (!h.get(e)) {
|
|
670
|
+
R(t, i.UnknownParam, `Parameter '${e}' not found in function '${r}'.`);
|
|
671
|
+
continue;
|
|
672
|
+
}
|
|
673
|
+
let n = u.parameters?.[e];
|
|
674
|
+
n && !n.description && typeof o == "string" && o && (n.description = o);
|
|
675
|
+
} else if (a === "returns" || a === "return") c.returnType.description = o;
|
|
676
|
+
else if (a === "returnkind") {
|
|
677
|
+
let e = (o ?? "").trim().toLowerCase();
|
|
678
|
+
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(", ")}.`);
|
|
679
|
+
} else if (a === "category") u.category = o;
|
|
680
|
+
else if (a === "deprecated" || a === "hidden") {
|
|
681
|
+
let e = !0, t = o?.toLowerCase();
|
|
682
|
+
t === "false" ? e = !1 : t !== "true" && (e = o), !1 !== e && (u.deprecated = e ?? !0, c.hidden = !0);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
} else a === "returnkind" && R(t, i.UnknownReturnKind, `'@returnKind' needs a value kind. Known: ${[...l].map((e) => `'${e}'`).join(", ")}.`);
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
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.`);
|
|
691
|
+
let A = !c.context, j = A && u.name || r;
|
|
692
|
+
if (A && !S.test(j)) {
|
|
693
|
+
let t = u.name ? `'@name ${u.name}'` : `'${j}'`;
|
|
694
|
+
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."));
|
|
695
|
+
return;
|
|
696
|
+
}
|
|
697
|
+
if (A && !o?.isBuiltIn && ((e) => {
|
|
698
|
+
if (w.test(e)) return !0;
|
|
699
|
+
let t = C.exec(e);
|
|
700
|
+
if (!t) return !1;
|
|
701
|
+
let n = 0;
|
|
702
|
+
for (let e of t[1].toUpperCase()) n = 26 * n + (e.charCodeAt(0) - 64);
|
|
703
|
+
let r = Number(t[2]);
|
|
704
|
+
return n <= 16384 && r >= 1 && r <= 1048576;
|
|
705
|
+
})(j)) {
|
|
706
|
+
let t = u.name ? `'@name ${u.name}'` : `'${j}'`;
|
|
707
|
+
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."));
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
710
|
+
let F = P.get(j.toUpperCase());
|
|
711
|
+
if (F !== void 0) return void R(e.name ?? e, i.DuplicateName, `'${r}': '${j}' is already the name of '${F}' in this module.`);
|
|
712
|
+
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.`);
|
|
713
|
+
if (A) {
|
|
714
|
+
let e = u.parameters ?? {};
|
|
715
|
+
for (let [t, n] of Object.entries(e)) if (!_.has(t) && !n.description) {
|
|
716
|
+
let e = g.get(t);
|
|
717
|
+
L(e, i.MissingParamDescription, "warning", `'${r}': parameter '${t}' is missing a description. Add an '@param ${t}' tag.`);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
N.push([c, u]);
|
|
721
|
+
} catch (t) {
|
|
722
|
+
R(e, i.ParseError, `'${r}': ${t.message}`);
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
var n, r;
|
|
726
|
+
});
|
|
727
|
+
} catch (e) {
|
|
728
|
+
R(void 0, i.ParseError, `Unable to analyze module: ${e?.message ?? e}`);
|
|
729
|
+
}
|
|
730
|
+
return {
|
|
731
|
+
functions: N,
|
|
732
|
+
autoRun: I,
|
|
733
|
+
diagnostics: F
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
function P(e, t, n) {
|
|
737
|
+
let r = "script.ts", i = "lib.d.ts", a = {
|
|
738
|
+
[r]: t ?? "",
|
|
739
|
+
[i]: ""
|
|
740
|
+
}, o = e.createProgram([r], {
|
|
741
|
+
allowJs: !0,
|
|
742
|
+
noResolve: !0,
|
|
743
|
+
noLib: !0,
|
|
744
|
+
isolatedModules: !0,
|
|
745
|
+
module: 99,
|
|
746
|
+
target: e.ScriptTarget.ES2020
|
|
747
|
+
}, {
|
|
748
|
+
getSourceFile: (t) => {
|
|
749
|
+
let n = a[t];
|
|
750
|
+
if (n !== void 0) return e.createSourceFile(t, n, e.ScriptTarget.Latest, !0);
|
|
751
|
+
},
|
|
752
|
+
fileExists: (e) => a[e] !== void 0,
|
|
753
|
+
readFile: (e) => a[e],
|
|
754
|
+
writeFile: () => {},
|
|
755
|
+
getCurrentDirectory: () => "./",
|
|
756
|
+
getCanonicalFileName: (e) => e,
|
|
757
|
+
useCaseSensitiveFileNames: () => !0,
|
|
758
|
+
getDefaultLibFileName: () => i,
|
|
759
|
+
getNewLine: () => "\n"
|
|
760
|
+
}), s = o.getTypeChecker(), c = o.getSourceFile(r);
|
|
761
|
+
return c ? N(e, c, s, n).diagnostics : [];
|
|
762
|
+
}
|
|
763
|
+
export { N as analyzeModule, P as lintScript, i as t };
|