tinybase 2.0.0-beta.0 → 2.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/checkpoints.d.ts +4 -3
- 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.d.ts +4 -3
- package/lib/debug/checkpoints.js +13 -16
- package/lib/debug/common.js +4 -1
- package/lib/debug/indexes.d.ts +4 -2
- package/lib/debug/indexes.js +13 -15
- package/lib/debug/metrics.d.ts +1 -1
- package/lib/debug/metrics.js +13 -16
- package/lib/debug/persisters.d.ts +6 -0
- package/lib/debug/queries.d.ts +249 -299
- package/lib/debug/queries.js +67 -192
- package/lib/debug/relationships.d.ts +6 -5
- package/lib/debug/relationships.js +13 -16
- package/lib/debug/store.d.ts +386 -86
- package/lib/debug/store.js +278 -216
- package/lib/debug/tinybase.js +318 -390
- package/lib/debug/ui-react.d.ts +4320 -1796
- package/lib/debug/ui-react.js +380 -98
- package/lib/indexes.d.ts +4 -2
- 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 +6 -0
- package/lib/queries.d.ts +249 -299
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.d.ts +6 -5
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.d.ts +386 -86
- 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 +4320 -1796
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/common.js +1 -1
- package/lib/umd/common.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/package.json +26 -26
- package/readme.md +2 -2
package/lib/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=(e,t)=>e.every(t),
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o=(e,t)=>e.every(t),l=(e,t)=>e.forEach(t),a=e=>c(e,((e,t)=>e+t),0),i=e=>e.length,d=e=>0==i(e),c=(e,t,n)=>e.reduce(t,n),u=(e,...t)=>e.push(...t),h=Math.max,w=Math.min,R=isFinite,g=e=>null==e,f=(e,t,n)=>g(e)?n?.():t(e),L=t=>e(t)==r,v=()=>{},y=e=>e.size,T=(e,t)=>e?.has(t)??!1,b=e=>g(e)||0==y(e),C=e=>[...e?.values()??[]],I=e=>e.clear(),p=(e,t)=>e?.forEach(t),S=(e,t)=>e?.delete(t),m=e=>new Map(e),Q=(e,t)=>e?.get(t),E=(e,t)=>p(e,((e,n)=>t(n,e))),M=(e,t,n)=>g(n)?(S(e,t),e):e?.set(t,n),x=(e,t,n)=>(T(e,t)||M(e,t,n()),Q(e,t)),D=(e,t,n,s,r=0)=>f((n?x:Q)(e,t[r],r>i(t)-2?n:m),(o=>{if(r>i(t)-2)return s?.(o)&&M(e,t[r]),o;const l=D(o,t,n,s,r+1);return b(o)&&M(e,t[r]),l})),F=e=>new Set(e),j=(e,t)=>e?.add(t),k=m([["avg",[(e,t)=>a(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=>h(...e),(e,t)=>h(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:h(t,e)]],["min",[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)]],["sum",[e=>a(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),z=r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&R(r)?o:void 0},W=Object,O=W.freeze,q=(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,a,c,,,h,,w,R,q,A]=((e,t,n)=>{const s=e.hasRow,r=m(),o=m(),a=m(),i=m(),c=m(),u=(t,n,...s)=>{const r=x(c,t,F);return l(s,(t=>j(r,t)&&n&&e.callListener(t))),s},h=(t,...n)=>f(Q(c,t),(s=>{l(d(n)?C(s):n,(t=>{e.delListener(t),S(s,t)})),b(s)&&M(c,t)})),w=(e,n)=>{M(r,e,n),T(o,e)||(M(o,e,t()),M(a,e,m()),M(i,e,m()))},R=e=>{M(r,e),M(o,e),M(a,e),M(i,e),h(e)};return[()=>e,()=>[...r?.keys()??[]],e=>E(o,e),e=>T(o,e),e=>Q(r,e),e=>Q(o,e),(e,t)=>M(o,e,t),w,(t,r,o,d,c)=>{w(t,r);const R=m(),f=m(),L=Q(a,t),v=Q(i,t),y=t=>{const o=n=>e.getCell(r,t,n),l=Q(L,t),a=s(r,t)?n(d(o,t)):void 0;if(l!=a&&M(R,t,[l,a]),!g(c)){const e=Q(v,t),n=s(r,t)?c(o,t):void 0;e!=n&&M(f,t,n)}},b=e=>{o((()=>{p(R,(([,e],t)=>M(L,t,e))),p(f,((e,t)=>M(v,t,e)))}),R,f,L,v,e),I(R),I(f)};E(L,y),e.hasTable(r)&&l(e.getRowIds(r),(e=>{T(L,e)||y(e)})),b(!0),h(t),u(t,0,e.addRowListener(r,null,((e,t,n)=>y(n))),e.addTableListener(r,(()=>b())))},R,()=>E(c,R),u,h]})(e,(()=>!0),v),B=t(),G=t(),H=m(),J=(e,t,...n)=>l(n,(n=>j(x(x(H,t,m),e,F),n))),K=e=>l([G,B],(t=>t.delTable(e))),N=(e,t,n)=>J(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),P={setQueryDefinition:(t,n,s)=>{h(t,n),K(t);const r=[],a=[[null,[n,null,null,[],m()]]],c=[],w=[],R=[];s({select:(e,t)=>{const n=L(e)?[i(r)+"",e]:[g(t)?e:t,n=>n(e,t)];return u(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=g(n)||L(t)?null:t,r=g(s)?t:n,o=[e,[e,s,L(r)?r:e=>e(r),[],m()]];return u(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>u(c,L(e)?e:g(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,L(t)?[t,n,s,r]:Q(k,t)??[(e,t)=>t]]];return u(w,o),{as:e=>o[0]=e}},having:(e,t)=>u(R,L(e)?e:n=>n(e)===t)});const v=m(r);if(b(v))return P;const I=m(a);E(I,((e,[,t])=>f(Q(I,t),(({3:t})=>g(e)?0:u(t,e)))));const W=m(w);let O=B;if(b(W)&&d(R))O=G;else{N(t,O,G);const e=m();E(W,((t,[n,s])=>j(x(e,n,F),[t,s])));const n=F();E(v,(t=>T(e,t)?0:j(n,t)));const s=m(),r=(n,s,r,l)=>f(n,(([n,a,i,d])=>{E(s,((t,[s])=>{const o=x(n,t,m),a=Q(o,r),i=l?void 0:s;if(a!==i){const n=F([[a,i]]),s=y(o);M(o,r,i),p(Q(e,t),(([e,t])=>{const r=((e,t,n,s,r,o=!1)=>{if(b(n))return;const[l,a,i,d]=r;return o||=g(e),p(s,(([n,s])=>{o||(e=g(n)?a?.(e,s,t++):g(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=g(e))})),o?l(C(n),y(n)):e})(d[e],s,o,n,t);d[e]=g(z(r))?null:r}))}})),(b(a)||!o(R,(e=>e((e=>d[e]))))?G.delRow:G.setRow)(t,i,d)}));J(O,t,O.addRowListener(t,null,((o,l,a,i)=>{const d=[],c=[],h=m(),w=O.hasRow(t,a);let R=!w;p(n,(e=>{const[n,s,r]=i(t,a,e);u(d,s),u(c,r),R||=n})),E(e,(e=>{const[n,,s]=i(t,a,e);(R||n)&&M(h,e,[s])})),R&&r(D(s,d,void 0,(([,e,n])=>{if(S(e,a),b(e))return G.delRow(t,n),1})),h,a,1),w&&r(D(s,c,(()=>{const e={};return p(n,(n=>e[n]=O.getCell(t,a,n))),[m(),F(),G.addRow(t,e,1),e]}),(([,e])=>{j(e,a)})),h,a)})))}N(t,e,O);const H=s=>{const r=(t,r)=>e.getCell(...g(r)?[n,s,t]:t===n?[n,s,r]:[Q(I,t)?.[0],Q(Q(I,t)?.[4],s)?.[0],r]);O.transaction((()=>o(c,(e=>e(r)))?E(v,((e,n)=>((e,t,n,s,r)=>g(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(O,t,s,e,n(r,s)))):O.delRow(t,s)))},U=(n,s,r,o)=>{const a=t=>e.getCell(s,r,t);l(o,(s=>{const[r,,o,l,i]=Q(I,s),d=o?.(a,n),[c,u]=Q(i,n)??[];d!=c&&(g(u)||A(t,u),M(i,n,g(d)?null:[d,...q(t,1,e.addRowListener(r,d,(()=>U(n,r,d,l))))]))})),H(n)},{3:V}=Q(I,null);return O.transaction((()=>q(t,1,e.addRowListener(n,null,((s,r,o)=>{e.hasRow(n,o)?U(o,n,o,V):(O.delRow(t,o),p(I,(({4:e})=>f(Q(e,o),(([,n])=>{A(t,n),M(e,o)})))))}))))),P},delQueryDefinition:e=>(E(Q(H,e),((e,t)=>p(t,(t=>e.delListener(t))))),K(e),w(e),P),getStore:n,getQueryIds:s,forEachQuery:r,hasQuery:a,getTableId:c,delListener:e=>(G.delListener(e),P),destroy:R,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=G.getListenerStats();return s}};var U,V;return U={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},V=([e,t],n)=>{l(e?["get","has","forEach"]:["get"],(e=>P[e+"Result"+n]=(...t)=>G[e+n](...t))),P["addResult"+n+"Listener"]=(...e)=>{return G["add"+n+"Listener"](...(s=e,r=0,o=t,s.slice(r,o)),((n,...s)=>e[t](P,...s)));var s,r,o}},l(W.entries(U),(([e,t])=>V(t,e))),O(P)}));export{q as createQueries};
|
package/lib/queries.js.gz
CHANGED
|
Binary file
|
package/lib/relationships.d.ts
CHANGED
|
@@ -137,17 +137,18 @@ export type LinkedRowIdsListener = (
|
|
|
137
137
|
*/
|
|
138
138
|
export type RelationshipsListenerStats = {
|
|
139
139
|
/**
|
|
140
|
-
* The number of
|
|
141
|
-
* object.
|
|
140
|
+
* The number of RemoteRowIdListener functions registered with the
|
|
141
|
+
* Relationships object.
|
|
142
142
|
*/
|
|
143
143
|
remoteRowId?: number;
|
|
144
144
|
/**
|
|
145
|
-
* The number of
|
|
146
|
-
* object.
|
|
145
|
+
* The number of LocalRowIdsListener functions registered with the
|
|
146
|
+
* Relationships object.
|
|
147
147
|
*/
|
|
148
148
|
localRowIds?: number;
|
|
149
149
|
/**
|
|
150
|
-
* The number of
|
|
150
|
+
* The number of LinkedRowId functions registered with the Relationships
|
|
151
|
+
* object.
|
|
151
152
|
*/
|
|
152
153
|
linkedRowIds?: number;
|
|
153
154
|
};
|
package/lib/relationships.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),n=(e,t)=>e.forEach(t),o=e=>e.length,s=(e,...t)=>e.push(...t),r=e=>null==e,i=(e,t,n)=>r(e)?n?.():t(e),a=(e,t)=>e?.has(t)??!1,
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=(e,t)=>e.forEach(t),o=e=>e.length,s=(e,...t)=>e.push(...t),r=e=>null==e,i=(e,t,n)=>r(e)?n?.():t(e),a=(e,t)=>e?.has(t)??!1,l=e=>r(e)||0==(e=>e.size)(e),d=e=>[...e?.values()??[]],c=e=>e.clear(),R=(e,t)=>e?.forEach(t),u=(e,t)=>e?.delete(t),h=e=>new Map(e),f=(e,t)=>e?.get(t),L=(e,t)=>R(e,((e,n)=>t(n,e))),g=(e,t,n)=>r(n)?(u(e,t),e):e?.set(t,n),w=(e,t,n)=>(a(e,t)||g(e,t,n()),f(e,t)),p=(e,t,n,s,r=0)=>i((n?w:f)(e,t[r],r>o(t)-2?n:h),(i=>{if(r>o(t)-2)return s?.(i)&&g(e,t[r]),i;const a=p(i,t,n,s,r+1);return l(i)&&g(e,t[r]),a})),I=e=>new Set(e),b=(e,t)=>e?.add(t),v=(e,t,s)=>{const p=e.hasRow,v=h(),k=h(),E=h(),T=h(),m=h(),y=(t,o,...s)=>{const r=w(m,t,I);return n(s,(t=>b(r,t)&&o&&e.callListener(t))),s},S=(t,...s)=>i(f(m,t),(r=>{n(0==o(s)?d(r):s,(t=>{e.delListener(t),u(r,t)})),l(r)&&g(m,t)})),z=(e,n)=>{g(v,e,n),a(k,e)||(g(k,e,t()),g(E,e,h()),g(T,e,h()))},D=e=>{g(v,e),g(k,e),g(E,e),g(T,e),S(e)};return[()=>e,()=>[...v?.keys()??[]],e=>L(k,e),e=>a(k,e),e=>f(v,e),e=>f(k,e),(e,t)=>g(k,e,t),z,(t,o,i,l,d)=>{z(t,o);const u=h(),w=h(),I=f(E,t),b=f(T,t),v=t=>{const n=n=>e.getCell(o,t,n),i=f(I,t),a=p(o,t)?s(l(n,t)):void 0;if(i!=a&&g(u,t,[i,a]),!r(d)){const e=f(b,t),s=p(o,t)?d(n,t):void 0;e!=s&&g(w,t,s)}},k=e=>{i((()=>{R(u,(([,e],t)=>g(I,t,e))),R(w,((e,t)=>g(b,t,e)))}),u,w,I,b,e),c(u),c(w)};L(I,v),e.hasTable(o)&&n(e.getRowIds(o),(e=>{a(I,e)||v(e)})),k(!0),S(t),y(t,0,e.addRowListener(o,null,((e,t,n)=>v(n))),e.addTableListener(o,(()=>k())))},D,()=>L(m,D),y,S]},k=(n,o)=>e(n)==t?e=>e(n):n??(()=>o??""),E=e=>{let t,a=0;const d=[],c=h();return[(n,o,s)=>{t??=e();const r=d.pop()??""+a++;return g(c,r,[n,o,s]),b(p(o,s??[""],I),r),r},(e,r,...i)=>n(((e,t=[""])=>{const r=[],i=(e,a)=>a==o(t)?s(r,e):null===t[a]?R(e,(e=>i(e,a+1))):n([t[a],null],(t=>i(f(e,t),a+1)));return i(e,0),r})(e,r),(e=>R(e,(e=>f(c,e)[0](t,...r??[],...i))))),e=>i(f(c,e),(([,t,n])=>(p(t,n??[""],void 0,(t=>(u(t,e),l(t)?1:0))),g(c,e),o(d)<1e3&&s(d,e),n))),(e,s,a)=>i(f(c,e),(([e,,i=[]])=>{const l=(...d)=>{const c=o(d);c==o(i)?e(t,...d,...a(d)):r(i[c])?n(s[c](...d),(e=>l(...d,e))):l(...d,i[c])};l()}))]},T=Object.freeze,m=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const t=h(),n=h(),o=h(),s=h(),[c,w,p,m,y,S,,,z,D,M]=v(e,(()=>[h(),h(),h(),h()]),(e=>r(e)?void 0:e+"")),[j,x,C]=E((()=>A)),O=(e,t,n)=>i(S(e),(([o,,s])=>{if(!a(s,t)){const i=I();if(y(e)!=q(e))b(i,t);else{let e=t;for(;!r(e)&&!a(i,e);)b(i,e),e=f(o,e)}if(n)return i;g(s,t,i)}return f(s,t)})),W=(e,t)=>i(S(e),(([,,e])=>g(e,t))),q=e=>f(t,e),A={setRelationshipDefinition:(e,d,c,h)=>(g(t,e,c),z(e,d,((t,d)=>{const c=I(),h=I(),w=I(),[p,v]=S(e);R(d,(([t,n],o)=>{r(t)||(b(h,t),i(f(v,t),(e=>{u(e,o),l(e)&&g(v,t)}))),r(n)||(b(h,n),a(v,n)||g(v,n,I()),b(f(v,n),o)),b(c,o),g(p,o,n),L(f(s,e),(t=>{a(O(e,t),o)&&b(w,t)}))})),t(),R(c,(t=>x(n,[e,t]))),R(h,(t=>x(o,[e,t]))),R(w,(t=>{W(e,t),x(s,[e,t])}))}),k(h)),A),delRelationshipDefinition:e=>(g(t,e),D(e),A),getStore:c,getRelationshipIds:w,forEachRelationship:t=>p((n=>t(n,(t=>e.forEachRow(y(n),t))))),hasRelationship:m,getLocalTableId:y,getRemoteTableId:q,getRemoteRowId:(e,t)=>f(S(e)?.[0],t),getLocalRowIds:(e,t)=>d(f(S(e)?.[1],t)),getLinkedRowIds:(e,t)=>r(S(e))?[t]:d(O(e,t,!0)),addRemoteRowIdListener:(e,t,o)=>j(o,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>j(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(O(e,t),j(n,s,[e,t])),delListener:e=>(W(...C(e)),A),destroy:M,getListenerStats:()=>({})};return T(A)}));export{m as createRelationships};
|
package/lib/relationships.js.gz
CHANGED
|
Binary file
|