univer-cli 0.0.1 → 0.1.1
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/README.md +4 -19
- package/bin/univer.js +2 -0
- package/chunks/af-I8XQee0A-CmFDThzt.js +1 -0
- package/chunks/as-DPw4kbfa-B9F_plq0.js +1 -0
- package/chunks/be-hSu5_2AE-B6hNUWqv.js +1 -0
- package/chunks/bg-eIV91Ges-Bd2DWFob.js +1 -0
- package/chunks/bn-CF0YbkEW-g08sLwtk.js +1 -0
- package/chunks/build-id-BaP5Hjal.js +1 -0
- package/chunks/build-id-CLeOtzGP.js +1 -0
- package/chunks/ca-D0fayQwW-BZmYPcsl.js +1 -0
- package/chunks/cop-gnNw8zDV-DKmpd6ZK.js +1 -0
- package/chunks/cs-cUOdqXi9-JFqHc_iA.js +1 -0
- package/chunks/cu-CJJk_6p3-D5QinWvz.js +1 -0
- package/chunks/cy-he1_O-US-BVkBOUuv.js +1 -0
- package/chunks/da-C_Tc6C75-Ce37Rkvq.js +1 -0
- package/chunks/de-1901-D9yvXEO8-CdUbFp9_.js +1 -0
- package/chunks/de-1996-DIBM3qkD-CSWdZt1C.js +1 -0
- package/chunks/de-ch-1901-BEDgpl3--BaBd6Pyk.js +1 -0
- package/chunks/el-monoton-BvjPOyvW-DXXS_X0t.js +1 -0
- package/chunks/el-polyton-DfJ9Eeih-CFBXa39G.js +1 -0
- package/chunks/en-gb-DYXoK50H-gYVKStsS.js +1 -0
- package/chunks/en-us-ClVoWMyT-DTM3NHI5.js +1 -0
- package/chunks/es-48latgZ8-DyF4ZOuj.js +1 -0
- package/chunks/et-UzX1rSXY-DcR9JNGb.js +1 -0
- package/chunks/eu-ijD7H63T-DKJaXG6h.js +1 -0
- package/chunks/fi-DDuxAHu5-B81pTwuW.js +1 -0
- package/chunks/fr-6wTrAsbK-BWiY4JbC.js +1 -0
- package/chunks/fur-CcIOY8A9-C4KjY8gI.js +1 -0
- package/chunks/ga-B4Qvh5qS-rBAaw1W6.js +1 -0
- package/chunks/gl-D8H7uN6B-B-8mjLsR.js +1 -0
- package/chunks/grc-DFNi6G6p-BdbdB-tX.js +1 -0
- package/chunks/gu-0EahmEdu-CIDhZZ9o.js +1 -0
- package/chunks/hi-C2ih9xmB-gQS9ROaA.js +1 -0
- package/chunks/hr-CSbbBNUu-BkJAQOS_.js +1 -0
- package/chunks/hsb-hKsDwaW_-Bz1wxZdL.js +1 -0
- package/chunks/hu-BPixuxjf-D_KRKJFX.js +1 -0
- package/chunks/hy-CTtThTdl-BKZl6YO6.js +1 -0
- package/chunks/ia-CYCjbabb-CtzIWTzG.js +1 -0
- package/chunks/id-Cgsp-bEu-lDniNdGl.js +1 -0
- package/chunks/is-D_Awtowh-CLIQl2VF.js +1 -0
- package/chunks/it-C2qJSkm3-BL4Y-Dcv.js +1 -0
- package/chunks/ka-DpGw5nvd-B_hWQNLG.js +1 -0
- package/chunks/kmr-CCdNyB20-CpvYihwu.js +1 -0
- package/chunks/kn-B4tAUtFU-BzUoRYHN.js +1 -0
- package/chunks/la-DIUYl8Yo-DnTw-Mbk.js +1 -0
- package/chunks/la-x-classic-DsbLrq-C-6trWnS1V.js +1 -0
- package/chunks/la-x-liturgic-Ggenbcb5-CrZVATBB.js +1 -0
- package/chunks/lt-BcizI7gZ-CBV1-TLR.js +1 -0
- package/chunks/lv-BOgrbf6v-BTmm852-.js +1 -0
- package/chunks/ml-CTD7giel-DuesB87E.js +1 -0
- package/chunks/mn-cyrl-CDxGttkw-B5Z_v02X.js +1 -0
- package/chunks/mn-cyrl-x-lmc-kjrnm3ii-CRJYImwh.js +1 -0
- package/chunks/mr-DttMNydl-Dj7fDjaS.js +1 -0
- package/chunks/mul-ethi-mmW8ZEm0-ButIEwkF.js +1 -0
- package/chunks/nb-DCiD6jLz-8JQgQmJg.js +1 -0
- package/chunks/nl-BKWsn_4x-BZ3618-9.js +1 -0
- package/chunks/nn-b0W3mz5j-BK1C8M6T.js +1 -0
- package/chunks/no-B3l46gib-nr5lnK2H.js +1 -0
- package/chunks/oc-zkqkXjNo-BJpmzHN2.js +1 -0
- package/chunks/or-DEnI_Cls-qr2MVLjE.js +1 -0
- package/chunks/pa-Sh-QSMIs-YozfDjAN.js +1 -0
- package/chunks/pi-DxMx4Uwd-1Qx2hrsd.js +1 -0
- package/chunks/pl-CISKU0vg-BhS4WYPg.js +1 -0
- package/chunks/pms-DUga94hR-B9zb50Zy.js +1 -0
- package/chunks/pt-CzW61i2q-D32N4oqA.js +1 -0
- package/chunks/rm-C1U6i4AB-DsF0G7Se.js +1 -0
- package/chunks/ro-DSU53KfM-CA0x5cD3.js +1 -0
- package/chunks/rolldown-runtime-D8j-JhcR.js +1 -0
- package/chunks/ru-gduZDLhv-B8qWW8_T.js +1 -0
- package/chunks/runtime-eval-kernels-TmodGDsS.js +1 -0
- package/chunks/runtime-manifest-DcqNTmn6.js +1 -0
- package/chunks/sa-Bney0xbB-DCbBbBmc.js +1 -0
- package/chunks/sh-cyrl-CCByyO89-C8G573b_.js +1 -0
- package/chunks/sh-latn-CTIiTfzt-D1ngAP_K.js +1 -0
- package/chunks/sk-DK-iy-nO-BAcMm7_1.js +1 -0
- package/chunks/sl-BvzIjkCq-NQAOhIkz.js +1 -0
- package/chunks/sr-cyrl-7T4T5Th1-CMIq0hYP.js +1 -0
- package/chunks/sv-BynygC4t-BqB9sNdM.js +1 -0
- package/chunks/ta-CglfOvwm-lIpBPoiE.js +1 -0
- package/chunks/te-Bec4xJud-CPDFTnI_.js +1 -0
- package/chunks/th-B67OcLue-C5XXeT8U.js +1 -0
- package/chunks/tk-CYfVPVLR-5w11gLiZ.js +1 -0
- package/chunks/tr-BxhGLs2f-C6rF65mJ.js +1 -0
- package/chunks/uk-CnWqKnI0-BGTCGJmW.js +1 -0
- package/chunks/vendor-DsmUI-SV.js +834 -0
- package/chunks/zh-latn-pinyin-CKxTJrac-D8cc0dWj.js +1 -0
- package/internal/daemon.js +2 -0
- package/internal/univer-runner.js +1 -0
- package/package.json +26 -9
- package/run-help/topics/core.md +144 -0
- package/run-help/topics/formatting.md +162 -0
- package/run-help/topics/formulas.md +85 -0
- package/run-help/topics/overview.md +92 -0
- package/run-help/topics/ranges.md +232 -0
- package/run-help/topics/sheets.md +110 -0
- package/view/browser/assets/af-I8XQee0A.js +1 -0
- package/view/browser/assets/as-DPw4kbfa.js +1 -0
- package/view/browser/assets/be-hSu5_2AE.js +1 -0
- package/view/browser/assets/bg-eIV91Ges.js +1 -0
- package/view/browser/assets/bn-CF0YbkEW.js +1 -0
- package/view/browser/assets/ca-D0fayQwW.js +1 -0
- package/view/browser/assets/cop-gnNw8zDV.js +1 -0
- package/view/browser/assets/cs-cUOdqXi9.js +1 -0
- package/view/browser/assets/cu-CJJk_6p3.js +1 -0
- package/view/browser/assets/cy-he1_O-US.js +1 -0
- package/view/browser/assets/da-C_Tc6C75.js +1 -0
- package/view/browser/assets/de-1901-D9yvXEO8.js +1 -0
- package/view/browser/assets/de-1996-DIBM3qkD.js +1 -0
- package/view/browser/assets/de-ch-1901-BEDgpl3-.js +1 -0
- package/view/browser/assets/el-monoton-BvjPOyvW.js +1 -0
- package/view/browser/assets/el-polyton-DfJ9Eeih.js +1 -0
- package/view/browser/assets/en-gb-DYXoK50H.js +1 -0
- package/view/browser/assets/en-us-ClVoWMyT.js +1 -0
- package/view/browser/assets/es-48latgZ8.js +1 -0
- package/view/browser/assets/et-UzX1rSXY.js +1 -0
- package/view/browser/assets/eu-ijD7H63T.js +1 -0
- package/view/browser/assets/fi-DDuxAHu5.js +1 -0
- package/view/browser/assets/fr-6wTrAsbK.js +1 -0
- package/view/browser/assets/fur-CcIOY8A9.js +1 -0
- package/view/browser/assets/ga-B4Qvh5qS.js +1 -0
- package/view/browser/assets/gl-D8H7uN6B.js +1 -0
- package/view/browser/assets/grc-DFNi6G6p.js +1 -0
- package/view/browser/assets/gu-0EahmEdu.js +1 -0
- package/view/browser/assets/hi-C2ih9xmB.js +1 -0
- package/view/browser/assets/hr-CSbbBNUu.js +1 -0
- package/view/browser/assets/hsb-hKsDwaW_.js +1 -0
- package/view/browser/assets/hu-BPixuxjf.js +1 -0
- package/view/browser/assets/hy-CTtThTdl.js +1 -0
- package/view/browser/assets/ia-CYCjbabb.js +1 -0
- package/view/browser/assets/id-Cgsp-bEu.js +1 -0
- package/view/browser/assets/is-D_Awtowh.js +1 -0
- package/view/browser/assets/it-C2qJSkm3.js +1 -0
- package/view/browser/assets/ka-DpGw5nvd.js +1 -0
- package/view/browser/assets/kmr-CCdNyB20.js +1 -0
- package/view/browser/assets/kn-B4tAUtFU.js +1 -0
- package/view/browser/assets/la-DIUYl8Yo.js +1 -0
- package/view/browser/assets/la-x-classic-DsbLrq-C.js +1 -0
- package/view/browser/assets/la-x-liturgic-Ggenbcb5.js +1 -0
- package/view/browser/assets/lt-BcizI7gZ.js +1 -0
- package/view/browser/assets/lv-BOgrbf6v.js +1 -0
- package/view/browser/assets/ml-CTD7giel.js +1 -0
- package/view/browser/assets/mn-cyrl-CDxGttkw.js +1 -0
- package/view/browser/assets/mn-cyrl-x-lmc-kjrnm3ii.js +1 -0
- package/view/browser/assets/mr-DttMNydl.js +1 -0
- package/view/browser/assets/mul-ethi-mmW8ZEm0.js +1 -0
- package/view/browser/assets/nb-DCiD6jLz.js +1 -0
- package/view/browser/assets/nl-BKWsn_4x.js +1 -0
- package/view/browser/assets/nn-b0W3mz5j.js +1 -0
- package/view/browser/assets/no-B3l46gib.js +1 -0
- package/view/browser/assets/oc-zkqkXjNo.js +1 -0
- package/view/browser/assets/or-DEnI_Cls.js +1 -0
- package/view/browser/assets/pa-Sh-QSMIs.js +1 -0
- package/view/browser/assets/pi-DxMx4Uwd.js +1 -0
- package/view/browser/assets/pl-CISKU0vg.js +1 -0
- package/view/browser/assets/pms-DUga94hR.js +1 -0
- package/view/browser/assets/pt-CzW61i2q.js +1 -0
- package/view/browser/assets/rm-C1U6i4AB.js +1 -0
- package/view/browser/assets/ro-DSU53KfM.js +1 -0
- package/view/browser/assets/rolldown-runtime.js +1 -0
- package/view/browser/assets/ru-gduZDLhv.js +1 -0
- package/view/browser/assets/sa-Bney0xbB.js +1 -0
- package/view/browser/assets/sh-cyrl-CCByyO89.js +1 -0
- package/view/browser/assets/sh-latn-CTIiTfzt.js +1 -0
- package/view/browser/assets/sk-DK-iy-nO.js +1 -0
- package/view/browser/assets/sl-BvzIjkCq.js +1 -0
- package/view/browser/assets/sr-cyrl-7T4T5Th1.js +1 -0
- package/view/browser/assets/sv-BynygC4t.js +1 -0
- package/view/browser/assets/ta-CglfOvwm.js +1 -0
- package/view/browser/assets/te-Bec4xJud.js +1 -0
- package/view/browser/assets/th-B67OcLue.js +1 -0
- package/view/browser/assets/tk-CYfVPVLR.js +1 -0
- package/view/browser/assets/tr-BxhGLs2f.js +1 -0
- package/view/browser/assets/uk-CnWqKnI0.js +1 -0
- package/view/browser/assets/vendor.js +321 -0
- package/view/browser/assets/viewer.css +2 -0
- package/view/browser/assets/viewer.js +1 -0
- package/view/browser/assets/viewer2.css +1 -0
- package/view/browser/assets/zh-latn-pinyin-CKxTJrac.js +1 -0
- package/view/browser/index.html +16 -0
- package/index.js +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./vendor-DsmUI-SV.js";export{e as ZhLatnPinyin};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const _0x513267=_0x203f;(function(_0x529f12,_0x292bd9){const _0x1a0dee=_0x203f,_0x4b4efc=_0x529f12();while(!![]){try{const _0x4d1bfd=parseInt(_0x1a0dee(0x178))/0x1*(-parseInt(_0x1a0dee(0x181))/0x2)+parseInt(_0x1a0dee(0x1a7))/0x3+parseInt(_0x1a0dee(0x182))/0x4+-parseInt(_0x1a0dee(0x173))/0x5+-parseInt(_0x1a0dee(0x19f))/0x6+-parseInt(_0x1a0dee(0x1aa))/0x7*(-parseInt(_0x1a0dee(0x1ac))/0x8)+-parseInt(_0x1a0dee(0x1a9))/0x9*(parseInt(_0x1a0dee(0x186))/0xa);if(_0x4d1bfd===_0x292bd9)break;else _0x4b4efc['push'](_0x4b4efc['shift']());}catch(_0x508cf5){_0x4b4efc['push'](_0x4b4efc['shift']());}}}(_0x3663,0x66d13));import{a as _0x3f1277,d as _0x26a4b1,n,o as _0x37c199,r as _0x26dabd,u as _0x4484b5}from'../chunks/runtime-manifest-DcqNTmn6.js';import{t as _0x59c1c7}from'../chunks/build-id-CLeOtzGP.js';import{existsSync as _0x16d68f}from'node:fs';import{chmod as _0x5a8317,mkdir as _0x9aca0,readFile as _0x42eb31,rm as _0x2ced3c,writeFile as _0x1fd243}from'node:fs/promises';import _0x4459e8 from'node:net';import _0x5020c4 from'node:process';var h=new _0x26dabd();async function g(_0x54cde7={}){const _0x107899=_0x203f;if(_0x5020c4[_0x107899(0x176)]===_0x107899(0x1b1))throw Error(_0x107899(0x19a));let _0x32c922=_0x54cde7[_0x107899(0x184)]??_0x5020c4[_0x107899(0x184)],_0x56a708=_0x4484b5(_0x32c922),_0xead592=n(_0x32c922),_0x3f3a74=_0x54cde7[_0x107899(0x171)]??v(new _0x3f1277({'env':_0x32c922,'resolveExecutionPlaneOptions':()=>({'execArgv':[..._0xead592['runtimeExecutionPlaneEntry'][_0x107899(0x170)]],'modulePath':_0xead592['runtimeExecutionPlaneEntry'][_0x107899(0x19b)]})})),_0xdcd343=_0x59c1c7(_0x32c922),_0x2b6ba4=new Date()[_0x107899(0x1b3)]();if(await _0x9aca0(_0x56a708['daemonDir'],{'recursive':!0x0,'mode':0x1c0}),await _0x9aca0(_0x56a708[_0x107899(0x1bf)],{'recursive':!0x0,'mode':0x1c0}),!await S(_0x56a708['lockPath'],_0x56a708[_0x107899(0x198)])){if(await C(_0x56a708[_0x107899(0x1ad)]))return;throw Error('Another\x20daemon\x20startup\x20owns\x20'+_0x56a708[_0x107899(0x163)]);}await x(_0x56a708);let _0x180d9b=!0x1,_0x5991e7={},_0x153b6f=async _0x34240b=>D(null,-0x7f5b,Error(_0x107899(0x19d)+_0x34240b)),_0x3c260b=_0x4459e8[_0x107899(0x1c0)](_0x2afc0c=>{const _0x32f830=_0x107899;let _0x2afc87='';_0x2afc0c['on'](_0x32f830(0x1b4),_0x622e2e=>{const _0x31241d=_0x32f830;_0x2afc87+=_0x622e2e['toString'](_0x31241d(0x160)),_0x5b5087();}),_0x2afc0c['on']('error',()=>void 0x0);let _0x5b5087=async()=>{const _0x35d380=_0x32f830;for(;;){let _0x3cf132=_0x2afc87[_0x35d380(0x192)]('\x0a');if(_0x3cf132<0x0)return;let _0x40114c=_0x2afc87[_0x35d380(0x1bd)](0x0,_0x3cf132)[_0x35d380(0x16b)]();if(_0x2afc87=_0x2afc87[_0x35d380(0x1bd)](_0x3cf132+0x1),!_0x40114c)continue;let _0x17ca6f=await _0x153b6f(_0x40114c);_0x2afc0c[_0x35d380(0x18d)](JSON[_0x35d380(0x16d)](_0x17ca6f)+'\x0a');}};});_0x153b6f=_({'buildId':_0xdcd343,'logRequestError':async _0xab8040=>{const _0xd01c2d=_0x107899;await _0x37c199(_0x56a708[_0xd01c2d(0x16a)],{'event':_0xd01c2d(0x1b5),'method':_0xab8040[_0xd01c2d(0x193)],'error':_0xab8040[_0xd01c2d(0x196)],'timestamp':_0xab8040['timestamp']});},'onShutdownRequest':()=>{const _0x4d6554=_0x107899;_0x467e18(_0x4d6554(0x175))[_0x4d6554(0x19e)](()=>{const _0x2157b3=_0x4d6554;_0x5020c4[_0x2157b3(0x1ae)](0x0);});},'pid':_0x5020c4['pid'],'runtimeRoot':_0x56a708['homeDir'],'sessionHost':_0x3f3a74,'socketPath':_0x56a708['socketPath'],'startedAt':_0x2b6ba4}),await new Promise((_0x24ce28,_0x56ab0c)=>{const _0x142496=_0x107899;_0x3c260b[_0x142496(0x185)](_0x142496(0x196),_0x56ab0c),_0x3c260b['listen'](_0x56a708['socketPath'],_0x24ce28);}),await _0x5a8317(_0x56a708[_0x107899(0x1ad)],0x180);let _0x31fa0e={'pid':_0x5020c4[_0x107899(0x16e)],'startedAt':_0x2b6ba4,'socketPath':_0x56a708[_0x107899(0x1ad)],'runtimeRoot':_0x56a708[_0x107899(0x188)],'buildId':_0xdcd343};await _0x1fd243(_0x56a708['pidPath'],String(_0x5020c4[_0x107899(0x16e)]),_0x107899(0x160)),await _0x1fd243(_0x56a708[_0x107899(0x1b2)],JSON[_0x107899(0x16d)](_0x31fa0e,null,0x2),'utf8'),await _0x37c199(_0x56a708[_0x107899(0x16a)],{'event':_0x107899(0x164),'pid':_0x5020c4[_0x107899(0x16e)],'socketPath':_0x56a708[_0x107899(0x1ad)],'runtimeRoot':_0x56a708[_0x107899(0x188)],'startedAt':_0x2b6ba4,'buildId':_0xdcd343});let _0x39d12d=setInterval(()=>{_0x3f3a74['unloadIdleSessions']();},Math[_0x107899(0x187)](0x3e8,Math[_0x107899(0x1af)](_0x3f3a74['getSessionIdleTtlMs'](),0xea60)));_0x39d12d[_0x107899(0x18f)](),_0x5991e7[_0x107899(0x17e)]=_0x39d12d;async function _0x467e18(_0x495789){const _0x45e17d=_0x107899;_0x180d9b||(_0x180d9b=!0x0,_0x5991e7[_0x45e17d(0x17e)]!==void 0x0&&clearInterval(_0x5991e7[_0x45e17d(0x17e)]),await _0x37c199(_0x56a708[_0x45e17d(0x16a)],{'event':_0x45e17d(0x172),'pid':_0x5020c4['pid'],'reason':_0x495789,'timestamp':new Date()['toISOString']()}),await _0x3f3a74[_0x45e17d(0x1a6)](_0x495789),await new Promise(_0x46b12b=>{const _0x1a7abf=_0x45e17d;_0x3c260b[_0x1a7abf(0x17b)](()=>_0x46b12b());}),await _0x2ced3c(_0x56a708[_0x45e17d(0x1ad)],{'force':!0x0})['catch'](()=>void 0x0),await _0x2ced3c(_0x56a708[_0x45e17d(0x198)],{'force':!0x0})[_0x45e17d(0x19c)](()=>void 0x0),await _0x2ced3c(_0x56a708[_0x45e17d(0x1b2)],{'force':!0x0})[_0x45e17d(0x19c)](()=>void 0x0),await _0x2ced3c(_0x56a708[_0x45e17d(0x163)],{'recursive':!0x0,'force':!0x0})['catch'](()=>void 0x0));}_0x5020c4['on'](_0x107899(0x1be),()=>{const _0x42ed63=_0x107899;_0x467e18(_0x42ed63(0x1ab))['finally'](()=>{const _0x20c646=_0x42ed63;_0x5020c4[_0x20c646(0x1ae)](0x0);});}),_0x5020c4['on']('SIGTERM',()=>{const _0x4f8b86=_0x107899;_0x467e18(_0x4f8b86(0x16f))[_0x4f8b86(0x19e)](()=>{const _0x18e3a5=_0x4f8b86;_0x5020c4[_0x18e3a5(0x1ae)](0x0);});});}function _(_0x40b467){return async _0x3dc701=>{const _0x99d857=_0x203f;let _0x1a48bc;try{_0x1a48bc=JSON[_0x99d857(0x166)](_0x3dc701);}catch(_0x4ee197){return D(null,-0x7fbc,_0x4ee197);}try{switch(_0x1a48bc[_0x99d857(0x193)]){case _0x26a4b1['Health']:return{'jsonrpc':'2.0','id':_0x1a48bc['id'],'result':{'ok':!0x0,'pid':_0x40b467[_0x99d857(0x16e)],'startedAt':_0x40b467['startedAt'],'socketPath':_0x40b467['socketPath'],'runtimeRoot':_0x40b467['runtimeRoot'],'buildId':_0x40b467['buildId'],'sessionCount':_0x40b467[_0x99d857(0x171)]['getSessionCount']()}};case _0x26a4b1[_0x99d857(0x18e)]:return _0x40b467[_0x99d857(0x169)]?.(),{'jsonrpc':_0x99d857(0x189),'id':_0x1a48bc['id'],'result':{'stopping':!0x0}};case _0x26a4b1['SessionLoadWorkbook']:{let _0x3c9ec7=await _0x40b467['sessionHost'][_0x99d857(0x1a3)](_0x1a48bc[_0x99d857(0x1a5)]);return E(_0x1a48bc['id'],_0x3c9ec7);}case _0x26a4b1['SessionLoadWorkbookDataReplayPack']:{let _0x248d8b=await _0x40b467[_0x99d857(0x171)][_0x99d857(0x195)](_0x1a48bc[_0x99d857(0x1a5)]);return E(_0x1a48bc['id'],_0x248d8b);}case _0x26a4b1[_0x99d857(0x197)]:{let _0x23d9e9=await _0x40b467[_0x99d857(0x171)][_0x99d857(0x191)](_0x1a48bc['params']);return E(_0x1a48bc['id'],_0x23d9e9);}case _0x26a4b1[_0x99d857(0x16c)]:{let _0x13c46a=await _0x40b467[_0x99d857(0x171)][_0x99d857(0x1b0)](_0x1a48bc[_0x99d857(0x1a5)]);return E(_0x1a48bc['id'],_0x13c46a);}case _0x26a4b1[_0x99d857(0x180)]:{let _0x3ab8a6=await _0x40b467['sessionHost'][_0x99d857(0x1bc)](_0x1a48bc[_0x99d857(0x1a5)]);return E(_0x1a48bc['id'],_0x3ab8a6);}case _0x26a4b1['SessionExportWorkbookData']:{let _0x2a471c=_0x1a48bc[_0x99d857(0x1a5)],_0x26ce83=await _0x40b467[_0x99d857(0x171)][_0x99d857(0x1b7)](_0x2a471c);return E(_0x1a48bc['id'],_0x26ce83);}case _0x26a4b1[_0x99d857(0x1a1)]:{let _0x266889=await _0x40b467[_0x99d857(0x171)]['dispose'](_0x1a48bc['params']);return E(_0x1a48bc['id'],_0x266889);}case _0x26a4b1[_0x99d857(0x199)]:{let _0x34011e=await _0x40b467[_0x99d857(0x171)][_0x99d857(0x1a8)](_0x1a48bc[_0x99d857(0x1a5)]);return E(_0x1a48bc['id'],_0x34011e);}default:return D(_0x1a48bc['id'],-0x7f59,Error('Method\x20not\x20found:\x20'+_0x1a48bc[_0x99d857(0x193)]));}}catch(_0x16dde9){return await _0x40b467[_0x99d857(0x167)]?.({'method':_0x1a48bc['method'],'error':_0x16dde9 instanceof Error?_0x16dde9['message']:String(_0x16dde9),'timestamp':new Date()['toISOString']()}),D(_0x1a48bc['id'],-0x7f5b,_0x16dde9);}};}function v(_0x4b0508){return{async 'createWorkbook'(_0x558ae1){const _0x407d34=_0x203f;let _0x2fb982=await y(_0x558ae1),_0x4ebba5=await _0x4b0508[_0x407d34(0x191)]({..._0x558ae1[_0x407d34(0x15e)]===void 0x0?{}:{'cwd':_0x558ae1['cwd']},'identity':_0x2fb982,..._0x558ae1['id']===void 0x0?{}:{'workbookId':_0x558ae1['id']},..._0x558ae1[_0x407d34(0x1bb)]===void 0x0?{}:{'workbookName':_0x558ae1[_0x407d34(0x1bb)]}});return{'success':!0x0,'workbookData':_0x4ebba5[_0x407d34(0x1b6)],'session':b(_0x4ebba5['session'])};},async 'dispose'(_0x1f5151){const _0x1ba705=_0x203f;let _0x323428=await y(_0x1f5151);return await _0x4b0508[_0x1ba705(0x15f)]({..._0x1f5151['cwd']===void 0x0?{}:{'cwd':_0x1f5151['cwd']},'identity':_0x323428}),{'disposed':!0x0,'workbookIdentity':_0x323428['absolutePath']};},async 'destroyAll'(_0x3dab2d){const _0x3b3899=_0x203f;await _0x4b0508[_0x3b3899(0x1a6)]?.(_0x3dab2d);},async 'evalJs'(_0x279daf){const _0x249423=_0x203f;let _0x12ed92=await y(_0x279daf),_0x4240fc=await _0x4b0508['evalJs']({'code':_0x279daf['code'],..._0x279daf[_0x249423(0x15e)]===void 0x0?{}:{'cwd':_0x279daf[_0x249423(0x15e)]},'identity':_0x12ed92,..._0x279daf[_0x249423(0x18b)]===void 0x0?{}:{'mutates':_0x279daf[_0x249423(0x18b)]}});return{..._0x4240fc[_0x249423(0x1a2)]===void 0x0?{}:{'mutations':_0x4240fc['mutations']},'success':!0x0,'value':_0x4240fc[_0x249423(0x17c)],'session':b(_0x4240fc['session'])};},async 'exportWorkbookData'(_0x3fe5d9){const _0x49567f=_0x203f;let _0x2289fb=await y(_0x3fe5d9),_0x2c9c17=await _0x4b0508['exportWorkbookData']({..._0x3fe5d9['cwd']===void 0x0?{}:{'cwd':_0x3fe5d9['cwd']},'identity':_0x2289fb});return{'success':!0x0,'workbookData':_0x2c9c17[_0x49567f(0x1b6)],'session':b(_0x2c9c17[_0x49567f(0x18c)])};},async 'exportWorkbookFile'(_0xeab150){const _0x40a5e9=_0x203f;let _0x39b6b8=await y(_0xeab150),_0x126448=await _0x4b0508[_0x40a5e9(0x1bc)]({..._0xeab150[_0x40a5e9(0x15e)]===void 0x0?{}:{'cwd':_0xeab150[_0x40a5e9(0x15e)]},'format':_0xeab150['format'],'identity':_0x39b6b8,'outputPath':_0xeab150[_0x40a5e9(0x1b9)]});return{'success':!0x0,'format':_0x126448[_0x40a5e9(0x1a4)],'outputPath':_0x126448[_0x40a5e9(0x1b9)],'sizeBytes':_0x126448['sizeBytes'],'session':b(_0x126448[_0x40a5e9(0x18c)])};},async 'getWorkbookSession'(_0x54a53d){const _0x31c8a4=_0x203f;let _0x138ca0=await y(_0x54a53d),_0x3b0c52=await _0x4b0508[_0x31c8a4(0x18a)]({..._0x54a53d[_0x31c8a4(0x15e)]===void 0x0?{}:{'cwd':_0x54a53d[_0x31c8a4(0x15e)]},'identity':_0x138ca0});return{'exists':_0x3b0c52!==null,'session':_0x3b0c52===null?null:b(_0x3b0c52)};},'getSessionCount'(){const _0x195794=_0x203f;return _0x4b0508[_0x195794(0x162)]?.()??0x0;},'getSessionIdleTtlMs'(){const _0x71c052=_0x203f;return _0x4b0508[_0x71c052(0x194)]?.()??0xea60;},async 'loadWorkbook'(_0x18ae42){const _0x5d9b66=_0x203f;let _0x187d1b=await y(_0x18ae42),_0x222963=await _0x4b0508[_0x5d9b66(0x174)]({..._0x18ae42[_0x5d9b66(0x15e)]===void 0x0?{}:{'cwd':_0x18ae42[_0x5d9b66(0x15e)]},'identity':_0x187d1b,'workbookData':_0x18ae42['workbookData']});return{'success':!0x0,'workbookData':_0x222963[_0x5d9b66(0x1b6)],'session':b(_0x222963[_0x5d9b66(0x18c)])};},async 'loadWorkbookDataReplayPack'(_0x567d01){const _0x39f139=_0x203f;let _0x5606bc=await y(_0x567d01),_0x6f5e40=await _0x4b0508[_0x39f139(0x195)]({..._0x567d01[_0x39f139(0x15e)]===void 0x0?{}:{'cwd':_0x567d01['cwd']},'identity':_0x5606bc,'replayPack':{'baseWorkbookData':_0x567d01['baseWorkbookData'],'mutations':_0x567d01[_0x39f139(0x1a2)]}});return{'success':!0x0,'workbookData':_0x6f5e40[_0x39f139(0x1b6)],'session':b(_0x6f5e40[_0x39f139(0x18c)])};},async 'unloadIdleSessions'(){await _0x4b0508['unloadIdleSessions']?.();}};}function _0x3663(){const _0x3a55fd=['socketPath','exit','min','evalJs','win32','metaPath','toISOString','data','daemon.request.error','workbookData','exportWorkbookData','message','outputPath','kill','name','exportWorkbookFile','slice','SIGINT','sessionRoot','createServer','cwd','dispose','utf8','createdAt','getSessionCount','lockPath','daemon.start','end','parse','logRequestError','isFinite','onShutdownRequest','logPath','trim','SessionEvalJs','stringify','pid','sigterm','execArgv','sessionHost','daemon.stop','71020DlifKk','loadWorkbookData','rpc-shutdown','platform','argv','87NvdfDA','lastAccessedAt','EEXIST','close','value','createConnection','current','packageIdentity','SessionExportWorkbookFile','3402jdSIpb','1268516LfYlwJ','connect','env','once','30TUsWWX','max','homeDir','2.0','getSession','mutates','session','write','Shutdown','unref','serve','createWorkbook','indexOf','method','getSessionIdleTtlMs','loadWorkbookDataReplayPack','error','SessionCreateWorkbook','pidPath','SessionGetWorkbook','Unix\x20socket\x20daemon\x20transport\x20is\x20not\x20supported\x20on\x20Windows\x20in\x20this\x20version','modulePath','catch','Daemon\x20handler\x20not\x20ready:\x20','finally','2029404dxyJWW','absolutePath','SessionDispose','mutations','loadWorkbook','format','params','destroyAll','2433723rutekt','getWorkbookSession','1275282DwTmaE','382004qerPds','sigint','32KPuwyj'];_0x3663=function(){return _0x3a55fd;};return _0x3663();}async function y(_0x44393b){return await h['resolveIdentity'](_0x44393b);}function b(_0xf07222){const _0xe816e1=_0x203f;return{'createdAt':_0xf07222[_0xe816e1(0x161)]??'','lastAccessedAt':_0xf07222[_0xe816e1(0x179)]??'','sessionId':_0xf07222['sessionId'],'workbookIdentity':_0xf07222[_0xe816e1(0x17f)][_0xe816e1(0x1a0)]};}async function x(_0x3e2f9f){const _0x2d20ee=_0x203f;_0x16d68f(_0x3e2f9f[_0x2d20ee(0x1ad)])&&!await C(_0x3e2f9f[_0x2d20ee(0x1ad)])&&await _0x2ced3c(_0x3e2f9f[_0x2d20ee(0x1ad)],{'force':!0x0});let _0x24f024=await w(_0x3e2f9f[_0x2d20ee(0x198)]);_0x24f024!==null&&!T(_0x24f024)&&(await _0x2ced3c(_0x3e2f9f['pidPath'],{'force':!0x0})['catch'](()=>void 0x0),await _0x2ced3c(_0x3e2f9f[_0x2d20ee(0x1b2)],{'force':!0x0})[_0x2d20ee(0x19c)](()=>void 0x0),await _0x2ced3c(_0x3e2f9f['lockPath'],{'recursive':!0x0,'force':!0x0})[_0x2d20ee(0x19c)](()=>void 0x0));}async function S(_0x451568,_0x35d29d){const _0x2681a0=_0x203f;try{return await _0x9aca0(_0x451568,{'recursive':!0x1,'mode':0x1c0}),!0x0;}catch(_0x3ee771){if(_0x3ee771['code']!==_0x2681a0(0x17a))throw _0x3ee771;let _0x5f22b7=await w(_0x35d29d);return _0x5f22b7!==null&&T(_0x5f22b7)?!0x1:(await _0x2ced3c(_0x451568,{'recursive':!0x0,'force':!0x0}),await _0x9aca0(_0x451568,{'recursive':!0x1,'mode':0x1c0}),!0x0);}}async function C(_0x197b0b){return await new Promise(_0x9a7d65=>{const _0x5e1d86=_0x203f;let _0x26365d=_0x4459e8[_0x5e1d86(0x17d)](_0x197b0b);_0x26365d[_0x5e1d86(0x185)](_0x5e1d86(0x183),()=>{const _0x393279=_0x5e1d86;_0x26365d[_0x393279(0x165)](),_0x9a7d65(!0x0);}),_0x26365d[_0x5e1d86(0x185)](_0x5e1d86(0x196),()=>{_0x9a7d65(!0x1);});});}function _0x203f(_0x379256,_0x4844a3){_0x379256=_0x379256-0x15e;const _0x36639e=_0x3663();let _0x203fc9=_0x36639e[_0x379256];return _0x203fc9;}async function w(_0x3154b4){const _0x387cb8=_0x203f;try{let _0x197c8d=await _0x42eb31(_0x3154b4,_0x387cb8(0x160)),_0x1aedfa=Number(_0x197c8d[_0x387cb8(0x16b)]());return Number[_0x387cb8(0x168)](_0x1aedfa)?_0x1aedfa:null;}catch{return null;}}function T(_0x5c63e0){const _0x50591d=_0x203f;try{return _0x5020c4[_0x50591d(0x1ba)](_0x5c63e0,0x0),!0x0;}catch{return!0x1;}}function E(_0x5cc518,_0x33b7c1){return{'jsonrpc':'2.0','id':_0x5cc518,'result':_0x33b7c1};}function D(_0x51bacb,_0x41e22c,_0xd2de05){const _0x3c867f=_0x203f;return{'jsonrpc':_0x3c867f(0x189),'id':_0x51bacb,'error':{'code':_0x41e22c,'message':_0xd2de05 instanceof Error?_0xd2de05['message']:String(_0xd2de05)}};}var O=process[_0x513267(0x177)][0x2]??_0x513267(0x190);O!==_0x513267(0x190)&&(console[_0x513267(0x196)]('Unknown\x20daemon\x20subcommand:\x20'+O),process[_0x513267(0x1ae)](0x1)),g()[_0x513267(0x19c)](_0x4f1472=>{const _0x15a3b9=_0x513267;console['error'](_0x4f1472 instanceof Error?_0x4f1472[_0x15a3b9(0x1b8)]:String(_0x4f1472)),process[_0x15a3b9(0x1ae)](0x1);});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x39bcbf=_0x541f;(function(_0x5ab0fa,_0x4fbe9e){const _0x18f258=_0x541f,_0x326ca9=_0x5ab0fa();while(!![]){try{const _0x39665d=parseInt(_0x18f258(0xec))/0x1*(-parseInt(_0x18f258(0xfd))/0x2)+-parseInt(_0x18f258(0x108))/0x3+parseInt(_0x18f258(0xe3))/0x4*(-parseInt(_0x18f258(0x107))/0x5)+parseInt(_0x18f258(0x11d))/0x6+-parseInt(_0x18f258(0x106))/0x7+-parseInt(_0x18f258(0xf6))/0x8+parseInt(_0x18f258(0x10a))/0x9;if(_0x39665d===_0x4fbe9e)break;else _0x326ca9['push'](_0x326ca9['shift']());}catch(_0x4d60c9){_0x326ca9['push'](_0x326ca9['shift']());}}}(_0x433e,0xefd14));import{$t as _0x50d1bd,At as _0x568f85,Dt as _0x480c52,Et as _0x1ba706,Ft as _0x125d1d,It as _0x466b14,Jt as _0x521fe2,Lt as _0x3a2763,Mt as _0x3e5824,Nt as _0x5dc134,Ot as _0x50373c,Pt as _0x27e9cc,Qt as _0x265d8a,Rt as _0x1d9a91,Tt as _0x5c56ce,Xt as _0x2c9b0f,Yt as _0x24f5fb,Zt as _0x56cc15,an as _0x32c074,cn as _0x1d4aff,dn as _0x129962,en as _0x30948c,in as _0x2f1389,jt as _0x2cb990,kt as _0x3bdf5a,ln as _0x57e963,on as _0x4bd3d4,qt as _0x4b5f5e,sn as _0x118685,tn as _0x3b176e,un as _0x105034,wt as _0x13b895}from'../chunks/vendor-DsmUI-SV.js';import{writeFile as _0x1c57cc}from'node:fs/promises';var N=_0x39bcbf(0xc7),P=_0x39bcbf(0x10e),F=_0x39bcbf(0xe7),I=_0x39bcbf(0x11b),L=0x3e8,R=0x1a,z=_0x39bcbf(0xd9);function B(){const _0x11f50a=_0x39bcbf;let _0x3ed8ea=new _0x1d4aff({'locale':_0x118685['EN_US'],'locales':{[_0x118685[_0x11f50a(0xc3)]]:_0x57e963(_0x466b14,_0x27e9cc)}});_0x3ed8ea[_0x11f50a(0xd1)](_0x265d8a),_0x3ed8ea[_0x11f50a(0xd1)](_0x50d1bd),_0x3ed8ea['registerPlugin'](_0x125d1d),_0x3ed8ea[_0x11f50a(0xd1)](_0x30948c),_0x5dc134[_0x11f50a(0x116)]=N,_0x50373c[_0x11f50a(0x116)]=N,_0x3ed8ea[_0x11f50a(0xd1)](_0x5dc134,{'enableDynamicToolExecution':!0x0}),_0x3ed8ea[_0x11f50a(0xd1)](_0x50373c),_0x3ed8ea[_0x11f50a(0xd1)](_0x3b176e),_0x3ed8ea['registerPlugin'](_0x1ba706),_0x3ed8ea['registerPlugin'](_0x2c9b0f),_0x3ed8ea[_0x11f50a(0xd1)](_0x4b5f5e),_0x3ed8ea['registerPlugin'](_0x5c56ce),_0x3ed8ea[_0x11f50a(0xd1)](_0x2cb990),_0x3ed8ea['registerPlugin'](_0x24f5fb),_0x3ed8ea[_0x11f50a(0xd1)](_0x3bdf5a),_0x3ed8ea[_0x11f50a(0xd1)](_0x521fe2),_0x3ed8ea[_0x11f50a(0xd1)](_0x480c52),_0x3ed8ea['registerPlugin'](_0x56cc15),_0x3ed8ea[_0x11f50a(0xd1)](_0x13b895),_0x3ed8ea[_0x11f50a(0xd1)](_0x568f85);let _0x4cfdf1=_0x1d9a91['newAPI'](_0x3ed8ea),_0xf81896=_0x3ed8ea[_0x11f50a(0xe1)](),_0x2e5901=_0xf81896['get'](_0x3e5824);_0x2e5901[_0x11f50a(0xf7)]=!0x1;let _0x144d05=_0xf81896[_0x11f50a(0xd3)](_0x32c074),_0xad914a=_0xf81896['get'](_0x4bd3d4),_0x8b5e92=null,_0x5b4d20=null,_0x3a35c6=_0x144d05[_0x11f50a(0x11a)]((_0x4cc786,_0x535c8f)=>{const _0x52ddfa=_0x11f50a;if(_0x8b5e92===null)return;let _0x357482=V(_0x4cc786,_0x535c8f,_0x8b5e92['unitId']);_0x357482!==null&&_0x8b5e92[_0x52ddfa(0xdd)][_0x52ddfa(0xf0)](_0x357482);}),_0xf49476={'univer':_0x3ed8ea,'univerAPI':_0x4cfdf1,'createWorkbook'(_0x6317aa){return _0x26946d(K(_0x6317aa));},'dispose'(){const _0x3fdcde=_0x11f50a;_0x3a35c6[_0x3fdcde(0xe8)](),_0x1d4ad1(),_0x3ed8ea['dispose']();},async 'evalJs'(_0x247f47,_0x25d4e6=0x186a0){const _0x538617=_0x11f50a;if(_0x247f47[_0x538617(0xc4)]>_0x25d4e6)throw Error(_0x538617(0xef)+_0x25d4e6+_0x538617(0x113));return await Function(_0x538617(0x100),'return\x20(async\x20()\x20=>\x20{\x20'+_0x247f47+'\x20})();')(_0x4cfdf1);},async 'evalJsWithMutationCapture'(_0x5e807d,_0x1c61c6=0x186a0){const _0x7c536a=_0x11f50a;let _0x472178=_0x1f102a()[_0x7c536a(0x10b)]();if(_0x8b5e92!==null)throw Error(_0x7c536a(0x10c));let _0x164869={'mutations':[],'unitId':_0x472178};_0x8b5e92=_0x164869;try{return{'value':await _0xf49476[_0x7c536a(0x10f)](_0x5e807d,_0x1c61c6),'mutations':_0x164869[_0x7c536a(0xdd)]};}finally{_0x8b5e92=null;}},async 'exportWorkbookFile'(_0x2acb92,_0x53cabd){const _0x2bed4a=_0x11f50a;let _0x2ab569=_0xf49476['exportWorkbookData']();if(_0x53cabd===_0x2bed4a(0x10d)){let _0x2e9f55=U(_0x2ab569);return await _0x1c57cc(_0x2acb92,_0x2e9f55,_0x2bed4a(0xe2)),{'format':_0x53cabd,'outputPath':_0x2acb92,'sizeBytes':Buffer['byteLength'](_0x2e9f55,_0x2bed4a(0xe2))};}throw Error(_0x2bed4a(0xeb));},'exportWorkbookData'(){const _0xae8eef=_0x11f50a;let _0x214aec=_0x1f102a();return _0xf81896['createInstance'](_0x3a2763,_0x214aec)[_0xae8eef(0x103)]();},'loadWorkbookDataReplayPack'(_0x46b402){const _0x52602f=_0x11f50a;return _0x26946d(_0x46b402['baseWorkbookData']),_0x3e4d52(_0x46b402[_0x52602f(0xdd)]),_0xf49476[_0x52602f(0xe6)]();},'loadWorkbookData':_0x26946d};return _0xf49476;function _0x1d4ad1(){_0x5b4d20&&=(_0xad914a['disposeUnit'](_0x5b4d20),null);}function _0x1f102a(){const _0x5a07d3=_0x11f50a;if(!_0x5b4d20)throw Error(_0x5a07d3(0xc5));let _0x529af0=_0xad914a['getUnit'](_0x5b4d20,_0x129962['UNIVER_SHEET']);if(!_0x529af0)throw Error(_0x5a07d3(0xca)+_0x5b4d20);return _0x529af0;}function _0x26946d(_0x301526){const _0x3cd6cf=_0x11f50a;return _0x1d4ad1(),_0x5b4d20=_0xad914a[_0x3cd6cf(0xf9)](_0x129962[_0x3cd6cf(0xdf)],structuredClone(_0x301526))['getUnitId'](),_0xf49476['exportWorkbookData']();}function _0x3e4d52(_0x278170){const _0x3d6e05=_0x11f50a;if(_0x278170[_0x3d6e05(0xc4)]===0x0)return;let _0x2f84e1=_0x105034(_0x278170[_0x3d6e05(0xd0)](_0x7464f8=>({'id':_0x7464f8['id'],'params':structuredClone(_0x7464f8[_0x3d6e05(0xff)]),'type':_0x2f1389[_0x3d6e05(0x105)]})),_0x144d05,{'fromChangeset':!0x0,'onlyLocal':!0x0});if(!_0x2f84e1[_0x3d6e05(0xed)]){let _0x419f3e=_0x278170[_0x2f84e1[_0x3d6e05(0xc6)]];throw Error(_0x3d6e05(0xc8)+(_0x419f3e?.['id']??'<unknown>')+_0x3d6e05(0x110)+_0x2f84e1[_0x3d6e05(0xc6)]);}}}function V(_0x1931dd,_0x4966d1,_0x2a6bb0){const _0x1d8c46=_0x39bcbf;return _0x1931dd[_0x1d8c46(0xc9)]!==_0x2f1389['MUTATION']||_0x4966d1?.['fromCollab']||_0x4966d1?.['onlyLocal']||_0x1931dd['id']===z||!H(_0x1931dd[_0x1d8c46(0xff)])||_0x1931dd[_0x1d8c46(0xff)][_0x1d8c46(0x111)]!==_0x2a6bb0?null:{'id':_0x1931dd['id'],'params':structuredClone(_0x1931dd['params']),'type':_0x2f1389['MUTATION']};}function H(_0x4c25fa){const _0x300fc5=_0x39bcbf;return typeof _0x4c25fa=='object'&&!!_0x4c25fa&&!Array[_0x300fc5(0xe5)](_0x4c25fa);}function _0x433e(){const _0xaa5369=['UNIVER_SHEET','LoadWorkbookDataReplayPack','__getInjector','utf8','179188nPVALl','evaljs','isArray','exportWorkbookData','sheet-1','dispose','evalJsWithMutationCapture','string','runtime\x20xlsx\x20export\x20is\x20not\x20available;\x20use\x20workbook\x20exchange\x20export','3aojXEO','result','workbook-','Code\x20too\x20long\x20(max\x20','push','filter','LoadWorkbook','name','method','sheets','5511272TobtaS','enableAutoConnect','cellData','createUnit','data','disconnect','tail','162662qVLfTt','sort','params','univerAPI','boolean','value','save','Method\x20not\x20implemented:\x20','MUTATION','4253984sEqDxs','50JBpoiB','4563684nPJhew','2.0','37862748ZCrNox','getUnitId','Mutation\x20collection\x20is\x20already\x20active','csv','enUS','evalJs','\x20at\x20index\x20','unitId','ExportWorkbookFile','\x20characters)','join','send','version','exportWorkbookFile','sheetOrder','rpc-response','onMutationExecutedForCollab','Sheet1','EvalJs','1710792NtvyPe','EN_US','length','Workbook\x20not\x20loaded','index','0.21.1','Failed\x20to\x20replay\x20mutation\x20','type','Workbook\x20not\x20found:\x20','exit','ExportWorkbookData','number','message','resolve','map','registerPlugin','loadWorkbook','get','SIGTERM','keys','CreateWorkbook','format','isFinite','doc.mutation.rich-text-editing','enqueue','toString','mutates','mutations','code'];_0x433e=function(){return _0xaa5369;};return _0x433e();}function U(_0x4e7446){const _0x4f51d4=_0x39bcbf;let _0x5e9b91=_0x4e7446[_0x4f51d4(0x118)]?.[0x0];if(!_0x5e9b91)return'';let _0x154226=_0x4e7446[_0x4f51d4(0xf5)]?.[_0x5e9b91];if(!_0x154226?.[_0x4f51d4(0xf8)])return'';let _0x203772=Object[_0x4f51d4(0xd5)](_0x154226[_0x4f51d4(0xf8)])[_0x4f51d4(0xd0)](Number)['filter'](Number['isFinite'])[_0x4f51d4(0xfe)]((_0x2b4658,_0x4f6dde)=>_0x2b4658-_0x4f6dde),_0x77fd87=[];for(let _0x608d01 of _0x203772){let _0x5d730f=_0x154226['cellData'][_0x608d01];if(!_0x5d730f)continue;let _0x47d845=Object[_0x4f51d4(0xd5)](_0x5d730f)['map'](Number)[_0x4f51d4(0xf1)](Number[_0x4f51d4(0xd8)])[_0x4f51d4(0xfe)]((_0x7ca9f7,_0x570bcb)=>_0x7ca9f7-_0x570bcb),_0x51b44f=[];for(let _0x9c8398 of _0x47d845){let _0x1b40a5=_0x5d730f[_0x9c8398];_0x51b44f[_0x9c8398]=G(W(_0x1b40a5));}_0x77fd87['push'](_0x51b44f[_0x4f51d4(0xd0)](_0x54909a=>_0x54909a??'')[_0x4f51d4(0x114)](','));}return _0x77fd87[_0x4f51d4(0x114)]('\x0a');}function W(_0x460d77){const _0x2d0531=_0x39bcbf;if(!_0x460d77||typeof _0x460d77!='object')return'';let _0x2b80ee=_0x460d77;return typeof _0x2b80ee['v']==_0x2d0531(0xea)?_0x2b80ee['v']:typeof _0x2b80ee['v']==_0x2d0531(0xcd)||typeof _0x2b80ee['v']==_0x2d0531(0x101)?String(_0x2b80ee['v']):typeof _0x2b80ee['p']==_0x2d0531(0xea)?_0x2b80ee['p']:'';}function G(_0x59ca5a){return/[",\n]/['test'](_0x59ca5a)?'\x22'+_0x59ca5a['replaceAll']('\x22','\x22\x22')+'\x22':_0x59ca5a;}function K(_0x29d0a4={}){const _0x69cba7=_0x39bcbf;let _0x17a79c=_0x29d0a4['id']??_0x69cba7(0xee)+Date['now']()[_0x69cba7(0xdb)](0x24);return{'id':_0x17a79c,'name':_0x29d0a4[_0x69cba7(0xf3)]??_0x17a79c,'appVersion':N,'locale':P,'styles':{},'sheetOrder':[F],'sheets':{[F]:{'id':F,'name':I,'rowCount':L,'columnCount':R,'cellData':{}}},'resources':[]};}let q=function(_0x5ee814){const _0x11de9d=_0x39bcbf;return _0x5ee814[_0x11de9d(0xd6)]='createWorkbook',_0x5ee814[_0x11de9d(0x11c)]=_0x11de9d(0xe4),_0x5ee814[_0x11de9d(0x112)]=_0x11de9d(0x117),_0x5ee814[_0x11de9d(0xcc)]=_0x11de9d(0xe6),_0x5ee814[_0x11de9d(0xf2)]=_0x11de9d(0xd2),_0x5ee814[_0x11de9d(0xe0)]='loadWorkbookDataReplayPack',_0x5ee814;}({});var J=class{[_0x39bcbf(0xfc)]=Promise[_0x39bcbf(0xcf)]();async[_0x39bcbf(0xda)](_0x2c77a9){const _0x1bce4d=_0x39bcbf;let _0x3d090d=this[_0x1bce4d(0xfc)],_0x3cd3c7;this[_0x1bce4d(0xfc)]=new Promise(_0x47cd0b=>{_0x3cd3c7=_0x47cd0b;}),await _0x3d090d;try{return await _0x2c77a9();}finally{_0x3cd3c7?.();}}},Y=B(),X=new J();function _0x541f(_0xb62c56,_0x853493){_0xb62c56=_0xb62c56-0xc3;const _0x433e40=_0x433e();let _0x541ff2=_0x433e40[_0xb62c56];return _0x541ff2;}process[_0x39bcbf(0x115)]?.({'type':'ready'}),process['on'](_0x39bcbf(0xce),async _0x493498=>{const _0x3124ac=_0x39bcbf;if(_0x493498?.[_0x3124ac(0xc9)]!=='rpc-request')return;let _0xc851f7=await Z(_0x493498[_0x3124ac(0xfa)]);process[_0x3124ac(0x115)]?.({'type':_0x3124ac(0x119),'id':_0x493498['id'],'data':_0xc851f7});}),process['on'](_0x39bcbf(0xfb),()=>{const _0x479c5e=_0x39bcbf;Y[_0x479c5e(0xe8)](),process[_0x479c5e(0xcb)](0x0);}),process['on'](_0x39bcbf(0xd4),()=>{const _0x1613aa=_0x39bcbf;Y[_0x1613aa(0xe8)](),process[_0x1613aa(0xcb)](0x0);});async function Z(_0xde0ec8){const _0x2af524=_0x39bcbf;try{switch(_0xde0ec8[_0x2af524(0xf4)]){case q[_0x2af524(0xd6)]:{let _0x5ad938=Y['createWorkbook'](_0xde0ec8[_0x2af524(0xff)]??{});return{'jsonrpc':'2.0','id':_0xde0ec8['id'],'result':{'success':!0x0,'workbookData':_0x5ad938}};}case q[_0x2af524(0xf2)]:{let _0x389e3=Y['loadWorkbookData'](_0xde0ec8[_0x2af524(0xff)]['workbookData']);return{'jsonrpc':_0x2af524(0x109),'id':_0xde0ec8['id'],'result':{'success':!0x0,'workbookData':_0x389e3}};}case q[_0x2af524(0xe0)]:{let _0x14f977=Y['loadWorkbookDataReplayPack'](_0xde0ec8[_0x2af524(0xff)]);return{'jsonrpc':_0x2af524(0x109),'id':_0xde0ec8['id'],'result':{'success':!0x0,'workbookData':_0x14f977}};}case q[_0x2af524(0xcc)]:return{'jsonrpc':_0x2af524(0x109),'id':_0xde0ec8['id'],'result':{'success':!0x0,'workbookData':Y['exportWorkbookData']()}};case q[_0x2af524(0x112)]:{let _0x5d6231=_0xde0ec8[_0x2af524(0xff)],_0x54d1a0=await Y[_0x2af524(0x117)](_0x5d6231['outputPath'],_0x5d6231[_0x2af524(0xd7)]);return{'jsonrpc':'2.0','id':_0xde0ec8['id'],'result':{'success':!0x0,..._0x54d1a0}};}case q[_0x2af524(0x11c)]:{let _0x2527a8=_0xde0ec8[_0x2af524(0xff)]??{},_0x20c09a=async()=>{const _0x582a94=_0x2af524;let _0x3e4b02=_0x2527a8[_0x582a94(0xdc)]?await Y[_0x582a94(0xe9)](_0x2527a8[_0x582a94(0xde)]):{'value':await Y[_0x582a94(0x10f)](_0x2527a8['code']),'mutations':void 0x0};return{'success':!0x0,..._0x3e4b02[_0x582a94(0xdd)]===void 0x0?{}:{'mutations':_0x3e4b02[_0x582a94(0xdd)]},'value':_0x3e4b02[_0x582a94(0x102)]};},_0x2b94b9=_0x2527a8[_0x2af524(0xdc)]?await X[_0x2af524(0xda)](_0x20c09a):await _0x20c09a();return{'jsonrpc':_0x2af524(0x109),'id':_0xde0ec8['id'],'result':_0x2b94b9};}default:throw Error(_0x2af524(0x104)+String(_0xde0ec8[_0x2af524(0xf4)]));}}catch(_0x7d481c){return{'jsonrpc':'2.0','id':_0xde0ec8['id'],'error':{'code':-0x7f5b,'message':_0x7d481c instanceof Error?_0x7d481c[_0x2af524(0xce)]:String(_0x7d481c)}};}}
|
package/package.json
CHANGED
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "univer-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
"
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Command-line tools for local Univer workbook automation.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/dream-num/univer.git"
|
|
8
8
|
},
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
"homepage": "https://github.com/dream-num/univer#readme",
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/dream-num/univer/issues"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"automation",
|
|
15
|
+
"cli",
|
|
16
|
+
"spreadsheet",
|
|
17
|
+
"univer",
|
|
18
|
+
"univer-cli",
|
|
19
|
+
"workbook",
|
|
20
|
+
"xlsx"
|
|
21
|
+
],
|
|
22
|
+
"type": "module",
|
|
23
|
+
"bin": {
|
|
24
|
+
"univer": "./bin/univer.js"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@univerjs-pro/uexcli": "0.1.20"
|
|
28
|
+
},
|
|
29
|
+
"private": false,
|
|
13
30
|
"publishConfig": {
|
|
14
31
|
"registry": "https://registry.npmjs.org/"
|
|
15
32
|
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Core
|
|
2
|
+
|
|
3
|
+
This topic groups the workbook, worksheet, and structural APIs behind most `run` tasks.
|
|
4
|
+
|
|
5
|
+
## Object Hierarchy
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
univerAPI
|
|
9
|
+
-> getActiveWorkbook() -> FWorkbook
|
|
10
|
+
-> getSheetByName(name) -> FWorksheet | null
|
|
11
|
+
-> getRange(...) -> FRange
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Entry Point
|
|
15
|
+
|
|
16
|
+
Start from the active workbook:
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Top-level APIs used most often:
|
|
23
|
+
|
|
24
|
+
- `univerAPI.getActiveWorkbook() -> FWorkbook` - get the current active workbook
|
|
25
|
+
- `univerAPI.getFormula() -> FFormula` - get the formula engine instance used for calculation synchronization
|
|
26
|
+
|
|
27
|
+
Dimension constants used by `insertCells()` and `deleteCells()`:
|
|
28
|
+
|
|
29
|
+
- `univerAPI.Enum.Dimension.ROWS` - row dimension constant for `insertCells()` and `deleteCells()`
|
|
30
|
+
- `univerAPI.Enum.Dimension.COLUMNS` - column dimension constant for `insertCells()` and `deleteCells()`
|
|
31
|
+
|
|
32
|
+
## Workbook And Worksheet Access
|
|
33
|
+
|
|
34
|
+
Use the workbook object to locate, list, create, and delete sheets.
|
|
35
|
+
|
|
36
|
+
- `getSheetByName(name) -> FWorksheet | null` - recommended explicit lookup by sheet name
|
|
37
|
+
- `getSheets() -> FWorksheet[]` - list all worksheets; useful when the task first needs sheet names
|
|
38
|
+
- `create(name, rows, cols) -> FWorksheet` - create a new worksheet with an initial shape
|
|
39
|
+
- `deleteSheet(sheetId) -> boolean` - delete the specified worksheet by sheet id
|
|
40
|
+
|
|
41
|
+
Common worksheet reads:
|
|
42
|
+
|
|
43
|
+
- `getSheetId() -> number`
|
|
44
|
+
- `getSheetName() -> string`
|
|
45
|
+
- `getLastRow() -> number` - 0-based index of the last row with data
|
|
46
|
+
- `getLastColumn() -> number` - 0-based index of the last column with data
|
|
47
|
+
- `hasHiddenGridLines() -> boolean`
|
|
48
|
+
|
|
49
|
+
Common worksheet writes:
|
|
50
|
+
|
|
51
|
+
- `setName(name) -> void`
|
|
52
|
+
- `insertRows(rowIndex, numRows) -> FWorksheet`
|
|
53
|
+
- `deleteRows(rowIndex, numRows) -> FWorksheet`
|
|
54
|
+
- `insertColumns(columnIndex, numColumns) -> FWorksheet`
|
|
55
|
+
- `deleteColumns(columnIndex, numColumns) -> FWorksheet`
|
|
56
|
+
- `setFrozenRows(rows)` or `setFrozenRows(startRow, endRow) -> FWorksheet`
|
|
57
|
+
- `setFrozenColumns(columns)` or `setFrozenColumns(startColumn, endColumn) -> FWorksheet`
|
|
58
|
+
- `setHiddenGridlines(hidden) -> FWorksheet`
|
|
59
|
+
- `setGridLinesColor(color) -> FWorksheet` - `undefined` or `null` resets to default
|
|
60
|
+
- `setRowHeight(rowIndex, height) -> FWorksheet`
|
|
61
|
+
- `setRowHeights(startRow, numRows, height) -> FWorksheet`
|
|
62
|
+
- `showRows(rowIndex, numRows) -> FWorksheet`
|
|
63
|
+
- `hideRows(rowIndex, numRows) -> FWorksheet`
|
|
64
|
+
- `autoResizeRows(startRow, numRows) -> FWorksheet`
|
|
65
|
+
- `setColumnWidth(columnIndex, width) -> FWorksheet`
|
|
66
|
+
- `setColumnWidths(startColumn, numColumns, width) -> FWorksheet`
|
|
67
|
+
- `showColumns(columnIndex, numColumns) -> FWorksheet`
|
|
68
|
+
- `hideColumns(columnIndex, numColumns) -> FWorksheet`
|
|
69
|
+
- `autoResizeColumns(startColumn, numColumns) -> FWorksheet`
|
|
70
|
+
|
|
71
|
+
Example:
|
|
72
|
+
|
|
73
|
+
```javascript
|
|
74
|
+
() => {
|
|
75
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
76
|
+
const existing = workbook.getSheetByName("Summary");
|
|
77
|
+
if (existing) {
|
|
78
|
+
return { success: true, sheetName: existing.getSheetName() };
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const sheet = workbook.create("Summary", 100, 20);
|
|
82
|
+
return { success: true, sheetName: sheet.getSheetName() };
|
|
83
|
+
};
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Formula wait API:
|
|
87
|
+
|
|
88
|
+
- `onCalculationResultApplied() -> Promise<void>` - wait until formula-calculation results are applied before reading computed values
|
|
89
|
+
- note: if a real calculation runs, it resolves when results are applied; if no calculation starts quickly, it can resolve automatically instead of hanging forever
|
|
90
|
+
|
|
91
|
+
## getRange()
|
|
92
|
+
|
|
93
|
+
`getRange()` is the standard bridge from a worksheet to cell-level work.
|
|
94
|
+
|
|
95
|
+
Supported forms:
|
|
96
|
+
|
|
97
|
+
- `getRange('A1')`
|
|
98
|
+
- `getRange('A1:C10')`
|
|
99
|
+
- `getRange('A:A')`
|
|
100
|
+
- `getRange('1:1')`
|
|
101
|
+
- `getRange(row, col)`
|
|
102
|
+
- `getRange(row, col, rowCount, colCount)`
|
|
103
|
+
|
|
104
|
+
Example:
|
|
105
|
+
|
|
106
|
+
```javascript
|
|
107
|
+
() => {
|
|
108
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
109
|
+
const sheet = workbook.getSheetByName("Sales");
|
|
110
|
+
if (!sheet) return { success: false, error: 'Sheet "Sales" not found' };
|
|
111
|
+
|
|
112
|
+
const header = sheet.getRange("A1:C1").getValues();
|
|
113
|
+
const firstCell = sheet.getRange(0, 0).getValue();
|
|
114
|
+
|
|
115
|
+
return { success: true, header, firstCell };
|
|
116
|
+
};
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Coordinate Model
|
|
120
|
+
|
|
121
|
+
Numeric coordinates are 0-based:
|
|
122
|
+
|
|
123
|
+
- `getRange(0, 0)` is `A1`
|
|
124
|
+
- `getRange(1, 2)` is `C2`
|
|
125
|
+
- `getRange(0, 0, 2, 2)` is `A1:B2`
|
|
126
|
+
- `insertRows(4, 3)` inserts 3 rows starting at spreadsheet row 5
|
|
127
|
+
- `insertColumns(1, 2)` inserts 2 columns starting at spreadsheet column B
|
|
128
|
+
|
|
129
|
+
Use numeric coordinates for loops or generated positions. Use A1 notation when the target is fixed and workbook-facing.
|
|
130
|
+
|
|
131
|
+
## A1 Notation
|
|
132
|
+
|
|
133
|
+
Prefer A1 notation for explicit workbook-facing locations:
|
|
134
|
+
|
|
135
|
+
- `'A1'`
|
|
136
|
+
- `'A1:B10'`
|
|
137
|
+
- `'A:A'`
|
|
138
|
+
- `'1:1'`
|
|
139
|
+
|
|
140
|
+
## Related Topics
|
|
141
|
+
|
|
142
|
+
- See `sheets` for worksheet-focused structure and presentation tasks.
|
|
143
|
+
- See `ranges` for cell reads, writes, formulas, merges, clear, cell shifts, and AutoFill.
|
|
144
|
+
- See `overview` when you need the command shape, execution rules, and hard rules.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Formatting
|
|
2
|
+
|
|
3
|
+
This topic groups the formatting APIs commonly used in `run`.
|
|
4
|
+
|
|
5
|
+
## Font Formatting
|
|
6
|
+
|
|
7
|
+
Available font APIs:
|
|
8
|
+
|
|
9
|
+
- `setFontWeight(weight) -> FRange` - set font weight such as `'bold'`; `null` clears it
|
|
10
|
+
- `setFontLine(line) -> FRange` - set text decoration such as `'underline'`, `'line-through'`, or `'none'`
|
|
11
|
+
- `setFontFamily(family) -> FRange` - set font family such as `Arial`, `Verdana`, `Microsoft YaHei`, `SimSun`, or `SimHei`
|
|
12
|
+
- `setFontSize(size) -> FRange` - set font size as a number
|
|
13
|
+
- `setFontColor(color) -> FRange` - set font color with a CSS color string such as `'#ffffff'` or `'white'`; `null` resets it
|
|
14
|
+
- `setFontStyle(style) -> FRange` - set font style such as `'italic'` or `'normal'`; `null` resets it
|
|
15
|
+
|
|
16
|
+
Example:
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
() => {
|
|
20
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
21
|
+
const sheet = workbook.getSheetByName("Report");
|
|
22
|
+
if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
|
|
23
|
+
|
|
24
|
+
sheet
|
|
25
|
+
.getRange("A1:D1")
|
|
26
|
+
.setFontWeight("bold")
|
|
27
|
+
.setFontSize(14)
|
|
28
|
+
.setFontFamily("Arial")
|
|
29
|
+
.setFontColor("#1F1F1F");
|
|
30
|
+
|
|
31
|
+
return { success: true };
|
|
32
|
+
};
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Background Fill
|
|
36
|
+
|
|
37
|
+
Available background API:
|
|
38
|
+
|
|
39
|
+
- `setBackgroundColor(color) -> FRange` - set background fill color with a CSS color string
|
|
40
|
+
|
|
41
|
+
Example:
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
() => {
|
|
45
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
46
|
+
const sheet = workbook.getSheetByName("Report");
|
|
47
|
+
if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
|
|
48
|
+
|
|
49
|
+
sheet.getRange("A1:D1").setBackgroundColor("#F2F2F2");
|
|
50
|
+
return { success: true };
|
|
51
|
+
};
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Alignment
|
|
55
|
+
|
|
56
|
+
Available alignment APIs:
|
|
57
|
+
|
|
58
|
+
- `setHorizontalAlignment(alignment) -> FRange` - set horizontal alignment such as `'left'`, `'center'`, or `'normal'`
|
|
59
|
+
- `setVerticalAlignment(alignment) -> FRange` - set vertical alignment such as `'top'`, `'middle'`, or `'bottom'`
|
|
60
|
+
|
|
61
|
+
Notes:
|
|
62
|
+
|
|
63
|
+
- in this API, `'normal'` horizontal alignment means right alignment
|
|
64
|
+
- use alignment changes only when workbook-visible verification does not already have a smaller primitive
|
|
65
|
+
|
|
66
|
+
Example:
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
() => {
|
|
70
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
71
|
+
const sheet = workbook.getSheetByName("Report");
|
|
72
|
+
if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
|
|
73
|
+
|
|
74
|
+
sheet.getRange("A1:D10").setHorizontalAlignment("center").setVerticalAlignment("middle");
|
|
75
|
+
|
|
76
|
+
return { success: true };
|
|
77
|
+
};
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Borders
|
|
81
|
+
|
|
82
|
+
Border API:
|
|
83
|
+
|
|
84
|
+
- `setBorder(type, style, color?) -> FRange`
|
|
85
|
+
|
|
86
|
+
Border type constants:
|
|
87
|
+
|
|
88
|
+
- `univerAPI.Enum.BorderType.TOP` - top border only
|
|
89
|
+
- `univerAPI.Enum.BorderType.BOTTOM` - bottom border only
|
|
90
|
+
- `univerAPI.Enum.BorderType.LEFT` - left border only
|
|
91
|
+
- `univerAPI.Enum.BorderType.RIGHT` - right border only
|
|
92
|
+
- `univerAPI.Enum.BorderType.ALL` - all borders, including outer and inner grid lines
|
|
93
|
+
- `univerAPI.Enum.BorderType.OUTSIDE` - outside borders only
|
|
94
|
+
- `univerAPI.Enum.BorderType.INSIDE` - inside borders only
|
|
95
|
+
- `univerAPI.Enum.BorderType.NONE` - clear or remove borders from the range
|
|
96
|
+
|
|
97
|
+
Border style constants:
|
|
98
|
+
|
|
99
|
+
- `univerAPI.Enum.BorderStyleTypes.THIN` - thin line, the most common default
|
|
100
|
+
- `univerAPI.Enum.BorderStyleTypes.HAIR` - hair line
|
|
101
|
+
- `univerAPI.Enum.BorderStyleTypes.MEDIUM` - medium line
|
|
102
|
+
- `univerAPI.Enum.BorderStyleTypes.THICK` - thick line
|
|
103
|
+
- `univerAPI.Enum.BorderStyleTypes.DASHED` - dashed line
|
|
104
|
+
- `univerAPI.Enum.BorderStyleTypes.DOUBLE` - double line
|
|
105
|
+
|
|
106
|
+
Example:
|
|
107
|
+
|
|
108
|
+
```javascript
|
|
109
|
+
() => {
|
|
110
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
111
|
+
const sheet = workbook.getSheetByName("Report");
|
|
112
|
+
if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
|
|
113
|
+
|
|
114
|
+
sheet
|
|
115
|
+
.getRange("A1:D10")
|
|
116
|
+
.setBorder(univerAPI.Enum.BorderType.OUTSIDE, univerAPI.Enum.BorderStyleTypes.THIN, "#808080");
|
|
117
|
+
|
|
118
|
+
return { success: true };
|
|
119
|
+
};
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Number Formats
|
|
123
|
+
|
|
124
|
+
Number format API:
|
|
125
|
+
|
|
126
|
+
- `setNumberFormats(patterns) -> FRange` - set number formats with a 2D array that matches the target range shape
|
|
127
|
+
|
|
128
|
+
`patterns` is a 2D array aligned to the target range, similar to `setValues()`.
|
|
129
|
+
|
|
130
|
+
Common patterns:
|
|
131
|
+
|
|
132
|
+
- `#,##0.00` - thousands separator with two decimals
|
|
133
|
+
- `0.00%` - percentage
|
|
134
|
+
- `yyyy-MM-DD` - date
|
|
135
|
+
|
|
136
|
+
Example:
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
() => {
|
|
140
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
141
|
+
const sheet = workbook.getSheetByName("Finance");
|
|
142
|
+
if (!sheet) return { success: false, error: 'Sheet "Finance" not found' };
|
|
143
|
+
|
|
144
|
+
sheet.getRange("B2:C3").setNumberFormats([
|
|
145
|
+
["$#,##0.00", "0.00%"],
|
|
146
|
+
["$#,##0.00", "0.00%"]
|
|
147
|
+
]);
|
|
148
|
+
|
|
149
|
+
return { success: true };
|
|
150
|
+
};
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Clearing Format
|
|
154
|
+
|
|
155
|
+
Use `clearFormat()` to remove formatting from a range without deleting its content:
|
|
156
|
+
|
|
157
|
+
- `clearFormat() -> void`
|
|
158
|
+
|
|
159
|
+
## Related Topics
|
|
160
|
+
|
|
161
|
+
- See `ranges` for `clearContent()`, `clear()`, value writes, and AutoFill.
|
|
162
|
+
- See `sheets` when the task is row or column presentation instead of cell-level style.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Formulas
|
|
2
|
+
|
|
3
|
+
This topic focuses on formula writes, calculation waits, and readback behavior inside `run`.
|
|
4
|
+
|
|
5
|
+
## What This Topic Is For
|
|
6
|
+
|
|
7
|
+
Use this topic when the task needs workbook-native recalculation and the result must remain consistent with how the workbook computes formulas.
|
|
8
|
+
|
|
9
|
+
## Formula Writes
|
|
10
|
+
|
|
11
|
+
You can write formulas with either of these APIs:
|
|
12
|
+
|
|
13
|
+
- `setFormula(formula) -> void`
|
|
14
|
+
- `setValue(value) -> FRange` when `value` starts with `=`
|
|
15
|
+
|
|
16
|
+
This applies to both:
|
|
17
|
+
|
|
18
|
+
- `range.setFormula('=SUM(B1:B10)')`
|
|
19
|
+
- `range.setValue('=SUM(B1:B10)')`
|
|
20
|
+
|
|
21
|
+
## Formula Calculation
|
|
22
|
+
|
|
23
|
+
Formula calculation is asynchronous. If you need the calculated result in the same `run`, wait for calculation to finish:
|
|
24
|
+
|
|
25
|
+
```javascript
|
|
26
|
+
await univerAPI.getFormula().onCalculationResultApplied();
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Available formula wait API:
|
|
30
|
+
|
|
31
|
+
- `univerAPI.getFormula() -> FFormula`
|
|
32
|
+
- `onCalculationResultApplied() -> Promise<void>` - wait for formula-calculation results to be applied before reading the computed value
|
|
33
|
+
- note: if a real calculation runs, it resolves when results are applied; if no calculation starts quickly, it can resolve automatically instead of hanging forever
|
|
34
|
+
|
|
35
|
+
## Formula Warning
|
|
36
|
+
|
|
37
|
+
Without the wait, readback can be stale.
|
|
38
|
+
|
|
39
|
+
## Copyable Example
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
async () => {
|
|
43
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
44
|
+
const sheet = workbook.getSheetByName("Sales");
|
|
45
|
+
if (!sheet) return { success: false, error: 'Sheet "Sales" not found' };
|
|
46
|
+
|
|
47
|
+
sheet.getRange("A1").setFormula("=SUM(B1:B10)");
|
|
48
|
+
await univerAPI.getFormula().onCalculationResultApplied();
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
success: true,
|
|
52
|
+
formula: sheet.getRange("A1").getFormulas(),
|
|
53
|
+
value: sheet.getRange("A1").getValue()
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Formula Readback With setValue()
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
async () => {
|
|
62
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
63
|
+
const sheet = workbook.getSheetByName("Sales");
|
|
64
|
+
if (!sheet) return { success: false, error: 'Sheet "Sales" not found' };
|
|
65
|
+
|
|
66
|
+
sheet.getRange("A2").setValue("=SUM(B2:B10)");
|
|
67
|
+
await univerAPI.getFormula().onCalculationResultApplied();
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
success: true,
|
|
71
|
+
value: sheet.getRange("A2").getValue()
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Getchas
|
|
77
|
+
|
|
78
|
+
- do not read the computed result immediately after writing a formula
|
|
79
|
+
- always verify formula output with workbook-visible reads after the command
|
|
80
|
+
- if the task is only propagation from an existing seed, prefer `ranges -> AutoFill` over custom formula scripting
|
|
81
|
+
|
|
82
|
+
## Related Topics
|
|
83
|
+
|
|
84
|
+
- See `ranges` for formula writes alongside value writes, shape rules, merges, clear, and AutoFill.
|
|
85
|
+
- See `overview` for hard rules and command-selection guidance.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
|
|
3
|
+
`run` is the workbook-local programmable surface in `univer-cli`. It executes a bounded JavaScript function inside the Univer spreadsheet engine so you can read workbook state, compute results, and write workbook state.
|
|
4
|
+
|
|
5
|
+
Read this topic first when the job belongs in `run` but you have not chosen the exact API yet.
|
|
6
|
+
|
|
7
|
+
## When To Use `run`
|
|
8
|
+
|
|
9
|
+
Use `run` when the task is workbook-local logic that is clearer or more reliable in API form, especially for:
|
|
10
|
+
|
|
11
|
+
- styling and presentation
|
|
12
|
+
- row or column structure changes
|
|
13
|
+
- freeze panes, gridline settings, and sheet-level display settings
|
|
14
|
+
- merge or unmerge flows
|
|
15
|
+
- formula orchestration that needs workbook-native recalculation
|
|
16
|
+
- bounded read/compute/write logic inside one workbook
|
|
17
|
+
|
|
18
|
+
Prefer smaller surfaces when they already express the task directly:
|
|
19
|
+
|
|
20
|
+
- `inspect` for reconnaissance and workbook-visible verification
|
|
21
|
+
- `search` to locate rows, columns, sheets, and formula matches
|
|
22
|
+
- `pipe out` / `pipe in` for bulk rectangular data roundtrips through shell tools
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
Use this command shape. The script must be an arrow function and should return a plain object.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
univer run <univer-path> --code '() => {
|
|
30
|
+
const workbook = univerAPI.getActiveWorkbook();
|
|
31
|
+
const sheet = workbook.getSheetByName("Sheet1");
|
|
32
|
+
if (!sheet) return { success: false, error: "Sheet1 not found" };
|
|
33
|
+
|
|
34
|
+
sheet.getRange("A1").setValue("ready");
|
|
35
|
+
return { success: true, value: sheet.getRange("A1").getValue() };
|
|
36
|
+
}'
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Use one of these wrappers:
|
|
40
|
+
|
|
41
|
+
- `() => {}`
|
|
42
|
+
- `async () => {}`
|
|
43
|
+
|
|
44
|
+
## Hard Rules
|
|
45
|
+
|
|
46
|
+
- always wrap the program in an arrow function
|
|
47
|
+
- always return an object
|
|
48
|
+
- use only APIs documented in this run manual reference family
|
|
49
|
+
- strictly use documented methods; do not guess or invent API names
|
|
50
|
+
- prefer A1 notation for fixed ranges
|
|
51
|
+
- remember that coordinate overloads are 0-based
|
|
52
|
+
- check for missing sheets before writing
|
|
53
|
+
- keep the operation bounded to the workbook task at hand
|
|
54
|
+
- verify the result with workbook-visible reads after the command
|
|
55
|
+
|
|
56
|
+
If a needed API is not documented here, stop and inspect or update the run manual documentation instead of guessing method names, overloads, enum names, or object relationships.
|
|
57
|
+
|
|
58
|
+
## Common Task Aliases
|
|
59
|
+
|
|
60
|
+
- `autofill` -> `ranges`
|
|
61
|
+
- `fill-series` -> `ranges`
|
|
62
|
+
- `get-values` -> `ranges`
|
|
63
|
+
- `read-range` -> `ranges`
|
|
64
|
+
- `formula-readback` -> `formulas`
|
|
65
|
+
- `calculation` -> `formulas`
|
|
66
|
+
- `freeze-panes` -> `sheets`
|
|
67
|
+
- `number-format` -> `formatting`
|
|
68
|
+
|
|
69
|
+
## Topics
|
|
70
|
+
|
|
71
|
+
- `overview` - command selection, hard rules, and progressive discovery
|
|
72
|
+
- `core` - `univerAPI`, workbook access, worksheet access, `getRange()`, A1 notation, coordinates
|
|
73
|
+
- `ranges` - value reads, writes, shape rules, formulas, merges, clear, cell shifts, AutoFill
|
|
74
|
+
- `formulas` - formula writes, async calculation waits, and stale-readback getchas
|
|
75
|
+
- `sheets` - worksheet creation, rename, row or column structure, freezing, gridlines, and visibility
|
|
76
|
+
- `formatting` - font, fill, alignment, border, number-format, and clear-format APIs
|
|
77
|
+
|
|
78
|
+
## Formula Readback Warning
|
|
79
|
+
|
|
80
|
+
Formula calculation is asynchronous. If you set a formula with `setFormula()` or by writing a string starting with `=`, do not read the computed result immediately. Wait for calculation to finish:
|
|
81
|
+
|
|
82
|
+
```javascript
|
|
83
|
+
await univerAPI.getFormula().onCalculationResultApplied();
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Without that wait, readback can be stale.
|
|
87
|
+
|
|
88
|
+
## Related Topics
|
|
89
|
+
|
|
90
|
+
- See `core` for workbook, sheet, structure, coordinates, and `getRange()`.
|
|
91
|
+
- See `ranges` for range reads and writes, formulas, merges, clear, cell insertion and deletion, and AutoFill.
|
|
92
|
+
- See `formatting` for fonts, fills, alignment, borders, and number formats.
|