tinybase 2.0.0 → 2.1.0-beta.0
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/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/common.js +1 -1
- package/lib/common.js.gz +0 -0
- package/lib/debug/checkpoints.js +7 -1
- package/lib/debug/common.js +1 -4
- package/lib/debug/indexes.d.ts +36 -10
- package/lib/debug/indexes.js +57 -25
- package/lib/debug/metrics.d.ts +1 -1
- package/lib/debug/metrics.js +19 -2
- package/lib/debug/persisters.d.ts +5 -5
- package/lib/debug/queries.js +18 -2
- package/lib/debug/relationships.d.ts +3 -3
- package/lib/debug/relationships.js +19 -2
- package/lib/debug/store.js +8 -2
- package/lib/debug/tinybase.js +53 -27
- package/lib/debug/ui-react.d.ts +17 -17
- package/lib/debug/ui-react.js +2 -1
- package/lib/es6/checkpoints.d.ts +946 -0
- package/lib/es6/checkpoints.js +1 -0
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/common.d.ts +115 -0
- package/lib/es6/common.js +1 -0
- package/lib/es6/common.js.gz +0 -0
- package/lib/es6/indexes.d.ts +967 -0
- package/lib/es6/indexes.js +1 -0
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.d.ts +829 -0
- package/lib/es6/metrics.js +1 -0
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters.d.ts +717 -0
- package/lib/es6/persisters.js +1 -0
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/queries.d.ts +3026 -0
- package/lib/es6/queries.js +1 -0
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.d.ts +1203 -0
- package/lib/es6/relationships.js +1 -0
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.d.ts +3572 -0
- package/lib/es6/store.js +1 -0
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.d.ts +14 -0
- package/lib/es6/tinybase.js +1 -0
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/ui-react.d.ts +9777 -0
- package/lib/es6/ui-react.js +1 -0
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.d.ts +36 -10
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.d.ts +1 -1
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters.d.ts +5 -5
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.d.ts +3 -3
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/ui-react.d.ts +17 -17
- package/lib/umd/checkpoints.d.ts +946 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/common.d.ts +115 -0
- package/lib/umd/common.js +1 -1
- package/lib/umd/common.js.gz +0 -0
- package/lib/umd/indexes.d.ts +967 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.d.ts +829 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters.d.ts +717 -0
- package/lib/umd/queries.d.ts +3026 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.d.ts +1203 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.d.ts +3572 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.d.ts +14 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/ui-react.d.ts +9777 -0
- package/lib/umd-es6/checkpoints.d.ts +946 -0
- package/lib/umd-es6/checkpoints.js +1 -0
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/common.d.ts +115 -0
- package/lib/umd-es6/common.js +1 -0
- package/lib/umd-es6/common.js.gz +0 -0
- package/lib/umd-es6/indexes.d.ts +967 -0
- package/lib/umd-es6/indexes.js +1 -0
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.d.ts +829 -0
- package/lib/umd-es6/metrics.js +1 -0
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters.d.ts +717 -0
- package/lib/umd-es6/persisters.js +1 -0
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/queries.d.ts +3026 -0
- package/lib/umd-es6/queries.js +1 -0
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.d.ts +1203 -0
- package/lib/umd-es6/relationships.js +1 -0
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.d.ts +3572 -0
- package/lib/umd-es6/store.js +1 -0
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.d.ts +14 -0
- package/lib/umd-es6/tinybase.js +1 -0
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/ui-react.d.ts +9777 -0
- package/lib/umd-es6/ui-react.js +1 -0
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +2 -1
- package/readme.md +12 -12
package/lib/umd/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),i="Listener",l="Result",a=(e,t)=>e.every(t),d=(e,t)=>e.forEach(t),c=e=>h(e,((e,t)=>e+t),0),u=e=>e.length,f=e=>0==u(e),h=(e,t,n)=>e.reduce(t,n),g=(e,...t)=>e.push(...t),w=Math.max,v=Math.min,R=isFinite,y=e=>null==e,L=(e,t,n)=>y(e)?n?.():t(e),p=e=>t(e)==o,b=e=>Array.isArray(e),T=()=>{},C=e=>e.size,m=(e,t)=>e?.has(t)??!1,I=e=>y(e)||0==C(e),Q=e=>[...e?.values()??[]],S=e=>e.clear(),x=(e,t)=>e?.forEach(t),M=(e,t)=>e?.delete(t),j=e=>new Map(e),E=(e,t)=>e?.get(t),D=(e,t)=>x(e,((e,n)=>t(n,e))),F=(e,t,n)=>y(n)?(M(e,t),e):e?.set(t,n),k=(e,t,n)=>(m(e,t)||F(e,t,n()),E(e,t)),z=(e,t,n,s,r=0)=>L((n?k:E)(e,t[r],r>u(t)-2?n:j),(o=>{if(r>u(t)-2)return s?.(o)&&F(e,t[r]),o;const i=z(o,t,n,s,r+1);return I(o)&&F(e,t[r]),i})),A=e=>new Set(b(e)||y(e)?e:[e]),O=(e,t)=>e?.add(t),W=j([["avg",[(e,t)=>c(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=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["min",[e=>v(...e),(e,t)=>v(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:v(t,e)]],["sum",[e=>c(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),_=e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&R(e)?o:void 0},B=(e,t,n)=>{const s=e.hasRow,r=j(),o=j(),i=j(),l=j(),c=j(),h=(t,n,...s)=>{const r=k(c,t,A);return d(s,(t=>O(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>L(E(c,t),(s=>{d(f(n)?Q(s):n,(t=>{e.delListener(t),M(s,t)})),I(s)&&F(c,t)})),w=(e,n)=>{F(r,e,n),m(o,e)||(F(o,e,t()),F(i,e,j()),F(l,e,j()))},v=e=>{F(r,e),F(o,e),F(i,e),F(l,e),g(e)};return[()=>e,()=>[...r?.keys()??[]],e=>D(o,e),e=>m(o,e),e=>E(r,e),e=>E(o,e),(e,t)=>F(o,e,t),w,(t,r,o,c,f)=>{w(t,r);const v=j(),R=j(),L=E(i,t),p=E(l,t),T=t=>{const o=n=>e.getCell(r,t,n),i=E(L,t),l=s(r,t)?n(c(o,t)):void 0;var d,h;if(i===l||b(i)&&b(l)&&(h=l,u(d=i)===u(h)&&a(d,((e,t)=>h[t]===e)))||F(v,t,[i,l]),!y(f)){const e=E(p,t),n=s(r,t)?f(o,t):void 0;e!=n&&F(R,t,n)}},C=e=>{o((()=>{x(v,(([,e],t)=>F(L,t,e))),x(R,((e,t)=>F(p,t,e)))}),v,R,L,p,e),S(v),S(R)};D(L,T),e.hasTable(r)&&d(e.getRowIds(r),(e=>{m(L,e)||T(e)})),C(!0),g(t),h(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>C())))},v,()=>D(c,v),h,g]},P=Object,q=P.freeze,G=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const t=e.createStore,[n,s,r,o,c,,,h,,w,v,R,b]=B(e,(()=>!0),T),G=t(),H=t(),J=j(),K=(e,t,...n)=>d(n,(n=>O(k(k(J,t,j),e,A),n))),N=e=>{L(E(J,e),(e=>{D(e,((e,t)=>x(t,(t=>e.delListener(t))))),S(e)})),d([H,G],(t=>t.delTable(e)))},U=(e,t,n)=>K(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),V={setQueryDefinition:(t,n,s)=>{h(t,n),N(t);const r=[],o=[[null,[n,null,null,[],j()]]],i=[],l=[],c=[];s({select:(e,t)=>{const n=p(e)?[u(r)+"",e]:[y(t)?e:t,n=>n(e,t)];return g(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=y(n)||p(t)?null:t,r=y(s)?t:n,i=[e,[e,s,p(r)?r:e=>e(r),[],j()]];return g(o,i),{as:e=>i[0]=e}},where:(e,t,n)=>g(i,p(e)?e:y(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,p(t)?[t,n,s,r]:E(W,t)??[(e,t)=>t]]];return g(l,o),{as:e=>o[0]=e}},having:(e,t)=>g(c,p(e)?e:n=>n(e)===t)});const w=j(r);if(I(w))return V;const v=j(o);D(v,((e,[,t])=>L(E(v,t),(({3:t})=>y(e)?0:g(t,e)))));const T=j(l);let S=G;if(I(T)&&f(c))S=H;else{U(t,S,H);const e=j();D(T,((t,[n,s])=>O(k(e,n,A),[t,s])));const n=A();D(w,(t=>m(e,t)?0:O(n,t)));const s=j(),r=(n,s,r,o)=>L(n,(([i,l,d,u])=>{D(s,((t,[n])=>{const s=k(i,t,j),l=E(s,r),a=o?void 0:n;if(l!==a){const n=A([[l,a]]),o=C(s);F(s,r,a),x(E(e,t),(([e,t])=>{const r=((e,t,n,s,r,o=!1)=>{if(I(n))return;const[i,l,a,d]=r;return o||=y(e),x(s,(([n,s])=>{o||(e=y(n)?l?.(e,s,t++):y(s)?a?.(e,n,t--):d?.(e,s,n,t),o||=y(e))})),o?i(Q(n),C(n)):e})(u[e],o,s,n,t);u[e]=y(_(r))?null:r}))}})),I(l)||!a(c,(e=>e((e=>u[e]))))?H.delRow(t,d):y(d)?n[2]=H.addRow(t,u):H.setRow(t,d,u)}));K(S,t,S.addRowListener(t,null,((o,i,l,a)=>{const d=[],c=[],u=j(),f=S.hasRow(t,l);let h=!f;x(n,(e=>{const[n,s,r]=a(t,l,e);g(d,s),g(c,r),h||=n})),D(e,(e=>{const[n,,s]=a(t,l,e);(h||n)&&F(u,e,[s])})),h&&r(z(s,d,void 0,(([,e])=>(M(e,l),I(e)))),u,l,1),f&&r(z(s,c,(()=>{const e={};return x(n,(n=>e[n]=S.getCell(t,l,n))),[j(),A(),void 0,e]}),(([,e])=>{O(e,l)})),u,l)})))}U(t,e,S);const B=s=>{const r=(t,r)=>e.getCell(...y(r)?[n,s,t]:t===n?[n,s,r]:[E(v,t)?.[0],E(E(v,t)?.[4],s)?.[0],r]);S.transaction((()=>a(i,(e=>e(r)))?D(w,((e,n)=>((e,t,n,s,r)=>y(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(S,t,s,e,n(r,s)))):S.delRow(t,s)))},P=(n,s,r,o)=>{const i=t=>e.getCell(s,r,t);d(o,(s=>{const[r,,o,l,a]=E(v,s),d=o?.(i,n),[c,u]=E(a,n)??[];d!=c&&(y(u)||b(t,u),F(a,n,y(d)?null:[d,...R(t,1,e.addRowListener(r,d,(()=>P(n,r,d,l))))]))})),B(n)},{3:q}=E(v,null);return S.transaction((()=>R(t,1,e.addRowListener(n,null,((s,r,o)=>{e.hasRow(n,o)?P(o,n,o,q):(S.delRow(t,o),x(v,(({4:e})=>L(E(e,o),(([,n])=>{b(t,n),F(e,o)})))))}))))),V},delQueryDefinition:e=>(N(e),w(e),V),getStore:n,getQueryIds:s,forEachQuery:r,hasQuery:o,getTableId:c,delListener:e=>(H.delListener(e),V),destroy:v,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=H.getListenerStats();return s}};var X,Y;return X={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},Y=([e,t],n)=>{d(e?["get","has","forEach"]:["get"],(e=>V[e+l+n]=(...t)=>H[e+n](...t))),V["addResult"+n+i]=(...e)=>{return H["add"+n+i](...(s=e,r=0,o=t,s.slice(r,o)),((n,...s)=>e[t](V,...s)));var s,r,o}},d(P.entries(X),(([e,t])=>Y(t,e))),q(V)}));e.createQueries=G,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
|
package/lib/umd/queries.js.gz
CHANGED
|
Binary file
|