tinybase 3.2.0-beta.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) 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/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/metrics.cjs +1 -1
  9. package/lib/cjs/metrics.cjs.gz +0 -0
  10. package/lib/cjs/persisters.cjs +1 -1
  11. package/lib/cjs/persisters.cjs.gz +0 -0
  12. package/lib/cjs/queries.cjs +1 -1
  13. package/lib/cjs/queries.cjs.gz +0 -0
  14. package/lib/cjs/relationships.cjs +1 -1
  15. package/lib/cjs/relationships.cjs.gz +0 -0
  16. package/lib/cjs/store.cjs +1 -1
  17. package/lib/cjs/store.cjs.gz +0 -0
  18. package/lib/cjs/tinybase.cjs +1 -1
  19. package/lib/cjs/tinybase.cjs.gz +0 -0
  20. package/lib/cjs/tools.cjs +1 -1
  21. package/lib/cjs/tools.cjs.gz +0 -0
  22. package/lib/cjs/ui-react.cjs +1 -1
  23. package/lib/cjs/ui-react.cjs.gz +0 -0
  24. package/lib/cjs-es6/checkpoints.cjs +1 -1
  25. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  26. package/lib/cjs-es6/indexes.cjs +1 -1
  27. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  28. package/lib/cjs-es6/metrics.cjs +1 -1
  29. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  30. package/lib/cjs-es6/persisters.cjs +1 -1
  31. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  32. package/lib/cjs-es6/queries.cjs +1 -1
  33. package/lib/cjs-es6/queries.cjs.gz +0 -0
  34. package/lib/cjs-es6/relationships.cjs +1 -1
  35. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  36. package/lib/cjs-es6/store.cjs +1 -1
  37. package/lib/cjs-es6/store.cjs.gz +0 -0
  38. package/lib/cjs-es6/tinybase.cjs +1 -1
  39. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  40. package/lib/cjs-es6/tools.cjs +1 -1
  41. package/lib/cjs-es6/tools.cjs.gz +0 -0
  42. package/lib/cjs-es6/ui-react.cjs +1 -1
  43. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  44. package/lib/debug/checkpoints.js +2 -2
  45. package/lib/debug/indexes.js +2 -2
  46. package/lib/debug/metrics.js +2 -2
  47. package/lib/debug/persisters.js +2 -2
  48. package/lib/debug/queries.js +1 -1
  49. package/lib/debug/relationships.js +2 -2
  50. package/lib/debug/store.js +89 -48
  51. package/lib/debug/tinybase.js +92 -51
  52. package/lib/debug/tools.js +106 -5
  53. package/lib/debug/ui-react.js +27 -2
  54. package/lib/es6/checkpoints.js +1 -1
  55. package/lib/es6/checkpoints.js.gz +0 -0
  56. package/lib/es6/indexes.js +1 -1
  57. package/lib/es6/indexes.js.gz +0 -0
  58. package/lib/es6/metrics.js +1 -1
  59. package/lib/es6/metrics.js.gz +0 -0
  60. package/lib/es6/persisters.js +1 -1
  61. package/lib/es6/persisters.js.gz +0 -0
  62. package/lib/es6/queries.js +1 -1
  63. package/lib/es6/queries.js.gz +0 -0
  64. package/lib/es6/relationships.js +1 -1
  65. package/lib/es6/relationships.js.gz +0 -0
  66. package/lib/es6/store.js +1 -1
  67. package/lib/es6/store.js.gz +0 -0
  68. package/lib/es6/tinybase.js +1 -1
  69. package/lib/es6/tinybase.js.gz +0 -0
  70. package/lib/es6/tools.js +1 -1
  71. package/lib/es6/tools.js.gz +0 -0
  72. package/lib/es6/ui-react.js +1 -1
  73. package/lib/es6/ui-react.js.gz +0 -0
  74. package/lib/indexes.js +1 -1
  75. package/lib/indexes.js.gz +0 -0
  76. package/lib/metrics.js +1 -1
  77. package/lib/metrics.js.gz +0 -0
  78. package/lib/persisters.js +1 -1
  79. package/lib/persisters.js.gz +0 -0
  80. package/lib/queries.js +1 -1
  81. package/lib/queries.js.gz +0 -0
  82. package/lib/relationships.js +1 -1
  83. package/lib/relationships.js.gz +0 -0
  84. package/lib/store.js +1 -1
  85. package/lib/store.js.gz +0 -0
  86. package/lib/tinybase.js +1 -1
  87. package/lib/tinybase.js.gz +0 -0
  88. package/lib/tools.js +1 -1
  89. package/lib/tools.js.gz +0 -0
  90. package/lib/types/store.d.ts +386 -30
  91. package/lib/types/tools.d.ts +2 -2
  92. package/lib/types/ui-react.d.ts +167 -0
  93. package/lib/types/with-schemas/store.d.ts +496 -37
  94. package/lib/types/with-schemas/tools.d.ts +2 -2
  95. package/lib/types/with-schemas/ui-react.d.ts +193 -5
  96. package/lib/ui-react.js +1 -1
  97. package/lib/ui-react.js.gz +0 -0
  98. package/lib/umd/checkpoints.js +1 -1
  99. package/lib/umd/checkpoints.js.gz +0 -0
  100. package/lib/umd/indexes.js +1 -1
  101. package/lib/umd/indexes.js.gz +0 -0
  102. package/lib/umd/metrics.js +1 -1
  103. package/lib/umd/metrics.js.gz +0 -0
  104. package/lib/umd/persisters.js +1 -1
  105. package/lib/umd/persisters.js.gz +0 -0
  106. package/lib/umd/queries.js +1 -1
  107. package/lib/umd/queries.js.gz +0 -0
  108. package/lib/umd/relationships.js +1 -1
  109. package/lib/umd/relationships.js.gz +0 -0
  110. package/lib/umd/store.js +1 -1
  111. package/lib/umd/store.js.gz +0 -0
  112. package/lib/umd/tinybase.js +1 -1
  113. package/lib/umd/tinybase.js.gz +0 -0
  114. package/lib/umd/tools.js +1 -1
  115. package/lib/umd/tools.js.gz +0 -0
  116. package/lib/umd/ui-react.js +1 -1
  117. package/lib/umd/ui-react.js.gz +0 -0
  118. package/lib/umd-es6/checkpoints.js +1 -1
  119. package/lib/umd-es6/checkpoints.js.gz +0 -0
  120. package/lib/umd-es6/indexes.js +1 -1
  121. package/lib/umd-es6/indexes.js.gz +0 -0
  122. package/lib/umd-es6/metrics.js +1 -1
  123. package/lib/umd-es6/metrics.js.gz +0 -0
  124. package/lib/umd-es6/persisters.js +1 -1
  125. package/lib/umd-es6/persisters.js.gz +0 -0
  126. package/lib/umd-es6/queries.js +1 -1
  127. package/lib/umd-es6/queries.js.gz +0 -0
  128. package/lib/umd-es6/relationships.js +1 -1
  129. package/lib/umd-es6/relationships.js.gz +0 -0
  130. package/lib/umd-es6/store.js +1 -1
  131. package/lib/umd-es6/store.js.gz +0 -0
  132. package/lib/umd-es6/tinybase.js +1 -1
  133. package/lib/umd-es6/tinybase.js.gz +0 -0
  134. package/lib/umd-es6/tools.js +1 -1
  135. package/lib/umd-es6/tools.js.gz +0 -0
  136. package/lib/umd-es6/ui-react.js +1 -1
  137. package/lib/umd-es6/ui-react.js.gz +0 -0
  138. package/package.json +52 -28
  139. package/readme.md +14 -14
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=(e,t)=>e.forEach(t),s=e=>e.length,o=(e,...t)=>e.push(...t),r=e=>null==e,i=(e,t,n)=>r(e)?n?.():t(e),a=e=>Array.isArray(e),l=(e,t)=>e?.has(t)??!1,d=e=>r(e)||0==(e=>e.size)(e),c=e=>[...e?.values()??[]],u=e=>e.clear(),R=(e,t)=>e?.forEach(t),h=(e,t)=>e?.delete(t),f=e=>new Map(e),L=(e,t)=>e?.get(t),g=(e,t)=>R(e,((e,n)=>t(n,e))),w=(e,t,n)=>r(n)?(h(e,t),e):e?.set(t,n),p=(e,t,n)=>(l(e,t)||w(e,t,n()),L(e,t)),I=(e,t,n,o,r=0)=>i((n?p:L)(e,t[r],r>s(t)-2?n:f),(i=>{if(r>s(t)-2)return o?.(i)&&w(e,t[r]),i;const a=I(i,t,n,o,r+1);return d(i)&&w(e,t[r]),a})),v=e=>new Set(a(e)||r(e)?e:[e]),y=(e,t)=>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=f(),m=f(),S=f(),z=f(),[A,D,M,j,x,C,,,O,W,$]=((e,t,o)=>{const I=e.hasRow,b=f(),k=f(),E=f(),T=f(),m=f(),S=(t,s,...o)=>{const r=p(m,t,v);return n(o,(t=>y(r,t)&&s&&e.callListener(t))),o},z=(t,...o)=>i(L(m,t),(r=>{n(0==s(o)?c(r):o,(t=>{e.delListener(t),h(r,t)})),d(r)&&w(m,t)})),A=(e,t)=>{w(b,e,t),l(k,e)||(w(k,e,[f(),f(),f(),f()]),w(E,e,f()),w(T,e,f()))},D=e=>{w(b,e),w(k,e),w(E,e),w(T,e),z(e)};return[()=>e,()=>[...b?.keys()??[]],e=>g(k,e),e=>l(k,e),e=>L(b,e),e=>L(k,e),(e,t)=>w(k,e,t),A,(t,o,i,d,c)=>{A(t,o);const h=f(),p=f(),v=L(E,t),y=L(T,t),b=t=>{const n=n=>e.getCell(o,t,n),i=L(v,t),l=I(o,t)?(u=d(n,t),r(u)?void 0:u+""):void 0;var u,R,f,g;if(i===l||a(i)&&a(l)&&(f=l,s(R=i)===s(f)&&(g=(e,t)=>f[t]===e,R.every(g)))||w(h,t,[i,l]),!r(c)){const e=L(y,t),s=I(o,t)?c(n,t):void 0;e!=s&&w(p,t,s)}},k=e=>{i((()=>{R(h,(([,e],t)=>w(v,t,e))),R(p,((e,t)=>w(y,t,e)))}),h,p,v,y,e),u(h),u(p)};g(v,b),e.hasTable(o)&&n(e.getRowIds(o),(e=>{l(v,e)||b(e)})),k(!0),z(t),S(t,0,e.addRowListener(o,null,((e,t,n)=>b(n))),e.addTableListener(o,(()=>k())))},D,()=>g(m,D),S,z]})(E),[q,B,F]=(e=>{let t;const[a,l]=(()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{b.test(t)&&s(e)<1e3&&o(e,t)}]})(),c=f();return[(e,n,s,o=[],r=(()=>[]))=>{t??=K;const i=a();return w(c,i,[e,n,s,o,r]),y(I(n,s??[""],v),i),i},(e,r,...i)=>n(((e,t=[""])=>{const r=[],i=(e,a)=>a==s(t)?o(r,e):null===t[a]?R(e,(e=>i(e,a+1))):n([t[a],null],(t=>i(L(e,t),a+1)));return i(e,0),r})(e,r),(e=>R(e,(e=>L(c,e)[0](t,...r??[],...i))))),e=>i(L(c,e),(([,t,n])=>(I(t,n??[""],void 0,(t=>(h(t,e),d(t)?1:0))),w(c,e),l(e),n))),e=>i(L(c,e),(([e,,o=[],i,a])=>{const l=(...d)=>{const c=s(d);c==s(o)?e(t,...d,...a(d)):r(o[c])?n(i[c]?.(...d)??[],(e=>l(...d,e))):l(...d,o[c])};l()}))]})(),G=(e,t,n)=>i(C(e),(([s,,o])=>{if(!l(o,t)){const i=v();if(x(e)!=J(e))y(i,t);else{let e=t;for(;!r(e)&&!l(i,e);)y(i,e),e=L(s,e)}if(n)return i;w(o,t,i)}return L(o,t)})),H=(e,t)=>i(C(e),(([,,e])=>w(e,t))),J=e=>L(T,e),K={setRelationshipDefinition:(n,s,o,a)=>{return w(T,n,o),O(n,s,((e,t)=>{const s=v(),o=v(),a=v(),[c,u]=C(n);R(t,(([e,t],R)=>{r(e)||(y(o,e),i(L(u,e),(t=>{h(t,R),d(t)&&w(u,e)}))),r(t)||(y(o,t),l(u,t)||w(u,t,v()),y(L(u,t),R)),y(s,R),w(c,R,t),g(L(z,n),(e=>{l(G(n,e),R)&&y(a,e)}))})),e(),R(s,(e=>B(m,[n,e]))),R(o,(e=>B(S,[n,e]))),R(a,(e=>{H(n,e),B(z,[n,e])}))}),e(c=a)==t?e=>e(c):c??(()=>"")),K;var c},delRelationshipDefinition:e=>(w(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)=>L(C(e)?.[0],t),getLocalRowIds:(e,t)=>c(L(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>r(C(e))?[t]:c(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};
1
+ const e=e=>typeof e,t="",n=e(t),r=(e,t)=>e.forEach(t),s=e=>e.length,o=(e,...t)=>e.push(...t),a=e=>null==e,i=(e,t,n)=>a(e)?n?.():t(e),l=e=>Array.isArray(e),d=(e,t)=>e?.has(t)??!1,c=e=>a(e)||0==(e=>e.size)(e),u=e=>[...e?.values()??[]],R=e=>e.clear(),h=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),L=e=>new Map(e),g=(e,t)=>e?.get(t),w=(e,t)=>h(e,((e,n)=>t(n,e))),p=(e,t,n)=>a(n)?(f(e,t),e):e?.set(t,n),I=(e,t,n)=>(d(e,t)||p(e,t,n()),g(e,t)),v=(e,t,n,r,o=0)=>i((n?I:g)(e,t[o],o>s(t)-2?n:L),(a=>{if(o>s(t)-2)return r?.(a)&&p(e,t[o]),a;const i=v(a,t,n,r,o+1);return c(a)&&p(e,t[o]),i})),y=e=>new Set(l(e)||a(e)?e:[e]),b=(e,t)=>e?.add(t),k=/^\d+$/,E=Object.freeze,T=(T=>{const m=new WeakMap;return T=>(m.has(T)||m.set(T,(T=>{const m=L(),S=L(),z=L(),A=L(),[D,M,j,x,C,O,,,W,$,q]=((e,n,o)=>{const v=e.hasRow,k=L(),E=L(),T=L(),m=L(),S=L(),z=(t,n,...s)=>{const o=I(S,t,y);return r(s,(t=>b(o,t)&&n&&e.callListener(t))),s},A=(t,...n)=>i(g(S,t),(o=>{r(0==s(n)?u(o):n,(t=>{e.delListener(t),f(o,t)})),c(o)&&p(S,t)})),D=(e,t)=>{p(k,e,t),d(E,e)||(p(E,e,[L(),L(),L(),L()]),p(T,e,L()),p(m,e,L()))},M=e=>{p(k,e),p(E,e),p(T,e),p(m,e),A(e)};return[()=>e,()=>{return e=k,[...e?.keys()??[]];var e},e=>w(E,e),e=>d(E,e),e=>g(k,e),e=>g(E,e),(e,t)=>p(E,e,t),D,(n,o,i,c,u)=>{D(n,o);const f=L(),I=L(),y=g(T,n),b=g(m,n),k=n=>{const r=t=>e.getCell(o,n,t),i=g(y,n),d=v(o,n)?(R=c(r,n),a(R)?void 0:R+t):void 0;var R,h,L,w;if(i===d||l(i)&&l(d)&&(L=d,s(h=i)===s(L)&&(w=(e,t)=>L[t]===e,h.every(w)))||p(f,n,[i,d]),!a(u)){const e=g(b,n),t=v(o,n)?u(r,n):void 0;e!=t&&p(I,n,t)}},E=e=>{i((()=>{h(f,(([,e],t)=>p(y,t,e))),h(I,((e,t)=>p(b,t,e)))}),f,I,y,b,e),R(f),R(I)};w(y,k),e.hasTable(o)&&r(e.getRowIds(o),(e=>{d(y,e)||k(e)})),E(!0),A(n),z(n,0,e.addRowListener(o,null,((e,t,n)=>k(n))),e.addTableListener(o,(()=>E())))},M,()=>w(S,M),z,A]})(T),[B,F,G]=(e=>{let n;const[l,d]=(()=>{const e=[];let n=0;return[r=>(r?e.shift():null)??t+n++,t=>{k.test(t)&&s(e)<1e3&&o(e,t)}]})(),u=L();return[(e,r,s,o=[],a=(()=>[]))=>{n??=N;const i=l(1);return p(u,i,[e,r,s,o,a]),b(v(r,s??[t],y),i),i},(e,a,...i)=>r(((e,n=[t])=>{const a=[],i=(e,t)=>t==s(n)?o(a,e):null===n[t]?h(e,(e=>i(e,t+1))):r([n[t],null],(n=>i(g(e,n),t+1)));return i(e,0),a})(e,a),(e=>h(e,(e=>g(u,e)[0](n,...a??[],...i))))),e=>i(g(u,e),(([,n,r])=>(v(n,r??[t],void 0,(t=>(f(t,e),c(t)?1:0))),p(u,e),d(e),r))),e=>i(g(u,e),(([e,,t=[],o,i])=>{const l=(...d)=>{const c=s(d);c==s(t)?e(n,...d,...i(d)):a(t[c])?r(o[c]?.(...d)??[],(e=>l(...d,e))):l(...d,t[c])};l()}))]})(),H=(e,t,n)=>i(O(e),(([r,,s])=>{if(!d(s,t)){const o=y();if(C(e)!=K(e))b(o,t);else{let e=t;for(;!a(e)&&!d(o,e);)b(o,e),e=g(r,e)}if(n)return o;p(s,t,o)}return g(s,t)})),J=(e,t)=>i(O(e),(([,,e])=>p(e,t))),K=e=>g(m,e),N={setRelationshipDefinition:(r,s,o,l)=>{return p(m,r,o),W(r,s,((e,t)=>{const n=y(),s=y(),o=y(),[l,u]=O(r);h(t,(([e,t],R)=>{a(e)||(b(s,e),i(g(u,e),(t=>{f(t,R),c(t)&&p(u,e)}))),a(t)||(b(s,t),d(u,t)||p(u,t,y()),b(g(u,t),R)),b(n,R),p(l,R,t),w(g(A,r),(e=>{d(H(r,e),R)&&b(o,e)}))})),e(),h(n,(e=>F(S,[r,e]))),h(s,(e=>F(z,[r,e]))),h(o,(e=>{J(r,e),F(A,[r,e])}))}),e(u=l)==n?e=>e(u):u??(()=>t)),N;var u},delRelationshipDefinition:e=>(p(m,e),$(e),N),getStore:D,getRelationshipIds:M,forEachRelationship:e=>j((t=>e(t,(e=>T.forEachRow(C(t),e))))),hasRelationship:x,getLocalTableId:C,getRemoteTableId:K,getRemoteRowId:(e,t)=>g(O(e)?.[0],t),getLocalRowIds:(e,t)=>u(g(O(e)?.[1],t)),getLinkedRowIds:(e,t)=>a(O(e))?[t]:u(H(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>B(n,S,[e,t]),addLocalRowIdsListener:(e,t,n)=>B(n,z,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(H(e,t),B(n,A,[e,t])),delListener:e=>(J(...G(e)),N),destroy:q,getListenerStats:()=>({})};return E(N)})(T)),m.get(T))})();export{T as createRelationships};
Binary file
package/lib/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),s=e(!0),l=e(0),a=e(e),n=e=>""+e,r=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),c=e=>e.length,u=(e,t,s)=>e.slice(t,s),i=(e,...t)=>e.push(...t),d=e=>JSON.stringify(e,((e,t)=>{return T(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),f=JSON.parse,h=isFinite,T=(e,t)=>e instanceof t,V=e=>null==e,g=(e,t,s)=>V(e)?s?.():t(e),b=e=>e==t||e==s,v=t=>e(t)==a,S=(e,t)=>e?.has(t)??!1,w=e=>V(e)||0==(e=>e.size)(e),y=e=>e.clear(),I=(e,t)=>e?.forEach(t),R=(e,t)=>e?.delete(t),p=e=>new Map(e),C=e=>[...e?.keys()??[]],J=(e,t)=>e?.get(t),m=(e,t)=>I(e,((e,s)=>t(s,e))),L=(e,t,s)=>V(s)?(R(e,t),e):e?.set(t,s),E=(e,t,s)=>(S(e,t)||L(e,t,s()),J(e,t)),F=(e,t,s)=>{const l={},a=t??(e=>e);return I(e,((e,t)=>g(a(e),(e=>s?.(e)?0:l[t]=e)))),l},z=(e,t)=>{const s=p(),l=t??(e=>e);return I(e,((e,t)=>s.set(t,l(e)))),s},O=e=>z(e,z),k=(e,t,s,l,a=0)=>g((s?E:J)(e,t[a],a>c(t)-2?s:p),(n=>{if(a>c(t)-2)return l?.(n)&&L(e,t[a]),n;const r=k(n,t,s,l,a+1);return w(n)&&L(e,t[a]),r})),A=e=>new Set(Array.isArray(e)||V(e)?e:[e]),M=(e,t)=>e?.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{N.test(t)&&c(e)<1e3&&i(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>T(e,j)&&e.constructor==j,q=(e,t)=>!V(((e,t)=>g(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,s])=>t(s,e))),H=e=>{return $(e)&&(t=x(e),0==c(t));var t},K=e=>[e,e],Q=()=>[p(),p()],U=t=>{const s=e(t);return b(s)||s==l&&h(t)?s:void 0},X=(e,t,s,l=L)=>{const a=(n=e=>!q(t,e),C(e).filter(n));var n;return r(x(t),(l=>s(e,l,t[l]))),r(a,(t=>l(e,t))),e},Y=(e,t,s)=>V(e)||!$(e)||H(e)||D(e)?(s?.(),!1):(G(e,((s,l)=>{t(s,l)||B(e,l)})),!H(e)),Z=(e,t,s)=>L(e,t,J(e,t)==-s?void 0:s),_=()=>{let e,t,s,a,h=0;const T=p(),N=p(),j=p(),x=p(),D=p(),$=p(),ee=p(),te=p(),se=p(),le=p(),ae=p(),ne=p(),re=A(),oe=p(),ce=p(),ue=p(),ie=Q(),de=Q(),fe=Q(),he=Q(),Te=Q(),Ve=Q(),ge=Q(),be=Q(),ve=Q(),Se=Q(),we=Q(),ye=Q(),Ie=Q(),Re=Q(),[pe,Ce,Je,me]=(e=>{let t;const[s,l]=P(),a=p();return[(e,l,n,r=[],o=(()=>[]))=>{t??=Nt;const c=s();return L(a,c,[e,l,n,r,o]),M(k(l,n??[""],A),c),c},(e,s,...l)=>r(((e,t=[""])=>{const s=[],l=(e,a)=>a==c(t)?i(s,e):null===t[a]?I(e,(e=>l(e,a+1))):r([t[a],null],(t=>l(J(e,t),a+1)));return l(e,0),s})(e,s),(e=>I(e,(e=>J(a,e)[0](t,...s??[],...l))))),e=>g(J(a,e),(([,t,s])=>(k(t,s??[""],void 0,(t=>(R(t,e),w(t)?1:0))),L(a,e),l(e),s))),e=>g(J(a,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const u=c(o);u==c(s)?e(t,...o,...a(o)):V(s[u])?r(l[u]?.(...o)??[],(e=>n(...o,e))):n(...o,s[u])};n()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!b(t)&&t!=l||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,s)=>(!e||S(se,s)||nt(s))&&Y(t,((e,t)=>Fe(s,t,e)),(()=>nt(s))),Fe=(e,t,s,l)=>Y(l?s:Ae(s,e,t),((l,a)=>g(ze(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>nt(e,t))),ze=(t,s,l,a)=>e?g(J(J(se,t),l),(e=>U(a)!=e.type?nt(t,s,l,a,e.default):a),(()=>nt(t,s,l,a))):V(U(a))?nt(t,s,l,a):a,Oe=(e,t)=>Y(t?e:Me(e),((t,s)=>g(ke(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>rt())),ke=(e,s)=>t?g(J(ae,e),(t=>U(s)!=t.type?rt(e,s,t.default):s),(()=>rt(e,s))):V(U(s))?rt(e,s):s,Ae=(e,t,s)=>(g(J(le,t),(([l,a])=>{I(l,((t,s)=>{q(e,s)||(e[s]=t)})),I(a,(l=>{q(e,l)||nt(t,s,l)}))})),e),Me=e=>(t&&(I(ne,((t,s)=>{q(e,s)||(e[s]=t)})),I(re,(t=>{q(e,t)||rt(t)}))),e),Ne=e=>X(se,e,((e,t,s)=>{const l=p(),a=A();X(E(se,t,p),s,((e,t,s)=>{L(e,t,s),g(s.default,(e=>L(l,t,e)),(()=>M(a,t)))})),L(le,t,[l,a])}),((e,t)=>{L(se,t),L(le,t)})),Pe=e=>X(ae,e,((e,t,s)=>{L(ae,t,s),g(s.default,(e=>L(ne,t,e)),(()=>M(re,t)))}),((e,t)=>{L(ae,t),L(ne,t),R(re,t)})),je=e=>H(e)?Et():pt(e),xe=e=>X(ce,e,((e,t,s)=>De(t,s)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ce,e,(()=>(_e(e,1),p()))),t,((t,s,l)=>We(e,t,s,l)),((t,s)=>Xe(e,t,s))),We=(e,t,s,l,a)=>X(E(t,s,(()=>(et(e,s,1),p()))),l,((t,l,a)=>$e(e,s,t,l,a)),((l,n)=>Ye(e,t,s,l,n,a))),$e=(e,t,s,l,a)=>{S(s,l)||tt(e,t,l,1);const n=J(s,l);a!==n&&(st(e,t,l,n,a),L(s,l,a))},qe=(e,t,s,l,a)=>g(J(t,s),(t=>$e(e,s,t,l,a)),(()=>We(e,t,s,Ae({[l]:a},e,s)))),Be=e=>H(e)?Ft():Ct(e),Ge=e=>X(ue,e,((e,t,s)=>He(t,s)),((e,t)=>Ze(t))),He=(e,t)=>{S(ue,e)||lt(e,1);const s=J(ue,e);t!==s&&(at(e,s,t),L(ue,e,t))},Ke=e=>{const[t]=E(oe,e,P),s=t();return S(J(ce,e),s)?Ke(e):s},Qe=e=>J(ce,e)??De(e,{}),Ue=e=>De(e,{}),Xe=(e,t,s)=>{const[,l]=E(oe,e,P);l(s),We(e,t,s,{},!0)},Ye=(e,t,s,l,a,n)=>{const r=J(J(le,e)?.[0],a);if(!V(r)&&!n)return $e(e,s,l,a,r);const o=t=>{st(e,s,t,J(l,t)),tt(e,s,t,-1),L(l,t)};V(r)?o(a):m(l,o),w(l)&&(et(e,s,-1),w(L(t,s))&&(_e(e,-1),L(ce,e),L(oe,e)))},Ze=e=>{const t=J(ne,e);if(!V(t))return He(e,t);at(e,J(ue,e)),lt(e,-1),L(ue,e)},_e=(e,t)=>Z(T,e,t),et=(e,t,s)=>Z(E(N,e,p),t,s),tt=(e,t,s,l)=>Z(E(E(j,e,p),t,p),s,l),st=(e,t,s,l,a)=>E(E(E(x,e,p),t,p),s,(()=>[l,0]))[1]=a,lt=(e,t)=>Z(D,e,t),at=(e,t,s)=>E($,e,(()=>[t,0]))[1]=s,nt=(e,t,s,l,a)=>(i(E(E(E(ee,e,p),t,p),s,(()=>[])),l),a),rt=(e,t,s)=>(i(E(te,e,(()=>[])),t),s),ot=(e,t,s)=>g(J(J(J(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,s))])),ct=e=>g(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(Rt(e))])),ut=e=>w(ee)||w(ve[e])?0:I(e?z(ee,O):ee,((t,s)=>I(t,((t,l)=>I(t,((t,a)=>Ce(ve[e],[s,l,a],t))))))),it=e=>w(te)||w(Se[e])?0:I(e?z(te):te,((t,s)=>Ce(Se[e],[s],t))),dt=(e,t,s)=>{if(!w(t))return Ce(e,s),1},ft=e=>{const t=w(Te[e]),s=w(ge[e])&&w(he[e])&&t&&w(de[e]),l=w(be[e])&&w(Ve[e])&&w(fe[e])&&w(ie[e]);if(!s||!l){const a=e?[z(T),O(N),z(j,O),z(x,O)]:[T,N,j,x];if(!s){I(a[2],((t,s)=>I(t,((t,l)=>dt(ge[e],t,[s,l])))));const s=A();I(a[1],((l,a)=>{dt(he[e],l,[a])&&!t&&(Ce(Te[e],[a,null]),M(s,a))})),t||I(a[3],((t,l)=>{if(!S(s,l)){const s=A();I(t,(e=>I(e,(([t,l],a)=>l!==t?M(s,a):R(e,a))))),I(s,(t=>Ce(Te[e],[l,t])))}})),dt(de[e],a[0])}if(!l){let t;I(a[3],((s,l)=>{let a;I(s,((s,n)=>{let r;I(s,(([s,o],c)=>{o!==s&&(Ce(be[e],[l,n,c],o,s,ot),t=a=r=1)})),r&&Ce(Ve[e],[l,n],ot)})),a&&Ce(fe[e],[l],ot)})),t&&Ce(ie[e],void 0,ot)}}},ht=e=>{const t=w(ye[e]),s=w(Ie[e])&&w(we[e]);if(!t||!s){const l=e?[z(D),z($)]:[D,$];if(t||dt(ye[e],l[0]),!s){let t;I(l[1],(([s,l],a)=>{l!==s&&(Ce(Ie[e],[a],l,s,ct),t=1)})),t&&Ce(we[e],void 0,ct)}}},Tt=(e,...t)=>(kt((()=>e(...o(t,n)))),Nt),Vt=()=>F(ce,(e=>F(e,F))),gt=()=>C(ce),bt=e=>C(J(ce,n(e))),vt=(e,t,s,l=0,a)=>{return o(u((c=J(ce,n(e)),i=(e,s)=>[V(t)?s:J(e,n(t)),s],r=([e],[t])=>(e<t?-1:1)*(s?-1:1),o([...c?.entries()??[]],(([e,t])=>i(t,e))).sort(r)),l,V(a)?a:l+a),(([,e])=>e));var r,c,i},St=(e,t)=>C(J(J(ce,n(e)),n(t))),wt=(e,t,s)=>J(J(J(ce,n(e)),n(t)),n(s)),yt=()=>F(ue),It=()=>C(ue),Rt=e=>J(ue,n(e)),pt=e=>Tt((()=>(e=>Y(e,Ee,nt))(e)?xe(e):0)),Ct=e=>Tt((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(f(e))}catch{}return Nt},mt=t=>Tt((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ce))){const e=Vt();Et(),pt(e)}})),Lt=e=>Tt((()=>{if(t=(e=>Y(e,Le))(e)){const s=yt();Ot(),Ft(),t=!0,Pe(e),Ct(s)}})),Et=()=>Tt((()=>xe({}))),Ft=()=>Tt((()=>Ge({}))),zt=()=>Tt((()=>{Ne({}),e=!1})),Ot=()=>Tt((()=>{Pe({}),t=!1})),kt=(e,t)=>{if(-1==h)return;At();const s=e();return Mt(t),s},At=()=>(h++,Nt),Mt=e=>(h>0&&(h--,0==h&&(s=!w(x),a=!w($),h=1,ut(1),s&&ft(1),it(1),a&&ht(1),h=-1,e?.(F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te))&&(h=1,I(x,((e,t)=>I(e,((e,s)=>I(e,(([e],l)=>((e,t,s,l,a)=>V(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a))(Nt,t,s,l,e))))))),I($,(([e],t)=>((e,t,s)=>V(s)?e.delValue(t):e.setValue(t,s))(Nt,t,e))),h=-1,s=a=!1),Ce(Re[0],void 0,s,a),ut(0),s&&ft(0),it(0),a&&ht(0),Ce(Re[1],void 0,s,a),h=0,r([T,N,j,x,ee,D,$,te],y))),Nt),Nt={getTables:Vt,getTableIds:gt,getTable:e=>F(J(ce,n(e)),F),getRowIds:bt,getSortedRowIds:vt,getRow:(e,t)=>F(J(J(ce,n(e)),n(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:It,getValue:Rt,hasTables:()=>!w(ce),hasTable:e=>S(ce,n(e)),hasRow:(e,t)=>S(J(ce,n(e)),n(t)),hasCell:(e,t,s)=>S(J(J(ce,n(e)),n(t)),n(s)),hasValues:()=>!w(ue),hasValue:e=>S(ue,n(e)),getTablesJson:()=>d(ce),getValuesJson:()=>d(ue),getJson:()=>d([ce,ue]),getTablesSchemaJson:()=>d(se),getValuesSchemaJson:()=>d(ae),getSchemaJson:()=>d([se,ae]),setTables:pt,setTable:(e,t)=>Tt((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,s)=>Tt(((e,t)=>Fe(e,t,s)?We(e,Qe(e),t,s):0),e,t),addRow:(e,t)=>kt((()=>{let s;return Fe(e,s,t)&&(e=n(e),We(e,Qe(e),s=Ke(e),t)),s})),setPartialRow:(e,t,s)=>Tt(((e,t)=>{if(Fe(e,t,s,1)){const l=Qe(e);G(s,((s,a)=>qe(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>Tt(((e,t,s)=>g(ze(e,t,s,v(l)?l(wt(e,t,s)):l),(l=>qe(e,Qe(e),t,s,l)))),e,t,s),setValues:Ct,setPartialValues:e=>Tt((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>Tt((e=>g(ke(e,v(t)?t(Rt(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(f(e))}catch{}return Nt},setJson:e=>{try{const[t,s]=f(e);je(t),Be(s)}catch{Jt(e)}return Nt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>Tt((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>Tt((e=>S(ce,e)?Ue(e):0),e),delRow:(e,t)=>Tt(((e,t)=>g(J(ce,e),(s=>S(s,t)?Xe(e,s,t):0))),e,t),delCell:(e,t,s,l)=>Tt(((e,t,s)=>g(J(ce,e),(a=>g(J(a,t),(n=>S(n,s)?Ye(e,a,t,n,s,l):0))))),e,t,s),delValues:Ft,delValue:e=>Tt((e=>S(ue,e)?Ze(e):0),e),delTablesSchema:zt,delValuesSchema:Ot,delSchema:()=>Tt((()=>{zt(),Ot()})),transaction:kt,startTransaction:At,finishTransaction:Mt,forEachTable:e=>I(ce,((t,s)=>e(s,(e=>I(t,((t,s)=>e(s,(e=>m(t,e))))))))),forEachRow:(e,t)=>I(J(ce,n(e)),((e,s)=>t(s,(t=>m(e,t))))),forEachCell:(e,t,s)=>m(J(J(ce,n(e)),n(t)),s),forEachValue:e=>m(ue,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=vt(e,t,s,l,a);return pe((()=>{const r=vt(e,t,s,l,a);var u,i,d;i=o,c(u=r)===c(i)&&(d=(e,t)=>i[t]===e,u.every(d))||(o=r,n(Nt,e,t,s,l,a,o))}),Te[r?1:0],[e,t],[gt])},addWillFinishTransactionListener:e=>pe(e,Re[0]),addDidFinishTransactionListener:e=>pe(e,Re[1]),callListener:e=>(me(e),Nt),delListener:e=>(Je(e),Nt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,ie],TableIds:[0,de],Table:[1,fe,[gt]],RowIds:[1,he,[gt]],Row:[2,Ve,[gt,bt]],CellIds:[2,ge,[gt,bt]],Cell:[3,be,[gt,bt,St],e=>K(wt(...e))],InvalidCell:[3,ve],Values:[0,we],ValueIds:[0,ye],Value:[1,Ie,[It],e=>K(Rt(e[0]))],InvalidValue:[1,Se]},(([e,t,s,l],a)=>{Nt["add"+a+"Listener"]=(...a)=>pe(a[e],t[a[e+1]?1:0],e>0?u(a,0,e):void 0,s,l)})),W(Nt)};export{_ as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",u=i+"s",d=i+c,h="Row"+c,f="Cell",T=f+c,g="Value",b=g+"s",V=g+c,S=e=>t+e,v=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),C=e=>e.length,R=(e,t,s)=>e.slice(t,s),y=(e,...t)=>e.push(...t),J=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),m=JSON.parse,I=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==l,z=t=>e(t)==a,O=(e,t)=>e?.has(t)??!1,k=e=>L(e)||0==(e=>e.size)(e),A=e=>e.clear(),M=(e,t)=>e?.forEach(t),N=(e,t)=>e?.delete(t),P=e=>new Map(e),j=e=>[...e?.keys()??[]],x=(e,t)=>e?.get(t),D=(e,t)=>M(e,((e,s)=>t(s,e))),W=(e,t,s)=>L(s)?(N(e,t),e):e?.set(t,s),$=(e,t,s)=>(O(e,t)||W(e,t,s()),x(e,t)),q=(e,t,s)=>{const l={},n=t??(e=>e);return M(e,((e,t)=>E(n(e),(e=>s?.(e)?0:l[t]=e)))),l},B=(e,t)=>{const s=P(),l=t??(e=>e);return M(e,((e,t)=>s.set(t,l(e)))),s},G=e=>B(e,B),H=(e,t,s,l,n=0)=>E((s?$:x)(e,t[n],n>C(t)-2?s:P),(a=>{if(n>C(t)-2)return l?.(a)&&W(e,t[n]),a;const r=H(a,t,s,l,n+1);return k(a)&&W(e,t[n]),r})),K=e=>new Set(Array.isArray(e)||L(e)?e:[e]),Q=(e,t)=>e?.add(t),U=/^\d+$/,X=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{U.test(t)&&C(e)<1e3&&y(e,t)}]},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>p(e,Y)&&e.constructor==Y,se=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),le=(e,t)=>delete e[t],ne=(e,t)=>w(Y.entries(e),(([e,s])=>t(s,e))),ae=e=>{return te(e)&&(t=Z(e),0==C(t));var t},re=e=>[e,e],oe=()=>[P(),P()],ce=t=>{const s=e(t);return F(s)||s==n&&I(t)?s:void 0},ie=(e,t,s,l=W)=>(ne(t,((t,l)=>s(e,l,t))),D(e,(s=>se(t,s)?0:l(e,s))),e),ue=(e,t,s)=>L(e)||!te(e)||ae(e)||_(e)?(s?.(),!1):(ne(e,((s,l)=>{t(s,l)||le(e,l)})),!ae(e)),de=(e,t,s)=>W(e,t,x(e,t)==-s?void 0:s),he=()=>{let e,s,l,a,c=0;const I=P(),p=P(),U=P(),Y=P(),Z=P(),_=P(),te=P(),fe=P(),Te=P(),ge=P(),be=P(),Ve=P(),Se=P(),ve=K(),we=P(),Ce=P(),Re=P(),ye=P(),Je=oe(),me=oe(),Ie=oe(),pe=oe(),Le=oe(),Ee=oe(),Fe=oe(),ze=oe(),Oe=oe(),ke=oe(),Ae=oe(),Me=oe(),Ne=oe(),Pe=oe(),je=P(),xe=oe(),[De,We,$e,qe]=(e=>{let s;const[l,n]=X(),a=P();return[(e,n,r,o=[],c=(()=>[]))=>{s??=Zt;const i=l(1);return W(a,i,[e,n,r,o,c]),Q(H(n,r??[t],K),i),i},(e,l,...n)=>v(((e,s=[t])=>{const l=[],n=(e,t)=>t==C(s)?y(l,e):null===s[t]?M(e,(e=>n(e,t+1))):v([s[t],null],(s=>n(x(e,s),t+1)));return n(e,0),l})(e,l),(e=>M(e,(e=>x(a,e)[0](s,...l??[],...n))))),e=>E(x(a,e),(([,s,l])=>(H(s,l??[t],void 0,(t=>(N(t,e),k(t)?1:0))),W(a,e),n(e),l))),e=>E(x(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=C(r);o==C(t)?e(s,...r,...n(r)):L(t[o])?v(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),Be=e=>{if(!ue(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=n||(ce(e[o])!=t&&le(e,o),0))},Ge=(t,s)=>(!e||O(ge,s)||Ct(s))&&ue(t,((e,t)=>He(s,t,e)),(()=>Ct(s))),He=(e,t,s,l)=>ue(l?s:Xe(s,e,t),((l,n)=>E(Ke(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Ct(e,t))),Ke=(t,s,l,n)=>e?E(x(x(ge,t),l),(e=>ce(n)!=e[r]?Ct(t,s,l,n,e[o]):n),(()=>Ct(t,s,l,n))):L(ce(n))?Ct(t,s,l,n):n,Qe=(e,t)=>ue(t?e:Ye(e),((t,s)=>E(Ue(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Rt())),Ue=(e,t)=>s?E(x(Ve,e),(s=>ce(t)!=s[r]?Rt(e,t,s[o]):t),(()=>Rt(e,t))):L(ce(t))?Rt(e,t):t,Xe=(e,t,s)=>(E(x(be,t),(([l,n])=>{M(l,((t,s)=>{se(e,s)||(e[s]=t)})),M(n,(l=>{se(e,l)||Ct(t,s,l)}))})),e),Ye=e=>(s&&(M(Se,((t,s)=>{se(e,s)||(e[s]=t)})),M(ve,(t=>{se(e,t)||Rt(t)}))),e),Ze=e=>ie(ge,e,((e,t,s)=>{const l=P(),n=K();ie($(ge,t,P),s,((e,t,s)=>{W(e,t,s),E(s[o],(e=>W(l,t,e)),(()=>Q(n,t)))})),W(be,t,[l,n])}),((e,t)=>{W(ge,t),W(be,t)})),_e=e=>ie(Ve,e,((e,t,s)=>{W(Ve,t,s),E(s[o],(e=>W(Se,t,e)),(()=>Q(ve,t)))}),((e,t)=>{W(Ve,t),W(Se,t),N(ve,t)})),et=e=>ae(e)?Gt():Dt(e),tt=e=>ie(Re,e,((e,t,s)=>st(t,s)),((e,t)=>dt(t))),st=(e,t)=>ie($(Re,e,(()=>(gt(e,1),W(we,e,X()),W(Ce,e,P()),P()))),t,((t,s,l)=>lt(e,t,s,l)),((t,s)=>ht(e,t,s))),lt=(e,t,s,l,n)=>ie($(t,s,(()=>(bt(e,s,1),P()))),l,((t,l,n)=>nt(e,s,t,l,n)),((l,a)=>ft(e,t,s,l,a,n))),nt=(e,t,s,l,n)=>{O(s,l)||Vt(e,t,l,1);const a=x(s,l);n!==a&&(St(e,t,l,a,n),W(s,l,n))},at=(e,t,s,l,n)=>E(x(t,s),(t=>nt(e,s,t,l,n)),(()=>lt(e,t,s,Xe({[l]:n},e,s)))),rt=e=>ae(e)?Ht():Wt(e),ot=e=>ie(ye,e,((e,t,s)=>ct(t,s)),((e,t)=>Tt(t))),ct=(e,t)=>{O(ye,e)||vt(e,1);const s=x(ye,e);t!==s&&(wt(e,s,t),W(ye,e,t))},it=(e,t)=>{const[s]=x(we,e),l=s(t);return O(x(Re,e),l)?it(e,t):l},ut=e=>x(Re,e)??st(e,{}),dt=e=>st(e,{}),ht=(e,t,s)=>{const[,l]=x(we,e);l(s),lt(e,t,s,{},!0)},ft=(e,t,s,l,n,a)=>{const r=x(x(be,e)?.[0],n);if(!L(r)&&!a)return nt(e,s,l,n,r);const o=t=>{St(e,s,t,x(l,t)),Vt(e,s,t,-1),W(l,t)};L(r)?o(n):D(l,o),k(l)&&(bt(e,s,-1),k(W(t,s))&&(gt(e,-1),W(Re,e),W(we,e),W(Ce,e)))},Tt=e=>{const t=x(Se,e);if(!L(t))return ct(e,t);wt(e,x(ye,e)),vt(e,-1),W(ye,e)},gt=(e,t)=>de(I,e,t),bt=(e,t,s)=>de($(U,e,P),t,s),Vt=(e,t,s,l)=>{const n=x(Ce,e),a=x(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&de($(p,e,P),s,l),W(n,s,a!=-l?a+l:null),de($($(Y,e,P),t,P),s,l)},St=(e,t,s,l,n)=>$($($(Z,e,P),t,P),s,(()=>[l,0]))[1]=n,vt=(e,t)=>de(_,e,t),wt=(e,t,s)=>$(te,e,(()=>[t,0]))[1]=s,Ct=(e,t,s,l,n)=>(y($($($(fe,e,P),t,P),s,(()=>[])),l),n),Rt=(e,t,s)=>(y($(Te,e,(()=>[])),t),s),yt=(e,t,s)=>E(x(x(x(Z,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...re(Nt(e,t,s))])),Jt=e=>E(x(te,e),(([e,t])=>[!0,e,t]),(()=>[!1,...re(xt(e))])),mt=e=>k(fe)||k(ke[e])?0:M(e?B(fe,G):fe,((t,s)=>M(t,((t,l)=>M(t,((t,n)=>We(ke[e],[s,l,n],t))))))),It=e=>k(Te)||k(Ae[e])?0:M(e?B(Te):Te,((t,s)=>We(Ae[e],[s],t))),pt=(e,t,s)=>{if(!k(t))return We(e,s,(()=>q(t))),1},Lt=e=>{const t=k(Ee[e]),s=k(ze[e])&&k(pe[e])&&k(Le[e])&&t&&k(me[e]),l=k(Oe[e])&&k(Fe[e])&&k(Ie[e])&&k(Je[e]);if(!s||!l){const n=e?[B(I),G(p),G(U),B(Y,G),B(Z,G)]:[I,p,U,Y,Z];if(!s){M(n[1],((t,s)=>pt(pe[e],t,[s]))),M(n[3],((t,s)=>M(t,((t,l)=>pt(ze[e],t,[s,l])))));const s=K();M(n[2],((l,n)=>{pt(Le[e],l,[n])&&!t&&(We(Ee[e],[n,null]),Q(s,n))})),t||M(n[4],((t,l)=>{if(!O(s,l)){const s=K();M(t,(e=>M(e,(([t,l],n)=>l!==t?Q(s,n):N(e,n))))),M(s,(t=>We(Ee[e],[l,t])))}})),pt(me[e],n[0])}if(!l){let t;M(n[4],((s,l)=>{let n;M(s,((s,a)=>{let r;M(s,(([s,o],c)=>{o!==s&&(We(Oe[e],[l,a,c],o,s,yt),t=n=r=1)})),r&&We(Fe[e],[l,a],yt)})),n&&We(Ie[e],[l],yt)})),t&&We(Je[e],void 0,yt)}}},Et=e=>{const t=k(Ne[e]),s=k(Pe[e])&&k(Me[e]);if(!t||!s){const l=e?[B(_),B(te)]:[_,te];if(t||pt(Ne[e],l[0]),!s){let t;M(l[1],(([s,l],n)=>{l!==s&&(We(Pe[e],[n],l,s,Jt),t=1)})),t&&We(Me[e],void 0,Jt)}}},Ft=(e,...t)=>(Ut((()=>e(...w(t,S)))),Zt),zt=()=>q(Re,(e=>q(e,q))),Ot=()=>j(Re),kt=e=>j(x(Re,S(e))),At=(e,t,s,l=0,n)=>{return w(R((r=x(Re,S(e)),o=(e,s)=>[L(t)?s:x(e,S(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),w([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,L(n)?n:l+n),(([,e])=>e));var a,r,o},Mt=(e,t)=>j(x(x(Re,S(e)),S(t))),Nt=(e,t,s)=>x(x(x(Re,S(e)),S(t)),S(s)),Pt=()=>q(ye),jt=()=>j(ye),xt=e=>x(ye,S(e)),Dt=e=>Ft((()=>(e=>ue(e,Ge,Ct))(e)?tt(e):0)),Wt=e=>Ft((()=>Qe(e)?ot(e):0)),$t=e=>{try{et(m(e))}catch{}return Zt},qt=t=>Ft((()=>{if((e=ue(t,(e=>ue(e,Be))))&&(Ze(t),!k(Re))){const e=zt();Gt(),Dt(e)}})),Bt=e=>Ft((()=>{if(s=(e=>ue(e,Be))(e)){const t=Pt();Qt(),Ht(),s=!0,_e(e),Wt(t)}})),Gt=()=>Ft((()=>tt({}))),Ht=()=>Ft((()=>ot({}))),Kt=()=>Ft((()=>{Ze({}),e=!1})),Qt=()=>Ft((()=>{_e({}),s=!1})),Ut=(e,t)=>{if(-1!=c){Xt();const s=e();return Yt(t),s}},Xt=()=>(-1!=c&&c++,1==c&&We(je,void 0,!1,!1),Zt),Yt=e=>(c>0&&(c--,0==c&&(l=!k(Z),a=!k(te),c=1,mt(1),l&&Lt(1),It(1),a&&Et(1),e?.(q(Z,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,t])=>e===t))),ae)),ae),q(fe,(e=>q(e,q))),q(te,(e=>[...e]),(([e,t])=>e===t)),q(Te))&&(M(Z,((e,t)=>M(e,((e,s)=>M(e,(([e],l)=>((e,t,s,l,n)=>L(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n))(Zt,t,s,l,e))))))),M(te,(([e],t)=>((e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s))(Zt,t,e))),l=a=!1),We(xe[0],void 0,l,a),c=-1,mt(0),l&&Lt(0),It(0),a&&Et(0),We(xe[1],void 0,l,a),c=0,v([I,p,U,Y,Z,fe,_,te,Te],A))),Zt),Zt={getTables:zt,getTableIds:Ot,getTable:e=>q(x(Re,S(e)),q),getTableCellIds:e=>j(x(Ce,S(e))),getRowIds:kt,getSortedRowIds:At,getRow:(e,t)=>q(x(x(Re,S(e)),S(t))),getCellIds:Mt,getCell:Nt,getValues:Pt,getValueIds:jt,getValue:xt,hasTables:()=>!k(Re),hasTable:e=>O(Re,S(e)),hasTableCell:(e,t)=>O(x(Ce,S(e)),S(t)),hasRow:(e,t)=>O(x(Re,S(e)),S(t)),hasCell:(e,t,s)=>O(x(x(Re,S(e)),S(t)),S(s)),hasValues:()=>!k(ye),hasValue:e=>O(ye,S(e)),getTablesJson:()=>J(Re),getValuesJson:()=>J(ye),getJson:()=>J([Re,ye]),getTablesSchemaJson:()=>J(ge),getValuesSchemaJson:()=>J(Ve),getSchemaJson:()=>J([ge,Ve]),setTables:Dt,setTable:(e,t)=>Ft((e=>Ge(t,e)?st(e,t):0),e),setRow:(e,t,s)=>Ft(((e,t)=>He(e,t,s)?lt(e,ut(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ut((()=>{let l;return He(e,l,t)&&(e=S(e),lt(e,ut(e),l=it(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Ft(((e,t)=>{if(He(e,t,s,1)){const l=ut(e);ne(s,((s,n)=>at(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Ft(((e,t,s)=>E(Ke(e,t,s,z(l)?l(Nt(e,t,s)):l),(l=>at(e,ut(e),t,s,l)))),e,t,s),setValues:Wt,setPartialValues:e=>Ft((()=>Qe(e,1)?ne(e,((e,t)=>ct(t,e))):0)),setValue:(e,t)=>Ft((e=>E(Ue(e,z(t)?t(xt(e)):t),(t=>ct(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{rt(m(e))}catch{}return Zt},setJson:e=>{try{const[t,s]=m(e);et(t),rt(s)}catch{$t(e)}return Zt},setTablesSchema:qt,setValuesSchema:Bt,setSchema:(e,t)=>Ft((()=>{qt(e),Bt(t)})),delTables:Gt,delTable:e=>Ft((e=>O(Re,e)?dt(e):0),e),delRow:(e,t)=>Ft(((e,t)=>E(x(Re,e),(s=>O(s,t)?ht(e,s,t):0))),e,t),delCell:(e,t,s,l)=>Ft(((e,t,s)=>E(x(Re,e),(n=>E(x(n,t),(a=>O(a,s)?ft(e,n,t,a,s,l):0))))),e,t,s),delValues:Ht,delValue:e=>Ft((e=>O(ye,e)?Tt(e):0),e),delTablesSchema:Kt,delValuesSchema:Qt,delSchema:()=>Ft((()=>{Kt(),Qt()})),transaction:Ut,startTransaction:Xt,finishTransaction:Yt,forEachTable:e=>M(Re,((t,s)=>e(s,(e=>M(t,((t,s)=>e(s,(e=>D(t,e))))))))),forEachTableCell:(e,t)=>D(x(Ce,S(e)),t),forEachRow:(e,t)=>M(x(Re,S(e)),((e,s)=>t(s,(t=>D(e,t))))),forEachCell:(e,t,s)=>D(x(x(Re,S(e)),S(t)),s),forEachValue:e=>D(ye,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=At(e,t,s,l,n);return De((()=>{const r=At(e,t,s,l,n);var c,i,u;i=o,C(c=r)===C(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,a(Zt,e,t,s,l,n,o))}),Ee[r?1:0],[e,t],[Ot])},addStartTransactionListener:e=>De(e,je),addWillFinishTransactionListener:e=>De(e,xe[0]),addDidFinishTransactionListener:e=>De(e,xe[1]),callListener:e=>(qe(e),Zt),delListener:e=>($e(e),Zt),getListenerStats:()=>({}),createStore:he};return ne({[u]:[0,Je],[d]:[0,me],[i]:[1,Ie,[Ot]],[i+T]:[1,pe,[Ot]],[h]:[1,Le,[Ot]],Row:[2,Fe,[Ot,kt]],[T]:[2,ze,[Ot,kt]],[f]:[3,Oe,[Ot,kt,Mt],e=>re(Nt(...e))],InvalidCell:[3,ke],[b]:[0,Me],[V]:[0,Ne],[g]:[1,Pe,[jt],e=>re(xt(e[0]))],InvalidValue:[1,Ae]},(([e,t,s,l],n)=>{Zt["add"+n+"Listener"]=(...n)=>De(n[e],t[n[e+1]?1:0],e>0?R(n,0,e):void 0,s,l)})),ee(Zt)};export{he as createStore};
package/lib/store.js.gz CHANGED
Binary file
package/lib/tinybase.js CHANGED
@@ -1 +1 @@
1
- import{promises as e,watch as t}from"fs";const s=e=>typeof e,n=s(""),o=s(!0),a=s(0),r=s(s),l=e=>""+e,i=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),c=(e,t)=>w(e)===w(t)&&d(e,((e,s)=>t[s]===e)),u=(e,t)=>d(e,((s,n)=>0==n||t(e[n-1],s)<=0)),h=(e,t)=>e.sort(t),f=(e,t)=>e.forEach(t),g=(e,t)=>e.map(t),L=e=>I(e,((e,t)=>e+t),0),w=e=>e.length,v=e=>0==w(e),I=(e,t,s)=>e.reduce(t,s),R=(e,t,s)=>e.slice(t,s),S=(e,...t)=>e.push(...t),T=e=>e.pop(),y=e=>e.shift(),p=e=>JSON.stringify(e,((e,t)=>E(t,Map)?I([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),b=JSON.parse,C=Math.max,m=Math.min,V=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,J=(e,t,s)=>k(e)?s?.():t(e),A=e=>e==n||e==o,M=e=>s(e)==r,D=e=>Array.isArray(e),x=()=>{},F=e=>e.size,Q=(e,t)=>e?.has(t)??!1,z=e=>k(e)||0==F(e),N=e=>[...e?.values()??[]],O=e=>e.clear(),j=(e,t)=>e?.forEach(t),P=(e,t)=>e?.delete(t),W=e=>new Map(e),B=e=>[...e?.keys()??[]],H=(e,t)=>e?.get(t),$=(e,t)=>j(e,((e,s)=>t(s,e))),q=(e,t,s)=>k(s)?(P(e,t),e):e?.set(t,s),G=(e,t,s)=>(Q(e,t)||q(e,t,s()),H(e,t)),K=(e,t,s)=>{const n={},o=t??(e=>e);return j(e,((e,t)=>J(o(e),(e=>s?.(e)?0:n[t]=e)))),n},U=(e,t)=>{const s=W(),n=t??(e=>e);return j(e,((e,t)=>s.set(t,n(e)))),s},X=e=>U(e,U),Y=(e,t,s,n,o=0)=>J((s?G:H)(e,t[o],o>w(t)-2?s:W),(a=>{if(o>w(t)-2)return n?.(a)&&q(e,t[o]),a;const r=Y(a,t,s,n,o+1);return z(a)&&q(e,t[o]),r})),Z=e=>{const t=s(e);return A(t)||t==a&&V(e)?t:void 0},_=(e,t,s,n,o)=>k(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),te=e=>new Set(D(e)||k(e)?e:[e]),se=(e,t)=>e?.add(t),ne=(e,t,s)=>{const n=e.hasRow,o=W(),a=W(),r=W(),l=W(),i=W(),d=(t,s,...n)=>{const o=G(i,t,te);return f(n,(t=>se(o,t)&&s&&e.callListener(t))),n},u=(t,...s)=>J(H(i,t),(n=>{f(v(s)?N(n):s,(t=>{e.delListener(t),P(n,t)})),z(n)&&q(i,t)})),h=(e,s)=>{q(o,e,s),Q(a,e)||(q(a,e,t()),q(r,e,W()),q(l,e,W()))},g=e=>{q(o,e),q(a,e),q(r,e),q(l,e),u(e)};return[()=>e,()=>B(o),e=>$(a,e),e=>Q(a,e),e=>H(o,e),e=>H(a,e),(e,t)=>q(a,e,t),h,(t,o,a,i,g)=>{h(t,o);const L=W(),w=W(),v=H(r,t),I=H(l,t),R=t=>{const a=s=>e.getCell(o,t,s),r=H(v,t),l=n(o,t)?s(i(a,t)):void 0;if(r===l||D(r)&&D(l)&&c(r,l)||q(L,t,[r,l]),!k(g)){const e=H(I,t),s=n(o,t)?g(a,t):void 0;e!=s&&q(w,t,s)}},S=e=>{a((()=>{j(L,(([,e],t)=>q(v,t,e))),j(w,((e,t)=>q(I,t,e)))}),L,w,v,I,e),O(L),O(w)};$(v,R),e.hasTable(o)&&f(e.getRowIds(o),(e=>{Q(v,e)||R(e)})),S(!0),u(t),d(t,0,e.addRowListener(o,null,((e,t,s)=>R(s))),e.addTableListener(o,(()=>S())))},g,()=>$(i,g),d,u]},oe=(e,t)=>s(e)==n?t=>t(e):e??(()=>t??""),ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},re=/^\d+$/,le=()=>{const e=[];let t=0;return[()=>y(e)??""+t++,t=>{re.test(t)&&w(e)<1e3&&S(e,t)}]},ie=e=>{let t;const[s,n]=le(),o=W();return[(n,a,r,l=[],i=(()=>[]))=>{t??=e();const d=s();return q(o,d,[n,a,r,l,i]),se(Y(a,r??[""],te),d),d},(e,s,...n)=>f(((e,t=[""])=>{const s=[],n=(e,o)=>o==w(t)?S(s,e):null===t[o]?j(e,(e=>n(e,o+1))):f([t[o],null],(t=>n(H(e,t),o+1)));return n(e,0),s})(e,s),(e=>j(e,(e=>H(o,e)[0](t,...s??[],...n))))),e=>J(H(o,e),(([,t,s])=>(Y(t,s??[""],void 0,(t=>(P(t,e),z(t)?1:0))),q(o,e),n(e),s))),e=>J(H(o,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const l=w(r);l==w(s)?e(t,...r,...o(r)):k(s[l])?f(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,s[l])};a()}))]},de=Object,ce=de.keys,ue=de.isFrozen,he=de.freeze,fe=e=>E(e,de)&&e.constructor==de,ge=(e,t)=>!k(((e,t)=>J(e,(e=>e[t])))(e,t)),Le=(e,t)=>delete e[t],we=(e,t)=>g(de.entries(e),(([e,s])=>t(s,e))),ve=e=>fe(e)&&v(ce(e)),Ie=ae((e=>{let t,s,n,o=100,a=W(),r=W(),l=1;const d=W(),c=W(),[u,h,g]=ie((()=>U)),L=W(),I=W(),R=[],p=[],b=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=H(L,s);j(n,((s,n)=>j(s,((s,o)=>j(s,((s,a)=>_(e,n,o,a,s[t]))))))),j(o,((s,n)=>ee(e,n,s[t])))})),l=1},C=e=>{q(L,e),q(I,e),h(c,[e])},m=(e,t)=>f(((e,t)=>e.splice(0,t))(e,t??w(e)),C),V=()=>m(R,w(R)-o),E=()=>J(t,(()=>{S(R,t),V(),m(p),t=void 0,n=1})),A=()=>{t=T(R),n=1},M=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){E();const e=G(a,t,W),l=G(e,s,W),i=G(l,n,(()=>[r,void 0]));i[1]=o,i[0]===o&&z(q(l,n))&&z(q(e,s))&&z(q(a,t))&&A(),O()}})),D=e.addValueListener(null,((e,t,s,n)=>{if(l){E();const e=G(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&z(q(r,t))&&A(),O()}})),x=(e="")=>(k(t)&&(t=""+s++,q(L,t,[a,r]),B(t,e),a=W(),r=W(),n=1),t),F=()=>{v(R)||(((e,...t)=>{e.unshift(...t)})(p,x()),b(0,t),t=T(R),n=1)},N=()=>{v(p)||(S(R,t),t=y(p),b(1,t),n=1)},O=()=>{n&&(h(d),n=0)},P=e=>{const t=x(e);return O(),t},B=(e,t)=>(K(e)&&H(I,e)!==t&&(q(I,e,t),h(c,[e])),U),K=e=>Q(L,e),U={setSize:e=>(o=e,V(),U),addCheckpoint:P,setCheckpoint:B,getStore:()=>e,getCheckpointIds:()=>[[...R],t,[...p]],forEachCheckpoint:e=>$(I,e),hasCheckpoint:K,getCheckpoint:e=>H(I,e),goBackward:()=>(F(),O(),U),goForward:()=>(N(),O(),U),goTo:e=>{const s=i(R,e)?F:i(p,e)?N:null;for(;!k(s)&&e!=t;)s();return O(),U},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(g(e),U),clear:()=>(m(R),m(p),k(t)||C(t),t=void 0,s=0,P(),U),destroy:()=>{e.delListener(M),e.delListener(D)},getListenerStats:()=>({})};return he(U.clear())})),Re=(e,t)=>e<t?-1:1,Se=ae((e=>{const t=W(),s=W(),[n,o,a,r,i,d,c,,f,L,w]=ne(e,W,(e=>k(e)?"":D(e)?g(e,l):l(e))),[v,I,R]=ie((()=>T)),S=(t,s,n)=>{const o=i(t);j(n,((t,n)=>s(n,(s=>j(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},T={setIndexDefinition:(e,n,o,a,r,l=Re)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return f(e,n,((n,o,r,f,g,L)=>{let w=0;const v=te(),R=te(),S=d(e);if(j(o,(([e,t],s)=>{const n=te(e),o=te(t);j(n,(e=>P(o,e)?P(n,e):0)),j(n,(e=>{se(v,e),J(H(S,e),(t=>{P(t,s),z(t)&&(q(S,e),w=1)}))})),j(o,(e=>{se(v,e),Q(S,e)||(q(S,e,te()),w=1),se(H(S,e),s),k(a)||se(R,e)}))})),n(),z(g)||(L?$(S,(e=>se(R,e))):$(r,(e=>J(H(f,e),(e=>se(R,e))))),j(R,(e=>{const t=(t,s)=>l(H(g,t),H(g,s),e),s=[...H(S,e)];u(s,t)||(q(S,e,te(h(s,t))),se(v,e))}))),(w||L)&&!k(i)){const t=[...S];u(t,i)||(c(e,W(h(t,i))),w=1)}w&&I(t,[e]),j(v,(t=>I(s,[e,t])))}),oe(o),J(a,oe)),T},delIndexDefinition:e=>(L(e),T),getStore:n,getIndexIds:o,forEachIndex:e=>a(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,d(e)),hasIndex:r,hasSlice:(e,t)=>Q(d(e),t),getTableId:i,getSliceIds:e=>B(d(e)),getSliceRowIds:(e,t)=>N(H(d(e),t)),addSliceIdsListener:(e,s)=>v(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>v(n,s,[e,t]),delListener:e=>(R(e),T),destroy:w,getListenerStats:()=>({})};return he(T)})),Te=W([["avg",[(e,t)=>L(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:C(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["sum",[e=>L(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ye=(e,t,s,n,o,a=!1)=>{if(z(s))return;const[r,l,i,d]=o;return a||=k(e),j(n,(([s,n])=>{a||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=k(e))})),a?r(N(s),F(s)):e},pe=ae((e=>{const t=W(),[s,n,o,a,r,l,i,,d,c,u]=ne(e,x,(e=>isNaN(e)||k(e)||!0===e||!1===e||""===e?void 0:1*e)),[h,f,g]=ie((()=>L)),L={setMetricDefinition:(e,s,n,o,a,r,c)=>{const u=M(n)?[n,a,r,c]:H(Te,n)??H(Te,"sum");return d(e,s,((s,n,o,a,r,d)=>{const c=l(e),h=F(a);d||=k(c),s();let g=ye(c,h,a,n,u,d);V(g)||(g=void 0),g!=c&&(i(e,g),f(t,[e],g,c))}),oe(o,1)),L},delMetricDefinition:e=>(c(e),L),getStore:s,getMetricIds:n,forEachMetric:o,hasMetric:a,getTableId:r,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(g(e),L),destroy:u,getListenerStats:()=>({})};return he(L)})),be=(e,t,s,n,o)=>{let a,r,l=0;const i={load:async(s,n)=>{if(2!=l){l=1;const o=await t();k(o)||""==o?e.transaction((()=>e.setTables(s).setValues(n))):e.setJson(o),l=0}return i},startAutoLoad:async(e,t)=>(i.stopAutoLoad(),await i.load(e,t),n(i.load),i),stopAutoLoad:()=>(o(),i),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),i),startAutoSave:async()=>(await i.stopAutoSave().save(),a=e.addTablesListener(i.save),r=e.addValuesListener(i.save),i),stopAutoSave:()=>(J(a,e.delListener),J(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return he(i)},Ce=globalThis.window,me=(e,t,s)=>{let n;return be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Ce.addEventListener("storage",n)}),(()=>{Ce.removeEventListener("storage",n),n=void 0}))},Ve=(e,t)=>me(e,t,localStorage),Ee=(e,t)=>me(e,t,sessionStorage),ke=(s,n)=>{let o;return be(s,(async()=>{try{return await e.readFile(n,"utf8")}catch{}}),(async t=>{try{await e.writeFile(n,t,"utf8")}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Je=e=>e.headers.get("ETag"),Ae=(e,t,s,n)=>{let o,a;return be(e,(async()=>{const e=await fetch(t);return a=Je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Je(s);k(a)||k(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{J(o,clearInterval),o=void 0}))},Me=ae((e=>{const t=e.createStore,[s,n,o,a,r,,,l,,i,c,u,h]=ne(e,(()=>!0),x),g=t(),L=t(),I=W(),T=(e,t,...s)=>f(s,(s=>se(G(G(I,t,W),e,te),s))),y=e=>{J(H(I,e),(e=>{$(e,((e,t)=>j(t,(t=>e.delListener(t))))),O(e)})),f([L,g],(t=>t.delTable(e)))},p=(e,t,s)=>T(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),b={setQueryDefinition:(t,s,n)=>{l(t,s),y(t);const o=[],a=[[null,[s,null,null,[],W()]]],r=[],i=[],c=[];n({select:(e,t)=>{const s=M(e)?[w(o)+"",e]:[k(t)?e:t,s=>s(e,t)];return S(o,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=k(s)||M(t)?null:t,o=k(n)?t:s,r=[e,[e,n,M(o)?o:e=>e(o),[],W()]];return S(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>S(r,M(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,M(t)?[t,s,n,o]:H(Te,t)??[(e,t)=>t]]];return S(i,a),{as:e=>a[0]=e}},having:(e,t)=>S(c,M(e)?e:s=>s(e)===t)});const I=W(o);if(z(I))return b;const R=W(a);$(R,((e,[,t])=>J(H(R,t),(({3:t})=>k(e)?0:S(t,e)))));const C=W(i);let m=g;if(z(C)&&v(c))m=L;else{p(t,m,L);const e=W();$(C,((t,[s,n])=>se(G(e,s,te),[t,n])));const s=te();$(I,(t=>Q(e,t)?0:se(s,t)));const n=W(),o=(s,n,o,a)=>J(s,(([r,l,i,u])=>{$(n,((t,[s])=>{const n=G(r,t,W),l=H(n,o),i=a?void 0:s;if(l!==i){const s=te([[l,i]]),a=F(n);q(n,o,i),j(H(e,t),(([e,t])=>{const o=ye(u[e],a,n,s,t);u[e]=k(Z(o))?null:o}))}})),z(l)||!d(c,(e=>e((e=>u[e]))))?L.delRow(t,i):k(i)?s[2]=L.addRow(t,u):L.setRow(t,i,u)}));T(m,t,m.addRowListener(t,null,((a,r,l,i)=>{const d=[],c=[],u=W(),h=m.hasRow(t,l);let f=!h;j(s,(e=>{const[s,n,o]=i(t,l,e);S(d,n),S(c,o),f||=s})),$(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&q(u,e,[n])})),f&&o(Y(n,d,void 0,(([,e])=>(P(e,l),z(e)))),u,l,1),h&&o(Y(n,c,(()=>{const e={};return j(s,(s=>e[s]=m.getCell(t,l,s))),[W(),te(),void 0,e]}),(([,e])=>{se(e,l)})),u,l)})))}p(t,e,m);const V=(n,o,a,l)=>{const i=t=>e.getCell(o,a,t);f(l,(s=>{const[o,,a,r,l]=H(R,s),d=a?.(i,n),[c,f]=H(l,n)??[];d!=c&&(k(f)||h(t,f),q(l,n,k(d)?null:[d,...u(t,1,e.addRowListener(o,d,(()=>V(n,o,d,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...k(o)?[s,n,t]:t===s?[s,n,o]:[H(R,t)?.[0],H(H(R,t)?.[4],n)?.[0],o]);m.transaction((()=>d(r,(e=>e(o)))?$(I,((e,s)=>_(m,t,n,e,s(o,n)))):m.delRow(t,n)))})(n)},{3:E}=H(R,null);return m.transaction((()=>u(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?V(a,s,a,E):(m.delRow(t,a),j(R,(({4:e})=>J(H(e,a),(([,s])=>{h(t,s),q(e,a)})))))}))))),b},delQueryDefinition:e=>(y(e),i(e),b),getStore:s,getQueryIds:n,forEachQuery:o,hasQuery:a,getTableId:r,delListener:e=>(L.delListener(e),b),destroy:c,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=L.getListenerStats();return n}};return we({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],s)=>{f(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+s]=(...t)=>L[e+s](...t))),b["addResult"+s+"Listener"]=(...e)=>L["add"+s+"Listener"](...R(e,0,t),((s,...n)=>e[t](b,...n)))})),he(b)})),De=ae((e=>{const t=W(),s=W(),n=W(),o=W(),[a,r,l,i,d,c,,,u,h,f]=ne(e,(()=>[W(),W(),W(),W()]),(e=>k(e)?void 0:e+"")),[g,L,w]=ie((()=>S)),v=(e,t,s)=>J(c(e),(([n,,o])=>{if(!Q(o,t)){const a=te();if(d(e)!=R(e))se(a,t);else{let e=t;for(;!k(e)&&!Q(a,e);)se(a,e),e=H(n,e)}if(s)return a;q(o,t,a)}return H(o,t)})),I=(e,t)=>J(c(e),(([,,e])=>q(e,t))),R=e=>H(t,e),S={setRelationshipDefinition:(e,a,r,l)=>(q(t,e,r),u(e,a,((t,a)=>{const r=te(),l=te(),i=te(),[d,u]=c(e);j(a,(([t,s],n)=>{k(t)||(se(l,t),J(H(u,t),(e=>{P(e,n),z(e)&&q(u,t)}))),k(s)||(se(l,s),Q(u,s)||q(u,s,te()),se(H(u,s),n)),se(r,n),q(d,n,s),$(H(o,e),(t=>{Q(v(e,t),n)&&se(i,t)}))})),t(),j(r,(t=>L(s,[e,t]))),j(l,(t=>L(n,[e,t]))),j(i,(t=>{I(e,t),L(o,[e,t])}))}),oe(l)),S),delRelationshipDefinition:e=>(q(t,e),h(e),S),getStore:a,getRelationshipIds:r,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>H(c(e)?.[0],t),getLocalRowIds:(e,t)=>N(H(c(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(c(e))?[t]:N(v(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>g(s,n,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),g(s,o,[e,t])),delListener:e=>(I(...w(e)),S),destroy:f,getListenerStats:()=>({})};return he(S)})),xe=e=>[e,e],Fe=()=>[W(),W()],Qe=(e,t,s,n=q)=>{const o=(a=e=>!ge(t,e),B(e).filter(a));var a;return f(ce(t),(n=>s(e,n,t[n]))),f(o,(t=>n(e,t))),e},ze=(e,t,s)=>k(e)||!fe(e)||ve(e)||ue(e)?(s?.(),!1):(we(e,((s,n)=>{t(s,n)||Le(e,n)})),!ve(e)),Ne=(e,t,s)=>q(e,t,H(e,t)==-s?void 0:s),Oe=()=>{let e,t,s,n,o=0;const r=W(),d=W(),u=W(),L=W(),w=W(),v=W(),I=W(),T=W(),y=W(),C=W(),m=W(),V=W(),E=te(),D=W(),x=W(),F=W(),N=Fe(),Y=Fe(),ne=Fe(),oe=Fe(),ae=Fe(),re=Fe(),de=Fe(),ce=Fe(),ue=Fe(),fe=Fe(),Ie=Fe(),Se=Fe(),Te=Fe(),ye=Fe(),[pe,be,Ce,me]=ie((()=>Pt)),Ve=e=>{if(!ze(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!A(t)&&t!=a||(Z(e.default)!=t&&Le(e,"default"),0))},Ee=(t,s)=>(!e||Q(y,s)||ct(s))&&ze(t,((e,t)=>ke(s,t,e)),(()=>ct(s))),ke=(e,t,s,n)=>ze(n?s:De(s,e,t),((n,o)=>J(Je(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>ct(e,t))),Je=(t,s,n,o)=>e?J(H(H(y,t),n),(e=>Z(o)!=e.type?ct(t,s,n,o,e.default):o),(()=>ct(t,s,n,o))):k(Z(o))?ct(t,s,n,o):o,Ae=(e,t)=>ze(t?e:je(e),((t,s)=>J(Me(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>ut())),Me=(e,s)=>t?J(H(m,e),(t=>Z(s)!=t.type?ut(e,s,t.default):s),(()=>ut(e,s))):k(Z(s))?ut(e,s):s,De=(e,t,s)=>(J(H(C,t),(([n,o])=>{j(n,((t,s)=>{ge(e,s)||(e[s]=t)})),j(o,(n=>{ge(e,n)||ct(t,s,n)}))})),e),je=e=>(t&&(j(V,((t,s)=>{ge(e,s)||(e[s]=t)})),j(E,(t=>{ge(e,t)||ut(t)}))),e),Pe=e=>Qe(y,e,((e,t,s)=>{const n=W(),o=te();Qe(G(y,t,W),s,((e,t,s)=>{q(e,t,s),J(s.default,(e=>q(n,t,e)),(()=>se(o,t)))})),q(C,t,[n,o])}),((e,t)=>{q(y,t),q(C,t)})),We=e=>Qe(m,e,((e,t,s)=>{q(m,t,s),J(s.default,(e=>q(V,t,e)),(()=>se(E,t)))}),((e,t)=>{q(m,t),q(V,t),P(E,t)})),Be=e=>ve(e)?xt():kt(e),He=e=>Qe(x,e,((e,t,s)=>$e(t,s)),((e,t)=>et(t))),$e=(e,t)=>Qe(G(x,e,(()=>(ot(e,1),W()))),t,((t,s,n)=>qe(e,t,s,n)),((t,s)=>tt(e,t,s))),qe=(e,t,s,n,o)=>Qe(G(t,s,(()=>(at(e,s,1),W()))),n,((t,n,o)=>Ge(e,s,t,n,o)),((n,a)=>st(e,t,s,n,a,o))),Ge=(e,t,s,n,o)=>{Q(s,n)||rt(e,t,n,1);const a=H(s,n);o!==a&&(lt(e,t,n,a,o),q(s,n,o))},Ke=(e,t,s,n,o)=>J(H(t,s),(t=>Ge(e,s,t,n,o)),(()=>qe(e,t,s,De({[n]:o},e,s)))),Ue=e=>ve(e)?Ft():Jt(e),Xe=e=>Qe(F,e,((e,t,s)=>Ye(t,s)),((e,t)=>nt(t))),Ye=(e,t)=>{Q(F,e)||it(e,1);const s=H(F,e);t!==s&&(dt(e,s,t),q(F,e,t))},Ze=e=>{const[t]=G(D,e,le),s=t();return Q(H(x,e),s)?Ze(e):s},_e=e=>H(x,e)??$e(e,{}),et=e=>$e(e,{}),tt=(e,t,s)=>{const[,n]=G(D,e,le);n(s),qe(e,t,s,{},!0)},st=(e,t,s,n,o,a)=>{const r=H(H(C,e)?.[0],o);if(!k(r)&&!a)return Ge(e,s,n,o,r);const l=t=>{lt(e,s,t,H(n,t)),rt(e,s,t,-1),q(n,t)};k(r)?l(o):$(n,l),z(n)&&(at(e,s,-1),z(q(t,s))&&(ot(e,-1),q(x,e),q(D,e)))},nt=e=>{const t=H(V,e);if(!k(t))return Ye(e,t);dt(e,H(F,e)),it(e,-1),q(F,e)},ot=(e,t)=>Ne(r,e,t),at=(e,t,s)=>Ne(G(d,e,W),t,s),rt=(e,t,s,n)=>Ne(G(G(u,e,W),t,W),s,n),lt=(e,t,s,n,o)=>G(G(G(L,e,W),t,W),s,(()=>[n,0]))[1]=o,it=(e,t)=>Ne(w,e,t),dt=(e,t,s)=>G(v,e,(()=>[t,0]))[1]=s,ct=(e,t,s,n,o)=>(S(G(G(G(I,e,W),t,W),s,(()=>[])),n),o),ut=(e,t,s)=>(S(G(T,e,(()=>[])),t),s),ht=(e,t,s)=>J(H(H(H(L,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Ct(e,t,s))])),ft=e=>J(H(v,e),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Et(e))])),gt=e=>z(I)||z(ue[e])?0:j(e?U(I,X):I,((t,s)=>j(t,((t,n)=>j(t,((t,o)=>be(ue[e],[s,n,o],t))))))),Lt=e=>z(T)||z(fe[e])?0:j(e?U(T):T,((t,s)=>be(fe[e],[s],t))),wt=(e,t,s)=>{if(!z(t))return be(e,s),1},vt=e=>{const t=z(ae[e]),s=z(de[e])&&z(oe[e])&&t&&z(Y[e]),n=z(ce[e])&&z(re[e])&&z(ne[e])&&z(N[e]);if(!s||!n){const o=e?[U(r),X(d),U(u,X),U(L,X)]:[r,d,u,L];if(!s){j(o[2],((t,s)=>j(t,((t,n)=>wt(de[e],t,[s,n])))));const s=te();j(o[1],((n,o)=>{wt(oe[e],n,[o])&&!t&&(be(ae[e],[o,null]),se(s,o))})),t||j(o[3],((t,n)=>{if(!Q(s,n)){const s=te();j(t,(e=>j(e,(([t,n],o)=>n!==t?se(s,o):P(e,o))))),j(s,(t=>be(ae[e],[n,t])))}})),wt(Y[e],o[0])}if(!n){let t;j(o[3],((s,n)=>{let o;j(s,((s,a)=>{let r;j(s,(([s,l],i)=>{l!==s&&(be(ce[e],[n,a,i],l,s,ht),t=o=r=1)})),r&&be(re[e],[n,a],ht)})),o&&be(ne[e],[n],ht)})),t&&be(N[e],void 0,ht)}}},It=e=>{const t=z(Se[e]),s=z(Te[e])&&z(Ie[e]);if(!t||!s){const n=e?[U(w),U(v)]:[w,v];if(t||wt(Se[e],n[0]),!s){let t;j(n[1],(([s,n],o)=>{n!==s&&(be(Te[e],[o],n,s,ft),t=1)})),t&&be(Ie[e],void 0,ft)}}},Rt=(e,...t)=>(Nt((()=>e(...g(t,l)))),Pt),St=()=>K(x,(e=>K(e,K))),Tt=()=>B(x),yt=e=>B(H(x,l(e))),pt=(e,t,s,n=0,o)=>{return g(R(h((a=H(x,l(e)),r=(e,s)=>[k(t)?s:H(e,l(t)),s],g([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Re(e,t)*(s?-1:1))),n,k(o)?o:n+o),(([,e])=>e));var a,r},bt=(e,t)=>B(H(H(x,l(e)),l(t))),Ct=(e,t,s)=>H(H(H(x,l(e)),l(t)),l(s)),mt=()=>K(F),Vt=()=>B(F),Et=e=>H(F,l(e)),kt=e=>Rt((()=>(e=>ze(e,Ee,ct))(e)?He(e):0)),Jt=e=>Rt((()=>Ae(e)?Xe(e):0)),At=e=>{try{Be(b(e))}catch{}return Pt},Mt=t=>Rt((()=>{if((e=ze(t,(e=>ze(e,Ve))))&&(Pe(t),!z(x))){const e=St();xt(),kt(e)}})),Dt=e=>Rt((()=>{if(t=(e=>ze(e,Ve))(e)){const s=mt();zt(),Ft(),t=!0,We(e),Jt(s)}})),xt=()=>Rt((()=>He({}))),Ft=()=>Rt((()=>Xe({}))),Qt=()=>Rt((()=>{Pe({}),e=!1})),zt=()=>Rt((()=>{We({}),t=!1})),Nt=(e,t)=>{if(-1==o)return;Ot();const s=e();return jt(t),s},Ot=()=>(o++,Pt),jt=e=>(o>0&&(o--,0==o&&(s=!z(L),n=!z(v),o=1,gt(1),s&&vt(1),Lt(1),n&&It(1),o=-1,e?.(K(L,(e=>K(e,(e=>K(e,(e=>[...e]),(([e,t])=>e===t))),ve)),ve),K(I,(e=>K(e,K))),K(v,(e=>[...e]),(([e,t])=>e===t)),K(T))&&(o=1,j(L,((e,t)=>j(e,((e,s)=>j(e,(([e],n)=>_(Pt,t,s,n,e))))))),j(v,(([e],t)=>ee(Pt,t,e))),o=-1,s=n=!1),be(ye[0],void 0,s,n),gt(0),s&&vt(0),Lt(0),n&&It(0),be(ye[1],void 0,s,n),o=0,f([r,d,u,L,I,w,v,T],O))),Pt),Pt={getTables:St,getTableIds:Tt,getTable:e=>K(H(x,l(e)),K),getRowIds:yt,getSortedRowIds:pt,getRow:(e,t)=>K(H(H(x,l(e)),l(t))),getCellIds:bt,getCell:Ct,getValues:mt,getValueIds:Vt,getValue:Et,hasTables:()=>!z(x),hasTable:e=>Q(x,l(e)),hasRow:(e,t)=>Q(H(x,l(e)),l(t)),hasCell:(e,t,s)=>Q(H(H(x,l(e)),l(t)),l(s)),hasValues:()=>!z(F),hasValue:e=>Q(F,l(e)),getTablesJson:()=>p(x),getValuesJson:()=>p(F),getJson:()=>p([x,F]),getTablesSchemaJson:()=>p(y),getValuesSchemaJson:()=>p(m),getSchemaJson:()=>p([y,m]),setTables:kt,setTable:(e,t)=>Rt((e=>Ee(t,e)?$e(e,t):0),e),setRow:(e,t,s)=>Rt(((e,t)=>ke(e,t,s)?qe(e,_e(e),t,s):0),e,t),addRow:(e,t)=>Nt((()=>{let s;return ke(e,s,t)&&(e=l(e),qe(e,_e(e),s=Ze(e),t)),s})),setPartialRow:(e,t,s)=>Rt(((e,t)=>{if(ke(e,t,s,1)){const n=_e(e);we(s,((s,o)=>Ke(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Rt(((e,t,s)=>J(Je(e,t,s,M(n)?n(Ct(e,t,s)):n),(n=>Ke(e,_e(e),t,s,n)))),e,t,s),setValues:Jt,setPartialValues:e=>Rt((()=>Ae(e,1)?we(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>Rt((e=>J(Me(e,M(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:At,setValuesJson:e=>{try{Ue(b(e))}catch{}return Pt},setJson:e=>{try{const[t,s]=b(e);Be(t),Ue(s)}catch{At(e)}return Pt},setTablesSchema:Mt,setValuesSchema:Dt,setSchema:(e,t)=>Rt((()=>{Mt(e),Dt(t)})),delTables:xt,delTable:e=>Rt((e=>Q(x,e)?et(e):0),e),delRow:(e,t)=>Rt(((e,t)=>J(H(x,e),(s=>Q(s,t)?tt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Rt(((e,t,s)=>J(H(x,e),(o=>J(H(o,t),(a=>Q(a,s)?st(e,o,t,a,s,n):0))))),e,t,s),delValues:Ft,delValue:e=>Rt((e=>Q(F,e)?nt(e):0),e),delTablesSchema:Qt,delValuesSchema:zt,delSchema:()=>Rt((()=>{Qt(),zt()})),transaction:Nt,startTransaction:Ot,finishTransaction:jt,forEachTable:e=>j(x,((t,s)=>e(s,(e=>j(t,((t,s)=>e(s,(e=>$(t,e))))))))),forEachRow:(e,t)=>j(H(x,l(e)),((e,s)=>t(s,(t=>$(e,t))))),forEachCell:(e,t,s)=>$(H(H(x,l(e)),l(t)),s),forEachValue:e=>$(F,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=pt(e,t,s,n,o);return pe((()=>{const r=pt(e,t,s,n,o);c(r,l)||(l=r,a(Pt,e,t,s,n,o,l))}),ae[r?1:0],[e,t],[Tt])},addWillFinishTransactionListener:e=>pe(e,ye[0]),addDidFinishTransactionListener:e=>pe(e,ye[1]),callListener:e=>(me(e),Pt),delListener:e=>(Ce(e),Pt),getListenerStats:()=>({}),createStore:Oe};return we({Tables:[0,N],TableIds:[0,Y],Table:[1,ne,[Tt]],RowIds:[1,oe,[Tt]],Row:[2,re,[Tt,yt]],CellIds:[2,de,[Tt,yt]],Cell:[3,ce,[Tt,yt,bt],e=>xe(Ct(...e))],InvalidCell:[3,ue],Values:[0,Ie],ValueIds:[0,Se],Value:[1,Te,[Vt],e=>xe(Et(e[0]))],InvalidValue:[1,fe]},(([e,t,s,n],o)=>{Pt["add"+o+"Listener"]=(...o)=>pe(o[e],t[o[e+1]?1:0],e>0?R(o,0,e):void 0,s,n)})),he(Pt)};export{Ie as createCheckpoints,be as createCustomPersister,ke as createFilePersister,Se as createIndexes,Ve as createLocalPersister,pe as createMetrics,Me as createQueries,De as createRelationships,Ae as createRemotePersister,Ee as createSessionPersister,Oe as createStore,Re as defaultSorter};
1
+ import{promises as e,watch as t}from"fs";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),l=s(s),i="type",c="default",d="utf8",u="Listener",h="Result",g="add",f="Ids",L="Table",w=L+"s",v=L+f,S="Row",T=S+f,I="Sorted"+S+f,R="Cell",y=R+f,p="Value",b=p+"s",C=p+f,m=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),A=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),D=(e,t)=>e.map(t),x=e=>z(e,((e,t)=>e+t),0),F=e=>e.length,Q=e=>0==F(e),z=(e,t,s)=>e.reduce(t,s),N=(e,t,s)=>e.slice(t,s),O=(e,...t)=>e.push(...t),j=e=>e.pop(),P=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?z([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==a,Y=e=>s(e)==l,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),ae=(e,t)=>e?.forEach(t),re=(e,t)=>e?.delete(t),le=e=>new Map(e),ie=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(re(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),ge=(e,t,s)=>{const n={},o=t??(e=>e);return ae(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},fe=(e,t)=>{const s=le(),n=t??(e=>e);return ae(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>fe(e,fe),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:le),(a=>{if(o>F(t)-2)return n?.(a)&&ue(e,t[o]),a;const r=we(a,t,s,n,o+1);return se(a)&&ue(e,t[o]),r})),ve=e=>{const t=s(e);return X(t)||t==r&&q(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Te=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Ie=e=>new Set(Z(e)||K(e)?e:[e]),Re=(e,t)=>e?.add(t),ye=(e,t,s)=>{const n=e.hasRow,o=le(),a=le(),r=le(),l=le(),i=le(),c=(t,s,...n)=>{const o=he(i,t,Ie);return M(n,(t=>Re(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(i,t),(n=>{M(Q(s)?ne(n):s,(t=>{e.delListener(t),re(n,t)})),se(n)&&ue(i,t)})),u=(e,s)=>{ue(o,e,s),te(a,e)||(ue(a,e,t()),ue(r,e,le()),ue(l,e,le()))},h=e=>{ue(o,e),ue(a,e),ue(r,e),ue(l,e),d(e)};return[()=>e,()=>ie(o),e=>de(a,e),e=>te(a,e),e=>ce(o,e),e=>ce(a,e),(e,t)=>ue(a,e,t),u,(t,o,a,i,h)=>{u(t,o);const g=le(),f=le(),L=ce(r,t),w=ce(l,t),v=t=>{const a=s=>e.getCell(o,t,s),r=ce(L,t),l=n(o,t)?s(i(a,t)):void 0;if(r===l||Z(r)&&Z(l)&&k(r,l)||ue(g,t,[r,l]),!K(h)){const e=ce(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ue(f,t,s)}},S=e=>{a((()=>{ae(g,(([,e],t)=>ue(L,t,e))),ae(f,((e,t)=>ue(w,t,e)))}),g,f,L,w,e),oe(g),oe(f)};de(L,v),e.hasTable(o)&&M(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(i,h),c,d]},pe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ce=/^\d+$/,me=()=>{const e=[];let t=0;return[s=>(s?P(e):null)??n+t++,t=>{Ce.test(t)&&F(e)<1e3&&O(e,t)}]},Ve=e=>{let t;const[s,o]=me(),a=le();return[(o,r,l,i=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(a,d,[o,r,l,i,c]),Re(we(r,l??[n],Ie),d),d},(e,s,...o)=>M(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?O(s,e):null===t[n]?ae(e,(e=>o(e,n+1))):M([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>ae(e,(e=>ce(a,e)[0](t,...s??[],...o))))),e=>U(ce(a,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(re(t,e),se(t)?1:0))),ue(a,e),o(e),s))),e=>U(ce(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const l=F(r);l==F(s)?e(t,...r,...o(r)):K(s[l])?M(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,s[l])};a()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Ae=Ee.freeze,Me=e=>G(e,Ee)&&e.constructor==Ee,De=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),xe=(e,t)=>delete e[t],Fe=(e,t)=>D(Ee.entries(e),(([e,s])=>t(s,e))),Qe=e=>Me(e)&&Q(ke(e)),ze=be((e=>{let t,s,o,a=100,r=le(),l=le(),i=1;const c=le(),d=le(),[u,h,g]=Ve((()=>z)),f=le(),L=le(),w=[],v=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,o]=ce(f,s);ae(n,((s,n)=>ae(s,((s,o)=>ae(s,((s,a)=>Se(e,n,o,a,s[t]))))))),ae(o,((s,n)=>Te(e,n,s[t])))})),i=1},T=e=>{ue(f,e),ue(L,e),h(d,[e])},I=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??F(e)),T),R=()=>I(w,F(w)-a),y=()=>U(t,(()=>{O(w,t),R(),I(v),t=void 0,o=1})),p=()=>{t=j(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(i){y();const e=he(r,t,le),l=he(e,s,le),i=he(l,n,(()=>[a,void 0]));i[1]=o,i[0]===o&&se(ue(l,n))&&se(ue(e,s))&&se(ue(r,t))&&p(),J()}})),C=e.addValueListener(null,((e,t,s,n)=>{if(i){y();const e=he(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(l,t))&&p(),J()}})),m=(e="")=>(K(t)&&(t=n+s++,ue(f,t,[r,l]),D(t,e),r=le(),l=le(),o=1),t),E=()=>{Q(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),S(0,t),t=j(w),o=1)},k=()=>{Q(v)||(O(w,t),t=P(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},A=e=>{const t=m(e);return J(),t},D=(e,t)=>(x(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),z),x=e=>te(f,e),z={setSize:e=>(a=e,R(),z),addCheckpoint:A,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:x,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),z),goForward:()=>(k(),J(),z),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),z},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),z),clear:()=>(I(w),I(v),K(t)||T(t),t=void 0,s=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(C)},getListenerStats:()=>({})};return Ae(z.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=be((e=>{const t=le(),s=le(),[o,a,r,l,i,c,d,,u,h,g]=ye(e,le,(e=>K(e)?n:Z(e)?D(e,m):m(e))),[f,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=i(t);ae(n,((t,n)=>s(n,(s=>ae(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,l=Ne)=>{const i=K(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,g)=>{let f=0;const w=Ie(),v=Ie(),S=c(e);if(ae(o,(([e,t],s)=>{const n=Ie(e),o=Ie(t);ae(n,(e=>re(o,e)?re(n,e):0)),ae(n,(e=>{Re(w,e),U(ce(S,e),(t=>{re(t,s),se(t)&&(ue(S,e),f=1)}))})),ae(o,(e=>{Re(w,e),te(S,e)||(ue(S,e,Ie()),f=1),Re(ce(S,e),s),K(a)||Re(v,e)}))})),n(),se(h)||(g?de(S,(e=>Re(v,e))):de(r,(e=>U(ce(u,e),(e=>Re(v,e))))),ae(v,(e=>{const t=(t,s)=>l(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Ie(A(s,t))),Re(w,e))}))),(f||g)&&!K(i)){const t=[...S];J(t,i)||(d(e,le(A(t,i))),f=1)}f&&L(t,[e]),ae(w,(t=>L(s,[e,t])))}),pe(o),U(a,pe)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>te(c(e),t),getTableId:i,getSliceIds:e=>ie(c(e)),getSliceRowIds:(e,t)=>ne(ce(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,s,[e,t]),delListener:e=>(w(e),S),destroy:g,getListenerStats:()=>({})};return Ae(S)})),je=le([["avg",[(e,t)=>x(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:$(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,o,a=!1)=>{if(se(s))return;const[r,l,i,c]=o;return a||=K(e),ae(n,(([s,n])=>{a||(e=K(s)?l?.(e,n,t++):K(n)?i?.(e,s,t--):c?.(e,n,s,t),a||=K(e))})),a?r(ne(s),ee(s)):e},We=be((e=>{const t=le(),[s,o,a,r,l,i,c,,d,u,h]=ye(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[g,f,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,l)=>{const u=Y(n)?[n,a,r,l]:ce(je,n)??ce(je,"sum");return d(e,s,((s,n,o,a,r,l)=>{const d=i(e),h=ee(a);l||=K(d),s();let g=Pe(d,h,a,n,u,l);q(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),pe(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ae(w)})),Be=(e,t,s,o,a)=>{let r,l,i=0;const c={load:async(s={},o={})=>{if(2!=i){i=1;const a=await t();K(a)||a==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(a),i=0}return c},startAutoLoad:async(e={},t={})=>(c.stopAutoLoad(),await c.load(e,t),o(c.load),c),stopAutoLoad:()=>(a(),c),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),r=e.addTablesListener(c.save),l=e.addValuesListener(c.save),c),stopAutoSave:()=>(U(r,e.delListener),U(l,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ae(c)},He="storage",$e=globalThis.window,qe=(e,t,s)=>{let n;return Be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},$e.addEventListener(He,n)}),(()=>{$e.removeEventListener(He,n),n=void 0}))},Ge=(e,t)=>qe(e,t,localStorage),Ke=(e,t)=>qe(e,t,sessionStorage),Ue=(s,n)=>{let o;return Be(s,(async()=>{try{return await e.readFile(n,d)}catch{}}),(async t=>{try{await e.writeFile(n,t,d)}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Xe=e=>e.headers.get("ETag"),Ye=(e,t,s,n)=>{let o,a;return Be(e,(async()=>{const e=await fetch(t);return a=Xe(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Xe(s);K(a)||K(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},Ze=be((e=>{const t=e.createStore,[s,o,a,r,l,,,i,,c,d,f,w]=ye(e,(()=>!0),_),v=t(),p=t(),b=le(),C=(e,t,...s)=>M(s,(s=>Re(he(he(b,t,le),e,Ie),s))),m=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>ae(t,(t=>e.delListener(t))))),oe(e)})),M([p,v],(t=>t.delTable(e)))},V=(e,t,s)=>C(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{i(t,s),m(t);const a=[],r=[[null,[s,null,null,[],le()]]],l=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(a)+n,e]:[K(t)?e:t,s=>s(e,t)];return O(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,a=[e,[e,n,Y(o)?o:e=>e(o),[],le()]];return O(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>O(l,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,Y(t)?[t,s,n,o]:ce(je,t)??[(e,t)=>t]]];return O(c,a),{as:e=>a[0]=e}},having:(e,t)=>O(d,Y(e)?e:s=>s(e)===t)});const u=le(a);if(se(u))return k;const h=le(r);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:O(t,e)))));const g=le(c);let L=v;if(se(g)&&Q(d))L=p;else{V(t,L,p);const e=le();de(g,((t,[s,n])=>Re(he(e,s,Ie),[t,n])));const s=Ie();de(u,(t=>te(e,t)?0:Re(s,t)));const n=le(),o=(s,n,o,a)=>U(s,(([r,l,i,c])=>{de(n,((t,[s])=>{const n=he(r,t,le),l=ce(n,o),i=a?void 0:s;if(l!==i){const s=Ie([[l,i]]),a=ee(n);ue(n,o,i),ae(ce(e,t),(([e,t])=>{const o=Pe(c[e],a,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(l)||!E(d,(e=>e((e=>c[e]))))?p.delRow(t,i):K(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));C(L,t,L.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=le(),h=L.hasRow(t,l);let g=!h;ae(s,(e=>{const[s,n,o]=i(t,l,e);O(c,n),O(d,o),g||=s})),de(e,(e=>{const[s,,n]=i(t,l,e);(g||s)&&ue(u,e,[n])})),g&&o(we(n,c,void 0,(([,e])=>(re(e,l),se(e)))),u,l,1),h&&o(we(n,d,(()=>{const e={};return ae(s,(s=>e[s]=L.getCell(t,l,s))),[le(),Ie(),void 0,e]}),(([,e])=>{Re(e,l)})),u,l)})))}V(t,e,L);const S=(n,o,a,r)=>{const i=t=>e.getCell(o,a,t);M(r,(s=>{const[o,,a,r,l]=ce(h,s),c=a?.(i,n),[d,u]=ce(l,n)??[];c!=d&&(K(u)||w(t,u),ue(l,n,K(c)?null:[c,...f(t,1,e.addRowListener(o,c,(()=>S(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(l,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:T}=ce(h,null);return L.transaction((()=>f(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?S(a,s,a,T):(L.delRow(t,a),ae(h,(({4:e})=>U(ce(e,a),(([,s])=>{w(t,s),ue(e,a)})))))}))))),k},delQueryDefinition:e=>(m(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return Fe({[L]:[1,1],[T]:[0,1],[I]:[0,5],[S]:[1,2],[y]:[0,2],[R]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>p[e+s](...t))),k[g+h+s+u]=(...e)=>p[g+s+u](...N(e,0,t),((s,...n)=>e[t](k,...n)))})),Ae(k)})),_e=be((e=>{const t=le(),s=le(),o=le(),a=le(),[r,l,i,c,d,u,,,h,g,f]=ye(e,(()=>[le(),le(),le(),le()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>R)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const a=Ie();if(d(e)!=I(e))Re(a,t);else{let e=t;for(;!K(e)&&!te(a,e);)Re(a,e),e=ce(n,e)}if(s)return a;ue(o,t,a)}return ce(o,t)})),T=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),I=e=>ce(t,e),R={setRelationshipDefinition:(e,n,r,l)=>(ue(t,e,r),h(e,n,((t,n)=>{const r=Ie(),l=Ie(),i=Ie(),[c,d]=u(e);ae(n,(([t,s],n)=>{K(t)||(Re(l,t),U(ce(d,t),(e=>{re(e,n),se(e)&&ue(d,t)}))),K(s)||(Re(l,s),te(d,s)||ue(d,s,Ie()),Re(ce(d,s),n)),Re(r,n),ue(c,n,s),de(ce(a,e),(t=>{te(S(e,t),n)&&Re(i,t)}))})),t(),ae(r,(t=>w(s,[e,t]))),ae(l,(t=>w(o,[e,t]))),ae(i,(t=>{T(e,t),w(a,[e,t])}))}),pe(l)),R),delRelationshipDefinition:e=>(ue(t,e),g(e),R),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),L(s,a,[e,t])),delListener:e=>(T(...v(e)),R),destroy:f,getListenerStats:()=>({})};return Ae(R)})),et=e=>[e,e],tt=()=>[le(),le()],st=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>De(t,s)?0:n(e,s))),e),nt=(e,t,s)=>K(e)||!Me(e)||Qe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||xe(e,n)})),!Qe(e)),ot=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),at=()=>{let e,t,s,n,o=0;const a=le(),l=le(),d=le(),h=le(),f=le(),I=le(),E=le(),J=le(),x=le(),F=le(),Q=le(),z=le(),j=le(),P=Ie(),H=le(),$=le(),q=le(),G=le(),Z=tt(),_=tt(),ee=tt(),ne=tt(),we=tt(),ye=tt(),pe=tt(),be=tt(),Ce=tt(),Ee=tt(),ke=tt(),Je=tt(),Me=tt(),ze=tt(),Oe=le(),je=tt(),[Pe,We,Be,He]=Ve((()=>as)),$e=e=>{if(!nt(e,((e,t)=>V([i,c],t))))return!1;const t=e[i];return!(!X(t)&&t!=r||(ve(e[c])!=t&&xe(e,c),0))},qe=(t,s)=>(!e||te(F,s)||Et(s))&&nt(t,((e,t)=>Ge(s,t,e)),(()=>Et(s))),Ge=(e,t,s,n)=>nt(n?s:Ye(s,e,t),((n,o)=>U(Ke(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Et(e,t))),Ke=(t,s,n,o)=>e?U(ce(ce(F,t),n),(e=>ve(o)!=e[i]?Et(t,s,n,o,e[c]):o),(()=>Et(t,s,n,o))):K(ve(o))?Et(t,s,n,o):o,Ue=(e,t)=>nt(t?e:Ze(e),((t,s)=>U(Xe(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>kt())),Xe=(e,s)=>t?U(ce(z,e),(t=>ve(s)!=t[i]?kt(e,s,t[c]):s),(()=>kt(e,s))):K(ve(s))?kt(e,s):s,Ye=(e,t,s)=>(U(ce(Q,t),(([n,o])=>{ae(n,((t,s)=>{De(e,s)||(e[s]=t)})),ae(o,(n=>{De(e,n)||Et(t,s,n)}))})),e),Ze=e=>(t&&(ae(j,((t,s)=>{De(e,s)||(e[s]=t)})),ae(P,(t=>{De(e,t)||kt(t)}))),e),_e=e=>st(F,e,((e,t,s)=>{const n=le(),o=Ie();st(he(F,t,le),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>Re(o,t)))})),ue(Q,t,[n,o])}),((e,t)=>{ue(F,t),ue(Q,t)})),rt=e=>st(z,e,((e,t,s)=>{ue(z,t,s),U(s[c],(e=>ue(j,t,e)),(()=>Re(P,t)))}),((e,t)=>{ue(z,t),ue(j,t),re(P,t)})),lt=e=>Qe(e)?Zt():Gt(e),it=e=>st(q,e,((e,t,s)=>ct(t,s)),((e,t)=>St(t))),ct=(e,t)=>st(he(q,e,(()=>(yt(e,1),ue(H,e,me()),ue($,e,le()),le()))),t,((t,s,n)=>dt(e,t,s,n)),((t,s)=>Tt(e,t,s))),dt=(e,t,s,n,o)=>st(he(t,s,(()=>(pt(e,s,1),le()))),n,((t,n,o)=>ut(e,s,t,n,o)),((n,a)=>It(e,t,s,n,a,o))),ut=(e,t,s,n,o)=>{te(s,n)||bt(e,t,n,1);const a=ce(s,n);o!==a&&(Ct(e,t,n,a,o),ue(s,n,o))},ht=(e,t,s,n,o)=>U(ce(t,s),(t=>ut(e,s,t,n,o)),(()=>dt(e,t,s,Ye({[n]:o},e,s)))),gt=e=>Qe(e)?_t():Kt(e),ft=e=>st(G,e,((e,t,s)=>Lt(t,s)),((e,t)=>Rt(t))),Lt=(e,t)=>{te(G,e)||mt(e,1);const s=ce(G,e);t!==s&&(Vt(e,s,t),ue(G,e,t))},wt=(e,t)=>{const[s]=ce(H,e),n=s(t);return te(ce(q,e),n)?wt(e,t):n},vt=e=>ce(q,e)??ct(e,{}),St=e=>ct(e,{}),Tt=(e,t,s)=>{const[,n]=ce(H,e);n(s),dt(e,t,s,{},!0)},It=(e,t,s,n,o,a)=>{const r=ce(ce(Q,e)?.[0],o);if(!K(r)&&!a)return ut(e,s,n,o,r);const l=t=>{Ct(e,s,t,ce(n,t)),bt(e,s,t,-1),ue(n,t)};K(r)?l(o):de(n,l),se(n)&&(pt(e,s,-1),se(ue(t,s))&&(yt(e,-1),ue(q,e),ue(H,e),ue($,e)))},Rt=e=>{const t=ce(j,e);if(!K(t))return Lt(e,t);Vt(e,ce(G,e)),mt(e,-1),ue(G,e)},yt=(e,t)=>ot(a,e,t),pt=(e,t,s)=>ot(he(d,e,le),t,s),bt=(e,t,s,n)=>{const o=ce($,e),a=ce(o,s)??0;(0==a&&1==n||1==a&&-1==n)&&ot(he(l,e,le),s,n),ue(o,s,a!=-n?a+n:null),ot(he(he(h,e,le),t,le),s,n)},Ct=(e,t,s,n,o)=>he(he(he(f,e,le),t,le),s,(()=>[n,0]))[1]=o,mt=(e,t)=>ot(I,e,t),Vt=(e,t,s)=>he(E,e,(()=>[t,0]))[1]=s,Et=(e,t,s,n,o)=>(O(he(he(he(J,e,le),t,le),s,(()=>[])),n),o),kt=(e,t,s)=>(O(he(x,e,(()=>[])),t),s),Jt=(e,t,s)=>U(ce(ce(ce(f,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Bt(e,t,s))])),At=e=>U(ce(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,...et(qt(e))])),Mt=e=>se(J)||se(Ee[e])?0:ae(e?fe(J,Le):J,((t,s)=>ae(t,((t,n)=>ae(t,((t,o)=>We(Ee[e],[s,n,o],t))))))),Dt=e=>se(x)||se(ke[e])?0:ae(e?fe(x):x,((t,s)=>We(ke[e],[s],t))),xt=(e,t,s)=>{if(!se(t))return We(e,s,(()=>ge(t))),1},Ft=e=>{const t=se(ye[e]),s=se(be[e])&&se(ne[e])&&se(we[e])&&t&&se(_[e]),n=se(Ce[e])&&se(pe[e])&&se(ee[e])&&se(Z[e]);if(!s||!n){const o=e?[fe(a),Le(l),Le(d),fe(h,Le),fe(f,Le)]:[a,l,d,h,f];if(!s){ae(o[1],((t,s)=>xt(ne[e],t,[s]))),ae(o[3],((t,s)=>ae(t,((t,n)=>xt(be[e],t,[s,n])))));const s=Ie();ae(o[2],((n,o)=>{xt(we[e],n,[o])&&!t&&(We(ye[e],[o,null]),Re(s,o))})),t||ae(o[4],((t,n)=>{if(!te(s,n)){const s=Ie();ae(t,(e=>ae(e,(([t,n],o)=>n!==t?Re(s,o):re(e,o))))),ae(s,(t=>We(ye[e],[n,t])))}})),xt(_[e],o[0])}if(!n){let t;ae(o[4],((s,n)=>{let o;ae(s,((s,a)=>{let r;ae(s,(([s,l],i)=>{l!==s&&(We(Ce[e],[n,a,i],l,s,Jt),t=o=r=1)})),r&&We(pe[e],[n,a],Jt)})),o&&We(ee[e],[n],Jt)})),t&&We(Z[e],void 0,Jt)}}},Qt=e=>{const t=se(Me[e]),s=se(ze[e])&&se(Je[e]);if(!t||!s){const n=e?[fe(I),fe(E)]:[I,E];if(t||xt(Me[e],n[0]),!s){let t;ae(n[1],(([s,n],o)=>{n!==s&&(We(ze[e],[o],n,s,At),t=1)})),t&&We(Je[e],void 0,At)}}},zt=(e,...t)=>(ss((()=>e(...D(t,m)))),as),Nt=()=>ge(q,(e=>ge(e,ge))),Ot=()=>ie(q),jt=e=>ie(ce(q,m(e))),Pt=(e,t,s,n=0,o)=>{return D(N(A((a=ce(q,m(e)),r=(e,s)=>[K(t)?s:ce(e,m(t)),s],D([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var a,r},Wt=(e,t)=>ie(ce(ce(q,m(e)),m(t))),Bt=(e,t,s)=>ce(ce(ce(q,m(e)),m(t)),m(s)),Ht=()=>ge(G),$t=()=>ie(G),qt=e=>ce(G,m(e)),Gt=e=>zt((()=>(e=>nt(e,qe,Et))(e)?it(e):0)),Kt=e=>zt((()=>Ue(e)?ft(e):0)),Ut=e=>{try{lt(B(e))}catch{}return as},Xt=t=>zt((()=>{if((e=nt(t,(e=>nt(e,$e))))&&(_e(t),!se(q))){const e=Nt();Zt(),Gt(e)}})),Yt=e=>zt((()=>{if(t=(e=>nt(e,$e))(e)){const s=Ht();ts(),_t(),t=!0,rt(e),Kt(s)}})),Zt=()=>zt((()=>it({}))),_t=()=>zt((()=>ft({}))),es=()=>zt((()=>{_e({}),e=!1})),ts=()=>zt((()=>{rt({}),t=!1})),ss=(e,t)=>{if(-1!=o){ns();const s=e();return os(t),s}},ns=()=>(-1!=o&&o++,1==o&&We(Oe,void 0,!1,!1),as),os=e=>(o>0&&(o--,0==o&&(s=!se(f),n=!se(E),o=1,Mt(1),s&&Ft(1),Dt(1),n&&Qt(1),e?.(ge(f,(e=>ge(e,(e=>ge(e,(e=>[...e]),(([e,t])=>e===t))),Qe)),Qe),ge(J,(e=>ge(e,ge))),ge(E,(e=>[...e]),(([e,t])=>e===t)),ge(x))&&(ae(f,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Se(as,t,s,n,e))))))),ae(E,(([e],t)=>Te(as,t,e))),s=n=!1),We(je[0],void 0,s,n),o=-1,Mt(0),s&&Ft(0),Dt(0),n&&Qt(0),We(je[1],void 0,s,n),o=0,M([a,l,d,h,f,J,I,E,x],oe))),as),as={getTables:Nt,getTableIds:Ot,getTable:e=>ge(ce(q,m(e)),ge),getTableCellIds:e=>ie(ce($,m(e))),getRowIds:jt,getSortedRowIds:Pt,getRow:(e,t)=>ge(ce(ce(q,m(e)),m(t))),getCellIds:Wt,getCell:Bt,getValues:Ht,getValueIds:$t,getValue:qt,hasTables:()=>!se(q),hasTable:e=>te(q,m(e)),hasTableCell:(e,t)=>te(ce($,m(e)),m(t)),hasRow:(e,t)=>te(ce(q,m(e)),m(t)),hasCell:(e,t,s)=>te(ce(ce(q,m(e)),m(t)),m(s)),hasValues:()=>!se(G),hasValue:e=>te(G,m(e)),getTablesJson:()=>W(q),getValuesJson:()=>W(G),getJson:()=>W([q,G]),getTablesSchemaJson:()=>W(F),getValuesSchemaJson:()=>W(z),getSchemaJson:()=>W([F,z]),setTables:Gt,setTable:(e,t)=>zt((e=>qe(t,e)?ct(e,t):0),e),setRow:(e,t,s)=>zt(((e,t)=>Ge(e,t,s)?dt(e,vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ss((()=>{let n;return Ge(e,n,t)&&(e=m(e),dt(e,vt(e),n=wt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>zt(((e,t)=>{if(Ge(e,t,s,1)){const n=vt(e);Fe(s,((s,o)=>ht(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>zt(((e,t,s)=>U(Ke(e,t,s,Y(n)?n(Bt(e,t,s)):n),(n=>ht(e,vt(e),t,s,n)))),e,t,s),setValues:Kt,setPartialValues:e=>zt((()=>Ue(e,1)?Fe(e,((e,t)=>Lt(t,e))):0)),setValue:(e,t)=>zt((e=>U(Xe(e,Y(t)?t(qt(e)):t),(t=>Lt(e,t)))),e),setTablesJson:Ut,setValuesJson:e=>{try{gt(B(e))}catch{}return as},setJson:e=>{try{const[t,s]=B(e);lt(t),gt(s)}catch{Ut(e)}return as},setTablesSchema:Xt,setValuesSchema:Yt,setSchema:(e,t)=>zt((()=>{Xt(e),Yt(t)})),delTables:Zt,delTable:e=>zt((e=>te(q,e)?St(e):0),e),delRow:(e,t)=>zt(((e,t)=>U(ce(q,e),(s=>te(s,t)?Tt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>zt(((e,t,s)=>U(ce(q,e),(o=>U(ce(o,t),(a=>te(a,s)?It(e,o,t,a,s,n):0))))),e,t,s),delValues:_t,delValue:e=>zt((e=>te(G,e)?Rt(e):0),e),delTablesSchema:es,delValuesSchema:ts,delSchema:()=>zt((()=>{es(),ts()})),transaction:ss,startTransaction:ns,finishTransaction:os,forEachTable:e=>ae(q,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachTableCell:(e,t)=>de(ce($,m(e)),t),forEachRow:(e,t)=>ae(ce(q,m(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(q,m(e)),m(t)),s),forEachValue:e=>de(G,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=Pt(e,t,s,n,o);return Pe((()=>{const r=Pt(e,t,s,n,o);k(r,l)||(l=r,a(as,e,t,s,n,o,l))}),ye[r?1:0],[e,t],[Ot])},addStartTransactionListener:e=>Pe(e,Oe),addWillFinishTransactionListener:e=>Pe(e,je[0]),addDidFinishTransactionListener:e=>Pe(e,je[1]),callListener:e=>(He(e),as),delListener:e=>(Be(e),as),getListenerStats:()=>({}),createStore:at};return Fe({[w]:[0,Z],[v]:[0,_],[L]:[1,ee,[Ot]],[L+y]:[1,ne,[Ot]],[T]:[1,we,[Ot]],[S]:[2,pe,[Ot,jt]],[y]:[2,be,[Ot,jt]],[R]:[3,Ce,[Ot,jt,Wt],e=>et(Bt(...e))],InvalidCell:[3,Ee],[b]:[0,Je],[C]:[0,Me],[p]:[1,ze,[$t],e=>et(qt(e[0]))],InvalidValue:[1,ke]},(([e,t,s,n],o)=>{as[g+o+u]=(...o)=>Pe(o[e],t[o[e+1]?1:0],e>0?N(o,0,e):void 0,s,n)})),Ae(as)};export{ze as createCheckpoints,Be as createCustomPersister,Ue as createFilePersister,Oe as createIndexes,Ge as createLocalPersister,We as createMetrics,Ze as createQueries,_e as createRelationships,Ye as createRemotePersister,Ke as createSessionPersister,at as createStore,Ne as defaultSorter};
Binary file
package/lib/tools.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",$="Ids",c="Table",i=c+"s",u=c+$,p="Row",b=p+$,C="Sorted"+p+$,h="Cell",g=h+$,m="Value",f=m+"s",w=m+$,y=(e,t)=>e.every(t),T=(e,t)=>e.sort(t),v=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),k=(e,t)=>e.filter(t),S=(e,...t)=>e.push(...t),P=e=>e.pop(),A=(e,...t)=>e.unshift(...t),E=e=>e.shift(),D=JSON.parse,O=isFinite,N=(e,t)=>e instanceof t,L=e=>null==e,j=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return j(l)||l==n&&O(t)?l:void 0},z=(e,t)=>e?.has(t)??!1,W=e=>[...e?.values()??[]],B=(e,t)=>e?.forEach(t),F=(e,t)=>e?.delete(t),U=e=>new Map(e),_=(e,t)=>e?.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>V([...e?.entries()??[]],(([e,l])=>t(l,e))),Q=(e,t,l)=>L(l)?(F(e,t),e):e?.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",$e="Invalid",ce="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",ge="Provider",me=`Registers a ${ie} that will be called`,fe="Represents",we="rowId: "+Ie,ye="Schema",Te="Set",ve=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",ke=X(Re),Se="Execute a "+ke+" to make multiple mutations",Pe="Explicitly starts a "+ke,Ae="Explicitly finishes a "+ke,Ee="the end of the "+ke,De="void",Oe=" => "+De,Ne="WhenSet",Le=" when setting it",je=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>fe+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+c,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>me+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+c,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",fe,"Gets "+je,"Sets "+je,me+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+je+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+c+Me+$,Y+c,Je+p+Me+$,Y+p,Je+h+Me+$,Y+h,"invalid Cell changes",f,Je+m+Me+$,Y+m,"invalid Value changes",Je+"sorted "+p+Me+$],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||L(e)?e:[e]),st=(e,t)=>e?.add(t),It=/[^A-Za-z]+/,$t=/[^A-Za-z0-9]+/,ct=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace(ct,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),gt=e=>e.flat(1e3),mt=(e,t=0)=>ht(V(e.split($t),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),ft=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split($t),"_")),wt=e=>`/** ${e}. */`,yt=(...e)=>ht(k(e,(e=>e)),", "),Tt=(...e)=>"{"+ht(e,"; ")+"}",vt=(...e)=>Tt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U();return[(...e)=>ht(gt(e),"\n"),(t,l,...a)=>v(a,(a=>v([0,1],(n=>(t??n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...T(H(e[l],((e,t)=>`import {${ht(T(W(e)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[wt(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],S(e,P(e)+";"),[`const ${l} = ${E(e)}`,e,t])))]},xt=Object,Rt=xt.keys,kt=xt.freeze,St=e=>N(e,xt)&&e.constructor==xt,Pt=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>St(e)&&R(Rt(e)),Et=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Dt=(e,t,l)=>[t=>Pt(e,((e,a)=>t(a,mt(a,1),l(ft(a),`'${a}'`)))),(t,a)=>Pt(e[t],((e,t)=>a(t,e[o],e[d],l(ft(t),`'${t}'`),mt(t,1)))),e=>Pt(t,((t,a)=>e(a,t[o],t[d],l(ft(a),`'${a}'`),mt(a,1))))],Ot=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+Ne,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),$=e(c+Ie,"keyof "+s,"A "+c+" Id in "+xe),m=`<TId extends ${$}>`,f=e(c,be+`<${s}[TId]>`,"A "+c+" in "+xe,m),w=e(c+Ne,be+`<${I}[TId]>`,"A "+c+" in "+xe+Le,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+c,m),T=e(p+Ne,w+"<TId>[Id]","A "+p+" in a "+c+Le,m),v=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${$}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${$}, CId = ${v}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+Oe,He(Y+h+" Id, and "+h),m),k=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Oe+") "+Oe,He(Y+p+" Id, and a "+h+" iterator"),m),S=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Oe}] : never`,c+" Ids and callback types",`<TId = ${$}>`,0),P=e(c+le,`(...[tableId, forEachRow]: ${S})`+Oe,He(Y+c+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,ee+" returning information about any Cell's changes during a "+ke),D=e(i+r,`(${d}, getCellChange: ${E}${pe})`+Oe,Qe(1)),O=e(u+r,`(${d})`+Oe,Qe(2)),N=e(c+r,`(${d}, tableId: ${$}, getCellChange: ${E}${pe})`+Oe,Qe(3)),j=e(b+r,`(${d}, tableId: ${$})`+Oe,Qe(4,3)),M=e(C+r,"("+yt(d,"tableId: "+$,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+Oe,Qe(13,3)),G=e(p+r,"("+yt(""+d,"tableId: "+$,we,`getCellChange: ${E}${pe}`)+")"+Oe,Qe(5,3)),J=e(g+r,"("+yt(""+d,"tableId: "+$,we)+")"+Oe,Qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${we}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${E} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,I,$,f,w,y,T,v,V,R,k,P,D,O,N,j,M,G,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+Oe,Qe(7,5)),e($e+h+r,`(${d}, tableId: Id, ${we}, cellId: Id, invalidCells: any[])`+Oe,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(f,Tt(...n(((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`))),Be(2,5)),s=e(f+Ne,Tt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(m+Ie,"keyof "+d,"A "+m+" Id in "+xe),$=e(m,be+`<${d}[VId]>`,"A "+m+" Id in "+xe,`<VId extends ${I}>`),c=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${$}<VId>] : never`,m+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(m+le,`(...[valueId, value]: ${c})`+Oe,He(Y+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+ke),p=e(f+r,`(${o}, getValueChange: ${u}${pe})`+Oe,Qe(9)),b=e(w+r,`(${o})`+Oe,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${$}<VId> ${pe}, oldValue: ${$}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,$,i,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Oe,Qe(11)),e($e+m+r,`(${o}, valueId: Id, invalidValues: any[])`+Oe,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Oe,ee+" listening to the completion of a "+ke)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Lt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,jt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,T,V,x,R,k,P]=Vt(),[E,D,O]=Dt(e,l,x),[N,j,G]=Ot(T,E,D,O),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,wt(o)),S(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?Lt:Nt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,jt(I+e+r,o,d?"mutator":t),a,s),K=`./${mt(n)}.d`,X=mt(n,1),Y=mt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",$);const[e,l,n,r,s,I,m,f,w,V,R,k,P,A,O,j,G,J,z,B,Z]=N(Y,X),H=U();E(((e,t)=>{const l=`<'${e}'>`,a=[T(t+c,r+l,fe+` the '${e}' `+c),T(t+c+Ne,s+l,fe+` the '${e}' `+c+Le),T(t+p,I+l,Fe(e)),T(t+p+Ne,m+l,Fe(e,1)),T(t+h+Ie,f+l,`A Cell Id for the '${e}' `+c),T(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+c)),T(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`))];Q(H,e,a),y(1,K,...a)})),y(1,K,e,l,n,f,k,P,A,O,j,G,J,z,B,Z),ae=[e,l,n,f,P,A,O,j,G,J,z,B,H],v([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue(c,xe)),F(5,t,c,De,_e(c,xe),"tableCallback: "+k,"tableCallback as any"),E(((e,l,n)=>{const[o,d,r,s,I,i,u]=_(H,e);v([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,c,a,Ye(e,r),o,n+d))),F(0,l,b,$,Ue(p,Ke(e)),t,n),F(0,l,C,$,Ue(p,Ke(e),1),"cellId?: "+I+ve,n+", cellId, descending, offset, limit"),F(5,l,p,De,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),v([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),we+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s,n+", row"),F(0,l,g,I+Ve,Ue(h,Xe(e)),we,n+", rowId"),F(5,l,h,De,_e(h,Xe(e)),we+", cellCallback: "+i,n+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const $="Map"+mt(d,1);Q(te,d,$);const c=d+(L(r)?pe:t);v([[c],[a],[X,`, cell: ${d} | `+$,", cell as any"],[X]],(([a,d=t,r=t],$)=>F($,l+I,h,a,tt(e,o,$),we+d,n+", rowId, "+s+r)))}))})),F(0,t,i+ce,ce,Be(1,6)),F(2,t,i+ce,X,Be(1,7),"tablesJson: "+ce,"tables"+ce),q(i,P,Be(1,8)+" changes"),q(u,A,qe(2,0,1)),q(c,O,qe(3,0),`tableId: ${n} | null`,"tableId"),q(b,j,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,G,qe(13,3,1),yt("tableId: TId",`cellId: ${f}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,J,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(g,z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,B,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(E((e=>_(H,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),q($e+h,Z,me+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),S(ee,".set"+i+ye+"({",gt(E(((e,l,a)=>[`[${a}]: {`,...D(e,((e,l,a,n)=>`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${L(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,$,c,i]=j(Y,X);y(1,K,e,l,n,s,I,$,c,i),ne=[e,l,n,I,$,c],v([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,f,e,Be(2,n),l,a))),F(0,t,w,n+Ve,Ue(m,xe)),F(5,t,m,"void",_e(m,xe),"valueCallback: "+s,"valueCallback as any"),O(((e,l,n,o,d)=>{const r="Map"+mt(l,1);Q(te,l,r),v([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,m,l,lt(e,r),a,o+n)))})),F(0,t,f+ce,ce,Be(2,6)),F(2,t,f+ce,X,Be(2,7),"valuesJson: "+ce,"values"+ce),q(f,I,Be(2,8)+" changes"),q(w,$,qe(10,0,1)),q(m,c,qe(11,0),`valueId: ${n} | null`,"valueId"),q($e+m,i,me+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),S(ee,".set"+f+ye+"({",O(((e,l,a,n)=>[`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${L(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>T(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",ce,"Store"),F(0,t,ce,ce,Be(0,6)),F(2,t,ce,X,Be(0,7),"tablesAndValuesJson: "+ce,"tablesAndValuesJson"),F(7,t,ke,"Return",Se,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Pe),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("WillFinish"+Re,oe,me+" just before "+Ee,t,t,0),q("DidFinish"+Re,oe,me+" just after "+Ee,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...k(),se+" interface "+X+" {",...z(0),"}",t,wt(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...P(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+Oe,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,T,v,V,x]=Vt(),[R,k,P]=Dt(e,l,T),E=`./${mt(a)}.d`,D=`./${mt(a)}-ui-react.d`,O="tinybase/ui-react",N=mt(a,1),j=mt(N),M=N+"Or"+N+Ie,G=j+"Or"+N+Ie,J=j+`={${j}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,D,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,$=t)=>(s(1,O,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+($?"], ["+$:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,wt(o)),S(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,E,N);const q=I(M,N+" | "+Ie,`Used when you need to refer to a ${N} in a React hook or component`),K=I(ge+he,vt(j+ue+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${ge} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,D,q,K);const X=G+ue+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+oe,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const ee=B(N,"id?: Id",N+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${ge} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),$e=T("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,m,f,w,T,v,V,x,S]=n;s(null,E,e,l,a,d,m,f,w,T,v,V,x),s(0,E,o),s(1,E,N),s(null,"tinybase",$,"IdOrNull");const P=y("tableView",`{${j}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+$e),O=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+$e} : `)))+$e);F(i,i,e,Be(1,0)+te);const M=F(u,u,a+Ve,Ue(c,xe)+te);F(Te+i+le,Te+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+Oe,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const G=I(h+he,vt("tableId?: TId","rowId: Id","cellId?: CId",j+ue+N,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+he,vt("tableId?: TId","rowId: Id",j+ue+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),W=I(c+he,vt("tableId?: TId",j+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+c),`<TId extends ${a}>`),B=I("Sorted"+c+he,vt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+c),`<TId extends ${a}>`),U=I(i+he,vt(j+ue+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,D,U,W,B,z,G),Z(i+ol,"{"+j+", tableComponents, getTableComponentProps"+Yt+"}: "+U,[re+`(${M}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(S,e);s(null,E,n,o,d,r,I),F(l+c,c,n,Ye(e)+te,t,a);const i=F(l+b,b,$,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,$,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const m=F(l+g,g,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(Te+l+c+le,Te+c+le,qt,Ye(e,9)+Zt,yt(Gt(c)+Ut+o,Gt(c)+oe),yt(a,Jt(c)),Qt,yt(tl,`table: ${o})`+Oe,Bt),al),F(ae+l+c+le,ae+c+le,le,Ye(e,12),t,a,t,ll,al),F(Te+l+p+le,Te+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+Oe,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+Oe,"then"+oe),al),F(Te+l+Ce+p+le,Te+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+Oe,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const f=Z(l+p+ol,"{rowId, "+j+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[re+`(${m}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+c+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${f});`,Ye(e,13)+", sorted"+te),Z(l+c+ol,`props: ${W}<'${e}'>`,P+"(props, "+i+`(props.${j}), ${a}, ${f});`,Ye(e,13)+te),k(e,((n,o,d,r,I)=>{const $="Map"+mt(o,1);s(0,E,$),s(1,E,$);const c=F(l+I+h,h,o+(L(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(Te+l+I+h+le,Te+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+$,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${$})`+Oe,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${c}(rowId, `+j+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const H=ht(R((e=>_(S,e)?.[4]??t))," | ");F(i+r,i+r,De,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,De,qe(2,0,1),dl(m),rl()),F(c+r,c+r,De,qe(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,De,qe(4,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,De,qe(13,3,1),dl(T,`tableId: ${a} | null`,"cellId: "+H+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,De,qe(5,3),dl(v,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(g+r,g+r,De,qe(6,5,1),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,De,qe(7,5),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${H} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,$]=o;s(null,E,...o),s(1,E,N);const c=y("getDefaultValueComponent","valueId: Id",ht(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);F(f,f,e,Be(2,0)+te);const i=F(w,w,a+Ve,Ue(m,xe)+te);F(Te+f+le,Te+f+le,qt,Be(2,9)+Zt,yt(Gt(f)+Ut+l,Gt(f)+oe),Jt(f),Qt,yt(tl,`values: ${l})`+Oe,Bt),al),F(Te+Ce+f+le,Te+Ce+f+le,qt,Be(2,11)+Zt,yt(Gt(Ce+f)+Ut+l,Gt(Ce+f)+oe),Jt(Ce+f),Qt,yt(tl,`partialValues: ${l})`+Oe,Bt),al),F(ae+f+le,ae+f+le,le,Be(2,12),t,t,t,ll,al);const u=I(m+he,vt("valueId?: VId",j+ue+N,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(f+he,vt(j+ue+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,D,p,u),Z(f+ol,"{"+j+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+c+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),P(((e,l,a,n,o)=>{const d="Map"+mt(l,1);s(0,E,d),s(1,E,d);const r=F(o+m,m,l,lt(e)+te,t,n);F(Te+o+m+le,Te+m+le,qt,lt(e,9)+Zt,yt(Gt(m)+Ut+l+" | "+d,Gt(m)+oe),yt(n,Jt(m)),Qt,yt(tl,`value: ${l} | ${d})`+Oe,Bt),al),F(ae+o+m+le,ae+m+le,le,lt(e,12),t,n,t,ll,al),Z(o+m+ol,`{${j}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+j+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(f+r,f+r,De,Be(2,8)+" changes",dl(n),rl()),F(w+r,w+r,De,qe(10,0,1),dl(d),rl()),F(m+r,m+r,De,qe(11,0),dl($,`valueId: ${a} | null`),rl("valueId"))}return Z(ge,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+ge,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${ge}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...Q(0)),d(...v(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},cl=Et((e=>{const t=()=>{const t=D(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,$=q(s,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),Q(s,o,$),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]={[o]:e,...r==x(a)?{[d]:n}:{}}})),1}))?t:{}},l=()=>{const t=D(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,{...$l,filepath:"_."+t[a]}))))};return kt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{cl as createTools};
1
+ const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",$="Ids",c="Table",i=c+"s",u=c+$,p="Row",b=p+$,C="Sorted"+p+$,h="Cell",m=h+$,g="Value",f=g+"s",w=g+$,y=(e,t)=>e.every(t),T=(e,t)=>e.sort(t),v=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),k=(e,t)=>e.filter(t),S=(e,...t)=>e.push(...t),P=e=>e.pop(),A=(e,...t)=>e.unshift(...t),E=e=>e.shift(),D=JSON.parse,O=isFinite,N=(e,t)=>e instanceof t,j=e=>null==e,L=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&O(t)?l:void 0},z=(e,t)=>e?.has(t)??!1,W=e=>[...e?.values()??[]],B=(e,t)=>e?.forEach(t),F=(e,t)=>e?.delete(t),U=e=>new Map(e),_=(e,t)=>e?.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>V([...e?.entries()??[]],(([e,l])=>t(l,e))),Q=(e,t,l)=>j(l)?(F(e,t),e):e?.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",$e="Invalid",ce="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",me="Provider",ge=`Registers a ${ie} that will be called`,fe="Represents",we="rowId: "+Ie,ye="Schema",Te="Set",ve=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",ke=X(Re),Se="Execute a "+ke+" to make multiple mutations",Pe="Explicitly starts a "+ke,Ae="Explicitly finishes a "+ke,Ee="the end of the "+ke,De="void",Oe=" => "+De,Ne="WhenSet",je=" when setting it",Le=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>fe+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+c,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>ge+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+c,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",fe,"Gets "+Le,"Sets "+Le,ge+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+Le+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+c+Me+$,Y+c,Je+p+Me+$,Y+p,Je+h+Me+$,Y+h,"invalid Cell changes",f,Je+g+Me+$,Y+g,"invalid Value changes",Je+"sorted "+p+Me+$,Je+h+Me+$+" anywhere"],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||j(e)?e:[e]),st=(e,t)=>e?.add(t),It=/[^A-Za-z]+/,$t=/[^A-Za-z0-9]+/,ct=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace(ct,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),mt=e=>e.flat(1e3),gt=(e,t=0)=>ht(V(e.split($t),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),ft=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split($t),"_")),wt=e=>`/** ${e}. */`,yt=(...e)=>ht(k(e,(e=>e)),", "),Tt=(...e)=>"{"+ht(e,"; ")+"}",vt=(...e)=>Tt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>ht(mt(e),"\n"),(t,l,...a)=>v(a,(a=>v([0,1],(n=>(t??n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...T(H(e[l],((e,t)=>`import {${ht(T(W(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[wt(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],S(e,P(e)+";"),[`const ${l} = ${E(e)}`,e,t])))]},xt=Object,Rt=xt.keys,kt=xt.freeze,St=e=>N(e,xt)&&e.constructor==xt,Pt=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>St(e)&&R(Rt(e)),Et=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Dt=(e,t,l)=>[t=>Pt(e,((e,a)=>t(a,gt(a,1),l(ft(a),`'${a}'`)))),(t,a)=>Pt(e[t],((e,t)=>a(t,e[o],e[d],l(ft(t),`'${t}'`),gt(t,1)))),e=>Pt(t,((t,a)=>e(a,t[o],t[d],l(ft(a),`'${a}'`),gt(a,1))))],Ot=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+Ne,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),$=e(c+Ie,"keyof "+s,"A "+c+" Id in "+xe),g=`<TId extends ${$}>`,f=e(c,be+`<${s}[TId]>`,"A "+c+" in "+xe,g),w=e(c+Ne,be+`<${I}[TId]>`,"A "+c+" in "+xe+je,g),y=e(p,f+"<TId>[Id]","A "+p+" in a "+c,g),T=e(p+Ne,w+"<TId>[Id]","A "+p+" in a "+c+je,g),v=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,g),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${$}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${$}, CId = ${v}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+Oe,He(Y+h+" Id, and "+h),g),k=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Oe+") "+Oe,He(Y+p+" Id, and a "+h+" iterator"),g),S=e(c+h+le,`(cellId: ${v}<TId>, count: number) `+Oe,He(Y+h+" Id, and count of how many times it appears"),g),P=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Oe}] : never`,c+" Ids and callback types",`<TId = ${$}>`,0),A=e(c+le,`(...[tableId, forEachRow]: ${P})`+Oe,He(Y+c+" Id, and a "+p+" iterator"),t),E=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,ee+" returning information about any Cell's changes during a "+ke),O=e(i+r,`(${d}, getCellChange: ${D}${pe})`+Oe,Qe(1)),N=e(u+r,`(${d})`+Oe,Qe(2)),L=e(c+r,`(${d}, tableId: ${$}, getCellChange: ${D}${pe})`+Oe,Qe(3)),M=e(c+m+r,`(${d}, tableId: ${$})`+Oe,Qe(14,3)),G=e(b+r,`(${d}, tableId: ${$})`+Oe,Qe(4,3)),J=e(C+r,"("+yt(d,"tableId: "+$,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+Oe,Qe(13,3)),z=e(p+r,"("+yt(""+d,"tableId: "+$,we,`getCellChange: ${D}${pe}`)+")"+Oe,Qe(5,3)),W=e(m+r,"("+yt(""+d,"tableId: "+$,we)+")"+Oe,Qe(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${we}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${D} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,I,$,f,w,y,T,v,V,R,k,S,A,O,N,L,M,G,J,z,W,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Oe,Qe(7,5)),e($e+h+r,`(${d}, tableId: Id, ${we}, cellId: Id, invalidCells: any[])`+Oe,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(f,Tt(...n(((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`))),Be(2,5)),s=e(f+Ne,Tt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(g+Ie,"keyof "+d,"A "+g+" Id in "+xe),$=e(g,be+`<${d}[VId]>`,"A "+g+" Id in "+xe,`<VId extends ${I}>`),c=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${$}<VId>] : never`,g+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(g+le,`(...[valueId, value]: ${c})`+Oe,He(Y+g+" Id, and "+g)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+ke),p=e(f+r,`(${o}, getValueChange: ${u}${pe})`+Oe,Qe(9)),b=e(w+r,`(${o})`+Oe,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${$}<VId> ${pe}, oldValue: ${$}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,$,i,p,b,e(g+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Oe,Qe(11)),e($e+g+r,`(${o}, valueId: Id, invalidValues: any[])`+Oe,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Oe,ee+" listening to the completion of a "+ke)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),jt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,Lt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,T,V,x,R,k,P]=Vt(),[E,D,O]=Dt(e,l,x),[N,L,G]=Ot(T,E,D,O),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,wt(o)),S(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?jt:Nt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,Lt(I+e+r,o,d?"mutator":t),a,s),K=`./${gt(n)}.d`,X=gt(n,1),Y=gt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",$);const[e,l,n,r,s,I,g,f,w,V,R,k,P,A,O,L,G,J,z,B,Z,H,ne]=N(Y,X),oe=U();E(((e,t)=>{const l=`<'${e}'>`,a=[T(t+c,r+l,fe+` the '${e}' `+c),T(t+c+Ne,s+l,fe+` the '${e}' `+c+je),T(t+p,I+l,Fe(e)),T(t+p+Ne,g+l,Fe(e,1)),T(t+h+Ie,f+l,`A Cell Id for the '${e}' `+c),T(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+c)),T(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`)),T(t+c+h+le,k+l,He(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Q(oe,e,a),y(1,K,...a)})),y(1,K,e,l,n,f,P,A,O,L,G,J,z,B,Z,H,ne),ae=[e,l,n,f,A,O,L,G,J,z,B,Z,H,oe],v([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue(c,xe)),F(5,t,c,De,_e(c,xe),"tableCallback: "+P,"tableCallback as any"),E(((e,l,n)=>{const[o,d,r,s,I,i,u,g]=_(oe,e);v([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,c,a,Ye(e,r),o,n+d))),F(0,l,c+m,$,Ue(h,"the whole of "+Ke(e)),t,n),F(5,l,c+h,De,_e(c+h,"the whole of "+Ke(e)),"tableCellCallback: "+g,n+", tableCellCallback as any"),F(0,l,b,$,Ue(p,Ke(e)),t,n),F(0,l,C,$,Ue(p,Ke(e),1),"cellId?: "+I+ve,n+", cellId, descending, offset, limit"),F(5,l,p,De,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),v([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),we+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),F(0,l,m,I+Ve,Ue(h,Xe(e)),we,n+", rowId"),F(5,l,h,De,_e(h,Xe(e)),we+", cellCallback: "+i,n+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const $="Map"+gt(d,1);Q(te,d,$);const i=d+(j(r)?pe:t);v([[i],[a],[X,`, cell: ${d} | `+$,", cell as any"],[X]],(([a,d=t,r=t],$)=>F($,l+I,h,a,tt(e,o,$),we+d,n+", rowId, "+s+r))),F(1,l+I,c+h,a,at[1]+` the '${o}' Cell anywhere in `+Ke(e),t,n+", "+s)}))})),F(0,t,i+ce,ce,Be(1,6)),F(2,t,i+ce,X,Be(1,7),"tablesJson: "+ce,"tables"+ce),q(i,A,Be(1,8)+" changes"),q(u,O,qe(2,0,1)),q(c,L,qe(3,0),`tableId: ${n} | null`,"tableId"),q(c+m,G,qe(14,3,1),`tableId: ${n} | null`,"tableId"),q(b,J,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,z,qe(13,3,1),yt("tableId: TId",`cellId: ${f}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,B,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(m,Z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,H,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(E((e=>_(oe,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),q($e+h,ne,ge+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),S(ee,".set"+i+ye+"({",mt(E(((e,l,a)=>[`[${a}]: {`,...D(e,((e,l,a,n)=>`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${j(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,$,c,i]=L(Y,X);y(1,K,e,l,n,s,I,$,c,i),ne=[e,l,n,I,$,c],v([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,f,e,Be(2,n),l,a))),F(0,t,w,n+Ve,Ue(g,xe)),F(5,t,g,"void",_e(g,xe),"valueCallback: "+s,"valueCallback as any"),O(((e,l,n,o,d)=>{const r="Map"+gt(l,1);Q(te,l,r),v([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,g,l,lt(e,r),a,o+n)))})),F(0,t,f+ce,ce,Be(2,6)),F(2,t,f+ce,X,Be(2,7),"valuesJson: "+ce,"values"+ce),q(f,I,Be(2,8)+" changes"),q(w,$,qe(10,0,1)),q(g,c,qe(11,0),`valueId: ${n} | null`,"valueId"),q($e+g,i,ge+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),S(ee,".set"+f+ye+"({",O(((e,l,a,n)=>[`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${j(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>T(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",ce,"Store"),F(0,t,ce,ce,Be(0,6)),F(2,t,ce,X,Be(0,7),"tablesAndValuesJson: "+ce,"tablesAndValuesJson"),F(7,t,ke,"Return",Se,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Pe),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("Start"+Re,oe,ge+" just before the start of the "+ke,t,t,0),q("WillFinish"+Re,oe,ge+" just before "+Ee,t,t,0),q("DidFinish"+Re,oe,ge+" just after "+Ee,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...k(),se+" interface "+X+" {",...z(0),"}",t,wt(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...P(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+Oe,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,T,v,V,x]=Vt(),[R,k,P]=Dt(e,l,T),E=`./${gt(a)}.d`,D=`./${gt(a)}-ui-react.d`,O="tinybase/ui-react",N=gt(a,1),L=gt(N),M=N+"Or"+N+Ie,G=L+"Or"+N+Ie,J=L+`={${L}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,D,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,$=t)=>(s(1,O,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+($?"], ["+$:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,wt(o)),S(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,E,N);const q=I(M,N+" | "+Ie,`Used when you need to refer to a ${N} in a React hook or component`),K=I(me+he,vt(L+ue+N,L+`ById?: {[${L}Id: Id]: ${N}}`),`Used with the ${me} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,D,q,K);const X=G+ue+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${L}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+oe,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const ee=B(N,"id?: Id",N+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${me} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${L} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),$e=T("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,g,f,w,T,v,V,x,S,P]=n;s(null,E,e,l,a,d,g,f,w,T,v,V,x,S),s(0,E,o),s(1,E,N),s(null,"tinybase",$,"IdOrNull");const A=y("tableView",`{${L}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),O=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+$e),M=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+$e} : `)))+$e);F(i,i,e,Be(1,0)+te);const G=F(u,u,a+Ve,Ue(c,xe)+te);F(Te+i+le,Te+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+Oe,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const z=I(h+he,vt("tableId?: TId","rowId: Id","cellId?: CId",L+ue+N,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),W=I(p+he,vt("tableId?: TId","rowId: Id",L+ue+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${z}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),B=I(c+he,vt("tableId?: TId",L+ue+N,`rowComponent?: ComponentType<${W}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+c),`<TId extends ${a}>`),U=I("Sorted"+c+he,vt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+ue+N,`rowComponent?: ComponentType<${W}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+c),`<TId extends ${a}>`),H=I(i+he,vt(L+ue+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${B}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,D,H,B,U,W,z),Z(i+ol,"{"+L+", tableComponents, getTableComponentProps"+Yt+"}: "+H,[re+`(${G}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+O+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(P,e);s(null,E,n,o,d,r,I),F(l+c,c,n,Ye(e)+te,t,a),F(l+c+m,c+m,$,Ue(h,"the whole of "+Ke(e))+te,t,a);const i=F(l+b,b,$,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,$,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const g=F(l+m,m,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(Te+l+c+le,Te+c+le,qt,Ye(e,9)+Zt,yt(Gt(c)+Ut+o,Gt(c)+oe),yt(a,Jt(c)),Qt,yt(tl,`table: ${o})`+Oe,Bt),al),F(ae+l+c+le,ae+c+le,le,Ye(e,12),t,a,t,ll,al),F(Te+l+p+le,Te+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+Oe,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+Oe,"then"+oe)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(Te+l+Ce+p+le,Te+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+Oe,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const f=Z(l+p+ol,"{rowId, "+L+", cellComponents, getCellComponentProps"+Yt+`}: ${W}<'${e}'>`,[re+`(${g}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+M+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+c+ol,"{cellId, descending, offset, limit, ...props}: "+U+`<'${e}'>`,A+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,Ye(e,13)+", sorted"+te),Z(l+c+ol,`props: ${B}<'${e}'>`,A+"(props, "+i+`(props.${L}), ${a}, ${f});`,Ye(e,13)+te),k(e,((n,o,d,r,I)=>{const $="Map"+gt(o,1);s(0,E,$),s(1,E,$);const c=F(l+I+h,h,o+(j(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(Te+l+I+h+le,Te+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+$,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${$})`+Oe,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${L}, debugIds}: `+z+`<'${e}', '${n}'>`,[re+`('' + ${c}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const Q=ht(R((e=>_(P,e)?.[4]??t))," | ");F(i+r,i+r,De,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,De,qe(2,0,1),dl(g),rl()),F(c+r,c+r,De,qe(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F(c+m+r,c+m+r,De,qe(14,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,De,qe(4,3,1),dl(T,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,De,qe(13,3,1),dl(v,`tableId: ${a} | null`,"cellId: "+Q+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,De,qe(5,3),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(m+r,m+r,De,qe(6,5,1),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,De,qe(7,5),dl(S,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${Q} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,$]=o;s(null,E,...o),s(1,E,N);const c=y("getDefaultValueComponent","valueId: Id",ht(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);F(f,f,e,Be(2,0)+te);const i=F(w,w,a+Ve,Ue(g,xe)+te);F(Te+f+le,Te+f+le,qt,Be(2,9)+Zt,yt(Gt(f)+Ut+l,Gt(f)+oe),Jt(f),Qt,yt(tl,`values: ${l})`+Oe,Bt),al),F(Te+Ce+f+le,Te+Ce+f+le,qt,Be(2,11)+Zt,yt(Gt(Ce+f)+Ut+l,Gt(Ce+f)+oe),Jt(Ce+f),Qt,yt(tl,`partialValues: ${l})`+Oe,Bt),al),F(ae+f+le,ae+f+le,le,Be(2,12),t,t,t,ll,al);const u=I(g+he,vt("valueId?: VId",L+ue+N,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(f+he,vt(L+ue+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,D,p,u),Z(f+ol,"{"+L+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+c+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),P(((e,l,a,n,o)=>{const d="Map"+gt(l,1);s(0,E,d),s(1,E,d);const r=F(o+g,g,l,lt(e)+te,t,n);F(Te+o+g+le,Te+g+le,qt,lt(e,9)+Zt,yt(Gt(g)+Ut+l+" | "+d,Gt(g)+oe),yt(n,Jt(g)),Qt,yt(tl,`value: ${l} | ${d})`+Oe,Bt),al),F(ae+o+g+le,ae+g+le,le,lt(e,12),t,n,t,ll,al),Z(o+g+ol,`{${L}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(f+r,f+r,De,Be(2,8)+" changes",dl(n),rl()),F(w+r,w+r,De,qe(10,0,1),dl(d),rl()),F(g+r,g+r,De,qe(11,0),dl($,`valueId: ${a} | null`),rl("valueId"))}return Z(me,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+me,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${me}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...Q(0)),d(...v(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},cl=Et((e=>{const t=()=>{const t=D(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,$=q(s,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),Q(s,o,$),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]={[o]:e,...r==x(a)?{[d]:n}:{}}})),1}))?t:{}},l=()=>{const t=D(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,{...$l,filepath:"_."+t[a]}))))};return kt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{cl as createTools};
package/lib/tools.js.gz CHANGED
Binary file