document-model 1.0.54 → 1.1.0-experimental.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/cjs/document-model.js +1 -1
- package/dist/browser/cjs/document.js +1 -1
- package/dist/browser/cjs/index.js +1 -1
- package/dist/browser/cjs/internal/index-DZx9eknf.js +1 -0
- package/dist/browser/cjs/internal/{index-CnVGNZ9_.js → index-DypcJuba.js} +1 -1
- package/dist/browser/cjs/internal/object-BU2CI8g7.js +25 -0
- package/dist/browser/es/document-model.js +2 -2
- package/dist/browser/es/document.js +2 -2
- package/dist/browser/es/index.js +3 -3
- package/dist/browser/es/internal/index-BP3Z2ZVF.js +43 -0
- package/dist/browser/es/internal/{index-aS_vqu4O.js → index-CyBZ1dJQ.js} +1 -1
- package/dist/browser/es/internal/object-CPDHmXxz.js +2712 -0
- package/dist/browser/src/document/reducer.d.ts +13 -2
- package/dist/browser/src/document/utils/base.d.ts +1 -1
- package/dist/browser/src/document/utils/document-helpers.d.ts +53 -0
- package/dist/browser/src/document/utils/index.d.ts +1 -0
- package/dist/node/cjs/document-model.js +1 -1
- package/dist/node/cjs/document.js +1 -1
- package/dist/node/cjs/index.js +1 -1
- package/dist/node/cjs/internal/{index-JtuONOcD.js → index-Bt4KwBzM.js} +1 -1
- package/dist/node/cjs/internal/index-CwTTSCCW.js +1 -0
- package/dist/node/cjs/internal/object-Bc_eSRcx.js +20 -0
- package/dist/node/es/document-model.js +3 -3
- package/dist/node/es/document.js +3 -3
- package/dist/node/es/index.js +4 -4
- package/dist/node/es/internal/{index-BclkoIYP.js → index-6nUwJlFL.js} +2 -2
- package/dist/node/es/internal/index-CLgAZiia.js +43 -0
- package/dist/node/es/internal/object-DofGWMf1.js +1610 -0
- package/dist/node/src/document/reducer.d.ts +13 -2
- package/dist/node/src/document/utils/base.d.ts +1 -1
- package/dist/node/src/document/utils/document-helpers.d.ts +53 -0
- package/dist/node/src/document/utils/index.d.ts +1 -0
- package/package.json +7 -2
- package/dist/browser/cjs/internal/index-BVWyYyNE.js +0 -1
- package/dist/browser/cjs/internal/object-5l5_pTNL.js +0 -25
- package/dist/browser/es/internal/index-CF0d1_Cg.js +0 -42
- package/dist/browser/es/internal/object-BdaEhPk1.js +0 -2507
- package/dist/node/cjs/internal/index-B9gc2lPN.js +0 -1
- package/dist/node/cjs/internal/object-D6wRzEDN.js +0 -20
- package/dist/node/es/internal/index-EY0PPZnJ.js +0 -42
- package/dist/node/es/internal/object-BxC3xMqY.js +0 -1405
- package/dist/src/document/actions/creators.d.ts +0 -47
- package/dist/src/document/actions/index.d.ts +0 -14
- package/dist/src/document/actions/types.d.ts +0 -15
- package/dist/src/document/index.d.ts +0 -6
- package/dist/src/document/object.d.ts +0 -1175
- package/dist/src/document/reducer.d.ts +0 -32
- package/dist/src/document/schema/index.d.ts +0 -2
- package/dist/src/document/schema/types.d.ts +0 -176
- package/dist/src/document/schema/zod.d.ts +0 -113
- package/dist/src/document/signal.d.ts +0 -29
- package/dist/src/document/types.d.ts +0 -249
- package/dist/src/document/utils/base.d.ts +0 -85
- package/dist/src/document/utils/file.d.ts +0 -48
- package/dist/src/document/utils/index.d.ts +0 -4
- package/dist/src/document/utils/node.d.ts +0 -9
- package/dist/src/document/utils/validation.d.ts +0 -2
- package/dist/src/document-model/custom/reducers/header.d.ts +0 -2
- package/dist/src/document-model/custom/reducers/module.d.ts +0 -2
- package/dist/src/document-model/custom/reducers/operation-error.d.ts +0 -2
- package/dist/src/document-model/custom/reducers/operation-example.d.ts +0 -2
- package/dist/src/document-model/custom/reducers/operation.d.ts +0 -2
- package/dist/src/document-model/custom/reducers/state.d.ts +0 -2
- package/dist/src/document-model/custom/reducers/versioning.d.ts +0 -7
- package/dist/src/document-model/custom/utils.d.ts +0 -7
- package/dist/src/document-model/gen/actions.d.ts +0 -15
- package/dist/src/document-model/gen/creators.d.ts +0 -7
- package/dist/src/document-model/gen/document-model.d.ts +0 -2
- package/dist/src/document-model/gen/header/actions.d.ts +0 -9
- package/dist/src/document-model/gen/header/creators.d.ts +0 -8
- package/dist/src/document-model/gen/header/object.d.ts +0 -12
- package/dist/src/document-model/gen/header/operations.d.ts +0 -10
- package/dist/src/document-model/gen/index.d.ts +0 -5
- package/dist/src/document-model/gen/module/actions.d.ts +0 -8
- package/dist/src/document-model/gen/module/creators.d.ts +0 -7
- package/dist/src/document-model/gen/module/object.d.ts +0 -11
- package/dist/src/document-model/gen/module/operations.d.ts +0 -9
- package/dist/src/document-model/gen/object.d.ts +0 -28
- package/dist/src/document-model/gen/operation/actions.d.ts +0 -13
- package/dist/src/document-model/gen/operation/creators.d.ts +0 -12
- package/dist/src/document-model/gen/operation/object.d.ts +0 -16
- package/dist/src/document-model/gen/operation/operations.d.ts +0 -14
- package/dist/src/document-model/gen/operation-error/actions.d.ts +0 -10
- package/dist/src/document-model/gen/operation-error/creators.d.ts +0 -9
- package/dist/src/document-model/gen/operation-error/object.d.ts +0 -13
- package/dist/src/document-model/gen/operation-error/operations.d.ts +0 -11
- package/dist/src/document-model/gen/operation-example/actions.d.ts +0 -7
- package/dist/src/document-model/gen/operation-example/creators.d.ts +0 -6
- package/dist/src/document-model/gen/operation-example/object.d.ts +0 -10
- package/dist/src/document-model/gen/operation-example/operations.d.ts +0 -8
- package/dist/src/document-model/gen/reducer.d.ts +0 -5
- package/dist/src/document-model/gen/schema/index.d.ts +0 -2
- package/dist/src/document-model/gen/schema/types.d.ts +0 -453
- package/dist/src/document-model/gen/schema/zod.d.ts +0 -453
- package/dist/src/document-model/gen/state/actions.d.ts +0 -9
- package/dist/src/document-model/gen/state/creators.d.ts +0 -8
- package/dist/src/document-model/gen/state/object.d.ts +0 -12
- package/dist/src/document-model/gen/state/operations.d.ts +0 -10
- package/dist/src/document-model/gen/types.d.ts +0 -8
- package/dist/src/document-model/gen/utils.d.ts +0 -6
- package/dist/src/document-model/gen/versioning/actions.d.ts +0 -8
- package/dist/src/document-model/gen/versioning/creators.d.ts +0 -7
- package/dist/src/document-model/gen/versioning/object.d.ts +0 -11
- package/dist/src/document-model/gen/versioning/operations.d.ts +0 -9
- package/dist/src/document-model/index.d.ts +0 -80
- package/dist/src/index.d.ts +0 -25
- package/dist/vite.config.d.ts +0 -2
- package/dist/vitest.config.d.ts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("./object-D6wRzEDN.js"),t=Object.freeze(Object.defineProperty({__proto__:null,calculateSkipsLeft:e.calculateSkipsLeft,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isNoopOperation:e.isNoopOperation,isSameDocument:e.isSameDocument,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations,validateOperations:e.validateOperations},Symbol.toStringTag,{value:"Module"})),o=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,utils:t,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=o;exports.index=t;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";var se=Object.defineProperty;var ae=(e,t,i)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var ot=(e,t,i)=>(ae(e,typeof t!="symbol"?t+"":t,i),i);const U=require("immer"),m=require("zod"),pe=require("crypto"),lt=require("fs"),ce=require("https"),le=require("path"),zt=require("jszip"),Et=e=>e!=null,me=m.z.any().refine(e=>Et(e)),vt=m.z.enum(["LOAD_STATE"]),Tt=m.z.enum(["PRUNE"]),kt=m.z.enum(["REDO"]),_t=m.z.enum(["SET_NAME"]),At=m.z.enum(["UNDO"]);function ue(){return m.z.object({__typename:m.z.literal("Action").optional(),type:m.z.string()})}function X(){return m.z.literal("global").or(m.z.literal("local"))}function Dt(){return m.z.union([Nt(),It(),Pt(),Ft(),Rt()])}function fe(){return m.z.object({__typename:m.z.literal("DocumentFile").optional(),data:m.z.string(),extension:m.z.string().nullable(),fileName:m.z.string().nullable(),mimeType:m.z.string()})}function Nt(){return m.z.object({input:m.z.lazy(()=>gt()),type:vt,scope:X()})}function gt(){return m.z.object({operations:m.z.number(),state:m.z.lazy(()=>Mt())})}function Mt(){return m.z.object({data:m.z.unknown().nullish(),name:m.z.string()})}function de(){return m.z.object({__typename:m.z.literal("Operation").optional(),hash:m.z.string(),index:m.z.number(),timestamp:m.z.string().datetime(),type:m.z.string()})}function It(){return m.z.object({input:m.z.lazy(()=>ht()),type:Tt,scope:X()})}function ht(){return m.z.object({end:m.z.number().nullish(),start:m.z.number().nullish()})}const xt=m.z.number;function Pt(){return m.z.object({input:xt(),type:kt,scope:X()})}const yt=m.z.string;function Ft(){return m.z.object({input:yt(),type:_t,scope:m.z.literal("global")})}function ge(){return m.z.object({__typename:m.z.literal("SetNameOperation").optional(),hash:m.z.string(),index:m.z.number(),input:m.z.string(),timestamp:m.z.string().datetime(),type:m.z.string()})}const bt=m.z.number;function Rt(){return m.z.object({input:bt(),type:At,scope:X()})}const he=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:ue,BaseActionSchema:Dt,DocumentFileSchema:fe,LoadStateActionInputSchema:gt,LoadStateActionSchema:Nt,LoadStateActionStateInputSchema:Mt,Load_StateSchema:vt,OperationSchema:de,OperationScopeSchema:X,PruneActionInputSchema:ht,PruneActionSchema:It,PruneSchema:Tt,RedoActionInputSchema:xt,RedoActionSchema:Pt,RedoSchema:kt,SetNameActionInputSchema:yt,SetNameActionSchema:Ft,SetNameOperationSchema:ge,Set_NameSchema:_t,UndoActionInputSchema:bt,UndoActionSchema:Rt,UndoSchema:At,definedNonNullAnySchema:me,isDefinedNonNullAny:Et},Symbol.toStringTag,{value:"Module"}));function xe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var mt={exports:{}};(function(e,t){const{hasOwnProperty:i}=Object.prototype,n=z();n.configure=z,n.stringify=n,n.default=n,t.stringify=n,t.configure=z,e.exports=n;const a=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function s(c){return c.length<5e3&&!a.test(c)?`"${c}"`:JSON.stringify(c)}function r(c){if(c.length>200)return c.sort();for(let u=1;u<c.length;u++){const b=c[u];let M=u;for(;M!==0&&c[M-1]>b;)c[M]=c[M-1],M--;c[M]=b}return c}const l=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function p(c){return l.call(c)!==void 0&&c.length!==0}function x(c,u,b){c.length<b&&(b=c.length);const M=u===","?"":" ";let B=`"0":${M}${c[0]}`;for(let R=1;R<b;R++)B+=`${u}"${R}":${M}${c[R]}`;return B}function y(c){if(i.call(c,"circularValue")){const u=c.circularValue;if(typeof u=="string")return`"${u}"`;if(u==null)return u;if(u===Error||u===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function E(c,u){let b;if(i.call(c,u)&&(b=c[u],typeof b!="boolean"))throw new TypeError(`The "${u}" argument must be of type boolean`);return b===void 0?!0:b}function h(c,u){let b;if(i.call(c,u)){if(b=c[u],typeof b!="number")throw new TypeError(`The "${u}" argument must be of type number`);if(!Number.isInteger(b))throw new TypeError(`The "${u}" argument must be an integer`);if(b<1)throw new RangeError(`The "${u}" argument must be >= 1`)}return b===void 0?1/0:b}function S(c){return c===1?"1 item":`${c} items`}function $(c){const u=new Set;for(const b of c)(typeof b=="string"||typeof b=="number")&&u.add(String(b));return u}function D(c){if(i.call(c,"strict")){const u=c.strict;if(typeof u!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(u)return b=>{let M=`Object can not safely be stringified. Received type ${typeof b}`;throw typeof b!="function"&&(M+=` (${b.toString()})`),new Error(M)}}}function z(c){c={...c};const u=D(c);u&&(c.bigint===void 0&&(c.bigint=!1),"circularValue"in c||(c.circularValue=Error));const b=y(c),M=E(c,"bigint"),B=E(c,"deterministic"),R=h(c,"maximumDepth"),k=h(c,"maximumBreadth");function et(I,o,f,w,g,O){let d=o[I];switch(typeof d=="object"&&d!==null&&typeof d.toJSON=="function"&&(d=d.toJSON(I)),d=w.call(o,I,d),typeof d){case"string":return s(d);case"object":{if(d===null)return"null";if(f.indexOf(d)!==-1)return b;let j="",T=",";const _=O;if(Array.isArray(d)){if(d.length===0)return"[]";if(R<f.length+1)return'"[Array]"';f.push(d),g!==""&&(O+=g,j+=`
|
|
2
|
-
${O}`,T=`,
|
|
3
|
-
${O}`);const F=Math.min(d.length,k);let J=0;for(;J<F-1;J++){const nt=et(String(J),d,f,w,g,O);j+=nt!==void 0?nt:"null",j+=T}const C=et(String(J),d,f,w,g,O);if(j+=C!==void 0?C:"null",d.length-1>k){const nt=d.length-k-1;j+=`${T}"... ${S(nt)} not stringified"`}return g!==""&&(j+=`
|
|
4
|
-
${_}`),f.pop(),`[${j}]`}let A=Object.keys(d);const N=A.length;if(N===0)return"{}";if(R<f.length+1)return'"[Object]"';let v="",P="";g!==""&&(O+=g,T=`,
|
|
5
|
-
${O}`,v=" ");const L=Math.min(N,k);B&&!p(d)&&(A=r(A)),f.push(d);for(let F=0;F<L;F++){const J=A[F],C=et(J,d,f,w,g,O);C!==void 0&&(j+=`${P}${s(J)}:${v}${C}`,P=T)}if(N>k){const F=N-k;j+=`${P}"...":${v}"${S(F)} not stringified"`,P=T}return g!==""&&P.length>1&&(j=`
|
|
6
|
-
${O}${j}
|
|
7
|
-
${_}`),f.pop(),`{${j}}`}case"number":return isFinite(d)?String(d):u?u(d):"null";case"boolean":return d===!0?"true":"false";case"undefined":return;case"bigint":if(M)return String(d);default:return u?u(d):void 0}}function it(I,o,f,w,g,O){switch(typeof o=="object"&&o!==null&&typeof o.toJSON=="function"&&(o=o.toJSON(I)),typeof o){case"string":return s(o);case"object":{if(o===null)return"null";if(f.indexOf(o)!==-1)return b;const d=O;let j="",T=",";if(Array.isArray(o)){if(o.length===0)return"[]";if(R<f.length+1)return'"[Array]"';f.push(o),g!==""&&(O+=g,j+=`
|
|
8
|
-
${O}`,T=`,
|
|
9
|
-
${O}`);const N=Math.min(o.length,k);let v=0;for(;v<N-1;v++){const L=it(String(v),o[v],f,w,g,O);j+=L!==void 0?L:"null",j+=T}const P=it(String(v),o[v],f,w,g,O);if(j+=P!==void 0?P:"null",o.length-1>k){const L=o.length-k-1;j+=`${T}"... ${S(L)} not stringified"`}return g!==""&&(j+=`
|
|
10
|
-
${d}`),f.pop(),`[${j}]`}f.push(o);let _="";g!==""&&(O+=g,T=`,
|
|
11
|
-
${O}`,_=" ");let A="";for(const N of w){const v=it(N,o[N],f,w,g,O);v!==void 0&&(j+=`${A}${s(N)}:${_}${v}`,A=T)}return g!==""&&A.length>1&&(j=`
|
|
12
|
-
${O}${j}
|
|
13
|
-
${d}`),f.pop(),`{${j}}`}case"number":return isFinite(o)?String(o):u?u(o):"null";case"boolean":return o===!0?"true":"false";case"undefined":return;case"bigint":if(M)return String(o);default:return u?u(o):void 0}}function W(I,o,f,w,g){switch(typeof o){case"string":return s(o);case"object":{if(o===null)return"null";if(typeof o.toJSON=="function"){if(o=o.toJSON(I),typeof o!="object")return W(I,o,f,w,g);if(o===null)return"null"}if(f.indexOf(o)!==-1)return b;const O=g;if(Array.isArray(o)){if(o.length===0)return"[]";if(R<f.length+1)return'"[Array]"';f.push(o),g+=w;let v=`
|
|
14
|
-
${g}`;const P=`,
|
|
15
|
-
${g}`,L=Math.min(o.length,k);let F=0;for(;F<L-1;F++){const C=W(String(F),o[F],f,w,g);v+=C!==void 0?C:"null",v+=P}const J=W(String(F),o[F],f,w,g);if(v+=J!==void 0?J:"null",o.length-1>k){const C=o.length-k-1;v+=`${P}"... ${S(C)} not stringified"`}return v+=`
|
|
16
|
-
${O}`,f.pop(),`[${v}]`}let d=Object.keys(o);const j=d.length;if(j===0)return"{}";if(R<f.length+1)return'"[Object]"';g+=w;const T=`,
|
|
17
|
-
${g}`;let _="",A="",N=Math.min(j,k);p(o)&&(_+=x(o,T,k),d=d.slice(o.length),N-=o.length,A=T),B&&(d=r(d)),f.push(o);for(let v=0;v<N;v++){const P=d[v],L=W(P,o[P],f,w,g);L!==void 0&&(_+=`${A}${s(P)}: ${L}`,A=T)}if(j>k){const v=j-k;_+=`${A}"...": "${S(v)} not stringified"`,A=T}return A!==""&&(_=`
|
|
18
|
-
${g}${_}
|
|
19
|
-
${O}`),f.pop(),`{${_}}`}case"number":return isFinite(o)?String(o):u?u(o):"null";case"boolean":return o===!0?"true":"false";case"undefined":return;case"bigint":if(M)return String(o);default:return u?u(o):void 0}}function Z(I,o,f){switch(typeof o){case"string":return s(o);case"object":{if(o===null)return"null";if(typeof o.toJSON=="function"){if(o=o.toJSON(I),typeof o!="object")return Z(I,o,f);if(o===null)return"null"}if(f.indexOf(o)!==-1)return b;let w="";if(Array.isArray(o)){if(o.length===0)return"[]";if(R<f.length+1)return'"[Array]"';f.push(o);const T=Math.min(o.length,k);let _=0;for(;_<T-1;_++){const N=Z(String(_),o[_],f);w+=N!==void 0?N:"null",w+=","}const A=Z(String(_),o[_],f);if(w+=A!==void 0?A:"null",o.length-1>k){const N=o.length-k-1;w+=`,"... ${S(N)} not stringified"`}return f.pop(),`[${w}]`}let g=Object.keys(o);const O=g.length;if(O===0)return"{}";if(R<f.length+1)return'"[Object]"';let d="",j=Math.min(O,k);p(o)&&(w+=x(o,",",k),g=g.slice(o.length),j-=o.length,d=","),B&&(g=r(g)),f.push(o);for(let T=0;T<j;T++){const _=g[T],A=Z(_,o[_],f);A!==void 0&&(w+=`${d}${s(_)}:${A}`,d=",")}if(O>k){const T=O-k;w+=`${d}"...":"${S(T)} not stringified"`}return f.pop(),`{${w}}`}case"number":return isFinite(o)?String(o):u?u(o):"null";case"boolean":return o===!0?"true":"false";case"undefined":return;case"bigint":if(M)return String(o);default:return u?u(o):void 0}}function re(I,o,f){if(arguments.length>1){let w="";if(typeof f=="number"?w=" ".repeat(Math.min(f,10)):typeof f=="string"&&(w=f.slice(0,10)),o!=null){if(typeof o=="function")return et("",{"":I},[],o,w,"");if(Array.isArray(o))return it("",I,[],$(o),w,"")}if(w.length!==0)return W("",I,[],w,"")}return Z("",I,[])}return re}})(mt,mt.exports);var ye=mt.exports;const rt=xe(ye);rt.configure;function be(e,t){return{...e,name:t}}function we(e,t,i){const n={skip:i,document:e},{scope:a}=t;return!a||t.skip===void 0?n:U.produce(n,s=>{const[r]=s.document.operations[a].slice(-1);t.skip&&t.skip>0&&(s.skip=t.skip),r.type==="NOOP"&&t.index===r.index&&s.skip>r.skip&&s.document.operations[a].pop()})}function je(e,t,i){const{scope:n,input:a}=t,s={document:e,action:t,skip:i};return U.produce(s,r=>{if(r.document.operations[n].length<1)throw new Error(`Cannot undo: no operations in history for scope "${n}"`);if(a<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(r.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const[l]=r.document.operations[n].slice(-1),p=l.type==="NOOP"&&l.skip>0;if(r.skip+=a,p){r.skip+=l.skip;const h=r.document.operations[n][r.document.operations[n].length-2];h&&l.index-h.index===1&&r.document.operations[n].pop()}if(r.document.operations[n].length<r.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const x=r.document.operations[n].length-1;let y=a,E=p?x-l.skip:x;for(;y>0&&E>=0;){const h=r.document.operations[n][E];if(!h){y--,E--;continue}h.type==="NOOP"&&h.skip>0?(E=E-(h.skip+1),r.skip+=h.skip+1):(r.document.clipboard.push({...h}),y--,E--)}r.action=St(n)})}function Oe(e,t,i){const{scope:n,input:a}=t,s={document:e,action:t,skip:i};return U.produce(s,r=>{if(r.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(a>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(a<1)throw new Error("Invalid REDO action: invalid redo input value");if(r.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const l=r.document.clipboard.findLastIndex(x=>x.scope===n);if(l<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${n}"`);const p=r.document.clipboard.splice(l,1)[0];r.action=U.castDraft({type:p.type,scope:p.scope,input:p.input})})}function Se(e,t,i){const{scope:n}=t,a=e.operations[n];let{input:{start:s,end:r}}=t;s=s||0,r=r||a.length;const l=a.slice(s,r),p=a.slice(0,s),x=a.slice(r),y=st(e.initialState,{...e.operations,[n]:p.concat(l)},i),{name:E,state:h}=y,S=p.length,$=p.length?p[p.length-1].timestamp:x.length?x[0].timestamp:new Date().toISOString();return st(e.initialState,{...e.operations,[n]:[...p,{...Ot({name:E,state:h},l.length),timestamp:$,index:S,hash:ct({state:h},"global")},...x.map((D,z)=>({...D,index:S+z+1}))]},i)}function $e(e,t){return{...e,name:t.name,state:t.state??{global:{},local:{}}}}const qt="SET_NAME",Y="UNDO",tt="REDO",at="PRUNE",Lt="LOAD_STATE",ze="NOOP";function Ee(e,t){let i;return"index"in t?i={...t}:i=e.operations[t.scope].slice(-1)[0],((i==null?void 0:i.index)??-1)+1}function ve(e,t){return{...e,revision:{...e.revision,[t.scope]:Ee(e,t)},lastModified:new Date().toISOString()}}function Te(e,t,i=0){if([Y,tt,at].includes(t.type))return e;const{scope:n}=t,a=e.operations[n].slice(0,e.revision[n]),s=[...a].pop();let r=((s==null?void 0:s.index)??-1)+1;if("index"in t){if(t.index>r+i)throw new Error(`Missing operations: expected ${r} with skip 0 or equivalent, got index ${t.index} with skip ${i}`);r=t.index}return a.push({...t,index:r,timestamp:new Date().toISOString(),hash:"",scope:n,skip:i,error:void 0}),{...e,operations:{...e.operations,[n]:a}}}function ke(e,t,i=0){let n=Te(e,t,i);return n=ve(n,t),n}function _e(e,t,i){switch(Dt().parse(t),t.type){case qt:return be(e,t.input);case at:return Se(e,t,i);case Lt:return $e(e,t.input.state);default:return e}}function Jt(e,t,i){switch(t.type){case Y:return je(e,t,i);case tt:return Oe(e,t,i);default:return{document:e,action:t,skip:i}}}function wt(e,t,i,n,a={}){const{skip:s,ignoreSkipOperations:r=!1,reuseHash:l=!1}=a;let p={...t},x=s||0,y=e,E=[...e.clipboard];if(Ut(p)){const{document:h,skip:S}=we(y,p,x);x=S,y=h}if(ut(p)){const{skip:h,action:S,document:$}=Jt(e,p,x);p=S,x=h,y=$,E=[...y.clipboard]}if(ft(p)&&(y=_e(y,p,i)),x>0&&!r){let h=x;"index"in p&&(h=Wt(y.operations[p.scope],p.index,x)),y=st(y.initialState,y.operations,i,void 0,void 0,void 0,{[p.scope]:h})}return y=ke(y,p,x),y=U.produce(y,h=>{try{const S=i(h.state,p,n),$=ut(t)?[...E]:[];if(S)return U.castDraft({...y,clipboard:[...$],state:S});h.clipboard=U.castDraft([...$])}catch(S){const $=y.operations[p.scope].length-1;h.operations[p.scope][$].error=S.message,console.error(`Error thrown in reducer. Action: ${JSON.stringify(p)}, Error:`,S)}}),U.produce(y,h=>{if([Y,tt,at].includes(p.type))return h;const S=p.scope||"global",$=l&&Object.prototype.hasOwnProperty.call(p,"hash")?p.hash:ct(h,S);h.operations[S][h.operations[S].length-1].hash=$,!ft(p)&&p.attachments&&p.attachments.forEach(D=>{const{hash:z,...c}=D;h.attachments[z]={...c}})})}function Ae(e,t,i){const n=le.join(e,t);return lt.mkdirSync(e,{recursive:!0}),new Promise((a,s)=>{try{lt.writeFile(n,i,{},r=>{r?s(r):a(n)})}catch(r){s(r)}})}function Ct(e){return lt.readFileSync(e)}function De(e){return new Promise((t,i)=>{ce.get(e,n=>{const a=[],s=n.headers["content-type"];n.on("data",r=>{a.push(r)}),n.on("end",()=>{t({buffer:Buffer.concat(a),mimeType:s})})}).on("error",n=>{i(n)})})}const Ne=async e=>Ct(e),pt=(e,t="sha1")=>pe.createHash(t).update(e).digest("base64");function Ut(e){return e.type===ze&&e.skip!==void 0&&e.skip>0&&e.hash!==void 0}function ut(e){return[Y,tt].includes(e.type)}function ft(e){return[qt,Y,tt,at,Lt].includes(e.type)}function K(e,t,i,n,a="global"){if(!e)throw new Error("Empty action type");if(typeof e!="string")throw new Error(`Invalid action type: ${JSON.stringify(e)}`);const s={type:e,input:t,scope:a};i&&(s.attachments=i);try{n==null||n().parse(s.input)}catch(r){throw new Error(`Invalid action input: ${r}`)}return s}function Vt(e,t=wt){return(i,n,a,s)=>t(i,n,e,a,s)}const Kt=(e,t)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...e,state:(t==null?void 0:t(e==null?void 0:e.state))??(e==null?void 0:e.state)??{global:{},local:{}}}),Bt=(e,t)=>{const i=Kt(e,t);return{...i,initialState:i,operations:{global:[],local:[]},clipboard:[]}},ct=(e,t="global")=>pt(rt(e.state[t]||"")),Me=(e,t=1e3)=>{const i=Math.random()*t;return pt(`${(e??new Date).toISOString()}${i}`)};function G(e){return U.castImmutable(U.freeze(e,!0))}function Ht(e,t){const i=[...e];let n=t||0,a=i.length>0?i[i.length-1].index:0;const s=[];for(const r of i.reverse()){if(n>0){const x=a-r.index;n-=x}if(n<0)throw new Error("Invalid operation index, missing operations");const l={ignore:n>0,operation:r},p=r.skip>0?r.skip+1:0;if(p>0&&p>n){const x=p-n;n=n+x}a=r.index,s.push(l)}return s.reverse()}function Wt(e,t,i){const n=e.slice().sort((l,p)=>l.skip-p.skip).sort((l,p)=>l.index-p.index);let a=i,s=0,r=t;for(const l of n.reverse()){const p=r-l.index;if(a=a-p,a>-1)s++,r=l.index;else break}return s}function Ie(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.timestamp).getTime()-new Date(i.timestamp).getTime())}function Zt(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.operation.timestamp).getTime()-new Date(i.operation.timestamp).getTime())}function st(e,t,i,n,a,s=wt,r={},l){const p=Vt(i,s);return jt(e,t,p,n,a,r,l)}function jt(e,t,i,n,a,s={},r){const l=(r==null?void 0:r.checkHashes)??!0,p=Bt(e),x=Object.keys(t).reduce(($,D)=>{const z=D;return{...$,[z]:Ht(t[z],s[z])}},{}),y=Zt(x),E=y.reduce(($,{ignore:D,operation:z})=>D?i($,St(z.scope),n,{skip:z.skip,ignoreSkipOperations:!0}):i($,z,n,{skip:z.skip,ignoreSkipOperations:!0,reuseHash:!l}),p);if(!l)for(const $ of Object.keys(E.state))for(let D=y.length-1;D>=0;D--){const{ignore:z,operation:c}=y[D];if(!(z||c.scope!==$)){if(c.hash!==ct(E,$))throw new Error(`Hash mismatch for scope ${$}`);break}}const h=Object.keys(E.operations).reduce(($,D)=>{const z=D;return{...$,[z]:[...E.operations[z].map((c,u)=>{var b;return{...c,timestamp:((b=t[z][u])==null?void 0:b.timestamp)??c.timestamp}})]}},{global:[],local:[]}),S=Object.values(h).reduce(($,D)=>{const z=D[D.length-1];return(z==null?void 0:z.timestamp)>$&&($=z.timestamp),$},e.lastModified);return{...E,operations:h,lastModified:S}}function Pe(e,t){return rt(e)===rt(t)}const Gt=e=>K("SET_NAME",e,void 0,yt,void 0),Qt=(e=1,t="global")=>K("UNDO",e,void 0,bt,t),Xt=(e=1,t="global")=>K("REDO",e,void 0,xt,t),Yt=(e,t,i="global")=>K("PRUNE",{start:e,end:t},void 0,ht,i),Ot=(e,t)=>K("LOAD_STATE",{state:e,operations:t},void 0,gt),St=(e="global")=>K("NOOP",{},void 0,void 0,e),Fe=Object.freeze(Object.defineProperty({__proto__:null,loadState:Ot,noop:St,prune:Yt,redo:Xt,setName:Gt,undo:Qt},Symbol.toStringTag,{value:"Module"})),te={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(te);var q=function(e,t,i,n){if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?n:i==="a"?n.call(e):n?n.value:t.get(e)},H,Q,V;class Re{constructor(...t){H.set(this,new Map),Q.set(this,new Map),V.set(this,new Map);for(const i of t)this.define(i)}define(t,i=!1){for(let[n,a]of Object.entries(t)){n=n.toLowerCase(),a=a.map(l=>l.toLowerCase()),q(this,V,"f").has(n)||q(this,V,"f").set(n,new Set);const s=q(this,V,"f").get(n);let r=!0;for(let l of a){const p=l.startsWith("*");if(l=p?l.slice(1):l,s==null||s.add(l),r&&q(this,Q,"f").set(n,l),r=!1,p)continue;const x=q(this,H,"f").get(l);if(x&&x!=n&&!i)throw new Error(`"${n} -> ${l}" conflicts with "${x} -> ${l}". Pass \`force=true\` to override this definition.`);q(this,H,"f").set(l,n)}}return this}getType(t){if(typeof t!="string")return null;const i=t.replace(/^.*[/\\]/,"").toLowerCase(),n=i.replace(/^.*\./,"").toLowerCase(),a=i.length<t.length;return!(n.length<i.length-1)&&a?null:q(this,H,"f").get(n)??null}getExtension(t){var i;return typeof t!="string"?null:(t=(i=t==null?void 0:t.split)==null?void 0:i.call(t,";")[0],(t&&q(this,Q,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return typeof t!="string"?null:q(this,V,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of q(this,V,"f").values())Object.freeze(t);return this}_getTestState(){return{types:q(this,H,"f"),extensions:q(this,Q,"f")}}}H=new WeakMap,Q=new WeakMap,V=new WeakMap;const qe=new Re(te)._freeze();function ee(e){const t=[],i=Object.keys(e);for(const n of i){const a=e[n].sort((s,r)=>s.index-r.index);for(let s=0;s<a.length;s++)a[s].index!==s&&t.push({message:`Invalid operation index ${a[s].index} at position ${s}`,details:{position:s,operation:a[s],scope:a[s].scope}})}return t}const $t=async e=>{const t=new zt,{name:i,revision:n,documentType:a,created:s,lastModified:r}=e,l={name:i,revision:n,documentType:a,created:s,lastModified:r};return t.file("header.json",JSON.stringify(l,null,2)),t.file("state.json",JSON.stringify(e.initialState||{},null,2)),t.file("operations.json",JSON.stringify(e.operations,null,2)),Object.keys(e.attachments).forEach(x=>{const{data:y,...E}=e.attachments[x];t.file(x,y,{base64:!0,createFolders:!0,comment:JSON.stringify(E)})}),t},ie=async(e,t,i,n)=>{const s=await(await $t(e)).generateAsync({type:"uint8array",streamFiles:!0}),r=n??e.name,l=`.${i}.zip`;return Ae(t,r.endsWith(l)?r:`${r}${l}`,s)},Le=async(e,t)=>{const n=await(await $t(e)).generateAsync({type:"blob"}),a=await t.createWritable();await a.write(n),await a.close()},dt=async(e,t,i)=>{const n=Ct(e);return ne(n,t,i)},ne=async(e,t,i)=>{const n=new zt;return await n.loadAsync(e),Je(n,t,i)};async function Je(e,t,i){const n=e.file("state.json");if(!n)throw new Error("Initial state not found");const a=await n.async("string"),s=JSON.parse(a),r=e.file("header.json");let l;r&&(l=JSON.parse(await r.async("string")));const p=e.file("operations.json");if(!p)throw new Error("Operations history not found");const x=JSON.parse(await p.async("string")),y=ee(x);if(y.length){const h=y.map(S=>S.message);throw new Error(h.join(`
|
|
20
|
-
`))}let E=jt(s,x,t,void 0,l,{},i);return l&&(E={...E,...l}),E}function oe(e){const t=e.replace(/^.*\./,"")||void 0,i=e.replace(/^.*[/\\]/,"")||void 0;return{extension:t,fileName:i}}async function Ce(e){const{buffer:t,mimeType:i="application/octet-stream"}=await De(e),n=oe(e),a=t.toString("base64");return{data:a,hash:pt(a),mimeType:i,...n}}async function Ue(e){const t=await Ne(e),i=qe.getType(e)||"application/octet-stream",n=oe(e),a=t.toString("base64");return{data:a,hash:pt(a),mimeType:i,...n}}class Ve{constructor(t,i,n){ot(this,"_document");ot(this,"_reducer");ot(this,"_signalDispatch");this._reducer=t,this._document=i,this._signalDispatch=n}dispatch(t,i){return this._document=this._reducer(this._document,t,this._signalDispatch,i),this}saveToFile(t,i,n){return ie(this._document,t,i,n)}async loadFromFile(t){this._document=await dt(t,this._reducer)}static async stateFromFile(t,i){return await dt(t,i)}get state(){return G(this._document.state)}get operations(){return G(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(t){return this._document.revision[t]}get initialState(){return G(this._document.initialState)}toDocument(){return G(this._document)}getAttachment(t){return this._document.attachments[t]}setName(t){return this.dispatch(Gt(t)),this}undo(t){return this.dispatch(Qt(t)),this}redo(t){return this.dispatch(Xt(t)),this}prune(t,i){return this.dispatch(Yt(t,i)),this}loadState(t,i){return this.dispatch(Ot(t,i)),this}}function Ke(e,t){t.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(n=>{Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(i.prototype,n)||Object.create(null))})})}exports.BaseActions=Fe;exports.BaseDocument=Ve;exports.applyMixins=Ke;exports.baseReducer=wt;exports.calculateSkipsLeft=Wt;exports.createAction=K;exports.createDocument=Bt;exports.createExtendedState=Kt;exports.createReducer=Vt;exports.createZip=$t;exports.getLocalFile=Ue;exports.getRemoteFile=Ce;exports.hashDocument=ct;exports.hashKey=Me;exports.isBaseAction=ft;exports.isNoopOperation=Ut;exports.isSameDocument=Pe;exports.isUndoRedo=ut;exports.loadFromFile=dt;exports.loadFromInput=ne;exports.mapSkippedOperations=Ht;exports.processUndoRedo=Jt;exports.readOnly=G;exports.replayDocument=jt;exports.replayOperations=st;exports.saveToFile=ie;exports.saveToFileHandle=Le;exports.sortMappedOperations=Zt;exports.sortOperations=Ie;exports.validateOperations=ee;exports.zod=he;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { j as e, f as a, b as s, a as o, c as t, k as r, m as i, n, o as c, p as l, i as p, q as d, r as u, t as m, l as O, e as y, u as b, v as D, w as S, x as _, s as f, d as g, y as F, z as v, A as h, B as j, h as x, g as z, C as R, D as A, E as B } from "./object-BxC3xMqY.js";
|
|
2
|
-
const M = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3
|
-
__proto__: null,
|
|
4
|
-
calculateSkipsLeft: e,
|
|
5
|
-
createAction: a,
|
|
6
|
-
createDocument: s,
|
|
7
|
-
createExtendedState: o,
|
|
8
|
-
createReducer: t,
|
|
9
|
-
createZip: r,
|
|
10
|
-
getLocalFile: i,
|
|
11
|
-
getRemoteFile: n,
|
|
12
|
-
hashDocument: c,
|
|
13
|
-
hashKey: l,
|
|
14
|
-
isBaseAction: p,
|
|
15
|
-
isNoopOperation: d,
|
|
16
|
-
isSameDocument: u,
|
|
17
|
-
isUndoRedo: m,
|
|
18
|
-
loadFromFile: O,
|
|
19
|
-
loadFromInput: y,
|
|
20
|
-
mapSkippedOperations: b,
|
|
21
|
-
readOnly: D,
|
|
22
|
-
replayDocument: S,
|
|
23
|
-
replayOperations: _,
|
|
24
|
-
saveToFile: f,
|
|
25
|
-
saveToFileHandle: g,
|
|
26
|
-
sortMappedOperations: F,
|
|
27
|
-
sortOperations: v,
|
|
28
|
-
validateOperations: h
|
|
29
|
-
}, Symbol.toStringTag, { value: "Module" })), k = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
30
|
-
__proto__: null,
|
|
31
|
-
BaseDocument: j,
|
|
32
|
-
actions: x,
|
|
33
|
-
applyMixins: z,
|
|
34
|
-
baseReducer: R,
|
|
35
|
-
processUndoRedo: A,
|
|
36
|
-
utils: M,
|
|
37
|
-
z: B
|
|
38
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
39
|
-
export {
|
|
40
|
-
k as D,
|
|
41
|
-
M as i
|
|
42
|
-
};
|