document-model 1.0.34 → 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.
Files changed (47) hide show
  1. package/dist/browser/document-model.cjs +1 -1
  2. package/dist/browser/document-model.js +13 -8
  3. package/dist/browser/document.cjs +1 -1
  4. package/dist/browser/document.js +2 -2
  5. package/dist/browser/index.cjs +1 -1
  6. package/dist/browser/index.js +3 -3
  7. package/dist/browser/internal/{index-CDGYwLIP.js → index-4Z_H8F_J.js} +572 -405
  8. package/dist/browser/internal/index-6u2yDIEF.js +22 -0
  9. package/dist/browser/internal/index-DQeD1Q-a.js +42 -0
  10. package/dist/browser/internal/index-QJX_Fa1V.js +1 -0
  11. package/dist/browser/internal/object-EriwiDIs.js +7 -0
  12. package/dist/browser/internal/{object-B-Aw8ilC.js → object-Fq6PThAX.js} +301 -263
  13. package/dist/browser/src/document/reducer.d.ts +2 -2
  14. package/dist/browser/src/document/utils/base.d.ts +1 -0
  15. package/dist/browser/src/document-model/custom/utils.d.ts +7 -1
  16. package/dist/browser/src/document-model/index.d.ts +5 -0
  17. package/dist/browser/test/document/event-vs-command.test.d.ts +1 -0
  18. package/dist/browser/test/document-model/validation.test.d.ts +1 -0
  19. package/dist/browser/test/helpers.d.ts +5 -3
  20. package/dist/node/document-model.cjs +1 -1
  21. package/dist/node/document-model.js +12 -7
  22. package/dist/node/document.cjs +1 -1
  23. package/dist/node/document.js +2 -2
  24. package/dist/node/index.cjs +1 -1
  25. package/dist/node/index.js +3 -3
  26. package/dist/node/internal/{index-CEkeEja8.js → index-A6Rqm2SZ.js} +572 -405
  27. package/dist/node/internal/index-BpBnSlTZ.js +22 -0
  28. package/dist/node/internal/index-Dl5T5qdc.js +42 -0
  29. package/dist/node/internal/index-DyCS1h0M.js +1 -0
  30. package/dist/node/internal/{object-CvntAblp.js → object-S6TngMa9.js} +324 -286
  31. package/dist/node/internal/object-ifvac9k2.js +2 -0
  32. package/dist/node/src/document/reducer.d.ts +2 -2
  33. package/dist/node/src/document/utils/base.d.ts +1 -0
  34. package/dist/node/src/document-model/custom/utils.d.ts +7 -1
  35. package/dist/node/src/document-model/index.d.ts +5 -0
  36. package/dist/node/test/document/event-vs-command.test.d.ts +1 -0
  37. package/dist/node/test/document-model/validation.test.d.ts +1 -0
  38. package/dist/node/test/helpers.d.ts +5 -3
  39. package/package.json +2 -1
  40. package/dist/browser/internal/index-368Qgjhp.js +0 -22
  41. package/dist/browser/internal/index-A_QX9cy_.js +0 -41
  42. package/dist/browser/internal/index-CZWjb-hc.js +0 -1
  43. package/dist/browser/internal/object-C8B-mq5Y.js +0 -7
  44. package/dist/node/internal/index-D_eCXEyL.js +0 -41
  45. package/dist/node/internal/index-DjP2tO7C.js +0 -1
  46. package/dist/node/internal/index-qa67kbhM.js +0 -22
  47. 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>;
@@ -1 +1,7 @@
1
- export {};
1
+ import { ValidationError } from '../../document';
2
+ import { Module, Operation } from '../gen/schema';
3
+ export declare function validateInitialState(initialState: string, allowEmptyState?: boolean): ValidationError[];
4
+ export declare function validateStateSchemaName(schema: string, documentName: string, scope?: string, allowEmptySchema?: boolean): ValidationError[];
5
+ export declare function validateModules(modules: Array<Module>): ValidationError[];
6
+ export declare function validateModule(mod: Module): ValidationError[];
7
+ export declare function validateModuleOperation(operation: Operation): ValidationError[];
@@ -9,6 +9,11 @@ import { reducer } from './gen/reducer';
9
9
  import { DocumentModelAction, DocumentModelLocalState, DocumentModelState } from './gen/types';
10
10
  declare const Document: typeof DocumentModel;
11
11
  declare const utils: {
12
+ validateInitialState(initialState: string, allowEmptyState?: boolean): import("../document").ValidationError[];
13
+ validateStateSchemaName(schema: string, documentName: string, scope?: string, allowEmptySchema?: boolean): import("../document").ValidationError[];
14
+ validateModules(modules: import("./gen").Module[]): import("../document").ValidationError[];
15
+ validateModule(mod: import("./gen").Module): import("../document").ValidationError[];
16
+ validateModuleOperation(operation: import("./gen").Operation): import("../document").ValidationError[];
12
17
  fileExtension: string;
13
18
  createState: import("../document").CreateState<DocumentModelState, DocumentModelLocalState>;
14
19
  createExtendedState: (extendedState?: Partial<import("../document").ExtendedState<import("../document").PartialState<DocumentModelState>, import("../document").PartialState<DocumentModelLocalState>>> | undefined, createState?: import("../document").CreateState<DocumentModelState, DocumentModelLocalState> | undefined) => import("../document").ExtendedState<DocumentModelState, DocumentModelLocalState>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,7 @@
1
- import { Action, ImmutableStateReducer, Operation, OperationScope } from '../src/document/types';
2
- export declare const emptyReducer: import("../src/document/types").Reducer<unknown, Action, unknown>;
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/types").Reducer<CountState, CountAction, CountLocalState>;
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,6 +1,6 @@
1
1
  {
2
2
  "name": "document-model",
3
- "version": "1.0.34",
3
+ "version": "1.0.36",
4
4
  "license": "AGPL-3.0-only",
5
5
  "private": false,
6
6
  "files": [
@@ -81,6 +81,7 @@
81
81
  "vitest": "^1.2.1"
82
82
  },
83
83
  "dependencies": {
84
+ "change-case": "^5.4.3",
84
85
  "immer": "^10.0.3",
85
86
  "json-stringify-deterministic": "1.0.12",
86
87
  "jszip": "^3.10.1",
@@ -1,22 +0,0 @@
1
- "use strict";var mt=Object.defineProperty;var Et=(t,e,r)=>e in t?mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var me=(t,e,r)=>(Et(t,typeof e!="symbol"?e+"":e,r),r);const s=require("./object-C8B-mq5Y.js");require("immer");require("json-stringify-deterministic");require("jszip");const o=require("zod"),ht=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),_={id:"powerhouse/document-model",name:"DocumentModel",extension:"phdm",description:"The Powerhouse Document Model describes the state and operations of a document type.",author:{name:"Powerhouse",website:"https://www.powerhouse.inc/"},specifications:[{version:1,changeLog:[],modules:[{name:"header",operations:[{name:"SetModelName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelId",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelExtension",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorWebsite",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"versioning",operations:[{name:"AddChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderChangeLogItems",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReleaseNewVersion",schema:null,id:"",description:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"module",operations:[{name:"AddModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModules",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-error",operations:[{name:"AddOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorCode",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationErrors",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-example",operations:[{name:"AddOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation",operations:[{name:"AddOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationReducer",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"MoveOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModuleOperations",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"state",operations:[{name:"SetStateSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetInitialState",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"AddStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderStateExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""}],state:{global:{schema:"",initialValue:`{
2
- "id": "",
3
- "name": "",
4
- "extension": "",
5
- "description": "",
6
- "author": {
7
- "name": "",
8
- "website": ""
9
- },
10
- "specifications": [
11
- {
12
- "version": 1,
13
- "changeLog": [],
14
- "state": {
15
- "schema": "",
16
- "initialValue": "",
17
- "examples": []
18
- },
19
- "modules": []
20
- }
21
- ]
22
- }`,examples:[]},local:{schema:"",initialValue:"{}",examples:[]}}}]},Ee=t=>t!=null,Ot=o.z.any().refine(t=>Ee(t));function z(){return o.z.object({__typename:o.z.literal("AddChangeLogItemInput").optional(),content:o.z.string(),id:o.z.string(),insertBefore:o.z.string().nullable()})}function A(){return o.z.object({description:o.z.string().nullish(),id:o.z.string(),name:o.z.string()})}function I(){return o.z.object({errorCode:o.z.string().nullish(),errorDescription:o.z.string().nullish(),errorName:o.z.string().nullish(),errorTemplate:o.z.string().nullish(),id:o.z.string(),operationId:o.z.string()})}function T(){return o.z.object({example:o.z.string(),id:o.z.string(),operationId:o.z.string()})}function R(){return o.z.object({description:o.z.string().nullish(),id:o.z.string(),moduleId:o.z.string(),name:o.z.string(),reducer:o.z.string().nullish(),schema:o.z.string().nullish(),template:o.z.string().nullish(),scope:S().nullish()})}function D(){return o.z.object({scope:o.z.string(),example:o.z.string(),id:o.z.string(),insertBefore:o.z.string().nullish()})}function he(){return o.z.object({__typename:o.z.literal("Author").optional(),name:o.z.string(),website:o.z.string().nullable()})}function M(){return o.z.object({__typename:o.z.literal("CodeExample").optional(),id:o.z.string(),value:o.z.string()})}function x(){return o.z.object({__typename:o.z.literal("DeleteChangeLogItemInput").optional(),id:o.z.string()})}function N(){return o.z.object({id:o.z.string()})}function L(){return o.z.object({id:o.z.string()})}function j(){return o.z.object({id:o.z.string()})}function P(){return o.z.object({id:o.z.string()})}function C(){return o.z.object({scope:o.z.string(),id:o.z.string()})}function S(){return o.z.literal("global").or(o.z.literal("local"))}function gt(){return o.z.union([z(),A(),I(),T(),R(),D(),x(),N(),L(),j(),P(),C(),k(),y(),w(),v(),U(),V(),F(),H(),$(),X(),G(),B(),W(),q(),J(),K(),Q(),Y(),Z(),ee(),te(),re(),oe(),ne(),ie(),se(),ae(),pe(),le()])}function St(){return o.z.object({__typename:o.z.literal("DocumentModelState").optional(),author:he(),description:o.z.string(),extension:o.z.string(),id:o.z.string(),name:o.z.string(),specifications:o.z.array(Oe())})}function Oe(){return o.z.object({__typename:o.z.literal("DocumentSpecification").optional(),changeLog:o.z.array(o.z.string()),modules:o.z.array(ge()),state:_e(),version:o.z.number()})}function ge(){return o.z.object({__typename:o.z.literal("Module").optional(),description:o.z.string().nullable(),id:o.z.string(),name:o.z.string(),operations:o.z.array(Se())})}function k(){return o.z.object({newModuleId:o.z.string(),operationId:o.z.string()})}function Se(){return o.z.object({__typename:o.z.literal("Operation").optional(),description:o.z.string().nullable(),errors:o.z.array(be()),examples:o.z.array(M()),id:o.z.string(),name:o.z.string().nullable(),reducer:o.z.string().nullable(),schema:o.z.string().nullable(),template:o.z.string().nullable(),scope:S()})}function be(){return o.z.object({__typename:o.z.literal("OperationError").optional(),code:o.z.string().nullable(),description:o.z.string().nullable(),id:o.z.string(),name:o.z.string().nullable(),template:o.z.string().nullable()})}function y(){return o.z.object({__typename:o.z.literal("ReorderChangeLogItemsInput").optional(),order:o.z.array(o.z.string())})}function w(){return o.z.object({moduleId:o.z.string(),order:o.z.array(o.z.string())})}function v(){return o.z.object({order:o.z.array(o.z.string())})}function U(){return o.z.object({operationId:o.z.string(),order:o.z.array(o.z.string())})}function V(){return o.z.object({operationId:o.z.string(),order:o.z.array(o.z.string())})}function F(){return o.z.object({scope:o.z.string(),order:o.z.array(o.z.string())})}function H(){return o.z.object({authorName:o.z.string()})}function $(){return o.z.object({authorWebsite:o.z.string()})}function X(){return o.z.object({scope:o.z.string(),initialValue:o.z.string()})}function G(){return o.z.object({description:o.z.string()})}function B(){return o.z.object({extension:o.z.string()})}function W(){return o.z.object({id:o.z.string()})}function q(){return o.z.object({name:o.z.string()})}function J(){return o.z.object({description:o.z.string().nullish(),id:o.z.string()})}function K(){return o.z.object({id:o.z.string(),name:o.z.string().nullish()})}function Q(){return o.z.object({description:o.z.string().nullish(),id:o.z.string()})}function Y(){return o.z.object({errorCode:o.z.string().nullish(),id:o.z.string()})}function Z(){return o.z.object({errorDescription:o.z.string().nullish(),id:o.z.string()})}function ee(){return o.z.object({errorName:o.z.string().nullish(),id:o.z.string()})}function te(){return o.z.object({errorTemplate:o.z.string().nullish(),id:o.z.string()})}function re(){return o.z.object({id:o.z.string(),name:o.z.string().nullish()})}function fe(){return o.z.object({id:o.z.string(),scope:S()})}function oe(){return o.z.object({id:o.z.string(),reducer:o.z.string().nullish()})}function ne(){return o.z.object({id:o.z.string(),schema:o.z.string().nullish()})}function ie(){return o.z.object({id:o.z.string(),template:o.z.string().nullish()})}function se(){return o.z.object({scope:o.z.string(),schema:o.z.string()})}function f(){return o.z.object({__typename:o.z.literal("State").optional(),examples:o.z.array(M()),initialValue:o.z.string(),schema:o.z.string()})}function _e(){return o.z.object({global:f(),local:f()})}function ae(){return o.z.object({__typename:o.z.literal("UpdateChangeLogItemInput").optional(),id:o.z.string(),newContent:o.z.string()})}function pe(){return o.z.object({example:o.z.string(),id:o.z.string()})}function le(){return o.z.object({scope:o.z.string(),id:o.z.string(),newExample:o.z.string()})}const ze=Object.freeze(Object.defineProperty({__proto__:null,AddChangeLogItemInputSchema:z,AddModuleInputSchema:A,AddOperationErrorInputSchema:I,AddOperationExampleInputSchema:T,AddOperationInputSchema:R,AddStateExampleInputSchema:D,AuthorSchema:he,CodeExampleSchema:M,DeleteChangeLogItemInputSchema:x,DeleteModuleInputSchema:N,DeleteOperationErrorInputSchema:L,DeleteOperationExampleInputSchema:j,DeleteOperationInputSchema:P,DeleteStateExampleInputSchema:C,DocumentModelInputSchema:gt,DocumentModelStateSchema:St,DocumentSpecificationSchema:Oe,ModuleSchema:ge,MoveOperationInputSchema:k,OperationErrorSchema:be,OperationSchema:Se,OperationScopeSchema:S,ReorderChangeLogItemsInputSchema:y,ReorderModuleOperationsInputSchema:w,ReorderModulesInputSchema:v,ReorderOperationErrorsInputSchema:U,ReorderOperationExamplesInputSchema:V,ReorderStateExamplesInputSchema:F,ScopeStateSchema:_e,SetAuthorNameInputSchema:H,SetAuthorWebsiteInputSchema:$,SetInitialStateInputSchema:X,SetModelDescriptionInputSchema:G,SetModelExtensionInputSchema:B,SetModelIdInputSchema:W,SetModelNameInputSchema:q,SetModuleDescriptionInputSchema:J,SetModuleNameInputSchema:K,SetOperationDescriptionInputSchema:Q,SetOperationErrorCodeInputSchema:Y,SetOperationErrorDescriptionInputSchema:Z,SetOperationErrorNameInputSchema:ee,SetOperationErrorTemplateInputSchema:te,SetOperationNameInputSchema:re,SetOperationReducerInputSchema:oe,SetOperationSchemaInputSchema:ne,SetOperationScopeInputSchema:fe,SetOperationTemplateInputSchema:ie,SetStateSchemaInputSchema:se,StateSchema:f,UpdateChangeLogItemInputSchema:ae,UpdateOperationExampleInputSchema:pe,UpdateStateExampleInputSchema:le,definedNonNullAnySchema:Ot,isDefinedNonNullAny:Ee},Symbol.toStringTag,{value:"Module"})),c={setModelNameOperation(t,e){t.name=e.input.name},setModelIdOperation(t,e){t.id=e.input.id},setModelExtensionOperation(t,e){t.extension=e.input.extension},setModelDescriptionOperation(t,e){t.description=e.input.description},setAuthorNameOperation(t,e){t.author=t.author||{name:"",website:null},t.author.name=e.input.authorName},setAuthorWebsiteOperation(t,e){t.author=t.author||{name:"",website:null},t.author.website=e.input.authorWebsite}},E={addChangeLogItemOperation(t,e){throw new Error('Reducer "addChangeLogItemOperation" not yet implemented')},updateChangeLogItemOperation(t,e){throw new Error('Reducer "updateChangeLogItemOperation" not yet implemented')},deleteChangeLogItemOperation(t,e){throw new Error('Reducer "deleteChangeLogItemOperation" not yet implemented')},reorderChangeLogItemsOperation(t,e){throw new Error('Reducer "reorderChangeLogItemsOperation" not yet implemented')},releaseNewVersionOperation(t,e){throw new Error('Reducer "releaseNewVersionOperation" not yet implemented')}},bt=t=>{const e={};return t.forEach((r,n)=>e[r]=n),(r,n)=>(e[n.id]||999999)-(e[r.id]||999999)},h={addModuleOperation(t,e){t.specifications[t.specifications.length-1].modules.push({id:e.input.id,name:e.input.name,description:e.input.description||"",operations:[]})},setModuleNameOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)r.modules[n].id===e.input.id&&(r.modules[n].name=e.input.name||"")},setModuleDescriptionOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)r.modules[n].id===e.input.id&&(r.modules[n].description=e.input.description||"")},deleteModuleOperation(t,e){const r=t.specifications[t.specifications.length-1];r.modules=r.modules.filter(n=>n.id!=e.input.id)},reorderModulesOperation(t,e){t.specifications[t.specifications.length-1].modules.sort(bt(e.input.order))}},ft=t=>{const e={};return t.forEach((r,n)=>e[r]=n),(r,n)=>(e[n.id]||999999)-(e[r.id]||999999)},l={addOperationErrorOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.operationId&&r.modules[n].operations[i].errors.push({id:e.input.id,name:e.input.errorName||"",code:e.input.errorCode||"",description:e.input.errorDescription||"",template:e.input.errorTemplate||""})},setOperationErrorCodeOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)for(let a=0;a<r.modules[n].operations[i].errors.length;a++)r.modules[n].operations[i].errors[a].id==e.input.id&&(r.modules[n].operations[i].errors[a].code=e.input.errorCode||"")},setOperationErrorNameOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)for(let a=0;a<r.modules[n].operations[i].errors.length;a++)r.modules[n].operations[i].errors[a].id==e.input.id&&(r.modules[n].operations[i].errors[a].name=e.input.errorName||"")},setOperationErrorDescriptionOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)for(let a=0;a<r.modules[n].operations[i].errors.length;a++)r.modules[n].operations[i].errors[a].id==e.input.id&&(r.modules[n].operations[i].errors[a].description=e.input.errorDescription||"")},setOperationErrorTemplateOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)for(let a=0;a<r.modules[n].operations[i].errors.length;a++)r.modules[n].operations[i].errors[a].id==e.input.id&&(r.modules[n].operations[i].errors[a].template=e.input.errorTemplate||"")},deleteOperationErrorOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].errors=r.modules[n].operations[i].errors.filter(a=>a.id!=e.input.id)},reorderOperationErrorsOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.operationId&&r.modules[n].operations[i].errors.sort(ft(e.input.order))}},_t=t=>{const e={};return t.forEach((r,n)=>e[r]=n),(r,n)=>(e[n.id]||999999)-(e[r.id]||999999)},g={addOperationExampleOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.operationId&&r.modules[n].operations[i].examples.push({id:e.input.id,value:e.input.example})},updateOperationExampleOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)for(let a=0;a<r.modules[n].operations[i].examples.length;a++)r.modules[n].operations[i].examples[a].id==e.input.id&&(r.modules[n].operations[i].examples[a].value=e.input.example)},deleteOperationExampleOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].examples=r.modules[n].operations[i].examples.filter(a=>a.id!=e.input.id)},reorderOperationExamplesOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.operationId&&r.modules[n].operations[i].examples.sort(_t(e.input.order))}},zt=t=>{const e={};return t.forEach((r,n)=>e[r]=n),(r,n)=>(e[n.id]||999999)-(e[r.id]||999999)},p={addOperationOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)r.modules[n].id==e.input.moduleId&&r.modules[n].operations.push({id:e.input.id,name:e.input.name,description:e.input.description||"",schema:e.input.schema||"",template:e.input.template||e.input.description||"",reducer:e.input.reducer||"",errors:[],examples:[],scope:e.input.scope||"global"})},setOperationNameOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.id&&(r.modules[n].operations[i].name=e.input.name||"")},setOperationScopeOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.id&&(r.modules[n].operations[i].scope=e.input.scope||"global")},setOperationSchemaOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.id&&(r.modules[n].operations[i].schema=e.input.schema||"")},setOperationDescriptionOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.id&&(r.modules[n].operations[i].description=e.input.description||"")},setOperationTemplateOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.id&&(r.modules[n].operations[i].template=e.input.template||"")},setOperationReducerOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)for(let i=0;i<r.modules[n].operations.length;i++)r.modules[n].operations[i].id==e.input.id&&(r.modules[n].operations[i].reducer=e.input.reducer||"")},moveOperationOperation(t,e){const r=[],n=t.specifications[t.specifications.length-1];for(let i=0;i<n.modules.length;i++)n.modules[i].operations=n.modules[i].operations.filter(a=>a.id==e.input.operationId?(r.push(a),!1):!0);for(let i=0;i<n.modules.length;i++)n.modules[i].id==e.input.newModuleId&&n.modules[i].operations.push(...r)},deleteOperationOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)r.modules[n].operations=r.modules[n].operations.filter(i=>i.id!=e.input.id)},reorderModuleOperationsOperation(t,e){const r=t.specifications[t.specifications.length-1];for(let n=0;n<r.modules.length;n++)r.modules[n].id==e.input.moduleId&&r.modules[n].operations.sort(zt(e.input.order))}},At=t=>{const e={};return t.forEach((r,n)=>e[r]=n),(r,n)=>(e[n.id]||999999)-(e[r.id]||999999)},d={setStateSchemaOperation(t,e){const r=t.specifications[t.specifications.length-1];if(Object.keys(r.state).includes(e.input.scope))r.state[e.input.scope].schema=e.input.schema;else throw new Error(`Invalid scope: ${e.input.scope}`)},setInitialStateOperation(t,e){const r=t.specifications[t.specifications.length-1];if(Object.keys(r.state).includes(e.input.scope))r.state[e.input.scope].initialValue=e.input.initialValue;else throw new Error(`Invalid scope: ${e.input.scope}`)},addStateExampleOperation(t,e){const r=t.specifications[t.specifications.length-1];if(Object.keys(r.state).includes(e.input.scope))r.state[e.input.scope].examples.push({id:e.input.id,value:e.input.example});else throw new Error(`Invalid scope: ${e.input.scope}`)},updateStateExampleOperation(t,e){const r=t.specifications[t.specifications.length-1];if(!Object.keys(r.state).includes(e.input.scope))throw new Error(`Invalid scope: ${e.input.scope}`);const n=r.state[e.input.scope].examples;for(let i=0;i<n.length;i++)n[i].id==e.input.id&&(n[i].value=e.input.newExample)},deleteStateExampleOperation(t,e){const r=t.specifications[t.specifications.length-1];if(Object.keys(r.state).includes(e.input.scope))r.state[e.input.scope].examples=r.state[e.input.scope].examples.filter(n=>n.id!=e.input.id);else throw new Error(`Invalid scope: ${e.input.scope}`)},reorderStateExamplesOperation(t,e){const r=t.specifications[t.specifications.length-1];if(Object.keys(r.state).includes(e.input.scope))r.state[e.input.scope].examples.sort(At(e.input.order));else throw new Error(`Invalid scope: ${e.input.scope}`)}},It=(t,e)=>{if(s.isBaseAction(e))return t;switch(e.type){case"SET_MODEL_NAME":q().parse(e.input),c.setModelNameOperation(t.global,e);break;case"SET_MODEL_ID":W().parse(e.input),c.setModelIdOperation(t.global,e);break;case"SET_MODEL_EXTENSION":B().parse(e.input),c.setModelExtensionOperation(t.global,e);break;case"SET_MODEL_DESCRIPTION":G().parse(e.input),c.setModelDescriptionOperation(t.global,e);break;case"SET_AUTHOR_NAME":H().parse(e.input),c.setAuthorNameOperation(t.global,e);break;case"SET_AUTHOR_WEBSITE":$().parse(e.input),c.setAuthorWebsiteOperation(t.global,e);break;case"ADD_CHANGE_LOG_ITEM":z().parse(e.input),E.addChangeLogItemOperation(t.global,e);break;case"UPDATE_CHANGE_LOG_ITEM":ae().parse(e.input),E.updateChangeLogItemOperation(t.global,e);break;case"DELETE_CHANGE_LOG_ITEM":x().parse(e.input),E.deleteChangeLogItemOperation(t.global,e);break;case"REORDER_CHANGE_LOG_ITEMS":y().parse(e.input),E.reorderChangeLogItemsOperation(t.global,e);break;case"RELEASE_NEW_VERSION":if(Object.keys(e.input).length>0)throw new Error("Expected empty input for action RELEASE_NEW_VERSION");E.releaseNewVersionOperation(t.global,e);break;case"ADD_MODULE":A().parse(e.input),h.addModuleOperation(t.global,e);break;case"SET_MODULE_NAME":K().parse(e.input),h.setModuleNameOperation(t.global,e);break;case"SET_MODULE_DESCRIPTION":J().parse(e.input),h.setModuleDescriptionOperation(t.global,e);break;case"DELETE_MODULE":N().parse(e.input),h.deleteModuleOperation(t.global,e);break;case"REORDER_MODULES":v().parse(e.input),h.reorderModulesOperation(t.global,e);break;case"ADD_OPERATION_ERROR":I().parse(e.input),l.addOperationErrorOperation(t.global,e);break;case"SET_OPERATION_ERROR_CODE":Y().parse(e.input),l.setOperationErrorCodeOperation(t.global,e);break;case"SET_OPERATION_ERROR_NAME":ee().parse(e.input),l.setOperationErrorNameOperation(t.global,e);break;case"SET_OPERATION_ERROR_DESCRIPTION":Z().parse(e.input),l.setOperationErrorDescriptionOperation(t.global,e);break;case"SET_OPERATION_ERROR_TEMPLATE":te().parse(e.input),l.setOperationErrorTemplateOperation(t.global,e);break;case"DELETE_OPERATION_ERROR":L().parse(e.input),l.deleteOperationErrorOperation(t.global,e);break;case"REORDER_OPERATION_ERRORS":U().parse(e.input),l.reorderOperationErrorsOperation(t.global,e);break;case"ADD_OPERATION_EXAMPLE":T().parse(e.input),g.addOperationExampleOperation(t.global,e);break;case"UPDATE_OPERATION_EXAMPLE":pe().parse(e.input),g.updateOperationExampleOperation(t.global,e);break;case"DELETE_OPERATION_EXAMPLE":j().parse(e.input),g.deleteOperationExampleOperation(t.global,e);break;case"REORDER_OPERATION_EXAMPLES":V().parse(e.input),g.reorderOperationExamplesOperation(t.global,e);break;case"ADD_OPERATION":R().parse(e.input),p.addOperationOperation(t.global,e);break;case"SET_OPERATION_NAME":re().parse(e.input),p.setOperationNameOperation(t.global,e);break;case"SET_OPERATION_SCOPE":fe().parse(e.input),p.setOperationScopeOperation(t.global,e);break;case"SET_OPERATION_SCHEMA":ne().parse(e.input),p.setOperationSchemaOperation(t.global,e);break;case"SET_OPERATION_DESCRIPTION":Q().parse(e.input),p.setOperationDescriptionOperation(t.global,e);break;case"SET_OPERATION_TEMPLATE":ie().parse(e.input),p.setOperationTemplateOperation(t.global,e);break;case"SET_OPERATION_REDUCER":oe().parse(e.input),p.setOperationReducerOperation(t.global,e);break;case"MOVE_OPERATION":k().parse(e.input),p.moveOperationOperation(t.global,e);break;case"DELETE_OPERATION":P().parse(e.input),p.deleteOperationOperation(t.global,e);break;case"REORDER_MODULE_OPERATIONS":w().parse(e.input),p.reorderModuleOperationsOperation(t.global,e);break;case"SET_STATE_SCHEMA":se().parse(e.input),d.setStateSchemaOperation(t.global,e);break;case"SET_INITIAL_STATE":X().parse(e.input),d.setInitialStateOperation(t.global,e);break;case"ADD_STATE_EXAMPLE":D().parse(e.input),d.addStateExampleOperation(t.global,e);break;case"UPDATE_STATE_EXAMPLE":le().parse(e.input),d.updateStateExampleOperation(t.global,e);break;case"DELETE_STATE_EXAMPLE":C().parse(e.input),d.deleteStateExampleOperation(t.global,e);break;case"REORDER_STATE_EXAMPLES":F().parse(e.input),d.reorderStateExamplesOperation(t.global,e);break;default:return t}},m=s.createReducer(It),Tt={id:"",name:"",extension:"",description:"",author:{name:"",website:""},specifications:[{version:1,changeLog:[],state:{global:{schema:"",initialValue:"",examples:[]},local:{schema:"",initialValue:"",examples:[]}},modules:[]}]},Rt={},O={fileExtension:"phdm",createState(t){return{global:{...Tt,...t==null?void 0:t.global},local:{...Rt,...t==null?void 0:t.local}}},createExtendedState(t){return s.createExtendedState({...t,documentType:"powerhouse/document-model"},O.createState)},createDocument(t){return s.createDocument(O.createExtendedState(t),O.createState)},saveToFile(t,e,r){return s.saveToFile(t,e,"phdm",r)},saveToFileHandle(t,e){return s.saveToFileHandle(t,e)},loadFromFile(t){return s.loadFromFile(t,m)},loadFromInput(t){return s.loadFromInput(t,m)}},Ae=t=>s.createAction("SET_MODEL_NAME",{...t}),Ie=t=>s.createAction("SET_MODEL_ID",{...t}),Te=t=>s.createAction("SET_MODEL_EXTENSION",{...t}),Re=t=>s.createAction("SET_MODEL_DESCRIPTION",{...t}),De=t=>s.createAction("SET_AUTHOR_NAME",{...t}),Me=t=>s.createAction("SET_AUTHOR_WEBSITE",{...t});class Dt extends s.BaseDocument{setModelName(e,r){return this.dispatch(Ae(e),r)}setModelId(e,r){return this.dispatch(Ie(e),r)}setModelExtension(e,r){return this.dispatch(Te(e),r)}setModelDescription(e,r){return this.dispatch(Re(e),r)}setAuthorName(e,r){return this.dispatch(De(e),r)}setAuthorWebsite(e,r){return this.dispatch(Me(e),r)}}const xe=t=>s.createAction("ADD_CHANGE_LOG_ITEM",{...t}),Ne=t=>s.createAction("UPDATE_CHANGE_LOG_ITEM",{...t}),Le=t=>s.createAction("DELETE_CHANGE_LOG_ITEM",{...t}),je=t=>s.createAction("REORDER_CHANGE_LOG_ITEMS",{...t}),Pe=()=>s.createAction("RELEASE_NEW_VERSION");class Mt extends s.BaseDocument{addChangeLogItem(e,r){return this.dispatch(xe(e),r)}updateChangeLogItem(e,r){return this.dispatch(Ne(e),r)}deleteChangeLogItem(e,r){return this.dispatch(Le(e),r)}reorderChangeLogItems(e,r){return this.dispatch(je(e),r)}releaseNewVersion(e){return this.dispatch(Pe(),e)}}const Ce=t=>s.createAction("ADD_MODULE",{...t}),ke=t=>s.createAction("SET_MODULE_NAME",{...t}),ye=t=>s.createAction("SET_MODULE_DESCRIPTION",{...t}),we=t=>s.createAction("DELETE_MODULE",{...t}),ve=t=>s.createAction("REORDER_MODULES",{...t});class xt extends s.BaseDocument{addModule(e,r){return this.dispatch(Ce(e),r)}setModuleName(e,r){return this.dispatch(ke(e),r)}setModuleDescription(e,r){return this.dispatch(ye(e),r)}deleteModule(e,r){return this.dispatch(we(e),r)}reorderModules(e,r){return this.dispatch(ve(e),r)}}const Ue=t=>s.createAction("ADD_OPERATION_ERROR",{...t}),Ve=t=>s.createAction("SET_OPERATION_ERROR_CODE",{...t}),Fe=t=>s.createAction("SET_OPERATION_ERROR_NAME",{...t}),He=t=>s.createAction("SET_OPERATION_ERROR_DESCRIPTION",{...t}),$e=t=>s.createAction("SET_OPERATION_ERROR_TEMPLATE",{...t}),Xe=t=>s.createAction("DELETE_OPERATION_ERROR",{...t}),Ge=t=>s.createAction("REORDER_OPERATION_ERRORS",{...t});class Nt extends s.BaseDocument{addOperationError(e,r){return this.dispatch(Ue(e),r)}setOperationErrorCode(e,r){return this.dispatch(Ve(e),r)}setOperationErrorName(e,r){return this.dispatch(Fe(e),r)}setOperationErrorDescription(e,r){return this.dispatch(He(e),r)}setOperationErrorTemplate(e,r){return this.dispatch($e(e),r)}deleteOperationError(e,r){return this.dispatch(Xe(e),r)}reorderOperationErrors(e,r){return this.dispatch(Ge(e),r)}}const Be=t=>s.createAction("ADD_OPERATION_EXAMPLE",{...t}),We=t=>s.createAction("UPDATE_OPERATION_EXAMPLE",{...t}),qe=t=>s.createAction("DELETE_OPERATION_EXAMPLE",{...t}),Je=t=>s.createAction("REORDER_OPERATION_EXAMPLES",{...t});class Lt extends s.BaseDocument{addOperationExample(e,r){return this.dispatch(Be(e),r)}updateOperationExample(e,r){return this.dispatch(We(e),r)}deleteOperationExample(e,r){return this.dispatch(qe(e),r)}reorderOperationExamples(e,r){return this.dispatch(Je(e),r)}}const Ke=t=>s.createAction("ADD_OPERATION",{...t}),Qe=t=>s.createAction("SET_OPERATION_NAME",{...t}),Ye=t=>s.createAction("SET_OPERATION_SCOPE",{...t}),Ze=t=>s.createAction("SET_OPERATION_SCHEMA",{...t}),et=t=>s.createAction("SET_OPERATION_DESCRIPTION",{...t}),tt=t=>s.createAction("SET_OPERATION_TEMPLATE",{...t}),rt=t=>s.createAction("SET_OPERATION_REDUCER",{...t}),ot=t=>s.createAction("MOVE_OPERATION",{...t}),nt=t=>s.createAction("DELETE_OPERATION",{...t}),it=t=>s.createAction("REORDER_MODULE_OPERATIONS",{...t});class jt extends s.BaseDocument{addOperation(e,r){return this.dispatch(Ke(e),r)}setOperationName(e,r){return this.dispatch(Qe(e),r)}setOperationScope(e,r){return this.dispatch(Ye(e),r)}setOperationSchema(e,r){return this.dispatch(Ze(e),r)}setOperationDescription(e,r){return this.dispatch(et(e),r)}setOperationTemplate(e,r){return this.dispatch(tt(e),r)}setOperationReducer(e,r){return this.dispatch(rt(e),r)}moveOperation(e,r){return this.dispatch(ot(e),r)}deleteOperation(e,r){return this.dispatch(nt(e),r)}reorderModuleOperations(e,r){return this.dispatch(it(e),r)}}const st=t=>s.createAction("SET_STATE_SCHEMA",{...t}),at=t=>s.createAction("SET_INITIAL_STATE",{...t}),pt=t=>s.createAction("ADD_STATE_EXAMPLE",{...t}),lt=t=>s.createAction("UPDATE_STATE_EXAMPLE",{...t}),ct=t=>s.createAction("DELETE_STATE_EXAMPLE",{...t}),dt=t=>s.createAction("REORDER_STATE_EXAMPLES",{...t});class Pt extends s.BaseDocument{setStateSchema(e,r){return this.dispatch(st(e),r)}setInitialState(e,r){return this.dispatch(at(e),r)}addStateExample(e,r){return this.dispatch(pt(e),r)}updateStateExample(e,r){return this.dispatch(lt(e),r)}deleteStateExample(e,r){return this.dispatch(ct(e),r)}reorderStateExamples(e,r){return this.dispatch(dt(e),r)}}var u;let b=(u=class extends s.BaseDocument{constructor(e,r){super(m,O.createDocument(e),r)}saveToFile(e,r){return super.saveToFile(e,u.fileExtension,r)}loadFromFile(e){return super.loadFromFile(e)}static async fromFile(e){const r=new this;return await r.loadFromFile(e),r}},me(u,"fileExtension","phdm"),u);s.applyMixins(b,[Dt,Mt,xt,Nt,Lt,jt,Pt]);const Ct=Object.freeze(Object.defineProperty({__proto__:null,addChangeLogItem:xe,addModule:Ce,addOperation:Ke,addOperationError:Ue,addOperationExample:Be,addStateExample:pt,deleteChangeLogItem:Le,deleteModule:we,deleteOperation:nt,deleteOperationError:Xe,deleteOperationExample:qe,deleteStateExample:ct,moveOperation:ot,releaseNewVersion:Pe,reorderChangeLogItems:je,reorderModuleOperations:it,reorderModules:ve,reorderOperationErrors:Ge,reorderOperationExamples:Je,reorderStateExamples:dt,setAuthorName:De,setAuthorWebsite:Me,setInitialState:at,setModelDescription:Re,setModelExtension:Te,setModelId:Ie,setModelName:Ae,setModuleDescription:ye,setModuleName:ke,setOperationDescription:et,setOperationErrorCode:Ve,setOperationErrorDescription:He,setOperationErrorName:Fe,setOperationErrorTemplate:$e,setOperationName:Qe,setOperationReducer:rt,setOperationSchema:Ze,setOperationScope:Ye,setOperationTemplate:tt,setStateSchema:st,updateChangeLogItem:Ne,updateOperationExample:We,updateStateExample:lt},Symbol.toStringTag,{value:"Module"})),ce=b,de={...O,...ht},ue={...s.BaseActions,...Ct},ut={Document:ce,reducer:m,actions:ue,utils:de,documentModel:_},kt=Object.freeze(Object.defineProperty({__proto__:null,Document:ce,DocumentModel:b,actions:ue,documentModel:_,module:ut,reducer:m,utils:de,z:ze},Symbol.toStringTag,{value:"Module"}));exports.Document=ce;exports.DocumentModel=kt;exports.DocumentModel$1=b;exports.actions=ue;exports.documentModel=_;exports.module=ut;exports.reducer=m;exports.utils=de;exports.zod=ze;
@@ -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;