document-model 1.0.5 → 1.0.7

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 (34) hide show
  1. package/dist/browser/document/object.d.ts +140 -3
  2. package/dist/browser/document/utils/base.d.ts +1 -0
  3. package/dist/browser/document-model.cjs +1 -1
  4. package/dist/browser/document-model.js +2 -2
  5. package/dist/browser/document.cjs +1 -1
  6. package/dist/browser/document.js +3 -3
  7. package/dist/browser/index.cjs +1 -1
  8. package/dist/browser/index.js +4 -4
  9. package/dist/browser/internal/{index-32683024.js → index-48f140bc.js} +1 -1
  10. package/dist/browser/internal/{index-32915b74.js → index-7d7d05c8.js} +1 -1
  11. package/dist/browser/internal/index-9922a4fc.js +31 -0
  12. package/dist/browser/internal/index-ff22a5bb.js +1 -0
  13. package/dist/browser/internal/{object-70e73c9d.js → object-98a2cff6.js} +318 -307
  14. package/dist/browser/internal/object-ceb8f869.js +6 -0
  15. package/dist/node/document/object.d.ts +140 -3
  16. package/dist/node/document/utils/base.d.ts +1 -0
  17. package/dist/node/document-model.cjs +1 -1
  18. package/dist/node/document-model.js +2 -2
  19. package/dist/node/document.cjs +1 -1
  20. package/dist/node/document.js +4 -4
  21. package/dist/node/index.cjs +1 -1
  22. package/dist/node/index.js +5 -5
  23. package/dist/node/internal/{index-027f73ec.js → index-2e487f63.js} +1 -1
  24. package/dist/node/internal/index-5b0ca13a.js +31 -0
  25. package/dist/node/internal/index-6a7277fe.js +1 -0
  26. package/dist/node/internal/{index-551f2c89.js → index-dfaca09a.js} +1 -1
  27. package/dist/node/internal/{object-2bb87214.js → object-10abe15d.js} +1 -1
  28. package/dist/node/internal/{object-8edc0f76.js → object-6f942fcb.js} +195 -184
  29. package/package.json +1 -1
  30. package/dist/browser/internal/index-66e00945.js +0 -30
  31. package/dist/browser/internal/index-8e2ab717.js +0 -1
  32. package/dist/browser/internal/object-d689b6ce.js +0 -6
  33. package/dist/node/internal/index-6317539b.js +0 -30
  34. package/dist/node/internal/index-bb0a856f.js +0 -1
@@ -0,0 +1,6 @@
1
+ "use strict";var br=Object.defineProperty;var Fr=(n,a,s)=>a in n?br(n,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[a]=s;var Q=(n,a,s)=>(Fr(n,typeof a!="symbol"?a+"":a,s),s);const _r=require("json-stringify-deterministic"),R=require("immer"),At=require("jszip"),d=require("zod"),Bt=n=>n!=null,Ar=d.z.any().refine(n=>Bt(n)),St=d.z.enum(["LOAD_STATE"]),jt=d.z.enum(["PRUNE"]),Ut=d.z.enum(["REDO"]),It=d.z.enum(["SET_NAME"]),Tt=d.z.enum(["UNDO"]);function Br(){return d.z.object({__typename:d.z.literal("Action").optional(),type:d.z.string()})}function kt(){return d.z.union([at(),ot(),pt(),st(),ct()])}function Sr(){return d.z.object({__typename:d.z.literal("DocumentFile").optional(),data:d.z.string(),extension:d.z.string().nullable(),fileName:d.z.string().nullable(),mimeType:d.z.string()})}function at(){return d.z.object({input:d.z.lazy(()=>zt()),type:St})}function zt(){return d.z.object({operations:d.z.number(),state:d.z.lazy(()=>Dt())})}function Dt(){return d.z.object({data:d.z.unknown().nullish(),name:d.z.string()})}function jr(){return d.z.object({__typename:d.z.literal("Operation").optional(),hash:d.z.string(),index:d.z.number(),timestamp:d.z.string().datetime(),type:d.z.string()})}function ot(){return d.z.object({input:d.z.lazy(()=>Ot()),type:jt})}function Ot(){return d.z.object({end:d.z.number().nullish(),start:d.z.number().nullish()})}function pt(){return d.z.object({input:d.z.number(),type:Ut})}function st(){return d.z.object({input:d.z.string(),type:It})}function Ur(){return d.z.object({__typename:d.z.literal("SetNameOperation").optional(),hash:d.z.string(),index:d.z.number(),input:d.z.string(),timestamp:d.z.string().datetime(),type:d.z.string()})}function ct(){return d.z.object({input:d.z.number(),type:Tt})}const Ir=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:Br,BaseActionSchema:kt,DocumentFileSchema:Sr,LoadStateActionInputSchema:zt,LoadStateActionSchema:at,LoadStateActionStateInputSchema:Dt,Load_StateSchema:St,OperationSchema:jr,PruneActionInputSchema:Ot,PruneActionSchema:ot,PruneSchema:jt,RedoActionSchema:pt,RedoSchema:Ut,SetNameActionSchema:st,SetNameOperationSchema:Ur,Set_NameSchema:It,UndoActionSchema:ct,UndoSchema:Tt,definedNonNullAnySchema:Ar,isDefinedNonNullAny:Bt},Symbol.toStringTag,{value:"Module"}));function Nt(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function P(){this._types=Object.create(null),this._extensions=Object.create(null);for(let n=0;n<arguments.length;n++)this.define(arguments[n]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}P.prototype.define=function(n,a){for(let s in n){let c=n[s].map(function(f){return f.toLowerCase()});s=s.toLowerCase();for(let f=0;f<c.length;f++){const m=c[f];if(m[0]!=="*"){if(!a&&m in this._types)throw new Error('Attempt to change mapping for "'+m+'" extension from "'+this._types[m]+'" to "'+s+'". Pass `force=true` to allow this, otherwise remove "'+m+'" from the list of extensions for "'+s+'".');this._types[m]=s}}if(a||!this._extensions[s]){const f=c[0];this._extensions[s]=f[0]!=="*"?f:f.substr(1)}}};P.prototype.getType=function(n){n=String(n);let a=n.replace(/^.*[/\\]/,"").toLowerCase(),s=a.replace(/^.*\./,"").toLowerCase(),c=a.length<n.length;return(s.length<a.length-1||!c)&&this._types[s]||null};P.prototype.getExtension=function(n){return n=/^\s*([^;\s]*)/.test(n)&&RegExp.$1,n&&this._extensions[n.toLowerCase()]||null};var Tr=P,kr={"application/andrew-inset":["ez"],"application/applixware":["aw"],"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/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/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"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","mjs"],"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/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":["mp4s","m4p"],"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-signature":["asc","sig"],"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/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/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/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/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/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"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"],"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/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"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/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"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/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"]};let zr=Tr;var Dr=new zr(kr);const Or=Nt(Dr);var rt={exports:{}};typeof Object.create=="function"?rt.exports=function(a,s){s&&(a.super_=s,a.prototype=Object.create(s.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}))}:rt.exports=function(a,s){if(s){a.super_=s;var c=function(){};c.prototype=s.prototype,a.prototype=new c,a.prototype.constructor=a}};var Nr=rt.exports,et={exports:{}},Mt={},W={};W.byteLength=Cr;W.toByteArray=qr;W.fromByteArray=Pr;var T=[],j=[],Mr=typeof Uint8Array<"u"?Uint8Array:Array,tt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var z=0,Rr=tt.length;z<Rr;++z)T[z]=tt[z],j[tt.charCodeAt(z)]=z;j["-".charCodeAt(0)]=62;j["_".charCodeAt(0)]=63;function Rt(n){var a=n.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var s=n.indexOf("=");s===-1&&(s=a);var c=s===a?0:4-s%4;return[s,c]}function Cr(n){var a=Rt(n),s=a[0],c=a[1];return(s+c)*3/4-c}function Lr(n,a,s){return(a+s)*3/4-s}function qr(n){var a,s=Rt(n),c=s[0],f=s[1],m=new Mr(Lr(n,c,f)),u=0,o=f>0?c-4:c,x;for(x=0;x<o;x+=4)a=j[n.charCodeAt(x)]<<18|j[n.charCodeAt(x+1)]<<12|j[n.charCodeAt(x+2)]<<6|j[n.charCodeAt(x+3)],m[u++]=a>>16&255,m[u++]=a>>8&255,m[u++]=a&255;return f===2&&(a=j[n.charCodeAt(x)]<<2|j[n.charCodeAt(x+1)]>>4,m[u++]=a&255),f===1&&(a=j[n.charCodeAt(x)]<<10|j[n.charCodeAt(x+1)]<<4|j[n.charCodeAt(x+2)]>>2,m[u++]=a>>8&255,m[u++]=a&255),m}function $r(n){return T[n>>18&63]+T[n>>12&63]+T[n>>6&63]+T[n&63]}function Jr(n,a,s){for(var c,f=[],m=a;m<s;m+=3)c=(n[m]<<16&16711680)+(n[m+1]<<8&65280)+(n[m+2]&255),f.push($r(c));return f.join("")}function Pr(n){for(var a,s=n.length,c=s%3,f=[],m=16383,u=0,o=s-c;u<o;u+=m)f.push(Jr(n,u,u+m>o?o:u+m));return c===1?(a=n[s-1],f.push(T[a>>2]+T[a<<4&63]+"==")):c===2&&(a=(n[s-2]<<8)+n[s-1],f.push(T[a>>10]+T[a>>4&63]+T[a<<2&63]+"=")),f.join("")}var lt={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */lt.read=function(n,a,s,c,f){var m,u,o=f*8-c-1,x=(1<<o)-1,w=x>>1,v=-7,F=s?f-1:0,U=s?-1:1,B=n[a+F];for(F+=U,m=B&(1<<-v)-1,B>>=-v,v+=o;v>0;m=m*256+n[a+F],F+=U,v-=8);for(u=m&(1<<-v)-1,m>>=-v,v+=c;v>0;u=u*256+n[a+F],F+=U,v-=8);if(m===0)m=1-w;else{if(m===x)return u?NaN:(B?-1:1)*(1/0);u=u+Math.pow(2,c),m=m-w}return(B?-1:1)*u*Math.pow(2,m-c)};lt.write=function(n,a,s,c,f,m){var u,o,x,w=m*8-f-1,v=(1<<w)-1,F=v>>1,U=f===23?Math.pow(2,-24)-Math.pow(2,-77):0,B=c?0:m-1,O=c?1:-1,N=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(o=isNaN(a)?1:0,u=v):(u=Math.floor(Math.log(a)/Math.LN2),a*(x=Math.pow(2,-u))<1&&(u--,x*=2),u+F>=1?a+=U/x:a+=U*Math.pow(2,1-F),a*x>=2&&(u++,x/=2),u+F>=v?(o=0,u=v):u+F>=1?(o=(a*x-1)*Math.pow(2,f),u=u+F):(o=a*Math.pow(2,F-1)*Math.pow(2,f),u=0));f>=8;n[s+B]=o&255,B+=O,o/=256,f-=8);for(u=u<<f|o,w+=f;w>0;n[s+B]=u&255,B+=O,u/=256,w-=8);n[s+B-O]|=N*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 a=W,s=lt,c=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;n.Buffer=o,n.SlowBuffer=nr,n.INSPECT_MAX_BYTES=50;var f=2147483647;n.kMaxLength=f,o.TYPED_ARRAY_SUPPORT=m(),!o.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 m(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function u(e){if(e>f)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,o.prototype),t}function o(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return F(e)}return x(e,t,r)}o.poolSize=8192;function x(e,t,r){if(typeof e=="string")return U(e,t);if(ArrayBuffer.isView(e))return O(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(I(e,ArrayBuffer)||e&&I(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(I(e,SharedArrayBuffer)||e&&I(e.buffer,SharedArrayBuffer)))return N(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(i!=null&&i!==e)return o.from(i,t,r);var p=ir(e);if(p)return p;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return o.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}o.from=function(e,t,r){return x(e,t,r)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function w(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function v(e,t,r){return w(e),e<=0?u(e):t!==void 0?typeof r=="string"?u(e).fill(t,r):u(e).fill(t):u(e)}o.alloc=function(e,t,r){return v(e,t,r)};function F(e){return w(e),u(e<0?0:X(e)|0)}o.allocUnsafe=function(e){return F(e)},o.allocUnsafeSlow=function(e){return F(e)};function U(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=mt(e,t)|0,i=u(r),p=i.write(e,t);return p!==r&&(i=i.slice(0,p)),i}function B(e){for(var t=e.length<0?0:X(e.length)|0,r=u(t),i=0;i<t;i+=1)r[i]=e[i]&255;return r}function O(e){if(I(e,Uint8Array)){var t=new Uint8Array(e);return N(t.buffer,t.byteOffset,t.byteLength)}return B(e)}function N(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var i;return t===void 0&&r===void 0?i=new Uint8Array(e):r===void 0?i=new Uint8Array(e,t):i=new Uint8Array(e,t,r),Object.setPrototypeOf(i,o.prototype),i}function ir(e){if(o.isBuffer(e)){var t=X(e.length)|0,r=u(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||V(e.length)?u(0):B(e);if(e.type==="Buffer"&&Array.isArray(e.data))return B(e.data)}function X(e){if(e>=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return e|0}function nr(e){return+e!=e&&(e=0),o.alloc(+e)}o.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==o.prototype},o.compare=function(t,r){if(I(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),I(r,Uint8Array)&&(r=o.from(r,r.offset,r.byteLength)),!o.isBuffer(t)||!o.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;for(var i=t.length,p=r.length,l=0,h=Math.min(i,p);l<h;++l)if(t[l]!==r[l]){i=t[l],p=r[l];break}return i<p?-1:p<i?1:0},o.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}},o.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return o.alloc(0);var i;if(r===void 0)for(r=0,i=0;i<t.length;++i)r+=t[i].length;var p=o.allocUnsafe(r),l=0;for(i=0;i<t.length;++i){var h=t[i];if(I(h,Uint8Array))l+h.length>p.length?o.from(h).copy(p,l):Uint8Array.prototype.set.call(p,h,l);else if(o.isBuffer(h))h.copy(p,l);else throw new TypeError('"list" argument must be an Array of Buffers');l+=h.length}return p};function mt(e,t){if(o.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||I(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&r===0)return 0;for(var p=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return G(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return bt(e).length;default:if(p)return i?-1:G(e).length;t=(""+t).toLowerCase(),p=!0}}o.byteLength=mt;function ar(e,t,r){var i=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return xr(this,t,r);case"utf8":case"utf-8":return yt(this,t,r);case"ascii":return hr(this,t,r);case"latin1":case"binary":return mr(this,t,r);case"base64":return ur(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return dr(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}o.prototype._isBuffer=!0;function k(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}o.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 r=0;r<t;r+=2)k(this,r,r+1);return this},o.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 r=0;r<t;r+=4)k(this,r,r+3),k(this,r+1,r+2);return this},o.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 r=0;r<t;r+=8)k(this,r,r+7),k(this,r+1,r+6),k(this,r+2,r+5),k(this,r+3,r+4);return this},o.prototype.toString=function(){var t=this.length;return t===0?"":arguments.length===0?yt(this,0,t):ar.apply(this,arguments)},o.prototype.toLocaleString=o.prototype.toString,o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:o.compare(this,t)===0},o.prototype.inspect=function(){var t="",r=n.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},c&&(o.prototype[c]=o.prototype.inspect),o.prototype.compare=function(t,r,i,p,l){if(I(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),i===void 0&&(i=t?t.length:0),p===void 0&&(p=0),l===void 0&&(l=this.length),r<0||i>t.length||p<0||l>this.length)throw new RangeError("out of range index");if(p>=l&&r>=i)return 0;if(p>=l)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,p>>>=0,l>>>=0,this===t)return 0;for(var h=l-p,y=i-r,g=Math.min(h,y),E=this.slice(p,l),A=t.slice(r,i),b=0;b<g;++b)if(E[b]!==A[b]){h=E[b],y=A[b];break}return h<y?-1:y<h?1:0};function xt(e,t,r,i,p){if(e.length===0)return-1;if(typeof r=="string"?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,V(r)&&(r=p?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(p)return-1;r=e.length-1}else if(r<0)if(p)r=0;else return-1;if(typeof t=="string"&&(t=o.from(t,i)),o.isBuffer(t))return t.length===0?-1:dt(e,t,r,i,p);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?p?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):dt(e,[t],r,i,p);throw new TypeError("val must be string, number or Buffer")}function dt(e,t,r,i,p){var l=1,h=e.length,y=t.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(e.length<2||t.length<2)return-1;l=2,h/=2,y/=2,r/=2}function g(Ft,_t){return l===1?Ft[_t]:Ft.readUInt16BE(_t*l)}var E;if(p){var A=-1;for(E=r;E<h;E++)if(g(e,E)===g(t,A===-1?0:E-A)){if(A===-1&&(A=E),E-A+1===y)return A*l}else A!==-1&&(E-=E-A),A=-1}else for(r+y>h&&(r=h-y),E=r;E>=0;E--){for(var b=!0,$=0;$<y;$++)if(g(e,E+$)!==g(t,$)){b=!1;break}if(b)return E}return-1}o.prototype.includes=function(t,r,i){return this.indexOf(t,r,i)!==-1},o.prototype.indexOf=function(t,r,i){return xt(this,t,r,i,!0)},o.prototype.lastIndexOf=function(t,r,i){return xt(this,t,r,i,!1)};function or(e,t,r,i){r=Number(r)||0;var p=e.length-r;i?(i=Number(i),i>p&&(i=p)):i=p;var l=t.length;i>l/2&&(i=l/2);for(var h=0;h<i;++h){var y=parseInt(t.substr(h*2,2),16);if(V(y))return h;e[r+h]=y}return h}function pr(e,t,r,i){return q(G(t,e.length-r),e,r,i)}function sr(e,t,r,i){return q(gr(t),e,r,i)}function cr(e,t,r,i){return q(bt(t),e,r,i)}function lr(e,t,r,i){return q(vr(t,e.length-r),e,r,i)}o.prototype.write=function(t,r,i,p){if(r===void 0)p="utf8",i=this.length,r=0;else if(i===void 0&&typeof r=="string")p=r,i=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(i)?(i=i>>>0,p===void 0&&(p="utf8")):(p=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var l=this.length-r;if((i===void 0||i>l)&&(i=l),t.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");p||(p="utf8");for(var h=!1;;)switch(p){case"hex":return or(this,t,r,i);case"utf8":case"utf-8":return pr(this,t,r,i);case"ascii":case"latin1":case"binary":return sr(this,t,r,i);case"base64":return cr(this,t,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return lr(this,t,r,i);default:if(h)throw new TypeError("Unknown encoding: "+p);p=(""+p).toLowerCase(),h=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ur(e,t,r){return t===0&&r===e.length?a.fromByteArray(e):a.fromByteArray(e.slice(t,r))}function yt(e,t,r){r=Math.min(e.length,r);for(var i=[],p=t;p<r;){var l=e[p],h=null,y=l>239?4:l>223?3:l>191?2:1;if(p+y<=r){var g,E,A,b;switch(y){case 1:l<128&&(h=l);break;case 2:g=e[p+1],(g&192)===128&&(b=(l&31)<<6|g&63,b>127&&(h=b));break;case 3:g=e[p+1],E=e[p+2],(g&192)===128&&(E&192)===128&&(b=(l&15)<<12|(g&63)<<6|E&63,b>2047&&(b<55296||b>57343)&&(h=b));break;case 4:g=e[p+1],E=e[p+2],A=e[p+3],(g&192)===128&&(E&192)===128&&(A&192)===128&&(b=(l&15)<<18|(g&63)<<12|(E&63)<<6|A&63,b>65535&&b<1114112&&(h=b))}}h===null?(h=65533,y=1):h>65535&&(h-=65536,i.push(h>>>10&1023|55296),h=56320|h&1023),i.push(h),p+=y}return fr(i)}var wt=4096;function fr(e){var t=e.length;if(t<=wt)return String.fromCharCode.apply(String,e);for(var r="",i=0;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=wt));return r}function hr(e,t,r){var i="";r=Math.min(e.length,r);for(var p=t;p<r;++p)i+=String.fromCharCode(e[p]&127);return i}function mr(e,t,r){var i="";r=Math.min(e.length,r);for(var p=t;p<r;++p)i+=String.fromCharCode(e[p]);return i}function xr(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var p="",l=t;l<r;++l)p+=Er[e[l]];return p}function dr(e,t,r){for(var i=e.slice(t,r),p="",l=0;l<i.length-1;l+=2)p+=String.fromCharCode(i[l]+i[l+1]*256);return p}o.prototype.slice=function(t,r){var i=this.length;t=~~t,r=r===void 0?i:~~r,t<0?(t+=i,t<0&&(t=0)):t>i&&(t=i),r<0?(r+=i,r<0&&(r=0)):r>i&&(r=i),r<t&&(r=t);var p=this.subarray(t,r);return Object.setPrototypeOf(p,o.prototype),p};function _(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(t,r,i){t=t>>>0,r=r>>>0,i||_(t,r,this.length);for(var p=this[t],l=1,h=0;++h<r&&(l*=256);)p+=this[t+h]*l;return p},o.prototype.readUintBE=o.prototype.readUIntBE=function(t,r,i){t=t>>>0,r=r>>>0,i||_(t,r,this.length);for(var p=this[t+--r],l=1;r>0&&(l*=256);)p+=this[t+--r]*l;return p},o.prototype.readUint8=o.prototype.readUInt8=function(t,r){return t=t>>>0,r||_(t,1,this.length),this[t]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||_(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||_(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||_(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||_(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,r,i){t=t>>>0,r=r>>>0,i||_(t,r,this.length);for(var p=this[t],l=1,h=0;++h<r&&(l*=256);)p+=this[t+h]*l;return l*=128,p>=l&&(p-=Math.pow(2,8*r)),p},o.prototype.readIntBE=function(t,r,i){t=t>>>0,r=r>>>0,i||_(t,r,this.length);for(var p=r,l=1,h=this[t+--p];p>0&&(l*=256);)h+=this[t+--p]*l;return l*=128,h>=l&&(h-=Math.pow(2,8*r)),h},o.prototype.readInt8=function(t,r){return t=t>>>0,r||_(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},o.prototype.readInt16LE=function(t,r){t=t>>>0,r||_(t,2,this.length);var i=this[t]|this[t+1]<<8;return i&32768?i|4294901760:i},o.prototype.readInt16BE=function(t,r){t=t>>>0,r||_(t,2,this.length);var i=this[t+1]|this[t]<<8;return i&32768?i|4294901760:i},o.prototype.readInt32LE=function(t,r){return t=t>>>0,r||_(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,r){return t=t>>>0,r||_(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,r){return t=t>>>0,r||_(t,4,this.length),s.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,r){return t=t>>>0,r||_(t,4,this.length),s.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||_(t,8,this.length),s.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||_(t,8,this.length),s.read(this,t,!1,52,8)};function S(e,t,r,i,p,l){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>p||t<l)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(t,r,i,p){if(t=+t,r=r>>>0,i=i>>>0,!p){var l=Math.pow(2,8*i)-1;S(this,t,r,i,l,0)}var h=1,y=0;for(this[r]=t&255;++y<i&&(h*=256);)this[r+y]=t/h&255;return r+i},o.prototype.writeUintBE=o.prototype.writeUIntBE=function(t,r,i,p){if(t=+t,r=r>>>0,i=i>>>0,!p){var l=Math.pow(2,8*i)-1;S(this,t,r,i,l,0)}var h=i-1,y=1;for(this[r+h]=t&255;--h>=0&&(y*=256);)this[r+h]=t/y&255;return r+i},o.prototype.writeUint8=o.prototype.writeUInt8=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,1,255,0),this[r]=t&255,r+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4},o.prototype.writeIntLE=function(t,r,i,p){if(t=+t,r=r>>>0,!p){var l=Math.pow(2,8*i-1);S(this,t,r,i,l-1,-l)}var h=0,y=1,g=0;for(this[r]=t&255;++h<i&&(y*=256);)t<0&&g===0&&this[r+h-1]!==0&&(g=1),this[r+h]=(t/y>>0)-g&255;return r+i},o.prototype.writeIntBE=function(t,r,i,p){if(t=+t,r=r>>>0,!p){var l=Math.pow(2,8*i-1);S(this,t,r,i,l-1,-l)}var h=i-1,y=1,g=0;for(this[r+h]=t&255;--h>=0&&(y*=256);)t<0&&g===0&&this[r+h+1]!==0&&(g=1),this[r+h]=(t/y>>0)-g&255;return r+i},o.prototype.writeInt8=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1},o.prototype.writeInt16LE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeInt16BE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeInt32LE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4},o.prototype.writeInt32BE=function(t,r,i){return t=+t,r=r>>>0,i||S(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function gt(e,t,r,i,p,l){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function vt(e,t,r,i,p){return t=+t,r=r>>>0,p||gt(e,t,r,4),s.write(e,t,r,i,23,4),r+4}o.prototype.writeFloatLE=function(t,r,i){return vt(this,t,r,!0,i)},o.prototype.writeFloatBE=function(t,r,i){return vt(this,t,r,!1,i)};function Et(e,t,r,i,p){return t=+t,r=r>>>0,p||gt(e,t,r,8),s.write(e,t,r,i,52,8),r+8}o.prototype.writeDoubleLE=function(t,r,i){return Et(this,t,r,!0,i)},o.prototype.writeDoubleBE=function(t,r,i){return Et(this,t,r,!1,i)},o.prototype.copy=function(t,r,i,p){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),!p&&p!==0&&(p=this.length),r>=t.length&&(r=t.length),r||(r=0),p>0&&p<i&&(p=i),p===i||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(p<0)throw new RangeError("sourceEnd out of bounds");p>this.length&&(p=this.length),t.length-r<p-i&&(p=t.length-r+i);var l=p-i;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,i,p):Uint8Array.prototype.set.call(t,this.subarray(i,p),r),l},o.prototype.fill=function(t,r,i,p){if(typeof t=="string"){if(typeof r=="string"?(p=r,r=0,i=this.length):typeof i=="string"&&(p=i,i=this.length),p!==void 0&&typeof p!="string")throw new TypeError("encoding must be a string");if(typeof p=="string"&&!o.isEncoding(p))throw new TypeError("Unknown encoding: "+p);if(t.length===1){var l=t.charCodeAt(0);(p==="utf8"&&l<128||p==="latin1")&&(t=l)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(r<0||this.length<r||this.length<i)throw new RangeError("Out of range index");if(i<=r)return this;r=r>>>0,i=i===void 0?this.length:i>>>0,t||(t=0);var h;if(typeof t=="number")for(h=r;h<i;++h)this[h]=t;else{var y=o.isBuffer(t)?t:o.from(t,p),g=y.length;if(g===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(h=0;h<i-r;++h)this[h+r]=y[h%g]}return this};var yr=/[^+/0-9A-Za-z-_]/g;function wr(e){if(e=e.split("=")[0],e=e.trim().replace(yr,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function G(e,t){t=t||1/0;for(var r,i=e.length,p=null,l=[],h=0;h<i;++h){if(r=e.charCodeAt(h),r>55295&&r<57344){if(!p){if(r>56319){(t-=3)>-1&&l.push(239,191,189);continue}else if(h+1===i){(t-=3)>-1&&l.push(239,191,189);continue}p=r;continue}if(r<56320){(t-=3)>-1&&l.push(239,191,189),p=r;continue}r=(p-55296<<10|r-56320)+65536}else p&&(t-=3)>-1&&l.push(239,191,189);if(p=null,r<128){if((t-=1)<0)break;l.push(r)}else if(r<2048){if((t-=2)<0)break;l.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;l.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;l.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return l}function gr(e){for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function vr(e,t){for(var r,i,p,l=[],h=0;h<e.length&&!((t-=2)<0);++h)r=e.charCodeAt(h),i=r>>8,p=r%256,l.push(p),l.push(i);return l}function bt(e){return a.toByteArray(wr(e))}function q(e,t,r,i){for(var p=0;p<i&&!(p+r>=t.length||p>=e.length);++p)t[p+r]=e[p];return p}function I(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function V(e){return e!==e}var Er=function(){for(var e="0123456789abcdef",t=new Array(256),r=0;r<16;++r)for(var i=r*16,p=0;p<16;++p)t[i+p]=e[r]+e[p];return t}()})(Mt);/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(n,a){var s=Mt,c=s.Buffer;function f(u,o){for(var x in u)o[x]=u[x]}c.from&&c.alloc&&c.allocUnsafe&&c.allocUnsafeSlow?n.exports=s:(f(s,a),a.Buffer=m);function m(u,o,x){return c(u,o,x)}m.prototype=Object.create(c.prototype),f(c,m),m.from=function(u,o,x){if(typeof u=="number")throw new TypeError("Argument must not be a number");return c(u,o,x)},m.alloc=function(u,o,x){if(typeof u!="number")throw new TypeError("Argument must be a number");var w=c(u);return o!==void 0?typeof x=="string"?w.fill(o,x):w.fill(o):w.fill(0),w},m.allocUnsafe=function(u){if(typeof u!="number")throw new TypeError("Argument must be a number");return c(u)},m.allocUnsafeSlow=function(u){if(typeof u!="number")throw new TypeError("Argument must be a number");return s.SlowBuffer(u)}})(et,et.exports);var Ct=et.exports,Lt=Ct.Buffer;function H(n,a){this._block=Lt.alloc(n),this._finalSize=a,this._blockSize=n,this._len=0}H.prototype.update=function(n,a){typeof n=="string"&&(a=a||"utf8",n=Lt.from(n,a));for(var s=this._block,c=this._blockSize,f=n.length,m=this._len,u=0;u<f;){for(var o=m%c,x=Math.min(f-u,c-o),w=0;w<x;w++)s[o+w]=n[u+w];m+=x,u+=x,m%c===0&&this._update(s)}return this._len+=f,this};H.prototype.digest=function(n){var a=this._len%this._blockSize;this._block[a]=128,this._block.fill(0,a+1),a>=this._finalSize&&(this._update(this._block),this._block.fill(0));var s=this._len*8;if(s<=4294967295)this._block.writeUInt32BE(s,this._blockSize-4);else{var c=(s&4294967295)>>>0,f=(s-c)/4294967296;this._block.writeUInt32BE(f,this._blockSize-8),this._block.writeUInt32BE(c,this._blockSize-4)}this._update(this._block);var m=this._hash();return n?m.toString(n):m};H.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Wr=H,Hr=Nr,qt=Wr,Zr=Ct.Buffer,Kr=[1518500249,1859775393,-1894007588,-899497514],Yr=new Array(80);function L(){this.init(),this._w=Yr,qt.call(this,64,56)}Hr(L,qt);L.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Xr(n){return n<<1|n>>>31}function Gr(n){return n<<5|n>>>27}function Vr(n){return n<<30|n>>>2}function Qr(n,a,s,c){return n===0?a&s|~a&c:n===2?a&s|a&c|s&c:a^s^c}L.prototype._update=function(n){for(var a=this._w,s=this._a|0,c=this._b|0,f=this._c|0,m=this._d|0,u=this._e|0,o=0;o<16;++o)a[o]=n.readInt32BE(o*4);for(;o<80;++o)a[o]=Xr(a[o-3]^a[o-8]^a[o-14]^a[o-16]);for(var x=0;x<80;++x){var w=~~(x/20),v=Gr(s)+Qr(w,c,f,m)+u+a[x]+Kr[w]|0;u=m,m=f,f=Vr(c),c=s,s=v}this._a=s+this._a|0,this._b=c+this._b|0,this._c=f+this._c|0,this._d=m+this._d|0,this._e=u+this._e|0};L.prototype._hash=function(){var n=Zr.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 te=L;const re=Nt(te),ut=new Error("File system not available.");function ee(n,a,s){throw ut}function $t(n){throw ut}function ie(n){throw ut}const ne=async n=>$t();function ae(n){let a="";for(let s=0;s<n.length;s+=2)a+=String.fromCharCode(parseInt(n.substr(s,2),16));return btoa(a)}const Z=(n,a="sha1")=>{if(a!=="sha1")throw new Error("Only sha1 algorithm is available.");const s=new re;return ae(s.update(n).digest("hex"))},ft=async n=>{const a=new At,{name:s,revision:c,documentType:f,created:m,lastModified:u}=n,o={name:s,revision:c,documentType:f,created:m,lastModified:u};return a.file("header.json",JSON.stringify(o,null,2)),a.file("state.json",JSON.stringify(n.initialState||{},null,2)),a.file("operations.json",JSON.stringify(n.operations,null,2)),Object.keys(n.attachments).forEach(w=>{const{data:v,...F}=n.attachments[w];a.file(w,v,{base64:!0,createFolders:!0,comment:JSON.stringify(F)})}),a},Jt=async(n,a,s,c)=>{await(await ft(n)).generateAsync({type:"uint8array",streamFiles:!0});const m=c??n.name,u=`.${s}.zip`;return ee(a,m.endsWith(u)?m:`${m}${u}`)},oe=async(n,a)=>{const c=await(await ft(n)).generateAsync({type:"blob"}),f=await a.createWritable();await f.write(c),await f.close()},it=async(n,a)=>{const s=$t();return Pt(s,a)},Pt=async(n,a)=>{const s=new At;return await s.loadAsync(n),pe(s,a)};async function pe(n,a){const s=n.file("state.json");if(!s)throw new Error("Initial state not found");const c=await s.async("string"),f=JSON.parse(c),m=n.file("header.json");let u=null;m&&(u=JSON.parse(await m.async("string")));const o=n.file("operations.json");if(!o)throw new Error("Operations history not found");const x=JSON.parse(await o.async("string")),w={...f,...u,initialState:f,operations:[],attachments:{...f.attachments}};let v=x.slice(0,u==null?void 0:u.revision).reduce((F,U)=>a(F,U),w);return u&&(v={...v,...u,operations:[...v.operations,...x.slice(u.revision)]}),v}function Wt(n){const a=n.replace(/^.*\./,"")||void 0,s=n.replace(/^.*[/\\]/,"")||void 0;return{extension:a,fileName:s}}async function se(n){const{buffer:a,mimeType:s="application/octet-stream"}=await ie(),c=Wt(n),f=a.toString("base64");return{data:f,hash:Z(f),mimeType:s,...c}}async function ce(n){const a=await ne(),s=Or.getType(n)||"application/octet-stream",c=Wt(n),f=a.toString("base64");return{data:f,hash:Z(f),mimeType:s,...c}}function J(n,a,s){const c=Gt(n),f=Yt(s);return a.reduce((m,u)=>f(m,u),c)}function le(n,a){return{...n,name:a}}function ue(n,a,s){const c=Math.min(a,n.revision),f=n.operations.slice(0,n.revision-c);return{...J(n.initialState,f,s),operations:n.operations,revision:n.revision-c}}function fe(n,a,s){const c=n.operations.length-n.revision;if(!c)throw new Error("There is no UNDO operation to REDO");const f=a<c?a:c,m=n.operations.slice(0,n.revision+f);return{...J(n.initialState,m,s),operations:n.operations,revision:n.revision+f}}function he(n,a,s,c){a=a||0,s=s||n.operations.length;const f=n.operations.slice(a,s),m=n.operations.slice(0,a),u=n.operations.slice(s),o=J(n.initialState,m.concat(f),c),{name:x,state:w}=o;return J(n.initialState,[...m,ht({name:x,state:w},f.length),...u],c)}function me(n,a){return{...n,name:a.name,state:a.state??{}}}const Ht="SET_NAME",K="UNDO",Y="REDO",C="PRUNE",Zt="LOAD_STATE";function xe(n,a){return[K,Y,C].includes(a.type)?n.revision:n.revision+1}function de(n,a){return{...n,revision:xe(n,a),lastModified:new Date().toISOString()}}function ye(n,a){if([K,Y,C,C].includes(a.type))return n;const s=n.operations.slice(0,n.revision);return{...n,operations:[...s,{...a,index:s.length,timestamp:new Date().toISOString(),hash:""}]}}function we(n,a){let s=ye(n,a);return s=de(s,a),s}function ge(n,a,s){switch(kt().parse(a),a.type){case Ht:return le(n,a.input);case K:return ue(n,a.input,s);case Y:return fe(n,a.input,s);case C:return he(n,a.input.start,a.input.end,s);case Zt:return me(n,a.input.state);default:return n}}function Kt(n,a,s){let c=n;return nt(a)&&(c=ge(c,a,s)),c=we(c,a),c=R.produce(c,f=>{const m=s(f.state,a);if(m)return R.castDraft({...c,state:m})}),R.produce(c,f=>{f.operations[f.operations.length-1].hash=Vt(f),!nt(a)&&a.attachments&&a.attachments.forEach(m=>{const{hash:u,...o}=m;f.attachments[u]={...o}})})}function nt(n){return[Ht,K,Y,C,Zt].includes(n.type)}function D(n,a,s,c){if(!n)throw new Error("Empty action type");if(typeof n!="string")throw new Error(`Invalid action type: ${n}`);const f=s?{type:n,input:a,attachments:s}:{type:n,input:a};return c==null||c().parse(f),f}function Yt(n,a=Kt){return(s,c)=>a(s,c,n)}const Xt=(n,a)=>({name:"",documentType:"",revision:0,created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...n,state:(a==null?void 0:a(n==null?void 0:n.state))??(n==null?void 0:n.state)??{}}),Gt=(n,a)=>{const s=Xt(n,a);return{...s,initialState:s,operations:[]}},Vt=n=>Z(_r(n.state)),ve=(n,a=1e3)=>{const s=Math.random()*a;return Z(`${(n??new Date).toISOString()}${s}`)};function M(n){return R.castImmutable(R.freeze(n,!0))}const Qt=n=>D("SET_NAME",n,void 0,st),tr=(n=1)=>D("UNDO",n,void 0,ct),rr=(n=1)=>D("REDO",n,void 0,pt),er=(n,a)=>D("PRUNE",{start:n,end:a},void 0,ot),ht=(n,a)=>D("LOAD_STATE",{state:n,operations:a},void 0,at),Ee=Object.freeze(Object.defineProperty({__proto__:null,loadState:ht,prune:er,redo:rr,setName:Qt,undo:tr},Symbol.toStringTag,{value:"Module"}));class be{constructor(a,s){Q(this,"_document");Q(this,"_reducer");this._reducer=a,this._document=s}dispatch(a){return this._document=this._reducer(this._document,a),this}saveToFile(a,s,c){return Jt(this._document,a,s,c)}async loadFromFile(a){this._document=await it(a,this._reducer)}static async stateFromFile(a,s){return await it(a,s)}get state(){return M(this._document.state)}get operations(){return M(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}get initialState(){return M(this._document.initialState)}toDocument(){return M(this._document)}getAttachment(a){return this._document.attachments[a]}setName(a){return this.dispatch(Qt(a)),this}undo(a){return this.dispatch(tr(a)),this}redo(a){return this.dispatch(rr(a)),this}prune(a,s){return this.dispatch(er(a,s)),this}loadState(a,s){return this.dispatch(ht(a,s)),this}}function Fe(n,a){a.forEach(s=>{Object.getOwnPropertyNames(s.prototype).forEach(c=>{Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(s.prototype,c)||Object.create(null))})})}exports.BaseActions=Ee;exports.BaseDocument=be;exports.applyMixins=Fe;exports.baseReducer=Kt;exports.createAction=D;exports.createDocument=Gt;exports.createExtendedState=Xt;exports.createReducer=Yt;exports.createZip=ft;exports.getLocalFile=ce;exports.getRemoteFile=se;exports.hashDocument=Vt;exports.hashKey=ve;exports.isBaseAction=nt;exports.loadFromFile=it;exports.loadFromInput=Pt;exports.readOnly=M;exports.saveToFile=Jt;exports.saveToFileHandle=oe;exports.zod=Ir;
@@ -43,11 +43,54 @@ export declare abstract class BaseDocument<T, A extends Action> {
43
43
  /**
44
44
  * Gets the current state of the document.
45
45
  */
46
- get state(): T;
46
+ get state(): import("immer").Immutable<T>;
47
47
  /**
48
48
  * Gets the list of operations performed on the document.
49
49
  */
50
- get operations(): import("./types").Operation<BaseAction | A>[];
50
+ get operations(): readonly ({
51
+ readonly input: {
52
+ readonly operations: number;
53
+ readonly state: {
54
+ readonly data?: unknown;
55
+ readonly name: string;
56
+ };
57
+ };
58
+ readonly type: "LOAD_STATE";
59
+ readonly index: number;
60
+ readonly timestamp: string;
61
+ readonly hash: string;
62
+ } | {
63
+ readonly input: {
64
+ readonly end?: import("./types").InputMaybe<number>;
65
+ readonly start?: import("./types").InputMaybe<number>;
66
+ };
67
+ readonly type: "PRUNE";
68
+ readonly index: number;
69
+ readonly timestamp: string;
70
+ readonly hash: string;
71
+ } | {
72
+ readonly input: number;
73
+ readonly type: "REDO";
74
+ readonly index: number;
75
+ readonly timestamp: string;
76
+ readonly hash: string;
77
+ } | {
78
+ readonly input: string;
79
+ readonly type: "SET_NAME";
80
+ readonly index: number;
81
+ readonly timestamp: string;
82
+ readonly hash: string;
83
+ } | {
84
+ readonly input: number;
85
+ readonly type: "UNDO";
86
+ readonly index: number;
87
+ readonly timestamp: string;
88
+ readonly hash: string;
89
+ } | import("immer").Immutable<A & {
90
+ index: number;
91
+ timestamp: string;
92
+ hash: string;
93
+ }>)[];
51
94
  /**
52
95
  * Gets the name of the document.
53
96
  */
@@ -71,7 +114,101 @@ export declare abstract class BaseDocument<T, A extends Action> {
71
114
  /**
72
115
  * Gets the initial state of the document.
73
116
  */
74
- get initialState(): ExtendedState<T>;
117
+ get initialState(): {
118
+ readonly name: string;
119
+ readonly revision: number;
120
+ readonly documentType: string;
121
+ readonly created: string;
122
+ readonly lastModified: string;
123
+ readonly state: import("immer").Immutable<T>;
124
+ readonly attachments: {
125
+ readonly [x: string]: {
126
+ readonly data: string;
127
+ readonly mimeType: string;
128
+ readonly extension?: string | null | undefined;
129
+ readonly fileName?: string | null | undefined;
130
+ };
131
+ };
132
+ };
133
+ /**
134
+ * Returns the current document as an object
135
+ */
136
+ toDocument(): {
137
+ readonly name: string;
138
+ readonly revision: number;
139
+ readonly documentType: string;
140
+ readonly created: string;
141
+ readonly lastModified: string;
142
+ readonly state: import("immer").Immutable<T>;
143
+ readonly attachments: {
144
+ readonly [x: string]: {
145
+ readonly data: string;
146
+ readonly mimeType: string;
147
+ readonly extension?: string | null | undefined;
148
+ readonly fileName?: string | null | undefined;
149
+ };
150
+ };
151
+ readonly operations: readonly ({
152
+ readonly input: {
153
+ readonly operations: number;
154
+ readonly state: {
155
+ readonly data?: unknown;
156
+ readonly name: string;
157
+ };
158
+ };
159
+ readonly type: "LOAD_STATE";
160
+ readonly index: number;
161
+ readonly timestamp: string;
162
+ readonly hash: string;
163
+ } | {
164
+ readonly input: {
165
+ readonly end?: import("./types").InputMaybe<number>;
166
+ readonly start?: import("./types").InputMaybe<number>;
167
+ };
168
+ readonly type: "PRUNE";
169
+ readonly index: number;
170
+ readonly timestamp: string;
171
+ readonly hash: string;
172
+ } | {
173
+ readonly input: number;
174
+ readonly type: "REDO";
175
+ readonly index: number;
176
+ readonly timestamp: string;
177
+ readonly hash: string;
178
+ } | {
179
+ readonly input: string;
180
+ readonly type: "SET_NAME";
181
+ readonly index: number;
182
+ readonly timestamp: string;
183
+ readonly hash: string;
184
+ } | {
185
+ readonly input: number;
186
+ readonly type: "UNDO";
187
+ readonly index: number;
188
+ readonly timestamp: string;
189
+ readonly hash: string;
190
+ } | import("immer").Immutable<A & {
191
+ index: number;
192
+ timestamp: string;
193
+ hash: string;
194
+ }>)[];
195
+ readonly initialState: {
196
+ readonly name: string;
197
+ readonly revision: number;
198
+ readonly documentType: string;
199
+ readonly created: string;
200
+ readonly lastModified: string;
201
+ readonly state: import("immer").Immutable<T>;
202
+ readonly attachments: {
203
+ readonly [x: string]: {
204
+ readonly data: string;
205
+ readonly mimeType: string;
206
+ readonly extension?: string | null | undefined;
207
+ readonly fileName?: string | null | undefined;
208
+ };
209
+ };
210
+ };
211
+ };
75
212
  /**
76
213
  * Gets the attachment associated with the given key.
77
214
  * @param attachment - The key of the attachment to retrieve.
@@ -54,3 +54,4 @@ export declare const createExtendedState: <S>(initialState?: Partial<ExtendedSta
54
54
  export declare const createDocument: <S, A extends Action>(initialState?: Partial<ExtendedState<Partial<S>>> | undefined, createState?: ((state?: Partial<S> | undefined) => S) | undefined) => Document<S, A>;
55
55
  export declare const hashDocument: (document: Document) => string;
56
56
  export declare const hashKey: (date?: Date, randomLimit?: number) => string;
57
+ export declare function readOnly<T>(value: T): import("immer").Immutable<T>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./internal/object-2bb87214.js");require("json-stringify-deterministic");require("immer");require("crypto");require("fs");require("https");require("path");require("jszip");const e=require("./internal/index-027f73ec.js");require("zod");exports.Document=e.Document;exports.DocumentModel=e.DocumentModel$1;exports.actions=e.actions;exports.documentModel=e.documentModel;exports.module=e.module;exports.reducer=e.reducer;exports.utils=e.utils;exports.z=e.zod;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./internal/object-10abe15d.js");require("json-stringify-deterministic");require("immer");require("crypto");require("fs");require("https");require("path");require("jszip");const e=require("./internal/index-2e487f63.js");require("zod");exports.Document=e.Document;exports.DocumentModel=e.DocumentModel$1;exports.actions=e.actions;exports.documentModel=e.documentModel;exports.module=e.module;exports.reducer=e.reducer;exports.utils=e.utils;exports.z=e.zod;
@@ -1,4 +1,4 @@
1
- import "./internal/object-8edc0f76.js";
1
+ import "./internal/object-6f942fcb.js";
2
2
  import "json-stringify-deterministic";
3
3
  import "immer";
4
4
  import "crypto";
@@ -6,7 +6,7 @@ import "fs";
6
6
  import "https";
7
7
  import "path";
8
8
  import "jszip";
9
- import { b as d, a as l, c as n, d as D, m as M, r as b, u as f, z as x } from "./internal/index-551f2c89.js";
9
+ import { b as d, a as l, c as n, d as D, m as M, r as b, u as f, z as x } from "./internal/index-dfaca09a.js";
10
10
  import "zod";
11
11
  export {
12
12
  d as Document,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./internal/object-2bb87214.js"),r=require("./internal/index-bb0a856f.js");require("json-stringify-deterministic");require("immer");require("zod");require("crypto");require("fs");require("https");require("path");require("jszip");exports.BaseDocument=e.BaseDocument;exports.actions=e.BaseActions;exports.applyMixins=e.applyMixins;exports.baseReducer=e.baseReducer;exports.z=e.zod;exports.utils=r.index;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./internal/object-10abe15d.js"),r=require("./internal/index-6a7277fe.js");require("json-stringify-deterministic");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");require("zod");exports.BaseDocument=e.BaseDocument;exports.actions=e.BaseActions;exports.applyMixins=e.applyMixins;exports.baseReducer=e.baseReducer;exports.z=e.zod;exports.utils=r.index;
@@ -1,13 +1,13 @@
1
- import { B as n, h as u, g as x, p as f, z as l } from "./internal/object-8edc0f76.js";
2
- import { i as b } from "./internal/index-6317539b.js";
1
+ import { B as n, h as u, g as x, p as f, z as l } from "./internal/object-6f942fcb.js";
2
+ import { i as b } from "./internal/index-5b0ca13a.js";
3
3
  import "json-stringify-deterministic";
4
4
  import "immer";
5
- import "zod";
5
+ import "jszip";
6
6
  import "crypto";
7
7
  import "fs";
8
8
  import "https";
9
9
  import "path";
10
- import "jszip";
10
+ import "zod";
11
11
  export {
12
12
  n as BaseDocument,
13
13
  u as actions,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./internal/index-bb0a856f.js"),o=require("./internal/index-027f73ec.js");require("./internal/object-2bb87214.js");require("json-stringify-deterministic");require("immer");require("zod");require("crypto");require("fs");require("https");require("path");require("jszip");const u={"powerhouse/document":e.Document,"powerhouse/document-model":o.DocumentModel},r={Document:e.Document,DocumentModel:o.DocumentModel};exports.Document=e.Document;exports.DocumentModel=o.DocumentModel;exports.DocumentModels=u;exports.default=r;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./internal/index-6a7277fe.js"),o=require("./internal/index-2e487f63.js");require("./internal/object-10abe15d.js");require("json-stringify-deterministic");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");require("zod");const u={"powerhouse/document":e.Document,"powerhouse/document-model":o.DocumentModel},r={Document:e.Document,DocumentModel:o.DocumentModel};exports.Document=e.Document;exports.DocumentModel=o.DocumentModel;exports.DocumentModels=u;exports.default=r;
@@ -1,14 +1,14 @@
1
- import { D as o } from "./internal/index-6317539b.js";
2
- import { D as t } from "./internal/index-551f2c89.js";
3
- import "./internal/object-8edc0f76.js";
1
+ import { D as o } from "./internal/index-5b0ca13a.js";
2
+ import { D as t } from "./internal/index-dfaca09a.js";
3
+ import "./internal/object-6f942fcb.js";
4
4
  import "json-stringify-deterministic";
5
5
  import "immer";
6
- import "zod";
6
+ import "jszip";
7
7
  import "crypto";
8
8
  import "fs";
9
9
  import "https";
10
10
  import "path";
11
- import "jszip";
11
+ import "zod";
12
12
  const a = {
13
13
  "powerhouse/document": o,
14
14
  "powerhouse/document-model": t
@@ -1,4 +1,4 @@
1
- "use strict";var ct=Object.defineProperty;var lt=(t,e,o)=>e in t?ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var de=(t,e,o)=>(lt(t,typeof e!="symbol"?e+"":e,o),o);const s=require("./object-2bb87214.js");require("json-stringify-deterministic");require("immer");require("crypto");require("fs");require("https");require("path");require("jszip");const r=require("zod"),dt=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:[]},{name:"SetModelId",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModelExtension",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModelDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetAuthorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetAuthorWebsite",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"versioning",operations:[{name:"AddChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"UpdateChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderChangeLogItems",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReleaseNewVersion",schema:null,id:"",description:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"module",operations:[{name:"AddModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModuleName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModuleDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderModules",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"operation-error",operations:[{name:"AddOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorCode",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderOperationErrors",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"operation-example",operations:[{name:"AddOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"UpdateOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderOperationExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"operation",operations:[{name:"AddOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationReducer",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"MoveOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderModuleOperations",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"state",operations:[{name:"SetStateSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetInitialState",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"AddStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"UpdateStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderStateExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""}],state:{schema:"",initialValue:`{
1
+ "use strict";var ct=Object.defineProperty;var lt=(t,e,o)=>e in t?ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var de=(t,e,o)=>(lt(t,typeof e!="symbol"?e+"":e,o),o);const s=require("./object-10abe15d.js");require("json-stringify-deterministic");require("immer");require("crypto");require("fs");require("https");require("path");require("jszip");const r=require("zod"),dt=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:[]},{name:"SetModelId",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModelExtension",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModelDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetAuthorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetAuthorWebsite",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"versioning",operations:[{name:"AddChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"UpdateChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderChangeLogItems",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReleaseNewVersion",schema:null,id:"",description:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"module",operations:[{name:"AddModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModuleName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetModuleDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderModules",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"operation-error",operations:[{name:"AddOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorCode",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationErrorTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderOperationErrors",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"operation-example",operations:[{name:"AddOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"UpdateOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderOperationExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"operation",operations:[{name:"AddOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetOperationReducer",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"MoveOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderModuleOperations",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""},{name:"state",operations:[{name:"SetStateSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"SetInitialState",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"AddStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"UpdateStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"DeleteStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]},{name:"ReorderStateExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[]}],id:"",description:""}],state:{schema:"",initialValue:`{
2
2
  "id": "",
3
3
  "name": "",
4
4
  "extension": "",
@@ -0,0 +1,31 @@
1
+ import { f as e, b as a, a as s, c as t, j as o, k as r, m as c, n as l, o as n, i, l as d, e as u, r as m, s as p, d as b, B as _, h as g, g as y, p as F, z as f } from "./object-6f942fcb.js";
2
+ const h = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3
+ __proto__: null,
4
+ createAction: e,
5
+ createDocument: a,
6
+ createExtendedState: s,
7
+ createReducer: t,
8
+ createZip: o,
9
+ getLocalFile: r,
10
+ getRemoteFile: c,
11
+ hashDocument: l,
12
+ hashKey: n,
13
+ isBaseAction: i,
14
+ loadFromFile: d,
15
+ loadFromInput: u,
16
+ readOnly: m,
17
+ saveToFile: p,
18
+ saveToFileHandle: b
19
+ }, Symbol.toStringTag, { value: "Module" })), z = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20
+ __proto__: null,
21
+ BaseDocument: _,
22
+ actions: g,
23
+ applyMixins: y,
24
+ baseReducer: F,
25
+ utils: h,
26
+ z: f
27
+ }, Symbol.toStringTag, { value: "Module" }));
28
+ export {
29
+ z as D,
30
+ h as i
31
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("./object-10abe15d.js"),t=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,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,readOnly:e.readOnly,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle},Symbol.toStringTag,{value:"Module"})),o=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,utils:t,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=o;exports.index=t;
@@ -1,7 +1,7 @@
1
1
  var pt = Object.defineProperty;
2
2
  var lt = (t, e, i) => e in t ? pt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i;
3
3
  var pe = (t, e, i) => (lt(t, typeof e != "symbol" ? e + "" : e, i), i);
4
- import { c as dt, i as ct, a as ut, b as mt, s as Et, d as ht, l as Ot, e as St, f as s, B as l, g as gt, h as ft } from "./object-8edc0f76.js";
4
+ import { c as dt, i as ct, a as ut, b as mt, s as Et, d as ht, l as Ot, e as St, f as s, B as l, g as gt, h as ft } from "./object-6f942fcb.js";
5
5
  import "json-stringify-deterministic";
6
6
  import "immer";
7
7
  import "crypto";
@@ -1 +1 @@
1
- "use strict";var ot=Object.defineProperty;var st=(t,e,i)=>e in t?ot(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var b=(t,e,i)=>(st(t,typeof e!="symbol"?e+"":e,i),i);const pt=require("json-stringify-deterministic"),j=require("immer"),o=require("zod"),ct=require("crypto"),w=require("fs"),lt=require("https"),rt=require("path"),T=require("jszip"),F=t=>t!=null,mt=o.z.any().refine(t=>F(t)),q=o.z.enum(["LOAD_STATE"]),P=o.z.enum(["PRUNE"]),M=o.z.enum(["REDO"]),R=o.z.enum(["SET_NAME"]),L=o.z.enum(["UNDO"]);function ut(){return o.z.object({__typename:o.z.literal("Action").optional(),type:o.z.string()})}function I(){return o.z.union([_(),O(),k(),D(),E()])}function dt(){return o.z.object({__typename:o.z.literal("DocumentFile").optional(),data:o.z.string(),extension:o.z.string().nullable(),fileName:o.z.string().nullable(),mimeType:o.z.string()})}function _(){return o.z.object({input:o.z.lazy(()=>U()),type:q})}function U(){return o.z.object({operations:o.z.number(),state:o.z.lazy(()=>J())})}function J(){return o.z.object({data:o.z.unknown().nullish(),name:o.z.string()})}function xt(){return o.z.object({__typename:o.z.literal("Operation").optional(),hash:o.z.string(),index:o.z.number(),timestamp:o.z.string().datetime(),type:o.z.string()})}function O(){return o.z.object({input:o.z.lazy(()=>B()),type:P})}function B(){return o.z.object({end:o.z.number().nullish(),start:o.z.number().nullish()})}function k(){return o.z.object({input:o.z.number(),type:M})}function D(){return o.z.object({input:o.z.string(),type:R})}function ft(){return o.z.object({__typename:o.z.literal("SetNameOperation").optional(),hash:o.z.string(),index:o.z.number(),input:o.z.string(),timestamp:o.z.string().datetime(),type:o.z.string()})}function E(){return o.z.object({input:o.z.number(),type:L})}const gt=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:ut,BaseActionSchema:I,DocumentFileSchema:dt,LoadStateActionInputSchema:U,LoadStateActionSchema:_,LoadStateActionStateInputSchema:J,Load_StateSchema:q,OperationSchema:xt,PruneActionInputSchema:B,PruneActionSchema:O,PruneSchema:P,RedoActionSchema:k,RedoSchema:M,SetNameActionSchema:D,SetNameOperationSchema:ft,Set_NameSchema:R,UndoActionSchema:E,UndoSchema:L,definedNonNullAnySchema:mt,isDefinedNonNullAny:F},Symbol.toStringTag,{value:"Module"}));function ht(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function f(){this._types=Object.create(null),this._extensions=Object.create(null);for(let t=0;t<arguments.length;t++)this.define(arguments[t]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}f.prototype.define=function(t,e){for(let i in t){let a=t[i].map(function(n){return n.toLowerCase()});i=i.toLowerCase();for(let n=0;n<a.length;n++){const s=a[n];if(s[0]!=="*"){if(!e&&s in this._types)throw new Error('Attempt to change mapping for "'+s+'" extension from "'+this._types[s]+'" to "'+i+'". Pass `force=true` to allow this, otherwise remove "'+s+'" from the list of extensions for "'+i+'".');this._types[s]=i}}if(e||!this._extensions[i]){const n=a[0];this._extensions[i]=n[0]!=="*"?n:n.substr(1)}}};f.prototype.getType=function(t){t=String(t);let e=t.replace(/^.*[/\\]/,"").toLowerCase(),i=e.replace(/^.*\./,"").toLowerCase(),a=e.length<t.length;return(i.length<e.length-1||!a)&&this._types[i]||null};f.prototype.getExtension=function(t){return t=/^\s*([^;\s]*)/.test(t)&&RegExp.$1,t&&this._extensions[t.toLowerCase()]||null};var vt=f,yt={"application/andrew-inset":["ez"],"application/applixware":["aw"],"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/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/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"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","mjs"],"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/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":["mp4s","m4p"],"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-signature":["asc","sig"],"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/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/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/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/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/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"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"],"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/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"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/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"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/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"]};let bt=vt;var jt=new bt(yt);const wt=ht(jt);function zt(t,e,i){const a=rt.join(t,e);return w.mkdirSync(t,{recursive:!0}),new Promise((n,s)=>{try{w.writeFile(a,i,{},p=>{p?s(p):n(a)})}catch(p){s(p)}})}function C(t){return w.readFileSync(t)}function St(t){return new Promise((e,i)=>{lt.get(t,a=>{const n=[],s=a.headers["content-type"];a.on("data",p=>{n.push(p)}),a.on("end",()=>{e({buffer:Buffer.concat(n),mimeType:s})})}).on("error",a=>{i(a)})})}const _t=async t=>C(t),g=(t,e="sha1")=>ct.createHash(e).update(t).digest("base64"),A=async t=>{const e=new T,{name:i,revision:a,documentType:n,created:s,lastModified:p}=t,c={name:i,revision:a,documentType:n,created:s,lastModified:p};return e.file("header.json",JSON.stringify(c,null,2)),e.file("state.json",JSON.stringify(t.initialState||{},null,2)),e.file("operations.json",JSON.stringify(t.operations,null,2)),Object.keys(t.attachments).forEach(l=>{const{data:r,...y}=t.attachments[l];e.file(l,r,{base64:!0,createFolders:!0,comment:JSON.stringify(y)})}),e},$=async(t,e,i,a)=>{const s=await(await A(t)).generateAsync({type:"uint8array",streamFiles:!0}),p=a??t.name,c=`.${i}.zip`;return zt(e,p.endsWith(c)?p:`${p}${c}`,s)},Ot=async(t,e)=>{const a=await(await A(t)).generateAsync({type:"blob"}),n=await e.createWritable();await n.write(a),await n.close()},z=async(t,e)=>{const i=C(t);return Z(i,e)},Z=async(t,e)=>{const i=new T;return await i.loadAsync(t),kt(i,e)};async function kt(t,e){const i=t.file("state.json");if(!i)throw new Error("Initial state not found");const a=await i.async("string"),n=JSON.parse(a),s=t.file("header.json");let p=null;s&&(p=JSON.parse(await s.async("string")));const c=t.file("operations.json");if(!c)throw new Error("Operations history not found");const u=JSON.parse(await c.async("string")),l={...n,...p,initialState:n,operations:[],attachments:{...n.attachments}};let r=u.slice(0,p==null?void 0:p.revision).reduce((y,nt)=>e(y,nt),l);return p&&(r={...r,...p,operations:[...r.operations,...u.slice(p.revision)]}),r}function H(t){const e=t.replace(/^.*\./,"")||void 0,i=t.replace(/^.*[/\\]/,"")||void 0;return{extension:e,fileName:i}}async function Dt(t){const{buffer:e,mimeType:i="application/octet-stream"}=await St(t),a=H(t),n=e.toString("base64");return{data:n,hash:g(n),mimeType:i,...a}}async function Et(t){const e=await _t(t),i=wt.getType(t)||"application/octet-stream",a=H(t),n=e.toString("base64");return{data:n,hash:g(n),mimeType:i,...a}}function x(t,e,i){const a=X(t),n=Q(i);return e.reduce((s,p)=>n(s,p),a)}function At(t,e){return{...t,name:e}}function Nt(t,e,i){const a=Math.min(e,t.revision),n=t.operations.slice(0,t.revision-a);return{...x(t.initialState,n,i),operations:t.operations,revision:t.revision-a}}function Tt(t,e,i){const a=t.operations.length-t.revision;if(!a)throw new Error("There is no UNDO operation to REDO");const n=e<a?e:a,s=t.operations.slice(0,t.revision+n);return{...x(t.initialState,s,i),operations:t.operations,revision:t.revision+n}}function Ft(t,e,i,a){e=e||0,i=i||t.operations.length;const n=t.operations.slice(e,i),s=t.operations.slice(0,e),p=t.operations.slice(i),c=x(t.initialState,s.concat(n),a),{name:u,state:l}=c;return x(t.initialState,[...s,N({name:u,state:l},n.length),...p],a)}function qt(t,e){return{...t,name:e.name,state:e.state??{}}}const K="SET_NAME",h="UNDO",v="REDO",d="PRUNE",W="LOAD_STATE";function Pt(t,e){return[h,v,d].includes(e.type)?t.revision:t.revision+1}function Mt(t,e){return{...t,revision:Pt(t,e),lastModified:new Date().toISOString()}}function Rt(t,e){if([h,v,d,d].includes(e.type))return t;const i=t.operations.slice(0,t.revision);return{...t,operations:[...i,{...e,index:i.length,timestamp:new Date().toISOString(),hash:""}]}}function Lt(t,e){let i=Rt(t,e);return i=Mt(i,e),i}function It(t,e,i){switch(I().parse(e),e.type){case K:return At(t,e.input);case h:return Nt(t,e.input,i);case v:return Tt(t,e.input,i);case d:return Ft(t,e.input.start,e.input.end,i);case W:return qt(t,e.input.state);default:return t}}function G(t,e,i){let a=t;return S(e)&&(a=It(a,e,i)),a=Lt(a,e),a=j.produce(a,n=>{const s=i(n.state,e);if(s)return j.castDraft({...a,state:s})}),j.produce(a,n=>{n.operations[n.operations.length-1].hash=Y(n),!S(e)&&e.attachments&&e.attachments.forEach(s=>{const{hash:p,...c}=s;n.attachments[p]={...c}})})}function S(t){return[K,h,v,d,W].includes(t.type)}function m(t,e,i,a){if(!t)throw new Error("Empty action type");if(typeof t!="string")throw new Error(`Invalid action type: ${t}`);const n=i?{type:t,input:e,attachments:i}:{type:t,input:e};return a==null||a().parse(n),n}function Q(t,e=G){return(i,a)=>e(i,a,t)}const V=(t,e)=>({name:"",documentType:"",revision:0,created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...t,state:(e==null?void 0:e(t==null?void 0:t.state))??(t==null?void 0:t.state)??{}}),X=(t,e)=>{const i=V(t,e);return{...i,initialState:i,operations:[]}},Y=t=>g(pt(t.state)),Ut=(t,e=1e3)=>{const i=Math.random()*e;return g(`${(t??new Date).toISOString()}${i}`)},tt=t=>m("SET_NAME",t,void 0,D),et=(t=1)=>m("UNDO",t,void 0,E),it=(t=1)=>m("REDO",t,void 0,k),at=(t,e)=>m("PRUNE",{start:t,end:e},void 0,O),N=(t,e)=>m("LOAD_STATE",{state:t,operations:e},void 0,_),Jt=Object.freeze(Object.defineProperty({__proto__:null,loadState:N,prune:at,redo:it,setName:tt,undo:et},Symbol.toStringTag,{value:"Module"}));class Bt{constructor(e,i){b(this,"_document");b(this,"_reducer");this._reducer=e,this._document=i}dispatch(e){return this._document=this._reducer(this._document,e),this}saveToFile(e,i,a){return $(this._document,e,i,a)}async loadFromFile(e){this._document=await z(e,this._reducer)}static async stateFromFile(e,i){return await z(e,i)}get state(){return this._document.state}get operations(){return 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}get initialState(){return this._document.initialState}getAttachment(e){return this._document.attachments[e]}setName(e){return this.dispatch(tt(e)),this}undo(e){return this.dispatch(et(e)),this}redo(e){return this.dispatch(it(e)),this}prune(e,i){return this.dispatch(at(e,i)),this}loadState(e,i){return this.dispatch(N(e,i)),this}}function Ct(t,e){e.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(a=>{Object.defineProperty(t.prototype,a,Object.getOwnPropertyDescriptor(i.prototype,a)||Object.create(null))})})}exports.BaseActions=Jt;exports.BaseDocument=Bt;exports.applyMixins=Ct;exports.baseReducer=G;exports.createAction=m;exports.createDocument=X;exports.createExtendedState=V;exports.createReducer=Q;exports.createZip=A;exports.getLocalFile=Et;exports.getRemoteFile=Dt;exports.hashDocument=Y;exports.hashKey=Ut;exports.isBaseAction=S;exports.loadFromFile=z;exports.loadFromInput=Z;exports.saveToFile=$;exports.saveToFileHandle=Ot;exports.zod=gt;
1
+ "use strict";var st=Object.defineProperty;var pt=(t,e,i)=>e in t?st(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var w=(t,e,i)=>(pt(t,typeof e!="symbol"?e+"":e,i),i);const ct=require("json-stringify-deterministic"),x=require("immer"),F=require("jszip"),lt=require("crypto"),z=require("fs"),rt=require("https"),mt=require("path"),o=require("zod"),q=t=>t!=null,ut=o.z.any().refine(t=>q(t)),P=o.z.enum(["LOAD_STATE"]),M=o.z.enum(["PRUNE"]),R=o.z.enum(["REDO"]),L=o.z.enum(["SET_NAME"]),I=o.z.enum(["UNDO"]);function dt(){return o.z.object({__typename:o.z.literal("Action").optional(),type:o.z.string()})}function U(){return o.z.union([O(),D(),k(),E(),A()])}function xt(){return o.z.object({__typename:o.z.literal("DocumentFile").optional(),data:o.z.string(),extension:o.z.string().nullable(),fileName:o.z.string().nullable(),mimeType:o.z.string()})}function O(){return o.z.object({input:o.z.lazy(()=>J()),type:P})}function J(){return o.z.object({operations:o.z.number(),state:o.z.lazy(()=>B())})}function B(){return o.z.object({data:o.z.unknown().nullish(),name:o.z.string()})}function ft(){return o.z.object({__typename:o.z.literal("Operation").optional(),hash:o.z.string(),index:o.z.number(),timestamp:o.z.string().datetime(),type:o.z.string()})}function D(){return o.z.object({input:o.z.lazy(()=>C()),type:M})}function C(){return o.z.object({end:o.z.number().nullish(),start:o.z.number().nullish()})}function k(){return o.z.object({input:o.z.number(),type:R})}function E(){return o.z.object({input:o.z.string(),type:L})}function gt(){return o.z.object({__typename:o.z.literal("SetNameOperation").optional(),hash:o.z.string(),index:o.z.number(),input:o.z.string(),timestamp:o.z.string().datetime(),type:o.z.string()})}function A(){return o.z.object({input:o.z.number(),type:I})}const ht=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:dt,BaseActionSchema:U,DocumentFileSchema:xt,LoadStateActionInputSchema:J,LoadStateActionSchema:O,LoadStateActionStateInputSchema:B,Load_StateSchema:P,OperationSchema:ft,PruneActionInputSchema:C,PruneActionSchema:D,PruneSchema:M,RedoActionSchema:k,RedoSchema:R,SetNameActionSchema:E,SetNameOperationSchema:gt,Set_NameSchema:L,UndoActionSchema:A,UndoSchema:I,definedNonNullAnySchema:ut,isDefinedNonNullAny:q},Symbol.toStringTag,{value:"Module"}));function vt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function h(){this._types=Object.create(null),this._extensions=Object.create(null);for(let t=0;t<arguments.length;t++)this.define(arguments[t]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}h.prototype.define=function(t,e){for(let i in t){let a=t[i].map(function(n){return n.toLowerCase()});i=i.toLowerCase();for(let n=0;n<a.length;n++){const s=a[n];if(s[0]!=="*"){if(!e&&s in this._types)throw new Error('Attempt to change mapping for "'+s+'" extension from "'+this._types[s]+'" to "'+i+'". Pass `force=true` to allow this, otherwise remove "'+s+'" from the list of extensions for "'+i+'".');this._types[s]=i}}if(e||!this._extensions[i]){const n=a[0];this._extensions[i]=n[0]!=="*"?n:n.substr(1)}}};h.prototype.getType=function(t){t=String(t);let e=t.replace(/^.*[/\\]/,"").toLowerCase(),i=e.replace(/^.*\./,"").toLowerCase(),a=e.length<t.length;return(i.length<e.length-1||!a)&&this._types[i]||null};h.prototype.getExtension=function(t){return t=/^\s*([^;\s]*)/.test(t)&&RegExp.$1,t&&this._extensions[t.toLowerCase()]||null};var yt=h,bt={"application/andrew-inset":["ez"],"application/applixware":["aw"],"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/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/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"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","mjs"],"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/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":["mp4s","m4p"],"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-signature":["asc","sig"],"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/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/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/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/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/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"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"],"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/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"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/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"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/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"]};let jt=yt;var wt=new jt(bt);const zt=vt(wt);function St(t,e,i){const a=mt.join(t,e);return z.mkdirSync(t,{recursive:!0}),new Promise((n,s)=>{try{z.writeFile(a,i,{},p=>{p?s(p):n(a)})}catch(p){s(p)}})}function $(t){return z.readFileSync(t)}function _t(t){return new Promise((e,i)=>{rt.get(t,a=>{const n=[],s=a.headers["content-type"];a.on("data",p=>{n.push(p)}),a.on("end",()=>{e({buffer:Buffer.concat(n),mimeType:s})})}).on("error",a=>{i(a)})})}const Ot=async t=>$(t),v=(t,e="sha1")=>lt.createHash(e).update(t).digest("base64"),N=async t=>{const e=new F,{name:i,revision:a,documentType:n,created:s,lastModified:p}=t,c={name:i,revision:a,documentType:n,created:s,lastModified:p};return e.file("header.json",JSON.stringify(c,null,2)),e.file("state.json",JSON.stringify(t.initialState||{},null,2)),e.file("operations.json",JSON.stringify(t.operations,null,2)),Object.keys(t.attachments).forEach(l=>{const{data:r,...j}=t.attachments[l];e.file(l,r,{base64:!0,createFolders:!0,comment:JSON.stringify(j)})}),e},Z=async(t,e,i,a)=>{const s=await(await N(t)).generateAsync({type:"uint8array",streamFiles:!0}),p=a??t.name,c=`.${i}.zip`;return St(e,p.endsWith(c)?p:`${p}${c}`,s)},Dt=async(t,e)=>{const a=await(await N(t)).generateAsync({type:"blob"}),n=await e.createWritable();await n.write(a),await n.close()},S=async(t,e)=>{const i=$(t);return H(i,e)},H=async(t,e)=>{const i=new F;return await i.loadAsync(t),kt(i,e)};async function kt(t,e){const i=t.file("state.json");if(!i)throw new Error("Initial state not found");const a=await i.async("string"),n=JSON.parse(a),s=t.file("header.json");let p=null;s&&(p=JSON.parse(await s.async("string")));const c=t.file("operations.json");if(!c)throw new Error("Operations history not found");const u=JSON.parse(await c.async("string")),l={...n,...p,initialState:n,operations:[],attachments:{...n.attachments}};let r=u.slice(0,p==null?void 0:p.revision).reduce((j,ot)=>e(j,ot),l);return p&&(r={...r,...p,operations:[...r.operations,...u.slice(p.revision)]}),r}function K(t){const e=t.replace(/^.*\./,"")||void 0,i=t.replace(/^.*[/\\]/,"")||void 0;return{extension:e,fileName:i}}async function Et(t){const{buffer:e,mimeType:i="application/octet-stream"}=await _t(t),a=K(t),n=e.toString("base64");return{data:n,hash:v(n),mimeType:i,...a}}async function At(t){const e=await Ot(t),i=zt.getType(t)||"application/octet-stream",a=K(t),n=e.toString("base64");return{data:n,hash:v(n),mimeType:i,...a}}function g(t,e,i){const a=Y(t),n=V(i);return e.reduce((s,p)=>n(s,p),a)}function Nt(t,e){return{...t,name:e}}function Tt(t,e,i){const a=Math.min(e,t.revision),n=t.operations.slice(0,t.revision-a);return{...g(t.initialState,n,i),operations:t.operations,revision:t.revision-a}}function Ft(t,e,i){const a=t.operations.length-t.revision;if(!a)throw new Error("There is no UNDO operation to REDO");const n=e<a?e:a,s=t.operations.slice(0,t.revision+n);return{...g(t.initialState,s,i),operations:t.operations,revision:t.revision+n}}function qt(t,e,i,a){e=e||0,i=i||t.operations.length;const n=t.operations.slice(e,i),s=t.operations.slice(0,e),p=t.operations.slice(i),c=g(t.initialState,s.concat(n),a),{name:u,state:l}=c;return g(t.initialState,[...s,T({name:u,state:l},n.length),...p],a)}function Pt(t,e){return{...t,name:e.name,state:e.state??{}}}const W="SET_NAME",y="UNDO",b="REDO",f="PRUNE",G="LOAD_STATE";function Mt(t,e){return[y,b,f].includes(e.type)?t.revision:t.revision+1}function Rt(t,e){return{...t,revision:Mt(t,e),lastModified:new Date().toISOString()}}function Lt(t,e){if([y,b,f,f].includes(e.type))return t;const i=t.operations.slice(0,t.revision);return{...t,operations:[...i,{...e,index:i.length,timestamp:new Date().toISOString(),hash:""}]}}function It(t,e){let i=Lt(t,e);return i=Rt(i,e),i}function Ut(t,e,i){switch(U().parse(e),e.type){case W:return Nt(t,e.input);case y:return Tt(t,e.input,i);case b:return Ft(t,e.input,i);case f:return qt(t,e.input.start,e.input.end,i);case G:return Pt(t,e.input.state);default:return t}}function Q(t,e,i){let a=t;return _(e)&&(a=Ut(a,e,i)),a=It(a,e),a=x.produce(a,n=>{const s=i(n.state,e);if(s)return x.castDraft({...a,state:s})}),x.produce(a,n=>{n.operations[n.operations.length-1].hash=tt(n),!_(e)&&e.attachments&&e.attachments.forEach(s=>{const{hash:p,...c}=s;n.attachments[p]={...c}})})}function _(t){return[W,y,b,f,G].includes(t.type)}function m(t,e,i,a){if(!t)throw new Error("Empty action type");if(typeof t!="string")throw new Error(`Invalid action type: ${t}`);const n=i?{type:t,input:e,attachments:i}:{type:t,input:e};return a==null||a().parse(n),n}function V(t,e=Q){return(i,a)=>e(i,a,t)}const X=(t,e)=>({name:"",documentType:"",revision:0,created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...t,state:(e==null?void 0:e(t==null?void 0:t.state))??(t==null?void 0:t.state)??{}}),Y=(t,e)=>{const i=X(t,e);return{...i,initialState:i,operations:[]}},tt=t=>v(ct(t.state)),Jt=(t,e=1e3)=>{const i=Math.random()*e;return v(`${(t??new Date).toISOString()}${i}`)};function d(t){return x.castImmutable(x.freeze(t,!0))}const et=t=>m("SET_NAME",t,void 0,E),it=(t=1)=>m("UNDO",t,void 0,A),at=(t=1)=>m("REDO",t,void 0,k),nt=(t,e)=>m("PRUNE",{start:t,end:e},void 0,D),T=(t,e)=>m("LOAD_STATE",{state:t,operations:e},void 0,O),Bt=Object.freeze(Object.defineProperty({__proto__:null,loadState:T,prune:nt,redo:at,setName:et,undo:it},Symbol.toStringTag,{value:"Module"}));class Ct{constructor(e,i){w(this,"_document");w(this,"_reducer");this._reducer=e,this._document=i}dispatch(e){return this._document=this._reducer(this._document,e),this}saveToFile(e,i,a){return Z(this._document,e,i,a)}async loadFromFile(e){this._document=await S(e,this._reducer)}static async stateFromFile(e,i){return await S(e,i)}get state(){return d(this._document.state)}get operations(){return d(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}get initialState(){return d(this._document.initialState)}toDocument(){return d(this._document)}getAttachment(e){return this._document.attachments[e]}setName(e){return this.dispatch(et(e)),this}undo(e){return this.dispatch(it(e)),this}redo(e){return this.dispatch(at(e)),this}prune(e,i){return this.dispatch(nt(e,i)),this}loadState(e,i){return this.dispatch(T(e,i)),this}}function $t(t,e){e.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(a=>{Object.defineProperty(t.prototype,a,Object.getOwnPropertyDescriptor(i.prototype,a)||Object.create(null))})})}exports.BaseActions=Bt;exports.BaseDocument=Ct;exports.applyMixins=$t;exports.baseReducer=Q;exports.createAction=m;exports.createDocument=Y;exports.createExtendedState=X;exports.createReducer=V;exports.createZip=N;exports.getLocalFile=At;exports.getRemoteFile=Et;exports.hashDocument=tt;exports.hashKey=Jt;exports.isBaseAction=_;exports.loadFromFile=S;exports.loadFromInput=H;exports.readOnly=d;exports.saveToFile=Z;exports.saveToFileHandle=Dt;exports.zod=ht;