tinybase 2.2.0-beta.0 → 2.2.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 (80) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/debug/queries.js +4 -3
  5. package/lib/debug/store.js +5 -5
  6. package/lib/debug/tinybase.js +6 -6
  7. package/lib/debug/tools.d.ts +155 -5
  8. package/lib/debug/tools.js +488 -431
  9. package/lib/es6/checkpoints.js +1 -1
  10. package/lib/es6/checkpoints.js.gz +0 -0
  11. package/lib/es6/indexes.js +1 -1
  12. package/lib/es6/indexes.js.gz +0 -0
  13. package/lib/es6/metrics.js +1 -1
  14. package/lib/es6/metrics.js.gz +0 -0
  15. package/lib/es6/queries.js +1 -1
  16. package/lib/es6/queries.js.gz +0 -0
  17. package/lib/es6/relationships.js +1 -1
  18. package/lib/es6/relationships.js.gz +0 -0
  19. package/lib/es6/store.js +1 -1
  20. package/lib/es6/store.js.gz +0 -0
  21. package/lib/es6/tinybase.js +1 -1
  22. package/lib/es6/tinybase.js.gz +0 -0
  23. package/lib/es6/tools.d.ts +155 -5
  24. package/lib/es6/tools.js +1 -1
  25. package/lib/es6/tools.js.gz +0 -0
  26. package/lib/es6/ui-react.js +1 -1
  27. package/lib/es6/ui-react.js.gz +0 -0
  28. package/lib/indexes.js +1 -1
  29. package/lib/indexes.js.gz +0 -0
  30. package/lib/metrics.js +1 -1
  31. package/lib/metrics.js.gz +0 -0
  32. package/lib/queries.js +1 -1
  33. package/lib/queries.js.gz +0 -0
  34. package/lib/relationships.js +1 -1
  35. package/lib/relationships.js.gz +0 -0
  36. package/lib/store.js +1 -1
  37. package/lib/store.js.gz +0 -0
  38. package/lib/tinybase.js +1 -1
  39. package/lib/tinybase.js.gz +0 -0
  40. package/lib/tools.d.ts +155 -5
  41. package/lib/tools.js +1 -1
  42. package/lib/tools.js.gz +0 -0
  43. package/lib/umd/checkpoints.js +1 -1
  44. package/lib/umd/checkpoints.js.gz +0 -0
  45. package/lib/umd/indexes.js +1 -1
  46. package/lib/umd/indexes.js.gz +0 -0
  47. package/lib/umd/metrics.js +1 -1
  48. package/lib/umd/metrics.js.gz +0 -0
  49. package/lib/umd/queries.js +1 -1
  50. package/lib/umd/queries.js.gz +0 -0
  51. package/lib/umd/relationships.js +1 -1
  52. package/lib/umd/relationships.js.gz +0 -0
  53. package/lib/umd/store.js +1 -1
  54. package/lib/umd/store.js.gz +0 -0
  55. package/lib/umd/tinybase.js +1 -1
  56. package/lib/umd/tinybase.js.gz +0 -0
  57. package/lib/umd/tools.d.ts +155 -5
  58. package/lib/umd/tools.js +1 -1
  59. package/lib/umd/tools.js.gz +0 -0
  60. package/lib/umd-es6/checkpoints.js +1 -1
  61. package/lib/umd-es6/checkpoints.js.gz +0 -0
  62. package/lib/umd-es6/indexes.js +1 -1
  63. package/lib/umd-es6/indexes.js.gz +0 -0
  64. package/lib/umd-es6/metrics.js +1 -1
  65. package/lib/umd-es6/metrics.js.gz +0 -0
  66. package/lib/umd-es6/queries.js +1 -1
  67. package/lib/umd-es6/queries.js.gz +0 -0
  68. package/lib/umd-es6/relationships.js +1 -1
  69. package/lib/umd-es6/relationships.js.gz +0 -0
  70. package/lib/umd-es6/store.js +1 -1
  71. package/lib/umd-es6/store.js.gz +0 -0
  72. package/lib/umd-es6/tinybase.js +1 -1
  73. package/lib/umd-es6/tinybase.js.gz +0 -0
  74. package/lib/umd-es6/tools.d.ts +155 -5
  75. package/lib/umd-es6/tools.js +1 -1
  76. package/lib/umd-es6/tools.js.gz +0 -0
  77. package/lib/umd-es6/ui-react.js +1 -1
  78. package/lib/umd-es6/ui-react.js.gz +0 -0
  79. package/package.json +6 -5
  80. package/readme.md +21 -2
@@ -1 +1 @@
1
- const e=(e,n)=>e.includes(n),n=(e,n)=>e.forEach(n),t=e=>e.length,l=e=>0==t(e),r=(e,...n)=>e.push(...n),o=e=>e.pop(),s=e=>e.shift(),u=e=>null==e,i=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},c=e=>u(e)||0==(e=>e.size)(e),a=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),v=(e,n)=>null==e?void 0:e.get(n),C=(e,n,t)=>u(t)?(h(e,n),e):null==e?void 0:e.set(n,t),g=(e,n,t)=>(d(e,n)||C(e,n,t()),v(e,n)),k=(e,n,l,r,o=0)=>i((l?g:v)(e,n[o],o>t(n)-2?l:p),(s=>{if(o>t(n)-2)return(null==r?void 0:r(s))&&C(e,n[o]),s;const u=k(s,n,l,r,o+1);return c(s)&&C(e,n[o]),u})),f=e=>new Set(Array.isArray(e)||u(e)?e:[e]),L=/^\d+$/,w=e=>{let l;const[o,d]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=s(e))?t:""+n++},n=>{L.test(n)&&t(e)<1e3&&r(e,n)}]})(),g=p();return[(n,t,r)=>{null!=l||(l=e());const s=o();var u,i;return C(g,s,[n,t,r]),u=k(t,null!=r?r:[""],f),i=s,null==u||u.add(i),s},(e,o,...s)=>n(((e,l=[""])=>{const o=[],s=(e,u)=>u==t(l)?r(o,e):null===l[u]?a(e,(e=>s(e,u+1))):n([l[u],null],(n=>s(v(e,n),u+1)));return s(e,0),o})(e,o),(e=>a(e,(e=>v(g,e)[0](l,...null!=o?o:[],...s))))),e=>i(v(g,e),(([,n,t])=>(k(n,null!=t?t:[""],void 0,(n=>(h(n,e),c(n)?1:0))),C(g,e),d(e),t))),(e,r,o)=>i(v(g,e),(([e,,s=[]])=>{const i=(...d)=>{const c=t(d);c==t(s)?e(l,...d,...o(d)):u(s[c])?n(r[c](...d),(e=>i(...d,e))):i(...d,s[c])};i()}))]},S=Object.freeze,y=(e=>{const n=new WeakMap;return t=>(n.has(t)||n.set(t,e(t)),n.get(t))})((h=>{let k,f,L,y=100,z=p(),E=1;const A=p(),I=p(),[M,b,j]=w((()=>Q)),x=p(),B=p(),F=[],O=[],T=(e,n)=>{E=0,h.transaction((()=>a(v(x,n),((n,t)=>a(n,((n,l)=>a(n,((n,r)=>((e,n,t,l,r)=>u(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(h,t,l,r,n[e]))))))))),E=1},W=e=>{C(x,e),C(B,e),b(I,[e])},$=(e,l)=>n(((e,n)=>e.splice(0,n))(e,null!=l?l:t(e)),W),m=()=>$(F,t(F)-y),q=h.addCellListener(null,null,null,((e,n,t,l,s,u)=>{if(E){i(k,(()=>{r(F,k),m(),$(O),k=void 0,L=1}));const e=g(z,n,p),d=g(e,t,p),a=g(d,l,(()=>[u,void 0]));a[1]=s,a[0]===s&&c(C(d,l))&&c(C(e,t))&&c(C(z,n))&&(k=o(F),L=1),J()}})),D=(e="")=>(u(k)&&(k=""+f++,C(x,k,z),N(k,e),z=p(),L=1),k),G=()=>{l(F)||(((e,...n)=>{e.unshift(...n)})(O,D()),T(0,k),k=o(F),L=1)},H=()=>{l(O)||(r(F,k),k=s(O),T(1,k),L=1)},J=()=>{L&&(b(A),L=0)},K=e=>{const n=D(e);return J(),n},N=(e,n)=>(P(e)&&v(B,e)!==n&&(C(B,e,n),b(I,[e])),Q),P=e=>d(x,e),Q={setSize:e=>(y=e,m(),Q),addCheckpoint:K,setCheckpoint:N,getStore:()=>h,getCheckpointIds:()=>[[...F],k,[...O]],forEachCheckpoint:e=>{return n=e,a(B,((e,t)=>n(t,e)));var n},hasCheckpoint:P,getCheckpoint:e=>v(B,e),goBackward:()=>(G(),J(),Q),goForward:()=>(H(),J(),Q),goTo:n=>{const t=e(F,n)?G:e(O,n)?H:null;for(;!u(t)&&n!=k;)t();return J(),Q},addCheckpointIdsListener:e=>M(e,A),addCheckpointListener:(e,n)=>M(n,I,[e]),delListener:e=>(j(e),Q),clear:()=>($(F),$(O),u(k)||W(k),k=void 0,f=0,K(),Q),destroy:()=>{h.delListener(q)},getListenerStats:()=>({})};return S(Q.clear())}));export{y as createCheckpoints};
1
+ const e=(e,n)=>e.includes(n),n=(e,n)=>e.forEach(n),t=e=>e.length,l=e=>0==t(e),r=(e,...n)=>e.push(...n),o=e=>e.pop(),s=e=>e.shift(),u=e=>null==e,i=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},c=e=>u(e)||0==(e=>e.size)(e),a=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),v=(e,n)=>null==e?void 0:e.get(n),C=(e,n,t)=>u(t)?(h(e,n),e):null==e?void 0:e.set(n,t),g=(e,n,t)=>(d(e,n)||C(e,n,t()),v(e,n)),k=(e,n,l,r,o=0)=>i((l?g:v)(e,n[o],o>t(n)-2?l:p),(s=>{if(o>t(n)-2)return(null==r?void 0:r(s))&&C(e,n[o]),s;const u=k(s,n,l,r,o+1);return c(s)&&C(e,n[o]),u})),f=e=>new Set(Array.isArray(e)||u(e)?e:[e]),L=/^\d+$/,w=Object.freeze,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,A=100,I=p(),M=1;const b=p(),j=p(),[x,B,F]=(e=>{let l;const[o,d]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=s(e))?t:""+n++},n=>{L.test(n)&&t(e)<1e3&&r(e,n)}]})(),g=p();return[(e,n,t)=>{null!=l||(l=V);const r=o();var s,u;return C(g,r,[e,n,t]),u=r,null==(s=k(n,null!=t?t:[""],f))||s.add(u),r},(e,o,...s)=>n(((e,l=[""])=>{const o=[],s=(e,u)=>u==t(l)?r(o,e):null===l[u]?a(e,(e=>s(e,u+1))):n([l[u],null],(n=>s(v(e,n),u+1)));return s(e,0),o})(e,o),(e=>a(e,(e=>v(g,e)[0](l,...null!=o?o:[],...s))))),e=>i(v(g,e),(([,n,t])=>(k(n,null!=t?t:[""],void 0,(n=>(h(n,e),c(n)?1:0))),C(g,e),d(e),t))),(e,r,o)=>i(v(g,e),(([e,,s=[]])=>{const i=(...d)=>{const c=t(d);c==t(s)?e(l,...d,...o(d)):u(s[c])?n(r[c](...d),(e=>i(...d,e))):i(...d,s[c])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(e,n)=>{M=0,S.transaction((()=>a(v(O,n),((n,t)=>a(n,((n,l)=>a(n,((n,r)=>((e,n,t,l,r)=>u(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(S,t,l,r,n[e]))))))))),M=1},q=e=>{C(O,e),C(T,e),B(j,[e])},D=(e,l)=>n(((e,n)=>e.splice(0,n))(e,null!=l?l:t(e)),q),G=()=>D(W,t(W)-A),H=S.addCellListener(null,null,null,((e,n,t,l,s,u)=>{if(M){i(y,(()=>{r(W,y),G(),D($),y=void 0,E=1}));const e=g(I,n,p),d=g(e,t,p),a=g(d,l,(()=>[u,void 0]));a[1]=s,a[0]===s&&c(C(d,l))&&c(C(e,t))&&c(C(I,n))&&(y=o(W),E=1),P()}})),J=(e="")=>(u(y)&&(y=""+z++,C(O,y,I),R(y,e),I=p(),E=1),y),K=()=>{l(W)||(((e,...n)=>{e.unshift(...n)})($,J()),m(0,y),y=o(W),E=1)},N=()=>{l($)||(r(W,y),y=s($),m(1,y),E=1)},P=()=>{E&&(B(b),E=0)},Q=e=>{const n=J(e);return P(),n},R=(e,n)=>(U(e)&&v(T,e)!==n&&(C(T,e,n),B(j,[e])),V),U=e=>d(O,e),V={setSize:e=>(A=e,G(),V),addCheckpoint:Q,setCheckpoint:R,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,a(T,((e,t)=>n(t,e)));var n},hasCheckpoint:U,getCheckpoint:e=>v(T,e),goBackward:()=>(K(),P(),V),goForward:()=>(N(),P(),V),goTo:n=>{const t=e(W,n)?K:e($,n)?N:null;for(;!u(t)&&n!=y;)t();return P(),V},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,n)=>x(n,j,[e]),delListener:e=>(F(e),V),clear:()=>(D(W),D($),u(y)||q(y),y=void 0,z=0,Q(),V),destroy:()=>{S.delListener(H)},getListenerStats:()=>({})};return w(V.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),t=e=>""+e,l=(e,n)=>e.every(n),r=(e,n)=>l(e,((t,l)=>0==l||n(e[l-1],t)<=0)),s=(e,n)=>e.sort(n),o=(e,n)=>e.forEach(n),d=e=>e.length,u=(e,...n)=>e.push(...n),i=e=>null==e,a=(e,n,t)=>i(e)?null==t?void 0:t():n(e),c=e=>Array.isArray(e),v=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>i(e)||0==(e=>e.size)(e),f=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},I=e=>e.clear(),g=(e,n)=>null==e?void 0:e.forEach(n),S=(e,n)=>null==e?void 0:e.delete(n),w=e=>new Map(e),L=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},p=(e,n)=>null==e?void 0:e.get(n),x=(e,n)=>g(e,((e,t)=>n(t,e))),y=(e,n,t)=>i(t)?(S(e,n),e):null==e?void 0:e.set(n,t),E=(e,n,t)=>(v(e,n)||y(e,n,t()),p(e,n)),R=(e,n,t,l,r=0)=>a((t?E:p)(e,n[r],r>d(n)-2?t:w),(s=>{if(r>d(n)-2)return(null==l?void 0:l(s))&&y(e,n[r]),s;const o=R(s,n,t,l,r+1);return h(s)&&y(e,n[r]),o})),b=e=>new Set(c(e)||i(e)?e:[e]),T=(e,n)=>null==e?void 0:e.add(n),k=(e,n,t)=>{const r=e.hasRow,s=w(),u=w(),R=w(),k=w(),z=w(),A=(n,t,...l)=>{const r=E(z,n,b);return o(l,(n=>T(r,n)&&t&&e.callListener(n))),l},C=(n,...t)=>a(p(z,n),(l=>{o(0==d(t)?f(l):t,(n=>{e.delListener(n),S(l,n)})),h(l)&&y(z,n)})),D=(e,t)=>{y(s,e,t),v(u,e)||(y(u,e,n()),y(R,e,w()),y(k,e,w()))},M=e=>{y(s,e),y(u,e),y(R,e),y(k,e),C(e)};return[()=>e,()=>L(s),e=>x(u,e),e=>v(u,e),e=>p(s,e),e=>p(u,e),(e,n)=>y(u,e,n),D,(n,s,u,a,h)=>{D(n,s);const f=w(),S=w(),L=p(R,n),E=p(k,n),b=n=>{const o=t=>e.getCell(s,n,t),u=p(L,n),v=r(s,n)?t(a(o,n)):void 0;var I,g;if(u===v||c(u)&&c(v)&&(g=v,d(I=u)===d(g)&&l(I,((e,n)=>g[n]===e)))||y(f,n,[u,v]),!i(h)){const e=p(E,n),t=r(s,n)?h(o,n):void 0;e!=t&&y(S,n,t)}},T=e=>{u((()=>{g(f,(([,e],n)=>y(L,n,e))),g(S,((e,n)=>y(E,n,e)))}),f,S,L,E,e),I(f),I(S)};x(L,b),e.hasTable(s)&&o(e.getRowIds(s),(e=>{v(L,e)||b(e)})),T(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,t)=>b(t))),e.addTableListener(s,(()=>T())))},M,()=>x(z,M),A,C]},z=(t,l)=>e(t)==n?e=>e(t):null!=t?t:()=>null!=l?l:"",A=(e,n)=>e<n?-1:1,C=/^\d+$/,D=e=>{let n;const[t,l]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=e.shift())?t:""+n++},n=>{C.test(n)&&d(e)<1e3&&u(e,n)}]})(),r=w();return[(l,s,o)=>{null!=n||(n=e());const d=t();return y(r,d,[l,s,o]),T(R(s,null!=o?o:[""],b),d),d},(e,t,...l)=>o(((e,n=[""])=>{const t=[],l=(e,r)=>r==d(n)?u(t,e):null===n[r]?g(e,(e=>l(e,r+1))):o([n[r],null],(n=>l(p(e,n),r+1)));return l(e,0),t})(e,t),(e=>g(e,(e=>p(r,e)[0](n,...null!=t?t:[],...l))))),e=>a(p(r,e),(([,n,t])=>(R(n,null!=t?t:[""],void 0,(n=>(S(n,e),h(n)?1:0))),y(r,e),l(e),t))),(e,t,l)=>a(p(r,e),(([e,,r=[]])=>{const s=(...u)=>{const a=d(u);a==d(r)?e(n,...u,...l(u)):i(r[a])?o(t[a](...u),(e=>s(...u,e))):s(...u,r[a])};s()}))]},M=Object.freeze,j=(e=>{const n=new WeakMap;return t=>(n.has(t)||n.set(t,e(t)),n.get(t))})((e=>{const n=w(),l=w(),[o,d,u,I,E,R,C,,j,m,O]=k(e,w,(e=>{return i(e)?"":c(e)?(n=t,e.map(n)):t(e);var n})),[W,$,q]=D((()=>F)),B=(n,t,l)=>{const r=E(n);g(l,((n,l)=>t(l,(t=>g(n,(n=>t(n,(t=>e.forEachCell(r,n,t)))))))))},F={setIndexDefinition:(e,t,o,d,u,c=A)=>{const f=i(u)?void 0:([e],[n])=>u(e,n);return j(e,t,((t,o,u,I,L,E)=>{let k=0;const z=b(),A=b(),D=R(e);if(g(o,(([e,n],t)=>{const l=b(e),r=b(n);g(l,(e=>S(r,e)?S(l,e):0)),g(l,(e=>{T(z,e),a(p(D,e),(n=>{S(n,t),h(n)&&(y(D,e),k=1)}))})),g(r,(e=>{T(z,e),v(D,e)||(y(D,e,b()),k=1),T(p(D,e),t),i(d)||T(A,e)}))})),t(),h(L)||(E?x(D,(e=>T(A,e))):x(u,(e=>a(p(I,e),(e=>T(A,e))))),g(A,(e=>{const n=(n,t)=>c(p(L,n),p(L,t),e),t=[...p(D,e)];r(t,n)||(y(D,e,b(s(t,n))),T(z,e))}))),(k||E)&&!i(f)){const n=[...D];r(n,f)||(C(e,w(s(n,f))),k=1)}k&&$(n,[e]),g(z,(n=>$(l,[e,n])))}),z(o),a(d,z)),F},delIndexDefinition:e=>(m(e),F),getStore:o,getIndexIds:d,forEachIndex:e=>u(((n,t)=>e(n,(e=>B(n,e,t))))),forEachSlice:(e,n)=>B(e,n,R(e)),hasIndex:I,hasSlice:(e,n)=>v(R(e),n),getTableId:E,getSliceIds:e=>L(R(e)),getSliceRowIds:(e,n)=>f(p(R(e),n)),addSliceIdsListener:(e,t)=>W(t,n,[e]),addSliceRowIdsListener:(e,n,t)=>W(t,l,[e,n]),delListener:e=>(q(e),F),destroy:O,getListenerStats:()=>({})};return M(F)}));export{j as createIndexes};
1
+ const e=e=>typeof e,n=e(""),t=e=>""+e,l=(e,n)=>e.every(n),r=(e,n)=>l(e,((t,l)=>0==l||n(e[l-1],t)<=0)),s=(e,n)=>e.sort(n),o=(e,n)=>e.forEach(n),d=e=>e.length,u=(e,...n)=>e.push(...n),i=e=>null==e,a=(e,n,t)=>i(e)?null==t?void 0:t():n(e),c=e=>Array.isArray(e),v=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>i(e)||0==(e=>e.size)(e),f=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},I=e=>e.clear(),g=(e,n)=>null==e?void 0:e.forEach(n),S=(e,n)=>null==e?void 0:e.delete(n),w=e=>new Map(e),L=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},p=(e,n)=>null==e?void 0:e.get(n),x=(e,n)=>g(e,((e,t)=>n(t,e))),y=(e,n,t)=>i(t)?(S(e,n),e):null==e?void 0:e.set(n,t),E=(e,n,t)=>(v(e,n)||y(e,n,t()),p(e,n)),R=(e,n,t,l,r=0)=>a((t?E:p)(e,n[r],r>d(n)-2?t:w),(s=>{if(r>d(n)-2)return(null==l?void 0:l(s))&&y(e,n[r]),s;const o=R(s,n,t,l,r+1);return h(s)&&y(e,n[r]),o})),b=e=>new Set(c(e)||i(e)?e:[e]),T=(e,n)=>null==e?void 0:e.add(n),k=(t,l)=>e(t)==n?e=>e(t):null!=t?t:()=>null!=l?l:"",z=(e,n)=>e<n?-1:1,A=/^\d+$/,C=Object.freeze,D=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=w(),D=w(),[M,j,m,O,W,$,q,,B,F,G]=((e,n,t)=>{const r=e.hasRow,s=w(),u=w(),R=w(),k=w(),z=w(),A=(n,t,...l)=>{const r=E(z,n,b);return o(l,(n=>T(r,n)&&t&&e.callListener(n))),l},C=(n,...t)=>a(p(z,n),(l=>{o(0==d(t)?f(l):t,(n=>{e.delListener(n),S(l,n)})),h(l)&&y(z,n)})),D=(e,t)=>{y(s,e,t),v(u,e)||(y(u,e,n()),y(R,e,w()),y(k,e,w()))},M=e=>{y(s,e),y(u,e),y(R,e),y(k,e),C(e)};return[()=>e,()=>L(s),e=>x(u,e),e=>v(u,e),e=>p(s,e),e=>p(u,e),(e,n)=>y(u,e,n),D,(n,s,u,a,h)=>{D(n,s);const f=w(),S=w(),L=p(R,n),E=p(k,n),b=n=>{const o=t=>e.getCell(s,n,t),u=p(L,n),v=r(s,n)?t(a(o,n)):void 0;var I,g;if(u===v||c(u)&&c(v)&&(g=v,d(I=u)===d(g)&&l(I,((e,n)=>g[n]===e)))||y(f,n,[u,v]),!i(h)){const e=p(E,n),t=r(s,n)?h(o,n):void 0;e!=t&&y(S,n,t)}},T=e=>{u((()=>{g(f,(([,e],n)=>y(L,n,e))),g(S,((e,n)=>y(E,n,e)))}),f,S,L,E,e),I(f),I(S)};x(L,b),e.hasTable(s)&&o(e.getRowIds(s),(e=>{v(L,e)||b(e)})),T(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,t)=>b(t))),e.addTableListener(s,(()=>T())))},M,()=>x(z,M),A,C]})(e,w,(e=>{return i(e)?"":c(e)?(n=t,e.map(n)):t(e);var n})),[H,J,K]=(e=>{let n;const[t,l]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=e.shift())?t:""+n++},n=>{A.test(n)&&d(e)<1e3&&u(e,n)}]})(),r=w();return[(e,l,s)=>{null!=n||(n=P);const o=t();return y(r,o,[e,l,s]),T(R(l,null!=s?s:[""],b),o),o},(e,t,...l)=>o(((e,n=[""])=>{const t=[],l=(e,r)=>r==d(n)?u(t,e):null===n[r]?g(e,(e=>l(e,r+1))):o([n[r],null],(n=>l(p(e,n),r+1)));return l(e,0),t})(e,t),(e=>g(e,(e=>p(r,e)[0](n,...null!=t?t:[],...l))))),e=>a(p(r,e),(([,n,t])=>(R(n,null!=t?t:[""],void 0,(n=>(S(n,e),h(n)?1:0))),y(r,e),l(e),t))),(e,t,l)=>a(p(r,e),(([e,,r=[]])=>{const s=(...u)=>{const a=d(u);a==d(r)?e(n,...u,...l(u)):i(r[a])?o(t[a](...u),(e=>s(...u,e))):s(...u,r[a])};s()}))]})(),N=(n,t,l)=>{const r=W(n);g(l,((n,l)=>t(l,(t=>g(n,(n=>t(n,(t=>e.forEachCell(r,n,t)))))))))},P={setIndexDefinition:(e,t,l,o,d,u=z)=>{const c=i(d)?void 0:([e],[n])=>d(e,n);return B(e,t,((t,l,d,f,I,L)=>{let E=0;const R=b(),k=b(),z=$(e);if(g(l,(([e,n],t)=>{const l=b(e),r=b(n);g(l,(e=>S(r,e)?S(l,e):0)),g(l,(e=>{T(R,e),a(p(z,e),(n=>{S(n,t),h(n)&&(y(z,e),E=1)}))})),g(r,(e=>{T(R,e),v(z,e)||(y(z,e,b()),E=1),T(p(z,e),t),i(o)||T(k,e)}))})),t(),h(I)||(L?x(z,(e=>T(k,e))):x(d,(e=>a(p(f,e),(e=>T(k,e))))),g(k,(e=>{const n=(n,t)=>u(p(I,n),p(I,t),e),t=[...p(z,e)];r(t,n)||(y(z,e,b(s(t,n))),T(R,e))}))),(E||L)&&!i(c)){const n=[...z];r(n,c)||(q(e,w(s(n,c))),E=1)}E&&J(n,[e]),g(R,(n=>J(D,[e,n])))}),k(l),a(o,k)),P},delIndexDefinition:e=>(F(e),P),getStore:M,getIndexIds:j,forEachIndex:e=>m(((n,t)=>e(n,(e=>N(n,e,t))))),forEachSlice:(e,n)=>N(e,n,$(e)),hasIndex:O,hasSlice:(e,n)=>v($(e),n),getTableId:W,getSliceIds:e=>L($(e)),getSliceRowIds:(e,n)=>f(p($(e),n)),addSliceIdsListener:(e,t)=>H(t,n,[e]),addSliceRowIdsListener:(e,n,t)=>H(t,D,[e,n]),delListener:e=>(K(e),P),destroy:G,getListenerStats:()=>({})};return C(P)})(e)),n.get(e))})();export{D as createIndexes};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e(e),l=(e,t)=>e.forEach(t),r=e=>o(e,((e,t)=>e+t),0),i=e=>e.length,o=(e,t,n)=>e.reduce(t,n),u=(e,...t)=>e.push(...t),s=Math.max,d=Math.min,a=isFinite,c=e=>null==e,v=(e,t,n)=>c(e)?null==n?void 0:n():t(e),h=e=>Array.isArray(e),f=()=>{},g=e=>e.size,M=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},L=e=>c(e)||0==g(e),m=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},w=e=>e.clear(),y=(e,t)=>null==e?void 0:e.forEach(t),p=(e,t)=>null==e?void 0:e.delete(t),b=e=>new Map(e),x=(e,t)=>null==e?void 0:e.get(t),E=(e,t)=>y(e,((e,n)=>t(n,e))),I=(e,t,n)=>c(n)?(p(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n)=>(M(e,t)||I(e,t,n()),x(e,t)),S=(e,t,n,l,r=0)=>v((n?R:x)(e,t[r],r>i(t)-2?n:b),(o=>{if(r>i(t)-2)return(null==l?void 0:l(o))&&I(e,t[r]),o;const u=S(o,t,n,l,r+1);return L(o)&&I(e,t[r]),u})),T=b([["avg",[(e,t)=>r(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=>s(...e),(e,t)=>s(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:s(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=>r(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),k=e=>new Set(h(e)||c(e)?e:[e]),z=(e,t)=>null==e?void 0:e.add(t),A=(e,t,n)=>{const r=e.hasRow,o=b(),u=b(),s=b(),d=b(),a=b(),f=(t,n,...r)=>{const i=R(a,t,k);return l(r,(t=>z(i,t)&&n&&e.callListener(t))),r},g=(t,...n)=>v(x(a,t),(r=>{l(0==i(n)?m(r):n,(t=>{e.delListener(t),p(r,t)})),L(r)&&I(a,t)})),S=(e,n)=>{I(o,e,n),M(u,e)||(I(u,e,t()),I(s,e,b()),I(d,e,b()))},T=e=>{I(o,e),I(u,e),I(s,e),I(d,e),g(e)};return[()=>e,()=>{return[...null!=(t=null==(e=o)?void 0:e.keys())?t:[]];var e,t},e=>E(u,e),e=>M(u,e),e=>x(o,e),e=>x(u,e),(e,t)=>I(u,e,t),S,(t,o,u,a,v)=>{S(t,o);const L=b(),m=b(),p=x(s,t),R=x(d,t),T=t=>{const l=n=>e.getCell(o,t,n),u=x(p,t),s=r(o,t)?n(a(l,t)):void 0;var d,f,g;if(u===s||h(u)&&h(s)&&(f=s,i(d=u)===i(f)&&(g=(e,t)=>f[t]===e,d.every(g)))||I(L,t,[u,s]),!c(v)){const e=x(R,t),n=r(o,t)?v(l,t):void 0;e!=n&&I(m,t,n)}},k=e=>{u((()=>{y(L,(([,e],t)=>I(p,t,e))),y(m,((e,t)=>I(R,t,e)))}),L,m,p,R,e),w(L),w(m)};E(p,T),e.hasTable(o)&&l(e.getRowIds(o),(e=>{M(p,e)||T(e)})),k(!0),g(t),f(t,0,e.addRowListener(o,null,((e,t,n)=>T(n))),e.addTableListener(o,(()=>k())))},T,()=>E(a,T),f,g]},D=(n,l)=>e(n)==t?e=>e(n):null!=n?n:()=>null!=l?l:"",N=/^\d+$/,j=e=>{let t;const[n,r]=(()=>{const e=[];let t=0;return[()=>{var n;return null!=(n=e.shift())?n:""+t++},t=>{N.test(t)&&i(e)<1e3&&u(e,t)}]})(),o=b();return[(l,r,i)=>{null!=t||(t=e());const u=n();return I(o,u,[l,r,i]),z(S(r,null!=i?i:[""],k),u),u},(e,n,...r)=>l(((e,t=[""])=>{const n=[],r=(e,o)=>o==i(t)?u(n,e):null===t[o]?y(e,(e=>r(e,o+1))):l([t[o],null],(t=>r(x(e,t),o+1)));return r(e,0),n})(e,n),(e=>y(e,(e=>x(o,e)[0](t,...null!=n?n:[],...r))))),e=>v(x(o,e),(([,t,n])=>(S(t,null!=n?n:[""],void 0,(t=>(p(t,e),L(t)?1:0))),I(o,e),r(e),n))),(e,n,r)=>v(x(o,e),(([e,,o=[]])=>{const u=(...s)=>{const d=i(s);d==i(o)?e(t,...s,...r(s)):c(o[d])?l(n[d](...s),(e=>u(...s,e))):u(...s,o[d])};u()}))]},C=Object.freeze,F=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((t=>{const l=b(),[r,i,o,u,s,d,v,,h,M,w]=A(t,f,(e=>isNaN(e)||c(e)||!0===e||!1===e||""===e?void 0:1*e)),[p,E,I]=j((()=>R)),R={setMetricDefinition:(t,r,i,o,u,s,f)=>{var M;const w=e(i)==n?[i,u,s,f]:null!=(M=x(T,i))?M:x(T,"sum");return h(t,r,((e,n,r,i,o,u)=>{const s=d(t),h=g(i);u||(u=c(s)),e();let f=((e,t,n,l,r,i=!1)=>{if(L(n))return;const[o,u,s,d]=r;return i||(i=c(e)),y(l,(([n,l])=>{i||(e=c(n)?null==u?void 0:u(e,l,t++):c(l)?null==s?void 0:s(e,n,t--):null==d?void 0:d(e,l,n,t),i||(i=c(e)))})),i?o(m(n),g(n)):e})(s,h,i,n,w,u);a(f)||(f=void 0),f!=s&&(v(t,f),E(l,[t],f,s))}),D(o,1)),R},delMetricDefinition:e=>(M(e),R),getStore:r,getMetricIds:i,forEachMetric:o,hasMetric:u,getTableId:s,getMetric:d,addMetricListener:(e,t)=>p(t,l,[e]),delListener:e=>(I(e),R),destroy:w,getListenerStats:()=>({})};return C(R)}));export{F as createMetrics};
1
+ const e=e=>typeof e,t=e(""),n=e(e),l=(e,t)=>e.forEach(t),r=e=>o(e,((e,t)=>e+t),0),i=e=>e.length,o=(e,t,n)=>e.reduce(t,n),u=(e,...t)=>e.push(...t),s=Math.max,d=Math.min,a=isFinite,c=e=>null==e,v=(e,t,n)=>c(e)?null==n?void 0:n():t(e),h=e=>Array.isArray(e),f=()=>{},g=e=>e.size,M=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},L=e=>c(e)||0==g(e),m=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},w=e=>e.clear(),y=(e,t)=>null==e?void 0:e.forEach(t),p=(e,t)=>null==e?void 0:e.delete(t),b=e=>new Map(e),x=(e,t)=>null==e?void 0:e.get(t),E=(e,t)=>y(e,((e,n)=>t(n,e))),I=(e,t,n)=>c(n)?(p(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n)=>(M(e,t)||I(e,t,n()),x(e,t)),S=(e,t,n,l,r=0)=>v((n?R:x)(e,t[r],r>i(t)-2?n:b),(o=>{if(r>i(t)-2)return(null==l?void 0:l(o))&&I(e,t[r]),o;const u=S(o,t,n,l,r+1);return L(o)&&I(e,t[r]),u})),T=b([["avg",[(e,t)=>r(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=>s(...e),(e,t)=>s(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:s(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=>r(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),k=e=>new Set(h(e)||c(e)?e:[e]),z=(e,t)=>null==e?void 0:e.add(t),A=/^\d+$/,D=Object.freeze,N=(r=>{const o=new WeakMap;return r=>(o.has(r)||o.set(r,(r=>{const o=b(),[s,d,N,j,C,F,O,,W,$,q]=((e,t,n)=>{const r=e.hasRow,o=b(),u=b(),s=b(),d=b(),a=b(),f=(t,n,...r)=>{const i=R(a,t,k);return l(r,(t=>z(i,t)&&n&&e.callListener(t))),r},g=(t,...n)=>v(x(a,t),(r=>{l(0==i(n)?m(r):n,(t=>{e.delListener(t),p(r,t)})),L(r)&&I(a,t)})),S=(e,n)=>{I(o,e,n),M(u,e)||(I(u,e,t()),I(s,e,b()),I(d,e,b()))},T=e=>{I(o,e),I(u,e),I(s,e),I(d,e),g(e)};return[()=>e,()=>{return[...null!=(t=null==(e=o)?void 0:e.keys())?t:[]];var e,t},e=>E(u,e),e=>M(u,e),e=>x(o,e),e=>x(u,e),(e,t)=>I(u,e,t),S,(t,n,o,u,a)=>{S(t,n);const v=b(),L=b(),m=x(s,t),p=x(d,t),R=t=>{const l=l=>e.getCell(n,t,l),o=x(m,t),s=r(n,t)?(d=u(l,t),isNaN(d)||c(d)||!0===d||!1===d||""===d?void 0:1*d):void 0;var d,f,g,M;if(o===s||h(o)&&h(s)&&(g=s,i(f=o)===i(g)&&(M=(e,t)=>g[t]===e,f.every(M)))||I(v,t,[o,s]),!c(a)){const e=x(p,t),i=r(n,t)?a(l,t):void 0;e!=i&&I(L,t,i)}},T=e=>{o((()=>{y(v,(([,e],t)=>I(m,t,e))),y(L,((e,t)=>I(p,t,e)))}),v,L,m,p,e),w(v),w(L)};E(m,R),e.hasTable(n)&&l(e.getRowIds(n),(e=>{M(m,e)||R(e)})),T(!0),g(t),f(t,0,e.addRowListener(n,null,((e,t,n)=>R(n))),e.addTableListener(n,(()=>T())))},T,()=>E(a,T),f,g]})(r,f),[B,G,H]=(e=>{let t;const[n,r]=(()=>{const e=[];let t=0;return[()=>{var n;return null!=(n=e.shift())?n:""+t++},t=>{A.test(t)&&i(e)<1e3&&u(e,t)}]})(),o=b();return[(e,l,r)=>{null!=t||(t=J);const i=n();return I(o,i,[e,l,r]),z(S(l,null!=r?r:[""],k),i),i},(e,n,...r)=>l(((e,t=[""])=>{const n=[],r=(e,o)=>o==i(t)?u(n,e):null===t[o]?y(e,(e=>r(e,o+1))):l([t[o],null],(t=>r(x(e,t),o+1)));return r(e,0),n})(e,n),(e=>y(e,(e=>x(o,e)[0](t,...null!=n?n:[],...r))))),e=>v(x(o,e),(([,t,n])=>(S(t,null!=n?n:[""],void 0,(t=>(p(t,e),L(t)?1:0))),I(o,e),r(e),n))),(e,n,r)=>v(x(o,e),(([e,,o=[]])=>{const u=(...s)=>{const d=i(s);d==i(o)?e(t,...s,...r(s)):c(o[d])?l(n[d](...s),(e=>u(...s,e))):u(...s,o[d])};u()}))]})(),J={setMetricDefinition:(l,r,i,u,s,d,v)=>{var h;const f=e(i)==n?[i,s,d,v]:null!=(h=x(T,i))?h:x(T,"sum");return W(l,r,((e,t,n,r,i,u)=>{const s=F(l),d=g(r);u||(u=c(s)),e();let v=((e,t,n,l,r,i=!1)=>{if(L(n))return;const[o,u,s,d]=r;return i||(i=c(e)),y(l,(([n,l])=>{i||(e=c(n)?null==u?void 0:u(e,l,t++):c(l)?null==s?void 0:s(e,n,t--):null==d?void 0:d(e,l,n,t),i||(i=c(e)))})),i?o(m(n),g(n)):e})(s,d,r,t,f,u);a(v)||(v=void 0),v!=s&&(O(l,v),G(o,[l],v,s))}),(1,e(M=u)==t?e=>e(M):null!=M?M:()=>1)),J;var M},delMetricDefinition:e=>($(e),J),getStore:s,getMetricIds:d,forEachMetric:N,hasMetric:j,getTableId:C,getMetric:F,addMetricListener:(e,t)=>B(t,o,[e]),delListener:e=>(H(e),J),destroy:q,getListenerStats:()=>({})};return D(J)})(r)),o.get(r))})();export{N as createMetrics};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),t=e(!0),l=e(0),r=e(e),o=(e,n)=>e.every(n),s=(e,n)=>e.forEach(n),i=e=>u(e,((e,n)=>e+n),0),a=e=>e.length,d=e=>0==a(e),u=(e,n,t)=>e.reduce(n,t),c=(e,...n)=>e.push(...n),v=Math.max,h=Math.min,w=isFinite,f=e=>null==e,g=(e,n,t)=>f(e)?null==t?void 0:t():n(e),R=n=>e(n)==r,y=e=>Array.isArray(e),L=()=>{},p=e=>e.size,b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},T=e=>f(e)||0==p(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},I=e=>e.clear(),O=(e,n)=>null==e?void 0:e.forEach(n),m=(e,n)=>null==e?void 0:e.delete(n),S=e=>new Map(e),j=(e,n)=>null==e?void 0:e.get(n),x=(e,n)=>O(e,((e,t)=>n(t,e))),E=(e,n,t)=>f(t)?(m(e,n),e):null==e?void 0:e.set(n,t),Q=(e,n,t)=>(b(e,n)||E(e,n,t()),j(e,n)),M=(e,n,t,l,r=0)=>g((t?Q:j)(e,n[r],r>a(n)-2?t:S),(o=>{if(r>a(n)-2)return(null==l?void 0:l(o))&&E(e,n[r]),o;const s=M(o,n,t,l,r+1);return T(o)&&E(e,n[r]),s})),D=e=>new Set(y(e)||f(e)?e:[e]),F=(e,n)=>null==e?void 0:e.add(n),k=S([["avg",[(e,n)=>i(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=>v(...e),(e,n)=>v(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:v(n,e)]],["min",[e=>h(...e),(e,n)=>h(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:h(n,e)]],["sum",[e=>i(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),z=r=>{const o=e(r);return(e=>e==n||e==t)(o)||o==l&&w(r)?o:void 0},A=(e,n,t)=>{const l=e.hasRow,r=S(),i=S(),u=S(),c=S(),v=S(),h=(n,t,...l)=>{const r=Q(v,n,D);return s(l,(n=>F(r,n)&&t&&e.callListener(n))),l},w=(n,...t)=>g(j(v,n),(l=>{s(d(t)?C(l):t,(n=>{e.delListener(n),m(l,n)})),T(l)&&E(v,n)})),R=(e,t)=>{E(r,e,t),b(i,e)||(E(i,e,n()),E(u,e,S()),E(c,e,S()))},L=e=>{E(r,e),E(i,e),E(u,e),E(c,e),w(e)};return[()=>e,()=>{return[...null!=(n=null==(e=r)?void 0:e.keys())?n:[]];var e,n},e=>x(i,e),e=>b(i,e),e=>j(r,e),e=>j(i,e),(e,n)=>E(i,e,n),R,(n,r,i,d,v)=>{R(n,r);const g=S(),L=S(),p=j(u,n),T=j(c,n),C=n=>{const s=t=>e.getCell(r,n,t),i=j(p,n),u=l(r,n)?t(d(s,n)):void 0;var c,h;if(i===u||y(i)&&y(u)&&(h=u,a(c=i)===a(h)&&o(c,((e,n)=>h[n]===e)))||E(g,n,[i,u]),!f(v)){const e=j(T,n),t=l(r,n)?v(s,n):void 0;e!=t&&E(L,n,t)}},m=e=>{i((()=>{O(g,(([,e],n)=>E(p,n,e))),O(L,((e,n)=>E(T,n,e)))}),g,L,p,T,e),I(g),I(L)};x(p,C),e.hasTable(r)&&s(e.getRowIds(r),(e=>{b(p,e)||C(e)})),m(!0),w(n),h(n,0,e.addRowListener(r,null,((e,n,t)=>C(t))),e.addTableListener(r,(()=>m())))},L,()=>x(v,L),h,w]},P=Object,W=P.freeze;var q=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;const H=(e=>{const n=new WeakMap;return t=>(n.has(t)||n.set(t,e(t)),n.get(t))})((e=>{const n=e.createStore,[t,l,r,i,u,,,v,,h,w,y,H]=A(e,(()=>!0),L),J=n(),K=n(),N=S(),U=(e,n,...t)=>s(t,(t=>F(Q(Q(N,n,S),e,D),t))),V=e=>{g(j(N,e),(e=>{x(e,((e,n)=>O(n,(n=>e.delListener(n))))),I(e)})),s([K,J],(n=>n.delTable(e)))},X=(e,n,t)=>U(n,e,n.addWillFinishTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),Y={setQueryDefinition:(n,t,l)=>{v(n,t),V(n);const r=[],i=[[null,[t,null,null,[],S()]]],u=[],h=[],w=[];l({select:(e,n)=>{const t=R(e)?[a(r)+"",e]:[f(n)?e:n,t=>t(e,n)];return c(r,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const l=f(t)||R(n)?null:n,r=f(l)?n:t,o=[e,[e,l,R(r)?r:e=>e(r),[],S()]];return c(i,o),{as:e=>o[0]=e}},where:(e,n,t)=>c(u,R(e)?e:f(t)?t=>t(e)===n:l=>l(e,n)===t),group:(e,n,t,l,r)=>{var o;const s=[e,[e,R(n)?[n,t,l,r]:null!=(o=j(k,n))?o:[(e,n)=>n]]];return c(h,s),{as:e=>s[0]=e}},having:(e,n)=>c(w,R(e)?e:t=>t(e)===n)});const L=S(r);if(T(L))return Y;const I=S(i);x(I,((e,[,n])=>g(j(I,n),(({3:n})=>f(e)?0:c(n,e)))));const A=S(h);let P=J;if(T(A)&&d(w))P=K;else{X(n,P,K);const e=S();x(A,((n,[t,l])=>F(Q(e,t,D),[n,l])));const t=D();x(L,(n=>b(e,n)?0:F(t,n)));const l=S(),r=(t,l,r,s)=>g(t,(([i,a,d,u])=>{x(l,((n,[t])=>{const l=Q(i,n,S),o=j(l,r),a=s?void 0:t;if(o!==a){const t=D([[o,a]]),s=p(l);E(l,r,a),O(j(e,n),(([e,n])=>{const r=((e,n,t,l,r,o=!1)=>{if(T(t))return;const[s,i,a,d]=r;return o||(o=f(e)),O(l,(([t,l])=>{o||(e=f(t)?null==i?void 0:i(e,l,n++):f(l)?null==a?void 0:a(e,t,n--):null==d?void 0:d(e,l,t,n),o||(o=f(e)))})),o?s(C(t),p(t)):e})(u[e],s,l,t,n);u[e]=f(z(r))?null:r}))}})),T(a)||!o(w,(e=>e((e=>u[e]))))?K.delRow(n,d):f(d)?t[2]=K.addRow(n,u):K.setRow(n,d,u)}));U(P,n,P.addRowListener(n,null,((o,s,i,a)=>{const d=[],u=[],v=S(),h=P.hasRow(n,i);let w=!h;O(t,(e=>{const[t,l,r]=a(n,i,e);c(d,l),c(u,r),w||(w=t)})),x(e,(e=>{const[t,,l]=a(n,i,e);(w||t)&&E(v,e,[l])})),w&&r(M(l,d,void 0,(([,e])=>(m(e,i),T(e)))),v,i,1),h&&r(M(l,u,(()=>{const e={};return O(t,(t=>e[t]=P.getCell(n,i,t))),[S(),D(),void 0,e]}),(([,e])=>{F(e,i)})),v,i)})))}X(n,e,P);const W=l=>{const r=(n,r)=>{var o,s,i;return e.getCell(...f(r)?[t,l,n]:n===t?[t,l,r]:[null==(o=j(I,n))?void 0:o[0],null==(i=j(null==(s=j(I,n))?void 0:s[4],l))?void 0:i[0],r])};P.transaction((()=>o(u,(e=>e(r)))?x(L,((e,t)=>((e,n,t,l,r)=>f(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(P,n,l,e,t(r,l)))):P.delRow(n,l)))},q=(t,l,r,o)=>{const i=n=>e.getCell(l,r,n);s(o,(l=>{var r;const[o,,s,a,d]=j(I,l),u=null==s?void 0:s(i,t),[c,v]=null!=(r=j(d,t))?r:[];u!=c&&(f(v)||H(n,v),E(d,t,f(u)?null:[u,...y(n,1,e.addRowListener(o,u,(()=>q(t,o,u,a))))]))})),W(t)},{3:B}=j(I,null);return P.transaction((()=>y(n,1,e.addRowListener(t,null,((l,r,o)=>{e.hasRow(t,o)?q(o,t,o,B):(P.delRow(n,o),O(I,(({4:e})=>g(j(e,o),(([,t])=>{H(n,t),E(e,o)})))))}))))),Y},delQueryDefinition:e=>(V(e),h(e),Y),getStore:t,getQueryIds:l,forEachQuery:r,hasQuery:i,getTableId:u,delListener:e=>(K.delListener(e),Y),destroy:w,getListenerStats:()=>((e,n)=>{var t={};for(var l in e)B.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&q)for(var l of q(e))n.indexOf(l)<0&&G.call(e,l)&&(t[l]=e[l]);return t})(K.getListenerStats(),["tables","tableIds","transaction"])};var Z,$;return Z={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},$=([e,n],t)=>{s(e?["get","has","forEach"]:["get"],(e=>Y[e+"Result"+t]=(...n)=>K[e+t](...n))),Y["addResult"+t+"Listener"]=(...e)=>{return K["add"+t+"Listener"](...(l=e,r=0,o=n,l.slice(r,o)),((t,...l)=>e[n](Y,...l)));var l,r,o}},s(P.entries(Z),(([e,n])=>$(n,e))),W(Y)}));export{H as createQueries};
1
+ const e=e=>typeof e,n=e(""),t=e(!0),l=e(0),r=e(e),o=(e,n)=>e.every(n),s=(e,n)=>e.forEach(n),i=e=>u(e,((e,n)=>e+n),0),a=e=>e.length,d=e=>0==a(e),u=(e,n,t)=>e.reduce(n,t),c=(e,...n)=>e.push(...n),v=Math.max,h=Math.min,w=isFinite,f=e=>null==e,g=(e,n,t)=>f(e)?null==t?void 0:t():n(e),R=n=>e(n)==r,y=e=>Array.isArray(e),L=()=>{},p=e=>e.size,b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},T=e=>f(e)||0==p(e),m=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},C=e=>e.clear(),I=(e,n)=>null==e?void 0:e.forEach(n),O=(e,n)=>null==e?void 0:e.delete(n),S=e=>new Map(e),j=(e,n)=>null==e?void 0:e.get(n),x=(e,n)=>I(e,((e,t)=>n(t,e))),E=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),Q=(e,n,t)=>(b(e,n)||E(e,n,t()),j(e,n)),M=(e,n,t,l,r=0)=>g((t?Q:j)(e,n[r],r>a(n)-2?t:S),(o=>{if(r>a(n)-2)return(null==l?void 0:l(o))&&E(e,n[r]),o;const s=M(o,n,t,l,r+1);return T(o)&&E(e,n[r]),s})),D=e=>new Set(y(e)||f(e)?e:[e]),F=(e,n)=>null==e?void 0:e.add(n),k=S([["avg",[(e,n)=>i(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=>v(...e),(e,n)=>v(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:v(n,e)]],["min",[e=>h(...e),(e,n)=>h(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:h(n,e)]],["sum",[e=>i(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),z=Object,A=z.freeze;var P=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;const B=(r=>{const i=new WeakMap;return r=>(i.has(r)||i.set(r,(r=>{const i=r.createStore,[u,v,h,B,G,,,H,,J,K,N,U]=((e,n,t)=>{const l=e.hasRow,r=S(),i=S(),u=S(),c=S(),v=S(),h=(n,t,...l)=>{const r=Q(v,n,D);return s(l,(n=>F(r,n)&&t&&e.callListener(n))),l},w=(n,...t)=>g(j(v,n),(l=>{s(d(t)?m(l):t,(n=>{e.delListener(n),O(l,n)})),T(l)&&E(v,n)})),R=(e,n)=>{E(r,e,n),b(i,e)||(E(i,e,!0),E(u,e,S()),E(c,e,S()))},L=e=>{E(r,e),E(i,e),E(u,e),E(c,e),w(e)};return[()=>e,()=>{return[...null!=(n=null==(e=r)?void 0:e.keys())?n:[]];var e,n},e=>x(i,e),e=>b(i,e),e=>j(r,e),e=>j(i,e),(e,n)=>E(i,e,n),R,(n,r,i,d,v)=>{R(n,r);const g=S(),L=S(),p=j(u,n),T=j(c,n),m=n=>{const s=t=>e.getCell(r,n,t),i=j(p,n),u=l(r,n)?t(d(s,n)):void 0;var c,h;if(i===u||y(i)&&y(u)&&(h=u,a(c=i)===a(h)&&o(c,((e,n)=>h[n]===e)))||E(g,n,[i,u]),!f(v)){const e=j(T,n),t=l(r,n)?v(s,n):void 0;e!=t&&E(L,n,t)}},O=e=>{i((()=>{I(g,(([,e],n)=>E(p,n,e))),I(L,((e,n)=>E(T,n,e)))}),g,L,p,T,e),C(g),C(L)};x(p,m),e.hasTable(r)&&s(e.getRowIds(r),(e=>{b(p,e)||m(e)})),O(!0),w(n),h(n,0,e.addRowListener(r,null,((e,n,t)=>m(t))),e.addTableListener(r,(()=>O())))},L,()=>x(v,L),h,w]})(r,0,L),V=i(),X=i(),Y=S(),Z=(e,n,...t)=>s(t,(t=>F(Q(Q(Y,n,S),e,D),t))),$=e=>{g(j(Y,e),(e=>{x(e,((e,n)=>I(n,(n=>e.delListener(n))))),C(e)})),s([X,V],(n=>n.delTable(e)))},_=(e,n,t)=>Z(n,e,n.addWillFinishTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),ee={setQueryDefinition:(i,u,v)=>{H(i,u),$(i);const h=[],y=[[null,[u,null,null,[],S()]]],L=[],C=[],z=[];v({select:(e,n)=>{const t=R(e)?[a(h)+"",e]:[f(n)?e:n,t=>t(e,n)];return c(h,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const l=f(t)||R(n)?null:n,r=f(l)?n:t,o=[e,[e,l,R(r)?r:e=>e(r),[],S()]];return c(y,o),{as:e=>o[0]=e}},where:(e,n,t)=>c(L,R(e)?e:f(t)?t=>t(e)===n:l=>l(e,n)===t),group:(e,n,t,l,r)=>{var o;const s=[e,[e,R(n)?[n,t,l,r]:null!=(o=j(k,n))?o:[(e,n)=>n]]];return c(C,s),{as:e=>s[0]=e}},having:(e,n)=>c(z,R(e)?e:t=>t(e)===n)});const A=S(h);if(T(A))return ee;const P=S(y);x(P,((e,[,n])=>g(j(P,n),(({3:n})=>f(e)?0:c(n,e)))));const W=S(C);let q=V;if(T(W)&&d(z))q=X;else{_(i,q,X);const r=S();x(W,((e,[n,t])=>F(Q(r,n,D),[e,t])));const s=D();x(A,(e=>b(r,e)?0:F(s,e)));const a=S(),d=(s,a,d,u)=>g(s,(([c,v,h,g])=>{x(a,((o,[s])=>{const i=Q(c,o,S),a=j(i,d),v=u?void 0:s;if(a!==v){const s=D([[a,v]]),u=p(i);E(i,d,v),I(j(r,o),(([r,o])=>{const a=((e,n,t,l,r,o=!1)=>{if(T(t))return;const[s,i,a,d]=r;return o||(o=f(e)),I(l,(([t,l])=>{o||(e=f(t)?null==i?void 0:i(e,l,n++):f(l)?null==a?void 0:a(e,t,n--):null==d?void 0:d(e,l,t,n),o||(o=f(e)))})),o?s(m(t),p(t)):e})(g[r],u,i,s,o);g[r]=f((r=>{const o=e(r);return(e=>e==n||e==t)(o)||o==l&&w(r)?o:void 0})(a))?null:a}))}})),T(v)||!o(z,(e=>e((e=>g[e]))))?X.delRow(i,h):f(h)?s[2]=X.addRow(i,g):X.setRow(i,h,g)}));Z(q,i,q.addRowListener(i,null,((e,n,t,l)=>{const o=[],u=[],v=S(),h=q.hasRow(i,t);let w=!h;I(s,(e=>{const[n,r,s]=l(i,t,e);c(o,r),c(u,s),w||(w=n)})),x(r,(e=>{const[n,,r]=l(i,t,e);(w||n)&&E(v,e,[r])})),w&&d(M(a,o,void 0,(([,e])=>(O(e,t),T(e)))),v,t,1),h&&d(M(a,u,(()=>{const e={};return I(s,(n=>e[n]=q.getCell(i,t,n))),[S(),D(),void 0,e]}),(([,e])=>{F(e,t)})),v,t)})))}_(i,r,q);const B=(e,n,t,l)=>{const a=e=>r.getCell(n,t,e);s(l,(n=>{var t;const[l,,o,s,d]=j(P,n),u=null==o?void 0:o(a,e),[c,v]=null!=(t=j(d,e))?t:[];u!=c&&(f(v)||U(i,v),E(d,e,f(u)?null:[u,...N(i,1,r.addRowListener(l,u,(()=>B(e,l,u,s))))]))})),(e=>{const n=(n,t)=>{var l,o,s;return r.getCell(...f(t)?[u,e,n]:n===u?[u,e,t]:[null==(l=j(P,n))?void 0:l[0],null==(s=j(null==(o=j(P,n))?void 0:o[4],e))?void 0:s[0],t])};q.transaction((()=>o(L,(e=>e(n)))?x(A,((t,l)=>((e,n,t,l,r)=>f(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(q,i,e,t,l(n,e)))):q.delRow(i,e)))})(e)},{3:G}=j(P,null);return q.transaction((()=>N(i,1,r.addRowListener(u,null,((e,n,t)=>{r.hasRow(u,t)?B(t,u,t,G):(q.delRow(i,t),I(P,(({4:e})=>g(j(e,t),(([,n])=>{U(i,n),E(e,t)})))))}))))),ee},delQueryDefinition:e=>($(e),J(e),ee),getStore:u,getQueryIds:v,forEachQuery:h,hasQuery:B,getTableId:G,delListener:e=>(X.delListener(e),ee),destroy:K,getListenerStats:()=>((e,n)=>{var t={};for(var l in e)W.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&P)for(var l of P(e))n.indexOf(l)<0&&q.call(e,l)&&(t[l]=e[l]);return t})(X.getListenerStats(),["tables","tableIds","transaction"])};var ne,te;return ne={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},te=([e,n],t)=>{s(e?["get","has","forEach"]:["get"],(e=>ee[e+"Result"+t]=(...n)=>X[e+t](...n))),ee["addResult"+t+"Listener"]=(...e)=>{return X["add"+t+"Listener"](...(l=e,0,r=n,l.slice(0,r)),((t,...l)=>e[n](ee,...l)));var l,r}},((e,n)=>{e.map(n)})(z.entries(ne),(([e,n])=>te(n,e))),A(ee)})(r)),i.get(r))})();export{B as createQueries};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),t=(e,n)=>e.forEach(n),l=e=>e.length,r=(e,...n)=>e.push(...n),o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),i=e=>Array.isArray(e),d=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},u=e=>o(e)||0==(e=>e.size)(e),a=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},c=e=>e.clear(),v=(e,n)=>null==e?void 0:e.forEach(n),R=(e,n)=>null==e?void 0:e.delete(n),h=e=>new Map(e),f=(e,n)=>null==e?void 0:e.get(n),L=(e,n)=>v(e,((e,t)=>n(t,e))),g=(e,n,t)=>o(t)?(R(e,n),e):null==e?void 0:e.set(n,t),w=(e,n,t)=>(d(e,n)||g(e,n,t()),f(e,n)),p=(e,n,t,r,o=0)=>s((t?w:f)(e,n[o],o>l(n)-2?t:h),(s=>{if(o>l(n)-2)return(null==r?void 0:r(s))&&g(e,n[o]),s;const i=p(s,n,t,r,o+1);return u(s)&&g(e,n[o]),i})),I=e=>new Set(i(e)||o(e)?e:[e]),y=(e,n)=>null==e?void 0:e.add(n),b=(e,n,r)=>{const p=e.hasRow,b=h(),k=h(),E=h(),T=h(),m=h(),S=(n,l,...r)=>{const o=w(m,n,I);return t(r,(n=>y(o,n)&&l&&e.callListener(n))),r},z=(n,...r)=>s(f(m,n),(o=>{t(0==l(r)?a(o):r,(n=>{e.delListener(n),R(o,n)})),u(o)&&g(m,n)})),A=(e,t)=>{g(b,e,t),d(k,e)||(g(k,e,n()),g(E,e,h()),g(T,e,h()))},D=e=>{g(b,e),g(k,e),g(E,e),g(T,e),z(e)};return[()=>e,()=>{return[...null!=(n=null==(e=b)?void 0:e.keys())?n:[]];var e,n},e=>L(k,e),e=>d(k,e),e=>f(b,e),e=>f(k,e),(e,n)=>g(k,e,n),A,(n,s,u,a,R)=>{A(n,s);const w=h(),I=h(),y=f(E,n),b=f(T,n),k=n=>{const t=t=>e.getCell(s,n,t),d=f(y,n),u=p(s,n)?r(a(t,n)):void 0;var c,v,h;if(d===u||i(d)&&i(u)&&(v=u,l(c=d)===l(v)&&(h=(e,n)=>v[n]===e,c.every(h)))||g(w,n,[d,u]),!o(R)){const e=f(b,n),l=p(s,n)?R(t,n):void 0;e!=l&&g(I,n,l)}},m=e=>{u((()=>{v(w,(([,e],n)=>g(y,n,e))),v(I,((e,n)=>g(b,n,e)))}),w,I,y,b,e),c(w),c(I)};L(y,k),e.hasTable(s)&&t(e.getRowIds(s),(e=>{d(y,e)||k(e)})),m(!0),z(n),S(n,0,e.addRowListener(s,null,((e,n,t)=>k(t))),e.addTableListener(s,(()=>m())))},D,()=>L(m,D),S,z]},k=(t,l)=>e(t)==n?e=>e(t):null!=t?t:()=>null!=l?l:"",E=/^\d+$/,T=e=>{let n;const[i,d]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=e.shift())?t:""+n++},n=>{E.test(n)&&l(e)<1e3&&r(e,n)}]})(),a=h();return[(t,l,r)=>{null!=n||(n=e());const o=i();return g(a,o,[t,l,r]),y(p(l,null!=r?r:[""],I),o),o},(e,o,...s)=>t(((e,n=[""])=>{const o=[],s=(e,i)=>i==l(n)?r(o,e):null===n[i]?v(e,(e=>s(e,i+1))):t([n[i],null],(n=>s(f(e,n),i+1)));return s(e,0),o})(e,o),(e=>v(e,(e=>f(a,e)[0](n,...null!=o?o:[],...s))))),e=>s(f(a,e),(([,n,t])=>(p(n,null!=t?t:[""],void 0,(n=>(R(n,e),u(n)?1:0))),g(a,e),d(e),t))),(e,r,i)=>s(f(a,e),(([e,,s=[]])=>{const d=(...u)=>{const a=l(u);a==l(s)?e(n,...u,...i(u)):o(s[a])?t(r[a](...u),(e=>d(...u,e))):d(...u,s[a])};d()}))]},m=Object.freeze,S=(e=>{const n=new WeakMap;return t=>(n.has(t)||n.set(t,e(t)),n.get(t))})((e=>{const n=h(),t=h(),l=h(),r=h(),[i,c,w,p,E,S,,,z,A,D]=b(e,(()=>[h(),h(),h(),h()]),(e=>o(e)?void 0:e+"")),[M,j,x]=T((()=>$)),C=(e,n,t)=>s(S(e),(([l,,r])=>{if(!d(r,n)){const s=I();if(E(e)!=W(e))y(s,n);else{let e=n;for(;!o(e)&&!d(s,e);)y(s,e),e=f(l,e)}if(t)return s;g(r,n,s)}return f(r,n)})),O=(e,n)=>s(S(e),(([,,e])=>g(e,n))),W=e=>f(n,e),$={setRelationshipDefinition:(e,i,a,c)=>(g(n,e,a),z(e,i,((n,i)=>{const a=I(),c=I(),h=I(),[w,p]=S(e);v(i,(([n,t],l)=>{o(n)||(y(c,n),s(f(p,n),(e=>{R(e,l),u(e)&&g(p,n)}))),o(t)||(y(c,t),d(p,t)||g(p,t,I()),y(f(p,t),l)),y(a,l),g(w,l,t),L(f(r,e),(n=>{d(C(e,n),l)&&y(h,n)}))})),n(),v(a,(n=>j(t,[e,n]))),v(c,(n=>j(l,[e,n]))),v(h,(n=>{O(e,n),j(r,[e,n])}))}),k(c)),$),delRelationshipDefinition:e=>(g(n,e),A(e),$),getStore:i,getRelationshipIds:c,forEachRelationship:n=>w((t=>n(t,(n=>e.forEachRow(E(t),n))))),hasRelationship:p,getLocalTableId:E,getRemoteTableId:W,getRemoteRowId:(e,n)=>{var t;return f(null==(t=S(e))?void 0:t[0],n)},getLocalRowIds:(e,n)=>{var t;return a(f(null==(t=S(e))?void 0:t[1],n))},getLinkedRowIds:(e,n)=>o(S(e))?[n]:a(C(e,n,!0)),addRemoteRowIdListener:(e,n,l)=>M(l,t,[e,n]),addLocalRowIdsListener:(e,n,t)=>M(t,l,[e,n]),addLinkedRowIdsListener:(e,n,t)=>(C(e,n),M(t,r,[e,n])),delListener:e=>(O(...x(e)),$),destroy:D,getListenerStats:()=>({})};return m($)}));export{S as createRelationships};
1
+ const e=e=>typeof e,t=e(""),n=(e,t)=>e.forEach(t),l=e=>e.length,r=(e,...t)=>e.push(...t),o=e=>null==e,s=(e,t,n)=>o(e)?null==n?void 0:n():t(e),i=e=>Array.isArray(e),d=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},u=e=>o(e)||0==(e=>e.size)(e),a=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},c=e=>e.clear(),v=(e,t)=>null==e?void 0:e.forEach(t),R=(e,t)=>null==e?void 0:e.delete(t),h=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),L=(e,t)=>v(e,((e,n)=>t(n,e))),g=(e,t,n)=>o(n)?(R(e,t),e):null==e?void 0:e.set(t,n),w=(e,t,n)=>(d(e,t)||g(e,t,n()),f(e,t)),p=(e,t,n,r,o=0)=>s((n?w:f)(e,t[o],o>l(t)-2?n:h),(s=>{if(o>l(t)-2)return(null==r?void 0:r(s))&&g(e,t[o]),s;const i=p(s,t,n,r,o+1);return u(s)&&g(e,t[o]),i})),I=e=>new Set(i(e)||o(e)?e:[e]),y=(e,t)=>null==e?void 0:e.add(t),b=/^\d+$/,k=Object.freeze,E=(E=>{const T=new WeakMap;return E=>(T.has(E)||T.set(E,(E=>{const T=h(),m=h(),S=h(),z=h(),[A,D,M,j,x,C,,,O,W,$]=((e,t,r)=>{const p=e.hasRow,b=h(),k=h(),E=h(),T=h(),m=h(),S=(t,l,...r)=>{const o=w(m,t,I);return n(r,(t=>y(o,t)&&l&&e.callListener(t))),r},z=(t,...r)=>s(f(m,t),(o=>{n(0==l(r)?a(o):r,(t=>{e.delListener(t),R(o,t)})),u(o)&&g(m,t)})),A=(e,t)=>{g(b,e,t),d(k,e)||(g(k,e,[h(),h(),h(),h()]),g(E,e,h()),g(T,e,h()))},D=e=>{g(b,e),g(k,e),g(E,e),g(T,e),z(e)};return[()=>e,()=>{return[...null!=(t=null==(e=b)?void 0:e.keys())?t:[]];var e,t},e=>L(k,e),e=>d(k,e),e=>f(b,e),e=>f(k,e),(e,t)=>g(k,e,t),A,(t,r,s,u,a)=>{A(t,r);const R=h(),w=h(),I=f(E,t),y=f(T,t),b=t=>{const n=n=>e.getCell(r,t,n),s=f(I,t),d=p(r,t)?(c=u(n,t),o(c)?void 0:c+""):void 0;var c,v,h,L;if(s===d||i(s)&&i(d)&&(h=d,l(v=s)===l(h)&&(L=(e,t)=>h[t]===e,v.every(L)))||g(R,t,[s,d]),!o(a)){const e=f(y,t),l=p(r,t)?a(n,t):void 0;e!=l&&g(w,t,l)}},k=e=>{s((()=>{v(R,(([,e],t)=>g(I,t,e))),v(w,((e,t)=>g(y,t,e)))}),R,w,I,y,e),c(R),c(w)};L(I,b),e.hasTable(r)&&n(e.getRowIds(r),(e=>{d(I,e)||b(e)})),k(!0),z(t),S(t,0,e.addRowListener(r,null,((e,t,n)=>b(n))),e.addTableListener(r,(()=>k())))},D,()=>L(m,D),S,z]})(E),[q,B,F]=(e=>{let t;const[i,d]=(()=>{const e=[];let t=0;return[()=>{var n;return null!=(n=e.shift())?n:""+t++},t=>{b.test(t)&&l(e)<1e3&&r(e,t)}]})(),a=h();return[(e,n,l)=>{null!=t||(t=K);const r=i();return g(a,r,[e,n,l]),y(p(n,null!=l?l:[""],I),r),r},(e,o,...s)=>n(((e,t=[""])=>{const o=[],s=(e,i)=>i==l(t)?r(o,e):null===t[i]?v(e,(e=>s(e,i+1))):n([t[i],null],(t=>s(f(e,t),i+1)));return s(e,0),o})(e,o),(e=>v(e,(e=>f(a,e)[0](t,...null!=o?o:[],...s))))),e=>s(f(a,e),(([,t,n])=>(p(t,null!=n?n:[""],void 0,(t=>(R(t,e),u(t)?1:0))),g(a,e),d(e),n))),(e,r,i)=>s(f(a,e),(([e,,s=[]])=>{const d=(...u)=>{const a=l(u);a==l(s)?e(t,...u,...i(u)):o(s[a])?n(r[a](...u),(e=>d(...u,e))):d(...u,s[a])};d()}))]})(),G=(e,t,n)=>s(C(e),(([l,,r])=>{if(!d(r,t)){const s=I();if(x(e)!=J(e))y(s,t);else{let e=t;for(;!o(e)&&!d(s,e);)y(s,e),e=f(l,e)}if(n)return s;g(r,t,s)}return f(r,t)})),H=(e,t)=>s(C(e),(([,,e])=>g(e,t))),J=e=>f(T,e),K={setRelationshipDefinition:(n,l,r,i)=>{return g(T,n,r),O(n,l,((e,t)=>{const l=I(),r=I(),i=I(),[a,c]=C(n);v(t,(([e,t],v)=>{o(e)||(y(r,e),s(f(c,e),(t=>{R(t,v),u(t)&&g(c,e)}))),o(t)||(y(r,t),d(c,t)||g(c,t,I()),y(f(c,t),v)),y(l,v),g(a,v,t),L(f(z,n),(e=>{d(G(n,e),v)&&y(i,e)}))})),e(),v(l,(e=>B(m,[n,e]))),v(r,(e=>B(S,[n,e]))),v(i,(e=>{H(n,e),B(z,[n,e])}))}),e(a=i)==t?e=>e(a):null!=a?a:()=>""),K;var a},delRelationshipDefinition:e=>(g(T,e),W(e),K),getStore:A,getRelationshipIds:D,forEachRelationship:e=>M((t=>e(t,(e=>E.forEachRow(x(t),e))))),hasRelationship:j,getLocalTableId:x,getRemoteTableId:J,getRemoteRowId:(e,t)=>{var n;return f(null==(n=C(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return a(f(null==(n=C(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>o(C(e))?[t]:a(G(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,m,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(G(e,t),q(n,z,[e,t])),delListener:e=>(H(...F(e)),K),destroy:$,getListenerStats:()=>({})};return k(K)})(E)),T.get(E))})();export{E as createRelationships};
Binary file
package/lib/es6/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),l=e(!0),n=e(0),r=e(e),s=e=>""+e,o=(e,t)=>e.forEach(t),a=(e,t)=>e.map(t),i=e=>e.length,u=(e,t,l)=>e.slice(t,l),d=(e,...t)=>e.push(...t),c=e=>JSON.stringify(e,((e,t)=>{return h(t,Map)?(l=[...t],n=(e,[t,l])=>(e[t]=l,e),r={},l.reduce(n,r)):t;var l,n,r})),v=JSON.parse,f=isFinite,h=(e,t)=>e instanceof t,T=e=>null==e,b=(e,t,l)=>T(e)?null==l?void 0:l():t(e),g=e=>e==t||e==l,w=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},R=e=>T(e)||0==(e=>e.size)(e),y=e=>e.clear(),C=(e,t)=>null==e?void 0:e.forEach(t),p=(e,t)=>null==e?void 0:e.delete(t),S=e=>new Map(e),I=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},L=(e,t)=>null==e?void 0:e.get(t),E=(e,t)=>C(e,((e,l)=>t(l,e))),J=(e,t,l)=>T(l)?(p(e,t),e):null==e?void 0:e.set(t,l),m=(e,t,l)=>(w(e,t)||J(e,t,l()),L(e,t)),F=(e,t,l)=>{const n={},r=null!=t?t:e=>e;return C(e,((e,t)=>b(r(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},z=(e,t)=>{const l=S(),n=null!=t?t:e=>e;return C(e,((e,t)=>l.set(t,n(e)))),l},O=e=>z(e,z),k=(e,t,l,n,r=0)=>b((l?m:L)(e,t[r],r>i(t)-2?l:S),(s=>{if(r>i(t)-2)return(null==n?void 0:n(s))&&J(e,t[r]),s;const o=k(s,t,l,n,r+1);return R(s)&&J(e,t[r]),o})),A=Object,M=A.keys,N=A.isFrozen,j=A.freeze,x=(e,t)=>!T(((e,t)=>b(e,(e=>e[t])))(e,t)),D=(e,t)=>delete e[t],P=(e,t)=>o(A.entries(e),(([e,l])=>t(l,e))),W=e=>{return t=M(e),0==i(t);var t},$=e=>new Set(Array.isArray(e)||T(e)?e:[e]),q=(e,t)=>null==e?void 0:e.add(t),B=/^\d+$/,G=()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:""+t++},t=>{B.test(t)&&i(e)<1e3&&d(e,t)}]},H=e=>{let t;const[l,n]=G(),r=S();return[(n,s,o)=>{null!=t||(t=e());const a=l();return J(r,a,[n,s,o]),q(k(s,null!=o?o:[""],$),a),a},(e,l,...n)=>o(((e,t=[""])=>{const l=[],n=(e,r)=>r==i(t)?d(l,e):null===t[r]?C(e,(e=>n(e,r+1))):o([t[r],null],(t=>n(L(e,t),r+1)));return n(e,0),l})(e,l),(e=>C(e,(e=>L(r,e)[0](t,...null!=l?l:[],...n))))),e=>b(L(r,e),(([,t,l])=>(k(t,null!=l?l:[""],void 0,(t=>(p(t,e),R(t)?1:0))),J(r,e),n(e),l))),(e,l,n)=>b(L(r,e),(([e,,r=[]])=>{const s=(...a)=>{const u=i(a);u==i(r)?e(t,...a,...n(a)):T(r[u])?o(l[u](...a),(e=>s(...a,e))):s(...a,r[u])};s()}))]},K=e=>[e,e],Q=()=>[S(),S()],U=t=>{const l=e(t);return g(l)||l==n&&f(t)?l:void 0},V=(e,t,l,n=J)=>{const r=(s=I(e),a=e=>!x(t,e),s.filter(a));var s,a;return o(M(t),(n=>l(e,n,t[n]))),o(r,(t=>n(e,t))),e},X=(e,t,l)=>T(e)||!(e=>h(e,A)&&e.constructor==A)(e)||W(e)||N(e)?(null==l||l(),!1):(P(e,((l,n)=>{t(l,n)||D(e,n)})),!W(e)),Y=(e,t,l)=>J(e,t,L(e,t)==-l?void 0:l),Z=()=>{let t,l,f=0;const h=S(),k=S(),A=S(),M=S(),N=S(),B=S(),_=S(),ee=S(),te=S(),le=Q(),ne=Q(),re=Q(),se=Q(),oe=Q(),ae=Q(),ie=Q(),ue=Q(),de=Q(),ce=Q(),[ve,fe,he,Te]=H((()=>Ze)),be=(e,l)=>(!t||w(B,l)||Ne(l))&&X(e,((e,t)=>ge(l,t,e)),(()=>Ne(l))),ge=(e,t,l,n)=>X(n?l:Re(l,e,t),((n,r)=>b(we(e,t,r,n),(e=>(l[r]=e,!0)),(()=>!1))),(()=>Ne(e,t))),we=(e,l,n,r)=>t?b(L(L(B,e),n),(t=>U(r)!=t.type?Ne(e,l,n,r,t.default):r),(()=>Ne(e,l,n,r))):T(U(r))?Ne(e,l,n,r):r,Re=(e,t,l)=>(b(L(_,t),(([n,r])=>{C(n,((t,l)=>{x(e,l)||(e[l]=t)})),C(r,(n=>{x(e,n)||Ne(t,l,n)}))})),e),ye=e=>V(B,e,((e,t,l)=>{const n=S(),r=$();V(m(B,t,S),l,((e,t,l)=>{J(e,t,l),b(l.default,(e=>J(n,t,e)),(()=>q(r,t)))})),J(_,t,[n,r])}),((e,t)=>{J(B,t),J(_,t)})),Ce=e=>V(te,e,((e,t,l)=>pe(t,l)),((e,t)=>me(t))),pe=(e,t)=>V(m(te,e,(()=>(Oe(e,1),S()))),t,((t,l,n)=>Se(e,t,l,n)),((t,l)=>Fe(e,t,l))),Se=(e,t,l,n,r)=>V(m(t,l,(()=>(ke(e,l,1),S()))),n,((t,n,r)=>Ie(e,l,t,n,r)),((n,s)=>ze(e,t,l,n,s,r))),Ie=(e,t,l,n,r)=>{w(l,n)||Ae(e,t,n,1);const s=L(l,n);r!==s&&(Me(e,t,n,s,r),J(l,n,r))},Le=(e,t,l,n,r)=>b(L(t,l),(t=>Ie(e,l,t,n,r)),(()=>Se(e,t,l,Re({[n]:r},e,l)))),Ee=e=>{const[t]=m(ee,e,G),l=t();return w(L(te,e),l)?Ee(e):l},Je=e=>{var t;return null!=(t=L(te,e))?t:pe(e,{})},me=e=>pe(e,{}),Fe=(e,t,l)=>{const[,n]=m(ee,e,G);n(l),Se(e,t,l,{},!0)},ze=(e,t,l,n,r,s)=>{var o;const a=L(null==(o=L(_,e))?void 0:o[0],r);if(!T(a)&&!s)return Ie(e,l,n,r,a);const i=t=>{Me(e,l,t,L(n,t)),Ae(e,l,t,-1),J(n,t)};T(a)?i(r):E(n,i),R(n)&&(ke(e,l,-1),R(J(t,l))&&(Oe(e,-1),J(te,e),J(ee,e)))},Oe=(e,t)=>Y(h,e,t),ke=(e,t,l)=>Y(m(k,e,S),t,l),Ae=(e,t,l,n)=>Y(m(m(A,e,S),t,S),l,n),Me=(e,t,l,n,r)=>m(m(m(M,e,S),t,S),l,(()=>[n,0]))[1]=r,Ne=(e,t,l,n,r)=>(d(m(m(m(N,e,S),t,S),l,(()=>[])),n),r),je=(e,t,l)=>b(L(L(L(M,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...K(Ke(e,t,l))])),xe=e=>R(N)||R(de[e])?0:C(e?z(N,O):N,((t,l)=>C(t,((t,n)=>C(t,((t,r)=>fe(de[e],[l,n,r],t))))))),De=(e,t,l)=>{if(!R(t))return fe(e,l),1},Pe=e=>{const t=R(oe[e]),l=R(ie[e])&&R(se[e])&&t&&R(ne[e]),n=R(ue[e])&&R(ae[e])&&R(re[e])&&R(le[e]);if(!l||!n){const r=e?[z(h),O(k),z(A,O),z(M,O)]:[h,k,A,M];if(!l){C(r[2],((t,l)=>C(t,((t,n)=>De(ie[e],t,[l,n])))));const l=$();C(r[1],((n,r)=>{De(se[e],n,[r])&&!t&&(fe(oe[e],[r,null]),q(l,r))})),t||C(r[3],((t,n)=>{if(!w(l,n)){const l=$();C(t,(e=>C(e,(([t,n],r)=>n!==t?q(l,r):p(e,r))))),C(l,(t=>fe(oe[e],[n,t])))}})),De(ne[e],r[0])}if(!n){let t;C(r[3],((l,n)=>{let r;C(l,((l,s)=>{let o;C(l,(([l,a],i)=>{a!==l&&(fe(ue[e],[n,s,i],a,l,je),t=r=o=1)})),o&&fe(ae[e],[n,s],je)})),r&&fe(re[e],[n],je)})),t&&fe(le[e],void 0,je)}}},We=(e,...t)=>(Ve((()=>e(...a(t,s)))),Ze),$e=()=>F(te,(e=>F(e,F))),qe=()=>I(te),Be=e=>I(L(te,s(e))),Ge=(e,t,l,n=0,r)=>{return a(u((d=L(te,s(e)),c=(e,l)=>[T(t)?l:L(e,s(t)),l],o=a([...null!=(v=null==d?void 0:d.entries())?v:[]],(([e,t])=>c(t,e))),i=([e],[t])=>(e<t?-1:1)*(l?-1:1),o.sort(i)),n,T(r)?r:n+r),(([,e])=>e));var o,i,d,c,v},He=(e,t)=>I(L(L(te,s(e)),s(t))),Ke=(e,t,l)=>L(L(L(te,s(e)),s(t)),s(l)),Qe=e=>We((()=>(e=>X(e,be,Ne))(e)?Ce(e):0)),Ue=()=>We((()=>Ce({}))),Ve=(e,t)=>{if(-1==f)return;Xe();const l=e();return Ye(t),l},Xe=()=>(f++,Ze),Ye=e=>(f>0&&(f--,0==f&&(l=!R(M),f=1,xe(1),l&&Pe(1),f=-1,(null==e?void 0:e(F(M,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),W)),W),F(N,(e=>F(e,F)))))&&(f=1,C(M,((e,t)=>C(e,((e,l)=>C(e,(([e],n)=>((e,t,l,n,r)=>T(r)?e.delCell(t,l,n,!0):e.setCell(t,l,n,r))(Ze,t,l,n,e))))))),f=-1,l=!1),fe(ce[0],void 0,l),xe(0),l&&Pe(0),fe(ce[1],void 0,l),f=0,o([M,N,h,k,A],y))),Ze),Ze={getTables:$e,getTableIds:qe,getTable:e=>F(L(te,s(e)),F),getRowIds:Be,getSortedRowIds:Ge,getRow:(e,t)=>F(L(L(te,s(e)),s(t))),getCellIds:He,getCell:Ke,hasTables:()=>!R(te),hasTable:e=>w(te,s(e)),hasRow:(e,t)=>w(L(te,s(e)),s(t)),hasCell:(e,t,l)=>w(L(L(te,s(e)),s(t)),s(l)),getJson:()=>c(te),getSchemaJson:()=>c(B),setTables:Qe,setTable:(e,t)=>We((e=>be(t,e)?pe(e,t):0),e),setRow:(e,t,l)=>We(((e,t)=>ge(s(e),s(t),l)?Se(s(e),Je(s(e)),s(t),l):0),e,t),addRow:(e,t)=>Ve((()=>{let l;return ge(e,l,t)&&(e=s(e),Se(e,Je(e),l=Ee(e),t)),l})),setPartialRow:(e,t,l)=>We(((e,t)=>{if(ge(e,t,l,1)){const n=Je(e);P(l,((l,r)=>Le(e,n,t,r,l)))}}),e,t),setCell:(t,l,n,s)=>We(((t,l,n)=>b(we(t,l,n,e(s)==r?s(Ke(t,l,n)):s),(e=>Le(t,Je(t),l,n,e)))),t,l,n),setJson:e=>{try{"{}"===e?Ue():Qe(v(e))}catch(e){}return Ze},setSchema:e=>We((()=>{if((t=(e=>X(e,(e=>X(e,(e=>{if(!X(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!g(t)&&t!=n||(U(e.default)!=t&&D(e,"default"),0))})))))(e))&&(ye(e),!R(te))){const e=$e();Ue(),Qe(e)}})),delTables:Ue,delTable:e=>We((e=>w(te,e)?me(e):0),e),delRow:(e,t)=>We(((e,t)=>b(L(te,e),(l=>w(l,t)?Fe(e,l,t):0))),e,t),delCell:(e,t,l,n)=>We(((e,t,l)=>b(L(te,e),(r=>b(L(r,t),(s=>w(s,l)?ze(e,r,t,s,l,n):0))))),e,t,l),delSchema:()=>We((()=>{ye({}),t=!1})),transaction:Ve,startTransaction:Xe,finishTransaction:Ye,forEachTable:e=>C(te,((t,l)=>e(l,(e=>C(t,((t,l)=>e(l,(e=>E(t,e))))))))),forEachRow:(e,t)=>C(L(te,s(e)),((e,l)=>t(l,(t=>E(e,t))))),forEachCell:(e,t,l)=>E(L(L(te,s(e)),s(t)),l),addSortedRowIdsListener:(e,t,l,n,r,s,o)=>{let a=Ge(e,t,l,n,r);return ve((()=>{const o=Ge(e,t,l,n,r);var u,d,c;d=a,i(u=o)===i(d)&&(c=(e,t)=>d[t]===e,u.every(c))||(a=o,s(Ze,e,t,l,n,r,a))}),oe[o?1:0],[e,t])},addWillFinishTransactionListener:e=>ve(e,ce[0]),addDidFinishTransactionListener:e=>ve(e,ce[1]),callListener:e=>(Te(e,[qe,Be,He],(e=>T(e[2])?[]:K(Ke(...e)))),Ze),delListener:e=>(he(e),Ze),getListenerStats:()=>({}),createStore:Z};return P({Tables:[0,le],TableIds:[0,ne],Table:[1,re],RowIds:[1,se],Row:[2,ae],CellIds:[2,ie],Cell:[3,ue],InvalidCell:[3,de]},(([e,t],l)=>{Ze["add"+l+"Listener"]=(...l)=>ve(l[e],t[l[e+1]?1:0],e>0?u(l,0,e):void 0)})),j(Ze)};export{Z as createStore};
1
+ const e=e=>typeof e,t=e(""),l=e(!0),n=e(0),r=e(e),s=e=>""+e,o=(e,t)=>e.forEach(t),a=(e,t)=>e.map(t),i=e=>e.length,u=(e,t,l)=>e.slice(t,l),d=(e,...t)=>e.push(...t),c=e=>JSON.stringify(e,((e,t)=>{return h(t,Map)?(l=(e,[t,l])=>(e[t]=l,e),n={},[...t].reduce(l,n)):t;var l,n})),v=JSON.parse,f=isFinite,h=(e,t)=>e instanceof t,T=e=>null==e,b=(e,t,l)=>T(e)?null==l?void 0:l():t(e),g=e=>e==t||e==l,w=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},R=e=>T(e)||0==(e=>e.size)(e),y=e=>e.clear(),C=(e,t)=>null==e?void 0:e.forEach(t),p=(e,t)=>null==e?void 0:e.delete(t),S=e=>new Map(e),I=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},L=(e,t)=>null==e?void 0:e.get(t),E=(e,t)=>C(e,((e,l)=>t(l,e))),J=(e,t,l)=>T(l)?(p(e,t),e):null==e?void 0:e.set(t,l),m=(e,t,l)=>(w(e,t)||J(e,t,l()),L(e,t)),F=(e,t,l)=>{const n={},r=null!=t?t:e=>e;return C(e,((e,t)=>b(r(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},z=(e,t)=>{const l=S(),n=null!=t?t:e=>e;return C(e,((e,t)=>l.set(t,n(e)))),l},O=e=>z(e,z),k=(e,t,l,n,r=0)=>b((l?m:L)(e,t[r],r>i(t)-2?l:S),(s=>{if(r>i(t)-2)return(null==n?void 0:n(s))&&J(e,t[r]),s;const o=k(s,t,l,n,r+1);return R(s)&&J(e,t[r]),o})),A=Object,M=A.keys,N=A.isFrozen,j=A.freeze,x=(e,t)=>!T(((e,t)=>b(e,(e=>e[t])))(e,t)),D=(e,t)=>delete e[t],P=(e,t)=>a(A.entries(e),(([e,l])=>t(l,e))),W=e=>{return t=M(e),0==i(t);var t},$=e=>new Set(Array.isArray(e)||T(e)?e:[e]),q=(e,t)=>null==e?void 0:e.add(t),B=/^\d+$/,G=()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:""+t++},t=>{B.test(t)&&i(e)<1e3&&d(e,t)}]},H=e=>[e,e],K=()=>[S(),S()],Q=t=>{const l=e(t);return g(l)||l==n&&f(t)?l:void 0},U=(e,t,l,n=J)=>{const r=(s=e=>!x(t,e),I(e).filter(s));var s;return o(M(t),(n=>l(e,n,t[n]))),o(r,(t=>n(e,t))),e},V=(e,t,l)=>T(e)||!(e=>h(e,A)&&e.constructor==A)(e)||W(e)||N(e)?(null==l||l(),!1):(P(e,((l,n)=>{t(l,n)||D(e,n)})),!W(e)),X=(e,t,l)=>J(e,t,L(e,t)==-l?void 0:l),Y=()=>{let t,l,f=0;const h=S(),A=S(),M=S(),N=S(),B=S(),Z=S(),_=S(),ee=S(),te=S(),le=K(),ne=K(),re=K(),se=K(),oe=K(),ae=K(),ie=K(),ue=K(),de=K(),ce=K(),[ve,fe,he,Te]=(e=>{let t;const[l,n]=G(),r=S();return[(e,n,s)=>{null!=t||(t=Ze);const o=l();return J(r,o,[e,n,s]),q(k(n,null!=s?s:[""],$),o),o},(e,l,...n)=>o(((e,t=[""])=>{const l=[],n=(e,r)=>r==i(t)?d(l,e):null===t[r]?C(e,(e=>n(e,r+1))):o([t[r],null],(t=>n(L(e,t),r+1)));return n(e,0),l})(e,l),(e=>C(e,(e=>L(r,e)[0](t,...null!=l?l:[],...n))))),e=>b(L(r,e),(([,t,l])=>(k(t,null!=l?l:[""],void 0,(t=>(p(t,e),R(t)?1:0))),J(r,e),n(e),l))),(e,l,n)=>b(L(r,e),(([e,,r=[]])=>{const s=(...a)=>{const u=i(a);u==i(r)?e(t,...a,...n(a)):T(r[u])?o(l[u](...a),(e=>s(...a,e))):s(...a,r[u])};s()}))]})(),be=(e,l)=>(!t||w(Z,l)||Ne(l))&&V(e,((e,t)=>ge(l,t,e)),(()=>Ne(l))),ge=(e,t,l,n)=>V(n?l:Re(l,e,t),((n,r)=>b(we(e,t,r,n),(e=>(l[r]=e,!0)),(()=>!1))),(()=>Ne(e,t))),we=(e,l,n,r)=>t?b(L(L(Z,e),n),(t=>Q(r)!=t.type?Ne(e,l,n,r,t.default):r),(()=>Ne(e,l,n,r))):T(Q(r))?Ne(e,l,n,r):r,Re=(e,t,l)=>(b(L(_,t),(([n,r])=>{C(n,((t,l)=>{x(e,l)||(e[l]=t)})),C(r,(n=>{x(e,n)||Ne(t,l,n)}))})),e),ye=e=>U(Z,e,((e,t,l)=>{const n=S(),r=$();U(m(Z,t,S),l,((e,t,l)=>{J(e,t,l),b(l.default,(e=>J(n,t,e)),(()=>q(r,t)))})),J(_,t,[n,r])}),((e,t)=>{J(Z,t),J(_,t)})),Ce=e=>U(te,e,((e,t,l)=>pe(t,l)),((e,t)=>me(t))),pe=(e,t)=>U(m(te,e,(()=>(Oe(e,1),S()))),t,((t,l,n)=>Se(e,t,l,n)),((t,l)=>Fe(e,t,l))),Se=(e,t,l,n,r)=>U(m(t,l,(()=>(ke(e,l,1),S()))),n,((t,n,r)=>Ie(e,l,t,n,r)),((n,s)=>ze(e,t,l,n,s,r))),Ie=(e,t,l,n,r)=>{w(l,n)||Ae(e,t,n,1);const s=L(l,n);r!==s&&(Me(e,t,n,s,r),J(l,n,r))},Le=(e,t,l,n,r)=>b(L(t,l),(t=>Ie(e,l,t,n,r)),(()=>Se(e,t,l,Re({[n]:r},e,l)))),Ee=e=>{const[t]=m(ee,e,G),l=t();return w(L(te,e),l)?Ee(e):l},Je=e=>{var t;return null!=(t=L(te,e))?t:pe(e,{})},me=e=>pe(e,{}),Fe=(e,t,l)=>{const[,n]=m(ee,e,G);n(l),Se(e,t,l,{},!0)},ze=(e,t,l,n,r,s)=>{var o;const a=L(null==(o=L(_,e))?void 0:o[0],r);if(!T(a)&&!s)return Ie(e,l,n,r,a);const i=t=>{Me(e,l,t,L(n,t)),Ae(e,l,t,-1),J(n,t)};T(a)?i(r):E(n,i),R(n)&&(ke(e,l,-1),R(J(t,l))&&(Oe(e,-1),J(te,e),J(ee,e)))},Oe=(e,t)=>X(h,e,t),ke=(e,t,l)=>X(m(A,e,S),t,l),Ae=(e,t,l,n)=>X(m(m(M,e,S),t,S),l,n),Me=(e,t,l,n,r)=>m(m(m(N,e,S),t,S),l,(()=>[n,0]))[1]=r,Ne=(e,t,l,n,r)=>(d(m(m(m(B,e,S),t,S),l,(()=>[])),n),r),je=(e,t,l)=>b(L(L(L(N,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...H(Ke(e,t,l))])),xe=e=>R(B)||R(de[e])?0:C(e?z(B,O):B,((t,l)=>C(t,((t,n)=>C(t,((t,r)=>fe(de[e],[l,n,r],t))))))),De=(e,t,l)=>{if(!R(t))return fe(e,l),1},Pe=e=>{const t=R(oe[e]),l=R(ie[e])&&R(se[e])&&t&&R(ne[e]),n=R(ue[e])&&R(ae[e])&&R(re[e])&&R(le[e]);if(!l||!n){const r=e?[z(h),O(A),z(M,O),z(N,O)]:[h,A,M,N];if(!l){C(r[2],((t,l)=>C(t,((t,n)=>De(ie[e],t,[l,n])))));const l=$();C(r[1],((n,r)=>{De(se[e],n,[r])&&!t&&(fe(oe[e],[r,null]),q(l,r))})),t||C(r[3],((t,n)=>{if(!w(l,n)){const l=$();C(t,(e=>C(e,(([t,n],r)=>n!==t?q(l,r):p(e,r))))),C(l,(t=>fe(oe[e],[n,t])))}})),De(ne[e],r[0])}if(!n){let t;C(r[3],((l,n)=>{let r;C(l,((l,s)=>{let o;C(l,(([l,a],i)=>{a!==l&&(fe(ue[e],[n,s,i],a,l,je),t=r=o=1)})),o&&fe(ae[e],[n,s],je)})),r&&fe(re[e],[n],je)})),t&&fe(le[e],void 0,je)}}},We=(e,...t)=>(Ve((()=>e(...a(t,s)))),Ze),$e=()=>F(te,(e=>F(e,F))),qe=()=>I(te),Be=e=>I(L(te,s(e))),Ge=(e,t,l,n=0,r)=>{return a(u((i=L(te,s(e)),d=(e,l)=>[T(t)?l:L(e,s(t)),l],o=([e],[t])=>(e<t?-1:1)*(l?-1:1),a([...null!=(c=null==i?void 0:i.entries())?c:[]],(([e,t])=>d(t,e))).sort(o)),n,T(r)?r:n+r),(([,e])=>e));var o,i,d,c},He=(e,t)=>I(L(L(te,s(e)),s(t))),Ke=(e,t,l)=>L(L(L(te,s(e)),s(t)),s(l)),Qe=e=>We((()=>(e=>V(e,be,Ne))(e)?Ce(e):0)),Ue=()=>We((()=>Ce({}))),Ve=(e,t)=>{if(-1==f)return;Xe();const l=e();return Ye(t),l},Xe=()=>(f++,Ze),Ye=e=>(f>0&&(f--,0==f&&(l=!R(N),f=1,xe(1),l&&Pe(1),f=-1,(null==e?void 0:e(F(N,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),W)),W),F(B,(e=>F(e,F)))))&&(f=1,C(N,((e,t)=>C(e,((e,l)=>C(e,(([e],n)=>((e,t,l,n,r)=>T(r)?e.delCell(t,l,n,!0):e.setCell(t,l,n,r))(Ze,t,l,n,e))))))),f=-1,l=!1),fe(ce[0],void 0,l),xe(0),l&&Pe(0),fe(ce[1],void 0,l),f=0,o([N,B,h,A,M],y))),Ze),Ze={getTables:$e,getTableIds:qe,getTable:e=>F(L(te,s(e)),F),getRowIds:Be,getSortedRowIds:Ge,getRow:(e,t)=>F(L(L(te,s(e)),s(t))),getCellIds:He,getCell:Ke,hasTables:()=>!R(te),hasTable:e=>w(te,s(e)),hasRow:(e,t)=>w(L(te,s(e)),s(t)),hasCell:(e,t,l)=>w(L(L(te,s(e)),s(t)),s(l)),getJson:()=>c(te),getSchemaJson:()=>c(Z),setTables:Qe,setTable:(e,t)=>We((e=>be(t,e)?pe(e,t):0),e),setRow:(e,t,l)=>We(((e,t)=>ge(s(e),s(t),l)?Se(s(e),Je(s(e)),s(t),l):0),e,t),addRow:(e,t)=>Ve((()=>{let l;return ge(e,l,t)&&(e=s(e),Se(e,Je(e),l=Ee(e),t)),l})),setPartialRow:(e,t,l)=>We(((e,t)=>{if(ge(e,t,l,1)){const n=Je(e);P(l,((l,r)=>Le(e,n,t,r,l)))}}),e,t),setCell:(t,l,n,s)=>We(((t,l,n)=>b(we(t,l,n,e(s)==r?s(Ke(t,l,n)):s),(e=>Le(t,Je(t),l,n,e)))),t,l,n),setJson:e=>{try{"{}"===e?Ue():Qe(v(e))}catch(e){}return Ze},setSchema:e=>We((()=>{if((t=(e=>V(e,(e=>V(e,(e=>{if(!V(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!g(t)&&t!=n||(Q(e.default)!=t&&D(e,"default"),0))})))))(e))&&(ye(e),!R(te))){const e=$e();Ue(),Qe(e)}})),delTables:Ue,delTable:e=>We((e=>w(te,e)?me(e):0),e),delRow:(e,t)=>We(((e,t)=>b(L(te,e),(l=>w(l,t)?Fe(e,l,t):0))),e,t),delCell:(e,t,l,n)=>We(((e,t,l)=>b(L(te,e),(r=>b(L(r,t),(s=>w(s,l)?ze(e,r,t,s,l,n):0))))),e,t,l),delSchema:()=>We((()=>{ye({}),t=!1})),transaction:Ve,startTransaction:Xe,finishTransaction:Ye,forEachTable:e=>C(te,((t,l)=>e(l,(e=>C(t,((t,l)=>e(l,(e=>E(t,e))))))))),forEachRow:(e,t)=>C(L(te,s(e)),((e,l)=>t(l,(t=>E(e,t))))),forEachCell:(e,t,l)=>E(L(L(te,s(e)),s(t)),l),addSortedRowIdsListener:(e,t,l,n,r,s,o)=>{let a=Ge(e,t,l,n,r);return ve((()=>{const o=Ge(e,t,l,n,r);var u,d,c;d=a,i(u=o)===i(d)&&(c=(e,t)=>d[t]===e,u.every(c))||(a=o,s(Ze,e,t,l,n,r,a))}),oe[o?1:0],[e,t])},addWillFinishTransactionListener:e=>ve(e,ce[0]),addDidFinishTransactionListener:e=>ve(e,ce[1]),callListener:e=>(Te(e,[qe,Be,He],(e=>T(e[2])?[]:H(Ke(...e)))),Ze),delListener:e=>(he(e),Ze),getListenerStats:()=>({}),createStore:Y};return P({Tables:[0,le],TableIds:[0,ne],Table:[1,re],RowIds:[1,se],Row:[2,ae],CellIds:[2,ie],Cell:[3,ue],InvalidCell:[3,de]},(([e,t],l)=>{Ze["add"+l+"Listener"]=(...l)=>ve(l[e],t[l[e+1]?1:0],e>0?u(l,0,e):void 0)})),j(Ze)};export{Y as createStore};
Binary file
@@ -1 +1 @@
1
- import{watch as e,promises as t}from"fs";const n=e=>typeof e,o=n(""),r=n(!0),l=n(0),s=n(n),i=e=>""+e,a=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),c=(e,t)=>w(e)===w(t)&&d(e,((e,n)=>t[n]===e)),u=(e,t)=>d(e,((n,o)=>0==o||t(e[o-1],n)<=0)),v=(e,t)=>e.sort(t),h=(e,t)=>e.forEach(t),f=(e,t)=>e.map(t),g=e=>y(e,((e,t)=>e+t),0),w=e=>e.length,p=e=>0==w(e),y=(e,t,n)=>e.reduce(t,n),L=(e,t,n)=>e.slice(t,n),R=(e,...t)=>e.push(...t),I=e=>e.pop(),S=e=>e.shift(),T=e=>JSON.stringify(e,((e,t)=>E(t,Map)?y([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),b=JSON.parse,m=Math.max,C=Math.min,x=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,A=(e,t,n)=>k(e)?null==n?void 0:n():t(e),M=e=>e==o||e==r,P=e=>n(e)==s,D=e=>Array.isArray(e),O=()=>{},F=e=>e.size,J=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},j=e=>k(e)||0==F(e),Q=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},z=e=>e.clear(),N=(e,t)=>null==e?void 0:e.forEach(t),W=(e,t)=>null==e?void 0:e.delete(t),B=e=>new Map(e),H=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},$=(e,t)=>null==e?void 0:e.get(t),q=(e,t)=>N(e,((e,n)=>t(n,e))),G=(e,t,n)=>k(n)?(W(e,t),e):null==e?void 0:e.set(t,n),K=(e,t,n)=>(J(e,t)||G(e,t,n()),$(e,t)),U=(e,t,n)=>{const o={},r=null!=t?t:e=>e;return N(e,((e,t)=>A(r(e),(e=>(null==n?void 0:n(e))?0:o[t]=e)))),o},V=(e,t)=>{const n=B(),o=null!=t?t:e=>e;return N(e,((e,t)=>n.set(t,o(e)))),n},X=e=>V(e,V),Y=(e,t,n,o,r=0)=>A((n?K:$)(e,t[r],r>w(t)-2?n:B),(l=>{if(r>w(t)-2)return(null==o?void 0:o(l))&&G(e,t[r]),l;const s=Y(l,t,n,o,r+1);return j(l)&&G(e,t[r]),s})),Z=e=>new Set(D(e)||k(e)?e:[e]),_=(e,t)=>null==e?void 0:e.add(t),ee=(e,t,n)=>{const o=e.hasRow,r=B(),l=B(),s=B(),i=B(),a=B(),d=(t,n,...o)=>{const r=K(a,t,Z);return h(o,(t=>_(r,t)&&n&&e.callListener(t))),o},u=(t,...n)=>A($(a,t),(o=>{h(p(n)?Q(o):n,(t=>{e.delListener(t),W(o,t)})),j(o)&&G(a,t)})),v=(e,n)=>{G(r,e,n),J(l,e)||(G(l,e,t()),G(s,e,B()),G(i,e,B()))},f=e=>{G(r,e),G(l,e),G(s,e),G(i,e),u(e)};return[()=>e,()=>H(r),e=>q(l,e),e=>J(l,e),e=>$(r,e),e=>$(l,e),(e,t)=>G(l,e,t),v,(t,r,l,a,f)=>{v(t,r);const g=B(),w=B(),p=$(s,t),y=$(i,t),L=t=>{const l=n=>e.getCell(r,t,n),s=$(p,t),i=o(r,t)?n(a(l,t)):void 0;if(s===i||D(s)&&D(i)&&c(s,i)||G(g,t,[s,i]),!k(f)){const e=$(y,t),n=o(r,t)?f(l,t):void 0;e!=n&&G(w,t,n)}},R=e=>{l((()=>{N(g,(([,e],t)=>G(p,t,e))),N(w,((e,t)=>G(y,t,e)))}),g,w,p,y,e),z(g),z(w)};q(p,L),e.hasTable(r)&&h(e.getRowIds(r),(e=>{J(p,e)||L(e)})),R(!0),u(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>L(n))),e.addTableListener(r,(()=>R())))},f,()=>q(a,f),d,u]},te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:"",ne=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},oe=/^\d+$/,re=()=>{const e=[];let t=0;return[()=>{var n;return null!=(n=S(e))?n:""+t++},t=>{oe.test(t)&&w(e)<1e3&&R(e,t)}]},le=e=>{let t;const[n,o]=re(),r=B();return[(o,l,s)=>{null!=t||(t=e());const i=n();return G(r,i,[o,l,s]),_(Y(l,null!=s?s:[""],Z),i),i},(e,n,...o)=>h(((e,t=[""])=>{const n=[],o=(e,r)=>r==w(t)?R(n,e):null===t[r]?N(e,(e=>o(e,r+1))):h([t[r],null],(t=>o($(e,t),r+1)));return o(e,0),n})(e,n),(e=>N(e,(e=>$(r,e)[0](t,...null!=n?n:[],...o))))),e=>A($(r,e),(([,t,n])=>(Y(t,null!=n?n:[""],void 0,(t=>(W(t,e),j(t)?1:0))),G(r,e),o(e),n))),(e,n,o)=>A($(r,e),(([e,,r=[]])=>{const l=(...s)=>{const i=w(s);i==w(r)?e(t,...s,...o(s)):k(r[i])?h(n[i](...s),(e=>l(...s,e))):l(...s,r[i])};l()}))]},se=Object,ie=se.keys,ae=se.isFrozen,de=se.freeze,ce=(e,t)=>!k(((e,t)=>A(e,(e=>e[t])))(e,t)),ue=(e,t)=>delete e[t],ve=(e,t)=>h(se.entries(e),(([e,n])=>t(n,e))),he=e=>p(ie(e)),fe=e=>{const t=n(e);return M(t)||t==l&&x(e)?t:void 0},ge=(e,t,n,o,r)=>k(r)?e.delCell(t,n,o,!0):e.setCell(t,n,o,r),we=ne((e=>{let t,n,o,r=100,l=B(),s=1;const i=B(),d=B(),[c,u,v]=le((()=>z)),f=B(),g=B(),y=[],L=[],T=(t,n)=>{s=0,e.transaction((()=>N($(f,n),((n,o)=>N(n,((n,r)=>N(n,((n,l)=>ge(e,o,r,l,n[t]))))))))),s=1},b=e=>{G(f,e),G(g,e),u(d,[e])},m=(e,t)=>h(((e,t)=>e.splice(0,t))(e,null!=t?t:w(e)),b),C=()=>m(y,w(y)-r),x=e.addCellListener(null,null,null,((e,n,r,i,a,d)=>{if(s){A(t,(()=>{R(y,t),C(),m(L),t=void 0,o=1}));const e=K(l,n,B),s=K(e,r,B),c=K(s,i,(()=>[d,void 0]));c[1]=a,c[0]===a&&j(G(s,i))&&j(G(e,r))&&j(G(l,n))&&(t=I(y),o=1),D()}})),E=(e="")=>(k(t)&&(t=""+n++,G(f,t,l),F(t,e),l=B(),o=1),t),M=()=>{p(y)||(((e,...t)=>{e.unshift(...t)})(L,E()),T(0,t),t=I(y),o=1)},P=()=>{p(L)||(R(y,t),t=S(L),T(1,t),o=1)},D=()=>{o&&(u(i),o=0)},O=e=>{const t=E(e);return D(),t},F=(e,t)=>(Q(e)&&$(g,e)!==t&&(G(g,e,t),u(d,[e])),z),Q=e=>J(f,e),z={setSize:e=>(r=e,C(),z),addCheckpoint:O,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...y],t,[...L]],forEachCheckpoint:e=>q(g,e),hasCheckpoint:Q,getCheckpoint:e=>$(g,e),goBackward:()=>(M(),D(),z),goForward:()=>(P(),D(),z),goTo:e=>{const n=a(y,e)?M:a(L,e)?P:null;for(;!k(n)&&e!=t;)n();return D(),z},addCheckpointIdsListener:e=>c(e,i),addCheckpointListener:(e,t)=>c(t,d,[e]),delListener:e=>(v(e),z),clear:()=>(m(y),m(L),k(t)||b(t),t=void 0,n=0,O(),z),destroy:()=>{e.delListener(x)},getListenerStats:()=>({})};return de(z.clear())})),pe=(e,t)=>e<t?-1:1,ye=ne((e=>{const t=B(),n=B(),[o,r,l,s,a,d,c,,h,g,w]=ee(e,B,(e=>k(e)?"":D(e)?f(e,i):i(e))),[p,y,L]=le((()=>I)),R=(t,n,o)=>{const r=a(t);N(o,((t,o)=>n(o,(n=>N(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},I={setIndexDefinition:(e,o,r,l,s,i=pe)=>{const a=k(s)?void 0:([e],[t])=>s(e,t);return h(e,o,((o,r,s,h,f,g)=>{let w=0;const p=Z(),L=Z(),R=d(e);if(N(r,(([e,t],n)=>{const o=Z(e),r=Z(t);N(o,(e=>W(r,e)?W(o,e):0)),N(o,(e=>{_(p,e),A($(R,e),(t=>{W(t,n),j(t)&&(G(R,e),w=1)}))})),N(r,(e=>{_(p,e),J(R,e)||(G(R,e,Z()),w=1),_($(R,e),n),k(l)||_(L,e)}))})),o(),j(f)||(g?q(R,(e=>_(L,e))):q(s,(e=>A($(h,e),(e=>_(L,e))))),N(L,(e=>{const t=(t,n)=>i($(f,t),$(f,n),e),n=[...$(R,e)];u(n,t)||(G(R,e,Z(v(n,t))),_(p,e))}))),(w||g)&&!k(a)){const t=[...R];u(t,a)||(c(e,B(v(t,a))),w=1)}w&&y(t,[e]),N(p,(t=>y(n,[e,t])))}),te(r),A(l,te)),I},delIndexDefinition:e=>(g(e),I),getStore:o,getIndexIds:r,forEachIndex:e=>l(((t,n)=>e(t,(e=>R(t,e,n))))),forEachSlice:(e,t)=>R(e,t,d(e)),hasIndex:s,hasSlice:(e,t)=>J(d(e),t),getTableId:a,getSliceIds:e=>H(d(e)),getSliceRowIds:(e,t)=>Q($(d(e),t)),addSliceIdsListener:(e,n)=>p(n,t,[e]),addSliceRowIdsListener:(e,t,o)=>p(o,n,[e,t]),delListener:e=>(L(e),I),destroy:w,getListenerStats:()=>({})};return de(I)})),Le=B([["avg",[(e,t)=>g(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,o)=>e+(t-n)/o]],["max",[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)]],["min",[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)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Re=(e,t,n,o,r,l=!1)=>{if(j(n))return;const[s,i,a,d]=r;return l||(l=k(e)),N(o,(([n,o])=>{l||(e=k(n)?null==i?void 0:i(e,o,t++):k(o)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,o,n,t),l||(l=k(e)))})),l?s(Q(n),F(n)):e},Ie=ne((e=>{const t=B(),[n,o,r,l,s,i,a,,d,c,u]=ee(e,O,(e=>isNaN(e)||k(e)||!0===e||!1===e||""===e?void 0:1*e)),[v,h,f]=le((()=>g)),g={setMetricDefinition:(e,n,o,r,l,s,c)=>{var u;const v=P(o)?[o,l,s,c]:null!=(u=$(Le,o))?u:$(Le,"sum");return d(e,n,((n,o,r,l,s,d)=>{const c=i(e),u=F(l);d||(d=k(c)),n();let f=Re(c,u,l,o,v,d);x(f)||(f=void 0),f!=c&&(a(e,f),h(t,[e],f,c))}),te(r,1)),g},delMetricDefinition:e=>(c(e),g),getStore:n,getMetricIds:o,forEachMetric:r,hasMetric:l,getTableId:s,getMetric:i,addMetricListener:(e,n)=>v(n,t,[e]),delListener:e=>(f(e),g),destroy:u,getListenerStats:()=>({})};return de(g)}));var Se=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const Te=(e,t,n,o,r)=>{let l,s=0;const i={load:n=>Se(void 0,null,(function*(){if(2!=s){s=1;const o=yield t();k(o)||""==o?e.setTables(n):e.setJson(o),s=0}return i})),startAutoLoad:e=>Se(void 0,null,(function*(){return i.stopAutoLoad(),yield i.load(e),o(i.load),i})),stopAutoLoad:()=>(r(),i),save:()=>Se(void 0,null,(function*(){return 1!=s&&(s=2,yield n(e.getJson()),s=0),i})),startAutoSave:()=>Se(void 0,null,(function*(){return yield i.stopAutoSave().save(),l=e.addTablesListener((()=>i.save())),i})),stopAutoSave:()=>(A(l,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return de(i)};var be=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const me=globalThis.window,Ce=(e,t,n)=>{let o;return Te(e,(()=>be(void 0,null,(function*(){return n.getItem(t)}))),(e=>be(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{o=o=>{o.storageArea===n&&o.key===t&&e()},me.addEventListener("storage",o)}),(()=>{me.removeEventListener("storage",o),o=void 0}))},xe=(e,t)=>Ce(e,t,localStorage),Ee=(e,t)=>Ce(e,t,sessionStorage);var ke=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const Ae=(n,o)=>{let r;return Te(n,(()=>ke(void 0,null,(function*(){try{return yield t.readFile(o,"utf8")}catch(e){}}))),(e=>ke(void 0,null,(function*(){try{yield t.writeFile(o,e,"utf8")}catch(e){}}))),(t=>{r=e(o,t)}),(()=>{null==r||r.close(),r=void 0}))};var Me=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const Pe=e=>e.headers.get("ETag"),De=(e,t,n,o)=>{let r,l;return Te(e,(()=>Me(void 0,null,(function*(){const e=yield fetch(t);return l=Pe(e),e.text()}))),(e=>Me(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{r=setInterval((()=>Me(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),o=Pe(n);k(l)||k(o)||o==l||(l=o,e())}))),1e3*o)}),(()=>{A(r,clearInterval),r=void 0}))};var Oe=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable;const je=ne((e=>{const t=e.createStore,[n,o,r,l,s,,,i,,a,c,u,v]=ee(e,(()=>!0),O),f=t(),g=t(),y=B(),I=(e,t,...n)=>h(n,(n=>_(K(K(y,t,B),e,Z),n))),S=e=>{A($(y,e),(e=>{q(e,((e,t)=>N(t,(t=>e.delListener(t))))),z(e)})),h([g,f],(t=>t.delTable(e)))},T=(e,t,n)=>I(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),b={setQueryDefinition:(t,n,o)=>{i(t,n),S(t);const r=[],l=[[null,[n,null,null,[],B()]]],s=[],a=[],c=[];o({select:(e,t)=>{const n=P(e)?[w(r)+"",e]:[k(t)?e:t,n=>n(e,t)];return R(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const o=k(n)||P(t)?null:t,r=k(o)?t:n,s=[e,[e,o,P(r)?r:e=>e(r),[],B()]];return R(l,s),{as:e=>s[0]=e}},where:(e,t,n)=>R(s,P(e)?e:k(n)?n=>n(e)===t:o=>o(e,t)===n),group:(e,t,n,o,r)=>{var l;const s=[e,[e,P(t)?[t,n,o,r]:null!=(l=$(Le,t))?l:[(e,t)=>t]]];return R(a,s),{as:e=>s[0]=e}},having:(e,t)=>R(c,P(e)?e:n=>n(e)===t)});const y=B(r);if(j(y))return b;const L=B(l);q(L,((e,[,t])=>A($(L,t),(({3:t})=>k(e)?0:R(t,e)))));const m=B(a);let C=f;if(j(m)&&p(c))C=g;else{T(t,C,g);const e=B();q(m,((t,[n,o])=>_(K(e,n,Z),[t,o])));const n=Z();q(y,(t=>J(e,t)?0:_(n,t)));const o=B(),r=(n,o,r,l)=>A(n,(([s,i,a,u])=>{q(o,((t,[n])=>{const o=K(s,t,B),i=$(o,r),a=l?void 0:n;if(i!==a){const n=Z([[i,a]]),l=F(o);G(o,r,a),N($(e,t),(([e,t])=>{const r=Re(u[e],l,o,n,t);u[e]=k(fe(r))?null:r}))}})),j(i)||!d(c,(e=>e((e=>u[e]))))?g.delRow(t,a):k(a)?n[2]=g.addRow(t,u):g.setRow(t,a,u)}));I(C,t,C.addRowListener(t,null,((l,s,i,a)=>{const d=[],c=[],u=B(),v=C.hasRow(t,i);let h=!v;N(n,(e=>{const[n,o,r]=a(t,i,e);R(d,o),R(c,r),h||(h=n)})),q(e,(e=>{const[n,,o]=a(t,i,e);(h||n)&&G(u,e,[o])})),h&&r(Y(o,d,void 0,(([,e])=>(W(e,i),j(e)))),u,i,1),v&&r(Y(o,c,(()=>{const e={};return N(n,(n=>e[n]=C.getCell(t,i,n))),[B(),Z(),void 0,e]}),(([,e])=>{_(e,i)})),u,i)})))}T(t,e,C);const x=(o,r,l,i)=>{const a=t=>e.getCell(r,l,t);h(i,(n=>{var r;const[l,,s,i,d]=$(L,n),c=null==s?void 0:s(a,o),[h,f]=null!=(r=$(d,o))?r:[];c!=h&&(k(f)||v(t,f),G(d,o,k(c)?null:[c,...u(t,1,e.addRowListener(l,c,(()=>x(o,l,c,i))))]))})),(o=>{const r=(t,r)=>{var l,s,i;return e.getCell(...k(r)?[n,o,t]:t===n?[n,o,r]:[null==(l=$(L,t))?void 0:l[0],null==(i=$(null==(s=$(L,t))?void 0:s[4],o))?void 0:i[0],r])};C.transaction((()=>d(s,(e=>e(r)))?q(y,((e,n)=>ge(C,t,o,e,n(r,o)))):C.delRow(t,o)))})(o)},{3:E}=$(L,null);return C.transaction((()=>u(t,1,e.addRowListener(n,null,((o,r,l)=>{e.hasRow(n,l)?x(l,n,l,E):(C.delRow(t,l),N(L,(({4:e})=>A($(e,l),(([,n])=>{v(t,n),G(e,l)})))))}))))),b},delQueryDefinition:e=>(S(e),a(e),b),getStore:n,getQueryIds:o,forEachQuery:r,hasQuery:l,getTableId:s,delListener:e=>(g.delListener(e),b),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var o in e)Fe.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&Oe)for(var o of Oe(e))t.indexOf(o)<0&&Je.call(e,o)&&(n[o]=e[o]);return n})(g.getListenerStats(),["tables","tableIds","transaction"])};return ve({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],n)=>{h(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+n]=(...t)=>g[e+n](...t))),b["addResult"+n+"Listener"]=(...e)=>g["add"+n+"Listener"](...L(e,0,t),((n,...o)=>e[t](b,...o)))})),de(b)})),Qe=ne((e=>{const t=B(),n=B(),o=B(),r=B(),[l,s,i,a,d,c,,,u,v,h]=ee(e,(()=>[B(),B(),B(),B()]),(e=>k(e)?void 0:e+"")),[f,g,w]=le((()=>R)),p=(e,t,n)=>A(c(e),(([o,,r])=>{if(!J(r,t)){const l=Z();if(d(e)!=L(e))_(l,t);else{let e=t;for(;!k(e)&&!J(l,e);)_(l,e),e=$(o,e)}if(n)return l;G(r,t,l)}return $(r,t)})),y=(e,t)=>A(c(e),(([,,e])=>G(e,t))),L=e=>$(t,e),R={setRelationshipDefinition:(e,l,s,i)=>(G(t,e,s),u(e,l,((t,l)=>{const s=Z(),i=Z(),a=Z(),[d,u]=c(e);N(l,(([t,n],o)=>{k(t)||(_(i,t),A($(u,t),(e=>{W(e,o),j(e)&&G(u,t)}))),k(n)||(_(i,n),J(u,n)||G(u,n,Z()),_($(u,n),o)),_(s,o),G(d,o,n),q($(r,e),(t=>{J(p(e,t),o)&&_(a,t)}))})),t(),N(s,(t=>g(n,[e,t]))),N(i,(t=>g(o,[e,t]))),N(a,(t=>{y(e,t),g(r,[e,t])}))}),te(i)),R),delRelationshipDefinition:e=>(G(t,e),v(e),R),getStore:l,getRelationshipIds:s,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(d(n),t))))),hasRelationship:a,getLocalTableId:d,getRemoteTableId:L,getRemoteRowId:(e,t)=>{var n;return $(null==(n=c(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Q($(null==(n=c(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(c(e))?[t]:Q(p(e,t,!0)),addRemoteRowIdListener:(e,t,o)=>f(o,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),f(n,r,[e,t])),delListener:e=>(y(...w(e)),R),destroy:h,getListenerStats:()=>({})};return de(R)})),ze=e=>[e,e],Ne=()=>[B(),B()],We=(e,t,n,o=G)=>{const r=(l=H(e),s=e=>!ce(t,e),l.filter(s));var l,s;return h(ie(t),(o=>n(e,o,t[o]))),h(r,(t=>o(e,t))),e},Be=(e,t,n)=>k(e)||!(e=>E(e,se)&&e.constructor==se)(e)||he(e)||ae(e)?(null==n||n(),!1):(ve(e,((n,o)=>{t(n,o)||ue(e,o)})),!he(e)),He=(e,t,n)=>G(e,t,$(e,t)==-n?void 0:n),$e=()=>{let e,t,n=0;const o=B(),r=B(),s=B(),d=B(),u=B(),g=B(),w=B(),p=B(),y=B(),I=Ne(),S=Ne(),m=Ne(),C=Ne(),x=Ne(),E=Ne(),D=Ne(),O=Ne(),F=Ne(),Q=Ne(),[Y,ee,te,ne]=le((()=>tt)),oe=(t,n)=>(!e||J(g,n)||Pe(n))&&Be(t,((e,t)=>se(n,t,e)),(()=>Pe(n))),se=(e,t,n,o)=>Be(o?n:ae(n,e,t),((o,r)=>A(ie(e,t,r,o),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Pe(e,t))),ie=(t,n,o,r)=>e?A($($(g,t),o),(e=>fe(r)!=e.type?Pe(t,n,o,r,e.default):r),(()=>Pe(t,n,o,r))):k(fe(r))?Pe(t,n,o,r):r,ae=(e,t,n)=>(A($(w,t),(([o,r])=>{N(o,((t,n)=>{ce(e,n)||(e[n]=t)})),N(r,(o=>{ce(e,o)||Pe(t,n,o)}))})),e),we=e=>We(g,e,((e,t,n)=>{const o=B(),r=Z();We(K(g,t,B),n,((e,t,n)=>{G(e,t,n),A(n.default,(e=>G(o,t,e)),(()=>_(r,t)))})),G(w,t,[o,r])}),((e,t)=>{G(g,t),G(w,t)})),ye=e=>We(y,e,((e,t,n)=>Le(t,n)),((e,t)=>me(t))),Le=(e,t)=>We(K(y,e,(()=>(Ee(e,1),B()))),t,((t,n,o)=>Re(e,t,n,o)),((t,n)=>Ce(e,t,n))),Re=(e,t,n,o,r)=>We(K(t,n,(()=>(ke(e,n,1),B()))),o,((t,o,r)=>Ie(e,n,t,o,r)),((o,l)=>xe(e,t,n,o,l,r))),Ie=(e,t,n,o,r)=>{J(n,o)||Ae(e,t,o,1);const l=$(n,o);r!==l&&(Me(e,t,o,l,r),G(n,o,r))},Se=(e,t,n,o,r)=>A($(t,n),(t=>Ie(e,n,t,o,r)),(()=>Re(e,t,n,ae({[o]:r},e,n)))),Te=e=>{const[t]=K(p,e,re),n=t();return J($(y,e),n)?Te(e):n},be=e=>{var t;return null!=(t=$(y,e))?t:Le(e,{})},me=e=>Le(e,{}),Ce=(e,t,n)=>{const[,o]=K(p,e,re);o(n),Re(e,t,n,{},!0)},xe=(e,t,n,o,r,l)=>{var s;const i=$(null==(s=$(w,e))?void 0:s[0],r);if(!k(i)&&!l)return Ie(e,n,o,r,i);const a=t=>{Me(e,n,t,$(o,t)),Ae(e,n,t,-1),G(o,t)};k(i)?a(r):q(o,a),j(o)&&(ke(e,n,-1),j(G(t,n))&&(Ee(e,-1),G(y,e),G(p,e)))},Ee=(e,t)=>He(o,e,t),ke=(e,t,n)=>He(K(r,e,B),t,n),Ae=(e,t,n,o)=>He(K(K(s,e,B),t,B),n,o),Me=(e,t,n,o,r)=>K(K(K(d,e,B),t,B),n,(()=>[o,0]))[1]=r,Pe=(e,t,n,o,r)=>(R(K(K(K(u,e,B),t,B),n,(()=>[])),o),r),De=(e,t,n)=>A($($($(d,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(Ve(e,t,n))])),Oe=e=>j(u)||j(F[e])?0:N(e?V(u,X):u,((t,n)=>N(t,((t,o)=>N(t,((t,r)=>ee(F[e],[n,o,r],t))))))),Fe=(e,t,n)=>{if(!j(t))return ee(e,n),1},Je=e=>{const t=j(x[e]),n=j(D[e])&&j(C[e])&&t&&j(S[e]),l=j(O[e])&&j(E[e])&&j(m[e])&&j(I[e]);if(!n||!l){const i=e?[V(o),X(r),V(s,X),V(d,X)]:[o,r,s,d];if(!n){N(i[2],((t,n)=>N(t,((t,o)=>Fe(D[e],t,[n,o])))));const n=Z();N(i[1],((o,r)=>{Fe(C[e],o,[r])&&!t&&(ee(x[e],[r,null]),_(n,r))})),t||N(i[3],((t,o)=>{if(!J(n,o)){const n=Z();N(t,(e=>N(e,(([t,o],r)=>o!==t?_(n,r):W(e,r))))),N(n,(t=>ee(x[e],[o,t])))}})),Fe(S[e],i[0])}if(!l){let t;N(i[3],((n,o)=>{let r;N(n,((n,l)=>{let s;N(n,(([n,i],a)=>{i!==n&&(ee(O[e],[o,l,a],i,n,De),t=r=s=1)})),s&&ee(E[e],[o,l],De)})),r&&ee(m[e],[o],De)})),t&&ee(I[e],void 0,De)}}},je=(e,...t)=>(Ze((()=>e(...f(t,i)))),tt),Qe=()=>U(y,(e=>U(e,U))),qe=()=>H(y),Ge=e=>H($(y,i(e))),Ke=(e,t,n,o=0,r)=>{return f(L(v((l=$(y,i(e)),s=(e,n)=>[k(t)?n:$(e,i(t)),n],f([...null!=(a=null==l?void 0:l.entries())?a:[]],(([e,t])=>s(t,e)))),(([e],[t])=>pe(e,t)*(n?-1:1))),o,k(r)?r:o+r),(([,e])=>e));var l,s,a},Ue=(e,t)=>H($($(y,i(e)),i(t))),Ve=(e,t,n)=>$($($(y,i(e)),i(t)),i(n)),Xe=e=>je((()=>(e=>Be(e,oe,Pe))(e)?ye(e):0)),Ye=()=>je((()=>ye({}))),Ze=(e,t)=>{if(-1==n)return;_e();const o=e();return et(t),o},_e=()=>(n++,tt),et=e=>(n>0&&(n--,0==n&&(t=!j(d),n=1,Oe(1),t&&Je(1),n=-1,(null==e?void 0:e(U(d,(e=>U(e,(e=>U(e,(e=>[...e]),(([e,t])=>e===t))),he)),he),U(u,(e=>U(e,U)))))&&(n=1,N(d,((e,t)=>N(e,((e,n)=>N(e,(([e],o)=>ge(tt,t,n,o,e))))))),n=-1,t=!1),ee(Q[0],void 0,t),Oe(0),t&&Je(0),ee(Q[1],void 0,t),n=0,h([d,u,o,r,s],z))),tt),tt={getTables:Qe,getTableIds:qe,getTable:e=>U($(y,i(e)),U),getRowIds:Ge,getSortedRowIds:Ke,getRow:(e,t)=>U($($(y,i(e)),i(t))),getCellIds:Ue,getCell:Ve,hasTables:()=>!j(y),hasTable:e=>J(y,i(e)),hasRow:(e,t)=>J($(y,i(e)),i(t)),hasCell:(e,t,n)=>J($($(y,i(e)),i(t)),i(n)),getJson:()=>T(y),getSchemaJson:()=>T(g),setTables:Xe,setTable:(e,t)=>je((e=>oe(t,e)?Le(e,t):0),e),setRow:(e,t,n)=>je(((e,t)=>se(i(e),i(t),n)?Re(i(e),be(i(e)),i(t),n):0),e,t),addRow:(e,t)=>Ze((()=>{let n;return se(e,n,t)&&(e=i(e),Re(e,be(e),n=Te(e),t)),n})),setPartialRow:(e,t,n)=>je(((e,t)=>{if(se(e,t,n,1)){const o=be(e);ve(n,((n,r)=>Se(e,o,t,r,n)))}}),e,t),setCell:(e,t,n,o)=>je(((e,t,n)=>A(ie(e,t,n,P(o)?o(Ve(e,t,n)):o),(o=>Se(e,be(e),t,n,o)))),e,t,n),setJson:e=>{try{"{}"===e?Ye():Xe(b(e))}catch(e){}return tt},setSchema:t=>je((()=>{if((e=(e=>Be(e,(e=>Be(e,(e=>{if(!Be(e,((e,t)=>a(["type","default"],t))))return!1;const t=e.type;return!(!M(t)&&t!=l||(fe(e.default)!=t&&ue(e,"default"),0))})))))(t))&&(we(t),!j(y))){const e=Qe();Ye(),Xe(e)}})),delTables:Ye,delTable:e=>je((e=>J(y,e)?me(e):0),e),delRow:(e,t)=>je(((e,t)=>A($(y,e),(n=>J(n,t)?Ce(e,n,t):0))),e,t),delCell:(e,t,n,o)=>je(((e,t,n)=>A($(y,e),(r=>A($(r,t),(l=>J(l,n)?xe(e,r,t,l,n,o):0))))),e,t,n),delSchema:()=>je((()=>{we({}),e=!1})),transaction:Ze,startTransaction:_e,finishTransaction:et,forEachTable:e=>N(y,((t,n)=>e(n,(e=>N(t,((t,n)=>e(n,(e=>q(t,e))))))))),forEachRow:(e,t)=>N($(y,i(e)),((e,n)=>t(n,(t=>q(e,t))))),forEachCell:(e,t,n)=>q($($(y,i(e)),i(t)),n),addSortedRowIdsListener:(e,t,n,o,r,l,s)=>{let i=Ke(e,t,n,o,r);return Y((()=>{const s=Ke(e,t,n,o,r);c(s,i)||(i=s,l(tt,e,t,n,o,r,i))}),x[s?1:0],[e,t])},addWillFinishTransactionListener:e=>Y(e,Q[0]),addDidFinishTransactionListener:e=>Y(e,Q[1]),callListener:e=>(ne(e,[qe,Ge,Ue],(e=>k(e[2])?[]:ze(Ve(...e)))),tt),delListener:e=>(te(e),tt),getListenerStats:()=>({}),createStore:$e};return ve({Tables:[0,I],TableIds:[0,S],Table:[1,m],RowIds:[1,C],Row:[2,E],CellIds:[2,D],Cell:[3,O],InvalidCell:[3,F]},(([e,t],n)=>{tt["add"+n+"Listener"]=(...n)=>Y(n[e],t[n[e+1]?1:0],e>0?L(n,0,e):void 0)})),de(tt)};export{we as createCheckpoints,Te as createCustomPersister,Ae as createFilePersister,ye as createIndexes,xe as createLocalPersister,Ie as createMetrics,je as createQueries,Qe as createRelationships,De as createRemotePersister,Ee as createSessionPersister,$e as createStore,pe as defaultSorter};
1
+ import{watch as e,promises as t}from"fs";const n=e=>typeof e,o=n(""),r=n(!0),l=n(0),s=n(n),i=e=>""+e,a=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),c=(e,t)=>w(e)===w(t)&&d(e,((e,n)=>t[n]===e)),u=(e,t)=>d(e,((n,o)=>0==o||t(e[o-1],n)<=0)),v=(e,t)=>e.sort(t),h=(e,t)=>e.forEach(t),f=(e,t)=>e.map(t),g=e=>y(e,((e,t)=>e+t),0),w=e=>e.length,p=e=>0==w(e),y=(e,t,n)=>e.reduce(t,n),L=(e,t,n)=>e.slice(t,n),R=(e,...t)=>e.push(...t),I=e=>e.pop(),S=e=>e.shift(),T=e=>JSON.stringify(e,((e,t)=>E(t,Map)?y([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),b=JSON.parse,m=Math.max,C=Math.min,x=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,A=(e,t,n)=>k(e)?null==n?void 0:n():t(e),M=e=>e==o||e==r,P=e=>n(e)==s,D=e=>Array.isArray(e),O=()=>{},F=e=>e.size,J=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},j=e=>k(e)||0==F(e),Q=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},z=e=>e.clear(),N=(e,t)=>null==e?void 0:e.forEach(t),W=(e,t)=>null==e?void 0:e.delete(t),B=e=>new Map(e),H=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},$=(e,t)=>null==e?void 0:e.get(t),q=(e,t)=>N(e,((e,n)=>t(n,e))),G=(e,t,n)=>k(n)?(W(e,t),e):null==e?void 0:e.set(t,n),K=(e,t,n)=>(J(e,t)||G(e,t,n()),$(e,t)),U=(e,t,n)=>{const o={},r=null!=t?t:e=>e;return N(e,((e,t)=>A(r(e),(e=>(null==n?void 0:n(e))?0:o[t]=e)))),o},V=(e,t)=>{const n=B(),o=null!=t?t:e=>e;return N(e,((e,t)=>n.set(t,o(e)))),n},X=e=>V(e,V),Y=(e,t,n,o,r=0)=>A((n?K:$)(e,t[r],r>w(t)-2?n:B),(l=>{if(r>w(t)-2)return(null==o?void 0:o(l))&&G(e,t[r]),l;const s=Y(l,t,n,o,r+1);return j(l)&&G(e,t[r]),s})),Z=e=>new Set(D(e)||k(e)?e:[e]),_=(e,t)=>null==e?void 0:e.add(t),ee=(e,t,n)=>{const o=e.hasRow,r=B(),l=B(),s=B(),i=B(),a=B(),d=(t,n,...o)=>{const r=K(a,t,Z);return h(o,(t=>_(r,t)&&n&&e.callListener(t))),o},u=(t,...n)=>A($(a,t),(o=>{h(p(n)?Q(o):n,(t=>{e.delListener(t),W(o,t)})),j(o)&&G(a,t)})),v=(e,n)=>{G(r,e,n),J(l,e)||(G(l,e,t()),G(s,e,B()),G(i,e,B()))},f=e=>{G(r,e),G(l,e),G(s,e),G(i,e),u(e)};return[()=>e,()=>H(r),e=>q(l,e),e=>J(l,e),e=>$(r,e),e=>$(l,e),(e,t)=>G(l,e,t),v,(t,r,l,a,f)=>{v(t,r);const g=B(),w=B(),p=$(s,t),y=$(i,t),L=t=>{const l=n=>e.getCell(r,t,n),s=$(p,t),i=o(r,t)?n(a(l,t)):void 0;if(s===i||D(s)&&D(i)&&c(s,i)||G(g,t,[s,i]),!k(f)){const e=$(y,t),n=o(r,t)?f(l,t):void 0;e!=n&&G(w,t,n)}},R=e=>{l((()=>{N(g,(([,e],t)=>G(p,t,e))),N(w,((e,t)=>G(y,t,e)))}),g,w,p,y,e),z(g),z(w)};q(p,L),e.hasTable(r)&&h(e.getRowIds(r),(e=>{J(p,e)||L(e)})),R(!0),u(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>L(n))),e.addTableListener(r,(()=>R())))},f,()=>q(a,f),d,u]},te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:"",ne=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},oe=/^\d+$/,re=()=>{const e=[];let t=0;return[()=>{var n;return null!=(n=S(e))?n:""+t++},t=>{oe.test(t)&&w(e)<1e3&&R(e,t)}]},le=e=>{let t;const[n,o]=re(),r=B();return[(o,l,s)=>{null!=t||(t=e());const i=n();return G(r,i,[o,l,s]),_(Y(l,null!=s?s:[""],Z),i),i},(e,n,...o)=>h(((e,t=[""])=>{const n=[],o=(e,r)=>r==w(t)?R(n,e):null===t[r]?N(e,(e=>o(e,r+1))):h([t[r],null],(t=>o($(e,t),r+1)));return o(e,0),n})(e,n),(e=>N(e,(e=>$(r,e)[0](t,...null!=n?n:[],...o))))),e=>A($(r,e),(([,t,n])=>(Y(t,null!=n?n:[""],void 0,(t=>(W(t,e),j(t)?1:0))),G(r,e),o(e),n))),(e,n,o)=>A($(r,e),(([e,,r=[]])=>{const l=(...s)=>{const i=w(s);i==w(r)?e(t,...s,...o(s)):k(r[i])?h(n[i](...s),(e=>l(...s,e))):l(...s,r[i])};l()}))]},se=Object,ie=se.keys,ae=se.isFrozen,de=se.freeze,ce=(e,t)=>!k(((e,t)=>A(e,(e=>e[t])))(e,t)),ue=(e,t)=>delete e[t],ve=(e,t)=>f(se.entries(e),(([e,n])=>t(n,e))),he=e=>p(ie(e)),fe=e=>{const t=n(e);return M(t)||t==l&&x(e)?t:void 0},ge=(e,t,n,o,r)=>k(r)?e.delCell(t,n,o,!0):e.setCell(t,n,o,r),we=ne((e=>{let t,n,o,r=100,l=B(),s=1;const i=B(),d=B(),[c,u,v]=le((()=>z)),f=B(),g=B(),y=[],L=[],T=(t,n)=>{s=0,e.transaction((()=>N($(f,n),((n,o)=>N(n,((n,r)=>N(n,((n,l)=>ge(e,o,r,l,n[t]))))))))),s=1},b=e=>{G(f,e),G(g,e),u(d,[e])},m=(e,t)=>h(((e,t)=>e.splice(0,t))(e,null!=t?t:w(e)),b),C=()=>m(y,w(y)-r),x=e.addCellListener(null,null,null,((e,n,r,i,a,d)=>{if(s){A(t,(()=>{R(y,t),C(),m(L),t=void 0,o=1}));const e=K(l,n,B),s=K(e,r,B),c=K(s,i,(()=>[d,void 0]));c[1]=a,c[0]===a&&j(G(s,i))&&j(G(e,r))&&j(G(l,n))&&(t=I(y),o=1),D()}})),E=(e="")=>(k(t)&&(t=""+n++,G(f,t,l),F(t,e),l=B(),o=1),t),M=()=>{p(y)||(((e,...t)=>{e.unshift(...t)})(L,E()),T(0,t),t=I(y),o=1)},P=()=>{p(L)||(R(y,t),t=S(L),T(1,t),o=1)},D=()=>{o&&(u(i),o=0)},O=e=>{const t=E(e);return D(),t},F=(e,t)=>(Q(e)&&$(g,e)!==t&&(G(g,e,t),u(d,[e])),z),Q=e=>J(f,e),z={setSize:e=>(r=e,C(),z),addCheckpoint:O,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...y],t,[...L]],forEachCheckpoint:e=>q(g,e),hasCheckpoint:Q,getCheckpoint:e=>$(g,e),goBackward:()=>(M(),D(),z),goForward:()=>(P(),D(),z),goTo:e=>{const n=a(y,e)?M:a(L,e)?P:null;for(;!k(n)&&e!=t;)n();return D(),z},addCheckpointIdsListener:e=>c(e,i),addCheckpointListener:(e,t)=>c(t,d,[e]),delListener:e=>(v(e),z),clear:()=>(m(y),m(L),k(t)||b(t),t=void 0,n=0,O(),z),destroy:()=>{e.delListener(x)},getListenerStats:()=>({})};return de(z.clear())})),pe=(e,t)=>e<t?-1:1,ye=ne((e=>{const t=B(),n=B(),[o,r,l,s,a,d,c,,h,g,w]=ee(e,B,(e=>k(e)?"":D(e)?f(e,i):i(e))),[p,y,L]=le((()=>I)),R=(t,n,o)=>{const r=a(t);N(o,((t,o)=>n(o,(n=>N(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},I={setIndexDefinition:(e,o,r,l,s,i=pe)=>{const a=k(s)?void 0:([e],[t])=>s(e,t);return h(e,o,((o,r,s,h,f,g)=>{let w=0;const p=Z(),L=Z(),R=d(e);if(N(r,(([e,t],n)=>{const o=Z(e),r=Z(t);N(o,(e=>W(r,e)?W(o,e):0)),N(o,(e=>{_(p,e),A($(R,e),(t=>{W(t,n),j(t)&&(G(R,e),w=1)}))})),N(r,(e=>{_(p,e),J(R,e)||(G(R,e,Z()),w=1),_($(R,e),n),k(l)||_(L,e)}))})),o(),j(f)||(g?q(R,(e=>_(L,e))):q(s,(e=>A($(h,e),(e=>_(L,e))))),N(L,(e=>{const t=(t,n)=>i($(f,t),$(f,n),e),n=[...$(R,e)];u(n,t)||(G(R,e,Z(v(n,t))),_(p,e))}))),(w||g)&&!k(a)){const t=[...R];u(t,a)||(c(e,B(v(t,a))),w=1)}w&&y(t,[e]),N(p,(t=>y(n,[e,t])))}),te(r),A(l,te)),I},delIndexDefinition:e=>(g(e),I),getStore:o,getIndexIds:r,forEachIndex:e=>l(((t,n)=>e(t,(e=>R(t,e,n))))),forEachSlice:(e,t)=>R(e,t,d(e)),hasIndex:s,hasSlice:(e,t)=>J(d(e),t),getTableId:a,getSliceIds:e=>H(d(e)),getSliceRowIds:(e,t)=>Q($(d(e),t)),addSliceIdsListener:(e,n)=>p(n,t,[e]),addSliceRowIdsListener:(e,t,o)=>p(o,n,[e,t]),delListener:e=>(L(e),I),destroy:w,getListenerStats:()=>({})};return de(I)})),Le=B([["avg",[(e,t)=>g(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,o)=>e+(t-n)/o]],["max",[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)]],["min",[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)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Re=(e,t,n,o,r,l=!1)=>{if(j(n))return;const[s,i,a,d]=r;return l||(l=k(e)),N(o,(([n,o])=>{l||(e=k(n)?null==i?void 0:i(e,o,t++):k(o)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,o,n,t),l||(l=k(e)))})),l?s(Q(n),F(n)):e},Ie=ne((e=>{const t=B(),[n,o,r,l,s,i,a,,d,c,u]=ee(e,O,(e=>isNaN(e)||k(e)||!0===e||!1===e||""===e?void 0:1*e)),[v,h,f]=le((()=>g)),g={setMetricDefinition:(e,n,o,r,l,s,c)=>{var u;const v=P(o)?[o,l,s,c]:null!=(u=$(Le,o))?u:$(Le,"sum");return d(e,n,((n,o,r,l,s,d)=>{const c=i(e),u=F(l);d||(d=k(c)),n();let f=Re(c,u,l,o,v,d);x(f)||(f=void 0),f!=c&&(a(e,f),h(t,[e],f,c))}),te(r,1)),g},delMetricDefinition:e=>(c(e),g),getStore:n,getMetricIds:o,forEachMetric:r,hasMetric:l,getTableId:s,getMetric:i,addMetricListener:(e,n)=>v(n,t,[e]),delListener:e=>(f(e),g),destroy:u,getListenerStats:()=>({})};return de(g)}));var Se=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const Te=(e,t,n,o,r)=>{let l,s=0;const i={load:n=>Se(void 0,null,(function*(){if(2!=s){s=1;const o=yield t();k(o)||""==o?e.setTables(n):e.setJson(o),s=0}return i})),startAutoLoad:e=>Se(void 0,null,(function*(){return i.stopAutoLoad(),yield i.load(e),o(i.load),i})),stopAutoLoad:()=>(r(),i),save:()=>Se(void 0,null,(function*(){return 1!=s&&(s=2,yield n(e.getJson()),s=0),i})),startAutoSave:()=>Se(void 0,null,(function*(){return yield i.stopAutoSave().save(),l=e.addTablesListener((()=>i.save())),i})),stopAutoSave:()=>(A(l,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return de(i)};var be=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const me=globalThis.window,Ce=(e,t,n)=>{let o;return Te(e,(()=>be(void 0,null,(function*(){return n.getItem(t)}))),(e=>be(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{o=o=>{o.storageArea===n&&o.key===t&&e()},me.addEventListener("storage",o)}),(()=>{me.removeEventListener("storage",o),o=void 0}))},xe=(e,t)=>Ce(e,t,localStorage),Ee=(e,t)=>Ce(e,t,sessionStorage);var ke=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const Ae=(n,o)=>{let r;return Te(n,(()=>ke(void 0,null,(function*(){try{return yield t.readFile(o,"utf8")}catch(e){}}))),(e=>ke(void 0,null,(function*(){try{yield t.writeFile(o,e,"utf8")}catch(e){}}))),(t=>{r=e(o,t)}),(()=>{null==r||r.close(),r=void 0}))};var Me=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,s);i((n=n.apply(e,t)).next())}));const Pe=e=>e.headers.get("ETag"),De=(e,t,n,o)=>{let r,l;return Te(e,(()=>Me(void 0,null,(function*(){const e=yield fetch(t);return l=Pe(e),e.text()}))),(e=>Me(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{r=setInterval((()=>Me(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),o=Pe(n);k(l)||k(o)||o==l||(l=o,e())}))),1e3*o)}),(()=>{A(r,clearInterval),r=void 0}))};var Oe=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable;const je=ne((e=>{const t=e.createStore,[n,o,r,l,s,,,i,,a,c,u,v]=ee(e,(()=>!0),O),f=t(),g=t(),y=B(),I=(e,t,...n)=>h(n,(n=>_(K(K(y,t,B),e,Z),n))),S=e=>{A($(y,e),(e=>{q(e,((e,t)=>N(t,(t=>e.delListener(t))))),z(e)})),h([g,f],(t=>t.delTable(e)))},T=(e,t,n)=>I(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),b={setQueryDefinition:(t,n,o)=>{i(t,n),S(t);const r=[],l=[[null,[n,null,null,[],B()]]],s=[],a=[],c=[];o({select:(e,t)=>{const n=P(e)?[w(r)+"",e]:[k(t)?e:t,n=>n(e,t)];return R(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const o=k(n)||P(t)?null:t,r=k(o)?t:n,s=[e,[e,o,P(r)?r:e=>e(r),[],B()]];return R(l,s),{as:e=>s[0]=e}},where:(e,t,n)=>R(s,P(e)?e:k(n)?n=>n(e)===t:o=>o(e,t)===n),group:(e,t,n,o,r)=>{var l;const s=[e,[e,P(t)?[t,n,o,r]:null!=(l=$(Le,t))?l:[(e,t)=>t]]];return R(a,s),{as:e=>s[0]=e}},having:(e,t)=>R(c,P(e)?e:n=>n(e)===t)});const y=B(r);if(j(y))return b;const L=B(l);q(L,((e,[,t])=>A($(L,t),(({3:t})=>k(e)?0:R(t,e)))));const m=B(a);let C=f;if(j(m)&&p(c))C=g;else{T(t,C,g);const e=B();q(m,((t,[n,o])=>_(K(e,n,Z),[t,o])));const n=Z();q(y,(t=>J(e,t)?0:_(n,t)));const o=B(),r=(n,o,r,l)=>A(n,(([s,i,a,u])=>{q(o,((t,[n])=>{const o=K(s,t,B),i=$(o,r),a=l?void 0:n;if(i!==a){const n=Z([[i,a]]),l=F(o);G(o,r,a),N($(e,t),(([e,t])=>{const r=Re(u[e],l,o,n,t);u[e]=k(fe(r))?null:r}))}})),j(i)||!d(c,(e=>e((e=>u[e]))))?g.delRow(t,a):k(a)?n[2]=g.addRow(t,u):g.setRow(t,a,u)}));I(C,t,C.addRowListener(t,null,((l,s,i,a)=>{const d=[],c=[],u=B(),v=C.hasRow(t,i);let h=!v;N(n,(e=>{const[n,o,r]=a(t,i,e);R(d,o),R(c,r),h||(h=n)})),q(e,(e=>{const[n,,o]=a(t,i,e);(h||n)&&G(u,e,[o])})),h&&r(Y(o,d,void 0,(([,e])=>(W(e,i),j(e)))),u,i,1),v&&r(Y(o,c,(()=>{const e={};return N(n,(n=>e[n]=C.getCell(t,i,n))),[B(),Z(),void 0,e]}),(([,e])=>{_(e,i)})),u,i)})))}T(t,e,C);const x=(o,r,l,i)=>{const a=t=>e.getCell(r,l,t);h(i,(n=>{var r;const[l,,s,i,d]=$(L,n),c=null==s?void 0:s(a,o),[h,f]=null!=(r=$(d,o))?r:[];c!=h&&(k(f)||v(t,f),G(d,o,k(c)?null:[c,...u(t,1,e.addRowListener(l,c,(()=>x(o,l,c,i))))]))})),(o=>{const r=(t,r)=>{var l,s,i;return e.getCell(...k(r)?[n,o,t]:t===n?[n,o,r]:[null==(l=$(L,t))?void 0:l[0],null==(i=$(null==(s=$(L,t))?void 0:s[4],o))?void 0:i[0],r])};C.transaction((()=>d(s,(e=>e(r)))?q(y,((e,n)=>ge(C,t,o,e,n(r,o)))):C.delRow(t,o)))})(o)},{3:E}=$(L,null);return C.transaction((()=>u(t,1,e.addRowListener(n,null,((o,r,l)=>{e.hasRow(n,l)?x(l,n,l,E):(C.delRow(t,l),N(L,(({4:e})=>A($(e,l),(([,n])=>{v(t,n),G(e,l)})))))}))))),b},delQueryDefinition:e=>(S(e),a(e),b),getStore:n,getQueryIds:o,forEachQuery:r,hasQuery:l,getTableId:s,delListener:e=>(g.delListener(e),b),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var o in e)Fe.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&Oe)for(var o of Oe(e))t.indexOf(o)<0&&Je.call(e,o)&&(n[o]=e[o]);return n})(g.getListenerStats(),["tables","tableIds","transaction"])};return ve({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],n)=>{h(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+n]=(...t)=>g[e+n](...t))),b["addResult"+n+"Listener"]=(...e)=>g["add"+n+"Listener"](...L(e,0,t),((n,...o)=>e[t](b,...o)))})),de(b)})),Qe=ne((e=>{const t=B(),n=B(),o=B(),r=B(),[l,s,i,a,d,c,,,u,v,h]=ee(e,(()=>[B(),B(),B(),B()]),(e=>k(e)?void 0:e+"")),[f,g,w]=le((()=>R)),p=(e,t,n)=>A(c(e),(([o,,r])=>{if(!J(r,t)){const l=Z();if(d(e)!=L(e))_(l,t);else{let e=t;for(;!k(e)&&!J(l,e);)_(l,e),e=$(o,e)}if(n)return l;G(r,t,l)}return $(r,t)})),y=(e,t)=>A(c(e),(([,,e])=>G(e,t))),L=e=>$(t,e),R={setRelationshipDefinition:(e,l,s,i)=>(G(t,e,s),u(e,l,((t,l)=>{const s=Z(),i=Z(),a=Z(),[d,u]=c(e);N(l,(([t,n],o)=>{k(t)||(_(i,t),A($(u,t),(e=>{W(e,o),j(e)&&G(u,t)}))),k(n)||(_(i,n),J(u,n)||G(u,n,Z()),_($(u,n),o)),_(s,o),G(d,o,n),q($(r,e),(t=>{J(p(e,t),o)&&_(a,t)}))})),t(),N(s,(t=>g(n,[e,t]))),N(i,(t=>g(o,[e,t]))),N(a,(t=>{y(e,t),g(r,[e,t])}))}),te(i)),R),delRelationshipDefinition:e=>(G(t,e),v(e),R),getStore:l,getRelationshipIds:s,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(d(n),t))))),hasRelationship:a,getLocalTableId:d,getRemoteTableId:L,getRemoteRowId:(e,t)=>{var n;return $(null==(n=c(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return Q($(null==(n=c(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(c(e))?[t]:Q(p(e,t,!0)),addRemoteRowIdListener:(e,t,o)=>f(o,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),f(n,r,[e,t])),delListener:e=>(y(...w(e)),R),destroy:h,getListenerStats:()=>({})};return de(R)})),ze=e=>[e,e],Ne=()=>[B(),B()],We=(e,t,n,o=G)=>{const r=(l=e=>!ce(t,e),H(e).filter(l));var l;return h(ie(t),(o=>n(e,o,t[o]))),h(r,(t=>o(e,t))),e},Be=(e,t,n)=>k(e)||!(e=>E(e,se)&&e.constructor==se)(e)||he(e)||ae(e)?(null==n||n(),!1):(ve(e,((n,o)=>{t(n,o)||ue(e,o)})),!he(e)),He=(e,t,n)=>G(e,t,$(e,t)==-n?void 0:n),$e=()=>{let e,t,n=0;const o=B(),r=B(),s=B(),d=B(),u=B(),g=B(),w=B(),p=B(),y=B(),I=Ne(),S=Ne(),m=Ne(),C=Ne(),x=Ne(),E=Ne(),D=Ne(),O=Ne(),F=Ne(),Q=Ne(),[Y,ee,te,ne]=le((()=>tt)),oe=(t,n)=>(!e||J(g,n)||Pe(n))&&Be(t,((e,t)=>se(n,t,e)),(()=>Pe(n))),se=(e,t,n,o)=>Be(o?n:ae(n,e,t),((o,r)=>A(ie(e,t,r,o),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Pe(e,t))),ie=(t,n,o,r)=>e?A($($(g,t),o),(e=>fe(r)!=e.type?Pe(t,n,o,r,e.default):r),(()=>Pe(t,n,o,r))):k(fe(r))?Pe(t,n,o,r):r,ae=(e,t,n)=>(A($(w,t),(([o,r])=>{N(o,((t,n)=>{ce(e,n)||(e[n]=t)})),N(r,(o=>{ce(e,o)||Pe(t,n,o)}))})),e),we=e=>We(g,e,((e,t,n)=>{const o=B(),r=Z();We(K(g,t,B),n,((e,t,n)=>{G(e,t,n),A(n.default,(e=>G(o,t,e)),(()=>_(r,t)))})),G(w,t,[o,r])}),((e,t)=>{G(g,t),G(w,t)})),ye=e=>We(y,e,((e,t,n)=>Le(t,n)),((e,t)=>me(t))),Le=(e,t)=>We(K(y,e,(()=>(Ee(e,1),B()))),t,((t,n,o)=>Re(e,t,n,o)),((t,n)=>Ce(e,t,n))),Re=(e,t,n,o,r)=>We(K(t,n,(()=>(ke(e,n,1),B()))),o,((t,o,r)=>Ie(e,n,t,o,r)),((o,l)=>xe(e,t,n,o,l,r))),Ie=(e,t,n,o,r)=>{J(n,o)||Ae(e,t,o,1);const l=$(n,o);r!==l&&(Me(e,t,o,l,r),G(n,o,r))},Se=(e,t,n,o,r)=>A($(t,n),(t=>Ie(e,n,t,o,r)),(()=>Re(e,t,n,ae({[o]:r},e,n)))),Te=e=>{const[t]=K(p,e,re),n=t();return J($(y,e),n)?Te(e):n},be=e=>{var t;return null!=(t=$(y,e))?t:Le(e,{})},me=e=>Le(e,{}),Ce=(e,t,n)=>{const[,o]=K(p,e,re);o(n),Re(e,t,n,{},!0)},xe=(e,t,n,o,r,l)=>{var s;const i=$(null==(s=$(w,e))?void 0:s[0],r);if(!k(i)&&!l)return Ie(e,n,o,r,i);const a=t=>{Me(e,n,t,$(o,t)),Ae(e,n,t,-1),G(o,t)};k(i)?a(r):q(o,a),j(o)&&(ke(e,n,-1),j(G(t,n))&&(Ee(e,-1),G(y,e),G(p,e)))},Ee=(e,t)=>He(o,e,t),ke=(e,t,n)=>He(K(r,e,B),t,n),Ae=(e,t,n,o)=>He(K(K(s,e,B),t,B),n,o),Me=(e,t,n,o,r)=>K(K(K(d,e,B),t,B),n,(()=>[o,0]))[1]=r,Pe=(e,t,n,o,r)=>(R(K(K(K(u,e,B),t,B),n,(()=>[])),o),r),De=(e,t,n)=>A($($($(d,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(Ve(e,t,n))])),Oe=e=>j(u)||j(F[e])?0:N(e?V(u,X):u,((t,n)=>N(t,((t,o)=>N(t,((t,r)=>ee(F[e],[n,o,r],t))))))),Fe=(e,t,n)=>{if(!j(t))return ee(e,n),1},Je=e=>{const t=j(x[e]),n=j(D[e])&&j(C[e])&&t&&j(S[e]),l=j(O[e])&&j(E[e])&&j(m[e])&&j(I[e]);if(!n||!l){const i=e?[V(o),X(r),V(s,X),V(d,X)]:[o,r,s,d];if(!n){N(i[2],((t,n)=>N(t,((t,o)=>Fe(D[e],t,[n,o])))));const n=Z();N(i[1],((o,r)=>{Fe(C[e],o,[r])&&!t&&(ee(x[e],[r,null]),_(n,r))})),t||N(i[3],((t,o)=>{if(!J(n,o)){const n=Z();N(t,(e=>N(e,(([t,o],r)=>o!==t?_(n,r):W(e,r))))),N(n,(t=>ee(x[e],[o,t])))}})),Fe(S[e],i[0])}if(!l){let t;N(i[3],((n,o)=>{let r;N(n,((n,l)=>{let s;N(n,(([n,i],a)=>{i!==n&&(ee(O[e],[o,l,a],i,n,De),t=r=s=1)})),s&&ee(E[e],[o,l],De)})),r&&ee(m[e],[o],De)})),t&&ee(I[e],void 0,De)}}},je=(e,...t)=>(Ze((()=>e(...f(t,i)))),tt),Qe=()=>U(y,(e=>U(e,U))),qe=()=>H(y),Ge=e=>H($(y,i(e))),Ke=(e,t,n,o=0,r)=>{return f(L(v((l=$(y,i(e)),s=(e,n)=>[k(t)?n:$(e,i(t)),n],f([...null!=(a=null==l?void 0:l.entries())?a:[]],(([e,t])=>s(t,e)))),(([e],[t])=>pe(e,t)*(n?-1:1))),o,k(r)?r:o+r),(([,e])=>e));var l,s,a},Ue=(e,t)=>H($($(y,i(e)),i(t))),Ve=(e,t,n)=>$($($(y,i(e)),i(t)),i(n)),Xe=e=>je((()=>(e=>Be(e,oe,Pe))(e)?ye(e):0)),Ye=()=>je((()=>ye({}))),Ze=(e,t)=>{if(-1==n)return;_e();const o=e();return et(t),o},_e=()=>(n++,tt),et=e=>(n>0&&(n--,0==n&&(t=!j(d),n=1,Oe(1),t&&Je(1),n=-1,(null==e?void 0:e(U(d,(e=>U(e,(e=>U(e,(e=>[...e]),(([e,t])=>e===t))),he)),he),U(u,(e=>U(e,U)))))&&(n=1,N(d,((e,t)=>N(e,((e,n)=>N(e,(([e],o)=>ge(tt,t,n,o,e))))))),n=-1,t=!1),ee(Q[0],void 0,t),Oe(0),t&&Je(0),ee(Q[1],void 0,t),n=0,h([d,u,o,r,s],z))),tt),tt={getTables:Qe,getTableIds:qe,getTable:e=>U($(y,i(e)),U),getRowIds:Ge,getSortedRowIds:Ke,getRow:(e,t)=>U($($(y,i(e)),i(t))),getCellIds:Ue,getCell:Ve,hasTables:()=>!j(y),hasTable:e=>J(y,i(e)),hasRow:(e,t)=>J($(y,i(e)),i(t)),hasCell:(e,t,n)=>J($($(y,i(e)),i(t)),i(n)),getJson:()=>T(y),getSchemaJson:()=>T(g),setTables:Xe,setTable:(e,t)=>je((e=>oe(t,e)?Le(e,t):0),e),setRow:(e,t,n)=>je(((e,t)=>se(i(e),i(t),n)?Re(i(e),be(i(e)),i(t),n):0),e,t),addRow:(e,t)=>Ze((()=>{let n;return se(e,n,t)&&(e=i(e),Re(e,be(e),n=Te(e),t)),n})),setPartialRow:(e,t,n)=>je(((e,t)=>{if(se(e,t,n,1)){const o=be(e);ve(n,((n,r)=>Se(e,o,t,r,n)))}}),e,t),setCell:(e,t,n,o)=>je(((e,t,n)=>A(ie(e,t,n,P(o)?o(Ve(e,t,n)):o),(o=>Se(e,be(e),t,n,o)))),e,t,n),setJson:e=>{try{"{}"===e?Ye():Xe(b(e))}catch(e){}return tt},setSchema:t=>je((()=>{if((e=(e=>Be(e,(e=>Be(e,(e=>{if(!Be(e,((e,t)=>a(["type","default"],t))))return!1;const t=e.type;return!(!M(t)&&t!=l||(fe(e.default)!=t&&ue(e,"default"),0))})))))(t))&&(we(t),!j(y))){const e=Qe();Ye(),Xe(e)}})),delTables:Ye,delTable:e=>je((e=>J(y,e)?me(e):0),e),delRow:(e,t)=>je(((e,t)=>A($(y,e),(n=>J(n,t)?Ce(e,n,t):0))),e,t),delCell:(e,t,n,o)=>je(((e,t,n)=>A($(y,e),(r=>A($(r,t),(l=>J(l,n)?xe(e,r,t,l,n,o):0))))),e,t,n),delSchema:()=>je((()=>{we({}),e=!1})),transaction:Ze,startTransaction:_e,finishTransaction:et,forEachTable:e=>N(y,((t,n)=>e(n,(e=>N(t,((t,n)=>e(n,(e=>q(t,e))))))))),forEachRow:(e,t)=>N($(y,i(e)),((e,n)=>t(n,(t=>q(e,t))))),forEachCell:(e,t,n)=>q($($(y,i(e)),i(t)),n),addSortedRowIdsListener:(e,t,n,o,r,l,s)=>{let i=Ke(e,t,n,o,r);return Y((()=>{const s=Ke(e,t,n,o,r);c(s,i)||(i=s,l(tt,e,t,n,o,r,i))}),x[s?1:0],[e,t])},addWillFinishTransactionListener:e=>Y(e,Q[0]),addDidFinishTransactionListener:e=>Y(e,Q[1]),callListener:e=>(ne(e,[qe,Ge,Ue],(e=>k(e[2])?[]:ze(Ve(...e)))),tt),delListener:e=>(te(e),tt),getListenerStats:()=>({}),createStore:$e};return ve({Tables:[0,I],TableIds:[0,S],Table:[1,m],RowIds:[1,C],Row:[2,E],CellIds:[2,D],Cell:[3,O],InvalidCell:[3,F]},(([e,t],n)=>{tt["add"+n+"Listener"]=(...n)=>Y(n[e],t[n[e+1]?1:0],e>0?L(n,0,e):void 0)})),de(tt)};export{we as createCheckpoints,Te as createCustomPersister,Ae as createFilePersister,ye as createIndexes,xe as createLocalPersister,Ie as createMetrics,je as createQueries,Qe as createRelationships,De as createRemotePersister,Ee as createSessionPersister,$e as createStore,pe as defaultSorter};
Binary file
@@ -224,21 +224,171 @@ export interface Tools {
224
224
 
225
225
  /**
226
226
  * The getStoreApi method returns a code-generated .d.ts file and a .ts file
227
- * that wraps the schema of a Store.
227
+ * that describe the schema of a Store in an ORM style.
228
228
  *
229
- * This is currently in development, and further documentation is to come.
229
+ * If the Store does not already have an explicit Schema associated with it,
230
+ * the data in the Store will be scanned to attempt to infer a new Schema. The
231
+ * method returns two strings (which should be saved as files) though if no
232
+ * schema can be inferred, the strings will be empty.
233
+ *
234
+ * The method takes a single argument which represents the name you want the
235
+ * generated store object to have in code. You are expected to save the files
236
+ * as `[storeName].d.ts` and `[storeName].ts`, and alongside each other so
237
+ * that the latter can import types from the former.
238
+ *
239
+ * The .d.ts and .ts files that are generated are designed to resemble the
240
+ * main TinyBase `store.d.ts` and `store.ts` files, but provide named types
241
+ * and methods that describe the domain of the schema in the store.
242
+ *
243
+ * For example, from a Store that has a `pets` Table, you will get methods
244
+ * like `getPetsTable`, and types like `PetsRow`, that are more specific
245
+ * versions of the underlying getTable method or the Row type. For example:
246
+ *
247
+ * |Store type|Equivalent generated type|
248
+ * |-|-|
249
+ * |Table|[Table]Table|
250
+ * |Row|[Table]Row|
251
+ * |(Cell) Id|[Table]CellId|
252
+ * |CellCallback|[Table]CellCallback|
253
+ * |...|...|
254
+ *
255
+ * |Store method|Equivalent generated method|
256
+ * |-|-|
257
+ * |setTable|set[Table]Table|
258
+ * |hasRow|has[Table]Row|
259
+ * |getCell|get[Table][Cell]Cell|
260
+ * |...|...|
261
+ *
262
+ * Equivalent to the TinyBase createStore function, a `create[StoreName]`
263
+ * function will also be created. This acts as the main entry point to the
264
+ * generated implementation.
265
+ *
266
+ * Each method is refined correctly to take, or return, the types specified by
267
+ * the schema. For example, if the `pets` Table has a numeric `price` Cell in
268
+ * the schema, the `getPetsPriceCell` method will be typed to return a number.
269
+ *
270
+ * The tables above include just a sample of the generated output. For the
271
+ * full set of methods and types generated by this method, inspect the output
272
+ * directly.
273
+ *
274
+ * @param storeName The name you want to provide to the generated Store, which
275
+ * should also be used to save the `.d.ts` and `.ts` files.
276
+ * @returns A pair of strings representing the contents of the `.d.ts` and
277
+ * `.ts` files.
278
+ * @example
279
+ * This example creates a Tools object and generates code for a Store that
280
+ * already has a Schema.
281
+ * ```js
282
+ * const store = createStore().setSchema({
283
+ * pets: {
284
+ * price: {type: 'number'},
285
+ * },
286
+ * });
287
+ * const [dTs, ts] = createTools(store).getStoreApi('shop');
288
+ *
289
+ * const dTsLines = dTs.split('\n');
290
+ * console.log(dTsLines[3]);
291
+ * // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
292
+ * console.log(dTsLines[6]);
293
+ * // -> 'export type PetsRow = {\'price\'?: number;};'
294
+ *
295
+ * const tsLines = ts.split('\n');
296
+ * console.log(tsLines[40]);
297
+ * // -> 'getPetsTable: (): PetsTable => store.getTable(PETS) as PetsTable,'
298
+ * ```
299
+ * @example
300
+ * This example creates a Tools object and generates code for a Store that
301
+ * doesn't already have a Schema.
302
+ * ```js
303
+ * const store = createStore().setTable('pets', {
304
+ * fido: {price: 5},
305
+ * felix: {price: 4},
306
+ * });
307
+ * const [dTs, ts] = createTools(store).getStoreApi('shop');
230
308
  *
309
+ * const dTsLines = dTs.split('\n');
310
+ * console.log(dTsLines[3]);
311
+ * // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
312
+ * console.log(dTsLines[6]);
313
+ * // -> 'export type PetsRow = {\'price\': number;};'
314
+ *
315
+ * const tsLines = ts.split('\n');
316
+ * console.log(tsLines[42]);
317
+ * // -> 'getPetsTable: (): PetsTable => store.getTable(PETS) as PetsTable,'
318
+ * ```
231
319
  * @category Modelling
232
320
  * @since v2.2.0
233
321
  */
234
322
  getStoreApi(storeName: string): [string, string];
235
323
 
236
324
  /**
237
- * The getStoreApi method attempts to return a prettified code-generated .d.ts
238
- * file and a .ts file that wraps the schema of a Store.
325
+ * The getPrettyStoreApi method attempts to returns a prettified
326
+ * code-generated .d.ts file and a .ts file that describe the schema of a
327
+ * Store in an ORM style.
328
+ *
329
+ * This is simply a wrapper around the getStoreApi method that attempts to
330
+ * invoke the `prettier` module (which it hopes you have installed) to format
331
+ * the generated code. If `prettier` is not present, the output will resemble
332
+ * that of the underlying getStoreApi method.
239
333
  *
240
- * This is currently in development, and further documentation is to come.
334
+ * The method is asynchronous, so you should use the `await` keyword or handle
335
+ * the results as a promise.
241
336
  *
337
+ * The method takes a single argument which represents the name you want the
338
+ * generated store object to have in code. You are expected to save the files
339
+ * as `[storeName].d.ts` and `[storeName].ts`, and alongside each other so
340
+ * that the latter can import types from the former.
341
+ *
342
+ * See the documentation for the getStoreApi method for details of the content
343
+ * of the generated files.
344
+ *
345
+ * @param storeName The name you want to provide to the generated Store, which
346
+ * should also be used to save the `.d.ts` and `.ts` files.
347
+ * @returns A pair of strings representing the contents of the `.d.ts` and
348
+ * `.ts` files.
349
+ * @example
350
+ * This example creates a Tools object and generates code for a Store that
351
+ * already has a Schema.
352
+ * ```js
353
+ * const store = createStore().setSchema({
354
+ * pets: {
355
+ * price: {type: 'number'},
356
+ * },
357
+ * });
358
+ * const tools = createTools(store);
359
+ * const [dTs, ts] = await tools.getPrettyStoreApi('shop');
360
+ *
361
+ * const dTsLines = dTs.split('\n');
362
+ * console.log(dTsLines[14]);
363
+ * // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
364
+ * console.log(dTsLines[19]);
365
+ * // -> 'export type PetsRow = {price?: number};'
366
+ *
367
+ * const tsLines = ts.split('\n');
368
+ * console.log(tsLines[73]);
369
+ * // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
370
+ * ```
371
+ * @example
372
+ * This example creates a Tools object and generates code for a Store that
373
+ * doesn't already have a Schema.
374
+ * ```js
375
+ * const store = createStore().setTable('pets', {
376
+ * fido: {price: 5},
377
+ * felix: {price: 4},
378
+ * });
379
+ * const tools = createTools(store);
380
+ * const [dTs, ts] = await tools.getPrettyStoreApi('shop');
381
+ *
382
+ * const dTsLines = dTs.split('\n');
383
+ * console.log(dTsLines[14]);
384
+ * // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
385
+ * console.log(dTsLines[19]);
386
+ * // -> 'export type PetsRow = {price: number};'
387
+ *
388
+ * const tsLines = ts.split('\n');
389
+ * console.log(tsLines[75]);
390
+ * // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
391
+ * ```
242
392
  * @category Modelling
243
393
  * @since v2.2.0
244
394
  */
package/lib/es6/tools.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),l=e(!0),a=e(0),n=(e,t)=>e.every(t),o=(e,t)=>e.sort(t),r=(e,t)=>e.forEach(t),s=(e,t)=>e.map(t),d=e=>e.length,i=(e,...t)=>e.push(...t),$=e=>e.shift(),c=JSON.parse,I=isFinite,b=e=>null==e,u=e=>Array.isArray(e),h=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},w=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},f=(e,t)=>null==e?void 0:e.forEach(t),C=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),v=(e,t)=>{var l;return s([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},p=(e,t,l)=>{return b(l)?(n=t,null==(a=e)||a.delete(n),e):null==e?void 0:e.set(t,l);var a,n},R=(e,t,l)=>(h(e,t)||p(e,t,l()),g(e,t)),T=e=>new Set(u(e)||b(e)?e:[e]),m=/[^A-Za-z0-9]+/,y=/^( *)\/\*\* *(.*?) *\*\/$/gm,S=(e,t,l)=>e.substring(t,l),L=e=>e.toUpperCase(),k=e=>e.toLowerCase(),A=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return h(e,n)?A(e,t,l,a+1):(p(e,n,l),n)},O=e=>e.length,j=(e,t="")=>e.join(t),E=(e,t=0)=>j(s(e.split(m),((e,l)=>(l>0||t?L:k)(S(e,0,1))+S(e,1)))),x=e=>L(j(e.split(m),"_")),J=e=>`/** ${e}. */`,N=()=>{const e=[C(),C()],t=C(),l=C(),a=C();return[(...e)=>{const t=[],l=e=>u(e)?r(e,l):i(t,e);return r(e,l),t.join("\n")},(t,l,...a)=>r(a,(a=>{return n=R(e[t],l,T),o=a,null==n?void 0:n.add(o);var n,o})),(e,l="",a="")=>A(t,e,[l,a]),(e,l,a)=>p(t,e,[l,a]),(e,t,a,n,o,r="")=>A(l,e,[t,a,n,o,r]),(e,t,l)=>A(a,e,u(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>g(a,e)===t?e:A(a,e,t),t=>[...o(v(e[t],((e,t)=>`import {${j(o(w(e)),", ")}} from '${t}';`))),""],()=>v(t,(([e,t],l)=>[J(t),`export type ${l} = ${e};`,""])),e=>v(l,(([t,l,a,n,o],r)=>{const s=e?[`${r}: ${o}(${t}): ${l} => ${a},`]:[`${r}${o}(${t}): ${l};`];return e||((e,...t)=>{e.unshift(...t)})(s,J(n)),i(s,""),s})),()=>v(a,((e,t)=>(e=u(e)?e:[e],i(e,e.pop()+";"),[`const ${t} = ${$(e)}`,e,""])))]},P=Object,G=P.keys,z=P.freeze,D=(e,t)=>{return a=e=>e[t],b(l=e)?null==n?void 0:n():a(l);var l,a,n},F=(e,t)=>r(P.entries(e),(([e,l])=>t(l,e))),M=e=>{return t=G(e),0==d(t);var t},W=n=>{const o=e(n);return(e=>e==t||e==l)(o)||o==a&&I(n)?o:void 0},_="the Store",Q="Registers a listener that will be called",U=(e,t="",l="")=>`store.${e}(${t})${l?" as "+l:""}`,Z=(e,t="")=>`fluent(() => ${U(e,t)})`,q=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in ${t}`,B=(e,t)=>`Calls a function for each ${e} in ${t}`,H=(e,t=_)=>`Gets whether ${e} exists in ${t}`,K=e=>"A function that takes "+e,V=(e,t,l=0)=>`${Q} whenever ${e} in ${t} change`+(l?"":"s"),X=(e=0)=>1==e?"Sets":2==e?"Sets part of":3==e?"Deletes":"Gets",Y=(a,n)=>{if(M(a))return[o="// store has no inferable schema",o];var o;const r=E(n),s=E(n,1),d=E(s),$=`return ${d};`,c=[],I=[],u=[],h=[],g=[],v=[],R=[],T=(e,t="",l="")=>`store.${e}(${t?t+", ":""}proxy(listener)${l?", "+l:""})`,[m,y,S,L,k,A,O,P,G,z,W]=N();y(0,"tinybase","CellChange","ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store"),y(1,"tinybase","ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store","createStore"),A("fluent","actions: () => Store",["actions();",$]),A("proxy","listener: any",`(_: Store, ...args: any[]) => listener(${d}, ...args)`);const Y=O(x("type"),"'type'"),ee=O(x("default"),"'default'"),te=S("Tables"),le=S("TableId"),ae=S("TableCallback"),ne=S("GetCellChange"),oe=S("TablesListener",`(${d}: ${s}, getCellChange: ${ne} | undefined) => void`,"A function for listening to changes to the content of the Store"),re=S("TableIdsListener",`(${d}: ${s}) => void`,"A function for listening to changes to Table Ids in the Store"),se=S("TableListener",`(${d}: ${s}, tableId: ${le}, getCellChange: ${ne} | undefined) => void`,"A function for listening to changes to a Table in the Store"),de=S("RowIdsListener",`(${d}: ${s}, tableId: ${le}) => void`,"A function for listening to changes to Row Ids in the Store"),ie=S("RowListener",`(${d}: ${s}, tableId: ${le}, rowId: Id, getCellChange: ${ne} | undefined) => void`,"A function for listening to changes to a Row in the Store"),$e=S("CellIdsListener",`(${d}: ${s}, tableId: ${le}, rowId: Id) => void`,"A function for listening to changes to Cell Ids in the Store"),ce=S("CellListener"),Ie=S("InvalidCellListener",`(${d}: ${s}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[]) => void;`,"A function for listening to invalid Cell changes"),be=S("TransactionListener",`(${d}: ${s}, cellsTouched: boolean) => void;`,"A function for listening to the completion of a transaction");y(1,`./${r}.d`,s,`create${s} as create${s}Decl`,te,le,ae,oe,re,se,de,ie,$e,ce,Ie,be);const ue=(e=0)=>X(e)+" the content of the Store";k("hasTables","",l,U("hasTables"),H("any Table")),k("getTables","",te,U("getTables"),ue()),k("setTables","tables: "+te,s,Z("setTables","tables"),ue(1)),k("delTables","",s,Z("delTables"),ue(3)),k("getTableIds","",le+"[]",U("getTableIds","",le+"[]"),q("Table",_)),k("forEachTable","tableCallback: "+ae,"void",U("forEachTable","tableCallback as any"),B("Table",_));const he=C();var we;return F(a,((a,n)=>{const o=E(n,1),$=O(x(n),`'${n}'`),w=[],f=[],C=[],T=[],m=`the '${n}' Table`,A="the specified Row in "+m,J="the content of "+m,N=(e=0)=>`${X(e)} the content of ${m}`,P=(e=0)=>`${X(e)} the content of ${A}`,G=(e=0)=>`Represents a Row when ${e?"s":"g"}etting ${J}`,z=S(o+"Table",`{[rowId: Id]: ${o}Row}`,"Represents "+m),M=S(o+"Row"),W=S(o+"RowWhenSet"),_=S(o+"CellId"),Q=S(o+"CellCallback"),V=S(o+"RowCallback");y(1,`./${r}.d`,z,M,W,_,Q,V),k(`has${o}Table`,"",l,U("hasTable",$),H(m)),k(`get${o}Table`,"",z,U("getTable",$,z),N()),k(`set${o}Table`,"table: "+z,s,Z("setTable",$+", table"),N(1)),k(`del${o}Table`,"",s,Z("delTable",$),N(3)),k(`get${o}RowIds`,"","Ids",U("getRowIds",$),q("Row",m)),k(`get${o}SortedRowIds`,`cellId?: ${_}, descending?: boolean, offset?: number, limit?: number`,"Ids",U("getSortedRowIds",$+", cellId, descending, offset, limit"),q("Row",m,1)),k(`forEach${o}Row`,"rowCallback: "+V,"void",U("forEachRow",$+", rowCallback as any"),B("Row",m)),k(`has${o}Row`,"rowId: Id",l,U("hasRow",$+", rowId"),H("the specified Row",m)),k(`get${o}Row`,"rowId: Id",M,U("getRow",$+", rowId",M),P()),k(`set${o}Row`,"rowId: Id, row: "+W,s,Z("setRow",$+", rowId, row"),P(1)),k(`add${o}Row`,"row: "+W,"Id | undefined",U("addRow",$+", row"),"Adds a new Row to "+m),k(`set${o}PartialRow`,"rowId: Id, partialRow: "+W,s,Z("setPartialRow",$+", rowId, partialRow"),P(2)),k(`del${o}Row`,"rowId: Id",s,Z("delRow",$+", rowId"),P(3)),k(`get${o}CellIds`,"rowId: Id",_+"[]",U("getCellIds",$+", rowId",_+"[]"),q("Cell",A)),k(`forEach${o}Cell`,"rowId: Id, cellCallback: "+Q,"void",U("forEachCell",$+", rowId, cellCallback as any"),B("Cell",A)),i(R,`[${$}]: {`),F(a,((a,r)=>{const c=E(r,1),I=O(x(r),`'${r}'`),u=a.type,h=!b(D(a,"default"));const v=a.default,m=`the '${r}' Cell`,y=(e=0)=>`${X(e)} ${m} for ${A}`;var S;i(R,`[${I}]: {[${Y}]: ${O(x(u),`'${u}'`)}${h?`, [${ee}]: ${S=v,e(S)==t?O(x(v),`'${v}'`):v}`:""}},`),i(w,`'${r}'${h?"":"?"}: ${u};`),i(f,`'${r}'?: ${u};`),i(C,`'${r}'`),i(T,`[cellId: '${r}', cell: ${u}]`),i(g,`[${d}: ${s}, tableId: '${n}', rowId: Id, cellId: '${r}', newCell: ${u} | undefined, oldCell: ${u} | undefined, getCellChange: ${ne} | undefined]`);const L="Map"+E(u,1);p(he,u,L),k(`has${o}${c}Cell`,"rowId: Id",l,U("hasCell",`${$}, rowId, ${I}`),H(m,A));const j=`${u}${h?"":" | undefined"}`;k(`get${o}${c}Cell`,"rowId: Id",j,U("getCell",`${$}, rowId, ${I}`,j),y()),k(`set${o}${c}Cell`,`rowId: Id, cell: ${u} | ${L}`,s,Z("setCell",`${$}, rowId, ${I}, cell as any`),y(1)),k(`del${o}${c}Cell`,"rowId: Id",s,Z("delCell",`${$}, rowId, ${I}`),y(3))})),i(R,"},"),i(c,`'${n}'?: ${z};`),i(I,`'${n}'`),i(u,`[tableId: '${n}', forEachRow: (rowCallback: ${V}) => void]`),i(h,`[tableId: '${n}', rowId: Id, cellId: ${_}]`),i(v,_),L(M,`{${j(w," ")}}`,G()),L(W,`{${j(f," ")}}`,G(1)),L(_,j(C," | "),"A Cell Id for "+m),L(Q,`(...[cellId, cell]: ${j(T," | ")}) => void`,K("a Cell Id and value from a Row in "+m)),L(V,`(rowId: Id, forEachCell: (cellCallback: ${Q}) => void) => void`,K(`a Row Id from ${m}, and a Cell iterator`))})),k("getJson","","Json",U("getJson"),"Gets a a string serialization the content of the Store"),k("setJson","json: Json",s,Z("setJson","json"),"Sets the content of the Store from a serialized string"),k("transaction","actions: () => Return, doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean","Return",U("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),k("startTransaction","",s,Z("startTransaction"),"Explicitly starts a transaction"),k("finishTransaction","doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean,",s,Z("finishTransaction","doRollback"),"Explicitly finishes a transaction"),k("addTablesListener",`listener: ${oe}, mutator?: boolean`,"Id",T("addTablesListener","","mutator"),Q+" whenever the content of the Store changes"),k("addTableIdsListener",`listener: ${re}, mutator?: boolean`,"Id",T("addTableIdsListener","","mutator"),V("the Table Ids",_,1)),k("addTableListener",`tableId: ${le} | null, listener: ${se}, mutator?: boolean`,"Id",T("addTableListener","tableId","mutator"),V("a Table",_)),k("addRowIdsListener",`tableId: ${le} | null, listener: ${de}, mutator?: boolean`,"Id",T("addRowIdsListener","tableId","mutator"),V("the Row Ids","a Table",1)),k("addRowListener",`tableId: ${le} | null, rowId: IdOrNull, listener: ${ie}, mutator?: boolean`,"Id",T("addRowListener","tableId, rowId","mutator"),V("a Row","a Table")),k("addCellIdsListener",`tableId: ${le} | null, rowId: IdOrNull, listener: ${$e}, mutator?: boolean`,"Id",T("addCellIdsListener","tableId, rowId","mutator"),V("the Cell Ids","a Row",1)),k("addCellListener",`tableId: ${le} | null, rowId: IdOrNull, cellId: ${j(v," | ")} | null, listener: ${ce}, mutator?: boolean`,"Id",T("addCellListener","tableId, rowId, cellId","mutator"),V("a Cell","a Row")),k("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, listener: ${Ie}, mutator?: boolean`,"Id",T("addCellListener","tableId, rowId, cellId","mutator"),Q+" whenever an invalid Cell change was attempted"),k("addWillFinishTransactionListener","listener: "+be,"Id",T("addWillFinishTransactionListener"),Q+" just before the end of the transaction"),k("addDidFinishTransactionListener","listener: "+be,"Id",T("addDidFinishTransactionListener"),Q+" just after the end of the transaction"),k("callListener","listenerId: Id",s,Z("callListener","listenerId"),"Manually provoke a listener to be called"),k("delListener","listenerId: Id",s,Z("delListener","listenerId"),"Remove a listener that was previously added to the Store"),k("getStore","","Store","store","Gets the underlying Store object"),L(te,`{${j(c," ")}}`,"Represents the content of the Store"),L(le,j(I," | "),"A Table Id in the Store"),L(ae,`(...[tableId, rowCallback]: ${j(u," | ")}) => void`,K("a Table Id, and a Row iterator")),L(ne,`(...[tableId, rowId, cellId]: ${j(h," | ")}) => CellChange`,"A function that returns information about any Cell's changes during a transaction"),L(ce,`(...[${d}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${j(g," | ")}) => void`,"A function for listening to changes to a Cell in the Store"),we=(e,t)=>S(t,`(cell: ${e} | undefined) => ${e}`,`Takes a ${e} Cell value and returns another`),f(he,((e,t)=>we(t,e))),y(1,`./${r}.d`,...w(he)),O("store",["createStore().setSchema({",...R,"})"]),O(d,["{",...z(1),"}"]),[m(...P(0),...G(),`export interface ${s} {`,...z(0),"}","",J(`Creates a ${s} object`),`export function create${s}(): ${s};`),m(...P(1),`export const create${s}: typeof create${s}Decl = () => {`,...W(),`return Object.freeze(${d});`,"};")]};var ee=Object.defineProperty,te=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable,ne=(e,t,l)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,oe=(e,t)=>{for(var l in t||(t={}))le.call(t,l)&&ne(e,l,t[l]);if(te)for(var l of te(t))ae.call(t,l)&&ne(e,l,t[l]);return e};const re={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},se=(e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))})((e=>{const t=()=>{const t=c(e.getSchemaJson());return!M(t)||n(e.getTableIds(),(l=>{const a=e.getRowIds(l),o=C();if(n(a,(t=>n(e.getCellIds(l,t),(a=>{const n=e.getCell(l,t,a),r=R(o,a,(()=>[W(n),C(),[0],0])),[s,d,[i]]=r,$=R(d,n,(()=>0))+1;return $>i&&(r[2]=[$,n]),p(d,n,$),r[3]++,s==W(n)})))))return t[l]={},f(o,(([e,,[,n],o],r)=>{t[l][r]=oe({type:e},o==d(a)?{default:n}:{})})),1}))?t:{}},l=e=>Y(t(),e);return z({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,r)=>{l++;let s=0,d=0;const i={};r(((e,l)=>{s++;let a=0;l((()=>a++)),d+=a,t&&(i[e]={rowCells:a})})),a+=s,n+=d,t&&(o[e]={tableRows:s,tableCells:d,rows:i})})),oe({totalTables:l,totalRows:a,totalCells:n,jsonLength:O(e.getJson())},t?{detail:{tables:o}}:{})},getStoreSchema:t,getStoreApi:l,getPrettyStoreApi:e=>{return t=void 0,a=null,n=function*(){const t=l(e);try{const{format:e}=yield import("prettier");return s(t,(t=>(e=>e.replace(y,((e,t,l)=>{const a=77-O(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})))(e(t,re))))}catch(e){}return t},new Promise(((e,l)=>{var o=e=>{try{s(n.next(e))}catch(e){l(e)}},r=e=>{try{s(n.throw(e))}catch(e){l(e)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);s((n=n.apply(t,a)).next())}));var t,a,n}})}));export{se as createTools};
1
+ const e=e=>typeof e,l="",t=e(l),a=e(!0),o=e(0),r="type",n="default",d=(e,l)=>e.every(l),s=(e,l)=>e.sort(l),$=(e,l)=>e.forEach(l),i=(e,l)=>e.map(l),I=e=>e.length,c=e=>0==I(e),b=(e,...l)=>e.push(...l),w=e=>e.pop(),u=(e,...l)=>e.unshift(...l),C=e=>e.shift(),h=JSON.parse,g=isFinite,T=e=>null==e,f=e=>e==t||e==a,R=l=>e(l)==t,p=e=>Array.isArray(e),m=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},v=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},y=(e,l)=>null==e?void 0:e.forEach(l),L=(e,l)=>null==e?void 0:e.delete(l),S=e=>new Map(e),k=(e,l)=>null==e?void 0:e.get(l),E=(e,l)=>y(e,((e,t)=>l(t,e))),O=(e,l)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>l(t,e)))},j=(e,l,t)=>T(t)?(L(e,l),e):null==e?void 0:e.set(l,t),x=(e,l,t)=>(m(e,l)||j(e,l,t()),k(e,l)),A=e=>new Set(p(e)||T(e)?e:[e]),J=(e,l)=>null==e?void 0:e.add(l),N=e=>[e,e],P=()=>[S(),S()],z=/[^A-Za-z0-9]+/,D=/^( *)\/\*\* *(.*?) *\*\/$/gm,F=(e,l,t)=>e.substring(l,t),G=e=>e.toUpperCase(),M=e=>e.toLowerCase(),W=(e,l,t,a=1)=>{const o=`${l}${1==a?"":a}`;return m(e,o)?W(e,l,t,a+1):(j(e,o,t),o)},_=e=>e.replace(D,((e,l,t)=>{const a=77-Q(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Q=e=>e.length,U=(e,t=l)=>e.join(t),Z=e=>e.flat(1e3),q=(e,l=0)=>U(i(e.split(z),((e,t)=>(t>0||l?G:M)(F(e,0,1))+F(e,1)))),B=e=>G(U(e.split(z),"_")),H=e=>`/** ${e}. */`,K=()=>{const e=P(),t=S(),a=S(),o=S();return[(...e)=>U(Z(e),"\n"),(l,t,...a)=>$(a,(a=>J(x(e[l],t,A),a))),(e,l="",a="")=>W(t,e,[l,a]),(e,l,t,o,r,n="")=>W(a,e,[l,t,o,r,n]),(e,l,t)=>W(o,e,p(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>k(o,e)===l?e:W(o,e,l),t=>[...s(O(e[t],((e,l)=>`import {${U(s(v(e)),", ")}} from '${l}';`))),l],()=>O(t,(([e,t],a)=>[H(t),`export type ${a} = ${e};`,l])),e=>O(a,(([t,a,o,r,n],d)=>{const s=e?[`${d}: ${n}(${t}): ${a} => ${o},`]:[`${d}${n}(${t}): ${a};`];return e||u(s,H(r)),b(s,l),s})),()=>O(o,((e,t)=>(e=p(e)?e:[e],b(e,w(e)+";"),[`const ${t} = ${C(e)}`,e,l])))]},V=Object,X=V.keys,Y=V.freeze,ee=(e,l)=>i(V.entries(e),(([e,t])=>l(t,e))),le=e=>c(X(e)),te=l=>{const t=e(l);return f(t)||t==o&&g(l)?t:void 0},ae=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},oe="the content of",re="the Store",ne="A function for",de="export",se="listener",$e=" | undefined",ie=`Registers a ${se} that will be called`,Ie="Represents",ce=" => void",be=`${oe} ${re}`,we="the end of the transaction",ue="the specified Row",Ce=(e,l=0)=>`${Ie} a Row when ${l?"s":"g"}etting ${oe} the '${e}' Table`,he=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in ${l}`,ge=(e,l)=>`Calls a function for each ${e} in ${l}`,Te=(e,l=re)=>`Gets whether ${e} exists in ${l}`,fe=e=>"A function that takes "+e,Re=(e=0,l=0)=>`${ne} listening to changes to ${je[e]} in ${je[l]}`,pe=(e,l,t=0)=>`${ie} whenever ${e} in ${l} change`+(t?"":"s"),me=(e=0)=>`${Oe[e]} ${be}`,ve=e=>`the '${e}' Table`,ye=e=>`${ue} in ${ve(e)}`,Le=e=>`the '${e}' Cell`,Se=(e,l=0)=>`${Oe[l]} ${oe} ${ve(e)}`,ke=(e,l=0)=>`${Oe[l]} ${oe} ${ye(e)}`,Ee=(e,l,t=0)=>`${Oe[t]} ${Le(l)} for ${ye(e)}`,Oe=["Gets","Sets","Sets part of","Deletes"],je=[re,"anything","Table Ids","a Table","Row Ids","a Row","Cell Ids","a Cell","invalid Cell changes"],xe=["ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store"],Ae=(e,t=l,a=l)=>`store.${e}(${t})${a?" as "+a:l}`,Je=(e,t=l)=>`fluent(() => ${Ae(e,t)})`,Ne=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(${se})${a?", "+a:l})`,Pe=(e,t)=>{if(le(e))return N(l);const[o,d,s,$,i,I,c,b,w,u]=K(),C=`./${q(t)}.d`,h=q(t,1),g=q(h),f=S(),p=t=>ee(e,((e,a)=>t(a,x(f,a,(()=>{const e=q(a,1);return[s(e+"Table",`{[rowId: Id]: ${e}Row}`,`${Ie} the '${a}' Table`),s(e+"Row",`{${U(m(a,((e,t,a)=>`'${e}'${T(a)?"?":l}: ${t};`))," ")}}`,Ce(a)),s(e+"RowWhenSet",`{${U(m(a,((e,l)=>`'${e}'?: ${l};`))," ")}}`,Ce(a,1)),s(e+"CellId",U(m(a,(e=>`'${e}'`))," | "),`A Cell Id for the '${a}' Table`),s(e+"CellCallback",`(...[cellId, cell]: ${U(m(a,((e,l)=>`[cellId: '${e}', cell: ${l}]`))," | ")})${ce}`,fe(`a Cell Id and value from a Row in the '${a}' Table`)),s(e+"RowCallback",`(rowId: Id, forEachCell: (cellCallback: ${e}CellCallback)${ce})${ce}`,fe(`a Row Id from the '${a}' Table, and a Cell iterator`))]})),q(a,1),I(B(a),`'${a}'`)))),m=(l,t)=>ee(e[l],((e,l)=>t(l,e[r],e[n],I(B(l),`'${l}'`),q(l,1)))),y=s("Tables",`{${U(p(((e,l)=>`'${e}'?: ${l[0]};`))," ")}}`,`${Ie} ${be}`),L=s("TableId",U(p((e=>`'${e}'`))," | "),"A Table Id in "+re),k=s("TableCallback",`(...[tableId, rowCallback]: ${U(p(((e,l)=>`[tableId: '${e}', forEachRow: (rowCallback: ${l[5]})${ce}]`))," | ")})${ce}`,fe("a Table Id, and a Row iterator")),O=s("GetCellChange",`(...[tableId, rowId, cellId]: ${U(p(((e,l)=>`[tableId: '${e}', rowId: Id, cellId: ${l[3]}]`))," | ")}) => CellChange`,ne+" returning information about any Cell's changes during a transaction"),A=s("TablesListener",`(${g}: ${h}, getCellChange: ${O}${$e})${ce}`,Re(1)),J=s("TableIdsListener",`(${g}: ${h})${ce}`,Re(2)),P=s("TableListener",`(${g}: ${h}, tableId: ${L}, getCellChange: ${O}${$e})${ce}`,Re(3)),z=s("RowIdsListener",`(${g}: ${h}, tableId: ${L})${ce}`,Re(4,3)),D=s("RowListener",`(${g}: ${h}, tableId: ${L}, rowId: Id, getCellChange: ${O}${$e})${ce}`,Re(5,3)),F=s("CellIdsListener",`(${g}: ${h}, tableId: ${L}, rowId: Id)`+ce,Re(6,5)),G=s("CellListener",`(...[${g}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U(Z(p((e=>m(e,((l,t)=>`[${g}: ${h}, tableId: '${e}', rowId: Id, cellId: '${l}', newCell: ${t}${$e}, oldCell: ${t}${$e}, getCellChange: ${O} | undefined]`)))))," | ")})${ce}`,Re(7,5)),M=s("InvalidCellListener",`(${g}: ${h}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[])${ce};`,Re(8)),W=s("TransactionListener",`(${g}: ${h}, cellsTouched: boolean)${ce};`,ne+" listening to the completion of a transaction");$("hasTables",l,a,Ae("hasTables"),Te("any Table")),$("getTables",l,y,Ae("getTables"),me()),$("setTables","tables: "+y,h,Je("setTables","tables"),me(1)),$("delTables",l,h,Je("delTables"),me(3)),$("getTableIds",l,L+"[]",Ae("getTableIds",l,L+"[]"),he("Table",re)),$("forEachTable","tableCallback: "+k,"void",Ae("forEachTable","tableCallback as any"),ge("Table",re));const _=S();return p(((e,[t,o,r,n,s,i],I,c)=>{d(1,C,t,o,r,n,s,i),$(`has${I}Table`,l,a,Ae("hasTable",c),Te(ve(e))),$(`get${I}Table`,l,t,Ae("getTable",c,t),Se(e)),$(`set${I}Table`,"table: "+t,h,Je("setTable",c+", table"),Se(e,1)),$(`del${I}Table`,l,h,Je("delTable",c),Se(e,3)),$(`get${I}RowIds`,l,"Ids",Ae("getRowIds",c),he("Row",ve(e))),$(`get${I}SortedRowIds`,`cellId?: ${n}, descending?: boolean, offset?: number, limit?: number`,"Ids",Ae("getSortedRowIds",c+", cellId, descending, offset, limit"),he("Row",ve(e),1)),$(`forEach${I}Row`,"rowCallback: "+i,"void",Ae("forEachRow",c+", rowCallback as any"),ge("Row",ve(e))),$(`has${I}Row`,"rowId: Id",a,Ae("hasRow",c+", rowId"),Te(ue,ve(e))),$(`get${I}Row`,"rowId: Id",o,Ae("getRow",c+", rowId",o),ke(e)),$(`set${I}Row`,"rowId: Id, row: "+r,h,Je("setRow",c+", rowId, row"),ke(e,1)),$(`add${I}Row`,"row: "+r,"Id"+$e,Ae("addRow",c+", row"),"Adds a new Row to "+ve(e)),$(`set${I}PartialRow`,"rowId: Id, partialRow: "+r,h,Je("setPartialRow",c+", rowId, partialRow"),ke(e,2)),$(`del${I}Row`,"rowId: Id",h,Je("delRow",c+", rowId"),ke(e,3)),$(`get${I}CellIds`,"rowId: Id",n+"[]",Ae("getCellIds",c+", rowId",n+"[]"),he("Cell",ye(e))),$(`forEach${I}Cell`,"rowId: Id, cellCallback: "+s,"void",Ae("forEachCell",c+", rowId, cellCallback as any"),ge("Cell",ye(e))),m(e,((t,o,r,n,d)=>{const s="Map"+q(o,1);j(_,o,s),$(`has${I}${d}Cell`,"rowId: Id",a,Ae("hasCell",`${c}, rowId, ${n}`),Te(Le(t),ye(e)));const i=`${o}${T(r)?$e:l}`;$(`get${I}${d}Cell`,"rowId: Id",i,Ae("getCell",`${c}, rowId, ${n}`,i),Ee(e,t)),$(`set${I}${d}Cell`,`rowId: Id, cell: ${o} | ${s}`,h,Je("setCell",`${c}, rowId, ${n}, cell as any`),Ee(e,t,1)),$(`del${I}${d}Cell`,"rowId: Id",h,Je("delCell",`${c}, rowId, ${n}`),Ee(e,t,3))}))})),$("getJson",l,"Json",Ae("getJson"),`${Oe[0]} a string serialization ${be}`),$("setJson","json: Json",h,Je("setJson","json"),`${Oe[1]} ${be} from a serialized string`),$("transaction","actions: () => Return, doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean","Return",Ae("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),$("startTransaction",l,h,Je("startTransaction"),"Explicitly starts a transaction"),$("finishTransaction","doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean,",h,Je("finishTransaction","doRollback"),"Explicitly finishes a transaction"),$("addTablesListener",`${se}: ${A}, mutator?: boolean`,"Id",Ne("addTablesListener",l,"mutator"),`${ie} whenever ${be} changes`),$("addTableIdsListener",`${se}: ${J}, mutator?: boolean`,"Id",Ne("addTableIdsListener",l,"mutator"),pe("the Table Ids",re,1)),$("addTableListener",`tableId: ${L} | null, ${se}: ${P}, mutator?: boolean`,"Id",Ne("addTableListener","tableId","mutator"),pe("a Table",re)),$("addRowIdsListener",`tableId: ${L} | null, ${se}: ${z}, mutator?: boolean`,"Id",Ne("addRowIdsListener","tableId","mutator"),pe("the Row Ids","a Table",1)),$("addRowListener",`tableId: ${L} | null, rowId: IdOrNull, ${se}: ${D}, mutator?: boolean`,"Id",Ne("addRowListener","tableId, rowId","mutator"),pe("a Row","a Table")),$("addCellIdsListener",`tableId: ${L} | null, rowId: IdOrNull, ${se}: ${F}, mutator?: boolean`,"Id",Ne("addCellIdsListener","tableId, rowId","mutator"),pe("the Cell Ids","a Row",1)),$("addCellListener",`tableId: ${L} | null, rowId: IdOrNull, cellId: ${U(p(((e,l)=>l[3]))," | ")} | null, ${se}: ${G}, mutator?: boolean`,"Id",Ne("addCellListener","tableId, rowId, cellId","mutator"),pe("a Cell","a Row")),$("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, ${se}: ${M}, mutator?: boolean`,"Id",Ne("addCellListener","tableId, rowId, cellId","mutator"),ie+" whenever an invalid Cell change was attempted"),$("addWillFinishTransactionListener",`${se}: ${W}`,"Id",Ne("addWillFinishTransactionListener"),`${ie} just before ${we}`),$("addDidFinishTransactionListener",`${se}: ${W}`,"Id",Ne("addDidFinishTransactionListener"),`${ie} just after ${we}`),$("callListener",se+"Id: Id",h,Je("callListener",se+"Id"),`Manually provoke a ${se} to be called`),$("delListener",se+"Id: Id",h,Je("delListener",se+"Id"),`Remove a ${se} that was previously added to ${re}`),$("getStore",l,"Store","store",Oe[0]+" the underlying Store object"),E(_,((e,l)=>s(l,`(cell: ${e}${$e}) => ${e}`,`Takes a ${e} Cell value and returns another`))),d(0,"tinybase","CellChange",...xe),d(1,"tinybase","createStore",...xe),d(1,C,h,`create${h} as create${h}Decl`,y,L,k,A,J,P,z,D,F,G,M,W,...v(_)),I("store",["createStore().setSchema({",Z(p(((e,t,a,o)=>[`[${o}]: {`,...m(e,((e,t,a,o)=>`[${o}]: {[${I(B(r),`'${r}'`)}]: ${I(B(t),`'${t}'`)}${T(a)?l:`, [${I(B(n),`'${n}'`)}]: ${R(a)?I(B(a),`'${a}'`):a}`}},`)),"},"]))),"})"]),i("fluent","actions: () => Store",["actions();",`return ${g};`]),i("proxy",se+": any",`(_: Store, ...args: any[]) => ${se}(${g}, ...args)`),I(g,["{",...w(1),"}"]),[o(...c(0),...b(),`${de} interface ${h} {`,...w(0),"}",l,H(`Creates a ${h} object`),`${de} function create${h}(): ${h};`),o(...c(1),`${de} const create${h}: typeof create${h}Decl = () => {`,...u(),`return Object.freeze(${g});`,"};")]};var ze=Object.defineProperty,De=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable,Me=(e,l,t)=>l in e?ze(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,We=(e,l)=>{for(var t in l||(l={}))Fe.call(l,t)&&Me(e,t,l[t]);if(De)for(var t of De(l))Ge.call(l,t)&&Me(e,t,l[t]);return e},_e=(e,l,t)=>new Promise(((a,o)=>{var r=e=>{try{d(t.next(e))}catch(e){o(e)}},n=e=>{try{d(t.throw(e))}catch(e){o(e)}},d=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,n);d((t=t.apply(e,l)).next())}));const Qe={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Ue=ae((e=>{const l=()=>{const l=h(e.getSchemaJson());return!le(l)||d(e.getTableIds(),(t=>{const a=e.getRowIds(t),o=S();if(d(a,(l=>d(e.getCellIds(t,l),(a=>{const r=e.getCell(t,l,a),n=x(o,a,(()=>[te(r),S(),[0],0])),[d,s,[$]]=n,i=x(s,r,(()=>0))+1;return i>$&&(n[2]=[i,r]),j(s,r,i),n[3]++,d==te(r)})))))return l[t]={},y(o,(([e,,[,o],d],s)=>{l[t][s]=We({[r]:e},d==I(a)?{[n]:o}:{})})),1}))?l:{}},t=e=>Pe(l(),e),a=e=>_e(void 0,null,(function*(){let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return i(t(e),(e=>_(l(e,Qe))))}));return Y({getStoreStats:l=>{let t=0,a=0,o=0;const r={};return e.forEachTable(((e,n)=>{t++;let d=0,s=0;const $={};n(((e,t)=>{d++;let a=0;t((()=>a++)),s+=a,l&&($[e]={rowCells:a})})),a+=d,o+=s,l&&(r[e]={tableRows:d,tableCells:s,rows:$})})),We({totalTables:t,totalRows:a,totalCells:o,jsonLength:Q(e.getJson())},l?{detail:{tables:r}}:{})},getStoreSchema:l,getStoreApi:t,getPrettyStoreApi:a})}));export{Ue as createTools};