tinybase 1.3.4 → 2.0.0-beta.1

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 (53) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/debug/checkpoints.js +67 -54
  4. package/lib/debug/indexes.js +104 -67
  5. package/lib/debug/metrics.js +185 -129
  6. package/lib/debug/persisters.js +2 -1
  7. package/lib/debug/queries.d.ts +3054 -0
  8. package/lib/debug/queries.js +880 -0
  9. package/lib/debug/relationships.d.ts +6 -5
  10. package/lib/debug/relationships.js +102 -66
  11. package/lib/debug/store.d.ts +137 -66
  12. package/lib/debug/store.js +215 -119
  13. package/lib/debug/tinybase.d.ts +1 -0
  14. package/lib/debug/tinybase.js +892 -175
  15. package/lib/debug/ui-react.d.ts +2004 -195
  16. package/lib/debug/ui-react.js +273 -77
  17. package/lib/indexes.js +1 -1
  18. package/lib/indexes.js.gz +0 -0
  19. package/lib/metrics.js +1 -1
  20. package/lib/metrics.js.gz +0 -0
  21. package/lib/queries.d.ts +3054 -0
  22. package/lib/queries.js +1 -0
  23. package/lib/queries.js.gz +0 -0
  24. package/lib/relationships.d.ts +6 -5
  25. package/lib/relationships.js +1 -1
  26. package/lib/relationships.js.gz +0 -0
  27. package/lib/store.d.ts +137 -66
  28. package/lib/store.js +1 -1
  29. package/lib/store.js.gz +0 -0
  30. package/lib/tinybase.d.ts +1 -0
  31. package/lib/tinybase.js +1 -1
  32. package/lib/tinybase.js.gz +0 -0
  33. package/lib/ui-react.d.ts +2004 -195
  34. package/lib/ui-react.js +1 -1
  35. package/lib/ui-react.js.gz +0 -0
  36. package/lib/umd/checkpoints.js +1 -1
  37. package/lib/umd/checkpoints.js.gz +0 -0
  38. package/lib/umd/indexes.js +1 -1
  39. package/lib/umd/indexes.js.gz +0 -0
  40. package/lib/umd/metrics.js +1 -1
  41. package/lib/umd/metrics.js.gz +0 -0
  42. package/lib/umd/queries.js +1 -0
  43. package/lib/umd/queries.js.gz +0 -0
  44. package/lib/umd/relationships.js +1 -1
  45. package/lib/umd/relationships.js.gz +0 -0
  46. package/lib/umd/store.js +1 -1
  47. package/lib/umd/store.js.gz +0 -0
  48. package/lib/umd/tinybase.js +1 -1
  49. package/lib/umd/tinybase.js.gz +0 -0
  50. package/lib/umd/ui-react.js +1 -1
  51. package/lib/umd/ui-react.js.gz +0 -0
  52. package/package.json +22 -22
  53. package/readme.md +2 -2
package/lib/metrics.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),s=e(e),n=(e,t)=>e.forEach(t),o=e=>c(e,((e,t)=>e+t),0),i=e=>e.length,r=e=>0==i(e),c=(e,t,s)=>e.reduce(t,s),a=e=>e.slice(1),d=Math.max,l=Math.min,u=isFinite,h=e=>null==e,v=(e,t,s)=>h(e)?s?.():t(e),g=()=>{},M=e=>e.size,f=(e,t)=>e?.has(t)??!1,p=e=>e.clear(),m=(e,t)=>e?.forEach(t),w=(e,t)=>e?.delete(t),L=e=>new Map(e),b=(e,t)=>e?.get(t),x=(e,t)=>m(e,((e,s)=>t(s,e))),y=(e,t,s)=>h(s)?(w(e,t),e):e?.set(t,s),E=(e,t,s)=>(f(e,t)||e.set(t,s()),b(e,t)),I=e=>new Set(e),R=(s,n)=>e(s)==t?e=>e(s):s??(()=>n??""),S=(e,t,s)=>i(s)<2?((e,t)=>e?.add(t))(r(s)?e:E(e,s[0],I),t):S(E(e,s[0],L),t,a(s)),T=e=>{const t=(s,o,...i)=>v(s,(s=>r(i)?e(s,o):n([i[0],null],(e=>t(b(s,e),o,...a(i))))));return t},k=Object.freeze,z=L([["avg",[(e,t)=>o(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=>d(...e),(e,t)=>d(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:d(t,e)]],["min",[e=>l(...e),(e,t)=>l(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:l(t,e)]],["sum",[e=>o(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),D=(e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))})((t=>{const o=L(),[r,c,a,d,l,E,D,N,j,C]=((e,t,s)=>{const o=e.hasRow,i=L(),r=L(),c=L(),a=L(),d=L(),l=t=>v(b(d,t),(s=>{m(s,e.delListener),y(d,t)})),u=e=>{y(i,e),y(r,e),y(c,e),y(a,e),l(e)};return[()=>e,()=>[...i?.keys()??[]],e=>x(r,e),e=>f(r,e),e=>b(i,e),e=>b(r,e),(e,t)=>y(r,e,t),(u,v,g,M,w)=>{const E=L(),R=L();y(i,u,v),f(r,u)||(y(r,u,t()),y(c,u,L()),y(a,u,L()));const S=b(c,u),T=b(a,u),k=t=>{const n=s=>e.getCell(v,t,s),i=b(S,t),r=o(v,t)?s(M(n,t)):void 0;if(i!=r&&y(E,t,[i,r]),!h(w)){const e=b(T,t),s=o(v,t)?w(n,t):void 0;e!=s&&y(R,t,s)}},z=e=>{g((()=>{m(E,(([,e],t)=>y(S,t,e))),m(R,((e,t)=>y(T,t,e)))}),E,R,S,T,e),p(E),p(R)};x(S,k),e.hasTable(v)&&n(e.getRowIds(v),(e=>{f(S,e)||k(e)})),z(!0),l(u),y(d,u,I([e.addRowListener(v,null,((e,t,s)=>k(s))),e.addTableListener(v,(()=>z()))]))},u,()=>x(d,u)]})(t,g,(e=>isNaN(e)||h(e)||!0===e||!1===e||""===e?void 0:1*e)),[F,O,W]=(e=>{let t,s=0;const o=[],r=L();return[(n,i,c=[])=>{t??=e();const a=o.pop()??""+s++;return y(r,a,[n,i,c]),S(i,a,c),a},(e,s=[],...n)=>T(m)(e,(e=>v(b(r,e),(([e])=>e(t,...s,...n)))),...s),e=>v(b(r,e),(([,t,s])=>(T(w)(t,e,...s),y(r,e),i(o)<1e3&&o.push(e),s)),(()=>[])),(e,s,o)=>v(b(r,e),(([e,,r])=>{const c=(...a)=>{const d=i(a);d==i(r)?e(t,...a,...o(a)):h(r[d])?n(s[d](...a),(e=>c(...a,e))):c(...a,r[d])};c()}))]})((()=>q)),q={setMetricDefinition:(t,n,i,r,c,a,d)=>{const l=e(i)==s?[i,c,a,d]:b(z,i)??b(z,"sum");return N(t,n,((e,s,n,i,r,c)=>{let a=E(t),d=M(i);const[v,g,f,p]=l;var w;c=c||h(a),m(s,(([e,t])=>{c||(a=h(e)?g?.(a,t,d++):h(t)?f?.(a,e,d--):p?.(a,t,e,d)),c=c||h(a)})),e(),h(w=i)||0==M(w)?a=void 0:c&&(a=v((e=>[...e?.values()??[]])(i),M(i))),u(a)||(a=void 0);const L=E(t);a!=L&&(D(t,a),O(o,[t],a,L))}),R(r,1)),q},delMetricDefinition:e=>(j(e),q),getStore:r,getMetricIds:c,forEachMetric:a,hasMetric:d,getTableId:l,getMetric:E,addMetricListener:(e,t)=>F(t,o,[e]),delListener:e=>(W(e),q),destroy:C,getListenerStats:()=>({})};return k(q)}));export{D as createMetrics};
1
+ const e=e=>typeof e,t=e(""),n=e(e),r=(e,t)=>e.forEach(t),s=e=>o(e,((e,t)=>e+t),0),i=e=>e.length,o=(e,t,n)=>e.reduce(t,n),c=(e,...t)=>e.push(...t),a=Math.max,d=Math.min,l=isFinite,u=e=>null==e,v=(e,t,n)=>u(e)?n?.():t(e),h=()=>{},g=e=>e.size,M=(e,t)=>e?.has(t)??!1,f=e=>u(e)||0==g(e),p=e=>[...e?.values()??[]],L=e=>e.clear(),m=(e,t)=>e?.forEach(t),w=(e,t)=>e?.delete(t),b=e=>new Map(e),y=(e,t)=>e?.get(t),x=(e,t)=>m(e,((e,n)=>t(n,e))),E=(e,t,n)=>u(n)?(w(e,t),e):e?.set(t,n),I=(e,t,n)=>(M(e,t)||e.set(t,n()),y(e,t)),R=(e,t,n,r,s=0)=>v((n?I:y)(e,t[s],s>i(t)-2?n:b),(o=>{if(s>i(t)-2)return r?.(o)&&E(e,t[s]),o;const c=R(o,t,n,r,s+1);return f(o)&&E(e,t[s]),c})),S=b([["avg",[(e,t)=>s(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=>a(...e),(e,t)=>a(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:a(t,e)]],["min",[e=>d(...e),(e,t)=>d(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:d(t,e)]],["sum",[e=>s(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),T=e=>new Set(e),k=(e,t)=>e?.add(t),z=(e,t,n)=>{const s=e.hasRow,o=b(),c=b(),a=b(),d=b(),l=b(),h=(t,n,...s)=>{const i=I(l,t,T);return r(s,(t=>k(i,t)&&n&&e.callListener(t))),s},g=(t,...n)=>v(y(l,t),(s=>{r(0==i(n)?p(s):n,(t=>{e.delListener(t),w(s,t)})),f(s)&&E(l,t)})),R=(e,n)=>{E(o,e,n),M(c,e)||(E(c,e,t()),E(a,e,b()),E(d,e,b()))},S=e=>{E(o,e),E(c,e),E(a,e),E(d,e),g(e)};return[()=>e,()=>[...o?.keys()??[]],e=>x(c,e),e=>M(c,e),e=>y(o,e),e=>y(c,e),(e,t)=>E(c,e,t),R,(t,i,o,c,l)=>{R(t,i);const v=b(),f=b(),p=y(a,t),w=y(d,t),I=t=>{const r=n=>e.getCell(i,t,n),o=y(p,t),a=s(i,t)?n(c(r,t)):void 0;if(o!=a&&E(v,t,[o,a]),!u(l)){const e=y(w,t),n=s(i,t)?l(r,t):void 0;e!=n&&E(f,t,n)}},S=e=>{o((()=>{m(v,(([,e],t)=>E(p,t,e))),m(f,((e,t)=>E(w,t,e)))}),v,f,p,w,e),L(v),L(f)};x(p,I),e.hasTable(i)&&r(e.getRowIds(i),(e=>{M(p,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(i,null,((e,t,n)=>I(n))),e.addTableListener(i,(()=>S())))},S,()=>x(l,S),h,g]},D=(n,r)=>e(n)==t?e=>e(n):n??(()=>r??""),N=(e,t=[""])=>{const n=[],s=(e,o)=>o==i(t)?c(n,e):r([t[o],null],(t=>s(y(e,t),o+1)));return s(e,0),n},j=Object.freeze,C=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((t=>{const s=b(),[o,a,d,M,L,x,I,,C,F,O]=z(t,h,(e=>isNaN(e)||u(e)||!0===e||!1===e||""===e?void 0:1*e)),[W,q,A]=(e=>{let t,n=0;const s=[],o=b();return[(r,i,c)=>{t??=e();const a=s.pop()??""+n++;return E(o,a,[r,i,c]),k(R(i,c??[""],T),a),a},(e,n,...s)=>r(N(e,n),(e=>m(e,(e=>v(y(o,e),(([e])=>e(t,...n??[],...s))))))),e=>v(y(o,e),(([,t,n])=>(R(t,n??[""],void 0,(t=>(w(t,e),f(t)?1:0))),E(o,e),i(s)<1e3&&c(s,e),n))),(e,t)=>{return n=N(e,t),r=u,!n.every(r);var n,r},(e,n,s)=>v(y(o,e),(([e,,o=[]])=>{const c=(...a)=>{const d=i(a);d==i(o)?e(t,...a,...s(a)):u(o[d])?r(n[d](...a),(e=>c(...a,e))):c(...a,o[d])};c()}))]})((()=>B)),B={setMetricDefinition:(t,r,i,o,c,a,d)=>{const v=e(i)==n?[i,c,a,d]:y(S,i)??y(S,"sum");return C(t,r,((e,n,r,i,o,c)=>{const a=x(t),d=g(i);c||=u(a),e();let h=((e,t,n,r,s,i=!1)=>{if(f(n))return;const[o,c,a,d]=s;return i||=u(e),m(r,(([n,r])=>{i||(e=u(n)?c?.(e,r,t++):u(r)?a?.(e,n,t--):d?.(e,r,n,t),i||=u(e))})),i?o(p(n),g(n)):e})(a,d,i,n,v,c);l(h)||(h=void 0),h!=a&&(I(t,h),q(s,[t],h,a))}),D(o,1)),B},delMetricDefinition:e=>(F(e),B),getStore:o,getMetricIds:a,forEachMetric:d,hasMetric:M,getTableId:L,getMetric:x,addMetricListener:(e,t)=>W(t,s,[e]),delListener:e=>(A(e),B),destroy:O,getListenerStats:()=>({})};return j(B)}));export{C as createMetrics};
package/lib/metrics.js.gz CHANGED
Binary file