tinybase 4.4.0-beta.1 → 4.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/cjs/store.cjs +1 -1
  2. package/lib/cjs/store.cjs.gz +0 -0
  3. package/lib/cjs/tinybase.cjs +1 -1
  4. package/lib/cjs/tinybase.cjs.gz +0 -0
  5. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  6. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  7. package/lib/cjs/ui-react.cjs +1 -1
  8. package/lib/cjs/ui-react.cjs.gz +0 -0
  9. package/lib/cjs-es6/store.cjs +1 -1
  10. package/lib/cjs-es6/store.cjs.gz +0 -0
  11. package/lib/cjs-es6/tinybase.cjs +1 -1
  12. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  13. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  14. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  15. package/lib/cjs-es6/ui-react.cjs +1 -1
  16. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  17. package/lib/debug/store.js +1 -1
  18. package/lib/debug/tinybase.js +1 -1
  19. package/lib/debug/ui-react-dom.js +1 -1
  20. package/lib/debug/ui-react.js +284 -71
  21. package/lib/es6/store.js +1 -1
  22. package/lib/es6/store.js.gz +0 -0
  23. package/lib/es6/tinybase.js +1 -1
  24. package/lib/es6/tinybase.js.gz +0 -0
  25. package/lib/es6/ui-react-dom-debug.js +1 -1
  26. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  27. package/lib/es6/ui-react.js +1 -1
  28. package/lib/es6/ui-react.js.gz +0 -0
  29. package/lib/store.js +1 -1
  30. package/lib/store.js.gz +0 -0
  31. package/lib/tinybase.js +1 -1
  32. package/lib/tinybase.js.gz +0 -0
  33. package/lib/types/store.d.ts +1 -1
  34. package/lib/types/ui-react.d.ts +1163 -52
  35. package/lib/types/with-schemas/store.d.ts +1 -1
  36. package/lib/types/with-schemas/ui-react.d.ts +1353 -65
  37. package/lib/ui-react.js +1 -1
  38. package/lib/ui-react.js.gz +0 -0
  39. package/lib/umd/store.js +1 -1
  40. package/lib/umd/store.js.gz +0 -0
  41. package/lib/umd/tinybase.js +1 -1
  42. package/lib/umd/tinybase.js.gz +0 -0
  43. package/lib/umd/ui-react-dom-debug.js +1 -1
  44. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  45. package/lib/umd/ui-react.js +1 -1
  46. package/lib/umd/ui-react.js.gz +0 -0
  47. package/lib/umd-es6/store.js +1 -1
  48. package/lib/umd-es6/store.js.gz +0 -0
  49. package/lib/umd-es6/tinybase.js +1 -1
  50. package/lib/umd-es6/tinybase.js.gz +0 -0
  51. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  52. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  53. package/lib/umd-es6/ui-react.js +1 -1
  54. package/lib/umd-es6/ui-react.js.gz +0 -0
  55. package/package.json +20 -20
  56. package/readme.md +2 -2
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="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+"Count",v=L+u,I="Sorted"+L+u,S="Cell",R=S+u,T="Value",y=T+"s",C=T+u,p="Has",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,[g,f,T,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:g,getQueryIds:f,forEachQuery:T,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({[h]:[1,1],[h+R]:[0,1],[w]:[0,1],[v]:[0,1],[I]:[0,5],[L]:[1,2],[R]:[0,2],[S]:[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,u=0;const I=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(I,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(I),pe(V),Ce(m),pe(E),be(A),be(F)]:[I,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(I,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(I),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!=u){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=u&&u++,1==u&&gt(ct,void 0,ns,as),zs),Qs=e=>(u>0&&(u--,0==u&&(s=!ie(F),n=!ie(N),u=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),u=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),u=0,s=n=!1,o=ws(),d=Ts(),W([I,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({[p+g]:[0,de,[],()=>[ws()]],[g]:[0,Ve],[f]:[0,Je],[p+h]:[1,Ae,[rs],e=>[vs(...e)]],[h]:[1,xe,[rs]],[h+R]:[1,Fe,[rs]],[p+h+S]:[2,Ne,[rs,ls],e=>[Is(...e)]],[w]:[1,Pe,[rs]],[v]:[1,je,[rs]],[p+L]:[2,Be,[rs,ds],e=>[Ss(...e)]],[L]:[2,He,[rs,ds]],[R]:[2,$e,[rs,ds]],[p+S]:[3,qe,[rs,ds,us],e=>[Rs(...e)]],[S]:[3,Ge,[rs,ds,us],e=>Ue(hs(...e))],InvalidCell:[3,Ke],[p+y]:[0,ot,[],()=>[Ts()]],[y]:[0,rt],[C]:[0,lt],[p+T]:[1,it,[fs],e=>[ys(...e)]],[T]:[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),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
@@ -2331,7 +2331,7 @@ export interface Store {
2331
2331
  hasCell(tableId: Id, rowId: Id, cellId: Id): boolean;
2332
2332
 
2333
2333
  /**
2334
- * The hasTables method returns a boolean indicating whether any Values exist
2334
+ * The hasValues method returns a boolean indicating whether any Values exist
2335
2335
  * in the Store.
2336
2336
  * @returns Whether any Values exist.
2337
2337
  * @example