@k-table/report 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -0
- package/dist/index.css +885 -0
- package/dist/index.d.ts +348 -0
- package/dist/index.js +1 -0
- package/dist/store.cjs +1 -0
- package/dist/store.d.ts +348 -0
- package/dist/store.js +1 -0
- package/dist/styles.css +856 -0
- package/package.json +64 -9
- package/README.md +0 -5
package/dist/store.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';const _0x1da5cd=_0x10c9;(function(_0x57012f,_0x545097){const _0x22ec37=_0x10c9,_0x3a78f4=_0x57012f();while(!![]){try{const _0x327d69=parseInt(_0x22ec37(0x9f))/0x1+parseInt(_0x22ec37(0xd1))/0x2*(parseInt(_0x22ec37(0xce))/0x3)+-parseInt(_0x22ec37(0xc6))/0x4*(-parseInt(_0x22ec37(0xd2))/0x5)+parseInt(_0x22ec37(0xe4))/0x6*(-parseInt(_0x22ec37(0xca))/0x7)+-parseInt(_0x22ec37(0xf2))/0x8+-parseInt(_0x22ec37(0xd3))/0x9*(parseInt(_0x22ec37(0xf0))/0xa)+-parseInt(_0x22ec37(0x8a))/0xb;if(_0x327d69===_0x545097)break;else _0x3a78f4['push'](_0x3a78f4['shift']());}catch(_0x148240){_0x3a78f4['push'](_0x3a78f4['shift']());}}}(_0x3abb,0x9ab34));var KtStoreError=class extends Error{[_0x1da5cd(0xf5)];constructor(_0x1f64f6,_0x56d441){const _0x5b77cc=_0x1da5cd;super(_0x1f64f6),this[_0x5b77cc(0xdf)]='KtStoreError',this['status']=_0x56d441;}},KtNotFoundError=class extends KtStoreError{constructor(_0x4da7c6=_0x1da5cd(0xf3)){const _0x2201f2=_0x1da5cd;super(_0x4da7c6,0x194),this[_0x2201f2(0xdf)]=_0x2201f2(0xea);}},KtConflictError=class extends KtStoreError{[_0x1da5cd(0xbb)];constructor(_0x34b095,_0x21dc99){const _0x294b90=_0x1da5cd;super(_0x34b095,0x199),this[_0x294b90(0xdf)]=_0x294b90(0x99),this[_0x294b90(0xbb)]=_0x21dc99;}};function errorFromHttp(_0x43ff72,_0x5ae4ed,_0xb7357a){const _0x3d9ee2=_0x1da5cd;if(_0x43ff72===0x194)return new KtNotFoundError(_0x5ae4ed);if(_0x43ff72===0x199)return new KtConflictError(_0x5ae4ed,_0xb7357a?.[_0x3d9ee2(0xbb)]);return new KtStoreError(_0x5ae4ed||_0x3d9ee2(0xd4)+_0x43ff72,_0x43ff72);}var ARTIFACT_FILE_META=_0x1da5cd(0x98),ARTIFACT_FILE_BODY=_0x1da5cd(0xa0),ARTIFACT_FILE_FILL=_0x1da5cd(0xcf),ARTIFACT_FILE_REPORT='faces/report.ktl';function artifactToFiles(_0x59c7f7){const _0x5e6ec4=_0x1da5cd,_0xb51758={'id':_0x59c7f7['id'],'name':_0x59c7f7['name'],'kind':_0x59c7f7['kind'],'masterId':_0x59c7f7[_0x5e6ec4(0x107)],'commonFieldKeys':_0x59c7f7['commonFieldKeys']},_0x2b0494={[ARTIFACT_FILE_META]:JSON[_0x5e6ec4(0xb3)](_0xb51758,null,0x2),[ARTIFACT_FILE_BODY]:_0x59c7f7[_0x5e6ec4(0xb2)]??''};if(_0x59c7f7[_0x5e6ec4(0x9d)]?.[_0x5e6ec4(0xa4)])_0x2b0494[ARTIFACT_FILE_FILL]=_0x59c7f7[_0x5e6ec4(0x9d)][_0x5e6ec4(0xa4)];if(_0x59c7f7['faces']?.[_0x5e6ec4(0xbe)])_0x2b0494[ARTIFACT_FILE_REPORT]=_0x59c7f7[_0x5e6ec4(0x9d)][_0x5e6ec4(0xbe)];return _0x2b0494;}function filesToArtifact(_0x34fc12,_0x1bb1b1=''){const _0x430cbf=_0x1da5cd;let _0x3cf634={'id':_0x1bb1b1,'name':_0x1bb1b1,'kind':_0x430cbf(0xa8)};const _0x19698c=_0x34fc12[ARTIFACT_FILE_META];if(_0x19698c)try{const _0x19d40f=JSON['parse'](_0x19698c);_0x3cf634={..._0x3cf634,..._0x19d40f};}catch{}const _0x3eb316=_0x34fc12[ARTIFACT_FILE_FILL],_0x14cf7a=_0x34fc12[ARTIFACT_FILE_REPORT];return{'id':_0x3cf634['id']||_0x1bb1b1,'name':_0x3cf634[_0x430cbf(0xdf)]||_0x3cf634['id']||_0x1bb1b1,'kind':_0x3cf634[_0x430cbf(0xac)]||'sheet','ktl':_0x34fc12[ARTIFACT_FILE_BODY]??'','masterId':_0x3cf634[_0x430cbf(0x107)],'commonFieldKeys':_0x3cf634[_0x430cbf(0xcc)],'faces':_0x3eb316||_0x14cf7a?{'fill':_0x3eb316,'report':_0x14cf7a}:void 0x0};}function filesEqual(_0x5e4a59,_0xbdfee){const _0x4c4e55=_0x1da5cd,_0x11de03=new Set([...Object[_0x4c4e55(0x109)](_0x5e4a59),...Object['keys'](_0xbdfee)]);for(const _0x4b723a of _0x11de03){if((_0x5e4a59[_0x4b723a]??'')!==(_0xbdfee[_0x4b723a]??''))return![];}return!![];}var SAMPLE_A4_KTL=_0x1da5cd(0x89),EMPTY_KTL=_0x1da5cd(0xb4),SAMPLE_MASTER_KTL=_0x1da5cd(0xda),SAMPLE_DEMO_KTL='@ktl\x20version=1\x20kind=\x22kt.templateWorkbook\x22\x0a\x0a@workbook\x20{\x0a\x20\x20workbookVersion:\x201\x0a\x20\x20activeSheet:\x20\x22mid\x22\x0a}\x0a\x0a@report\x20{\x0a\x20\x20title:\x20\x22演示检测表\x22\x0a}\x0a\x0a@sheet\x20\x22mid\x22\x20name=\x22中区\x22\x20{\x0a\x20\x20@page\x20A4\x20portrait\x20margins(1,\x201,\x201,\x201)\x0a\x20\x20@grid\x20rows=6\x20cols=8\x20defaultRowHeight=26\x20defaultColWidth=80\x0a}\x0a\x0a@layout\x20sheet(\x22mid\x22)\x20startRow=1\x20cols=1..8\x20{\x0a\x20\x20<table>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x228\x22\x20style=\x22font-weight:bold;text-align:center;font-size:12pt;border:thin\x20solid\x20#000\x22>检测数据</td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>样品编号</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x222\x22\x20data-bind=\x22s1.sample_id@0\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>样品名称</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x222\x22\x20data-bind=\x22s1.sample_name@0\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>检测值</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20data-bind=\x22s1.test_value@0\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>工程名称</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x223\x22\x20data-bind=\x22b.project_name\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>报告编号</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x223\x22\x20data-bind=\x22b.report_no\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20</table>\x0a}\x0a\x0a@fields\x20scope=sheet(\x22mid\x22)\x20{\x0a\x20\x20@base\x20{\x0a\x20\x20\x20\x20project_name\x20:\x20string\x20\x20--\x20工程名称\x0a\x20\x20\x20\x20report_no\x20\x20\x20\x20:\x20string\x20\x20--\x20报告编号\x0a\x20\x20}\x0a\x20\x20@sub(1)\x20label=\x22检测数据\x22\x20{\x0a\x20\x20\x20\x20sample_id\x20\x20\x20:\x20string\x20\x20--\x20样品编号\x0a\x20\x20\x20\x20sample_name\x20:\x20string\x20\x20--\x20样品名称\x0a\x20\x20\x20\x20test_value\x20\x20#n:3\x20\x20\x20\x20\x20--\x20检测值\x0a\x20\x20}\x0a}\x0a';async function sha256Hex(_0x2ec96c){const _0x2e926a=_0x1da5cd,_0x22db7e=typeof _0x2ec96c==='string'?new TextEncoder()[_0x2e926a(0x103)](_0x2ec96c):_0x2ec96c;if(typeof crypto!=='undefined'&&crypto['subtle']){const _0x282b5b=await crypto[_0x2e926a(0x105)][_0x2e926a(0xe7)]('SHA-256',_0x22db7e);return[...new Uint8Array(_0x282b5b)]['map'](_0x502cc3=>_0x502cc3[_0x2e926a(0xb9)](0x10)[_0x2e926a(0x95)](0x2,'0'))[_0x2e926a(0xd6)]('');}const {createHash:_0x3f8c2d}=await import(_0x2e926a(0xd9));return _0x3f8c2d(_0x2e926a(0xe0))[_0x2e926a(0xfe)](_0x22db7e)[_0x2e926a(0xe7)](_0x2e926a(0xc0));}function newId(_0x42881a){return _0x42881a+'-'+Math['random']()['toString'](0x24)['slice'](0x2,0xa);}function newEtag(){const _0x55e081=_0x1da5cd;return Date[_0x55e081(0xdb)]()[_0x55e081(0xb9)](0x24)+'-'+Math[_0x55e081(0xe9)]()['toString'](0x24)[_0x55e081(0xa1)](0x2,0x8);}function createMemoryArtifactStore(_0x258a7f=[]){const _0x2cfc62=_0x1da5cd,_0x52009c=new Map();for(const _0x55a0cd of _0x258a7f)_0x52009c[_0x2cfc62(0x8f)](_0x55a0cd['id'],{..._0x55a0cd,'etag':_0x55a0cd[_0x2cfc62(0xf7)]??newEtag()});return{async 'list'(_0x47dcf5){const _0x112da4=_0x2cfc62;return[..._0x52009c['values']()][_0x112da4(0xe3)](_0x591cf8=>!_0x47dcf5||_0x591cf8['kind']===_0x47dcf5)[_0x112da4(0x9c)](({id:_0x53c726,name:_0x14ec99,kind:_0x307804})=>({'id':_0x53c726,'name':_0x14ec99,'kind':_0x307804}));},async 'get'(_0x4a7642){const _0x4581ca=_0x2cfc62,_0xd12d6b=_0x52009c[_0x4581ca(0x104)](_0x4a7642);if(!_0xd12d6b)throw new KtNotFoundError('artifact\x20'+_0x4a7642);return{..._0xd12d6b};},async 'save'(_0x3c2bfa){const _0x12764f=_0x2cfc62,_0x322b50=_0x52009c['get'](_0x3c2bfa['id']);if(_0x3c2bfa[_0x12764f(0xf7)]&&_0x322b50&&_0x322b50['etag']&&_0x3c2bfa['etag']!==_0x322b50['etag'])throw new KtConflictError(_0x12764f(0x9a),{..._0x322b50});const _0x37320e={..._0x3c2bfa,'etag':newEtag()};return _0x52009c[_0x12764f(0x8f)](_0x37320e['id'],_0x37320e),{..._0x37320e};},async 'create'(_0x2b16c6){const _0x10e232=_0x2cfc62,_0x46d2f8=newId(_0x2b16c6[_0x10e232(0xac)]),_0x22452d={'id':_0x46d2f8,'name':_0x2b16c6[_0x10e232(0xdf)],'kind':_0x2b16c6[_0x10e232(0xac)],'ktl':EMPTY_KTL,'etag':newEtag()};return _0x52009c[_0x10e232(0x8f)](_0x46d2f8,_0x22452d),{..._0x22452d};},async 'remove'(_0x2ccce9){const _0x2ee212=_0x2cfc62;if(!_0x52009c[_0x2ee212(0xa2)](_0x2ccce9))throw new KtNotFoundError(_0x2ee212(0xe2)+_0x2ccce9);}};}function createMemoryInstanceStore(_0x55859f={}){const _0x1a6577=_0x1da5cd,_0x3e5756=new Map(Object[_0x1a6577(0x94)](_0x55859f));return{async 'get'(_0x397ddd){const _0x2fff88=_0x1a6577,_0x52bd4e=_0x3e5756[_0x2fff88(0x104)](_0x397ddd);if(!_0x52bd4e)throw new KtNotFoundError(_0x2fff88(0xc3)+_0x397ddd);return{..._0x52bd4e,'values':{..._0x52bd4e[_0x2fff88(0xde)]}};},async 'save'(_0x3e2009,_0x4fef1c){const _0x467646=_0x1a6577,_0x51192b=_0x3e5756[_0x467646(0x104)](_0x3e2009)??{'artifactId':'','values':{}};_0x3e5756[_0x467646(0x8f)](_0x3e2009,{'artifactId':_0x51192b[_0x467646(0xc7)],'values':{..._0x51192b[_0x467646(0xde)],..._0x4fef1c[_0x467646(0xde)]},'common':{..._0x51192b['common'],..._0x4fef1c[_0x467646(0xbd)]},'tabCommon':{..._0x51192b[_0x467646(0x100)],..._0x4fef1c['tabCommon']}});},async 'list'(_0x5b75fc){const _0x41a90a=_0x1a6577;return[..._0x3e5756[_0x41a90a(0x94)]()]['filter'](([,_0xbb34d2])=>!_0x5b75fc||_0xbb34d2[_0x41a90a(0xc7)]===_0x5b75fc)['map'](([_0x28f6e1,_0x5b6197])=>({'id':_0x28f6e1,'artifactId':_0x5b6197['artifactId']}));},async 'create'(_0x2bb0e3){const _0x302803=_0x1a6577,_0x10bec9=newId(_0x302803(0xfa));return _0x3e5756[_0x302803(0x8f)](_0x10bec9,{'artifactId':_0x2bb0e3['artifactId'],'values':{},'common':{}}),{'id':_0x10bec9};}};}function createMemoryVersionStore(_0x148a7f){const _0x5c6cf6=new Map(),_0x57c592=new Map(),_0x5591ad=new Map(),_0x2454ac=(_0x182097,_0x258cac)=>_0x182097+'/'+_0x258cac;return{async 'log'(_0x335296,_0x333cb1){const _0x240730=_0x10c9,_0x4b82d7=[..._0x57c592[_0x240730(0x104)](_0x2454ac(_0x335296,_0x333cb1))??[]][_0x240730(0xee)]((_0xe5ff55,_0x20774a)=>_0xe5ff55['at']<_0x20774a['at']?0x1:-0x1);return{'head':_0x5591ad[_0x240730(0x104)](_0x2454ac(_0x335296,_0x333cb1))??_0x4b82d7[0x0]?.[_0x240730(0x101)]??null,'items':_0x4b82d7};},async 'get'(_0x207008){const _0x255fed=_0x10c9;for(const _0x5571fa of _0x57c592[_0x255fed(0xde)]()){const _0x3f1345=_0x5571fa['find'](_0x4656d9=>_0x4656d9[_0x255fed(0x101)]===_0x207008);if(_0x3f1345)return _0x3f1345;}throw new KtNotFoundError('rev\x20'+_0x207008);},async 'readFile'(_0xb28528,_0x54802b){const _0x292463=_0x10c9,_0xfc399a=await this['get'](_0xb28528),_0x50f183=_0xfc399a[_0x292463(0xe6)][_0x54802b];if(!_0x50f183)throw new KtNotFoundError(_0x54802b);const _0x1d4570=_0x5c6cf6[_0x292463(0x104)](_0x50f183);if(!_0x1d4570)throw new KtNotFoundError(_0x54802b);return _0x1d4570;},async 'commit'(_0x477f86){const _0x335d89=_0x10c9;let _0x2d9023=_0x477f86['files'];if(!_0x2d9023){const _0x2d7923=await _0x148a7f[_0x335d89(0x104)](_0x477f86['id']);_0x2d9023=artifactToFiles(_0x2d7923);}const _0x49c046={},_0x21c30c={};for(const [_0x5489e8,_0x328500]of Object['entries'](_0x2d9023)){const _0x31da75=typeof _0x328500==='string'?_0x328500:new TextDecoder()[_0x335d89(0xec)](_0x328500);_0x49c046[_0x5489e8]=_0x31da75;const _0x86c4d0=await sha256Hex(_0x31da75);_0x21c30c[_0x5489e8]=_0x86c4d0,_0x5c6cf6['set'](_0x86c4d0,typeof _0x328500===_0x335d89(0x8e)?new TextEncoder()[_0x335d89(0x103)](_0x328500):_0x328500);}const _0x28bbaa=_0x2454ac(_0x477f86['kind'],_0x477f86['id']),_0x5901d0=_0x5591ad['get'](_0x28bbaa);if(_0x5901d0){const _0x57ed11=(_0x57c592['get'](_0x28bbaa)??[])['find'](_0x5321af=>_0x5321af['rev']===_0x5901d0);if(_0x57ed11&&filesEqual(_0x49c046,await _0x26291b(_0x57ed11)))return _0x57ed11;}const _0xac8591=new Date(),_0x4bd2e9=String(_0xac8591['getFullYear']())[_0x335d89(0xa1)](0x2)+String(_0xac8591[_0x335d89(0xd0)]()+0x1)[_0x335d89(0x95)](0x2,'0')+String(_0xac8591['getDate']())[_0x335d89(0x95)](0x2,'0')+String(_0xac8591['getHours']())['padStart'](0x2,'0')+String(_0xac8591[_0x335d89(0xbf)]())[_0x335d89(0x95)](0x2,'0'),_0x1fe07d=(await sha256Hex(Object[_0x335d89(0xde)](_0x21c30c)[_0x335d89(0xee)]()[_0x335d89(0xd6)](',')))[_0x335d89(0xa1)](0x0,0x8),_0x354b24={'rev':_0x4bd2e9+_0x335d89(0xed)+_0x1fe07d,'kind':_0x477f86[_0x335d89(0xac)],'id':_0x477f86['id'],'at':_0xac8591['toISOString'](),'parent':_0x5901d0??null,'by':_0x477f86['by'],'note':_0x477f86[_0x335d89(0xcd)],'files':_0x21c30c,'meta':_0x477f86[_0x335d89(0xdd)]},_0x1c1fef=_0x57c592[_0x335d89(0x104)](_0x28bbaa)??[];return _0x1c1fef[_0x335d89(0xc1)](_0x354b24),_0x57c592[_0x335d89(0x8f)](_0x28bbaa,_0x1c1fef),_0x5591ad[_0x335d89(0x8f)](_0x28bbaa,_0x354b24[_0x335d89(0x101)]),_0x354b24;},async 'restore'(_0x2df394,_0x2992ba,_0x309f77,_0x12600a){const _0x348115=_0x10c9,_0x490591=await this[_0x348115(0x104)](_0x309f77),_0x3701fd={};for(const _0xc74b14 of Object[_0x348115(0x109)](_0x490591[_0x348115(0xe6)])){_0x3701fd[_0xc74b14]=new TextDecoder()['decode'](await this[_0x348115(0xb6)](_0x309f77,_0xc74b14));}const _0x865a0a=filesToArtifact(_0x3701fd,_0x2992ba);return await _0x148a7f[_0x348115(0x91)]({..._0x865a0a,'id':_0x2992ba,'kind':_0x865a0a[_0x348115(0xac)],'etag':void 0x0}),this[_0x348115(0xc8)]({'kind':_0x2df394,'id':_0x2992ba,'files':_0x3701fd,'by':_0x12600a,'note':_0x348115(0x108)+_0x309f77});}};async function _0x26291b(_0x5c7e3f){const _0x398ee0=_0x10c9,_0x1ddf91={};for(const [_0x3dbde7,_0x32c650]of Object['entries'](_0x5c7e3f[_0x398ee0(0xe6)])){const _0x7d02d=_0x5c6cf6[_0x398ee0(0x104)](_0x32c650);if(_0x7d02d)_0x1ddf91[_0x3dbde7]=new TextDecoder()[_0x398ee0(0xec)](_0x7d02d);}return _0x1ddf91;}}function _0x10c9(_0x166583,_0x3d2333){_0x166583=_0x166583-0x88;const _0x3abb0d=_0x3abb();let _0x10c926=_0x3abb0d[_0x166583];if(_0x10c9['DXxyCG']===undefined){var _0x53447b=function(_0x2eddee){const _0x43df21='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b9915='',_0x1f64f6='';for(let _0x56d441=0x0,_0x4da7c6,_0x34b095,_0x21dc99=0x0;_0x34b095=_0x2eddee['charAt'](_0x21dc99++);~_0x34b095&&(_0x4da7c6=_0x56d441%0x4?_0x4da7c6*0x40+_0x34b095:_0x34b095,_0x56d441++%0x4)?_0x4b9915+=String['fromCharCode'](0xff&_0x4da7c6>>(-0x2*_0x56d441&0x6)):0x0){_0x34b095=_0x43df21['indexOf'](_0x34b095);}for(let _0x43ff72=0x0,_0x5ae4ed=_0x4b9915['length'];_0x43ff72<_0x5ae4ed;_0x43ff72++){_0x1f64f6+='%'+('00'+_0x4b9915['charCodeAt'](_0x43ff72)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f64f6);};_0x10c9['qJxHwI']=_0x53447b,_0x10c9['feETPx']={},_0x10c9['DXxyCG']=!![];}const _0x5b0bb5=_0x3abb0d[0x0];_0x10c9['wneTka']!==_0x5b0bb5&&(_0x10c9['feETPx']={},_0x10c9['wneTka']=_0x5b0bb5);const _0x52313d=_0x10c9['feETPx'][_0x166583];return _0x52313d===undefined?(_0x10c926=_0x10c9['qJxHwI'](_0x10c926),_0x10c9['feETPx'][_0x166583]=_0x10c926):_0x10c926=_0x52313d,_0x10c926;}async function parseJson(_0x411176){const _0x39f124=await _0x411176['text']();if(!_0x39f124)return null;try{return JSON['parse'](_0x39f124);}catch{return{'message':_0x39f124};}}async function requestJson(_0x284df4,_0xc2d1d5){const _0x17cded=_0x1da5cd,_0x52bd3b=await fetch(_0x284df4,{..._0xc2d1d5,'headers':{'accept':'application/json',..._0xc2d1d5?.[_0x17cded(0xc9)]??{}}}),_0x45ccbc=await parseJson(_0x52bd3b);if(!_0x52bd3b['ok']){const _0x3aff78=_0x45ccbc?.['message']||_0x52bd3b[_0x17cded(0xae)];throw errorFromHttp(_0x52bd3b[_0x17cded(0xf5)],_0x3aff78,_0x45ccbc);}return _0x45ccbc;}function createHttpArtifactStore(_0x30d754){const _0x56e988=_0x1da5cd,_0x239a63=_0x30d754[_0x56e988(0x8d)](/\/$/,'');return{'list':_0x3080bd=>requestJson(_0x239a63+_0x56e988(0xb7)+(_0x3080bd?_0x56e988(0x10a)+encodeURIComponent(_0x3080bd):''))[_0x56e988(0x96)](_0x125ffa=>_0x125ffa[_0x56e988(0xa9)]),'get':_0x2d05a1=>requestJson(_0x239a63+_0x56e988(0xa3)+encodeURIComponent(_0x2d05a1))[_0x56e988(0x96)](_0x2c4b80=>_0x2c4b80),'save':_0x4944e9=>requestJson(_0x239a63+_0x56e988(0xa3)+encodeURIComponent(_0x4944e9['id']),{'method':'PUT','headers':{'content-type':_0x56e988(0xe8)},'body':JSON['stringify'](_0x4944e9)})[_0x56e988(0x96)](_0x13ad83=>_0x13ad83),'create':_0x1a88a1=>requestJson(_0x239a63+_0x56e988(0xb7),{'method':'POST','headers':{'content-type':_0x56e988(0xe8)},'body':JSON[_0x56e988(0xb3)](_0x1a88a1)})[_0x56e988(0x96)](_0x290ff7=>_0x290ff7),'remove':_0x458fc9=>requestJson(_0x239a63+_0x56e988(0xa3)+encodeURIComponent(_0x458fc9),{'method':_0x56e988(0xd5)})[_0x56e988(0x96)](()=>void 0x0)};}function createHttpInstanceStore(_0x2c1286){const _0x53adbe=_0x1da5cd,_0x28c097=_0x2c1286[_0x53adbe(0x8d)](/\/$/,'');return{'get':_0x4db622=>requestJson(_0x28c097+'/instances/'+encodeURIComponent(_0x4db622))['then'](_0x22a742=>_0x22a742),'save':(_0x5c6ea9,_0x3a28ea)=>requestJson(_0x28c097+'/instances/'+encodeURIComponent(_0x5c6ea9),{'method':'PUT','headers':{'content-type':_0x53adbe(0xe8)},'body':JSON[_0x53adbe(0xb3)](_0x3a28ea)})[_0x53adbe(0x96)](()=>void 0x0),'list':_0x53d38e=>requestJson(_0x28c097+_0x53adbe(0xf6)+(_0x53d38e?_0x53adbe(0xef)+encodeURIComponent(_0x53d38e):''))['then'](_0x2a9bee=>_0x2a9bee['items']),'create':_0x7e6220=>requestJson(_0x28c097+_0x53adbe(0xf6),{'method':_0x53adbe(0xb8),'headers':{'content-type':'application/json'},'body':JSON[_0x53adbe(0xb3)](_0x7e6220)})[_0x53adbe(0x96)](_0x51fe42=>_0x51fe42)};}function createHttpVersionStore(_0x48802b){const _0x59a589=_0x1da5cd,_0x4efa61=_0x48802b[_0x59a589(0x8d)](/\/$/,'');return{'log':(_0x12a0c6,_0x44f7e4)=>requestJson(_0x4efa61+_0x59a589(0xe5)+encodeURIComponent(_0x12a0c6)+'&id='+encodeURIComponent(_0x44f7e4))['then'](_0x2062a4=>_0x2062a4),'get':_0x5e5f61=>requestJson(_0x4efa61+'/versions/'+encodeURIComponent(_0x5e5f61))[_0x59a589(0x96)](_0x916b6a=>_0x916b6a),async 'readFile'(_0x31159b,_0x853ef3){const _0x109166=_0x59a589,_0x3be555=await fetch(_0x4efa61+_0x109166(0xad)+encodeURIComponent(_0x31159b)+_0x109166(0xaa)+encodeURIComponent(_0x853ef3));if(!_0x3be555['ok']){const _0x9fcbcc=await parseJson(_0x3be555);throw errorFromHttp(_0x3be555[_0x109166(0xf5)],_0x9fcbcc?.[_0x109166(0xab)]||_0x3be555[_0x109166(0xae)],_0x9fcbcc);}return new Uint8Array(await _0x3be555[_0x109166(0xf4)]());},'commit':_0x44af41=>requestJson(_0x4efa61+'/versions',{'method':_0x59a589(0xb8),'headers':{'content-type':_0x59a589(0xe8)},'body':JSON[_0x59a589(0xb3)](_0x44af41)})[_0x59a589(0x96)](_0x14e526=>_0x14e526),'restore':(_0x8cf514,_0x15f68b,_0x448a81,_0x1fc576)=>requestJson(_0x4efa61+'/versions/'+encodeURIComponent(_0x448a81)+_0x59a589(0xff),{'method':'POST','headers':{'content-type':_0x59a589(0xe8)},'body':JSON[_0x59a589(0xb3)]({'kind':_0x8cf514,'id':_0x15f68b,'by':_0x1fc576})})[_0x59a589(0x96)](_0x3aea5d=>_0x3aea5d)};}function isStoreInstance(_0x34c020){const _0x558271=_0x1da5cd;return!!_0x34c020&&typeof _0x34c020==='object'&&typeof _0x34c020[_0x558271(0x104)]===_0x558271(0x92);}async function readArtifactAtRev(_0x44b2de,_0x44d184){const _0x134c06=_0x1da5cd,_0x535002=await _0x44b2de[_0x134c06(0x104)](_0x44d184),_0x3a0860={};for(const _0x2c6e9b of Object[_0x134c06(0x109)](_0x535002[_0x134c06(0xe6)])){_0x3a0860[_0x2c6e9b]=new TextDecoder()['decode'](await _0x44b2de[_0x134c06(0xb6)](_0x44d184,_0x2c6e9b));}return filesToArtifact(_0x3a0860,_0x535002['id']);}function resolveFeatures(_0x132795){const _0x3c5818=_0x1da5cd,_0xe9896a=_0x132795[_0x3c5818(0xaf)],_0x2219ee=_0x132795[_0x3c5818(0x90)]??{};return{'master':_0x2219ee['master']??_0xe9896a===_0x3c5818(0xd7),'fill':_0x2219ee['fill']??_0xe9896a===_0x3c5818(0xd7),'excelImport':_0x2219ee[_0x3c5818(0x9e)]??!![],'sourceDrawer':_0x2219ee[_0x3c5818(0xd8)]??!![],'formula':_0x2219ee[_0x3c5818(0xb1)]??_0xe9896a===_0x3c5818(0xd7),'combo':_0x2219ee['combo']??![],'versions':_0x2219ee[_0x3c5818(0xb5)]??!![],'print':_0x2219ee['print']??!![],'pdf':_0x2219ee[_0x3c5818(0xc5)]??![]};}function defaultKinds(_0x110c5e){const _0x521361=_0x1da5cd,_0x3e4bd5=resolveFeatures(_0x110c5e)['master'];if(_0x110c5e[_0x521361(0xaf)]===_0x521361(0xbe))return _0x3e4bd5?[_0x521361(0xa8),_0x521361(0xba)]:['sheet'];const _0x369374=[_0x521361(0xeb),_0x521361(0xbe),_0x521361(0xa8)];if(_0x3e4bd5)_0x369374[_0x521361(0xc1)](_0x521361(0xba));return _0x369374;}function _0x3abb(){const _0x2b3de4=['CMvWBgfJzq','C3rYAw5N','C2v0','zMvHDhvYzxm','C2f2zq','zNvUy3rPB24','CMvZB2X2zuzLyxr1CMvZ','zw50CMLLCW','CgfKu3rHCNq','DgHLBG','AxntDg9YzuLUC3rHBMnL','Bwv0ys5QC29U','s3rdB25MBgLJDevYCM9Y','5BEL5l2C5yMV5PYS5BEY5y+y5PU0','y3jLyxrLtwvTB3j5vMvYC2LVBLn0B3jL','BwfW','zMfJzxm','zxHJzwXjBxbVCNq','mta3odK4nw1uu0PdzW','yM9KEs5RDgW','C2XPy2u','zgvSzxrL','l2fYDgLMywn0CY8','zMLSBa','s3rtDg9YzuvYCM9Y','qvjusuzbq1rFrKLmrv9gsuXm','Bwf5yMvdB21TAxrpBLnHDMu','C2HLzxq','AxrLBxm','l2zPBgu/Cgf0Ad0','BwvZC2fNzq','A2LUza','l3zLCNnPB25ZlW','C3rHDhvZvgv4Da','C2T1','zgvMyxvSDeTPBMrZ','zM9YBxvSyq','A3rS','C3rYAw5NAwz5','qgT0Bcb2zxjZAw9UpteGA2LUzd0IA3qUDgvTCgXHDgvxB3jRyM9VAYikcKb3B3jRyM9VAYb7cIaGD29YA2jVB2TwzxjZAw9UoIaXcIaGywn0AxzLu2HLzxq6icjZmsikFqOkqhjLCg9YDcb7cIaGDgL0Bgu6iclMNkRLKB3LKi3MIQxOOAGIcN0kcKbZAgvLDcaICZeIig5HBwu9iUAkPEIHQciGEWOGiebWywDLiee0ihbVCNrYywL0ig1HCMDPBNmOmIWGms41lcaYlcaXlJuPcIaGqgDYAwqGCM93CZ0YmcbJB2XZptGGzgvMyxvSDfjVD0HLAwDODd0YncbKzwzHDwX0q29Sv2LKDgG9odakFqOkqgXHEw91DcbZAgvLDcGICZeIksbZDgfYDfjVDZ0XignVBhm9ms4UmIb7cIaGphrHyMXLpGOGicaGphrYpJX0zcbZDhLSzt0IzM9UDc13zwLNAhq6yM9SzdT0zxH0lwfSAwDUoMnLBNrLCJTMB250lxnPEMu6mtrWDci+5PYQ5zg95zcn5OQL6kgOpc90zd48Dgq+pc90zd48l3rYpGOGidWVDgfIBgu+cN0k','DMvYC2LVBNm','CMvHzezPBgu','l2fYDgLMywn0CW','ue9tva','Dg9tDhjPBMC','BwfZDgvY','y3vYCMvUDa','u0fnueXfx0e0x0Tuta','y29TBw9U','CMvWB3j0','z2v0twLUDxrLCW','Agv4','ChvZAa','ChjVBw90zq','Aw5ZDgfUy2uG','y3jLyxrLtwvTB3j5qxj0AwzHy3rtDg9Yzq','CgrM','mJH6zvDQzKe','yxj0AwzHy3rjza','y29TBwL0','AgvHzgvYCW','mta1D2fQrvPX','zMLSzxnfCxvHBa','y29TBw9UrMLLBgrlzxLZ','BM90zq','mtq3yNjRsLr2','zMfJzxmVzMLSBc5RDgW','z2v0tw9UDgG','ndiYntz4B2rmD1m','nJCZodG1twnztK5J','mJyXyuzwrhn4','sfruuca','revmrvrf','AM9PBG','DgfIBgu','C291CMnLrhjHD2vY','y3j5ChrV','qgT0Bcb2zxjZAw9UpteGA2LUzd0IA3qUDgvTCgXHDgvxB3jRyM9VAYikcKb3B3jRyM9VAYb7cIaGD29YA2jVB2TwzxjZAw9UoIaXcIaGywn0AxzLu2HLzxq6icjTyxn0zxiIcN0kcKbYzxbVCNqGEWOGihrPDgXLoIaIqtqG56M655M95Q+n54MiiGP9cGPaC2HLzxqGiM1HC3rLCIiGBMfTzt0I5Q+n54MiiIb7cIaGqhbHz2uGqtqGCg9YDhjHAxqGBwfYz2LUCYGXlcaXlcaXlcaXkqOGiebWywDLsgvHzgvYihjVD3m9ms4UmqOGiebWywDLrM9VDgvYihjVD3m9mY4UmWOGiebNCMLKihjVD3m9mYbJB2XZptGGzgvMyxvSDfjVD0HLAwDODd0YocbKzwzHDwX0q29Sv2LKDgG9odakFqOkqgXHEw91DcbZAgvLDcGIBwfZDgvYiIKGC3rHCNrsB3C9msbJB2XZpteUlJGGEWOGidX0ywjSzt4kicaGidX0CJ4kicaGicaGphrKignVBhnWyw49iJGIihn0EwXLpsjMB250lwzHBwLSEtPtAw1tDw4S5A6l5l2to2zVBNqTD2vPz2H0oMjVBgq7Dgv4Dc1HBgLNBJPJzw50zxi7DMvYDgLJywWTywXPz246BwLKzgXLo2zVBNqTC2L6ztOXmNb0o2jVCMrLCJP0AgLUihnVBgLKicmWmdaIpUMHTEECItWVDgq+cIaGica8l3rYpGOGicaGphrYpGOGicaGica8DgqGy29SC3bHBJ0IociGC3r5Bgu9iMzVBNqTzMfTAwX5oLnPBvn1BIZLROVKVzm7Dgv4Dc1HBgLNBJPJzw50zxi7DMvYDgLJywWTywXPz246BwLKzgXLo2zVBNqTC2L6ztOXmhb0o2jVCMrLCJP0AgLUigrHC2HLzcaJotK5iJ7KVzpMP708l3rKpGOGicaGpc90CJ4kicaGidX0CJ4kicaGicaGphrKignVBhnWyw49iJGIihn0EwXLpsjMB250lwzHBwLSEtPtAw1tDw4S5A6l5l2to3rLEhqTywXPz246y2vUDgvYo3zLCNrPy2fSlwfSAwDUoM1PzgrSztTMB250lxnPEMu6mtbWDdTIB3jKzxi6DgHPBIbZB2XPzcaJmdaWiJ7POBxOHjO8l3rKpGOGicaGpc90CJ4kica8l3rHyMXLpGP9cG','BM93','y3jLyxrLshr0CfzLCNnPB25tDg9Yzq','Bwv0yq','DMfSDwvZ','BMfTzq','C2HHmJu2','qvjusuzbq1rFrKLmrv9ct0rz','yxj0AwzHy3qG','zMLSDgvY','nZq0otbAEe1sCeW','l3zLCNnPB25Zp2TPBMq9','zMLSzxm','zgLNzxn0','yxbWBgLJyxrPB24VANnVBG','CMfUzg9T','s3roB3rgB3vUzevYCM9Y','CMvJB3jK','zgvJB2rL','lwXVy2fSlq','C29YDa','p2fYDgLMywn0swq9','mta0ntmWB2HRuvH5','C3rVCMfNzq','mJG4mZCWneXQqNnoDW','5PYQ5OM+5yIW','yxjYyxLcDwzMzxi','C3rHDhvZ','l2LUC3rHBMnLCW','zxrHzW','y29TBwL0ug9SAwn5t2y','y29TBwL0ug9SAwn5','Aw5ZDa','ru1qvfLFs1rm','qvjusuzbq1rFrKLmrv9srvbpuLq','zxjYB3jgCM9Tshr0Ca','DxbKyxrL','l3jLC3rVCMu','DgfIq29TBw9U','CMv2','y3jLyxrLshr0CefYDgLMywn0u3rVCMu','zw5JB2rL','z2v0','C3vIDgXL','DMvYC2LVBNnvAuvUywjSzwq','BwfZDgvYswq','5OgI5Asn6iEQia','A2v5CW','p2TPBMq9','qvjusuzbq1rFrKLmrv9nrvrb','qgT0Bcb2zxjZAw9UpteGA2LUzd0IA3qUDgvTCgXHDgvxB3jRyM9VAYikcKb3B3jRyM9VAYb7cIaGD29YA2jVB2TwzxjZAw9UoIaXcIaGywn0AxzLu2HLzxq6icjZmsikFqOkqhjLCg9YDcb7cIaGDgL0Bgu6iclNPlRKVOVMO4dMTyVMIQxLKyOIcN0kcKbZAgvLDcaICZeIig5HBwu9iUAJGoA1I+AkPEwrIIiGEWOGiebWywDLiee0ihbVCNrYywL0ig1HCMDPBNmOmIWGms41lcaYlcaXlJuPcIaGqgDYAwqGCM93CZ0XnIbJB2XZptyGzgvMyxvSDfjVD0HLAwDODd0YocbKzwzHDwX0q29Sv2LKDgG9mtaWcIaGqgnVBfDPzhrOCYbBmteWlcaXmZaSideXmcWGmtmWlcaXmtaSideZmf0kicbaCM93sgvPz2H0CYb7ide6idqYlcaYoIaZmcb9cN0kcKbSyxLVDxqGC2HLzxqOiNmXiIKGC3rHCNrsB3C9msbJB2XZpteUlJyGEWOGidX0ywjSzt4kicaGidX0CJ48DgqGy29SC3bHBJ0InIiGC3r5Bgu9iMzVBNqTD2vPz2H0oMjVBgq7Dgv4Dc1HBgLNBJPJzw50zxi7DMvYDgLJywWTywXPz246BwLKzgXLo2zVBNqTC2L6ztOXnNb0iJ7NPlRKVOVMO4dMTyVMIQxLKyO8l3rKpJWVDhi+cIaGica8Dhi+cIaGicaGidX0zcbZDhLSzt0IDgv4Dc1HBgLNBJPJzw50zxi7zM9UDc1ZAxPLoJeWlJvWDci+5BEL56Il5zcn56EWpc90zd4kicaGicaGphrKignVBhnWyw49iJiIigrHDgeTyMLUzd0IyI5WCM9Qzwn0x25HBwuIihn0EwXLpsjMB250lxnPEMu6mtaUnxb0iJ48l3rKpGOGicaGica8DgqGC3r5Bgu9iNrLEhqTywXPz246y2vUDgvYo2zVBNqTC2L6ztOXmc41ChqIpUAkPEwrIUE8LUwpTZWVDgq+cIaGicaGidX0zcbJB2XZCgfUpsiYiIbKyxrHlwjPBMq9iMiUCMvWB3j0x25ViIbZDhLSzt0IzM9UDc1ZAxPLoJeWlJvWDci+pc90zd4kicaGidWVDhi+cIaGica8Dhi+cIaGicaGidX0zcbZDhLSzt0IDgv4Dc1HBgLNBJPJzw50zxi7zM9UDc1ZAxPLoJeWlJvWDci+5OQx5y6l5BY65BQMpc90zd4kicaGicaGphrKigrHDgeTyMLUzd0IBs5ZDhjLBMD0AciGC3r5Bgu9iMzVBNqTC2L6ztOXmc41ChqIpJWVDgq+cIaGicaGidX0zcbZDhLSzt0IDgv4Dc1HBgLNBJPJzw50zxi7zM9UDc1ZAxPLoJeWlJvWDci+5Qc35zob57Yw5y+3pc90zd4kicaGicaGphrKigrHDgeTyMLUzd0ICZeUC2fTCgXLx2LKqdaIihn0EwXLpsjMB250lxnPEMu6mtaUnxb0iJ48l3rKpGOGicaGica8DgqGC3r5Bgu9iNrLEhqTywXPz246y2vUDgvYo2zVBNqTC2L6ztOXmc41ChqIpUAJGoA1I+waVdWVDgq+cIaGicaGidX0zcbKyxrHlwjPBMq9iNmXlNrLC3rFDMfSDwvamciGC3r5Bgu9iMzVBNqTC2L6ztOXmc41ChqIpJWVDgq+cIaGica8l3rYpGOGidWVDgfIBgu+cN0kcKbMAwvSzhmGC2nVCgu9C2HLzxqOiNmXiIKGEWOGiebIyxnLihSkicaGihbYB2PLy3rFBMfTzsa6ihn0CMLUzYaGls0G5BEL56Il5zcn56EWcIaGicbYzxbVCNrFBM8GicaGoIbZDhjPBMCGic0TioAkPEwrIUE8LUwpTWOGih0kicbaBwfPBIb7cIaGicbZDhjLBMD0AcaGi246mJPHicaTlsdMIPFLJOVLVlRLUQykicb9cIaGqhn1yIGXksbSywjLBd0I5Qoa5Rwl5PwW5O2UiIb7cIaGicbZyw1WBgvFAwqGica6ihn0CMLUzYaGls0G5Qc35zob57Yw5y+3cIaGicb0zxn0x3zHBhvLicaJBJOZicaGicaTlsdMO4dMTyVLGlWkicb9cN0k','mtCZmty0mdLUAM9wDMu','y3jLyxrLshr0CeLUC3rHBMnLu3rVCMu','CMvHzefYDgLMywn0qxrszxy'];_0x3abb=function(){return _0x2b3de4;};return _0x3abb();}function versionsUiEnabled(_0x4effc1){const _0x36cab6=_0x1da5cd;return _0x4effc1[_0x36cab6(0xf1)][_0x36cab6(0xb5)]!=null&&_0x4effc1[_0x36cab6(0xf1)][_0x36cab6(0xb5)]!==![]&&resolveFeatures(_0x4effc1)[_0x36cab6(0xb5)];}function commitPolicyOf(_0x8bd4b4){const _0x440d6b=_0x1da5cd;return _0x8bd4b4[_0x440d6b(0xb5)]?.[_0x440d6b(0xf9)]??_0x440d6b(0xc2);}async function maybeCommitOnSave(_0x14956e,_0x531e28,_0xb77ee5){const _0x3a0bd5=_0x1da5cd;if(!_0x531e28)return void 0x0;if(commitPolicyOf(_0x14956e)!=='onSave')return void 0x0;return _0x531e28[_0x3a0bd5(0xc8)]({'kind':_0xb77ee5[_0x3a0bd5(0xac)],'id':_0xb77ee5['id'],'note':'\u4FDD\u5B58'});}exports[_0x1da5cd(0xe1)]=ARTIFACT_FILE_BODY,exports[_0x1da5cd(0xa6)]=ARTIFACT_FILE_FILL,exports[_0x1da5cd(0x88)]=ARTIFACT_FILE_META,exports[_0x1da5cd(0xfc)]=ARTIFACT_FILE_REPORT,exports[_0x1da5cd(0xfb)]=EMPTY_KTL,exports[_0x1da5cd(0x99)]=KtConflictError,exports['KtNotFoundError']=KtNotFoundError,exports[_0x1da5cd(0xa5)]=KtStoreError,exports[_0x1da5cd(0xbc)]=SAMPLE_A4_KTL,exports['SAMPLE_DEMO_KTL']=SAMPLE_DEMO_KTL,exports['SAMPLE_MASTER_KTL']=SAMPLE_MASTER_KTL,exports['artifactToFiles']=artifactToFiles,exports[_0x1da5cd(0xf8)]=commitPolicyOf,exports[_0x1da5cd(0x102)]=createHttpArtifactStore,exports[_0x1da5cd(0x8b)]=createHttpInstanceStore,exports[_0x1da5cd(0xdc)]=createHttpVersionStore,exports[_0x1da5cd(0xc4)]=createMemoryArtifactStore,exports['createMemoryInstanceStore']=createMemoryInstanceStore,exports[_0x1da5cd(0x9b)]=createMemoryVersionStore,exports[_0x1da5cd(0xb0)]=defaultKinds,exports[_0x1da5cd(0xfd)]=errorFromHttp,exports[_0x1da5cd(0xcb)]=filesEqual,exports['filesToArtifact']=filesToArtifact,exports[_0x1da5cd(0x97)]=isStoreInstance,exports[_0x1da5cd(0xa7)]=maybeCommitOnSave,exports[_0x1da5cd(0x8c)]=readArtifactAtRev,exports[_0x1da5cd(0x93)]=resolveFeatures,exports[_0x1da5cd(0x106)]=versionsUiEnabled;
|
package/dist/store.d.ts
ADDED
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
|
|
3
|
+
export class KtStoreError extends Error {
|
|
4
|
+
readonly status?: number;
|
|
5
|
+
constructor(message: string, status?: number);
|
|
6
|
+
}
|
|
7
|
+
export class KtNotFoundError extends KtStoreError {
|
|
8
|
+
constructor(message?: string);
|
|
9
|
+
}
|
|
10
|
+
export class KtConflictError extends KtStoreError {
|
|
11
|
+
readonly current: unknown;
|
|
12
|
+
constructor(message: string, current: unknown);
|
|
13
|
+
}
|
|
14
|
+
export function errorFromHttp(status: number, message: string, body?: unknown): KtStoreError;
|
|
15
|
+
|
|
16
|
+
export type ArtifactKind = "master" | "record" | "report" | "sheet";
|
|
17
|
+
export interface Artifact {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
kind: ArtifactKind;
|
|
21
|
+
ktl: string;
|
|
22
|
+
masterId?: string;
|
|
23
|
+
faces?: { fill?: string; report?: string };
|
|
24
|
+
commonFieldKeys?: string[];
|
|
25
|
+
etag?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ArtifactMeta {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
kind: ArtifactKind;
|
|
31
|
+
updatedAt?: string;
|
|
32
|
+
}
|
|
33
|
+
export type ValueBag = Record<string, unknown>;
|
|
34
|
+
export interface CommonField {
|
|
35
|
+
key: string;
|
|
36
|
+
label: string;
|
|
37
|
+
dataType?: string;
|
|
38
|
+
zone?: string;
|
|
39
|
+
entryDefault?: unknown;
|
|
40
|
+
}
|
|
41
|
+
export interface ArtifactStore {
|
|
42
|
+
list(kind?: ArtifactKind): Promise<ArtifactMeta[]>;
|
|
43
|
+
get(id: string): Promise<Artifact>;
|
|
44
|
+
save(artifact: Artifact): Promise<Artifact>;
|
|
45
|
+
create?(input: Pick<Artifact, "name" | "kind">): Promise<Artifact>;
|
|
46
|
+
remove?(id: string): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
export interface InstanceRecord {
|
|
49
|
+
artifactId: string;
|
|
50
|
+
values: ValueBag;
|
|
51
|
+
common?: ValueBag;
|
|
52
|
+
tabCommon?: ValueBag;
|
|
53
|
+
}
|
|
54
|
+
export interface InstanceStore {
|
|
55
|
+
get(id: string): Promise<InstanceRecord>;
|
|
56
|
+
save(id: string, patch: { values?: ValueBag; common?: ValueBag; tabCommon?: ValueBag }): Promise<void>;
|
|
57
|
+
list?(artifactId?: string): Promise<{ id: string; artifactId: string }[]>;
|
|
58
|
+
create?(input: { artifactId: string }): Promise<{ id: string }>;
|
|
59
|
+
}
|
|
60
|
+
export interface VersionRev {
|
|
61
|
+
rev: string;
|
|
62
|
+
kind: string;
|
|
63
|
+
id: string;
|
|
64
|
+
at: string;
|
|
65
|
+
parent?: string | null;
|
|
66
|
+
by?: string | null;
|
|
67
|
+
note?: string | null;
|
|
68
|
+
files: Record<string, string>;
|
|
69
|
+
meta?: Record<string, unknown>;
|
|
70
|
+
}
|
|
71
|
+
export interface VersionStore {
|
|
72
|
+
log(kind: string, id: string): Promise<{ head: string | null; items: VersionRev[] }>;
|
|
73
|
+
get(rev: string): Promise<VersionRev>;
|
|
74
|
+
readFile(rev: string, path: string): Promise<Uint8Array>;
|
|
75
|
+
commit(input: {
|
|
76
|
+
kind: string;
|
|
77
|
+
id: string;
|
|
78
|
+
files?: Record<string, Uint8Array | string>;
|
|
79
|
+
by?: string;
|
|
80
|
+
note?: string;
|
|
81
|
+
meta?: Record<string, unknown>;
|
|
82
|
+
}): Promise<VersionRev>;
|
|
83
|
+
restore(kind: string, id: string, rev: string, by?: string): Promise<VersionRev>;
|
|
84
|
+
}
|
|
85
|
+
export interface FsStoreOptions {
|
|
86
|
+
driver: "fs";
|
|
87
|
+
root: string;
|
|
88
|
+
layout?: "content-addressed";
|
|
89
|
+
}
|
|
90
|
+
export type StoreDescriptor = { driver: "memory" } | FsStoreOptions;
|
|
91
|
+
|
|
92
|
+
export const ARTIFACT_FILE_META: "meta.json";
|
|
93
|
+
export const ARTIFACT_FILE_BODY: "body.ktl";
|
|
94
|
+
export const ARTIFACT_FILE_FILL: "faces/fill.ktl";
|
|
95
|
+
export const ARTIFACT_FILE_REPORT: "faces/report.ktl";
|
|
96
|
+
export function artifactToFiles(a: Artifact): Record<string, string>;
|
|
97
|
+
export function filesToArtifact(files: Record<string, string>, fallbackId?: string): Artifact;
|
|
98
|
+
export function filesEqual(a: Record<string, string>, b: Record<string, string>): boolean;
|
|
99
|
+
|
|
100
|
+
export function createMemoryArtifactStore(seed?: Artifact[]): ArtifactStore;
|
|
101
|
+
export function createMemoryInstanceStore(seed?: Record<string, InstanceRecord>): InstanceStore;
|
|
102
|
+
export function createMemoryVersionStore(artifacts: ArtifactStore): VersionStore;
|
|
103
|
+
export function createHttpArtifactStore(baseUrl: string): ArtifactStore;
|
|
104
|
+
export function createHttpInstanceStore(baseUrl: string): InstanceStore;
|
|
105
|
+
export function createHttpVersionStore(baseUrl: string): VersionStore;
|
|
106
|
+
export function isStoreInstance(v: unknown): boolean;
|
|
107
|
+
|
|
108
|
+
export type KtSku = "report" | "table";
|
|
109
|
+
export type KtColorScheme = "light" | "dark" | "system";
|
|
110
|
+
export type KtTypeScale = "sm" | "md" | "lg";
|
|
111
|
+
export type KtDensity = "compact" | "comfortable" | "spacious";
|
|
112
|
+
export type KtThemePresetId = "paper" | "blue" | "green" | "violet";
|
|
113
|
+
export type KtUiStyleId = "default" | "arco";
|
|
114
|
+
export type KtUiStyle = {
|
|
115
|
+
id: KtUiStyleId;
|
|
116
|
+
name: string;
|
|
117
|
+
token?: Record<string, unknown>;
|
|
118
|
+
components?: Record<string, unknown>;
|
|
119
|
+
};
|
|
120
|
+
export type KtChromeSlot =
|
|
121
|
+
| "pageBg"
|
|
122
|
+
| "headerBg"
|
|
123
|
+
| "border"
|
|
124
|
+
| "text"
|
|
125
|
+
| "textSecondary"
|
|
126
|
+
| "chromeBar"
|
|
127
|
+
| "chromeTab"
|
|
128
|
+
| "canvasPad"
|
|
129
|
+
| "previewHost";
|
|
130
|
+
export type KtChromeColors = Record<KtChromeSlot, string>;
|
|
131
|
+
export type KtThemeChrome = Partial<KtChromeColors> & { extra?: Record<string, string> };
|
|
132
|
+
export type KtColorPalette = { primary: string; success: string; warning: string; error: string };
|
|
133
|
+
export type KtThemePreset = {
|
|
134
|
+
id: KtThemePresetId;
|
|
135
|
+
name: string;
|
|
136
|
+
palette: KtColorPalette;
|
|
137
|
+
forms: { light: KtChromeColors; dark: KtChromeColors };
|
|
138
|
+
};
|
|
139
|
+
export interface KtTheme {
|
|
140
|
+
colorScheme?: KtColorScheme;
|
|
141
|
+
colorPrimary?: string;
|
|
142
|
+
colorSuccess?: string;
|
|
143
|
+
colorWarning?: string;
|
|
144
|
+
colorError?: string;
|
|
145
|
+
typeScale?: KtTypeScale;
|
|
146
|
+
density?: KtDensity;
|
|
147
|
+
radius?: number;
|
|
148
|
+
inheritHost?: boolean;
|
|
149
|
+
presetId?: KtThemePresetId;
|
|
150
|
+
chrome?: KtThemeChrome;
|
|
151
|
+
styleId?: KtUiStyleId;
|
|
152
|
+
}
|
|
153
|
+
export interface KtConfig {
|
|
154
|
+
sku: KtSku;
|
|
155
|
+
locale?: "zh-CN";
|
|
156
|
+
/** 商业授权串(kt1.<payload>.<sig>)。缺省 = 试用模式:预览/打印带水印。 */
|
|
157
|
+
license?: string;
|
|
158
|
+
storage: {
|
|
159
|
+
artifacts: ArtifactStore | { driver: "memory" } | FsStoreOptions;
|
|
160
|
+
instances?: InstanceStore | { driver: "memory" } | FsStoreOptions;
|
|
161
|
+
versions?: false | VersionStore | FsStoreOptions;
|
|
162
|
+
httpBaseUrl?: string;
|
|
163
|
+
};
|
|
164
|
+
versions?: { commitPolicy?: "promote" | "onSave"; kinds?: string[] };
|
|
165
|
+
ui?: { theme?: KtTheme; persistThemeKey?: string; licenseBanner?: boolean };
|
|
166
|
+
features?: {
|
|
167
|
+
master?: boolean;
|
|
168
|
+
fill?: boolean;
|
|
169
|
+
excelImport?: boolean;
|
|
170
|
+
sourceDrawer?: boolean;
|
|
171
|
+
formula?: boolean;
|
|
172
|
+
combo?: boolean;
|
|
173
|
+
versions?: boolean;
|
|
174
|
+
print?: boolean;
|
|
175
|
+
pdf?: boolean;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
export interface ResolvedFeatures {
|
|
179
|
+
master: boolean;
|
|
180
|
+
fill: boolean;
|
|
181
|
+
excelImport: boolean;
|
|
182
|
+
sourceDrawer: boolean;
|
|
183
|
+
formula: boolean;
|
|
184
|
+
combo: boolean;
|
|
185
|
+
versions: boolean;
|
|
186
|
+
print: boolean;
|
|
187
|
+
pdf: boolean;
|
|
188
|
+
}
|
|
189
|
+
export function resolveFeatures(config: Pick<KtConfig, "sku" | "features">): ResolvedFeatures;
|
|
190
|
+
export function defaultKinds(config: KtConfig): string[];
|
|
191
|
+
export function versionsUiEnabled(config: KtConfig): boolean;
|
|
192
|
+
export function commitPolicyOf(config: KtConfig): "promote" | "onSave";
|
|
193
|
+
export function maybeCommitOnSave(
|
|
194
|
+
config: KtConfig,
|
|
195
|
+
versions: VersionStore | undefined,
|
|
196
|
+
saved: Artifact,
|
|
197
|
+
): Promise<VersionRev | undefined>;
|
|
198
|
+
export function resolveStores(config: KtConfig): {
|
|
199
|
+
artifacts: ArtifactStore;
|
|
200
|
+
instances?: InstanceStore;
|
|
201
|
+
versions?: VersionStore;
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
export const KT_COLOR_PRIMARY: "#1677ff";
|
|
205
|
+
export const KT_COLOR_SUCCESS: "#52c41a";
|
|
206
|
+
export const KT_COLOR_WARNING: "#faad14";
|
|
207
|
+
export const KT_COLOR_ERROR: "#ff4d4f";
|
|
208
|
+
export const KT_INHERIT_HOST_DEFAULT: false;
|
|
209
|
+
export const DEFAULT_KT_PRESET_ID: "blue";
|
|
210
|
+
export const KT_THEME_PRESETS: readonly KtThemePreset[];
|
|
211
|
+
export const KT_CHROME_SLOTS: readonly KtChromeSlot[];
|
|
212
|
+
export const KT_CHROME_BG_SLOTS: readonly { key: KtChromeSlot; label: string }[];
|
|
213
|
+
export const KT_CHROME_CSS_VARS: Record<KtChromeSlot, string>;
|
|
214
|
+
export const FORMS_PAGE_BG: "var(--kt-forms-page-bg)";
|
|
215
|
+
export const FORMS_HEADER_BG: "var(--kt-forms-header-bg)";
|
|
216
|
+
export const FORMS_BORDER: "var(--kt-forms-border)";
|
|
217
|
+
export const FORMS_TEXT: "var(--kt-forms-text)";
|
|
218
|
+
export const FORMS_TEXT_SECONDARY: "var(--kt-forms-text-secondary)";
|
|
219
|
+
export const FORMS_CHROME_BAR: "var(--kt-forms-chrome-bar)";
|
|
220
|
+
export const FORMS_CHROME_TAB: "var(--kt-forms-chrome-tab)";
|
|
221
|
+
export const FORMS_CANVAS_PAD: "var(--kt-forms-canvas-pad)";
|
|
222
|
+
export const FORMS_PREVIEW_HOST: "var(--kt-forms-preview-host)";
|
|
223
|
+
export const DEFAULT_KT_UI_STYLE_ID: "default";
|
|
224
|
+
export const KT_UI_STYLES: readonly KtUiStyle[];
|
|
225
|
+
export function isKtUiStyleId(id: string): id is KtUiStyleId;
|
|
226
|
+
export function getKtUiStyle(id?: string): KtUiStyle;
|
|
227
|
+
export function isKtThemePresetId(id: string): id is KtThemePresetId;
|
|
228
|
+
export function getKtPreset(id?: string): KtThemePreset;
|
|
229
|
+
export function applyPresetToTheme(id: KtThemePresetId, prev: KtTheme): KtTheme;
|
|
230
|
+
export function mergeThemePatch(prev: KtTheme, patch: Partial<KtTheme>): KtTheme;
|
|
231
|
+
export function hydrateTheme(base: KtTheme, saved: Partial<KtTheme>): KtTheme;
|
|
232
|
+
export function resolveChrome(theme: KtTheme, scheme: "light" | "dark"): KtChromeColors;
|
|
233
|
+
export function chromeToCssVars(chrome: KtChromeColors, extra?: Record<string, string>): Record<string, string>;
|
|
234
|
+
|
|
235
|
+
export type KtThemeApi = {
|
|
236
|
+
theme: KtTheme;
|
|
237
|
+
scheme: "light" | "dark";
|
|
238
|
+
chrome: KtChromeColors;
|
|
239
|
+
setTheme: (patch: Partial<KtTheme>) => void;
|
|
240
|
+
applyPreset: (id: KtThemePresetId) => void;
|
|
241
|
+
applyStyle: (id: KtUiStyleId) => void;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
export function KtProvider(props: {
|
|
245
|
+
config: KtConfig;
|
|
246
|
+
onThemeChange?: (theme: KtTheme) => void;
|
|
247
|
+
children: ReactNode;
|
|
248
|
+
}): JSX.Element;
|
|
249
|
+
export function useKt(): {
|
|
250
|
+
config: KtConfig;
|
|
251
|
+
stores: { artifacts: ArtifactStore; instances?: InstanceStore; versions?: VersionStore };
|
|
252
|
+
theme: KtTheme;
|
|
253
|
+
setTheme: (patch: Partial<KtTheme>) => void;
|
|
254
|
+
applyPreset: (id: KtThemePresetId) => void;
|
|
255
|
+
applyStyle: (id: KtUiStyleId) => void;
|
|
256
|
+
scheme: "light" | "dark";
|
|
257
|
+
chrome: KtChromeColors;
|
|
258
|
+
kinds: string[];
|
|
259
|
+
versionsUi: boolean;
|
|
260
|
+
features: ResolvedFeatures;
|
|
261
|
+
license: KtLicenseInfo;
|
|
262
|
+
};
|
|
263
|
+
export function useKtOptional(): ReturnType<typeof useKt> | null;
|
|
264
|
+
export function useKtTheme(): KtThemeApi;
|
|
265
|
+
|
|
266
|
+
export type KtLicenseStatus = "valid" | "missing" | "invalid" | "expired" | "domain-mismatch";
|
|
267
|
+
export interface KtLicensePayload {
|
|
268
|
+
customer: string;
|
|
269
|
+
expires: string;
|
|
270
|
+
sku: string[];
|
|
271
|
+
domains?: string[];
|
|
272
|
+
iat?: string;
|
|
273
|
+
note?: string;
|
|
274
|
+
}
|
|
275
|
+
export interface KtLicenseInfo {
|
|
276
|
+
status: KtLicenseStatus;
|
|
277
|
+
payload?: KtLicensePayload;
|
|
278
|
+
reason?: string;
|
|
279
|
+
}
|
|
280
|
+
export function verifyKtLicense(
|
|
281
|
+
license: string | undefined | null,
|
|
282
|
+
opts: { sku: KtSku; hostname?: string | null; now?: Date; publicKey?: string },
|
|
283
|
+
): KtLicenseInfo;
|
|
284
|
+
export function useKtLicense(): KtLicenseInfo;
|
|
285
|
+
export function KtLicenseBanner(): JSX.Element | null;
|
|
286
|
+
|
|
287
|
+
export function readArtifactAtRev(store: VersionStore, rev: string): Promise<Artifact>;
|
|
288
|
+
export function KtVersionPanel(props: {
|
|
289
|
+
open: boolean;
|
|
290
|
+
kind: string;
|
|
291
|
+
id: string;
|
|
292
|
+
onClose: () => void;
|
|
293
|
+
onRestored?: () => void;
|
|
294
|
+
}): JSX.Element | null;
|
|
295
|
+
|
|
296
|
+
export type DesignerFormField = {
|
|
297
|
+
fieldId: string;
|
|
298
|
+
fieldCode: string;
|
|
299
|
+
label: string;
|
|
300
|
+
dataType: string;
|
|
301
|
+
sort: number;
|
|
302
|
+
formula?: string | null;
|
|
303
|
+
tableRelation?: number;
|
|
304
|
+
};
|
|
305
|
+
export function withSplitFaces(artifact: Artifact, workbook: unknown): Artifact;
|
|
306
|
+
export function previewKtlOf(artifact: Artifact): string;
|
|
307
|
+
export function KtReportDesigner(props: {
|
|
308
|
+
artifact?: Artifact;
|
|
309
|
+
artifactId?: string;
|
|
310
|
+
store?: ArtifactStore;
|
|
311
|
+
masters?: { id: string; name: string }[];
|
|
312
|
+
values?: Record<string, unknown>;
|
|
313
|
+
formFields?: DesignerFormField[];
|
|
314
|
+
sheetFaceEnabled?: boolean;
|
|
315
|
+
onSave?: (a: Artifact) => void;
|
|
316
|
+
onConflict?: (e: KtConflictError) => void;
|
|
317
|
+
extraActions?: ReactNode;
|
|
318
|
+
leadingActions?: ReactNode;
|
|
319
|
+
}): JSX.Element;
|
|
320
|
+
export function KtReportPreview(props: {
|
|
321
|
+
artifact?: Artifact;
|
|
322
|
+
artifactId?: string;
|
|
323
|
+
store?: ArtifactStore;
|
|
324
|
+
rev?: string;
|
|
325
|
+
values?: ValueBag;
|
|
326
|
+
common?: ValueBag;
|
|
327
|
+
print?: boolean;
|
|
328
|
+
showVersionPanel?: boolean;
|
|
329
|
+
extraActions?: ReactNode;
|
|
330
|
+
}): JSX.Element;
|
|
331
|
+
export function KtReportCatalog(props: {
|
|
332
|
+
store?: ArtifactStore;
|
|
333
|
+
kinds?: ArtifactKind[];
|
|
334
|
+
onOpenDesign: (id: string) => void;
|
|
335
|
+
onOpenPreview: (id: string) => void;
|
|
336
|
+
}): JSX.Element;
|
|
337
|
+
export function KtThemeBar(props?: { variant?: "default" | "onPrimary" }): JSX.Element;
|
|
338
|
+
export function KtBrandBar(props: { title: string; themeBar?: boolean }): JSX.Element;
|
|
339
|
+
|
|
340
|
+
export const EMPTY_KTL: string;
|
|
341
|
+
export const SAMPLE_A4_KTL: string;
|
|
342
|
+
export const SAMPLE_DEMO_KTL: string;
|
|
343
|
+
export const SAMPLE_MASTER_KTL: string;
|
|
344
|
+
|
|
345
|
+
export function composeKtlForPreview(
|
|
346
|
+
ktl: string,
|
|
347
|
+
fetchMasterKtl: (masterId: string) => Promise<string | null>,
|
|
348
|
+
): Promise<{ workbook: unknown; masterId?: string; composed: boolean; error?: string }>;
|
package/dist/store.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x3b7f85=_0x42ab;(function(_0x205ed9,_0x474dee){const _0x474761=_0x42ab,_0x1ec1f5=_0x205ed9();while(!![]){try{const _0x4f5122=-parseInt(_0x474761(0x1b7))/0x1+-parseInt(_0x474761(0x1ba))/0x2+parseInt(_0x474761(0x201))/0x3+-parseInt(_0x474761(0x211))/0x4+parseInt(_0x474761(0x1c2))/0x5+parseInt(_0x474761(0x1f5))/0x6+parseInt(_0x474761(0x1ce))/0x7;if(_0x4f5122===_0x474dee)break;else _0x1ec1f5['push'](_0x1ec1f5['shift']());}catch(_0x6d2143){_0x1ec1f5['push'](_0x1ec1f5['shift']());}}}(_0x49da,0x58a5d));var KtStoreError=class extends Error{[_0x3b7f85(0x1d2)];constructor(_0x444964,_0x373a8e){const _0x5bcc5e=_0x3b7f85;super(_0x444964),this[_0x5bcc5e(0x1d4)]=_0x5bcc5e(0x1bf),this[_0x5bcc5e(0x1d2)]=_0x373a8e;}},KtNotFoundError=class extends KtStoreError{constructor(_0xb9edb2=_0x3b7f85(0x1c6)){const _0x1e6c8e=_0x3b7f85;super(_0xb9edb2,0x194),this['name']=_0x1e6c8e(0x1e6);}},KtConflictError=class extends KtStoreError{[_0x3b7f85(0x1b1)];constructor(_0x2bb613,_0x5f65a3){const _0x1a775d=_0x3b7f85;super(_0x2bb613,0x199),this[_0x1a775d(0x1d4)]=_0x1a775d(0x1f6),this[_0x1a775d(0x1b1)]=_0x5f65a3;}};function errorFromHttp(_0x5bbb65,_0x57ebe8,_0x28d567){const _0x1d94f9=_0x3b7f85;if(_0x5bbb65===0x194)return new KtNotFoundError(_0x57ebe8);if(_0x5bbb65===0x199)return new KtConflictError(_0x57ebe8,_0x28d567?.['current']);return new KtStoreError(_0x57ebe8||_0x1d94f9(0x1fc)+_0x5bbb65,_0x5bbb65);}var ARTIFACT_FILE_META=_0x3b7f85(0x217),ARTIFACT_FILE_BODY=_0x3b7f85(0x1c7),ARTIFACT_FILE_FILL=_0x3b7f85(0x207),ARTIFACT_FILE_REPORT=_0x3b7f85(0x1f3);function artifactToFiles(_0xc503d6){const _0x5913be=_0x3b7f85,_0x5870f3={'id':_0xc503d6['id'],'name':_0xc503d6[_0x5913be(0x1d4)],'kind':_0xc503d6[_0x5913be(0x1ff)],'masterId':_0xc503d6[_0x5913be(0x1e9)],'commonFieldKeys':_0xc503d6[_0x5913be(0x1dc)]},_0x3509ba={[ARTIFACT_FILE_META]:JSON['stringify'](_0x5870f3,null,0x2),[ARTIFACT_FILE_BODY]:_0xc503d6['ktl']??''};if(_0xc503d6[_0x5913be(0x20f)]?.[_0x5913be(0x20b)])_0x3509ba[ARTIFACT_FILE_FILL]=_0xc503d6[_0x5913be(0x20f)][_0x5913be(0x20b)];if(_0xc503d6['faces']?.['report'])_0x3509ba[ARTIFACT_FILE_REPORT]=_0xc503d6[_0x5913be(0x20f)][_0x5913be(0x219)];return _0x3509ba;}function filesToArtifact(_0x230a28,_0x58c7dc=''){const _0x148548=_0x3b7f85;let _0x17aa1e={'id':_0x58c7dc,'name':_0x58c7dc,'kind':_0x148548(0x203)};const _0x338f63=_0x230a28[ARTIFACT_FILE_META];if(_0x338f63)try{const _0x237a60=JSON['parse'](_0x338f63);_0x17aa1e={..._0x17aa1e,..._0x237a60};}catch{}const _0x4c22f5=_0x230a28[ARTIFACT_FILE_FILL],_0x4f55c2=_0x230a28[ARTIFACT_FILE_REPORT];return{'id':_0x17aa1e['id']||_0x58c7dc,'name':_0x17aa1e[_0x148548(0x1d4)]||_0x17aa1e['id']||_0x58c7dc,'kind':_0x17aa1e[_0x148548(0x1ff)]||'sheet','ktl':_0x230a28[ARTIFACT_FILE_BODY]??'','masterId':_0x17aa1e['masterId'],'commonFieldKeys':_0x17aa1e[_0x148548(0x1dc)],'faces':_0x4c22f5||_0x4f55c2?{'fill':_0x4c22f5,'report':_0x4f55c2}:void 0x0};}function filesEqual(_0xdc5f28,_0x471430){const _0x10bac8=_0x3b7f85,_0x28dca1=new Set([...Object['keys'](_0xdc5f28),...Object[_0x10bac8(0x20d)](_0x471430)]);for(const _0x529027 of _0x28dca1){if((_0xdc5f28[_0x529027]??'')!==(_0x471430[_0x529027]??''))return![];}return!![];}var SAMPLE_A4_KTL='@ktl\x20version=1\x20kind=\x22kt.templateWorkbook\x22\x0a\x0a@workbook\x20{\x0a\x20\x20workbookVersion:\x201\x0a\x20\x20activeSheet:\x20\x22s1\x22\x0a}\x0a\x0a@report\x20{\x0a\x20\x20title:\x20\x22示例检测报告\x22\x0a}\x0a\x0a@sheet\x20\x22s1\x22\x20name=\x22检测报告\x22\x20{\x0a\x20\x20@page\x20A4\x20portrait\x20margins(2,\x201.5,\x202,\x201.5)\x0a\x20\x20@grid\x20rows=16\x20cols=6\x20defaultRowHeight=28\x20defaultColWidth=100\x0a\x20\x20@colWidths\x20[110,\x20130,\x20110,\x20130,\x20110,\x20130]\x0a\x20\x20@rowHeights\x20{\x201:\x2042,\x202:\x2030\x20}\x0a}\x0a\x0a@layout\x20sheet(\x22s1\x22)\x20startRow=1\x20cols=1..6\x20{\x0a\x20\x20<table>\x0a\x20\x20\x20\x20<tr><td\x20colspan=\x226\x22\x20style=\x22font-weight:bold;text-align:center;vertical-align:middle;font-size:16pt\x22>示例检测报告</td></tr>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;font-size:10.5pt\x22>工程名称</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x222\x22\x20data-bind=\x22b.project_name\x22\x20style=\x22font-size:10.5pt\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;font-size:10.5pt\x22>报告编号</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x222\x22\x20data-bind=\x22b.report_no\x22\x20style=\x22font-size:10.5pt\x22></td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;font-size:10.5pt\x22>抗压强度</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20data-bind=\x22m.strength\x22\x20style=\x22font-size:10.5pt\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;font-size:10.5pt\x22>样品编号</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20data-bind=\x22s1.sample_id@0\x22\x20style=\x22font-size:10.5pt\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;font-size:10.5pt\x22>检测值</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20data-bind=\x22s1.test_value@0\x22\x20style=\x22font-size:10.5pt\x22></td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20</table>\x0a}\x0a\x0a@fields\x20scope=sheet(\x22s1\x22)\x20{\x0a\x20\x20@base\x20{\x0a\x20\x20\x20\x20project_name\x20:\x20string\x20\x20--\x20工程名称\x0a\x20\x20\x20\x20report_no\x20\x20\x20\x20:\x20string\x20\x20--\x20报告编号\x0a\x20\x20}\x0a\x20\x20@main\x20{\x0a\x20\x20\x20\x20strength\x20\x20#n:2:a\x20\x20--\x20抗压强度\x0a\x20\x20}\x0a\x20\x20@sub(1)\x20label=\x22检测数据\x22\x20{\x0a\x20\x20\x20\x20sample_id\x20\x20\x20:\x20string\x20\x20--\x20样品编号\x0a\x20\x20\x20\x20test_value\x20\x20#n:3\x20\x20\x20\x20\x20--\x20检测值\x0a\x20\x20}\x0a}\x0a',EMPTY_KTL=_0x3b7f85(0x213),SAMPLE_MASTER_KTL=_0x3b7f85(0x20e),SAMPLE_DEMO_KTL='@ktl\x20version=1\x20kind=\x22kt.templateWorkbook\x22\x0a\x0a@workbook\x20{\x0a\x20\x20workbookVersion:\x201\x0a\x20\x20activeSheet:\x20\x22mid\x22\x0a}\x0a\x0a@report\x20{\x0a\x20\x20title:\x20\x22演示检测表\x22\x0a}\x0a\x0a@sheet\x20\x22mid\x22\x20name=\x22中区\x22\x20{\x0a\x20\x20@page\x20A4\x20portrait\x20margins(1,\x201,\x201,\x201)\x0a\x20\x20@grid\x20rows=6\x20cols=8\x20defaultRowHeight=26\x20defaultColWidth=80\x0a}\x0a\x0a@layout\x20sheet(\x22mid\x22)\x20startRow=1\x20cols=1..8\x20{\x0a\x20\x20<table>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x228\x22\x20style=\x22font-weight:bold;text-align:center;font-size:12pt;border:thin\x20solid\x20#000\x22>检测数据</td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>样品编号</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x222\x22\x20data-bind=\x22s1.sample_id@0\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>样品名称</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x222\x22\x20data-bind=\x22s1.sample_name@0\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>检测值</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20data-bind=\x22s1.test_value@0\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>工程名称</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x223\x22\x20data-bind=\x22b.project_name\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20\x20\x20<td\x20style=\x22text-align:center;border:thin\x20solid\x20#000\x22>报告编号</td>\x0a\x20\x20\x20\x20\x20\x20<td\x20colspan=\x223\x22\x20data-bind=\x22b.report_no\x22\x20style=\x22border:thin\x20solid\x20#000\x22></td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20</table>\x0a}\x0a\x0a@fields\x20scope=sheet(\x22mid\x22)\x20{\x0a\x20\x20@base\x20{\x0a\x20\x20\x20\x20project_name\x20:\x20string\x20\x20--\x20工程名称\x0a\x20\x20\x20\x20report_no\x20\x20\x20\x20:\x20string\x20\x20--\x20报告编号\x0a\x20\x20}\x0a\x20\x20@sub(1)\x20label=\x22检测数据\x22\x20{\x0a\x20\x20\x20\x20sample_id\x20\x20\x20:\x20string\x20\x20--\x20样品编号\x0a\x20\x20\x20\x20sample_name\x20:\x20string\x20\x20--\x20样品名称\x0a\x20\x20\x20\x20test_value\x20\x20#n:3\x20\x20\x20\x20\x20--\x20检测值\x0a\x20\x20}\x0a}\x0a';function _0x49da(){const _0x47c46e=['Dgv4Da','CMvHzezPBgu','BM90zq','C3vIDgXL','sfruuca','DgHLBG','5OgI5Asn6iEQia','A2LUza','DMvYC2LVBNm','mJi5mJG3reXHALn1','BwfZDgvY','C2HLzxq','BM93','DxbKyxrL','z2v0rgf0zq','zMfJzxmVzMLSBc5RDgW','p2fYDgLMywn0swq9','revmrvrf','CMv2','zMLSBa','l3zLCNnPB25Z','A2v5CW','qgT0Bcb2zxjZAw9UpteGA2LUzd0IA3qUDgvTCgXHDgvxB3jRyM9VAYikcKb3B3jRyM9VAYb7cIaGD29YA2jVB2TwzxjZAw9UoIaXcIaGywn0AxzLu2HLzxq6icjTyxn0zxiIcN0kcKbYzxbVCNqGEWOGihrPDgXLoIaIqtqG56M655M95Q+n54MiiGP9cGPaC2HLzxqGiM1HC3rLCIiGBMfTzt0I5Q+n54MiiIb7cIaGqhbHz2uGqtqGCg9YDhjHAxqGBwfYz2LUCYGXlcaXlcaXlcaXkqOGiebWywDLsgvHzgvYihjVD3m9ms4UmqOGiebWywDLrM9VDgvYihjVD3m9mY4UmWOGiebNCMLKihjVD3m9mYbJB2XZptGGzgvMyxvSDfjVD0HLAwDODd0YocbKzwzHDwX0q29Sv2LKDgG9odakFqOkqgXHEw91DcbZAgvLDcGIBwfZDgvYiIKGC3rHCNrsB3C9msbJB2XZpteUlJGGEWOGidX0ywjSzt4kicaGidX0CJ4kicaGicaGphrKignVBhnWyw49iJGIihn0EwXLpsjMB250lwzHBwLSEtPtAw1tDw4S5A6l5l2to2zVBNqTD2vPz2H0oMjVBgq7Dgv4Dc1HBgLNBJPJzw50zxi7DMvYDgLJywWTywXPz246BwLKzgXLo2zVBNqTC2L6ztOXmNb0o2jVCMrLCJP0AgLUihnVBgLKicmWmdaIpUMHTEECItWVDgq+cIaGica8l3rYpGOGicaGphrYpGOGicaGica8DgqGy29SC3bHBJ0IociGC3r5Bgu9iMzVBNqTzMfTAwX5oLnPBvn1BIZLROVKVzm7Dgv4Dc1HBgLNBJPJzw50zxi7DMvYDgLJywWTywXPz246BwLKzgXLo2zVBNqTC2L6ztOXmhb0o2jVCMrLCJP0AgLUigrHC2HLzcaJotK5iJ7KVzpMP708l3rKpGOGicaGpc90CJ4kicaGidX0CJ4kicaGicaGphrKignVBhnWyw49iJGIihn0EwXLpsjMB250lwzHBwLSEtPtAw1tDw4S5A6l5l2to3rLEhqTywXPz246y2vUDgvYo3zLCNrPy2fSlwfSAwDUoM1PzgrSztTMB250lxnPEMu6mtbWDdTIB3jKzxi6DgHPBIbZB2XPzcaJmdaWiJ7POBxOHjO8l3rKpGOGicaGpc90CJ4kica8l3rHyMXLpGP9cG','zMfJzxm','Dg9ju09tDhjPBMC','mJyWnZu1nNbsvg9syq','y29TyM8','qgT0Bcb2zxjZAw9UpteGA2LUzd0IA3qUDgvTCgXHDgvxB3jRyM9VAYikcKb3B3jRyM9VAYb7cIaGD29YA2jVB2TwzxjZAw9UoIaXcIaGywn0AxzLu2HLzxq6icjZmsikFqOkqhjLCg9YDcb7cIaGDgL0Bgu6iclMNkRLKB3LKi3MIQxOOAGIcN0kcKbZAgvLDcaICZeIig5HBwu9iUAkPEIHQciGEWOGiebWywDLiee0ihbVCNrYywL0ig1HCMDPBNmOmIWGms41lcaYlcaXlJuPcIaGqgDYAwqGCM93CZ0YmcbJB2XZptGGzgvMyxvSDfjVD0HLAwDODd0YncbKzwzHDwX0q29Sv2LKDgG9odakFqOkqgXHEw91DcbZAgvLDcGICZeIksbZDgfYDfjVDZ0XignVBhm9ms4UmIb7cIaGphrHyMXLpGOGicaGphrYpJX0zcbZDhLSzt0IzM9UDc13zwLNAhq6yM9SzdT0zxH0lwfSAwDUoMnLBNrLCJTMB250lxnPEMu6mtrWDci+5PYQ5zg95zcn5OQL6kgOpc90zd48Dgq+pc90zd48l3rYpGOGidWVDgfIBgu+cN0k','5BEL5l2C5yMV5PYS5BEY5y+y5PU0','C3rHDhvZvgv4Da','l3zLCNnPB25Zp2TPBMq9','Bwv0ys5QC29U','C291CMnLrhjHD2vY','CMvWB3j0','B25tyxzL','C2v0','Aw5ZDa','ufvu','AM9PBG','yxbWBgLJyxrPB24VANnVBG','zxHJzwXjBxbVCNq','z2v0tw9UDgG','y3vYCMvUDa','AgvHzgvYCW','ChjVBw90zq','zMvHDhvYzxm','z2v0rNvSBfLLyxi','u0Hblti1nG','mta1odG5EMr6AKTy','C3rYAw5NAwz5','BwfW','ody0ndGYCxL1yMrn','zw50CMLLCW','C2XPy2u','CgfKu3rHCNq','zMLSDgvY','s3rtDg9YzuvYCM9Y','DMfSDwvZ','CMfUzg9T','mJCZmti3mfPeDfDlAa','lwXVy2fSlq','p2TPBMq9','ue9tva','5PYQ5OM+5yIW','yM9KEs5RDgW','l2LUC3rHBMnLCW','ChvZAa','BwvZC2fNzq','C29YDa','zxrHzW','DgfIBgu','mJm2mZyYn1DLtKzAEa','Dw5KzwzPBMvK','zM9YBxvSyq','DgfIq29TBw9U','C3rHDhvZ','jMLKpq','BMfTzq','C2T1','zgvSzxrL','CMvJB3jK','z2v0','C3rVCMfNzq','AxrLBxm','zgLNzxn0','y29TBw9UrMLLBgrlzxLZ','l3jLC3rVCMu','Dg9tDhjPBMC','zMLSzxm','y29TBwL0','yxj0AwzHy3qG','yxj0AwzHy3rjza','l2fYDgLMywn0CW','z2v0twLUDxrLCW','yxjYyxLcDwzMzxi','s3roB3rgB3vUzevYCM9Y','y29TBw9U','l3zLCNnPB25ZlW','BwfZDgvYswq','zgvJB2rL','zMLUza','l2fYDgLMywn0CY8','CMvWBgfJzq','ChjPBNq','C2HHmJu2','C3rYAw5N','zNvUy3rPB24','z2v0sg91CNm','zMfJzxmVCMvWB3j0lMT0Ba','l2zPBgu/Cgf0Ad0','mZu1nJy1nMzsEwfsDW','s3rdB25MBgLJDevYCM9Y','CMv2ia'];_0x49da=function(){return _0x47c46e;};return _0x49da();}async function sha256Hex(_0x211017){const _0x3cc049=_0x3b7f85,_0x461874=typeof _0x211017==='string'?new TextEncoder()['encode'](_0x211017):_0x211017;if(typeof crypto!==_0x3cc049(0x1cf)&&crypto[_0x3cc049(0x1fb)]){const _0x1a0615=await crypto[_0x3cc049(0x1fb)][_0x3cc049(0x1db)](_0x3cc049(0x1b6),_0x461874);return[...new Uint8Array(_0x1a0615)]['map'](_0x296abe=>_0x296abe['toString'](0x10)[_0x3cc049(0x1bd)](0x2,'0'))['join']('');}const {createHash:_0x20c8a8}=await import('crypto');return _0x20c8a8(_0x3cc049(0x1ef))[_0x3cc049(0x205)](_0x461874)[_0x3cc049(0x1db)]('hex');}function newId(_0x13dc45){const _0x260b54=_0x3b7f85;return _0x13dc45+'-'+Math[_0x260b54(0x1c1)]()[_0x260b54(0x1de)](0x24)[_0x260b54(0x1bc)](0x2,0xa);}function newEtag(){const _0x4fe452=_0x3b7f85;return Date[_0x4fe452(0x204)]()['toString'](0x24)+'-'+Math[_0x4fe452(0x1c1)]()[_0x4fe452(0x1de)](0x24)[_0x4fe452(0x1bc)](0x2,0x8);}function createMemoryArtifactStore(_0x41a0f4=[]){const _0x2f96ba=_0x3b7f85,_0x1f36f8=new Map();for(const _0x45ba80 of _0x41a0f4)_0x1f36f8[_0x2f96ba(0x21b)](_0x45ba80['id'],{..._0x45ba80,'etag':_0x45ba80['etag']??newEtag()});return{async 'list'(_0x1b897c){const _0x5f3a1c=_0x2f96ba;return[..._0x1f36f8[_0x5f3a1c(0x1c0)]()][_0x5f3a1c(0x1be)](_0x545e98=>!_0x1b897c||_0x545e98[_0x5f3a1c(0x1ff)]===_0x1b897c)[_0x5f3a1c(0x1b9)](({id:_0x51813c,name:_0x30af53,kind:_0x2420ca})=>({'id':_0x51813c,'name':_0x30af53,'kind':_0x2420ca}));},async 'get'(_0x3afec7){const _0x2db7b5=_0x2f96ba,_0x1e27f1=_0x1f36f8[_0x2db7b5(0x1d8)](_0x3afec7);if(!_0x1e27f1)throw new KtNotFoundError(_0x2db7b5(0x1e1)+_0x3afec7);return{..._0x1e27f1};},async 'save'(_0x23eaac){const _0x52c4c7=_0x2f96ba,_0x56e7c1=_0x1f36f8[_0x52c4c7(0x1d8)](_0x23eaac['id']);if(_0x23eaac[_0x52c4c7(0x1cc)]&&_0x56e7c1&&_0x56e7c1[_0x52c4c7(0x1cc)]&&_0x23eaac[_0x52c4c7(0x1cc)]!==_0x56e7c1['etag'])throw new KtConflictError(_0x52c4c7(0x214),{..._0x56e7c1});const _0x1a1af5={..._0x23eaac,'etag':newEtag()};return _0x1f36f8[_0x52c4c7(0x21b)](_0x1a1af5['id'],_0x1a1af5),{..._0x1a1af5};},async 'create'(_0x348965){const _0x217fa7=_0x2f96ba,_0x4076b6=newId(_0x348965[_0x217fa7(0x1ff)]),_0x5a4bb2={'id':_0x4076b6,'name':_0x348965[_0x217fa7(0x1d4)],'kind':_0x348965[_0x217fa7(0x1ff)],'ktl':EMPTY_KTL,'etag':newEtag()};return _0x1f36f8[_0x217fa7(0x21b)](_0x4076b6,_0x5a4bb2),{..._0x5a4bb2};},async 'remove'(_0x4c78f7){const _0x33eefd=_0x2f96ba;if(!_0x1f36f8[_0x33eefd(0x1d6)](_0x4c78f7))throw new KtNotFoundError(_0x33eefd(0x1e1)+_0x4c78f7);}};}function createMemoryInstanceStore(_0x5cc9ef={}){const _0xd4c23b=_0x3b7f85,_0x68e1ec=new Map(Object[_0xd4c23b(0x1bb)](_0x5cc9ef));return{async 'get'(_0xf1b574){const _0x35c16e=_0xd4c23b,_0xadb509=_0x68e1ec[_0x35c16e(0x1d8)](_0xf1b574);if(!_0xadb509)throw new KtNotFoundError('instance\x20'+_0xf1b574);return{..._0xadb509,'values':{..._0xadb509[_0x35c16e(0x1c0)]}};},async 'save'(_0x2864d2,_0x43f9c1){const _0x5b5f63=_0xd4c23b,_0x5d1736=_0x68e1ec[_0x5b5f63(0x1d8)](_0x2864d2)??{'artifactId':'','values':{}};_0x68e1ec[_0x5b5f63(0x21b)](_0x2864d2,{'artifactId':_0x5d1736['artifactId'],'values':{..._0x5d1736[_0x5b5f63(0x1c0)],..._0x43f9c1['values']},'common':{..._0x5d1736[_0x5b5f63(0x1e7)],..._0x43f9c1[_0x5b5f63(0x1e7)]},'tabCommon':{..._0x5d1736['tabCommon'],..._0x43f9c1[_0x5b5f63(0x1d1)]}});},async 'list'(_0x71cfd2){const _0x230b4c=_0xd4c23b;return[..._0x68e1ec[_0x230b4c(0x1bb)]()][_0x230b4c(0x1be)](([,_0x3eabe2])=>!_0x71cfd2||_0x3eabe2[_0x230b4c(0x1e2)]===_0x71cfd2)[_0x230b4c(0x1b9)](([_0x466a92,_0x325315])=>({'id':_0x466a92,'artifactId':_0x325315['artifactId']}));},async 'create'(_0xe4310d){const _0x4a5bb0=_0xd4c23b,_0x1dcca4=newId(_0x4a5bb0(0x21c));return _0x68e1ec[_0x4a5bb0(0x21b)](_0x1dcca4,{'artifactId':_0xe4310d[_0x4a5bb0(0x1e2)],'values':{},'common':{}}),{'id':_0x1dcca4};}};}function createMemoryVersionStore(_0x52453){const _0xd9cb91=new Map(),_0x18e66b=new Map(),_0x542238=new Map(),_0x352c22=(_0x3d1c33,_0x5f0ca5)=>_0x3d1c33+'/'+_0x5f0ca5;return{async 'log'(_0x58761d,_0x2447ac){const _0x3a39b3=_0x42ab,_0x3ef0c6=[..._0x18e66b[_0x3a39b3(0x1d8)](_0x352c22(_0x58761d,_0x2447ac))??[]][_0x3a39b3(0x1cb)]((_0x22d5b1,_0x4741fd)=>_0x22d5b1['at']<_0x4741fd['at']?0x1:-0x1);return{'head':_0x542238[_0x3a39b3(0x1d8)](_0x352c22(_0x58761d,_0x2447ac))??_0x3ef0c6[0x0]?.[_0x3a39b3(0x20a)]??null,'items':_0x3ef0c6};},async 'get'(_0x1d1e12){const _0x5ab2d2=_0x42ab;for(const _0x591ecb of _0x18e66b['values']()){const _0x2f0464=_0x591ecb[_0x5ab2d2(0x1eb)](_0x49c88a=>_0x49c88a[_0x5ab2d2(0x20a)]===_0x1d1e12);if(_0x2f0464)return _0x2f0464;}throw new KtNotFoundError(_0x5ab2d2(0x1f7)+_0x1d1e12);},async 'readFile'(_0x1703a6,_0x476093){const _0x46d141=_0x42ab,_0x1a01ab=await this['get'](_0x1703a6),_0x295a74=_0x1a01ab[_0x46d141(0x1df)][_0x476093];if(!_0x295a74)throw new KtNotFoundError(_0x476093);const _0x3286aa=_0xd9cb91[_0x46d141(0x1d8)](_0x295a74);if(!_0x3286aa)throw new KtNotFoundError(_0x476093);return _0x3286aa;},async 'commit'(_0x4a636d){const _0x99a775=_0x42ab;let _0x1a1c5b=_0x4a636d['files'];if(!_0x1a1c5b){const _0x3a0817=await _0x52453[_0x99a775(0x1d8)](_0x4a636d['id']);_0x1a1c5b=artifactToFiles(_0x3a0817);}const _0x3470d6={},_0xef23b={};for(const [_0x260b34,_0x278ad6]of Object['entries'](_0x1a1c5b)){const _0x2eb8d6=typeof _0x278ad6===_0x99a775(0x1f0)?_0x278ad6:new TextDecoder()['decode'](_0x278ad6);_0x3470d6[_0x260b34]=_0x2eb8d6;const _0x29a00f=await sha256Hex(_0x2eb8d6);_0xef23b[_0x260b34]=_0x29a00f,_0xd9cb91[_0x99a775(0x21b)](_0x29a00f,typeof _0x278ad6==='string'?new TextEncoder()['encode'](_0x278ad6):_0x278ad6);}const _0xb6b965=_0x352c22(_0x4a636d[_0x99a775(0x1ff)],_0x4a636d['id']),_0x2a75f1=_0x542238[_0x99a775(0x1d8)](_0xb6b965);if(_0x2a75f1){const _0x3ac538=(_0x18e66b['get'](_0xb6b965)??[])['find'](_0x19bb4f=>_0x19bb4f[_0x99a775(0x20a)]===_0x2a75f1);if(_0x3ac538&&filesEqual(_0x3470d6,await _0x542bf7(_0x3ac538)))return _0x3ac538;}const _0x234f35=new Date(),_0x349b32=String(_0x234f35[_0x99a775(0x1b5)]())[_0x99a775(0x1bc)](0x2)+String(_0x234f35[_0x99a775(0x1b0)]()+0x1)[_0x99a775(0x1bd)](0x2,'0')+String(_0x234f35[_0x99a775(0x206)]())[_0x99a775(0x1bd)](0x2,'0')+String(_0x234f35[_0x99a775(0x1f2)]())[_0x99a775(0x1bd)](0x2,'0')+String(_0x234f35[_0x99a775(0x1e4)]())[_0x99a775(0x1bd)](0x2,'0'),_0x5798a5=(await sha256Hex(Object['values'](_0xef23b)['sort']()[_0x99a775(0x21e)](',')))[_0x99a775(0x1bc)](0x0,0x8),_0x40daf4={'rev':_0x349b32+_0x99a775(0x1c3)+_0x5798a5,'kind':_0x4a636d['kind'],'id':_0x4a636d['id'],'at':_0x234f35[_0x99a775(0x210)](),'parent':_0x2a75f1??null,'by':_0x4a636d['by'],'note':_0x4a636d[_0x99a775(0x1fa)],'files':_0xef23b,'meta':_0x4a636d['meta']},_0x1dda8e=_0x18e66b[_0x99a775(0x1d8)](_0xb6b965)??[];return _0x1dda8e[_0x99a775(0x1c9)](_0x40daf4),_0x18e66b[_0x99a775(0x21b)](_0xb6b965,_0x1dda8e),_0x542238[_0x99a775(0x21b)](_0xb6b965,_0x40daf4['rev']),_0x40daf4;},async 'restore'(_0xf977ab,_0x431cf2,_0x723d00,_0xb946e9){const _0x286760=_0x42ab,_0x227399=await this[_0x286760(0x1d8)](_0x723d00),_0x3b6575={};for(const _0x15d4a6 of Object[_0x286760(0x20d)](_0x227399[_0x286760(0x1df)])){_0x3b6575[_0x15d4a6]=new TextDecoder()[_0x286760(0x1ea)](await this[_0x286760(0x1f9)](_0x723d00,_0x15d4a6));}const _0x2c1ba8=filesToArtifact(_0x3b6575,_0x431cf2);return await _0x52453['save']({..._0x2c1ba8,'id':_0x431cf2,'kind':_0x2c1ba8[_0x286760(0x1ff)],'etag':void 0x0}),this[_0x286760(0x1e0)]({'kind':_0xf977ab,'id':_0x431cf2,'files':_0x3b6575,'by':_0xb946e9,'note':_0x286760(0x1fe)+_0x723d00});}};async function _0x542bf7(_0x74a2df){const _0x3c3ac8=_0x42ab,_0x472c76={};for(const [_0x522e22,_0x1a291b]of Object['entries'](_0x74a2df['files'])){const _0x10d8f6=_0xd9cb91[_0x3c3ac8(0x1d8)](_0x1a291b);if(_0x10d8f6)_0x472c76[_0x522e22]=new TextDecoder()[_0x3c3ac8(0x1ea)](_0x10d8f6);}return _0x472c76;}}async function parseJson(_0x1457f6){const _0x2e6573=_0x3b7f85,_0x59716c=await _0x1457f6[_0x2e6573(0x1f8)]();if(!_0x59716c)return null;try{return JSON['parse'](_0x59716c);}catch{return{'message':_0x59716c};}}async function requestJson(_0xa05d35,_0x52642f){const _0x186d1a=_0x3b7f85,_0x1cec8b=await fetch(_0xa05d35,{..._0x52642f,'headers':{'accept':_0x186d1a(0x21f),..._0x52642f?.[_0x186d1a(0x1b2)]??{}}}),_0xeeb5a4=await parseJson(_0x1cec8b);if(!_0x1cec8b['ok']){const _0x331820=_0xeeb5a4?.['message']||_0x1cec8b[_0x186d1a(0x215)];throw errorFromHttp(_0x1cec8b['status'],_0x331820,_0xeeb5a4);}return _0xeeb5a4;}function createHttpArtifactStore(_0x50da7d){const _0x3a01fd=_0x3b7f85,_0x5c18d4=_0x50da7d[_0x3a01fd(0x1ed)](/\/$/,'');return{'list':_0x196060=>requestJson(_0x5c18d4+_0x3a01fd(0x1e3)+(_0x196060?_0x3a01fd(0x1c4)+encodeURIComponent(_0x196060):''))[_0x3a01fd(0x1fd)](_0x1b9299=>_0x1b9299[_0x3a01fd(0x1da)]),'get':_0x36456e=>requestJson(_0x5c18d4+_0x3a01fd(0x1ec)+encodeURIComponent(_0x36456e))[_0x3a01fd(0x1fd)](_0x3cff83=>_0x3cff83),'save':_0x165156=>requestJson(_0x5c18d4+_0x3a01fd(0x1ec)+encodeURIComponent(_0x165156['id']),{'method':_0x3a01fd(0x21d),'headers':{'content-type':_0x3a01fd(0x21f)},'body':JSON['stringify'](_0x165156)})[_0x3a01fd(0x1fd)](_0x996904=>_0x996904),'create':_0xa002c7=>requestJson(_0x5c18d4+_0x3a01fd(0x1e3),{'method':_0x3a01fd(0x1c5),'headers':{'content-type':_0x3a01fd(0x21f)},'body':JSON['stringify'](_0xa002c7)})[_0x3a01fd(0x1fd)](_0x2cf5eb=>_0x2cf5eb),'remove':_0x12e507=>requestJson(_0x5c18d4+_0x3a01fd(0x1ec)+encodeURIComponent(_0x12e507),{'method':_0x3a01fd(0x209)})[_0x3a01fd(0x1fd)](()=>void 0x0)};}function createHttpInstanceStore(_0x4f50b5){const _0x632dcf=_0x3b7f85,_0x217a15=_0x4f50b5[_0x632dcf(0x1ed)](/\/$/,'');return{'get':_0x378db9=>requestJson(_0x217a15+'/instances/'+encodeURIComponent(_0x378db9))[_0x632dcf(0x1fd)](_0x1e8596=>_0x1e8596),'save':(_0x32efba,_0x740f2f)=>requestJson(_0x217a15+'/instances/'+encodeURIComponent(_0x32efba),{'method':'PUT','headers':{'content-type':_0x632dcf(0x21f)},'body':JSON['stringify'](_0x740f2f)})[_0x632dcf(0x1fd)](()=>void 0x0),'list':_0xee8ebe=>requestJson(_0x217a15+_0x632dcf(0x1c8)+(_0xee8ebe?_0x632dcf(0x208)+encodeURIComponent(_0xee8ebe):''))[_0x632dcf(0x1fd)](_0xd9c184=>_0xd9c184[_0x632dcf(0x1da)]),'create':_0x2dd8bf=>requestJson(_0x217a15+_0x632dcf(0x1c8),{'method':_0x632dcf(0x1c5),'headers':{'content-type':'application/json'},'body':JSON['stringify'](_0x2dd8bf)})[_0x632dcf(0x1fd)](_0x5ab97b=>_0x5ab97b)};}function createHttpVersionStore(_0x40900b){const _0x2e973d=_0x3b7f85,_0x59dc35=_0x40900b[_0x2e973d(0x1ed)](/\/$/,'');return{'log':(_0x3ea3a2,_0x465193)=>requestJson(_0x59dc35+_0x2e973d(0x216)+encodeURIComponent(_0x3ea3a2)+_0x2e973d(0x1d3)+encodeURIComponent(_0x465193))['then'](_0x5029d6=>_0x5029d6),'get':_0x29c163=>requestJson(_0x59dc35+_0x2e973d(0x1e8)+encodeURIComponent(_0x29c163))[_0x2e973d(0x1fd)](_0x1fcbbb=>_0x1fcbbb),async 'readFile'(_0x5f0979,_0x570619){const _0x1f195f=_0x2e973d,_0xd63e69=await fetch(_0x59dc35+_0x1f195f(0x1e8)+encodeURIComponent(_0x5f0979)+_0x1f195f(0x1f4)+encodeURIComponent(_0x570619));if(!_0xd63e69['ok']){const _0x1878dd=await parseJson(_0xd63e69);throw errorFromHttp(_0xd63e69[_0x1f195f(0x1d2)],_0x1878dd?.[_0x1f195f(0x1ca)]||_0xd63e69[_0x1f195f(0x215)],_0x1878dd);}return new Uint8Array(await _0xd63e69[_0x1f195f(0x1e5)]());},'commit':_0x289e69=>requestJson(_0x59dc35+_0x2e973d(0x20c),{'method':'POST','headers':{'content-type':'application/json'},'body':JSON[_0x2e973d(0x1b8)](_0x289e69)})[_0x2e973d(0x1fd)](_0x3a173b=>_0x3a173b),'restore':(_0x44b588,_0x4fe45d,_0x3419b2,_0x48bdaa)=>requestJson(_0x59dc35+'/versions/'+encodeURIComponent(_0x3419b2)+_0x2e973d(0x1dd),{'method':_0x2e973d(0x1c5),'headers':{'content-type':'application/json'},'body':JSON[_0x2e973d(0x1b8)]({'kind':_0x44b588,'id':_0x4fe45d,'by':_0x48bdaa})})['then'](_0x31e646=>_0x31e646)};}function isStoreInstance(_0x5a8e7a){const _0x45eab0=_0x3b7f85;return!!_0x5a8e7a&&typeof _0x5a8e7a==='object'&&typeof _0x5a8e7a['get']===_0x45eab0(0x1f1);}async function readArtifactAtRev(_0x19f0b1,_0x343986){const _0x2a9055=_0x3b7f85,_0x2854fe=await _0x19f0b1[_0x2a9055(0x1d8)](_0x343986),_0x58412d={};for(const _0x238cb4 of Object[_0x2a9055(0x20d)](_0x2854fe[_0x2a9055(0x1df)])){_0x58412d[_0x238cb4]=new TextDecoder()['decode'](await _0x19f0b1[_0x2a9055(0x1f9)](_0x343986,_0x238cb4));}return filesToArtifact(_0x58412d,_0x2854fe['id']);}function resolveFeatures(_0x5dd93e){const _0x7222e6=_0x3b7f85,_0x258258=_0x5dd93e[_0x7222e6(0x1d5)],_0x26cdda=_0x5dd93e[_0x7222e6(0x1b4)]??{};return{'master':_0x26cdda['master']??_0x258258===_0x7222e6(0x1cd),'fill':_0x26cdda['fill']??_0x258258===_0x7222e6(0x1cd),'excelImport':_0x26cdda[_0x7222e6(0x220)]??!![],'sourceDrawer':_0x26cdda[_0x7222e6(0x218)]??!![],'formula':_0x26cdda[_0x7222e6(0x1d0)]??_0x258258===_0x7222e6(0x1cd),'combo':_0x26cdda[_0x7222e6(0x212)]??![],'versions':_0x26cdda[_0x7222e6(0x200)]??!![],'print':_0x26cdda[_0x7222e6(0x1ee)]??!![],'pdf':_0x26cdda['pdf']??![]};}function defaultKinds(_0xfa2c88){const _0x1d7ff1=_0x3b7f85,_0x13078a=resolveFeatures(_0xfa2c88)['master'];if(_0xfa2c88[_0x1d7ff1(0x1d5)]===_0x1d7ff1(0x219))return _0x13078a?[_0x1d7ff1(0x203),_0x1d7ff1(0x202)]:[_0x1d7ff1(0x203)];const _0xad47a5=[_0x1d7ff1(0x1d7),_0x1d7ff1(0x219),_0x1d7ff1(0x203)];if(_0x13078a)_0xad47a5['push']('master');return _0xad47a5;}function _0x42ab(_0x22f5d9,_0x214b25){_0x22f5d9=_0x22f5d9-0x1b0;const _0x49da81=_0x49da();let _0x42abd0=_0x49da81[_0x22f5d9];if(_0x42ab['azWAsB']===undefined){var _0x844191=function(_0x376512){const _0x5b04f4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11246b='',_0x444964='';for(let _0x373a8e=0x0,_0xb9edb2,_0x2bb613,_0x5f65a3=0x0;_0x2bb613=_0x376512['charAt'](_0x5f65a3++);~_0x2bb613&&(_0xb9edb2=_0x373a8e%0x4?_0xb9edb2*0x40+_0x2bb613:_0x2bb613,_0x373a8e++%0x4)?_0x11246b+=String['fromCharCode'](0xff&_0xb9edb2>>(-0x2*_0x373a8e&0x6)):0x0){_0x2bb613=_0x5b04f4['indexOf'](_0x2bb613);}for(let _0x5bbb65=0x0,_0x57ebe8=_0x11246b['length'];_0x5bbb65<_0x57ebe8;_0x5bbb65++){_0x444964+='%'+('00'+_0x11246b['charCodeAt'](_0x5bbb65)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x444964);};_0x42ab['AppbGz']=_0x844191,_0x42ab['SoLwcG']={},_0x42ab['azWAsB']=!![];}const _0x330ff9=_0x49da81[0x0];_0x42ab['xOFSKH']!==_0x330ff9&&(_0x42ab['SoLwcG']={},_0x42ab['xOFSKH']=_0x330ff9);const _0x3fdf3c=_0x42ab['SoLwcG'][_0x22f5d9];return _0x3fdf3c===undefined?(_0x42abd0=_0x42ab['AppbGz'](_0x42abd0),_0x42ab['SoLwcG'][_0x22f5d9]=_0x42abd0):_0x42abd0=_0x3fdf3c,_0x42abd0;}function versionsUiEnabled(_0x599bb9){const _0x52d5bd=_0x3b7f85;return _0x599bb9[_0x52d5bd(0x1d9)]['versions']!=null&&_0x599bb9['storage'][_0x52d5bd(0x200)]!==![]&&resolveFeatures(_0x599bb9)[_0x52d5bd(0x200)];}function commitPolicyOf(_0x5d2475){const _0x46b81c=_0x3b7f85;return _0x5d2475[_0x46b81c(0x200)]?.['commitPolicy']??_0x46b81c(0x1b3);}async function maybeCommitOnSave(_0x32afba,_0x5b135e,_0x4ad1c1){const _0xb20283=_0x3b7f85;if(!_0x5b135e)return void 0x0;if(commitPolicyOf(_0x32afba)!==_0xb20283(0x21a))return void 0x0;return _0x5b135e[_0xb20283(0x1e0)]({'kind':_0x4ad1c1[_0xb20283(0x1ff)],'id':_0x4ad1c1['id'],'note':'\u4FDD\u5B58'});}export{ARTIFACT_FILE_BODY,ARTIFACT_FILE_FILL,ARTIFACT_FILE_META,ARTIFACT_FILE_REPORT,EMPTY_KTL,KtConflictError,KtNotFoundError,KtStoreError,SAMPLE_A4_KTL,SAMPLE_DEMO_KTL,SAMPLE_MASTER_KTL,artifactToFiles,commitPolicyOf,createHttpArtifactStore,createHttpInstanceStore,createHttpVersionStore,createMemoryArtifactStore,createMemoryInstanceStore,createMemoryVersionStore,defaultKinds,errorFromHttp,filesEqual,filesToArtifact,isStoreInstance,maybeCommitOnSave,readArtifactAtRev,resolveFeatures,versionsUiEnabled};
|