document-model 1.0.40 → 1.0.41
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/{node/internal/index-DyCS1h0M.js → browser/internal/index-BD_7XeO5.js} +1 -1
- package/dist/{node/internal/index-Dl5T5qdc.js → browser/internal/index-BNBYVtaF.js} +1 -1
- package/dist/browser/internal/{index-4Z_H8F_J.js → index-BWV1Osza.js} +1 -1
- package/dist/browser/internal/{index-6u2yDIEF.js → index-BxGRRPwY.js} +1 -1
- package/dist/browser/internal/{object-EriwiDIs.js → object-DHqlosWD.js} +3 -3
- package/dist/browser/internal/{object-Fq6PThAX.js → object-StihF423.js} +413 -413
- 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-A6Rqm2SZ.js → index-DeKx7EaE.js} +1 -1
- package/dist/node/internal/{index-BpBnSlTZ.js → index-Dh0vfIdX.js} +1 -1
- package/dist/{browser/internal/index-QJX_Fa1V.js → node/internal/index-LD_vrQff.js} +1 -1
- package/dist/{browser/internal/index-DQeD1Q-a.js → node/internal/index-LEexvgqj.js} +1 -1
- package/dist/node/internal/object-CKxJA706.js +2 -0
- package/dist/node/internal/{object-S6TngMa9.js → object-CudRLU4J.js} +62 -62
- package/package.json +1 -1
- package/dist/node/internal/object-ifvac9k2.js +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
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;
|