document-model 1.0.35 → 1.0.36
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/browser/document-model.cjs +1 -1
- package/dist/browser/document-model.js +2 -2
- package/dist/browser/document.cjs +1 -1
- package/dist/browser/document.js +2 -2
- package/dist/browser/index.cjs +1 -1
- package/dist/browser/index.js +3 -3
- package/dist/browser/internal/{index-DJYIO2I4.js → index-4Z_H8F_J.js} +1 -1
- package/dist/browser/internal/{index-CsKglrKe.js → index-6u2yDIEF.js} +1 -1
- package/dist/browser/internal/index-DQeD1Q-a.js +42 -0
- package/dist/browser/internal/index-QJX_Fa1V.js +1 -0
- package/dist/browser/internal/object-EriwiDIs.js +7 -0
- package/dist/browser/internal/{object-B-Aw8ilC.js → object-Fq6PThAX.js} +301 -263
- package/dist/browser/src/document/reducer.d.ts +2 -2
- package/dist/browser/src/document/utils/base.d.ts +1 -0
- package/dist/browser/test/document/event-vs-command.test.d.ts +1 -0
- package/dist/browser/test/helpers.d.ts +5 -3
- package/dist/node/document-model.cjs +1 -1
- package/dist/node/document-model.js +2 -2
- package/dist/node/document.cjs +1 -1
- package/dist/node/document.js +2 -2
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.js +3 -3
- package/dist/node/internal/{index-DfxrIKIl.js → index-A6Rqm2SZ.js} +1 -1
- package/dist/node/internal/{index-BLZ2ydMH.js → index-BpBnSlTZ.js} +1 -1
- package/dist/node/internal/index-Dl5T5qdc.js +42 -0
- package/dist/node/internal/index-DyCS1h0M.js +1 -0
- package/dist/node/internal/{object-CvntAblp.js → object-S6TngMa9.js} +324 -286
- package/dist/node/internal/object-ifvac9k2.js +2 -0
- package/dist/node/src/document/reducer.d.ts +2 -2
- package/dist/node/src/document/utils/base.d.ts +1 -0
- package/dist/node/test/document/event-vs-command.test.d.ts +1 -0
- package/dist/node/test/helpers.d.ts +5 -3
- package/package.json +1 -1
- package/dist/browser/internal/index-A_QX9cy_.js +0 -41
- package/dist/browser/internal/index-CZWjb-hc.js +0 -1
- package/dist/browser/internal/object-C8B-mq5Y.js +0 -7
- package/dist/node/internal/index-D_eCXEyL.js +0 -41
- package/dist/node/internal/index-DjP2tO7C.js +0 -1
- package/dist/node/internal/object-B5Lf9AWl.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var Nt=Object.defineProperty;var Tt=(e,t,i)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var E=(e,t,i)=>(Tt(e,typeof t!="symbol"?t+"":t,i),i);const h=require("immer"),A=require("json-stringify-deterministic"),c=require("zod"),At=require("crypto"),M=require("fs"),Mt=require("https"),Ft=require("path"),V=require("jszip"),G=e=>e!=null,It=c.z.any().refine(e=>G(e)),Q=c.z.enum(["LOAD_STATE"]),X=c.z.enum(["PRUNE"]),Y=c.z.enum(["REDO"]),tt=c.z.enum(["SET_NAME"]),et=c.z.enum(["UNDO"]);function Pt(){return c.z.object({__typename:c.z.literal("Action").optional(),type:c.z.string()})}function z(){return c.z.literal("global").or(c.z.literal("local"))}function it(){return c.z.union([nt(),at(),st(),pt(),ct()])}function qt(){return c.z.object({__typename:c.z.literal("DocumentFile").optional(),data:c.z.string(),extension:c.z.string().nullable(),fileName:c.z.string().nullable(),mimeType:c.z.string()})}function nt(){return c.z.object({input:c.z.lazy(()=>q()),type:Q,scope:z()})}function q(){return c.z.object({operations:c.z.number(),state:c.z.lazy(()=>ot())})}function ot(){return c.z.object({data:c.z.unknown().nullish(),name:c.z.string()})}function Rt(){return c.z.object({__typename:c.z.literal("Operation").optional(),hash:c.z.string(),index:c.z.number(),timestamp:c.z.string().datetime(),type:c.z.string()})}function at(){return c.z.object({input:c.z.lazy(()=>R()),type:X,scope:z()})}function R(){return c.z.object({end:c.z.number().nullish(),start:c.z.number().nullish()})}const L=c.z.number;function st(){return c.z.object({input:L(),type:Y,scope:z()})}const $=c.z.string;function pt(){return c.z.object({input:$(),type:tt,scope:c.z.literal("global")})}function Lt(){return c.z.object({__typename:c.z.literal("SetNameOperation").optional(),hash:c.z.string(),index:c.z.number(),input:c.z.string(),timestamp:c.z.string().datetime(),type:c.z.string()})}const U=c.z.number;function ct(){return c.z.object({input:U(),type:et,scope:z()})}const $t=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:Pt,BaseActionSchema:it,DocumentFileSchema:qt,LoadStateActionInputSchema:q,LoadStateActionSchema:nt,LoadStateActionStateInputSchema:ot,Load_StateSchema:Q,OperationSchema:Rt,OperationScopeSchema:z,PruneActionInputSchema:R,PruneActionSchema:at,PruneSchema:X,RedoActionInputSchema:L,RedoActionSchema:st,RedoSchema:Y,SetNameActionInputSchema:$,SetNameActionSchema:pt,SetNameOperationSchema:Lt,Set_NameSchema:tt,UndoActionInputSchema:U,UndoActionSchema:ct,UndoSchema:et,definedNonNullAnySchema:It,isDefinedNonNullAny:G},Symbol.toStringTag,{value:"Module"}));function Ut(e,t){return{...e,name:t}}function Ct(e,t,i){const n={skip:i,document:e},{scope:a}=t;return!a||t.skip===void 0?n:h.produce(n,p=>{const[o]=p.document.operations[a].slice(-1);t.skip&&t.skip>0&&(p.skip=t.skip),o.type==="NOOP"&&t.index===o.index&&p.skip>o.skip&&p.document.operations[a].pop()})}function Jt(e,t,i){const{scope:n,input:a}=t,p={document:e,action:t,skip:i};return h.produce(p,o=>{if(o.document.operations[n].length<1)throw new Error(`Cannot undo: no operations in history for scope "${n}"`);if(a<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(o.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const[s]=o.document.operations[n].slice(-1),l=s.type==="NOOP"&&s.skip>0;if(o.skip+=a,l){o.skip+=s.skip;const m=o.document.operations[n][o.document.operations[n].length-2];m&&s.index-m.index===1&&o.document.operations[n].pop()}if(o.document.operations[n].length<o.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const r=o.document.operations[n].length-1;let f=a,d=l?r-s.skip:r;for(;f>0&&d>=0;){const m=o.document.operations[n][d];if(!m){f--,d--;continue}m.type==="NOOP"&&m.skip>0?(d=d-(m.skip+1),o.skip+=m.skip+1):(o.document.clipboard.push({...m}),f--,d--)}o.action=Z(n)})}function Bt(e,t,i){const{scope:n,input:a}=t,p={document:e,action:t,skip:i};return h.produce(p,o=>{if(o.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(a>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(a<1)throw new Error("Invalid REDO action: invalid redo input value");if(o.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const s=o.document.clipboard.findLastIndex(r=>r.scope===n);if(s<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${n}"`);const l=o.document.clipboard.splice(s,1)[0];o.action=h.castDraft({type:l.type,scope:l.scope,input:l.input})})}function Wt(e,t,i){const{scope:n}=t,a=e.operations[n];let{input:{start:p,end:o}}=t;p=p||0,o=o||a.length;const s=a.slice(p,o),l=a.slice(0,p),r=a.slice(o),f=N(e.initialState,{...e.operations,[n]:l.concat(s)},i),{name:d,state:m}=f,x=l.length,u=l.length?l[l.length-1].timestamp:r.length?r[0].timestamp:new Date().toISOString();return N(e.initialState,{...e.operations,[n]:[...l,{...W({name:d,state:m},s.length),timestamp:u,index:x,hash:J({state:m},"global")},...r.map((O,D)=>({...O,index:x+D+1}))]},i)}function Zt(e,t){return{...e,name:t.name,state:t.state??{global:{},local:{}}}}const rt="SET_NAME",y="UNDO",j="REDO",_="PRUNE",lt="LOAD_STATE",Ht="NOOP";function Kt(e,t){const i=e.revision[t.scope];return[y,j,_].includes(t.type)?i:i+1}function Vt(e,t){return{...e,revision:{...e.revision,[t.scope]:Kt(e,t)},lastModified:new Date().toISOString()}}function Gt(e,t,i=0){if([y,j,_].includes(t.type))return e;const{scope:n}=t,a=e.operations[n].slice(0,e.revision[n]),p=[...a].pop();let o=((p==null?void 0:p.index)??-1)+1;if("index"in t){if(t.index>o+i)throw new Error(`Missing operations: expected ${o} with skip 0 or equivalent, got index ${t.index} with skip ${i}`);o=t.index}return a.push({...t,index:o,timestamp:new Date().toISOString(),hash:"",scope:n,skip:i}),{...e,operations:{...e.operations,[n]:a}}}function Qt(e,t,i=0){let n=Gt(e,t,i);return n=Vt(n,t),n}function Xt(e,t,i){switch(it().parse(t),t.type){case rt:return Ut(e,t.input);case _:return Wt(e,t,i);case lt:return Zt(e,t.input.state);default:return e}}function mt(e,t,i){switch(t.type){case y:return Jt(e,t,i);case j:return Bt(e,t,i);default:return{document:e,action:t,skip:i}}}function C(e,t,i,n,a={}){const{skip:p,ignoreSkipOperations:o=!1}=a;let s={...t},l=p||0,r=e,f=[...e.clipboard];if(ut(s)){const{document:d,skip:m}=Ct(r,s,l);l=m,r=d}if(F(s)){const{skip:d,action:m,document:x}=mt(e,s,l);s=m,l=d,r=x,f=[...r.clipboard]}if(I(s)&&(r=Xt(r,s,i)),l>0&&!o){let d=l;"index"in s&&(d=bt(r.operations[s.scope],s.index,l)),r=N(r.initialState,r.operations,i,void 0,void 0,void 0,{[s.scope]:d})}return r=Qt(r,s,l),r=h.produce(r,d=>{const m=i(d.state,s,n),x=F(t)?[...f]:[];if(m)return h.castDraft({...r,clipboard:[...x],state:m});d.clipboard=h.castDraft([...x])}),h.produce(r,d=>{if([y,j,_].includes(s.type))return d;const m=s.scope||"global";d.operations[m][d.operations[m].length-1].hash=J(d,m),!I(s)&&s.attachments&&s.attachments.forEach(x=>{const{hash:u,...O}=x;d.attachments[u]={...O}})})}function Yt(e,t,i){const n=Ft.join(e,t);return M.mkdirSync(e,{recursive:!0}),new Promise((a,p)=>{try{M.writeFile(n,i,{},o=>{o?p(o):a(n)})}catch(o){p(o)}})}function dt(e){return M.readFileSync(e)}function te(e){return new Promise((t,i)=>{Mt.get(e,n=>{const a=[],p=n.headers["content-type"];n.on("data",o=>{a.push(o)}),n.on("end",()=>{t({buffer:Buffer.concat(a),mimeType:p})})}).on("error",n=>{i(n)})})}const ee=async e=>dt(e),T=(e,t="sha1")=>At.createHash(t).update(e).digest("base64");function ut(e){return e.type===Ht&&e.skip!==void 0&&e.skip>0&&e.hash!==void 0}function F(e){return[y,j].includes(e.type)}function I(e){return[rt,y,j,_,lt].includes(e.type)}function w(e,t,i,n,a="global"){if(!e)throw new Error("Empty action type");if(typeof e!="string")throw new Error(`Invalid action type: ${e}`);const p={type:e,input:t,scope:a};i&&(p.attachments=i);try{n==null||n().parse(p.input)}catch(o){throw new Error(`Invalid action input: ${o}`)}return p}function xt(e,t=C){return(i,n,a,p)=>t(i,n,e,a,p)}const ft=(e,t)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...e,state:(t==null?void 0:t(e==null?void 0:e.state))??(e==null?void 0:e.state)??{global:{},local:{}}}),gt=(e,t)=>{const i=ft(e,t);return{...i,initialState:i,operations:{global:[],local:[]},clipboard:[]}},J=(e,t="global")=>T(A(e.state[t])),ie=(e,t=1e3)=>{const i=Math.random()*t;return T(`${(e??new Date).toISOString()}${i}`)};function k(e){return h.castImmutable(h.freeze(e,!0))}function ht(e,t){const i=[...e];let n=t||0,a=i.length>0?i[i.length-1].index:0;const p=[];for(const o of i.reverse()){if(n>0){const r=a-o.index;n-=r}if(n<0)throw new Error("Invalid operation index, missing operations");const s={ignore:n>0,operation:o},l=o.skip>0?o.skip+1:0;if(l>0&&l>n){const r=l-n;n=n+r}a=o.index,p.push(s)}return p.reverse()}function bt(e,t,i){const n=e.slice().sort((s,l)=>s.skip-l.skip).sort((s,l)=>s.index-l.index);let a=i,p=0,o=t;for(const s of n.reverse()){const l=o-s.index;if(a=a-l,a>-1)p++,o=s.index;else break}return p}function ne(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.timestamp).getTime()-new Date(i.timestamp).getTime())}function wt(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.operation.timestamp).getTime()-new Date(i.operation.timestamp).getTime())}function N(e,t,i,n,a,p=C,o={}){const s=xt(i,p);return B(e,t,s,n,a,o)}function B(e,t,i,n,a,p={}){const o=gt(e),s=Object.keys(t).reduce((m,x)=>{const u=x;return{...m,[u]:t[u].slice(0,a==null?void 0:a.revision[u])}},{}),l=Object.keys(s).reduce((m,x)=>{const u=x;return{...m,[u]:ht(s[u],p[u])}},{}),r=wt(l).reduce((m,{ignore:x,operation:u})=>x?i(m,Z(u.scope),n,{skip:u.skip,ignoreSkipOperations:!0}):i(m,u,n,{skip:u.skip,ignoreSkipOperations:!0}),o),f=Object.keys(r.operations).reduce((m,x)=>{const u=x,O=a&&a.revision[u]<t[u].length?t[u].slice(a.revision[u]):[];return{...m,[u]:[...r.operations[u].map((D,Et)=>{var K;return{...D,timestamp:((K=t[u][Et])==null?void 0:K.timestamp)??D.timestamp}}),...O]}},{global:[],local:[]}),d=Object.values(f).reduce((m,x)=>{for(const u of x)u.timestamp>m&&(m=u.timestamp);return m},e.lastModified);return{...r,operations:f,lastModified:d}}function oe(e,t){return A(e)===A(t)}const vt=e=>w("SET_NAME",e,void 0,$,void 0),yt=(e=1,t="global")=>w("UNDO",e,void 0,U,t),jt=(e=1,t="global")=>w("REDO",e,void 0,L,t),Ot=(e,t,i="global")=>w("PRUNE",{start:e,end:t},void 0,R,i),W=(e,t)=>w("LOAD_STATE",{state:e,operations:t},void 0,q),Z=(e="global")=>w("NOOP",{},void 0,void 0,e),ae=Object.freeze(Object.defineProperty({__proto__:null,loadState:W,noop:Z,prune:Ot,redo:jt,setName:vt,undo:yt},Symbol.toStringTag,{value:"Module"})),kt={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(kt);var g=function(e,t,i,n){if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?n:i==="a"?n.call(e):n?n.value:t.get(e)},v,S,b;class se{constructor(...t){v.set(this,new Map),S.set(this,new Map),b.set(this,new Map);for(const i of t)this.define(i)}define(t,i=!1){for(let[n,a]of Object.entries(t)){n=n.toLowerCase(),a=a.map(s=>s.toLowerCase()),g(this,b,"f").has(n)||g(this,b,"f").set(n,new Set);const p=g(this,b,"f").get(n);let o=!0;for(let s of a){const l=s.startsWith("*");if(s=l?s.slice(1):s,p==null||p.add(s),o&&g(this,S,"f").set(n,s),o=!1,l)continue;const r=g(this,v,"f").get(s);if(r&&r!=n&&!i)throw new Error(`"${n} -> ${s}" conflicts with "${r} -> ${s}". Pass \`force=true\` to override this definition.`);g(this,v,"f").set(s,n)}}return this}getType(t){if(typeof t!="string")return null;const i=t.replace(/^.*[/\\]/,"").toLowerCase(),n=i.replace(/^.*\./,"").toLowerCase(),a=i.length<t.length;return!(n.length<i.length-1)&&a?null:g(this,v,"f").get(n)??null}getExtension(t){var i;return typeof t!="string"?null:(t=(i=t==null?void 0:t.split)==null?void 0:i.call(t,";")[0],(t&&g(this,S,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return typeof t!="string"?null:g(this,b,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of g(this,b,"f").values())Object.freeze(t);return this}_getTestState(){return{types:g(this,v,"f"),extensions:g(this,S,"f")}}}v=new WeakMap,S=new WeakMap,b=new WeakMap;const pe=new se(kt)._freeze();function St(e){const t=[],i=Object.keys(e);for(const n of i){const a=e[n].sort((p,o)=>p.index-o.index);for(let p=0;p<a.length;p++)a[p].index!==p&&t.push({message:`Invalid operation index ${a[p].index} at position ${p}`,details:{position:p,operation:a[p],scope:a[p].scope}})}return t}const H=async e=>{const t=new V,{name:i,revision:n,documentType:a,created:p,lastModified:o}=e,s={name:i,revision:n,documentType:a,created:p,lastModified:o};return t.file("header.json",JSON.stringify(s,null,2)),t.file("state.json",JSON.stringify(e.initialState||{},null,2)),t.file("operations.json",JSON.stringify(e.operations,null,2)),Object.keys(e.attachments).forEach(r=>{const{data:f,...d}=e.attachments[r];t.file(r,f,{base64:!0,createFolders:!0,comment:JSON.stringify(d)})}),t},zt=async(e,t,i,n)=>{const p=await(await H(e)).generateAsync({type:"uint8array",streamFiles:!0}),o=n??e.name,s=`.${i}.zip`;return Yt(t,o.endsWith(s)?o:`${o}${s}`,p)},ce=async(e,t)=>{const n=await(await H(e)).generateAsync({type:"blob"}),a=await t.createWritable();await a.write(n),await a.close()},P=async(e,t)=>{const i=dt(e);return _t(i,t)},_t=async(e,t)=>{const i=new V;return await i.loadAsync(e),re(i,t)};async function re(e,t){const i=e.file("state.json");if(!i)throw new Error("Initial state not found");const n=await i.async("string"),a=JSON.parse(n),p=e.file("header.json");let o;p&&(o=JSON.parse(await p.async("string")));const s=e.file("operations.json");if(!s)throw new Error("Operations history not found");const l=JSON.parse(await s.async("string")),r=St(l);if(r.length){const d=r.map(m=>m.message);throw new Error(d.join(`
|
|
2
|
+
`))}let f=B(a,l,t,void 0,o);return o&&(f={...f,...o}),f}function Dt(e){const t=e.replace(/^.*\./,"")||void 0,i=e.replace(/^.*[/\\]/,"")||void 0;return{extension:t,fileName:i}}async function le(e){const{buffer:t,mimeType:i="application/octet-stream"}=await te(e),n=Dt(e),a=t.toString("base64");return{data:a,hash:T(a),mimeType:i,...n}}async function me(e){const t=await ee(e),i=pe.getType(e)||"application/octet-stream",n=Dt(e),a=t.toString("base64");return{data:a,hash:T(a),mimeType:i,...n}}class de{constructor(t,i,n){E(this,"_document");E(this,"_reducer");E(this,"_signalDispatch");this._reducer=t,this._document=i,this._signalDispatch=n}dispatch(t,i){return this._document=this._reducer(this._document,t,this._signalDispatch,i),this}saveToFile(t,i,n){return zt(this._document,t,i,n)}async loadFromFile(t){this._document=await P(t,this._reducer)}static async stateFromFile(t,i){return await P(t,i)}get state(){return k(this._document.state)}get operations(){return k(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(t){return this._document.revision[t]}get initialState(){return k(this._document.initialState)}toDocument(){return k(this._document)}getAttachment(t){return this._document.attachments[t]}setName(t){return this.dispatch(vt(t)),this}undo(t){return this.dispatch(yt(t)),this}redo(t){return this.dispatch(jt(t)),this}prune(t,i){return this.dispatch(Ot(t,i)),this}loadState(t,i){return this.dispatch(W(t,i)),this}}function ue(e,t){t.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(n=>{Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(i.prototype,n)||Object.create(null))})})}exports.BaseActions=ae;exports.BaseDocument=de;exports.applyMixins=ue;exports.baseReducer=C;exports.calculateSkipsLeft=bt;exports.createAction=w;exports.createDocument=gt;exports.createExtendedState=ft;exports.createReducer=xt;exports.createZip=H;exports.getLocalFile=me;exports.getRemoteFile=le;exports.hashDocument=J;exports.hashKey=ie;exports.isBaseAction=I;exports.isNoopOperation=ut;exports.isSameDocument=oe;exports.isUndoRedo=F;exports.loadFromFile=P;exports.loadFromInput=_t;exports.mapSkippedOperations=ht;exports.processUndoRedo=mt;exports.readOnly=k;exports.replayDocument=B;exports.replayOperations=N;exports.saveToFile=zt;exports.saveToFileHandle=ce;exports.sortMappedOperations=wt;exports.sortOperations=ne;exports.validateOperations=St;exports.zod=$t;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseAction } from './actions/types';
|
|
2
2
|
import { UndoRedoAction } from './schema';
|
|
3
|
-
import { Action, Document, ImmutableStateReducer, ReducerOptions } from './types';
|
|
3
|
+
import { Action, Document, ImmutableStateReducer, Operation, ReducerOptions } from './types';
|
|
4
4
|
import { SignalDispatch } from './signal';
|
|
5
5
|
type UndoRedoProcessResult<T, A extends Action, L> = {
|
|
6
6
|
document: Document<T, A, L>;
|
|
@@ -28,5 +28,5 @@ export declare function processUndoRedo<T, A extends Action, L>(document: Docume
|
|
|
28
28
|
* specific to the document's state.
|
|
29
29
|
* @returns The new state of the document.
|
|
30
30
|
*/
|
|
31
|
-
export declare function baseReducer<T, A extends Action, L>(document: Document<T, A, L>, action: A | BaseAction, customReducer: ImmutableStateReducer<T, A, L>, dispatch?: SignalDispatch, options?: ReducerOptions): Document<T, A, L>;
|
|
31
|
+
export declare function baseReducer<T, A extends Action, L>(document: Document<T, A, L>, action: A | BaseAction | Operation, customReducer: ImmutableStateReducer<T, A, L>, dispatch?: SignalDispatch, options?: ReducerOptions): Document<T, A, L>;
|
|
32
32
|
export {};
|
|
@@ -71,6 +71,7 @@ export declare function readOnly<T>(value: T): Immutable<T>;
|
|
|
71
71
|
* @throws Error if the operation index is invalid and there are missing operations.
|
|
72
72
|
*/
|
|
73
73
|
export declare function mapSkippedOperations<A extends Action>(operations: Operation<BaseAction | A>[], skippedHeadOperations?: number): MappedOperation<A>[];
|
|
74
|
+
export declare function calculateSkipsLeft<A extends Action>(operations: Operation<BaseAction | A>[], currentIndex: number, skip: number): number;
|
|
74
75
|
export declare function sortOperations<A extends Action>(operations: DocumentOperations<A>): Operation<BaseAction | A>[];
|
|
75
76
|
export declare function sortMappedOperations<A extends Action>(operations: DocumentOperationsIgnoreMap<A>): MappedOperation<A>[];
|
|
76
77
|
export declare function replayOperations<T, A extends Action, L>(initialState: ExtendedState<T, L>, operations: DocumentOperations<A>, reducer: ImmutableStateReducer<T, A, L>, dispatch?: SignalDispatch, header?: DocumentHeader, documentReducer?: typeof baseReducer, skipHeaderOperations?: SkipHeaderOperations): Document<T, A, L>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { SignalDispatch } from '../src/document';
|
|
2
|
+
import { Document, Action, BaseAction, ImmutableStateReducer, Operation, OperationScope, ReducerOptions } from '../src/document/types';
|
|
3
|
+
export declare const emptyReducer: import("../src/document").Reducer<unknown, Action, unknown>;
|
|
4
|
+
export declare const wrappedEmptyReducer: (state: Document<unknown, Action>, action: Action | BaseAction | Operation, dispatch?: SignalDispatch, options?: ReducerOptions) => Document<unknown, Action, unknown>;
|
|
3
5
|
export interface IncrementAction extends Action {
|
|
4
6
|
type: 'INCREMENT';
|
|
5
7
|
}
|
|
@@ -21,7 +23,7 @@ export declare const increment: () => IncrementAction;
|
|
|
21
23
|
export declare const decrement: () => DecrementAction;
|
|
22
24
|
export declare const setLocalName: (name: string) => SetLocalNameAction;
|
|
23
25
|
export declare const baseCountReducer: ImmutableStateReducer<CountState, CountAction, CountLocalState>;
|
|
24
|
-
export declare const countReducer: import("../src/document
|
|
26
|
+
export declare const countReducer: import("../src/document").Reducer<CountState, CountAction, CountLocalState>;
|
|
25
27
|
export declare const mapOperations: (operations: Operation[]) => {
|
|
26
28
|
input: unknown;
|
|
27
29
|
type: string;
|
package/package.json
CHANGED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { f as e, b as a, a as s, c as o, j as t, k as r, m as i, n, o as c, i as l, p, q as d, r as u, l as m, e as O, t as y, u as b, v as D, w as _, s as g, d as F, x as S, y as f, z as v, B as h, h as j, g as x, A as z, C as R, D as A } from "./object-B-Aw8ilC.js";
|
|
2
|
-
const B = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3
|
-
__proto__: null,
|
|
4
|
-
createAction: e,
|
|
5
|
-
createDocument: a,
|
|
6
|
-
createExtendedState: s,
|
|
7
|
-
createReducer: o,
|
|
8
|
-
createZip: t,
|
|
9
|
-
getLocalFile: r,
|
|
10
|
-
getRemoteFile: i,
|
|
11
|
-
hashDocument: n,
|
|
12
|
-
hashKey: c,
|
|
13
|
-
isBaseAction: l,
|
|
14
|
-
isNoopOperation: p,
|
|
15
|
-
isSameDocument: d,
|
|
16
|
-
isUndoRedo: u,
|
|
17
|
-
loadFromFile: m,
|
|
18
|
-
loadFromInput: O,
|
|
19
|
-
mapSkippedOperations: y,
|
|
20
|
-
readOnly: b,
|
|
21
|
-
replayDocument: D,
|
|
22
|
-
replayOperations: _,
|
|
23
|
-
saveToFile: g,
|
|
24
|
-
saveToFileHandle: F,
|
|
25
|
-
sortMappedOperations: S,
|
|
26
|
-
sortOperations: f,
|
|
27
|
-
validateOperations: v
|
|
28
|
-
}, Symbol.toStringTag, { value: "Module" })), T = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
29
|
-
__proto__: null,
|
|
30
|
-
BaseDocument: h,
|
|
31
|
-
actions: j,
|
|
32
|
-
applyMixins: x,
|
|
33
|
-
baseReducer: z,
|
|
34
|
-
processUndoRedo: R,
|
|
35
|
-
utils: B,
|
|
36
|
-
z: A
|
|
37
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
38
|
-
export {
|
|
39
|
-
T as D,
|
|
40
|
-
B as i
|
|
41
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("./object-C8B-mq5Y.js"),o=Object.freeze(Object.defineProperty({__proto__:null,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isNoopOperation:e.isNoopOperation,isSameDocument:e.isSameDocument,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations,validateOperations:e.validateOperations},Symbol.toStringTag,{value:"Module"})),t=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,utils:o,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=t;exports.index=o;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";var Re=Object.defineProperty;var Ce=(n,r,p)=>r in n?Re(n,r,{enumerable:!0,configurable:!0,writable:!0,value:p}):n[r]=p;var Q=(n,r,p)=>(Ce(n,typeof r!="symbol"?r+"":r,p),p);const D=require("immer"),pt=require("json-stringify-deterministic"),w=require("zod"),Nt=require("jszip"),Rt=n=>n!=null,Le=w.z.any().refine(n=>Rt(n)),Ct=w.z.enum(["LOAD_STATE"]),Lt=w.z.enum(["PRUNE"]),qt=w.z.enum(["REDO"]),Pt=w.z.enum(["SET_NAME"]),$t=w.z.enum(["UNDO"]);function qe(){return w.z.object({__typename:w.z.literal("Action").optional(),type:w.z.string()})}function Z(){return w.z.literal("global").or(w.z.literal("local"))}function Wt(){return w.z.union([Jt(),Zt(),Kt(),Yt(),Gt()])}function Pe(){return w.z.object({__typename:w.z.literal("DocumentFile").optional(),data:w.z.string(),extension:w.z.string().nullable(),fileName:w.z.string().nullable(),mimeType:w.z.string()})}function Jt(){return w.z.object({input:w.z.lazy(()=>mt()),type:Ct,scope:Z()})}function mt(){return w.z.object({operations:w.z.number(),state:w.z.lazy(()=>Ht())})}function Ht(){return w.z.object({data:w.z.unknown().nullish(),name:w.z.string()})}function $e(){return w.z.object({__typename:w.z.literal("Operation").optional(),hash:w.z.string(),index:w.z.number(),timestamp:w.z.string().datetime(),type:w.z.string()})}function Zt(){return w.z.object({input:w.z.lazy(()=>ht()),type:Lt,scope:Z()})}function ht(){return w.z.object({end:w.z.number().nullish(),start:w.z.number().nullish()})}const xt=w.z.number;function Kt(){return w.z.object({input:xt(),type:qt,scope:Z()})}const dt=w.z.string;function Yt(){return w.z.object({input:dt(),type:Pt,scope:w.z.literal("global")})}function We(){return w.z.object({__typename:w.z.literal("SetNameOperation").optional(),hash:w.z.string(),index:w.z.number(),input:w.z.string(),timestamp:w.z.string().datetime(),type:w.z.string()})}const wt=w.z.number;function Gt(){return w.z.object({input:wt(),type:$t,scope:Z()})}const Je=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:qe,BaseActionSchema:Wt,DocumentFileSchema:Pe,LoadStateActionInputSchema:mt,LoadStateActionSchema:Jt,LoadStateActionStateInputSchema:Ht,Load_StateSchema:Ct,OperationSchema:$e,OperationScopeSchema:Z,PruneActionInputSchema:ht,PruneActionSchema:Zt,PruneSchema:Lt,RedoActionInputSchema:xt,RedoActionSchema:Kt,RedoSchema:qt,SetNameActionInputSchema:dt,SetNameActionSchema:Yt,SetNameOperationSchema:We,Set_NameSchema:Pt,UndoActionInputSchema:wt,UndoActionSchema:Gt,UndoSchema:$t,definedNonNullAnySchema:Le,isDefinedNonNullAny:Rt},Symbol.toStringTag,{value:"Module"}));function He(n,r){return{...n,name:r}}function Ze(n,r,p){const c={skip:p,document:n},{scope:f}=r;return!f||r.skip===void 0?c:D.produce(c,u=>{const[l]=u.document.operations[f].slice(-1);r.skip&&r.skip>0&&(u.skip=r.skip),l.type==="NOOP"&&r.index===l.index&&u.skip>l.skip&&u.document.operations[f].pop()})}function Ke(n,r,p){const{scope:c,input:f}=r,u={document:n,action:r,skip:p};return D.produce(u,l=>{if(l.document.operations[c].length<1)throw new Error(`Cannot undo: no operations in history for scope "${c}"`);if(f<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(l.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const[a]=l.document.operations[c].slice(-1),x=a.type==="NOOP"&&a.skip>0;if(l.skip+=f,x&&(l.skip+=a.skip,l.document.operations[c].pop()),l.document.operations[c].length<l.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const d=l.document.operations[c].length-1;let v=f,g=x?d-a.skip:d;for(;v>0&&g>=0;){const y=l.document.operations[c][g];y.type==="NOOP"&&y.skip>0?(g=g-(y.skip+1),l.skip+=y.skip+1):(l.document.clipboard.push({...y}),v--,g--)}l.action=_t(c)})}function Ye(n,r,p){const{scope:c,input:f}=r,u={document:n,action:r,skip:p};return D.produce(u,l=>{if(l.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(f>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(f<1)throw new Error("Invalid REDO action: invalid redo input value");if(l.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const a=l.document.clipboard.findLastIndex(d=>d.scope===c);if(a<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${c}"`);const x=l.document.clipboard.splice(a,1)[0];l.action=D.castDraft({type:x.type,scope:x.scope,input:x.input})})}function Ge(n,r,p){const{scope:c}=r,f=n.operations[c];let{input:{start:u,end:l}}=r;u=u||0,l=l||f.length;const a=f.slice(u,l),x=f.slice(0,u),d=f.slice(l),v=tt(n.initialState,{...n.operations,[c]:x.concat(a)},p),{name:g,state:y}=v,b=x.length,E=x.length?x[x.length-1].timestamp:d.length?d[0].timestamp:new Date().toISOString();return tt(n.initialState,{...n.operations,[c]:[...x,{...Ft({name:g,state:y},a.length),timestamp:E,index:b,hash:bt({state:y},"global")},...d.map((U,C)=>({...U,index:b+C+1}))]},p)}function Ve(n,r){return{...n,name:r.name,state:r.state??{global:{},local:{}}}}const Vt="SET_NAME",P="UNDO",$="REDO",K="PRUNE",Xt="LOAD_STATE",Xe="NOOP";function Qe(n,r){const p=n.revision[r.scope];return[P,$,K].includes(r.type)?p:p+1}function ti(n,r){return{...n,revision:{...n.revision,[r.scope]:Qe(n,r)},lastModified:new Date().toISOString()}}function ei(n,r,p=0){if([P,$,K].includes(r.type))return n;const{scope:c}=r,f=n.operations[c].slice(0,n.revision[c]);return f.push({...r,index:f.length,timestamp:new Date().toISOString(),hash:"",scope:c,skip:p}),{...n,operations:{...n.operations,[c]:f}}}function ii(n,r,p=0){let c=ei(n,r,p);return c=ti(c,r),c}function ri(n,r,p){switch(Wt().parse(r),r.type){case Vt:return He(n,r.input);case K:return Ge(n,r,p);case Xt:return Ve(n,r.input.state);default:return n}}function Qt(n,r,p){switch(r.type){case P:return Ke(n,r,p);case $:return Ye(n,r,p);default:return{document:n,action:r,skip:p}}}function gt(n,r,p,c,f={}){const{skip:u,ignoreSkipOperations:l=!1}=f;let a={...r},x=u||0,d=n,v=[...n.clipboard];if(ae(a)){const{document:g,skip:y}=Ze(d,a,x);x=y,d=g}if(lt(a)){const{skip:g,action:y,document:b}=Qt(n,a,x);a=y,x=g,d=b,v=[...d.clipboard]}return ut(a)&&(d=ri(d,a,p)),x>0&&!l&&(d=tt(d.initialState,d.operations,p,void 0,void 0,void 0,{[a.scope]:x})),d=ii(d,a,x),d=D.produce(d,g=>{const y=p(g.state,a,c),b=lt(r)?[...v]:[];if(y)return D.castDraft({...d,clipboard:[...b],state:y});g.clipboard=D.castDraft([...b])}),D.produce(d,g=>{if([P,$,K].includes(a.type))return g;const y=a.scope||"global";g.operations[y][g.operations[y].length-1].hash=bt(g,y),!ut(a)&&a.attachments&&a.attachments.forEach(b=>{const{hash:E,...U}=b;g.attachments[E]={...U}})})}function ni(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var st={exports:{}};typeof Object.create=="function"?st.exports=function(r,p){p&&(r.super_=p,r.prototype=Object.create(p.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:st.exports=function(r,p){if(p){r.super_=p;var c=function(){};c.prototype=p.prototype,r.prototype=new c,r.prototype.constructor=r}};var oi=st.exports,ct={exports:{}},te={},et={};et.byteLength=si;et.toByteArray=li;et.fromByteArray=mi;var z=[],I=[],ai=typeof Uint8Array<"u"?Uint8Array:Array,at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var L=0,pi=at.length;L<pi;++L)z[L]=at[L],I[at.charCodeAt(L)]=L;I[45]=62;I[95]=63;function ee(n){var r=n.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var p=n.indexOf("=");p===-1&&(p=r);var c=p===r?0:4-p%4;return[p,c]}function si(n){var r=ee(n),p=r[0],c=r[1];return(p+c)*3/4-c}function ci(n,r,p){return(r+p)*3/4-p}function li(n){var r,p=ee(n),c=p[0],f=p[1],u=new ai(ci(n,c,f)),l=0,a=f>0?c-4:c,x;for(x=0;x<a;x+=4)r=I[n.charCodeAt(x)]<<18|I[n.charCodeAt(x+1)]<<12|I[n.charCodeAt(x+2)]<<6|I[n.charCodeAt(x+3)],u[l++]=r>>16&255,u[l++]=r>>8&255,u[l++]=r&255;return f===2&&(r=I[n.charCodeAt(x)]<<2|I[n.charCodeAt(x+1)]>>4,u[l++]=r&255),f===1&&(r=I[n.charCodeAt(x)]<<10|I[n.charCodeAt(x+1)]<<4|I[n.charCodeAt(x+2)]>>2,u[l++]=r>>8&255,u[l++]=r&255),u}function ui(n){return z[n>>18&63]+z[n>>12&63]+z[n>>6&63]+z[n&63]}function fi(n,r,p){for(var c,f=[],u=r;u<p;u+=3)c=(n[u]<<16&16711680)+(n[u+1]<<8&65280)+(n[u+2]&255),f.push(ui(c));return f.join("")}function mi(n){for(var r,p=n.length,c=p%3,f=[],u=16383,l=0,a=p-c;l<a;l+=u)f.push(fi(n,l,l+u>a?a:l+u));return c===1?(r=n[p-1],f.push(z[r>>2]+z[r<<4&63]+"==")):c===2&&(r=(n[p-2]<<8)+n[p-1],f.push(z[r>>10]+z[r>>4&63]+z[r<<2&63]+"=")),f.join("")}var yt={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */yt.read=function(n,r,p,c,f){var u,l,a=f*8-c-1,x=(1<<a)-1,d=x>>1,v=-7,g=p?f-1:0,y=p?-1:1,b=n[r+g];for(g+=y,u=b&(1<<-v)-1,b>>=-v,v+=a;v>0;u=u*256+n[r+g],g+=y,v-=8);for(l=u&(1<<-v)-1,u>>=-v,v+=c;v>0;l=l*256+n[r+g],g+=y,v-=8);if(u===0)u=1-d;else{if(u===x)return l?NaN:(b?-1:1)*(1/0);l=l+Math.pow(2,c),u=u-d}return(b?-1:1)*l*Math.pow(2,u-c)};yt.write=function(n,r,p,c,f,u){var l,a,x,d=u*8-f-1,v=(1<<d)-1,g=v>>1,y=f===23?Math.pow(2,-24)-Math.pow(2,-77):0,b=c?0:u-1,E=c?1:-1,U=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(a=isNaN(r)?1:0,l=v):(l=Math.floor(Math.log(r)/Math.LN2),r*(x=Math.pow(2,-l))<1&&(l--,x*=2),l+g>=1?r+=y/x:r+=y*Math.pow(2,1-g),r*x>=2&&(l++,x/=2),l+g>=v?(a=0,l=v):l+g>=1?(a=(r*x-1)*Math.pow(2,f),l=l+g):(a=r*Math.pow(2,g-1)*Math.pow(2,f),l=0));f>=8;n[p+b]=a&255,b+=E,a/=256,f-=8);for(l=l<<f|a,d+=f;d>0;n[p+b]=l&255,b+=E,l/=256,d-=8);n[p+b-E]|=U*128};/*!
|
|
2
|
-
* The buffer module from node.js, for the browser.
|
|
3
|
-
*
|
|
4
|
-
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
|
-
* @license MIT
|
|
6
|
-
*/(function(n){var r=et,p=yt,c=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;n.Buffer=a,n.SlowBuffer=G,n.INSPECT_MAX_BYTES=50;var f=2147483647;n.kMaxLength=f,a.TYPED_ARRAY_SUPPORT=u(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function u(){try{var i=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(i,t),i.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function l(i){if(i>f)throw new RangeError('The value "'+i+'" is invalid for option "size"');var t=new Uint8Array(i);return Object.setPrototypeOf(t,a.prototype),t}function a(i,t,e){if(typeof i=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return g(i)}return x(i,t,e)}a.poolSize=8192;function x(i,t,e){if(typeof i=="string")return y(i,t);if(ArrayBuffer.isView(i))return E(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(T(i,ArrayBuffer)||i&&T(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(T(i,SharedArrayBuffer)||i&&T(i.buffer,SharedArrayBuffer)))return U(i,t,e);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var o=i.valueOf&&i.valueOf();if(o!=null&&o!==i)return a.from(o,t,e);var s=C(i);if(s)return s;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return a.from(i[Symbol.toPrimitive]("string"),t,e);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}a.from=function(i,t,e){return x(i,t,e)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function d(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function v(i,t,e){return d(i),i<=0?l(i):t!==void 0?typeof e=="string"?l(i).fill(t,e):l(i).fill(t):l(i)}a.alloc=function(i,t,e){return v(i,t,e)};function g(i){return d(i),l(i<0?0:W(i)|0)}a.allocUnsafe=function(i){return g(i)},a.allocUnsafeSlow=function(i){return g(i)};function y(i,t){if((typeof t!="string"||t==="")&&(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var e=St(i,t)|0,o=l(e),s=o.write(i,t);return s!==e&&(o=o.slice(0,s)),o}function b(i){for(var t=i.length<0?0:W(i.length)|0,e=l(t),o=0;o<t;o+=1)e[o]=i[o]&255;return e}function E(i){if(T(i,Uint8Array)){var t=new Uint8Array(i);return U(t.buffer,t.byteOffset,t.byteLength)}return b(i)}function U(i,t,e){if(t<0||i.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(i.byteLength<t+(e||0))throw new RangeError('"length" is outside of buffer bounds');var o;return t===void 0&&e===void 0?o=new Uint8Array(i):e===void 0?o=new Uint8Array(i,t):o=new Uint8Array(i,t,e),Object.setPrototypeOf(o,a.prototype),o}function C(i){if(a.isBuffer(i)){var t=W(i.length)|0,e=l(t);return e.length===0||i.copy(e,0,0,t),e}if(i.length!==void 0)return typeof i.length!="number"||ot(i.length)?l(0):b(i);if(i.type==="Buffer"&&Array.isArray(i.data))return b(i.data)}function W(i){if(i>=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return i|0}function G(i){return+i!=i&&(i=0),a.alloc(+i)}a.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==a.prototype},a.compare=function(t,e){if(T(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),T(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var o=t.length,s=e.length,m=0,h=Math.min(o,s);m<h;++m)if(t[m]!==e[m]){o=t[m],s=e[m];break}return o<s?-1:s<o?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return a.alloc(0);var o;if(e===void 0)for(e=0,o=0;o<t.length;++o)e+=t[o].length;var s=a.allocUnsafe(e),m=0;for(o=0;o<t.length;++o){var h=t[o];if(T(h,Uint8Array))m+h.length>s.length?a.from(h).copy(s,m):Uint8Array.prototype.set.call(s,h,m);else if(a.isBuffer(h))h.copy(s,m);else throw new TypeError('"list" argument must be an Array of Buffers');m+=h.length}return s};function St(i,t){if(a.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||T(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);var e=i.length,o=arguments.length>2&&arguments[2]===!0;if(!o&&e===0)return 0;for(var s=!1;;)switch(t){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":return nt(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return e*2;case"hex":return e>>>1;case"base64":return zt(i).length;default:if(s)return o?-1:nt(i).length;t=(""+t).toLowerCase(),s=!0}}a.byteLength=St;function be(i,t,e){var o=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((e===void 0||e>this.length)&&(e=this.length),e<=0)||(e>>>=0,t>>>=0,e<=t))return"";for(i||(i="utf8");;)switch(i){case"hex":return Ie(this,t,e);case"utf8":case"utf-8":return jt(this,t,e);case"ascii":return je(this,t,e);case"latin1":case"binary":return Oe(this,t,e);case"base64":return ke(this,t,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ue(this,t,e);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),o=!0}}a.prototype._isBuffer=!0;function M(i,t,e){var o=i[t];i[t]=i[e],i[e]=o}a.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)M(this,e,e+1);return this},a.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)M(this,e,e+3),M(this,e+1,e+2);return this},a.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)M(this,e,e+7),M(this,e+1,e+6),M(this,e+2,e+5),M(this,e+3,e+4);return this},a.prototype.toString=function(){var t=this.length;return t===0?"":arguments.length===0?jt(this,0,t):be.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:a.compare(this,t)===0},a.prototype.inspect=function(){var t="",e=n.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},c&&(a.prototype[c]=a.prototype.inspect),a.prototype.compare=function(t,e,o,s,m){if(T(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0&&(e=0),o===void 0&&(o=t?t.length:0),s===void 0&&(s=0),m===void 0&&(m=this.length),e<0||o>t.length||s<0||m>this.length)throw new RangeError("out of range index");if(s>=m&&e>=o)return 0;if(s>=m)return-1;if(e>=o)return 1;if(e>>>=0,o>>>=0,s>>>=0,m>>>=0,this===t)return 0;for(var h=m-s,F=o-e,_=Math.min(h,F),A=this.slice(s,m),B=t.slice(e,o),S=0;S<_;++S)if(A[S]!==B[S]){h=A[S],F=B[S];break}return h<F?-1:F<h?1:0};function kt(i,t,e,o,s){if(i.length===0)return-1;if(typeof e=="string"?(o=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,ot(e)&&(e=s?0:i.length-1),e<0&&(e=i.length+e),e>=i.length){if(s)return-1;e=i.length-1}else if(e<0)if(s)e=0;else return-1;if(typeof t=="string"&&(t=a.from(t,o)),a.isBuffer(t))return t.length===0?-1:Bt(i,t,e,o,s);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?s?Uint8Array.prototype.indexOf.call(i,t,e):Uint8Array.prototype.lastIndexOf.call(i,t,e):Bt(i,[t],e,o,s);throw new TypeError("val must be string, number or Buffer")}function Bt(i,t,e,o,s){var m=1,h=i.length,F=t.length;if(o!==void 0&&(o=String(o).toLowerCase(),o==="ucs2"||o==="ucs-2"||o==="utf16le"||o==="utf-16le")){if(i.length<2||t.length<2)return-1;m=2,h/=2,F/=2,e/=2}function _(Dt,Mt){return m===1?Dt[Mt]:Dt.readUInt16BE(Mt*m)}var A;if(s){var B=-1;for(A=e;A<h;A++)if(_(i,A)===_(t,B===-1?0:A-B)){if(B===-1&&(B=A),A-B+1===F)return B*m}else B!==-1&&(A-=A-B),B=-1}else for(e+F>h&&(e=h-F),A=e;A>=0;A--){for(var S=!0,X=0;X<F;X++)if(_(i,A+X)!==_(t,X)){S=!1;break}if(S)return A}return-1}a.prototype.includes=function(t,e,o){return this.indexOf(t,e,o)!==-1},a.prototype.indexOf=function(t,e,o){return kt(this,t,e,o,!0)},a.prototype.lastIndexOf=function(t,e,o){return kt(this,t,e,o,!1)};function Ee(i,t,e,o){e=Number(e)||0;var s=i.length-e;o?(o=Number(o),o>s&&(o=s)):o=s;var m=t.length;o>m/2&&(o=m/2);for(var h=0;h<o;++h){var F=parseInt(t.substr(h*2,2),16);if(ot(F))return h;i[e+h]=F}return h}function Fe(i,t,e,o){return V(nt(t,i.length-e),i,e,o)}function _e(i,t,e,o){return V(De(t),i,e,o)}function Ae(i,t,e,o){return V(zt(t),i,e,o)}function Se(i,t,e,o){return V(Me(t,i.length-e),i,e,o)}a.prototype.write=function(t,e,o,s){if(e===void 0)s="utf8",o=this.length,e=0;else if(o===void 0&&typeof e=="string")s=e,o=this.length,e=0;else if(isFinite(e))e=e>>>0,isFinite(o)?(o=o>>>0,s===void 0&&(s="utf8")):(s=o,o=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var m=this.length-e;if((o===void 0||o>m)&&(o=m),t.length>0&&(o<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");s||(s="utf8");for(var h=!1;;)switch(s){case"hex":return Ee(this,t,e,o);case"utf8":case"utf-8":return Fe(this,t,e,o);case"ascii":case"latin1":case"binary":return _e(this,t,e,o);case"base64":return Ae(this,t,e,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Se(this,t,e,o);default:if(h)throw new TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),h=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ke(i,t,e){return t===0&&e===i.length?r.fromByteArray(i):r.fromByteArray(i.slice(t,e))}function jt(i,t,e){e=Math.min(i.length,e);for(var o=[],s=t;s<e;){var m=i[s],h=null,F=m>239?4:m>223?3:m>191?2:1;if(s+F<=e){var _,A,B,S;switch(F){case 1:m<128&&(h=m);break;case 2:_=i[s+1],(_&192)===128&&(S=(m&31)<<6|_&63,S>127&&(h=S));break;case 3:_=i[s+1],A=i[s+2],(_&192)===128&&(A&192)===128&&(S=(m&15)<<12|(_&63)<<6|A&63,S>2047&&(S<55296||S>57343)&&(h=S));break;case 4:_=i[s+1],A=i[s+2],B=i[s+3],(_&192)===128&&(A&192)===128&&(B&192)===128&&(S=(m&15)<<18|(_&63)<<12|(A&63)<<6|B&63,S>65535&&S<1114112&&(h=S))}}h===null?(h=65533,F=1):h>65535&&(h-=65536,o.push(h>>>10&1023|55296),h=56320|h&1023),o.push(h),s+=F}return Be(o)}var Ot=4096;function Be(i){var t=i.length;if(t<=Ot)return String.fromCharCode.apply(String,i);for(var e="",o=0;o<t;)e+=String.fromCharCode.apply(String,i.slice(o,o+=Ot));return e}function je(i,t,e){var o="";e=Math.min(i.length,e);for(var s=t;s<e;++s)o+=String.fromCharCode(i[s]&127);return o}function Oe(i,t,e){var o="";e=Math.min(i.length,e);for(var s=t;s<e;++s)o+=String.fromCharCode(i[s]);return o}function Ie(i,t,e){var o=i.length;(!t||t<0)&&(t=0),(!e||e<0||e>o)&&(e=o);for(var s="",m=t;m<e;++m)s+=Ne[i[m]];return s}function Ue(i,t,e){for(var o=i.slice(t,e),s="",m=0;m<o.length-1;m+=2)s+=String.fromCharCode(o[m]+o[m+1]*256);return s}a.prototype.slice=function(t,e){var o=this.length;t=~~t,e=e===void 0?o:~~e,t<0?(t+=o,t<0&&(t=0)):t>o&&(t=o),e<0?(e+=o,e<0&&(e=0)):e>o&&(e=o),e<t&&(e=t);var s=this.subarray(t,e);return Object.setPrototypeOf(s,a.prototype),s};function k(i,t,e){if(i%1!==0||i<0)throw new RangeError("offset is not uint");if(i+t>e)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(t,e,o){t=t>>>0,e=e>>>0,o||k(t,e,this.length);for(var s=this[t],m=1,h=0;++h<e&&(m*=256);)s+=this[t+h]*m;return s},a.prototype.readUintBE=a.prototype.readUIntBE=function(t,e,o){t=t>>>0,e=e>>>0,o||k(t,e,this.length);for(var s=this[t+--e],m=1;e>0&&(m*=256);)s+=this[t+--e]*m;return s},a.prototype.readUint8=a.prototype.readUInt8=function(t,e){return t=t>>>0,e||k(t,1,this.length),this[t]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(t,e){return t=t>>>0,e||k(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(t,e){return t=t>>>0,e||k(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(t,e){return t=t>>>0,e||k(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(t,e){return t=t>>>0,e||k(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,o){t=t>>>0,e=e>>>0,o||k(t,e,this.length);for(var s=this[t],m=1,h=0;++h<e&&(m*=256);)s+=this[t+h]*m;return m*=128,s>=m&&(s-=Math.pow(2,8*e)),s},a.prototype.readIntBE=function(t,e,o){t=t>>>0,e=e>>>0,o||k(t,e,this.length);for(var s=e,m=1,h=this[t+--s];s>0&&(m*=256);)h+=this[t+--s]*m;return m*=128,h>=m&&(h-=Math.pow(2,8*e)),h},a.prototype.readInt8=function(t,e){return t=t>>>0,e||k(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},a.prototype.readInt16LE=function(t,e){t=t>>>0,e||k(t,2,this.length);var o=this[t]|this[t+1]<<8;return o&32768?o|4294901760:o},a.prototype.readInt16BE=function(t,e){t=t>>>0,e||k(t,2,this.length);var o=this[t+1]|this[t]<<8;return o&32768?o|4294901760:o},a.prototype.readInt32LE=function(t,e){return t=t>>>0,e||k(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t=t>>>0,e||k(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t=t>>>0,e||k(t,4,this.length),p.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t=t>>>0,e||k(t,4,this.length),p.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t=t>>>0,e||k(t,8,this.length),p.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t=t>>>0,e||k(t,8,this.length),p.read(this,t,!1,52,8)};function j(i,t,e,o,s,m){if(!a.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||t<m)throw new RangeError('"value" argument is out of bounds');if(e+o>i.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(t,e,o,s){if(t=+t,e=e>>>0,o=o>>>0,!s){var m=Math.pow(2,8*o)-1;j(this,t,e,o,m,0)}var h=1,F=0;for(this[e]=t&255;++F<o&&(h*=256);)this[e+F]=t/h&255;return e+o},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(t,e,o,s){if(t=+t,e=e>>>0,o=o>>>0,!s){var m=Math.pow(2,8*o)-1;j(this,t,e,o,m,0)}var h=o-1,F=1;for(this[e+h]=t&255;--h>=0&&(F*=256);)this[e+h]=t/F&255;return e+o},a.prototype.writeUint8=a.prototype.writeUInt8=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,1,255,0),this[e]=t&255,e+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,2,65535,0),this[e]=t&255,this[e+1]=t>>>8,e+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=t&255,e+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=t&255,e+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4},a.prototype.writeIntLE=function(t,e,o,s){if(t=+t,e=e>>>0,!s){var m=Math.pow(2,8*o-1);j(this,t,e,o,m-1,-m)}var h=0,F=1,_=0;for(this[e]=t&255;++h<o&&(F*=256);)t<0&&_===0&&this[e+h-1]!==0&&(_=1),this[e+h]=(t/F>>0)-_&255;return e+o},a.prototype.writeIntBE=function(t,e,o,s){if(t=+t,e=e>>>0,!s){var m=Math.pow(2,8*o-1);j(this,t,e,o,m-1,-m)}var h=o-1,F=1,_=0;for(this[e+h]=t&255;--h>=0&&(F*=256);)t<0&&_===0&&this[e+h+1]!==0&&(_=1),this[e+h]=(t/F>>0)-_&255;return e+o},a.prototype.writeInt8=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=t&255,e+1},a.prototype.writeInt16LE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,2,32767,-32768),this[e]=t&255,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=t&255,e+2},a.prototype.writeInt32LE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,4,2147483647,-2147483648),this[e]=t&255,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,o){return t=+t,e=e>>>0,o||j(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4};function It(i,t,e,o,s,m){if(e+o>i.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function Ut(i,t,e,o,s){return t=+t,e=e>>>0,s||It(i,t,e,4),p.write(i,t,e,o,23,4),e+4}a.prototype.writeFloatLE=function(t,e,o){return Ut(this,t,e,!0,o)},a.prototype.writeFloatBE=function(t,e,o){return Ut(this,t,e,!1,o)};function Tt(i,t,e,o,s){return t=+t,e=e>>>0,s||It(i,t,e,8),p.write(i,t,e,o,52,8),e+8}a.prototype.writeDoubleLE=function(t,e,o){return Tt(this,t,e,!0,o)},a.prototype.writeDoubleBE=function(t,e,o){return Tt(this,t,e,!1,o)},a.prototype.copy=function(t,e,o,s){if(!a.isBuffer(t))throw new TypeError("argument should be a Buffer");if(o||(o=0),!s&&s!==0&&(s=this.length),e>=t.length&&(e=t.length),e||(e=0),s>0&&s<o&&(s=o),s===o||t.length===0||this.length===0)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),t.length-e<s-o&&(s=t.length-e+o);var m=s-o;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(e,o,s):Uint8Array.prototype.set.call(t,this.subarray(o,s),e),m},a.prototype.fill=function(t,e,o,s){if(typeof t=="string"){if(typeof e=="string"?(s=e,e=0,o=this.length):typeof o=="string"&&(s=o,o=this.length),s!==void 0&&typeof s!="string")throw new TypeError("encoding must be a string");if(typeof s=="string"&&!a.isEncoding(s))throw new TypeError("Unknown encoding: "+s);if(t.length===1){var m=t.charCodeAt(0);(s==="utf8"&&m<128||s==="latin1")&&(t=m)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(e<0||this.length<e||this.length<o)throw new RangeError("Out of range index");if(o<=e)return this;e=e>>>0,o=o===void 0?this.length:o>>>0,t||(t=0);var h;if(typeof t=="number")for(h=e;h<o;++h)this[h]=t;else{var F=a.isBuffer(t)?t:a.from(t,s),_=F.length;if(_===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(h=0;h<o-e;++h)this[h+e]=F[h%_]}return this};var Te=/[^+/0-9A-Za-z-_]/g;function ze(i){if(i=i.split("=")[0],i=i.trim().replace(Te,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function nt(i,t){t=t||1/0;for(var e,o=i.length,s=null,m=[],h=0;h<o;++h){if(e=i.charCodeAt(h),e>55295&&e<57344){if(!s){if(e>56319){(t-=3)>-1&&m.push(239,191,189);continue}else if(h+1===o){(t-=3)>-1&&m.push(239,191,189);continue}s=e;continue}if(e<56320){(t-=3)>-1&&m.push(239,191,189),s=e;continue}e=(s-55296<<10|e-56320)+65536}else s&&(t-=3)>-1&&m.push(239,191,189);if(s=null,e<128){if((t-=1)<0)break;m.push(e)}else if(e<2048){if((t-=2)<0)break;m.push(e>>6|192,e&63|128)}else if(e<65536){if((t-=3)<0)break;m.push(e>>12|224,e>>6&63|128,e&63|128)}else if(e<1114112){if((t-=4)<0)break;m.push(e>>18|240,e>>12&63|128,e>>6&63|128,e&63|128)}else throw new Error("Invalid code point")}return m}function De(i){for(var t=[],e=0;e<i.length;++e)t.push(i.charCodeAt(e)&255);return t}function Me(i,t){for(var e,o,s,m=[],h=0;h<i.length&&!((t-=2)<0);++h)e=i.charCodeAt(h),o=e>>8,s=e%256,m.push(s),m.push(o);return m}function zt(i){return r.toByteArray(ze(i))}function V(i,t,e,o){for(var s=0;s<o&&!(s+e>=t.length||s>=i.length);++s)t[s+e]=i[s];return s}function T(i,t){return i instanceof t||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===t.name}function ot(i){return i!==i}var Ne=function(){for(var i="0123456789abcdef",t=new Array(256),e=0;e<16;++e)for(var o=e*16,s=0;s<16;++s)t[o+s]=i[e]+i[s];return t}()})(te);/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(n,r){var p=te,c=p.Buffer;function f(l,a){for(var x in l)a[x]=l[x]}c.from&&c.alloc&&c.allocUnsafe&&c.allocUnsafeSlow?n.exports=p:(f(p,r),r.Buffer=u);function u(l,a,x){return c(l,a,x)}u.prototype=Object.create(c.prototype),f(c,u),u.from=function(l,a,x){if(typeof l=="number")throw new TypeError("Argument must not be a number");return c(l,a,x)},u.alloc=function(l,a,x){if(typeof l!="number")throw new TypeError("Argument must be a number");var d=c(l);return a!==void 0?typeof x=="string"?d.fill(a,x):d.fill(a):d.fill(0),d},u.allocUnsafe=function(l){if(typeof l!="number")throw new TypeError("Argument must be a number");return c(l)},u.allocUnsafeSlow=function(l){if(typeof l!="number")throw new TypeError("Argument must be a number");return p.SlowBuffer(l)}})(ct,ct.exports);var ie=ct.exports,re=ie.Buffer;function it(n,r){this._block=re.alloc(n),this._finalSize=r,this._blockSize=n,this._len=0}it.prototype.update=function(n,r){typeof n=="string"&&(r=r||"utf8",n=re.from(n,r));for(var p=this._block,c=this._blockSize,f=n.length,u=this._len,l=0;l<f;){for(var a=u%c,x=Math.min(f-l,c-a),d=0;d<x;d++)p[a+d]=n[l+d];u+=x,l+=x,u%c===0&&this._update(p)}return this._len+=f,this};it.prototype.digest=function(n){var r=this._len%this._blockSize;this._block[r]=128,this._block.fill(0,r+1),r>=this._finalSize&&(this._update(this._block),this._block.fill(0));var p=this._len*8;if(p<=4294967295)this._block.writeUInt32BE(p,this._blockSize-4);else{var c=(p&4294967295)>>>0,f=(p-c)/4294967296;this._block.writeUInt32BE(f,this._blockSize-8),this._block.writeUInt32BE(c,this._blockSize-4)}this._update(this._block);var u=this._hash();return n?u.toString(n):u};it.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var hi=it,xi=oi,ne=hi,di=ie.Buffer,wi=[1518500249,1859775393,-1894007588,-899497514],gi=new Array(80);function Y(){this.init(),this._w=gi,ne.call(this,64,56)}xi(Y,ne);Y.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function yi(n){return n<<1|n>>>31}function vi(n){return n<<5|n>>>27}function bi(n){return n<<30|n>>>2}function Ei(n,r,p,c){return n===0?r&p|~r&c:n===2?r&p|r&c|p&c:r^p^c}Y.prototype._update=function(n){for(var r=this._w,p=this._a|0,c=this._b|0,f=this._c|0,u=this._d|0,l=this._e|0,a=0;a<16;++a)r[a]=n.readInt32BE(a*4);for(;a<80;++a)r[a]=yi(r[a-3]^r[a-8]^r[a-14]^r[a-16]);for(var x=0;x<80;++x){var d=~~(x/20),v=vi(p)+Ei(d,c,f,u)+l+r[x]+wi[d]|0;l=u,u=f,f=bi(c),c=p,p=v}this._a=p+this._a|0,this._b=c+this._b|0,this._c=f+this._c|0,this._d=u+this._d|0,this._e=l+this._e|0};Y.prototype._hash=function(){var n=di.allocUnsafe(20);return n.writeInt32BE(this._a|0,0),n.writeInt32BE(this._b|0,4),n.writeInt32BE(this._c|0,8),n.writeInt32BE(this._d|0,12),n.writeInt32BE(this._e|0,16),n};var Fi=Y;const _i=ni(Fi),vt=new Error("File system not available.");function Ai(n,r,p){throw vt}function oe(n){throw vt}function Si(n){throw vt}const ki=async n=>oe();function Bi(n){let r="";for(let p=0;p<n.length;p+=2)r+=String.fromCharCode(parseInt(n.substr(p,2),16));return btoa(r)}const rt=(n,r="sha1")=>{if(r!=="sha1")throw new Error("Only sha1 algorithm is available.");const p=new _i;return Bi(p.update(n).digest("hex"))};function ae(n){return n.type===Xe&&n.skip!==void 0&&n.skip>0&&n.hash!==void 0}function lt(n){return[P,$].includes(n.type)}function ut(n){return[Vt,P,$,K,Xt].includes(n.type)}function R(n,r,p,c,f="global"){if(!n)throw new Error("Empty action type");if(typeof n!="string")throw new Error(`Invalid action type: ${n}`);const u={type:n,input:r,scope:f};p&&(u.attachments=p);try{c==null||c().parse(u.input)}catch(l){throw new Error(`Invalid action input: ${l}`)}return u}function pe(n,r=gt){return(p,c,f,u)=>r(p,c,n,f,u)}const se=(n,r)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...n,state:(r==null?void 0:r(n==null?void 0:n.state))??(n==null?void 0:n.state)??{global:{},local:{}}}),ce=(n,r)=>{const p=se(n,r);return{...p,initialState:p,operations:{global:[],local:[]},clipboard:[]}},bt=(n,r="global")=>rt(pt(n.state[r])),ji=(n,r=1e3)=>{const p=Math.random()*r;return rt(`${(n??new Date).toISOString()}${p}`)};function J(n){return D.castImmutable(D.freeze(n,!0))}function le(n,r){const p=[...n];let c=r||0,f=p.length>0?p[p.length-1].index:0;const u=[];for(const l of p.reverse()){if(c>0){const d=f-l.index;c-=d}if(c<0)throw new Error("Invalid operation index, missing operations");const a={ignore:c>0,operation:l},x=l.skip>0?l.skip+1:0;if(x>0&&x>c){const d=x-c;c=c+d}f=l.index,u.push(a)}return u.reverse()}function Oi(n){return Object.values(n).flatMap(r=>r).sort((r,p)=>new Date(r.timestamp).getTime()-new Date(p.timestamp).getTime())}function ue(n){return Object.values(n).flatMap(r=>r).sort((r,p)=>new Date(r.operation.timestamp).getTime()-new Date(p.operation.timestamp).getTime())}function tt(n,r,p,c,f,u=gt,l={}){const a=pe(p,u);return Et(n,r,a,c,f,l)}function Et(n,r,p,c,f,u={}){const l=ce(n),a=Object.keys(r).reduce((y,b)=>{const E=b;return{...y,[E]:r[E].slice(0,f==null?void 0:f.revision[E])}},{}),x=Object.keys(a).reduce((y,b)=>{const E=b;return{...y,[E]:le(a[E],u[E])}},{}),d=ue(x).reduce((y,{ignore:b,operation:E})=>b?p(y,_t(E.scope),c,{skip:E.skip,ignoreSkipOperations:!0}):p(y,E,c,{skip:E.skip,ignoreSkipOperations:!0}),l),v=Object.keys(d.operations).reduce((y,b)=>{const E=b,U=f&&f.revision[E]<r[E].length?r[E].slice(f.revision[E]):[];return{...y,[E]:[...d.operations[E].map((C,W)=>{var G;return{...C,timestamp:((G=r[E][W])==null?void 0:G.timestamp)??C.timestamp}}),...U]}},{global:[],local:[]}),g=Object.values(v).reduce((y,b)=>{for(const E of b)E.timestamp>y&&(y=E.timestamp);return y},n.lastModified);return{...d,operations:v,lastModified:g}}function Ii(n,r){return pt(n)===pt(r)}const fe=n=>R("SET_NAME",n,void 0,dt,void 0),me=(n=1,r="global")=>R("UNDO",n,void 0,wt,r),he=(n=1,r="global")=>R("REDO",n,void 0,xt,r),xe=(n,r,p="global")=>R("PRUNE",{start:n,end:r},void 0,ht,p),Ft=(n,r)=>R("LOAD_STATE",{state:n,operations:r},void 0,mt),_t=(n="global")=>R("NOOP",{},void 0,void 0,n),Ui=Object.freeze(Object.defineProperty({__proto__:null,loadState:Ft,noop:_t,prune:xe,redo:he,setName:fe,undo:me},Symbol.toStringTag,{value:"Module"})),de={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(de);var O=function(n,r,p,c){if(p==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof r=="function"?n!==r||!c:!r.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return p==="m"?c:p==="a"?c.call(n):c?c.value:r.get(n)},q,H,N;class Ti{constructor(...r){q.set(this,new Map),H.set(this,new Map),N.set(this,new Map);for(const p of r)this.define(p)}define(r,p=!1){for(let[c,f]of Object.entries(r)){c=c.toLowerCase(),f=f.map(a=>a.toLowerCase()),O(this,N,"f").has(c)||O(this,N,"f").set(c,new Set);const u=O(this,N,"f").get(c);let l=!0;for(let a of f){const x=a.startsWith("*");if(a=x?a.slice(1):a,u==null||u.add(a),l&&O(this,H,"f").set(c,a),l=!1,x)continue;const d=O(this,q,"f").get(a);if(d&&d!=c&&!p)throw new Error(`"${c} -> ${a}" conflicts with "${d} -> ${a}". Pass \`force=true\` to override this definition.`);O(this,q,"f").set(a,c)}}return this}getType(r){if(typeof r!="string")return null;const p=r.replace(/^.*[/\\]/,"").toLowerCase(),c=p.replace(/^.*\./,"").toLowerCase(),f=p.length<r.length;return!(c.length<p.length-1)&&f?null:O(this,q,"f").get(c)??null}getExtension(r){var p;return typeof r!="string"?null:(r=(p=r==null?void 0:r.split)==null?void 0:p.call(r,";")[0],(r&&O(this,H,"f").get(r.trim().toLowerCase()))??null)}getAllExtensions(r){return typeof r!="string"?null:O(this,N,"f").get(r.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const r of O(this,N,"f").values())Object.freeze(r);return this}_getTestState(){return{types:O(this,q,"f"),extensions:O(this,H,"f")}}}q=new WeakMap,H=new WeakMap,N=new WeakMap;const zi=new Ti(de)._freeze();function we(n){const r=[],p=Object.keys(n);for(const c of p){const f=n[c].sort((u,l)=>u.index-l.index);for(let u=0;u<f.length;u++)f[u].index!==u&&r.push({message:`Invalid operation index ${f[u].index} at position ${u}`,details:{position:u,operation:f[u],scope:f[u].scope}})}return r}const At=async n=>{const r=new Nt,{name:p,revision:c,documentType:f,created:u,lastModified:l}=n,a={name:p,revision:c,documentType:f,created:u,lastModified:l};return r.file("header.json",JSON.stringify(a,null,2)),r.file("state.json",JSON.stringify(n.initialState||{},null,2)),r.file("operations.json",JSON.stringify(n.operations,null,2)),Object.keys(n.attachments).forEach(d=>{const{data:v,...g}=n.attachments[d];r.file(d,v,{base64:!0,createFolders:!0,comment:JSON.stringify(g)})}),r},ge=async(n,r,p,c)=>{await(await At(n)).generateAsync({type:"uint8array",streamFiles:!0});const u=c??n.name,l=`.${p}.zip`;return Ai(r,u.endsWith(l)?u:`${u}${l}`)},Di=async(n,r)=>{const c=await(await At(n)).generateAsync({type:"blob"}),f=await r.createWritable();await f.write(c),await f.close()},ft=async(n,r)=>{const p=oe();return ye(p,r)},ye=async(n,r)=>{const p=new Nt;return await p.loadAsync(n),Mi(p,r)};async function Mi(n,r){const p=n.file("state.json");if(!p)throw new Error("Initial state not found");const c=await p.async("string"),f=JSON.parse(c),u=n.file("header.json");let l;u&&(l=JSON.parse(await u.async("string")));const a=n.file("operations.json");if(!a)throw new Error("Operations history not found");const x=JSON.parse(await a.async("string")),d=we(x);if(d.length){const g=d.map(y=>y.message);throw new Error(g.join(`
|
|
7
|
-
`))}let v=Et(f,x,r,void 0,l);return l&&(v={...v,...l}),v}function ve(n){const r=n.replace(/^.*\./,"")||void 0,p=n.replace(/^.*[/\\]/,"")||void 0;return{extension:r,fileName:p}}async function Ni(n){const{buffer:r,mimeType:p="application/octet-stream"}=await Si(),c=ve(n),f=r.toString("base64");return{data:f,hash:rt(f),mimeType:p,...c}}async function Ri(n){const r=await ki(),p=zi.getType(n)||"application/octet-stream",c=ve(n),f=r.toString("base64");return{data:f,hash:rt(f),mimeType:p,...c}}class Ci{constructor(r,p,c){Q(this,"_document");Q(this,"_reducer");Q(this,"_signalDispatch");this._reducer=r,this._document=p,this._signalDispatch=c}dispatch(r,p){return this._document=this._reducer(this._document,r,this._signalDispatch,p),this}saveToFile(r,p,c){return ge(this._document,r,p,c)}async loadFromFile(r){this._document=await ft(r,this._reducer)}static async stateFromFile(r,p){return await ft(r,p)}get state(){return J(this._document.state)}get operations(){return J(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(r){return this._document.revision[r]}get initialState(){return J(this._document.initialState)}toDocument(){return J(this._document)}getAttachment(r){return this._document.attachments[r]}setName(r){return this.dispatch(fe(r)),this}undo(r){return this.dispatch(me(r)),this}redo(r){return this.dispatch(he(r)),this}prune(r,p){return this.dispatch(xe(r,p)),this}loadState(r,p){return this.dispatch(Ft(r,p)),this}}function Li(n,r){r.forEach(p=>{Object.getOwnPropertyNames(p.prototype).forEach(c=>{Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(p.prototype,c)||Object.create(null))})})}exports.BaseActions=Ui;exports.BaseDocument=Ci;exports.applyMixins=Li;exports.baseReducer=gt;exports.createAction=R;exports.createDocument=ce;exports.createExtendedState=se;exports.createReducer=pe;exports.createZip=At;exports.getLocalFile=Ri;exports.getRemoteFile=Ni;exports.hashDocument=bt;exports.hashKey=ji;exports.isBaseAction=ut;exports.isNoopOperation=ae;exports.isSameDocument=Ii;exports.isUndoRedo=lt;exports.loadFromFile=ft;exports.loadFromInput=ye;exports.mapSkippedOperations=le;exports.processUndoRedo=Qt;exports.readOnly=J;exports.replayDocument=Et;exports.replayOperations=tt;exports.saveToFile=ge;exports.saveToFileHandle=Di;exports.sortMappedOperations=ue;exports.sortOperations=Oi;exports.validateOperations=we;exports.zod=Je;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { f as e, b as a, a as s, c as o, j as t, k as r, m as i, n, o as c, i as l, p, q as d, r as u, l as m, e as O, t as y, u as b, v as D, w as _, s as g, d as F, x as S, y as f, z as v, B as h, h as j, g as x, A as z, C as R, D as A } from "./object-CvntAblp.js";
|
|
2
|
-
const B = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3
|
-
__proto__: null,
|
|
4
|
-
createAction: e,
|
|
5
|
-
createDocument: a,
|
|
6
|
-
createExtendedState: s,
|
|
7
|
-
createReducer: o,
|
|
8
|
-
createZip: t,
|
|
9
|
-
getLocalFile: r,
|
|
10
|
-
getRemoteFile: i,
|
|
11
|
-
hashDocument: n,
|
|
12
|
-
hashKey: c,
|
|
13
|
-
isBaseAction: l,
|
|
14
|
-
isNoopOperation: p,
|
|
15
|
-
isSameDocument: d,
|
|
16
|
-
isUndoRedo: u,
|
|
17
|
-
loadFromFile: m,
|
|
18
|
-
loadFromInput: O,
|
|
19
|
-
mapSkippedOperations: y,
|
|
20
|
-
readOnly: b,
|
|
21
|
-
replayDocument: D,
|
|
22
|
-
replayOperations: _,
|
|
23
|
-
saveToFile: g,
|
|
24
|
-
saveToFileHandle: F,
|
|
25
|
-
sortMappedOperations: S,
|
|
26
|
-
sortOperations: f,
|
|
27
|
-
validateOperations: v
|
|
28
|
-
}, Symbol.toStringTag, { value: "Module" })), T = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
29
|
-
__proto__: null,
|
|
30
|
-
BaseDocument: h,
|
|
31
|
-
actions: j,
|
|
32
|
-
applyMixins: x,
|
|
33
|
-
baseReducer: z,
|
|
34
|
-
processUndoRedo: R,
|
|
35
|
-
utils: B,
|
|
36
|
-
z: A
|
|
37
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
38
|
-
export {
|
|
39
|
-
T as D,
|
|
40
|
-
B as i
|
|
41
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("./object-B5Lf9AWl.js"),o=Object.freeze(Object.defineProperty({__proto__:null,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isNoopOperation:e.isNoopOperation,isSameDocument:e.isSameDocument,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations,validateOperations:e.validateOperations},Symbol.toStringTag,{value:"Module"})),t=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,utils:o,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=t;exports.index=o;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var Et=Object.defineProperty;var Nt=(e,t,i)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var E=(e,t,i)=>(Nt(e,typeof t!="symbol"?t+"":t,i),i);const h=require("immer"),A=require("json-stringify-deterministic"),c=require("zod"),Tt=require("crypto"),M=require("fs"),At=require("https"),Mt=require("path"),V=require("jszip"),G=e=>e!=null,Ft=c.z.any().refine(e=>G(e)),Q=c.z.enum(["LOAD_STATE"]),X=c.z.enum(["PRUNE"]),Y=c.z.enum(["REDO"]),tt=c.z.enum(["SET_NAME"]),et=c.z.enum(["UNDO"]);function It(){return c.z.object({__typename:c.z.literal("Action").optional(),type:c.z.string()})}function z(){return c.z.literal("global").or(c.z.literal("local"))}function it(){return c.z.union([nt(),ot(),st(),pt(),ct()])}function Pt(){return c.z.object({__typename:c.z.literal("DocumentFile").optional(),data:c.z.string(),extension:c.z.string().nullable(),fileName:c.z.string().nullable(),mimeType:c.z.string()})}function nt(){return c.z.object({input:c.z.lazy(()=>R()),type:Q,scope:z()})}function R(){return c.z.object({operations:c.z.number(),state:c.z.lazy(()=>at())})}function at(){return c.z.object({data:c.z.unknown().nullish(),name:c.z.string()})}function Rt(){return c.z.object({__typename:c.z.literal("Operation").optional(),hash:c.z.string(),index:c.z.number(),timestamp:c.z.string().datetime(),type:c.z.string()})}function ot(){return c.z.object({input:c.z.lazy(()=>q()),type:X,scope:z()})}function q(){return c.z.object({end:c.z.number().nullish(),start:c.z.number().nullish()})}const L=c.z.number;function st(){return c.z.object({input:L(),type:Y,scope:z()})}const U=c.z.string;function pt(){return c.z.object({input:U(),type:tt,scope:c.z.literal("global")})}function qt(){return c.z.object({__typename:c.z.literal("SetNameOperation").optional(),hash:c.z.string(),index:c.z.number(),input:c.z.string(),timestamp:c.z.string().datetime(),type:c.z.string()})}const $=c.z.number;function ct(){return c.z.object({input:$(),type:et,scope:z()})}const Lt=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:It,BaseActionSchema:it,DocumentFileSchema:Pt,LoadStateActionInputSchema:R,LoadStateActionSchema:nt,LoadStateActionStateInputSchema:at,Load_StateSchema:Q,OperationSchema:Rt,OperationScopeSchema:z,PruneActionInputSchema:q,PruneActionSchema:ot,PruneSchema:X,RedoActionInputSchema:L,RedoActionSchema:st,RedoSchema:Y,SetNameActionInputSchema:U,SetNameActionSchema:pt,SetNameOperationSchema:qt,Set_NameSchema:tt,UndoActionInputSchema:$,UndoActionSchema:ct,UndoSchema:et,definedNonNullAnySchema:Ft,isDefinedNonNullAny:G},Symbol.toStringTag,{value:"Module"}));function Ut(e,t){return{...e,name:t}}function $t(e,t,i){const n={skip:i,document:e},{scope:a}=t;return!a||t.skip===void 0?n:h.produce(n,s=>{const[o]=s.document.operations[a].slice(-1);t.skip&&t.skip>0&&(s.skip=t.skip),o.type==="NOOP"&&t.index===o.index&&s.skip>o.skip&&s.document.operations[a].pop()})}function Ct(e,t,i){const{scope:n,input:a}=t,s={document:e,action:t,skip:i};return h.produce(s,o=>{if(o.document.operations[n].length<1)throw new Error(`Cannot undo: no operations in history for scope "${n}"`);if(a<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(o.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const[p]=o.document.operations[n].slice(-1),l=p.type==="NOOP"&&p.skip>0;if(o.skip+=a,l&&(o.skip+=p.skip,o.document.operations[n].pop()),o.document.operations[n].length<o.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const r=o.document.operations[n].length-1;let x=a,u=l?r-p.skip:r;for(;x>0&&u>=0;){const m=o.document.operations[n][u];m.type==="NOOP"&&m.skip>0?(u=u-(m.skip+1),o.skip+=m.skip+1):(o.document.clipboard.push({...m}),x--,u--)}o.action=Z(n)})}function Jt(e,t,i){const{scope:n,input:a}=t,s={document:e,action:t,skip:i};return h.produce(s,o=>{if(o.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(a>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(a<1)throw new Error("Invalid REDO action: invalid redo input value");if(o.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const p=o.document.clipboard.findLastIndex(r=>r.scope===n);if(p<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${n}"`);const l=o.document.clipboard.splice(p,1)[0];o.action=h.castDraft({type:l.type,scope:l.scope,input:l.input})})}function Bt(e,t,i){const{scope:n}=t,a=e.operations[n];let{input:{start:s,end:o}}=t;s=s||0,o=o||a.length;const p=a.slice(s,o),l=a.slice(0,s),r=a.slice(o),x=N(e.initialState,{...e.operations,[n]:l.concat(p)},i),{name:u,state:m}=x,f=l.length,d=l.length?l[l.length-1].timestamp:r.length?r[0].timestamp:new Date().toISOString();return N(e.initialState,{...e.operations,[n]:[...l,{...W({name:u,state:m},p.length),timestamp:d,index:f,hash:J({state:m},"global")},...r.map((O,D)=>({...O,index:f+D+1}))]},i)}function Wt(e,t){return{...e,name:t.name,state:t.state??{global:{},local:{}}}}const rt="SET_NAME",y="UNDO",j="REDO",_="PRUNE",lt="LOAD_STATE",Zt="NOOP";function Ht(e,t){const i=e.revision[t.scope];return[y,j,_].includes(t.type)?i:i+1}function Kt(e,t){return{...e,revision:{...e.revision,[t.scope]:Ht(e,t)},lastModified:new Date().toISOString()}}function Vt(e,t,i=0){if([y,j,_].includes(t.type))return e;const{scope:n}=t,a=e.operations[n].slice(0,e.revision[n]);return a.push({...t,index:a.length,timestamp:new Date().toISOString(),hash:"",scope:n,skip:i}),{...e,operations:{...e.operations,[n]:a}}}function Gt(e,t,i=0){let n=Vt(e,t,i);return n=Kt(n,t),n}function Qt(e,t,i){switch(it().parse(t),t.type){case rt:return Ut(e,t.input);case _:return Bt(e,t,i);case lt:return Wt(e,t.input.state);default:return e}}function mt(e,t,i){switch(t.type){case y:return Ct(e,t,i);case j:return Jt(e,t,i);default:return{document:e,action:t,skip:i}}}function C(e,t,i,n,a={}){const{skip:s,ignoreSkipOperations:o=!1}=a;let p={...t},l=s||0,r=e,x=[...e.clipboard];if(ut(p)){const{document:u,skip:m}=$t(r,p,l);l=m,r=u}if(F(p)){const{skip:u,action:m,document:f}=mt(e,p,l);p=m,l=u,r=f,x=[...r.clipboard]}return I(p)&&(r=Qt(r,p,i)),l>0&&!o&&(r=N(r.initialState,r.operations,i,void 0,void 0,void 0,{[p.scope]:l})),r=Gt(r,p,l),r=h.produce(r,u=>{const m=i(u.state,p,n),f=F(t)?[...x]:[];if(m)return h.castDraft({...r,clipboard:[...f],state:m});u.clipboard=h.castDraft([...f])}),h.produce(r,u=>{if([y,j,_].includes(p.type))return u;const m=p.scope||"global";u.operations[m][u.operations[m].length-1].hash=J(u,m),!I(p)&&p.attachments&&p.attachments.forEach(f=>{const{hash:d,...O}=f;u.attachments[d]={...O}})})}function Xt(e,t,i){const n=Mt.join(e,t);return M.mkdirSync(e,{recursive:!0}),new Promise((a,s)=>{try{M.writeFile(n,i,{},o=>{o?s(o):a(n)})}catch(o){s(o)}})}function dt(e){return M.readFileSync(e)}function Yt(e){return new Promise((t,i)=>{At.get(e,n=>{const a=[],s=n.headers["content-type"];n.on("data",o=>{a.push(o)}),n.on("end",()=>{t({buffer:Buffer.concat(a),mimeType:s})})}).on("error",n=>{i(n)})})}const te=async e=>dt(e),T=(e,t="sha1")=>Tt.createHash(t).update(e).digest("base64");function ut(e){return e.type===Zt&&e.skip!==void 0&&e.skip>0&&e.hash!==void 0}function F(e){return[y,j].includes(e.type)}function I(e){return[rt,y,j,_,lt].includes(e.type)}function w(e,t,i,n,a="global"){if(!e)throw new Error("Empty action type");if(typeof e!="string")throw new Error(`Invalid action type: ${e}`);const s={type:e,input:t,scope:a};i&&(s.attachments=i);try{n==null||n().parse(s.input)}catch(o){throw new Error(`Invalid action input: ${o}`)}return s}function ft(e,t=C){return(i,n,a,s)=>t(i,n,e,a,s)}const xt=(e,t)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...e,state:(t==null?void 0:t(e==null?void 0:e.state))??(e==null?void 0:e.state)??{global:{},local:{}}}),gt=(e,t)=>{const i=xt(e,t);return{...i,initialState:i,operations:{global:[],local:[]},clipboard:[]}},J=(e,t="global")=>T(A(e.state[t])),ee=(e,t=1e3)=>{const i=Math.random()*t;return T(`${(e??new Date).toISOString()}${i}`)};function k(e){return h.castImmutable(h.freeze(e,!0))}function ht(e,t){const i=[...e];let n=t||0,a=i.length>0?i[i.length-1].index:0;const s=[];for(const o of i.reverse()){if(n>0){const r=a-o.index;n-=r}if(n<0)throw new Error("Invalid operation index, missing operations");const p={ignore:n>0,operation:o},l=o.skip>0?o.skip+1:0;if(l>0&&l>n){const r=l-n;n=n+r}a=o.index,s.push(p)}return s.reverse()}function ie(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.timestamp).getTime()-new Date(i.timestamp).getTime())}function bt(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.operation.timestamp).getTime()-new Date(i.operation.timestamp).getTime())}function N(e,t,i,n,a,s=C,o={}){const p=ft(i,s);return B(e,t,p,n,a,o)}function B(e,t,i,n,a,s={}){const o=gt(e),p=Object.keys(t).reduce((m,f)=>{const d=f;return{...m,[d]:t[d].slice(0,a==null?void 0:a.revision[d])}},{}),l=Object.keys(p).reduce((m,f)=>{const d=f;return{...m,[d]:ht(p[d],s[d])}},{}),r=bt(l).reduce((m,{ignore:f,operation:d})=>f?i(m,Z(d.scope),n,{skip:d.skip,ignoreSkipOperations:!0}):i(m,d,n,{skip:d.skip,ignoreSkipOperations:!0}),o),x=Object.keys(r.operations).reduce((m,f)=>{const d=f,O=a&&a.revision[d]<t[d].length?t[d].slice(a.revision[d]):[];return{...m,[d]:[...r.operations[d].map((D,Dt)=>{var K;return{...D,timestamp:((K=t[d][Dt])==null?void 0:K.timestamp)??D.timestamp}}),...O]}},{global:[],local:[]}),u=Object.values(x).reduce((m,f)=>{for(const d of f)d.timestamp>m&&(m=d.timestamp);return m},e.lastModified);return{...r,operations:x,lastModified:u}}function ne(e,t){return A(e)===A(t)}const wt=e=>w("SET_NAME",e,void 0,U,void 0),vt=(e=1,t="global")=>w("UNDO",e,void 0,$,t),yt=(e=1,t="global")=>w("REDO",e,void 0,L,t),jt=(e,t,i="global")=>w("PRUNE",{start:e,end:t},void 0,q,i),W=(e,t)=>w("LOAD_STATE",{state:e,operations:t},void 0,R),Z=(e="global")=>w("NOOP",{},void 0,void 0,e),ae=Object.freeze(Object.defineProperty({__proto__:null,loadState:W,noop:Z,prune:jt,redo:yt,setName:wt,undo:vt},Symbol.toStringTag,{value:"Module"})),Ot={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(Ot);var g=function(e,t,i,n){if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?n:i==="a"?n.call(e):n?n.value:t.get(e)},v,S,b;class oe{constructor(...t){v.set(this,new Map),S.set(this,new Map),b.set(this,new Map);for(const i of t)this.define(i)}define(t,i=!1){for(let[n,a]of Object.entries(t)){n=n.toLowerCase(),a=a.map(p=>p.toLowerCase()),g(this,b,"f").has(n)||g(this,b,"f").set(n,new Set);const s=g(this,b,"f").get(n);let o=!0;for(let p of a){const l=p.startsWith("*");if(p=l?p.slice(1):p,s==null||s.add(p),o&&g(this,S,"f").set(n,p),o=!1,l)continue;const r=g(this,v,"f").get(p);if(r&&r!=n&&!i)throw new Error(`"${n} -> ${p}" conflicts with "${r} -> ${p}". Pass \`force=true\` to override this definition.`);g(this,v,"f").set(p,n)}}return this}getType(t){if(typeof t!="string")return null;const i=t.replace(/^.*[/\\]/,"").toLowerCase(),n=i.replace(/^.*\./,"").toLowerCase(),a=i.length<t.length;return!(n.length<i.length-1)&&a?null:g(this,v,"f").get(n)??null}getExtension(t){var i;return typeof t!="string"?null:(t=(i=t==null?void 0:t.split)==null?void 0:i.call(t,";")[0],(t&&g(this,S,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return typeof t!="string"?null:g(this,b,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of g(this,b,"f").values())Object.freeze(t);return this}_getTestState(){return{types:g(this,v,"f"),extensions:g(this,S,"f")}}}v=new WeakMap,S=new WeakMap,b=new WeakMap;const se=new oe(Ot)._freeze();function kt(e){const t=[],i=Object.keys(e);for(const n of i){const a=e[n].sort((s,o)=>s.index-o.index);for(let s=0;s<a.length;s++)a[s].index!==s&&t.push({message:`Invalid operation index ${a[s].index} at position ${s}`,details:{position:s,operation:a[s],scope:a[s].scope}})}return t}const H=async e=>{const t=new V,{name:i,revision:n,documentType:a,created:s,lastModified:o}=e,p={name:i,revision:n,documentType:a,created:s,lastModified:o};return t.file("header.json",JSON.stringify(p,null,2)),t.file("state.json",JSON.stringify(e.initialState||{},null,2)),t.file("operations.json",JSON.stringify(e.operations,null,2)),Object.keys(e.attachments).forEach(r=>{const{data:x,...u}=e.attachments[r];t.file(r,x,{base64:!0,createFolders:!0,comment:JSON.stringify(u)})}),t},St=async(e,t,i,n)=>{const s=await(await H(e)).generateAsync({type:"uint8array",streamFiles:!0}),o=n??e.name,p=`.${i}.zip`;return Xt(t,o.endsWith(p)?o:`${o}${p}`,s)},pe=async(e,t)=>{const n=await(await H(e)).generateAsync({type:"blob"}),a=await t.createWritable();await a.write(n),await a.close()},P=async(e,t)=>{const i=dt(e);return zt(i,t)},zt=async(e,t)=>{const i=new V;return await i.loadAsync(e),ce(i,t)};async function ce(e,t){const i=e.file("state.json");if(!i)throw new Error("Initial state not found");const n=await i.async("string"),a=JSON.parse(n),s=e.file("header.json");let o;s&&(o=JSON.parse(await s.async("string")));const p=e.file("operations.json");if(!p)throw new Error("Operations history not found");const l=JSON.parse(await p.async("string")),r=kt(l);if(r.length){const u=r.map(m=>m.message);throw new Error(u.join(`
|
|
2
|
-
`))}let x=B(a,l,t,void 0,o);return o&&(x={...x,...o}),x}function _t(e){const t=e.replace(/^.*\./,"")||void 0,i=e.replace(/^.*[/\\]/,"")||void 0;return{extension:t,fileName:i}}async function re(e){const{buffer:t,mimeType:i="application/octet-stream"}=await Yt(e),n=_t(e),a=t.toString("base64");return{data:a,hash:T(a),mimeType:i,...n}}async function le(e){const t=await te(e),i=se.getType(e)||"application/octet-stream",n=_t(e),a=t.toString("base64");return{data:a,hash:T(a),mimeType:i,...n}}class me{constructor(t,i,n){E(this,"_document");E(this,"_reducer");E(this,"_signalDispatch");this._reducer=t,this._document=i,this._signalDispatch=n}dispatch(t,i){return this._document=this._reducer(this._document,t,this._signalDispatch,i),this}saveToFile(t,i,n){return St(this._document,t,i,n)}async loadFromFile(t){this._document=await P(t,this._reducer)}static async stateFromFile(t,i){return await P(t,i)}get state(){return k(this._document.state)}get operations(){return k(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(t){return this._document.revision[t]}get initialState(){return k(this._document.initialState)}toDocument(){return k(this._document)}getAttachment(t){return this._document.attachments[t]}setName(t){return this.dispatch(wt(t)),this}undo(t){return this.dispatch(vt(t)),this}redo(t){return this.dispatch(yt(t)),this}prune(t,i){return this.dispatch(jt(t,i)),this}loadState(t,i){return this.dispatch(W(t,i)),this}}function de(e,t){t.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(n=>{Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(i.prototype,n)||Object.create(null))})})}exports.BaseActions=ae;exports.BaseDocument=me;exports.applyMixins=de;exports.baseReducer=C;exports.createAction=w;exports.createDocument=gt;exports.createExtendedState=xt;exports.createReducer=ft;exports.createZip=H;exports.getLocalFile=le;exports.getRemoteFile=re;exports.hashDocument=J;exports.hashKey=ee;exports.isBaseAction=I;exports.isNoopOperation=ut;exports.isSameDocument=ne;exports.isUndoRedo=F;exports.loadFromFile=P;exports.loadFromInput=zt;exports.mapSkippedOperations=ht;exports.processUndoRedo=mt;exports.readOnly=k;exports.replayDocument=B;exports.replayOperations=N;exports.saveToFile=St;exports.saveToFileHandle=pe;exports.sortMappedOperations=bt;exports.sortOperations=ie;exports.validateOperations=kt;exports.zod=Lt;
|