tinybase 4.5.1 → 4.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/tinybase.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",d="Result",c="add",u="Has",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",v=w+"Count",I=w+h,S="Sorted"+w+h,R="Cell",T=R+h,y="Value",C=y+"s",p=y+h,b=e=>t+e,V=Math.max,m=Math.min,E=isFinite,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),D=e=>e==s||e==n,J=t=>e(t)==o,A=e=>Array.isArray(e),x=(e,t,s)=>e.slice(t,s),F=e=>e.length,Q=()=>{},z=(e,t)=>e.includes(t),N=(e,t)=>e.every(t),O=(e,t)=>F(e)===F(t)&&N(e,((e,s)=>t[s]===e)),P=(e,t)=>N(e,((s,n)=>0==n||t(e[n-1],s)<=0)),j=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==F(e),q=(e,t,s)=>e.reduce(t,s),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.keys,_=X.isFrozen,ee=X.freeze,te=e=>!k(e)&&M(Y(e),(e=>e==X.prototype||k(Y(e))),(()=>!0)),se=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>B(X.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>F(Z(e)))(e),re=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ie=e=>k(e)||0==re(e),de=e=>[...e?.values()??[]],ce=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),ve=(e,t,s)=>k(s)?(he(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(le(e,t)||ve(e,t,s()),Le(e,t)),Se=(e,t,s,n=ve)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Te=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),ye=(e,t,s)=>Re(e,(e=>Te(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),Ve=(e,t,s,n,a=0)=>M((s?Ie:Le)(e,t[a],a>F(t)-2?s:ge),(o=>{if(a>F(t)-2)return n?.(o)&&ve(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&ve(e,t[a]),r})),me=t=>{const s=e(t);return D(s)||s==a&&E(t)?s:void 0},Ee=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(A(e)||k(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s,n,a)=>{const o=e.hasRow,r=ge(),l=ge(),i=ge(),d=ge(),c=ge(),u=ge(),h=(t,s,...n)=>{const a=Ie(u,t,Me);return W(n,(t=>De(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>M(Le(u,t),(n=>{W($(s)?de(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&ve(u,t)})),f=(e,s)=>{ve(r,e,s),le(l,e)||(ve(l,e,t()),ve(d,e,ge()),ve(c,e,ge()),a(i))},L=e=>{ve(r,e),ve(l,e),ve(d,e),ve(c,e),g(e),a(i)};return[()=>e,()=>fe(r),e=>we(l,e),e=>le(l,e),e=>Le(r,e),e=>Le(l,e),(e,t)=>ve(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=ge(),u=ge(),L=Le(d,t),w=Le(c,t),v=t=>{const a=s=>e.getCell(n,t,s),d=Le(L,t),c=o(n,t)?s(r(a,t)):void 0;if(d===c||A(d)&&A(c)&&O(d,c)||ve(i,t,[d,c]),!k(l)){const e=Le(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&ve(u,t,s)}},I=e=>{a((()=>{ue(i,(([,e],t)=>ve(L,t,e))),ue(u,((e,t)=>ve(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};we(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{le(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,i),()=>we(u,L),h,g]},Ae=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),xe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Fe.test(t)&&F(e)<1e3&&G(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],d=(()=>[]))=>{s??=e();const c=n(1);return ve(o,c,[a,r,l,i,d]),De(Ve(r,l??[t],Me),c),c},(e,n,...a)=>W(((e,s=[t])=>{const n=[],a=(e,t)=>t==F(s)?G(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):W([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>M(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),ve(o,e),a(e),n))),e=>M(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=F(r);l==F(t)?e(s,...r,...a(r)):k(t[l])?W(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=xe((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const d=ge(),c=ge(),[u,h,g]=ze((()=>Q)),f=ge(),L=ge(),w=[],v=[],I=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),i=1},S=e=>{ve(f,e),ve(L,e),h(c,[e])},R=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??F(e)),S),T=()=>R(w,F(w)-o),y=()=>M(s,(()=>{G(w,s),T(),R(v),s=void 0,a=1})),C=()=>{s=K(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){y();const e=Ie(r,t,ge),l=Ie(e,s,ge),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(ve(l,n))&&ie(ve(e,s))&&ie(ve(r,t))&&C(),D()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){y();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(ve(l,t))&&C(),D()}})),V=(e="")=>(k(s)&&(s=t+n++,ve(f,s,[r,l]),A(s,e),r=ge(),l=ge(),a=1),s),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(v,V()),I(0,s),s=K(w),a=1)},E=()=>{$(v)||(G(w,s),s=U(v),I(1,s),a=1)},D=()=>{a&&(h(d),a=0)},J=e=>{const t=V(e);return D(),t},A=(e,t)=>(x(e)&&Le(L,e)!==t&&(ve(L,e,t),h(c,[e])),Q),x=e=>le(f,e),Q={setSize:e=>(o=e,T(),Q),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...v]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:x,getCheckpoint:e=>Le(L,e),goBackward:()=>(m(),D(),Q),goForward:()=>(E(),D(),Q),goTo:e=>{const t=z(w,e)?m:z(v,e)?E:null;for(;!k(t)&&e!=s;)t();return D(),Q},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(g(e),Q),clear:()=>(R(w),R(v),k(s)||S(s),s=void 0,n=0,J(),Q),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return ee(Q.clear())})),Oe=(e,t)=>(e??0)<(t??0)?-1:1,Pe=xe((e=>{const s=ge(),n=ge(),[a,o,r]=ze((()=>S)),[l,i,d,c,u,h,g,,f,L,w,v]=Je(e,ge,(e=>k(e)?t:A(e)?B(e,b):b(e)),a,o),I=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,t,a,r,l,i=Oe)=>{const d=k(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,c,u,f)=>{let L=0;const w=Me(),v=Me(),I=h(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{De(w,e),M(Le(I,e),(t=>{he(t,s),ie(t)&&(ve(I,e),L=1)}))})),ue(a,(e=>{De(w,e),le(I,e)||(ve(I,e,Me()),L=1),De(Le(I,e),s),k(r)||De(v,e)}))})),t(),ie(u)||(f?we(I,(e=>De(v,e))):we(l,(e=>M(Le(c,e),(e=>De(v,e))))),ue(v,(e=>{const t=(t,s)=>i(Le(u,t),Le(u,s),e),s=[...Le(I,e)];P(s,t)||(ve(I,e,Me(j(s,t))),De(w,e))}))),(L||f)&&!k(d)){const t=[...I];P(t,d)||(g(e,ge(j(t,d))),L=1)}L&&o(s,[e]),ue(w,(t=>o(n,[e,t])))}),Ae(a),M(r,Ae)),S},delIndexDefinition:e=>(L(e),S),getStore:l,getIndexIds:i,forEachIndex:e=>d(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:c,hasSlice:(e,t)=>le(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>de(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return ee(S)})),je=ge([["avg",[(e,t)=>H(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["sum",[e=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,d]=a;return o||=k(e),ue(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=k(e))})),o?r(de(s),re(s)):e},Be=xe((e=>{const s=ge(),[n,a,o]=ze((()=>v)),[r,l,i,d,c,u,h,,g,f,L,w]=Je(e,Q,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),v={setMetricDefinition:(e,t,n,o,r,l,i)=>{const d=J(n)?[n,r,l,i]:Le(je,n)??Le(je,"sum");return g(e,t,((t,n,o,r,l,i)=>{const c=u(e),g=re(r);i||=k(c),t();let f=We(c,g,r,n,d,i);E(f)||(f=void 0),f!=c&&(h(e,f),a(s,[e],f,c))}),Ae(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return ee(v)})),He=ge(),$e=ge(),qe=(e,t,s,n,a,o,[r,l]=[],i=[])=>{let d,c,u,h=0,g=0;Ie(He,i,(()=>0)),Ie($e,i,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(M(d,e.delListener),d=void 0,L),schedule:async(...e)=>(G(Le($e,i),...e),await(async()=>{if(!Le(He,i)){for(ve(He,i,1);!k(c=U(Le($e,i)));)try{await c()}catch(e){o?.(e)}ve(He,i,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>l),ee(L)},Ge=xe((e=>{const s=e.createStore,n=s(),a=s(),o=ge(),{addListener:r,callListeners:l,delListener:u}=a,[h,f,L,y,C,,,p,,b,V,m,E,D]=Je(e,(()=>!0),Q,r,l),A=(e,t,...s)=>W(s,(s=>De(Ie(Ie(o,t,ge),e,Me),s))),z=e=>{M(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),W([a,n],(t=>t.delTable(e)))},O=(e,t,s)=>A(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(s,o,r)=>{p(s,o),z(s);const l=[],i=[[null,[o,null,null,[],ge()]]],d=[],c=[],u=[];r({select:(e,s)=>{const n=J(e)?[F(l)+t,e]:[k(s)?e:s,t=>t(e,s)];return G(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||J(t)?null:t,a=k(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],ge()]];return G(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>G(d,J(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return G(c,o),{as:e=>o[0]=e}},having:(e,t)=>G(u,J(e)?e:s=>s(e)===t)});const h=ge(l);if(ie(h))return P;const g=ge(i);we(g,((e,[,t])=>M(Le(g,t),(({3:t})=>k(e)?0:G(t,e)))));const f=ge(c);let L=n;if(ie(f)&&$(u))L=a;else{O(s,L,a);const e=ge();we(f,((t,[s,n])=>De(Ie(e,s,Me),[t,n])));const t=Me();we(h,(s=>le(e,s)?0:De(t,s)));const n=ge(),o=(t,n,o,r)=>M(t,(([l,i,d,c])=>{we(n,((t,[s])=>{const n=Ie(l,t,ge),a=Le(n,o),i=r?void 0:s;if(a!==i){const s=Me([[a,i]]),r=re(n);ve(n,o,i),ue(Le(e,t),(([e,t])=>{const a=We(c[e],r,n,s,t);c[e]=k(me(a))?null:a}))}})),ie(i)||!N(u,(e=>e((e=>c[e]))))?a.delRow(s,d):k(d)?t[2]=a.addRow(s,c):a.setRow(s,d,c)}));A(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const d=[],c=[],u=ge(),h=L.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);G(d,n),G(c,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&ve(u,e,[n])})),g&&o(Ve(n,d,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&o(Ve(n,c,(()=>{const e={};return ue(t,(t=>e[t]=L.getCell(s,l,t))),[ge(),Me(),void 0,e]}),(([,e])=>{De(e,l)})),u,l)})))}O(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,i]=Le(g,n),d=o?.(l,t),[c,u]=Le(i,t)??[];d!=c&&(k(u)||D(s,u),ve(i,t,k(d)?null:[d,...E(s,1,e.addRowListener(a,d,(()=>w(t,a,d,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...k(n)?[o,t,s]:s===o?[o,t,n]:[Le(g,s)?.[0],Le(Le(g,s)?.[4],t)?.[0],n]);L.transaction((()=>N(d,(e=>e(n)))?we(h,((e,a)=>Ee(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:v}=Le(g,null);return L.transaction((()=>E(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(s,a),ue(g,(({4:e})=>M(Le(e,a),(([,t])=>{D(s,t),ve(e,a)})))))}))))),P},delQueryDefinition:e=>(z(e),b(e),P),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>V((()=>e(P))),delListener:e=>(u(e),P),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+T]:[0,1],[v]:[0,1],[I]:[0,1],[S]:[0,5],[w]:[1,2],[T]:[0,2],[R]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[c+d+s+i]=(...e)=>a[c+s+i](...x(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),ee(P)})),Ke=xe((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i]=ze((()=>y)),[d,c,u,h,g,f,,,L,w,v,I]=Je(e,(()=>[ge(),ge(),ge(),ge()]),(e=>k(e)?void 0:e+t),r,l),S=(e,t,s)=>M(f(e),(([n,,a])=>{if(!le(a,t)){const o=Me();if(g(e)!=T(e))De(o,t);else{let e=t;for(;!k(e)&&!le(o,e);)De(o,e),e=Le(n,e)}if(s)return o;ve(a,t,o)}return Le(a,t)})),R=(e,t)=>M(f(e),(([,,e])=>ve(e,t))),T=e=>Le(s,e),y={setRelationshipDefinition:(e,t,r,i)=>(ve(s,e,r),L(e,t,((t,s)=>{const r=Me(),i=Me(),d=Me(),[c,u]=f(e);ue(s,(([t,s],n)=>{k(t)||(De(i,t),M(Le(u,t),(e=>{he(e,n),ie(e)&&ve(u,t)}))),k(s)||(De(i,s),le(u,s)||ve(u,s,Me()),De(Le(u,s),n)),De(r,n),ve(c,n,s),we(Le(o,e),(t=>{le(S(e,t),n)&&De(d,t)}))})),t(),ue(r,(t=>l(n,[e,t]))),ue(i,(t=>l(a,[e,t]))),ue(d,(t=>{R(e,t),l(o,[e,t])}))}),Ae(i)),y),delRelationshipDefinition:e=>(ve(s,e),w(e),y),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>de(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),y),destroy:I,getListenerStats:()=>({})};return ee(y)})),Ue=e=>[e,e],Xe=()=>[ge(),ge()],Ye=e=>[...e],Ze=([e,t])=>e===t,_e=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),et=JSON.parse,tt=(e,t,s)=>k(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),st=(e,t,s)=>ve(e,t,Le(e,t)==-s?void 0:s),nt=()=>{let e,t,s=!1,n=!1,o=!1,d=!1,h=0;const S=ge(),V=ge(),m=ge(),E=ge(),A=ge(),F=ge(),Q=ge(),N=ge(),P=ge(),H=ge(),$=ge(),q=ge(),K=ge(),U=ge(),X=Me(),Y=ge(),Z=ge(),_=ge(),te=ge(),de=Xe(),Ve=Xe(),Je=Xe(),Ae=Xe(),xe=Xe(),Fe=Xe(),Ne=Xe(),Pe=Xe(),je=Xe(),We=Xe(),Be=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),at=Xe(),ot=Xe(),rt=Xe(),lt=Xe(),it=Xe(),dt=Xe(),ct=ge(),ut=Xe(),[ht,gt,ft,Lt]=ze((()=>zs)),wt=e=>{if(!tt(e,((e,t)=>z([r,l],t))))return!1;const t=e[r];return!(!D(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},vt=(t,s)=>(!e||le($,s)||Gt(s))&&tt(t,((e,t)=>It(s,t,e)),(()=>Gt(s))),It=(e,t,s,n)=>tt(n?s:yt(s,e,t),((n,a)=>M(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,s,n,a)=>e?M(Le(Le($,t),n),(e=>me(a)!=e[r]?Gt(t,s,n,a,e[l]):a),(()=>Gt(t,s,n,a))):k(me(a))?Gt(t,s,n,a):a,Rt=(e,t)=>tt(t?e:Ct(e),((t,s)=>M(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,s)=>t?M(Le(K,e),(t=>me(s)!=t[r]?Kt(e,s,t[l]):s),(()=>Kt(e,s))):k(me(s))?Kt(e,s):s,yt=(e,t,s)=>(M(Le(q,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Gt(t,s,n)}))})),e),Ct=e=>(t&&(ue(U,((t,s)=>{se(e,s)||(e[s]=t)})),ue(X,(t=>{se(e,t)||Kt(t)}))),e),pt=e=>Se($,e,((e,t,s)=>{const n=ge(),a=Me();Se(Ie($,t,ge),s,((e,t,s)=>{ve(e,t,s),M(s[l],(e=>ve(n,t,e)),(()=>De(a,t)))})),ve(q,t,[n,a])}),((e,t)=>{ve($,t),ve(q,t)})),bt=e=>Se(K,e,((e,t,s)=>{ve(K,t,s),M(s[l],(e=>ve(U,t,e)),(()=>De(X,t)))}),((e,t)=>{ve(K,t),ve(U,t),he(X,t)})),Vt=e=>oe(e)?Es():Cs(e),mt=e=>Se(_,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>Se(Ie(_,e,(()=>(jt(e,1),ve(Y,e,Qe()),ve(Z,e,ge()),ge()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>Se(Ie(t,s,(()=>(Wt(e,s,1),ge()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{le(s,n)||Bt(e,t,n,1);const o=Le(s,n);a!==o&&(Ht(e,t,n,o,a),ve(s,n,a))},Dt=(e,t,s,n,a)=>M(Le(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,yt({[n]:a},e,s)))),Jt=e=>oe(e)?Ds():ps(e),At=e=>Se(te,e,((e,t,s)=>xt(t,s)),((e,t)=>Pt(t))),xt=(e,t)=>{le(te,e)||$t(e,1);const s=Le(te,e);t!==s&&(qt(e,s,t),ve(te,e,t))},Ft=(e,t)=>{const[s]=Le(Y,e),n=s(t);return le(Le(_,e),n)?Ft(e,t):n},Qt=e=>Le(_,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=Le(Y,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=Le(Le(q,e)?.[0],a);if(!k(r)&&!o)return Mt(e,s,n,a,r);const l=t=>{Ht(e,s,t,Le(n,t)),Bt(e,s,t,-1),ve(n,t)};k(r)?l(a):we(n,l),ie(n)&&(Wt(e,s,-1),ie(ve(t,s))&&(jt(e,-1),ve(_,e),ve(Y,e),ve(Z,e)))},Pt=e=>{const t=Le(U,e);if(!k(t))return xt(e,t);qt(e,Le(te,e)),$t(e,-1),ve(te,e)},jt=(e,t)=>st(S,e,t),Wt=(e,t,s)=>st(Ie(E,e,ge),t,s)&&ve(m,e,Ie(m,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=Le(Z,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&st(Ie(V,e,ge),s,n),ve(a,s,o!=-n?o+n:null),st(Ie(Ie(A,e,ge),t,ge),s,n)},Ht=(e,t,s,n,a)=>Ie(Ie(Ie(F,e,ge),t,ge),s,(()=>[n,0]))[1]=a,$t=(e,t)=>st(Q,e,t),qt=(e,t,s)=>Ie(N,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(G(Ie(Ie(Ie(P,e,ge),t,ge),s,(()=>[])),n),a),Kt=(e,t,s)=>(G(Ie(H,e,(()=>[])),t),s),Ut=(e,t,s)=>M(Le(Le(Le(F,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Xt=e=>M(Le(N,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Yt=e=>ie(P)||ie(Ke[e])?0:ue(e?be(P):P,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>gt(Ke[e],[s,n,a],t))))))),Zt=e=>ie(H)||ie(at[e])?0:ue(e?Ce(H):H,((t,s)=>gt(at[e],[s],t))),_t=(e,t,s,n)=>{if(!ie(e))return gt(t,n,(()=>Re(e))),we(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=o&&gt(de[e],void 0,t);const s=ie(We[e]),n=ie($e[e])&&ie(qe[e])&&ie(je[e])&&ie(Be[e])&&ie(Fe[e])&&ie(Ne[e])&&ie(Pe[e])&&s&&ie(Je[e])&&ie(Ae[e]),a=ie(Ge[e])&&ie(He[e])&&ie(xe[e])&&ie(Ve[e]);if(!n||!a){const t=e?[Ce(S),pe(V),Ce(m),pe(E),be(A),be(F)]:[S,V,m,E,A,F];if(!n){_t(t[0],Je[e],Ae[e]),ue(t[1],((t,s)=>_t(t,Fe[e],Ne[e],[s]))),ue(t[2],((t,s)=>{0!=t&&gt(Pe[e],[s],is(s))}));const n=Me();ue(t[3],((t,a)=>{_t(t,je[e],Be[e],[a])&&!s&&(gt(We[e],[a,null]),De(n,a))})),s||ue(t[5],((t,s)=>{if(!le(n,s)){const n=Me();ue(t,(e=>ue(e,(([t,s],a)=>s!==t?De(n,a):he(e,a))))),ue(n,(t=>gt(We[e],[s,t])))}})),ue(t[4],((t,s)=>ue(t,((t,n)=>_t(t,$e[e],qe[e],[s,n])))))}if(!a){let s;ue(t[5],((t,n)=>{let a;ue(t,((t,o)=>{let r;ue(t,(([t,l],i)=>{l!==t&&(gt(Ge[e],[n,o,i],l,t,Ut),s=a=r=1)})),r&&gt(He[e],[n,o],Ut)})),a&&gt(xe[e],[n],Ut)})),s&&gt(Ve[e],void 0,Ut)}}},ts=e=>{const t=Ts();t!=d&&gt(ot[e],void 0,t);const s=ie(lt[e])&&ie(it[e]),n=ie(dt[e])&&ie(rt[e]);if(!s||!n){const t=e?[Ce(Q),Ce(N)]:[Q,N];if(s||_t(t[0],lt[e],it[e]),!n){let s;ue(t[1],(([t,n],a)=>{n!==t&&(gt(dt[e],[a],n,t,Xt),s=1)})),s&&gt(rt[e],void 0,Xt)}}},ss=(e,...t)=>(xs((()=>e(...B(t,b)))),zs),ns=()=>[Re(F,((e,t)=>-1===Le(S,t)?null:Re(e,((e,s)=>-1===Le(Le(E,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ze(t)))),oe)),oe),Re(N,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(F,Ye,Ze),invalidCells:ye(P),changedValues:Re(N,Ye,Ze),invalidValues:Re(H),changedTableIds:Re(S),changedRowIds:Te(E),changedCellIds:ye(A),changedValueIds:Re(Q)}),os=()=>ye(_),rs=()=>fe(_),ls=e=>fe(Le(Z,b(e))),is=e=>re(Le(_,b(e))),ds=e=>fe(Le(_,b(e))),cs=(e,t,s,n=0,a)=>{return B(x(j((o=Le(_,b(e)),r=(e,s)=>[k(t)?s:Le(e,b(t)),s],B([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>fe(Le(Le(_,b(e)),b(t))),hs=(e,t,s)=>Le(Le(Le(_,b(e)),b(t)),b(s)),gs=()=>Re(te),fs=()=>fe(te),Ls=e=>Le(te,b(e)),ws=()=>!ie(_),vs=e=>le(_,b(e)),Is=(e,t)=>le(Le(Z,b(e)),b(t)),Ss=(e,t)=>le(Le(_,b(e)),b(t)),Rs=(e,t,s)=>le(Le(Le(_,b(e)),b(t)),b(s)),Ts=()=>!ie(te),ys=e=>le(te,b(e)),Cs=e=>ss((()=>(e=>tt(e,vt,Gt))(e)?mt(e):0)),ps=e=>ss((()=>Rt(e)?At(e):0)),bs=e=>{try{Vt(et(e))}catch{}return zs},Vs=t=>ss((()=>{if((e=tt(t,(e=>tt(e,wt))))&&(pt(t),!ie(_))){const e=os();Es(),Cs(e)}})),ms=e=>ss((()=>{if(t=(e=>tt(e,wt))(e)){const s=gs();As(),Ds(),t=!0,bt(e),ps(s)}})),Es=()=>ss((()=>mt({}))),ks=e=>ss((e=>le(_,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>M(Le(_,e),(s=>le(s,t)?Nt(e,s,t):0))),e,t),Ds=()=>ss((()=>At({}))),Js=()=>ss((()=>{pt({}),e=!1})),As=()=>ss((()=>{bt({}),t=!1})),xs=(e,t)=>{if(-1!=h){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=h&&h++,1==h&&gt(ct,void 0,ns,as),zs),Qs=e=>(h>0&&(h--,0==h&&(s=!ie(F),n=!ie(N),h=1,Yt(1),s&&es(1),Zt(1),n&&ts(1),e?.(ns,as)&&(ue(F,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(zs,t,s,n,e))))))),ue(N,(([e],t)=>ke(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),h=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),h=0,s=n=!1,o=ws(),d=Ts(),W([S,V,m,E,A,F,P,Q,N,H],ce))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>Te(Le(_,b(e))),getTableCellIds:ls,getRowCount:is,getRowIds:ds,getSortedRowIds:cs,getRow:(e,t)=>Re(Le(Le(_,b(e)),b(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:Rs,hasValues:Ts,hasValue:ys,getTablesJson:()=>_e(_),getValuesJson:()=>_e(te),getJson:()=>_e([_,te]),getTablesSchemaJson:()=>_e($),getValuesSchemaJson:()=>_e(K),getSchemaJson:()=>_e([$,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(oe(e)?Es:Cs)(e),(oe(t)?Ds:ps)(t)})),setTables:Cs,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>xs((()=>{let n;return It(e,n,t)&&(e=b(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);ae(s,((s,a)=>Dt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>M(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>Dt(e,Qt(e),t,s,n)))),e,t,s),setValues:ps,setPartialValues:e=>ss((()=>Rt(e,1)?ae(e,((e,t)=>xt(t,e))):0)),setValue:(e,t)=>ss((e=>M(Tt(e,J(t)?t(Ls(e)):t),(t=>xt(e,t)))),e),setTransactionChanges:e=>ss((()=>{ae(e[0],((e,t)=>k(e)?ks(t):ae(e,((e,s)=>k(e)?Ms(t,s):ae(e,((e,n)=>Ee(zs,t,s,n,e))))))),ae(e[1],((e,t)=>ke(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Jt(et(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=et(e);Vt(t),Jt(s)}catch{bs(e)}})),setTablesSchema:Vs,setValuesSchema:ms,setSchema:(e,t)=>ss((()=>{Vs(e),ms(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>M(Le(_,e),(a=>M(Le(a,t),(o=>le(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:Ds,delValue:e=>ss((e=>le(te,e)?Pt(e):0),e),delTablesSchema:Js,delValuesSchema:As,delSchema:()=>ss((()=>{Js(),As()})),transaction:xs,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>ue(_,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(Z,b(e)),t),forEachRow:(e,t)=>ue(Le(_,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(_,b(e)),b(t)),s),forEachValue:e=>we(te,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=cs(e,t,s,n,a);return ht((()=>{const r=cs(e,t,s,n,a);O(r,l)||(l=r,o(zs,e,t,s,n,a,l))}),We[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,ct),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:nt,addListener:ht,callListeners:gt};return ae({[u+f]:[0,de,[],()=>[ws()]],[f]:[0,Ve],[L]:[0,Je],[u+g]:[1,Ae,[rs],e=>[vs(...e)]],[g]:[1,xe,[rs]],[g+T]:[1,Fe,[rs]],[u+g+R]:[2,Ne,[rs,ls],e=>[Is(...e)]],[v]:[1,Pe,[rs]],[I]:[1,je,[rs]],[u+w]:[2,Be,[rs,ds],e=>[Ss(...e)]],[w]:[2,He,[rs,ds]],[T]:[2,$e,[rs,ds]],[u+R]:[3,qe,[rs,ds,us],e=>[Rs(...e)]],[R]:[3,Ge,[rs,ds,us],e=>Ue(hs(...e))],InvalidCell:[3,Ke],[u+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[p]:[0,lt],[u+y]:[1,it,[fs],e=>[ys(...e)]],[y]:[1,dt,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,at]},(([e,t,s,n],a)=>{zs[c+a+i]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),ee(zs)};export{Ne as createCheckpoints,qe as createCustomPersister,Pe as createIndexes,Be as createMetrics,Ge as createQueries,Ke as createRelationships,nt as createStore,Oe as defaultSorter};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",d="Result",c="add",u="Has",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",v=w+"Count",I=w+h,S="Sorted"+w+h,R="Cell",T=R+h,y="Value",C=y+"s",p=y+h,b=e=>t+e,V=Math.max,m=Math.min,E=isFinite,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),D=e=>e==s||e==n,J=t=>e(t)==o,A=e=>Array.isArray(e),x=(e,t,s)=>e.slice(t,s),F=e=>e.length,Q=()=>{},z=(e,t)=>e.includes(t),N=(e,t)=>e.every(t),O=(e,t)=>F(e)===F(t)&&N(e,((e,s)=>t[s]===e)),P=(e,t)=>N(e,((s,n)=>0==n||t(e[n-1],s)<=0)),j=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==F(e),q=(e,t,s)=>e.reduce(t,s),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.keys,_=X.isFrozen,ee=X.freeze,te=e=>!k(e)&&M(Y(e),(e=>e==X.prototype||k(Y(e))),(()=>!0)),se=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>B(X.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>F(Z(e)))(e),re=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ie=e=>k(e)||0==re(e),de=e=>[...e?.values()??[]],ce=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),ve=(e,t,s)=>k(s)?(he(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(le(e,t)||ve(e,t,s()),Le(e,t)),Se=(e,t,s,n=ve)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Te=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),ye=(e,t,s)=>Re(e,(e=>Te(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),Ve=(e,t,s,n,a=0)=>M((s?Ie:Le)(e,t[a],a>F(t)-2?s:ge),(o=>{if(a>F(t)-2)return n?.(o)&&ve(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&ve(e,t[a]),r})),me=t=>{const s=e(t);return D(s)||s==a&&E(t)?s:void 0},Ee=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(A(e)||k(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s,n,a)=>{const o=e.hasRow,r=ge(),l=ge(),i=ge(),d=ge(),c=ge(),u=ge(),h=(t,s,...n)=>{const a=Ie(u,t,Me);return W(n,(t=>De(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>M(Le(u,t),(n=>{W($(s)?de(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&ve(u,t)})),f=(e,s)=>{ve(r,e,s),le(l,e)||(ve(l,e,t()),ve(d,e,ge()),ve(c,e,ge()),a(i))},L=e=>{ve(r,e),ve(l,e),ve(d,e),ve(c,e),g(e),a(i)};return[()=>e,()=>fe(r),e=>we(l,e),e=>le(l,e),e=>Le(r,e),e=>Le(l,e),(e,t)=>ve(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=ge(),u=ge(),L=Le(d,t),w=Le(c,t),v=t=>{const a=s=>e.getCell(n,t,s),d=Le(L,t),c=o(n,t)?s(r(a,t)):void 0;if(d===c||A(d)&&A(c)&&O(d,c)||ve(i,t,[d,c]),!k(l)){const e=Le(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&ve(u,t,s)}},I=e=>{a((()=>{ue(i,(([,e],t)=>ve(L,t,e))),ue(u,((e,t)=>ve(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};we(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{le(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,i),()=>we(u,L),h,g]},Ae=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),xe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Fe.test(t)&&F(e)<1e3&&G(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],d=(()=>[]))=>{s??=e();const c=n(1);return ve(o,c,[a,r,l,i,d]),De(Ve(r,l??[t],Me),c),c},(e,n,...a)=>W(((e,s=[t])=>{const n=[],a=(e,t)=>t==F(s)?G(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):W([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>M(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),ve(o,e),a(e),n))),e=>M(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=F(r);l==F(t)?e(s,...r,...a(r)):k(t[l])?W(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=xe((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const d=ge(),c=ge(),[u,h,g]=ze((()=>Q)),f=ge(),L=ge(),w=[],v=[],I=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),i=1},S=e=>{ve(f,e),ve(L,e),h(c,[e])},R=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??F(e)),S),T=()=>R(w,F(w)-o),y=()=>M(s,(()=>{G(w,s),T(),R(v),s=void 0,a=1})),C=()=>{s=K(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){y();const e=Ie(r,t,ge),l=Ie(e,s,ge),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(ve(l,n))&&ie(ve(e,s))&&ie(ve(r,t))&&C(),D()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){y();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(ve(l,t))&&C(),D()}})),V=(e="")=>(k(s)&&(s=t+n++,ve(f,s,[r,l]),A(s,e),r=ge(),l=ge(),a=1),s),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(v,V()),I(0,s),s=K(w),a=1)},E=()=>{$(v)||(G(w,s),s=U(v),I(1,s),a=1)},D=()=>{a&&(h(d),a=0)},J=e=>{const t=V(e);return D(),t},A=(e,t)=>(x(e)&&Le(L,e)!==t&&(ve(L,e,t),h(c,[e])),Q),x=e=>le(f,e),Q={setSize:e=>(o=e,T(),Q),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...v]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:x,getCheckpoint:e=>Le(L,e),goBackward:()=>(m(),D(),Q),goForward:()=>(E(),D(),Q),goTo:e=>{const t=z(w,e)?m:z(v,e)?E:null;for(;!k(t)&&e!=s;)t();return D(),Q},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(g(e),Q),clear:()=>(R(w),R(v),k(s)||S(s),s=void 0,n=0,J(),Q),clearForward:()=>($(v)||(R(v),h(d)),Q),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return ee(Q.clear())})),Oe=(e,t)=>(e??0)<(t??0)?-1:1,Pe=xe((e=>{const s=ge(),n=ge(),[a,o,r]=ze((()=>S)),[l,i,d,c,u,h,g,,f,L,w,v]=Je(e,ge,(e=>k(e)?t:A(e)?B(e,b):b(e)),a,o),I=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,t,a,r,l,i=Oe)=>{const d=k(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,c,u,f)=>{let L=0;const w=Me(),v=Me(),I=h(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{De(w,e),M(Le(I,e),(t=>{he(t,s),ie(t)&&(ve(I,e),L=1)}))})),ue(a,(e=>{De(w,e),le(I,e)||(ve(I,e,Me()),L=1),De(Le(I,e),s),k(r)||De(v,e)}))})),t(),ie(u)||(f?we(I,(e=>De(v,e))):we(l,(e=>M(Le(c,e),(e=>De(v,e))))),ue(v,(e=>{const t=(t,s)=>i(Le(u,t),Le(u,s),e),s=[...Le(I,e)];P(s,t)||(ve(I,e,Me(j(s,t))),De(w,e))}))),(L||f)&&!k(d)){const t=[...I];P(t,d)||(g(e,ge(j(t,d))),L=1)}L&&o(s,[e]),ue(w,(t=>o(n,[e,t])))}),Ae(a),M(r,Ae)),S},delIndexDefinition:e=>(L(e),S),getStore:l,getIndexIds:i,forEachIndex:e=>d(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:c,hasSlice:(e,t)=>le(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>de(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return ee(S)})),je=ge([["avg",[(e,t)=>H(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["sum",[e=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,d]=a;return o||=k(e),ue(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=k(e))})),o?r(de(s),re(s)):e},Be=xe((e=>{const s=ge(),[n,a,o]=ze((()=>v)),[r,l,i,d,c,u,h,,g,f,L,w]=Je(e,Q,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),v={setMetricDefinition:(e,t,n,o,r,l,i)=>{const d=J(n)?[n,r,l,i]:Le(je,n)??Le(je,"sum");return g(e,t,((t,n,o,r,l,i)=>{const c=u(e),g=re(r);i||=k(c),t();let f=We(c,g,r,n,d,i);E(f)||(f=void 0),f!=c&&(h(e,f),a(s,[e],f,c))}),Ae(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return ee(v)})),He=ge(),$e=ge(),qe=(e,t,s,n,a,o,[r,l]=[],i=[])=>{let d,c,u,h=0,g=0;Ie(He,i,(()=>0)),Ie($e,i,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(M(d,e.delListener),d=void 0,L),schedule:async(...e)=>(G(Le($e,i),...e),await(async()=>{if(!Le(He,i)){for(ve(He,i,1);!k(c=U(Le($e,i)));)try{await c()}catch(e){o?.(e)}ve(He,i,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>l),ee(L)},Ge=xe((e=>{const s=e.createStore,n=s(),a=s(),o=ge(),{addListener:r,callListeners:l,delListener:u}=a,[h,f,L,y,C,,,p,,b,V,m,E,D]=Je(e,(()=>!0),Q,r,l),A=(e,t,...s)=>W(s,(s=>De(Ie(Ie(o,t,ge),e,Me),s))),z=e=>{M(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),W([a,n],(t=>t.delTable(e)))},O=(e,t,s)=>A(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(s,o,r)=>{p(s,o),z(s);const l=[],i=[[null,[o,null,null,[],ge()]]],d=[],c=[],u=[];r({select:(e,s)=>{const n=J(e)?[F(l)+t,e]:[k(s)?e:s,t=>t(e,s)];return G(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||J(t)?null:t,a=k(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],ge()]];return G(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>G(d,J(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return G(c,o),{as:e=>o[0]=e}},having:(e,t)=>G(u,J(e)?e:s=>s(e)===t)});const h=ge(l);if(ie(h))return P;const g=ge(i);we(g,((e,[,t])=>M(Le(g,t),(({3:t})=>k(e)?0:G(t,e)))));const f=ge(c);let L=n;if(ie(f)&&$(u))L=a;else{O(s,L,a);const e=ge();we(f,((t,[s,n])=>De(Ie(e,s,Me),[t,n])));const t=Me();we(h,(s=>le(e,s)?0:De(t,s)));const n=ge(),o=(t,n,o,r)=>M(t,(([l,i,d,c])=>{we(n,((t,[s])=>{const n=Ie(l,t,ge),a=Le(n,o),i=r?void 0:s;if(a!==i){const s=Me([[a,i]]),r=re(n);ve(n,o,i),ue(Le(e,t),(([e,t])=>{const a=We(c[e],r,n,s,t);c[e]=k(me(a))?null:a}))}})),ie(i)||!N(u,(e=>e((e=>c[e]))))?a.delRow(s,d):k(d)?t[2]=a.addRow(s,c):a.setRow(s,d,c)}));A(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const d=[],c=[],u=ge(),h=L.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);G(d,n),G(c,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&ve(u,e,[n])})),g&&o(Ve(n,d,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&o(Ve(n,c,(()=>{const e={};return ue(t,(t=>e[t]=L.getCell(s,l,t))),[ge(),Me(),void 0,e]}),(([,e])=>{De(e,l)})),u,l)})))}O(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,i]=Le(g,n),d=o?.(l,t),[c,u]=Le(i,t)??[];d!=c&&(k(u)||D(s,u),ve(i,t,k(d)?null:[d,...E(s,1,e.addRowListener(a,d,(()=>w(t,a,d,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...k(n)?[o,t,s]:s===o?[o,t,n]:[Le(g,s)?.[0],Le(Le(g,s)?.[4],t)?.[0],n]);L.transaction((()=>N(d,(e=>e(n)))?we(h,((e,a)=>Ee(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:v}=Le(g,null);return L.transaction((()=>E(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(s,a),ue(g,(({4:e})=>M(Le(e,a),(([,t])=>{D(s,t),ve(e,a)})))))}))))),P},delQueryDefinition:e=>(z(e),b(e),P),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>V((()=>e(P))),delListener:e=>(u(e),P),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+T]:[0,1],[v]:[0,1],[I]:[0,1],[S]:[0,5],[w]:[1,2],[T]:[0,2],[R]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[c+d+s+i]=(...e)=>a[c+s+i](...x(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),ee(P)})),Ke=xe((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i]=ze((()=>y)),[d,c,u,h,g,f,,,L,w,v,I]=Je(e,(()=>[ge(),ge(),ge(),ge()]),(e=>k(e)?void 0:e+t),r,l),S=(e,t,s)=>M(f(e),(([n,,a])=>{if(!le(a,t)){const o=Me();if(g(e)!=T(e))De(o,t);else{let e=t;for(;!k(e)&&!le(o,e);)De(o,e),e=Le(n,e)}if(s)return o;ve(a,t,o)}return Le(a,t)})),R=(e,t)=>M(f(e),(([,,e])=>ve(e,t))),T=e=>Le(s,e),y={setRelationshipDefinition:(e,t,r,i)=>(ve(s,e,r),L(e,t,((t,s)=>{const r=Me(),i=Me(),d=Me(),[c,u]=f(e);ue(s,(([t,s],n)=>{k(t)||(De(i,t),M(Le(u,t),(e=>{he(e,n),ie(e)&&ve(u,t)}))),k(s)||(De(i,s),le(u,s)||ve(u,s,Me()),De(Le(u,s),n)),De(r,n),ve(c,n,s),we(Le(o,e),(t=>{le(S(e,t),n)&&De(d,t)}))})),t(),ue(r,(t=>l(n,[e,t]))),ue(i,(t=>l(a,[e,t]))),ue(d,(t=>{R(e,t),l(o,[e,t])}))}),Ae(i)),y),delRelationshipDefinition:e=>(ve(s,e),w(e),y),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>de(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),y),destroy:I,getListenerStats:()=>({})};return ee(y)})),Ue=e=>[e,e],Xe=()=>[ge(),ge()],Ye=e=>[...e],Ze=([e,t])=>e===t,_e=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),et=JSON.parse,tt=(e,t,s)=>k(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),st=(e,t,s)=>ve(e,t,Le(e,t)==-s?void 0:s),nt=()=>{let e,t,s=!1,n=!1,o=!1,d=!1,h=0;const S=ge(),V=ge(),m=ge(),E=ge(),A=ge(),F=ge(),Q=ge(),N=ge(),P=ge(),H=ge(),$=ge(),q=ge(),K=ge(),U=ge(),X=Me(),Y=ge(),Z=ge(),_=ge(),te=ge(),de=Xe(),Ve=Xe(),Je=Xe(),Ae=Xe(),xe=Xe(),Fe=Xe(),Ne=Xe(),Pe=Xe(),je=Xe(),We=Xe(),Be=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),at=Xe(),ot=Xe(),rt=Xe(),lt=Xe(),it=Xe(),dt=Xe(),ct=ge(),ut=Xe(),[ht,gt,ft,Lt]=ze((()=>zs)),wt=e=>{if(!tt(e,((e,t)=>z([r,l],t))))return!1;const t=e[r];return!(!D(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},vt=(t,s)=>(!e||le($,s)||Gt(s))&&tt(t,((e,t)=>It(s,t,e)),(()=>Gt(s))),It=(e,t,s,n)=>tt(n?s:yt(s,e,t),((n,a)=>M(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,s,n,a)=>e?M(Le(Le($,t),n),(e=>me(a)!=e[r]?Gt(t,s,n,a,e[l]):a),(()=>Gt(t,s,n,a))):k(me(a))?Gt(t,s,n,a):a,Rt=(e,t)=>tt(t?e:Ct(e),((t,s)=>M(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,s)=>t?M(Le(K,e),(t=>me(s)!=t[r]?Kt(e,s,t[l]):s),(()=>Kt(e,s))):k(me(s))?Kt(e,s):s,yt=(e,t,s)=>(M(Le(q,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Gt(t,s,n)}))})),e),Ct=e=>(t&&(ue(U,((t,s)=>{se(e,s)||(e[s]=t)})),ue(X,(t=>{se(e,t)||Kt(t)}))),e),pt=e=>Se($,e,((e,t,s)=>{const n=ge(),a=Me();Se(Ie($,t,ge),s,((e,t,s)=>{ve(e,t,s),M(s[l],(e=>ve(n,t,e)),(()=>De(a,t)))})),ve(q,t,[n,a])}),((e,t)=>{ve($,t),ve(q,t)})),bt=e=>Se(K,e,((e,t,s)=>{ve(K,t,s),M(s[l],(e=>ve(U,t,e)),(()=>De(X,t)))}),((e,t)=>{ve(K,t),ve(U,t),he(X,t)})),Vt=e=>oe(e)?Es():Cs(e),mt=e=>Se(_,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>Se(Ie(_,e,(()=>(jt(e,1),ve(Y,e,Qe()),ve(Z,e,ge()),ge()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>Se(Ie(t,s,(()=>(Wt(e,s,1),ge()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{le(s,n)||Bt(e,t,n,1);const o=Le(s,n);a!==o&&(Ht(e,t,n,o,a),ve(s,n,a))},Dt=(e,t,s,n,a)=>M(Le(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,yt({[n]:a},e,s)))),Jt=e=>oe(e)?Ds():ps(e),At=e=>Se(te,e,((e,t,s)=>xt(t,s)),((e,t)=>Pt(t))),xt=(e,t)=>{le(te,e)||$t(e,1);const s=Le(te,e);t!==s&&(qt(e,s,t),ve(te,e,t))},Ft=(e,t)=>{const[s]=Le(Y,e),n=s(t);return le(Le(_,e),n)?Ft(e,t):n},Qt=e=>Le(_,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=Le(Y,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=Le(Le(q,e)?.[0],a);if(!k(r)&&!o)return Mt(e,s,n,a,r);const l=t=>{Ht(e,s,t,Le(n,t)),Bt(e,s,t,-1),ve(n,t)};k(r)?l(a):we(n,l),ie(n)&&(Wt(e,s,-1),ie(ve(t,s))&&(jt(e,-1),ve(_,e),ve(Y,e),ve(Z,e)))},Pt=e=>{const t=Le(U,e);if(!k(t))return xt(e,t);qt(e,Le(te,e)),$t(e,-1),ve(te,e)},jt=(e,t)=>st(S,e,t),Wt=(e,t,s)=>st(Ie(E,e,ge),t,s)&&ve(m,e,Ie(m,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=Le(Z,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&st(Ie(V,e,ge),s,n),ve(a,s,o!=-n?o+n:null),st(Ie(Ie(A,e,ge),t,ge),s,n)},Ht=(e,t,s,n,a)=>Ie(Ie(Ie(F,e,ge),t,ge),s,(()=>[n,0]))[1]=a,$t=(e,t)=>st(Q,e,t),qt=(e,t,s)=>Ie(N,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(G(Ie(Ie(Ie(P,e,ge),t,ge),s,(()=>[])),n),a),Kt=(e,t,s)=>(G(Ie(H,e,(()=>[])),t),s),Ut=(e,t,s)=>M(Le(Le(Le(F,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Xt=e=>M(Le(N,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Yt=e=>ie(P)||ie(Ke[e])?0:ue(e?be(P):P,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>gt(Ke[e],[s,n,a],t))))))),Zt=e=>ie(H)||ie(at[e])?0:ue(e?Ce(H):H,((t,s)=>gt(at[e],[s],t))),_t=(e,t,s,n)=>{if(!ie(e))return gt(t,n,(()=>Re(e))),we(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=o&&gt(de[e],void 0,t);const s=ie(We[e]),n=ie($e[e])&&ie(qe[e])&&ie(je[e])&&ie(Be[e])&&ie(Fe[e])&&ie(Ne[e])&&ie(Pe[e])&&s&&ie(Je[e])&&ie(Ae[e]),a=ie(Ge[e])&&ie(He[e])&&ie(xe[e])&&ie(Ve[e]);if(!n||!a){const t=e?[Ce(S),pe(V),Ce(m),pe(E),be(A),be(F)]:[S,V,m,E,A,F];if(!n){_t(t[0],Je[e],Ae[e]),ue(t[1],((t,s)=>_t(t,Fe[e],Ne[e],[s]))),ue(t[2],((t,s)=>{0!=t&&gt(Pe[e],[s],is(s))}));const n=Me();ue(t[3],((t,a)=>{_t(t,je[e],Be[e],[a])&&!s&&(gt(We[e],[a,null]),De(n,a))})),s||ue(t[5],((t,s)=>{if(!le(n,s)){const n=Me();ue(t,(e=>ue(e,(([t,s],a)=>s!==t?De(n,a):he(e,a))))),ue(n,(t=>gt(We[e],[s,t])))}})),ue(t[4],((t,s)=>ue(t,((t,n)=>_t(t,$e[e],qe[e],[s,n])))))}if(!a){let s;ue(t[5],((t,n)=>{let a;ue(t,((t,o)=>{let r;ue(t,(([t,l],i)=>{l!==t&&(gt(Ge[e],[n,o,i],l,t,Ut),s=a=r=1)})),r&&gt(He[e],[n,o],Ut)})),a&&gt(xe[e],[n],Ut)})),s&&gt(Ve[e],void 0,Ut)}}},ts=e=>{const t=Ts();t!=d&&gt(ot[e],void 0,t);const s=ie(lt[e])&&ie(it[e]),n=ie(dt[e])&&ie(rt[e]);if(!s||!n){const t=e?[Ce(Q),Ce(N)]:[Q,N];if(s||_t(t[0],lt[e],it[e]),!n){let s;ue(t[1],(([t,n],a)=>{n!==t&&(gt(dt[e],[a],n,t,Xt),s=1)})),s&&gt(rt[e],void 0,Xt)}}},ss=(e,...t)=>(xs((()=>e(...B(t,b)))),zs),ns=()=>[Re(F,((e,t)=>-1===Le(S,t)?null:Re(e,((e,s)=>-1===Le(Le(E,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ze(t)))),oe)),oe),Re(N,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(F,Ye,Ze),invalidCells:ye(P),changedValues:Re(N,Ye,Ze),invalidValues:Re(H),changedTableIds:Re(S),changedRowIds:Te(E),changedCellIds:ye(A),changedValueIds:Re(Q)}),os=()=>ye(_),rs=()=>fe(_),ls=e=>fe(Le(Z,b(e))),is=e=>re(Le(_,b(e))),ds=e=>fe(Le(_,b(e))),cs=(e,t,s,n=0,a)=>{return B(x(j((o=Le(_,b(e)),r=(e,s)=>[k(t)?s:Le(e,b(t)),s],B([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>fe(Le(Le(_,b(e)),b(t))),hs=(e,t,s)=>Le(Le(Le(_,b(e)),b(t)),b(s)),gs=()=>Re(te),fs=()=>fe(te),Ls=e=>Le(te,b(e)),ws=()=>!ie(_),vs=e=>le(_,b(e)),Is=(e,t)=>le(Le(Z,b(e)),b(t)),Ss=(e,t)=>le(Le(_,b(e)),b(t)),Rs=(e,t,s)=>le(Le(Le(_,b(e)),b(t)),b(s)),Ts=()=>!ie(te),ys=e=>le(te,b(e)),Cs=e=>ss((()=>(e=>tt(e,vt,Gt))(e)?mt(e):0)),ps=e=>ss((()=>Rt(e)?At(e):0)),bs=e=>{try{Vt(et(e))}catch{}return zs},Vs=t=>ss((()=>{if((e=tt(t,(e=>tt(e,wt))))&&(pt(t),!ie(_))){const e=os();Es(),Cs(e)}})),ms=e=>ss((()=>{if(t=(e=>tt(e,wt))(e)){const s=gs();As(),Ds(),t=!0,bt(e),ps(s)}})),Es=()=>ss((()=>mt({}))),ks=e=>ss((e=>le(_,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>M(Le(_,e),(s=>le(s,t)?Nt(e,s,t):0))),e,t),Ds=()=>ss((()=>At({}))),Js=()=>ss((()=>{pt({}),e=!1})),As=()=>ss((()=>{bt({}),t=!1})),xs=(e,t)=>{if(-1!=h){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=h&&h++,1==h&&gt(ct,void 0,ns,as),zs),Qs=e=>(h>0&&(h--,0==h&&(s=!ie(F),n=!ie(N),h=1,Yt(1),s&&es(1),Zt(1),n&&ts(1),e?.(ns,as)&&(ue(F,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(zs,t,s,n,e))))))),ue(N,(([e],t)=>ke(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),h=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),h=0,s=n=!1,o=ws(),d=Ts(),W([S,V,m,E,A,F,P,Q,N,H],ce))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>Te(Le(_,b(e))),getTableCellIds:ls,getRowCount:is,getRowIds:ds,getSortedRowIds:cs,getRow:(e,t)=>Re(Le(Le(_,b(e)),b(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:Rs,hasValues:Ts,hasValue:ys,getTablesJson:()=>_e(_),getValuesJson:()=>_e(te),getJson:()=>_e([_,te]),getTablesSchemaJson:()=>_e($),getValuesSchemaJson:()=>_e(K),getSchemaJson:()=>_e([$,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(oe(e)?Es:Cs)(e),(oe(t)?Ds:ps)(t)})),setTables:Cs,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>xs((()=>{let n;return It(e,n,t)&&(e=b(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);ae(s,((s,a)=>Dt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>M(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>Dt(e,Qt(e),t,s,n)))),e,t,s),setValues:ps,setPartialValues:e=>ss((()=>Rt(e,1)?ae(e,((e,t)=>xt(t,e))):0)),setValue:(e,t)=>ss((e=>M(Tt(e,J(t)?t(Ls(e)):t),(t=>xt(e,t)))),e),setTransactionChanges:e=>ss((()=>{ae(e[0],((e,t)=>k(e)?ks(t):ae(e,((e,s)=>k(e)?Ms(t,s):ae(e,((e,n)=>Ee(zs,t,s,n,e))))))),ae(e[1],((e,t)=>ke(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Jt(et(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=et(e);Vt(t),Jt(s)}catch{bs(e)}})),setTablesSchema:Vs,setValuesSchema:ms,setSchema:(e,t)=>ss((()=>{Vs(e),ms(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>M(Le(_,e),(a=>M(Le(a,t),(o=>le(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:Ds,delValue:e=>ss((e=>le(te,e)?Pt(e):0),e),delTablesSchema:Js,delValuesSchema:As,delSchema:()=>ss((()=>{Js(),As()})),transaction:xs,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>ue(_,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(Z,b(e)),t),forEachRow:(e,t)=>ue(Le(_,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(_,b(e)),b(t)),s),forEachValue:e=>we(te,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=cs(e,t,s,n,a);return ht((()=>{const r=cs(e,t,s,n,a);O(r,l)||(l=r,o(zs,e,t,s,n,a,l))}),We[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,ct),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:nt,addListener:ht,callListeners:gt};return ae({[u+f]:[0,de,[],()=>[ws()]],[f]:[0,Ve],[L]:[0,Je],[u+g]:[1,Ae,[rs],e=>[vs(...e)]],[g]:[1,xe,[rs]],[g+T]:[1,Fe,[rs]],[u+g+R]:[2,Ne,[rs,ls],e=>[Is(...e)]],[v]:[1,Pe,[rs]],[I]:[1,je,[rs]],[u+w]:[2,Be,[rs,ds],e=>[Ss(...e)]],[w]:[2,He,[rs,ds]],[T]:[2,$e,[rs,ds]],[u+R]:[3,qe,[rs,ds,us],e=>[Rs(...e)]],[R]:[3,Ge,[rs,ds,us],e=>Ue(hs(...e))],InvalidCell:[3,Ke],[u+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[p]:[0,lt],[u+y]:[1,it,[fs],e=>[ys(...e)]],[y]:[1,dt,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,at]},(([e,t,s,n],a)=>{zs[c+a+i]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),ee(zs)};export{Ne as createCheckpoints,qe as createCustomPersister,Pe as createIndexes,Be as createMetrics,Ge as createQueries,Ke as createRelationships,nt as createStore,Oe as defaultSorter};
Binary file
@@ -785,16 +785,14 @@ export interface Checkpoints {
785
785
  * removing all the checkpoints it has been managing.
786
786
  *
787
787
  * Obviously this method should be used with caution as it destroys the
788
- * ability to undo recent changes to the Store (though of course the Store
789
- * itself is not reset by this method).
788
+ * ability to undo or redo recent changes to the Store (though of course the
789
+ * Store itself is not reset by this method).
790
790
  *
791
791
  * This method can be useful when a Store is being loaded via a Persister
792
792
  * asynchronously after the Checkpoints object has been attached, and you
793
793
  * don't want users to be able to undo the initial load of the data. In this
794
- * you could call the clear method immediately after the initial load so that
795
- * that is the baseline from which all subsequent changes are tracked.
796
- *
797
- * If you are listening to
794
+ * case you could call the clear method immediately after the initial load so
795
+ * that that is the baseline from which all subsequent changes are tracked.
798
796
  * @returns A reference to the Checkpoints object.
799
797
  * @example
800
798
  * This example creates a Store, a Checkpoints object, adds a listener, makes
@@ -837,6 +835,60 @@ export interface Checkpoints {
837
835
  */
838
836
  clear(): Checkpoints;
839
837
 
838
+ /**
839
+ * The clearForward method resets just the 'redo' checkpoints it has been
840
+ * managing.
841
+ *
842
+ * Obviously this method should be used with caution as it destroys the
843
+ * ability to redo recent changes to the Store (though of course the Store
844
+ * itself is not reset by this method).
845
+ *
846
+ * This method can be useful when you want to prohibit a user from redoing
847
+ * changes they have undone. The 'backward' redo stack, and current checkpoint
848
+ * are not affected.
849
+ * @returns A reference to the Checkpoints object.
850
+ * @example
851
+ * This example creates a Store, a Checkpoints object, adds a listener, makes
852
+ * a change and then clears the forward checkpoints.
853
+ *
854
+ * ```js
855
+ * const store = createStore().setTables({pets: {fido: {sold: false}}});
856
+ *
857
+ * const checkpoints = createCheckpoints(store);
858
+ * console.log(checkpoints.getCheckpointIds());
859
+ * // -> [[], '0', []]
860
+ *
861
+ * const listenerId = checkpoints.addCheckpointIdsListener(() => {
862
+ * console.log('checkpoints changed');
863
+ * });
864
+ *
865
+ * store.setCell('pets', 'fido', 'color', 'brown');
866
+ * // -> 'checkpoints changed'
867
+ * checkpoints.addCheckpoint();
868
+ * // -> 'checkpoints changed'
869
+ * store.setCell('pets', 'fido', 'sold', true);
870
+ * // -> 'checkpoints changed'
871
+ * checkpoints.addCheckpoint();
872
+ * // -> 'checkpoints changed'
873
+ * checkpoints.goBackward();
874
+ * // -> 'checkpoints changed'
875
+ *
876
+ * console.log(store.getTables());
877
+ * // -> {pets: {fido: {color: 'brown', sold: false}}}
878
+ * console.log(checkpoints.getCheckpointIds());
879
+ * // -> [['0'], '1', ['2']]
880
+ *
881
+ * checkpoints.clearForward();
882
+ * // -> 'checkpoints changed'
883
+ *
884
+ * console.log(checkpoints.getCheckpointIds());
885
+ * // -> [['0'], '1', []]
886
+ * ```
887
+ * @category Lifecycle
888
+ * @since v4.5.3
889
+ */
890
+ clearForward(): Checkpoints;
891
+
840
892
  /**
841
893
  * The destroy method should be called when this Checkpoints object is no
842
894
  * longer used.
@@ -864,16 +864,14 @@ export interface Checkpoints<in out Schemas extends OptionalSchemas> {
864
864
  * ```
865
865
  *
866
866
  * Obviously this method should be used with caution as it destroys the
867
- * ability to undo recent changes to the Store (though of course the Store
868
- * itself is not reset by this method).
867
+ * ability to undo or redo recent changes to the Store (though of course the
868
+ * Store itself is not reset by this method).
869
869
  *
870
870
  * This method can be useful when a Store is being loaded via a Persister
871
871
  * asynchronously after the Checkpoints object has been attached, and you
872
872
  * don't want users to be able to undo the initial load of the data. In this
873
- * you could call the clear method immediately after the initial load so that
874
- * that is the baseline from which all subsequent changes are tracked.
875
- *
876
- * If you are listening to
873
+ * case you could call the clear method immediately after the initial load so
874
+ * that that is the baseline from which all subsequent changes are tracked.
877
875
  * @returns A reference to the Checkpoints object.
878
876
  * @example
879
877
  * This example creates a Store, a Checkpoints object, adds a listener, makes
@@ -916,6 +914,66 @@ export interface Checkpoints<in out Schemas extends OptionalSchemas> {
916
914
  */
917
915
  clear(): Checkpoints<Schemas>;
918
916
 
917
+ /**
918
+ * The clearForward method resets just the 'redo' checkpoints it has been
919
+ * managing.
920
+ *
921
+ * This has schema-based typing. The following is a simplified representation:
922
+ *
923
+ * ```ts override
924
+ * clearForward(): Checkpoints;
925
+ * ```
926
+ *
927
+ * Obviously this method should be used with caution as it destroys the
928
+ * ability to redo recent changes to the Store (though of course the Store
929
+ * itself is not reset by this method).
930
+ *
931
+ * This method can be useful when you want to prohibit a user from redoing
932
+ * changes they have undone. The 'backward' redo stack, and current checkpoint
933
+ * are not affected.
934
+ * @returns A reference to the Checkpoints object.
935
+ * @example
936
+ * This example creates a Store, a Checkpoints object, adds a listener, makes
937
+ * a change and then clears the forward checkpoints.
938
+ *
939
+ * ```js
940
+ * const store = createStore().setTables({pets: {fido: {sold: false}}});
941
+ *
942
+ * const checkpoints = createCheckpoints(store);
943
+ * console.log(checkpoints.getCheckpointIds());
944
+ * // -> [[], '0', []]
945
+ *
946
+ * const listenerId = checkpoints.addCheckpointIdsListener(() => {
947
+ * console.log('checkpoints changed');
948
+ * });
949
+ *
950
+ * store.setCell('pets', 'fido', 'color', 'brown');
951
+ * // -> 'checkpoints changed'
952
+ * checkpoints.addCheckpoint();
953
+ * // -> 'checkpoints changed'
954
+ * store.setCell('pets', 'fido', 'sold', true);
955
+ * // -> 'checkpoints changed'
956
+ * checkpoints.addCheckpoint();
957
+ * // -> 'checkpoints changed'
958
+ * checkpoints.goBackward();
959
+ * // -> 'checkpoints changed'
960
+ *
961
+ * console.log(store.getTables());
962
+ * // -> {pets: {fido: {color: 'brown', sold: false}}}
963
+ * console.log(checkpoints.getCheckpointIds());
964
+ * // -> [['0'], '1', ['2']]
965
+ *
966
+ * checkpoints.clearForward();
967
+ * // -> 'checkpoints changed'
968
+ *
969
+ * console.log(checkpoints.getCheckpointIds());
970
+ * // -> [['0'], '1', []]
971
+ * ```
972
+ * @category Lifecycle
973
+ * @since v4.5.3
974
+ */
975
+ clearForward(): Checkpoints<Schemas>;
976
+
919
977
  /**
920
978
  * The destroy method should be called when this Checkpoints object is no
921
979
  * longer used.
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,s)=>t(e)?s?.():n(e),s=e=>e.length,o=(e,t)=>e.includes(t),r=(e,t)=>e.forEach(t),l=e=>0==s(e),i=(e,...t)=>e.push(...t),c=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,u=(e,t)=>e?.has(t)??!1,h=e=>t(e)||0==(e=>e?.size??0)(e),p=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),C=e=>new Map(e),g=(e,t)=>e?.get(t),k=(e,n,s)=>t(s)?(f(e,n),e):e?.set(n,s),v=(e,t,n)=>(u(e,t)||k(e,t,n()),g(e,t)),y=(e,t,o,r,l=0)=>n((o?v:g)(e,t[l],l>s(t)-2?o:C),(n=>{if(l>s(t)-2)return r?.(n)&&k(e,t[l]),n;const i=y(n,t,o,r,l+1);return h(n)&&k(e,t[l]),i})),L=e=>new Set(Array.isArray(e)||t(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=C(),E=C(),V=1;const j=C(),m=C(),[A,B,I]=(e=>{let o;const[l,c]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{w.test(t)&&s(e)<1e3&&i(e,t)}]})(),a=C();return[(e,t,n,s=[],r=(()=>[]))=>{o??=_;const i=l(1);var c,d;return k(a,i,[e,t,n,s,r]),c=y(t,n??[""],L),d=i,c?.add(d),i},(e,t,...n)=>r(((e,t=[""])=>{const n=[],o=(e,l)=>l==s(t)?i(n,e):null===t[l]?p(e,(e=>o(e,l+1))):r([t[l],null],(t=>o(g(e,t),l+1)));return o(e,0),n})(e,t),(e=>p(e,(e=>g(a,e)[0](o,...t??[],...n))))),e=>n(g(a,e),(([,t,n])=>(y(t,n??[""],void 0,(t=>(f(t,e),h(t)?1:0))),k(a,e),c(e),n))),e=>n(g(a,e),(([e,,n=[],l,i])=>{const c=(...d)=>{const a=s(d);a==s(n)?e(o,...d,...i(d)):t(n[a])?r(l[a]?.(...d)??[],(e=>c(...d,e))):c(...d,n[a])};c()}))]})(),M=C(),F=C(),O=[],W=[],$=(n,s)=>{V=0,e.transaction((()=>{const[o,r]=g(M,s);p(o,((s,o)=>p(s,((s,r)=>p(s,((s,l)=>((e,n,s,o,r)=>t(r)?e.delCell(n,s,o,!0):e.setCell(n,s,o,r))(e,o,r,l,s[n]))))))),p(r,((s,o)=>((e,n,s)=>t(s)?e.delValue(n):e.setValue(n,s))(e,o,s[n])))})),V=1},q=e=>{k(M,e),k(F,e),B(m,[e])},D=(e,t)=>r(((e,t)=>e.splice(0,t))(e,t??s(e)),q),G=()=>D(O,s(O)-x),H=()=>n(b,(()=>{i(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=c(O),T=1},K=e.addCellListener(null,null,null,((e,t,n,s,o,r)=>{if(V){H();const e=v(z,t,C),l=v(e,n,C),i=v(l,s,(()=>[r,void 0]));i[1]=o,i[0]===o&&h(k(l,s))&&h(k(e,n))&&h(k(z,t))&&J(),U()}})),N=e.addValueListener(null,((e,t,n,s)=>{if(V){H();const e=v(E,t,(()=>[s,void 0]));e[1]=n,e[0]===n&&h(k(E,t))&&J(),U()}})),P=(e="")=>(t(b)&&(b=""+S++,k(M,b,[z,E]),Y(b,e),z=C(),E=C(),T=1),b),Q=()=>{l(O)||(((e,...t)=>{e.unshift(...t)})(W,P()),$(0,b),b=c(O),T=1)},R=()=>{l(W)||(i(O,b),b=d(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&g(F,e)!==t&&(k(F,e,t),B(m,[e])),_),Z=e=>u(M,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return t=e,p(F,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>g(F,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const n=o(O,e)?Q:o(W,e)?R:null;for(;!t(n)&&e!=b;)n();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(I(e),_),clear:()=>(D(O),D(W),t(b)||q(b),b=void 0,S=0,X(),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return a(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,r)=>t(e)?r?.():n(e),r=e=>e.length,o=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),l=e=>0==r(e),i=(e,...t)=>e.push(...t),c=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,u=(e,t)=>e?.has(t)??!1,h=e=>t(e)||0==(e=>e?.size??0)(e),p=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),C=e=>new Map(e),g=(e,t)=>e?.get(t),k=(e,n,r)=>t(r)?(f(e,n),e):e?.set(n,r),v=(e,t,n)=>(u(e,t)||k(e,t,n()),g(e,t)),y=(e,t,o,s,l=0)=>n((o?v:g)(e,t[l],l>r(t)-2?o:C),(n=>{if(l>r(t)-2)return s?.(n)&&k(e,t[l]),n;const i=y(n,t,o,s,l+1);return h(n)&&k(e,t[l]),i})),L=e=>new Set(Array.isArray(e)||t(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=C(),E=C(),V=1;const j=C(),m=C(),[A,B,F]=(e=>{let o;const[l,c]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{w.test(t)&&r(e)<1e3&&i(e,t)}]})(),a=C();return[(e,t,n,r=[],s=(()=>[]))=>{o??=_;const i=l(1);var c,d;return k(a,i,[e,t,n,r,s]),c=y(t,n??[""],L),d=i,c?.add(d),i},(e,t,...n)=>s(((e,t=[""])=>{const n=[],o=(e,l)=>l==r(t)?i(n,e):null===t[l]?p(e,(e=>o(e,l+1))):s([t[l],null],(t=>o(g(e,t),l+1)));return o(e,0),n})(e,t),(e=>p(e,(e=>g(a,e)[0](o,...t??[],...n))))),e=>n(g(a,e),(([,t,n])=>(y(t,n??[""],void 0,(t=>(f(t,e),h(t)?1:0))),k(a,e),c(e),n))),e=>n(g(a,e),(([e,,n=[],l,i])=>{const c=(...d)=>{const a=r(d);a==r(n)?e(o,...d,...i(d)):t(n[a])?s(l[a]?.(...d)??[],(e=>c(...d,e))):c(...d,n[a])};c()}))]})(),I=C(),M=C(),O=[],W=[],$=(n,r)=>{V=0,e.transaction((()=>{const[o,s]=g(I,r);p(o,((r,o)=>p(r,((r,s)=>p(r,((r,l)=>((e,n,r,o,s)=>t(s)?e.delCell(n,r,o,!0):e.setCell(n,r,o,s))(e,o,s,l,r[n]))))))),p(s,((r,o)=>((e,n,r)=>t(r)?e.delValue(n):e.setValue(n,r))(e,o,r[n])))})),V=1},q=e=>{k(I,e),k(M,e),B(m,[e])},D=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??r(e)),q),G=()=>D(O,r(O)-x),H=()=>n(b,(()=>{i(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=c(O),T=1},K=e.addCellListener(null,null,null,((e,t,n,r,o,s)=>{if(V){H();const e=v(z,t,C),l=v(e,n,C),i=v(l,r,(()=>[s,void 0]));i[1]=o,i[0]===o&&h(k(l,r))&&h(k(e,n))&&h(k(z,t))&&J(),U()}})),N=e.addValueListener(null,((e,t,n,r)=>{if(V){H();const e=v(E,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&h(k(E,t))&&J(),U()}})),P=(e="")=>(t(b)&&(b=""+S++,k(I,b,[z,E]),Y(b,e),z=C(),E=C(),T=1),b),Q=()=>{l(O)||(((e,...t)=>{e.unshift(...t)})(W,P()),$(0,b),b=c(O),T=1)},R=()=>{l(W)||(i(O,b),b=d(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&g(M,e)!==t&&(k(M,e,t),B(m,[e])),_),Z=e=>u(I,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return t=e,p(M,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>g(M,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const n=o(O,e)?Q:o(W,e)?R:null;for(;!t(n)&&e!=b;)n();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(F(e),_),clear:()=>(D(O),D(W),t(b)||q(b),b=void 0,S=0,X(),_),clearForward:()=>(l(W)||(D(W),B(j)),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return a(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,v="Row",I=v+"Count",S=v+g,y="Sorted"+v+g,T="Cell",R=T+g,p="Value",C=p+"s",b=p+g,m=e=>s+e,V=Math.max,E=Math.min,k=isFinite,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),P=(e,t)=>Q(e)===Q(t)&&O(e,((e,s)=>t[s]===e)),j=(e,t)=>O(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),H=(e,t)=>e.map(t),$=e=>G(e,((e,t)=>e+t),0),q=e=>0==Q(e),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=e=>Y.getPrototypeOf(e),_=Y.keys,ee=Y.isFrozen,te=Y.freeze,se=e=>!M(e)&&x(Z(e),(e=>e==Y.prototype||M(Z(e))),(()=>!0)),ne=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ae=(e,t)=>(delete e[t],e),oe=(e,t)=>H(Y.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>Q(_(e)))(e),ie=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ce=e=>M(e)||0==ie(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),ve=(e,t)=>he(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(ge(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Ie(e,t,s()),we(e,t)),ye=(e,t,s,n=Ie)=>(oe(t,((t,n)=>s(e,n,t))),ve(e,(s=>ne(t,s)?0:n(e,s))),e),Te=(e,t,s)=>{const n={};return he(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Re=(e,t,s)=>Te(e,(e=>Te(e,t,s)),re),pe=(e,t,s)=>Te(e,(e=>Re(e,t,s)),re),Ce=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,s,n,a=0)=>x((s?Se:we)(e,t[a],a>Q(t)-2?s:fe),(o=>{if(a>Q(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ce(o)&&Ie(e,t[a]),r})),Ee=e=>{const s=t(e);return D(s)||s==o&&k(e)?s:void 0},ke=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Me=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(A(e)||M(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s,n,a)=>{const o=e.hasRow,r=fe(),i=fe(),l=fe(),c=fe(),d=fe(),u=fe(),h=(t,s,...n)=>{const a=Se(u,t,xe);return W(n,(t=>De(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(we(u,t),(n=>{W(q(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),le(i,e)||(Ie(i,e,t()),Ie(c,e,fe()),Ie(d,e,fe()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>Le(r),e=>ve(i,e),e=>le(i,e),e=>we(r,e),e=>we(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=fe(),u=fe(),L=we(c,t),w=we(d,t),v=t=>{const a=s=>e.getCell(n,t,s),c=we(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&P(c,d)||Ie(l,t,[c,d]),!M(i)){const e=we(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},I=e=>{a((()=>{he(l,(([,e],t)=>Ie(L,t,e))),he(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),ue(l),ue(u)};ve(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{le(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,l),()=>ve(u,L),h,g]},Ae=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Qe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Qe.test(t)&&Q(e)<1e3&&K(e,t)}]},Ne=e=>{let t;const[n,a]=ze(),o=fe();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),De(Ve(r,i??[s],xe),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?K(n,e):null===t[s]?he(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>he(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>x(we(o,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Ie(o,e),a(e),n))),e=>x(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Oe=Fe((e=>{let t,n,a,o=100,r=fe(),i=fe(),l=1;const c=fe(),d=fe(),[u,h,g]=Ne((()=>F)),f=fe(),L=fe(),w=[],v=[],I=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=we(f,s);he(n,((s,n)=>he(s,((s,a)=>he(s,((s,o)=>ke(e,n,a,o,s[t]))))))),he(a,((s,n)=>Me(e,n,s[t])))})),l=1},S=e=>{Ie(f,e),Ie(L,e),h(d,[e])},y=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),S),T=()=>y(w,Q(w)-o),R=()=>x(t,(()=>{K(w,t),T(),y(v),t=void 0,a=1})),p=()=>{t=U(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){R();const e=Se(r,t,fe),i=Se(e,s,fe),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&ce(Ie(i,n))&&ce(Ie(e,s))&&ce(Ie(r,t))&&p(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){R();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Ie(i,t))&&p(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=fe(),i=fe(),a=1),t),V=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,t),t=U(w),a=1)},E=()=>{q(v)||(K(w,t),t=X(v),I(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&we(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>le(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>ve(L,e),hasCheckpoint:A,getCheckpoint:e=>we(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(v,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(y(w),y(v),M(t)||S(t),t=void 0,n=0,D(),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return te(F.clear())})),Pe=(e,t)=>(e??0)<(t??0)?-1:1,je=Fe((e=>{const t=fe(),n=fe(),[a,o,r]=Ne((()=>S)),[i,l,c,d,u,h,g,,f,L,w,v]=Je(e,fe,(e=>M(e)?s:A(e)?H(e,m):m(e)),a,o),I=(t,s,n)=>{const a=u(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,s,a,r,i,l=Pe)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=xe(),v=xe(),I=h(e);if(he(a,(([e,t],s)=>{const n=xe(e),a=xe(t);he(n,(e=>ge(a,e)?ge(n,e):0)),he(n,(e=>{De(w,e),x(we(I,e),(t=>{ge(t,s),ce(t)&&(Ie(I,e),L=1)}))})),he(a,(e=>{De(w,e),le(I,e)||(Ie(I,e,xe()),L=1),De(we(I,e),s),M(r)||De(v,e)}))})),s(),ce(u)||(f?ve(I,(e=>De(v,e))):ve(i,(e=>x(we(d,e),(e=>De(v,e))))),he(v,(e=>{const t=(t,s)=>l(we(u,t),we(u,s),e),s=[...we(I,e)];j(s,t)||(Ie(I,e,xe(B(s,t))),De(w,e))}))),(L||f)&&!M(c)){const t=[...I];j(t,c)||(g(e,fe(B(t,c))),L=1)}L&&o(t,[e]),he(w,(t=>o(n,[e,t])))}),Ae(a),x(r,Ae)),S},delIndexDefinition:e=>(L(e),S),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>le(h(e),t),getTableId:u,getSliceIds:e=>Le(h(e)),getSliceRowIds:(e,t)=>de(we(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return te(S)})),Be=fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ce(s))return;const[r,i,l,c]=a;return o||=M(e),he(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(de(s),ie(s)):e},He=Fe((e=>{const t=fe(),[n,a,o]=Ne((()=>v)),[r,i,l,c,d,u,h,,g,f,L,w]=Je(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),v={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:we(Be,n)??we(Be,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=ie(r);l||=M(d),s();let f=We(d,g,r,n,c,l);k(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Ae(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return te(v)})),$e=fe(),qe=fe(),Ge=Fe((e=>{const t=e.createStore,n=t(),a=t(),o=fe(),{addListener:r,callListeners:i,delListener:l}=a,[h,g,L,w,p,,,C,,b,m,V,E,k]=Je(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>De(Se(Se(o,t,fe),e,xe),s))),A=e=>{x(we(o,e),(e=>{ve(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],l=[[null,[o,null,null,[],fe()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],fe()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:we(Be,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=fe(i);if(ce(h))return P;const g=fe(l);ve(g,((e,[,t])=>x(we(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=fe(d);let L=n;if(ce(f)&&q(u))L=a;else{N(t,L,a);const e=fe();ve(f,((t,[s,n])=>De(Se(e,s,xe),[t,n])));const s=xe();ve(h,(t=>le(e,t)?0:De(s,t)));const n=fe(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{ve(n,((t,[s])=>{const n=Se(i,t,fe),a=we(n,o),l=r?void 0:s;if(a!==l){const s=xe([[a,l]]),r=ie(n);Ie(n,o,l),he(we(e,t),(([e,t])=>{const a=We(d[e],r,n,s,t);d[e]=M(Ee(a))?null:a}))}})),ce(l)||!O(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=fe(),h=L.hasRow(t,i);let g=!h;he(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),ve(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(ge(e,i),ce(e)))),u,i,1),h&&o(Ve(n,d,(()=>{const e={};return he(s,(s=>e[s]=L.getCell(t,i,s))),[fe(),xe(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=we(g,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[we(g,t)?.[0],we(we(g,t)?.[4],s)?.[0],n]);L.transaction((()=>O(c,(e=>e(n)))?ve(h,((e,a)=>ke(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:v}=we(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(t,a),he(g,(({4:e})=>x(we(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),P},delQueryDefinition:e=>(A(e),b(e),P),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(P))),delListener:e=>(l(e),P),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return oe({[f]:[1,1],[f+R]:[0,1],[I]:[0,1],[S]:[0,1],[y]:[0,5],[v]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),te(P)})),Ke=Fe((e=>{const t=fe(),n=fe(),a=fe(),o=fe(),[r,i,l]=Ne((()=>R)),[c,d,u,h,g,f,,,L,w,v,I]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>M(e)?void 0:e+s),r,i),S=(e,t,s)=>x(f(e),(([n,,a])=>{if(!le(a,t)){const o=xe();if(g(e)!=T(e))De(o,t);else{let e=t;for(;!M(e)&&!le(o,e);)De(o,e),e=we(n,e)}if(s)return o;Ie(a,t,o)}return we(a,t)})),y=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),T=e=>we(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=xe(),l=xe(),c=xe(),[d,u]=f(e);he(s,(([t,s],n)=>{M(t)||(De(l,t),x(we(u,t),(e=>{ge(e,n),ce(e)&&Ie(u,t)}))),M(s)||(De(l,s),le(u,s)||Ie(u,s,xe()),De(we(u,s),n)),De(r,n),Ie(d,n,s),ve(we(o,e),(t=>{le(S(e,t),n)&&De(c,t)}))})),t(),he(r,(t=>i(n,[e,t]))),he(l,(t=>i(a,[e,t]))),he(c,(t=>{y(e,t),i(o,[e,t])}))}),Ae(l)),R),delRelationshipDefinition:e=>(Ie(t,e),w(e),R),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>we(f(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(y(...l(e)??[]),R),destroy:I,getListenerStats:()=>({})};return te(R)})),Ue=e=>[e,e],Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,_e=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Y.fromEntries([...t]):t)),et=JSON.parse,tt=(e,t,s)=>M(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ae(e,n)})),!re(e)),st=(e,t,s)=>Ie(e,t,we(e,t)==-s?void 0:s),nt=()=>{let e,t,s=!1,n=!1,a=!1,r=!1,d=0;const g=fe(),y=fe(),V=fe(),E=fe(),k=fe(),A=fe(),Q=fe(),z=fe(),O=fe(),j=fe(),$=fe(),q=fe(),G=fe(),U=fe(),X=xe(),Y=fe(),Z=fe(),_=fe(),ee=fe(),se=Xe(),de=Xe(),Ve=Xe(),Je=Xe(),Ae=Xe(),Fe=Xe(),Qe=Xe(),Oe=Xe(),je=Xe(),Be=Xe(),We=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),at=Xe(),ot=Xe(),rt=Xe(),it=Xe(),lt=Xe(),ct=Xe(),dt=fe(),ut=Xe(),[ht,gt,ft,Lt]=Ne((()=>zs)),wt=e=>{if(!tt(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ee(e[l])!=t&&ae(e,l),0))},vt=(t,s)=>(!e||le($,s)||Gt(s))&&tt(t,((e,t)=>It(s,t,e)),(()=>Gt(s))),It=(e,t,s,n)=>tt(n?s:Rt(s,e,t),((n,a)=>x(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,s,n,a)=>e?x(we(we($,t),n),(e=>Ee(a)!=e[i]?Gt(t,s,n,a,e[l]):a),(()=>Gt(t,s,n,a))):M(Ee(a))?Gt(t,s,n,a):a,yt=(e,t)=>tt(t?e:pt(e),((t,s)=>x(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,s)=>t?x(we(G,e),(t=>Ee(s)!=t[i]?Kt(e,s,t[l]):s),(()=>Kt(e,s))):M(Ee(s))?Kt(e,s):s,Rt=(e,t,s)=>(x(we(q,t),(([n,a])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(a,(n=>{ne(e,n)||Gt(t,s,n)}))})),e),pt=e=>(t&&(he(U,((t,s)=>{ne(e,s)||(e[s]=t)})),he(X,(t=>{ne(e,t)||Kt(t)}))),e),Ct=e=>ye($,e,((e,t,s)=>{const n=fe(),a=xe();ye(Se($,t,fe),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>De(a,t)))})),Ie(q,t,[n,a])}),((e,t)=>{Ie($,t),Ie(q,t)})),bt=e=>ye(G,e,((e,t,s)=>{Ie(G,t,s),x(s[l],(e=>Ie(U,t,e)),(()=>De(X,t)))}),((e,t)=>{Ie(G,t),Ie(U,t),ge(X,t)})),mt=e=>re(e)?Es():ps(e),Vt=e=>ye(_,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>ye(Se(_,e,(()=>(jt(e,1),Ie(Y,e,ze()),Ie(Z,e,fe()),fe()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>ye(Se(t,s,(()=>(Bt(e,s,1),fe()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{le(s,n)||Wt(e,t,n,1);const o=we(s,n);a!==o&&(Ht(e,t,n,o,a),Ie(s,n,a))},xt=(e,t,s,n,a)=>x(we(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,Rt({[n]:a},e,s)))),Dt=e=>re(e)?xs():Cs(e),Jt=e=>ye(ee,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{le(ee,e)||$t(e,1);const s=we(ee,e);t!==s&&(qt(e,s,t),Ie(ee,e,t))},Ft=(e,t)=>{const[s]=we(Y,e),n=s(t);return le(we(_,e),n)?Ft(e,t):n},Qt=e=>we(_,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=we(Y,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=we(we(q,e)?.[0],a);if(!M(r)&&!o)return Mt(e,s,n,a,r);const i=t=>{Ht(e,s,t,we(n,t)),Wt(e,s,t,-1),Ie(n,t)};M(r)?i(a):ve(n,i),ce(n)&&(Bt(e,s,-1),ce(Ie(t,s))&&(jt(e,-1),Ie(_,e),Ie(Y,e),Ie(Z,e)))},Pt=e=>{const t=we(U,e);if(!M(t))return At(e,t);qt(e,we(ee,e)),$t(e,-1),Ie(ee,e)},jt=(e,t)=>st(g,e,t),Bt=(e,t,s)=>st(Se(E,e,fe),t,s)&&Ie(V,e,Se(V,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=we(Z,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&st(Se(y,e,fe),s,n),Ie(a,s,o!=-n?o+n:null),st(Se(Se(k,e,fe),t,fe),s,n)},Ht=(e,t,s,n,a)=>Se(Se(Se(A,e,fe),t,fe),s,(()=>[n,0]))[1]=a,$t=(e,t)=>st(Q,e,t),qt=(e,t,s)=>Se(z,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(K(Se(Se(Se(O,e,fe),t,fe),s,(()=>[])),n),a),Kt=(e,t,s)=>(K(Se(j,e,(()=>[])),t),s),Ut=(e,t,s)=>x(we(we(we(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Xt=e=>x(we(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Yt=e=>ce(O)||ce(Ke[e])?0:he(e?me(O):O,((t,s)=>he(t,((t,n)=>he(t,((t,a)=>gt(Ke[e],[s,n,a],t))))))),Zt=e=>ce(j)||ce(at[e])?0:he(e?Ce(j):j,((t,s)=>gt(at[e],[s],t))),_t=(e,t,s,n)=>{if(!ce(e))return gt(t,n,(()=>Te(e))),ve(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=a&&gt(se[e],void 0,t);const s=ce(Be[e]),n=ce($e[e])&&ce(qe[e])&&ce(je[e])&&ce(We[e])&&ce(Fe[e])&&ce(Qe[e])&&ce(Oe[e])&&s&&ce(Ve[e])&&ce(Je[e]),o=ce(Ge[e])&&ce(He[e])&&ce(Ae[e])&&ce(de[e]);if(!n||!o){const t=e?[Ce(g),be(y),Ce(V),be(E),me(k),me(A)]:[g,y,V,E,k,A];if(!n){_t(t[0],Ve[e],Je[e]),he(t[1],((t,s)=>_t(t,Fe[e],Qe[e],[s]))),he(t[2],((t,s)=>{0!=t&&gt(Oe[e],[s],ls(s))}));const n=xe();he(t[3],((t,a)=>{_t(t,je[e],We[e],[a])&&!s&&(gt(Be[e],[a,null]),De(n,a))})),s||he(t[5],((t,s)=>{if(!le(n,s)){const n=xe();he(t,(e=>he(e,(([t,s],a)=>s!==t?De(n,a):ge(e,a))))),he(n,(t=>gt(Be[e],[s,t])))}})),he(t[4],((t,s)=>he(t,((t,n)=>_t(t,$e[e],qe[e],[s,n])))))}if(!o){let s;he(t[5],((t,n)=>{let a;he(t,((t,o)=>{let r;he(t,(([t,i],l)=>{i!==t&&(gt(Ge[e],[n,o,l],i,t,Ut),s=a=r=1)})),r&&gt(He[e],[n,o],Ut)})),a&&gt(Ae[e],[n],Ut)})),s&&gt(de[e],void 0,Ut)}}},ts=e=>{const t=Ts();t!=r&&gt(ot[e],void 0,t);const s=ce(it[e])&&ce(lt[e]),n=ce(ct[e])&&ce(rt[e]);if(!s||!n){const t=e?[Ce(Q),Ce(z)]:[Q,z];if(s||_t(t[0],it[e],lt[e]),!n){let s;he(t[1],(([t,n],a)=>{n!==t&&(gt(ct[e],[a],n,t,Xt),s=1)})),s&&gt(rt[e],void 0,Xt)}}},ss=(e,...t)=>(As((()=>e(...H(t,m)))),zs),ns=()=>[Te(A,((e,t)=>-1===we(g,t)?null:Te(e,((e,s)=>-1===we(we(E,t),s)?null:Te(e,(([,e])=>e??null),((e,t)=>Ze(t)))),re)),re),Te(z,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(A,Ye,Ze),invalidCells:pe(O),changedValues:Te(z,Ye,Ze),invalidValues:Te(j),changedTableIds:Te(g),changedRowIds:Re(E),changedCellIds:pe(k),changedValueIds:Te(Q)}),os=()=>pe(_),rs=()=>Le(_),is=e=>Le(we(Z,m(e))),ls=e=>ie(we(_,m(e))),cs=e=>Le(we(_,m(e))),ds=(e,t,s,n=0,a)=>{return H(F(B((o=we(_,m(e)),r=(e,s)=>[M(t)?s:we(e,m(t)),s],H([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Pe(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>Le(we(we(_,m(e)),m(t))),hs=(e,t,s)=>we(we(we(_,m(e)),m(t)),m(s)),gs=()=>Te(ee),fs=()=>Le(ee),Ls=e=>we(ee,m(e)),ws=()=>!ce(_),vs=e=>le(_,m(e)),Is=(e,t)=>le(we(Z,m(e)),m(t)),Ss=(e,t)=>le(we(_,m(e)),m(t)),ys=(e,t,s)=>le(we(we(_,m(e)),m(t)),m(s)),Ts=()=>!ce(ee),Rs=e=>le(ee,m(e)),ps=e=>ss((()=>(e=>tt(e,vt,Gt))(e)?Vt(e):0)),Cs=e=>ss((()=>yt(e)?Jt(e):0)),bs=e=>{try{mt(et(e))}catch{}return zs},ms=t=>ss((()=>{if((e=tt(t,(e=>tt(e,wt))))&&(Ct(t),!ce(_))){const e=os();Es(),ps(e)}})),Vs=e=>ss((()=>{if(t=(e=>tt(e,wt))(e)){const s=gs();Js(),xs(),t=!0,bt(e),Cs(s)}})),Es=()=>ss((()=>Vt({}))),ks=e=>ss((e=>le(_,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>x(we(_,e),(s=>le(s,t)?Nt(e,s,t):0))),e,t),xs=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=d){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=d&&d++,1==d&&gt(dt,void 0,ns,as),zs),Qs=e=>(d>0&&(d--,0==d&&(s=!ce(A),n=!ce(z),d=1,Yt(1),s&&es(1),Zt(1),n&&ts(1),e?.(ns,as)&&(he(A,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(zs,t,s,n,e))))))),he(z,(([e],t)=>Me(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),d=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),d=0,s=n=!1,a=ws(),r=Ts(),W([g,y,V,E,k,A,O,Q,z,j],ue))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>Re(we(_,m(e))),getTableCellIds:is,getRowCount:ls,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Te(we(we(_,m(e)),m(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:ys,hasValues:Ts,hasValue:Rs,getTablesJson:()=>_e(_),getValuesJson:()=>_e(ee),getJson:()=>_e([_,ee]),getTablesSchemaJson:()=>_e($),getValuesSchemaJson:()=>_e(G),getSchemaJson:()=>_e([$,G]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(re(e)?Es:ps)(e),(re(t)?xs:Cs)(t)})),setTables:ps,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);oe(s,((s,a)=>xt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>x(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>xt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>yt(e,1)?oe(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>x(Tt(e,J(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{oe(e[0],((e,t)=>M(e)?ks(t):oe(e,((e,s)=>M(e)?Ms(t,s):oe(e,((e,n)=>ke(zs,t,s,n,e))))))),oe(e[1],((e,t)=>Me(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(et(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=et(e);mt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>ss((()=>{ms(e),Vs(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>x(we(_,e),(a=>x(we(a,t),(o=>le(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ss((e=>le(ee,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>he(_,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>ve(t,e))))))))),forEachTableCell:(e,t)=>ve(we(Z,m(e)),t),forEachRow:(e,t)=>he(we(_,m(e)),((e,s)=>t(s,(t=>ve(e,t))))),forEachCell:(e,t,s)=>ve(we(we(_,m(e)),m(t)),s),forEachValue:e=>ve(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);P(r,i)||(i=r,o(zs,e,t,s,n,a,i))}),Be[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:nt,addListener:ht,callListeners:gt};return oe({[h+L]:[0,se,[],()=>[ws()]],[L]:[0,de],[w]:[0,Ve],[h+f]:[1,Je,[rs],e=>[vs(...e)]],[f]:[1,Ae,[rs]],[f+R]:[1,Fe,[rs]],[h+f+T]:[2,Qe,[rs,is],e=>[Is(...e)]],[I]:[1,Oe,[rs]],[S]:[1,je,[rs]],[h+v]:[2,We,[rs,cs],e=>[Ss(...e)]],[v]:[2,He,[rs,cs]],[R]:[2,$e,[rs,cs]],[h+T]:[3,qe,[rs,cs,us],e=>[ys(...e)]],[T]:[3,Ge,[rs,cs,us],e=>Ue(hs(...e))],InvalidCell:[3,Ke],[h+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[b]:[0,it],[h+p]:[1,lt,[fs],e=>[Rs(...e)]],[p]:[1,ct,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,at]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),te(zs)};e.createCheckpoints=Oe,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;Se($e,l,(()=>0)),Se(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();re(s)&&re(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(K(we(qe,l),...e),await(async()=>{if(!we($e,l)){for(Ie($e,l,1);!M(d=X(we(qe,l)));)try{await d()}catch(e){o?.(e)}Ie($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),te(L)},e.createIndexes=je,e.createMetrics=He,e.createQueries=Ge,e.createRelationships=Ke,e.createStore=nt,e.defaultSorter=Pe},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,v="Row",I=v+"Count",S=v+g,y="Sorted"+v+g,T="Cell",R=T+g,p="Value",C=p+"s",b=p+g,m=e=>s+e,V=Math.max,E=Math.min,k=isFinite,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),P=(e,t)=>Q(e)===Q(t)&&O(e,((e,s)=>t[s]===e)),j=(e,t)=>O(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),H=(e,t)=>e.map(t),$=e=>G(e,((e,t)=>e+t),0),q=e=>0==Q(e),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=e=>Y.getPrototypeOf(e),_=Y.keys,ee=Y.isFrozen,te=Y.freeze,se=e=>!M(e)&&x(Z(e),(e=>e==Y.prototype||M(Z(e))),(()=>!0)),ne=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ae=(e,t)=>(delete e[t],e),oe=(e,t)=>H(Y.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>Q(_(e)))(e),ie=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ce=e=>M(e)||0==ie(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),ve=(e,t)=>he(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(ge(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Ie(e,t,s()),we(e,t)),ye=(e,t,s,n=Ie)=>(oe(t,((t,n)=>s(e,n,t))),ve(e,(s=>ne(t,s)?0:n(e,s))),e),Te=(e,t,s)=>{const n={};return he(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Re=(e,t,s)=>Te(e,(e=>Te(e,t,s)),re),pe=(e,t,s)=>Te(e,(e=>Re(e,t,s)),re),Ce=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,s,n,a=0)=>x((s?Se:we)(e,t[a],a>Q(t)-2?s:fe),(o=>{if(a>Q(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ce(o)&&Ie(e,t[a]),r})),Ee=e=>{const s=t(e);return D(s)||s==o&&k(e)?s:void 0},ke=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Me=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(A(e)||M(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s,n,a)=>{const o=e.hasRow,r=fe(),i=fe(),l=fe(),c=fe(),d=fe(),u=fe(),h=(t,s,...n)=>{const a=Se(u,t,xe);return W(n,(t=>De(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(we(u,t),(n=>{W(q(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),le(i,e)||(Ie(i,e,t()),Ie(c,e,fe()),Ie(d,e,fe()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>Le(r),e=>ve(i,e),e=>le(i,e),e=>we(r,e),e=>we(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=fe(),u=fe(),L=we(c,t),w=we(d,t),v=t=>{const a=s=>e.getCell(n,t,s),c=we(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&P(c,d)||Ie(l,t,[c,d]),!M(i)){const e=we(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},I=e=>{a((()=>{he(l,(([,e],t)=>Ie(L,t,e))),he(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),ue(l),ue(u)};ve(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{le(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,l),()=>ve(u,L),h,g]},Ae=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Qe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Qe.test(t)&&Q(e)<1e3&&K(e,t)}]},Ne=e=>{let t;const[n,a]=ze(),o=fe();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),De(Ve(r,i??[s],xe),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?K(n,e):null===t[s]?he(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>he(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>x(we(o,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Ie(o,e),a(e),n))),e=>x(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Oe=Fe((e=>{let t,n,a,o=100,r=fe(),i=fe(),l=1;const c=fe(),d=fe(),[u,h,g]=Ne((()=>F)),f=fe(),L=fe(),w=[],v=[],I=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=we(f,s);he(n,((s,n)=>he(s,((s,a)=>he(s,((s,o)=>ke(e,n,a,o,s[t]))))))),he(a,((s,n)=>Me(e,n,s[t])))})),l=1},S=e=>{Ie(f,e),Ie(L,e),h(d,[e])},y=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),S),T=()=>y(w,Q(w)-o),R=()=>x(t,(()=>{K(w,t),T(),y(v),t=void 0,a=1})),p=()=>{t=U(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){R();const e=Se(r,t,fe),i=Se(e,s,fe),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&ce(Ie(i,n))&&ce(Ie(e,s))&&ce(Ie(r,t))&&p(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){R();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Ie(i,t))&&p(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=fe(),i=fe(),a=1),t),V=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,t),t=U(w),a=1)},E=()=>{q(v)||(K(w,t),t=X(v),I(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&we(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>le(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>ve(L,e),hasCheckpoint:A,getCheckpoint:e=>we(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(v,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(y(w),y(v),M(t)||S(t),t=void 0,n=0,D(),F),clearForward:()=>(q(v)||(y(v),h(c)),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return te(F.clear())})),Pe=(e,t)=>(e??0)<(t??0)?-1:1,je=Fe((e=>{const t=fe(),n=fe(),[a,o,r]=Ne((()=>S)),[i,l,c,d,u,h,g,,f,L,w,v]=Je(e,fe,(e=>M(e)?s:A(e)?H(e,m):m(e)),a,o),I=(t,s,n)=>{const a=u(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,s,a,r,i,l=Pe)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=xe(),v=xe(),I=h(e);if(he(a,(([e,t],s)=>{const n=xe(e),a=xe(t);he(n,(e=>ge(a,e)?ge(n,e):0)),he(n,(e=>{De(w,e),x(we(I,e),(t=>{ge(t,s),ce(t)&&(Ie(I,e),L=1)}))})),he(a,(e=>{De(w,e),le(I,e)||(Ie(I,e,xe()),L=1),De(we(I,e),s),M(r)||De(v,e)}))})),s(),ce(u)||(f?ve(I,(e=>De(v,e))):ve(i,(e=>x(we(d,e),(e=>De(v,e))))),he(v,(e=>{const t=(t,s)=>l(we(u,t),we(u,s),e),s=[...we(I,e)];j(s,t)||(Ie(I,e,xe(B(s,t))),De(w,e))}))),(L||f)&&!M(c)){const t=[...I];j(t,c)||(g(e,fe(B(t,c))),L=1)}L&&o(t,[e]),he(w,(t=>o(n,[e,t])))}),Ae(a),x(r,Ae)),S},delIndexDefinition:e=>(L(e),S),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>le(h(e),t),getTableId:u,getSliceIds:e=>Le(h(e)),getSliceRowIds:(e,t)=>de(we(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return te(S)})),Be=fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ce(s))return;const[r,i,l,c]=a;return o||=M(e),he(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(de(s),ie(s)):e},He=Fe((e=>{const t=fe(),[n,a,o]=Ne((()=>v)),[r,i,l,c,d,u,h,,g,f,L,w]=Je(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),v={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:we(Be,n)??we(Be,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=ie(r);l||=M(d),s();let f=We(d,g,r,n,c,l);k(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Ae(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return te(v)})),$e=fe(),qe=fe(),Ge=Fe((e=>{const t=e.createStore,n=t(),a=t(),o=fe(),{addListener:r,callListeners:i,delListener:l}=a,[h,g,L,w,p,,,C,,b,m,V,E,k]=Je(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>De(Se(Se(o,t,fe),e,xe),s))),A=e=>{x(we(o,e),(e=>{ve(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],l=[[null,[o,null,null,[],fe()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],fe()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:we(Be,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=fe(i);if(ce(h))return P;const g=fe(l);ve(g,((e,[,t])=>x(we(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=fe(d);let L=n;if(ce(f)&&q(u))L=a;else{N(t,L,a);const e=fe();ve(f,((t,[s,n])=>De(Se(e,s,xe),[t,n])));const s=xe();ve(h,(t=>le(e,t)?0:De(s,t)));const n=fe(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{ve(n,((t,[s])=>{const n=Se(i,t,fe),a=we(n,o),l=r?void 0:s;if(a!==l){const s=xe([[a,l]]),r=ie(n);Ie(n,o,l),he(we(e,t),(([e,t])=>{const a=We(d[e],r,n,s,t);d[e]=M(Ee(a))?null:a}))}})),ce(l)||!O(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=fe(),h=L.hasRow(t,i);let g=!h;he(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),ve(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(ge(e,i),ce(e)))),u,i,1),h&&o(Ve(n,d,(()=>{const e={};return he(s,(s=>e[s]=L.getCell(t,i,s))),[fe(),xe(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=we(g,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[we(g,t)?.[0],we(we(g,t)?.[4],s)?.[0],n]);L.transaction((()=>O(c,(e=>e(n)))?ve(h,((e,a)=>ke(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:v}=we(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(t,a),he(g,(({4:e})=>x(we(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),P},delQueryDefinition:e=>(A(e),b(e),P),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(P))),delListener:e=>(l(e),P),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return oe({[f]:[1,1],[f+R]:[0,1],[I]:[0,1],[S]:[0,1],[y]:[0,5],[v]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),te(P)})),Ke=Fe((e=>{const t=fe(),n=fe(),a=fe(),o=fe(),[r,i,l]=Ne((()=>R)),[c,d,u,h,g,f,,,L,w,v,I]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>M(e)?void 0:e+s),r,i),S=(e,t,s)=>x(f(e),(([n,,a])=>{if(!le(a,t)){const o=xe();if(g(e)!=T(e))De(o,t);else{let e=t;for(;!M(e)&&!le(o,e);)De(o,e),e=we(n,e)}if(s)return o;Ie(a,t,o)}return we(a,t)})),y=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),T=e=>we(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=xe(),l=xe(),c=xe(),[d,u]=f(e);he(s,(([t,s],n)=>{M(t)||(De(l,t),x(we(u,t),(e=>{ge(e,n),ce(e)&&Ie(u,t)}))),M(s)||(De(l,s),le(u,s)||Ie(u,s,xe()),De(we(u,s),n)),De(r,n),Ie(d,n,s),ve(we(o,e),(t=>{le(S(e,t),n)&&De(c,t)}))})),t(),he(r,(t=>i(n,[e,t]))),he(l,(t=>i(a,[e,t]))),he(c,(t=>{y(e,t),i(o,[e,t])}))}),Ae(l)),R),delRelationshipDefinition:e=>(Ie(t,e),w(e),R),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>we(f(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(y(...l(e)??[]),R),destroy:I,getListenerStats:()=>({})};return te(R)})),Ue=e=>[e,e],Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,_e=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Y.fromEntries([...t]):t)),et=JSON.parse,tt=(e,t,s)=>M(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ae(e,n)})),!re(e)),st=(e,t,s)=>Ie(e,t,we(e,t)==-s?void 0:s),nt=()=>{let e,t,s=!1,n=!1,a=!1,r=!1,d=0;const g=fe(),y=fe(),V=fe(),E=fe(),k=fe(),A=fe(),Q=fe(),z=fe(),O=fe(),j=fe(),$=fe(),q=fe(),G=fe(),U=fe(),X=xe(),Y=fe(),Z=fe(),_=fe(),ee=fe(),se=Xe(),de=Xe(),Ve=Xe(),Je=Xe(),Ae=Xe(),Fe=Xe(),Qe=Xe(),Oe=Xe(),je=Xe(),Be=Xe(),We=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),at=Xe(),ot=Xe(),rt=Xe(),it=Xe(),lt=Xe(),ct=Xe(),dt=fe(),ut=Xe(),[ht,gt,ft,Lt]=Ne((()=>zs)),wt=e=>{if(!tt(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ee(e[l])!=t&&ae(e,l),0))},vt=(t,s)=>(!e||le($,s)||Gt(s))&&tt(t,((e,t)=>It(s,t,e)),(()=>Gt(s))),It=(e,t,s,n)=>tt(n?s:Rt(s,e,t),((n,a)=>x(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,s,n,a)=>e?x(we(we($,t),n),(e=>Ee(a)!=e[i]?Gt(t,s,n,a,e[l]):a),(()=>Gt(t,s,n,a))):M(Ee(a))?Gt(t,s,n,a):a,yt=(e,t)=>tt(t?e:pt(e),((t,s)=>x(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,s)=>t?x(we(G,e),(t=>Ee(s)!=t[i]?Kt(e,s,t[l]):s),(()=>Kt(e,s))):M(Ee(s))?Kt(e,s):s,Rt=(e,t,s)=>(x(we(q,t),(([n,a])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(a,(n=>{ne(e,n)||Gt(t,s,n)}))})),e),pt=e=>(t&&(he(U,((t,s)=>{ne(e,s)||(e[s]=t)})),he(X,(t=>{ne(e,t)||Kt(t)}))),e),Ct=e=>ye($,e,((e,t,s)=>{const n=fe(),a=xe();ye(Se($,t,fe),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>De(a,t)))})),Ie(q,t,[n,a])}),((e,t)=>{Ie($,t),Ie(q,t)})),bt=e=>ye(G,e,((e,t,s)=>{Ie(G,t,s),x(s[l],(e=>Ie(U,t,e)),(()=>De(X,t)))}),((e,t)=>{Ie(G,t),Ie(U,t),ge(X,t)})),mt=e=>re(e)?Es():ps(e),Vt=e=>ye(_,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>ye(Se(_,e,(()=>(jt(e,1),Ie(Y,e,ze()),Ie(Z,e,fe()),fe()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>ye(Se(t,s,(()=>(Bt(e,s,1),fe()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{le(s,n)||Wt(e,t,n,1);const o=we(s,n);a!==o&&(Ht(e,t,n,o,a),Ie(s,n,a))},xt=(e,t,s,n,a)=>x(we(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,Rt({[n]:a},e,s)))),Dt=e=>re(e)?xs():Cs(e),Jt=e=>ye(ee,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{le(ee,e)||$t(e,1);const s=we(ee,e);t!==s&&(qt(e,s,t),Ie(ee,e,t))},Ft=(e,t)=>{const[s]=we(Y,e),n=s(t);return le(we(_,e),n)?Ft(e,t):n},Qt=e=>we(_,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=we(Y,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=we(we(q,e)?.[0],a);if(!M(r)&&!o)return Mt(e,s,n,a,r);const i=t=>{Ht(e,s,t,we(n,t)),Wt(e,s,t,-1),Ie(n,t)};M(r)?i(a):ve(n,i),ce(n)&&(Bt(e,s,-1),ce(Ie(t,s))&&(jt(e,-1),Ie(_,e),Ie(Y,e),Ie(Z,e)))},Pt=e=>{const t=we(U,e);if(!M(t))return At(e,t);qt(e,we(ee,e)),$t(e,-1),Ie(ee,e)},jt=(e,t)=>st(g,e,t),Bt=(e,t,s)=>st(Se(E,e,fe),t,s)&&Ie(V,e,Se(V,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=we(Z,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&st(Se(y,e,fe),s,n),Ie(a,s,o!=-n?o+n:null),st(Se(Se(k,e,fe),t,fe),s,n)},Ht=(e,t,s,n,a)=>Se(Se(Se(A,e,fe),t,fe),s,(()=>[n,0]))[1]=a,$t=(e,t)=>st(Q,e,t),qt=(e,t,s)=>Se(z,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(K(Se(Se(Se(O,e,fe),t,fe),s,(()=>[])),n),a),Kt=(e,t,s)=>(K(Se(j,e,(()=>[])),t),s),Ut=(e,t,s)=>x(we(we(we(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Xt=e=>x(we(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Yt=e=>ce(O)||ce(Ke[e])?0:he(e?me(O):O,((t,s)=>he(t,((t,n)=>he(t,((t,a)=>gt(Ke[e],[s,n,a],t))))))),Zt=e=>ce(j)||ce(at[e])?0:he(e?Ce(j):j,((t,s)=>gt(at[e],[s],t))),_t=(e,t,s,n)=>{if(!ce(e))return gt(t,n,(()=>Te(e))),ve(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=a&&gt(se[e],void 0,t);const s=ce(Be[e]),n=ce($e[e])&&ce(qe[e])&&ce(je[e])&&ce(We[e])&&ce(Fe[e])&&ce(Qe[e])&&ce(Oe[e])&&s&&ce(Ve[e])&&ce(Je[e]),o=ce(Ge[e])&&ce(He[e])&&ce(Ae[e])&&ce(de[e]);if(!n||!o){const t=e?[Ce(g),be(y),Ce(V),be(E),me(k),me(A)]:[g,y,V,E,k,A];if(!n){_t(t[0],Ve[e],Je[e]),he(t[1],((t,s)=>_t(t,Fe[e],Qe[e],[s]))),he(t[2],((t,s)=>{0!=t&&gt(Oe[e],[s],ls(s))}));const n=xe();he(t[3],((t,a)=>{_t(t,je[e],We[e],[a])&&!s&&(gt(Be[e],[a,null]),De(n,a))})),s||he(t[5],((t,s)=>{if(!le(n,s)){const n=xe();he(t,(e=>he(e,(([t,s],a)=>s!==t?De(n,a):ge(e,a))))),he(n,(t=>gt(Be[e],[s,t])))}})),he(t[4],((t,s)=>he(t,((t,n)=>_t(t,$e[e],qe[e],[s,n])))))}if(!o){let s;he(t[5],((t,n)=>{let a;he(t,((t,o)=>{let r;he(t,(([t,i],l)=>{i!==t&&(gt(Ge[e],[n,o,l],i,t,Ut),s=a=r=1)})),r&&gt(He[e],[n,o],Ut)})),a&&gt(Ae[e],[n],Ut)})),s&&gt(de[e],void 0,Ut)}}},ts=e=>{const t=Ts();t!=r&&gt(ot[e],void 0,t);const s=ce(it[e])&&ce(lt[e]),n=ce(ct[e])&&ce(rt[e]);if(!s||!n){const t=e?[Ce(Q),Ce(z)]:[Q,z];if(s||_t(t[0],it[e],lt[e]),!n){let s;he(t[1],(([t,n],a)=>{n!==t&&(gt(ct[e],[a],n,t,Xt),s=1)})),s&&gt(rt[e],void 0,Xt)}}},ss=(e,...t)=>(As((()=>e(...H(t,m)))),zs),ns=()=>[Te(A,((e,t)=>-1===we(g,t)?null:Te(e,((e,s)=>-1===we(we(E,t),s)?null:Te(e,(([,e])=>e??null),((e,t)=>Ze(t)))),re)),re),Te(z,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(A,Ye,Ze),invalidCells:pe(O),changedValues:Te(z,Ye,Ze),invalidValues:Te(j),changedTableIds:Te(g),changedRowIds:Re(E),changedCellIds:pe(k),changedValueIds:Te(Q)}),os=()=>pe(_),rs=()=>Le(_),is=e=>Le(we(Z,m(e))),ls=e=>ie(we(_,m(e))),cs=e=>Le(we(_,m(e))),ds=(e,t,s,n=0,a)=>{return H(F(B((o=we(_,m(e)),r=(e,s)=>[M(t)?s:we(e,m(t)),s],H([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Pe(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>Le(we(we(_,m(e)),m(t))),hs=(e,t,s)=>we(we(we(_,m(e)),m(t)),m(s)),gs=()=>Te(ee),fs=()=>Le(ee),Ls=e=>we(ee,m(e)),ws=()=>!ce(_),vs=e=>le(_,m(e)),Is=(e,t)=>le(we(Z,m(e)),m(t)),Ss=(e,t)=>le(we(_,m(e)),m(t)),ys=(e,t,s)=>le(we(we(_,m(e)),m(t)),m(s)),Ts=()=>!ce(ee),Rs=e=>le(ee,m(e)),ps=e=>ss((()=>(e=>tt(e,vt,Gt))(e)?Vt(e):0)),Cs=e=>ss((()=>yt(e)?Jt(e):0)),bs=e=>{try{mt(et(e))}catch{}return zs},ms=t=>ss((()=>{if((e=tt(t,(e=>tt(e,wt))))&&(Ct(t),!ce(_))){const e=os();Es(),ps(e)}})),Vs=e=>ss((()=>{if(t=(e=>tt(e,wt))(e)){const s=gs();Js(),xs(),t=!0,bt(e),Cs(s)}})),Es=()=>ss((()=>Vt({}))),ks=e=>ss((e=>le(_,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>x(we(_,e),(s=>le(s,t)?Nt(e,s,t):0))),e,t),xs=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=d){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=d&&d++,1==d&&gt(dt,void 0,ns,as),zs),Qs=e=>(d>0&&(d--,0==d&&(s=!ce(A),n=!ce(z),d=1,Yt(1),s&&es(1),Zt(1),n&&ts(1),e?.(ns,as)&&(he(A,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(zs,t,s,n,e))))))),he(z,(([e],t)=>Me(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),d=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),d=0,s=n=!1,a=ws(),r=Ts(),W([g,y,V,E,k,A,O,Q,z,j],ue))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>Re(we(_,m(e))),getTableCellIds:is,getRowCount:ls,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Te(we(we(_,m(e)),m(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:ys,hasValues:Ts,hasValue:Rs,getTablesJson:()=>_e(_),getValuesJson:()=>_e(ee),getJson:()=>_e([_,ee]),getTablesSchemaJson:()=>_e($),getValuesSchemaJson:()=>_e(G),getSchemaJson:()=>_e([$,G]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(re(e)?Es:ps)(e),(re(t)?xs:Cs)(t)})),setTables:ps,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);oe(s,((s,a)=>xt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>x(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>xt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>yt(e,1)?oe(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>x(Tt(e,J(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{oe(e[0],((e,t)=>M(e)?ks(t):oe(e,((e,s)=>M(e)?Ms(t,s):oe(e,((e,n)=>ke(zs,t,s,n,e))))))),oe(e[1],((e,t)=>Me(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(et(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=et(e);mt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>ss((()=>{ms(e),Vs(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>x(we(_,e),(a=>x(we(a,t),(o=>le(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ss((e=>le(ee,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>he(_,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>ve(t,e))))))))),forEachTableCell:(e,t)=>ve(we(Z,m(e)),t),forEachRow:(e,t)=>he(we(_,m(e)),((e,s)=>t(s,(t=>ve(e,t))))),forEachCell:(e,t,s)=>ve(we(we(_,m(e)),m(t)),s),forEachValue:e=>ve(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);P(r,i)||(i=r,o(zs,e,t,s,n,a,i))}),Be[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:nt,addListener:ht,callListeners:gt};return oe({[h+L]:[0,se,[],()=>[ws()]],[L]:[0,de],[w]:[0,Ve],[h+f]:[1,Je,[rs],e=>[vs(...e)]],[f]:[1,Ae,[rs]],[f+R]:[1,Fe,[rs]],[h+f+T]:[2,Qe,[rs,is],e=>[Is(...e)]],[I]:[1,Oe,[rs]],[S]:[1,je,[rs]],[h+v]:[2,We,[rs,cs],e=>[Ss(...e)]],[v]:[2,He,[rs,cs]],[R]:[2,$e,[rs,cs]],[h+T]:[3,qe,[rs,cs,us],e=>[ys(...e)]],[T]:[3,Ge,[rs,cs,us],e=>Ue(hs(...e))],InvalidCell:[3,Ke],[h+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[b]:[0,it],[h+p]:[1,lt,[fs],e=>[Rs(...e)]],[p]:[1,ct,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,at]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),te(zs)};e.createCheckpoints=Oe,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;Se($e,l,(()=>0)),Se(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();re(s)&&re(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(K(we(qe,l),...e),await(async()=>{if(!we($e,l)){for(Ie($e,l,1);!M(d=X(we(qe,l)));)try{await d()}catch(e){o?.(e)}Ie($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),te(L)},e.createIndexes=je,e.createMetrics=He,e.createQueries=Ge,e.createRelationships=Ke,e.createStore=nt,e.defaultSorter=Pe},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>null==e,t=(e,t,l)=>n(e)?null==l?void 0:l():t(e),l=e=>e.length,o=(e,n)=>e.includes(n),r=(e,n)=>e.forEach(n),s=e=>0==l(e),i=(e,...n)=>e.push(...n),u=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,c=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>n(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),p=(e,n)=>null==e?void 0:e.forEach(n),f=(e,n)=>null==e?void 0:e.delete(n),v=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),g=(e,t,l)=>n(l)?(f(e,t),e):null==e?void 0:e.set(t,l),k=(e,n,t)=>(c(e,n)||g(e,n,t()),C(e,n)),y=(e,n,o,r,s=0)=>t((o?k:C)(e,n[s],s>l(n)-2?o:v),(t=>{if(s>l(n)-2)return(null==r?void 0:r(t))&&g(e,n[s]),t;const i=y(t,n,o,r,s+1);return h(t)&&g(e,n[s]),i})),L=e=>new Set(Array.isArray(e)||n(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=v(),E=v(),V=1;const j=v(),m=v(),[A,B,I]=(e=>{let o;const[s,u]=(()=>{const e=[];let n=0;return[t=>{var l;return null!=(l=t?d(e):null)?l:""+n++},n=>{w.test(n)&&l(e)<1e3&&i(e,n)}]})(),a=v();return[(e,n,t,l=[],r=(()=>[]))=>{null!=o||(o=_);const i=s(1);var u,d;return g(a,i,[e,n,t,l,r]),d=i,null==(u=y(n,null!=t?t:[""],L))||u.add(d),i},(e,n,...t)=>r(((e,n=[""])=>{const t=[],o=(e,s)=>s==l(n)?i(t,e):null===n[s]?p(e,(e=>o(e,s+1))):r([n[s],null],(n=>o(C(e,n),s+1)));return o(e,0),t})(e,n),(e=>p(e,(e=>C(a,e)[0](o,...null!=n?n:[],...t))))),e=>t(C(a,e),(([,n,t])=>(y(n,null!=t?t:[""],void 0,(n=>(f(n,e),h(n)?1:0))),g(a,e),u(e),t))),e=>t(C(a,e),(([e,,t=[],s,i])=>{const u=(...d)=>{var a,c;const h=l(d);h==l(t)?e(o,...d,...i(d)):n(t[h])?r(null!=(c=null==(a=s[h])?void 0:a.call(s,...d))?c:[],(e=>u(...d,e))):u(...d,t[h])};u()}))]})(),M=v(),F=v(),O=[],W=[],$=(t,l)=>{V=0,e.transaction((()=>{const[o,r]=C(M,l);p(o,((l,o)=>p(l,((l,r)=>p(l,((l,s)=>((e,t,l,o,r)=>n(r)?e.delCell(t,l,o,!0):e.setCell(t,l,o,r))(e,o,r,s,l[t]))))))),p(r,((l,o)=>((e,t,l)=>n(l)?e.delValue(t):e.setValue(t,l))(e,o,l[t])))})),V=1},q=e=>{g(M,e),g(F,e),B(m,[e])},D=(e,n)=>r(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),q),G=()=>D(O,l(O)-x),H=()=>t(b,(()=>{i(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=u(O),T=1},K=e.addCellListener(null,null,null,((e,n,t,l,o,r)=>{if(V){H();const e=k(z,n,v),s=k(e,t,v),i=k(s,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&h(g(s,l))&&h(g(e,t))&&h(g(z,n))&&J(),U()}})),N=e.addValueListener(null,((e,n,t,l)=>{if(V){H();const e=k(E,n,(()=>[l,void 0]));e[1]=t,e[0]===t&&h(g(E,n))&&J(),U()}})),P=(e="")=>(n(b)&&(b=""+S++,g(M,b,[z,E]),Y(b,e),z=v(),E=v(),T=1),b),Q=()=>{s(O)||(((e,...n)=>{e.unshift(...n)})(W,P()),$(0,b),b=u(O),T=1)},R=()=>{s(W)||(i(O,b),b=d(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(F,e)!==n&&(g(F,e,n),B(m,[e])),_),Z=e=>c(M,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return n=e,p(F,((e,t)=>n(t,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(F,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const t=o(O,e)?Q:o(W,e)?R:null;for(;!n(t)&&e!=b;)t();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,n)=>A(n,m,[e]),delListener:e=>(I(e),_),clear:()=>(D(O),D(W),n(b)||q(b),b=void 0,S=0,X(),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return a(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>null==e,t=(e,t,l)=>n(e)?null==l?void 0:l():t(e),l=e=>e.length,r=(e,n)=>e.includes(n),o=(e,n)=>e.forEach(n),s=e=>0==l(e),i=(e,...n)=>e.push(...n),u=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,c=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>n(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),p=(e,n)=>null==e?void 0:e.forEach(n),f=(e,n)=>null==e?void 0:e.delete(n),v=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),g=(e,t,l)=>n(l)?(f(e,t),e):null==e?void 0:e.set(t,l),k=(e,n,t)=>(c(e,n)||g(e,n,t()),C(e,n)),y=(e,n,r,o,s=0)=>t((r?k:C)(e,n[s],s>l(n)-2?r:v),(t=>{if(s>l(n)-2)return(null==o?void 0:o(t))&&g(e,n[s]),t;const i=y(t,n,r,o,s+1);return h(t)&&g(e,n[s]),i})),L=e=>new Set(Array.isArray(e)||n(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=v(),E=v(),V=1;const j=v(),m=v(),[A,B,F]=(e=>{let r;const[s,u]=(()=>{const e=[];let n=0;return[t=>{var l;return null!=(l=t?d(e):null)?l:""+n++},n=>{w.test(n)&&l(e)<1e3&&i(e,n)}]})(),a=v();return[(e,n,t,l=[],o=(()=>[]))=>{null!=r||(r=_);const i=s(1);var u,d;return g(a,i,[e,n,t,l,o]),d=i,null==(u=y(n,null!=t?t:[""],L))||u.add(d),i},(e,n,...t)=>o(((e,n=[""])=>{const t=[],r=(e,s)=>s==l(n)?i(t,e):null===n[s]?p(e,(e=>r(e,s+1))):o([n[s],null],(n=>r(C(e,n),s+1)));return r(e,0),t})(e,n),(e=>p(e,(e=>C(a,e)[0](r,...null!=n?n:[],...t))))),e=>t(C(a,e),(([,n,t])=>(y(n,null!=t?t:[""],void 0,(n=>(f(n,e),h(n)?1:0))),g(a,e),u(e),t))),e=>t(C(a,e),(([e,,t=[],s,i])=>{const u=(...d)=>{var a,c;const h=l(d);h==l(t)?e(r,...d,...i(d)):n(t[h])?o(null!=(c=null==(a=s[h])?void 0:a.call(s,...d))?c:[],(e=>u(...d,e))):u(...d,t[h])};u()}))]})(),I=v(),M=v(),O=[],W=[],$=(t,l)=>{V=0,e.transaction((()=>{const[r,o]=C(I,l);p(r,((l,r)=>p(l,((l,o)=>p(l,((l,s)=>((e,t,l,r,o)=>n(o)?e.delCell(t,l,r,!0):e.setCell(t,l,r,o))(e,r,o,s,l[t]))))))),p(o,((l,r)=>((e,t,l)=>n(l)?e.delValue(t):e.setValue(t,l))(e,r,l[t])))})),V=1},q=e=>{g(I,e),g(M,e),B(m,[e])},D=(e,n)=>o(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),q),G=()=>D(O,l(O)-x),H=()=>t(b,(()=>{i(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=u(O),T=1},K=e.addCellListener(null,null,null,((e,n,t,l,r,o)=>{if(V){H();const e=k(z,n,v),s=k(e,t,v),i=k(s,l,(()=>[o,void 0]));i[1]=r,i[0]===r&&h(g(s,l))&&h(g(e,t))&&h(g(z,n))&&J(),U()}})),N=e.addValueListener(null,((e,n,t,l)=>{if(V){H();const e=k(E,n,(()=>[l,void 0]));e[1]=t,e[0]===t&&h(g(E,n))&&J(),U()}})),P=(e="")=>(n(b)&&(b=""+S++,g(I,b,[z,E]),Y(b,e),z=v(),E=v(),T=1),b),Q=()=>{s(O)||(((e,...n)=>{e.unshift(...n)})(W,P()),$(0,b),b=u(O),T=1)},R=()=>{s(W)||(i(O,b),b=d(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(M,e)!==n&&(g(M,e,n),B(m,[e])),_),Z=e=>c(I,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return n=e,p(M,((e,t)=>n(t,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(M,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const t=r(O,e)?Q:r(W,e)?R:null;for(;!n(t)&&e!=b;)t();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,n)=>A(n,m,[e]),delListener:e=>(F(e),_),clear:()=>(D(O),D(W),n(b)||q(b),b=void 0,S=0,X(),_),clearForward:()=>(s(W)||(D(W),B(j)),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return a(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",u="Result",c="add",v="Has",h="Ids",f="Table",g=f+"s",L=f+h,y="Row",p=y+"Count",I=y+h,S="Sorted"+y+h,T="Cell",R=T+h,w="Value",C=w+"s",b=w+h,m=e=>n+e,V=Math.max,E=Math.min,x=isFinite,k=e=>null==e,M=(e,t,n)=>k(e)?null==n?void 0:n():t(e),D=e=>e==l||e==s,J=e=>t(e)==r,O=e=>Array.isArray(e),A=(e,t,n)=>e.slice(t,n),P=e=>e.length,F=()=>{},Q=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),z=(e,t)=>P(e)===P(t)&&j(e,((e,n)=>t[n]===e)),N=(e,t)=>j(e,((n,l)=>0==l||t(e[l-1],n)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),H=(e,t)=>e.map(t),$=e=>G(e,((e,t)=>e+t),0),q=e=>0==P(e),G=(e,t,n)=>e.reduce(t,n),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=e=>Y.getPrototypeOf(e),_=Y.keys,ee=Y.isFrozen,te=Y.freeze,ne=e=>!k(e)&&M(Z(e),(e=>e==Y.prototype||k(Z(e))),(()=>!0)),le=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),oe=(e,t)=>H(Y.entries(e),(([e,n])=>t(n,e))),re=e=>ne(e)&&0==(e=>P(_(e)))(e),ie=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ae=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},de=e=>k(e)||0==ie(e),ue=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ve=(e,t)=>null==e?void 0:e.forEach(t),he=(e,t)=>null==e?void 0:e.delete(t),fe=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Le=(e,t)=>null==e?void 0:e.get(t),ye=(e,t)=>ve(e,((e,n)=>t(n,e))),pe=(e,t,n)=>k(n)?(he(e,t),e):null==e?void 0:e.set(t,n),Ie=(e,t,n)=>(ae(e,t)||pe(e,t,n()),Le(e,t)),Se=(e,t,n,l=pe)=>(oe(t,((t,l)=>n(e,l,t))),ye(e,(n=>le(t,n)?0:l(e,n))),e),Te=(e,t,n)=>{const l={};return ve(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Re=(e,t,n)=>Te(e,(e=>Te(e,t,n)),re),we=(e,t,n)=>Te(e,(e=>Re(e,t,n)),re),Ce=(e,t)=>{const n=fe();return ve(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,n,l,s=0)=>M((n?Ie:Le)(e,t[s],s>P(t)-2?n:fe),(o=>{if(s>P(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return de(o)&&pe(e,t[s]),r})),Ee=e=>{const n=t(e);return D(n)||n==o&&x(e)?n:void 0},xe=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),Me=e=>new Set(O(e)||k(e)?e:[e]),De=(e,t)=>null==e?void 0:e.add(t),Je=(e,t,n,l,s)=>{const o=e.hasRow,r=fe(),i=fe(),a=fe(),d=fe(),u=fe(),c=fe(),v=(t,n,...l)=>{const s=Ie(c,t,Me);return W(l,(t=>De(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>M(Le(c,t),(l=>{W(q(n)?ue(l):n,(t=>{e.delListener(t),he(l,t)})),de(l)&&pe(c,t)})),f=(e,n)=>{pe(r,e,n),ae(i,e)||(pe(i,e,t()),pe(d,e,fe()),pe(u,e,fe()),s(a))},g=e=>{pe(r,e),pe(i,e),pe(d,e),pe(u,e),h(e),s(a)};return[()=>e,()=>ge(r),e=>ye(i,e),e=>ae(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>pe(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=fe(),c=fe(),g=Le(d,t),L=Le(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=Le(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||O(d)&&O(u)&&z(d,u)||pe(a,t,[d,u]),!k(i)){const e=Le(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&pe(c,t,n)}},p=e=>{s((()=>{ve(a,(([,e],t)=>pe(g,t,e))),ve(c,((e,t)=>pe(L,t,e)))}),a,c,g,L,e),ce(a),ce(c)};ye(g,y),e.hasTable(l)&&W(e.getRowIds(l),(e=>{ae(g,e)||y(e)})),p(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>p())))},g,e=>l(e,a),()=>ye(c,g),v,h]},Oe=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Pe=/^\d+$/,Fe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?X(e):null)?s:n+t++},t=>{Pe.test(t)&&P(e)<1e3&&K(e,t)}]},Qe=e=>{let t;const[l,s]=Fe(),o=fe();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const u=l(1);return pe(o,u,[s,r,i,a,d]),De(Ve(r,null!=i?i:[n],Me),u),u},(e,l,...s)=>W(((e,t=[n])=>{const l=[],s=(e,n)=>n==P(t)?K(l,e):null===t[n]?ve(e,(e=>s(e,n+1))):W([t[n],null],(t=>s(Le(e,t),n+1)));return s(e,0),l})(e,l),(e=>ve(e,(e=>Le(o,e)[0](t,...null!=l?l:[],...s))))),e=>M(Le(o,e),(([,t,l])=>(Ve(t,null!=l?l:[n],void 0,(t=>(he(t,e),de(t)?1:0))),pe(o,e),s(e),l))),e=>M(Le(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=P(r);d==P(n)?e(t,...r,...s(r)):k(n[d])?W(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},je=Ae((e=>{let t,l,s,o=100,r=fe(),i=fe(),a=1;const d=fe(),u=fe(),[c,v,h]=Qe((()=>A)),f=fe(),g=fe(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=Le(f,n);ve(l,((n,l)=>ve(n,((n,s)=>ve(n,((n,o)=>xe(e,l,s,o,n[t]))))))),ve(s,((n,l)=>ke(e,l,n[t])))})),a=1},I=e=>{pe(f,e),pe(g,e),v(u,[e])},S=(e,t)=>W(((e,t)=>e.splice(0,t))(e,null!=t?t:P(e)),I),T=()=>S(L,P(L)-o),R=()=>M(t,(()=>{K(L,t),T(),S(y),t=void 0,s=1})),w=()=>{t=U(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){R();const e=Ie(r,t,fe),i=Ie(e,n,fe),a=Ie(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&de(pe(i,l))&&de(pe(e,n))&&de(pe(r,t))&&w(),x()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){R();const e=Ie(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&de(pe(i,t))&&w(),x()}})),m=(e="")=>(k(t)&&(t=n+l++,pe(f,t,[r,i]),J(t,e),r=fe(),i=fe(),s=1),t),V=()=>{q(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),p(0,t),t=U(L),s=1)},E=()=>{q(y)||(K(L,t),t=X(y),p(1,t),s=1)},x=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return x(),t},J=(e,t)=>(O(e)&&Le(g,e)!==t&&(pe(g,e,t),v(u,[e])),A),O=e=>ae(f,e),A={setSize:e=>(o=e,T(),A),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ye(g,e),hasCheckpoint:O,getCheckpoint:e=>Le(g,e),goBackward:()=>(V(),x(),A),goForward:()=>(E(),x(),A),goTo:e=>{const n=Q(L,e)?V:Q(y,e)?E:null;for(;!k(n)&&e!=t;)n();return x(),A},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),A),clear:()=>(S(L),S(y),k(t)||I(t),t=void 0,l=0,D(),A),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return te(A.clear())})),ze=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,Ne=Ae((e=>{const t=fe(),l=fe(),[s,o,r]=Qe((()=>I)),[i,a,d,u,c,v,h,,f,g,L,y]=Je(e,fe,(e=>k(e)?n:O(e)?H(e,m):m(e)),s,o),p=(t,n,l)=>{const s=c(t);ve(l,((t,l)=>n(l,(n=>ve(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},I={setIndexDefinition:(e,n,s,r,i,a=ze)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,n,((n,s,i,u,c,f)=>{let g=0;const L=Me(),y=Me(),p=v(e);if(ve(s,(([e,t],n)=>{const l=Me(e),s=Me(t);ve(l,(e=>he(s,e)?he(l,e):0)),ve(l,(e=>{De(L,e),M(Le(p,e),(t=>{he(t,n),de(t)&&(pe(p,e),g=1)}))})),ve(s,(e=>{De(L,e),ae(p,e)||(pe(p,e,Me()),g=1),De(Le(p,e),n),k(r)||De(y,e)}))})),n(),de(c)||(f?ye(p,(e=>De(y,e))):ye(i,(e=>M(Le(u,e),(e=>De(y,e))))),ve(y,(e=>{const t=(t,n)=>a(Le(c,t),Le(c,n),e),n=[...Le(p,e)];N(n,t)||(pe(p,e,Me(B(n,t))),De(L,e))}))),(g||f)&&!k(d)){const t=[...p];N(t,d)||(h(e,fe(B(t,d))),g=1)}g&&o(t,[e]),ve(L,(t=>o(l,[e,t])))}),Oe(s),M(r,Oe)),I},delIndexDefinition:e=>(g(e),I),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>ae(v(e),t),getTableId:c,getSliceIds:e=>ge(v(e)),getSliceRowIds:(e,t)=>ue(Le(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,n)=>s(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),I),destroy:y,getListenerStats:()=>({})};return te(I)})),Be=fe([["avg",[(e,t)=>$(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:E(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(de(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ve(l,(([n,l])=>{o||(e=k(n)?null==i?void 0:i(e,l,t++):k(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=k(e)))})),o?r(ue(n),ie(n)):e},He=Ae((e=>{const t=fe(),[l,s,o]=Qe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=Je(e,F,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===n?void 0:1*e),l,s),y={setMetricDefinition:(e,n,l,o,r,i,a)=>{var d;const u=J(l)?[l,r,i,a]:null!=(d=Le(Be,l))?d:Le(Be,"sum");return h(e,n,((n,l,o,r,i,a)=>{const d=c(e),h=ie(r);a||(a=k(d)),n();let f=We(d,h,r,l,u,a);x(f)||(f=void 0),f!=d&&(v(e,f),s(t,[e],f,d))}),Oe(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return te(y)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const qe=fe(),Ge=fe();var Ke=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable;const Ye=Ae((e=>{const t=e.createStore,l=t(),s=t(),o=fe(),{addListener:r,callListeners:i,delListener:a}=s,[v,h,g,L,w,,,C,,b,m,V,E,x]=Je(e,(()=>!0),F,r,i),D=(e,t,...n)=>W(n,(n=>De(Ie(Ie(o,t,fe),e,Me),n))),O=e=>{M(Le(o,e),(e=>{ye(e,((e,t)=>ve(t,(t=>e.delListener(t))))),ce(e)})),W([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>D(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),z={setQueryDefinition:(t,o,r)=>{C(t,o),O(t);const i=[],a=[[null,[o,null,null,[],fe()]]],d=[],u=[],c=[];r({select:(e,t)=>{const l=J(e)?[P(i)+n,e]:[k(t)?e:t,n=>n(e,t)];return K(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||J(t)?null:t,s=k(l)?t:n,o=[e,[e,l,J(s)?s:e=>e(s),[],fe()]];return K(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>K(d,J(e)?e:k(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,J(t)?[t,n,l,s]:null!=(o=Le(Be,t))?o:[(e,t)=>t]]];return K(u,r),{as:e=>r[0]=e}},having:(e,t)=>K(c,J(e)?e:n=>n(e)===t)});const v=fe(i);if(de(v))return z;const h=fe(a);ye(h,((e,[,t])=>M(Le(h,t),(({3:t})=>k(e)?0:K(t,e)))));const f=fe(u);let g=l;if(de(f)&&q(c))g=s;else{Q(t,g,s);const e=fe();ye(f,((t,[n,l])=>De(Ie(e,n,Me),[t,l])));const n=Me();ye(v,(t=>ae(e,t)?0:De(n,t)));const l=fe(),o=(n,l,o,r)=>M(n,(([i,a,d,u])=>{ye(l,((t,[n])=>{const l=Ie(i,t,fe),s=Le(l,o),a=r?void 0:n;if(s!==a){const n=Me([[s,a]]),r=ie(l);pe(l,o,a),ve(Le(e,t),(([e,t])=>{const s=We(u[e],r,l,n,t);u[e]=k(Ee(s))?null:s}))}})),de(a)||!j(c,(e=>e((e=>u[e]))))?s.delRow(t,d):k(d)?n[2]=s.addRow(t,u):s.setRow(t,d,u)}));D(g,t,g.addRowListener(t,null,((s,r,i,a)=>{const d=[],u=[],c=fe(),v=g.hasRow(t,i);let h=!v;ve(n,(e=>{const[n,l,s]=a(t,i,e);K(d,l),K(u,s),h||(h=n)})),ye(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&pe(c,e,[l])})),h&&o(Ve(l,d,void 0,(([,e])=>(he(e,i),de(e)))),c,i,1),v&&o(Ve(l,u,(()=>{const e={};return ve(n,(n=>e[n]=g.getCell(t,i,n))),[fe(),Me(),void 0,e]}),(([,e])=>{De(e,i)})),c,i)})))}Q(t,e,g);const L=(n,l,s,r)=>{const i=t=>e.getCell(l,s,t);W(r,(l=>{var s;const[o,,r,a,d]=Le(h,l),u=null==r?void 0:r(i,n),[c,v]=null!=(s=Le(d,n))?s:[];u!=c&&(k(v)||x(t,v),pe(d,n,k(u)?null:[u,...E(t,1,e.addRowListener(o,u,(()=>L(n,o,u,a))))]))})),(n=>{const l=(t,l)=>{var s,r,i;return e.getCell(...k(l)?[o,n,t]:t===o?[o,n,l]:[null==(s=Le(h,t))?void 0:s[0],null==(i=Le(null==(r=Le(h,t))?void 0:r[4],n))?void 0:i[0],l])};g.transaction((()=>j(d,(e=>e(l)))?ye(v,((e,s)=>xe(g,t,n,e,s(l,n)))):g.delRow(t,n)))})(n)},{3:y}=Le(h,null);return g.transaction((()=>E(t,1,e.addRowListener(o,null,((n,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(t,s),ve(h,(({4:e})=>M(Le(e,s),(([,n])=>{x(t,n),pe(e,s)})))))}))))),z},delQueryDefinition:e=>(O(e),b(e),z),getStore:v,getQueryIds:h,forEachQuery:g,hasQuery:L,getTableId:w,addQueryIdsListener:e=>m((()=>e(z))),delListener:e=>(a(e),z),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ue.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ke)for(var l of Ke(e))t.indexOf(l)<0&&Xe.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return oe({[f]:[1,1],[f+R]:[0,1],[p]:[0,1],[I]:[0,1],[S]:[0,5],[y]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],n)=>{W(e?["get","has","forEach"]:["get"],(e=>z[e+u+n]=(...t)=>s[e+n](...t))),z[c+u+n+d]=(...e)=>s[c+n+d](...A(e,0,t),((n,...l)=>e[t](z,...l)),!0)})),te(z)})),Ze=Ae((e=>{const t=fe(),l=fe(),s=fe(),o=fe(),[r,i,a]=Qe((()=>R)),[d,u,c,v,h,f,,,g,L,y,p]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>k(e)?void 0:e+n),r,i),I=(e,t,n)=>M(f(e),(([l,,s])=>{if(!ae(s,t)){const o=Me();if(h(e)!=T(e))De(o,t);else{let e=t;for(;!k(e)&&!ae(o,e);)De(o,e),e=Le(l,e)}if(n)return o;pe(s,t,o)}return Le(s,t)})),S=(e,t)=>M(f(e),(([,,e])=>pe(e,t))),T=e=>Le(t,e),R={setRelationshipDefinition:(e,n,r,a)=>(pe(t,e,r),g(e,n,((t,n)=>{const r=Me(),a=Me(),d=Me(),[u,c]=f(e);ve(n,(([t,n],l)=>{k(t)||(De(a,t),M(Le(c,t),(e=>{he(e,l),de(e)&&pe(c,t)}))),k(n)||(De(a,n),ae(c,n)||pe(c,n,Me()),De(Le(c,n),l)),De(r,l),pe(u,l,n),ye(Le(o,e),(t=>{ae(I(e,t),l)&&De(d,t)}))})),t(),ve(r,(t=>i(l,[e,t]))),ve(a,(t=>i(s,[e,t]))),ve(d,(t=>{S(e,t),i(o,[e,t])}))}),Oe(a)),R),delRelationshipDefinition:e=>(pe(t,e),L(e),R),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return Le(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ue(Le(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:ue(I(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),r(n,o,[e,t])),delListener:e=>{var t;return S(...null!=(t=a(e))?t:[]),R},destroy:p,getListenerStats:()=>({})};return te(R)})),_e=e=>[e,e],et=()=>[fe(),fe()],tt=e=>[...e],nt=([e,t])=>e===t,lt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Y.fromEntries([...t]):t)),st=JSON.parse,ot=(e,t,n)=>k(e)||!ne(e)||re(e)||ee(e)?(null==n||n(),!1):(oe(e,((n,l)=>{t(n,l)||se(e,l)})),!re(e)),rt=(e,t,n)=>pe(e,t,Le(e,t)==-n?void 0:n),it=()=>{let e,t,n=!1,l=!1,s=!1,r=!1,u=0;const h=fe(),S=fe(),V=fe(),E=fe(),x=fe(),O=fe(),P=fe(),F=fe(),j=fe(),N=fe(),$=fe(),q=fe(),G=fe(),U=fe(),X=Me(),Y=fe(),Z=fe(),_=fe(),ee=fe(),ne=et(),ue=et(),Ve=et(),Je=et(),Oe=et(),Ae=et(),Pe=et(),je=et(),Ne=et(),Be=et(),We=et(),He=et(),$e=et(),qe=et(),Ge=et(),Ke=et(),Ue=et(),Xe=et(),Ye=et(),Ze=et(),at=et(),dt=et(),ut=fe(),ct=et(),[vt,ht,ft,gt]=Qe((()=>Qn)),Lt=e=>{if(!ot(e,((e,t)=>Q([i,a],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ee(e[a])!=t&&se(e,a),0))},yt=(t,n)=>(!e||ae($,n)||Gt(n))&&ot(t,((e,t)=>pt(n,t,e)),(()=>Gt(n))),pt=(e,t,n,l)=>ot(l?n:Rt(n,e,t),((l,s)=>M(It(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Gt(e,t))),It=(t,n,l,s)=>e?M(Le(Le($,t),l),(e=>Ee(s)!=e[i]?Gt(t,n,l,s,e[a]):s),(()=>Gt(t,n,l,s))):k(Ee(s))?Gt(t,n,l,s):s,St=(e,t)=>ot(t?e:wt(e),((t,n)=>M(Tt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,n)=>t?M(Le(G,e),(t=>Ee(n)!=t[i]?Kt(e,n,t[a]):n),(()=>Kt(e,n))):k(Ee(n))?Kt(e,n):n,Rt=(e,t,n)=>(M(Le(q,t),(([l,s])=>{ve(l,((t,n)=>{le(e,n)||(e[n]=t)})),ve(s,(l=>{le(e,l)||Gt(t,n,l)}))})),e),wt=e=>(t&&(ve(U,((t,n)=>{le(e,n)||(e[n]=t)})),ve(X,(t=>{le(e,t)||Kt(t)}))),e),Ct=e=>Se($,e,((e,t,n)=>{const l=fe(),s=Me();Se(Ie($,t,fe),n,((e,t,n)=>{pe(e,t,n),M(n[a],(e=>pe(l,t,e)),(()=>De(s,t)))})),pe(q,t,[l,s])}),((e,t)=>{pe($,t),pe(q,t)})),bt=e=>Se(G,e,((e,t,n)=>{pe(G,t,n),M(n[a],(e=>pe(U,t,e)),(()=>De(X,t)))}),((e,t)=>{pe(G,t),pe(U,t),he(X,t)})),mt=e=>re(e)?xn():Cn(e),Vt=e=>Se(_,e,((e,t,n)=>Et(t,n)),((e,t)=>Ft(t))),Et=(e,t)=>Se(Ie(_,e,(()=>(Nt(e,1),pe(Y,e,Fe()),pe(Z,e,fe()),fe()))),t,((t,n,l)=>xt(e,t,n,l)),((t,n)=>Qt(e,t,n))),xt=(e,t,n,l,s)=>Se(Ie(t,n,(()=>(Bt(e,n,1),fe()))),l,((t,l,s)=>kt(e,n,t,l,s)),((l,o)=>jt(e,t,n,l,o,s))),kt=(e,t,n,l,s)=>{ae(n,l)||Wt(e,t,l,1);const o=Le(n,l);s!==o&&(Ht(e,t,l,o,s),pe(n,l,s))},Mt=(e,t,n,l,s)=>M(Le(t,n),(t=>kt(e,n,t,l,s)),(()=>xt(e,t,n,Rt({[l]:s},e,n)))),Dt=e=>re(e)?Dn():bn(e),Jt=e=>Se(ee,e,((e,t,n)=>Ot(t,n)),((e,t)=>zt(t))),Ot=(e,t)=>{ae(ee,e)||$t(e,1);const n=Le(ee,e);t!==n&&(qt(e,n,t),pe(ee,e,t))},At=(e,t)=>{const[n]=Le(Y,e),l=n(t);return ae(Le(_,e),l)?At(e,t):l},Pt=e=>{var t;return null!=(t=Le(_,e))?t:Et(e,{})},Ft=e=>Et(e,{}),Qt=(e,t,n)=>{const[,l]=Le(Y,e);l(n),xt(e,t,n,{},!0)},jt=(e,t,n,l,s,o)=>{var r;const i=Le(null==(r=Le(q,e))?void 0:r[0],s);if(!k(i)&&!o)return kt(e,n,l,s,i);const a=t=>{Ht(e,n,t,Le(l,t)),Wt(e,n,t,-1),pe(l,t)};k(i)?a(s):ye(l,a),de(l)&&(Bt(e,n,-1),de(pe(t,n))&&(Nt(e,-1),pe(_,e),pe(Y,e),pe(Z,e)))},zt=e=>{const t=Le(U,e);if(!k(t))return Ot(e,t);qt(e,Le(ee,e)),$t(e,-1),pe(ee,e)},Nt=(e,t)=>rt(h,e,t),Bt=(e,t,n)=>rt(Ie(E,e,fe),t,n)&&pe(V,e,Ie(V,e,(()=>0))+n),Wt=(e,t,n,l)=>{var s;const o=Le(Z,e),r=null!=(s=Le(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&rt(Ie(S,e,fe),n,l),pe(o,n,r!=-l?r+l:null),rt(Ie(Ie(x,e,fe),t,fe),n,l)},Ht=(e,t,n,l,s)=>Ie(Ie(Ie(O,e,fe),t,fe),n,(()=>[l,0]))[1]=s,$t=(e,t)=>rt(P,e,t),qt=(e,t,n)=>Ie(F,e,(()=>[t,0]))[1]=n,Gt=(e,t,n,l,s)=>(K(Ie(Ie(Ie(j,e,fe),t,fe),n,(()=>[])),l),s),Kt=(e,t,n)=>(K(Ie(N,e,(()=>[])),t),n),Ut=(e,t,n)=>M(Le(Le(Le(O,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(hn(e,t,n))])),Xt=e=>M(Le(F,e),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(Ln(e))])),Yt=e=>de(j)||de(Ke[e])?0:ve(e?me(j):j,((t,n)=>ve(t,((t,l)=>ve(t,((t,s)=>ht(Ke[e],[n,l,s],t))))))),Zt=e=>de(N)||de(Ue[e])?0:ve(e?Ce(N):N,((t,n)=>ht(Ue[e],[n],t))),_t=(e,t,n,l)=>{if(!de(e))return ht(t,l,(()=>Te(e))),ye(e,((e,t)=>ht(n,[...null!=l?l:[],e],1==t))),1},en=e=>{const t=yn();t!=s&&ht(ne[e],void 0,t);const n=de(Be[e]),l=de($e[e])&&de(qe[e])&&de(Ne[e])&&de(We[e])&&de(Ae[e])&&de(Pe[e])&&de(je[e])&&n&&de(Ve[e])&&de(Je[e]),o=de(Ge[e])&&de(He[e])&&de(Oe[e])&&de(ue[e]);if(!l||!o){const t=e?[Ce(h),be(S),Ce(V),be(E),me(x),me(O)]:[h,S,V,E,x,O];if(!l){_t(t[0],Ve[e],Je[e]),ve(t[1],((t,n)=>_t(t,Ae[e],Pe[e],[n]))),ve(t[2],((t,n)=>{0!=t&&ht(je[e],[n],dn(n))}));const l=Me();ve(t[3],((t,s)=>{_t(t,Ne[e],We[e],[s])&&!n&&(ht(Be[e],[s,null]),De(l,s))})),n||ve(t[5],((t,n)=>{if(!ae(l,n)){const l=Me();ve(t,(e=>ve(e,(([t,n],s)=>n!==t?De(l,s):he(e,s))))),ve(l,(t=>ht(Be[e],[n,t])))}})),ve(t[4],((t,n)=>ve(t,((t,l)=>_t(t,$e[e],qe[e],[n,l])))))}if(!o){let n;ve(t[5],((t,l)=>{let s;ve(t,((t,o)=>{let r;ve(t,(([t,i],a)=>{i!==t&&(ht(Ge[e],[l,o,a],i,t,Ut),n=s=r=1)})),r&&ht(He[e],[l,o],Ut)})),s&&ht(Oe[e],[l],Ut)})),n&&ht(ue[e],void 0,Ut)}}},tn=e=>{const t=Rn();t!=r&&ht(Xe[e],void 0,t);const n=de(Ze[e])&&de(at[e]),l=de(dt[e])&&de(Ye[e]);if(!n||!l){const t=e?[Ce(P),Ce(F)]:[P,F];if(n||_t(t[0],Ze[e],at[e]),!l){let n;ve(t[1],(([t,l],s)=>{l!==t&&(ht(dt[e],[s],l,t,Xt),n=1)})),n&&ht(Ye[e],void 0,Xt)}}},nn=(e,...t)=>(An((()=>e(...H(t,m)))),Qn),ln=()=>[Te(O,((e,t)=>-1===Le(h,t)?null:Te(e,((e,n)=>-1===Le(Le(E,t),n)?null:Te(e,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))),re)),re),Te(F,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))],sn=()=>({cellsTouched:n,valuesTouched:l,changedCells:we(O,tt,nt),invalidCells:we(j),changedValues:Te(F,tt,nt),invalidValues:Te(N),changedTableIds:Te(h),changedRowIds:Re(E),changedCellIds:we(x),changedValueIds:Te(P)}),on=()=>we(_),rn=()=>ge(_),an=e=>ge(Le(Z,m(e))),dn=e=>ie(Le(_,m(e))),un=e=>ge(Le(_,m(e))),cn=(e,t,n,l=0,s)=>{return H(A(B((o=Le(_,m(e)),r=(e,n)=>[k(t)?n:Le(e,m(t)),n],H([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>ze(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},vn=(e,t)=>ge(Le(Le(_,m(e)),m(t))),hn=(e,t,n)=>Le(Le(Le(_,m(e)),m(t)),m(n)),fn=()=>Te(ee),gn=()=>ge(ee),Ln=e=>Le(ee,m(e)),yn=()=>!de(_),pn=e=>ae(_,m(e)),In=(e,t)=>ae(Le(Z,m(e)),m(t)),Sn=(e,t)=>ae(Le(_,m(e)),m(t)),Tn=(e,t,n)=>ae(Le(Le(_,m(e)),m(t)),m(n)),Rn=()=>!de(ee),wn=e=>ae(ee,m(e)),Cn=e=>nn((()=>(e=>ot(e,yt,Gt))(e)?Vt(e):0)),bn=e=>nn((()=>St(e)?Jt(e):0)),mn=e=>{try{mt(st(e))}catch(e){}return Qn},Vn=t=>nn((()=>{if((e=ot(t,(e=>ot(e,Lt))))&&(Ct(t),!de(_))){const e=on();xn(),Cn(e)}})),En=e=>nn((()=>{if(t=(e=>ot(e,Lt))(e)){const n=fn();On(),Dn(),t=!0,bt(e),bn(n)}})),xn=()=>nn((()=>Vt({}))),kn=e=>nn((e=>ae(_,e)?Ft(e):0),e),Mn=(e,t)=>nn(((e,t)=>M(Le(_,e),(n=>ae(n,t)?Qt(e,n,t):0))),e,t),Dn=()=>nn((()=>Jt({}))),Jn=()=>nn((()=>{Ct({}),e=!1})),On=()=>nn((()=>{bt({}),t=!1})),An=(e,t)=>{if(-1!=u){Pn();const n=e();return Fn(t),n}},Pn=()=>(-1!=u&&u++,1==u&&ht(ut,void 0,ln,sn),Qn),Fn=e=>(u>0&&(u--,0==u&&(n=!de(O),l=!de(F),u=1,Yt(1),n&&en(1),Zt(1),l&&tn(1),(null==e?void 0:e(ln,sn))&&(ve(O,((e,t)=>ve(e,((e,n)=>ve(e,(([e],l)=>xe(Qn,t,n,l,e))))))),ve(F,(([e],t)=>ke(Qn,t,e))),n=l=!1),ht(ct[0],void 0,ln,sn),u=-1,Yt(0),n&&en(0),Zt(0),l&&tn(0),ht(ct[1],void 0,ln,sn),u=0,n=l=!1,s=yn(),r=Rn(),W([h,S,V,E,x,O,j,P,F,N],ce))),Qn),Qn={getContent:()=>[on(),fn()],getTables:on,getTableIds:rn,getTable:e=>Re(Le(_,m(e))),getTableCellIds:an,getRowCount:dn,getRowIds:un,getSortedRowIds:cn,getRow:(e,t)=>Te(Le(Le(_,m(e)),m(t))),getCellIds:vn,getCell:hn,getValues:fn,getValueIds:gn,getValue:Ln,hasTables:yn,hasTable:pn,hasTableCell:In,hasRow:Sn,hasCell:Tn,hasValues:Rn,hasValue:wn,getTablesJson:()=>lt(_),getValuesJson:()=>lt(ee),getJson:()=>lt([_,ee]),getTablesSchemaJson:()=>lt($),getValuesSchemaJson:()=>lt(G),getSchemaJson:()=>lt([$,G]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>nn((()=>{(re(e)?xn:Cn)(e),(re(t)?Dn:bn)(t)})),setTables:Cn,setTable:(e,t)=>nn((e=>yt(t,e)?Et(e,t):0),e),setRow:(e,t,n)=>nn(((e,t)=>pt(e,t,n)?xt(e,Pt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let l;return pt(e,l,t)&&(e=m(e),xt(e,Pt(e),l=At(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>nn(((e,t)=>{if(pt(e,t,n,1)){const l=Pt(e);oe(n,((n,s)=>Mt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>nn(((e,t,n)=>M(It(e,t,n,J(l)?l(hn(e,t,n)):l),(l=>Mt(e,Pt(e),t,n,l)))),e,t,n),setValues:bn,setPartialValues:e=>nn((()=>St(e,1)?oe(e,((e,t)=>Ot(t,e))):0)),setValue:(e,t)=>nn((e=>M(Tt(e,J(t)?t(Ln(e)):t),(t=>Ot(e,t)))),e),setTransactionChanges:e=>nn((()=>{oe(e[0],((e,t)=>k(e)?kn(t):oe(e,((e,n)=>k(e)?Mn(t,n):oe(e,((e,l)=>xe(Qn,t,n,l,e))))))),oe(e[1],((e,t)=>ke(Qn,t,e)))})),setTablesJson:mn,setValuesJson:e=>{try{Dt(st(e))}catch(e){}return Qn},setJson:e=>nn((()=>{try{const[t,n]=st(e);mt(t),Dt(n)}catch(t){mn(e)}})),setTablesSchema:Vn,setValuesSchema:En,setSchema:(e,t)=>nn((()=>{Vn(e),En(t)})),delTables:xn,delTable:kn,delRow:Mn,delCell:(e,t,n,l)=>nn(((e,t,n)=>M(Le(_,e),(s=>M(Le(s,t),(o=>ae(o,n)?jt(e,s,t,o,n,l):0))))),e,t,n),delValues:Dn,delValue:e=>nn((e=>ae(ee,e)?zt(e):0),e),delTablesSchema:Jn,delValuesSchema:On,delSchema:()=>nn((()=>{Jn(),On()})),transaction:An,startTransaction:Pn,finishTransaction:Fn,forEachTable:e=>ve(_,((t,n)=>e(n,(e=>ve(t,((t,n)=>e(n,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Le(Z,m(e)),t),forEachRow:(e,t)=>ve(Le(_,m(e)),((e,n)=>t(n,(t=>ye(e,t))))),forEachCell:(e,t,n)=>ye(Le(Le(_,m(e)),m(t)),n),forEachValue:e=>ye(ee,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=cn(e,t,n,l,s);return vt((()=>{const r=cn(e,t,n,l,s);z(r,i)||(i=r,o(Qn,e,t,n,l,s,i))}),Be[r?1:0],[e,t],[rn])},addStartTransactionListener:e=>vt(e,ut),addWillFinishTransactionListener:e=>vt(e,ct[0]),addDidFinishTransactionListener:e=>vt(e,ct[1]),callListener:e=>(gt(e),Qn),delListener:e=>(ft(e),Qn),getListenerStats:()=>({}),createStore:it,addListener:vt,callListeners:ht};return oe({[v+g]:[0,ne,[],()=>[yn()]],[g]:[0,ue],[L]:[0,Ve],[v+f]:[1,Je,[rn],e=>[pn(...e)]],[f]:[1,Oe,[rn]],[f+R]:[1,Ae,[rn]],[v+f+T]:[2,Pe,[rn,an],e=>[In(...e)]],[p]:[1,je,[rn]],[I]:[1,Ne,[rn]],[v+y]:[2,We,[rn,un],e=>[Sn(...e)]],[y]:[2,He,[rn,un]],[R]:[2,$e,[rn,un]],[v+T]:[3,qe,[rn,un,vn],e=>[Tn(...e)]],[T]:[3,Ge,[rn,un,vn],e=>_e(hn(...e))],InvalidCell:[3,Ke],[v+C]:[0,Xe,[],()=>[Rn()]],[C]:[0,Ye],[b]:[0,Ze],[v+w]:[1,at,[gn],e=>[wn(...e)]],[w]:[1,dt,[gn],e=>_e(Ln(e[0]))],InvalidValue:[1,Ue]},(([e,t,n,l],s)=>{Qn[c+s+d]=(...s)=>vt(s[e],t[s[e+1]?1:0],e>0?A(s,0,e):void 0,n,l)})),te(Qn)};e.createCheckpoints=je,e.createCustomPersister=(e,t,n,l,s,o,[r,i]=[],a=[])=>{let d,u,c,v=0,h=0;Ie(qe,a,(()=>0)),Ie(Ge,a,(()=>[]));const f=e=>$e(void 0,null,(function*(){return 2!=v&&(v=1,yield g.schedule((()=>$e(void 0,null,(function*(){yield e(),v=0}))))),g})),g={load:(n,l)=>$e(void 0,null,(function*(){return yield f((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return g.stopAutoLoad(),yield g.load(n,s),h=1,c=l(((n,l)=>$e(void 0,null,(function*(){if(l){const t=l();yield f((()=>$e(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield f((()=>$e(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==n?void 0:n())?l:yield t())}catch(e){null==o||o(e)}}))))})))),g})),stopAutoLoad:()=>(h&&(s(c),c=void 0,h=0),g),save:t=>$e(void 0,null,(function*(){return 1!=v&&(v=2,yield g.schedule((()=>$e(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}v=0}))))),g})),startAutoSave:()=>$e(void 0,null,(function*(){return yield g.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();re(n)&&re(l)||g.save((()=>[n,l]))})),g})),stopAutoSave:()=>(M(d,e.delListener),d=void 0,g),schedule:(...e)=>$e(void 0,null,(function*(){return K(Le(Ge,a),...e),yield $e(void 0,null,(function*(){if(!Le(qe,a)){for(pe(qe,a,1);!k(u=X(Le(Ge,a)));)try{yield u()}catch(e){null==o||o(e)}pe(qe,a,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(g[r]=()=>i),te(g)},e.createIndexes=Ne,e.createMetrics=He,e.createQueries=Ye,e.createRelationships=Ze,e.createStore=it,e.defaultSorter=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",u="Result",c="add",v="Has",h="Ids",f="Table",g=f+"s",L=f+h,y="Row",p=y+"Count",I=y+h,S="Sorted"+y+h,T="Cell",w=T+h,R="Value",C=R+"s",b=R+h,m=e=>n+e,V=Math.max,E=Math.min,x=isFinite,k=e=>null==e,M=(e,t,n)=>k(e)?null==n?void 0:n():t(e),D=e=>e==l||e==s,J=e=>t(e)==r,O=e=>Array.isArray(e),A=(e,t,n)=>e.slice(t,n),F=e=>e.length,P=()=>{},Q=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),z=(e,t)=>F(e)===F(t)&&j(e,((e,n)=>t[n]===e)),N=(e,t)=>j(e,((n,l)=>0==l||t(e[l-1],n)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),H=(e,t)=>e.map(t),$=e=>G(e,((e,t)=>e+t),0),q=e=>0==F(e),G=(e,t,n)=>e.reduce(t,n),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=e=>Y.getPrototypeOf(e),_=Y.keys,ee=Y.isFrozen,te=Y.freeze,ne=e=>!k(e)&&M(Z(e),(e=>e==Y.prototype||k(Z(e))),(()=>!0)),le=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),oe=(e,t)=>H(Y.entries(e),(([e,n])=>t(n,e))),re=e=>ne(e)&&0==(e=>F(_(e)))(e),ie=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ae=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},de=e=>k(e)||0==ie(e),ue=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ve=(e,t)=>null==e?void 0:e.forEach(t),he=(e,t)=>null==e?void 0:e.delete(t),fe=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Le=(e,t)=>null==e?void 0:e.get(t),ye=(e,t)=>ve(e,((e,n)=>t(n,e))),pe=(e,t,n)=>k(n)?(he(e,t),e):null==e?void 0:e.set(t,n),Ie=(e,t,n)=>(ae(e,t)||pe(e,t,n()),Le(e,t)),Se=(e,t,n,l=pe)=>(oe(t,((t,l)=>n(e,l,t))),ye(e,(n=>le(t,n)?0:l(e,n))),e),Te=(e,t,n)=>{const l={};return ve(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},we=(e,t,n)=>Te(e,(e=>Te(e,t,n)),re),Re=(e,t,n)=>Te(e,(e=>we(e,t,n)),re),Ce=(e,t)=>{const n=fe();return ve(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,n,l,s=0)=>M((n?Ie:Le)(e,t[s],s>F(t)-2?n:fe),(o=>{if(s>F(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return de(o)&&pe(e,t[s]),r})),Ee=e=>{const n=t(e);return D(n)||n==o&&x(e)?n:void 0},xe=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),Me=e=>new Set(O(e)||k(e)?e:[e]),De=(e,t)=>null==e?void 0:e.add(t),Je=(e,t,n,l,s)=>{const o=e.hasRow,r=fe(),i=fe(),a=fe(),d=fe(),u=fe(),c=fe(),v=(t,n,...l)=>{const s=Ie(c,t,Me);return W(l,(t=>De(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>M(Le(c,t),(l=>{W(q(n)?ue(l):n,(t=>{e.delListener(t),he(l,t)})),de(l)&&pe(c,t)})),f=(e,n)=>{pe(r,e,n),ae(i,e)||(pe(i,e,t()),pe(d,e,fe()),pe(u,e,fe()),s(a))},g=e=>{pe(r,e),pe(i,e),pe(d,e),pe(u,e),h(e),s(a)};return[()=>e,()=>ge(r),e=>ye(i,e),e=>ae(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>pe(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=fe(),c=fe(),g=Le(d,t),L=Le(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=Le(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||O(d)&&O(u)&&z(d,u)||pe(a,t,[d,u]),!k(i)){const e=Le(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&pe(c,t,n)}},p=e=>{s((()=>{ve(a,(([,e],t)=>pe(g,t,e))),ve(c,((e,t)=>pe(L,t,e)))}),a,c,g,L,e),ce(a),ce(c)};ye(g,y),e.hasTable(l)&&W(e.getRowIds(l),(e=>{ae(g,e)||y(e)})),p(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>p())))},g,e=>l(e,a),()=>ye(c,g),v,h]},Oe=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Fe=/^\d+$/,Pe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?X(e):null)?s:n+t++},t=>{Fe.test(t)&&F(e)<1e3&&K(e,t)}]},Qe=e=>{let t;const[l,s]=Pe(),o=fe();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const u=l(1);return pe(o,u,[s,r,i,a,d]),De(Ve(r,null!=i?i:[n],Me),u),u},(e,l,...s)=>W(((e,t=[n])=>{const l=[],s=(e,n)=>n==F(t)?K(l,e):null===t[n]?ve(e,(e=>s(e,n+1))):W([t[n],null],(t=>s(Le(e,t),n+1)));return s(e,0),l})(e,l),(e=>ve(e,(e=>Le(o,e)[0](t,...null!=l?l:[],...s))))),e=>M(Le(o,e),(([,t,l])=>(Ve(t,null!=l?l:[n],void 0,(t=>(he(t,e),de(t)?1:0))),pe(o,e),s(e),l))),e=>M(Le(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=F(r);d==F(n)?e(t,...r,...s(r)):k(n[d])?W(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},je=Ae((e=>{let t,l,s,o=100,r=fe(),i=fe(),a=1;const d=fe(),u=fe(),[c,v,h]=Qe((()=>A)),f=fe(),g=fe(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=Le(f,n);ve(l,((n,l)=>ve(n,((n,s)=>ve(n,((n,o)=>xe(e,l,s,o,n[t]))))))),ve(s,((n,l)=>ke(e,l,n[t])))})),a=1},I=e=>{pe(f,e),pe(g,e),v(u,[e])},S=(e,t)=>W(((e,t)=>e.splice(0,t))(e,null!=t?t:F(e)),I),T=()=>S(L,F(L)-o),w=()=>M(t,(()=>{K(L,t),T(),S(y),t=void 0,s=1})),R=()=>{t=U(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){w();const e=Ie(r,t,fe),i=Ie(e,n,fe),a=Ie(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&de(pe(i,l))&&de(pe(e,n))&&de(pe(r,t))&&R(),x()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){w();const e=Ie(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&de(pe(i,t))&&R(),x()}})),m=(e="")=>(k(t)&&(t=n+l++,pe(f,t,[r,i]),J(t,e),r=fe(),i=fe(),s=1),t),V=()=>{q(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),p(0,t),t=U(L),s=1)},E=()=>{q(y)||(K(L,t),t=X(y),p(1,t),s=1)},x=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return x(),t},J=(e,t)=>(O(e)&&Le(g,e)!==t&&(pe(g,e,t),v(u,[e])),A),O=e=>ae(f,e),A={setSize:e=>(o=e,T(),A),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ye(g,e),hasCheckpoint:O,getCheckpoint:e=>Le(g,e),goBackward:()=>(V(),x(),A),goForward:()=>(E(),x(),A),goTo:e=>{const n=Q(L,e)?V:Q(y,e)?E:null;for(;!k(n)&&e!=t;)n();return x(),A},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),A),clear:()=>(S(L),S(y),k(t)||I(t),t=void 0,l=0,D(),A),clearForward:()=>(q(y)||(S(y),v(d)),A),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return te(A.clear())})),ze=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,Ne=Ae((e=>{const t=fe(),l=fe(),[s,o,r]=Qe((()=>I)),[i,a,d,u,c,v,h,,f,g,L,y]=Je(e,fe,(e=>k(e)?n:O(e)?H(e,m):m(e)),s,o),p=(t,n,l)=>{const s=c(t);ve(l,((t,l)=>n(l,(n=>ve(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},I={setIndexDefinition:(e,n,s,r,i,a=ze)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,n,((n,s,i,u,c,f)=>{let g=0;const L=Me(),y=Me(),p=v(e);if(ve(s,(([e,t],n)=>{const l=Me(e),s=Me(t);ve(l,(e=>he(s,e)?he(l,e):0)),ve(l,(e=>{De(L,e),M(Le(p,e),(t=>{he(t,n),de(t)&&(pe(p,e),g=1)}))})),ve(s,(e=>{De(L,e),ae(p,e)||(pe(p,e,Me()),g=1),De(Le(p,e),n),k(r)||De(y,e)}))})),n(),de(c)||(f?ye(p,(e=>De(y,e))):ye(i,(e=>M(Le(u,e),(e=>De(y,e))))),ve(y,(e=>{const t=(t,n)=>a(Le(c,t),Le(c,n),e),n=[...Le(p,e)];N(n,t)||(pe(p,e,Me(B(n,t))),De(L,e))}))),(g||f)&&!k(d)){const t=[...p];N(t,d)||(h(e,fe(B(t,d))),g=1)}g&&o(t,[e]),ve(L,(t=>o(l,[e,t])))}),Oe(s),M(r,Oe)),I},delIndexDefinition:e=>(g(e),I),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>ae(v(e),t),getTableId:c,getSliceIds:e=>ge(v(e)),getSliceRowIds:(e,t)=>ue(Le(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,n)=>s(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),I),destroy:y,getListenerStats:()=>({})};return te(I)})),Be=fe([["avg",[(e,t)=>$(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:E(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(de(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ve(l,(([n,l])=>{o||(e=k(n)?null==i?void 0:i(e,l,t++):k(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=k(e)))})),o?r(ue(n),ie(n)):e},He=Ae((e=>{const t=fe(),[l,s,o]=Qe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=Je(e,P,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===n?void 0:1*e),l,s),y={setMetricDefinition:(e,n,l,o,r,i,a)=>{var d;const u=J(l)?[l,r,i,a]:null!=(d=Le(Be,l))?d:Le(Be,"sum");return h(e,n,((n,l,o,r,i,a)=>{const d=c(e),h=ie(r);a||(a=k(d)),n();let f=We(d,h,r,l,u,a);x(f)||(f=void 0),f!=d&&(v(e,f),s(t,[e],f,d))}),Oe(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return te(y)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const qe=fe(),Ge=fe();var Ke=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable;const Ye=Ae((e=>{const t=e.createStore,l=t(),s=t(),o=fe(),{addListener:r,callListeners:i,delListener:a}=s,[v,h,g,L,R,,,C,,b,m,V,E,x]=Je(e,(()=>!0),P,r,i),D=(e,t,...n)=>W(n,(n=>De(Ie(Ie(o,t,fe),e,Me),n))),O=e=>{M(Le(o,e),(e=>{ye(e,((e,t)=>ve(t,(t=>e.delListener(t))))),ce(e)})),W([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>D(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),z={setQueryDefinition:(t,o,r)=>{C(t,o),O(t);const i=[],a=[[null,[o,null,null,[],fe()]]],d=[],u=[],c=[];r({select:(e,t)=>{const l=J(e)?[F(i)+n,e]:[k(t)?e:t,n=>n(e,t)];return K(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||J(t)?null:t,s=k(l)?t:n,o=[e,[e,l,J(s)?s:e=>e(s),[],fe()]];return K(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>K(d,J(e)?e:k(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,J(t)?[t,n,l,s]:null!=(o=Le(Be,t))?o:[(e,t)=>t]]];return K(u,r),{as:e=>r[0]=e}},having:(e,t)=>K(c,J(e)?e:n=>n(e)===t)});const v=fe(i);if(de(v))return z;const h=fe(a);ye(h,((e,[,t])=>M(Le(h,t),(({3:t})=>k(e)?0:K(t,e)))));const f=fe(u);let g=l;if(de(f)&&q(c))g=s;else{Q(t,g,s);const e=fe();ye(f,((t,[n,l])=>De(Ie(e,n,Me),[t,l])));const n=Me();ye(v,(t=>ae(e,t)?0:De(n,t)));const l=fe(),o=(n,l,o,r)=>M(n,(([i,a,d,u])=>{ye(l,((t,[n])=>{const l=Ie(i,t,fe),s=Le(l,o),a=r?void 0:n;if(s!==a){const n=Me([[s,a]]),r=ie(l);pe(l,o,a),ve(Le(e,t),(([e,t])=>{const s=We(u[e],r,l,n,t);u[e]=k(Ee(s))?null:s}))}})),de(a)||!j(c,(e=>e((e=>u[e]))))?s.delRow(t,d):k(d)?n[2]=s.addRow(t,u):s.setRow(t,d,u)}));D(g,t,g.addRowListener(t,null,((s,r,i,a)=>{const d=[],u=[],c=fe(),v=g.hasRow(t,i);let h=!v;ve(n,(e=>{const[n,l,s]=a(t,i,e);K(d,l),K(u,s),h||(h=n)})),ye(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&pe(c,e,[l])})),h&&o(Ve(l,d,void 0,(([,e])=>(he(e,i),de(e)))),c,i,1),v&&o(Ve(l,u,(()=>{const e={};return ve(n,(n=>e[n]=g.getCell(t,i,n))),[fe(),Me(),void 0,e]}),(([,e])=>{De(e,i)})),c,i)})))}Q(t,e,g);const L=(n,l,s,r)=>{const i=t=>e.getCell(l,s,t);W(r,(l=>{var s;const[o,,r,a,d]=Le(h,l),u=null==r?void 0:r(i,n),[c,v]=null!=(s=Le(d,n))?s:[];u!=c&&(k(v)||x(t,v),pe(d,n,k(u)?null:[u,...E(t,1,e.addRowListener(o,u,(()=>L(n,o,u,a))))]))})),(n=>{const l=(t,l)=>{var s,r,i;return e.getCell(...k(l)?[o,n,t]:t===o?[o,n,l]:[null==(s=Le(h,t))?void 0:s[0],null==(i=Le(null==(r=Le(h,t))?void 0:r[4],n))?void 0:i[0],l])};g.transaction((()=>j(d,(e=>e(l)))?ye(v,((e,s)=>xe(g,t,n,e,s(l,n)))):g.delRow(t,n)))})(n)},{3:y}=Le(h,null);return g.transaction((()=>E(t,1,e.addRowListener(o,null,((n,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(t,s),ve(h,(({4:e})=>M(Le(e,s),(([,n])=>{x(t,n),pe(e,s)})))))}))))),z},delQueryDefinition:e=>(O(e),b(e),z),getStore:v,getQueryIds:h,forEachQuery:g,hasQuery:L,getTableId:R,addQueryIdsListener:e=>m((()=>e(z))),delListener:e=>(a(e),z),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ue.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ke)for(var l of Ke(e))t.indexOf(l)<0&&Xe.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return oe({[f]:[1,1],[f+w]:[0,1],[p]:[0,1],[I]:[0,1],[S]:[0,5],[y]:[1,2],[w]:[0,2],[T]:[1,3]},(([e,t],n)=>{W(e?["get","has","forEach"]:["get"],(e=>z[e+u+n]=(...t)=>s[e+n](...t))),z[c+u+n+d]=(...e)=>s[c+n+d](...A(e,0,t),((n,...l)=>e[t](z,...l)),!0)})),te(z)})),Ze=Ae((e=>{const t=fe(),l=fe(),s=fe(),o=fe(),[r,i,a]=Qe((()=>w)),[d,u,c,v,h,f,,,g,L,y,p]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>k(e)?void 0:e+n),r,i),I=(e,t,n)=>M(f(e),(([l,,s])=>{if(!ae(s,t)){const o=Me();if(h(e)!=T(e))De(o,t);else{let e=t;for(;!k(e)&&!ae(o,e);)De(o,e),e=Le(l,e)}if(n)return o;pe(s,t,o)}return Le(s,t)})),S=(e,t)=>M(f(e),(([,,e])=>pe(e,t))),T=e=>Le(t,e),w={setRelationshipDefinition:(e,n,r,a)=>(pe(t,e,r),g(e,n,((t,n)=>{const r=Me(),a=Me(),d=Me(),[u,c]=f(e);ve(n,(([t,n],l)=>{k(t)||(De(a,t),M(Le(c,t),(e=>{he(e,l),de(e)&&pe(c,t)}))),k(n)||(De(a,n),ae(c,n)||pe(c,n,Me()),De(Le(c,n),l)),De(r,l),pe(u,l,n),ye(Le(o,e),(t=>{ae(I(e,t),l)&&De(d,t)}))})),t(),ve(r,(t=>i(l,[e,t]))),ve(a,(t=>i(s,[e,t]))),ve(d,(t=>{S(e,t),i(o,[e,t])}))}),Oe(a)),w),delRelationshipDefinition:e=>(pe(t,e),L(e),w),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return Le(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ue(Le(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:ue(I(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),r(n,o,[e,t])),delListener:e=>{var t;return S(...null!=(t=a(e))?t:[]),w},destroy:p,getListenerStats:()=>({})};return te(w)})),_e=e=>[e,e],et=()=>[fe(),fe()],tt=e=>[...e],nt=([e,t])=>e===t,lt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Y.fromEntries([...t]):t)),st=JSON.parse,ot=(e,t,n)=>k(e)||!ne(e)||re(e)||ee(e)?(null==n||n(),!1):(oe(e,((n,l)=>{t(n,l)||se(e,l)})),!re(e)),rt=(e,t,n)=>pe(e,t,Le(e,t)==-n?void 0:n),it=()=>{let e,t,n=!1,l=!1,s=!1,r=!1,u=0;const h=fe(),S=fe(),V=fe(),E=fe(),x=fe(),O=fe(),F=fe(),P=fe(),j=fe(),N=fe(),$=fe(),q=fe(),G=fe(),U=fe(),X=Me(),Y=fe(),Z=fe(),_=fe(),ee=fe(),ne=et(),ue=et(),Ve=et(),Je=et(),Oe=et(),Ae=et(),Fe=et(),je=et(),Ne=et(),Be=et(),We=et(),He=et(),$e=et(),qe=et(),Ge=et(),Ke=et(),Ue=et(),Xe=et(),Ye=et(),Ze=et(),at=et(),dt=et(),ut=fe(),ct=et(),[vt,ht,ft,gt]=Qe((()=>Qn)),Lt=e=>{if(!ot(e,((e,t)=>Q([i,a],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ee(e[a])!=t&&se(e,a),0))},yt=(t,n)=>(!e||ae($,n)||Gt(n))&&ot(t,((e,t)=>pt(n,t,e)),(()=>Gt(n))),pt=(e,t,n,l)=>ot(l?n:wt(n,e,t),((l,s)=>M(It(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Gt(e,t))),It=(t,n,l,s)=>e?M(Le(Le($,t),l),(e=>Ee(s)!=e[i]?Gt(t,n,l,s,e[a]):s),(()=>Gt(t,n,l,s))):k(Ee(s))?Gt(t,n,l,s):s,St=(e,t)=>ot(t?e:Rt(e),((t,n)=>M(Tt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,n)=>t?M(Le(G,e),(t=>Ee(n)!=t[i]?Kt(e,n,t[a]):n),(()=>Kt(e,n))):k(Ee(n))?Kt(e,n):n,wt=(e,t,n)=>(M(Le(q,t),(([l,s])=>{ve(l,((t,n)=>{le(e,n)||(e[n]=t)})),ve(s,(l=>{le(e,l)||Gt(t,n,l)}))})),e),Rt=e=>(t&&(ve(U,((t,n)=>{le(e,n)||(e[n]=t)})),ve(X,(t=>{le(e,t)||Kt(t)}))),e),Ct=e=>Se($,e,((e,t,n)=>{const l=fe(),s=Me();Se(Ie($,t,fe),n,((e,t,n)=>{pe(e,t,n),M(n[a],(e=>pe(l,t,e)),(()=>De(s,t)))})),pe(q,t,[l,s])}),((e,t)=>{pe($,t),pe(q,t)})),bt=e=>Se(G,e,((e,t,n)=>{pe(G,t,n),M(n[a],(e=>pe(U,t,e)),(()=>De(X,t)))}),((e,t)=>{pe(G,t),pe(U,t),he(X,t)})),mt=e=>re(e)?xn():Cn(e),Vt=e=>Se(_,e,((e,t,n)=>Et(t,n)),((e,t)=>Pt(t))),Et=(e,t)=>Se(Ie(_,e,(()=>(Nt(e,1),pe(Y,e,Pe()),pe(Z,e,fe()),fe()))),t,((t,n,l)=>xt(e,t,n,l)),((t,n)=>Qt(e,t,n))),xt=(e,t,n,l,s)=>Se(Ie(t,n,(()=>(Bt(e,n,1),fe()))),l,((t,l,s)=>kt(e,n,t,l,s)),((l,o)=>jt(e,t,n,l,o,s))),kt=(e,t,n,l,s)=>{ae(n,l)||Wt(e,t,l,1);const o=Le(n,l);s!==o&&(Ht(e,t,l,o,s),pe(n,l,s))},Mt=(e,t,n,l,s)=>M(Le(t,n),(t=>kt(e,n,t,l,s)),(()=>xt(e,t,n,wt({[l]:s},e,n)))),Dt=e=>re(e)?Dn():bn(e),Jt=e=>Se(ee,e,((e,t,n)=>Ot(t,n)),((e,t)=>zt(t))),Ot=(e,t)=>{ae(ee,e)||$t(e,1);const n=Le(ee,e);t!==n&&(qt(e,n,t),pe(ee,e,t))},At=(e,t)=>{const[n]=Le(Y,e),l=n(t);return ae(Le(_,e),l)?At(e,t):l},Ft=e=>{var t;return null!=(t=Le(_,e))?t:Et(e,{})},Pt=e=>Et(e,{}),Qt=(e,t,n)=>{const[,l]=Le(Y,e);l(n),xt(e,t,n,{},!0)},jt=(e,t,n,l,s,o)=>{var r;const i=Le(null==(r=Le(q,e))?void 0:r[0],s);if(!k(i)&&!o)return kt(e,n,l,s,i);const a=t=>{Ht(e,n,t,Le(l,t)),Wt(e,n,t,-1),pe(l,t)};k(i)?a(s):ye(l,a),de(l)&&(Bt(e,n,-1),de(pe(t,n))&&(Nt(e,-1),pe(_,e),pe(Y,e),pe(Z,e)))},zt=e=>{const t=Le(U,e);if(!k(t))return Ot(e,t);qt(e,Le(ee,e)),$t(e,-1),pe(ee,e)},Nt=(e,t)=>rt(h,e,t),Bt=(e,t,n)=>rt(Ie(E,e,fe),t,n)&&pe(V,e,Ie(V,e,(()=>0))+n),Wt=(e,t,n,l)=>{var s;const o=Le(Z,e),r=null!=(s=Le(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&rt(Ie(S,e,fe),n,l),pe(o,n,r!=-l?r+l:null),rt(Ie(Ie(x,e,fe),t,fe),n,l)},Ht=(e,t,n,l,s)=>Ie(Ie(Ie(O,e,fe),t,fe),n,(()=>[l,0]))[1]=s,$t=(e,t)=>rt(F,e,t),qt=(e,t,n)=>Ie(P,e,(()=>[t,0]))[1]=n,Gt=(e,t,n,l,s)=>(K(Ie(Ie(Ie(j,e,fe),t,fe),n,(()=>[])),l),s),Kt=(e,t,n)=>(K(Ie(N,e,(()=>[])),t),n),Ut=(e,t,n)=>M(Le(Le(Le(O,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(hn(e,t,n))])),Xt=e=>M(Le(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,..._e(Ln(e))])),Yt=e=>de(j)||de(Ke[e])?0:ve(e?me(j):j,((t,n)=>ve(t,((t,l)=>ve(t,((t,s)=>ht(Ke[e],[n,l,s],t))))))),Zt=e=>de(N)||de(Ue[e])?0:ve(e?Ce(N):N,((t,n)=>ht(Ue[e],[n],t))),_t=(e,t,n,l)=>{if(!de(e))return ht(t,l,(()=>Te(e))),ye(e,((e,t)=>ht(n,[...null!=l?l:[],e],1==t))),1},en=e=>{const t=yn();t!=s&&ht(ne[e],void 0,t);const n=de(Be[e]),l=de($e[e])&&de(qe[e])&&de(Ne[e])&&de(We[e])&&de(Ae[e])&&de(Fe[e])&&de(je[e])&&n&&de(Ve[e])&&de(Je[e]),o=de(Ge[e])&&de(He[e])&&de(Oe[e])&&de(ue[e]);if(!l||!o){const t=e?[Ce(h),be(S),Ce(V),be(E),me(x),me(O)]:[h,S,V,E,x,O];if(!l){_t(t[0],Ve[e],Je[e]),ve(t[1],((t,n)=>_t(t,Ae[e],Fe[e],[n]))),ve(t[2],((t,n)=>{0!=t&&ht(je[e],[n],dn(n))}));const l=Me();ve(t[3],((t,s)=>{_t(t,Ne[e],We[e],[s])&&!n&&(ht(Be[e],[s,null]),De(l,s))})),n||ve(t[5],((t,n)=>{if(!ae(l,n)){const l=Me();ve(t,(e=>ve(e,(([t,n],s)=>n!==t?De(l,s):he(e,s))))),ve(l,(t=>ht(Be[e],[n,t])))}})),ve(t[4],((t,n)=>ve(t,((t,l)=>_t(t,$e[e],qe[e],[n,l])))))}if(!o){let n;ve(t[5],((t,l)=>{let s;ve(t,((t,o)=>{let r;ve(t,(([t,i],a)=>{i!==t&&(ht(Ge[e],[l,o,a],i,t,Ut),n=s=r=1)})),r&&ht(He[e],[l,o],Ut)})),s&&ht(Oe[e],[l],Ut)})),n&&ht(ue[e],void 0,Ut)}}},tn=e=>{const t=wn();t!=r&&ht(Xe[e],void 0,t);const n=de(Ze[e])&&de(at[e]),l=de(dt[e])&&de(Ye[e]);if(!n||!l){const t=e?[Ce(F),Ce(P)]:[F,P];if(n||_t(t[0],Ze[e],at[e]),!l){let n;ve(t[1],(([t,l],s)=>{l!==t&&(ht(dt[e],[s],l,t,Xt),n=1)})),n&&ht(Ye[e],void 0,Xt)}}},nn=(e,...t)=>(An((()=>e(...H(t,m)))),Qn),ln=()=>[Te(O,((e,t)=>-1===Le(h,t)?null:Te(e,((e,n)=>-1===Le(Le(E,t),n)?null:Te(e,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))),re)),re),Te(P,(([,e])=>null!=e?e:null),((e,t)=>nt(t)))],sn=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(O,tt,nt),invalidCells:Re(j),changedValues:Te(P,tt,nt),invalidValues:Te(N),changedTableIds:Te(h),changedRowIds:we(E),changedCellIds:Re(x),changedValueIds:Te(F)}),on=()=>Re(_),rn=()=>ge(_),an=e=>ge(Le(Z,m(e))),dn=e=>ie(Le(_,m(e))),un=e=>ge(Le(_,m(e))),cn=(e,t,n,l=0,s)=>{return H(A(B((o=Le(_,m(e)),r=(e,n)=>[k(t)?n:Le(e,m(t)),n],H([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>ze(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},vn=(e,t)=>ge(Le(Le(_,m(e)),m(t))),hn=(e,t,n)=>Le(Le(Le(_,m(e)),m(t)),m(n)),fn=()=>Te(ee),gn=()=>ge(ee),Ln=e=>Le(ee,m(e)),yn=()=>!de(_),pn=e=>ae(_,m(e)),In=(e,t)=>ae(Le(Z,m(e)),m(t)),Sn=(e,t)=>ae(Le(_,m(e)),m(t)),Tn=(e,t,n)=>ae(Le(Le(_,m(e)),m(t)),m(n)),wn=()=>!de(ee),Rn=e=>ae(ee,m(e)),Cn=e=>nn((()=>(e=>ot(e,yt,Gt))(e)?Vt(e):0)),bn=e=>nn((()=>St(e)?Jt(e):0)),mn=e=>{try{mt(st(e))}catch(e){}return Qn},Vn=t=>nn((()=>{if((e=ot(t,(e=>ot(e,Lt))))&&(Ct(t),!de(_))){const e=on();xn(),Cn(e)}})),En=e=>nn((()=>{if(t=(e=>ot(e,Lt))(e)){const n=fn();On(),Dn(),t=!0,bt(e),bn(n)}})),xn=()=>nn((()=>Vt({}))),kn=e=>nn((e=>ae(_,e)?Pt(e):0),e),Mn=(e,t)=>nn(((e,t)=>M(Le(_,e),(n=>ae(n,t)?Qt(e,n,t):0))),e,t),Dn=()=>nn((()=>Jt({}))),Jn=()=>nn((()=>{Ct({}),e=!1})),On=()=>nn((()=>{bt({}),t=!1})),An=(e,t)=>{if(-1!=u){Fn();const n=e();return Pn(t),n}},Fn=()=>(-1!=u&&u++,1==u&&ht(ut,void 0,ln,sn),Qn),Pn=e=>(u>0&&(u--,0==u&&(n=!de(O),l=!de(P),u=1,Yt(1),n&&en(1),Zt(1),l&&tn(1),(null==e?void 0:e(ln,sn))&&(ve(O,((e,t)=>ve(e,((e,n)=>ve(e,(([e],l)=>xe(Qn,t,n,l,e))))))),ve(P,(([e],t)=>ke(Qn,t,e))),n=l=!1),ht(ct[0],void 0,ln,sn),u=-1,Yt(0),n&&en(0),Zt(0),l&&tn(0),ht(ct[1],void 0,ln,sn),u=0,n=l=!1,s=yn(),r=wn(),W([h,S,V,E,x,O,j,F,P,N],ce))),Qn),Qn={getContent:()=>[on(),fn()],getTables:on,getTableIds:rn,getTable:e=>we(Le(_,m(e))),getTableCellIds:an,getRowCount:dn,getRowIds:un,getSortedRowIds:cn,getRow:(e,t)=>Te(Le(Le(_,m(e)),m(t))),getCellIds:vn,getCell:hn,getValues:fn,getValueIds:gn,getValue:Ln,hasTables:yn,hasTable:pn,hasTableCell:In,hasRow:Sn,hasCell:Tn,hasValues:wn,hasValue:Rn,getTablesJson:()=>lt(_),getValuesJson:()=>lt(ee),getJson:()=>lt([_,ee]),getTablesSchemaJson:()=>lt($),getValuesSchemaJson:()=>lt(G),getSchemaJson:()=>lt([$,G]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>nn((()=>{(re(e)?xn:Cn)(e),(re(t)?Dn:bn)(t)})),setTables:Cn,setTable:(e,t)=>nn((e=>yt(t,e)?Et(e,t):0),e),setRow:(e,t,n)=>nn(((e,t)=>pt(e,t,n)?xt(e,Ft(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let l;return pt(e,l,t)&&(e=m(e),xt(e,Ft(e),l=At(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>nn(((e,t)=>{if(pt(e,t,n,1)){const l=Ft(e);oe(n,((n,s)=>Mt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>nn(((e,t,n)=>M(It(e,t,n,J(l)?l(hn(e,t,n)):l),(l=>Mt(e,Ft(e),t,n,l)))),e,t,n),setValues:bn,setPartialValues:e=>nn((()=>St(e,1)?oe(e,((e,t)=>Ot(t,e))):0)),setValue:(e,t)=>nn((e=>M(Tt(e,J(t)?t(Ln(e)):t),(t=>Ot(e,t)))),e),setTransactionChanges:e=>nn((()=>{oe(e[0],((e,t)=>k(e)?kn(t):oe(e,((e,n)=>k(e)?Mn(t,n):oe(e,((e,l)=>xe(Qn,t,n,l,e))))))),oe(e[1],((e,t)=>ke(Qn,t,e)))})),setTablesJson:mn,setValuesJson:e=>{try{Dt(st(e))}catch(e){}return Qn},setJson:e=>nn((()=>{try{const[t,n]=st(e);mt(t),Dt(n)}catch(t){mn(e)}})),setTablesSchema:Vn,setValuesSchema:En,setSchema:(e,t)=>nn((()=>{Vn(e),En(t)})),delTables:xn,delTable:kn,delRow:Mn,delCell:(e,t,n,l)=>nn(((e,t,n)=>M(Le(_,e),(s=>M(Le(s,t),(o=>ae(o,n)?jt(e,s,t,o,n,l):0))))),e,t,n),delValues:Dn,delValue:e=>nn((e=>ae(ee,e)?zt(e):0),e),delTablesSchema:Jn,delValuesSchema:On,delSchema:()=>nn((()=>{Jn(),On()})),transaction:An,startTransaction:Fn,finishTransaction:Pn,forEachTable:e=>ve(_,((t,n)=>e(n,(e=>ve(t,((t,n)=>e(n,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Le(Z,m(e)),t),forEachRow:(e,t)=>ve(Le(_,m(e)),((e,n)=>t(n,(t=>ye(e,t))))),forEachCell:(e,t,n)=>ye(Le(Le(_,m(e)),m(t)),n),forEachValue:e=>ye(ee,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=cn(e,t,n,l,s);return vt((()=>{const r=cn(e,t,n,l,s);z(r,i)||(i=r,o(Qn,e,t,n,l,s,i))}),Be[r?1:0],[e,t],[rn])},addStartTransactionListener:e=>vt(e,ut),addWillFinishTransactionListener:e=>vt(e,ct[0]),addDidFinishTransactionListener:e=>vt(e,ct[1]),callListener:e=>(gt(e),Qn),delListener:e=>(ft(e),Qn),getListenerStats:()=>({}),createStore:it,addListener:vt,callListeners:ht};return oe({[v+g]:[0,ne,[],()=>[yn()]],[g]:[0,ue],[L]:[0,Ve],[v+f]:[1,Je,[rn],e=>[pn(...e)]],[f]:[1,Oe,[rn]],[f+w]:[1,Ae,[rn]],[v+f+T]:[2,Fe,[rn,an],e=>[In(...e)]],[p]:[1,je,[rn]],[I]:[1,Ne,[rn]],[v+y]:[2,We,[rn,un],e=>[Sn(...e)]],[y]:[2,He,[rn,un]],[w]:[2,$e,[rn,un]],[v+T]:[3,qe,[rn,un,vn],e=>[Tn(...e)]],[T]:[3,Ge,[rn,un,vn],e=>_e(hn(...e))],InvalidCell:[3,Ke],[v+C]:[0,Xe,[],()=>[wn()]],[C]:[0,Ye],[b]:[0,Ze],[v+R]:[1,at,[gn],e=>[Rn(...e)]],[R]:[1,dt,[gn],e=>_e(Ln(e[0]))],InvalidValue:[1,Ue]},(([e,t,n,l],s)=>{Qn[c+s+d]=(...s)=>vt(s[e],t[s[e+1]?1:0],e>0?A(s,0,e):void 0,n,l)})),te(Qn)};e.createCheckpoints=je,e.createCustomPersister=(e,t,n,l,s,o,[r,i]=[],a=[])=>{let d,u,c,v=0,h=0;Ie(qe,a,(()=>0)),Ie(Ge,a,(()=>[]));const f=e=>$e(void 0,null,(function*(){return 2!=v&&(v=1,yield g.schedule((()=>$e(void 0,null,(function*(){yield e(),v=0}))))),g})),g={load:(n,l)=>$e(void 0,null,(function*(){return yield f((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return g.stopAutoLoad(),yield g.load(n,s),h=1,c=l(((n,l)=>$e(void 0,null,(function*(){if(l){const t=l();yield f((()=>$e(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield f((()=>$e(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==n?void 0:n())?l:yield t())}catch(e){null==o||o(e)}}))))})))),g})),stopAutoLoad:()=>(h&&(s(c),c=void 0,h=0),g),save:t=>$e(void 0,null,(function*(){return 1!=v&&(v=2,yield g.schedule((()=>$e(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}v=0}))))),g})),startAutoSave:()=>$e(void 0,null,(function*(){return yield g.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();re(n)&&re(l)||g.save((()=>[n,l]))})),g})),stopAutoSave:()=>(M(d,e.delListener),d=void 0,g),schedule:(...e)=>$e(void 0,null,(function*(){return K(Le(Ge,a),...e),yield $e(void 0,null,(function*(){if(!Le(qe,a)){for(pe(qe,a,1);!k(u=X(Le(Ge,a)));)try{yield u()}catch(e){null==o||o(e)}pe(qe,a,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(g[r]=()=>i),te(g)},e.createIndexes=Ne,e.createMetrics=He,e.createQueries=Ye,e.createRelationships=Ze,e.createStore=it,e.defaultSorter=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file