diff --git a/dist/bundle.js b/dist/bundle.js index 6410c80..756cd5f 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,2 +1,2 @@ /*! For license information please see bundle.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Undo=e():t.Undo=e()}(self,(()=>(()=>{var t={9446:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;const r=Object.prototype.hasOwnProperty;e.hasOwnProperty=function(t,e){return r.call(t,e)}},2270:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.clone=void 0;const{isArray:r}=Array,n=Object.keys;e.clone=t=>{if(!t)return t;if(r(t)){const r=[],n=t.length;for(let o=0;o{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(8906),e)},8906:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.deepEqual=void 0,e.deepEqual=(t,r)=>{if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;let n,o,s;if(Array.isArray(t)){if(n=t.length,n!==r.length)return!1;for(o=n;0!=o--;)if(!(0,e.deepEqual)(t[o],r[o]))return!1;return!0}if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;0!=o--;){const n=s[o];if(!(0,e.deepEqual)(t[n],r[n]))return!1}return!0}return!1}},6651:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(461),e)},461:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.applyPatch=e.applyOps=e.applyOp=void 0;const n=r(2270),o=r(5176);e.applyOp=function(t,e,r){return r||(t=(0,n.clone)(t)),e.apply(t)},e.applyOps=function(t,e,r){r||(t=(0,n.clone)(t));const o=[],s=e.length;for(let r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.operationToPredicateOp=e.operationToOp=void 0;const n=r(8472),o=r(3751),s=r(7295),i=r(2934),a=r(8190),c=r(7243),p=r(6392),u=r(9587),l=r(2814),h=r(8839),f=r(9183),d=r(3747),y=r(463),v=r(782),O=r(4187),g=r(2147),b=r(6526),m=r(1755),w=r(9466),_=r(7749),P=r(8982),x=r(3564),j=r(6810),A=r(3674),E=r(7922),S=r(1886),k=r(9922),T=r(8182),N=r(6127),M=r(6191),I=r(5970);e.operationToOp=(t,r)=>{switch(t.op){case"add":return new n.OpAdd((0,M.toPath)(t.path),t.value);case"remove":return new o.OpRemove((0,M.toPath)(t.path),t.oldValue);case"replace":return new s.OpReplace((0,M.toPath)(t.path),t.value,t.oldValue);case"move":return new i.OpMove((0,M.toPath)(t.path),(0,M.toPath)(t.from));case"copy":return new a.OpCopy((0,M.toPath)(t.path),(0,M.toPath)(t.from));case"flip":return new p.OpFlip((0,M.toPath)(t.path));case"inc":return new u.OpInc((0,M.toPath)(t.path),t.inc);case"str_ins":return new l.OpStrIns((0,M.toPath)(t.path),t.pos,t.str);case"str_del":return new h.OpStrDel((0,M.toPath)(t.path),t.pos,t.str,t.len);case"split":return new f.OpSplit((0,M.toPath)(t.path),t.pos,t.props||null);case"merge":return new d.OpMerge((0,M.toPath)(t.path),t.pos,t.props||null);case"extend":return new y.OpExtend((0,M.toPath)(t.path),t.props,!!t.deleteNull);default:return(0,e.operationToPredicateOp)(t,r)}},e.operationToPredicateOp=(t,r)=>{switch(t.op){case"test":return new c.OpTest((0,M.toPath)(t.path),t.value,!!t.not);case"defined":return new v.OpDefined((0,M.toPath)(t.path));case"undefined":return new O.OpUndefined((0,M.toPath)(t.path));case"type":return new N.OpType((0,M.toPath)(t.path),t.value);case"test_type":return new g.OpTestType((0,M.toPath)(t.path),t.type);case"test_string":return new b.OpTestString((0,M.toPath)(t.path),t.pos,t.str,!!t.not);case"test_string_len":return new m.OpTestStringLen((0,M.toPath)(t.path),t.len,!!t.not);case"contains":return new w.OpContains((0,M.toPath)(t.path),t.value,!!t.ignore_case);case"ends":return new _.OpEnds((0,M.toPath)(t.path),t.value,!!t.ignore_case);case"starts":return new P.OpStarts((0,M.toPath)(t.path),t.value,!!t.ignore_case);case"matches":return new T.OpMatches((0,M.toPath)(t.path),t.value,!!t.ignore_case,r.createMatcher||I.createMatcherDefault);case"in":return new x.OpIn((0,M.toPath)(t.path),t.value);case"less":return new j.OpLess((0,M.toPath)(t.path),t.value);case"more":return new A.OpMore((0,M.toPath)(t.path),t.value);case"and":{const n=(0,M.toPath)(t.path);return new E.OpAnd(n,t.apply.map((t=>(0,e.operationToPredicateOp)({...t,path:[...n,...(0,M.toPath)(t.path)]},r))))}case"or":{const n=(0,M.toPath)(t.path);return new S.OpOr(n,t.apply.map((t=>(0,e.operationToPredicateOp)({...t,path:[...n,...(0,M.toPath)(t.path)]},r))))}case"not":{const n=(0,M.toPath)(t.path);return new k.OpNot(n,t.apply.map((t=>(0,e.operationToPredicateOp)({...t,path:[...n,...(0,M.toPath)(t.path)]},r))))}default:throw new Error("OP_UNKNOWN")}},e.decode=function(t,r){const n=[],o=t.length;for(let s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encode=void 0,e.encode=function(t){const e=[],r=t.length;for(let n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=r(5215);n.__exportStar(r(8828),e),n.__exportStar(r(7460),e)},4285:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},312:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpExtend=e.OpMerge=e.OpSplit=e.OpStrDel=e.OpStrIns=e.OpInc=e.OpFlip=e.OpCopy=e.OpMove=e.OpReplace=e.OpRemove=e.OpAdd=e.OpType=e.OpMatches=e.OpNot=e.OpOr=e.OpAnd=e.OpMore=e.OpLess=e.OpIn=e.OpStarts=e.OpEnds=e.OpContains=e.OpTestStringLen=e.OpTestString=e.OpTestType=e.OpUndefined=e.OpDefined=e.OpTest=void 0;const n=r(5215);n.__exportStar(r(9331),e),n.__exportStar(r(7565),e),n.__exportStar(r(6651),e),n.__exportStar(r(6384),e);var o=r(7174);Object.defineProperty(e,"OpTest",{enumerable:!0,get:function(){return o.OpTest}}),Object.defineProperty(e,"OpDefined",{enumerable:!0,get:function(){return o.OpDefined}}),Object.defineProperty(e,"OpUndefined",{enumerable:!0,get:function(){return o.OpUndefined}}),Object.defineProperty(e,"OpTestType",{enumerable:!0,get:function(){return o.OpTestType}}),Object.defineProperty(e,"OpTestString",{enumerable:!0,get:function(){return o.OpTestString}}),Object.defineProperty(e,"OpTestStringLen",{enumerable:!0,get:function(){return o.OpTestStringLen}}),Object.defineProperty(e,"OpContains",{enumerable:!0,get:function(){return o.OpContains}}),Object.defineProperty(e,"OpEnds",{enumerable:!0,get:function(){return o.OpEnds}}),Object.defineProperty(e,"OpStarts",{enumerable:!0,get:function(){return o.OpStarts}}),Object.defineProperty(e,"OpIn",{enumerable:!0,get:function(){return o.OpIn}}),Object.defineProperty(e,"OpLess",{enumerable:!0,get:function(){return o.OpLess}}),Object.defineProperty(e,"OpMore",{enumerable:!0,get:function(){return o.OpMore}}),Object.defineProperty(e,"OpAnd",{enumerable:!0,get:function(){return o.OpAnd}}),Object.defineProperty(e,"OpOr",{enumerable:!0,get:function(){return o.OpOr}}),Object.defineProperty(e,"OpNot",{enumerable:!0,get:function(){return o.OpNot}}),Object.defineProperty(e,"OpMatches",{enumerable:!0,get:function(){return o.OpMatches}}),Object.defineProperty(e,"OpType",{enumerable:!0,get:function(){return o.OpType}}),Object.defineProperty(e,"OpAdd",{enumerable:!0,get:function(){return o.OpAdd}}),Object.defineProperty(e,"OpRemove",{enumerable:!0,get:function(){return o.OpRemove}}),Object.defineProperty(e,"OpReplace",{enumerable:!0,get:function(){return o.OpReplace}}),Object.defineProperty(e,"OpMove",{enumerable:!0,get:function(){return o.OpMove}}),Object.defineProperty(e,"OpCopy",{enumerable:!0,get:function(){return o.OpCopy}}),Object.defineProperty(e,"OpFlip",{enumerable:!0,get:function(){return o.OpFlip}}),Object.defineProperty(e,"OpInc",{enumerable:!0,get:function(){return o.OpInc}}),Object.defineProperty(e,"OpStrIns",{enumerable:!0,get:function(){return o.OpStrIns}}),Object.defineProperty(e,"OpStrDel",{enumerable:!0,get:function(){return o.OpStrDel}}),Object.defineProperty(e,"OpSplit",{enumerable:!0,get:function(){return o.OpSplit}}),Object.defineProperty(e,"OpMerge",{enumerable:!0,get:function(){return o.OpMerge}}),Object.defineProperty(e,"OpExtend",{enumerable:!0,get:function(){return o.OpExtend}})},3893:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractOp=void 0,e.AbstractOp=class{constructor(t){this.path=t}}},2562:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractPredicateOp=void 0;const n=r(3893);class o extends n.AbstractOp{apply(t){if(!this.test(t))throw new Error("TEST");return{doc:t}}}e.AbstractPredicateOp=o},728:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractSecondOrderPredicateOp=void 0;const n=r(2562);class o extends n.AbstractPredicateOp{constructor(t,e){super(t),this.ops=e}}e.AbstractSecondOrderPredicateOp=o},1783:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpExtend=e.OpMerge=e.OpSplit=e.OpStrDel=e.OpStrIns=e.OpInc=e.OpFlip=e.OpCopy=e.OpMove=e.OpReplace=e.OpRemove=e.OpAdd=e.OpType=e.OpMatches=e.OpNot=e.OpOr=e.OpAnd=e.OpMore=e.OpLess=e.OpIn=e.OpStarts=e.OpEnds=e.OpContains=e.OpTestStringLen=e.OpTestString=e.OpTestType=e.OpUndefined=e.OpDefined=e.OpTest=e.AbstractPredicateOp=void 0;const n=r(8472);Object.defineProperty(e,"OpAdd",{enumerable:!0,get:function(){return n.OpAdd}});const o=r(3751);Object.defineProperty(e,"OpRemove",{enumerable:!0,get:function(){return o.OpRemove}});const s=r(7295);Object.defineProperty(e,"OpReplace",{enumerable:!0,get:function(){return s.OpReplace}});const i=r(2934);Object.defineProperty(e,"OpMove",{enumerable:!0,get:function(){return i.OpMove}});const a=r(8190);Object.defineProperty(e,"OpCopy",{enumerable:!0,get:function(){return a.OpCopy}});const c=r(7243);Object.defineProperty(e,"OpTest",{enumerable:!0,get:function(){return c.OpTest}});const p=r(6392);Object.defineProperty(e,"OpFlip",{enumerable:!0,get:function(){return p.OpFlip}});const u=r(9587);Object.defineProperty(e,"OpInc",{enumerable:!0,get:function(){return u.OpInc}});const l=r(2814);Object.defineProperty(e,"OpStrIns",{enumerable:!0,get:function(){return l.OpStrIns}});const h=r(8839);Object.defineProperty(e,"OpStrDel",{enumerable:!0,get:function(){return h.OpStrDel}});const f=r(9183);Object.defineProperty(e,"OpSplit",{enumerable:!0,get:function(){return f.OpSplit}});const d=r(3747);Object.defineProperty(e,"OpMerge",{enumerable:!0,get:function(){return d.OpMerge}});const y=r(463);Object.defineProperty(e,"OpExtend",{enumerable:!0,get:function(){return y.OpExtend}});const v=r(782);Object.defineProperty(e,"OpDefined",{enumerable:!0,get:function(){return v.OpDefined}});const O=r(4187);Object.defineProperty(e,"OpUndefined",{enumerable:!0,get:function(){return O.OpUndefined}});const g=r(2147);Object.defineProperty(e,"OpTestType",{enumerable:!0,get:function(){return g.OpTestType}});const b=r(6526);Object.defineProperty(e,"OpTestString",{enumerable:!0,get:function(){return b.OpTestString}});const m=r(1755);Object.defineProperty(e,"OpTestStringLen",{enumerable:!0,get:function(){return m.OpTestStringLen}});const w=r(9466);Object.defineProperty(e,"OpContains",{enumerable:!0,get:function(){return w.OpContains}});const _=r(7749);Object.defineProperty(e,"OpEnds",{enumerable:!0,get:function(){return _.OpEnds}});const P=r(8982);Object.defineProperty(e,"OpStarts",{enumerable:!0,get:function(){return P.OpStarts}});const x=r(3564);Object.defineProperty(e,"OpIn",{enumerable:!0,get:function(){return x.OpIn}});const j=r(6810);Object.defineProperty(e,"OpLess",{enumerable:!0,get:function(){return j.OpLess}});const A=r(3674);Object.defineProperty(e,"OpMore",{enumerable:!0,get:function(){return A.OpMore}});const E=r(7922);Object.defineProperty(e,"OpAnd",{enumerable:!0,get:function(){return E.OpAnd}});const S=r(1886);Object.defineProperty(e,"OpOr",{enumerable:!0,get:function(){return S.OpOr}});const k=r(9922);Object.defineProperty(e,"OpNot",{enumerable:!0,get:function(){return k.OpNot}});const T=r(8182);Object.defineProperty(e,"OpMatches",{enumerable:!0,get:function(){return T.OpMatches}});const N=r(6127);Object.defineProperty(e,"OpType",{enumerable:!0,get:function(){return N.OpType}});var M=r(2562);Object.defineProperty(e,"AbstractPredicateOp",{enumerable:!0,get:function(){return M.AbstractPredicateOp}})},8472:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpAdd=void 0;const n=r(3893),o=r(6191),s=r(2270);class i extends n.AbstractOp{constructor(t,e){super(t),this.value=e}op(){return"add"}code(){return 0}apply(t){const{val:e,key:r,obj:n}=(0,o.find)(t,this.path),i=(0,s.clone)(this.value);if(n)if("string"==typeof r)n[r]=i;else{const t=n.length;if(rt)throw new Error("INVALID_INDEX");n.push(i)}}else t=i;return{doc:t,old:e}}toJson(t){return{op:"add",path:(0,o.formatJsonPointer)(this.path),value:this.value}}toCompact(t,e){return[e?"add":0,this.path,this.value]}encode(t){t.encodeArrayHeader(3),t.writer.u8(0),t.encodeArray(this.path),t.encodeAny(this.value)}}e.OpAdd=i},7922:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpAnd=void 0;const n=r(728),o=r(6191);class s extends n.AbstractSecondOrderPredicateOp{constructor(t,e){super(t,e),this.ops=e}op(){return"and"}code(){return 43}test(t){for(const e of this.ops)if(!e.test(t))return!1;return!0}toJson(t){return{op:"and",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),apply:this.ops.map((t=>t.toJson(this)))}}toCompact(t,e){return[e?"and":43,t?this.path.slice(t.path.length):this.path,this.ops.map((t=>t.toCompact(this,e)))]}encode(t,e){const r=e?this.path.slice(e.path.length):this.path;t.encodeArrayHeader(3),t.writer.u8(43),t.encodeArray(r);const n=this.ops.length;t.encodeArrayHeader(n);for(let e=0;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpContains=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.ignore_case=r}op(){return"contains"}code(){return 30}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=this.ignore_case?e.toLowerCase():e,n=this.ignore_case?this.value.toLowerCase():this.value;return r.indexOf(n)>-1}toJson(t){const e={op:"contains",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"contains":30;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(30),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpContains=s},8190:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpCopy=void 0;const n=r(3893),o=r(6191),s=r(8472),i=r(2270);class a extends n.AbstractOp{constructor(t,e){super(t),this.from=e}op(){return"copy"}code(){return 3}apply(t){const{val:e}=(0,o.find)(t,this.from);if(void 0===e)throw new Error("NOT_FOUND");return new s.OpAdd(this.path,(0,i.clone)(e)).apply(t)}toJson(t){return{op:"copy",path:(0,o.formatJsonPointer)(this.path),from:(0,o.formatJsonPointer)(this.from)}}toCompact(t,e){return[e?"copy":3,this.path,this.from]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(3),t.encodeArray(this.path),t.encodeArray(this.from)}}e.OpCopy=a},782:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpDefined=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t){super(t)}op(){return"defined"}code(){return 31}test(t){const{val:e}=(0,o.find)(t,this.path);return void 0!==e}toJson(t){return{op:"defined",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path)}}toCompact(t,e){return[e?"defined":31,t?this.path.slice(t.path.length):this.path]}encode(t,e){t.encodeArrayHeader(2),t.writer.u8(31),t.encodeArray(e?this.path.slice(e.path.length):this.path)}}e.OpDefined=s},7749:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpEnds=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.ignore_case=r}op(){return"ends"}code(){return 32}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=this.ignore_case?e.toLowerCase():e,n=this.ignore_case?this.value.toLowerCase():this.value;return r.endsWith(n)}toJson(t){const e={op:"ends",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"ends":32;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(32),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpEnds=s},463:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpExtend=void 0;const n=r(3893),o=r(6191),{isArray:s}=Array;class i extends n.AbstractOp{constructor(t,e,r){super(t),this.props=e,this.deleteNull=r}op(){return"extend"}code(){return 12}apply(t){const e=(0,o.find)(t,this.path);return(0,o.isArrayReference)(e)?void 0!==e.val&&(e.obj[e.key]=this.extend(e.val)):(0,o.isObjectReference)(e)?e.obj[e.key]=this.extend(e.val):t=this.extend(t),{doc:t}}extend(t){if(s(t))return t;if("object"!=typeof t)return t;if(!t)return t;for(const[e,r]of Object.entries(this.props)){if("__proto__"===e)throw new Error("NO_PROTO");null===r&&this.deleteNull?delete t[e]:t[e]=r}return t}toJson(t){const e={op:"extend",path:(0,o.formatJsonPointer)(this.path),props:this.props};return this.deleteNull&&(e.deleteNull=this.deleteNull),e}toCompact(t,e){const r=e?"extend":12;return this.deleteNull?[r,this.path,this.props,1]:[r,this.path,this.props]}encode(t,e){const{deleteNull:r}=this;t.encodeArrayHeader(r?4:3),t.writer.u8(12),t.encodeArray(this.path),t.encodeObject(this.props),r&&t.writer.u8(1)}}e.OpExtend=i},6392:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpFlip=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t){super(t)}op(){return"flip"}code(){return 8}apply(t){const e=(0,o.find)(t,this.path);return e.obj?e.obj[e.key]=!e.val:t=!e.val,{doc:t,old:e.val}}toJson(t){return{op:"flip",path:(0,o.formatJsonPointer)(this.path)}}toCompact(t,e){return[e?"flip":8,this.path]}encode(t,e){t.encodeArrayHeader(2),t.writer.u8(8),t.encodeArray(this.path)}}e.OpFlip=s},3564:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpIn=void 0;const n=r(6191),o=r(2562),s=r(4339);class i extends o.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"in"}code(){return 33}test(t){const{val:e}=(0,n.find)(t,this.path);for(const t of this.value)if((0,s.deepEqual)(e,t))return!0;return!1}toJson(t){return{op:"in",path:(0,n.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value}}toCompact(t,e){return[e?"in":33,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(33),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeArray(this.value)}}e.OpIn=i},9587:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpInc=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e){super(t),this.inc=e}op(){return"inc"}code(){return 9}apply(t){const e=(0,o.find)(t,this.path),r=this.inc+Number(e.val);return e.obj?e.obj[e.key]=r:t=r,{doc:t,old:e.val}}toJson(t){return{op:"inc",path:(0,o.formatJsonPointer)(this.path),inc:this.inc}}toCompact(t,e){return[e?"inc":9,this.path,this.inc]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(9),t.encodeArray(this.path),t.encodeNumber(this.inc)}}e.OpInc=s},6810:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpLess=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"less"}code(){return 34}test(t){const{val:e}=(0,o.find)(t,this.path);return"number"==typeof e&&e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMatches=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r,n){super(t),this.value=e,this.ignore_case=r,this.matcher=n(e,r)}op(){return"matches"}code(){return 35}test(t){const{val:e}=(0,o.find)(t,this.path);return"string"==typeof e&&this.matcher(e)}toJson(t){const e={op:"matches",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"matches":35;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(35),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpMatches=s},3747:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMerge=void 0;const n=r(3893),o=r(6191),s=r(5970);class i extends n.AbstractOp{constructor(t,e,r){super(t),this.pos=e,this.props=r}op(){return"merge"}code(){return 11}apply(t){const e=(0,o.find)(t,this.path);if(!(0,o.isArrayReference)(e))throw new Error("INVALID_TARGET");if(e.key<=0)throw new Error("INVALID_KEY");const r=e.obj[e.key-1],n=e.obj[e.key],s=this.merge(r,n);return e.obj[e.key-1]=s,e.obj.splice(e.key,1),{doc:t,old:[r,n]}}merge(t,e){return"string"==typeof t&&"string"==typeof e||"number"==typeof t&&"number"==typeof e?t+e:(0,s.isTextNode)(t)&&(0,s.isTextNode)(e)?{...t,...e,text:t.text+e.text}:(0,s.isElementNode)(t)&&(0,s.isElementNode)(e)?{...t,...e,children:[...t.children,...e.children]}:[t,e]}toJson(t){const e={op:"merge",path:(0,o.formatJsonPointer)(this.path),pos:this.pos};return this.props&&(e.props=this.props),e}toCompact(t,e){const r=e?"merge":11;return this.props?[r,this.path,this.pos,this.props]:[r,this.path,this.pos]}encode(t,e){t.encodeArrayHeader(this.props?4:3),t.writer.u8(11),t.encodeArray(this.path),t.encodeNumber(this.pos),this.props&&t.encodeAny(this.props)}}e.OpMerge=i},3674:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMore=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"more"}code(){return 36}test(t){const{val:e}=(0,o.find)(t,this.path);return"number"==typeof e&&e>this.value}toJson(t){return{op:"more",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value}}toCompact(t,e){return[e?"more":36,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(36),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeNumber(this.value)}}e.OpMore=s},2934:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMove=void 0;const n=r(3893),o=r(3751),s=r(8472),i=r(6191);class a extends n.AbstractOp{constructor(t,e){super(t),this.from=e}op(){return"move"}code(){return 4}apply(t){const e=new o.OpRemove((0,i.toPath)(this.from),void 0).apply(t);return new s.OpAdd(this.path,e.old).apply(e.doc)}toJson(t){return{op:"move",path:(0,i.formatJsonPointer)(this.path),from:(0,i.formatJsonPointer)(this.from)}}toCompact(t,e){return[e?"move":4,this.path,this.from]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(4),t.encodeArray(this.path),t.encodeArray(this.from)}}e.OpMove=a},9922:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpNot=void 0;const n=r(728),o=r(6191);class s extends n.AbstractSecondOrderPredicateOp{constructor(t,e){super(t,e),this.ops=e}op(){return"not"}code(){return 44}test(t){for(const e of this.ops)if(e.test(t))return!1;return!0}toJson(t){return{op:"not",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),apply:this.ops.map((t=>t.toJson(this)))}}toCompact(t,e){return[e?"not":44,t?this.path.slice(t.path.length):this.path,this.ops.map((t=>t.toCompact(this,e)))]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(44),t.encodeArray(e?this.path.slice(e.path.length):this.path);const r=this.ops.length;t.encodeArrayHeader(r);for(let e=0;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpOr=void 0;const n=r(728),o=r(6191);class s extends n.AbstractSecondOrderPredicateOp{constructor(t,e){super(t,e),this.ops=e}op(){return"or"}code(){return 45}test(t){for(const e of this.ops)if(e.test(t))return!0;return!1}toJson(t){return{op:"or",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),apply:this.ops.map((t=>t.toJson(this)))}}toCompact(t,e){return[e?"or":45,t?this.path.slice(t.path.length):this.path,this.ops.map((t=>t.toCompact(this,e)))]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(45),t.encodeArray(e?this.path.slice(e.path.length):this.path);const r=this.ops.length;t.encodeArrayHeader(r);for(let e=0;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpRemove=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e){super(t),this.oldValue=e}op(){return"remove"}code(){return 1}apply(t){const e=(0,o.find)(t,this.path);if(void 0===e.val)throw new Error("NOT_FOUND");return(0,o.isObjectReference)(e)?delete e.obj[e.key]:(0,o.isArrayReference)(e)?void 0!==e.val&&e.obj.splice(e.key,1):t=null,{doc:t,old:e.val}}toJson(t){const e={op:"remove",path:(0,o.formatJsonPointer)(this.path)};return void 0!==this.oldValue&&(e.oldValue=this.oldValue),e}toCompact(t,e){const r=e?"remove":1;return void 0===this.oldValue?[r,this.path]:[r,this.path,this.oldValue]}encode(t,e){const r=void 0!==this.oldValue;t.encodeArrayHeader(r?3:2),t.writer.u8(1),t.encodeArray(this.path),r&&t.encodeAny(this.oldValue)}}e.OpRemove=s},7295:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpReplace=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e,r){super(t),this.value=e,this.oldValue=r}op(){return"replace"}code(){return 2}apply(t){const e=(0,o.find)(t,this.path);if(void 0===e.val)throw new Error("NOT_FOUND");return(0,o.isObjectReference)(e)||(0,o.isArrayReference)(e)?e.obj[e.key]=this.value:t=this.value,{doc:t,old:e.val}}toJson(t){const e={op:"replace",path:(0,o.formatJsonPointer)(this.path),value:this.value};return void 0!==this.oldValue&&(e.oldValue=this.oldValue),e}toCompact(t,e){const r=e?"replace":2;return void 0===this.oldValue?[r,this.path,this.value]:[r,this.path,this.value,this.oldValue]}encode(t,e){const r=void 0!==this.oldValue;t.encodeArrayHeader(r?4:3),t.writer.u8(2),t.encodeArray(this.path),t.encodeAny(this.value),r&&t.encodeAny(this.oldValue)}}e.OpReplace=s},9183:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpSplit=void 0;const n=r(3893),o=r(6191),s=r(5970);class i extends n.AbstractOp{constructor(t,e,r){super(t),this.pos=e,this.props=r}op(){return"split"}code(){return 10}apply(t){const e=(0,o.find)(t,this.path);if(void 0===e.val)throw new Error("NOT_FOUND");const r=this.split(e.val);return(0,o.isObjectReference)(e)?e.obj[e.key]=r:(0,o.isArrayReference)(e)?(e.obj[e.key]=r[0],e.obj.splice(e.key+1,0,r[1])):t=r,{doc:t,old:e.val}}split(t){if("string"==typeof t){const{pos:e,props:r}=this,n=t.slice(0,e),o=t.slice(e);return r?[{...r,text:n},{...r,text:o}]:[n,o]}if((0,s.isTextNode)(t)){const{pos:e,props:r}=this,n=t.text.slice(0,e),o=t.text.slice(e);return[{...t,...r,text:n},{...t,...r,text:o}]}if((0,s.isElementNode)(t)){const{pos:e,props:r}=this,n=t.children.slice(0,e),o=t.children.slice(e);return[{...t,...r,children:n},{...t,...r,children:o}]}if("number"==typeof t){const{pos:e}=this;return[e,t-e]}return[t,t]}toJson(t){const e={op:"split",path:(0,o.formatJsonPointer)(this.path),pos:this.pos};return this.props&&(e.props=this.props),e}toCompact(t,e){const r=e?"split":10;return this.props?[r,this.path,this.pos,this.props]:[r,this.path,this.pos]}encode(t,e){t.encodeArrayHeader(this.props?4:3),t.writer.u8(10),t.encodeArray(this.path),t.encodeNumber(this.pos),this.props&&t.encodeObject(this.props)}}e.OpSplit=i},8982:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpStarts=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.ignore_case=r}op(){return"starts"}code(){return 37}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=this.ignore_case?e.toLowerCase():e,n=this.ignore_case?this.value.toLowerCase():this.value;return r.startsWith(n)}toJson(t){const e={op:"starts",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"starts":37;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(37),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpStarts=s},8839:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpStrDel=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e,r,n){super(t),this.pos=e,this.str=r,this.len=n}op(){return"str_del"}code(){return 7}deleteLength(){return"string"==typeof this.str?this.str.length:this.len}apply(t){const{val:e,key:r,obj:n}=(0,o.find)(t,this.path);if("string"!=typeof e)throw new Error("NOT_A_STRING");const s=e.length,i=Math.min(this.pos,e.length),a=Math.min(i,s),c=void 0!==this.str?this.str.length:this.len,p=Math.min(i+c,s),u=e.slice(0,a)+e.substr(p);return n?n[r]=u:t=u,{doc:t,old:e}}toJson(t){return"string"==typeof this.str?{op:"str_del",path:(0,o.formatJsonPointer)(this.path),pos:this.pos,str:this.str}:{op:"str_del",path:(0,o.formatJsonPointer)(this.path),pos:this.pos,len:this.len}}toCompact(t,e){const r=e?"str_del":7;return"string"==typeof this.str?[r,this.path,this.pos,this.str]:[r,this.path,this.pos,0,this.len]}encode(t,e){const r="string"==typeof this.str;t.encodeArrayHeader(r?4:5),t.writer.u8(7),t.encodeArray(this.path),t.encodeNumber(this.pos),r?t.encodeString(this.str):(t.writer.u8(0),t.encodeNumber(this.len))}}e.OpStrDel=s},2814:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpStrIns=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e,r){super(t),this.pos=e,this.str=r}op(){return"str_ins"}code(){return 6}apply(t){const{val:e,key:r,obj:n}=(0,o.find)(t,this.path);if("string"!=typeof e){if(void 0!==e)throw new Error("NOT_A_STRING");if(0!==this.pos)throw new Error("POS")}const s="string"==typeof e?e:"",i=Math.min(this.pos,s.length),a=s.slice(0,i),c=s.slice(i),p=a+this.str+c;return n?n[r]=p:t=p,{doc:t,old:e}}toJson(t){return{op:"str_ins",path:(0,o.formatJsonPointer)(this.path),pos:this.pos,str:this.str}}toCompact(t,e){return[e?"str_ins":6,this.path,this.pos,this.str]}encode(t,e){t.encodeArrayHeader(4),t.writer.u8(6),t.encodeArray(this.path),t.encodeNumber(this.pos),t.encodeString(this.str)}}e.OpStrIns=s},7243:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTest=void 0;const n=r(6191),o=r(2562),s=r(4339);class i extends o.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.not=r}op(){return"test"}code(){return 5}test(t){const{val:e}=(0,n.find)(t,this.path);if(void 0===e)return!!this.not;const r=(0,s.deepEqual)(e,this.value);return this.not?!r:r}toJson(t){const e={op:"test",path:(0,n.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.not&&(e.not=this.not),e}toCompact(t,e){const r=t?this.path.slice(t.path.length):this.path,n=e?"test":5;return this.not?[n,r,this.value,1]:[n,r,this.value]}encode(t,e){t.encodeArrayHeader(this.not?4:3),t.writer.u8(5),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeAny(this.value),this.not&&t.writer.u8(1)}}e.OpTest=i},6526:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTestString=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r,n){super(t),this.pos=e,this.str=r,this.not=n}op(){return"test_string"}code(){return 40}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=e.length,n=Math.min(this.pos,r),s=Math.min(this.pos+this.str.length,r),i=e.substring(n,s)===this.str;return this.not?!i:i}toJson(t){const e={op:"test_string",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),pos:this.pos,str:this.str};return this.not&&(e.not=this.not),e}toCompact(t,e){const r=e?"test_string":40,n=t?this.path.slice(t.path.length):this.path;return this.not?[r,n,this.pos,this.str,1]:[r,n,this.pos,this.str]}encode(t,e){t.encodeArrayHeader(this.not?5:4),t.writer.u8(40),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeNumber(this.pos),t.encodeString(this.str),this.not&&t.writer.u8(1)}}e.OpTestString=s},1755:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTestStringLen=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.len=e,this.not=r}op(){return"test_string_len"}code(){return 41}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=e.length>=this.len;return this.not?!r:r}toJson(t){const e={op:"test_string_len",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),len:this.len};return this.not&&(e.not=this.not),e}toCompact(t,e){const r=e?"test_string_len":41,n=t?this.path.slice(t.path.length):this.path;return this.not?[r,n,this.len,1]:[r,n,this.len]}encode(t,e){t.encodeArrayHeader(this.not?4:3),t.writer.u8(41),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeNumber(this.len),this.not&&t.writer.u8(1)}}e.OpTestStringLen=s},2147:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTestType=void 0;const n=r(2562),o=r(6191),{isArray:s}=Array;class i extends n.AbstractPredicateOp{constructor(t,e){super(t),this.type=e}op(){return"test_type"}code(){return 39}test(t){const{val:e}=(0,o.find)(t,this.path);return null===e?this.type.indexOf("null")>-1:s(e)?this.type.indexOf("array")>-1:this.type.indexOf(typeof e)>-1||"number"==typeof e&&e===Math.round(e)&&this.type.indexOf("integer")>-1}toJson(t){return{op:"test_type",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),type:this.type}}toCompact(t,e){return[e?"test_type":39,t?this.path.slice(t.path.length):this.path,this.type]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(39),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeArray(this.type)}}e.OpTestType=i},6127:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpType=void 0;const n=r(2562),o=r(6191),{isArray:s}=Array;class i extends n.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"type"}code(){return 42}test(t){const{val:e}=(0,o.find)(t,this.path);return null===e?"null"===this.value:s(e)?"array"===this.value:typeof e===this.value||"number"==typeof e&&e===Math.round(e)&&"integer"===this.value}toJson(t){return{op:"type",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value}}toCompact(t,e){return[e?"type":42,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(42),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value)}}e.OpType=i},4187:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpUndefined=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t){super(t)}op(){return"undefined"}code(){return 38}test(t){try{const{val:e}=(0,o.find)(t,this.path);return void 0===e}catch(t){if("NOT_FOUND"===t.message)return!0;throw t}}toJson(t){return{op:"undefined",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path)}}toCompact(t,e){return[e?"undefined":38,t?this.path.slice(t.path.length):this.path]}encode(t,e){t.encodeArrayHeader(2),t.writer.u8(38),t.encodeArray(e?this.path.slice(e.path.length):this.path)}}e.OpUndefined=s},7174:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(1783),e)},9331:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},929:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},7565:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=r(5215);n.__exportStar(r(4285),e),n.__exportStar(r(929),e)},5970:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMatcherDefault=e.isElementNode=e.isTextNode=void 0;const{isArray:r}=Array;e.isTextNode=t=>!!t&&"object"==typeof t&&"string"==typeof t.text,e.isElementNode=t=>!!t&&"object"==typeof t&&r(t.children),e.createMatcherDefault=(t,e)=>{const r=new RegExp(t,e?"i":void 0);return t=>r.test(t)}},6384:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validatePredicateOperation=e.validateOperation=e.validateOperations=void 0;const n=r(4365),o=r(9446);e.validateOperations=(t,r=!1)=>{if(!Array.isArray(t))throw new Error("Not a array.");if(!t.length)throw new Error("Empty operation patch.");for(let n=0;n{if(!t||"object"!=typeof t)throw new Error("OP_INVALID");const o=t.path;if("string"!=typeof o)throw new Error("OP_PATH_INVALID");switch((0,n.validateJsonPointer)(o),t.op){case"add":s(t);break;case"remove":i(t);break;case"replace":a(t);break;case"copy":c(t);break;case"move":p(t);break;case"flip":break;case"inc":v(t);break;case"str_ins":O(t);break;case"str_del":g(t);break;case"extend":b(t);break;case"merge":m(t);break;case"split":w(t);break;default:(0,e.validatePredicateOperation)(t,r)}},e.validatePredicateOperation=(t,r)=>{if(!t||"object"!=typeof t)throw new Error("OP_INVALID");switch((0,n.validateJsonPointer)(t.path),t.op){case"test":u(t);break;case"test_type":l(t);break;case"test_string":d(t);break;case"test_string_len":y(t);break;case"matches":if(!r)throw new Error('"matches" operation not allowed.');_(t);break;case"contains":case"ends":case"starts":_(t);break;case"in":if(!Array.isArray(t.value))throw new Error('"in" operation "value" must be an array.');break;case"more":case"less":if("number"!=typeof t.value)throw new Error("Value must be a number.");break;case"type":x(t.value),f(t.value);break;case"defined":case"undefined":break;case"and":case"or":case"not":if(!Array.isArray(t.apply))throw new Error(`"${t.op}" predicate operators must be an array.`);if(!t.apply.length)throw new Error("Predicate list is empty.");for(const n of t.apply)(0,e.validatePredicateOperation)(n,r);break;default:throw new Error("OP_UNKNOWN")}};const s=t=>{P(t.value)},i=t=>{if((0,o.hasOwnProperty)(t,"oldValue")&&void 0===t.oldValue)throw new Error("Invalid oldValue.")},a=t=>{if((0,o.hasOwnProperty)(t,"oldValue")&&void 0===t.oldValue)throw new Error("Invalid oldValue.")},c=t=>{const e=t.from;if("string"!=typeof e)throw new Error("OP_FROM_INVALID");(0,n.validateJsonPointer)(e)},p=t=>{const e=t.from;if("string"!=typeof e)throw new Error("OP_FROM_INVALID");(0,n.validateJsonPointer)(e);const{path:r}=t;if(0===r.indexOf(e+"/"))throw new Error("Cannot move into own children.")},u=t=>{P(t.value),A(t.not)},l=t=>{if(!Array.isArray(t.type))throw new Error('Invalid "type" field.');if(t.type.length<1)throw new Error("Empty type list.");for(const e of t.type)f(e)},h=new Set(["string","number","boolean","object","integer","array","null"]),f=t=>{if(!h.has(t))throw new Error("Invalid type.")},d=t=>{if(A(t.not),S(t.pos),"string"!=typeof t.str)throw new Error("Value must be a string.")},y=t=>{A(t.not),S(t.len)},v=t=>{if("number"!=typeof t.inc)throw new Error('Invalid "inc" value.')},O=t=>{if(S(t.pos),"string"!=typeof t.str)throw new Error('Expected a string "text" field.')},g=t=>{if(S(t.pos),void 0===t.str&&void 0===t.len)throw new Error('Either "text" or "pos" need to be set.');if(void 0!==t.str){if("string"!=typeof t.str)throw new Error('Expected a string "text" field.')}else S(t.len)},b=t=>{if(!t.props||"object"!=typeof t.props)throw new Error('Invalid "props" field.');if(void 0!==t.deleteNull&&"boolean"!=typeof t.deleteNull)throw new Error('Expected "deleteNull" field to be boolean.')},m=t=>{if(E(t.pos),t.pos<1)throw new Error('Expected "pos" field to be greater than 0.');if(t.props&&"object"!=typeof t.props)throw new Error('Invalid "props" field.')},w=t=>{if(E(t.pos),t.props&&"object"!=typeof t.props)throw new Error('Invalid "props" field.')},_=t=>{x(t.value),j(t.ignore_case)},P=t=>{if(void 0===t)throw new Error("OP_VALUE_MISSING")},x=t=>{if("string"!=typeof t)throw new Error('Expected "value" to be string.');if(t.length>2e4)throw new Error("Value too long.")},j=t=>{if(void 0!==t&&"boolean"!=typeof t)throw new Error('Expected "ignore_case" to be a boolean.')},A=t=>{if(void 0!==t&&"boolean"!=typeof t)throw new Error('Invalid "not" modifier.')},E=t=>{if("number"!=typeof t||t!==Math.round(t))throw new Error("Not an integer.")},S=t=>{if(E(t),t<0)throw new Error("Number is negative.")}},5420:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isObjectReference=e.isArrayEnd=e.isArrayReference=e.find=void 0;const n=r(9446),{isArray:o}=Array;e.find=(t,e)=>{const r=e.length;if(!r)return{val:t};let s,i;for(let a=0;ao(t.obj)&&"number"==typeof t.key,e.isArrayEnd=t=>t.obj.length===t.key,e.isObjectReference=t=>"object"==typeof t.obj&&"string"==typeof t.key},8767:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(130),e)},130:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findByPointer=void 0;const n=r(9446),o=r(2351),{isArray:s}=Array;e.findByPointer=(t,e)=>{if(!t)return{val:e};let r,i,a=0,c=1;for(;a>-1;)if(a=t.indexOf("/",c),i=a>-1?t.substring(c,a):t.substring(c),c=a+1,r=e,s(r)){const t=r.length;if("-"===i)i=t;else{const t=~~i;if(""+t!==i)throw new Error("INVALID_INDEX");if(i=t,i<0)throw"INVALID_INDEX"}e=r[i]}else{if("object"!=typeof r||!r)throw"NOT_FOUND";i=(0,o.unescapeComponent)(i),e=(0,n.hasOwnProperty)(r,i)?r[i]:void 0}return{val:e,obj:r,key:i}}},3439:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.get=void 0;const n=r(9446);e.get=(t,e)=>{const r=e.length;let o;if(!r)return t;for(let s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=r(5215);n.__exportStar(r(5638),e),n.__exportStar(r(2351),e),n.__exportStar(r(4365),e),n.__exportStar(r(3439),e),n.__exportStar(r(5420),e),n.__exportStar(r(8767),e)},5638:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},2351:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isInteger=e.isValidIndex=e.parent=e.isRoot=e.isPathEqual=e.isChild=e.toPath=e.formatJsonPointer=e.parseJsonPointer=e.escapeComponent=e.unescapeComponent=void 0;const r=/~1/g,n=/~0/g,o=/~/g,s=/\//g;function i(t){return-1===t.indexOf("~")?t:t.replace(r,"/").replace(n,"~")}function a(t){return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(o,"~0").replace(s,"~1")}function c(t){return t?t.slice(1).split("/").map(i):[]}e.unescapeComponent=i,e.escapeComponent=a,e.parseJsonPointer=c,e.formatJsonPointer=function(t){return(0,e.isRoot)(t)?"":"/"+t.map((t=>a(String(t)))).join("/")},e.toPath=t=>"string"==typeof t?c(t):t,e.isChild=function(t,e){if(t.length>=e.length)return!1;for(let r=0;r!t.length,e.parent=function(t){if(t.length<1)throw new Error("NO_PARENT");return t.slice(0,t.length-1)},e.isValidIndex=function(t){if("number"==typeof t)return!0;const e=parseInt(t,10);return String(e)===t&&e>=0},e.isInteger=t=>{const e=t.length;let r,n=0;for(;n=48&&r<=57))return!1;n++}return!0}},4365:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validatePath=e.validateJsonPointer=void 0,e.validateJsonPointer=t=>{if("string"==typeof t){if(t){if("/"!==t[0])throw new Error("POINTER_INVALID");if(t.length>1024)throw new Error("POINTER_TOO_LONG")}}else(0,e.validatePath)(t)};const{isArray:r}=Array;e.validatePath=t=>{if(!r(t))throw new Error("Invalid path.");if(t.length>256)throw new Error("Path too long.");for(const e of t)switch(typeof e){case"string":case"number":continue;default:throw new Error("Invalid path step.")}}},5215:(t,e,r)=>{"use strict";r.r(e),r.d(e,{__assign:()=>s,__asyncDelegator:()=>m,__asyncGenerator:()=>b,__asyncValues:()=>w,__await:()=>g,__awaiter:()=>u,__classPrivateFieldGet:()=>j,__classPrivateFieldSet:()=>A,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>f,__extends:()=>o,__generator:()=>l,__importDefault:()=>x,__importStar:()=>P,__makeTemplateObject:()=>_,__metadata:()=>p,__param:()=>c,__read:()=>y,__rest:()=>i,__spread:()=>v,__spreadArrays:()=>O,__values:()=>d});var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)};function o(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var s=function(){return s=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0;a--)(o=t[a])&&(i=(s<3?o(i):s>3?o(e,r,i):o(e,r))||i);return s>3&&i&&Object.defineProperty(e,r,i),i}function c(t,e){return function(r,n){e(r,n,t)}}function p(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function u(t,e,r,n){return new(r||(r=Promise))((function(o,s){function i(t){try{c(n.next(t))}catch(t){s(t)}}function a(t){try{c(n.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,a)}c((n=n.apply(t,e||[])).next())}))}function l(t,e){var r,n,o,s,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,s=r.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(o)throw o.error}}return i}function v(){for(var t=[],e=0;e1||a(t,e)}))})}function a(t,e){try{(r=o[t](e)).value instanceof g?Promise.resolve(r.value.v).then(c,p):u(s[0][2],r)}catch(t){u(s[0][3],t)}var r}function c(t){a("next",t)}function p(t){a("throw",t)}function u(t,e){t(e),s.shift(),s.length&&a(s[0][0],s[0][1])}}function m(t){var e,r;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:g(t[n](e)),done:"return"===n}:o?o(e):e}:o}}function w(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=d(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,o){!function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)}(n,o,(e=t[r](e)).done,e.value)}))}}}function _(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function P(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function x(t){return t&&t.__esModule?t:{default:t}}function j(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function A(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}},4633:(t,e,r)=>{var n=r(3738).default;function o(){"use strict";t.exports=o=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},s=Object.prototype,i=s.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},c="function"==typeof Symbol?Symbol:{},p=c.iterator||"@@iterator",u=c.asyncIterator||"@@asyncIterator",l=c.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(e){h=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var o=e&&e.prototype instanceof m?e:m,s=Object.create(o.prototype),i=new I(n||[]);return a(s,"_invoke",{value:k(t,r,i)}),s}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}r.wrap=f;var y="suspendedStart",v="suspendedYield",O="executing",g="completed",b={};function m(){}function w(){}function _(){}var P={};h(P,p,(function(){return this}));var x=Object.getPrototypeOf,j=x&&x(x(C([])));j&&j!==s&&i.call(j,p)&&(P=j);var A=_.prototype=m.prototype=Object.create(P);function E(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(o,s,a,c){var p=d(t[o],t,s);if("throw"!==p.type){var u=p.arg,l=u.value;return l&&"object"==n(l)&&i.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,c)}))}c(p.arg)}var o;a(this,"_invoke",{value:function(t,n){function s(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(s,s):s()}})}function k(t,r,n){var o=y;return function(s,i){if(o===O)throw Error("Generator is already running");if(o===g){if("throw"===s)throw i;return{value:e,done:!0}}for(n.method=s,n.arg=i;;){var a=n.delegate;if(a){var c=T(a,n);if(c){if(c===b)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=O;var p=d(t,r,n);if("normal"===p.type){if(o=n.done?g:v,p.arg===b)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=g,n.method="throw",n.arg=p.arg)}}}function T(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,T(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var s=d(o,t.iterator,r.arg);if("throw"===s.type)return r.method="throw",r.arg=s.arg,r.delegate=null,b;var i=s.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,b):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,b)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function C(t){if(t||""===t){var r=t[p];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,s=function r(){for(;++o=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var c=i.call(s,"catchLoc"),p=i.call(s,"finallyLoc");if(c&&p){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),M(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;M(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:C(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),b}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},3738:t=>{function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},4756:(t,e,r)=>{var n=r(4633)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n](s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function t(t,e,r,n,o,s,i){try{var a=t[s](i),c=a.value}catch(t){return void r(t)}a.done?e(c):Promise.resolve(c).then(n,o)}function e(e){return function(){var r=this,n=arguments;return new Promise((function(o,s){var i=e.apply(r,n);function a(e){t(i,o,s,a,c,"next",e)}function c(e){t(i,o,s,a,c,"throw",e)}a(void 0)}))}}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function s(t){var e=function(t,e){if("object"!=o(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==o(e)?e:e+""}function i(t,e,r){return(e=s(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){for(var r=0;rat});var u=r(4756),l=r.n(u);const h=t=>"_t"===t?-1:"_"===t.substring(0,1)?parseInt(t.slice(1),10):parseInt(t,10)+.1,f=(t,e)=>h(t)-h(e),d=class{format(t,e){const r={};this.prepareContext(r);const n=r;return this.recurse(n,t,e),this.finalize(n)}prepareContext(t){t.buffer=[],t.out=function(...t){this.buffer.push(...t)}}typeFormattterNotFound(t,e){throw new Error(`cannot format delta type: ${e}`)}typeFormattterErrorFormatter(t,e,r,n,o,s,i){}finalize({buffer:t}){if(Array.isArray(t))return t.join("")}recurse(t,e,r,n,o,s,i){const a=e&&s?s.value:r;if(void 0===e&&void 0===n)return;const c=this.getDeltaType(e,s),p="node"===c?"a"===e._t?"array":"object":"";let u;void 0!==n?this.nodeBegin(t,n,o,c,p,i):this.rootBegin(t,c,p);try{u="unknown"!==c?this[`format_${c}`]:this.typeFormattterNotFound(t,c),u.call(this,t,e,a,n,o,s)}catch(r){this.typeFormattterErrorFormatter(t,r,e,a,n,o,s),"undefined"!=typeof console&&console.error&&console.error(r.stack)}void 0!==n?this.nodeEnd(t,n,o,c,p,i):this.rootEnd(t,c,p)}formatDeltaChildren(t,e,r){this.forEachDeltaKey(e,r,((n,o,s,i)=>{this.recurse(t,e[n],r?r[o]:void 0,n,o,s,i)}))}forEachDeltaKey(t,e,r){const n=Object.keys(t),o="a"===t._t,s={};let i;if(void 0!==e)for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(void 0!==t[i]||o&&void 0!==t[`_${i}`]||n.push(i));for(i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const r=t[i];if(Array.isArray(r)&&3===r[2]){const o=r;s[`${o[1]}`]={key:i,value:e&&e[parseInt(i.substring(1),10)]},!1!==this.includeMoveDestinations&&void 0===e&&void 0===t[o[1]]&&n.push(o[1].toString())}}o?n.sort(f):n.sort();for(let t=0,e=n.length;tt[t.length-1],O=({op:t})=>"move"===t,g=({op:t})=>"remove"===t;let b;const m=(t,e)=>(b||(b=new y),(t=>{const[e,r,n]=((t,e)=>{const r=Array(e.length+1).fill(void 0).map((()=>[]));return t.map((t=>{let r=e.map((e=>e(t))).indexOf(!0);return r<0&&(r=e.length),{item:t,position:r}})).reduce(((t,e)=>(t[e.position].push(e.item),t)),r)})(t,[O,g]);return[...(o=r,i=(t,e)=>{const r=t.path.split("/"),n=e.path.split("/");return r.length!==n.length?r.length-n.length:((t,e)=>{const r=parseInt(t,10),n=parseInt(e,10);return isNaN(r)||isNaN(n)?0:n-r})(v(r),v(n))},(s=o).sort(i),s),...e,...n];var o,s,i})(b.format(t,e)));var w=r(312);const _=class{constructor(t){this.selfOptions=t||{},this.pipes={}}options(t){return t&&(this.selfOptions=t),this.selfOptions}pipe(t,e){let r=e;if("string"==typeof t){if(void 0===r)return this.pipes[t];this.pipes[t]=r}if(t&&t.name){if(r=t,r.processor===this)return r;this.pipes[r.name]=r}return r.processor=this,r}process(t,e){let r=t;r.options=this.options();let n,o=e||t.pipe||"default";for(;o;)void 0!==r.nextAfterChildren&&(r.next=r.nextAfterChildren,r.nextAfterChildren=null),"string"==typeof o&&(o=this.pipe(o)),o.process(r),n=o,o=null,r&&r.next&&(r=r.next,o=r.pipe||n);return r.hasResult?r.result:void 0}},P=class{constructor(t){this.name=t,this.filters=[]}process(t){if(!this.processor)throw new Error("add this pipe to a processor before using it");const e=this.debug,r=this.filters.length,n=t;for(let t=0;tt.filterName))}after(t,...e){const r=this.indexOf(t);return this.filters.splice(r+1,0,...e),this}before(t,...e){const r=this.indexOf(t);return this.filters.splice(r,0,...e),this}replace(t,...e){const r=this.indexOf(t);return this.filters.splice(r,1,...e),this}remove(t){const e=this.indexOf(t);return this.filters.splice(e,1),this}clear(){return this.filters.length=0,this}shouldHaveResult(t){if(!1!==t){if(!this.resultCheck)return this.resultCheck=t=>{if(!t.hasResult){console.log(t);const e=new Error(`${this.name} failed`);throw e.noResult=!0,e}},this}else this.resultCheck=null}};class x{setResult(t){return this.result=t,this.hasResult=!0,this}exit(){return this.exiting=!0,this}push(t,e){return t.parent=this,void 0!==e&&(t.childName=e),t.root=this.root||this,t.options=t.options||this.options,this.children?(this.children[this.children.length-1].next=t,this.children.push(t)):(this.children=[t],this.nextAfterChildren=this.next||null,this.next=t),t.next=this,this}}function j(t){if("object"!=typeof t)return t;if(null===t)return null;if(Array.isArray(t))return t.map(j);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return function(t){const e=/^\/(.*)\/([gimyu]*)$/.exec(t.toString());return new RegExp(e[1],e[2])}(t);const e={};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=j(t[r]));return e}const A=class extends x{constructor(t,e){super(),this.left=t,this.right=e,this.pipe="diff"}setResult(t){if(this.options.cloneDiffValues&&"object"==typeof t){const e="function"==typeof this.options.cloneDiffValues?this.options.cloneDiffValues:j;"object"==typeof t[0]&&(t[0]=e(t[0])),"object"==typeof t[1]&&(t[1]=e(t[1]))}return super.setResult(t)}},E=class extends x{constructor(t,e){super(),this.left=t,this.delta=e,this.pipe="patch"}},S=class extends x{constructor(t){super(),this.delta=t,this.pipe="reverse"}},k=function(t){if(t.left!==t.right)if(void 0!==t.left)if(void 0!==t.right){if("function"==typeof t.left||"function"==typeof t.right)throw new Error("functions are not supported");t.leftType=null===t.left?"null":typeof t.left,t.rightType=null===t.right?"null":typeof t.right,t.leftType===t.rightType&&"boolean"!==t.leftType&&"number"!==t.leftType?("object"===t.leftType&&(t.leftIsArray=Array.isArray(t.left)),"object"===t.rightType&&(t.rightIsArray=Array.isArray(t.right)),t.leftIsArray===t.rightIsArray?t.left instanceof RegExp&&(t.right instanceof RegExp?t.setResult([t.left.toString(),t.right.toString()]).exit():t.setResult([t.left,t.right]).exit()):t.setResult([t.left,t.right]).exit()):t.setResult([t.left,t.right]).exit()}else t.setResult([t.left,0,0]).exit();else{if("function"==typeof t.right)throw new Error("functions are not supported");t.setResult([t.right]).exit()}else t.setResult(void 0).exit()};k.filterName="trivial";const T=function(t){if(void 0===t.delta)return void t.setResult(t.left).exit();if(t.nested=!Array.isArray(t.delta),t.nested)return;const e=t.delta;if(1!==e.length)if(2!==e.length)3===e.length&&0===e[2]&&t.setResult(void 0).exit();else{if(t.left instanceof RegExp){const r=/^\/(.*)\/([gimyu]+)$/.exec(e[1]);if(r)return void t.setResult(new RegExp(r[1],r[2])).exit()}t.setResult(e[1]).exit()}else t.setResult(e[0]).exit()};T.filterName="trivial";const N=function(t){if(void 0===t.delta)return void t.setResult(t.delta).exit();if(t.nested=!Array.isArray(t.delta),t.nested)return;const e=t.delta;1!==e.length?2!==e.length?3===e.length&&0===e[2]&&t.setResult([e[0]]).exit():t.setResult([e[1],e[0]]).exit():t.setResult([e[0],0,0]).exit()};N.filterName="trivial";const M=t=>{if(!t||!t.children)return;const e=t.children.length;let r,n=t.result;for(let o=0;o{if(t.leftIsArray||"object"!==t.leftType)return;const e=t.left,r=t.right;let n,o;const s=t.options.propertyFilter;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s&&!s(n,t)||(o=new A(e[n],r[n]),t.push(o,n)));for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s&&!s(n,t)||void 0===e[n]&&(o=new A(void 0,r[n]),t.push(o,n)));t.children&&0!==t.children.length?t.exit():t.setResult(void 0).exit()};I.filterName="objects";const C=function(t){if(!t.nested)return;const e=t.delta;if(e._t)return;const r=e;let n,o;for(n in r)o=new E(t.left[n],r[n]),t.push(o,n);t.exit()};C.filterName="objects";const R=function(t){if(!t||!t.children)return;if(t.delta._t)return;const e=t.left,r=t.children.length;let n;for(let o=0;o{if(!t||!t.children)return;if(t.delta._t)return;const e=t.children.length;let r;const n={};for(let o=0;o0&&u>0&&!e.objectHash&&"boolean"!=typeof e.matchByPosition&&(e.matchByPosition=!function(t,e,r,n){for(let o=0;ot[o-1][s]?--s:--o;return i}(s,t,e,o)}(f,d,H,e),v=[];for(h=h||{_t:"a"},r=s;r0)for(let p=0;pt-e,U=t=>(e,r)=>e[t]-r[t],$=function(t){if(!t.nested)return;const e=t.delta;if("a"!==e._t)return;let r,n;const o=e,s=t.left;let i=[],a=[];const c=[];for(r in o)if("_t"!==r)if("_"===r[0]){const t=r;if(0!==o[t][2]&&3!==o[t][2])throw new Error(`only removal or move can be applied at original array indices, invalid diff type: ${o[t][2]}`);i.push(parseInt(r.slice(1),10))}else{const t=r;1===o[t].length?a.push({index:parseInt(t,10),value:o[t][0]}):c.push({index:parseInt(t,10),delta:o[t]})}for(i=i.sort(F),r=i.length-1;r>=0;r--){n=i[r];const t=o[`_${n}`],e=s.splice(n,1)[0];3===t[2]&&a.push({index:t[1],value:e})}a=a.sort(U("index"));const p=a.length;for(r=0;r0)for(r=0;r{if("string"==typeof e&&"_"===e[0])return parseInt(e.substring(1),10);if(Array.isArray(r)&&0===r[2])return`_${e}`;let n=+e;for(const r in t){const o=t[r];if(Array.isArray(o))if(3===o[2]){const t=parseInt(r.substring(1),10),s=o[1];if(s===+e)return t;t<=n&&s>n?n++:t>=n&&s{if(!t||!t.children)return;const e=t.delta;if("a"!==e._t)return;const r=e,n=t.children.length;let o;const s={_t:"a"};for(let e=0;e0?o.firstChild:o;n=n>s.length||n<0||!t?s.length:n,r.setStart(s,n),r.collapse(!0),e.removeAllRanges(),e.addRange(r),this.target.focus()}}])}(),ot=function(){return p((function t(){a(this,t),this.operations={add:this.add,remove:this.remove,move:this.move,replace:this.replace}}),[{key:"add",value:(s=e(l().mark((function t(e){var r,n,o,s,i,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=e.actionType,s=e.state,i=r.path.split("/")[1],a="undo"===o?s["_".concat(i)][0]:r.value,t.next=5,n.insert(a.type,a.data,{},parseInt(i,10),!0);case 5:case"end":return t.stop()}}),t)}))),function(t){return s.apply(this,arguments)})},{key:"move",value:(o=e(l().mark((function t(e){var r,n,o,s,i,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=r.path,s=r.from,i=o.split("/")[1],a=s.split("/")[1],t.next=6,n.move(a,i);case 6:case"end":return t.stop()}}),t)}))),function(t){return o.apply(this,arguments)})},{key:"remove",value:(n=e(l().mark((function t(e){var r,n,o,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=r.path,s=o.split("/")[1],t.next=5,n.delete(s);case 5:case"end":return t.stop()}}),t)}))),function(t){return n.apply(this,arguments)})},{key:"replace",value:(r=e(l().mark((function t(e){var r,n,o,s,i,a,c,p,u,h;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=e.baseData,s=r.path,i=s.split("/")[1],t.next=5,n.getBlockByIndex(i).save();case 5:return a=t.sent,c=a.id,p=a.data,u=o[i].data,h=Object.assign(p,u),t.next=12,n.update(c,h);case 12:case"end":return t.stop()}}),t)}))),function(t){return r.apply(this,arguments)})},{key:"delegator",value:(t=e(l().mark((function t(r){var n,o,s,i,a,c,p,u,h=this;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=r.jsonPatchArray,o=r.blocks,s=r.caret,i=r.caretInfo,a=r.actionType,c=r.state,p=r.baseData,u=new Promise((function(t){n.forEach(function(){var r=e(l().mark((function e(r,s){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"==typeof h.operations[r.op]){e.next=2;break}throw new Error("Invalid operation.");case 2:return e.next=4,h.operations[r.op]({jsonPatchElement:r,blocks:o,actionType:a,state:c,baseData:p});case 4:s===n.length-1&&t();case 5:case"end":return e.stop()}}),e)})));return function(t,e){return r.apply(this,arguments)}}())})),u.then(e(l().mark((function t(){var e,r,n,o,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=i.caretIndex,r=i.indexInState,n=document.getElementsByClassName("ce-block__content"),o=n[r],a=o.firstChild,void 0!==o&&!a.classList.contains("inline-image")){t.next=9;break}return t.next=7,s.setToLastBlock("end");case 7:t.next=11;break;case 9:new nt(a).setPosition(e);case 11:case"end":return t.stop()}}),t)}))));case 3:case"end":return t.stop()}}),t)}))),function(e){return t.apply(this,arguments)})}]);var t,r,n,o,s}();function st(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function it(t){for(var e=1;e0}},{key:"canRedo",value:function(){return!this.readOnly&&this.redoStack.length>0}},{key:"parseKeys",value:function(t){var e={CMD:/(Mac)/i.test(navigator.platform)?"metaKey":"ctrlKey",ALT:"altKey",SHIFT:"shiftKey"},r=t.slice(0,-1).map((function(t){return e[t]})),n=r.includes("shiftKey")&&2===t.length?t[t.length-1].toUpperCase():t[t.length-1].toLowerCase();return r.push(n),r}},{key:"setEventListeners",value:function(){var t=this,e=this.holder,r=this.config.shortcuts,n=r.undo,o=r.redo,s=n.map((function(t){return t.replace(/ /g,"").split("+")})),i=o.map((function(t){return t.replace(/ /g,"").split("+")})),a=s.map((function(e){return t.parseKeys(e)})),c=i.map((function(e){return t.parseKeys(e)})),p=function(t,e){return e.reduce((function(e,r){return e||function(t,e){return 3===e.length&&t[e[0]]&&t[e[1]]&&t.key.toLowerCase()===e[2]}(t,r)}),!1)},u=function(t,e,r){return!(!function(t,e){return e.reduce((function(e,r){return e||function(t,e){return 2===e.length&&t[e[0]]&&t.key.toLowerCase()===e[1]}(t,r)}),!1)}(t,e)||p(t,r))||!!p(t,e)},l=function(e){u(e,a,c)&&(e.preventDefault(),t.undo())},h=function(e){u(e,c,a)&&(e.preventDefault(),t.redo())};e.addEventListener("keydown",l),e.addEventListener("keydown",h),e.addEventListener("destroy",(function(){e.removeEventListener("keydown",l),e.removeEventListener("keydown",h)}))}}],[{key:"isReadOnlySupported",get:function(){return!0}}]);var t,r,n}()})(),n.default})())); \ No newline at end of file +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Undo=e():t.Undo=e()}(self,(()=>(()=>{var t={9446:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;const r=Object.prototype.hasOwnProperty;e.hasOwnProperty=function(t,e){return r.call(t,e)}},2270:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.clone=void 0;const{isArray:r}=Array,n=Object.keys;e.clone=t=>{if(!t)return t;if(r(t)){const r=[],n=t.length;for(let o=0;o{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(8906),e)},8906:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.deepEqual=void 0,e.deepEqual=(t,r)=>{if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;let n,o,s;if(Array.isArray(t)){if(n=t.length,n!==r.length)return!1;for(o=n;0!=o--;)if(!(0,e.deepEqual)(t[o],r[o]))return!1;return!0}if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;0!=o--;){const n=s[o];if(!(0,e.deepEqual)(t[n],r[n]))return!1}return!0}return!1}},6651:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(461),e)},461:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.applyPatch=e.applyOps=e.applyOp=void 0;const n=r(2270),o=r(5176);e.applyOp=function(t,e,r){return r||(t=(0,n.clone)(t)),e.apply(t)},e.applyOps=function(t,e,r){r||(t=(0,n.clone)(t));const o=[],s=e.length;for(let r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.operationToPredicateOp=e.operationToOp=void 0;const n=r(8472),o=r(3751),s=r(7295),i=r(2934),a=r(8190),c=r(7243),p=r(6392),u=r(9587),l=r(2814),h=r(8839),d=r(9183),f=r(3747),y=r(463),v=r(782),O=r(4187),g=r(2147),b=r(6526),m=r(1755),w=r(9466),_=r(7749),P=r(8982),x=r(3564),j=r(6810),A=r(3674),E=r(7922),S=r(1886),k=r(9922),T=r(8182),N=r(6127),M=r(6191),I=r(5970);e.operationToOp=(t,r)=>{switch(t.op){case"add":return new n.OpAdd((0,M.toPath)(t.path),t.value);case"remove":return new o.OpRemove((0,M.toPath)(t.path),t.oldValue);case"replace":return new s.OpReplace((0,M.toPath)(t.path),t.value,t.oldValue);case"move":return new i.OpMove((0,M.toPath)(t.path),(0,M.toPath)(t.from));case"copy":return new a.OpCopy((0,M.toPath)(t.path),(0,M.toPath)(t.from));case"flip":return new p.OpFlip((0,M.toPath)(t.path));case"inc":return new u.OpInc((0,M.toPath)(t.path),t.inc);case"str_ins":return new l.OpStrIns((0,M.toPath)(t.path),t.pos,t.str);case"str_del":return new h.OpStrDel((0,M.toPath)(t.path),t.pos,t.str,t.len);case"split":return new d.OpSplit((0,M.toPath)(t.path),t.pos,t.props||null);case"merge":return new f.OpMerge((0,M.toPath)(t.path),t.pos,t.props||null);case"extend":return new y.OpExtend((0,M.toPath)(t.path),t.props,!!t.deleteNull);default:return(0,e.operationToPredicateOp)(t,r)}},e.operationToPredicateOp=(t,r)=>{switch(t.op){case"test":return new c.OpTest((0,M.toPath)(t.path),t.value,!!t.not);case"defined":return new v.OpDefined((0,M.toPath)(t.path));case"undefined":return new O.OpUndefined((0,M.toPath)(t.path));case"type":return new N.OpType((0,M.toPath)(t.path),t.value);case"test_type":return new g.OpTestType((0,M.toPath)(t.path),t.type);case"test_string":return new b.OpTestString((0,M.toPath)(t.path),t.pos,t.str,!!t.not);case"test_string_len":return new m.OpTestStringLen((0,M.toPath)(t.path),t.len,!!t.not);case"contains":return new w.OpContains((0,M.toPath)(t.path),t.value,!!t.ignore_case);case"ends":return new _.OpEnds((0,M.toPath)(t.path),t.value,!!t.ignore_case);case"starts":return new P.OpStarts((0,M.toPath)(t.path),t.value,!!t.ignore_case);case"matches":return new T.OpMatches((0,M.toPath)(t.path),t.value,!!t.ignore_case,r.createMatcher||I.createMatcherDefault);case"in":return new x.OpIn((0,M.toPath)(t.path),t.value);case"less":return new j.OpLess((0,M.toPath)(t.path),t.value);case"more":return new A.OpMore((0,M.toPath)(t.path),t.value);case"and":{const n=(0,M.toPath)(t.path);return new E.OpAnd(n,t.apply.map((t=>(0,e.operationToPredicateOp)({...t,path:[...n,...(0,M.toPath)(t.path)]},r))))}case"or":{const n=(0,M.toPath)(t.path);return new S.OpOr(n,t.apply.map((t=>(0,e.operationToPredicateOp)({...t,path:[...n,...(0,M.toPath)(t.path)]},r))))}case"not":{const n=(0,M.toPath)(t.path);return new k.OpNot(n,t.apply.map((t=>(0,e.operationToPredicateOp)({...t,path:[...n,...(0,M.toPath)(t.path)]},r))))}default:throw new Error("OP_UNKNOWN")}},e.decode=function(t,r){const n=[],o=t.length;for(let s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encode=void 0,e.encode=function(t){const e=[],r=t.length;for(let n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=r(5215);n.__exportStar(r(8828),e),n.__exportStar(r(7460),e)},4285:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},312:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpExtend=e.OpMerge=e.OpSplit=e.OpStrDel=e.OpStrIns=e.OpInc=e.OpFlip=e.OpCopy=e.OpMove=e.OpReplace=e.OpRemove=e.OpAdd=e.OpType=e.OpMatches=e.OpNot=e.OpOr=e.OpAnd=e.OpMore=e.OpLess=e.OpIn=e.OpStarts=e.OpEnds=e.OpContains=e.OpTestStringLen=e.OpTestString=e.OpTestType=e.OpUndefined=e.OpDefined=e.OpTest=void 0;const n=r(5215);n.__exportStar(r(9331),e),n.__exportStar(r(7565),e),n.__exportStar(r(6651),e),n.__exportStar(r(6384),e);var o=r(7174);Object.defineProperty(e,"OpTest",{enumerable:!0,get:function(){return o.OpTest}}),Object.defineProperty(e,"OpDefined",{enumerable:!0,get:function(){return o.OpDefined}}),Object.defineProperty(e,"OpUndefined",{enumerable:!0,get:function(){return o.OpUndefined}}),Object.defineProperty(e,"OpTestType",{enumerable:!0,get:function(){return o.OpTestType}}),Object.defineProperty(e,"OpTestString",{enumerable:!0,get:function(){return o.OpTestString}}),Object.defineProperty(e,"OpTestStringLen",{enumerable:!0,get:function(){return o.OpTestStringLen}}),Object.defineProperty(e,"OpContains",{enumerable:!0,get:function(){return o.OpContains}}),Object.defineProperty(e,"OpEnds",{enumerable:!0,get:function(){return o.OpEnds}}),Object.defineProperty(e,"OpStarts",{enumerable:!0,get:function(){return o.OpStarts}}),Object.defineProperty(e,"OpIn",{enumerable:!0,get:function(){return o.OpIn}}),Object.defineProperty(e,"OpLess",{enumerable:!0,get:function(){return o.OpLess}}),Object.defineProperty(e,"OpMore",{enumerable:!0,get:function(){return o.OpMore}}),Object.defineProperty(e,"OpAnd",{enumerable:!0,get:function(){return o.OpAnd}}),Object.defineProperty(e,"OpOr",{enumerable:!0,get:function(){return o.OpOr}}),Object.defineProperty(e,"OpNot",{enumerable:!0,get:function(){return o.OpNot}}),Object.defineProperty(e,"OpMatches",{enumerable:!0,get:function(){return o.OpMatches}}),Object.defineProperty(e,"OpType",{enumerable:!0,get:function(){return o.OpType}}),Object.defineProperty(e,"OpAdd",{enumerable:!0,get:function(){return o.OpAdd}}),Object.defineProperty(e,"OpRemove",{enumerable:!0,get:function(){return o.OpRemove}}),Object.defineProperty(e,"OpReplace",{enumerable:!0,get:function(){return o.OpReplace}}),Object.defineProperty(e,"OpMove",{enumerable:!0,get:function(){return o.OpMove}}),Object.defineProperty(e,"OpCopy",{enumerable:!0,get:function(){return o.OpCopy}}),Object.defineProperty(e,"OpFlip",{enumerable:!0,get:function(){return o.OpFlip}}),Object.defineProperty(e,"OpInc",{enumerable:!0,get:function(){return o.OpInc}}),Object.defineProperty(e,"OpStrIns",{enumerable:!0,get:function(){return o.OpStrIns}}),Object.defineProperty(e,"OpStrDel",{enumerable:!0,get:function(){return o.OpStrDel}}),Object.defineProperty(e,"OpSplit",{enumerable:!0,get:function(){return o.OpSplit}}),Object.defineProperty(e,"OpMerge",{enumerable:!0,get:function(){return o.OpMerge}}),Object.defineProperty(e,"OpExtend",{enumerable:!0,get:function(){return o.OpExtend}})},3893:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractOp=void 0,e.AbstractOp=class{constructor(t){this.path=t}}},2562:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractPredicateOp=void 0;const n=r(3893);class o extends n.AbstractOp{apply(t){if(!this.test(t))throw new Error("TEST");return{doc:t}}}e.AbstractPredicateOp=o},728:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractSecondOrderPredicateOp=void 0;const n=r(2562);class o extends n.AbstractPredicateOp{constructor(t,e){super(t),this.ops=e}}e.AbstractSecondOrderPredicateOp=o},1783:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpExtend=e.OpMerge=e.OpSplit=e.OpStrDel=e.OpStrIns=e.OpInc=e.OpFlip=e.OpCopy=e.OpMove=e.OpReplace=e.OpRemove=e.OpAdd=e.OpType=e.OpMatches=e.OpNot=e.OpOr=e.OpAnd=e.OpMore=e.OpLess=e.OpIn=e.OpStarts=e.OpEnds=e.OpContains=e.OpTestStringLen=e.OpTestString=e.OpTestType=e.OpUndefined=e.OpDefined=e.OpTest=e.AbstractPredicateOp=void 0;const n=r(8472);Object.defineProperty(e,"OpAdd",{enumerable:!0,get:function(){return n.OpAdd}});const o=r(3751);Object.defineProperty(e,"OpRemove",{enumerable:!0,get:function(){return o.OpRemove}});const s=r(7295);Object.defineProperty(e,"OpReplace",{enumerable:!0,get:function(){return s.OpReplace}});const i=r(2934);Object.defineProperty(e,"OpMove",{enumerable:!0,get:function(){return i.OpMove}});const a=r(8190);Object.defineProperty(e,"OpCopy",{enumerable:!0,get:function(){return a.OpCopy}});const c=r(7243);Object.defineProperty(e,"OpTest",{enumerable:!0,get:function(){return c.OpTest}});const p=r(6392);Object.defineProperty(e,"OpFlip",{enumerable:!0,get:function(){return p.OpFlip}});const u=r(9587);Object.defineProperty(e,"OpInc",{enumerable:!0,get:function(){return u.OpInc}});const l=r(2814);Object.defineProperty(e,"OpStrIns",{enumerable:!0,get:function(){return l.OpStrIns}});const h=r(8839);Object.defineProperty(e,"OpStrDel",{enumerable:!0,get:function(){return h.OpStrDel}});const d=r(9183);Object.defineProperty(e,"OpSplit",{enumerable:!0,get:function(){return d.OpSplit}});const f=r(3747);Object.defineProperty(e,"OpMerge",{enumerable:!0,get:function(){return f.OpMerge}});const y=r(463);Object.defineProperty(e,"OpExtend",{enumerable:!0,get:function(){return y.OpExtend}});const v=r(782);Object.defineProperty(e,"OpDefined",{enumerable:!0,get:function(){return v.OpDefined}});const O=r(4187);Object.defineProperty(e,"OpUndefined",{enumerable:!0,get:function(){return O.OpUndefined}});const g=r(2147);Object.defineProperty(e,"OpTestType",{enumerable:!0,get:function(){return g.OpTestType}});const b=r(6526);Object.defineProperty(e,"OpTestString",{enumerable:!0,get:function(){return b.OpTestString}});const m=r(1755);Object.defineProperty(e,"OpTestStringLen",{enumerable:!0,get:function(){return m.OpTestStringLen}});const w=r(9466);Object.defineProperty(e,"OpContains",{enumerable:!0,get:function(){return w.OpContains}});const _=r(7749);Object.defineProperty(e,"OpEnds",{enumerable:!0,get:function(){return _.OpEnds}});const P=r(8982);Object.defineProperty(e,"OpStarts",{enumerable:!0,get:function(){return P.OpStarts}});const x=r(3564);Object.defineProperty(e,"OpIn",{enumerable:!0,get:function(){return x.OpIn}});const j=r(6810);Object.defineProperty(e,"OpLess",{enumerable:!0,get:function(){return j.OpLess}});const A=r(3674);Object.defineProperty(e,"OpMore",{enumerable:!0,get:function(){return A.OpMore}});const E=r(7922);Object.defineProperty(e,"OpAnd",{enumerable:!0,get:function(){return E.OpAnd}});const S=r(1886);Object.defineProperty(e,"OpOr",{enumerable:!0,get:function(){return S.OpOr}});const k=r(9922);Object.defineProperty(e,"OpNot",{enumerable:!0,get:function(){return k.OpNot}});const T=r(8182);Object.defineProperty(e,"OpMatches",{enumerable:!0,get:function(){return T.OpMatches}});const N=r(6127);Object.defineProperty(e,"OpType",{enumerable:!0,get:function(){return N.OpType}});var M=r(2562);Object.defineProperty(e,"AbstractPredicateOp",{enumerable:!0,get:function(){return M.AbstractPredicateOp}})},8472:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpAdd=void 0;const n=r(3893),o=r(6191),s=r(2270);class i extends n.AbstractOp{constructor(t,e){super(t),this.value=e}op(){return"add"}code(){return 0}apply(t){const{val:e,key:r,obj:n}=(0,o.find)(t,this.path),i=(0,s.clone)(this.value);if(n)if("string"==typeof r)n[r]=i;else{const t=n.length;if(rt)throw new Error("INVALID_INDEX");n.push(i)}}else t=i;return{doc:t,old:e}}toJson(t){return{op:"add",path:(0,o.formatJsonPointer)(this.path),value:this.value}}toCompact(t,e){return[e?"add":0,this.path,this.value]}encode(t){t.encodeArrayHeader(3),t.writer.u8(0),t.encodeArray(this.path),t.encodeAny(this.value)}}e.OpAdd=i},7922:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpAnd=void 0;const n=r(728),o=r(6191);class s extends n.AbstractSecondOrderPredicateOp{constructor(t,e){super(t,e),this.ops=e}op(){return"and"}code(){return 43}test(t){for(const e of this.ops)if(!e.test(t))return!1;return!0}toJson(t){return{op:"and",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),apply:this.ops.map((t=>t.toJson(this)))}}toCompact(t,e){return[e?"and":43,t?this.path.slice(t.path.length):this.path,this.ops.map((t=>t.toCompact(this,e)))]}encode(t,e){const r=e?this.path.slice(e.path.length):this.path;t.encodeArrayHeader(3),t.writer.u8(43),t.encodeArray(r);const n=this.ops.length;t.encodeArrayHeader(n);for(let e=0;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpContains=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.ignore_case=r}op(){return"contains"}code(){return 30}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=this.ignore_case?e.toLowerCase():e,n=this.ignore_case?this.value.toLowerCase():this.value;return r.indexOf(n)>-1}toJson(t){const e={op:"contains",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"contains":30;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(30),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpContains=s},8190:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpCopy=void 0;const n=r(3893),o=r(6191),s=r(8472),i=r(2270);class a extends n.AbstractOp{constructor(t,e){super(t),this.from=e}op(){return"copy"}code(){return 3}apply(t){const{val:e}=(0,o.find)(t,this.from);if(void 0===e)throw new Error("NOT_FOUND");return new s.OpAdd(this.path,(0,i.clone)(e)).apply(t)}toJson(t){return{op:"copy",path:(0,o.formatJsonPointer)(this.path),from:(0,o.formatJsonPointer)(this.from)}}toCompact(t,e){return[e?"copy":3,this.path,this.from]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(3),t.encodeArray(this.path),t.encodeArray(this.from)}}e.OpCopy=a},782:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpDefined=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t){super(t)}op(){return"defined"}code(){return 31}test(t){const{val:e}=(0,o.find)(t,this.path);return void 0!==e}toJson(t){return{op:"defined",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path)}}toCompact(t,e){return[e?"defined":31,t?this.path.slice(t.path.length):this.path]}encode(t,e){t.encodeArrayHeader(2),t.writer.u8(31),t.encodeArray(e?this.path.slice(e.path.length):this.path)}}e.OpDefined=s},7749:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpEnds=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.ignore_case=r}op(){return"ends"}code(){return 32}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=this.ignore_case?e.toLowerCase():e,n=this.ignore_case?this.value.toLowerCase():this.value;return r.endsWith(n)}toJson(t){const e={op:"ends",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"ends":32;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(32),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpEnds=s},463:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpExtend=void 0;const n=r(3893),o=r(6191),{isArray:s}=Array;class i extends n.AbstractOp{constructor(t,e,r){super(t),this.props=e,this.deleteNull=r}op(){return"extend"}code(){return 12}apply(t){const e=(0,o.find)(t,this.path);return(0,o.isArrayReference)(e)?void 0!==e.val&&(e.obj[e.key]=this.extend(e.val)):(0,o.isObjectReference)(e)?e.obj[e.key]=this.extend(e.val):t=this.extend(t),{doc:t}}extend(t){if(s(t))return t;if("object"!=typeof t)return t;if(!t)return t;for(const[e,r]of Object.entries(this.props)){if("__proto__"===e)throw new Error("NO_PROTO");null===r&&this.deleteNull?delete t[e]:t[e]=r}return t}toJson(t){const e={op:"extend",path:(0,o.formatJsonPointer)(this.path),props:this.props};return this.deleteNull&&(e.deleteNull=this.deleteNull),e}toCompact(t,e){const r=e?"extend":12;return this.deleteNull?[r,this.path,this.props,1]:[r,this.path,this.props]}encode(t,e){const{deleteNull:r}=this;t.encodeArrayHeader(r?4:3),t.writer.u8(12),t.encodeArray(this.path),t.encodeObject(this.props),r&&t.writer.u8(1)}}e.OpExtend=i},6392:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpFlip=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t){super(t)}op(){return"flip"}code(){return 8}apply(t){const e=(0,o.find)(t,this.path);return e.obj?e.obj[e.key]=!e.val:t=!e.val,{doc:t,old:e.val}}toJson(t){return{op:"flip",path:(0,o.formatJsonPointer)(this.path)}}toCompact(t,e){return[e?"flip":8,this.path]}encode(t,e){t.encodeArrayHeader(2),t.writer.u8(8),t.encodeArray(this.path)}}e.OpFlip=s},3564:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpIn=void 0;const n=r(6191),o=r(2562),s=r(4339);class i extends o.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"in"}code(){return 33}test(t){const{val:e}=(0,n.find)(t,this.path);for(const t of this.value)if((0,s.deepEqual)(e,t))return!0;return!1}toJson(t){return{op:"in",path:(0,n.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value}}toCompact(t,e){return[e?"in":33,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(33),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeArray(this.value)}}e.OpIn=i},9587:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpInc=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e){super(t),this.inc=e}op(){return"inc"}code(){return 9}apply(t){const e=(0,o.find)(t,this.path),r=this.inc+Number(e.val);return e.obj?e.obj[e.key]=r:t=r,{doc:t,old:e.val}}toJson(t){return{op:"inc",path:(0,o.formatJsonPointer)(this.path),inc:this.inc}}toCompact(t,e){return[e?"inc":9,this.path,this.inc]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(9),t.encodeArray(this.path),t.encodeNumber(this.inc)}}e.OpInc=s},6810:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpLess=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"less"}code(){return 34}test(t){const{val:e}=(0,o.find)(t,this.path);return"number"==typeof e&&e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMatches=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r,n){super(t),this.value=e,this.ignore_case=r,this.matcher=n(e,r)}op(){return"matches"}code(){return 35}test(t){const{val:e}=(0,o.find)(t,this.path);return"string"==typeof e&&this.matcher(e)}toJson(t){const e={op:"matches",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"matches":35;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(35),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpMatches=s},3747:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMerge=void 0;const n=r(3893),o=r(6191),s=r(5970);class i extends n.AbstractOp{constructor(t,e,r){super(t),this.pos=e,this.props=r}op(){return"merge"}code(){return 11}apply(t){const e=(0,o.find)(t,this.path);if(!(0,o.isArrayReference)(e))throw new Error("INVALID_TARGET");if(e.key<=0)throw new Error("INVALID_KEY");const r=e.obj[e.key-1],n=e.obj[e.key],s=this.merge(r,n);return e.obj[e.key-1]=s,e.obj.splice(e.key,1),{doc:t,old:[r,n]}}merge(t,e){return"string"==typeof t&&"string"==typeof e||"number"==typeof t&&"number"==typeof e?t+e:(0,s.isTextNode)(t)&&(0,s.isTextNode)(e)?{...t,...e,text:t.text+e.text}:(0,s.isElementNode)(t)&&(0,s.isElementNode)(e)?{...t,...e,children:[...t.children,...e.children]}:[t,e]}toJson(t){const e={op:"merge",path:(0,o.formatJsonPointer)(this.path),pos:this.pos};return this.props&&(e.props=this.props),e}toCompact(t,e){const r=e?"merge":11;return this.props?[r,this.path,this.pos,this.props]:[r,this.path,this.pos]}encode(t,e){t.encodeArrayHeader(this.props?4:3),t.writer.u8(11),t.encodeArray(this.path),t.encodeNumber(this.pos),this.props&&t.encodeAny(this.props)}}e.OpMerge=i},3674:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMore=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"more"}code(){return 36}test(t){const{val:e}=(0,o.find)(t,this.path);return"number"==typeof e&&e>this.value}toJson(t){return{op:"more",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value}}toCompact(t,e){return[e?"more":36,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(36),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeNumber(this.value)}}e.OpMore=s},2934:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpMove=void 0;const n=r(3893),o=r(3751),s=r(8472),i=r(6191);class a extends n.AbstractOp{constructor(t,e){super(t),this.from=e}op(){return"move"}code(){return 4}apply(t){const e=new o.OpRemove((0,i.toPath)(this.from),void 0).apply(t);return new s.OpAdd(this.path,e.old).apply(e.doc)}toJson(t){return{op:"move",path:(0,i.formatJsonPointer)(this.path),from:(0,i.formatJsonPointer)(this.from)}}toCompact(t,e){return[e?"move":4,this.path,this.from]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(4),t.encodeArray(this.path),t.encodeArray(this.from)}}e.OpMove=a},9922:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpNot=void 0;const n=r(728),o=r(6191);class s extends n.AbstractSecondOrderPredicateOp{constructor(t,e){super(t,e),this.ops=e}op(){return"not"}code(){return 44}test(t){for(const e of this.ops)if(e.test(t))return!1;return!0}toJson(t){return{op:"not",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),apply:this.ops.map((t=>t.toJson(this)))}}toCompact(t,e){return[e?"not":44,t?this.path.slice(t.path.length):this.path,this.ops.map((t=>t.toCompact(this,e)))]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(44),t.encodeArray(e?this.path.slice(e.path.length):this.path);const r=this.ops.length;t.encodeArrayHeader(r);for(let e=0;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpOr=void 0;const n=r(728),o=r(6191);class s extends n.AbstractSecondOrderPredicateOp{constructor(t,e){super(t,e),this.ops=e}op(){return"or"}code(){return 45}test(t){for(const e of this.ops)if(e.test(t))return!0;return!1}toJson(t){return{op:"or",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),apply:this.ops.map((t=>t.toJson(this)))}}toCompact(t,e){return[e?"or":45,t?this.path.slice(t.path.length):this.path,this.ops.map((t=>t.toCompact(this,e)))]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(45),t.encodeArray(e?this.path.slice(e.path.length):this.path);const r=this.ops.length;t.encodeArrayHeader(r);for(let e=0;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpRemove=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e){super(t),this.oldValue=e}op(){return"remove"}code(){return 1}apply(t){const e=(0,o.find)(t,this.path);if(void 0===e.val)throw new Error("NOT_FOUND");return(0,o.isObjectReference)(e)?delete e.obj[e.key]:(0,o.isArrayReference)(e)?void 0!==e.val&&e.obj.splice(e.key,1):t=null,{doc:t,old:e.val}}toJson(t){const e={op:"remove",path:(0,o.formatJsonPointer)(this.path)};return void 0!==this.oldValue&&(e.oldValue=this.oldValue),e}toCompact(t,e){const r=e?"remove":1;return void 0===this.oldValue?[r,this.path]:[r,this.path,this.oldValue]}encode(t,e){const r=void 0!==this.oldValue;t.encodeArrayHeader(r?3:2),t.writer.u8(1),t.encodeArray(this.path),r&&t.encodeAny(this.oldValue)}}e.OpRemove=s},7295:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpReplace=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e,r){super(t),this.value=e,this.oldValue=r}op(){return"replace"}code(){return 2}apply(t){const e=(0,o.find)(t,this.path);if(void 0===e.val)throw new Error("NOT_FOUND");return(0,o.isObjectReference)(e)||(0,o.isArrayReference)(e)?e.obj[e.key]=this.value:t=this.value,{doc:t,old:e.val}}toJson(t){const e={op:"replace",path:(0,o.formatJsonPointer)(this.path),value:this.value};return void 0!==this.oldValue&&(e.oldValue=this.oldValue),e}toCompact(t,e){const r=e?"replace":2;return void 0===this.oldValue?[r,this.path,this.value]:[r,this.path,this.value,this.oldValue]}encode(t,e){const r=void 0!==this.oldValue;t.encodeArrayHeader(r?4:3),t.writer.u8(2),t.encodeArray(this.path),t.encodeAny(this.value),r&&t.encodeAny(this.oldValue)}}e.OpReplace=s},9183:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpSplit=void 0;const n=r(3893),o=r(6191),s=r(5970);class i extends n.AbstractOp{constructor(t,e,r){super(t),this.pos=e,this.props=r}op(){return"split"}code(){return 10}apply(t){const e=(0,o.find)(t,this.path);if(void 0===e.val)throw new Error("NOT_FOUND");const r=this.split(e.val);return(0,o.isObjectReference)(e)?e.obj[e.key]=r:(0,o.isArrayReference)(e)?(e.obj[e.key]=r[0],e.obj.splice(e.key+1,0,r[1])):t=r,{doc:t,old:e.val}}split(t){if("string"==typeof t){const{pos:e,props:r}=this,n=t.slice(0,e),o=t.slice(e);return r?[{...r,text:n},{...r,text:o}]:[n,o]}if((0,s.isTextNode)(t)){const{pos:e,props:r}=this,n=t.text.slice(0,e),o=t.text.slice(e);return[{...t,...r,text:n},{...t,...r,text:o}]}if((0,s.isElementNode)(t)){const{pos:e,props:r}=this,n=t.children.slice(0,e),o=t.children.slice(e);return[{...t,...r,children:n},{...t,...r,children:o}]}if("number"==typeof t){const{pos:e}=this;return[e,t-e]}return[t,t]}toJson(t){const e={op:"split",path:(0,o.formatJsonPointer)(this.path),pos:this.pos};return this.props&&(e.props=this.props),e}toCompact(t,e){const r=e?"split":10;return this.props?[r,this.path,this.pos,this.props]:[r,this.path,this.pos]}encode(t,e){t.encodeArrayHeader(this.props?4:3),t.writer.u8(10),t.encodeArray(this.path),t.encodeNumber(this.pos),this.props&&t.encodeObject(this.props)}}e.OpSplit=i},8982:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpStarts=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.ignore_case=r}op(){return"starts"}code(){return 37}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=this.ignore_case?e.toLowerCase():e,n=this.ignore_case?this.value.toLowerCase():this.value;return r.startsWith(n)}toJson(t){const e={op:"starts",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.ignore_case&&(e.ignore_case=this.ignore_case),e}toCompact(t,e){const r=e?"starts":37;return this.ignore_case?[r,t?this.path.slice(t.path.length):this.path,this.value,1]:[r,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){const r=this.ignore_case;t.encodeArrayHeader(r?4:3),t.writer.u8(37),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value),r&&t.writer.u8(1)}}e.OpStarts=s},8839:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpStrDel=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e,r,n){super(t),this.pos=e,this.str=r,this.len=n}op(){return"str_del"}code(){return 7}deleteLength(){return"string"==typeof this.str?this.str.length:this.len}apply(t){const{val:e,key:r,obj:n}=(0,o.find)(t,this.path);if("string"!=typeof e)throw new Error("NOT_A_STRING");const s=e.length,i=Math.min(this.pos,e.length),a=Math.min(i,s),c=void 0!==this.str?this.str.length:this.len,p=Math.min(i+c,s),u=e.slice(0,a)+e.substr(p);return n?n[r]=u:t=u,{doc:t,old:e}}toJson(t){return"string"==typeof this.str?{op:"str_del",path:(0,o.formatJsonPointer)(this.path),pos:this.pos,str:this.str}:{op:"str_del",path:(0,o.formatJsonPointer)(this.path),pos:this.pos,len:this.len}}toCompact(t,e){const r=e?"str_del":7;return"string"==typeof this.str?[r,this.path,this.pos,this.str]:[r,this.path,this.pos,0,this.len]}encode(t,e){const r="string"==typeof this.str;t.encodeArrayHeader(r?4:5),t.writer.u8(7),t.encodeArray(this.path),t.encodeNumber(this.pos),r?t.encodeString(this.str):(t.writer.u8(0),t.encodeNumber(this.len))}}e.OpStrDel=s},2814:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpStrIns=void 0;const n=r(3893),o=r(6191);class s extends n.AbstractOp{constructor(t,e,r){super(t),this.pos=e,this.str=r}op(){return"str_ins"}code(){return 6}apply(t){const{val:e,key:r,obj:n}=(0,o.find)(t,this.path);if("string"!=typeof e){if(void 0!==e)throw new Error("NOT_A_STRING");if(0!==this.pos)throw new Error("POS")}const s="string"==typeof e?e:"",i=Math.min(this.pos,s.length),a=s.slice(0,i),c=s.slice(i),p=a+this.str+c;return n?n[r]=p:t=p,{doc:t,old:e}}toJson(t){return{op:"str_ins",path:(0,o.formatJsonPointer)(this.path),pos:this.pos,str:this.str}}toCompact(t,e){return[e?"str_ins":6,this.path,this.pos,this.str]}encode(t,e){t.encodeArrayHeader(4),t.writer.u8(6),t.encodeArray(this.path),t.encodeNumber(this.pos),t.encodeString(this.str)}}e.OpStrIns=s},7243:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTest=void 0;const n=r(6191),o=r(2562),s=r(4339);class i extends o.AbstractPredicateOp{constructor(t,e,r){super(t),this.value=e,this.not=r}op(){return"test"}code(){return 5}test(t){const{val:e}=(0,n.find)(t,this.path);if(void 0===e)return!!this.not;const r=(0,s.deepEqual)(e,this.value);return this.not?!r:r}toJson(t){const e={op:"test",path:(0,n.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value};return this.not&&(e.not=this.not),e}toCompact(t,e){const r=t?this.path.slice(t.path.length):this.path,n=e?"test":5;return this.not?[n,r,this.value,1]:[n,r,this.value]}encode(t,e){t.encodeArrayHeader(this.not?4:3),t.writer.u8(5),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeAny(this.value),this.not&&t.writer.u8(1)}}e.OpTest=i},6526:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTestString=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r,n){super(t),this.pos=e,this.str=r,this.not=n}op(){return"test_string"}code(){return 40}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=e.length,n=Math.min(this.pos,r),s=Math.min(this.pos+this.str.length,r),i=e.substring(n,s)===this.str;return this.not?!i:i}toJson(t){const e={op:"test_string",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),pos:this.pos,str:this.str};return this.not&&(e.not=this.not),e}toCompact(t,e){const r=e?"test_string":40,n=t?this.path.slice(t.path.length):this.path;return this.not?[r,n,this.pos,this.str,1]:[r,n,this.pos,this.str]}encode(t,e){t.encodeArrayHeader(this.not?5:4),t.writer.u8(40),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeNumber(this.pos),t.encodeString(this.str),this.not&&t.writer.u8(1)}}e.OpTestString=s},1755:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTestStringLen=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t,e,r){super(t),this.len=e,this.not=r}op(){return"test_string_len"}code(){return 41}test(t){const{val:e}=(0,o.find)(t,this.path);if("string"!=typeof e)return!1;const r=e.length>=this.len;return this.not?!r:r}toJson(t){const e={op:"test_string_len",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),len:this.len};return this.not&&(e.not=this.not),e}toCompact(t,e){const r=e?"test_string_len":41,n=t?this.path.slice(t.path.length):this.path;return this.not?[r,n,this.len,1]:[r,n,this.len]}encode(t,e){t.encodeArrayHeader(this.not?4:3),t.writer.u8(41),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeNumber(this.len),this.not&&t.writer.u8(1)}}e.OpTestStringLen=s},2147:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpTestType=void 0;const n=r(2562),o=r(6191),{isArray:s}=Array;class i extends n.AbstractPredicateOp{constructor(t,e){super(t),this.type=e}op(){return"test_type"}code(){return 39}test(t){const{val:e}=(0,o.find)(t,this.path);return null===e?this.type.indexOf("null")>-1:s(e)?this.type.indexOf("array")>-1:this.type.indexOf(typeof e)>-1||"number"==typeof e&&e===Math.round(e)&&this.type.indexOf("integer")>-1}toJson(t){return{op:"test_type",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),type:this.type}}toCompact(t,e){return[e?"test_type":39,t?this.path.slice(t.path.length):this.path,this.type]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(39),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeArray(this.type)}}e.OpTestType=i},6127:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpType=void 0;const n=r(2562),o=r(6191),{isArray:s}=Array;class i extends n.AbstractPredicateOp{constructor(t,e){super(t),this.value=e}op(){return"type"}code(){return 42}test(t){const{val:e}=(0,o.find)(t,this.path);return null===e?"null"===this.value:s(e)?"array"===this.value:typeof e===this.value||"number"==typeof e&&e===Math.round(e)&&"integer"===this.value}toJson(t){return{op:"type",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path),value:this.value}}toCompact(t,e){return[e?"type":42,t?this.path.slice(t.path.length):this.path,this.value]}encode(t,e){t.encodeArrayHeader(3),t.writer.u8(42),t.encodeArray(e?this.path.slice(e.path.length):this.path),t.encodeString(this.value)}}e.OpType=i},4187:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OpUndefined=void 0;const n=r(2562),o=r(6191);class s extends n.AbstractPredicateOp{constructor(t){super(t)}op(){return"undefined"}code(){return 38}test(t){try{const{val:e}=(0,o.find)(t,this.path);return void 0===e}catch(t){if("NOT_FOUND"===t.message)return!0;throw t}}toJson(t){return{op:"undefined",path:(0,o.formatJsonPointer)(t?this.path.slice(t.path.length):this.path)}}toCompact(t,e){return[e?"undefined":38,t?this.path.slice(t.path.length):this.path]}encode(t,e){t.encodeArrayHeader(2),t.writer.u8(38),t.encodeArray(e?this.path.slice(e.path.length):this.path)}}e.OpUndefined=s},7174:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(1783),e)},9331:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},929:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},7565:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=r(5215);n.__exportStar(r(4285),e),n.__exportStar(r(929),e)},5970:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMatcherDefault=e.isElementNode=e.isTextNode=void 0;const{isArray:r}=Array;e.isTextNode=t=>!!t&&"object"==typeof t&&"string"==typeof t.text,e.isElementNode=t=>!!t&&"object"==typeof t&&r(t.children),e.createMatcherDefault=(t,e)=>{const r=new RegExp(t,e?"i":void 0);return t=>r.test(t)}},6384:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validatePredicateOperation=e.validateOperation=e.validateOperations=void 0;const n=r(4365),o=r(9446);e.validateOperations=(t,r=!1)=>{if(!Array.isArray(t))throw new Error("Not a array.");if(!t.length)throw new Error("Empty operation patch.");for(let n=0;n{if(!t||"object"!=typeof t)throw new Error("OP_INVALID");const o=t.path;if("string"!=typeof o)throw new Error("OP_PATH_INVALID");switch((0,n.validateJsonPointer)(o),t.op){case"add":s(t);break;case"remove":i(t);break;case"replace":a(t);break;case"copy":c(t);break;case"move":p(t);break;case"flip":break;case"inc":v(t);break;case"str_ins":O(t);break;case"str_del":g(t);break;case"extend":b(t);break;case"merge":m(t);break;case"split":w(t);break;default:(0,e.validatePredicateOperation)(t,r)}},e.validatePredicateOperation=(t,r)=>{if(!t||"object"!=typeof t)throw new Error("OP_INVALID");switch((0,n.validateJsonPointer)(t.path),t.op){case"test":u(t);break;case"test_type":l(t);break;case"test_string":f(t);break;case"test_string_len":y(t);break;case"matches":if(!r)throw new Error('"matches" operation not allowed.');_(t);break;case"contains":case"ends":case"starts":_(t);break;case"in":if(!Array.isArray(t.value))throw new Error('"in" operation "value" must be an array.');break;case"more":case"less":if("number"!=typeof t.value)throw new Error("Value must be a number.");break;case"type":x(t.value),d(t.value);break;case"defined":case"undefined":break;case"and":case"or":case"not":if(!Array.isArray(t.apply))throw new Error(`"${t.op}" predicate operators must be an array.`);if(!t.apply.length)throw new Error("Predicate list is empty.");for(const n of t.apply)(0,e.validatePredicateOperation)(n,r);break;default:throw new Error("OP_UNKNOWN")}};const s=t=>{P(t.value)},i=t=>{if((0,o.hasOwnProperty)(t,"oldValue")&&void 0===t.oldValue)throw new Error("Invalid oldValue.")},a=t=>{if((0,o.hasOwnProperty)(t,"oldValue")&&void 0===t.oldValue)throw new Error("Invalid oldValue.")},c=t=>{const e=t.from;if("string"!=typeof e)throw new Error("OP_FROM_INVALID");(0,n.validateJsonPointer)(e)},p=t=>{const e=t.from;if("string"!=typeof e)throw new Error("OP_FROM_INVALID");(0,n.validateJsonPointer)(e);const{path:r}=t;if(0===r.indexOf(e+"/"))throw new Error("Cannot move into own children.")},u=t=>{P(t.value),A(t.not)},l=t=>{if(!Array.isArray(t.type))throw new Error('Invalid "type" field.');if(t.type.length<1)throw new Error("Empty type list.");for(const e of t.type)d(e)},h=new Set(["string","number","boolean","object","integer","array","null"]),d=t=>{if(!h.has(t))throw new Error("Invalid type.")},f=t=>{if(A(t.not),S(t.pos),"string"!=typeof t.str)throw new Error("Value must be a string.")},y=t=>{A(t.not),S(t.len)},v=t=>{if("number"!=typeof t.inc)throw new Error('Invalid "inc" value.')},O=t=>{if(S(t.pos),"string"!=typeof t.str)throw new Error('Expected a string "text" field.')},g=t=>{if(S(t.pos),void 0===t.str&&void 0===t.len)throw new Error('Either "text" or "pos" need to be set.');if(void 0!==t.str){if("string"!=typeof t.str)throw new Error('Expected a string "text" field.')}else S(t.len)},b=t=>{if(!t.props||"object"!=typeof t.props)throw new Error('Invalid "props" field.');if(void 0!==t.deleteNull&&"boolean"!=typeof t.deleteNull)throw new Error('Expected "deleteNull" field to be boolean.')},m=t=>{if(E(t.pos),t.pos<1)throw new Error('Expected "pos" field to be greater than 0.');if(t.props&&"object"!=typeof t.props)throw new Error('Invalid "props" field.')},w=t=>{if(E(t.pos),t.props&&"object"!=typeof t.props)throw new Error('Invalid "props" field.')},_=t=>{x(t.value),j(t.ignore_case)},P=t=>{if(void 0===t)throw new Error("OP_VALUE_MISSING")},x=t=>{if("string"!=typeof t)throw new Error('Expected "value" to be string.');if(t.length>2e4)throw new Error("Value too long.")},j=t=>{if(void 0!==t&&"boolean"!=typeof t)throw new Error('Expected "ignore_case" to be a boolean.')},A=t=>{if(void 0!==t&&"boolean"!=typeof t)throw new Error('Invalid "not" modifier.')},E=t=>{if("number"!=typeof t||t!==Math.round(t))throw new Error("Not an integer.")},S=t=>{if(E(t),t<0)throw new Error("Number is negative.")}},5420:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isObjectReference=e.isArrayEnd=e.isArrayReference=e.find=void 0;const n=r(9446),{isArray:o}=Array;e.find=(t,e)=>{const r=e.length;if(!r)return{val:t};let s,i;for(let a=0;ao(t.obj)&&"number"==typeof t.key,e.isArrayEnd=t=>t.obj.length===t.key,e.isObjectReference=t=>"object"==typeof t.obj&&"string"==typeof t.key},8767:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),r(5215).__exportStar(r(130),e)},130:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findByPointer=void 0;const n=r(9446),o=r(2351),{isArray:s}=Array;e.findByPointer=(t,e)=>{if(!t)return{val:e};let r,i,a=0,c=1;for(;a>-1;)if(a=t.indexOf("/",c),i=a>-1?t.substring(c,a):t.substring(c),c=a+1,r=e,s(r)){const t=r.length;if("-"===i)i=t;else{const t=~~i;if(""+t!==i)throw new Error("INVALID_INDEX");if(i=t,i<0)throw"INVALID_INDEX"}e=r[i]}else{if("object"!=typeof r||!r)throw"NOT_FOUND";i=(0,o.unescapeComponent)(i),e=(0,n.hasOwnProperty)(r,i)?r[i]:void 0}return{val:e,obj:r,key:i}}},3439:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.get=void 0;const n=r(9446);e.get=(t,e)=>{const r=e.length;let o;if(!r)return t;for(let s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=r(5215);n.__exportStar(r(5638),e),n.__exportStar(r(2351),e),n.__exportStar(r(4365),e),n.__exportStar(r(3439),e),n.__exportStar(r(5420),e),n.__exportStar(r(8767),e)},5638:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},2351:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isInteger=e.isValidIndex=e.parent=e.isRoot=e.isPathEqual=e.isChild=e.toPath=e.formatJsonPointer=e.parseJsonPointer=e.escapeComponent=e.unescapeComponent=void 0;const r=/~1/g,n=/~0/g,o=/~/g,s=/\//g;function i(t){return-1===t.indexOf("~")?t:t.replace(r,"/").replace(n,"~")}function a(t){return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(o,"~0").replace(s,"~1")}function c(t){return t?t.slice(1).split("/").map(i):[]}e.unescapeComponent=i,e.escapeComponent=a,e.parseJsonPointer=c,e.formatJsonPointer=function(t){return(0,e.isRoot)(t)?"":"/"+t.map((t=>a(String(t)))).join("/")},e.toPath=t=>"string"==typeof t?c(t):t,e.isChild=function(t,e){if(t.length>=e.length)return!1;for(let r=0;r!t.length,e.parent=function(t){if(t.length<1)throw new Error("NO_PARENT");return t.slice(0,t.length-1)},e.isValidIndex=function(t){if("number"==typeof t)return!0;const e=parseInt(t,10);return String(e)===t&&e>=0},e.isInteger=t=>{const e=t.length;let r,n=0;for(;n=48&&r<=57))return!1;n++}return!0}},4365:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validatePath=e.validateJsonPointer=void 0,e.validateJsonPointer=t=>{if("string"==typeof t){if(t){if("/"!==t[0])throw new Error("POINTER_INVALID");if(t.length>1024)throw new Error("POINTER_TOO_LONG")}}else(0,e.validatePath)(t)};const{isArray:r}=Array;e.validatePath=t=>{if(!r(t))throw new Error("Invalid path.");if(t.length>256)throw new Error("Path too long.");for(const e of t)switch(typeof e){case"string":case"number":continue;default:throw new Error("Invalid path step.")}}},5215:(t,e,r)=>{"use strict";r.r(e),r.d(e,{__assign:()=>s,__asyncDelegator:()=>m,__asyncGenerator:()=>b,__asyncValues:()=>w,__await:()=>g,__awaiter:()=>u,__classPrivateFieldGet:()=>j,__classPrivateFieldSet:()=>A,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>d,__extends:()=>o,__generator:()=>l,__importDefault:()=>x,__importStar:()=>P,__makeTemplateObject:()=>_,__metadata:()=>p,__param:()=>c,__read:()=>y,__rest:()=>i,__spread:()=>v,__spreadArrays:()=>O,__values:()=>f});var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)};function o(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var s=function(){return s=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0;a--)(o=t[a])&&(i=(s<3?o(i):s>3?o(e,r,i):o(e,r))||i);return s>3&&i&&Object.defineProperty(e,r,i),i}function c(t,e){return function(r,n){e(r,n,t)}}function p(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function u(t,e,r,n){return new(r||(r=Promise))((function(o,s){function i(t){try{c(n.next(t))}catch(t){s(t)}}function a(t){try{c(n.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,a)}c((n=n.apply(t,e||[])).next())}))}function l(t,e){var r,n,o,s,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,s=r.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(o)throw o.error}}return i}function v(){for(var t=[],e=0;e1||a(t,e)}))})}function a(t,e){try{(r=o[t](e)).value instanceof g?Promise.resolve(r.value.v).then(c,p):u(s[0][2],r)}catch(t){u(s[0][3],t)}var r}function c(t){a("next",t)}function p(t){a("throw",t)}function u(t,e){t(e),s.shift(),s.length&&a(s[0][0],s[0][1])}}function m(t){var e,r;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:g(t[n](e)),done:"return"===n}:o?o(e):e}:o}}function w(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=f(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,o){!function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)}(n,o,(e=t[r](e)).done,e.value)}))}}}function _(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function P(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function x(t){return t&&t.__esModule?t:{default:t}}function j(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function A(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}},4633:(t,e,r)=>{var n=r(3738).default;function o(){"use strict";t.exports=o=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},s=Object.prototype,i=s.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},c="function"==typeof Symbol?Symbol:{},p=c.iterator||"@@iterator",u=c.asyncIterator||"@@asyncIterator",l=c.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(e){h=function(t,e,r){return t[e]=r}}function d(t,e,r,n){var o=e&&e.prototype instanceof m?e:m,s=Object.create(o.prototype),i=new I(n||[]);return a(s,"_invoke",{value:k(t,r,i)}),s}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}r.wrap=d;var y="suspendedStart",v="suspendedYield",O="executing",g="completed",b={};function m(){}function w(){}function _(){}var P={};h(P,p,(function(){return this}));var x=Object.getPrototypeOf,j=x&&x(x(C([])));j&&j!==s&&i.call(j,p)&&(P=j);var A=_.prototype=m.prototype=Object.create(P);function E(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(o,s,a,c){var p=f(t[o],t,s);if("throw"!==p.type){var u=p.arg,l=u.value;return l&&"object"==n(l)&&i.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,c)}))}c(p.arg)}var o;a(this,"_invoke",{value:function(t,n){function s(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(s,s):s()}})}function k(t,r,n){var o=y;return function(s,i){if(o===O)throw Error("Generator is already running");if(o===g){if("throw"===s)throw i;return{value:e,done:!0}}for(n.method=s,n.arg=i;;){var a=n.delegate;if(a){var c=T(a,n);if(c){if(c===b)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=O;var p=f(t,r,n);if("normal"===p.type){if(o=n.done?g:v,p.arg===b)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=g,n.method="throw",n.arg=p.arg)}}}function T(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,T(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var s=f(o,t.iterator,r.arg);if("throw"===s.type)return r.method="throw",r.arg=s.arg,r.delegate=null,b;var i=s.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,b):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,b)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function C(t){if(t||""===t){var r=t[p];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,s=function r(){for(;++o=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var c=i.call(s,"catchLoc"),p=i.call(s,"finallyLoc");if(c&&p){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),M(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;M(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:C(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),b}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},3738:t=>{function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},4756:(t,e,r)=>{var n=r(4633)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n](s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function t(t,e,r,n,o,s,i){try{var a=t[s](i),c=a.value}catch(t){return void r(t)}a.done?e(c):Promise.resolve(c).then(n,o)}function e(e){return function(){var r=this,n=arguments;return new Promise((function(o,s){var i=e.apply(r,n);function a(e){t(i,o,s,a,c,"next",e)}function c(e){t(i,o,s,a,c,"throw",e)}a(void 0)}))}}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function s(t){var e=function(t,e){if("object"!=o(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==o(e)?e:e+""}function i(t,e,r){return(e=s(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){for(var r=0;rat});var u=r(4756),l=r.n(u);const h=t=>"_t"===t?-1:"_"===t.substring(0,1)?parseInt(t.slice(1),10):parseInt(t,10)+.1,d=(t,e)=>h(t)-h(e),f=class{format(t,e){const r={};this.prepareContext(r);const n=r;return this.recurse(n,t,e),this.finalize(n)}prepareContext(t){t.buffer=[],t.out=function(...t){this.buffer.push(...t)}}typeFormattterNotFound(t,e){throw new Error(`cannot format delta type: ${e}`)}typeFormattterErrorFormatter(t,e,r,n,o,s,i){}finalize({buffer:t}){if(Array.isArray(t))return t.join("")}recurse(t,e,r,n,o,s,i){const a=e&&s?s.value:r;if(void 0===e&&void 0===n)return;const c=this.getDeltaType(e,s),p="node"===c?"a"===e._t?"array":"object":"";let u;void 0!==n?this.nodeBegin(t,n,o,c,p,i):this.rootBegin(t,c,p);try{u="unknown"!==c?this[`format_${c}`]:this.typeFormattterNotFound(t,c),u.call(this,t,e,a,n,o,s)}catch(r){this.typeFormattterErrorFormatter(t,r,e,a,n,o,s),"undefined"!=typeof console&&console.error&&console.error(r.stack)}void 0!==n?this.nodeEnd(t,n,o,c,p,i):this.rootEnd(t,c,p)}formatDeltaChildren(t,e,r){this.forEachDeltaKey(e,r,((n,o,s,i)=>{this.recurse(t,e[n],r?r[o]:void 0,n,o,s,i)}))}forEachDeltaKey(t,e,r){const n=Object.keys(t),o="a"===t._t,s={};let i;if(void 0!==e)for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(void 0!==t[i]||o&&void 0!==t[`_${i}`]||n.push(i));for(i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const r=t[i];if(Array.isArray(r)&&3===r[2]){const o=r;s[`${o[1]}`]={key:i,value:e&&e[parseInt(i.substring(1),10)]},!1!==this.includeMoveDestinations&&void 0===e&&void 0===t[o[1]]&&n.push(o[1].toString())}}o?n.sort(d):n.sort();for(let t=0,e=n.length;tt[t.length-1],O=({op:t})=>"move"===t,g=({op:t})=>"remove"===t;let b;const m=(t,e)=>(b||(b=new y),(t=>{const[e,r,n]=((t,e)=>{const r=Array(e.length+1).fill(void 0).map((()=>[]));return t.map((t=>{let r=e.map((e=>e(t))).indexOf(!0);return r<0&&(r=e.length),{item:t,position:r}})).reduce(((t,e)=>(t[e.position].push(e.item),t)),r)})(t,[O,g]);return[...(o=r,i=(t,e)=>{const r=t.path.split("/"),n=e.path.split("/");return r.length!==n.length?r.length-n.length:((t,e)=>{const r=parseInt(t,10),n=parseInt(e,10);return isNaN(r)||isNaN(n)?0:n-r})(v(r),v(n))},(s=o).sort(i),s),...e,...n];var o,s,i})(b.format(t,e)));var w=r(312);const _=class{constructor(t){this.selfOptions=t||{},this.pipes={}}options(t){return t&&(this.selfOptions=t),this.selfOptions}pipe(t,e){let r=e;if("string"==typeof t){if(void 0===r)return this.pipes[t];this.pipes[t]=r}if(t&&t.name){if(r=t,r.processor===this)return r;this.pipes[r.name]=r}return r.processor=this,r}process(t,e){let r=t;r.options=this.options();let n,o=e||t.pipe||"default";for(;o;)void 0!==r.nextAfterChildren&&(r.next=r.nextAfterChildren,r.nextAfterChildren=null),"string"==typeof o&&(o=this.pipe(o)),o.process(r),n=o,o=null,r&&r.next&&(r=r.next,o=r.pipe||n);return r.hasResult?r.result:void 0}},P=class{constructor(t){this.name=t,this.filters=[]}process(t){if(!this.processor)throw new Error("add this pipe to a processor before using it");const e=this.debug,r=this.filters.length,n=t;for(let t=0;tt.filterName))}after(t,...e){const r=this.indexOf(t);return this.filters.splice(r+1,0,...e),this}before(t,...e){const r=this.indexOf(t);return this.filters.splice(r,0,...e),this}replace(t,...e){const r=this.indexOf(t);return this.filters.splice(r,1,...e),this}remove(t){const e=this.indexOf(t);return this.filters.splice(e,1),this}clear(){return this.filters.length=0,this}shouldHaveResult(t){if(!1!==t){if(!this.resultCheck)return this.resultCheck=t=>{if(!t.hasResult){console.log(t);const e=new Error(`${this.name} failed`);throw e.noResult=!0,e}},this}else this.resultCheck=null}};class x{setResult(t){return this.result=t,this.hasResult=!0,this}exit(){return this.exiting=!0,this}push(t,e){return t.parent=this,void 0!==e&&(t.childName=e),t.root=this.root||this,t.options=t.options||this.options,this.children?(this.children[this.children.length-1].next=t,this.children.push(t)):(this.children=[t],this.nextAfterChildren=this.next||null,this.next=t),t.next=this,this}}function j(t){if("object"!=typeof t)return t;if(null===t)return null;if(Array.isArray(t))return t.map(j);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return function(t){const e=/^\/(.*)\/([gimyu]*)$/.exec(t.toString());return new RegExp(e[1],e[2])}(t);const e={};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=j(t[r]));return e}const A=class extends x{constructor(t,e){super(),this.left=t,this.right=e,this.pipe="diff"}setResult(t){if(this.options.cloneDiffValues&&"object"==typeof t){const e="function"==typeof this.options.cloneDiffValues?this.options.cloneDiffValues:j;"object"==typeof t[0]&&(t[0]=e(t[0])),"object"==typeof t[1]&&(t[1]=e(t[1]))}return super.setResult(t)}},E=class extends x{constructor(t,e){super(),this.left=t,this.delta=e,this.pipe="patch"}},S=class extends x{constructor(t){super(),this.delta=t,this.pipe="reverse"}},k=function(t){if(t.left!==t.right)if(void 0!==t.left)if(void 0!==t.right){if("function"==typeof t.left||"function"==typeof t.right)throw new Error("functions are not supported");t.leftType=null===t.left?"null":typeof t.left,t.rightType=null===t.right?"null":typeof t.right,t.leftType===t.rightType&&"boolean"!==t.leftType&&"number"!==t.leftType?("object"===t.leftType&&(t.leftIsArray=Array.isArray(t.left)),"object"===t.rightType&&(t.rightIsArray=Array.isArray(t.right)),t.leftIsArray===t.rightIsArray?t.left instanceof RegExp&&(t.right instanceof RegExp?t.setResult([t.left.toString(),t.right.toString()]).exit():t.setResult([t.left,t.right]).exit()):t.setResult([t.left,t.right]).exit()):t.setResult([t.left,t.right]).exit()}else t.setResult([t.left,0,0]).exit();else{if("function"==typeof t.right)throw new Error("functions are not supported");t.setResult([t.right]).exit()}else t.setResult(void 0).exit()};k.filterName="trivial";const T=function(t){if(void 0===t.delta)return void t.setResult(t.left).exit();if(t.nested=!Array.isArray(t.delta),t.nested)return;const e=t.delta;if(1!==e.length)if(2!==e.length)3===e.length&&0===e[2]&&t.setResult(void 0).exit();else{if(t.left instanceof RegExp){const r=/^\/(.*)\/([gimyu]+)$/.exec(e[1]);if(r)return void t.setResult(new RegExp(r[1],r[2])).exit()}t.setResult(e[1]).exit()}else t.setResult(e[0]).exit()};T.filterName="trivial";const N=function(t){if(void 0===t.delta)return void t.setResult(t.delta).exit();if(t.nested=!Array.isArray(t.delta),t.nested)return;const e=t.delta;1!==e.length?2!==e.length?3===e.length&&0===e[2]&&t.setResult([e[0]]).exit():t.setResult([e[1],e[0]]).exit():t.setResult([e[0],0,0]).exit()};N.filterName="trivial";const M=t=>{if(!t||!t.children)return;const e=t.children.length;let r,n=t.result;for(let o=0;o{if(t.leftIsArray||"object"!==t.leftType)return;const e=t.left,r=t.right;let n,o;const s=t.options.propertyFilter;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s&&!s(n,t)||(o=new A(e[n],r[n]),t.push(o,n)));for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(s&&!s(n,t)||void 0===e[n]&&(o=new A(void 0,r[n]),t.push(o,n)));t.children&&0!==t.children.length?t.exit():t.setResult(void 0).exit()};I.filterName="objects";const C=function(t){if(!t.nested)return;const e=t.delta;if(e._t)return;const r=e;let n,o;for(n in r)o=new E(t.left[n],r[n]),t.push(o,n);t.exit()};C.filterName="objects";const R=function(t){if(!t||!t.children)return;if(t.delta._t)return;const e=t.left,r=t.children.length;let n;for(let o=0;o{if(!t||!t.children)return;if(t.delta._t)return;const e=t.children.length;let r;const n={};for(let o=0;o0&&u>0&&!e.objectHash&&"boolean"!=typeof e.matchByPosition&&(e.matchByPosition=!function(t,e,r,n){for(let o=0;ot[o-1][s]?--s:--o;return i}(s,t,e,o)}(d,f,H,e),v=[];for(h=h||{_t:"a"},r=s;r0)for(let p=0;pt-e,U=t=>(e,r)=>e[t]-r[t],$=function(t){if(!t.nested)return;const e=t.delta;if("a"!==e._t)return;let r,n;const o=e,s=t.left;let i=[],a=[];const c=[];for(r in o)if("_t"!==r)if("_"===r[0]){const t=r;if(0!==o[t][2]&&3!==o[t][2])throw new Error(`only removal or move can be applied at original array indices, invalid diff type: ${o[t][2]}`);i.push(parseInt(r.slice(1),10))}else{const t=r;1===o[t].length?a.push({index:parseInt(t,10),value:o[t][0]}):c.push({index:parseInt(t,10),delta:o[t]})}for(i=i.sort(F),r=i.length-1;r>=0;r--){n=i[r];const t=o[`_${n}`],e=s.splice(n,1)[0];3===t[2]&&a.push({index:t[1],value:e})}a=a.sort(U("index"));const p=a.length;for(r=0;r0)for(r=0;r{if("string"==typeof e&&"_"===e[0])return parseInt(e.substring(1),10);if(Array.isArray(r)&&0===r[2])return`_${e}`;let n=+e;for(const r in t){const o=t[r];if(Array.isArray(o))if(3===o[2]){const t=parseInt(r.substring(1),10),s=o[1];if(s===+e)return t;t<=n&&s>n?n++:t>=n&&s{if(!t||!t.children)return;const e=t.delta;if("a"!==e._t)return;const r=e,n=t.children.length;let o;const s={_t:"a"};for(let e=0;e0?o.firstChild:o;n=n>s.length||n<0||!t?s.length:n,r.setStart(s,n),r.collapse(!0),e.removeAllRanges(),e.addRange(r),this.target.focus()}}])}(),ot=function(){return p((function t(){a(this,t),this.operations={add:this.add,remove:this.remove,move:this.move,replace:this.replace}}),[{key:"add",value:(s=e(l().mark((function t(e){var r,n,o,s,i,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=e.actionType,s=e.state,i=r.path.split("/")[1],a="undo"===o?s["_".concat(i)][0]:r.value,t.next=5,n.insert(a.type,a.data,{},parseInt(i,10),!0);case 5:case"end":return t.stop()}}),t)}))),function(t){return s.apply(this,arguments)})},{key:"move",value:(o=e(l().mark((function t(e){var r,n,o,s,i,a;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=r.path,s=r.from,i=o.split("/")[1],a=s.split("/")[1],t.next=6,n.move(a,i);case 6:case"end":return t.stop()}}),t)}))),function(t){return o.apply(this,arguments)})},{key:"remove",value:(n=e(l().mark((function t(e){var r,n,o,s;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=r.path,s=o.split("/")[1],t.next=5,n.delete(s);case 5:case"end":return t.stop()}}),t)}))),function(t){return n.apply(this,arguments)})},{key:"replace",value:(r=e(l().mark((function t(e){var r,n,o,s,i,a,c,p;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.jsonPatchElement,n=e.blocks,o=e.baseData,s=r.path,i=s.split("/")[1],t.next=5,n.getBlockByIndex(i).save();case 5:return a=t.sent,c=a.id,p=o[i].data,t.next=10,n.update(c,p);case 10:case"end":return t.stop()}}),t)}))),function(t){return r.apply(this,arguments)})},{key:"delegator",value:(t=e(l().mark((function t(r){var n,o,s,i,a,c,p,u,h=this;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=r.jsonPatchArray,o=r.blocks,s=r.caret,i=r.caretInfo,a=r.actionType,c=r.state,p=r.baseData,u=new Promise((function(t){n.forEach(function(){var r=e(l().mark((function e(r,s){var i,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"==typeof h.operations[r.op]){e.next=2;break}throw new Error("Invalid operation.");case 2:if(i=n.length,u=n[0].path.includes("/data/items"),!(2===i&&u&&n[1].path.includes("/data/items")||1===i&&u)){e.next=10;break}if("add"!==r.op){e.next=8;break}return e.next=8,h.operations.replace({jsonPatchElement:r,blocks:o,actionType:a,state:c,baseData:p});case 8:e.next=12;break;case 10:return e.next=12,h.operations[r.op]({jsonPatchElement:r,blocks:o,actionType:a,state:c,baseData:p});case 12:s===n.length-1&&t();case 13:case"end":return e.stop()}}),e)})));return function(t,e){return r.apply(this,arguments)}}())})),u.then(e(l().mark((function t(){var e,r,n,o,a,c;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=i.caretIndex,r=i.indexInState,n=document.getElementsByClassName("ce-block__content"),o=r>=n.length?r-1:r,a=n[o],c=a.firstChild,void 0!==a){t.next=10;break}return t.next=8,s.setToLastBlock("end");case 8:t.next=11;break;case 10:c.classList.contains("inline-image")||c.classList.contains("cdx-list")?setTimeout((function(){var t=document.getElementsByClassName("ce-block__content")[o].firstChild.lastChild;new nt(t).setPosition(e)}),100):new nt(c).setPosition(e);case 11:case"end":return t.stop()}}),t)}))));case 3:case"end":return t.stop()}}),t)}))),function(e){return t.apply(this,arguments)})}]);var t,r,n,o,s}();function st(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function it(t){for(var e=1;e0}},{key:"canRedo",value:function(){return!this.readOnly&&this.redoStack.length>0}},{key:"parseKeys",value:function(t){var e={CMD:/(Mac)/i.test(navigator.platform)?"metaKey":"ctrlKey",ALT:"altKey",SHIFT:"shiftKey"},r=t.slice(0,-1).map((function(t){return e[t]})),n=r.includes("shiftKey")&&2===t.length?t[t.length-1].toUpperCase():t[t.length-1].toLowerCase();return r.push(n),r}},{key:"setEventListeners",value:function(){var t=this,e=this.holder,r=this.config.shortcuts,n=r.undo,o=r.redo,s=n.map((function(t){return t.replace(/ /g,"").split("+")})),i=o.map((function(t){return t.replace(/ /g,"").split("+")})),a=s.map((function(e){return t.parseKeys(e)})),c=i.map((function(e){return t.parseKeys(e)})),p=function(t,e){return e.reduce((function(e,r){return e||function(t,e){return 3===e.length&&t[e[0]]&&t[e[1]]&&t.key.toLowerCase()===e[2]}(t,r)}),!1)},u=function(t,e,r){return!(!function(t,e){return e.reduce((function(e,r){return e||function(t,e){return 2===e.length&&t[e[0]]&&t.key.toLowerCase()===e[1]}(t,r)}),!1)}(t,e)||p(t,r))||!!p(t,e)},l=function(e){u(e,a,c)&&(e.preventDefault(),t.undo())},h=function(e){u(e,c,a)&&(e.preventDefault(),t.redo())};e.addEventListener("keydown",l),e.addEventListener("keydown",h),e.addEventListener("destroy",(function(){e.removeEventListener("keydown",l),e.removeEventListener("keydown",h)}))}}],[{key:"isReadOnlySupported",get:function(){return!0}}]);var t,r,n}()})(),n.default})())); \ No newline at end of file diff --git a/src/caret.js b/src/caret.js index c84504c..8fcfd5b 100644 --- a/src/caret.js +++ b/src/caret.js @@ -35,11 +35,12 @@ export default class Caret { const range = document.createRange(); let position = pos; - const firstNode = this.target.firstChild; + let firstNode = this.target.firstChild; if (firstNode === null) { this.target.innerHTML = ' '; position = 0; + firstNode = this.target.firstChild; } const content = firstNode.childNodes.length > 0 ? firstNode.firstChild : firstNode; diff --git a/src/historyManager.js b/src/historyManager.js index f99dec7..8e40f9a 100644 --- a/src/historyManager.js +++ b/src/historyManager.js @@ -71,11 +71,10 @@ export default class HistoryManager { const { path } = jsonPatchElement; const index = path.split('/')[1]; - const { id, data } = await blocks.getBlockByIndex(index).save(); - const { data: oldData } = baseData[index]; - const updatedData = Object.assign(data, oldData); + const { id } = await blocks.getBlockByIndex(index).save(); + const { data } = baseData[index]; - await blocks.update(id, updatedData); + await blocks.update(id, data); } /** @@ -106,13 +105,31 @@ export default class HistoryManager { throw new Error('Invalid operation.'); } - await this.operations[jsonPatchElement.op]({ - jsonPatchElement, - blocks, - actionType, - state, - baseData, - }); + // Starts workflow to handle the block of type list + const { length } = jsonPatchArray; + const firstPatchElement = jsonPatchArray[0].path.includes('/data/items'); + + if ((length === 2 && firstPatchElement && jsonPatchArray[1].path.includes('/data/items')) + || (length === 1 && firstPatchElement)) { + if (jsonPatchElement.op === 'add') { + await this.operations.replace({ + jsonPatchElement, + blocks, + actionType, + state, + baseData, + }); + } + // Ends workflow to handle the block of type list + } else { + await this.operations[jsonPatchElement.op]({ + jsonPatchElement, + blocks, + actionType, + state, + baseData, + }); + } if (index === jsonPatchArray.length - 1) { resolve(); @@ -124,11 +141,21 @@ export default class HistoryManager { restorationPromise.then(async () => { const { caretIndex, indexInState } = caretInfo; const editorBlocks = document.getElementsByClassName('ce-block__content'); - const target = editorBlocks[indexInState]; + const index = indexInState >= editorBlocks.length ? indexInState - 1 : indexInState; + const target = editorBlocks[index]; const mainNode = target.firstChild; - if (target === undefined || mainNode.classList.contains('inline-image')) { + if (target === undefined) { await caret.setToLastBlock('end'); + } else if (mainNode.classList.contains('inline-image') || mainNode.classList.contains('cdx-list')) { + setTimeout(() => { + const reloadedBlocks = document.getElementsByClassName('ce-block__content'); + const imageBlock = reloadedBlocks[index]; + const imageCaption = imageBlock.firstChild.lastChild; + const holder = new Caret(imageCaption); + + holder.setPosition(caretIndex); + }, 100); } else { const holder = new Caret(mainNode); holder.setPosition(caretIndex);