@sheetxl/mcp 0.0.0-stage → 0.8.0-beta.15
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/LICENSE.md +11 -0
- package/README.md +72 -2
- package/agent/instructions.md +66 -0
- package/assets/9U9XCqqdn-q3i2fj.js +123 -0
- package/assets/B-MqXm_7luDLwazY.js +596 -0
- package/assets/B2Ek-DWpZMGJ0V1Z.js +18 -0
- package/assets/B2udpZ-uIaql3AUh.js +104 -0
- package/assets/B4VnJacrzr1x4PHR.js +402 -0
- package/assets/B5lHOOQ_rkP4Mi2r.js +638 -0
- package/assets/B7gUyrfLln3TiyKM.js +14 -0
- package/assets/B9US2ZrF93KOjmAx.js +22 -0
- package/assets/BBb_3gEGzmEzbTIk.js +359 -0
- package/assets/BCy1zP97fsiIcvj6.js +18 -0
- package/assets/BFXeoFUbuc4IKTz9.js +28 -0
- package/assets/BFdeov2e_xUQPEY_.js +202 -0
- package/assets/BG5kgbDRXMc0re6W.js +242 -0
- package/assets/BJxfinOazQqqByc-.js +105 -0
- package/assets/BOPsJmq7v7HOKUkO.js +32 -0
- package/assets/BPwmBu_aouERJjiW.js +45 -0
- package/assets/BQMDOjNBMjAx9WiW.js +3011 -0
- package/assets/BQbF1RkUH8WyXqSD.js +780 -0
- package/assets/BRzp6DEIYUgM3NkN.js +369 -0
- package/assets/BSxTn2BhkEEeF9x_.js +2346 -0
- package/assets/BTQhJQ3e0hsiousD.js +28 -0
- package/assets/BZPTaa0WjpoUAbgZ.js +35 -0
- package/assets/BbAmA46MhQSu3ZF_.js +119 -0
- package/assets/BbcUxIZe3YXywsQR.js +28 -0
- package/assets/BeLr36oL3jmeXFFi.js +58 -0
- package/assets/Bg95xYj5siqhHVEz.js +594 -0
- package/assets/Bh0PNKlrR4VAqnP8.js +60500 -0
- package/assets/BjqQjxBuoXza8oqg.js +362 -0
- package/assets/BlPubAFi7DY7VrAo.js +33 -0
- package/assets/BleMG0hAQgjE8fTa.js +7 -0
- package/assets/Bn8D2bebQ2tFfwQt.js +310 -0
- package/assets/BrcQmHcE7Hcr1erJ.js +24 -0
- package/assets/BsQZI1vXTRE63Zy-.js +2368 -0
- package/assets/BtjqpAKczftx91BQ.js +96 -0
- package/assets/Btys7KwtvV3hz2F6.js +656 -0
- package/assets/BuUEsifnQALe49uk.js +857 -0
- package/assets/By-7OWXShMlFFejV.js +119 -0
- package/assets/C0CiMKC3lWK1z9p5.js +449 -0
- package/assets/C2OrZ8LZ-TI6eYG0.js +22 -0
- package/assets/C4z2IilWTuu2TWXw.js +3917 -0
- package/assets/C7ONfuYIWRmDu_vs.js +319 -0
- package/assets/C7Z1li2XjWi6bkrp.js +1556 -0
- package/assets/C97xDe_wBbLZh_uW.js +35 -0
- package/assets/CGBGyaCGdlZFQYK0.js +447 -0
- package/assets/CJ5WQnaoCsdr5gf4.js +1783 -0
- package/assets/CMK6tIDVqYYvK4GZ.js +55 -0
- package/assets/CMWAsUQ66V8fYrME.js +223 -0
- package/assets/CNz3LdmvsOEJoLO9.js +12 -0
- package/assets/CWVWdbY1B1-WLl9k.js +199 -0
- package/assets/CWl6oHiJxkNKRixk.js +17 -0
- package/assets/CXHslDxkWCuEcCSQ.js +13 -0
- package/assets/CZTSZL3T_f-vSXqM.js +7 -0
- package/assets/CduNzsdbTigxH-ZK.js +5220 -0
- package/assets/CecTe22WURiXbVdY.js +2260 -0
- package/assets/Cf2dcwmmmf13Rywg.js +146 -0
- package/assets/Cf9LpgZz-W5blzy_.js +27 -0
- package/assets/Cfhv_Yw_LT8VzAMt.js +255 -0
- package/assets/Cg51xaLRUkVOMdCZ.js +144 -0
- package/assets/ChWpsFGl-BYOnX_A.js +142 -0
- package/assets/ClNQN3vEg5b5qUDp.js +10289 -0
- package/assets/Crt2kLdGIlBHANgg.js +28 -0
- package/assets/CudNpUD78SrtJIiy.js +610 -0
- package/assets/CvngwB17_ve4W49b.js +639 -0
- package/assets/CwPBmcY6xSP8dNlh.js +51 -0
- package/assets/CxjchwpiqxPM1XKd.js +304 -0
- package/assets/D-ffk16w8c5w0mxI.js +71 -0
- package/assets/D0CHDsemn0S31ltt.js +32 -0
- package/assets/D7oUtYjetuykGhQ5.js +18 -0
- package/assets/D8J14MLlN2HRXdXB.js +20 -0
- package/assets/DA_ar3QKLKtJ9fJD.js +37 -0
- package/assets/DB-tkqI6wFXDKEfB.js +118 -0
- package/assets/DD8HNAUFroTCuD-b.js +7514 -0
- package/assets/DDnwKPJSznyfYDZS.js +49 -0
- package/assets/DEW2GxfGYqVFvrfg.js +23 -0
- package/assets/DH7sGHzxUqIQkDnd.js +16 -0
- package/assets/DJiLWtmPR2OQNjzi.js +19 -0
- package/assets/DKLm4nWzynGw1Kr9.js +15 -0
- package/assets/DPCKMM7sgWbrtB8z.js +81 -0
- package/assets/DTfl-4Iboi6TQU5m.js +37 -0
- package/assets/DVchxwp6w6lu2Ihu.js +7 -0
- package/assets/DaoSWy3EFlqpZaLr.js +4437 -0
- package/assets/DcWTBOi_iBFc6U4J.js +8338 -0
- package/assets/Dht2mcOSyYlPY32b.js +14 -0
- package/assets/Diee6f_qAmcZBd2_.js +52 -0
- package/assets/DkibD_CEVePaoj_y.js +7 -0
- package/assets/DlBdhv6NHgrNp5Yo.js +7 -0
- package/assets/DoILAmhKUOlKWRVw.js +12 -0
- package/assets/DpdHDTFOeuzDVNEe.js +405 -0
- package/assets/DsCI_ZYm_jDjXF3J.js +12996 -0
- package/assets/DvUUArnZwoYOKOuk.js +12 -0
- package/assets/DwLZpYUp85UHBE3H.js +63 -0
- package/assets/DwWngYJTgC0KLbih.js +184 -0
- package/assets/Dz8UUJ7Xc2oN5PBG.js +45 -0
- package/assets/FS9NbEKgQvz5wqvZ.js +1135 -0
- package/assets/F_f0jJqM5MrXGbwC.js +86 -0
- package/assets/FzNG48GE_wso6RII.js +173 -0
- package/assets/JO3zH9hupFSV6vj2.js +15 -0
- package/assets/LEJp05fjmflKgyqF.js +1760 -0
- package/assets/LyLlBk--VJD2V-f8.js +351 -0
- package/assets/OVRdpPUzR0-ueTxE.js +1860 -0
- package/assets/PpFbmF0DFeUdpb9I.js +145 -0
- package/assets/S16s2h9qoYVBlVEa.js +9137 -0
- package/assets/SHZe9VOU1prGs1F9.js +19 -0
- package/assets/U1XXGEPuuqIAzYl1.js +8 -0
- package/assets/ZuYfVKlp41IJnrOS.js +540 -0
- package/assets/_d5XJ7dn1CKKYrep.js +1131 -0
- package/assets/_fUXIv6nKvgZkhxn.js +23 -0
- package/assets/fDMpDhXp36CatF-G.js +23 -0
- package/assets/hulrR0PldUxMJm_F.js +504 -0
- package/assets/iujMYIEPx_v3sdPf.js +9109 -0
- package/assets/jPUOH4FHF4b-rapv.js +171 -0
- package/assets/jadLBUNBVR9mbZ35.js +4036 -0
- package/assets/jiEe5eKV3BFPBWfi.js +6294 -0
- package/assets/oxjm7Yr7u7MeaO5P.js +37 -0
- package/assets/vZZi_iKYHm05gAye.js +30 -0
- package/assets/wfVh0olISLRWdv9Q.js +47 -0
- package/assets/xmTQJJVyCrcq77WR.js +63 -0
- package/assets/xnhBSX6lAcmBM65y.js +32 -0
- package/index.js +8070 -0
- package/lib.js +7 -0
- package/licenses/dependencies.txt +1552 -0
- package/package.json +44 -3
- package/resources/contents.json +333 -0
- package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-bold.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-bold.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-bold.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-bold.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-italic.hinted.json +124 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-italic.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-regular.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-regular.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-display-regular.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-italic.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/aptos-regular.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/aptos-regular.metrics.json +221 -0
- package/resources/fonts/@sheetxl/sdk/aptos-regular.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/arial-bold-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/arial-bold-italic.metrics.json +139 -0
- package/resources/fonts/@sheetxl/sdk/arial-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/arial-bold.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/arial-bold.metrics.json +139 -0
- package/resources/fonts/@sheetxl/sdk/arial-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/arial-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/arial-italic.metrics.json +139 -0
- package/resources/fonts/@sheetxl/sdk/arial-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/arial-regular.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/arial-regular.metrics.json +139 -0
- package/resources/fonts/@sheetxl/sdk/arial-regular.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.hinted.json +122 -0
- package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.metrics.json +137 -0
- package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/calibri-bold.hinted.json +122 -0
- package/resources/fonts/@sheetxl/sdk/calibri-bold.metrics.json +137 -0
- package/resources/fonts/@sheetxl/sdk/calibri-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/calibri-italic.hinted.json +121 -0
- package/resources/fonts/@sheetxl/sdk/calibri-italic.metrics.json +137 -0
- package/resources/fonts/@sheetxl/sdk/calibri-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/calibri-regular.hinted.json +121 -0
- package/resources/fonts/@sheetxl/sdk/calibri-regular.metrics.json +137 -0
- package/resources/fonts/@sheetxl/sdk/calibri-regular.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.hinted.json +105 -0
- package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.metrics.json +66 -0
- package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/cambria-bold.hinted.json +108 -0
- package/resources/fonts/@sheetxl/sdk/cambria-bold.metrics.json +66 -0
- package/resources/fonts/@sheetxl/sdk/cambria-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/cambria-italic.hinted.json +102 -0
- package/resources/fonts/@sheetxl/sdk/cambria-italic.metrics.json +66 -0
- package/resources/fonts/@sheetxl/sdk/cambria-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/cambria-regular.hinted.json +110 -0
- package/resources/fonts/@sheetxl/sdk/cambria-regular.metrics.json +66 -0
- package/resources/fonts/@sheetxl/sdk/cambria-regular.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/contents.json +646 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.hinted.json +11 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.metrics.json +143 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-bold.hinted.json +11 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-bold.metrics.json +143 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-italic.hinted.json +11 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-italic.metrics.json +143 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-regular.hinted.json +11 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-regular.metrics.json +143 -0
- package/resources/fonts/@sheetxl/sdk/courier-new-regular.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.metrics.json +141 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.metrics.json +141 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.metrics.json +143 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.rows.json +8 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.hinted.json +125 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.metrics.json +141 -0
- package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.rows.json +8 -0
- package/resources/locales/@sheetxl/formulas/contents.json +9 -0
- package/resources/locales/@sheetxl/formulas/de/functions.json +298 -0
- package/resources/locales/@sheetxl/formulas-extended/contents.json +9 -0
- package/resources/locales/@sheetxl/formulas-extended/de/functions.json +59 -0
- package/resources/locales/@sheetxl/sdk/contents.json +19 -0
- package/resources/locales/@sheetxl/sdk/de/grammar.json +16 -0
- package/resources/locales/@sheetxl/sdk/de/model.msg.json +710 -0
- package/resources/locales/@sheetxl/sdk/en/model.msg.json +732 -0
- package/screenshot-page/assets/-cpi3yOZYn6GsYN4.js +9 -0
- package/screenshot-page/assets/-i_fTASJeu9NdNH_.js +7 -0
- package/screenshot-page/assets/0MTaPYjKud2Q9QG9.js +1 -0
- package/screenshot-page/assets/21oAESJyBGXeHegm.js +2 -0
- package/screenshot-page/assets/3Ls_kOvlQseMV8Q0.js +1 -0
- package/screenshot-page/assets/4qZpl2QCzneWdmJO.js +1 -0
- package/screenshot-page/assets/6IEV7KeOEbBdrthj.js +1 -0
- package/screenshot-page/assets/8QrkTrKHDnMBb7q4.js +1 -0
- package/screenshot-page/assets/9w0ECZmzGUyk3F_O.js +1 -0
- package/screenshot-page/assets/AjS2PipZDIH3BXB2.js +1 -0
- package/screenshot-page/assets/B-KIwD5F_5S-NsPg.js +1 -0
- package/screenshot-page/assets/B-sAzW5ROrhvMGM4.js +1 -0
- package/screenshot-page/assets/B0FQypGas6gbGT_U.js +1 -0
- package/screenshot-page/assets/B2IQMVqTZT1rUnib.js +1 -0
- package/screenshot-page/assets/B2MJPcMcsuv6FekC.js +1 -0
- package/screenshot-page/assets/B2g3jiFIQ4Qjh5gG.js +1 -0
- package/screenshot-page/assets/B4PbXdzBe9BsoZ0e.js +2 -0
- package/screenshot-page/assets/B5GO9v4p9L70Xb9i.js +1 -0
- package/screenshot-page/assets/B8y_eLNCGnXLEIaE.js +1 -0
- package/screenshot-page/assets/BEuMvXYIa9A1JacY.js +1 -0
- package/screenshot-page/assets/BEwl-ucV9Jfr0RoC.js +1 -0
- package/screenshot-page/assets/BFaiQZKle44Rhyou.js +1 -0
- package/screenshot-page/assets/BHqg55S-4_OoAu3P.js +2 -0
- package/screenshot-page/assets/BNgLvS2bLOYKRguv.js +1 -0
- package/screenshot-page/assets/BQAN82ftWBiLJT3r.js +1 -0
- package/screenshot-page/assets/BQfe-XTIOGeUnD9B.js +1 -0
- package/screenshot-page/assets/BQnELVV0uR4T4ItQ.js +1 -0
- package/screenshot-page/assets/BRVZJ0OGJg9XJro6.js +1 -0
- package/screenshot-page/assets/BSdFVGZNhU6YHbMI.js +2 -0
- package/screenshot-page/assets/BTMW3ukmc44U2fy7.js +1 -0
- package/screenshot-page/assets/BTOQaSn9DDyJPUlX.js +1 -0
- package/screenshot-page/assets/BTboCICZ-951XWsi.js +1 -0
- package/screenshot-page/assets/BUGXf2DEBog16Slb.js +2 -0
- package/screenshot-page/assets/BUjI304IvdJnFXH3.js +1 -0
- package/screenshot-page/assets/B_W2QroTKADz3ABp.js +2 -0
- package/screenshot-page/assets/Baz0SC2AgGyxMX72.js +1 -0
- package/screenshot-page/assets/BbP9KThfrodyosvn.js +1 -0
- package/screenshot-page/assets/BcOdl17EeFSxnAiq.js +1 -0
- package/screenshot-page/assets/BclKeOKIOBjijhsu.js +1 -0
- package/screenshot-page/assets/Bf7xq8PyF4ohjMzP.js +2 -0
- package/screenshot-page/assets/BimyzECCZl-NESff.js +1 -0
- package/screenshot-page/assets/Bj-vfAT28PK-tWWa.js +2 -0
- package/screenshot-page/assets/BkLH7JH3A93TXFJi.js +1 -0
- package/screenshot-page/assets/BksaQEoZr5OWq-_d.js +3 -0
- package/screenshot-page/assets/BnoVwUBEor8NgQNs.js +4 -0
- package/screenshot-page/assets/BowRIybLgENunTOT.js +1 -0
- package/screenshot-page/assets/Bp7se0JaDGrzfSA_.js +1 -0
- package/screenshot-page/assets/Bx61vmiWY0Xvx9qs.js +1 -0
- package/screenshot-page/assets/ByY3fmwyDPAyOLdo.js +1 -0
- package/screenshot-page/assets/Bz5V1tmiy5gbT9ys.js +1 -0
- package/screenshot-page/assets/Bz9v1lgjvbu4QnOs.js +2 -0
- package/screenshot-page/assets/BzQ5GyiXq8gTz-H-.js +1 -0
- package/screenshot-page/assets/C1k_VrZqlpiUigCP.js +1 -0
- package/screenshot-page/assets/C2Wh2h27c7FUb8Yk.js +1 -0
- package/screenshot-page/assets/C6oLDVnuCS9LGkkH.js +1 -0
- package/screenshot-page/assets/C81mK8aZKZAAS-AB.js +1 -0
- package/screenshot-page/assets/C9SC-cEIt6gdhZRw.js +1 -0
- package/screenshot-page/assets/CE8MCCIiwjOVwBBW.js +1 -0
- package/screenshot-page/assets/CG3ynup87FmG-kkX.js +1 -0
- package/screenshot-page/assets/CHlWgOAlcRCjVuhg.js +1 -0
- package/screenshot-page/assets/CIged53b3hHKxa-o.js +1 -0
- package/screenshot-page/assets/CNQczIR5xcE5u5fT.js +1 -0
- package/screenshot-page/assets/CSUd8n1H0VBfREnk.js +2 -0
- package/screenshot-page/assets/CSlBTkRDITCC8JRB.js +1 -0
- package/screenshot-page/assets/CV2jr9hpQOG2OG0C.js +1 -0
- package/screenshot-page/assets/CXGgKVbVXjWzE0p6.js +1 -0
- package/screenshot-page/assets/CXKCmZ_TRyGaB9Ob.js +1 -0
- package/screenshot-page/assets/CXUO3vYip3JPSJ7A.js +1 -0
- package/screenshot-page/assets/CXwbGzavyvYgDbWU.js +1 -0
- package/screenshot-page/assets/CZf9s6otzzoaBlSs.js +1 -0
- package/screenshot-page/assets/CZvwQEeVhBilgKLG.js +1 -0
- package/screenshot-page/assets/Ca6nxdhEuLLty3d7.js +2 -0
- package/screenshot-page/assets/CbUDukmvDZmVfhJH.js +1 -0
- package/screenshot-page/assets/CbXtAM7H-Jg_J0dk.js +1 -0
- package/screenshot-page/assets/CctIRGMFmARVi2KT.js +1 -0
- package/screenshot-page/assets/Cenh1POxiGMxIQlv.js +1 -0
- package/screenshot-page/assets/ChSvXfVMLxZsP9zG.js +8 -0
- package/screenshot-page/assets/Ci5NtzhJLll1kxGf.js +10 -0
- package/screenshot-page/assets/CjngjJNheGaVRvZp.js +1 -0
- package/screenshot-page/assets/ClzdIJrFdInttVJA.js +1 -0
- package/screenshot-page/assets/CnPgk3HcIziOcskY.js +10 -0
- package/screenshot-page/assets/CnXLpFE_vFrJ5Jbf.js +1 -0
- package/screenshot-page/assets/CpbohdgEaEsVDi9J.js +1 -0
- package/screenshot-page/assets/CqR3hGrC956TkCMj.js +20 -0
- package/screenshot-page/assets/Cr1tQKUBVKOQl3QC.js +1 -0
- package/screenshot-page/assets/CwqNb7JYzC03lCj0.js +1 -0
- package/screenshot-page/assets/CykecBozGGFl26KA.js +3940 -0
- package/screenshot-page/assets/CzTizxHhb-CI_ajE.js +1 -0
- package/screenshot-page/assets/CzhH7lTYQrYGHct6.js +1 -0
- package/screenshot-page/assets/CzzEl3lAkZopkwhC.js +1 -0
- package/screenshot-page/assets/D-LgRj0s-PAVqY-L.js +1 -0
- package/screenshot-page/assets/D-XR1MGhwn7Jqj60.js +1 -0
- package/screenshot-page/assets/D47ePD4x1lVazNdl.js +7 -0
- package/screenshot-page/assets/D66vSE1ConAuENmB.js +586 -0
- package/screenshot-page/assets/D6Jpaz2YkhOfzxDB.js +1 -0
- package/screenshot-page/assets/D9zCVZpnJBfNSNO2.js +1 -0
- package/screenshot-page/assets/DCVUZ_ayOXFwV2d_.js +3 -0
- package/screenshot-page/assets/DDQWM8rNYCYzKa9R.js +1 -0
- package/screenshot-page/assets/DFE-fKq5NV7_O8V6.js +1 -0
- package/screenshot-page/assets/DGXDfjkGZjMRAXPg.js +5 -0
- package/screenshot-page/assets/DHa5_U58lSwCnpmG.js +1 -0
- package/screenshot-page/assets/DKVB6ddRfDJatYid.js +1 -0
- package/screenshot-page/assets/DK_QSosKV62NDcuT.js +42 -0
- package/screenshot-page/assets/DM9U7u7FQK0jcwh4.js +1 -0
- package/screenshot-page/assets/DNDaHmkQrQTaCHhV.js +1 -0
- package/screenshot-page/assets/DQ0kGd99-fXxuNYk.js +1 -0
- package/screenshot-page/assets/DQWHkaQeNXft9j8b.js +2 -0
- package/screenshot-page/assets/DRVfGdmVBvktrZ1t.js +1 -0
- package/screenshot-page/assets/DRrM-dY9nM7nDRpV.js +1 -0
- package/screenshot-page/assets/DT2x1gO3f2G5NfeB.js +1 -0
- package/screenshot-page/assets/DTFRGj188QuLKEXw.js +1 -0
- package/screenshot-page/assets/DU3FmyUH0RjPIBd-.js +1 -0
- package/screenshot-page/assets/DVueE--eOrZPrqrm.js +1 -0
- package/screenshot-page/assets/DXQLzGmxoyN3kfQi.js +27 -0
- package/screenshot-page/assets/DXWWyJlMSWgDFxs1.js +10 -0
- package/screenshot-page/assets/DYJSIlNxrNw8qk-w.js +1 -0
- package/screenshot-page/assets/DYRbCudWTaiE_Sjc.js +1 -0
- package/screenshot-page/assets/DZDRRw-62D6Zw7qs.js +1 -0
- package/screenshot-page/assets/DaKZ4-Li_ULIIwnK.js +1 -0
- package/screenshot-page/assets/DadZXeaVK5UXSHIi.js +1 -0
- package/screenshot-page/assets/Db_VGqQo2G2JgXWW.js +1 -0
- package/screenshot-page/assets/DceNHPrRLok2At-X.js +1 -0
- package/screenshot-page/assets/DcrVJCyDwGKeil2U.js +1 -0
- package/screenshot-page/assets/DeAKjatTVaZ0u_FY.js +1 -0
- package/screenshot-page/assets/DmMZ4pd492HPw_3_.js +1 -0
- package/screenshot-page/assets/DmbuCapSSCYIa3yk.js +1 -0
- package/screenshot-page/assets/Dpepompn_NhpSncR.js +1 -0
- package/screenshot-page/assets/DqYhS4mcQfOe96hU.js +1 -0
- package/screenshot-page/assets/Dsx0NUmGIxS7SvZ8.js +1 -0
- package/screenshot-page/assets/DyGpT6t96jrvgJes.js +1 -0
- package/screenshot-page/assets/DyLWQxXXTw5uwPVy.js +30 -0
- package/screenshot-page/assets/DyYVf8O1rhg3YmjW.js +1 -0
- package/screenshot-page/assets/DyxJBLjUkeDuu96F.js +1 -0
- package/screenshot-page/assets/HclGiUj8dZXDFmoM.js +1 -0
- package/screenshot-page/assets/IRtoU5oVgBWu9rnK.js +2 -0
- package/screenshot-page/assets/J73KTOmdZGNmnq-z.js +1 -0
- package/screenshot-page/assets/J_xJVgE7YlmeU-ZO.js +6 -0
- package/screenshot-page/assets/KoxRo2J_cwB_yOd5.js +2 -0
- package/screenshot-page/assets/LVtV_IPhPQroHRui.js +1 -0
- package/screenshot-page/assets/MNoPOsydrUv1UGU8.js +2 -0
- package/screenshot-page/assets/Q5EKmzoJZCE81Om-.js +2 -0
- package/screenshot-page/assets/TfhknTx8vxQkw4zV.js +2 -0
- package/screenshot-page/assets/VvqAh6BWzaD5OUPF.js +1 -0
- package/screenshot-page/assets/fGlPAximvsxzPzGA.js +1 -0
- package/screenshot-page/assets/gG0AFZ45VxS_moMw.js +2 -0
- package/screenshot-page/assets/hp_-JA1DMK4Yoztn.js +57 -0
- package/screenshot-page/assets/l32n8O_A78Qqduv3.js +1 -0
- package/screenshot-page/assets/nHThFXCAZFOM_npq.js +1 -0
- package/screenshot-page/assets/pRykm05ElquZBk_a.js +1 -0
- package/screenshot-page/assets/rPOkVKdPbFpTG6AY.js +1 -0
- package/screenshot-page/assets/sHBomL5R4-_px8rD.js +1 -0
- package/screenshot-page/assets/skRJ2qjA7kcmnOsh.js +39 -0
- package/screenshot-page/assets/w3bV7wggRayUYTd-.js +1 -0
- package/screenshot-page/assets/zFbb8ESzwR_bE7IQ.js +1 -0
- package/screenshot-page/index.html +44 -0
- package/screenshot-page/resources/contents.json +333 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.hinted.json +124 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.metrics.json +221 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.metrics.json +139 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.metrics.json +139 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.metrics.json +139 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.metrics.json +139 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.hinted.json +122 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.metrics.json +137 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.hinted.json +122 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.metrics.json +137 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.hinted.json +121 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.metrics.json +137 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.hinted.json +121 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.metrics.json +137 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.hinted.json +105 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.metrics.json +66 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.hinted.json +108 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.metrics.json +66 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.hinted.json +102 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.metrics.json +66 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.hinted.json +110 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.metrics.json +66 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/contents.json +646 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.hinted.json +11 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.metrics.json +143 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.hinted.json +11 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.metrics.json +143 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.hinted.json +11 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.metrics.json +143 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.hinted.json +11 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.metrics.json +143 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.metrics.json +141 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.metrics.json +141 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.metrics.json +143 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.rows.json +8 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.hinted.json +125 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.metrics.json +141 -0
- package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.rows.json +8 -0
- package/screenshot-page/resources/locales/@sheetxl/formulas/contents.json +9 -0
- package/screenshot-page/resources/locales/@sheetxl/formulas/de/functions.json +298 -0
- package/screenshot-page/resources/locales/@sheetxl/formulas-extended/contents.json +9 -0
- package/screenshot-page/resources/locales/@sheetxl/formulas-extended/de/functions.json +59 -0
- package/screenshot-page/resources/locales/@sheetxl/sdk/contents.json +19 -0
- package/screenshot-page/resources/locales/@sheetxl/sdk/de/grammar.json +16 -0
- package/screenshot-page/resources/locales/@sheetxl/sdk/de/model.msg.json +710 -0
- package/screenshot-page/resources/locales/@sheetxl/sdk/en/model.msg.json +732 -0
- package/types/index.d.ts +1 -0
- package/types/lib.d.ts +2 -0
- package/types/scripting-api.json +10855 -0
- package/types/scripting-enums.json +1339 -0
- package/types/scripting.d.ts +49295 -0
- package/types/src/SessionRegistry.d.ts +630 -0
- package/types/src/index.d.ts +3 -0
- package/types/src/instances.d.ts +104 -0
- package/types/src/lib/Types.d.ts +17 -0
- package/types/src/lib/index.d.ts +2 -0
- package/types/src/lib/runReport.d.ts +158 -0
- package/types/src/lib.d.ts +2 -0
- package/types/src/prepareRun.d.ts +56 -0
- package/types/src/relay.d.ts +102 -0
- package/types/src/screenshot.d.ts +23 -0
- package/types/src/server.d.ts +37 -0
- package/types/src/taskStore.d.ts +28 -0
|
@@ -0,0 +1,1131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.15
|
|
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 { B as t, ht as e, p as s, u as i } from "./BQMDOjNBMjAx9WiW.js";
|
|
8
|
+
var n = (t, e) => {
|
|
9
|
+
const s = /* @__PURE__ */ new Map();
|
|
10
|
+
return t.forEach((t, i) => {
|
|
11
|
+
e.get(i) !== t && s.set(i, t);
|
|
12
|
+
}), s;
|
|
13
|
+
}, r = !1, o = 0, a = (t) => {
|
|
14
|
+
if ("string" != typeof t) throw new Error("A stateId (string) is required. Register with 'ITransaction.IStore.create'.");
|
|
15
|
+
return t;
|
|
16
|
+
}, c = class extends Error {
|
|
17
|
+
constructor(t, e, s) {
|
|
18
|
+
super("open" === t ? `Transaction conflict: an operation is open on commit '${e}' and this write is not part of it.` : `Transaction conflict: expected commit '${e}' but current is '${s}'.`), this.name = "TransactionConflictError", this.reason = t, this.expectedCommitId = e, this.actualCommitId = s;
|
|
19
|
+
}
|
|
20
|
+
}, h = (t, e, s = 0) => {
|
|
21
|
+
for (let i = s; i < e.length; i++) {
|
|
22
|
+
const [s, n] = e[i];
|
|
23
|
+
t[s] = "function" == typeof n ? n(t[s]) : n;
|
|
24
|
+
}
|
|
25
|
+
}, l = class {
|
|
26
|
+
constructor(t) {
|
|
27
|
+
this._record = t;
|
|
28
|
+
}
|
|
29
|
+
getId() {
|
|
30
|
+
return this._record.id;
|
|
31
|
+
}
|
|
32
|
+
getDescription() {
|
|
33
|
+
return this._record.description;
|
|
34
|
+
}
|
|
35
|
+
getMeta() {
|
|
36
|
+
return Object.freeze(this._record.meta);
|
|
37
|
+
}
|
|
38
|
+
getAuthor() {
|
|
39
|
+
return this._record.author;
|
|
40
|
+
}
|
|
41
|
+
getTimestamp() {
|
|
42
|
+
return this._record.timestamp;
|
|
43
|
+
}
|
|
44
|
+
getOperation() {
|
|
45
|
+
return this._record.operation;
|
|
46
|
+
}
|
|
47
|
+
getIntents() {
|
|
48
|
+
return Object.freeze({ ...this._record.intents });
|
|
49
|
+
}
|
|
50
|
+
}, _ = class {
|
|
51
|
+
constructor(t) {
|
|
52
|
+
this._listeners = /* @__PURE__ */ new Set(), this._listenersState = /* @__PURE__ */ new Map(), this._commits = /* @__PURE__ */ new Map(), this._locked = !1, this._pending = null, this._versionCounter = 0, this._flushOnRead = 0, this._isSync = t?.sync ?? r, this._isTransient = t?.transient ?? !1, this._author = t?.author, this._maxCommits = t?.maxCommits ?? 1e3;
|
|
53
|
+
const e = {
|
|
54
|
+
id: "0",
|
|
55
|
+
description: "initial",
|
|
56
|
+
meta: {},
|
|
57
|
+
author: this._author,
|
|
58
|
+
timestamp: Date.now(),
|
|
59
|
+
states: /* @__PURE__ */ new Map(),
|
|
60
|
+
intents: {},
|
|
61
|
+
intentWrites: [],
|
|
62
|
+
version: 0,
|
|
63
|
+
previousId: null
|
|
64
|
+
}, s = {
|
|
65
|
+
record: e,
|
|
66
|
+
commit: new l(e)
|
|
67
|
+
};
|
|
68
|
+
this._current = s, this._cacheId = null, this._cacheState = null, this._states = e.states, this._transactionStack = [], this._restoring = !1;
|
|
69
|
+
const i = /* @__PURE__ */ new Map();
|
|
70
|
+
i.set(e.id, s), this._commits = i, this._tipId = e.id;
|
|
71
|
+
}
|
|
72
|
+
static {
|
|
73
|
+
this.setDefaultSync = (t) => {
|
|
74
|
+
r = t;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
getLog(t, e = 100) {
|
|
78
|
+
const s = [];
|
|
79
|
+
let i = t;
|
|
80
|
+
do {
|
|
81
|
+
const t = this._commits.get(i);
|
|
82
|
+
if (!t) throw new Error(`Invalid commit id: '${i}'`);
|
|
83
|
+
if (s.push(t.commit), i = t.record.previousId, !i) return s;
|
|
84
|
+
} while (s.length < e);
|
|
85
|
+
return s;
|
|
86
|
+
}
|
|
87
|
+
getCommitCount() {
|
|
88
|
+
return this._commits.size;
|
|
89
|
+
}
|
|
90
|
+
isOpenTransaction() {
|
|
91
|
+
return this._transactionStack.length > 0;
|
|
92
|
+
}
|
|
93
|
+
isRestoring() {
|
|
94
|
+
return this._restoring;
|
|
95
|
+
}
|
|
96
|
+
isAmendingOtherCommit() {
|
|
97
|
+
const t = this._transactionStack[0];
|
|
98
|
+
return t instanceof u && t._isRetargeted();
|
|
99
|
+
}
|
|
100
|
+
getPendingTransaction() {
|
|
101
|
+
return this._transactionStack[0] ?? null;
|
|
102
|
+
}
|
|
103
|
+
getCurrentTransaction() {
|
|
104
|
+
const t = this._transactionStack;
|
|
105
|
+
return t[t.length - 1] ?? null;
|
|
106
|
+
}
|
|
107
|
+
amend(t, e) {
|
|
108
|
+
const s = this.beginCommit(), i = 0 === s.getDepth() ? this._commits.get(t) : void 0;
|
|
109
|
+
0 === s.getDepth() && (s._setAmendOf(t), i && i !== this._current && s._retarget(i));
|
|
110
|
+
try {
|
|
111
|
+
const t = e(i ? i.commit : this._current.commit);
|
|
112
|
+
return s.commit(), t;
|
|
113
|
+
} catch (t) {
|
|
114
|
+
throw s.rollback(), t;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
_squashTip(t) {
|
|
118
|
+
if (this._transactionStack.length > 0) return !1;
|
|
119
|
+
const e = this._commits.get(this._tipId), s = e?.record.previousId;
|
|
120
|
+
if (!e || !s) return !1;
|
|
121
|
+
const i = this._commits.get(s);
|
|
122
|
+
return !!i && (i.record.states = e.record.states, i.record.intents = t(i.record.intents, e.record.intents), i.record.timestamp = e.record.timestamp, this._commits.delete(e.record.id), this._tipId = s, this._current === e && (this._current = i, this._states = i.record.states, this._cacheId = null, this._cacheState = null), !0);
|
|
123
|
+
}
|
|
124
|
+
create(t) {
|
|
125
|
+
const s = e.uuidV4();
|
|
126
|
+
if (void 0 !== t) {
|
|
127
|
+
const e = this.beginCommit();
|
|
128
|
+
try {
|
|
129
|
+
e.updateState(s, t), e.commit();
|
|
130
|
+
} catch (t) {
|
|
131
|
+
throw e.rollback(), t;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return s;
|
|
135
|
+
}
|
|
136
|
+
getStateAt(t, e) {
|
|
137
|
+
return a(e), this._commits.get(t)?.record.states.get(e);
|
|
138
|
+
}
|
|
139
|
+
getState(t) {
|
|
140
|
+
a(t);
|
|
141
|
+
const e = this._transactionStack;
|
|
142
|
+
if (0 === e.length) {
|
|
143
|
+
if (this._cacheId === t) return this._cacheState;
|
|
144
|
+
const e = this._states.get(t);
|
|
145
|
+
return this._cacheId = t, this._cacheState = e, e;
|
|
146
|
+
}
|
|
147
|
+
if (this._flushOnRead > 0) for (let s = e.length - 1; s >= 0; s--) e[s]._isFlushedBy(t) && e[s]._flush();
|
|
148
|
+
return e[e.length - 1].getState(t);
|
|
149
|
+
}
|
|
150
|
+
getCurrentCommit(t = !0) {
|
|
151
|
+
return (t ? this._pending?.commit : null) ?? this._current.commit;
|
|
152
|
+
}
|
|
153
|
+
getTipCommit() {
|
|
154
|
+
return this._commits.get(this._tipId).commit;
|
|
155
|
+
}
|
|
156
|
+
getVersionId(t) {
|
|
157
|
+
return a(t), this._states.get(t)?.version ?? 0;
|
|
158
|
+
}
|
|
159
|
+
restore(t, e) {
|
|
160
|
+
const s = this._getCommitContainer(t, e);
|
|
161
|
+
if (this._current.commit.getId() === s.commit.getId()) return s.commit;
|
|
162
|
+
const i = n(s.record.states, this._current.record.states);
|
|
163
|
+
this._notifyStates("onBeforeCommitStart", this._current, i, !0, !1, !1, s);
|
|
164
|
+
const r = this._current.commit;
|
|
165
|
+
this._current = s, this._states = this._current.record.states, this._cacheId = null, this._cacheState = null, this._notifyStates("onAfterStateChange", s, i, !1, !0, !0, s, r), this._notify("onCommitChange", s.commit, !0), this._restoring = !0;
|
|
166
|
+
try {
|
|
167
|
+
this._notifyStates("onRestoreOrRevert", s, s.record.states, !1, !0);
|
|
168
|
+
} finally {
|
|
169
|
+
this._restoring = !1;
|
|
170
|
+
}
|
|
171
|
+
return s.commit;
|
|
172
|
+
}
|
|
173
|
+
revert(t, e) {
|
|
174
|
+
const s = this._getCommitContainer(t, e), i = this._commits.get(s.record.previousId);
|
|
175
|
+
if (!i) throw new Error(`Invalid commit id: '${s.record.previousId}'`);
|
|
176
|
+
const r = n(i.record.states, this._current.record.states);
|
|
177
|
+
this._notifyStates("onBeforeCommitStart", this._current, r, !0, !1, !1, s);
|
|
178
|
+
const o = this._current.commit;
|
|
179
|
+
this._current = i, this._states = this._current.record.states, this._cacheId = null, this._cacheState = null, this._notifyStates("onAfterStateChange", i, r, !0, !1, !0, s, o), this._notify("onCommitChange", i.commit, !0), this._restoring = !0;
|
|
180
|
+
try {
|
|
181
|
+
this._notifyStates("onRestoreOrRevert", i, i.record.states, !0, !0, !1, s);
|
|
182
|
+
} finally {
|
|
183
|
+
this._restoring = !1;
|
|
184
|
+
}
|
|
185
|
+
return i.commit;
|
|
186
|
+
}
|
|
187
|
+
_getCommitContainer(t, e) {
|
|
188
|
+
const s = this._commits.get(t);
|
|
189
|
+
if (!s) throw new Error(`Invalid commit id: '${t}'`);
|
|
190
|
+
if (this._isTransient) throw new Error("Cannot revert transient store");
|
|
191
|
+
if (e?.force && this._transactionStack.length > 0 && this._transactionStack[0].rollback(), 0 !== this._transactionStack.length) throw new Error("Open transactions.");
|
|
192
|
+
return s;
|
|
193
|
+
}
|
|
194
|
+
_pruneForwards(t) {
|
|
195
|
+
let e = this._tipId;
|
|
196
|
+
for (; e && e !== t;) {
|
|
197
|
+
const t = this._commits.get(e);
|
|
198
|
+
if (!t) break;
|
|
199
|
+
this._commits.delete(e), e = t.record.previousId;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
_trimOldest() {
|
|
203
|
+
if (this._commits.size <= this._maxCommits) return;
|
|
204
|
+
const t = this._commits.keys();
|
|
205
|
+
for (; this._commits.size > this._maxCommits;) this._commits.delete(t.next().value);
|
|
206
|
+
const e = this._commits.get(t.next().value);
|
|
207
|
+
e && (e.record.previousId = null);
|
|
208
|
+
}
|
|
209
|
+
beginCommit(t, s) {
|
|
210
|
+
const i = this._transactionStack;
|
|
211
|
+
i.length > 0 && i[i.length - 1]._flush();
|
|
212
|
+
const n = i.length;
|
|
213
|
+
"string" == typeof t && (t = { description: t });
|
|
214
|
+
const r = t?.expectedCommitId;
|
|
215
|
+
if (void 0 !== r) {
|
|
216
|
+
const t = this._current.record.id;
|
|
217
|
+
if (n > 0 || this._restoring) throw new c("open", r, t);
|
|
218
|
+
if (t !== r) throw new c("stale", r, t);
|
|
219
|
+
}
|
|
220
|
+
if (this._locked) throw console.warn("TransactionStore locked", i), /* @__PURE__ */ new Error(`TransactionStore is locked by '${i[n - 1].getDescription()}`);
|
|
221
|
+
const o = t?.preventFurtherTransactions, a = this, h = (t, e, i) => {
|
|
222
|
+
const r = a._transactionStack;
|
|
223
|
+
n !== r.length - 1 && console.warn("Transaction stack out of sync", n, r.length, r), o && (this._locked = !1), r.pop(), t._isFlushedOnRead() && a._flushOnRead--, s?.(t, e, i), 0 === r.length && (a._pending = null, a._notifyClose(t._getCommit(), e, t._isElided(), t._isAmendClose()));
|
|
224
|
+
};
|
|
225
|
+
let _;
|
|
226
|
+
if (0 === i.length) {
|
|
227
|
+
const s = this._current.record, i = {
|
|
228
|
+
states: /* @__PURE__ */ new Map(),
|
|
229
|
+
id: e.uuidV4(),
|
|
230
|
+
description: "string" == typeof t ? t : t?.description ?? null,
|
|
231
|
+
meta: {},
|
|
232
|
+
timestamp: Date.now(),
|
|
233
|
+
author: ("object" == typeof t ? t?.author : void 0) ?? this._author ?? null,
|
|
234
|
+
version: s.version + 1,
|
|
235
|
+
previousId: s.id,
|
|
236
|
+
intents: {},
|
|
237
|
+
intentWrites: [],
|
|
238
|
+
operation: t?.operation
|
|
239
|
+
}, n = {
|
|
240
|
+
record: i,
|
|
241
|
+
commit: new l(i)
|
|
242
|
+
};
|
|
243
|
+
this._pending = n, this._notify("onCommitStart", n.commit), _ = new u(this, n, s?.states, t, h);
|
|
244
|
+
} else _ = i[i.length - 1].beginTransaction(t, h);
|
|
245
|
+
return o && (this._locked = !0), this._transactionStack.push(_), _._isFlushedOnRead() && this._flushOnRead++, _;
|
|
246
|
+
}
|
|
247
|
+
doBatch(t, e, s) {
|
|
248
|
+
let i;
|
|
249
|
+
const n = this.beginCommit(e, s), r = this.getCurrentCommit();
|
|
250
|
+
try {
|
|
251
|
+
i = t?.(r);
|
|
252
|
+
const s = () => {
|
|
253
|
+
n.commit(e);
|
|
254
|
+
};
|
|
255
|
+
if (i && "function" == typeof i.then) return new Promise((t, e) => {
|
|
256
|
+
i.then((i) => {
|
|
257
|
+
try {
|
|
258
|
+
s(), t(i);
|
|
259
|
+
} catch (t) {
|
|
260
|
+
e(t);
|
|
261
|
+
}
|
|
262
|
+
}).catch((t) => {
|
|
263
|
+
n.rollback(), e(t);
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
s();
|
|
267
|
+
} catch (t) {
|
|
268
|
+
throw n.rollback(), t;
|
|
269
|
+
}
|
|
270
|
+
return i;
|
|
271
|
+
}
|
|
272
|
+
remove(t) {
|
|
273
|
+
a(t);
|
|
274
|
+
let e = !1;
|
|
275
|
+
const s = this._listenersState.get(t);
|
|
276
|
+
if (s) {
|
|
277
|
+
const i = this.getCurrentCommit();
|
|
278
|
+
s.forEach((t) => {
|
|
279
|
+
t.onClose?.(i);
|
|
280
|
+
}), this._listenersState.delete(t), e = !0;
|
|
281
|
+
}
|
|
282
|
+
this._current.record.states.delete(t) && (e = !0), this._commits.forEach((s) => {
|
|
283
|
+
s.record.states.delete(t) && (e = !0);
|
|
284
|
+
});
|
|
285
|
+
const i = this._transactionStack;
|
|
286
|
+
return i.length > 0 && i[0]._purgeState(t), this._cacheId = null, this._cacheState = null, e;
|
|
287
|
+
}
|
|
288
|
+
addListener(t) {
|
|
289
|
+
const e = this._listeners;
|
|
290
|
+
return e.add(t), () => {
|
|
291
|
+
e.delete(t);
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
addStateListener(t, e) {
|
|
295
|
+
if (a(t), !e) throw new Error("Listener is required");
|
|
296
|
+
let s = this._listenersState.get(t);
|
|
297
|
+
return s || (s = /* @__PURE__ */ new Set(), this._listenersState.set(t, s)), s.add(e), () => {
|
|
298
|
+
s.delete(e), 0 === s.size && this._listenersState.delete(t);
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
dispatchEvents(t, e = !1) {
|
|
302
|
+
!e || this._isSync ? t() : setTimeout(t, 0);
|
|
303
|
+
}
|
|
304
|
+
_commitRecord(t, s, i) {
|
|
305
|
+
let n = t.record, r = t.commit;
|
|
306
|
+
const o = t, a = ++this._versionCounter;
|
|
307
|
+
if (s.forEach((t, e) => {
|
|
308
|
+
null != t && ((t, e, s) => {
|
|
309
|
+
Object.defineProperty(t, "id", {
|
|
310
|
+
value: e,
|
|
311
|
+
enumerable: !1,
|
|
312
|
+
configurable: !0,
|
|
313
|
+
writable: !1
|
|
314
|
+
}), Object.defineProperty(t, "version", {
|
|
315
|
+
value: s,
|
|
316
|
+
enumerable: !1,
|
|
317
|
+
configurable: !0,
|
|
318
|
+
writable: !1
|
|
319
|
+
});
|
|
320
|
+
})(t, e, a);
|
|
321
|
+
}), !this._isTransient) {
|
|
322
|
+
let s = !1;
|
|
323
|
+
if (null !== i) {
|
|
324
|
+
const a = this._current, c = this._commits.get(i) ?? a, l = c.record, _ = c !== a, d = _ ? l.states : a.record.states;
|
|
325
|
+
if (n.states.forEach((t, e) => {
|
|
326
|
+
d.set(e, t);
|
|
327
|
+
}), h(l.intents, n.intentWrites), l.meta = {
|
|
328
|
+
...l.meta,
|
|
329
|
+
...n.meta
|
|
330
|
+
}, l.timestamp = n.timestamp, s = !0, _) return void (o.record.intentWrites = e.EmptyArray);
|
|
331
|
+
n = a.record, r = a.commit, t = a;
|
|
332
|
+
}
|
|
333
|
+
this._commits.set(n.id, t), s || (n.previousId !== this._tipId && this._pruneForwards(n.previousId), this._tipId = n.id, this._trimOldest());
|
|
334
|
+
}
|
|
335
|
+
this._current = t, this._states = this._current.record.states, this._cacheId = null, this._cacheState = null, o.record.intentWrites = e.EmptyArray, null === i && this._notify("onCommitChange", r);
|
|
336
|
+
const c = n.previousId ? this._commits.get(n.previousId)?.commit ?? null : null;
|
|
337
|
+
this._notifyStates("onAfterStateChange", t, s, !1, !1, !0, o, c), this._notify(null === i ? "onCommitEnd" : "onAmendEnd", r, !0);
|
|
338
|
+
}
|
|
339
|
+
_notifyStates(t, e, s, i = !1, n = !1, r = !1, o = e, a = null) {
|
|
340
|
+
const c = e.commit, h = o.record.intents, l = this._listenersState;
|
|
341
|
+
s.forEach((e, s) => {
|
|
342
|
+
const o = l.get(s);
|
|
343
|
+
o && this.dispatchEvents(() => {
|
|
344
|
+
o.forEach((s) => {
|
|
345
|
+
s[t]?.(e, c, i, n, h, a);
|
|
346
|
+
});
|
|
347
|
+
}, r);
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
_notifyClose(t, e, s = !1, i = !1) {
|
|
351
|
+
this._listeners.forEach((n) => {
|
|
352
|
+
n.onCommitClose?.(t, e, s, i);
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
_notify(t, e, s = !1) {
|
|
356
|
+
return this.dispatchEvents(() => {
|
|
357
|
+
this._listeners.forEach((s) => {
|
|
358
|
+
s[t]?.(e);
|
|
359
|
+
});
|
|
360
|
+
}, s);
|
|
361
|
+
}
|
|
362
|
+
}, d = class {
|
|
363
|
+
constructor(t, e, s) {
|
|
364
|
+
if (this._children = /* @__PURE__ */ new Set(), this._depth = 0, this._closed = !1, this._isAmend = !1, this._readOnly = !1, this._hooks = null, this._flushing = !1, this._outcomes = null, this._intentMark = -1, this._store = t, this._container = e, s = "string" == typeof s ? { description: s } : s, this._description = s?.description ?? "", this._operation = s?.operation ?? null, this._readOnly = s?.readOnly ?? !1, s?.flush || s?.onCommit || s?.onRollback || s?.onChildCommit) {
|
|
365
|
+
const t = {
|
|
366
|
+
flush: s.flush,
|
|
367
|
+
writes: s.writes,
|
|
368
|
+
onCommit: s.onCommit,
|
|
369
|
+
onRollback: s.onRollback,
|
|
370
|
+
onChildCommit: s.onChildCommit
|
|
371
|
+
};
|
|
372
|
+
this._hooks = t, (t.onCommit || t.onRollback) && (this._outcomes = [t]);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
_isFlushedOnRead() {
|
|
376
|
+
return !(!this._hooks?.flush || !this._hooks.writes?.length);
|
|
377
|
+
}
|
|
378
|
+
_isFlushedBy(t) {
|
|
379
|
+
const e = this._hooks?.writes;
|
|
380
|
+
return !!e && e.includes(t);
|
|
381
|
+
}
|
|
382
|
+
_flush() {
|
|
383
|
+
const t = this._hooks?.flush;
|
|
384
|
+
if (t && !this._flushing) {
|
|
385
|
+
this._flushing = !0;
|
|
386
|
+
try {
|
|
387
|
+
t();
|
|
388
|
+
} finally {
|
|
389
|
+
this._flushing = !1;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
_settle(t) {
|
|
394
|
+
const e = this._children;
|
|
395
|
+
for (; e.size > 0;) e.values().next().value.commit(t);
|
|
396
|
+
this._flush();
|
|
397
|
+
}
|
|
398
|
+
_adoptOutcomes(t) {
|
|
399
|
+
const e = t._outcomes;
|
|
400
|
+
if (e) if (this._outcomes) for (let t = 0; t < e.length; t++) this._outcomes.push(e[t]);
|
|
401
|
+
else this._outcomes = e;
|
|
402
|
+
}
|
|
403
|
+
_childCommitted(t) {
|
|
404
|
+
const e = this._hooks?.onChildCommit;
|
|
405
|
+
if (!e) return;
|
|
406
|
+
const s = {};
|
|
407
|
+
h(s, this._container.record.intentWrites, t._intentMark), e(t, s);
|
|
408
|
+
}
|
|
409
|
+
_notifyOutcome(t) {
|
|
410
|
+
const e = this._outcomes;
|
|
411
|
+
if (e) {
|
|
412
|
+
this._outcomes = null;
|
|
413
|
+
for (let s = 0; s < e.length; s++) try {
|
|
414
|
+
t ? e[s].onCommit?.(t) : e[s].onRollback?.();
|
|
415
|
+
} catch (t) {
|
|
416
|
+
console.warn(t);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
_getCommit() {
|
|
421
|
+
return this._container.commit;
|
|
422
|
+
}
|
|
423
|
+
_isElided() {
|
|
424
|
+
return !1;
|
|
425
|
+
}
|
|
426
|
+
_setAmendOf(t) {
|
|
427
|
+
this._container.amendOf = t;
|
|
428
|
+
}
|
|
429
|
+
_isAmendClose() {
|
|
430
|
+
return this._isAmend || void 0 !== this._container.amendOf;
|
|
431
|
+
}
|
|
432
|
+
getIntent(t) {
|
|
433
|
+
return this._container.record.intents?.[t];
|
|
434
|
+
}
|
|
435
|
+
setIntent(t, e) {
|
|
436
|
+
const s = this._container.record, i = s.intents ??= {};
|
|
437
|
+
i[t] = "function" == typeof e ? e(i[t]) : e, (s.intentWrites ??= []).push([t, e]);
|
|
438
|
+
}
|
|
439
|
+
getDepth() {
|
|
440
|
+
return this._depth;
|
|
441
|
+
}
|
|
442
|
+
getDescription() {
|
|
443
|
+
return this._description;
|
|
444
|
+
}
|
|
445
|
+
getOperation() {
|
|
446
|
+
return this._operation;
|
|
447
|
+
}
|
|
448
|
+
getStates() {
|
|
449
|
+
return this._states;
|
|
450
|
+
}
|
|
451
|
+
beginTransaction(t, e) {
|
|
452
|
+
this._ensureOpen();
|
|
453
|
+
const s = new p(this._store, this, this._container, "string" == typeof t ? { description: t } : t, e);
|
|
454
|
+
return this._hooks?.onChildCommit && (s._intentMark = this._container.record.intentWrites.length), this._children || this._children, this._children.add(s), s;
|
|
455
|
+
}
|
|
456
|
+
isReadOnly() {
|
|
457
|
+
return this._readOnly;
|
|
458
|
+
}
|
|
459
|
+
updateState(t, e) {
|
|
460
|
+
if (this._ensureOpen(), a(t), this._readOnly) throw new Error("Transaction is read-only" + (this._description ? `: '${this._description}'` : ""));
|
|
461
|
+
const s = this.getState(t);
|
|
462
|
+
let i;
|
|
463
|
+
if ("function" == typeof e) {
|
|
464
|
+
if (i = e(s), i === s) return s;
|
|
465
|
+
i && (i = { ...i });
|
|
466
|
+
} else {
|
|
467
|
+
if (void 0 === e) return s;
|
|
468
|
+
i = {
|
|
469
|
+
...s,
|
|
470
|
+
...e
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
if (i) {
|
|
474
|
+
let e = this._states;
|
|
475
|
+
e || (e = /* @__PURE__ */ new Map(), this._states = e), e.set(t, i);
|
|
476
|
+
}
|
|
477
|
+
return i;
|
|
478
|
+
}
|
|
479
|
+
amend(t) {
|
|
480
|
+
return this._isAmend = !0, this.commit(t);
|
|
481
|
+
}
|
|
482
|
+
commit(t) {
|
|
483
|
+
return this._ensureOpen(), "string" == typeof t && (t = { description: t }), t && (t.description && (this._description = t.description), t.meta && (this._meta = e.mergeContentful(t.meta, this._meta))), this._children && this._children.forEach((e) => {
|
|
484
|
+
e.commit(t);
|
|
485
|
+
}), this;
|
|
486
|
+
}
|
|
487
|
+
isClose() {
|
|
488
|
+
return this._closed;
|
|
489
|
+
}
|
|
490
|
+
_ensureOpen() {
|
|
491
|
+
if (this._closed) throw this._descriptions ? console.warn(`stack: [${this._descriptions.join(",")}]`) : this._description && console.warn(`description: [${this._description}]`), /* @__PURE__ */ new Error("Transaction already closed");
|
|
492
|
+
}
|
|
493
|
+
_removeChild(t, e = !1) {
|
|
494
|
+
this._children.delete(t), e || this._mergeStates(t._states);
|
|
495
|
+
}
|
|
496
|
+
_purgeState(t) {
|
|
497
|
+
this._states?.delete(t), this._children.forEach((e) => {
|
|
498
|
+
e._purgeState(t);
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
_mergeStates(t) {
|
|
502
|
+
if (!t || 0 === t.size) return;
|
|
503
|
+
let e = this._states;
|
|
504
|
+
return e ? (t.forEach((t, s) => {
|
|
505
|
+
e.set(s, t);
|
|
506
|
+
}), e) : (this._states = t, t);
|
|
507
|
+
}
|
|
508
|
+
get isITransaction() {
|
|
509
|
+
return !0;
|
|
510
|
+
}
|
|
511
|
+
}, u = class extends d {
|
|
512
|
+
constructor(t, e, s, i, n) {
|
|
513
|
+
super(t, e, i), this._retargeted = !1, this._elided = !1, this._prevStates = s, this._onClose = n, this._states = /* @__PURE__ */ new Map(), this._meta = e.record.meta;
|
|
514
|
+
}
|
|
515
|
+
_isElided() {
|
|
516
|
+
return this._elided;
|
|
517
|
+
}
|
|
518
|
+
_retarget(t) {
|
|
519
|
+
this._prevStates = t.record.states, this._retargeted = !0;
|
|
520
|
+
}
|
|
521
|
+
_isRetargeted() {
|
|
522
|
+
return this._retargeted;
|
|
523
|
+
}
|
|
524
|
+
getId() {
|
|
525
|
+
return this._container.commit.getId();
|
|
526
|
+
}
|
|
527
|
+
getSavepointId() {
|
|
528
|
+
return this.getId();
|
|
529
|
+
}
|
|
530
|
+
getParent() {
|
|
531
|
+
return this;
|
|
532
|
+
}
|
|
533
|
+
commit(t) {
|
|
534
|
+
this._ensureOpen(), this._settle(t);
|
|
535
|
+
const e = this._states, s = this._container;
|
|
536
|
+
if (this._store._notifyStates("onBeforeCommitStart", s, e, !1, !1), super.commit(t), 0 === this._states.size) return this._closed = !0, this._elided = !0, this._onClose?.(this, !1, t), this._notifyOutcome(s.commit), this;
|
|
537
|
+
this._store._notifyStates("onBeforeCommitEnd", s, e, !1, !1), this._settle(t);
|
|
538
|
+
const i = new Map(this._prevStates);
|
|
539
|
+
this._states.forEach((t, e) => {
|
|
540
|
+
null === t ? i.delete(e) : i.set(e, t);
|
|
541
|
+
}), this._states = i, this._description && (s.record.description = this._description), this._meta && (s.record.meta = this._meta), s.record.states = i, this._closed = !0, this._onClose?.(this, !1, t);
|
|
542
|
+
const n = s.amendOf ?? (this._isAmend ? s.record.previousId : null);
|
|
543
|
+
return this._store._commitRecord(s, e, n), this._notifyOutcome(s.commit), this;
|
|
544
|
+
}
|
|
545
|
+
rollback() {
|
|
546
|
+
return this._ensureOpen(), this._children && this._children.forEach((t) => {
|
|
547
|
+
t.rollback();
|
|
548
|
+
}), this._notifyOutcome(null), this._closed = !0, this._onClose?.(this, !0, null), this;
|
|
549
|
+
}
|
|
550
|
+
updateState(t, e) {
|
|
551
|
+
const s = this.getState(t), i = super.updateState(t, e);
|
|
552
|
+
return i === s || this._states.set(t, i), i;
|
|
553
|
+
}
|
|
554
|
+
getState(t) {
|
|
555
|
+
a(t);
|
|
556
|
+
let e = this._states.get(t);
|
|
557
|
+
return e || (e = this._prevStates.get(t)), e;
|
|
558
|
+
}
|
|
559
|
+
}, p = class extends d {
|
|
560
|
+
constructor(t, e, s, i, n) {
|
|
561
|
+
if (super(t, s, i), this._savepointId = null, !e) throw new Error("Parent transaction required");
|
|
562
|
+
this._parent = e, this._depth = this._parent.getDepth() + 1, !1 !== ("string" == typeof i ? void 0 : i?.savepoint) && (this._savepointId = `${e.getId()}:${++o}`), e.isReadOnly() && (this._readOnly = !0), this._onClose = n;
|
|
563
|
+
}
|
|
564
|
+
getId() {
|
|
565
|
+
return this._parent.getId();
|
|
566
|
+
}
|
|
567
|
+
getSavepointId() {
|
|
568
|
+
return this._savepointId ?? this._parent.getSavepointId();
|
|
569
|
+
}
|
|
570
|
+
getParent() {
|
|
571
|
+
return this._parent;
|
|
572
|
+
}
|
|
573
|
+
getState(t) {
|
|
574
|
+
if (this._states) {
|
|
575
|
+
const e = this._states.get(t);
|
|
576
|
+
if (void 0 !== e) return e;
|
|
577
|
+
}
|
|
578
|
+
return this._parent.getState(t);
|
|
579
|
+
}
|
|
580
|
+
commit(t) {
|
|
581
|
+
return this._ensureOpen(), this._settle(t), super.commit(t), this._parent._removeChild(this), this._parent._adoptOutcomes(this), this._closed = !0, this._onClose?.(this, !1, t), this._intentMark >= 0 && this._parent._childCommitted(this), this._parent ?? this;
|
|
582
|
+
}
|
|
583
|
+
rollback() {
|
|
584
|
+
return this._ensureOpen(), this._children && this._children.forEach((t) => {
|
|
585
|
+
t.rollback();
|
|
586
|
+
}), this._notifyOutcome(null), this._parent._removeChild(this, !0), this._closed = !0, this._onClose?.(this, !0, null), this._parent ?? this;
|
|
587
|
+
}
|
|
588
|
+
}, m = class t {
|
|
589
|
+
constructor(t) {
|
|
590
|
+
this._closed = !1, this._commitId = null, this._stepListeners = null, this._toWrapped = /* @__PURE__ */ new WeakMap(), this._methods = /* @__PURE__ */ new WeakMap(), this._callbacks = /* @__PURE__ */ new WeakMap(), this._outward = /* @__PURE__ */ new WeakMap(), this._inward = /* @__PURE__ */ new WeakMap(), this._store = t;
|
|
591
|
+
}
|
|
592
|
+
getStore() {
|
|
593
|
+
return this._store;
|
|
594
|
+
}
|
|
595
|
+
getCommitId() {
|
|
596
|
+
return this._commitId;
|
|
597
|
+
}
|
|
598
|
+
isClosed() {
|
|
599
|
+
return this._closed;
|
|
600
|
+
}
|
|
601
|
+
close() {
|
|
602
|
+
this._closed || (this._closed = !0, this._stepListeners && S(this._store, -1), this._stepListeners = null);
|
|
603
|
+
}
|
|
604
|
+
addStepListener(t) {
|
|
605
|
+
return this._closed ? D : (this._stepListeners || (this._stepListeners = /* @__PURE__ */ new Set(), S(this._store, 1)), this._stepListeners.add(t), () => {
|
|
606
|
+
this._stepListeners?.delete(t);
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
_onStep(t, e) {
|
|
610
|
+
const s = this._stepListeners;
|
|
611
|
+
if (s && 0 !== s.size) for (const i of [...s]) i(t, e);
|
|
612
|
+
}
|
|
613
|
+
wrap(t) {
|
|
614
|
+
if ("function" == typeof t) return this._wrapFunction(t, !0);
|
|
615
|
+
if (null === t || "object" != typeof t) return t;
|
|
616
|
+
const e = t;
|
|
617
|
+
if (g.has(e)) return t;
|
|
618
|
+
const s = this._toWrapped.get(e);
|
|
619
|
+
return void 0 !== s ? s : e instanceof Promise ? e.then((t) => this.wrap(t)) : Array.isArray(e) ? this._wrapArray(e) : I(e) ? this._wrapModel(e) : E(e) ? this._wrapIterator(e) : t;
|
|
620
|
+
}
|
|
621
|
+
unwrap(t) {
|
|
622
|
+
if (null === t || "object" != typeof t) return t;
|
|
623
|
+
const e = t, s = f.get(e);
|
|
624
|
+
return void 0 !== s ? s : Array.isArray(e) ? A(e) : Object.getPrototypeOf(e) === Object.prototype ? M(e) : t;
|
|
625
|
+
}
|
|
626
|
+
_wrapModel(t) {
|
|
627
|
+
const e = this, s = new Proxy(t, {
|
|
628
|
+
get(t, s) {
|
|
629
|
+
const i = Reflect.get(t, s, t);
|
|
630
|
+
if (null === i || "object" != typeof i && "function" != typeof i) return i;
|
|
631
|
+
const n = Object.getOwnPropertyDescriptor(t, s);
|
|
632
|
+
return !n || n.configurable || n.writable ? "function" == typeof i ? e._wrapMethod(t, i) : e.wrap(i) : i;
|
|
633
|
+
},
|
|
634
|
+
set: (t, s, i) => Reflect.set(t, s, e.unwrap(i), t)
|
|
635
|
+
});
|
|
636
|
+
return this._toWrapped.set(t, s), f.set(s, t), g.set(s, this), s;
|
|
637
|
+
}
|
|
638
|
+
_wrapMethod(t, e) {
|
|
639
|
+
let s = this._methods.get(t);
|
|
640
|
+
s || (s = /* @__PURE__ */ new Map(), this._methods.set(t, s));
|
|
641
|
+
let i = s.get(e);
|
|
642
|
+
if (i) return i;
|
|
643
|
+
const n = this;
|
|
644
|
+
return i = function(...s) {
|
|
645
|
+
const i = s.length;
|
|
646
|
+
for (let t = 0; t < i; t++) s[t] = n._unwrapArg(s[t]);
|
|
647
|
+
return n._inScope(() => n.wrap(e.apply(t, s)));
|
|
648
|
+
}, s.set(e, i), i;
|
|
649
|
+
}
|
|
650
|
+
_unwrapArg(t) {
|
|
651
|
+
return "function" == typeof t ? this._wrapFunction(t, !1) : null === t || "object" != typeof t || Object.getPrototypeOf(t) !== Object.prototype || f.has(t) ? this.unwrap(t) : this._unwrapCallbacks(t);
|
|
652
|
+
}
|
|
653
|
+
_unwrapCallbacks(t) {
|
|
654
|
+
let e = !1;
|
|
655
|
+
for (const s in t) if ("function" == typeof t[s]) {
|
|
656
|
+
e = !0;
|
|
657
|
+
break;
|
|
658
|
+
}
|
|
659
|
+
if (!e) return this.unwrap(t);
|
|
660
|
+
const s = this._callbacks.get(t);
|
|
661
|
+
if (s) return s;
|
|
662
|
+
const i = {};
|
|
663
|
+
for (const e in t) {
|
|
664
|
+
const s = t[e];
|
|
665
|
+
i[e] = "function" == typeof s ? this._wrapFunction(s, !1) : this.unwrap(s);
|
|
666
|
+
}
|
|
667
|
+
return this._callbacks.set(t, i), i;
|
|
668
|
+
}
|
|
669
|
+
_wrapFunction(t, e) {
|
|
670
|
+
const s = e ? this._outward : this._inward;
|
|
671
|
+
let i = s.get(t);
|
|
672
|
+
if (i) return i;
|
|
673
|
+
const n = this;
|
|
674
|
+
return i = e ? function(...e) {
|
|
675
|
+
const s = e.length;
|
|
676
|
+
for (let t = 0; t < s; t++) e[t] = n._unwrapArg(e[t]);
|
|
677
|
+
return n._inScope(() => n.wrap(t.apply(n.unwrap(this), e)));
|
|
678
|
+
} : function(...e) {
|
|
679
|
+
const s = e.length;
|
|
680
|
+
for (let t = 0; t < s; t++) e[t] = n.wrap(e[t]);
|
|
681
|
+
return n.unwrap(t.apply(n.wrap(this), e));
|
|
682
|
+
}, s.set(t, i), i;
|
|
683
|
+
}
|
|
684
|
+
_wrapArray(t) {
|
|
685
|
+
const e = t.length > 0 ? t[0] : void 0;
|
|
686
|
+
return null === e || "object" != typeof e || Array.isArray(e) || !I(e) ? t : t.map((t) => this.wrap(t));
|
|
687
|
+
}
|
|
688
|
+
_wrapIterator(t) {
|
|
689
|
+
const e = this, s = {
|
|
690
|
+
next(...s) {
|
|
691
|
+
const i = t.next(...s);
|
|
692
|
+
return i.done ? i : {
|
|
693
|
+
done: !1,
|
|
694
|
+
value: e.wrap(i.value)
|
|
695
|
+
};
|
|
696
|
+
},
|
|
697
|
+
[Symbol.iterator]: () => s
|
|
698
|
+
};
|
|
699
|
+
return t.return && (s.return = (e) => t.return(e)), s;
|
|
700
|
+
}
|
|
701
|
+
_inScope(t) {
|
|
702
|
+
if (this._closed) return t();
|
|
703
|
+
const e = y;
|
|
704
|
+
y = this;
|
|
705
|
+
try {
|
|
706
|
+
return t();
|
|
707
|
+
} finally {
|
|
708
|
+
y = e;
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
static bind(e, s, i) {
|
|
712
|
+
const n = new t(e);
|
|
713
|
+
return {
|
|
714
|
+
callback: (t) => {
|
|
715
|
+
n._commitId = t.getId();
|
|
716
|
+
const e = i(t, n.wrap(s));
|
|
717
|
+
return e instanceof Promise ? e.then((t) => n.unwrap(t)) : n.unwrap(e);
|
|
718
|
+
},
|
|
719
|
+
close: () => n.close(),
|
|
720
|
+
onChildCommit: (t, s) => {
|
|
721
|
+
n._onStep(e.getCurrentCommit(), s);
|
|
722
|
+
}
|
|
723
|
+
};
|
|
724
|
+
}
|
|
725
|
+
static isStepping(t) {
|
|
726
|
+
return (w.get(t) ?? 0) > 0;
|
|
727
|
+
}
|
|
728
|
+
static of(t) {
|
|
729
|
+
return null === t || "object" != typeof t && "function" != typeof t ? null : g.get(t) ?? null;
|
|
730
|
+
}
|
|
731
|
+
}, f = /* @__PURE__ */ new WeakMap(), g = /* @__PURE__ */ new WeakMap(), y = null, w = /* @__PURE__ */ new WeakMap(), S = (t, e) => {
|
|
732
|
+
w.set(t, (w.get(t) ?? 0) + e);
|
|
733
|
+
}, C = () => y, v = (t) => null !== y && y.getStore() === t, b = /* @__PURE__ */ new WeakMap(), O = [
|
|
734
|
+
"addListener",
|
|
735
|
+
"addListeners",
|
|
736
|
+
"doBatch",
|
|
737
|
+
"getWorkbook",
|
|
738
|
+
"getWorksheet",
|
|
739
|
+
"update"
|
|
740
|
+
], I = (t) => {
|
|
741
|
+
const e = Object.getPrototypeOf(t);
|
|
742
|
+
if (null === e || e === Object.prototype || e === Array.prototype) return !1;
|
|
743
|
+
let s = b.get(e);
|
|
744
|
+
return void 0 === s && (s = !k(t) && R(e), b.set(e, s)), s;
|
|
745
|
+
}, k = (t) => t instanceof Date || t instanceof RegExp || t instanceof Map || t instanceof Set || t instanceof WeakMap || t instanceof WeakSet || t instanceof Error || t instanceof ArrayBuffer || ArrayBuffer.isView(t), R = (t) => {
|
|
746
|
+
for (let e = 0; e < O.length; e++) if ("function" == typeof t[O[e]]) return !0;
|
|
747
|
+
let e = t;
|
|
748
|
+
for (; e && e !== Object.prototype;) {
|
|
749
|
+
const t = Object.getOwnPropertyNames(e);
|
|
750
|
+
for (let s = 0; s < t.length; s++) {
|
|
751
|
+
const i = t[s];
|
|
752
|
+
if (i.length > 3 && i.startsWith("set") && i.charCodeAt(3) >= 65 && i.charCodeAt(3) <= 90 && "function" == typeof Object.getOwnPropertyDescriptor(e, i)?.value) return !0;
|
|
753
|
+
}
|
|
754
|
+
e = Object.getPrototypeOf(e);
|
|
755
|
+
}
|
|
756
|
+
return !1;
|
|
757
|
+
}, E = (t) => "function" == typeof t.next && "function" == typeof t[Symbol.iterator], A = (t) => {
|
|
758
|
+
let e = null;
|
|
759
|
+
const s = t.length;
|
|
760
|
+
for (let i = 0; i < s; i++) {
|
|
761
|
+
const s = t[i];
|
|
762
|
+
if (null === s || "object" != typeof s) continue;
|
|
763
|
+
const n = W(s);
|
|
764
|
+
n !== s && (e ??= t.slice(), e[i] = n);
|
|
765
|
+
}
|
|
766
|
+
return e ?? t;
|
|
767
|
+
}, M = (t) => {
|
|
768
|
+
let e = null;
|
|
769
|
+
for (const s in t) {
|
|
770
|
+
const i = t[s];
|
|
771
|
+
if (null === i || "object" != typeof i) continue;
|
|
772
|
+
const n = W(i);
|
|
773
|
+
n !== i && (e ??= { ...t }, e[s] = n);
|
|
774
|
+
}
|
|
775
|
+
return e ?? t;
|
|
776
|
+
}, W = (t) => {
|
|
777
|
+
const e = f.get(t);
|
|
778
|
+
return void 0 !== e ? e : Array.isArray(t) ? A(t) : Object.getPrototypeOf(t) === Object.prototype ? M(t) : t;
|
|
779
|
+
}, D = () => {}, T = (t, e, ...s) => {
|
|
780
|
+
const i = globalThis.__SXL_LOG_EVENTS;
|
|
781
|
+
i && ("string" != typeof i || t.includes(i)) && console.log(`[sxl:${t}] ${e}`, ...s);
|
|
782
|
+
}, j = class {
|
|
783
|
+
constructor(t, e) {
|
|
784
|
+
this._listeners = /* @__PURE__ */ new Set(), this._pending = null, this._landing = null, this._listeners = /* @__PURE__ */ new Set(), this._transactions = e ?? new _({ transient: !0 }), this._stateId = this._transactions.create(), this._src = t;
|
|
785
|
+
const s = this, i = () => {
|
|
786
|
+
const t = s._landing;
|
|
787
|
+
if (T(s._label(), `drain landing=${t ? t.length : "null"}`), !t) return;
|
|
788
|
+
s._landing = null;
|
|
789
|
+
const e = /* @__PURE__ */ new Set(), i = t.length;
|
|
790
|
+
let n = null;
|
|
791
|
+
for (let e = 0; e < i; e++) {
|
|
792
|
+
const s = t[e].options, i = s?.merge;
|
|
793
|
+
if (!i) continue;
|
|
794
|
+
n ??= /* @__PURE__ */ new Map();
|
|
795
|
+
const r = t[e].listeners;
|
|
796
|
+
for (let t = 0; t < r.length; t++) {
|
|
797
|
+
const e = r[t];
|
|
798
|
+
n.set(e, n.has(e) ? i(n.get(e), s.params) : s.params);
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
for (let r = 0; r < i; r++) {
|
|
802
|
+
const i = t[r];
|
|
803
|
+
s._doNotify(i.listeners, i.removes, i.options, e, n);
|
|
804
|
+
}
|
|
805
|
+
};
|
|
806
|
+
this._transactionsRemoveListener = this._transactions.addListener({
|
|
807
|
+
onCommitClose(t, e, n) {
|
|
808
|
+
const r = s._pending;
|
|
809
|
+
T(s._label(), `commitClose rollback=${e} elided=${n} pending=${r ? r.length : "null"}`), s._pending = null, e || (r && (s._landing ? s._landing.push(...r) : s._landing = r), n && i());
|
|
810
|
+
},
|
|
811
|
+
onCommitEnd: i,
|
|
812
|
+
onAmendEnd: i
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
_label() {
|
|
816
|
+
return this._src?.constructor?.name ?? "unknown";
|
|
817
|
+
}
|
|
818
|
+
_inOperation() {
|
|
819
|
+
return this._transactions.isOpenTransaction() || this._transactions.isRestoring();
|
|
820
|
+
}
|
|
821
|
+
addListeners(t, e) {
|
|
822
|
+
const s = e?.transactional ?? v(this._transactions), i = { listeners: t }, n = this, r = () => {
|
|
823
|
+
s ? n._updateEntries((t) => {
|
|
824
|
+
t.delete(i);
|
|
825
|
+
}) : n._listeners.delete(i);
|
|
826
|
+
};
|
|
827
|
+
return i.remove = e?.once ? r : null, s ? n._updateEntries((t) => {
|
|
828
|
+
t.add(i);
|
|
829
|
+
}) : n._listeners.add(i), r;
|
|
830
|
+
}
|
|
831
|
+
_updateEntries(t) {
|
|
832
|
+
const e = this._transactions, s = e.getState(this._stateId)?.listeners, i = new Set(s);
|
|
833
|
+
t(i);
|
|
834
|
+
const n = e.beginCommit();
|
|
835
|
+
try {
|
|
836
|
+
n.updateState(this._stateId, { listeners: i }), n.amend();
|
|
837
|
+
} catch (t) {
|
|
838
|
+
throw n.rollback(), t;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
async _doNotify(t, e = null, s, i, n) {
|
|
842
|
+
const r = s?.source ?? this._src, o = [], a = s?.params, c = t.length;
|
|
843
|
+
for (let e = 0; e < c; e++) {
|
|
844
|
+
const s = t[e];
|
|
845
|
+
i && i.has(s) || (i?.add(s), o.push(s(r, n?.has(s) ? n.get(s) : a)));
|
|
846
|
+
}
|
|
847
|
+
let h = null;
|
|
848
|
+
if (e && (h = () => {
|
|
849
|
+
const t = e.length;
|
|
850
|
+
for (let s = 0; s < t; s++) e[s]();
|
|
851
|
+
}), s?.async) return new Promise(async (t, e) => {
|
|
852
|
+
try {
|
|
853
|
+
const e = await Promise.all(o);
|
|
854
|
+
h?.(), t(e);
|
|
855
|
+
} catch (t) {
|
|
856
|
+
h?.(), e(t);
|
|
857
|
+
}
|
|
858
|
+
});
|
|
859
|
+
h?.();
|
|
860
|
+
}
|
|
861
|
+
hasTransactional(t) {
|
|
862
|
+
const e = this._transactions.getState(this._stateId)?.listeners;
|
|
863
|
+
if (!e || 0 === e.size) return !1;
|
|
864
|
+
for (const s of e) if (s.listeners[t]) return !0;
|
|
865
|
+
return !1;
|
|
866
|
+
}
|
|
867
|
+
_collect(t, e) {
|
|
868
|
+
if (!t) return null;
|
|
869
|
+
let s = null, i = null;
|
|
870
|
+
return t.forEach((t) => {
|
|
871
|
+
const n = t.listeners[e];
|
|
872
|
+
n && ((s ??= []).push(n), t.remove && (i ??= []).push(t.remove));
|
|
873
|
+
}), s ? {
|
|
874
|
+
listeners: s,
|
|
875
|
+
removes: i
|
|
876
|
+
} : null;
|
|
877
|
+
}
|
|
878
|
+
notify(t, e) {
|
|
879
|
+
const s = this._transactions, i = e?.transactional ?? this._inOperation();
|
|
880
|
+
if (i) {
|
|
881
|
+
const i = this._collect(s.getState(this._stateId)?.listeners, t);
|
|
882
|
+
i && this._doNotify(i.listeners, i.removes, e);
|
|
883
|
+
}
|
|
884
|
+
const n = this._collect(this._listeners, t);
|
|
885
|
+
if (n) return !i || s.isRestoring() || e?.async ? (T(this._label(), `notify ${String(t)} delivered to ${n.listeners.length}`), this._doNotify(n.listeners, n.removes, e)) : ((this._pending ??= []).push({
|
|
886
|
+
listeners: n.listeners,
|
|
887
|
+
removes: n.removes,
|
|
888
|
+
options: e
|
|
889
|
+
}), void T(this._label(), `notify ${String(t)} QUEUED (open transaction) pending=${this._pending.length}`));
|
|
890
|
+
T(this._label(), `notify ${String(t)} inOperation=${i} listeners=0`);
|
|
891
|
+
}
|
|
892
|
+
close() {
|
|
893
|
+
this._transactions.remove(this._stateId), this._transactionsRemoveListener(), this._listeners.clear(), this._pending = null, this._landing = null;
|
|
894
|
+
}
|
|
895
|
+
}, $ = "Item has been closed. No further operations are allowed.", x = (t = i("op.update")) => s("error.anchor.protected", { description: s(t) }), L = class {
|
|
896
|
+
constructor(t) {
|
|
897
|
+
this._closed = !1, this._options = { ...t };
|
|
898
|
+
const e = this;
|
|
899
|
+
this._transactions = this._options?.transactions ?? new _({ transient: !0 }), this._id = this._transactions.create({ isDeleted: !1 }), this._emitter = new j(this, this._transactions), t?.json && this._fromJSON(t.json), this._options?.setContainerReadOnlyCallback?.(() => {
|
|
900
|
+
e._processOnContainerReadOnly();
|
|
901
|
+
}), this._transactionsRemoveListener = this._transactions.addStateListener(this._id, {
|
|
902
|
+
onAfterStateChange(t, s) {
|
|
903
|
+
e._processAfterStateChange(t, s);
|
|
904
|
+
},
|
|
905
|
+
onRestoreOrRevert(t, s) {
|
|
906
|
+
e._processRestoreOrRevert(t, s);
|
|
907
|
+
}
|
|
908
|
+
}), this._processInit();
|
|
909
|
+
}
|
|
910
|
+
_fromJSON(t) {}
|
|
911
|
+
isReadOnly() {
|
|
912
|
+
return this._options.isReadOnly?.() ?? !1;
|
|
913
|
+
}
|
|
914
|
+
isDeleted() {
|
|
915
|
+
const t = this._getState();
|
|
916
|
+
return void 0 === t || (t.isDeleted ?? !1);
|
|
917
|
+
}
|
|
918
|
+
getType() {
|
|
919
|
+
return this._options.type;
|
|
920
|
+
}
|
|
921
|
+
get isIModel() {
|
|
922
|
+
return !0;
|
|
923
|
+
}
|
|
924
|
+
_processTransactionDone(t) {}
|
|
925
|
+
_getActionDescription(t) {
|
|
926
|
+
return null;
|
|
927
|
+
}
|
|
928
|
+
_getState() {
|
|
929
|
+
if (this._closed) throw new Error(s("error.model.modelClosed"));
|
|
930
|
+
return this._transactions.getState(this._id);
|
|
931
|
+
}
|
|
932
|
+
_beginCommit(t) {
|
|
933
|
+
return this._transactions.beginCommit("string" == typeof t ? { description: t } : t);
|
|
934
|
+
}
|
|
935
|
+
_getTransactions() {
|
|
936
|
+
return this._transactions;
|
|
937
|
+
}
|
|
938
|
+
_updateState(t, e, s) {
|
|
939
|
+
return this._writeState(t, e, s, !1);
|
|
940
|
+
}
|
|
941
|
+
_amendState(t, e, s) {
|
|
942
|
+
return this._writeState(t, e, s, !0);
|
|
943
|
+
}
|
|
944
|
+
_writeState(t, e, i, n = !1) {
|
|
945
|
+
if (this._closed) throw new Error(s("error.model.modelClosed"));
|
|
946
|
+
if (!t) return this;
|
|
947
|
+
const r = this._beginCommit(e?.description);
|
|
948
|
+
try {
|
|
949
|
+
r.updateState(this._id, t);
|
|
950
|
+
let s = !1;
|
|
951
|
+
const o = i ? i.length : 0;
|
|
952
|
+
for (let t = 0; t < o; t++) {
|
|
953
|
+
const e = i[t];
|
|
954
|
+
s = s || "onAnyChange" === e, this._emitter.notify(e);
|
|
955
|
+
}
|
|
956
|
+
!s && i && o > 0 && this._emitter.notify("onAnyChange"), n ? r.amend(e) : r.commit(e);
|
|
957
|
+
} catch (t) {
|
|
958
|
+
throw r.rollback(), t;
|
|
959
|
+
}
|
|
960
|
+
return this;
|
|
961
|
+
}
|
|
962
|
+
_getEmitter() {
|
|
963
|
+
return this._emitter;
|
|
964
|
+
}
|
|
965
|
+
_processInit() {}
|
|
966
|
+
_processAfterStateChange(t, e) {}
|
|
967
|
+
_processRestoreOrRevert(t, e) {
|
|
968
|
+
this._emitter.notify("onInvalidated");
|
|
969
|
+
}
|
|
970
|
+
delete(t) {
|
|
971
|
+
this._getState().isDeleted || this._delete(t);
|
|
972
|
+
}
|
|
973
|
+
_delete(t) {
|
|
974
|
+
t = {
|
|
975
|
+
description: this._getActionDescription("delete") ?? i("op.delete"),
|
|
976
|
+
...t
|
|
977
|
+
};
|
|
978
|
+
const e = this._beginCommit(t?.description);
|
|
979
|
+
try {
|
|
980
|
+
this._options.deleteFromContainer && this._options.deleteFromContainer?.(t), this._processDelete(), e.commit();
|
|
981
|
+
} catch (t) {
|
|
982
|
+
throw e.rollback(), t;
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
_processOnContainerDeleted() {
|
|
986
|
+
this._processDelete();
|
|
987
|
+
}
|
|
988
|
+
_processDelete() {
|
|
989
|
+
this._updateState({ isDeleted: !0 }, void 0, ["onDelete"]);
|
|
990
|
+
}
|
|
991
|
+
_processOnContainerReadOnly() {
|
|
992
|
+
this._emitter.notify("onReadOnlyChange");
|
|
993
|
+
}
|
|
994
|
+
addListeners(t, e) {
|
|
995
|
+
return this._emitter.addListeners(t, e);
|
|
996
|
+
}
|
|
997
|
+
getId() {
|
|
998
|
+
return this._id;
|
|
999
|
+
}
|
|
1000
|
+
getVersionId() {
|
|
1001
|
+
return this._transactions.getVersionId(this._id);
|
|
1002
|
+
}
|
|
1003
|
+
beginCommit(t) {
|
|
1004
|
+
return this._beginCommit(t);
|
|
1005
|
+
}
|
|
1006
|
+
doBatch(t, e) {
|
|
1007
|
+
const s = this;
|
|
1008
|
+
return this._transactions.doBatch(t, "string" == typeof e ? { description: e } : e, (t) => {
|
|
1009
|
+
s._processTransactionDone(t);
|
|
1010
|
+
});
|
|
1011
|
+
}
|
|
1012
|
+
isClosed() {
|
|
1013
|
+
return this._closed;
|
|
1014
|
+
}
|
|
1015
|
+
close() {
|
|
1016
|
+
this._closed || (this._emitter.notify("onClose"), this._closed = !0, this._transactionsRemoveListener?.(), this._transactions.remove(this._id));
|
|
1017
|
+
}
|
|
1018
|
+
}, P = class e extends L {
|
|
1019
|
+
static {
|
|
1020
|
+
this.instanceCounter = 0;
|
|
1021
|
+
}
|
|
1022
|
+
constructor(t) {
|
|
1023
|
+
super(t), this._watches = /* @__PURE__ */ new Set(), this._watchesReleased = !1, this._getMovable = t.getMovable ?? null, this._addWatchOption = t.addWatch ?? null, this._getRangeOption = t.getRange ?? null;
|
|
1024
|
+
let s = t.name ?? null;
|
|
1025
|
+
!s && this._getMovable && (s = `${this.getTypeDescription()} ${++e.instanceCounter}`);
|
|
1026
|
+
const i = t.description ?? null;
|
|
1027
|
+
null === s && null === i || this._updateState({
|
|
1028
|
+
name: s,
|
|
1029
|
+
description: i
|
|
1030
|
+
});
|
|
1031
|
+
}
|
|
1032
|
+
getName() {
|
|
1033
|
+
return this._closed ? null : this._getState()?.name ?? null;
|
|
1034
|
+
}
|
|
1035
|
+
setName(t) {
|
|
1036
|
+
const e = { description: i("op.setMovableName") };
|
|
1037
|
+
return this._protectionCheck(e.description), this._updateState({ name: t }, e, ["onAnyChange"]), this;
|
|
1038
|
+
}
|
|
1039
|
+
getDescription() {
|
|
1040
|
+
return this._closed ? null : this._getState()?.description ?? null;
|
|
1041
|
+
}
|
|
1042
|
+
setDescription(t) {
|
|
1043
|
+
const e = { description: i("op.setMovableDescription") };
|
|
1044
|
+
return this._protectionCheck(e.description), this._updateState({ description: t || null }, e, ["onAnyChange"]), this;
|
|
1045
|
+
}
|
|
1046
|
+
getMovable() {
|
|
1047
|
+
return this._getMovable?.() ?? null;
|
|
1048
|
+
}
|
|
1049
|
+
getReferences() {
|
|
1050
|
+
if (this._closed || this._watchesReleased || 0 === this._watches.size) return null;
|
|
1051
|
+
const t = [], e = /* @__PURE__ */ new Set();
|
|
1052
|
+
for (const s of this._watches) {
|
|
1053
|
+
const i = s.formula?.getReferences() ?? this._parseReference(s.expression);
|
|
1054
|
+
if (!i) continue;
|
|
1055
|
+
const n = i.getCount();
|
|
1056
|
+
for (let s = 0; s < n; s++) {
|
|
1057
|
+
const n = i.at(s);
|
|
1058
|
+
if (n.isInvalid()) continue;
|
|
1059
|
+
const r = `${n.getWorksheet().getId()}!${n.getAddress()}`;
|
|
1060
|
+
e.has(r) || (e.add(r), t.push(n));
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
return 0 === t.length ? null : t[0].getWorksheet().getRanges(t);
|
|
1064
|
+
}
|
|
1065
|
+
_addWatch(t, e, s) {
|
|
1066
|
+
const i = "string" == typeof t ? t : t.getExpression(), n = {
|
|
1067
|
+
expression: i.startsWith("=") ? i.substring(1) : i,
|
|
1068
|
+
formula: null,
|
|
1069
|
+
callback: e,
|
|
1070
|
+
options: s,
|
|
1071
|
+
release: null
|
|
1072
|
+
};
|
|
1073
|
+
return this._watches.add(n), this._watchesReleased || this._hold(n, "string" == typeof t ? void 0 : t), () => {
|
|
1074
|
+
this._watches.delete(n) && (n.release?.(), n.release = null, this._notifyReferencesChange());
|
|
1075
|
+
};
|
|
1076
|
+
}
|
|
1077
|
+
_resolveRange(t) {
|
|
1078
|
+
return this._getRangeOption?.(t) ?? null;
|
|
1079
|
+
}
|
|
1080
|
+
_hold(t, e) {
|
|
1081
|
+
const s = this._addWatchOption;
|
|
1082
|
+
s && (t.release = s(e ?? t.expression, (e) => {
|
|
1083
|
+
t.formula = e.formula, t.expression = e.formula.getExpression(), t.callback?.(e), this._notifyReferencesChange();
|
|
1084
|
+
}, t.options));
|
|
1085
|
+
}
|
|
1086
|
+
_parseReference(t) {
|
|
1087
|
+
if (!t || t.includes("#REF!")) return null;
|
|
1088
|
+
try {
|
|
1089
|
+
const e = t.includes("!") ? null : this.getMovable()?.getRange().getWorksheet(), s = e ? e.getRange(t) : this._resolveRange(t);
|
|
1090
|
+
return s && !s.isInvalid() ? s.getWorksheet().getRanges([s]) : null;
|
|
1091
|
+
} catch {
|
|
1092
|
+
return null;
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
_notifyReferencesChange() {
|
|
1096
|
+
this._closed || (this._emitter.notify("onReferencesChange"), this._emitter.notify("onAnyChange"));
|
|
1097
|
+
}
|
|
1098
|
+
_releaseWatches() {
|
|
1099
|
+
this._watchesReleased = !0;
|
|
1100
|
+
for (const t of this._watches) t.release?.(), t.release = null;
|
|
1101
|
+
}
|
|
1102
|
+
_holdWatches() {
|
|
1103
|
+
this._watchesReleased = !1;
|
|
1104
|
+
for (const t of this._watches) this._hold(t, t.formula ?? void 0);
|
|
1105
|
+
}
|
|
1106
|
+
_processDelete() {
|
|
1107
|
+
this._releaseWatches(), super._processDelete();
|
|
1108
|
+
}
|
|
1109
|
+
_processRestoreOrRevert(t, e) {
|
|
1110
|
+
super._processRestoreOrRevert(t, e);
|
|
1111
|
+
const s = void 0 === t || !0 === t.isDeleted;
|
|
1112
|
+
s && !this._watchesReleased ? this._releaseWatches() : !s && this._watchesReleased && this._holdWatches();
|
|
1113
|
+
}
|
|
1114
|
+
_getSourceId() {
|
|
1115
|
+
const t = this._getState()?.data;
|
|
1116
|
+
return "number" == typeof t?.sourceId ? t.sourceId : void 0;
|
|
1117
|
+
}
|
|
1118
|
+
_ensureSourceId(t) {
|
|
1119
|
+
const e = this._getSourceId();
|
|
1120
|
+
if (void 0 !== e) return e;
|
|
1121
|
+
const s = t(), n = this._getState()?.data ?? {};
|
|
1122
|
+
return this._updateState({ data: {
|
|
1123
|
+
...n,
|
|
1124
|
+
sourceId: s
|
|
1125
|
+
} }, { description: i("op.connectShape") }), s;
|
|
1126
|
+
}
|
|
1127
|
+
_protectionCheck(e) {
|
|
1128
|
+
if (this.isReadOnly()) throw new t(x(e));
|
|
1129
|
+
}
|
|
1130
|
+
};
|
|
1131
|
+
export { _ as a, m as c, P as i, v as l, C as n, c as o, L as r, j as s, x as t, $ as u };
|