tinybase 4.3.6 → 4.3.8
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/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/queries.js +1 -0
- package/lib/debug/tinybase.js +1 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-partykit-server.d.ts +2 -1
- package/lib/types/queries.d.ts +24 -0
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +2 -1
- package/lib/types/with-schemas/queries.d.ts +24 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +7 -7
- package/readme.md +2 -2
package/lib/cjs/queries.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,h="Sorted"+d+l,g="Cell",v=g+l,w=(e,t)=>e.every(t),L=(e,t)=>e.forEach(t),f=e=>T(e,((e,t)=>e+t),0),R=e=>e.length,y=e=>0==R(e),T=(e,t,n)=>e.reduce(t,n),b=(e,...t)=>e.push(...t),C=Math.max,p=Math.min,Q=isFinite,S=e=>null==e,m=(e,t,n)=>S(e)?n?.():t(e),I=t=>e(t)==r,E=e=>Array.isArray(e),M=()=>{},x=Object,D=x.freeze,j=e=>e?.size??0,k=(e,t)=>e?.has(t)??!1,z=e=>S(e)||0==j(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),B=(e,t)=>e?.get(t),G=(e,t)=>O(e,((e,n)=>t(n,e))),H=(e,t,n)=>S(n)?(W(e,t),e):e?.set(t,n),J=(e,t,n)=>(k(e,t)||H(e,t,n()),B(e,t)),K=(e,t,n,s,r=0)=>m((n?J:B)(e,t[r],r>R(t)-2?n:q),(o=>{if(r>R(t)-2)return s?.(o)&&H(e,t[r]),o;const a=K(o,t,n,s,r+1);return z(o)&&H(e,t[r]),a})),N=e=>new Set(E(e)||S(e)?e:[e]),P=(e,t)=>e?.add(t),U=q([["avg",[(e,t)=>f(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["min",[e=>p(...e),(e,t)=>p(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:p(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),V=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,f=l(),T=l(),C=q(),{addListener:p,callListeners:V,delListener:X}=T,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),l=q(),i=q(),d=q(),c=q(),u=q(),h=(t,n,...s)=>{const r=J(u,t,N);return L(s,(t=>P(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>m(B(u,t),(s=>{L(y(n)?A(s):n,(t=>{e.delListener(t),W(s,t)})),z(s)&&H(u,t)})),v=(e,t)=>{H(a,e,t),k(l,e)||(H(l,e,!0),H(d,e,q()),H(c,e,q()),r(i))},f=e=>{H(a,e),H(l,e),H(d,e),H(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>G(l,e),e=>k(l,e),e=>B(a,e),e=>B(l,e),(e,t)=>H(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=q(),u=q(),f=B(d,t),y=B(c,t),T=t=>{const r=n=>e.getCell(s,t,n),d=B(f,t),c=o(s,t)?n(a(r,t)):void 0;var h,g;if(d===c||E(d)&&E(c)&&(g=c,R(h=d)===R(g)&&w(h,((e,t)=>g[t]===e)))||H(i,t,[d,c]),!S(l)){const e=B(y,t),n=o(s,t)?l(r,t):void 0;e!=n&&H(u,t,n)}},b=e=>{r((()=>{O(i,(([,e],t)=>H(f,t,e))),O(u,((e,t)=>H(y,t,e)))}),i,u,f,y,e),F(i),F(u)};G(f,T),e.hasTable(s)&&L(e.getRowIds(s),(e=>{k(f,e)||T(e)})),b(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>b())))},f,e=>s(e,i),()=>G(u,f),h,g]})(r,0,M,p,V),le=(e,t,...n)=>L(n,(n=>P(J(J(C,t,q),e,N),n))),ie=e=>{m(B(C,e),(e=>{G(e,((e,t)=>O(t,(t=>e.delListener(t))))),F(e)})),L([T,f],(t=>t.delTable(e)))},de=(e,t,n)=>le(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,l)=>{te(o,a),ie(o);const i=[],d=[[null,[a,null,null,[],q()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=I(e)?[R(i)+"",e]:[S(t)?e:t,n=>n(e,t)];return b(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=S(n)||I(t)?null:t,r=S(s)?t:n,o=[e,[e,s,I(r)?r:e=>e(r),[],q()]];return b(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>b(c,I(e)?e:S(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,I(t)?[t,n,s,r]:B(U,t)??[(e,t)=>t]]];return b(u,o),{as:e=>o[0]=e}},having:(e,t)=>b(h,I(e)?e:n=>n(e)===t)});const g=q(i);if(z(g))return ce;const v=q(d);G(v,((e,[,t])=>m(B(v,t),(({3:t})=>S(e)?0:b(t,e)))));const C=q(u);let p=f;if(z(C)&&y(h))p=T;else{de(o,p,T);const r=q();G(C,((e,[t,n])=>P(J(r,t,N),[e,n])));const a=N();G(g,(e=>k(r,e)?0:P(a,e)));const l=q(),i=(a,l,i,d)=>m(a,(([c,u,g,v])=>{G(l,((o,[a])=>{const l=J(c,o,q),u=B(l,i),h=d?void 0:a;if(u!==h){const a=N([[u,h]]),d=j(l);H(l,i,h),O(B(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(z(n))return;const[a,l,i,d]=r;return o||=S(e),O(s,(([n,s])=>{o||(e=S(n)?l?.(e,s,t++):S(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=S(e))})),o?a(A(n),j(n)):e})(v[r],d,l,a,o);v[r]=S((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&Q(r)?o:void 0})(i))?null:i}))}})),z(u)||!w(h,(e=>e((e=>v[e]))))?T.delRow(o,g):S(g)?a[2]=T.addRow(o,v):T.setRow(o,g,v)}));le(p,o,p.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=q(),h=p.hasRow(o,n);let g=!h;O(a,(e=>{const[t,r,a]=s(o,n,e);b(d,r),b(c,a),g||=t})),G(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&H(u,e,[r])})),g&&i(K(l,d,void 0,(([,e])=>(W(e,n),z(e)))),u,n,1),h&&i(K(l,c,(()=>{const e={};return O(a,(t=>e[t]=p.getCell(o,n,t))),[q(),N(),void 0,e]}),(([,e])=>{P(e,n)})),u,n)})))}de(o,r,p);const E=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);L(s,(t=>{const[n,,s,a,i]=B(v,t),d=s?.(l,e),[c,u]=B(i,e)??[];d!=c&&(S(u)||ae(o,u),H(i,e,S(d)?null:[d,...oe(o,1,r.addRowListener(n,d,(()=>E(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...S(n)?[a,e,t]:t===a?[a,e,n]:[B(v,t)?.[0],B(B(v,t)?.[4],e)?.[0],n]);p.transaction((()=>w(c,(e=>e(t)))?G(g,((n,s)=>((e,t,n,s,r)=>S(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(p,o,e,n,s(t,e)))):p.delRow(o,e)))})(e)},{3:M}=B(v,null);return p.transaction((()=>oe(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?E(n,a,n,M):(p.delRow(o,n),O(v,(({4:e})=>m(B(e,n),(([,t])=>{ae(o,t),H(e,n)})))))}))))),ce},delQueryDefinition:e=>(ie(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=T.getListenerStats();return s}};var ue,he;return ue={[i]:[1,1],[i+v]:[0,1],[c]:[0,1],[u]:[0,1],[h]:[0,5],[d]:[1,2],[v]:[0,2],[g]:[1,3]},he=([e,t],n)=>{L(e?["get","has","forEach"]:["get"],(e=>ce[e+a+n]=(...t)=>T[e+n](...t))),ce["add"+a+n+o]=(...e)=>{return T["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)));var s,r}},((e,t)=>{e.map(t)})(x.entries(ue),(([e,t])=>he(t,e))),D(ce)})(r)),l.get(r))})();exports.createQueries=V;
|
|
1
|
+
"use strict";const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,h="Sorted"+d+l,g="Cell",v=g+l,w=(e,t)=>e.every(t),L=(e,t)=>e.forEach(t),f=e=>T(e,((e,t)=>e+t),0),R=e=>e.length,y=e=>0==R(e),T=(e,t,n)=>e.reduce(t,n),b=(e,...t)=>e.push(...t),C=Math.max,p=Math.min,Q=isFinite,S=e=>null==e,m=(e,t,n)=>S(e)?n?.():t(e),I=t=>e(t)==r,E=e=>Array.isArray(e),M=()=>{},x=Object,D=x.freeze,j=e=>e?.size??0,k=(e,t)=>e?.has(t)??!1,z=e=>S(e)||0==j(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),B=(e,t)=>e?.get(t),G=(e,t)=>O(e,((e,n)=>t(n,e))),H=(e,t,n)=>S(n)?(W(e,t),e):e?.set(t,n),J=(e,t,n)=>(k(e,t)||H(e,t,n()),B(e,t)),K=(e,t,n,s,r=0)=>m((n?J:B)(e,t[r],r>R(t)-2?n:q),(o=>{if(r>R(t)-2)return s?.(o)&&H(e,t[r]),o;const a=K(o,t,n,s,r+1);return z(o)&&H(e,t[r]),a})),N=e=>new Set(E(e)||S(e)?e:[e]),P=(e,t)=>e?.add(t),U=q([["avg",[(e,t)=>f(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["min",[e=>p(...e),(e,t)=>p(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:p(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),V=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,f=l(),T=l(),C=q(),{addListener:p,callListeners:V,delListener:X}=T,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),l=q(),i=q(),d=q(),c=q(),u=q(),h=(t,n,...s)=>{const r=J(u,t,N);return L(s,(t=>P(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>m(B(u,t),(s=>{L(y(n)?A(s):n,(t=>{e.delListener(t),W(s,t)})),z(s)&&H(u,t)})),v=(e,t)=>{H(a,e,t),k(l,e)||(H(l,e,!0),H(d,e,q()),H(c,e,q()),r(i))},f=e=>{H(a,e),H(l,e),H(d,e),H(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>G(l,e),e=>k(l,e),e=>B(a,e),e=>B(l,e),(e,t)=>H(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=q(),u=q(),f=B(d,t),y=B(c,t),T=t=>{const r=n=>e.getCell(s,t,n),d=B(f,t),c=o(s,t)?n(a(r,t)):void 0;var h,g;if(d===c||E(d)&&E(c)&&(g=c,R(h=d)===R(g)&&w(h,((e,t)=>g[t]===e)))||H(i,t,[d,c]),!S(l)){const e=B(y,t),n=o(s,t)?l(r,t):void 0;e!=n&&H(u,t,n)}},b=e=>{r((()=>{O(i,(([,e],t)=>H(f,t,e))),O(u,((e,t)=>H(y,t,e)))}),i,u,f,y,e),F(i),F(u)};G(f,T),e.hasTable(s)&&L(e.getRowIds(s),(e=>{k(f,e)||T(e)})),b(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>b())))},f,e=>s(e,i),()=>G(u,f),h,g]})(r,0,M,p,V),le=(e,t,...n)=>L(n,(n=>P(J(J(C,t,q),e,N),n))),ie=e=>{m(B(C,e),(e=>{G(e,((e,t)=>O(t,(t=>e.delListener(t))))),F(e)})),L([T,f],(t=>t.delTable(e)))},de=(e,t,n)=>le(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,l)=>{te(o,a),ie(o);const i=[],d=[[null,[a,null,null,[],q()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=I(e)?[R(i)+"",e]:[S(t)?e:t,n=>n(e,t)];return b(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=S(n)||I(t)?null:t,r=S(s)?t:n,o=[e,[e,s,I(r)?r:e=>e(r),[],q()]];return b(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>b(c,I(e)?e:S(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,I(t)?[t,n,s,r]:B(U,t)??[(e,t)=>t]]];return b(u,o),{as:e=>o[0]=e}},having:(e,t)=>b(h,I(e)?e:n=>n(e)===t)});const g=q(i);if(z(g))return ce;const v=q(d);G(v,((e,[,t])=>m(B(v,t),(({3:t})=>S(e)?0:b(t,e)))));const C=q(u);let p=f;if(z(C)&&y(h))p=T;else{de(o,p,T);const r=q();G(C,((e,[t,n])=>P(J(r,t,N),[e,n])));const a=N();G(g,(e=>k(r,e)?0:P(a,e)));const l=q(),i=(a,l,i,d)=>m(a,(([c,u,g,v])=>{G(l,((o,[a])=>{const l=J(c,o,q),u=B(l,i),h=d?void 0:a;if(u!==h){const a=N([[u,h]]),d=j(l);H(l,i,h),O(B(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(z(n))return;const[a,l,i,d]=r;return o||=S(e),O(s,(([n,s])=>{o||(e=S(n)?l?.(e,s,t++):S(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=S(e))})),o?a(A(n),j(n)):e})(v[r],d,l,a,o);v[r]=S((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&Q(r)?o:void 0})(i))?null:i}))}})),z(u)||!w(h,(e=>e((e=>v[e]))))?T.delRow(o,g):S(g)?a[2]=T.addRow(o,v):T.setRow(o,g,v)}));le(p,o,p.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=q(),h=p.hasRow(o,n);let g=!h;O(a,(e=>{const[t,r,a]=s(o,n,e);b(d,r),b(c,a),g||=t})),G(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&H(u,e,[r])})),g&&i(K(l,d,void 0,(([,e])=>(W(e,n),z(e)))),u,n,1),h&&i(K(l,c,(()=>{const e={};return O(a,(t=>e[t]=p.getCell(o,n,t))),[q(),N(),void 0,e]}),(([,e])=>{P(e,n)})),u,n)})))}de(o,r,p);const E=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);L(s,(t=>{const[n,,s,a,i]=B(v,t),d=s?.(l,e),[c,u]=B(i,e)??[];d!=c&&(S(u)||ae(o,u),H(i,e,S(d)?null:[d,...oe(o,1,r.addRowListener(n,d,(()=>E(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...S(n)?[a,e,t]:t===a?[a,e,n]:[B(v,t)?.[0],B(B(v,t)?.[4],e)?.[0],n]);p.transaction((()=>w(c,(e=>e(t)))?G(g,((n,s)=>((e,t,n,s,r)=>S(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(p,o,e,n,s(t,e)))):p.delRow(o,e)))})(e)},{3:M}=B(v,null);return p.transaction((()=>oe(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?E(n,a,n,M):(p.delRow(o,n),O(v,(({4:e})=>m(B(e,n),(([,t])=>{ae(o,t),H(e,n)})))))}))))),ce},delQueryDefinition:e=>(ie(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=T.getListenerStats();return s}};var ue,he;return ue={[i]:[1,1],[i+v]:[0,1],[c]:[0,1],[u]:[0,1],[h]:[0,5],[d]:[1,2],[v]:[0,2],[g]:[1,3]},he=([e,t],n)=>{L(e?["get","has","forEach"]:["get"],(e=>ce[e+a+n]=(...t)=>T[e+n](...t))),ce["add"+a+n+o]=(...e)=>{return T["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)),!0);var s,r}},((e,t)=>{e.map(t)})(x.entries(ue),(([e,t])=>he(t,e))),D(ce)})(r)),l.get(r))})();exports.createQueries=V;
|
package/lib/cjs/queries.cjs.gz
CHANGED
|
Binary file
|
package/lib/cjs/tinybase.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+"Count",I=L+u,S="Sorted"+L+u,R="Cell",v=R+u,T="Value",p=T+"s",C=T+u,y=e=>t+e,b=Math.max,V=Math.min,m=isFinite,x=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,s)=>E(e)?s?.():t(e),M=e=>e==s||e==n,D=t=>e(t)==o,J=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),F=()=>{},Q=(e,t)=>e.includes(t),z=(e,t)=>e.every(t),N=(e,t)=>$(e)===$(t)&&z(e,((e,s)=>t[s]===e)),O=(e,t)=>z(e,((s,n)=>0==n||t(e[n-1],s)<=0)),P=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),B=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,s)=>e.reduce(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>x(e,X)&&e.constructor==X,te=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>W(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>$(Y(e)))(e),oe=e=>e?.size??0,re=(e,t)=>e?.has(t)??!1,le=e=>E(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),ge=e=>[...e?.keys()??[]],fe=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>E(s)?(ue(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(re(e,t)||we(e,t,s()),fe(e,t)),Se=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ae),Te=(e,t,s)=>Re(e,(e=>ve(e,t,s)),ae),pe=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>pe(e,pe),ye=e=>pe(e,Ce),be=(e,t,s,n,a=0)=>k((s?Ie:fe)(e,t[a],a>$(t)-2?s:he),(o=>{if(a>$(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=t=>{const s=e(t);return M(s)||s==a&&m(t)?s:void 0},me=(e,t,s,n,a)=>E(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),xe=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),Ee=e=>new Set(J(e)||E(e)?e:[e]),ke=(e,t)=>e?.add(t),Me=(e,t,s,n,a)=>{const o=e.hasRow,r=he(),l=he(),i=he(),c=he(),d=he(),u=he(),h=(t,s,...n)=>{const a=Ie(u,t,Ee);return j(n,(t=>ke(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>k(fe(u,t),(n=>{j(q(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(u,t)})),f=(e,s)=>{we(r,e,s),re(l,e)||(we(l,e,t()),we(c,e,he()),we(d,e,he()),a(i))},L=e=>{we(r,e),we(l,e),we(c,e),we(d,e),g(e),a(i)};return[()=>e,()=>ge(r),e=>Le(l,e),e=>re(l,e),e=>fe(r,e),e=>fe(l,e),(e,t)=>we(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=he(),u=he(),L=fe(c,t),w=fe(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=fe(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||J(c)&&J(d)&&N(c,d)||we(i,t,[c,d]),!E(l)){const e=fe(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&we(u,t,s)}},S=e=>{a((()=>{de(i,(([,e],t)=>we(L,t,e))),de(u,((e,t)=>we(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};Le(L,I),e.hasTable(n)&&j(e.getRowIds(n),(e=>{re(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,i),()=>Le(u,L),h,g]},De=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Ae.test(t)&&$(e)<1e3&&H(e,t)}]},Qe=e=>{let s;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),ke(be(r,l??[t],Ee),d),d},(e,n,...a)=>j(((e,s=[t])=>{const n=[],a=(e,t)=>t==$(s)?H(n,e):null===s[t]?de(e,(e=>a(e,t+1))):j([s[t],null],(s=>a(fe(e,s),t+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>fe(o,e)[0](s,...n??[],...a))))),e=>k(fe(o,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>k(fe(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=$(r);l==$(t)?e(s,...r,...a(r)):E(t[l])?j(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},ze=Je((e=>{let s,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,g]=Qe((()=>F)),f=he(),L=he(),w=[],I=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=fe(f,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>xe(e,n,s[t])))})),i=1},R=e=>{we(f,e),we(L,e),h(d,[e])},v=(e,t)=>j(((e,t)=>e.splice(0,t))(e,t??$(e)),R),T=()=>v(w,$(w)-o),p=()=>k(s,(()=>{H(w,s),T(),v(I),s=void 0,a=1})),C=()=>{s=K(w),a=1},y=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=Ie(r,t,he),l=Ie(e,s,he),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&C(),M()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&C(),M()}})),V=(e="")=>(E(s)&&(s=t+n++,we(f,s,[r,l]),J(s,e),r=he(),l=he(),a=1),s),m=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(I,V()),S(0,s),s=K(w),a=1)},x=()=>{q(I)||(H(w,s),s=U(I),S(1,s),a=1)},M=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return M(),t},J=(e,t)=>(A(e)&&fe(L,e)!==t&&(we(L,e,t),h(d,[e])),F),A=e=>re(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...I]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:A,getCheckpoint:e=>fe(L,e),goBackward:()=>(m(),M(),F),goForward:()=>(x(),M(),F),goTo:e=>{const t=Q(w,e)?m:Q(I,e)?x:null;for(;!E(t)&&e!=s;)t();return M(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(v(w),v(I),E(s)||R(s),s=void 0,n=0,D(),F),destroy:()=>{e.delListener(y),e.delListener(b)},getListenerStats:()=>({})};return _(F.clear())})),Ne=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Je((e=>{const s=he(),n=he(),[a,o,r]=Qe((()=>R)),[l,i,c,d,u,h,g,,f,L,w,I]=Me(e,he,(e=>E(e)?t:J(e)?W(e,y):y(e)),a,o),S=(t,s,n)=>{const a=u(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},R={setIndexDefinition:(e,t,a,r,l,i=Ne)=>{const c=E(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const w=Ee(),I=Ee(),S=h(e);if(de(a,(([e,t],s)=>{const n=Ee(e),a=Ee(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{ke(w,e),k(fe(S,e),(t=>{ue(t,s),le(t)&&(we(S,e),L=1)}))})),de(a,(e=>{ke(w,e),re(S,e)||(we(S,e,Ee()),L=1),ke(fe(S,e),s),E(r)||ke(I,e)}))})),t(),le(u)||(f?Le(S,(e=>ke(I,e))):Le(l,(e=>k(fe(d,e),(e=>ke(I,e))))),de(I,(e=>{const t=(t,s)=>i(fe(u,t),fe(u,s),e),s=[...fe(S,e)];O(s,t)||(we(S,e,Ee(P(s,t))),ke(w,e))}))),(L||f)&&!E(c)){const t=[...S];O(t,c)||(g(e,he(P(t,c))),L=1)}L&&o(s,[e]),de(w,(t=>o(n,[e,t])))}),De(a),k(r,De)),R},delIndexDefinition:e=>(L(e),R),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>re(h(e),t),getTableId:u,getSliceIds:e=>ge(h(e)),getSliceRowIds:(e,t)=>ie(fe(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),R),destroy:I,getListenerStats:()=>({})};return _(R)})),Pe=he([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[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)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),je=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=E(e),de(n,(([s,n])=>{o||(e=E(s)?l?.(e,n,t++):E(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=E(e))})),o?r(ie(s),oe(s)):e},We=Je((e=>{const s=he(),[n,a,o]=Qe((()=>I)),[r,l,i,c,d,u,h,,g,f,L,w]=Me(e,F,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),I={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=D(n)?[n,r,l,i]:fe(Pe,n)??fe(Pe,"sum");return g(e,t,((t,n,o,r,l,i)=>{const d=u(e),g=oe(r);i||=E(d),t();let f=je(d,g,r,n,c,i);m(f)||(f=void 0),f!=d&&(h(e,f),a(s,[e],f,d))}),De(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return _(I)})),Be=he(),$e=he(),qe=Je((e=>{const s=e.createStore,n=s(),a=s(),o=he(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,T,p,C,,,y,,b,V,m,x,M]=Me(e,(()=>!0),F,r,l),J=(e,t,...s)=>j(s,(s=>ke(Ie(Ie(o,t,he),e,Ee),s))),Q=e=>{k(fe(o,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),j([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>J(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),O={setQueryDefinition:(s,o,r)=>{y(s,o),Q(s);const l=[],i=[[null,[o,null,null,[],he()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=D(e)?[$(l)+t,e]:[E(s)?e:s,t=>t(e,s)];return H(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=E(s)||D(t)?null:t,a=E(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(c,D(e)?e:E(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:fe(Pe,t)??[(e,t)=>t]]];return H(d,o),{as:e=>o[0]=e}},having:(e,t)=>H(u,D(e)?e:s=>s(e)===t)});const h=he(l);if(le(h))return O;const g=he(i);Le(g,((e,[,t])=>k(fe(g,t),(({3:t})=>E(e)?0:H(t,e)))));const f=he(d);let L=n;if(le(f)&&q(u))L=a;else{N(s,L,a);const e=he();Le(f,((t,[s,n])=>ke(Ie(e,s,Ee),[t,n])));const t=Ee();Le(h,(s=>re(e,s)?0:ke(t,s)));const n=he(),o=(t,n,o,r)=>k(t,(([l,i,c,d])=>{Le(n,((t,[s])=>{const n=Ie(l,t,he),a=fe(n,o),i=r?void 0:s;if(a!==i){const s=Ee([[a,i]]),r=oe(n);we(n,o,i),de(fe(e,t),(([e,t])=>{const a=je(d[e],r,n,s,t);d[e]=E(Ve(a))?null:a}))}})),le(i)||!z(u,(e=>e((e=>d[e]))))?a.delRow(s,c):E(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));J(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=he(),h=L.hasRow(s,l);let g=!h;de(t,(e=>{const[t,n,a]=i(s,l,e);H(c,n),H(d,a),g||=t})),Le(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&we(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return de(t,(t=>e[t]=L.getCell(s,l,t))),[he(),Ee(),void 0,e]}),(([,e])=>{ke(e,l)})),u,l)})))}N(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);j(r,(n=>{const[a,,o,r,i]=fe(g,n),c=o?.(l,t),[d,u]=fe(i,t)??[];c!=d&&(E(u)||M(s,u),we(i,t,E(c)?null:[c,...x(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...E(n)?[o,t,s]:s===o?[o,t,n]:[fe(g,s)?.[0],fe(fe(g,s)?.[4],t)?.[0],n]);L.transaction((()=>z(c,(e=>e(n)))?Le(h,((e,a)=>me(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:I}=fe(g,null);return L.transaction((()=>x(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(s,a),de(g,(({4:e})=>k(fe(e,a),(([,t])=>{M(s,t),we(e,a)})))))}))))),O},delQueryDefinition:e=>(Q(e),b(e),O),getStore:g,getQueryIds:f,forEachQuery:T,hasQuery:p,getTableId:C,addQueryIdsListener:e=>V((()=>e(O))),delListener:e=>(u(e),O),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ne({[h]:[1,1],[h+v]:[0,1],[w]:[0,1],[I]:[0,1],[S]:[0,5],[L]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{j(e?["get","has","forEach"]:["get"],(e=>O[e+c+s]=(...t)=>a[e+s](...t))),O[d+c+s+i]=(...e)=>a[d+s+i](...A(e,0,t),((s,...n)=>e[t](O,...n)))})),_(O)})),Ge=Je((e=>{const s=he(),n=he(),a=he(),o=he(),[r,l,i]=Qe((()=>p)),[c,d,u,h,g,f,,,L,w,I,S]=Me(e,(()=>[he(),he(),he(),he()]),(e=>E(e)?void 0:e+t),r,l),R=(e,t,s)=>k(f(e),(([n,,a])=>{if(!re(a,t)){const o=Ee();if(g(e)!=T(e))ke(o,t);else{let e=t;for(;!E(e)&&!re(o,e);)ke(o,e),e=fe(n,e)}if(s)return o;we(a,t,o)}return fe(a,t)})),v=(e,t)=>k(f(e),(([,,e])=>we(e,t))),T=e=>fe(s,e),p={setRelationshipDefinition:(e,t,r,i)=>(we(s,e,r),L(e,t,((t,s)=>{const r=Ee(),i=Ee(),c=Ee(),[d,u]=f(e);de(s,(([t,s],n)=>{E(t)||(ke(i,t),k(fe(u,t),(e=>{ue(e,n),le(e)&&we(u,t)}))),E(s)||(ke(i,s),re(u,s)||we(u,s,Ee()),ke(fe(u,s),n)),ke(r,n),we(d,n,s),Le(fe(o,e),(t=>{re(R(e,t),n)&&ke(c,t)}))})),t(),de(r,(t=>l(n,[e,t]))),de(i,(t=>l(a,[e,t]))),de(c,(t=>{v(e,t),l(o,[e,t])}))}),De(i)),p),delRelationshipDefinition:e=>(we(s,e),w(e),p),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)=>fe(f(e)?.[0],t),getLocalRowIds:(e,t)=>ie(fe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>E(f(e))?[t]:ie(R(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),p),destroy:S,getListenerStats:()=>({})};return _(p)})),He=e=>[e,e],Ke=()=>[he(),he()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=e=>JSON.stringify(e,((e,t)=>x(t,Map)?X.fromEntries([...t]):t)),Ze=JSON.parse,_e=(e,t,s)=>E(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),et=(e,t,s)=>we(e,t,fe(e,t)==-s?void 0:s),tt=()=>{let e,t,s=!1,n=!1,o=0;const c=he(),u=he(),S=he(),b=he(),V=he(),m=he(),x=he(),J=he(),F=he(),z=he(),O=he(),B=he(),$=he(),q=he(),G=Ee(),K=he(),U=he(),X=he(),Y=he(),Z=Ke(),ee=Ke(),ie=Ke(),be=Ke(),Me=Ke(),De=Ke(),Je=Ke(),Ae=Ke(),ze=Ke(),Oe=Ke(),Pe=Ke(),je=Ke(),We=Ke(),Be=Ke(),$e=Ke(),qe=he(),Ge=Ke(),[st,nt,at,ot]=Qe((()=>Rs)),rt=e=>{if(!_e(e,((e,t)=>Q([r,l],t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(Ve(e[l])!=t&&se(e,l),0))},lt=(t,s)=>(!e||re(O,s)||zt(s))&&_e(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>_e(n?s:ht(s,e,t),((n,a)=>k(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?k(fe(fe(O,t),n),(e=>Ve(a)!=e[r]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):E(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>_e(t?e:gt(e),((t,s)=>k(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?k(fe($,e),(t=>Ve(s)!=t[r]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):E(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(k(fe(B,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(de(q,((t,s)=>{te(e,s)||(e[s]=t)})),de(G,(t=>{te(e,t)||Nt(t)}))),e),ft=e=>Se(O,e,((e,t,s)=>{const n=he(),a=Ee();Se(Ie(O,t,he),s,((e,t,s)=>{we(e,t,s),k(s[l],(e=>we(n,t,e)),(()=>ke(a,t)))})),we(B,t,[n,a])}),((e,t)=>{we(O,t),we(B,t)})),Lt=e=>Se($,e,((e,t,s)=>{we($,t,s),k(s[l],(e=>we(q,t,e)),(()=>ke(G,t)))}),((e,t)=>{we($,t),we(q,t),ue(G,t)})),wt=e=>ae(e)?ds():os(e),It=e=>Se(X,e,((e,t,s)=>St(t,s)),((e,t)=>mt(t))),St=(e,t)=>Se(Ie(X,e,(()=>(Mt(e,1),we(K,e,Fe()),we(U,e,he()),he()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>xt(e,t,s))),Rt=(e,t,s,n,a)=>Se(Ie(t,s,(()=>(Dt(e,s,1),he()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>Et(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{re(s,n)||Jt(e,t,n,1);const o=fe(s,n);a!==o&&(At(e,t,n,o,a),we(s,n,a))},Tt=(e,t,s,n,a)=>k(fe(t,s),(t=>vt(e,s,t,n,a)),(()=>Rt(e,t,s,ht({[n]:a},e,s)))),pt=e=>ae(e)?gs():rs(e),Ct=e=>Se(Y,e,((e,t,s)=>yt(t,s)),((e,t)=>kt(t))),yt=(e,t)=>{re(Y,e)||Ft(e,1);const s=fe(Y,e);t!==s&&(Qt(e,s,t),we(Y,e,t))},bt=(e,t)=>{const[s]=fe(K,e),n=s(t);return re(fe(X,e),n)?bt(e,t):n},Vt=e=>fe(X,e)??St(e,{}),mt=e=>St(e,{}),xt=(e,t,s)=>{const[,n]=fe(K,e);n(s),Rt(e,t,s,{},!0)},Et=(e,t,s,n,a,o)=>{const r=fe(fe(B,e)?.[0],a);if(!E(r)&&!o)return vt(e,s,n,a,r);const l=t=>{At(e,s,t,fe(n,t)),Jt(e,s,t,-1),we(n,t)};E(r)?l(a):Le(n,l),le(n)&&(Dt(e,s,-1),le(we(t,s))&&(Mt(e,-1),we(X,e),we(K,e),we(U,e)))},kt=e=>{const t=fe(q,e);if(!E(t))return yt(e,t);Qt(e,fe(Y,e)),Ft(e,-1),we(Y,e)},Mt=(e,t)=>et(c,e,t),Dt=(e,t,s)=>et(Ie(b,e,he),t,s)&&we(S,e,Ie(S,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=fe(U,e),o=fe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&et(Ie(u,e,he),s,n),we(a,s,o!=-n?o+n:null),et(Ie(Ie(V,e,he),t,he),s,n)},At=(e,t,s,n,a)=>Ie(Ie(Ie(m,e,he),t,he),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>et(x,e,t),Qt=(e,t,s)=>Ie(J,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(H(Ie(Ie(Ie(F,e,he),t,he),s,(()=>[])),n),a),Nt=(e,t,s)=>(H(Ie(z,e,(()=>[])),t),s),Ot=(e,t,s)=>k(fe(fe(fe(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(ts(e,t,s))])),Pt=e=>k(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(as(e))])),jt=e=>le(F)||le(Pe[e])?0:de(e?ye(F):F,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>nt(Pe[e],[s,n,a],t))))))),Wt=e=>le(z)||le(je[e])?0:de(e?pe(z):z,((t,s)=>nt(je[e],[s],t))),Bt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(ze[e])&&le(be[e])&&le(Me[e])&&le(De[e])&&t&&le(ee[e]),n=le(Oe[e])&&le(Ae[e])&&le(ie[e])&&le(Z[e]);if(!s||!n){const a=e?[pe(c),Ce(u),pe(S),Ce(b),ye(V),ye(m)]:[c,u,S,b,V,m];if(!s){Bt(ee[e],a[0]),de(a[1],((t,s)=>Bt(be[e],t,[s]))),de(a[2],((t,s)=>{0!=t&&nt(Me[e],[s],Yt(s))}));const s=Ee();de(a[3],((n,a)=>{Bt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),ke(s,a))})),t||de(a[5],((t,n)=>{if(!re(s,n)){const s=Ee();de(t,(e=>de(e,(([t,n],a)=>n!==t?ke(s,a):ue(e,a))))),de(s,(t=>nt(Je[e],[n,t])))}})),de(a[4],((t,s)=>de(t,((t,n)=>Bt(ze[e],t,[s,n])))))}if(!n){let t;de(a[5],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&(nt(Oe[e],[n,o,i],l,s,Ot),t=a=r=1)})),r&&nt(Ae[e],[n,o],Ot)})),a&&nt(ie[e],[n],Ot)})),t&&nt(Z[e],void 0,Ot)}}},qt=e=>{const t=le(Be[e]),s=le($e[e])&&le(We[e]);if(!t||!s){const n=e?[pe(x),pe(J)]:[x,J];if(t||Bt(Be[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Pt),t=1)})),t&&nt(We[e],void 0,Pt)}}},Gt=(e,...t)=>(ws((()=>e(...W(t,y)))),Rs),Ht=()=>[Re(m,((e,t)=>-1===fe(c,t)?null:Re(e,((e,s)=>-1===fe(fe(b,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Xe(t)))),ae)),ae),Re(J,(([,e])=>e??null),((e,t)=>Xe(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(m,Ue,Xe),invalidCells:Te(F),changedValues:Re(J,Ue,Xe),invalidValues:Re(z),changedTableIds:Re(c),changedRowIds:ve(b),changedCellIds:Te(V),changedValueIds:Re(x)}),Ut=()=>Te(X),Xt=()=>ge(X),Yt=e=>oe(fe(X,y(e))),Zt=e=>ge(fe(X,y(e))),_t=(e,t,s,n=0,a)=>{return W(A(P((o=fe(X,y(e)),r=(e,s)=>[E(t)?s:fe(e,y(t)),s],W([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,E(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>ge(fe(fe(X,y(e)),y(t))),ts=(e,t,s)=>fe(fe(fe(X,y(e)),y(t)),y(s)),ss=()=>Re(Y),ns=()=>ge(Y),as=e=>fe(Y,y(e)),os=e=>Gt((()=>(e=>_e(e,lt,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),ls=e=>{try{wt(Ze(e))}catch{}return Rs},is=t=>Gt((()=>{if((e=_e(t,(e=>_e(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>_e(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>re(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>k(fe(X,e),(s=>re(s,t)?xt(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=o){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=o&&o++,1==o&&nt(qe,void 0,Ht,Kt),Rs),Ss=e=>(o>0&&(o--,0==o&&(s=!le(m),n=!le(J),o=1,jt(1),s&&$t(1),Wt(1),n&&qt(1),e?.(Ht,Kt)&&(de(m,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(Rs,t,s,n,e))))))),de(J,(([e],t)=>xe(Rs,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),o=-1,jt(0),s&&$t(0),Wt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),o=0,s=n=!1,j([c,u,S,b,V,m,F,x,J,z],ce))),Rs),Rs={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(fe(X,y(e))),getTableCellIds:e=>ge(fe(U,y(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(fe(fe(X,y(e)),y(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>re(X,y(e)),hasTableCell:(e,t)=>re(fe(U,y(e)),y(t)),hasRow:(e,t)=>re(fe(X,y(e)),y(t)),hasCell:(e,t,s)=>re(fe(fe(X,y(e)),y(t)),y(s)),hasValues:()=>!le(Y),hasValue:e=>re(Y,y(e)),getTablesJson:()=>Ye(X),getValuesJson:()=>Ye(Y),getJson:()=>Ye([X,Y]),getTablesSchemaJson:()=>Ye(O),getValuesSchemaJson:()=>Ye($),getSchemaJson:()=>Ye([O,$]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(ae(e)?ds:os)(e),(ae(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?Rt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return it(e,n,t)&&(e=y(e),Rt(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ne(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>k(ct(e,t,s,D(n)?n(ts(e,t,s)):n),(n=>Tt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ne(e,((e,t)=>yt(t,e))):0)),setValue:(e,t)=>Gt((e=>k(ut(e,D(t)?t(as(e)):t),(t=>yt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ne(e[0],((e,t)=>E(e)?us(t):ne(e,((e,s)=>E(e)?hs(t,s):ne(e,((e,n)=>me(Rs,t,s,n,e))))))),ne(e[1],((e,t)=>xe(Rs,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{pt(Ze(e))}catch{}return Rs},setJson:e=>Gt((()=>{try{const[t,s]=Ze(e);wt(t),pt(s)}catch{ls(e)}})),setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>k(fe(X,e),(a=>k(fe(a,t),(o=>re(o,s)?Et(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>re(Y,e)?kt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>de(X,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(fe(U,y(e)),t),forEachRow:(e,t)=>de(fe(X,y(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(fe(fe(X,y(e)),y(t)),s),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return st((()=>{const r=_t(e,t,s,n,a);N(r,l)||(l=r,o(Rs,e,t,s,n,a,l))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>st(e,qe),addWillFinishTransactionListener:e=>st(e,Ge[0]),addDidFinishTransactionListener:e=>st(e,Ge[1]),callListener:e=>(ot(e),Rs),delListener:e=>(at(e),Rs),getListenerStats:()=>({}),createStore:tt,addListener:st,callListeners:nt};return ne({[g]:[0,Z],[f]:[0,ee],[h]:[1,ie,[Xt]],[h+v]:[1,be,[Xt]],[w]:[1,Me,[Xt]],[I]:[1,De,[Xt]],[L]:[2,Ae,[Xt,Zt]],[v]:[2,ze,[Xt,Zt]],[R]:[3,Oe,[Xt,Zt,es],e=>He(ts(...e))],InvalidCell:[3,Pe],[p]:[0,We],[C]:[0,Be],[T]:[1,$e,[ns],e=>He(as(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],a)=>{Rs[d+a+i]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?A(a,0,e):void 0,s,n)})),_(Rs)};exports.createCheckpoints=ze,exports.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let l,i,c,d=0,u=0;Ie(Be,r,(()=>0)),Ie($e,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),l=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(k(l,e.delListener),g),schedule:async(...e)=>(H(fe($e,r),...e),await(async()=>{if(!fe(Be,r)){for(we(Be,r,1);!E(i=U(fe($e,r)));)try{await i()}catch(e){o?.(e)}we(Be,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(g)},exports.createIndexes=Oe,exports.createMetrics=We,exports.createQueries=qe,exports.createRelationships=Ge,exports.createStore=tt,exports.defaultSorter=Ne;
|
|
1
|
+
"use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+"Count",I=L+u,S="Sorted"+L+u,R="Cell",v=R+u,T="Value",p=T+"s",C=T+u,y=e=>t+e,b=Math.max,V=Math.min,m=isFinite,x=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,s)=>E(e)?s?.():t(e),M=e=>e==s||e==n,D=t=>e(t)==o,J=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),F=()=>{},Q=(e,t)=>e.includes(t),z=(e,t)=>e.every(t),N=(e,t)=>$(e)===$(t)&&z(e,((e,s)=>t[s]===e)),O=(e,t)=>z(e,((s,n)=>0==n||t(e[n-1],s)<=0)),P=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),B=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,s)=>e.reduce(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>x(e,X)&&e.constructor==X,te=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>W(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>$(Y(e)))(e),oe=e=>e?.size??0,re=(e,t)=>e?.has(t)??!1,le=e=>E(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),ge=e=>[...e?.keys()??[]],fe=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>E(s)?(ue(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(re(e,t)||we(e,t,s()),fe(e,t)),Se=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ae),Te=(e,t,s)=>Re(e,(e=>ve(e,t,s)),ae),pe=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>pe(e,pe),ye=e=>pe(e,Ce),be=(e,t,s,n,a=0)=>k((s?Ie:fe)(e,t[a],a>$(t)-2?s:he),(o=>{if(a>$(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=t=>{const s=e(t);return M(s)||s==a&&m(t)?s:void 0},me=(e,t,s,n,a)=>E(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),xe=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),Ee=e=>new Set(J(e)||E(e)?e:[e]),ke=(e,t)=>e?.add(t),Me=(e,t,s,n,a)=>{const o=e.hasRow,r=he(),l=he(),i=he(),c=he(),d=he(),u=he(),h=(t,s,...n)=>{const a=Ie(u,t,Ee);return j(n,(t=>ke(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>k(fe(u,t),(n=>{j(q(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(u,t)})),f=(e,s)=>{we(r,e,s),re(l,e)||(we(l,e,t()),we(c,e,he()),we(d,e,he()),a(i))},L=e=>{we(r,e),we(l,e),we(c,e),we(d,e),g(e),a(i)};return[()=>e,()=>ge(r),e=>Le(l,e),e=>re(l,e),e=>fe(r,e),e=>fe(l,e),(e,t)=>we(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=he(),u=he(),L=fe(c,t),w=fe(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=fe(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||J(c)&&J(d)&&N(c,d)||we(i,t,[c,d]),!E(l)){const e=fe(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&we(u,t,s)}},S=e=>{a((()=>{de(i,(([,e],t)=>we(L,t,e))),de(u,((e,t)=>we(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};Le(L,I),e.hasTable(n)&&j(e.getRowIds(n),(e=>{re(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,i),()=>Le(u,L),h,g]},De=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Ae.test(t)&&$(e)<1e3&&H(e,t)}]},Qe=e=>{let s;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),ke(be(r,l??[t],Ee),d),d},(e,n,...a)=>j(((e,s=[t])=>{const n=[],a=(e,t)=>t==$(s)?H(n,e):null===s[t]?de(e,(e=>a(e,t+1))):j([s[t],null],(s=>a(fe(e,s),t+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>fe(o,e)[0](s,...n??[],...a))))),e=>k(fe(o,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>k(fe(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=$(r);l==$(t)?e(s,...r,...a(r)):E(t[l])?j(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},ze=Je((e=>{let s,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,g]=Qe((()=>F)),f=he(),L=he(),w=[],I=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=fe(f,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>xe(e,n,s[t])))})),i=1},R=e=>{we(f,e),we(L,e),h(d,[e])},v=(e,t)=>j(((e,t)=>e.splice(0,t))(e,t??$(e)),R),T=()=>v(w,$(w)-o),p=()=>k(s,(()=>{H(w,s),T(),v(I),s=void 0,a=1})),C=()=>{s=K(w),a=1},y=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=Ie(r,t,he),l=Ie(e,s,he),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&C(),M()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&C(),M()}})),V=(e="")=>(E(s)&&(s=t+n++,we(f,s,[r,l]),J(s,e),r=he(),l=he(),a=1),s),m=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(I,V()),S(0,s),s=K(w),a=1)},x=()=>{q(I)||(H(w,s),s=U(I),S(1,s),a=1)},M=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return M(),t},J=(e,t)=>(A(e)&&fe(L,e)!==t&&(we(L,e,t),h(d,[e])),F),A=e=>re(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...I]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:A,getCheckpoint:e=>fe(L,e),goBackward:()=>(m(),M(),F),goForward:()=>(x(),M(),F),goTo:e=>{const t=Q(w,e)?m:Q(I,e)?x:null;for(;!E(t)&&e!=s;)t();return M(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(v(w),v(I),E(s)||R(s),s=void 0,n=0,D(),F),destroy:()=>{e.delListener(y),e.delListener(b)},getListenerStats:()=>({})};return _(F.clear())})),Ne=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Je((e=>{const s=he(),n=he(),[a,o,r]=Qe((()=>R)),[l,i,c,d,u,h,g,,f,L,w,I]=Me(e,he,(e=>E(e)?t:J(e)?W(e,y):y(e)),a,o),S=(t,s,n)=>{const a=u(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},R={setIndexDefinition:(e,t,a,r,l,i=Ne)=>{const c=E(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const w=Ee(),I=Ee(),S=h(e);if(de(a,(([e,t],s)=>{const n=Ee(e),a=Ee(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{ke(w,e),k(fe(S,e),(t=>{ue(t,s),le(t)&&(we(S,e),L=1)}))})),de(a,(e=>{ke(w,e),re(S,e)||(we(S,e,Ee()),L=1),ke(fe(S,e),s),E(r)||ke(I,e)}))})),t(),le(u)||(f?Le(S,(e=>ke(I,e))):Le(l,(e=>k(fe(d,e),(e=>ke(I,e))))),de(I,(e=>{const t=(t,s)=>i(fe(u,t),fe(u,s),e),s=[...fe(S,e)];O(s,t)||(we(S,e,Ee(P(s,t))),ke(w,e))}))),(L||f)&&!E(c)){const t=[...S];O(t,c)||(g(e,he(P(t,c))),L=1)}L&&o(s,[e]),de(w,(t=>o(n,[e,t])))}),De(a),k(r,De)),R},delIndexDefinition:e=>(L(e),R),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>re(h(e),t),getTableId:u,getSliceIds:e=>ge(h(e)),getSliceRowIds:(e,t)=>ie(fe(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),R),destroy:I,getListenerStats:()=>({})};return _(R)})),Pe=he([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[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)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),je=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=E(e),de(n,(([s,n])=>{o||(e=E(s)?l?.(e,n,t++):E(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=E(e))})),o?r(ie(s),oe(s)):e},We=Je((e=>{const s=he(),[n,a,o]=Qe((()=>I)),[r,l,i,c,d,u,h,,g,f,L,w]=Me(e,F,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),I={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=D(n)?[n,r,l,i]:fe(Pe,n)??fe(Pe,"sum");return g(e,t,((t,n,o,r,l,i)=>{const d=u(e),g=oe(r);i||=E(d),t();let f=je(d,g,r,n,c,i);m(f)||(f=void 0),f!=d&&(h(e,f),a(s,[e],f,d))}),De(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return _(I)})),Be=he(),$e=he(),qe=Je((e=>{const s=e.createStore,n=s(),a=s(),o=he(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,T,p,C,,,y,,b,V,m,x,M]=Me(e,(()=>!0),F,r,l),J=(e,t,...s)=>j(s,(s=>ke(Ie(Ie(o,t,he),e,Ee),s))),Q=e=>{k(fe(o,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),j([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>J(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),O={setQueryDefinition:(s,o,r)=>{y(s,o),Q(s);const l=[],i=[[null,[o,null,null,[],he()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=D(e)?[$(l)+t,e]:[E(s)?e:s,t=>t(e,s)];return H(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=E(s)||D(t)?null:t,a=E(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(c,D(e)?e:E(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:fe(Pe,t)??[(e,t)=>t]]];return H(d,o),{as:e=>o[0]=e}},having:(e,t)=>H(u,D(e)?e:s=>s(e)===t)});const h=he(l);if(le(h))return O;const g=he(i);Le(g,((e,[,t])=>k(fe(g,t),(({3:t})=>E(e)?0:H(t,e)))));const f=he(d);let L=n;if(le(f)&&q(u))L=a;else{N(s,L,a);const e=he();Le(f,((t,[s,n])=>ke(Ie(e,s,Ee),[t,n])));const t=Ee();Le(h,(s=>re(e,s)?0:ke(t,s)));const n=he(),o=(t,n,o,r)=>k(t,(([l,i,c,d])=>{Le(n,((t,[s])=>{const n=Ie(l,t,he),a=fe(n,o),i=r?void 0:s;if(a!==i){const s=Ee([[a,i]]),r=oe(n);we(n,o,i),de(fe(e,t),(([e,t])=>{const a=je(d[e],r,n,s,t);d[e]=E(Ve(a))?null:a}))}})),le(i)||!z(u,(e=>e((e=>d[e]))))?a.delRow(s,c):E(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));J(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=he(),h=L.hasRow(s,l);let g=!h;de(t,(e=>{const[t,n,a]=i(s,l,e);H(c,n),H(d,a),g||=t})),Le(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&we(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return de(t,(t=>e[t]=L.getCell(s,l,t))),[he(),Ee(),void 0,e]}),(([,e])=>{ke(e,l)})),u,l)})))}N(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);j(r,(n=>{const[a,,o,r,i]=fe(g,n),c=o?.(l,t),[d,u]=fe(i,t)??[];c!=d&&(E(u)||M(s,u),we(i,t,E(c)?null:[c,...x(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...E(n)?[o,t,s]:s===o?[o,t,n]:[fe(g,s)?.[0],fe(fe(g,s)?.[4],t)?.[0],n]);L.transaction((()=>z(c,(e=>e(n)))?Le(h,((e,a)=>me(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:I}=fe(g,null);return L.transaction((()=>x(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(s,a),de(g,(({4:e})=>k(fe(e,a),(([,t])=>{M(s,t),we(e,a)})))))}))))),O},delQueryDefinition:e=>(Q(e),b(e),O),getStore:g,getQueryIds:f,forEachQuery:T,hasQuery:p,getTableId:C,addQueryIdsListener:e=>V((()=>e(O))),delListener:e=>(u(e),O),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ne({[h]:[1,1],[h+v]:[0,1],[w]:[0,1],[I]:[0,1],[S]:[0,5],[L]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{j(e?["get","has","forEach"]:["get"],(e=>O[e+c+s]=(...t)=>a[e+s](...t))),O[d+c+s+i]=(...e)=>a[d+s+i](...A(e,0,t),((s,...n)=>e[t](O,...n)),!0)})),_(O)})),Ge=Je((e=>{const s=he(),n=he(),a=he(),o=he(),[r,l,i]=Qe((()=>p)),[c,d,u,h,g,f,,,L,w,I,S]=Me(e,(()=>[he(),he(),he(),he()]),(e=>E(e)?void 0:e+t),r,l),R=(e,t,s)=>k(f(e),(([n,,a])=>{if(!re(a,t)){const o=Ee();if(g(e)!=T(e))ke(o,t);else{let e=t;for(;!E(e)&&!re(o,e);)ke(o,e),e=fe(n,e)}if(s)return o;we(a,t,o)}return fe(a,t)})),v=(e,t)=>k(f(e),(([,,e])=>we(e,t))),T=e=>fe(s,e),p={setRelationshipDefinition:(e,t,r,i)=>(we(s,e,r),L(e,t,((t,s)=>{const r=Ee(),i=Ee(),c=Ee(),[d,u]=f(e);de(s,(([t,s],n)=>{E(t)||(ke(i,t),k(fe(u,t),(e=>{ue(e,n),le(e)&&we(u,t)}))),E(s)||(ke(i,s),re(u,s)||we(u,s,Ee()),ke(fe(u,s),n)),ke(r,n),we(d,n,s),Le(fe(o,e),(t=>{re(R(e,t),n)&&ke(c,t)}))})),t(),de(r,(t=>l(n,[e,t]))),de(i,(t=>l(a,[e,t]))),de(c,(t=>{v(e,t),l(o,[e,t])}))}),De(i)),p),delRelationshipDefinition:e=>(we(s,e),w(e),p),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)=>fe(f(e)?.[0],t),getLocalRowIds:(e,t)=>ie(fe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>E(f(e))?[t]:ie(R(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),p),destroy:S,getListenerStats:()=>({})};return _(p)})),He=e=>[e,e],Ke=()=>[he(),he()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=e=>JSON.stringify(e,((e,t)=>x(t,Map)?X.fromEntries([...t]):t)),Ze=JSON.parse,_e=(e,t,s)=>E(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),et=(e,t,s)=>we(e,t,fe(e,t)==-s?void 0:s),tt=()=>{let e,t,s=!1,n=!1,o=0;const c=he(),u=he(),S=he(),b=he(),V=he(),m=he(),x=he(),J=he(),F=he(),z=he(),O=he(),B=he(),$=he(),q=he(),G=Ee(),K=he(),U=he(),X=he(),Y=he(),Z=Ke(),ee=Ke(),ie=Ke(),be=Ke(),Me=Ke(),De=Ke(),Je=Ke(),Ae=Ke(),ze=Ke(),Oe=Ke(),Pe=Ke(),je=Ke(),We=Ke(),Be=Ke(),$e=Ke(),qe=he(),Ge=Ke(),[st,nt,at,ot]=Qe((()=>Rs)),rt=e=>{if(!_e(e,((e,t)=>Q([r,l],t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(Ve(e[l])!=t&&se(e,l),0))},lt=(t,s)=>(!e||re(O,s)||zt(s))&&_e(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>_e(n?s:ht(s,e,t),((n,a)=>k(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?k(fe(fe(O,t),n),(e=>Ve(a)!=e[r]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):E(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>_e(t?e:gt(e),((t,s)=>k(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?k(fe($,e),(t=>Ve(s)!=t[r]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):E(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(k(fe(B,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(de(q,((t,s)=>{te(e,s)||(e[s]=t)})),de(G,(t=>{te(e,t)||Nt(t)}))),e),ft=e=>Se(O,e,((e,t,s)=>{const n=he(),a=Ee();Se(Ie(O,t,he),s,((e,t,s)=>{we(e,t,s),k(s[l],(e=>we(n,t,e)),(()=>ke(a,t)))})),we(B,t,[n,a])}),((e,t)=>{we(O,t),we(B,t)})),Lt=e=>Se($,e,((e,t,s)=>{we($,t,s),k(s[l],(e=>we(q,t,e)),(()=>ke(G,t)))}),((e,t)=>{we($,t),we(q,t),ue(G,t)})),wt=e=>ae(e)?ds():os(e),It=e=>Se(X,e,((e,t,s)=>St(t,s)),((e,t)=>mt(t))),St=(e,t)=>Se(Ie(X,e,(()=>(Mt(e,1),we(K,e,Fe()),we(U,e,he()),he()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>xt(e,t,s))),Rt=(e,t,s,n,a)=>Se(Ie(t,s,(()=>(Dt(e,s,1),he()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>Et(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{re(s,n)||Jt(e,t,n,1);const o=fe(s,n);a!==o&&(At(e,t,n,o,a),we(s,n,a))},Tt=(e,t,s,n,a)=>k(fe(t,s),(t=>vt(e,s,t,n,a)),(()=>Rt(e,t,s,ht({[n]:a},e,s)))),pt=e=>ae(e)?gs():rs(e),Ct=e=>Se(Y,e,((e,t,s)=>yt(t,s)),((e,t)=>kt(t))),yt=(e,t)=>{re(Y,e)||Ft(e,1);const s=fe(Y,e);t!==s&&(Qt(e,s,t),we(Y,e,t))},bt=(e,t)=>{const[s]=fe(K,e),n=s(t);return re(fe(X,e),n)?bt(e,t):n},Vt=e=>fe(X,e)??St(e,{}),mt=e=>St(e,{}),xt=(e,t,s)=>{const[,n]=fe(K,e);n(s),Rt(e,t,s,{},!0)},Et=(e,t,s,n,a,o)=>{const r=fe(fe(B,e)?.[0],a);if(!E(r)&&!o)return vt(e,s,n,a,r);const l=t=>{At(e,s,t,fe(n,t)),Jt(e,s,t,-1),we(n,t)};E(r)?l(a):Le(n,l),le(n)&&(Dt(e,s,-1),le(we(t,s))&&(Mt(e,-1),we(X,e),we(K,e),we(U,e)))},kt=e=>{const t=fe(q,e);if(!E(t))return yt(e,t);Qt(e,fe(Y,e)),Ft(e,-1),we(Y,e)},Mt=(e,t)=>et(c,e,t),Dt=(e,t,s)=>et(Ie(b,e,he),t,s)&&we(S,e,Ie(S,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=fe(U,e),o=fe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&et(Ie(u,e,he),s,n),we(a,s,o!=-n?o+n:null),et(Ie(Ie(V,e,he),t,he),s,n)},At=(e,t,s,n,a)=>Ie(Ie(Ie(m,e,he),t,he),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>et(x,e,t),Qt=(e,t,s)=>Ie(J,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(H(Ie(Ie(Ie(F,e,he),t,he),s,(()=>[])),n),a),Nt=(e,t,s)=>(H(Ie(z,e,(()=>[])),t),s),Ot=(e,t,s)=>k(fe(fe(fe(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(ts(e,t,s))])),Pt=e=>k(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(as(e))])),jt=e=>le(F)||le(Pe[e])?0:de(e?ye(F):F,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>nt(Pe[e],[s,n,a],t))))))),Wt=e=>le(z)||le(je[e])?0:de(e?pe(z):z,((t,s)=>nt(je[e],[s],t))),Bt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(ze[e])&&le(be[e])&&le(Me[e])&&le(De[e])&&t&&le(ee[e]),n=le(Oe[e])&&le(Ae[e])&&le(ie[e])&&le(Z[e]);if(!s||!n){const a=e?[pe(c),Ce(u),pe(S),Ce(b),ye(V),ye(m)]:[c,u,S,b,V,m];if(!s){Bt(ee[e],a[0]),de(a[1],((t,s)=>Bt(be[e],t,[s]))),de(a[2],((t,s)=>{0!=t&&nt(Me[e],[s],Yt(s))}));const s=Ee();de(a[3],((n,a)=>{Bt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),ke(s,a))})),t||de(a[5],((t,n)=>{if(!re(s,n)){const s=Ee();de(t,(e=>de(e,(([t,n],a)=>n!==t?ke(s,a):ue(e,a))))),de(s,(t=>nt(Je[e],[n,t])))}})),de(a[4],((t,s)=>de(t,((t,n)=>Bt(ze[e],t,[s,n])))))}if(!n){let t;de(a[5],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&(nt(Oe[e],[n,o,i],l,s,Ot),t=a=r=1)})),r&&nt(Ae[e],[n,o],Ot)})),a&&nt(ie[e],[n],Ot)})),t&&nt(Z[e],void 0,Ot)}}},qt=e=>{const t=le(Be[e]),s=le($e[e])&&le(We[e]);if(!t||!s){const n=e?[pe(x),pe(J)]:[x,J];if(t||Bt(Be[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Pt),t=1)})),t&&nt(We[e],void 0,Pt)}}},Gt=(e,...t)=>(ws((()=>e(...W(t,y)))),Rs),Ht=()=>[Re(m,((e,t)=>-1===fe(c,t)?null:Re(e,((e,s)=>-1===fe(fe(b,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Xe(t)))),ae)),ae),Re(J,(([,e])=>e??null),((e,t)=>Xe(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(m,Ue,Xe),invalidCells:Te(F),changedValues:Re(J,Ue,Xe),invalidValues:Re(z),changedTableIds:Re(c),changedRowIds:ve(b),changedCellIds:Te(V),changedValueIds:Re(x)}),Ut=()=>Te(X),Xt=()=>ge(X),Yt=e=>oe(fe(X,y(e))),Zt=e=>ge(fe(X,y(e))),_t=(e,t,s,n=0,a)=>{return W(A(P((o=fe(X,y(e)),r=(e,s)=>[E(t)?s:fe(e,y(t)),s],W([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,E(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>ge(fe(fe(X,y(e)),y(t))),ts=(e,t,s)=>fe(fe(fe(X,y(e)),y(t)),y(s)),ss=()=>Re(Y),ns=()=>ge(Y),as=e=>fe(Y,y(e)),os=e=>Gt((()=>(e=>_e(e,lt,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),ls=e=>{try{wt(Ze(e))}catch{}return Rs},is=t=>Gt((()=>{if((e=_e(t,(e=>_e(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>_e(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>re(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>k(fe(X,e),(s=>re(s,t)?xt(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=o){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=o&&o++,1==o&&nt(qe,void 0,Ht,Kt),Rs),Ss=e=>(o>0&&(o--,0==o&&(s=!le(m),n=!le(J),o=1,jt(1),s&&$t(1),Wt(1),n&&qt(1),e?.(Ht,Kt)&&(de(m,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(Rs,t,s,n,e))))))),de(J,(([e],t)=>xe(Rs,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),o=-1,jt(0),s&&$t(0),Wt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),o=0,s=n=!1,j([c,u,S,b,V,m,F,x,J,z],ce))),Rs),Rs={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(fe(X,y(e))),getTableCellIds:e=>ge(fe(U,y(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(fe(fe(X,y(e)),y(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>re(X,y(e)),hasTableCell:(e,t)=>re(fe(U,y(e)),y(t)),hasRow:(e,t)=>re(fe(X,y(e)),y(t)),hasCell:(e,t,s)=>re(fe(fe(X,y(e)),y(t)),y(s)),hasValues:()=>!le(Y),hasValue:e=>re(Y,y(e)),getTablesJson:()=>Ye(X),getValuesJson:()=>Ye(Y),getJson:()=>Ye([X,Y]),getTablesSchemaJson:()=>Ye(O),getValuesSchemaJson:()=>Ye($),getSchemaJson:()=>Ye([O,$]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(ae(e)?ds:os)(e),(ae(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?Rt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return it(e,n,t)&&(e=y(e),Rt(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ne(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>k(ct(e,t,s,D(n)?n(ts(e,t,s)):n),(n=>Tt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ne(e,((e,t)=>yt(t,e))):0)),setValue:(e,t)=>Gt((e=>k(ut(e,D(t)?t(as(e)):t),(t=>yt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ne(e[0],((e,t)=>E(e)?us(t):ne(e,((e,s)=>E(e)?hs(t,s):ne(e,((e,n)=>me(Rs,t,s,n,e))))))),ne(e[1],((e,t)=>xe(Rs,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{pt(Ze(e))}catch{}return Rs},setJson:e=>Gt((()=>{try{const[t,s]=Ze(e);wt(t),pt(s)}catch{ls(e)}})),setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>k(fe(X,e),(a=>k(fe(a,t),(o=>re(o,s)?Et(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>re(Y,e)?kt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>de(X,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(fe(U,y(e)),t),forEachRow:(e,t)=>de(fe(X,y(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(fe(fe(X,y(e)),y(t)),s),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return st((()=>{const r=_t(e,t,s,n,a);N(r,l)||(l=r,o(Rs,e,t,s,n,a,l))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>st(e,qe),addWillFinishTransactionListener:e=>st(e,Ge[0]),addDidFinishTransactionListener:e=>st(e,Ge[1]),callListener:e=>(ot(e),Rs),delListener:e=>(at(e),Rs),getListenerStats:()=>({}),createStore:tt,addListener:st,callListeners:nt};return ne({[g]:[0,Z],[f]:[0,ee],[h]:[1,ie,[Xt]],[h+v]:[1,be,[Xt]],[w]:[1,Me,[Xt]],[I]:[1,De,[Xt]],[L]:[2,Ae,[Xt,Zt]],[v]:[2,ze,[Xt,Zt]],[R]:[3,Oe,[Xt,Zt,es],e=>He(ts(...e))],InvalidCell:[3,Pe],[p]:[0,We],[C]:[0,Be],[T]:[1,$e,[ns],e=>He(as(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],a)=>{Rs[d+a+i]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?A(a,0,e):void 0,s,n)})),_(Rs)};exports.createCheckpoints=ze,exports.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let l,i,c,d=0,u=0;Ie(Be,r,(()=>0)),Ie($e,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),l=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(k(l,e.delListener),g),schedule:async(...e)=>(H(fe($e,r),...e),await(async()=>{if(!fe(Be,r)){for(we(Be,r,1);!E(i=U(fe($e,r)));)try{await i()}catch(e){o?.(e)}we(Be,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(g)},exports.createIndexes=Oe,exports.createMetrics=We,exports.createQueries=qe,exports.createRelationships=Ge,exports.createStore=tt,exports.defaultSorter=Ne;
|
package/lib/cjs/tinybase.cjs.gz
CHANGED
|
Binary file
|
package/lib/cjs-es6/queries.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t=e(""),n=e(!0),r=e(0),l=e(e),o="Listener",s="Result",a="Ids",i="Table",d="Row",u=d+"Count",c=d+a,v="Sorted"+d+a,f="Cell",h=f+a,w=(e,t)=>e.every(t),g=(e,t)=>e.forEach(t),y=e=>R(e,((e,t)=>e+t),0),L=e=>e.length,p=e=>0==L(e),R=(e,t,n)=>e.reduce(t,n),b=(e,...t)=>e.push(...t),T=Math.max,m=Math.min,C=isFinite,O=e=>null==e,S=(e,t,n)=>O(e)?null==n?void 0:n():t(e),I=t=>e(t)==l,Q=e=>Array.isArray(e),j=()=>{},x=Object,E=x.freeze,M=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},D=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},k=e=>O(e)||0==M(e),z=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},A=e=>e.clear(),F=(e,t)=>null==e?void 0:e.forEach(t),P=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),q=(e,t)=>null==e?void 0:e.get(t),B=(e,t)=>F(e,((e,n)=>t(n,e))),G=(e,t,n)=>O(n)?(P(e,t),e):null==e?void 0:e.set(t,n),H=(e,t,n)=>(D(e,t)||G(e,t,n()),q(e,t)),J=(e,t,n,r,l=0)=>S((n?H:q)(e,t[l],l>L(t)-2?n:W),(o=>{if(l>L(t)-2)return(null==r?void 0:r(o))&&G(e,t[l]),o;const s=J(o,t,n,r,l+1);return k(o)&&G(e,t[l]),s})),K=e=>new Set(Q(e)||O(e)?e:[e]),N=(e,t)=>null==e?void 0:e.add(t),U=W([["avg",[(e,t)=>y(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,r)=>e+(t-n)/r]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["sum",[e=>y(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]);var V=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;const Z=(l=>{const a=new WeakMap;return l=>(a.has(l)||a.set(l,(l=>{const a=l.createStore,y=a(),R=a(),T=W(),{addListener:m,callListeners:Z,delListener:$}=R,[_,ee,te,ne,re,,,le,,oe,se,ae,ie,de]=((e,t,n,r,l)=>{const o=e.hasRow,s=W(),a=W(),i=W(),d=W(),u=W(),c=W(),v=(t,n,...r)=>{const l=H(c,t,K);return g(r,(t=>N(l,t)&&n&&e.callListener(t))),r},f=(t,...n)=>S(q(c,t),(r=>{g(p(n)?z(r):n,(t=>{e.delListener(t),P(r,t)})),k(r)&&G(c,t)})),h=(e,t)=>{G(s,e,t),D(a,e)||(G(a,e,!0),G(d,e,W()),G(u,e,W()),l(i))},y=e=>{G(s,e),G(a,e),G(d,e),G(u,e),f(e),l(i)};return[()=>e,()=>{return[...null!=(t=null==(e=s)?void 0:e.keys())?t:[]];var e,t},e=>B(a,e),e=>D(a,e),e=>q(s,e),e=>q(a,e),(e,t)=>G(a,e,t),h,(t,r,l,s,a)=>{h(t,r);const i=W(),c=W(),y=q(d,t),p=q(u,t),R=t=>{const l=n=>e.getCell(r,t,n),d=q(y,t),u=o(r,t)?n(s(l,t)):void 0;var v,f;if(d===u||Q(d)&&Q(u)&&(f=u,L(v=d)===L(f)&&w(v,((e,t)=>f[t]===e)))||G(i,t,[d,u]),!O(a)){const e=q(p,t),n=o(r,t)?a(l,t):void 0;e!=n&&G(c,t,n)}},b=e=>{l((()=>{F(i,(([,e],t)=>G(y,t,e))),F(c,((e,t)=>G(p,t,e)))}),i,c,y,p,e),A(i),A(c)};B(y,R),e.hasTable(r)&&g(e.getRowIds(r),(e=>{D(y,e)||R(e)})),b(!0),f(t),v(t,0,e.addRowListener(r,null,((e,t,n)=>R(n))),e.addTableListener(r,(()=>b())))},y,e=>r(e,i),()=>B(c,y),v,f]})(l,0,j,m,Z),ue=(e,t,...n)=>g(n,(n=>N(H(H(T,t,W),e,K),n))),ce=e=>{S(q(T,e),(e=>{B(e,((e,t)=>F(t,(t=>e.delListener(t))))),A(e)})),g([R,y],(t=>t.delTable(e)))},ve=(e,t,n)=>ue(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),fe={setQueryDefinition:(o,s,a)=>{le(o,s),ce(o);const i=[],d=[[null,[s,null,null,[],W()]]],u=[],c=[],v=[];a({select:(e,t)=>{const n=I(e)?[L(i)+"",e]:[O(t)?e:t,n=>n(e,t)];return b(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const r=O(n)||I(t)?null:t,l=O(r)?t:n,o=[e,[e,r,I(l)?l:e=>e(l),[],W()]];return b(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>b(u,I(e)?e:O(n)?n=>n(e)===t:r=>r(e,t)===n),group:(e,t,n,r,l)=>{var o;const s=[e,[e,I(t)?[t,n,r,l]:null!=(o=q(U,t))?o:[(e,t)=>t]]];return b(c,s),{as:e=>s[0]=e}},having:(e,t)=>b(v,I(e)?e:n=>n(e)===t)});const f=W(i);if(k(f))return fe;const h=W(d);B(h,((e,[,t])=>S(q(h,t),(({3:t})=>O(e)?0:b(t,e)))));const T=W(c);let m=y;if(k(T)&&p(v))m=R;else{ve(o,m,R);const l=W();B(T,((e,[t,n])=>N(H(l,t,K),[e,n])));const s=K();B(f,(e=>D(l,e)?0:N(s,e)));const a=W(),i=(s,a,i,d)=>S(s,(([u,c,f,h])=>{B(a,((o,[s])=>{const a=H(u,o,W),c=q(a,i),v=d?void 0:s;if(c!==v){const s=K([[c,v]]),d=M(a);G(a,i,v),F(q(l,o),(([l,o])=>{const i=((e,t,n,r,l,o=!1)=>{if(k(n))return;const[s,a,i,d]=l;return o||(o=O(e)),F(r,(([n,r])=>{o||(e=O(n)?null==a?void 0:a(e,r,t++):O(r)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,r,n,t),o||(o=O(e)))})),o?s(z(n),M(n)):e})(h[l],d,a,s,o);h[l]=O((l=>{const o=e(l);return(e=>e==t||e==n)(o)||o==r&&C(l)?o:void 0})(i))?null:i}))}})),k(c)||!w(v,(e=>e((e=>h[e]))))?R.delRow(o,f):O(f)?s[2]=R.addRow(o,h):R.setRow(o,f,h)}));ue(m,o,m.addRowListener(o,null,((e,t,n,r)=>{const d=[],u=[],c=W(),v=m.hasRow(o,n);let f=!v;F(s,(e=>{const[t,l,s]=r(o,n,e);b(d,l),b(u,s),f||(f=t)})),B(l,(e=>{const[t,,l]=r(o,n,e);(f||t)&&G(c,e,[l])})),f&&i(J(a,d,void 0,(([,e])=>(P(e,n),k(e)))),c,n,1),v&&i(J(a,u,(()=>{const e={};return F(s,(t=>e[t]=m.getCell(o,n,t))),[W(),K(),void 0,e]}),(([,e])=>{N(e,n)})),c,n)})))}ve(o,l,m);const Q=(e,t,n,r)=>{const a=e=>l.getCell(t,n,e);g(r,(t=>{var n;const[r,,s,i,d]=q(h,t),u=null==s?void 0:s(a,e),[c,v]=null!=(n=q(d,e))?n:[];u!=c&&(O(v)||de(o,v),G(d,e,O(u)?null:[u,...ie(o,1,l.addRowListener(r,u,(()=>Q(e,r,u,i))))]))})),(e=>{const t=(t,n)=>{var r,o,a;return l.getCell(...O(n)?[s,e,t]:t===s?[s,e,n]:[null==(r=q(h,t))?void 0:r[0],null==(a=q(null==(o=q(h,t))?void 0:o[4],e))?void 0:a[0],n])};m.transaction((()=>w(u,(e=>e(t)))?B(f,((n,r)=>((e,t,n,r,l)=>O(l)?e.delCell(t,n,r,!0):e.setCell(t,n,r,l))(m,o,e,n,r(t,e)))):m.delRow(o,e)))})(e)},{3:j}=q(h,null);return m.transaction((()=>ie(o,1,l.addRowListener(s,null,((e,t,n)=>{l.hasRow(s,n)?Q(n,s,n,j):(m.delRow(o,n),F(h,(({4:e})=>S(q(e,n),(([,t])=>{de(o,t),G(e,n)})))))}))))),fe},delQueryDefinition:e=>(ce(e),oe(e),fe),getStore:_,getQueryIds:ee,forEachQuery:te,hasQuery:ne,getTableId:re,addQueryIdsListener:e=>se((()=>e(fe))),delListener:e=>($(e),fe),destroy:ae,getListenerStats:()=>((e,t)=>{var n={};for(var r in e)X.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&V)for(var r of V(e))t.indexOf(r)<0&&Y.call(e,r)&&(n[r]=e[r]);return n})(R.getListenerStats(),["tables","tableIds","transaction"])};var he,we;return he={[i]:[1,1],[i+h]:[0,1],[u]:[0,1],[c]:[0,1],[v]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},we=([e,t],n)=>{g(e?["get","has","forEach"]:["get"],(e=>fe[e+s+n]=(...t)=>R[e+n](...t))),fe["add"+s+n+o]=(...e)=>{return R["add"+n+o](...(r=e,0,l=t,r.slice(0,l)),((n,...r)=>e[t](fe,...r)));var r,l}},((e,t)=>{e.map(t)})(x.entries(he),(([e,t])=>we(t,e))),E(fe)})(l)),a.get(l))})();exports.createQueries=Z;
|
|
1
|
+
"use strict";const e=e=>typeof e,t=e(""),n=e(!0),r=e(0),l=e(e),o="Listener",s="Result",a="Ids",i="Table",d="Row",u=d+"Count",c=d+a,v="Sorted"+d+a,f="Cell",h=f+a,w=(e,t)=>e.every(t),g=(e,t)=>e.forEach(t),y=e=>R(e,((e,t)=>e+t),0),L=e=>e.length,p=e=>0==L(e),R=(e,t,n)=>e.reduce(t,n),b=(e,...t)=>e.push(...t),T=Math.max,m=Math.min,C=isFinite,O=e=>null==e,S=(e,t,n)=>O(e)?null==n?void 0:n():t(e),I=t=>e(t)==l,Q=e=>Array.isArray(e),j=()=>{},x=Object,E=x.freeze,M=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},D=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},k=e=>O(e)||0==M(e),z=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},A=e=>e.clear(),F=(e,t)=>null==e?void 0:e.forEach(t),P=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),q=(e,t)=>null==e?void 0:e.get(t),B=(e,t)=>F(e,((e,n)=>t(n,e))),G=(e,t,n)=>O(n)?(P(e,t),e):null==e?void 0:e.set(t,n),H=(e,t,n)=>(D(e,t)||G(e,t,n()),q(e,t)),J=(e,t,n,r,l=0)=>S((n?H:q)(e,t[l],l>L(t)-2?n:W),(o=>{if(l>L(t)-2)return(null==r?void 0:r(o))&&G(e,t[l]),o;const s=J(o,t,n,r,l+1);return k(o)&&G(e,t[l]),s})),K=e=>new Set(Q(e)||O(e)?e:[e]),N=(e,t)=>null==e?void 0:e.add(t),U=W([["avg",[(e,t)=>y(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,r)=>e+(t-n)/r]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["sum",[e=>y(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]);var V=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;const Z=(l=>{const a=new WeakMap;return l=>(a.has(l)||a.set(l,(l=>{const a=l.createStore,y=a(),R=a(),T=W(),{addListener:m,callListeners:Z,delListener:$}=R,[_,ee,te,ne,re,,,le,,oe,se,ae,ie,de]=((e,t,n,r,l)=>{const o=e.hasRow,s=W(),a=W(),i=W(),d=W(),u=W(),c=W(),v=(t,n,...r)=>{const l=H(c,t,K);return g(r,(t=>N(l,t)&&n&&e.callListener(t))),r},f=(t,...n)=>S(q(c,t),(r=>{g(p(n)?z(r):n,(t=>{e.delListener(t),P(r,t)})),k(r)&&G(c,t)})),h=(e,t)=>{G(s,e,t),D(a,e)||(G(a,e,!0),G(d,e,W()),G(u,e,W()),l(i))},y=e=>{G(s,e),G(a,e),G(d,e),G(u,e),f(e),l(i)};return[()=>e,()=>{return[...null!=(t=null==(e=s)?void 0:e.keys())?t:[]];var e,t},e=>B(a,e),e=>D(a,e),e=>q(s,e),e=>q(a,e),(e,t)=>G(a,e,t),h,(t,r,l,s,a)=>{h(t,r);const i=W(),c=W(),y=q(d,t),p=q(u,t),R=t=>{const l=n=>e.getCell(r,t,n),d=q(y,t),u=o(r,t)?n(s(l,t)):void 0;var v,f;if(d===u||Q(d)&&Q(u)&&(f=u,L(v=d)===L(f)&&w(v,((e,t)=>f[t]===e)))||G(i,t,[d,u]),!O(a)){const e=q(p,t),n=o(r,t)?a(l,t):void 0;e!=n&&G(c,t,n)}},b=e=>{l((()=>{F(i,(([,e],t)=>G(y,t,e))),F(c,((e,t)=>G(p,t,e)))}),i,c,y,p,e),A(i),A(c)};B(y,R),e.hasTable(r)&&g(e.getRowIds(r),(e=>{D(y,e)||R(e)})),b(!0),f(t),v(t,0,e.addRowListener(r,null,((e,t,n)=>R(n))),e.addTableListener(r,(()=>b())))},y,e=>r(e,i),()=>B(c,y),v,f]})(l,0,j,m,Z),ue=(e,t,...n)=>g(n,(n=>N(H(H(T,t,W),e,K),n))),ce=e=>{S(q(T,e),(e=>{B(e,((e,t)=>F(t,(t=>e.delListener(t))))),A(e)})),g([R,y],(t=>t.delTable(e)))},ve=(e,t,n)=>ue(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),fe={setQueryDefinition:(o,s,a)=>{le(o,s),ce(o);const i=[],d=[[null,[s,null,null,[],W()]]],u=[],c=[],v=[];a({select:(e,t)=>{const n=I(e)?[L(i)+"",e]:[O(t)?e:t,n=>n(e,t)];return b(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const r=O(n)||I(t)?null:t,l=O(r)?t:n,o=[e,[e,r,I(l)?l:e=>e(l),[],W()]];return b(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>b(u,I(e)?e:O(n)?n=>n(e)===t:r=>r(e,t)===n),group:(e,t,n,r,l)=>{var o;const s=[e,[e,I(t)?[t,n,r,l]:null!=(o=q(U,t))?o:[(e,t)=>t]]];return b(c,s),{as:e=>s[0]=e}},having:(e,t)=>b(v,I(e)?e:n=>n(e)===t)});const f=W(i);if(k(f))return fe;const h=W(d);B(h,((e,[,t])=>S(q(h,t),(({3:t})=>O(e)?0:b(t,e)))));const T=W(c);let m=y;if(k(T)&&p(v))m=R;else{ve(o,m,R);const l=W();B(T,((e,[t,n])=>N(H(l,t,K),[e,n])));const s=K();B(f,(e=>D(l,e)?0:N(s,e)));const a=W(),i=(s,a,i,d)=>S(s,(([u,c,f,h])=>{B(a,((o,[s])=>{const a=H(u,o,W),c=q(a,i),v=d?void 0:s;if(c!==v){const s=K([[c,v]]),d=M(a);G(a,i,v),F(q(l,o),(([l,o])=>{const i=((e,t,n,r,l,o=!1)=>{if(k(n))return;const[s,a,i,d]=l;return o||(o=O(e)),F(r,(([n,r])=>{o||(e=O(n)?null==a?void 0:a(e,r,t++):O(r)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,r,n,t),o||(o=O(e)))})),o?s(z(n),M(n)):e})(h[l],d,a,s,o);h[l]=O((l=>{const o=e(l);return(e=>e==t||e==n)(o)||o==r&&C(l)?o:void 0})(i))?null:i}))}})),k(c)||!w(v,(e=>e((e=>h[e]))))?R.delRow(o,f):O(f)?s[2]=R.addRow(o,h):R.setRow(o,f,h)}));ue(m,o,m.addRowListener(o,null,((e,t,n,r)=>{const d=[],u=[],c=W(),v=m.hasRow(o,n);let f=!v;F(s,(e=>{const[t,l,s]=r(o,n,e);b(d,l),b(u,s),f||(f=t)})),B(l,(e=>{const[t,,l]=r(o,n,e);(f||t)&&G(c,e,[l])})),f&&i(J(a,d,void 0,(([,e])=>(P(e,n),k(e)))),c,n,1),v&&i(J(a,u,(()=>{const e={};return F(s,(t=>e[t]=m.getCell(o,n,t))),[W(),K(),void 0,e]}),(([,e])=>{N(e,n)})),c,n)})))}ve(o,l,m);const Q=(e,t,n,r)=>{const a=e=>l.getCell(t,n,e);g(r,(t=>{var n;const[r,,s,i,d]=q(h,t),u=null==s?void 0:s(a,e),[c,v]=null!=(n=q(d,e))?n:[];u!=c&&(O(v)||de(o,v),G(d,e,O(u)?null:[u,...ie(o,1,l.addRowListener(r,u,(()=>Q(e,r,u,i))))]))})),(e=>{const t=(t,n)=>{var r,o,a;return l.getCell(...O(n)?[s,e,t]:t===s?[s,e,n]:[null==(r=q(h,t))?void 0:r[0],null==(a=q(null==(o=q(h,t))?void 0:o[4],e))?void 0:a[0],n])};m.transaction((()=>w(u,(e=>e(t)))?B(f,((n,r)=>((e,t,n,r,l)=>O(l)?e.delCell(t,n,r,!0):e.setCell(t,n,r,l))(m,o,e,n,r(t,e)))):m.delRow(o,e)))})(e)},{3:j}=q(h,null);return m.transaction((()=>ie(o,1,l.addRowListener(s,null,((e,t,n)=>{l.hasRow(s,n)?Q(n,s,n,j):(m.delRow(o,n),F(h,(({4:e})=>S(q(e,n),(([,t])=>{de(o,t),G(e,n)})))))}))))),fe},delQueryDefinition:e=>(ce(e),oe(e),fe),getStore:_,getQueryIds:ee,forEachQuery:te,hasQuery:ne,getTableId:re,addQueryIdsListener:e=>se((()=>e(fe))),delListener:e=>($(e),fe),destroy:ae,getListenerStats:()=>((e,t)=>{var n={};for(var r in e)X.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&V)for(var r of V(e))t.indexOf(r)<0&&Y.call(e,r)&&(n[r]=e[r]);return n})(R.getListenerStats(),["tables","tableIds","transaction"])};var he,we;return he={[i]:[1,1],[i+h]:[0,1],[u]:[0,1],[c]:[0,1],[v]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},we=([e,t],n)=>{g(e?["get","has","forEach"]:["get"],(e=>fe[e+s+n]=(...t)=>R[e+n](...t))),fe["add"+s+n+o]=(...e)=>{return R["add"+n+o](...(r=e,0,l=t,r.slice(0,l)),((n,...r)=>e[t](fe,...r)),!0);var r,l}},((e,t)=>{e.map(t)})(x.entries(he),(([e,t])=>we(t,e))),E(fe)})(l)),a.get(l))})();exports.createQueries=Z;
|
|
Binary file
|
package/lib/cjs-es6/tinybase.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Ids",v="Table",h=v+"s",f=v+c,g="Row",L=g+"Count",p=g+c,y="Sorted"+g+c,I="Cell",S=I+c,R="Value",w=R+"s",T=R+c,C=e=>t+e,b=Math.max,m=Math.min,V=isFinite,x=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,n)=>E(e)?null==n?void 0:n():t(e),M=e=>e==n||e==l,D=t=>e(t)==o,J=e=>Array.isArray(e),A=(e,t,n)=>e.slice(t,n),O=()=>{},F=(e,t)=>e.includes(t),P=(e,t)=>e.every(t),Q=(e,t)=>$(e)===$(t)&&P(e,((e,n)=>t[n]===e)),j=(e,t)=>P(e,((n,l)=>0==l||t(e[l-1],n)<=0)),z=(e,t)=>e.sort(t),N=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),B=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,n)=>e.reduce(t,n),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>x(e,X)&&e.constructor==X,te=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),le=(e,t)=>W(X.entries(e),(([e,n])=>t(n,e))),se=e=>ee(e)&&0==(e=>$(Y(e)))(e),oe=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},re=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ie=e=>E(e)||0==oe(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},de=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ce=(e,t)=>null==e?void 0:e.delete(t),ve=e=>new Map(e),he=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},fe=(e,t)=>null==e?void 0:e.get(t),ge=(e,t)=>ue(e,((e,n)=>t(n,e))),Le=(e,t,n)=>E(n)?(ce(e,t),e):null==e?void 0:e.set(t,n),pe=(e,t,n)=>(re(e,t)||Le(e,t,n()),fe(e,t)),ye=(e,t,n,l=Le)=>(le(t,((t,l)=>n(e,l,t))),ge(e,(n=>te(t,n)?0:l(e,n))),e),Ie=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Se=(e,t,n)=>Ie(e,(e=>Ie(e,t,n)),se),Re=(e,t,n)=>Ie(e,(e=>Se(e,t,n)),se),we=(e,t)=>{const n=ve();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Te=e=>we(e,we),Ce=e=>we(e,Te),be=(e,t,n,l,s=0)=>k((n?pe:fe)(e,t[s],s>$(t)-2?n:ve),(o=>{if(s>$(t)-2)return(null==l?void 0:l(o))&&Le(e,t[s]),o;const r=be(o,t,n,l,s+1);return ie(o)&&Le(e,t[s]),r})),me=t=>{const n=e(t);return M(n)||n==s&&V(t)?n:void 0},Ve=(e,t,n,l,s)=>E(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>E(n)?e.delValue(t):e.setValue(t,n),Ee=e=>new Set(J(e)||E(e)?e:[e]),ke=(e,t)=>null==e?void 0:e.add(t),Me=(e,t,n,l,s)=>{const o=e.hasRow,r=ve(),i=ve(),a=ve(),d=ve(),u=ve(),c=ve(),v=(t,n,...l)=>{const s=pe(c,t,Ee);return N(l,(t=>ke(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>k(fe(c,t),(l=>{N(q(n)?ae(l):n,(t=>{e.delListener(t),ce(l,t)})),ie(l)&&Le(c,t)})),f=(e,n)=>{Le(r,e,n),re(i,e)||(Le(i,e,t()),Le(d,e,ve()),Le(u,e,ve()),s(a))},g=e=>{Le(r,e),Le(i,e),Le(d,e),Le(u,e),h(e),s(a)};return[()=>e,()=>he(r),e=>ge(i,e),e=>re(i,e),e=>fe(r,e),e=>fe(i,e),(e,t)=>Le(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=ve(),c=ve(),g=fe(d,t),L=fe(u,t),p=t=>{const s=n=>e.getCell(l,t,n),d=fe(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||J(d)&&J(u)&&Q(d,u)||Le(a,t,[d,u]),!E(i)){const e=fe(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&Le(c,t,n)}},y=e=>{s((()=>{ue(a,(([,e],t)=>Le(g,t,e))),ue(c,((e,t)=>Le(L,t,e)))}),a,c,g,L,e),de(a),de(c)};ge(g,p),e.hasTable(l)&&N(e.getRowIds(l),(e=>{re(g,e)||p(e)})),y(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>p(n))),e.addTableListener(l,(()=>y())))},g,e=>l(e,a),()=>ge(c,g),v,h]},De=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Je=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Oe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?U(e):null)?s:t+n++},t=>{Ae.test(t)&&$(e)<1e3&&H(e,t)}]},Fe=e=>{let n;const[l,s]=Oe(),o=ve();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return Le(o,u,[s,r,i,a,d]),ke(be(r,null!=i?i:[t],Ee),u),u},(e,l,...s)=>N(((e,n=[t])=>{const l=[],s=(e,t)=>t==$(n)?H(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):N([n[t],null],(n=>s(fe(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>fe(o,e)[0](n,...null!=l?l:[],...s))))),e=>k(fe(o,e),(([,n,l])=>(be(n,null!=l?l:[t],void 0,(t=>(ce(t,e),ie(t)?1:0))),Le(o,e),s(e),l))),e=>k(fe(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=$(r);d==$(t)?e(n,...r,...s(r)):E(t[d])?N(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Pe=Je((e=>{let n,l,s,o=100,r=ve(),i=ve(),a=1;const d=ve(),u=ve(),[c,v,h]=Fe((()=>O)),f=ve(),g=ve(),L=[],p=[],y=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=fe(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ve(e,l,s,o,n[t]))))))),ue(s,((n,l)=>xe(e,l,n[t])))})),a=1},I=e=>{Le(f,e),Le(g,e),v(u,[e])},S=(e,t)=>N(((e,t)=>e.splice(0,t))(e,null!=t?t:$(e)),I),R=()=>S(L,$(L)-o),w=()=>k(n,(()=>{H(L,n),R(),S(p),n=void 0,s=1})),T=()=>{n=K(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){w();const e=pe(r,t,ve),i=pe(e,n,ve),a=pe(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ie(Le(i,l))&&ie(Le(e,n))&&ie(Le(r,t))&&T(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){w();const e=pe(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ie(Le(i,t))&&T(),M()}})),m=(e="")=>(E(n)&&(n=t+l++,Le(f,n,[r,i]),J(n,e),r=ve(),i=ve(),s=1),n),V=()=>{q(L)||(((e,...t)=>{e.unshift(...t)})(p,m()),y(0,n),n=K(L),s=1)},x=()=>{q(p)||(H(L,n),n=U(p),y(1,n),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(A(e)&&fe(g,e)!==t&&(Le(g,e,t),v(u,[e])),O),A=e=>re(f,e),O={setSize:e=>(o=e,R(),O),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...p]],forEachCheckpoint:e=>ge(g,e),hasCheckpoint:A,getCheckpoint:e=>fe(g,e),goBackward:()=>(V(),M(),O),goForward:()=>(x(),M(),O),goTo:e=>{const t=F(L,e)?V:F(p,e)?x:null;for(;!E(t)&&e!=n;)t();return M(),O},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),O),clear:()=>(S(L),S(p),E(n)||I(n),n=void 0,l=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(O.clear())})),Qe=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,je=Je((e=>{const n=ve(),l=ve(),[s,o,r]=Fe((()=>I)),[i,a,d,u,c,v,h,,f,g,L,p]=Me(e,ve,(e=>E(e)?t:J(e)?W(e,C):C(e)),s,o),y=(t,n,l)=>{const s=c(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},I={setIndexDefinition:(e,t,s,r,i,a=Qe)=>{const d=E(i)?void 0:([e],[t])=>i(e,t);return f(e,t,((t,s,i,u,c,f)=>{let g=0;const L=Ee(),p=Ee(),y=v(e);if(ue(s,(([e,t],n)=>{const l=Ee(e),s=Ee(t);ue(l,(e=>ce(s,e)?ce(l,e):0)),ue(l,(e=>{ke(L,e),k(fe(y,e),(t=>{ce(t,n),ie(t)&&(Le(y,e),g=1)}))})),ue(s,(e=>{ke(L,e),re(y,e)||(Le(y,e,Ee()),g=1),ke(fe(y,e),n),E(r)||ke(p,e)}))})),t(),ie(c)||(f?ge(y,(e=>ke(p,e))):ge(i,(e=>k(fe(u,e),(e=>ke(p,e))))),ue(p,(e=>{const t=(t,n)=>a(fe(c,t),fe(c,n),e),n=[...fe(y,e)];j(n,t)||(Le(y,e,Ee(z(n,t))),ke(L,e))}))),(g||f)&&!E(d)){const t=[...y];j(t,d)||(h(e,ve(z(t,d))),g=1)}g&&o(n,[e]),ue(L,(t=>o(l,[e,t])))}),De(s),k(r,De)),I},delIndexDefinition:e=>(g(e),I),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>re(v(e),t),getTableId:c,getSliceIds:e=>he(v(e)),getSliceRowIds:(e,t)=>ae(fe(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,t)=>s(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),I),destroy:p,getListenerStats:()=>({})};return _(I)})),ze=ve([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,s,o=!1)=>{if(ie(n))return;const[r,i,a,d]=s;return o||(o=E(e)),ue(l,(([n,l])=>{o||(e=E(n)?null==i?void 0:i(e,l,t++):E(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=E(e)))})),o?r(ae(n),oe(n)):e},We=Je((e=>{const n=ve(),[l,s,o]=Fe((()=>p)),[r,i,a,d,u,c,v,,h,f,g,L]=Me(e,O,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),l,s),p={setMetricDefinition:(e,t,l,o,r,i,a)=>{var d;const u=D(l)?[l,r,i,a]:null!=(d=fe(ze,l))?d:fe(ze,"sum");return h(e,t,((t,l,o,r,i,a)=>{const d=c(e),h=oe(r);a||(a=E(d)),t();let f=Ne(d,h,r,l,u,a);V(f)||(f=void 0),f!=d&&(v(e,f),s(n,[e],f,d))}),De(o,1)),p},delMetricDefinition:e=>(f(e),p),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(o(e),p),destroy:L,getListenerStats:()=>({})};return _(p)}));var Be=(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 $e=ve(),qe=ve();var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Je((e=>{const n=e.createStore,l=n(),s=n(),o=ve(),{addListener:r,callListeners:i,delListener:c}=s,[h,f,R,w,T,,,C,,b,m,V,x,M]=Me(e,(()=>!0),O,r,i),J=(e,t,...n)=>N(n,(n=>ke(pe(pe(o,t,ve),e,Ee),n))),F=e=>{k(fe(o,e),(e=>{ge(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),N([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>J(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),j={setQueryDefinition:(n,o,r)=>{C(n,o),F(n);const i=[],a=[[null,[o,null,null,[],ve()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=D(e)?[$(i)+t,e]:[E(n)?e:n,t=>t(e,n)];return H(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=E(n)||D(t)?null:t,s=E(l)?t:n,o=[e,[e,l,D(s)?s:e=>e(s),[],ve()]];return H(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>H(d,D(e)?e:E(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,D(t)?[t,n,l,s]:null!=(o=fe(ze,t))?o:[(e,t)=>t]]];return H(u,r),{as:e=>r[0]=e}},having:(e,t)=>H(c,D(e)?e:n=>n(e)===t)});const v=ve(i);if(ie(v))return j;const h=ve(a);ge(h,((e,[,t])=>k(fe(h,t),(({3:t})=>E(e)?0:H(t,e)))));const f=ve(u);let g=l;if(ie(f)&&q(c))g=s;else{Q(n,g,s);const e=ve();ge(f,((t,[n,l])=>ke(pe(e,n,Ee),[t,l])));const t=Ee();ge(v,(n=>re(e,n)?0:ke(t,n)));const l=ve(),o=(t,l,o,r)=>k(t,(([i,a,d,u])=>{ge(l,((t,[n])=>{const l=pe(i,t,ve),s=fe(l,o),a=r?void 0:n;if(s!==a){const n=Ee([[s,a]]),r=oe(l);Le(l,o,a),ue(fe(e,t),(([e,t])=>{const s=Ne(u[e],r,l,n,t);u[e]=E(me(s))?null:s}))}})),ie(a)||!P(c,(e=>e((e=>u[e]))))?s.delRow(n,d):E(d)?t[2]=s.addRow(n,u):s.setRow(n,d,u)}));J(g,n,g.addRowListener(n,null,((s,r,i,a)=>{const d=[],u=[],c=ve(),v=g.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);H(d,l),H(u,s),h||(h=t)})),ge(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&Le(c,e,[l])})),h&&o(be(l,d,void 0,(([,e])=>(ce(e,i),ie(e)))),c,i,1),v&&o(be(l,u,(()=>{const e={};return ue(t,(t=>e[t]=g.getCell(n,i,t))),[ve(),Ee(),void 0,e]}),(([,e])=>{ke(e,i)})),c,i)})))}Q(n,e,g);const L=(t,l,s,r)=>{const i=t=>e.getCell(l,s,t);N(r,(l=>{var s;const[o,,r,a,d]=fe(h,l),u=null==r?void 0:r(i,t),[c,v]=null!=(s=fe(d,t))?s:[];u!=c&&(E(v)||M(n,v),Le(d,t,E(u)?null:[u,...x(n,1,e.addRowListener(o,u,(()=>L(t,o,u,a))))]))})),(t=>{const l=(n,l)=>{var s,r,i;return e.getCell(...E(l)?[o,t,n]:n===o?[o,t,l]:[null==(s=fe(h,n))?void 0:s[0],null==(i=fe(null==(r=fe(h,n))?void 0:r[4],t))?void 0:i[0],l])};g.transaction((()=>P(d,(e=>e(l)))?ge(v,((e,s)=>Ve(g,n,t,e,s(l,t)))):g.delRow(n,t)))})(t)},{3:p}=fe(h,null);return g.transaction((()=>x(n,1,e.addRowListener(o,null,((t,l,s)=>{e.hasRow(o,s)?L(s,o,s,p):(g.delRow(n,s),ue(h,(({4:e})=>k(fe(e,s),(([,t])=>{M(n,t),Le(e,s)})))))}))))),j},delQueryDefinition:e=>(F(e),b(e),j),getStore:h,getQueryIds:f,forEachQuery:R,hasQuery:w,getTableId:T,addQueryIdsListener:e=>m((()=>e(j))),delListener:e=>(c(e),j),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return le({[v]:[1,1],[v+S]:[0,1],[L]:[0,1],[p]:[0,1],[y]:[0,5],[g]:[1,2],[S]:[0,2],[I]:[1,3]},(([e,t],n)=>{N(e?["get","has","forEach"]:["get"],(e=>j[e+d+n]=(...t)=>s[e+n](...t))),j[u+d+n+a]=(...e)=>s[u+n+a](...A(e,0,t),((n,...l)=>e[t](j,...l)))})),_(j)})),Xe=Je((e=>{const n=ve(),l=ve(),s=ve(),o=ve(),[r,i,a]=Fe((()=>w)),[d,u,c,v,h,f,,,g,L,p,y]=Me(e,(()=>[ve(),ve(),ve(),ve()]),(e=>E(e)?void 0:e+t),r,i),I=(e,t,n)=>k(f(e),(([l,,s])=>{if(!re(s,t)){const o=Ee();if(h(e)!=R(e))ke(o,t);else{let e=t;for(;!E(e)&&!re(o,e);)ke(o,e),e=fe(l,e)}if(n)return o;Le(s,t,o)}return fe(s,t)})),S=(e,t)=>k(f(e),(([,,e])=>Le(e,t))),R=e=>fe(n,e),w={setRelationshipDefinition:(e,t,r,a)=>(Le(n,e,r),g(e,t,((t,n)=>{const r=Ee(),a=Ee(),d=Ee(),[u,c]=f(e);ue(n,(([t,n],l)=>{E(t)||(ke(a,t),k(fe(c,t),(e=>{ce(e,l),ie(e)&&Le(c,t)}))),E(n)||(ke(a,n),re(c,n)||Le(c,n,Ee()),ke(fe(c,n),l)),ke(r,l),Le(u,l,n),ge(fe(o,e),(t=>{re(I(e,t),l)&&ke(d,t)}))})),t(),ue(r,(t=>i(l,[e,t]))),ue(a,(t=>i(s,[e,t]))),ue(d,(t=>{S(e,t),i(o,[e,t])}))}),De(a)),w),delRelationshipDefinition:e=>(Le(n,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:R,getRemoteRowId:(e,t)=>{var n;return fe(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ae(fe(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>E(f(e))?[t]:ae(I(e,t,!0)),addRelationshipIdsListener:p,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:y,getListenerStats:()=>({})};return _(w)})),Ye=e=>[e,e],Ze=()=>[ve(),ve()],_e=e=>[...e],et=([e,t])=>e===t,tt=e=>JSON.stringify(e,((e,t)=>x(t,Map)?X.fromEntries([...t]):t)),nt=JSON.parse,lt=(e,t,n)=>E(e)||!ee(e)||se(e)||Z(e)?(null==n||n(),!1):(le(e,((n,l)=>{t(n,l)||ne(e,l)})),!se(e)),st=(e,t,n)=>Le(e,t,fe(e,t)==-n?void 0:n),ot=()=>{let e,t,n=!1,l=!1,o=0;const d=ve(),c=ve(),y=ve(),b=ve(),m=ve(),V=ve(),x=ve(),J=ve(),O=ve(),P=ve(),j=ve(),B=ve(),$=ve(),q=ve(),G=Ee(),K=ve(),U=ve(),X=ve(),Y=ve(),Z=Ze(),ee=Ze(),ae=Ze(),be=Ze(),Me=Ze(),De=Ze(),Je=Ze(),Ae=Ze(),Pe=Ze(),je=Ze(),ze=Ze(),Ne=Ze(),We=Ze(),Be=Ze(),$e=Ze(),qe=ve(),Ge=Ze(),[He,Ke,Ue,Xe]=Fe((()=>Sn)),rt=e=>{if(!lt(e,((e,t)=>F([r,i],t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(me(e[i])!=t&&ne(e,i),0))},it=(t,n)=>(!e||re(j,n)||Pt(n))&<(t,((e,t)=>at(n,t,e)),(()=>Pt(n))),at=(e,t,n,l)=>lt(l?n:vt(n,e,t),((l,s)=>k(dt(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Pt(e,t))),dt=(t,n,l,s)=>e?k(fe(fe(j,t),l),(e=>me(s)!=e[r]?Pt(t,n,l,s,e[i]):s),(()=>Pt(t,n,l,s))):E(me(s))?Pt(t,n,l,s):s,ut=(e,t)=>lt(t?e:ht(e),((t,n)=>k(ct(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Qt())),ct=(e,n)=>t?k(fe($,e),(t=>me(n)!=t[r]?Qt(e,n,t[i]):n),(()=>Qt(e,n))):E(me(n))?Qt(e,n):n,vt=(e,t,n)=>(k(fe(B,t),(([l,s])=>{ue(l,((t,n)=>{te(e,n)||(e[n]=t)})),ue(s,(l=>{te(e,l)||Pt(t,n,l)}))})),e),ht=e=>(t&&(ue(q,((t,n)=>{te(e,n)||(e[n]=t)})),ue(G,(t=>{te(e,t)||Qt(t)}))),e),ft=e=>ye(j,e,((e,t,n)=>{const l=ve(),s=Ee();ye(pe(j,t,ve),n,((e,t,n)=>{Le(e,t,n),k(n[i],(e=>Le(l,t,e)),(()=>ke(s,t)))})),Le(B,t,[l,s])}),((e,t)=>{Le(j,t),Le(B,t)})),gt=e=>ye($,e,((e,t,n)=>{Le($,t,n),k(n[i],(e=>Le(q,t,e)),(()=>ke(G,t)))}),((e,t)=>{Le($,t),Le(q,t),ce(G,t)})),Lt=e=>se(e)?cn():on(e),pt=e=>ye(X,e,((e,t,n)=>yt(t,n)),((e,t)=>Vt(t))),yt=(e,t)=>ye(pe(X,e,(()=>(Mt(e,1),Le(K,e,Oe()),Le(U,e,ve()),ve()))),t,((t,n,l)=>It(e,t,n,l)),((t,n)=>xt(e,t,n))),It=(e,t,n,l,s)=>ye(pe(t,n,(()=>(Dt(e,n,1),ve()))),l,((t,l,s)=>St(e,n,t,l,s)),((l,o)=>Et(e,t,n,l,o,s))),St=(e,t,n,l,s)=>{re(n,l)||Jt(e,t,l,1);const o=fe(n,l);s!==o&&(At(e,t,l,o,s),Le(n,l,s))},Rt=(e,t,n,l,s)=>k(fe(t,n),(t=>St(e,n,t,l,s)),(()=>It(e,t,n,vt({[l]:s},e,n)))),wt=e=>se(e)?fn():rn(e),Tt=e=>ye(Y,e,((e,t,n)=>Ct(t,n)),((e,t)=>kt(t))),Ct=(e,t)=>{re(Y,e)||Ot(e,1);const n=fe(Y,e);t!==n&&(Ft(e,n,t),Le(Y,e,t))},bt=(e,t)=>{const[n]=fe(K,e),l=n(t);return re(fe(X,e),l)?bt(e,t):l},mt=e=>{var t;return null!=(t=fe(X,e))?t:yt(e,{})},Vt=e=>yt(e,{}),xt=(e,t,n)=>{const[,l]=fe(K,e);l(n),It(e,t,n,{},!0)},Et=(e,t,n,l,s,o)=>{var r;const i=fe(null==(r=fe(B,e))?void 0:r[0],s);if(!E(i)&&!o)return St(e,n,l,s,i);const a=t=>{At(e,n,t,fe(l,t)),Jt(e,n,t,-1),Le(l,t)};E(i)?a(s):ge(l,a),ie(l)&&(Dt(e,n,-1),ie(Le(t,n))&&(Mt(e,-1),Le(X,e),Le(K,e),Le(U,e)))},kt=e=>{const t=fe(q,e);if(!E(t))return Ct(e,t);Ft(e,fe(Y,e)),Ot(e,-1),Le(Y,e)},Mt=(e,t)=>st(d,e,t),Dt=(e,t,n)=>st(pe(b,e,ve),t,n)&&Le(y,e,pe(y,e,(()=>0))+n),Jt=(e,t,n,l)=>{var s;const o=fe(U,e),r=null!=(s=fe(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&st(pe(c,e,ve),n,l),Le(o,n,r!=-l?r+l:null),st(pe(pe(m,e,ve),t,ve),n,l)},At=(e,t,n,l,s)=>pe(pe(pe(V,e,ve),t,ve),n,(()=>[l,0]))[1]=s,Ot=(e,t)=>st(x,e,t),Ft=(e,t,n)=>pe(J,e,(()=>[t,0]))[1]=n,Pt=(e,t,n,l,s)=>(H(pe(pe(pe(O,e,ve),t,ve),n,(()=>[])),l),s),Qt=(e,t,n)=>(H(pe(P,e,(()=>[])),t),n),jt=(e,t,n)=>k(fe(fe(fe(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(tn(e,t,n))])),zt=e=>k(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(sn(e))])),Nt=e=>ie(O)||ie(ze[e])?0:ue(e?Ce(O):O,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ke(ze[e],[n,l,s],t))))))),Wt=e=>ie(P)||ie(Ne[e])?0:ue(e?we(P):P,((t,n)=>Ke(Ne[e],[n],t))),Bt=(e,t,n)=>{if(!ie(t))return Ke(e,n,(()=>Ie(t))),1},$t=e=>{const t=ie(Je[e]),n=ie(Pe[e])&&ie(be[e])&&ie(Me[e])&&ie(De[e])&&t&&ie(ee[e]),l=ie(je[e])&&ie(Ae[e])&&ie(ae[e])&&ie(Z[e]);if(!n||!l){const s=e?[we(d),Te(c),we(y),Te(b),Ce(m),Ce(V)]:[d,c,y,b,m,V];if(!n){Bt(ee[e],s[0]),ue(s[1],((t,n)=>Bt(be[e],t,[n]))),ue(s[2],((t,n)=>{0!=t&&Ke(Me[e],[n],Yt(n))}));const n=Ee();ue(s[3],((l,s)=>{Bt(De[e],l,[s])&&!t&&(Ke(Je[e],[s,null]),ke(n,s))})),t||ue(s[5],((t,l)=>{if(!re(n,l)){const n=Ee();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?ke(n,s):ce(e,s))))),ue(n,(t=>Ke(Je[e],[l,t])))}})),ue(s[4],((t,n)=>ue(t,((t,l)=>Bt(Pe[e],t,[n,l])))))}if(!l){let t;ue(s[5],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ke(je[e],[l,o,a],i,n,jt),t=s=r=1)})),r&&Ke(Ae[e],[l,o],jt)})),s&&Ke(ae[e],[l],jt)})),t&&Ke(Z[e],void 0,jt)}}},qt=e=>{const t=ie(Be[e]),n=ie($e[e])&&ie(We[e]);if(!t||!n){const l=e?[we(x),we(J)]:[x,J];if(t||Bt(Be[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ke($e[e],[s],l,n,zt),t=1)})),t&&Ke(We[e],void 0,zt)}}},Gt=(e,...t)=>(pn((()=>e(...W(t,C)))),Sn),Ht=()=>[Ie(V,((e,t)=>-1===fe(d,t)?null:Ie(e,((e,n)=>-1===fe(fe(b,t),n)?null:Ie(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),se)),se),Ie(J,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],Kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,_e,et),invalidCells:Re(O),changedValues:Ie(J,_e,et),invalidValues:Ie(P),changedTableIds:Ie(d),changedRowIds:Se(b),changedCellIds:Re(m),changedValueIds:Ie(x)}),Ut=()=>Re(X),Xt=()=>he(X),Yt=e=>oe(fe(X,C(e))),Zt=e=>he(fe(X,C(e))),_t=(e,t,n,l=0,s)=>{return W(A(z((o=fe(X,C(e)),r=(e,n)=>[E(t)?n:fe(e,C(t)),n],W([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,E(s)?s:l+s),(([,e])=>e));var o,r,i},en=(e,t)=>he(fe(fe(X,C(e)),C(t))),tn=(e,t,n)=>fe(fe(fe(X,C(e)),C(t)),C(n)),nn=()=>Ie(Y),ln=()=>he(Y),sn=e=>fe(Y,C(e)),on=e=>Gt((()=>(e=>lt(e,it,Pt))(e)?pt(e):0)),rn=e=>Gt((()=>ut(e)?Tt(e):0)),an=e=>{try{Lt(nt(e))}catch(e){}return Sn},dn=t=>Gt((()=>{if((e=lt(t,(e=>lt(e,rt))))&&(ft(t),!ie(X))){const e=Ut();cn(),on(e)}})),un=e=>Gt((()=>{if(t=(e=>lt(e,rt))(e)){const n=nn();Ln(),fn(),t=!0,gt(e),rn(n)}})),cn=()=>Gt((()=>pt({}))),vn=e=>Gt((e=>re(X,e)?Vt(e):0),e),hn=(e,t)=>Gt(((e,t)=>k(fe(X,e),(n=>re(n,t)?xt(e,n,t):0))),e,t),fn=()=>Gt((()=>Tt({}))),gn=()=>Gt((()=>{ft({}),e=!1})),Ln=()=>Gt((()=>{gt({}),t=!1})),pn=(e,t)=>{if(-1!=o){yn();const n=e();return In(t),n}},yn=()=>(-1!=o&&o++,1==o&&Ke(qe,void 0,Ht,Kt),Sn),In=e=>(o>0&&(o--,0==o&&(n=!ie(V),l=!ie(J),o=1,Nt(1),n&&$t(1),Wt(1),l&&qt(1),(null==e?void 0:e(Ht,Kt))&&(ue(V,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ve(Sn,t,n,l,e))))))),ue(J,(([e],t)=>xe(Sn,t,e))),n=l=!1),Ke(Ge[0],void 0,Ht,Kt),o=-1,Nt(0),n&&$t(0),Wt(0),l&&qt(0),Ke(Ge[1],void 0,Ht,Kt),o=0,n=l=!1,N([d,c,y,b,m,V,O,x,J,P],de))),Sn),Sn={getContent:()=>[Ut(),nn()],getTables:Ut,getTableIds:Xt,getTable:e=>Se(fe(X,C(e))),getTableCellIds:e=>he(fe(U,C(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Ie(fe(fe(X,C(e)),C(t))),getCellIds:en,getCell:tn,getValues:nn,getValueIds:ln,getValue:sn,hasTables:()=>!ie(X),hasTable:e=>re(X,C(e)),hasTableCell:(e,t)=>re(fe(U,C(e)),C(t)),hasRow:(e,t)=>re(fe(X,C(e)),C(t)),hasCell:(e,t,n)=>re(fe(fe(X,C(e)),C(t)),C(n)),hasValues:()=>!ie(Y),hasValue:e=>re(Y,C(e)),getTablesJson:()=>tt(X),getValuesJson:()=>tt(Y),getJson:()=>tt([X,Y]),getTablesSchemaJson:()=>tt(j),getValuesSchemaJson:()=>tt($),getSchemaJson:()=>tt([j,$]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(se(e)?cn:on)(e),(se(t)?fn:rn)(t)})),setTables:on,setTable:(e,t)=>Gt((e=>it(t,e)?yt(e,t):0),e),setRow:(e,t,n)=>Gt(((e,t)=>at(e,t,n)?It(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>pn((()=>{let l;return at(e,l,t)&&(e=C(e),It(e,mt(e),l=bt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Gt(((e,t)=>{if(at(e,t,n,1)){const l=mt(e);le(n,((n,s)=>Rt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Gt(((e,t,n)=>k(dt(e,t,n,D(l)?l(tn(e,t,n)):l),(l=>Rt(e,mt(e),t,n,l)))),e,t,n),setValues:rn,setPartialValues:e=>Gt((()=>ut(e,1)?le(e,((e,t)=>Ct(t,e))):0)),setValue:(e,t)=>Gt((e=>k(ct(e,D(t)?t(sn(e)):t),(t=>Ct(e,t)))),e),setTransactionChanges:e=>Gt((()=>{le(e[0],((e,t)=>E(e)?vn(t):le(e,((e,n)=>E(e)?hn(t,n):le(e,((e,l)=>Ve(Sn,t,n,l,e))))))),le(e[1],((e,t)=>xe(Sn,t,e)))})),setTablesJson:an,setValuesJson:e=>{try{wt(nt(e))}catch(e){}return Sn},setJson:e=>Gt((()=>{try{const[t,n]=nt(e);Lt(t),wt(n)}catch(t){an(e)}})),setTablesSchema:dn,setValuesSchema:un,setSchema:(e,t)=>Gt((()=>{dn(e),un(t)})),delTables:cn,delTable:vn,delRow:hn,delCell:(e,t,n,l)=>Gt(((e,t,n)=>k(fe(X,e),(s=>k(fe(s,t),(o=>re(o,n)?Et(e,s,t,o,n,l):0))))),e,t,n),delValues:fn,delValue:e=>Gt((e=>re(Y,e)?kt(e):0),e),delTablesSchema:gn,delValuesSchema:Ln,delSchema:()=>Gt((()=>{gn(),Ln()})),transaction:pn,startTransaction:yn,finishTransaction:In,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>ge(t,e))))))))),forEachTableCell:(e,t)=>ge(fe(U,C(e)),t),forEachRow:(e,t)=>ue(fe(X,C(e)),((e,n)=>t(n,(t=>ge(e,t))))),forEachCell:(e,t,n)=>ge(fe(fe(X,C(e)),C(t)),n),forEachValue:e=>ge(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=_t(e,t,n,l,s);return He((()=>{const r=_t(e,t,n,l,s);Q(r,i)||(i=r,o(Sn,e,t,n,l,s,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(Xe(e),Sn),delListener:e=>(Ue(e),Sn),getListenerStats:()=>({}),createStore:ot,addListener:He,callListeners:Ke};return le({[h]:[0,Z],[f]:[0,ee],[v]:[1,ae,[Xt]],[v+S]:[1,be,[Xt]],[L]:[1,Me,[Xt]],[p]:[1,De,[Xt]],[g]:[2,Ae,[Xt,Zt]],[S]:[2,Pe,[Xt,Zt]],[I]:[3,je,[Xt,Zt,en],e=>Ye(tn(...e))],InvalidCell:[3,ze],[w]:[0,We],[T]:[0,Be],[R]:[1,$e,[ln],e=>Ye(sn(e[0]))],InvalidValue:[1,Ne]},(([e,t,n,l],s)=>{Sn[u+s+a]=(...s)=>He(s[e],t[s[e+1]?1:0],e>0?A(s,0,e):void 0,n,l)})),_(Sn)};exports.createCheckpoints=Pe,exports.createCustomPersister=(e,t,n,l,s,o,r=[])=>{let i,a,d,u=0,c=0;pe($e,r,(()=>0)),pe(qe,r,(()=>[]));const v=e=>Be(void 0,null,(function*(){return 2!=u&&(u=1,yield h.schedule((()=>Be(void 0,null,(function*(){yield e(),u=0}))))),h})),h={load:(n,l)=>Be(void 0,null,(function*(){return yield v((()=>Be(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>Be(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,d=l(((n,l)=>Be(void 0,null,(function*(){if(l){const t=l();yield v((()=>Be(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield v((()=>Be(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)}}))))})))),h})),stopAutoLoad:()=>(c&&(s(d),d=void 0,c=0),h),save:t=>Be(void 0,null,(function*(){return 1!=u&&(u=2,yield h.schedule((()=>Be(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}u=0}))))),h})),startAutoSave:()=>Be(void 0,null,(function*(){return yield h.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();se(n)&&se(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(k(i,e.delListener),h),schedule:(...e)=>Be(void 0,null,(function*(){return H(fe(qe,r),...e),yield Be(void 0,null,(function*(){if(!fe($e,r)){for(Le($e,r,1);!E(a=U(fe(qe,r)));)try{yield a()}catch(e){null==o||o(e)}Le($e,r,0)}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(h)},exports.createIndexes=je,exports.createMetrics=We,exports.createQueries=Ue,exports.createRelationships=Xe,exports.createStore=ot,exports.defaultSorter=Qe;
|
|
1
|
+
"use strict";const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Ids",v="Table",h=v+"s",f=v+c,g="Row",L=g+"Count",p=g+c,y="Sorted"+g+c,I="Cell",S=I+c,R="Value",w=R+"s",T=R+c,C=e=>t+e,b=Math.max,m=Math.min,V=isFinite,x=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,n)=>E(e)?null==n?void 0:n():t(e),M=e=>e==n||e==l,D=t=>e(t)==o,J=e=>Array.isArray(e),A=(e,t,n)=>e.slice(t,n),O=()=>{},F=(e,t)=>e.includes(t),P=(e,t)=>e.every(t),Q=(e,t)=>$(e)===$(t)&&P(e,((e,n)=>t[n]===e)),j=(e,t)=>P(e,((n,l)=>0==l||t(e[l-1],n)<=0)),z=(e,t)=>e.sort(t),N=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),B=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,n)=>e.reduce(t,n),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>x(e,X)&&e.constructor==X,te=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),le=(e,t)=>W(X.entries(e),(([e,n])=>t(n,e))),se=e=>ee(e)&&0==(e=>$(Y(e)))(e),oe=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},re=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ie=e=>E(e)||0==oe(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},de=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ce=(e,t)=>null==e?void 0:e.delete(t),ve=e=>new Map(e),he=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},fe=(e,t)=>null==e?void 0:e.get(t),ge=(e,t)=>ue(e,((e,n)=>t(n,e))),Le=(e,t,n)=>E(n)?(ce(e,t),e):null==e?void 0:e.set(t,n),pe=(e,t,n)=>(re(e,t)||Le(e,t,n()),fe(e,t)),ye=(e,t,n,l=Le)=>(le(t,((t,l)=>n(e,l,t))),ge(e,(n=>te(t,n)?0:l(e,n))),e),Ie=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Se=(e,t,n)=>Ie(e,(e=>Ie(e,t,n)),se),Re=(e,t,n)=>Ie(e,(e=>Se(e,t,n)),se),we=(e,t)=>{const n=ve();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Te=e=>we(e,we),Ce=e=>we(e,Te),be=(e,t,n,l,s=0)=>k((n?pe:fe)(e,t[s],s>$(t)-2?n:ve),(o=>{if(s>$(t)-2)return(null==l?void 0:l(o))&&Le(e,t[s]),o;const r=be(o,t,n,l,s+1);return ie(o)&&Le(e,t[s]),r})),me=t=>{const n=e(t);return M(n)||n==s&&V(t)?n:void 0},Ve=(e,t,n,l,s)=>E(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>E(n)?e.delValue(t):e.setValue(t,n),Ee=e=>new Set(J(e)||E(e)?e:[e]),ke=(e,t)=>null==e?void 0:e.add(t),Me=(e,t,n,l,s)=>{const o=e.hasRow,r=ve(),i=ve(),a=ve(),d=ve(),u=ve(),c=ve(),v=(t,n,...l)=>{const s=pe(c,t,Ee);return N(l,(t=>ke(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>k(fe(c,t),(l=>{N(q(n)?ae(l):n,(t=>{e.delListener(t),ce(l,t)})),ie(l)&&Le(c,t)})),f=(e,n)=>{Le(r,e,n),re(i,e)||(Le(i,e,t()),Le(d,e,ve()),Le(u,e,ve()),s(a))},g=e=>{Le(r,e),Le(i,e),Le(d,e),Le(u,e),h(e),s(a)};return[()=>e,()=>he(r),e=>ge(i,e),e=>re(i,e),e=>fe(r,e),e=>fe(i,e),(e,t)=>Le(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=ve(),c=ve(),g=fe(d,t),L=fe(u,t),p=t=>{const s=n=>e.getCell(l,t,n),d=fe(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||J(d)&&J(u)&&Q(d,u)||Le(a,t,[d,u]),!E(i)){const e=fe(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&Le(c,t,n)}},y=e=>{s((()=>{ue(a,(([,e],t)=>Le(g,t,e))),ue(c,((e,t)=>Le(L,t,e)))}),a,c,g,L,e),de(a),de(c)};ge(g,p),e.hasTable(l)&&N(e.getRowIds(l),(e=>{re(g,e)||p(e)})),y(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>p(n))),e.addTableListener(l,(()=>y())))},g,e=>l(e,a),()=>ge(c,g),v,h]},De=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Je=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Oe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?U(e):null)?s:t+n++},t=>{Ae.test(t)&&$(e)<1e3&&H(e,t)}]},Fe=e=>{let n;const[l,s]=Oe(),o=ve();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return Le(o,u,[s,r,i,a,d]),ke(be(r,null!=i?i:[t],Ee),u),u},(e,l,...s)=>N(((e,n=[t])=>{const l=[],s=(e,t)=>t==$(n)?H(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):N([n[t],null],(n=>s(fe(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>fe(o,e)[0](n,...null!=l?l:[],...s))))),e=>k(fe(o,e),(([,n,l])=>(be(n,null!=l?l:[t],void 0,(t=>(ce(t,e),ie(t)?1:0))),Le(o,e),s(e),l))),e=>k(fe(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=$(r);d==$(t)?e(n,...r,...s(r)):E(t[d])?N(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Pe=Je((e=>{let n,l,s,o=100,r=ve(),i=ve(),a=1;const d=ve(),u=ve(),[c,v,h]=Fe((()=>O)),f=ve(),g=ve(),L=[],p=[],y=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=fe(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ve(e,l,s,o,n[t]))))))),ue(s,((n,l)=>xe(e,l,n[t])))})),a=1},I=e=>{Le(f,e),Le(g,e),v(u,[e])},S=(e,t)=>N(((e,t)=>e.splice(0,t))(e,null!=t?t:$(e)),I),R=()=>S(L,$(L)-o),w=()=>k(n,(()=>{H(L,n),R(),S(p),n=void 0,s=1})),T=()=>{n=K(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){w();const e=pe(r,t,ve),i=pe(e,n,ve),a=pe(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ie(Le(i,l))&&ie(Le(e,n))&&ie(Le(r,t))&&T(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){w();const e=pe(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ie(Le(i,t))&&T(),M()}})),m=(e="")=>(E(n)&&(n=t+l++,Le(f,n,[r,i]),J(n,e),r=ve(),i=ve(),s=1),n),V=()=>{q(L)||(((e,...t)=>{e.unshift(...t)})(p,m()),y(0,n),n=K(L),s=1)},x=()=>{q(p)||(H(L,n),n=U(p),y(1,n),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(A(e)&&fe(g,e)!==t&&(Le(g,e,t),v(u,[e])),O),A=e=>re(f,e),O={setSize:e=>(o=e,R(),O),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...p]],forEachCheckpoint:e=>ge(g,e),hasCheckpoint:A,getCheckpoint:e=>fe(g,e),goBackward:()=>(V(),M(),O),goForward:()=>(x(),M(),O),goTo:e=>{const t=F(L,e)?V:F(p,e)?x:null;for(;!E(t)&&e!=n;)t();return M(),O},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),O),clear:()=>(S(L),S(p),E(n)||I(n),n=void 0,l=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(O.clear())})),Qe=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,je=Je((e=>{const n=ve(),l=ve(),[s,o,r]=Fe((()=>I)),[i,a,d,u,c,v,h,,f,g,L,p]=Me(e,ve,(e=>E(e)?t:J(e)?W(e,C):C(e)),s,o),y=(t,n,l)=>{const s=c(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},I={setIndexDefinition:(e,t,s,r,i,a=Qe)=>{const d=E(i)?void 0:([e],[t])=>i(e,t);return f(e,t,((t,s,i,u,c,f)=>{let g=0;const L=Ee(),p=Ee(),y=v(e);if(ue(s,(([e,t],n)=>{const l=Ee(e),s=Ee(t);ue(l,(e=>ce(s,e)?ce(l,e):0)),ue(l,(e=>{ke(L,e),k(fe(y,e),(t=>{ce(t,n),ie(t)&&(Le(y,e),g=1)}))})),ue(s,(e=>{ke(L,e),re(y,e)||(Le(y,e,Ee()),g=1),ke(fe(y,e),n),E(r)||ke(p,e)}))})),t(),ie(c)||(f?ge(y,(e=>ke(p,e))):ge(i,(e=>k(fe(u,e),(e=>ke(p,e))))),ue(p,(e=>{const t=(t,n)=>a(fe(c,t),fe(c,n),e),n=[...fe(y,e)];j(n,t)||(Le(y,e,Ee(z(n,t))),ke(L,e))}))),(g||f)&&!E(d)){const t=[...y];j(t,d)||(h(e,ve(z(t,d))),g=1)}g&&o(n,[e]),ue(L,(t=>o(l,[e,t])))}),De(s),k(r,De)),I},delIndexDefinition:e=>(g(e),I),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>re(v(e),t),getTableId:c,getSliceIds:e=>he(v(e)),getSliceRowIds:(e,t)=>ae(fe(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,t)=>s(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),I),destroy:p,getListenerStats:()=>({})};return _(I)})),ze=ve([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,s,o=!1)=>{if(ie(n))return;const[r,i,a,d]=s;return o||(o=E(e)),ue(l,(([n,l])=>{o||(e=E(n)?null==i?void 0:i(e,l,t++):E(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=E(e)))})),o?r(ae(n),oe(n)):e},We=Je((e=>{const n=ve(),[l,s,o]=Fe((()=>p)),[r,i,a,d,u,c,v,,h,f,g,L]=Me(e,O,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),l,s),p={setMetricDefinition:(e,t,l,o,r,i,a)=>{var d;const u=D(l)?[l,r,i,a]:null!=(d=fe(ze,l))?d:fe(ze,"sum");return h(e,t,((t,l,o,r,i,a)=>{const d=c(e),h=oe(r);a||(a=E(d)),t();let f=Ne(d,h,r,l,u,a);V(f)||(f=void 0),f!=d&&(v(e,f),s(n,[e],f,d))}),De(o,1)),p},delMetricDefinition:e=>(f(e),p),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(o(e),p),destroy:L,getListenerStats:()=>({})};return _(p)}));var Be=(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 $e=ve(),qe=ve();var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Je((e=>{const n=e.createStore,l=n(),s=n(),o=ve(),{addListener:r,callListeners:i,delListener:c}=s,[h,f,R,w,T,,,C,,b,m,V,x,M]=Me(e,(()=>!0),O,r,i),J=(e,t,...n)=>N(n,(n=>ke(pe(pe(o,t,ve),e,Ee),n))),F=e=>{k(fe(o,e),(e=>{ge(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),N([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>J(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),j={setQueryDefinition:(n,o,r)=>{C(n,o),F(n);const i=[],a=[[null,[o,null,null,[],ve()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=D(e)?[$(i)+t,e]:[E(n)?e:n,t=>t(e,n)];return H(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=E(n)||D(t)?null:t,s=E(l)?t:n,o=[e,[e,l,D(s)?s:e=>e(s),[],ve()]];return H(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>H(d,D(e)?e:E(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,D(t)?[t,n,l,s]:null!=(o=fe(ze,t))?o:[(e,t)=>t]]];return H(u,r),{as:e=>r[0]=e}},having:(e,t)=>H(c,D(e)?e:n=>n(e)===t)});const v=ve(i);if(ie(v))return j;const h=ve(a);ge(h,((e,[,t])=>k(fe(h,t),(({3:t})=>E(e)?0:H(t,e)))));const f=ve(u);let g=l;if(ie(f)&&q(c))g=s;else{Q(n,g,s);const e=ve();ge(f,((t,[n,l])=>ke(pe(e,n,Ee),[t,l])));const t=Ee();ge(v,(n=>re(e,n)?0:ke(t,n)));const l=ve(),o=(t,l,o,r)=>k(t,(([i,a,d,u])=>{ge(l,((t,[n])=>{const l=pe(i,t,ve),s=fe(l,o),a=r?void 0:n;if(s!==a){const n=Ee([[s,a]]),r=oe(l);Le(l,o,a),ue(fe(e,t),(([e,t])=>{const s=Ne(u[e],r,l,n,t);u[e]=E(me(s))?null:s}))}})),ie(a)||!P(c,(e=>e((e=>u[e]))))?s.delRow(n,d):E(d)?t[2]=s.addRow(n,u):s.setRow(n,d,u)}));J(g,n,g.addRowListener(n,null,((s,r,i,a)=>{const d=[],u=[],c=ve(),v=g.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);H(d,l),H(u,s),h||(h=t)})),ge(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&Le(c,e,[l])})),h&&o(be(l,d,void 0,(([,e])=>(ce(e,i),ie(e)))),c,i,1),v&&o(be(l,u,(()=>{const e={};return ue(t,(t=>e[t]=g.getCell(n,i,t))),[ve(),Ee(),void 0,e]}),(([,e])=>{ke(e,i)})),c,i)})))}Q(n,e,g);const L=(t,l,s,r)=>{const i=t=>e.getCell(l,s,t);N(r,(l=>{var s;const[o,,r,a,d]=fe(h,l),u=null==r?void 0:r(i,t),[c,v]=null!=(s=fe(d,t))?s:[];u!=c&&(E(v)||M(n,v),Le(d,t,E(u)?null:[u,...x(n,1,e.addRowListener(o,u,(()=>L(t,o,u,a))))]))})),(t=>{const l=(n,l)=>{var s,r,i;return e.getCell(...E(l)?[o,t,n]:n===o?[o,t,l]:[null==(s=fe(h,n))?void 0:s[0],null==(i=fe(null==(r=fe(h,n))?void 0:r[4],t))?void 0:i[0],l])};g.transaction((()=>P(d,(e=>e(l)))?ge(v,((e,s)=>Ve(g,n,t,e,s(l,t)))):g.delRow(n,t)))})(t)},{3:p}=fe(h,null);return g.transaction((()=>x(n,1,e.addRowListener(o,null,((t,l,s)=>{e.hasRow(o,s)?L(s,o,s,p):(g.delRow(n,s),ue(h,(({4:e})=>k(fe(e,s),(([,t])=>{M(n,t),Le(e,s)})))))}))))),j},delQueryDefinition:e=>(F(e),b(e),j),getStore:h,getQueryIds:f,forEachQuery:R,hasQuery:w,getTableId:T,addQueryIdsListener:e=>m((()=>e(j))),delListener:e=>(c(e),j),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return le({[v]:[1,1],[v+S]:[0,1],[L]:[0,1],[p]:[0,1],[y]:[0,5],[g]:[1,2],[S]:[0,2],[I]:[1,3]},(([e,t],n)=>{N(e?["get","has","forEach"]:["get"],(e=>j[e+d+n]=(...t)=>s[e+n](...t))),j[u+d+n+a]=(...e)=>s[u+n+a](...A(e,0,t),((n,...l)=>e[t](j,...l)),!0)})),_(j)})),Xe=Je((e=>{const n=ve(),l=ve(),s=ve(),o=ve(),[r,i,a]=Fe((()=>w)),[d,u,c,v,h,f,,,g,L,p,y]=Me(e,(()=>[ve(),ve(),ve(),ve()]),(e=>E(e)?void 0:e+t),r,i),I=(e,t,n)=>k(f(e),(([l,,s])=>{if(!re(s,t)){const o=Ee();if(h(e)!=R(e))ke(o,t);else{let e=t;for(;!E(e)&&!re(o,e);)ke(o,e),e=fe(l,e)}if(n)return o;Le(s,t,o)}return fe(s,t)})),S=(e,t)=>k(f(e),(([,,e])=>Le(e,t))),R=e=>fe(n,e),w={setRelationshipDefinition:(e,t,r,a)=>(Le(n,e,r),g(e,t,((t,n)=>{const r=Ee(),a=Ee(),d=Ee(),[u,c]=f(e);ue(n,(([t,n],l)=>{E(t)||(ke(a,t),k(fe(c,t),(e=>{ce(e,l),ie(e)&&Le(c,t)}))),E(n)||(ke(a,n),re(c,n)||Le(c,n,Ee()),ke(fe(c,n),l)),ke(r,l),Le(u,l,n),ge(fe(o,e),(t=>{re(I(e,t),l)&&ke(d,t)}))})),t(),ue(r,(t=>i(l,[e,t]))),ue(a,(t=>i(s,[e,t]))),ue(d,(t=>{S(e,t),i(o,[e,t])}))}),De(a)),w),delRelationshipDefinition:e=>(Le(n,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:R,getRemoteRowId:(e,t)=>{var n;return fe(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ae(fe(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>E(f(e))?[t]:ae(I(e,t,!0)),addRelationshipIdsListener:p,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:y,getListenerStats:()=>({})};return _(w)})),Ye=e=>[e,e],Ze=()=>[ve(),ve()],_e=e=>[...e],et=([e,t])=>e===t,tt=e=>JSON.stringify(e,((e,t)=>x(t,Map)?X.fromEntries([...t]):t)),nt=JSON.parse,lt=(e,t,n)=>E(e)||!ee(e)||se(e)||Z(e)?(null==n||n(),!1):(le(e,((n,l)=>{t(n,l)||ne(e,l)})),!se(e)),st=(e,t,n)=>Le(e,t,fe(e,t)==-n?void 0:n),ot=()=>{let e,t,n=!1,l=!1,o=0;const d=ve(),c=ve(),y=ve(),b=ve(),m=ve(),V=ve(),x=ve(),J=ve(),O=ve(),P=ve(),j=ve(),B=ve(),$=ve(),q=ve(),G=Ee(),K=ve(),U=ve(),X=ve(),Y=ve(),Z=Ze(),ee=Ze(),ae=Ze(),be=Ze(),Me=Ze(),De=Ze(),Je=Ze(),Ae=Ze(),Pe=Ze(),je=Ze(),ze=Ze(),Ne=Ze(),We=Ze(),Be=Ze(),$e=Ze(),qe=ve(),Ge=Ze(),[He,Ke,Ue,Xe]=Fe((()=>Sn)),rt=e=>{if(!lt(e,((e,t)=>F([r,i],t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(me(e[i])!=t&&ne(e,i),0))},it=(t,n)=>(!e||re(j,n)||Pt(n))&<(t,((e,t)=>at(n,t,e)),(()=>Pt(n))),at=(e,t,n,l)=>lt(l?n:vt(n,e,t),((l,s)=>k(dt(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Pt(e,t))),dt=(t,n,l,s)=>e?k(fe(fe(j,t),l),(e=>me(s)!=e[r]?Pt(t,n,l,s,e[i]):s),(()=>Pt(t,n,l,s))):E(me(s))?Pt(t,n,l,s):s,ut=(e,t)=>lt(t?e:ht(e),((t,n)=>k(ct(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Qt())),ct=(e,n)=>t?k(fe($,e),(t=>me(n)!=t[r]?Qt(e,n,t[i]):n),(()=>Qt(e,n))):E(me(n))?Qt(e,n):n,vt=(e,t,n)=>(k(fe(B,t),(([l,s])=>{ue(l,((t,n)=>{te(e,n)||(e[n]=t)})),ue(s,(l=>{te(e,l)||Pt(t,n,l)}))})),e),ht=e=>(t&&(ue(q,((t,n)=>{te(e,n)||(e[n]=t)})),ue(G,(t=>{te(e,t)||Qt(t)}))),e),ft=e=>ye(j,e,((e,t,n)=>{const l=ve(),s=Ee();ye(pe(j,t,ve),n,((e,t,n)=>{Le(e,t,n),k(n[i],(e=>Le(l,t,e)),(()=>ke(s,t)))})),Le(B,t,[l,s])}),((e,t)=>{Le(j,t),Le(B,t)})),gt=e=>ye($,e,((e,t,n)=>{Le($,t,n),k(n[i],(e=>Le(q,t,e)),(()=>ke(G,t)))}),((e,t)=>{Le($,t),Le(q,t),ce(G,t)})),Lt=e=>se(e)?cn():on(e),pt=e=>ye(X,e,((e,t,n)=>yt(t,n)),((e,t)=>Vt(t))),yt=(e,t)=>ye(pe(X,e,(()=>(Mt(e,1),Le(K,e,Oe()),Le(U,e,ve()),ve()))),t,((t,n,l)=>It(e,t,n,l)),((t,n)=>xt(e,t,n))),It=(e,t,n,l,s)=>ye(pe(t,n,(()=>(Dt(e,n,1),ve()))),l,((t,l,s)=>St(e,n,t,l,s)),((l,o)=>Et(e,t,n,l,o,s))),St=(e,t,n,l,s)=>{re(n,l)||Jt(e,t,l,1);const o=fe(n,l);s!==o&&(At(e,t,l,o,s),Le(n,l,s))},Rt=(e,t,n,l,s)=>k(fe(t,n),(t=>St(e,n,t,l,s)),(()=>It(e,t,n,vt({[l]:s},e,n)))),wt=e=>se(e)?fn():rn(e),Tt=e=>ye(Y,e,((e,t,n)=>Ct(t,n)),((e,t)=>kt(t))),Ct=(e,t)=>{re(Y,e)||Ot(e,1);const n=fe(Y,e);t!==n&&(Ft(e,n,t),Le(Y,e,t))},bt=(e,t)=>{const[n]=fe(K,e),l=n(t);return re(fe(X,e),l)?bt(e,t):l},mt=e=>{var t;return null!=(t=fe(X,e))?t:yt(e,{})},Vt=e=>yt(e,{}),xt=(e,t,n)=>{const[,l]=fe(K,e);l(n),It(e,t,n,{},!0)},Et=(e,t,n,l,s,o)=>{var r;const i=fe(null==(r=fe(B,e))?void 0:r[0],s);if(!E(i)&&!o)return St(e,n,l,s,i);const a=t=>{At(e,n,t,fe(l,t)),Jt(e,n,t,-1),Le(l,t)};E(i)?a(s):ge(l,a),ie(l)&&(Dt(e,n,-1),ie(Le(t,n))&&(Mt(e,-1),Le(X,e),Le(K,e),Le(U,e)))},kt=e=>{const t=fe(q,e);if(!E(t))return Ct(e,t);Ft(e,fe(Y,e)),Ot(e,-1),Le(Y,e)},Mt=(e,t)=>st(d,e,t),Dt=(e,t,n)=>st(pe(b,e,ve),t,n)&&Le(y,e,pe(y,e,(()=>0))+n),Jt=(e,t,n,l)=>{var s;const o=fe(U,e),r=null!=(s=fe(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&st(pe(c,e,ve),n,l),Le(o,n,r!=-l?r+l:null),st(pe(pe(m,e,ve),t,ve),n,l)},At=(e,t,n,l,s)=>pe(pe(pe(V,e,ve),t,ve),n,(()=>[l,0]))[1]=s,Ot=(e,t)=>st(x,e,t),Ft=(e,t,n)=>pe(J,e,(()=>[t,0]))[1]=n,Pt=(e,t,n,l,s)=>(H(pe(pe(pe(O,e,ve),t,ve),n,(()=>[])),l),s),Qt=(e,t,n)=>(H(pe(P,e,(()=>[])),t),n),jt=(e,t,n)=>k(fe(fe(fe(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(tn(e,t,n))])),zt=e=>k(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(sn(e))])),Nt=e=>ie(O)||ie(ze[e])?0:ue(e?Ce(O):O,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ke(ze[e],[n,l,s],t))))))),Wt=e=>ie(P)||ie(Ne[e])?0:ue(e?we(P):P,((t,n)=>Ke(Ne[e],[n],t))),Bt=(e,t,n)=>{if(!ie(t))return Ke(e,n,(()=>Ie(t))),1},$t=e=>{const t=ie(Je[e]),n=ie(Pe[e])&&ie(be[e])&&ie(Me[e])&&ie(De[e])&&t&&ie(ee[e]),l=ie(je[e])&&ie(Ae[e])&&ie(ae[e])&&ie(Z[e]);if(!n||!l){const s=e?[we(d),Te(c),we(y),Te(b),Ce(m),Ce(V)]:[d,c,y,b,m,V];if(!n){Bt(ee[e],s[0]),ue(s[1],((t,n)=>Bt(be[e],t,[n]))),ue(s[2],((t,n)=>{0!=t&&Ke(Me[e],[n],Yt(n))}));const n=Ee();ue(s[3],((l,s)=>{Bt(De[e],l,[s])&&!t&&(Ke(Je[e],[s,null]),ke(n,s))})),t||ue(s[5],((t,l)=>{if(!re(n,l)){const n=Ee();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?ke(n,s):ce(e,s))))),ue(n,(t=>Ke(Je[e],[l,t])))}})),ue(s[4],((t,n)=>ue(t,((t,l)=>Bt(Pe[e],t,[n,l])))))}if(!l){let t;ue(s[5],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ke(je[e],[l,o,a],i,n,jt),t=s=r=1)})),r&&Ke(Ae[e],[l,o],jt)})),s&&Ke(ae[e],[l],jt)})),t&&Ke(Z[e],void 0,jt)}}},qt=e=>{const t=ie(Be[e]),n=ie($e[e])&&ie(We[e]);if(!t||!n){const l=e?[we(x),we(J)]:[x,J];if(t||Bt(Be[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ke($e[e],[s],l,n,zt),t=1)})),t&&Ke(We[e],void 0,zt)}}},Gt=(e,...t)=>(pn((()=>e(...W(t,C)))),Sn),Ht=()=>[Ie(V,((e,t)=>-1===fe(d,t)?null:Ie(e,((e,n)=>-1===fe(fe(b,t),n)?null:Ie(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),se)),se),Ie(J,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],Kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,_e,et),invalidCells:Re(O),changedValues:Ie(J,_e,et),invalidValues:Ie(P),changedTableIds:Ie(d),changedRowIds:Se(b),changedCellIds:Re(m),changedValueIds:Ie(x)}),Ut=()=>Re(X),Xt=()=>he(X),Yt=e=>oe(fe(X,C(e))),Zt=e=>he(fe(X,C(e))),_t=(e,t,n,l=0,s)=>{return W(A(z((o=fe(X,C(e)),r=(e,n)=>[E(t)?n:fe(e,C(t)),n],W([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,E(s)?s:l+s),(([,e])=>e));var o,r,i},en=(e,t)=>he(fe(fe(X,C(e)),C(t))),tn=(e,t,n)=>fe(fe(fe(X,C(e)),C(t)),C(n)),nn=()=>Ie(Y),ln=()=>he(Y),sn=e=>fe(Y,C(e)),on=e=>Gt((()=>(e=>lt(e,it,Pt))(e)?pt(e):0)),rn=e=>Gt((()=>ut(e)?Tt(e):0)),an=e=>{try{Lt(nt(e))}catch(e){}return Sn},dn=t=>Gt((()=>{if((e=lt(t,(e=>lt(e,rt))))&&(ft(t),!ie(X))){const e=Ut();cn(),on(e)}})),un=e=>Gt((()=>{if(t=(e=>lt(e,rt))(e)){const n=nn();Ln(),fn(),t=!0,gt(e),rn(n)}})),cn=()=>Gt((()=>pt({}))),vn=e=>Gt((e=>re(X,e)?Vt(e):0),e),hn=(e,t)=>Gt(((e,t)=>k(fe(X,e),(n=>re(n,t)?xt(e,n,t):0))),e,t),fn=()=>Gt((()=>Tt({}))),gn=()=>Gt((()=>{ft({}),e=!1})),Ln=()=>Gt((()=>{gt({}),t=!1})),pn=(e,t)=>{if(-1!=o){yn();const n=e();return In(t),n}},yn=()=>(-1!=o&&o++,1==o&&Ke(qe,void 0,Ht,Kt),Sn),In=e=>(o>0&&(o--,0==o&&(n=!ie(V),l=!ie(J),o=1,Nt(1),n&&$t(1),Wt(1),l&&qt(1),(null==e?void 0:e(Ht,Kt))&&(ue(V,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ve(Sn,t,n,l,e))))))),ue(J,(([e],t)=>xe(Sn,t,e))),n=l=!1),Ke(Ge[0],void 0,Ht,Kt),o=-1,Nt(0),n&&$t(0),Wt(0),l&&qt(0),Ke(Ge[1],void 0,Ht,Kt),o=0,n=l=!1,N([d,c,y,b,m,V,O,x,J,P],de))),Sn),Sn={getContent:()=>[Ut(),nn()],getTables:Ut,getTableIds:Xt,getTable:e=>Se(fe(X,C(e))),getTableCellIds:e=>he(fe(U,C(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Ie(fe(fe(X,C(e)),C(t))),getCellIds:en,getCell:tn,getValues:nn,getValueIds:ln,getValue:sn,hasTables:()=>!ie(X),hasTable:e=>re(X,C(e)),hasTableCell:(e,t)=>re(fe(U,C(e)),C(t)),hasRow:(e,t)=>re(fe(X,C(e)),C(t)),hasCell:(e,t,n)=>re(fe(fe(X,C(e)),C(t)),C(n)),hasValues:()=>!ie(Y),hasValue:e=>re(Y,C(e)),getTablesJson:()=>tt(X),getValuesJson:()=>tt(Y),getJson:()=>tt([X,Y]),getTablesSchemaJson:()=>tt(j),getValuesSchemaJson:()=>tt($),getSchemaJson:()=>tt([j,$]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(se(e)?cn:on)(e),(se(t)?fn:rn)(t)})),setTables:on,setTable:(e,t)=>Gt((e=>it(t,e)?yt(e,t):0),e),setRow:(e,t,n)=>Gt(((e,t)=>at(e,t,n)?It(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>pn((()=>{let l;return at(e,l,t)&&(e=C(e),It(e,mt(e),l=bt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Gt(((e,t)=>{if(at(e,t,n,1)){const l=mt(e);le(n,((n,s)=>Rt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Gt(((e,t,n)=>k(dt(e,t,n,D(l)?l(tn(e,t,n)):l),(l=>Rt(e,mt(e),t,n,l)))),e,t,n),setValues:rn,setPartialValues:e=>Gt((()=>ut(e,1)?le(e,((e,t)=>Ct(t,e))):0)),setValue:(e,t)=>Gt((e=>k(ct(e,D(t)?t(sn(e)):t),(t=>Ct(e,t)))),e),setTransactionChanges:e=>Gt((()=>{le(e[0],((e,t)=>E(e)?vn(t):le(e,((e,n)=>E(e)?hn(t,n):le(e,((e,l)=>Ve(Sn,t,n,l,e))))))),le(e[1],((e,t)=>xe(Sn,t,e)))})),setTablesJson:an,setValuesJson:e=>{try{wt(nt(e))}catch(e){}return Sn},setJson:e=>Gt((()=>{try{const[t,n]=nt(e);Lt(t),wt(n)}catch(t){an(e)}})),setTablesSchema:dn,setValuesSchema:un,setSchema:(e,t)=>Gt((()=>{dn(e),un(t)})),delTables:cn,delTable:vn,delRow:hn,delCell:(e,t,n,l)=>Gt(((e,t,n)=>k(fe(X,e),(s=>k(fe(s,t),(o=>re(o,n)?Et(e,s,t,o,n,l):0))))),e,t,n),delValues:fn,delValue:e=>Gt((e=>re(Y,e)?kt(e):0),e),delTablesSchema:gn,delValuesSchema:Ln,delSchema:()=>Gt((()=>{gn(),Ln()})),transaction:pn,startTransaction:yn,finishTransaction:In,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>ge(t,e))))))))),forEachTableCell:(e,t)=>ge(fe(U,C(e)),t),forEachRow:(e,t)=>ue(fe(X,C(e)),((e,n)=>t(n,(t=>ge(e,t))))),forEachCell:(e,t,n)=>ge(fe(fe(X,C(e)),C(t)),n),forEachValue:e=>ge(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=_t(e,t,n,l,s);return He((()=>{const r=_t(e,t,n,l,s);Q(r,i)||(i=r,o(Sn,e,t,n,l,s,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(Xe(e),Sn),delListener:e=>(Ue(e),Sn),getListenerStats:()=>({}),createStore:ot,addListener:He,callListeners:Ke};return le({[h]:[0,Z],[f]:[0,ee],[v]:[1,ae,[Xt]],[v+S]:[1,be,[Xt]],[L]:[1,Me,[Xt]],[p]:[1,De,[Xt]],[g]:[2,Ae,[Xt,Zt]],[S]:[2,Pe,[Xt,Zt]],[I]:[3,je,[Xt,Zt,en],e=>Ye(tn(...e))],InvalidCell:[3,ze],[w]:[0,We],[T]:[0,Be],[R]:[1,$e,[ln],e=>Ye(sn(e[0]))],InvalidValue:[1,Ne]},(([e,t,n,l],s)=>{Sn[u+s+a]=(...s)=>He(s[e],t[s[e+1]?1:0],e>0?A(s,0,e):void 0,n,l)})),_(Sn)};exports.createCheckpoints=Pe,exports.createCustomPersister=(e,t,n,l,s,o,r=[])=>{let i,a,d,u=0,c=0;pe($e,r,(()=>0)),pe(qe,r,(()=>[]));const v=e=>Be(void 0,null,(function*(){return 2!=u&&(u=1,yield h.schedule((()=>Be(void 0,null,(function*(){yield e(),u=0}))))),h})),h={load:(n,l)=>Be(void 0,null,(function*(){return yield v((()=>Be(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>Be(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,d=l(((n,l)=>Be(void 0,null,(function*(){if(l){const t=l();yield v((()=>Be(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield v((()=>Be(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)}}))))})))),h})),stopAutoLoad:()=>(c&&(s(d),d=void 0,c=0),h),save:t=>Be(void 0,null,(function*(){return 1!=u&&(u=2,yield h.schedule((()=>Be(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}u=0}))))),h})),startAutoSave:()=>Be(void 0,null,(function*(){return yield h.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();se(n)&&se(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(k(i,e.delListener),h),schedule:(...e)=>Be(void 0,null,(function*(){return H(fe(qe,r),...e),yield Be(void 0,null,(function*(){if(!fe($e,r)){for(Le($e,r,1);!E(a=U(fe(qe,r)));)try{yield a()}catch(e){null==o||o(e)}Le($e,r,0)}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(h)},exports.createIndexes=je,exports.createMetrics=We,exports.createQueries=Ue,exports.createRelationships=Xe,exports.createStore=ot,exports.defaultSorter=Qe;
|
|
Binary file
|
package/lib/debug/queries.js
CHANGED
package/lib/debug/tinybase.js
CHANGED
package/lib/es6/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n=e(""),t=e(!0),l=e(0),r=e(e),o="Listener",s="Result",a="Ids",i="Table",d="Row",u=d+"Count",c=d+a,v="Sorted"+d+a,f="Cell",h=f+a,w=(e,n)=>e.every(n),g=(e,n)=>e.forEach(n),y=e=>R(e,((e,n)=>e+n),0),L=e=>e.length,p=e=>0==L(e),R=(e,n,t)=>e.reduce(n,t),b=(e,...n)=>e.push(...n),T=Math.max,m=Math.min,C=isFinite,O=e=>null==e,S=(e,n,t)=>O(e)?null==t?void 0:t():n(e),I=n=>e(n)==r,Q=e=>Array.isArray(e),j=()=>{},x=Object,E=x.freeze,M=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},D=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},k=e=>O(e)||0==M(e),z=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=e=>e.clear(),F=(e,n)=>null==e?void 0:e.forEach(n),P=(e,n)=>null==e?void 0:e.delete(n),W=e=>new Map(e),q=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>F(e,((e,t)=>n(t,e))),G=(e,n,t)=>O(t)?(P(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(D(e,n)||G(e,n,t()),q(e,n)),J=(e,n,t,l,r=0)=>S((t?H:q)(e,n[r],r>L(n)-2?t:W),(o=>{if(r>L(n)-2)return(null==l?void 0:l(o))&&G(e,n[r]),o;const s=J(o,n,t,l,r+1);return k(o)&&G(e,n[r]),s})),K=e=>new Set(Q(e)||O(e)?e:[e]),N=(e,n)=>null==e?void 0:e.add(n),U=W([["avg",[(e,n)=>y(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>T(...e),(e,n)=>T(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:T(n,e)]],["min",[e=>m(...e),(e,n)=>m(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:m(n,e)]],["sum",[e=>y(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]);var V=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;const Z=(r=>{const a=new WeakMap;return r=>(a.has(r)||a.set(r,(r=>{const a=r.createStore,y=a(),R=a(),T=W(),{addListener:m,callListeners:Z,delListener:$}=R,[_,ee,ne,te,le,,,re,,oe,se,ae,ie,de]=((e,n,t,l,r)=>{const o=e.hasRow,s=W(),a=W(),i=W(),d=W(),u=W(),c=W(),v=(n,t,...l)=>{const r=H(c,n,K);return g(l,(n=>N(r,n)&&t&&e.callListener(n))),l},f=(n,...t)=>S(q(c,n),(l=>{g(p(t)?z(l):t,(n=>{e.delListener(n),P(l,n)})),k(l)&&G(c,n)})),h=(e,n)=>{G(s,e,n),D(a,e)||(G(a,e,!0),G(d,e,W()),G(u,e,W()),r(i))},y=e=>{G(s,e),G(a,e),G(d,e),G(u,e),f(e),r(i)};return[()=>e,()=>{return[...null!=(n=null==(e=s)?void 0:e.keys())?n:[]];var e,n},e=>B(a,e),e=>D(a,e),e=>q(s,e),e=>q(a,e),(e,n)=>G(a,e,n),h,(n,l,r,s,a)=>{h(n,l);const i=W(),c=W(),y=q(d,n),p=q(u,n),R=n=>{const r=t=>e.getCell(l,n,t),d=q(y,n),u=o(l,n)?t(s(r,n)):void 0;var v,f;if(d===u||Q(d)&&Q(u)&&(f=u,L(v=d)===L(f)&&w(v,((e,n)=>f[n]===e)))||G(i,n,[d,u]),!O(a)){const e=q(p,n),t=o(l,n)?a(r,n):void 0;e!=t&&G(c,n,t)}},b=e=>{r((()=>{F(i,(([,e],n)=>G(y,n,e))),F(c,((e,n)=>G(p,n,e)))}),i,c,y,p,e),A(i),A(c)};B(y,R),e.hasTable(l)&&g(e.getRowIds(l),(e=>{D(y,e)||R(e)})),b(!0),f(n),v(n,0,e.addRowListener(l,null,((e,n,t)=>R(t))),e.addTableListener(l,(()=>b())))},y,e=>l(e,i),()=>B(c,y),v,f]})(r,0,j,m,Z),ue=(e,n,...t)=>g(t,(t=>N(H(H(T,n,W),e,K),t))),ce=e=>{S(q(T,e),(e=>{B(e,((e,n)=>F(n,(n=>e.delListener(n))))),A(e)})),g([R,y],(n=>n.delTable(e)))},ve=(e,n,t)=>ue(n,e,n.addStartTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),fe={setQueryDefinition:(o,s,a)=>{re(o,s),ce(o);const i=[],d=[[null,[s,null,null,[],W()]]],u=[],c=[],v=[];a({select:(e,n)=>{const t=I(e)?[L(i)+"",e]:[O(n)?e:n,t=>t(e,n)];return b(i,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const l=O(t)||I(n)?null:n,r=O(l)?n:t,o=[e,[e,l,I(r)?r:e=>e(r),[],W()]];return b(d,o),{as:e=>o[0]=e}},where:(e,n,t)=>b(u,I(e)?e:O(t)?t=>t(e)===n:l=>l(e,n)===t),group:(e,n,t,l,r)=>{var o;const s=[e,[e,I(n)?[n,t,l,r]:null!=(o=q(U,n))?o:[(e,n)=>n]]];return b(c,s),{as:e=>s[0]=e}},having:(e,n)=>b(v,I(e)?e:t=>t(e)===n)});const f=W(i);if(k(f))return fe;const h=W(d);B(h,((e,[,n])=>S(q(h,n),(({3:n})=>O(e)?0:b(n,e)))));const T=W(c);let m=y;if(k(T)&&p(v))m=R;else{ve(o,m,R);const r=W();B(T,((e,[n,t])=>N(H(r,n,K),[e,t])));const s=K();B(f,(e=>D(r,e)?0:N(s,e)));const a=W(),i=(s,a,i,d)=>S(s,(([u,c,f,h])=>{B(a,((o,[s])=>{const a=H(u,o,W),c=q(a,i),v=d?void 0:s;if(c!==v){const s=K([[c,v]]),d=M(a);G(a,i,v),F(q(r,o),(([r,o])=>{const i=((e,n,t,l,r,o=!1)=>{if(k(t))return;const[s,a,i,d]=r;return o||(o=O(e)),F(l,(([t,l])=>{o||(e=O(t)?null==a?void 0:a(e,l,n++):O(l)?null==i?void 0:i(e,t,n--):null==d?void 0:d(e,l,t,n),o||(o=O(e)))})),o?s(z(t),M(t)):e})(h[r],d,a,s,o);h[r]=O((r=>{const o=e(r);return(e=>e==n||e==t)(o)||o==l&&C(r)?o:void 0})(i))?null:i}))}})),k(c)||!w(v,(e=>e((e=>h[e]))))?R.delRow(o,f):O(f)?s[2]=R.addRow(o,h):R.setRow(o,f,h)}));ue(m,o,m.addRowListener(o,null,((e,n,t,l)=>{const d=[],u=[],c=W(),v=m.hasRow(o,t);let f=!v;F(s,(e=>{const[n,r,s]=l(o,t,e);b(d,r),b(u,s),f||(f=n)})),B(r,(e=>{const[n,,r]=l(o,t,e);(f||n)&&G(c,e,[r])})),f&&i(J(a,d,void 0,(([,e])=>(P(e,t),k(e)))),c,t,1),v&&i(J(a,u,(()=>{const e={};return F(s,(n=>e[n]=m.getCell(o,t,n))),[W(),K(),void 0,e]}),(([,e])=>{N(e,t)})),c,t)})))}ve(o,r,m);const Q=(e,n,t,l)=>{const a=e=>r.getCell(n,t,e);g(l,(n=>{var t;const[l,,s,i,d]=q(h,n),u=null==s?void 0:s(a,e),[c,v]=null!=(t=q(d,e))?t:[];u!=c&&(O(v)||de(o,v),G(d,e,O(u)?null:[u,...ie(o,1,r.addRowListener(l,u,(()=>Q(e,l,u,i))))]))})),(e=>{const n=(n,t)=>{var l,o,a;return r.getCell(...O(t)?[s,e,n]:n===s?[s,e,t]:[null==(l=q(h,n))?void 0:l[0],null==(a=q(null==(o=q(h,n))?void 0:o[4],e))?void 0:a[0],t])};m.transaction((()=>w(u,(e=>e(n)))?B(f,((t,l)=>((e,n,t,l,r)=>O(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(m,o,e,t,l(n,e)))):m.delRow(o,e)))})(e)},{3:j}=q(h,null);return m.transaction((()=>ie(o,1,r.addRowListener(s,null,((e,n,t)=>{r.hasRow(s,t)?Q(t,s,t,j):(m.delRow(o,t),F(h,(({4:e})=>S(q(e,t),(([,n])=>{de(o,n),G(e,t)})))))}))))),fe},delQueryDefinition:e=>(ce(e),oe(e),fe),getStore:_,getQueryIds:ee,forEachQuery:ne,hasQuery:te,getTableId:le,addQueryIdsListener:e=>se((()=>e(fe))),delListener:e=>($(e),fe),destroy:ae,getListenerStats:()=>((e,n)=>{var t={};for(var l in e)X.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&V)for(var l of V(e))n.indexOf(l)<0&&Y.call(e,l)&&(t[l]=e[l]);return t})(R.getListenerStats(),["tables","tableIds","transaction"])};var he,we;return he={[i]:[1,1],[i+h]:[0,1],[u]:[0,1],[c]:[0,1],[v]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},we=([e,n],t)=>{g(e?["get","has","forEach"]:["get"],(e=>fe[e+s+t]=(...n)=>R[e+t](...n))),fe["add"+s+t+o]=(...e)=>{return R["add"+t+o](...(l=e,0,r=n,l.slice(0,r)),((t,...l)=>e[n](fe,...l)));var l,r}},((e,n)=>{e.map(n)})(x.entries(he),(([e,n])=>we(n,e))),E(fe)})(r)),a.get(r))})();export{Z as createQueries};
|
|
1
|
+
const e=e=>typeof e,n=e(""),t=e(!0),l=e(0),r=e(e),o="Listener",s="Result",a="Ids",i="Table",d="Row",u=d+"Count",c=d+a,v="Sorted"+d+a,f="Cell",h=f+a,w=(e,n)=>e.every(n),g=(e,n)=>e.forEach(n),y=e=>R(e,((e,n)=>e+n),0),L=e=>e.length,p=e=>0==L(e),R=(e,n,t)=>e.reduce(n,t),b=(e,...n)=>e.push(...n),T=Math.max,m=Math.min,C=isFinite,O=e=>null==e,S=(e,n,t)=>O(e)?null==t?void 0:t():n(e),I=n=>e(n)==r,Q=e=>Array.isArray(e),j=()=>{},x=Object,E=x.freeze,M=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},D=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},k=e=>O(e)||0==M(e),z=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=e=>e.clear(),F=(e,n)=>null==e?void 0:e.forEach(n),P=(e,n)=>null==e?void 0:e.delete(n),W=e=>new Map(e),q=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>F(e,((e,t)=>n(t,e))),G=(e,n,t)=>O(t)?(P(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(D(e,n)||G(e,n,t()),q(e,n)),J=(e,n,t,l,r=0)=>S((t?H:q)(e,n[r],r>L(n)-2?t:W),(o=>{if(r>L(n)-2)return(null==l?void 0:l(o))&&G(e,n[r]),o;const s=J(o,n,t,l,r+1);return k(o)&&G(e,n[r]),s})),K=e=>new Set(Q(e)||O(e)?e:[e]),N=(e,n)=>null==e?void 0:e.add(n),U=W([["avg",[(e,n)=>y(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>T(...e),(e,n)=>T(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:T(n,e)]],["min",[e=>m(...e),(e,n)=>m(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:m(n,e)]],["sum",[e=>y(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]);var V=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;const Z=(r=>{const a=new WeakMap;return r=>(a.has(r)||a.set(r,(r=>{const a=r.createStore,y=a(),R=a(),T=W(),{addListener:m,callListeners:Z,delListener:$}=R,[_,ee,ne,te,le,,,re,,oe,se,ae,ie,de]=((e,n,t,l,r)=>{const o=e.hasRow,s=W(),a=W(),i=W(),d=W(),u=W(),c=W(),v=(n,t,...l)=>{const r=H(c,n,K);return g(l,(n=>N(r,n)&&t&&e.callListener(n))),l},f=(n,...t)=>S(q(c,n),(l=>{g(p(t)?z(l):t,(n=>{e.delListener(n),P(l,n)})),k(l)&&G(c,n)})),h=(e,n)=>{G(s,e,n),D(a,e)||(G(a,e,!0),G(d,e,W()),G(u,e,W()),r(i))},y=e=>{G(s,e),G(a,e),G(d,e),G(u,e),f(e),r(i)};return[()=>e,()=>{return[...null!=(n=null==(e=s)?void 0:e.keys())?n:[]];var e,n},e=>B(a,e),e=>D(a,e),e=>q(s,e),e=>q(a,e),(e,n)=>G(a,e,n),h,(n,l,r,s,a)=>{h(n,l);const i=W(),c=W(),y=q(d,n),p=q(u,n),R=n=>{const r=t=>e.getCell(l,n,t),d=q(y,n),u=o(l,n)?t(s(r,n)):void 0;var v,f;if(d===u||Q(d)&&Q(u)&&(f=u,L(v=d)===L(f)&&w(v,((e,n)=>f[n]===e)))||G(i,n,[d,u]),!O(a)){const e=q(p,n),t=o(l,n)?a(r,n):void 0;e!=t&&G(c,n,t)}},b=e=>{r((()=>{F(i,(([,e],n)=>G(y,n,e))),F(c,((e,n)=>G(p,n,e)))}),i,c,y,p,e),A(i),A(c)};B(y,R),e.hasTable(l)&&g(e.getRowIds(l),(e=>{D(y,e)||R(e)})),b(!0),f(n),v(n,0,e.addRowListener(l,null,((e,n,t)=>R(t))),e.addTableListener(l,(()=>b())))},y,e=>l(e,i),()=>B(c,y),v,f]})(r,0,j,m,Z),ue=(e,n,...t)=>g(t,(t=>N(H(H(T,n,W),e,K),t))),ce=e=>{S(q(T,e),(e=>{B(e,((e,n)=>F(n,(n=>e.delListener(n))))),A(e)})),g([R,y],(n=>n.delTable(e)))},ve=(e,n,t)=>ue(n,e,n.addStartTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),fe={setQueryDefinition:(o,s,a)=>{re(o,s),ce(o);const i=[],d=[[null,[s,null,null,[],W()]]],u=[],c=[],v=[];a({select:(e,n)=>{const t=I(e)?[L(i)+"",e]:[O(n)?e:n,t=>t(e,n)];return b(i,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const l=O(t)||I(n)?null:n,r=O(l)?n:t,o=[e,[e,l,I(r)?r:e=>e(r),[],W()]];return b(d,o),{as:e=>o[0]=e}},where:(e,n,t)=>b(u,I(e)?e:O(t)?t=>t(e)===n:l=>l(e,n)===t),group:(e,n,t,l,r)=>{var o;const s=[e,[e,I(n)?[n,t,l,r]:null!=(o=q(U,n))?o:[(e,n)=>n]]];return b(c,s),{as:e=>s[0]=e}},having:(e,n)=>b(v,I(e)?e:t=>t(e)===n)});const f=W(i);if(k(f))return fe;const h=W(d);B(h,((e,[,n])=>S(q(h,n),(({3:n})=>O(e)?0:b(n,e)))));const T=W(c);let m=y;if(k(T)&&p(v))m=R;else{ve(o,m,R);const r=W();B(T,((e,[n,t])=>N(H(r,n,K),[e,t])));const s=K();B(f,(e=>D(r,e)?0:N(s,e)));const a=W(),i=(s,a,i,d)=>S(s,(([u,c,f,h])=>{B(a,((o,[s])=>{const a=H(u,o,W),c=q(a,i),v=d?void 0:s;if(c!==v){const s=K([[c,v]]),d=M(a);G(a,i,v),F(q(r,o),(([r,o])=>{const i=((e,n,t,l,r,o=!1)=>{if(k(t))return;const[s,a,i,d]=r;return o||(o=O(e)),F(l,(([t,l])=>{o||(e=O(t)?null==a?void 0:a(e,l,n++):O(l)?null==i?void 0:i(e,t,n--):null==d?void 0:d(e,l,t,n),o||(o=O(e)))})),o?s(z(t),M(t)):e})(h[r],d,a,s,o);h[r]=O((r=>{const o=e(r);return(e=>e==n||e==t)(o)||o==l&&C(r)?o:void 0})(i))?null:i}))}})),k(c)||!w(v,(e=>e((e=>h[e]))))?R.delRow(o,f):O(f)?s[2]=R.addRow(o,h):R.setRow(o,f,h)}));ue(m,o,m.addRowListener(o,null,((e,n,t,l)=>{const d=[],u=[],c=W(),v=m.hasRow(o,t);let f=!v;F(s,(e=>{const[n,r,s]=l(o,t,e);b(d,r),b(u,s),f||(f=n)})),B(r,(e=>{const[n,,r]=l(o,t,e);(f||n)&&G(c,e,[r])})),f&&i(J(a,d,void 0,(([,e])=>(P(e,t),k(e)))),c,t,1),v&&i(J(a,u,(()=>{const e={};return F(s,(n=>e[n]=m.getCell(o,t,n))),[W(),K(),void 0,e]}),(([,e])=>{N(e,t)})),c,t)})))}ve(o,r,m);const Q=(e,n,t,l)=>{const a=e=>r.getCell(n,t,e);g(l,(n=>{var t;const[l,,s,i,d]=q(h,n),u=null==s?void 0:s(a,e),[c,v]=null!=(t=q(d,e))?t:[];u!=c&&(O(v)||de(o,v),G(d,e,O(u)?null:[u,...ie(o,1,r.addRowListener(l,u,(()=>Q(e,l,u,i))))]))})),(e=>{const n=(n,t)=>{var l,o,a;return r.getCell(...O(t)?[s,e,n]:n===s?[s,e,t]:[null==(l=q(h,n))?void 0:l[0],null==(a=q(null==(o=q(h,n))?void 0:o[4],e))?void 0:a[0],t])};m.transaction((()=>w(u,(e=>e(n)))?B(f,((t,l)=>((e,n,t,l,r)=>O(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(m,o,e,t,l(n,e)))):m.delRow(o,e)))})(e)},{3:j}=q(h,null);return m.transaction((()=>ie(o,1,r.addRowListener(s,null,((e,n,t)=>{r.hasRow(s,t)?Q(t,s,t,j):(m.delRow(o,t),F(h,(({4:e})=>S(q(e,t),(([,n])=>{de(o,n),G(e,t)})))))}))))),fe},delQueryDefinition:e=>(ce(e),oe(e),fe),getStore:_,getQueryIds:ee,forEachQuery:ne,hasQuery:te,getTableId:le,addQueryIdsListener:e=>se((()=>e(fe))),delListener:e=>($(e),fe),destroy:ae,getListenerStats:()=>((e,n)=>{var t={};for(var l in e)X.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&V)for(var l of V(e))n.indexOf(l)<0&&Y.call(e,l)&&(t[l]=e[l]);return t})(R.getListenerStats(),["tables","tableIds","transaction"])};var he,we;return he={[i]:[1,1],[i+h]:[0,1],[u]:[0,1],[c]:[0,1],[v]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},we=([e,n],t)=>{g(e?["get","has","forEach"]:["get"],(e=>fe[e+s+t]=(...n)=>R[e+t](...n))),fe["add"+s+t+o]=(...e)=>{return R["add"+t+o](...(l=e,0,r=n,l.slice(0,r)),((t,...l)=>e[n](fe,...l)),!0);var l,r}},((e,n)=>{e.map(n)})(x.entries(he),(([e,n])=>we(n,e))),E(fe)})(r)),a.get(r))})();export{Z as createQueries};
|
package/lib/es6/queries.js.gz
CHANGED
|
Binary file
|
package/lib/es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Ids",v="Table",h=v+"s",f=v+c,g="Row",L=g+"Count",y=g+c,I="Sorted"+g+c,S="Cell",w=S+c,R="Value",T=R+"s",p=R+c,C=e=>t+e,b=Math.max,m=Math.min,V=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,x=(e,t,n)=>k(e)?null==n?void 0:n():t(e),M=e=>e==n||e==l,D=t=>e(t)==o,J=e=>Array.isArray(e),A=(e,t,n)=>e.slice(t,n),O=()=>{},F=(e,t)=>e.includes(t),P=(e,t)=>e.every(t),Q=(e,t)=>$(e)===$(t)&&P(e,((e,n)=>t[n]===e)),j=(e,t)=>P(e,((n,l)=>0==l||t(e[l-1],n)<=0)),z=(e,t)=>e.sort(t),N=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),B=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,n)=>e.reduce(t,n),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>x(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),le=(e,t)=>W(X.entries(e),(([e,n])=>t(n,e))),se=e=>ee(e)&&0==(e=>$(Y(e)))(e),oe=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},re=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ie=e=>k(e)||0==oe(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},de=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ce=(e,t)=>null==e?void 0:e.delete(t),ve=e=>new Map(e),he=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},fe=(e,t)=>null==e?void 0:e.get(t),ge=(e,t)=>ue(e,((e,n)=>t(n,e))),Le=(e,t,n)=>k(n)?(ce(e,t),e):null==e?void 0:e.set(t,n),ye=(e,t,n)=>(re(e,t)||Le(e,t,n()),fe(e,t)),Ie=(e,t,n,l=Le)=>(le(t,((t,l)=>n(e,l,t))),ge(e,(n=>te(t,n)?0:l(e,n))),e),Se=(e,t,n)=>{const l={};return ue(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)=>Se(e,(e=>Se(e,t,n)),se),Re=(e,t,n)=>Se(e,(e=>we(e,t,n)),se),Te=(e,t)=>{const n=ve();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},pe=e=>Te(e,Te),Ce=e=>Te(e,pe),be=(e,t,n,l,s=0)=>x((n?ye:fe)(e,t[s],s>$(t)-2?n:ve),(o=>{if(s>$(t)-2)return(null==l?void 0:l(o))&&Le(e,t[s]),o;const r=be(o,t,n,l,s+1);return ie(o)&&Le(e,t[s]),r})),me=t=>{const n=e(t);return M(n)||n==s&&V(t)?n:void 0},Ve=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Ee=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(J(e)||k(e)?e:[e]),xe=(e,t)=>null==e?void 0:e.add(t),Me=(e,t,n,l,s)=>{const o=e.hasRow,r=ve(),i=ve(),a=ve(),d=ve(),u=ve(),c=ve(),v=(t,n,...l)=>{const s=ye(c,t,ke);return N(l,(t=>xe(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>x(fe(c,t),(l=>{N(q(n)?ae(l):n,(t=>{e.delListener(t),ce(l,t)})),ie(l)&&Le(c,t)})),f=(e,n)=>{Le(r,e,n),re(i,e)||(Le(i,e,t()),Le(d,e,ve()),Le(u,e,ve()),s(a))},g=e=>{Le(r,e),Le(i,e),Le(d,e),Le(u,e),h(e),s(a)};return[()=>e,()=>he(r),e=>ge(i,e),e=>re(i,e),e=>fe(r,e),e=>fe(i,e),(e,t)=>Le(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=ve(),c=ve(),g=fe(d,t),L=fe(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=fe(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||J(d)&&J(u)&&Q(d,u)||Le(a,t,[d,u]),!k(i)){const e=fe(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&Le(c,t,n)}},I=e=>{s((()=>{ue(a,(([,e],t)=>Le(g,t,e))),ue(c,((e,t)=>Le(L,t,e)))}),a,c,g,L,e),de(a),de(c)};ge(g,y),e.hasTable(l)&&N(e.getRowIds(l),(e=>{re(g,e)||y(e)})),I(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>I())))},g,e=>l(e,a),()=>ge(c,g),v,h]},De=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Je=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Oe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?U(e):null)?s:t+n++},t=>{Ae.test(t)&&$(e)<1e3&&H(e,t)}]},Fe=e=>{let n;const[l,s]=Oe(),o=ve();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return Le(o,u,[s,r,i,a,d]),xe(be(r,null!=i?i:[t],ke),u),u},(e,l,...s)=>N(((e,n=[t])=>{const l=[],s=(e,t)=>t==$(n)?H(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):N([n[t],null],(n=>s(fe(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>fe(o,e)[0](n,...null!=l?l:[],...s))))),e=>x(fe(o,e),(([,n,l])=>(be(n,null!=l?l:[t],void 0,(t=>(ce(t,e),ie(t)?1:0))),Le(o,e),s(e),l))),e=>x(fe(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=$(r);d==$(t)?e(n,...r,...s(r)):k(t[d])?N(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Pe=Je((e=>{let n,l,s,o=100,r=ve(),i=ve(),a=1;const d=ve(),u=ve(),[c,v,h]=Fe((()=>O)),f=ve(),g=ve(),L=[],y=[],I=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=fe(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ve(e,l,s,o,n[t]))))))),ue(s,((n,l)=>Ee(e,l,n[t])))})),a=1},S=e=>{Le(f,e),Le(g,e),v(u,[e])},w=(e,t)=>N(((e,t)=>e.splice(0,t))(e,null!=t?t:$(e)),S),R=()=>w(L,$(L)-o),T=()=>x(n,(()=>{H(L,n),R(),w(y),n=void 0,s=1})),p=()=>{n=K(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){T();const e=ye(r,t,ve),i=ye(e,n,ve),a=ye(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ie(Le(i,l))&&ie(Le(e,n))&&ie(Le(r,t))&&p(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=ye(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ie(Le(i,t))&&p(),M()}})),m=(e="")=>(k(n)&&(n=t+l++,Le(f,n,[r,i]),J(n,e),r=ve(),i=ve(),s=1),n),V=()=>{q(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),I(0,n),n=K(L),s=1)},E=()=>{q(y)||(H(L,n),n=U(y),I(1,n),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(A(e)&&fe(g,e)!==t&&(Le(g,e,t),v(u,[e])),O),A=e=>re(f,e),O={setSize:e=>(o=e,R(),O),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>ge(g,e),hasCheckpoint:A,getCheckpoint:e=>fe(g,e),goBackward:()=>(V(),M(),O),goForward:()=>(E(),M(),O),goTo:e=>{const t=F(L,e)?V:F(y,e)?E:null;for(;!k(t)&&e!=n;)t();return M(),O},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),O),clear:()=>(w(L),w(y),k(n)||S(n),n=void 0,l=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(O.clear())})),Qe=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,je=Je((e=>{const n=ve(),l=ve(),[s,o,r]=Fe((()=>S)),[i,a,d,u,c,v,h,,f,g,L,y]=Me(e,ve,(e=>k(e)?t:J(e)?W(e,C):C(e)),s,o),I=(t,n,l)=>{const s=c(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,r,i,a=Qe)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,t,((t,s,i,u,c,f)=>{let g=0;const L=ke(),y=ke(),I=v(e);if(ue(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ue(l,(e=>ce(s,e)?ce(l,e):0)),ue(l,(e=>{xe(L,e),x(fe(I,e),(t=>{ce(t,n),ie(t)&&(Le(I,e),g=1)}))})),ue(s,(e=>{xe(L,e),re(I,e)||(Le(I,e,ke()),g=1),xe(fe(I,e),n),k(r)||xe(y,e)}))})),t(),ie(c)||(f?ge(I,(e=>xe(y,e))):ge(i,(e=>x(fe(u,e),(e=>xe(y,e))))),ue(y,(e=>{const t=(t,n)=>a(fe(c,t),fe(c,n),e),n=[...fe(I,e)];j(n,t)||(Le(I,e,ke(z(n,t))),xe(L,e))}))),(g||f)&&!k(d)){const t=[...I];j(t,d)||(h(e,ve(z(t,d))),g=1)}g&&o(n,[e]),ue(L,(t=>o(l,[e,t])))}),De(s),x(r,De)),S},delIndexDefinition:e=>(g(e),S),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>re(v(e),t),getTableId:c,getSliceIds:e=>he(v(e)),getSliceRowIds:(e,t)=>ae(fe(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,t)=>s(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),S),destroy:y,getListenerStats:()=>({})};return _(S)})),ze=ve([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,s,o=!1)=>{if(ie(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ue(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(ae(n),oe(n)):e},We=Je((e=>{const n=ve(),[l,s,o]=Fe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=Me(e,O,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),l,s),y={setMetricDefinition:(e,t,l,o,r,i,a)=>{var d;const u=D(l)?[l,r,i,a]:null!=(d=fe(ze,l))?d:fe(ze,"sum");return h(e,t,((t,l,o,r,i,a)=>{const d=c(e),h=oe(r);a||(a=k(d)),t();let f=Ne(d,h,r,l,u,a);V(f)||(f=void 0),f!=d&&(v(e,f),s(n,[e],f,d))}),De(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return _(y)}));var Be=(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 $e=ve(),qe=ve(),Ge=(e,t,n,l,s,o,r=[])=>{let i,a,d,u=0,c=0;ye($e,r,(()=>0)),ye(qe,r,(()=>[]));const v=e=>Be(void 0,null,(function*(){return 2!=u&&(u=1,yield h.schedule((()=>Be(void 0,null,(function*(){yield e(),u=0}))))),h})),h={load:(n,l)=>Be(void 0,null,(function*(){return yield v((()=>Be(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>Be(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,d=l(((n,l)=>Be(void 0,null,(function*(){if(l){const t=l();yield v((()=>Be(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield v((()=>Be(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)}}))))})))),h})),stopAutoLoad:()=>(c&&(s(d),d=void 0,c=0),h),save:t=>Be(void 0,null,(function*(){return 1!=u&&(u=2,yield h.schedule((()=>Be(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}u=0}))))),h})),startAutoSave:()=>Be(void 0,null,(function*(){return yield h.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();se(n)&&se(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(x(i,e.delListener),h),schedule:(...e)=>Be(void 0,null,(function*(){return H(fe(qe,r),...e),yield Be(void 0,null,(function*(){if(!fe($e,r)){for(Le($e,r,1);!k(a=U(fe(qe,r)));)try{yield a()}catch(e){null==o||o(e)}Le($e,r,0)}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(h)};var He=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;const Xe=Je((e=>{const n=e.createStore,l=n(),s=n(),o=ve(),{addListener:r,callListeners:i,delListener:c}=s,[h,f,R,T,p,,,C,,b,m,V,E,M]=Me(e,(()=>!0),O,r,i),J=(e,t,...n)=>N(n,(n=>xe(ye(ye(o,t,ve),e,ke),n))),F=e=>{x(fe(o,e),(e=>{ge(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),N([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>J(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),j={setQueryDefinition:(n,o,r)=>{C(n,o),F(n);const i=[],a=[[null,[o,null,null,[],ve()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=D(e)?[$(i)+t,e]:[k(n)?e:n,t=>t(e,n)];return H(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||D(t)?null:t,s=k(l)?t:n,o=[e,[e,l,D(s)?s:e=>e(s),[],ve()]];return H(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>H(d,D(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,D(t)?[t,n,l,s]:null!=(o=fe(ze,t))?o:[(e,t)=>t]]];return H(u,r),{as:e=>r[0]=e}},having:(e,t)=>H(c,D(e)?e:n=>n(e)===t)});const v=ve(i);if(ie(v))return j;const h=ve(a);ge(h,((e,[,t])=>x(fe(h,t),(({3:t})=>k(e)?0:H(t,e)))));const f=ve(u);let g=l;if(ie(f)&&q(c))g=s;else{Q(n,g,s);const e=ve();ge(f,((t,[n,l])=>xe(ye(e,n,ke),[t,l])));const t=ke();ge(v,(n=>re(e,n)?0:xe(t,n)));const l=ve(),o=(t,l,o,r)=>x(t,(([i,a,d,u])=>{ge(l,((t,[n])=>{const l=ye(i,t,ve),s=fe(l,o),a=r?void 0:n;if(s!==a){const n=ke([[s,a]]),r=oe(l);Le(l,o,a),ue(fe(e,t),(([e,t])=>{const s=Ne(u[e],r,l,n,t);u[e]=k(me(s))?null:s}))}})),ie(a)||!P(c,(e=>e((e=>u[e]))))?s.delRow(n,d):k(d)?t[2]=s.addRow(n,u):s.setRow(n,d,u)}));J(g,n,g.addRowListener(n,null,((s,r,i,a)=>{const d=[],u=[],c=ve(),v=g.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);H(d,l),H(u,s),h||(h=t)})),ge(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&Le(c,e,[l])})),h&&o(be(l,d,void 0,(([,e])=>(ce(e,i),ie(e)))),c,i,1),v&&o(be(l,u,(()=>{const e={};return ue(t,(t=>e[t]=g.getCell(n,i,t))),[ve(),ke(),void 0,e]}),(([,e])=>{xe(e,i)})),c,i)})))}Q(n,e,g);const L=(t,l,s,r)=>{const i=t=>e.getCell(l,s,t);N(r,(l=>{var s;const[o,,r,a,d]=fe(h,l),u=null==r?void 0:r(i,t),[c,v]=null!=(s=fe(d,t))?s:[];u!=c&&(k(v)||M(n,v),Le(d,t,k(u)?null:[u,...E(n,1,e.addRowListener(o,u,(()=>L(t,o,u,a))))]))})),(t=>{const l=(n,l)=>{var s,r,i;return e.getCell(...k(l)?[o,t,n]:n===o?[o,t,l]:[null==(s=fe(h,n))?void 0:s[0],null==(i=fe(null==(r=fe(h,n))?void 0:r[4],t))?void 0:i[0],l])};g.transaction((()=>P(d,(e=>e(l)))?ge(v,((e,s)=>Ve(g,n,t,e,s(l,t)))):g.delRow(n,t)))})(t)},{3:y}=fe(h,null);return g.transaction((()=>E(n,1,e.addRowListener(o,null,((t,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(n,s),ue(h,(({4:e})=>x(fe(e,s),(([,t])=>{M(n,t),Le(e,s)})))))}))))),j},delQueryDefinition:e=>(F(e),b(e),j),getStore:h,getQueryIds:f,forEachQuery:R,hasQuery:T,getTableId:p,addQueryIdsListener:e=>m((()=>e(j))),delListener:e=>(c(e),j),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ke.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&He)for(var l of He(e))t.indexOf(l)<0&&Ue.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return le({[v]:[1,1],[v+w]:[0,1],[L]:[0,1],[y]:[0,1],[I]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{N(e?["get","has","forEach"]:["get"],(e=>j[e+d+n]=(...t)=>s[e+n](...t))),j[u+d+n+a]=(...e)=>s[u+n+a](...A(e,0,t),((n,...l)=>e[t](j,...l)))})),_(j)})),Ye=Je((e=>{const n=ve(),l=ve(),s=ve(),o=ve(),[r,i,a]=Fe((()=>T)),[d,u,c,v,h,f,,,g,L,y,I]=Me(e,(()=>[ve(),ve(),ve(),ve()]),(e=>k(e)?void 0:e+t),r,i),S=(e,t,n)=>x(f(e),(([l,,s])=>{if(!re(s,t)){const o=ke();if(h(e)!=R(e))xe(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)xe(o,e),e=fe(l,e)}if(n)return o;Le(s,t,o)}return fe(s,t)})),w=(e,t)=>x(f(e),(([,,e])=>Le(e,t))),R=e=>fe(n,e),T={setRelationshipDefinition:(e,t,r,a)=>(Le(n,e,r),g(e,t,((t,n)=>{const r=ke(),a=ke(),d=ke(),[u,c]=f(e);ue(n,(([t,n],l)=>{k(t)||(xe(a,t),x(fe(c,t),(e=>{ce(e,l),ie(e)&&Le(c,t)}))),k(n)||(xe(a,n),re(c,n)||Le(c,n,ke()),xe(fe(c,n),l)),xe(r,l),Le(u,l,n),ge(fe(o,e),(t=>{re(S(e,t),l)&&xe(d,t)}))})),t(),ue(r,(t=>i(l,[e,t]))),ue(a,(t=>i(s,[e,t]))),ue(d,(t=>{w(e,t),i(o,[e,t])}))}),De(a)),T),delRelationshipDefinition:e=>(Le(n,e),L(e),T),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>{var n;return fe(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ae(fe(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:ae(S(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)=>(S(e,t),r(n,o,[e,t])),delListener:e=>{var t;return w(...null!=(t=a(e))?t:[]),T},destroy:I,getListenerStats:()=>({})};return _(T)})),Ze=e=>[e,e],_e=()=>[ve(),ve()],et=e=>[...e],tt=([e,t])=>e===t,nt=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),lt=JSON.parse,st=(e,t,n)=>k(e)||!ee(e)||se(e)||Z(e)?(null==n||n(),!1):(le(e,((n,l)=>{t(n,l)||ne(e,l)})),!se(e)),ot=(e,t,n)=>Le(e,t,fe(e,t)==-n?void 0:n),rt=()=>{let e,t,n=!1,l=!1,o=0;const d=ve(),c=ve(),I=ve(),b=ve(),m=ve(),V=ve(),E=ve(),J=ve(),O=ve(),P=ve(),j=ve(),B=ve(),$=ve(),q=ve(),G=ke(),K=ve(),U=ve(),X=ve(),Y=ve(),Z=_e(),ee=_e(),ae=_e(),be=_e(),Me=_e(),De=_e(),Je=_e(),Ae=_e(),Pe=_e(),je=_e(),ze=_e(),Ne=_e(),We=_e(),Be=_e(),$e=_e(),qe=ve(),Ge=_e(),[He,Ke,Ue,Xe]=Fe((()=>wn)),Ye=e=>{if(!st(e,((e,t)=>F([r,i],t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(me(e[i])!=t&&ne(e,i),0))},it=(t,n)=>(!e||re(j,n)||Pt(n))&&st(t,((e,t)=>at(n,t,e)),(()=>Pt(n))),at=(e,t,n,l)=>st(l?n:vt(n,e,t),((l,s)=>x(dt(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Pt(e,t))),dt=(t,n,l,s)=>e?x(fe(fe(j,t),l),(e=>me(s)!=e[r]?Pt(t,n,l,s,e[i]):s),(()=>Pt(t,n,l,s))):k(me(s))?Pt(t,n,l,s):s,ut=(e,t)=>st(t?e:ht(e),((t,n)=>x(ct(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Qt())),ct=(e,n)=>t?x(fe($,e),(t=>me(n)!=t[r]?Qt(e,n,t[i]):n),(()=>Qt(e,n))):k(me(n))?Qt(e,n):n,vt=(e,t,n)=>(x(fe(B,t),(([l,s])=>{ue(l,((t,n)=>{te(e,n)||(e[n]=t)})),ue(s,(l=>{te(e,l)||Pt(t,n,l)}))})),e),ht=e=>(t&&(ue(q,((t,n)=>{te(e,n)||(e[n]=t)})),ue(G,(t=>{te(e,t)||Qt(t)}))),e),ft=e=>Ie(j,e,((e,t,n)=>{const l=ve(),s=ke();Ie(ye(j,t,ve),n,((e,t,n)=>{Le(e,t,n),x(n[i],(e=>Le(l,t,e)),(()=>xe(s,t)))})),Le(B,t,[l,s])}),((e,t)=>{Le(j,t),Le(B,t)})),gt=e=>Ie($,e,((e,t,n)=>{Le($,t,n),x(n[i],(e=>Le(q,t,e)),(()=>xe(G,t)))}),((e,t)=>{Le($,t),Le(q,t),ce(G,t)})),Lt=e=>se(e)?cn():on(e),yt=e=>Ie(X,e,((e,t,n)=>It(t,n)),((e,t)=>Vt(t))),It=(e,t)=>Ie(ye(X,e,(()=>(Mt(e,1),Le(K,e,Oe()),Le(U,e,ve()),ve()))),t,((t,n,l)=>St(e,t,n,l)),((t,n)=>Et(e,t,n))),St=(e,t,n,l,s)=>Ie(ye(t,n,(()=>(Dt(e,n,1),ve()))),l,((t,l,s)=>wt(e,n,t,l,s)),((l,o)=>kt(e,t,n,l,o,s))),wt=(e,t,n,l,s)=>{re(n,l)||Jt(e,t,l,1);const o=fe(n,l);s!==o&&(At(e,t,l,o,s),Le(n,l,s))},Rt=(e,t,n,l,s)=>x(fe(t,n),(t=>wt(e,n,t,l,s)),(()=>St(e,t,n,vt({[l]:s},e,n)))),Tt=e=>se(e)?fn():rn(e),pt=e=>Ie(Y,e,((e,t,n)=>Ct(t,n)),((e,t)=>xt(t))),Ct=(e,t)=>{re(Y,e)||Ot(e,1);const n=fe(Y,e);t!==n&&(Ft(e,n,t),Le(Y,e,t))},bt=(e,t)=>{const[n]=fe(K,e),l=n(t);return re(fe(X,e),l)?bt(e,t):l},mt=e=>{var t;return null!=(t=fe(X,e))?t:It(e,{})},Vt=e=>It(e,{}),Et=(e,t,n)=>{const[,l]=fe(K,e);l(n),St(e,t,n,{},!0)},kt=(e,t,n,l,s,o)=>{var r;const i=fe(null==(r=fe(B,e))?void 0:r[0],s);if(!k(i)&&!o)return wt(e,n,l,s,i);const a=t=>{At(e,n,t,fe(l,t)),Jt(e,n,t,-1),Le(l,t)};k(i)?a(s):ge(l,a),ie(l)&&(Dt(e,n,-1),ie(Le(t,n))&&(Mt(e,-1),Le(X,e),Le(K,e),Le(U,e)))},xt=e=>{const t=fe(q,e);if(!k(t))return Ct(e,t);Ft(e,fe(Y,e)),Ot(e,-1),Le(Y,e)},Mt=(e,t)=>ot(d,e,t),Dt=(e,t,n)=>ot(ye(b,e,ve),t,n)&&Le(I,e,ye(I,e,(()=>0))+n),Jt=(e,t,n,l)=>{var s;const o=fe(U,e),r=null!=(s=fe(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&ot(ye(c,e,ve),n,l),Le(o,n,r!=-l?r+l:null),ot(ye(ye(m,e,ve),t,ve),n,l)},At=(e,t,n,l,s)=>ye(ye(ye(V,e,ve),t,ve),n,(()=>[l,0]))[1]=s,Ot=(e,t)=>ot(E,e,t),Ft=(e,t,n)=>ye(J,e,(()=>[t,0]))[1]=n,Pt=(e,t,n,l,s)=>(H(ye(ye(ye(O,e,ve),t,ve),n,(()=>[])),l),s),Qt=(e,t,n)=>(H(ye(P,e,(()=>[])),t),n),jt=(e,t,n)=>x(fe(fe(fe(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(tn(e,t,n))])),zt=e=>x(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(sn(e))])),Nt=e=>ie(O)||ie(ze[e])?0:ue(e?Ce(O):O,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ke(ze[e],[n,l,s],t))))))),Wt=e=>ie(P)||ie(Ne[e])?0:ue(e?Te(P):P,((t,n)=>Ke(Ne[e],[n],t))),Bt=(e,t,n)=>{if(!ie(t))return Ke(e,n,(()=>Se(t))),1},$t=e=>{const t=ie(Je[e]),n=ie(Pe[e])&&ie(be[e])&&ie(Me[e])&&ie(De[e])&&t&&ie(ee[e]),l=ie(je[e])&&ie(Ae[e])&&ie(ae[e])&&ie(Z[e]);if(!n||!l){const s=e?[Te(d),pe(c),Te(I),pe(b),Ce(m),Ce(V)]:[d,c,I,b,m,V];if(!n){Bt(ee[e],s[0]),ue(s[1],((t,n)=>Bt(be[e],t,[n]))),ue(s[2],((t,n)=>{0!=t&&Ke(Me[e],[n],Yt(n))}));const n=ke();ue(s[3],((l,s)=>{Bt(De[e],l,[s])&&!t&&(Ke(Je[e],[s,null]),xe(n,s))})),t||ue(s[5],((t,l)=>{if(!re(n,l)){const n=ke();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?xe(n,s):ce(e,s))))),ue(n,(t=>Ke(Je[e],[l,t])))}})),ue(s[4],((t,n)=>ue(t,((t,l)=>Bt(Pe[e],t,[n,l])))))}if(!l){let t;ue(s[5],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ke(je[e],[l,o,a],i,n,jt),t=s=r=1)})),r&&Ke(Ae[e],[l,o],jt)})),s&&Ke(ae[e],[l],jt)})),t&&Ke(Z[e],void 0,jt)}}},qt=e=>{const t=ie(Be[e]),n=ie($e[e])&&ie(We[e]);if(!t||!n){const l=e?[Te(E),Te(J)]:[E,J];if(t||Bt(Be[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ke($e[e],[s],l,n,zt),t=1)})),t&&Ke(We[e],void 0,zt)}}},Gt=(e,...t)=>(yn((()=>e(...W(t,C)))),wn),Ht=()=>[Se(V,((e,t)=>-1===fe(d,t)?null:Se(e,((e,n)=>-1===fe(fe(b,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))),se)),se),Se(J,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))],Kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,et,tt),invalidCells:Re(O),changedValues:Se(J,et,tt),invalidValues:Se(P),changedTableIds:Se(d),changedRowIds:we(b),changedCellIds:Re(m),changedValueIds:Se(E)}),Ut=()=>Re(X),Xt=()=>he(X),Yt=e=>oe(fe(X,C(e))),Zt=e=>he(fe(X,C(e))),_t=(e,t,n,l=0,s)=>{return W(A(z((o=fe(X,C(e)),r=(e,n)=>[k(t)?n:fe(e,C(t)),n],W([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},en=(e,t)=>he(fe(fe(X,C(e)),C(t))),tn=(e,t,n)=>fe(fe(fe(X,C(e)),C(t)),C(n)),nn=()=>Se(Y),ln=()=>he(Y),sn=e=>fe(Y,C(e)),on=e=>Gt((()=>(e=>st(e,it,Pt))(e)?yt(e):0)),rn=e=>Gt((()=>ut(e)?pt(e):0)),an=e=>{try{Lt(lt(e))}catch(e){}return wn},dn=t=>Gt((()=>{if((e=st(t,(e=>st(e,Ye))))&&(ft(t),!ie(X))){const e=Ut();cn(),on(e)}})),un=e=>Gt((()=>{if(t=(e=>st(e,Ye))(e)){const n=nn();Ln(),fn(),t=!0,gt(e),rn(n)}})),cn=()=>Gt((()=>yt({}))),vn=e=>Gt((e=>re(X,e)?Vt(e):0),e),hn=(e,t)=>Gt(((e,t)=>x(fe(X,e),(n=>re(n,t)?Et(e,n,t):0))),e,t),fn=()=>Gt((()=>pt({}))),gn=()=>Gt((()=>{ft({}),e=!1})),Ln=()=>Gt((()=>{gt({}),t=!1})),yn=(e,t)=>{if(-1!=o){In();const n=e();return Sn(t),n}},In=()=>(-1!=o&&o++,1==o&&Ke(qe,void 0,Ht,Kt),wn),Sn=e=>(o>0&&(o--,0==o&&(n=!ie(V),l=!ie(J),o=1,Nt(1),n&&$t(1),Wt(1),l&&qt(1),(null==e?void 0:e(Ht,Kt))&&(ue(V,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ve(wn,t,n,l,e))))))),ue(J,(([e],t)=>Ee(wn,t,e))),n=l=!1),Ke(Ge[0],void 0,Ht,Kt),o=-1,Nt(0),n&&$t(0),Wt(0),l&&qt(0),Ke(Ge[1],void 0,Ht,Kt),o=0,n=l=!1,N([d,c,I,b,m,V,O,E,J,P],de))),wn),wn={getContent:()=>[Ut(),nn()],getTables:Ut,getTableIds:Xt,getTable:e=>we(fe(X,C(e))),getTableCellIds:e=>he(fe(U,C(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Se(fe(fe(X,C(e)),C(t))),getCellIds:en,getCell:tn,getValues:nn,getValueIds:ln,getValue:sn,hasTables:()=>!ie(X),hasTable:e=>re(X,C(e)),hasTableCell:(e,t)=>re(fe(U,C(e)),C(t)),hasRow:(e,t)=>re(fe(X,C(e)),C(t)),hasCell:(e,t,n)=>re(fe(fe(X,C(e)),C(t)),C(n)),hasValues:()=>!ie(Y),hasValue:e=>re(Y,C(e)),getTablesJson:()=>nt(X),getValuesJson:()=>nt(Y),getJson:()=>nt([X,Y]),getTablesSchemaJson:()=>nt(j),getValuesSchemaJson:()=>nt($),getSchemaJson:()=>nt([j,$]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(se(e)?cn:on)(e),(se(t)?fn:rn)(t)})),setTables:on,setTable:(e,t)=>Gt((e=>it(t,e)?It(e,t):0),e),setRow:(e,t,n)=>Gt(((e,t)=>at(e,t,n)?St(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>yn((()=>{let l;return at(e,l,t)&&(e=C(e),St(e,mt(e),l=bt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Gt(((e,t)=>{if(at(e,t,n,1)){const l=mt(e);le(n,((n,s)=>Rt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Gt(((e,t,n)=>x(dt(e,t,n,D(l)?l(tn(e,t,n)):l),(l=>Rt(e,mt(e),t,n,l)))),e,t,n),setValues:rn,setPartialValues:e=>Gt((()=>ut(e,1)?le(e,((e,t)=>Ct(t,e))):0)),setValue:(e,t)=>Gt((e=>x(ct(e,D(t)?t(sn(e)):t),(t=>Ct(e,t)))),e),setTransactionChanges:e=>Gt((()=>{le(e[0],((e,t)=>k(e)?vn(t):le(e,((e,n)=>k(e)?hn(t,n):le(e,((e,l)=>Ve(wn,t,n,l,e))))))),le(e[1],((e,t)=>Ee(wn,t,e)))})),setTablesJson:an,setValuesJson:e=>{try{Tt(lt(e))}catch(e){}return wn},setJson:e=>Gt((()=>{try{const[t,n]=lt(e);Lt(t),Tt(n)}catch(t){an(e)}})),setTablesSchema:dn,setValuesSchema:un,setSchema:(e,t)=>Gt((()=>{dn(e),un(t)})),delTables:cn,delTable:vn,delRow:hn,delCell:(e,t,n,l)=>Gt(((e,t,n)=>x(fe(X,e),(s=>x(fe(s,t),(o=>re(o,n)?kt(e,s,t,o,n,l):0))))),e,t,n),delValues:fn,delValue:e=>Gt((e=>re(Y,e)?xt(e):0),e),delTablesSchema:gn,delValuesSchema:Ln,delSchema:()=>Gt((()=>{gn(),Ln()})),transaction:yn,startTransaction:In,finishTransaction:Sn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>ge(t,e))))))))),forEachTableCell:(e,t)=>ge(fe(U,C(e)),t),forEachRow:(e,t)=>ue(fe(X,C(e)),((e,n)=>t(n,(t=>ge(e,t))))),forEachCell:(e,t,n)=>ge(fe(fe(X,C(e)),C(t)),n),forEachValue:e=>ge(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=_t(e,t,n,l,s);return He((()=>{const r=_t(e,t,n,l,s);Q(r,i)||(i=r,o(wn,e,t,n,l,s,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(Xe(e),wn),delListener:e=>(Ue(e),wn),getListenerStats:()=>({}),createStore:rt,addListener:He,callListeners:Ke};return le({[h]:[0,Z],[f]:[0,ee],[v]:[1,ae,[Xt]],[v+w]:[1,be,[Xt]],[L]:[1,Me,[Xt]],[y]:[1,De,[Xt]],[g]:[2,Ae,[Xt,Zt]],[w]:[2,Pe,[Xt,Zt]],[S]:[3,je,[Xt,Zt,en],e=>Ze(tn(...e))],InvalidCell:[3,ze],[T]:[0,We],[p]:[0,Be],[R]:[1,$e,[ln],e=>Ze(sn(e[0]))],InvalidValue:[1,Ne]},(([e,t,n,l],s)=>{wn[u+s+a]=(...s)=>He(s[e],t[s[e+1]?1:0],e>0?A(s,0,e):void 0,n,l)})),_(wn)};export{Pe as createCheckpoints,Ge as createCustomPersister,je as createIndexes,We as createMetrics,Xe as createQueries,Ye as createRelationships,rt as createStore,Qe as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Ids",v="Table",h=v+"s",f=v+c,g="Row",L=g+"Count",y=g+c,I="Sorted"+g+c,S="Cell",w=S+c,R="Value",T=R+"s",p=R+c,C=e=>t+e,b=Math.max,m=Math.min,V=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,x=(e,t,n)=>k(e)?null==n?void 0:n():t(e),M=e=>e==n||e==l,D=t=>e(t)==o,J=e=>Array.isArray(e),A=(e,t,n)=>e.slice(t,n),O=()=>{},F=(e,t)=>e.includes(t),P=(e,t)=>e.every(t),Q=(e,t)=>$(e)===$(t)&&P(e,((e,n)=>t[n]===e)),j=(e,t)=>P(e,((n,l)=>0==l||t(e[l-1],n)<=0)),z=(e,t)=>e.sort(t),N=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),B=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,n)=>e.reduce(t,n),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>x(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),le=(e,t)=>W(X.entries(e),(([e,n])=>t(n,e))),se=e=>ee(e)&&0==(e=>$(Y(e)))(e),oe=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},re=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ie=e=>k(e)||0==oe(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},de=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ce=(e,t)=>null==e?void 0:e.delete(t),ve=e=>new Map(e),he=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},fe=(e,t)=>null==e?void 0:e.get(t),ge=(e,t)=>ue(e,((e,n)=>t(n,e))),Le=(e,t,n)=>k(n)?(ce(e,t),e):null==e?void 0:e.set(t,n),ye=(e,t,n)=>(re(e,t)||Le(e,t,n()),fe(e,t)),Ie=(e,t,n,l=Le)=>(le(t,((t,l)=>n(e,l,t))),ge(e,(n=>te(t,n)?0:l(e,n))),e),Se=(e,t,n)=>{const l={};return ue(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)=>Se(e,(e=>Se(e,t,n)),se),Re=(e,t,n)=>Se(e,(e=>we(e,t,n)),se),Te=(e,t)=>{const n=ve();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},pe=e=>Te(e,Te),Ce=e=>Te(e,pe),be=(e,t,n,l,s=0)=>x((n?ye:fe)(e,t[s],s>$(t)-2?n:ve),(o=>{if(s>$(t)-2)return(null==l?void 0:l(o))&&Le(e,t[s]),o;const r=be(o,t,n,l,s+1);return ie(o)&&Le(e,t[s]),r})),me=t=>{const n=e(t);return M(n)||n==s&&V(t)?n:void 0},Ve=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Ee=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(J(e)||k(e)?e:[e]),xe=(e,t)=>null==e?void 0:e.add(t),Me=(e,t,n,l,s)=>{const o=e.hasRow,r=ve(),i=ve(),a=ve(),d=ve(),u=ve(),c=ve(),v=(t,n,...l)=>{const s=ye(c,t,ke);return N(l,(t=>xe(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>x(fe(c,t),(l=>{N(q(n)?ae(l):n,(t=>{e.delListener(t),ce(l,t)})),ie(l)&&Le(c,t)})),f=(e,n)=>{Le(r,e,n),re(i,e)||(Le(i,e,t()),Le(d,e,ve()),Le(u,e,ve()),s(a))},g=e=>{Le(r,e),Le(i,e),Le(d,e),Le(u,e),h(e),s(a)};return[()=>e,()=>he(r),e=>ge(i,e),e=>re(i,e),e=>fe(r,e),e=>fe(i,e),(e,t)=>Le(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=ve(),c=ve(),g=fe(d,t),L=fe(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=fe(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||J(d)&&J(u)&&Q(d,u)||Le(a,t,[d,u]),!k(i)){const e=fe(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&Le(c,t,n)}},I=e=>{s((()=>{ue(a,(([,e],t)=>Le(g,t,e))),ue(c,((e,t)=>Le(L,t,e)))}),a,c,g,L,e),de(a),de(c)};ge(g,y),e.hasTable(l)&&N(e.getRowIds(l),(e=>{re(g,e)||y(e)})),I(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>I())))},g,e=>l(e,a),()=>ge(c,g),v,h]},De=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Je=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Oe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?U(e):null)?s:t+n++},t=>{Ae.test(t)&&$(e)<1e3&&H(e,t)}]},Fe=e=>{let n;const[l,s]=Oe(),o=ve();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return Le(o,u,[s,r,i,a,d]),xe(be(r,null!=i?i:[t],ke),u),u},(e,l,...s)=>N(((e,n=[t])=>{const l=[],s=(e,t)=>t==$(n)?H(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):N([n[t],null],(n=>s(fe(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>fe(o,e)[0](n,...null!=l?l:[],...s))))),e=>x(fe(o,e),(([,n,l])=>(be(n,null!=l?l:[t],void 0,(t=>(ce(t,e),ie(t)?1:0))),Le(o,e),s(e),l))),e=>x(fe(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=$(r);d==$(t)?e(n,...r,...s(r)):k(t[d])?N(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Pe=Je((e=>{let n,l,s,o=100,r=ve(),i=ve(),a=1;const d=ve(),u=ve(),[c,v,h]=Fe((()=>O)),f=ve(),g=ve(),L=[],y=[],I=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=fe(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ve(e,l,s,o,n[t]))))))),ue(s,((n,l)=>Ee(e,l,n[t])))})),a=1},S=e=>{Le(f,e),Le(g,e),v(u,[e])},w=(e,t)=>N(((e,t)=>e.splice(0,t))(e,null!=t?t:$(e)),S),R=()=>w(L,$(L)-o),T=()=>x(n,(()=>{H(L,n),R(),w(y),n=void 0,s=1})),p=()=>{n=K(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){T();const e=ye(r,t,ve),i=ye(e,n,ve),a=ye(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ie(Le(i,l))&&ie(Le(e,n))&&ie(Le(r,t))&&p(),M()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=ye(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ie(Le(i,t))&&p(),M()}})),m=(e="")=>(k(n)&&(n=t+l++,Le(f,n,[r,i]),J(n,e),r=ve(),i=ve(),s=1),n),V=()=>{q(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),I(0,n),n=K(L),s=1)},E=()=>{q(y)||(H(L,n),n=U(y),I(1,n),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return M(),t},J=(e,t)=>(A(e)&&fe(g,e)!==t&&(Le(g,e,t),v(u,[e])),O),A=e=>re(f,e),O={setSize:e=>(o=e,R(),O),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>ge(g,e),hasCheckpoint:A,getCheckpoint:e=>fe(g,e),goBackward:()=>(V(),M(),O),goForward:()=>(E(),M(),O),goTo:e=>{const t=F(L,e)?V:F(y,e)?E:null;for(;!k(t)&&e!=n;)t();return M(),O},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),O),clear:()=>(w(L),w(y),k(n)||S(n),n=void 0,l=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(O.clear())})),Qe=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,je=Je((e=>{const n=ve(),l=ve(),[s,o,r]=Fe((()=>S)),[i,a,d,u,c,v,h,,f,g,L,y]=Me(e,ve,(e=>k(e)?t:J(e)?W(e,C):C(e)),s,o),I=(t,n,l)=>{const s=c(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,r,i,a=Qe)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,t,((t,s,i,u,c,f)=>{let g=0;const L=ke(),y=ke(),I=v(e);if(ue(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ue(l,(e=>ce(s,e)?ce(l,e):0)),ue(l,(e=>{xe(L,e),x(fe(I,e),(t=>{ce(t,n),ie(t)&&(Le(I,e),g=1)}))})),ue(s,(e=>{xe(L,e),re(I,e)||(Le(I,e,ke()),g=1),xe(fe(I,e),n),k(r)||xe(y,e)}))})),t(),ie(c)||(f?ge(I,(e=>xe(y,e))):ge(i,(e=>x(fe(u,e),(e=>xe(y,e))))),ue(y,(e=>{const t=(t,n)=>a(fe(c,t),fe(c,n),e),n=[...fe(I,e)];j(n,t)||(Le(I,e,ke(z(n,t))),xe(L,e))}))),(g||f)&&!k(d)){const t=[...I];j(t,d)||(h(e,ve(z(t,d))),g=1)}g&&o(n,[e]),ue(L,(t=>o(l,[e,t])))}),De(s),x(r,De)),S},delIndexDefinition:e=>(g(e),S),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>re(v(e),t),getTableId:c,getSliceIds:e=>he(v(e)),getSliceRowIds:(e,t)=>ae(fe(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,t)=>s(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),S),destroy:y,getListenerStats:()=>({})};return _(S)})),ze=ve([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,s,o=!1)=>{if(ie(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ue(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(ae(n),oe(n)):e},We=Je((e=>{const n=ve(),[l,s,o]=Fe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=Me(e,O,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),l,s),y={setMetricDefinition:(e,t,l,o,r,i,a)=>{var d;const u=D(l)?[l,r,i,a]:null!=(d=fe(ze,l))?d:fe(ze,"sum");return h(e,t,((t,l,o,r,i,a)=>{const d=c(e),h=oe(r);a||(a=k(d)),t();let f=Ne(d,h,r,l,u,a);V(f)||(f=void 0),f!=d&&(v(e,f),s(n,[e],f,d))}),De(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,t)=>l(t,n,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return _(y)}));var Be=(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 $e=ve(),qe=ve(),Ge=(e,t,n,l,s,o,r=[])=>{let i,a,d,u=0,c=0;ye($e,r,(()=>0)),ye(qe,r,(()=>[]));const v=e=>Be(void 0,null,(function*(){return 2!=u&&(u=1,yield h.schedule((()=>Be(void 0,null,(function*(){yield e(),u=0}))))),h})),h={load:(n,l)=>Be(void 0,null,(function*(){return yield v((()=>Be(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>Be(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,d=l(((n,l)=>Be(void 0,null,(function*(){if(l){const t=l();yield v((()=>Be(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield v((()=>Be(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)}}))))})))),h})),stopAutoLoad:()=>(c&&(s(d),d=void 0,c=0),h),save:t=>Be(void 0,null,(function*(){return 1!=u&&(u=2,yield h.schedule((()=>Be(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}u=0}))))),h})),startAutoSave:()=>Be(void 0,null,(function*(){return yield h.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();se(n)&&se(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(x(i,e.delListener),h),schedule:(...e)=>Be(void 0,null,(function*(){return H(fe(qe,r),...e),yield Be(void 0,null,(function*(){if(!fe($e,r)){for(Le($e,r,1);!k(a=U(fe(qe,r)));)try{yield a()}catch(e){null==o||o(e)}Le($e,r,0)}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(h)};var He=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;const Xe=Je((e=>{const n=e.createStore,l=n(),s=n(),o=ve(),{addListener:r,callListeners:i,delListener:c}=s,[h,f,R,T,p,,,C,,b,m,V,E,M]=Me(e,(()=>!0),O,r,i),J=(e,t,...n)=>N(n,(n=>xe(ye(ye(o,t,ve),e,ke),n))),F=e=>{x(fe(o,e),(e=>{ge(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),N([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>J(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),j={setQueryDefinition:(n,o,r)=>{C(n,o),F(n);const i=[],a=[[null,[o,null,null,[],ve()]]],d=[],u=[],c=[];r({select:(e,n)=>{const l=D(e)?[$(i)+t,e]:[k(n)?e:n,t=>t(e,n)];return H(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||D(t)?null:t,s=k(l)?t:n,o=[e,[e,l,D(s)?s:e=>e(s),[],ve()]];return H(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>H(d,D(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,D(t)?[t,n,l,s]:null!=(o=fe(ze,t))?o:[(e,t)=>t]]];return H(u,r),{as:e=>r[0]=e}},having:(e,t)=>H(c,D(e)?e:n=>n(e)===t)});const v=ve(i);if(ie(v))return j;const h=ve(a);ge(h,((e,[,t])=>x(fe(h,t),(({3:t})=>k(e)?0:H(t,e)))));const f=ve(u);let g=l;if(ie(f)&&q(c))g=s;else{Q(n,g,s);const e=ve();ge(f,((t,[n,l])=>xe(ye(e,n,ke),[t,l])));const t=ke();ge(v,(n=>re(e,n)?0:xe(t,n)));const l=ve(),o=(t,l,o,r)=>x(t,(([i,a,d,u])=>{ge(l,((t,[n])=>{const l=ye(i,t,ve),s=fe(l,o),a=r?void 0:n;if(s!==a){const n=ke([[s,a]]),r=oe(l);Le(l,o,a),ue(fe(e,t),(([e,t])=>{const s=Ne(u[e],r,l,n,t);u[e]=k(me(s))?null:s}))}})),ie(a)||!P(c,(e=>e((e=>u[e]))))?s.delRow(n,d):k(d)?t[2]=s.addRow(n,u):s.setRow(n,d,u)}));J(g,n,g.addRowListener(n,null,((s,r,i,a)=>{const d=[],u=[],c=ve(),v=g.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);H(d,l),H(u,s),h||(h=t)})),ge(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&Le(c,e,[l])})),h&&o(be(l,d,void 0,(([,e])=>(ce(e,i),ie(e)))),c,i,1),v&&o(be(l,u,(()=>{const e={};return ue(t,(t=>e[t]=g.getCell(n,i,t))),[ve(),ke(),void 0,e]}),(([,e])=>{xe(e,i)})),c,i)})))}Q(n,e,g);const L=(t,l,s,r)=>{const i=t=>e.getCell(l,s,t);N(r,(l=>{var s;const[o,,r,a,d]=fe(h,l),u=null==r?void 0:r(i,t),[c,v]=null!=(s=fe(d,t))?s:[];u!=c&&(k(v)||M(n,v),Le(d,t,k(u)?null:[u,...E(n,1,e.addRowListener(o,u,(()=>L(t,o,u,a))))]))})),(t=>{const l=(n,l)=>{var s,r,i;return e.getCell(...k(l)?[o,t,n]:n===o?[o,t,l]:[null==(s=fe(h,n))?void 0:s[0],null==(i=fe(null==(r=fe(h,n))?void 0:r[4],t))?void 0:i[0],l])};g.transaction((()=>P(d,(e=>e(l)))?ge(v,((e,s)=>Ve(g,n,t,e,s(l,t)))):g.delRow(n,t)))})(t)},{3:y}=fe(h,null);return g.transaction((()=>E(n,1,e.addRowListener(o,null,((t,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(n,s),ue(h,(({4:e})=>x(fe(e,s),(([,t])=>{M(n,t),Le(e,s)})))))}))))),j},delQueryDefinition:e=>(F(e),b(e),j),getStore:h,getQueryIds:f,forEachQuery:R,hasQuery:T,getTableId:p,addQueryIdsListener:e=>m((()=>e(j))),delListener:e=>(c(e),j),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ke.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&He)for(var l of He(e))t.indexOf(l)<0&&Ue.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return le({[v]:[1,1],[v+w]:[0,1],[L]:[0,1],[y]:[0,1],[I]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{N(e?["get","has","forEach"]:["get"],(e=>j[e+d+n]=(...t)=>s[e+n](...t))),j[u+d+n+a]=(...e)=>s[u+n+a](...A(e,0,t),((n,...l)=>e[t](j,...l)),!0)})),_(j)})),Ye=Je((e=>{const n=ve(),l=ve(),s=ve(),o=ve(),[r,i,a]=Fe((()=>T)),[d,u,c,v,h,f,,,g,L,y,I]=Me(e,(()=>[ve(),ve(),ve(),ve()]),(e=>k(e)?void 0:e+t),r,i),S=(e,t,n)=>x(f(e),(([l,,s])=>{if(!re(s,t)){const o=ke();if(h(e)!=R(e))xe(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)xe(o,e),e=fe(l,e)}if(n)return o;Le(s,t,o)}return fe(s,t)})),w=(e,t)=>x(f(e),(([,,e])=>Le(e,t))),R=e=>fe(n,e),T={setRelationshipDefinition:(e,t,r,a)=>(Le(n,e,r),g(e,t,((t,n)=>{const r=ke(),a=ke(),d=ke(),[u,c]=f(e);ue(n,(([t,n],l)=>{k(t)||(xe(a,t),x(fe(c,t),(e=>{ce(e,l),ie(e)&&Le(c,t)}))),k(n)||(xe(a,n),re(c,n)||Le(c,n,ke()),xe(fe(c,n),l)),xe(r,l),Le(u,l,n),ge(fe(o,e),(t=>{re(S(e,t),l)&&xe(d,t)}))})),t(),ue(r,(t=>i(l,[e,t]))),ue(a,(t=>i(s,[e,t]))),ue(d,(t=>{w(e,t),i(o,[e,t])}))}),De(a)),T),delRelationshipDefinition:e=>(Le(n,e),L(e),T),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>{var n;return fe(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ae(fe(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:ae(S(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)=>(S(e,t),r(n,o,[e,t])),delListener:e=>{var t;return w(...null!=(t=a(e))?t:[]),T},destroy:I,getListenerStats:()=>({})};return _(T)})),Ze=e=>[e,e],_e=()=>[ve(),ve()],et=e=>[...e],tt=([e,t])=>e===t,nt=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),lt=JSON.parse,st=(e,t,n)=>k(e)||!ee(e)||se(e)||Z(e)?(null==n||n(),!1):(le(e,((n,l)=>{t(n,l)||ne(e,l)})),!se(e)),ot=(e,t,n)=>Le(e,t,fe(e,t)==-n?void 0:n),rt=()=>{let e,t,n=!1,l=!1,o=0;const d=ve(),c=ve(),I=ve(),b=ve(),m=ve(),V=ve(),E=ve(),J=ve(),O=ve(),P=ve(),j=ve(),B=ve(),$=ve(),q=ve(),G=ke(),K=ve(),U=ve(),X=ve(),Y=ve(),Z=_e(),ee=_e(),ae=_e(),be=_e(),Me=_e(),De=_e(),Je=_e(),Ae=_e(),Pe=_e(),je=_e(),ze=_e(),Ne=_e(),We=_e(),Be=_e(),$e=_e(),qe=ve(),Ge=_e(),[He,Ke,Ue,Xe]=Fe((()=>wn)),Ye=e=>{if(!st(e,((e,t)=>F([r,i],t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(me(e[i])!=t&&ne(e,i),0))},it=(t,n)=>(!e||re(j,n)||Pt(n))&&st(t,((e,t)=>at(n,t,e)),(()=>Pt(n))),at=(e,t,n,l)=>st(l?n:vt(n,e,t),((l,s)=>x(dt(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Pt(e,t))),dt=(t,n,l,s)=>e?x(fe(fe(j,t),l),(e=>me(s)!=e[r]?Pt(t,n,l,s,e[i]):s),(()=>Pt(t,n,l,s))):k(me(s))?Pt(t,n,l,s):s,ut=(e,t)=>st(t?e:ht(e),((t,n)=>x(ct(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Qt())),ct=(e,n)=>t?x(fe($,e),(t=>me(n)!=t[r]?Qt(e,n,t[i]):n),(()=>Qt(e,n))):k(me(n))?Qt(e,n):n,vt=(e,t,n)=>(x(fe(B,t),(([l,s])=>{ue(l,((t,n)=>{te(e,n)||(e[n]=t)})),ue(s,(l=>{te(e,l)||Pt(t,n,l)}))})),e),ht=e=>(t&&(ue(q,((t,n)=>{te(e,n)||(e[n]=t)})),ue(G,(t=>{te(e,t)||Qt(t)}))),e),ft=e=>Ie(j,e,((e,t,n)=>{const l=ve(),s=ke();Ie(ye(j,t,ve),n,((e,t,n)=>{Le(e,t,n),x(n[i],(e=>Le(l,t,e)),(()=>xe(s,t)))})),Le(B,t,[l,s])}),((e,t)=>{Le(j,t),Le(B,t)})),gt=e=>Ie($,e,((e,t,n)=>{Le($,t,n),x(n[i],(e=>Le(q,t,e)),(()=>xe(G,t)))}),((e,t)=>{Le($,t),Le(q,t),ce(G,t)})),Lt=e=>se(e)?cn():on(e),yt=e=>Ie(X,e,((e,t,n)=>It(t,n)),((e,t)=>Vt(t))),It=(e,t)=>Ie(ye(X,e,(()=>(Mt(e,1),Le(K,e,Oe()),Le(U,e,ve()),ve()))),t,((t,n,l)=>St(e,t,n,l)),((t,n)=>Et(e,t,n))),St=(e,t,n,l,s)=>Ie(ye(t,n,(()=>(Dt(e,n,1),ve()))),l,((t,l,s)=>wt(e,n,t,l,s)),((l,o)=>kt(e,t,n,l,o,s))),wt=(e,t,n,l,s)=>{re(n,l)||Jt(e,t,l,1);const o=fe(n,l);s!==o&&(At(e,t,l,o,s),Le(n,l,s))},Rt=(e,t,n,l,s)=>x(fe(t,n),(t=>wt(e,n,t,l,s)),(()=>St(e,t,n,vt({[l]:s},e,n)))),Tt=e=>se(e)?fn():rn(e),pt=e=>Ie(Y,e,((e,t,n)=>Ct(t,n)),((e,t)=>xt(t))),Ct=(e,t)=>{re(Y,e)||Ot(e,1);const n=fe(Y,e);t!==n&&(Ft(e,n,t),Le(Y,e,t))},bt=(e,t)=>{const[n]=fe(K,e),l=n(t);return re(fe(X,e),l)?bt(e,t):l},mt=e=>{var t;return null!=(t=fe(X,e))?t:It(e,{})},Vt=e=>It(e,{}),Et=(e,t,n)=>{const[,l]=fe(K,e);l(n),St(e,t,n,{},!0)},kt=(e,t,n,l,s,o)=>{var r;const i=fe(null==(r=fe(B,e))?void 0:r[0],s);if(!k(i)&&!o)return wt(e,n,l,s,i);const a=t=>{At(e,n,t,fe(l,t)),Jt(e,n,t,-1),Le(l,t)};k(i)?a(s):ge(l,a),ie(l)&&(Dt(e,n,-1),ie(Le(t,n))&&(Mt(e,-1),Le(X,e),Le(K,e),Le(U,e)))},xt=e=>{const t=fe(q,e);if(!k(t))return Ct(e,t);Ft(e,fe(Y,e)),Ot(e,-1),Le(Y,e)},Mt=(e,t)=>ot(d,e,t),Dt=(e,t,n)=>ot(ye(b,e,ve),t,n)&&Le(I,e,ye(I,e,(()=>0))+n),Jt=(e,t,n,l)=>{var s;const o=fe(U,e),r=null!=(s=fe(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&ot(ye(c,e,ve),n,l),Le(o,n,r!=-l?r+l:null),ot(ye(ye(m,e,ve),t,ve),n,l)},At=(e,t,n,l,s)=>ye(ye(ye(V,e,ve),t,ve),n,(()=>[l,0]))[1]=s,Ot=(e,t)=>ot(E,e,t),Ft=(e,t,n)=>ye(J,e,(()=>[t,0]))[1]=n,Pt=(e,t,n,l,s)=>(H(ye(ye(ye(O,e,ve),t,ve),n,(()=>[])),l),s),Qt=(e,t,n)=>(H(ye(P,e,(()=>[])),t),n),jt=(e,t,n)=>x(fe(fe(fe(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(tn(e,t,n))])),zt=e=>x(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(sn(e))])),Nt=e=>ie(O)||ie(ze[e])?0:ue(e?Ce(O):O,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ke(ze[e],[n,l,s],t))))))),Wt=e=>ie(P)||ie(Ne[e])?0:ue(e?Te(P):P,((t,n)=>Ke(Ne[e],[n],t))),Bt=(e,t,n)=>{if(!ie(t))return Ke(e,n,(()=>Se(t))),1},$t=e=>{const t=ie(Je[e]),n=ie(Pe[e])&&ie(be[e])&&ie(Me[e])&&ie(De[e])&&t&&ie(ee[e]),l=ie(je[e])&&ie(Ae[e])&&ie(ae[e])&&ie(Z[e]);if(!n||!l){const s=e?[Te(d),pe(c),Te(I),pe(b),Ce(m),Ce(V)]:[d,c,I,b,m,V];if(!n){Bt(ee[e],s[0]),ue(s[1],((t,n)=>Bt(be[e],t,[n]))),ue(s[2],((t,n)=>{0!=t&&Ke(Me[e],[n],Yt(n))}));const n=ke();ue(s[3],((l,s)=>{Bt(De[e],l,[s])&&!t&&(Ke(Je[e],[s,null]),xe(n,s))})),t||ue(s[5],((t,l)=>{if(!re(n,l)){const n=ke();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?xe(n,s):ce(e,s))))),ue(n,(t=>Ke(Je[e],[l,t])))}})),ue(s[4],((t,n)=>ue(t,((t,l)=>Bt(Pe[e],t,[n,l])))))}if(!l){let t;ue(s[5],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ke(je[e],[l,o,a],i,n,jt),t=s=r=1)})),r&&Ke(Ae[e],[l,o],jt)})),s&&Ke(ae[e],[l],jt)})),t&&Ke(Z[e],void 0,jt)}}},qt=e=>{const t=ie(Be[e]),n=ie($e[e])&&ie(We[e]);if(!t||!n){const l=e?[Te(E),Te(J)]:[E,J];if(t||Bt(Be[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ke($e[e],[s],l,n,zt),t=1)})),t&&Ke(We[e],void 0,zt)}}},Gt=(e,...t)=>(yn((()=>e(...W(t,C)))),wn),Ht=()=>[Se(V,((e,t)=>-1===fe(d,t)?null:Se(e,((e,n)=>-1===fe(fe(b,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))),se)),se),Se(J,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))],Kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,et,tt),invalidCells:Re(O),changedValues:Se(J,et,tt),invalidValues:Se(P),changedTableIds:Se(d),changedRowIds:we(b),changedCellIds:Re(m),changedValueIds:Se(E)}),Ut=()=>Re(X),Xt=()=>he(X),Yt=e=>oe(fe(X,C(e))),Zt=e=>he(fe(X,C(e))),_t=(e,t,n,l=0,s)=>{return W(A(z((o=fe(X,C(e)),r=(e,n)=>[k(t)?n:fe(e,C(t)),n],W([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},en=(e,t)=>he(fe(fe(X,C(e)),C(t))),tn=(e,t,n)=>fe(fe(fe(X,C(e)),C(t)),C(n)),nn=()=>Se(Y),ln=()=>he(Y),sn=e=>fe(Y,C(e)),on=e=>Gt((()=>(e=>st(e,it,Pt))(e)?yt(e):0)),rn=e=>Gt((()=>ut(e)?pt(e):0)),an=e=>{try{Lt(lt(e))}catch(e){}return wn},dn=t=>Gt((()=>{if((e=st(t,(e=>st(e,Ye))))&&(ft(t),!ie(X))){const e=Ut();cn(),on(e)}})),un=e=>Gt((()=>{if(t=(e=>st(e,Ye))(e)){const n=nn();Ln(),fn(),t=!0,gt(e),rn(n)}})),cn=()=>Gt((()=>yt({}))),vn=e=>Gt((e=>re(X,e)?Vt(e):0),e),hn=(e,t)=>Gt(((e,t)=>x(fe(X,e),(n=>re(n,t)?Et(e,n,t):0))),e,t),fn=()=>Gt((()=>pt({}))),gn=()=>Gt((()=>{ft({}),e=!1})),Ln=()=>Gt((()=>{gt({}),t=!1})),yn=(e,t)=>{if(-1!=o){In();const n=e();return Sn(t),n}},In=()=>(-1!=o&&o++,1==o&&Ke(qe,void 0,Ht,Kt),wn),Sn=e=>(o>0&&(o--,0==o&&(n=!ie(V),l=!ie(J),o=1,Nt(1),n&&$t(1),Wt(1),l&&qt(1),(null==e?void 0:e(Ht,Kt))&&(ue(V,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ve(wn,t,n,l,e))))))),ue(J,(([e],t)=>Ee(wn,t,e))),n=l=!1),Ke(Ge[0],void 0,Ht,Kt),o=-1,Nt(0),n&&$t(0),Wt(0),l&&qt(0),Ke(Ge[1],void 0,Ht,Kt),o=0,n=l=!1,N([d,c,I,b,m,V,O,E,J,P],de))),wn),wn={getContent:()=>[Ut(),nn()],getTables:Ut,getTableIds:Xt,getTable:e=>we(fe(X,C(e))),getTableCellIds:e=>he(fe(U,C(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Se(fe(fe(X,C(e)),C(t))),getCellIds:en,getCell:tn,getValues:nn,getValueIds:ln,getValue:sn,hasTables:()=>!ie(X),hasTable:e=>re(X,C(e)),hasTableCell:(e,t)=>re(fe(U,C(e)),C(t)),hasRow:(e,t)=>re(fe(X,C(e)),C(t)),hasCell:(e,t,n)=>re(fe(fe(X,C(e)),C(t)),C(n)),hasValues:()=>!ie(Y),hasValue:e=>re(Y,C(e)),getTablesJson:()=>nt(X),getValuesJson:()=>nt(Y),getJson:()=>nt([X,Y]),getTablesSchemaJson:()=>nt(j),getValuesSchemaJson:()=>nt($),getSchemaJson:()=>nt([j,$]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(se(e)?cn:on)(e),(se(t)?fn:rn)(t)})),setTables:on,setTable:(e,t)=>Gt((e=>it(t,e)?It(e,t):0),e),setRow:(e,t,n)=>Gt(((e,t)=>at(e,t,n)?St(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>yn((()=>{let l;return at(e,l,t)&&(e=C(e),St(e,mt(e),l=bt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Gt(((e,t)=>{if(at(e,t,n,1)){const l=mt(e);le(n,((n,s)=>Rt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Gt(((e,t,n)=>x(dt(e,t,n,D(l)?l(tn(e,t,n)):l),(l=>Rt(e,mt(e),t,n,l)))),e,t,n),setValues:rn,setPartialValues:e=>Gt((()=>ut(e,1)?le(e,((e,t)=>Ct(t,e))):0)),setValue:(e,t)=>Gt((e=>x(ct(e,D(t)?t(sn(e)):t),(t=>Ct(e,t)))),e),setTransactionChanges:e=>Gt((()=>{le(e[0],((e,t)=>k(e)?vn(t):le(e,((e,n)=>k(e)?hn(t,n):le(e,((e,l)=>Ve(wn,t,n,l,e))))))),le(e[1],((e,t)=>Ee(wn,t,e)))})),setTablesJson:an,setValuesJson:e=>{try{Tt(lt(e))}catch(e){}return wn},setJson:e=>Gt((()=>{try{const[t,n]=lt(e);Lt(t),Tt(n)}catch(t){an(e)}})),setTablesSchema:dn,setValuesSchema:un,setSchema:(e,t)=>Gt((()=>{dn(e),un(t)})),delTables:cn,delTable:vn,delRow:hn,delCell:(e,t,n,l)=>Gt(((e,t,n)=>x(fe(X,e),(s=>x(fe(s,t),(o=>re(o,n)?kt(e,s,t,o,n,l):0))))),e,t,n),delValues:fn,delValue:e=>Gt((e=>re(Y,e)?xt(e):0),e),delTablesSchema:gn,delValuesSchema:Ln,delSchema:()=>Gt((()=>{gn(),Ln()})),transaction:yn,startTransaction:In,finishTransaction:Sn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>ge(t,e))))))))),forEachTableCell:(e,t)=>ge(fe(U,C(e)),t),forEachRow:(e,t)=>ue(fe(X,C(e)),((e,n)=>t(n,(t=>ge(e,t))))),forEachCell:(e,t,n)=>ge(fe(fe(X,C(e)),C(t)),n),forEachValue:e=>ge(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=_t(e,t,n,l,s);return He((()=>{const r=_t(e,t,n,l,s);Q(r,i)||(i=r,o(wn,e,t,n,l,s,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(Xe(e),wn),delListener:e=>(Ue(e),wn),getListenerStats:()=>({}),createStore:rt,addListener:He,callListeners:Ke};return le({[h]:[0,Z],[f]:[0,ee],[v]:[1,ae,[Xt]],[v+w]:[1,be,[Xt]],[L]:[1,Me,[Xt]],[y]:[1,De,[Xt]],[g]:[2,Ae,[Xt,Zt]],[w]:[2,Pe,[Xt,Zt]],[S]:[3,je,[Xt,Zt,en],e=>Ze(tn(...e))],InvalidCell:[3,ze],[T]:[0,We],[p]:[0,Be],[R]:[1,$e,[ln],e=>Ze(sn(e[0]))],InvalidValue:[1,Ne]},(([e,t,n,l],s)=>{wn[u+s+a]=(...s)=>He(s[e],t[s[e+1]?1:0],e>0?A(s,0,e):void 0,n,l)})),_(wn)};export{Pe as createCheckpoints,Ge as createCustomPersister,je as createIndexes,We as createMetrics,Xe as createQueries,Ye as createRelationships,rt as createStore,Qe as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,h="Sorted"+d+l,g="Cell",v=g+l,w=(e,t)=>e.every(t),L=(e,t)=>e.forEach(t),f=e=>T(e,((e,t)=>e+t),0),R=e=>e.length,y=e=>0==R(e),T=(e,t,n)=>e.reduce(t,n),b=(e,...t)=>e.push(...t),C=Math.max,p=Math.min,S=isFinite,m=e=>null==e,I=(e,t,n)=>m(e)?n?.():t(e),Q=t=>e(t)==r,E=e=>Array.isArray(e),M=()=>{},x=Object,D=x.freeze,j=e=>e?.size??0,k=(e,t)=>e?.has(t)??!1,z=e=>m(e)||0==j(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),B=(e,t)=>e?.get(t),G=(e,t)=>O(e,((e,n)=>t(n,e))),H=(e,t,n)=>m(n)?(W(e,t),e):e?.set(t,n),J=(e,t,n)=>(k(e,t)||H(e,t,n()),B(e,t)),K=(e,t,n,s,r=0)=>I((n?J:B)(e,t[r],r>R(t)-2?n:q),(o=>{if(r>R(t)-2)return s?.(o)&&H(e,t[r]),o;const a=K(o,t,n,s,r+1);return z(o)&&H(e,t[r]),a})),N=e=>new Set(E(e)||m(e)?e:[e]),P=(e,t)=>e?.add(t),U=q([["avg",[(e,t)=>f(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["min",[e=>p(...e),(e,t)=>p(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:p(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),V=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,f=l(),T=l(),C=q(),{addListener:p,callListeners:V,delListener:X}=T,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),l=q(),i=q(),d=q(),c=q(),u=q(),h=(t,n,...s)=>{const r=J(u,t,N);return L(s,(t=>P(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>I(B(u,t),(s=>{L(y(n)?A(s):n,(t=>{e.delListener(t),W(s,t)})),z(s)&&H(u,t)})),v=(e,t)=>{H(a,e,t),k(l,e)||(H(l,e,!0),H(d,e,q()),H(c,e,q()),r(i))},f=e=>{H(a,e),H(l,e),H(d,e),H(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>G(l,e),e=>k(l,e),e=>B(a,e),e=>B(l,e),(e,t)=>H(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=q(),u=q(),f=B(d,t),y=B(c,t),T=t=>{const r=n=>e.getCell(s,t,n),d=B(f,t),c=o(s,t)?n(a(r,t)):void 0;var h,g;if(d===c||E(d)&&E(c)&&(g=c,R(h=d)===R(g)&&w(h,((e,t)=>g[t]===e)))||H(i,t,[d,c]),!m(l)){const e=B(y,t),n=o(s,t)?l(r,t):void 0;e!=n&&H(u,t,n)}},b=e=>{r((()=>{O(i,(([,e],t)=>H(f,t,e))),O(u,((e,t)=>H(y,t,e)))}),i,u,f,y,e),F(i),F(u)};G(f,T),e.hasTable(s)&&L(e.getRowIds(s),(e=>{k(f,e)||T(e)})),b(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>b())))},f,e=>s(e,i),()=>G(u,f),h,g]})(r,0,M,p,V),le=(e,t,...n)=>L(n,(n=>P(J(J(C,t,q),e,N),n))),ie=e=>{I(B(C,e),(e=>{G(e,((e,t)=>O(t,(t=>e.delListener(t))))),F(e)})),L([T,f],(t=>t.delTable(e)))},de=(e,t,n)=>le(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,l)=>{te(o,a),ie(o);const i=[],d=[[null,[a,null,null,[],q()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=Q(e)?[R(i)+"",e]:[m(t)?e:t,n=>n(e,t)];return b(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=m(n)||Q(t)?null:t,r=m(s)?t:n,o=[e,[e,s,Q(r)?r:e=>e(r),[],q()]];return b(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>b(c,Q(e)?e:m(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,Q(t)?[t,n,s,r]:B(U,t)??[(e,t)=>t]]];return b(u,o),{as:e=>o[0]=e}},having:(e,t)=>b(h,Q(e)?e:n=>n(e)===t)});const g=q(i);if(z(g))return ce;const v=q(d);G(v,((e,[,t])=>I(B(v,t),(({3:t})=>m(e)?0:b(t,e)))));const C=q(u);let p=f;if(z(C)&&y(h))p=T;else{de(o,p,T);const r=q();G(C,((e,[t,n])=>P(J(r,t,N),[e,n])));const a=N();G(g,(e=>k(r,e)?0:P(a,e)));const l=q(),i=(a,l,i,d)=>I(a,(([c,u,g,v])=>{G(l,((o,[a])=>{const l=J(c,o,q),u=B(l,i),h=d?void 0:a;if(u!==h){const a=N([[u,h]]),d=j(l);H(l,i,h),O(B(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(z(n))return;const[a,l,i,d]=r;return o||=m(e),O(s,(([n,s])=>{o||(e=m(n)?l?.(e,s,t++):m(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=m(e))})),o?a(A(n),j(n)):e})(v[r],d,l,a,o);v[r]=m((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&S(r)?o:void 0})(i))?null:i}))}})),z(u)||!w(h,(e=>e((e=>v[e]))))?T.delRow(o,g):m(g)?a[2]=T.addRow(o,v):T.setRow(o,g,v)}));le(p,o,p.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=q(),h=p.hasRow(o,n);let g=!h;O(a,(e=>{const[t,r,a]=s(o,n,e);b(d,r),b(c,a),g||=t})),G(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&H(u,e,[r])})),g&&i(K(l,d,void 0,(([,e])=>(W(e,n),z(e)))),u,n,1),h&&i(K(l,c,(()=>{const e={};return O(a,(t=>e[t]=p.getCell(o,n,t))),[q(),N(),void 0,e]}),(([,e])=>{P(e,n)})),u,n)})))}de(o,r,p);const E=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);L(s,(t=>{const[n,,s,a,i]=B(v,t),d=s?.(l,e),[c,u]=B(i,e)??[];d!=c&&(m(u)||ae(o,u),H(i,e,m(d)?null:[d,...oe(o,1,r.addRowListener(n,d,(()=>E(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...m(n)?[a,e,t]:t===a?[a,e,n]:[B(v,t)?.[0],B(B(v,t)?.[4],e)?.[0],n]);p.transaction((()=>w(c,(e=>e(t)))?G(g,((n,s)=>((e,t,n,s,r)=>m(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(p,o,e,n,s(t,e)))):p.delRow(o,e)))})(e)},{3:M}=B(v,null);return p.transaction((()=>oe(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?E(n,a,n,M):(p.delRow(o,n),O(v,(({4:e})=>I(B(e,n),(([,t])=>{ae(o,t),H(e,n)})))))}))))),ce},delQueryDefinition:e=>(ie(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=T.getListenerStats();return s}};var ue,he;return ue={[i]:[1,1],[i+v]:[0,1],[c]:[0,1],[u]:[0,1],[h]:[0,5],[d]:[1,2],[v]:[0,2],[g]:[1,3]},he=([e,t],n)=>{L(e?["get","has","forEach"]:["get"],(e=>ce[e+a+n]=(...t)=>T[e+n](...t))),ce["add"+a+n+o]=(...e)=>{return T["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)));var s,r}},((e,t)=>{e.map(t)})(x.entries(ue),(([e,t])=>he(t,e))),D(ce)})(r)),l.get(r))})();export{V as createQueries};
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,h="Sorted"+d+l,g="Cell",v=g+l,w=(e,t)=>e.every(t),L=(e,t)=>e.forEach(t),f=e=>T(e,((e,t)=>e+t),0),R=e=>e.length,y=e=>0==R(e),T=(e,t,n)=>e.reduce(t,n),b=(e,...t)=>e.push(...t),C=Math.max,p=Math.min,S=isFinite,m=e=>null==e,I=(e,t,n)=>m(e)?n?.():t(e),Q=t=>e(t)==r,E=e=>Array.isArray(e),M=()=>{},x=Object,D=x.freeze,j=e=>e?.size??0,k=(e,t)=>e?.has(t)??!1,z=e=>m(e)||0==j(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),B=(e,t)=>e?.get(t),G=(e,t)=>O(e,((e,n)=>t(n,e))),H=(e,t,n)=>m(n)?(W(e,t),e):e?.set(t,n),J=(e,t,n)=>(k(e,t)||H(e,t,n()),B(e,t)),K=(e,t,n,s,r=0)=>I((n?J:B)(e,t[r],r>R(t)-2?n:q),(o=>{if(r>R(t)-2)return s?.(o)&&H(e,t[r]),o;const a=K(o,t,n,s,r+1);return z(o)&&H(e,t[r]),a})),N=e=>new Set(E(e)||m(e)?e:[e]),P=(e,t)=>e?.add(t),U=q([["avg",[(e,t)=>f(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["min",[e=>p(...e),(e,t)=>p(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:p(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),V=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,f=l(),T=l(),C=q(),{addListener:p,callListeners:V,delListener:X}=T,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),l=q(),i=q(),d=q(),c=q(),u=q(),h=(t,n,...s)=>{const r=J(u,t,N);return L(s,(t=>P(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>I(B(u,t),(s=>{L(y(n)?A(s):n,(t=>{e.delListener(t),W(s,t)})),z(s)&&H(u,t)})),v=(e,t)=>{H(a,e,t),k(l,e)||(H(l,e,!0),H(d,e,q()),H(c,e,q()),r(i))},f=e=>{H(a,e),H(l,e),H(d,e),H(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>G(l,e),e=>k(l,e),e=>B(a,e),e=>B(l,e),(e,t)=>H(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=q(),u=q(),f=B(d,t),y=B(c,t),T=t=>{const r=n=>e.getCell(s,t,n),d=B(f,t),c=o(s,t)?n(a(r,t)):void 0;var h,g;if(d===c||E(d)&&E(c)&&(g=c,R(h=d)===R(g)&&w(h,((e,t)=>g[t]===e)))||H(i,t,[d,c]),!m(l)){const e=B(y,t),n=o(s,t)?l(r,t):void 0;e!=n&&H(u,t,n)}},b=e=>{r((()=>{O(i,(([,e],t)=>H(f,t,e))),O(u,((e,t)=>H(y,t,e)))}),i,u,f,y,e),F(i),F(u)};G(f,T),e.hasTable(s)&&L(e.getRowIds(s),(e=>{k(f,e)||T(e)})),b(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>b())))},f,e=>s(e,i),()=>G(u,f),h,g]})(r,0,M,p,V),le=(e,t,...n)=>L(n,(n=>P(J(J(C,t,q),e,N),n))),ie=e=>{I(B(C,e),(e=>{G(e,((e,t)=>O(t,(t=>e.delListener(t))))),F(e)})),L([T,f],(t=>t.delTable(e)))},de=(e,t,n)=>le(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,l)=>{te(o,a),ie(o);const i=[],d=[[null,[a,null,null,[],q()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=Q(e)?[R(i)+"",e]:[m(t)?e:t,n=>n(e,t)];return b(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=m(n)||Q(t)?null:t,r=m(s)?t:n,o=[e,[e,s,Q(r)?r:e=>e(r),[],q()]];return b(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>b(c,Q(e)?e:m(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,Q(t)?[t,n,s,r]:B(U,t)??[(e,t)=>t]]];return b(u,o),{as:e=>o[0]=e}},having:(e,t)=>b(h,Q(e)?e:n=>n(e)===t)});const g=q(i);if(z(g))return ce;const v=q(d);G(v,((e,[,t])=>I(B(v,t),(({3:t})=>m(e)?0:b(t,e)))));const C=q(u);let p=f;if(z(C)&&y(h))p=T;else{de(o,p,T);const r=q();G(C,((e,[t,n])=>P(J(r,t,N),[e,n])));const a=N();G(g,(e=>k(r,e)?0:P(a,e)));const l=q(),i=(a,l,i,d)=>I(a,(([c,u,g,v])=>{G(l,((o,[a])=>{const l=J(c,o,q),u=B(l,i),h=d?void 0:a;if(u!==h){const a=N([[u,h]]),d=j(l);H(l,i,h),O(B(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(z(n))return;const[a,l,i,d]=r;return o||=m(e),O(s,(([n,s])=>{o||(e=m(n)?l?.(e,s,t++):m(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=m(e))})),o?a(A(n),j(n)):e})(v[r],d,l,a,o);v[r]=m((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&S(r)?o:void 0})(i))?null:i}))}})),z(u)||!w(h,(e=>e((e=>v[e]))))?T.delRow(o,g):m(g)?a[2]=T.addRow(o,v):T.setRow(o,g,v)}));le(p,o,p.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=q(),h=p.hasRow(o,n);let g=!h;O(a,(e=>{const[t,r,a]=s(o,n,e);b(d,r),b(c,a),g||=t})),G(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&H(u,e,[r])})),g&&i(K(l,d,void 0,(([,e])=>(W(e,n),z(e)))),u,n,1),h&&i(K(l,c,(()=>{const e={};return O(a,(t=>e[t]=p.getCell(o,n,t))),[q(),N(),void 0,e]}),(([,e])=>{P(e,n)})),u,n)})))}de(o,r,p);const E=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);L(s,(t=>{const[n,,s,a,i]=B(v,t),d=s?.(l,e),[c,u]=B(i,e)??[];d!=c&&(m(u)||ae(o,u),H(i,e,m(d)?null:[d,...oe(o,1,r.addRowListener(n,d,(()=>E(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...m(n)?[a,e,t]:t===a?[a,e,n]:[B(v,t)?.[0],B(B(v,t)?.[4],e)?.[0],n]);p.transaction((()=>w(c,(e=>e(t)))?G(g,((n,s)=>((e,t,n,s,r)=>m(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(p,o,e,n,s(t,e)))):p.delRow(o,e)))})(e)},{3:M}=B(v,null);return p.transaction((()=>oe(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?E(n,a,n,M):(p.delRow(o,n),O(v,(({4:e})=>I(B(e,n),(([,t])=>{ae(o,t),H(e,n)})))))}))))),ce},delQueryDefinition:e=>(ie(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=T.getListenerStats();return s}};var ue,he;return ue={[i]:[1,1],[i+v]:[0,1],[c]:[0,1],[u]:[0,1],[h]:[0,5],[d]:[1,2],[v]:[0,2],[g]:[1,3]},he=([e,t],n)=>{L(e?["get","has","forEach"]:["get"],(e=>ce[e+a+n]=(...t)=>T[e+n](...t))),ce["add"+a+n+o]=(...e)=>{return T["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)),!0);var s,r}},((e,t)=>{e.map(t)})(x.entries(ue),(([e,t])=>he(t,e))),D(ce)})(r)),l.get(r))})();export{V as createQueries};
|
package/lib/queries.js.gz
CHANGED
|
Binary file
|