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.
Files changed (63) hide show
  1. package/lib/checkpoints.d.ts +4 -3
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/common.js +1 -1
  5. package/lib/common.js.gz +0 -0
  6. package/lib/debug/checkpoints.d.ts +4 -3
  7. package/lib/debug/checkpoints.js +13 -16
  8. package/lib/debug/common.js +4 -1
  9. package/lib/debug/indexes.d.ts +4 -2
  10. package/lib/debug/indexes.js +13 -15
  11. package/lib/debug/metrics.d.ts +1 -1
  12. package/lib/debug/metrics.js +13 -16
  13. package/lib/debug/persisters.d.ts +6 -0
  14. package/lib/debug/queries.d.ts +249 -299
  15. package/lib/debug/queries.js +67 -192
  16. package/lib/debug/relationships.d.ts +6 -5
  17. package/lib/debug/relationships.js +13 -16
  18. package/lib/debug/store.d.ts +386 -86
  19. package/lib/debug/store.js +278 -216
  20. package/lib/debug/tinybase.js +318 -390
  21. package/lib/debug/ui-react.d.ts +4320 -1796
  22. package/lib/debug/ui-react.js +380 -98
  23. package/lib/indexes.d.ts +4 -2
  24. package/lib/indexes.js +1 -1
  25. package/lib/indexes.js.gz +0 -0
  26. package/lib/metrics.d.ts +1 -1
  27. package/lib/metrics.js +1 -1
  28. package/lib/metrics.js.gz +0 -0
  29. package/lib/persisters.d.ts +6 -0
  30. package/lib/queries.d.ts +249 -299
  31. package/lib/queries.js +1 -1
  32. package/lib/queries.js.gz +0 -0
  33. package/lib/relationships.d.ts +6 -5
  34. package/lib/relationships.js +1 -1
  35. package/lib/relationships.js.gz +0 -0
  36. package/lib/store.d.ts +386 -86
  37. package/lib/store.js +1 -1
  38. package/lib/store.js.gz +0 -0
  39. package/lib/tinybase.js +1 -1
  40. package/lib/tinybase.js.gz +0 -0
  41. package/lib/ui-react.d.ts +4320 -1796
  42. package/lib/ui-react.js +1 -1
  43. package/lib/ui-react.js.gz +0 -0
  44. package/lib/umd/checkpoints.js +1 -1
  45. package/lib/umd/checkpoints.js.gz +0 -0
  46. package/lib/umd/common.js +1 -1
  47. package/lib/umd/common.js.gz +0 -0
  48. package/lib/umd/indexes.js +1 -1
  49. package/lib/umd/indexes.js.gz +0 -0
  50. package/lib/umd/metrics.js +1 -1
  51. package/lib/umd/metrics.js.gz +0 -0
  52. package/lib/umd/queries.js +1 -1
  53. package/lib/umd/queries.js.gz +0 -0
  54. package/lib/umd/relationships.js +1 -1
  55. package/lib/umd/relationships.js.gz +0 -0
  56. package/lib/umd/store.js +1 -1
  57. package/lib/umd/store.js.gz +0 -0
  58. package/lib/umd/tinybase.js +1 -1
  59. package/lib/umd/tinybase.js.gz +0 -0
  60. package/lib/umd/ui-react.js +1 -1
  61. package/lib/umd/ui-react.js.gz +0 -0
  62. package/package.json +26 -26
  63. package/readme.md +2 -2
package/lib/queries.js CHANGED
@@ -1 +1 @@
1
- const e=(e,t)=>e.every(t),t=(e,t)=>e.forEach(t),s=e=>o(e,((e,t)=>e+t),0),l=e=>e.length,n=e=>0==l(e),o=(e,t,s)=>e.reduce(t,s),r=(e,...t)=>e.push(...t),a=e=>typeof e,d=a(""),i=a(!0),c=a(0),u=a(a),R=Math.max,w=Math.min,h=isFinite,g=e=>null==e,L=(e,t,s)=>g(e)?s?.():t(e),f=e=>a(e)==u,T=()=>{},b=e=>e.size,C=(e,t)=>e?.has(t)??!1,v=e=>g(e)||0==b(e),I=e=>[...e?.values()??[]],y=e=>e.clear(),E=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),p=e=>new Map(e),S=e=>[...e?.keys()??[]],Q=(e,t)=>e?.get(t),x=(e,t)=>E(e,((e,s)=>t(s,e))),M=(e,t,s)=>g(s)?(m(e,t),e):e?.set(t,s),k=(e,t,s)=>(C(e,t)||e.set(t,s()),Q(e,t)),D=(e,t,s,n,o=0)=>L((s?k:Q)(e,t[o],o>l(t)-2?s:p),(r=>{if(o>l(t)-2)return n?.(r)&&M(e,t[o]),r;const a=D(r,t,s,n,o+1);return v(r)&&M(e,t[o]),a})),F=e=>new Set(e),j=(e,t)=>e?.add(t),z=p([["avg",[(e,t)=>s(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,l)=>e+(t-s)/l]],["max",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:R(t,e)]],["min",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:w(t,e)]],["sum",[e=>s(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),W=e=>{const t=a(e);return(e=>e==d||e==i)(t)||t==c&&h(e)?t:void 0},O=Object,q=O.keys,A=O.freeze,B=(e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))})((s=>{const[o,a,d,i,c,,,u,,R,w,h,O]=((e,s,l)=>{const o=e.hasRow,r=p(),a=p(),d=p(),i=p(),c=p(),u=(s,l,...n)=>{const o=k(c,s,F);return t(n,(t=>j(o,t)&&l&&e.callListener(t))),n},R=(s,...l)=>L(Q(c,s),(o=>{t(n(l)?I(o):l,(t=>{e.delListener(t),m(o,t)})),v(o)&&M(c,s)})),w=(e,t)=>{M(r,e,t),C(a,e)||(M(a,e,s()),M(d,e,p()),M(i,e,p()))},h=e=>{M(r,e),M(a,e),M(d,e),M(i,e),R(e)};return[()=>e,()=>S(r),e=>x(a,e),e=>C(a,e),e=>Q(r,e),e=>Q(a,e),(e,t)=>M(a,e,t),w,(s,n,r,a,c)=>{w(s,n);const h=p(),L=p(),f=Q(d,s),T=Q(i,s),b=t=>{const s=s=>e.getCell(n,t,s),r=Q(f,t),d=o(n,t)?l(a(s,t)):void 0;if(r!=d&&M(h,t,[r,d]),!g(c)){const e=Q(T,t),l=o(n,t)?c(s,t):void 0;e!=l&&M(L,t,l)}},v=e=>{r((()=>{E(h,(([,e],t)=>M(f,t,e))),E(L,((e,t)=>M(T,t,e)))}),h,L,f,T,e),y(h),y(L)};x(f,b),e.hasTable(n)&&t(e.getRowIds(n),(e=>{C(f,e)||b(e)})),v(!0),R(s),u(s,0,e.addRowListener(n,null,((e,t,s)=>b(s))),e.addTableListener(n,(()=>v())))},h,()=>x(c,h),u,R]})(s,(()=>!0),T),B=s.createStore(),G=s.createStore(),H=s.createStore(),J=p(),K=(e,s,...l)=>t(l,(t=>j(k(k(J,s,p),e,F),t))),N=(e,t,s)=>h(e,0,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(o,a,d)=>{let i;u(o,a),B.delTable(o),G.delTable(o),H.delTable(o);const c=[],R=[[null,[a,null,null,[],p()]]],w=[],T=[],A=[],J=[];d({select:(e,t)=>{const s=f(e)?[l(c)+"",e]:[g(t)?e:t,s=>s(e,t)];return r(c,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const l=g(s)||f(t)?null:t,n=g(l)?t:s,o=[e,[e,l,f(n)?n:e=>e(n),[],p()]];return r(R,o),{as:e=>o[0]=e}},where:(e,t,s)=>r(w,f(e)?e:g(s)?s=>s(e)===t:l=>l(e,t)===s),group:(e,t,s,l,n)=>{const o=[e,[e,f(t)?[t,s,l,n]:Q(z,t)??[(e,t)=>t]]];return r(T,o),{as:e=>o[0]=e}},having:(e,t)=>r(A,f(e)?e:s=>s(e)===t),order:(e,t)=>r(J,[f(e)?e:t=>t(e)??0,t]),limit:(e,t)=>{i=g(t)?[0,e]:[e,t]}});const U=p(c);if(v(U))return P;const V=p(R);x(V,((e,[,t])=>L(Q(V,t),(({3:t})=>g(e)?0:r(t,e)))));const X=p(T);let Y=B,Z=G;if(n(J)&&g(i))Z=H;else{N(o,Z,H);const s=(e,t)=>{const s=Q(r,e)??[],l=Q(r,t)??[],n=J.findIndex(((e,t)=>s[t]!==l[t]));return n<0?0:(o=s[n],a=l[n],(o<a?-1:1)*(J[n][1]?-1:1));var o,a},r=p(),a=p();K(Z,o,n(J)?Z.addRowIdsListener(o,(()=>y(a))):Z.addRowListener(o,null,((t,s,n)=>{let d=null;if(Z.hasRow(o,n)){const t=Q(r,n)??[],s=Z.getRow(o,n),R=e=>s[e];if(u=([e])=>e(R,n),d=J.map(u),c=d,l(i=t)===l(c)&&e(i,((e,t)=>c[t]===e)))return void(Q(a,n)&&H.setRow(o,n,s))}var i,c,u;M(r,n,d),y(a)})),Z.addTableListener(o,(()=>{if(v(a)&&(H.delTable(o),Z.hasTable(o))){const n=Z.getTable(o);t((e=q(n),l=s,e.sort(l)),(e=>M(a,e,0))),t(L(i,(([e,t])=>((e,t,s)=>e.slice(t,s))(S(a),e,e+t)),(()=>S(a))),(e=>{H.setRow(o,e,n[e]),M(a,e,1)}))}var e,l})))}if(v(X)&&n(A))Y=Z;else{N(o,Y,Z);const t=p();x(X,((e,[s,l])=>j(k(t,s,F),[e,l])));const s=F();x(U,(e=>C(t,e)?0:j(s,e)));const l=p(),n=(s,l,n,r)=>L(s,(([s,a,d,i])=>{x(l,((e,[l])=>{const o=k(s,e,p),a=Q(o,n),d=r?void 0:l;if(a!==d){const s=F([[a,d]]),l=b(o);M(o,n,d),E(Q(t,e),(([e,t])=>{const n=((e,t,s,l,n,o=!1)=>{if(v(s))return;const[r,a,d,i]=n;return o||=g(e),E(l,(([s,l])=>{o||(e=g(s)?a?.(e,l,t++):g(l)?d?.(e,s,t--):i?.(e,l,s,t),o||=g(e))})),o?r(I(s),b(s)):e})(i[e],l,o,s,t);i[e]=g(W(n))?null:n}))}})),(v(a)||!e(A,(e=>e((e=>i[e]))))?Z.delRow:Z.setRow)(o,d,i)}));K(Y,o,Y.addRowListener(o,null,((e,a,d,i)=>{const c=[],u=[],R=p(),w=Y.hasRow(o,d);let h=!w;E(s,(e=>{const[t,s,l]=i(o,d,e);r(c,s),r(u,l),h||=t})),x(t,(e=>{const[t,,s]=i(o,d,e);(h||t)&&M(R,e,[s])})),h&&n(D(l,c,void 0,(([,e,t])=>{if(m(e,d),v(e))return Z.delRow(o,t),1})),R,d,1),w&&n(D(l,u,(()=>{const e={};return E(s,(t=>e[t]=Y.getCell(o,d,t))),[p(),F(),Z.addRow(o,e,1),e]}),(([,e])=>{j(e,d)})),R,d)})))}N(o,s,Y);const $=t=>{const l=(e,l)=>s.getCell(...g(l)?[a,t,e]:e===a?[a,t,l]:[Q(V,e)?.[0],Q(Q(V,e)?.[4],t)?.[0],l]);Y.transaction((()=>e(w,(e=>e(l)))?x(U,((e,s)=>((e,t,s,l,n)=>g(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n))(Y,o,t,e,s(l,t)))):Y.delRow(o,t)))},_=(e,l,n,r)=>{const a=e=>s.getCell(l,n,e);t(r,(t=>{const[l,,n,r,d]=Q(V,t),i=n?.(a,e),[c,u]=Q(d,e)??[];i!=c&&(g(u)||O(o,u),M(d,e,g(i)?null:[i,...h(o,1,s.addRowListener(l,i,(()=>_(e,l,i,r))))]))})),$(e)},{3:ee}=Q(V,null);return Y.transaction((()=>h(o,1,s.addRowListener(a,null,((e,t,l)=>{s.hasRow(a,l)?_(l,a,l,ee):(Y.delRow(o,l),E(V,(({4:e})=>L(Q(e,l),(([,t])=>{O(o,t),M(e,l)})))))}))))),P},delQueryDefinition:e=>(x(Q(J,e),((e,t)=>E(t,(t=>e.delListener(t))))),R(e),P),getStore:o,getQueryIds:a,forEachQuery:d,hasQuery:i,getTableId:c,getResultTable:e=>H.getTable(e),getResultRowIds:e=>H.getRowIds(e),getResultRow:(e,t)=>H.getRow(e,t),getResultCellIds:(e,t)=>H.getCellIds(e,t),getResultCell:(e,t,s)=>H.getCell(e,t,s),hasResultTable:e=>H.hasTable(e),hasResultRow:(e,t)=>H.hasRow(e,t),hasResultCell:(e,t,s)=>H.hasCell(e,t,s),forEachResultTable:e=>H.forEachTable(e),forEachResultRow:(e,t)=>H.forEachRow(e,t),forEachResultCell:(e,t,s)=>H.forEachCell(e,t,s),addResultTableListener:(e,t)=>H.addTableListener(e,((e,...s)=>t(P,...s))),addResultRowIdsListener:(e,t,s)=>H.addRowIdsListener(e,((e,...s)=>t(P,...s)),s),addResultRowListener:(e,t,s)=>H.addRowListener(e,t,((e,...t)=>s(P,...t))),addResultCellIdsListener:(e,t,s,l)=>H.addCellIdsListener(e,t,((e,...t)=>s(P,...t)),l),addResultCellListener:(e,t,s,l)=>H.addCellListener(e,t,s,((e,...t)=>l(P,...t))),delListener:e=>(H.delListener(e),P),destroy:w,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...l}=H.getListenerStats();return l}};return A(P)}));export{B as createQueries};
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
@@ -137,17 +137,18 @@ export type LinkedRowIdsListener = (
137
137
  */
138
138
  export type RelationshipsListenerStats = {
139
139
  /**
140
- * The number of RemoteRowIdListeners registered with the Relationships
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 LocalRowIdsListeners registered with the Relationships
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 LinkedRowIds registered with the Relationships object.
150
+ * The number of LinkedRowId functions registered with the Relationships
151
+ * object.
151
152
  */
152
153
  linkedRowIds?: number;
153
154
  };
@@ -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,d=e=>r(e)||0==(e=>e.size)(e),l=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)||e.set(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 d(i)&&g(e,t[r]),a})),I=e=>new Set(e),v=(e,t)=>e?.add(t),b=(e,t,s)=>{const p=e.hasRow,b=h(),k=h(),y=h(),E=h(),T=h(),m=(t,o,...s)=>{const r=w(T,t,I);return n(s,(t=>v(r,t)&&o&&e.callListener(t))),s},S=(t,...s)=>i(f(T,t),(r=>{n(0==o(s)?l(r):s,(t=>{e.delListener(t),u(r,t)})),d(r)&&g(T,t)})),z=(e,n)=>{g(b,e,n),a(k,e)||(g(k,e,t()),g(y,e,h()),g(E,e,h()))},D=e=>{g(b,e),g(k,e),g(y,e),g(E,e),S(e)};return[()=>e,()=>[...b?.keys()??[]],e=>L(k,e),e=>a(k,e),e=>f(b,e),e=>f(k,e),(e,t)=>g(k,e,t),z,(t,o,i,d,l)=>{z(t,o);const u=h(),w=h(),I=f(y,t),v=f(E,t),b=t=>{const n=n=>e.getCell(o,t,n),i=f(I,t),a=p(o,t)?s(d(n,t)):void 0;if(i!=a&&g(u,t,[i,a]),!r(l)){const e=f(v,t),s=p(o,t)?l(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(v,t,e)))}),u,w,I,v,e),c(u),c(w)};L(I,b),e.hasTable(o)&&n(e.getRowIds(o),(e=>{a(I,e)||b(e)})),k(!0),S(t),m(t,0,e.addRowListener(o,null,((e,t,n)=>b(n))),e.addTableListener(o,(()=>k())))},D,()=>L(T,D),m,S]},k=(n,o)=>e(n)==t?e=>e(n):n??(()=>o??""),y=(e,t=[""])=>{const r=[],i=(e,a)=>a==o(t)?s(r,e):n([t[a],null],(t=>i(f(e,t),a+1)));return i(e,0),r},E=Object.freeze,T=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const t=h(),c=h(),w=h(),T=h(),[m,S,z,D,M,j,,,x,C,O]=b(e,(()=>[h(),h(),h(),h()]),(e=>r(e)?void 0:e+"")),[W,q,A]=(e=>{let t,a=0;const l=[],c=h();return[(n,o,s)=>{t??=e();const r=l.pop()??""+a++;return g(c,r,[n,o,s]),v(p(o,s??[""],I),r),r},(e,o,...s)=>n(y(e,o),(e=>R(e,(e=>i(f(c,e),(([e])=>e(t,...o??[],...s))))))),e=>i(f(c,e),(([,t,n])=>(p(t,n??[""],void 0,(t=>(u(t,e),d(t)?1:0))),g(c,e),o(l)<1e3&&s(l,e),n))),(e,t)=>{return n=y(e,t),o=r,!n.every(o);var n,o},(e,s,a)=>i(f(c,e),(([e,,i=[]])=>{const d=(...l)=>{const c=o(l);c==o(i)?e(t,...l,...a(l)):r(i[c])?n(s[c](...l),(e=>d(...l,e))):d(...l,i[c])};d()}))]})((()=>H)),B=(e,t,n)=>i(j(e),(([o,,s])=>{if(!a(s,t)){const i=I();if(M(e)!=G(e))v(i,t);else{let e=t;for(;!r(e)&&!a(i,e);)v(i,e),e=f(o,e)}if(n)return i;g(s,t,i)}return f(s,t)})),F=(e,t)=>i(j(e),(([,,e])=>g(e,t))),G=e=>f(t,e),H={setRelationshipDefinition:(e,n,o,s)=>(g(t,e,o),x(e,n,((t,n)=>{const o=I(),s=I(),l=I(),[h,p]=j(e);R(n,(([t,n],c)=>{r(t)||(v(s,t),i(f(p,t),(e=>{u(e,c),d(e)&&g(p,t)}))),r(n)||(v(s,n),a(p,n)||g(p,n,I()),v(f(p,n),c)),v(o,c),g(h,c,n),L(f(T,e),(t=>{a(B(e,t),c)&&v(l,t)}))})),t(),R(o,(t=>q(c,[e,t]))),R(s,(t=>q(w,[e,t]))),R(l,(t=>{F(e,t),q(T,[e,t])}))}),k(s)),H),delRelationshipDefinition:e=>(g(t,e),C(e),H),getStore:m,getRelationshipIds:S,forEachRelationship:t=>z((n=>t(n,(t=>e.forEachRow(M(n),t))))),hasRelationship:D,getLocalTableId:M,getRemoteTableId:G,getRemoteRowId:(e,t)=>f(j(e)?.[0],t),getLocalRowIds:(e,t)=>l(f(j(e)?.[1],t)),getLinkedRowIds:(e,t)=>r(j(e))?[t]:l(B(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>W(n,c,[e,t]),addLocalRowIdsListener:(e,t,n)=>W(n,w,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(B(e,t),W(n,T,[e,t])),delListener:e=>(F(...A(e)),H),destroy:O,getListenerStats:()=>({})};return E(H)}));export{T as createRelationships};
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};
Binary file