tinybase 4.1.0-beta.5 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/lib/cjs/store.cjs +1 -1
  2. package/lib/cjs/store.cjs.gz +0 -0
  3. package/lib/cjs/tinybase.cjs +1 -1
  4. package/lib/cjs/tinybase.cjs.gz +0 -0
  5. package/lib/cjs/tools.cjs +1 -1
  6. package/lib/cjs/tools.cjs.gz +0 -0
  7. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  8. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  9. package/lib/cjs/ui-react-dom.cjs +1 -1
  10. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  11. package/lib/cjs/ui-react.cjs +1 -1
  12. package/lib/cjs/ui-react.cjs.gz +0 -0
  13. package/lib/cjs-es6/store.cjs +1 -1
  14. package/lib/cjs-es6/store.cjs.gz +0 -0
  15. package/lib/cjs-es6/tinybase.cjs +1 -1
  16. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  17. package/lib/cjs-es6/tools.cjs +1 -1
  18. package/lib/cjs-es6/tools.cjs.gz +0 -0
  19. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  20. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  21. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  22. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  23. package/lib/cjs-es6/ui-react.cjs +1 -1
  24. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  25. package/lib/debug/store.js +2 -0
  26. package/lib/debug/tinybase.js +2 -0
  27. package/lib/debug/tools.js +28 -0
  28. package/lib/debug/ui-react-dom.js +144 -66
  29. package/lib/debug/ui-react.js +11 -3
  30. package/lib/es6/store.js +1 -1
  31. package/lib/es6/store.js.gz +0 -0
  32. package/lib/es6/tinybase.js +1 -1
  33. package/lib/es6/tinybase.js.gz +0 -0
  34. package/lib/es6/tools.js +1 -1
  35. package/lib/es6/tools.js.gz +0 -0
  36. package/lib/es6/ui-react-dom-debug.js +1 -1
  37. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  38. package/lib/es6/ui-react-dom.js +1 -1
  39. package/lib/es6/ui-react-dom.js.gz +0 -0
  40. package/lib/es6/ui-react.js +1 -1
  41. package/lib/es6/ui-react.js.gz +0 -0
  42. package/lib/store.js +1 -1
  43. package/lib/store.js.gz +0 -0
  44. package/lib/tinybase.js +1 -1
  45. package/lib/tinybase.js.gz +0 -0
  46. package/lib/tools.js +1 -1
  47. package/lib/tools.js.gz +0 -0
  48. package/lib/types/store.d.ts +46 -0
  49. package/lib/types/tools.d.ts +2 -2
  50. package/lib/types/with-schemas/store.d.ts +46 -0
  51. package/lib/types/with-schemas/tools.d.ts +2 -2
  52. package/lib/ui-react-dom.js +1 -1
  53. package/lib/ui-react-dom.js.gz +0 -0
  54. package/lib/ui-react.js +1 -1
  55. package/lib/ui-react.js.gz +0 -0
  56. package/lib/umd/store.js +1 -1
  57. package/lib/umd/store.js.gz +0 -0
  58. package/lib/umd/tinybase.js +1 -1
  59. package/lib/umd/tinybase.js.gz +0 -0
  60. package/lib/umd/tools.js +1 -1
  61. package/lib/umd/tools.js.gz +0 -0
  62. package/lib/umd/ui-react-dom-debug.js +1 -1
  63. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  64. package/lib/umd/ui-react-dom.js +1 -1
  65. package/lib/umd/ui-react-dom.js.gz +0 -0
  66. package/lib/umd/ui-react.js +1 -1
  67. package/lib/umd/ui-react.js.gz +0 -0
  68. package/lib/umd-es6/store.js +1 -1
  69. package/lib/umd-es6/store.js.gz +0 -0
  70. package/lib/umd-es6/tinybase.js +1 -1
  71. package/lib/umd-es6/tinybase.js.gz +0 -0
  72. package/lib/umd-es6/tools.js +1 -1
  73. package/lib/umd-es6/tools.js.gz +0 -0
  74. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  75. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  76. package/lib/umd-es6/ui-react-dom.js +1 -1
  77. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  78. package/lib/umd-es6/ui-react.js +1 -1
  79. package/lib/umd-es6/ui-react.js.gz +0 -0
  80. package/package.json +16 -16
  81. package/readme.md +13 -13
package/lib/cjs/store.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";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",d=i+"s",u=i+c,h="Row",g=h+"Count",f=h+c,T="Cell",V=T+c,b="Value",C=b+"s",S=b+c,v=e=>t+e,w=isFinite,I=(e,t)=>e instanceof t,R=e=>null==e,m=(e,t,s)=>R(e)?s?.():t(e),y=e=>e==s||e==l,J=t=>e(t)==a,L=(e,t)=>e.forEach(t),p=(e,t)=>e.map(t),E=e=>e.length,F=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>I(e,O)&&e.constructor==O,P=(e,t)=>!R(((e,t)=>m(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>p(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>E(k(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>R(e)||0==W(e),B=e=>e.clear(),G=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),K=e=>new Map(e),Q=e=>[...e?.keys()??[]],U=(e,t)=>e?.get(t),X=(e,t)=>G(e,((e,s)=>t(s,e))),Y=(e,t,s)=>R(s)?(H(e,t),e):e?.set(t,s),Z=(e,t,s)=>($(e,t)||Y(e,t,s()),U(e,t)),_=(e,t,s,l=Y)=>(x(t,((t,l)=>s(e,l,t))),X(e,(s=>P(t,s)?0:l(e,s))),e),ee=(e,t,s)=>{const l={};return G(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},te=(e,t,s)=>ee(e,(e=>ee(e,t,s)),D),se=(e,t,s)=>ee(e,(e=>te(e,t,s)),D),le=(e,t)=>{const s=K();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ne=e=>le(e,le),ae=e=>le(e,ne),re=(e,t,s,l,n=0)=>m((s?Z:U)(e,t[n],n>E(t)-2?s:K),(a=>{if(n>E(t)-2)return l?.(a)&&Y(e,t[n]),a;const r=re(a,t,s,l,n+1);return q(a)&&Y(e,t[n]),r})),oe=e=>new Set(Array.isArray(e)||R(e)?e:[e]),ce=(e,t)=>e?.add(t),ie=/^\d+$/,de=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ie.test(t)&&E(e)<1e3&&z(e,t)}]},ue=e=>[e,e],he=()=>[K(),K()],ge=e=>[...e],fe=([e,t])=>e===t,Te=t=>{const s=e(t);return y(s)||s==n&&w(t)?s:void 0},Ve=(e,t,s,l,n)=>R(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),be=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Ce=e=>JSON.stringify(e,((e,t)=>I(t,Map)?O.fromEntries([...t]):t)),Se=JSON.parse,ve=(e,t,s)=>R(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),we=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),Ie=()=>{let e,s,l=!1,a=!1,c=0;const w=K(),I=K(),O=K(),k=K(),A=K(),N=K(),ie=K(),Re=K(),me=K(),ye=K(),Je=K(),Le=K(),pe=K(),Ee=K(),Fe=oe(),ze=K(),Oe=K(),ke=K(),Ae=K(),Me=he(),Ne=he(),Pe=he(),je=he(),xe=he(),De=he(),We=he(),$e=he(),qe=he(),Be=he(),Ge=he(),He=he(),Ke=he(),Qe=he(),Ue=he(),Xe=K(),Ye=he(),[Ze,_e,et,tt]=(e=>{let s;const[l,n]=de(),a=K();return[(e,n,r,o=[],c=(()=>[]))=>{s??=Ts;const i=l(1);return Y(a,i,[e,n,r,o,c]),ce(re(n,r??[t],oe),i),i},(e,l,...n)=>L(((e,s=[t])=>{const l=[],n=(e,t)=>t==E(s)?z(l,e):null===s[t]?G(e,(e=>n(e,t+1))):L([s[t],null],(s=>n(U(e,s),t+1)));return n(e,0),l})(e,l),(e=>G(e,(e=>U(a,e)[0](s,...l??[],...n))))),e=>m(U(a,e),(([,s,l])=>(re(s,l??[t],void 0,(t=>(H(t,e),q(t)?1:0))),Y(a,e),n(e),l))),e=>m(U(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=E(r);o==E(t)?e(s,...r,...n(r)):R(t[o])?L(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),st=e=>{if(!ve(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!y(t)&&t!=n||(Te(e[o])!=t&&j(e,o),0))},lt=(t,s)=>(!e||$(Je,s)||kt(s))&&ve(t,((e,t)=>nt(s,t,e)),(()=>kt(s))),nt=(e,t,s,l)=>ve(l?s:ct(s,e,t),((l,n)=>m(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>kt(e,t))),at=(t,s,l,n)=>e?m(U(U(Je,t),l),(e=>Te(n)!=e[r]?kt(t,s,l,n,e[o]):n),(()=>kt(t,s,l,n))):R(Te(n))?kt(t,s,l,n):n,rt=(e,t)=>ve(t?e:it(e),((t,s)=>m(ot(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),ot=(e,t)=>s?m(U(pe,e),(s=>Te(t)!=s[r]?At(e,t,s[o]):t),(()=>At(e,t))):R(Te(t))?At(e,t):t,ct=(e,t,s)=>(m(U(Le,t),(([l,n])=>{G(l,((t,s)=>{P(e,s)||(e[s]=t)})),G(n,(l=>{P(e,l)||kt(t,s,l)}))})),e),it=e=>(s&&(G(Ee,((t,s)=>{P(e,s)||(e[s]=t)})),G(Fe,(t=>{P(e,t)||At(t)}))),e),dt=e=>_(Je,e,((e,t,s)=>{const l=K(),n=oe();_(Z(Je,t,K),s,((e,t,s)=>{Y(e,t,s),m(s[o],(e=>Y(l,t,e)),(()=>ce(n,t)))})),Y(Le,t,[l,n])}),((e,t)=>{Y(Je,t),Y(Le,t)})),ut=e=>_(pe,e,((e,t,s)=>{Y(pe,t,s),m(s[o],(e=>Y(Ee,t,e)),(()=>ce(Fe,t)))}),((e,t)=>{Y(pe,t),Y(Ee,t),H(Fe,t)})),ht=e=>D(e)?rs():ts(e),gt=e=>_(ke,e,((e,t,s)=>ft(t,s)),((e,t)=>Rt(t))),ft=(e,t)=>_(Z(ke,e,(()=>(Lt(e,1),Y(ze,e,de()),Y(Oe,e,K()),K()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>mt(e,t,s))),Tt=(e,t,s,l,n)=>_(Z(t,s,(()=>(pt(e,s,1),K()))),l,((t,l,n)=>Vt(e,s,t,l,n)),((l,a)=>yt(e,t,s,l,a,n))),Vt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=U(s,l);n!==a&&(Ft(e,t,l,a,n),Y(s,l,n))},bt=(e,t,s,l,n)=>m(U(t,s),(t=>Vt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>_(Ae,e,((e,t,s)=>vt(t,s)),((e,t)=>Jt(t))),vt=(e,t)=>{$(Ae,e)||zt(e,1);const s=U(Ae,e);t!==s&&(Ot(e,s,t),Y(Ae,e,t))},wt=(e,t)=>{const[s]=U(ze,e),l=s(t);return $(U(ke,e),l)?wt(e,t):l},It=e=>U(ke,e)??ft(e,{}),Rt=e=>ft(e,{}),mt=(e,t,s)=>{const[,l]=U(ze,e);l(s),Tt(e,t,s,{},!0)},yt=(e,t,s,l,n,a)=>{const r=U(U(Le,e)?.[0],n);if(!R(r)&&!a)return Vt(e,s,l,n,r);const o=t=>{Ft(e,s,t,U(l,t)),Et(e,s,t,-1),Y(l,t)};R(r)?o(n):X(l,o),q(l)&&(pt(e,s,-1),q(Y(t,s))&&(Lt(e,-1),Y(ke,e),Y(ze,e),Y(Oe,e)))},Jt=e=>{const t=U(Ee,e);if(!R(t))return vt(e,t);Ot(e,U(Ae,e)),zt(e,-1),Y(Ae,e)},Lt=(e,t)=>we(w,e,t),pt=(e,t,s)=>we(Z(k,e,K),t,s)&&Y(O,e,Z(O,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=U(Oe,e),a=U(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&we(Z(I,e,K),s,l),Y(n,s,a!=-l?a+l:null),we(Z(Z(A,e,K),t,K),s,l)},Ft=(e,t,s,l,n)=>Z(Z(Z(N,e,K),t,K),s,(()=>[l,0]))[1]=n,zt=(e,t)=>we(ie,e,t),Ot=(e,t,s)=>Z(Re,e,(()=>[t,0]))[1]=s,kt=(e,t,s,l,n)=>(z(Z(Z(Z(me,e,K),t,K),s,(()=>[])),l),n),At=(e,t,s)=>(z(Z(ye,e,(()=>[])),t),s),Mt=(e,t,s)=>m(U(U(U(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Yt(e,t,s))])),Nt=e=>m(U(Re,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(es(e))])),Pt=e=>q(me)||q(Ge[e])?0:G(e?ae(me):me,((t,s)=>G(t,((t,l)=>G(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),jt=e=>q(ye)||q(He[e])?0:G(e?le(ye):ye,((t,s)=>_e(He[e],[s],t))),xt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>ee(t))),1},Dt=e=>{const t=q(We[e]),s=q(qe[e])&&q(je[e])&&q(xe[e])&&q(De[e])&&t&&q(Ne[e]),l=q(Be[e])&&q($e[e])&&q(Pe[e])&&q(Me[e]);if(!s||!l){const n=e?[le(w),ne(I),le(O),ne(k),ae(A),ae(N)]:[w,I,O,k,A,N];if(!s){xt(Ne[e],n[0]),G(n[1],((t,s)=>xt(je[e],t,[s]))),G(n[2],((t,s)=>{0!=t&&_e(xe[e],[s],Kt(s))}));const s=oe();G(n[3],((l,n)=>{xt(De[e],l,[n])&&!t&&(_e(We[e],[n,null]),ce(s,n))})),t||G(n[5],((t,l)=>{if(!$(s,l)){const s=oe();G(t,(e=>G(e,(([t,l],n)=>l!==t?ce(s,n):H(e,n))))),G(s,(t=>_e(We[e],[l,t])))}})),G(n[4],((t,s)=>G(t,((t,l)=>xt(qe[e],t,[s,l])))))}if(!l){let t;G(n[5],((s,l)=>{let n;G(s,((s,a)=>{let r;G(s,(([s,o],c)=>{o!==s&&(_e(Be[e],[l,a,c],o,s,Mt),t=n=r=1)})),r&&_e($e[e],[l,a],Mt)})),n&&_e(Pe[e],[l],Mt)})),t&&_e(Me[e],void 0,Mt)}}},Wt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[le(ie),le(Re)]:[ie,Re];if(t||xt(Qe[e],l[0]),!s){let t;G(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,Nt),t=1)})),t&&_e(Ke[e],void 0,Nt)}}},$t=(e,...t)=>(hs((()=>e(...p(t,v)))),Ts),qt=()=>[ee(N,((e,t)=>-1===U(w,t)?null:ee(e,((e,s)=>-1===U(U(k,t),s)?null:ee(e,(([,e])=>e??null),((e,t)=>fe(t)))),D)),D),ee(Re,(([,e])=>e??null),((e,t)=>fe(t)))],Bt=()=>({cellsTouched:l,valuesTouched:a,changedCells:se(N,ge,fe),invalidCells:se(me),changedValues:ee(Re,ge,fe),invalidValues:ee(ye),changedTableIds:ee(w),changedRowIds:te(k),changedCellIds:se(A),changedValueIds:ee(ie)}),Gt=()=>se(ke),Ht=()=>Q(ke),Kt=e=>W(U(ke,v(e))),Qt=e=>Q(U(ke,v(e))),Ut=(e,t,s,l=0,n)=>{return p(F((r=U(ke,v(e)),o=(e,s)=>[R(t)?s:U(e,v(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),p([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,R(n)?n:l+n),(([,e])=>e));var a,r,o},Xt=(e,t)=>Q(U(U(ke,v(e)),v(t))),Yt=(e,t,s)=>U(U(U(ke,v(e)),v(t)),v(s)),Zt=()=>ee(Ae),_t=()=>Q(Ae),es=e=>U(Ae,v(e)),ts=e=>$t((()=>(e=>ve(e,lt,kt))(e)?gt(e):0)),ss=e=>$t((()=>rt(e)?St(e):0)),ls=e=>{try{ht(Se(e))}catch{}return Ts},ns=t=>$t((()=>{if((e=ve(t,(e=>ve(e,st))))&&(dt(t),!q(ke))){const e=Gt();rs(),ts(e)}})),as=e=>$t((()=>{if(s=(e=>ve(e,st))(e)){const t=Zt();us(),is(),s=!0,ut(e),ss(t)}})),rs=()=>$t((()=>gt({}))),os=e=>$t((e=>$(ke,e)?Rt(e):0),e),cs=(e,t)=>$t(((e,t)=>m(U(ke,e),(s=>$(s,t)?mt(e,s,t):0))),e,t),is=()=>$t((()=>St({}))),ds=()=>$t((()=>{dt({}),e=!1})),us=()=>$t((()=>{ut({}),s=!1})),hs=(e,t)=>{if(-1!=c){gs();const s=e();return fs(t),s}},gs=()=>(-1!=c&&c++,1==c&&_e(Xe,void 0,qt,Bt),Ts),fs=e=>(c>0&&(c--,0==c&&(l=!q(N),a=!q(Re),c=1,Pt(1),l&&Dt(1),jt(1),a&&Wt(1),e?.(qt,Bt)&&(G(N,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),G(Re,(([e],t)=>be(Ts,t,e))),l=a=!1),_e(Ye[0],void 0,qt,Bt),c=-1,Pt(0),l&&Dt(0),jt(0),a&&Wt(0),_e(Ye[1],void 0,qt,Bt),c=0,l=a=!1,L([w,I,O,k,A,N,me,ie,Re,ye],B))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>te(U(ke,v(e))),getTableCellIds:e=>Q(U(Oe,v(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>ee(U(U(ke,v(e)),v(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(ke),hasTable:e=>$(ke,v(e)),hasTableCell:(e,t)=>$(U(Oe,v(e)),v(t)),hasRow:(e,t)=>$(U(ke,v(e)),v(t)),hasCell:(e,t,s)=>$(U(U(ke,v(e)),v(t)),v(s)),hasValues:()=>!q(Ae),hasValue:e=>$(Ae,v(e)),getTablesJson:()=>Ce(ke),getValuesJson:()=>Ce(Ae),getJson:()=>Ce([ke,Ae]),getTablesSchemaJson:()=>Ce(Je),getValuesSchemaJson:()=>Ce(pe),getSchemaJson:()=>Ce([Je,pe]),setContent:([e,t])=>$t((()=>{(D(e)?rs:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>$t((e=>lt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>$t(((e,t)=>nt(e,t,s)?Tt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=v(e),Tt(e,It(e),l=wt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>$t(((e,t)=>{if(nt(e,t,s,1)){const l=It(e);x(s,((s,n)=>bt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>$t(((e,t,s)=>m(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>bt(e,It(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>$t((()=>rt(e,1)?x(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>$t((e=>m(ot(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>$t((()=>{x(e[0],((e,t)=>R(e)?os(t):x(e,((e,s)=>R(e)?cs(t,s):x(e,((e,l)=>Ve(Ts,t,s,l,e))))))),x(e[1],((e,t)=>be(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(Se(e))}catch{}return Ts},setJson:e=>{try{const[t,s]=Se(e);ht(t),Ct(s)}catch{ls(e)}return Ts},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>$t((()=>{ns(e),as(t)})),delTables:rs,delTable:os,delRow:cs,delCell:(e,t,s,l)=>$t(((e,t,s)=>m(U(ke,e),(n=>m(U(n,t),(a=>$(a,s)?yt(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>$t((e=>$(Ae,e)?Jt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>$t((()=>{ds(),us()})),transaction:hs,startTransaction:gs,finishTransaction:fs,forEachTable:e=>G(ke,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachTableCell:(e,t)=>X(U(Oe,v(e)),t),forEachRow:(e,t)=>G(U(ke,v(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(ke,v(e)),v(t)),s),forEachValue:e=>X(Ae,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=Ut(e,t,s,l,n);return Ze((()=>{const r=Ut(e,t,s,l,n);var c,i,d;i=o,E(c=r)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(Ts,e,t,s,l,n,o))}),We[r?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:Ie,addListener:Ze,callListeners:_e};return x({[d]:[0,Me],[u]:[0,Ne],[i]:[1,Pe,[Ht]],[i+V]:[1,je,[Ht]],[g]:[1,xe,[Ht]],[f]:[1,De,[Ht]],[h]:[2,$e,[Ht,Qt]],[V]:[2,qe,[Ht,Qt]],[T]:[3,Be,[Ht,Qt,Xt],e=>ue(Yt(...e))],InvalidCell:[3,Ge],[C]:[0,Ke],[S]:[0,Qe],[b]:[1,Ue,[_t],e=>ue(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?F(n,0,e):void 0,s,l)})),M(Ts)};exports.createStore=Ie;
1
+ "use strict";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",d=i+"s",u=i+c,h="Row",g=h+"Count",f=h+c,T="Cell",V=T+c,b="Value",C=b+"s",S=b+c,v=e=>t+e,w=isFinite,I=(e,t)=>e instanceof t,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),y=e=>e==s||e==l,J=t=>e(t)==a,L=(e,t)=>e.forEach(t),p=(e,t)=>e.map(t),E=e=>e.length,F=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>I(e,O)&&e.constructor==O,P=(e,t)=>!m(((e,t)=>R(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>p(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>E(k(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>m(e)||0==W(e),B=e=>e.clear(),G=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),K=e=>new Map(e),Q=e=>[...e?.keys()??[]],U=(e,t)=>e?.get(t),X=(e,t)=>G(e,((e,s)=>t(s,e))),Y=(e,t,s)=>m(s)?(H(e,t),e):e?.set(t,s),Z=(e,t,s)=>($(e,t)||Y(e,t,s()),U(e,t)),_=(e,t,s,l=Y)=>(x(t,((t,l)=>s(e,l,t))),X(e,(s=>P(t,s)?0:l(e,s))),e),ee=(e,t,s)=>{const l={};return G(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},te=(e,t,s)=>ee(e,(e=>ee(e,t,s)),D),se=(e,t,s)=>ee(e,(e=>te(e,t,s)),D),le=(e,t)=>{const s=K();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ne=e=>le(e,le),ae=e=>le(e,ne),re=(e,t,s,l,n=0)=>R((s?Z:U)(e,t[n],n>E(t)-2?s:K),(a=>{if(n>E(t)-2)return l?.(a)&&Y(e,t[n]),a;const r=re(a,t,s,l,n+1);return q(a)&&Y(e,t[n]),r})),oe=e=>new Set(Array.isArray(e)||m(e)?e:[e]),ce=(e,t)=>e?.add(t),ie=/^\d+$/,de=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ie.test(t)&&E(e)<1e3&&z(e,t)}]},ue=e=>[e,e],he=()=>[K(),K()],ge=e=>[...e],fe=([e,t])=>e===t,Te=t=>{const s=e(t);return y(s)||s==n&&w(t)?s:void 0},Ve=(e,t,s,l,n)=>m(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),be=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),Ce=e=>JSON.stringify(e,((e,t)=>I(t,Map)?O.fromEntries([...t]):t)),Se=JSON.parse,ve=(e,t,s)=>m(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),we=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),Ie=()=>{let e,s,l=!1,a=!1,c=0;const w=K(),I=K(),O=K(),k=K(),A=K(),N=K(),ie=K(),me=K(),Re=K(),ye=K(),Je=K(),Le=K(),pe=K(),Ee=K(),Fe=oe(),ze=K(),Oe=K(),ke=K(),Ae=K(),Me=he(),Ne=he(),Pe=he(),je=he(),xe=he(),De=he(),We=he(),$e=he(),qe=he(),Be=he(),Ge=he(),He=he(),Ke=he(),Qe=he(),Ue=he(),Xe=K(),Ye=he(),[Ze,_e,et,tt]=(e=>{let s;const[l,n]=de(),a=K();return[(e,n,r,o=[],c=(()=>[]))=>{s??=Ts;const i=l(1);return Y(a,i,[e,n,r,o,c]),ce(re(n,r??[t],oe),i),i},(e,l,...n)=>L(((e,s=[t])=>{const l=[],n=(e,t)=>t==E(s)?z(l,e):null===s[t]?G(e,(e=>n(e,t+1))):L([s[t],null],(s=>n(U(e,s),t+1)));return n(e,0),l})(e,l),(e=>G(e,(e=>U(a,e)[0](s,...l??[],...n))))),e=>R(U(a,e),(([,s,l])=>(re(s,l??[t],void 0,(t=>(H(t,e),q(t)?1:0))),Y(a,e),n(e),l))),e=>R(U(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=E(r);o==E(t)?e(s,...r,...n(r)):m(t[o])?L(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),st=e=>{if(!ve(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!y(t)&&t!=n||(Te(e[o])!=t&&j(e,o),0))},lt=(t,s)=>(!e||$(Je,s)||kt(s))&&ve(t,((e,t)=>nt(s,t,e)),(()=>kt(s))),nt=(e,t,s,l)=>ve(l?s:ct(s,e,t),((l,n)=>R(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>kt(e,t))),at=(t,s,l,n)=>e?R(U(U(Je,t),l),(e=>Te(n)!=e[r]?kt(t,s,l,n,e[o]):n),(()=>kt(t,s,l,n))):m(Te(n))?kt(t,s,l,n):n,rt=(e,t)=>ve(t?e:it(e),((t,s)=>R(ot(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),ot=(e,t)=>s?R(U(pe,e),(s=>Te(t)!=s[r]?At(e,t,s[o]):t),(()=>At(e,t))):m(Te(t))?At(e,t):t,ct=(e,t,s)=>(R(U(Le,t),(([l,n])=>{G(l,((t,s)=>{P(e,s)||(e[s]=t)})),G(n,(l=>{P(e,l)||kt(t,s,l)}))})),e),it=e=>(s&&(G(Ee,((t,s)=>{P(e,s)||(e[s]=t)})),G(Fe,(t=>{P(e,t)||At(t)}))),e),dt=e=>_(Je,e,((e,t,s)=>{const l=K(),n=oe();_(Z(Je,t,K),s,((e,t,s)=>{Y(e,t,s),R(s[o],(e=>Y(l,t,e)),(()=>ce(n,t)))})),Y(Le,t,[l,n])}),((e,t)=>{Y(Je,t),Y(Le,t)})),ut=e=>_(pe,e,((e,t,s)=>{Y(pe,t,s),R(s[o],(e=>Y(Ee,t,e)),(()=>ce(Fe,t)))}),((e,t)=>{Y(pe,t),Y(Ee,t),H(Fe,t)})),ht=e=>D(e)?rs():ts(e),gt=e=>_(ke,e,((e,t,s)=>ft(t,s)),((e,t)=>mt(t))),ft=(e,t)=>_(Z(ke,e,(()=>(Lt(e,1),Y(ze,e,de()),Y(Oe,e,K()),K()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>Rt(e,t,s))),Tt=(e,t,s,l,n)=>_(Z(t,s,(()=>(pt(e,s,1),K()))),l,((t,l,n)=>Vt(e,s,t,l,n)),((l,a)=>yt(e,t,s,l,a,n))),Vt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=U(s,l);n!==a&&(Ft(e,t,l,a,n),Y(s,l,n))},bt=(e,t,s,l,n)=>R(U(t,s),(t=>Vt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>_(Ae,e,((e,t,s)=>vt(t,s)),((e,t)=>Jt(t))),vt=(e,t)=>{$(Ae,e)||zt(e,1);const s=U(Ae,e);t!==s&&(Ot(e,s,t),Y(Ae,e,t))},wt=(e,t)=>{const[s]=U(ze,e),l=s(t);return $(U(ke,e),l)?wt(e,t):l},It=e=>U(ke,e)??ft(e,{}),mt=e=>ft(e,{}),Rt=(e,t,s)=>{const[,l]=U(ze,e);l(s),Tt(e,t,s,{},!0)},yt=(e,t,s,l,n,a)=>{const r=U(U(Le,e)?.[0],n);if(!m(r)&&!a)return Vt(e,s,l,n,r);const o=t=>{Ft(e,s,t,U(l,t)),Et(e,s,t,-1),Y(l,t)};m(r)?o(n):X(l,o),q(l)&&(pt(e,s,-1),q(Y(t,s))&&(Lt(e,-1),Y(ke,e),Y(ze,e),Y(Oe,e)))},Jt=e=>{const t=U(Ee,e);if(!m(t))return vt(e,t);Ot(e,U(Ae,e)),zt(e,-1),Y(Ae,e)},Lt=(e,t)=>we(w,e,t),pt=(e,t,s)=>we(Z(k,e,K),t,s)&&Y(O,e,Z(O,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=U(Oe,e),a=U(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&we(Z(I,e,K),s,l),Y(n,s,a!=-l?a+l:null),we(Z(Z(A,e,K),t,K),s,l)},Ft=(e,t,s,l,n)=>Z(Z(Z(N,e,K),t,K),s,(()=>[l,0]))[1]=n,zt=(e,t)=>we(ie,e,t),Ot=(e,t,s)=>Z(me,e,(()=>[t,0]))[1]=s,kt=(e,t,s,l,n)=>(z(Z(Z(Z(Re,e,K),t,K),s,(()=>[])),l),n),At=(e,t,s)=>(z(Z(ye,e,(()=>[])),t),s),Mt=(e,t,s)=>R(U(U(U(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Yt(e,t,s))])),Nt=e=>R(U(me,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(es(e))])),Pt=e=>q(Re)||q(Ge[e])?0:G(e?ae(Re):Re,((t,s)=>G(t,((t,l)=>G(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),jt=e=>q(ye)||q(He[e])?0:G(e?le(ye):ye,((t,s)=>_e(He[e],[s],t))),xt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>ee(t))),1},Dt=e=>{const t=q(We[e]),s=q(qe[e])&&q(je[e])&&q(xe[e])&&q(De[e])&&t&&q(Ne[e]),l=q(Be[e])&&q($e[e])&&q(Pe[e])&&q(Me[e]);if(!s||!l){const n=e?[le(w),ne(I),le(O),ne(k),ae(A),ae(N)]:[w,I,O,k,A,N];if(!s){xt(Ne[e],n[0]),G(n[1],((t,s)=>xt(je[e],t,[s]))),G(n[2],((t,s)=>{0!=t&&_e(xe[e],[s],Kt(s))}));const s=oe();G(n[3],((l,n)=>{xt(De[e],l,[n])&&!t&&(_e(We[e],[n,null]),ce(s,n))})),t||G(n[5],((t,l)=>{if(!$(s,l)){const s=oe();G(t,(e=>G(e,(([t,l],n)=>l!==t?ce(s,n):H(e,n))))),G(s,(t=>_e(We[e],[l,t])))}})),G(n[4],((t,s)=>G(t,((t,l)=>xt(qe[e],t,[s,l])))))}if(!l){let t;G(n[5],((s,l)=>{let n;G(s,((s,a)=>{let r;G(s,(([s,o],c)=>{o!==s&&(_e(Be[e],[l,a,c],o,s,Mt),t=n=r=1)})),r&&_e($e[e],[l,a],Mt)})),n&&_e(Pe[e],[l],Mt)})),t&&_e(Me[e],void 0,Mt)}}},Wt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[le(ie),le(me)]:[ie,me];if(t||xt(Qe[e],l[0]),!s){let t;G(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,Nt),t=1)})),t&&_e(Ke[e],void 0,Nt)}}},$t=(e,...t)=>(hs((()=>e(...p(t,v)))),Ts),qt=()=>[ee(N,((e,t)=>-1===U(w,t)?null:ee(e,((e,s)=>-1===U(U(k,t),s)?null:ee(e,(([,e])=>e??null),((e,t)=>fe(t)))),D)),D),ee(me,(([,e])=>e??null),((e,t)=>fe(t)))],Bt=()=>({cellsTouched:l,valuesTouched:a,changedCells:se(N,ge,fe),invalidCells:se(Re),changedValues:ee(me,ge,fe),invalidValues:ee(ye),changedTableIds:ee(w),changedRowIds:te(k),changedCellIds:se(A),changedValueIds:ee(ie)}),Gt=()=>se(ke),Ht=()=>Q(ke),Kt=e=>W(U(ke,v(e))),Qt=e=>Q(U(ke,v(e))),Ut=(e,t,s,l=0,n)=>{return p(F((r=U(ke,v(e)),o=(e,s)=>[m(t)?s:U(e,v(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),p([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,m(n)?n:l+n),(([,e])=>e));var a,r,o},Xt=(e,t)=>Q(U(U(ke,v(e)),v(t))),Yt=(e,t,s)=>U(U(U(ke,v(e)),v(t)),v(s)),Zt=()=>ee(Ae),_t=()=>Q(Ae),es=e=>U(Ae,v(e)),ts=e=>$t((()=>(e=>ve(e,lt,kt))(e)?gt(e):0)),ss=e=>$t((()=>rt(e)?St(e):0)),ls=e=>{try{ht(Se(e))}catch{}return Ts},ns=t=>$t((()=>{if((e=ve(t,(e=>ve(e,st))))&&(dt(t),!q(ke))){const e=Gt();rs(),ts(e)}})),as=e=>$t((()=>{if(s=(e=>ve(e,st))(e)){const t=Zt();us(),is(),s=!0,ut(e),ss(t)}})),rs=()=>$t((()=>gt({}))),os=e=>$t((e=>$(ke,e)?mt(e):0),e),cs=(e,t)=>$t(((e,t)=>R(U(ke,e),(s=>$(s,t)?Rt(e,s,t):0))),e,t),is=()=>$t((()=>St({}))),ds=()=>$t((()=>{dt({}),e=!1})),us=()=>$t((()=>{ut({}),s=!1})),hs=(e,t)=>{if(-1!=c){gs();const s=e();return fs(t),s}},gs=()=>(-1!=c&&c++,1==c&&_e(Xe,void 0,qt,Bt),Ts),fs=e=>(c>0&&(c--,0==c&&(l=!q(N),a=!q(me),c=1,Pt(1),l&&Dt(1),jt(1),a&&Wt(1),e?.(qt,Bt)&&(G(N,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),G(me,(([e],t)=>be(Ts,t,e))),l=a=!1),_e(Ye[0],void 0,qt,Bt),c=-1,Pt(0),l&&Dt(0),jt(0),a&&Wt(0),_e(Ye[1],void 0,qt,Bt),c=0,l=a=!1,L([w,I,O,k,A,N,Re,ie,me,ye],B))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>te(U(ke,v(e))),getTableCellIds:e=>Q(U(Oe,v(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>ee(U(U(ke,v(e)),v(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(ke),hasTable:e=>$(ke,v(e)),hasTableCell:(e,t)=>$(U(Oe,v(e)),v(t)),hasRow:(e,t)=>$(U(ke,v(e)),v(t)),hasCell:(e,t,s)=>$(U(U(ke,v(e)),v(t)),v(s)),hasValues:()=>!q(Ae),hasValue:e=>$(Ae,v(e)),getTablesJson:()=>Ce(ke),getValuesJson:()=>Ce(Ae),getJson:()=>Ce([ke,Ae]),getTablesSchemaJson:()=>Ce(Je),getValuesSchemaJson:()=>Ce(pe),getSchemaJson:()=>Ce([Je,pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>$t((()=>{(D(e)?rs:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>$t((e=>lt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>$t(((e,t)=>nt(e,t,s)?Tt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=v(e),Tt(e,It(e),l=wt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>$t(((e,t)=>{if(nt(e,t,s,1)){const l=It(e);x(s,((s,n)=>bt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>$t(((e,t,s)=>R(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>bt(e,It(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>$t((()=>rt(e,1)?x(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>$t((e=>R(ot(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>$t((()=>{x(e[0],((e,t)=>m(e)?os(t):x(e,((e,s)=>m(e)?cs(t,s):x(e,((e,l)=>Ve(Ts,t,s,l,e))))))),x(e[1],((e,t)=>be(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(Se(e))}catch{}return Ts},setJson:e=>{try{const[t,s]=Se(e);ht(t),Ct(s)}catch{ls(e)}return Ts},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>$t((()=>{ns(e),as(t)})),delTables:rs,delTable:os,delRow:cs,delCell:(e,t,s,l)=>$t(((e,t,s)=>R(U(ke,e),(n=>R(U(n,t),(a=>$(a,s)?yt(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>$t((e=>$(Ae,e)?Jt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>$t((()=>{ds(),us()})),transaction:hs,startTransaction:gs,finishTransaction:fs,forEachTable:e=>G(ke,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachTableCell:(e,t)=>X(U(Oe,v(e)),t),forEachRow:(e,t)=>G(U(ke,v(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(ke,v(e)),v(t)),s),forEachValue:e=>X(Ae,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=Ut(e,t,s,l,n);return Ze((()=>{const r=Ut(e,t,s,l,n);var c,i,d;i=o,E(c=r)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(Ts,e,t,s,l,n,o))}),We[r?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:Ie,addListener:Ze,callListeners:_e};return x({[d]:[0,Me],[u]:[0,Ne],[i]:[1,Pe,[Ht]],[i+V]:[1,je,[Ht]],[g]:[1,xe,[Ht]],[f]:[1,De,[Ht]],[h]:[2,$e,[Ht,Qt]],[V]:[2,qe,[Ht,Qt]],[T]:[3,Be,[Ht,Qt,Xt],e=>ue(Yt(...e))],InvalidCell:[3,Ge],[C]:[0,Ke],[S]:[0,Qe],[b]:[1,Ue,[_t],e=>ue(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?F(n,0,e):void 0,s,l)})),M(Ts)};exports.createStore=Ie;
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+"Count",I=L+u,R="Sorted"+L+u,S="Cell",v=S+u,T="Value",p=T+"s",C=T+u,y=e=>t+e,b=Math.max,V=Math.min,m=isFinite,x=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,s)=>E(e)?s?.():t(e),M=e=>e==s||e==n,D=t=>e(t)==o,J=e=>Array.isArray(e),A=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>B(e)===B(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),j=(e,t)=>e.map(t),W=e=>q(e,((e,t)=>e+t),0),B=e=>e.length,$=e=>0==B(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>x(e,X)&&e.constructor==X,te=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>j(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>B(Y(e)))(e),oe=e=>e?.size??0,re=(e,t)=>e?.has(t)??!1,le=e=>E(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),ge=e=>[...e?.keys()??[]],fe=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>E(s)?(ue(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(re(e,t)||we(e,t,s()),fe(e,t)),Re=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),Se=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Se(e,(e=>Se(e,t,s)),ae),Te=(e,t,s)=>Se(e,(e=>ve(e,t,s)),ae),pe=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>pe(e,pe),ye=e=>pe(e,Ce),be=(e,t,s,n,a=0)=>k((s?Ie:fe)(e,t[a],a>B(t)-2?s:he),(o=>{if(a>B(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=t=>{const s=e(t);return M(s)||s==a&&m(t)?s:void 0},me=(e,t,s,n,a)=>E(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),xe=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),Ee=e=>new Set(J(e)||E(e)?e:[e]),ke=(e,t)=>e?.add(t),Me=(e,t,s,n,a)=>{const o=e.hasRow,r=he(),l=he(),i=he(),c=he(),d=he(),u=he(),h=(t,s,...n)=>{const a=Ie(u,t,Ee);return P(n,(t=>ke(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>k(fe(u,t),(n=>{P($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(u,t)})),f=(e,s)=>{we(r,e,s),re(l,e)||(we(l,e,t()),we(c,e,he()),we(d,e,he()),a(i))},L=e=>{we(r,e),we(l,e),we(c,e),we(d,e),g(e),a(i)};return[()=>e,()=>ge(r),e=>Le(l,e),e=>re(l,e),e=>fe(r,e),e=>fe(l,e),(e,t)=>we(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=he(),u=he(),L=fe(c,t),w=fe(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=fe(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||J(c)&&J(d)&&z(c,d)||we(i,t,[c,d]),!E(l)){const e=fe(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&we(u,t,s)}},R=e=>{a((()=>{de(i,(([,e],t)=>we(L,t,e))),de(u,((e,t)=>we(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};Le(L,I),e.hasTable(n)&&P(e.getRowIds(n),(e=>{re(L,e)||I(e)})),R(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>R())))},L,e=>n(e,i),()=>Le(u,L),h,g]},De=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Ae.test(t)&&B(e)<1e3&&H(e,t)}]},Qe=e=>{let s;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),ke(be(r,l??[t],Ee),d),d},(e,n,...a)=>P(((e,s=[t])=>{const n=[],a=(e,t)=>t==B(s)?H(n,e):null===s[t]?de(e,(e=>a(e,t+1))):P([s[t],null],(s=>a(fe(e,s),t+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>fe(o,e)[0](s,...n??[],...a))))),e=>k(fe(o,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>k(fe(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=B(r);l==B(t)?e(s,...r,...a(r)):E(t[l])?P(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},ze=Je((e=>{let s,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,g]=Qe((()=>Q)),f=he(),L=he(),w=[],I=[],R=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=fe(f,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>xe(e,n,s[t])))})),i=1},S=e=>{we(f,e),we(L,e),h(d,[e])},v=(e,t)=>P(((e,t)=>e.splice(0,t))(e,t??B(e)),S),T=()=>v(w,B(w)-o),p=()=>k(s,(()=>{H(w,s),T(),v(I),s=void 0,a=1})),C=()=>{s=K(w),a=1},y=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=Ie(r,t,he),l=Ie(e,s,he),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&C(),M()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&C(),M()}})),V=(e="")=>(E(s)&&(s=t+n++,we(f,s,[r,l]),J(s,e),r=he(),l=he(),a=1),s),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(I,V()),R(0,s),s=K(w),a=1)},x=()=>{$(I)||(H(w,s),s=U(I),R(1,s),a=1)},M=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return M(),t},J=(e,t)=>(A(e)&&fe(L,e)!==t&&(we(L,e,t),h(d,[e])),Q),A=e=>re(f,e),Q={setSize:e=>(o=e,T(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...I]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:A,getCheckpoint:e=>fe(L,e),goBackward:()=>(m(),M(),Q),goForward:()=>(x(),M(),Q),goTo:e=>{const t=F(w,e)?m:F(I,e)?x:null;for(;!E(t)&&e!=s;)t();return M(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(v(w),v(I),E(s)||S(s),s=void 0,n=0,D(),Q),destroy:()=>{e.delListener(y),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Je((e=>{const s=he(),n=he(),[a,o,r]=Qe((()=>S)),[l,i,c,d,u,h,g,,f,L,w,I]=Me(e,he,(e=>E(e)?t:J(e)?j(e,y):y(e)),a,o),R=(t,s,n)=>{const a=u(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,t,a,r,l,i=Ne)=>{const c=E(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const w=Ee(),I=Ee(),R=h(e);if(de(a,(([e,t],s)=>{const n=Ee(e),a=Ee(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{ke(w,e),k(fe(R,e),(t=>{ue(t,s),le(t)&&(we(R,e),L=1)}))})),de(a,(e=>{ke(w,e),re(R,e)||(we(R,e,Ee()),L=1),ke(fe(R,e),s),E(r)||ke(I,e)}))})),t(),le(u)||(f?Le(R,(e=>ke(I,e))):Le(l,(e=>k(fe(d,e),(e=>ke(I,e))))),de(I,(e=>{const t=(t,s)=>i(fe(u,t),fe(u,s),e),s=[...fe(R,e)];N(s,t)||(we(R,e,Ee(O(s,t))),ke(w,e))}))),(L||f)&&!E(c)){const t=[...R];N(t,c)||(g(e,he(O(t,c))),L=1)}L&&o(s,[e]),de(w,(t=>o(n,[e,t])))}),De(a),k(r,De)),S},delIndexDefinition:e=>(L(e),S),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>R(t,e,s))))),forEachSlice:(e,t)=>R(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>re(h(e),t),getTableId:u,getSliceIds:e=>ge(h(e)),getSliceRowIds:(e,t)=>ie(fe(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:I,getListenerStats:()=>({})};return _(S)})),Pe=he([["avg",[(e,t)=>W(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),je=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=E(e),de(n,(([s,n])=>{o||(e=E(s)?l?.(e,n,t++):E(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=E(e))})),o?r(ie(s),oe(s)):e},We=Je((e=>{const s=he(),[n,a,o]=Qe((()=>I)),[r,l,i,c,d,u,h,,g,f,L,w]=Me(e,A,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),I={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=D(n)?[n,r,l,i]:fe(Pe,n)??fe(Pe,"sum");return g(e,t,((t,n,o,r,l,i)=>{const d=u(e),g=oe(r);i||=E(d),t();let f=je(d,g,r,n,c,i);m(f)||(f=void 0),f!=d&&(h(e,f),a(s,[e],f,d))}),De(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return _(I)})),Be=he(),$e=he(),qe=Je((e=>{const s=e.createStore,n=s(),a=s(),o=he(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,T,p,C,,,y,,b,V,m,x,M]=Me(e,(()=>!0),A,r,l),J=(e,t,...s)=>P(s,(s=>ke(Ie(Ie(o,t,he),e,Ee),s))),F=e=>{k(fe(o,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),P([a,n],(t=>t.delTable(e)))},z=(e,t,s)=>J(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),N={setQueryDefinition:(s,o,r)=>{y(s,o),F(s);const l=[],i=[[null,[o,null,null,[],he()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=D(e)?[B(l)+t,e]:[E(s)?e:s,t=>t(e,s)];return H(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=E(s)||D(t)?null:t,a=E(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(c,D(e)?e:E(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:fe(Pe,t)??[(e,t)=>t]]];return H(d,o),{as:e=>o[0]=e}},having:(e,t)=>H(u,D(e)?e:s=>s(e)===t)});const h=he(l);if(le(h))return N;const g=he(i);Le(g,((e,[,t])=>k(fe(g,t),(({3:t})=>E(e)?0:H(t,e)))));const f=he(d);let L=n;if(le(f)&&$(u))L=a;else{z(s,L,a);const e=he();Le(f,((t,[s,n])=>ke(Ie(e,s,Ee),[t,n])));const t=Ee();Le(h,(s=>re(e,s)?0:ke(t,s)));const n=he(),o=(t,n,o,r)=>k(t,(([l,i,c,d])=>{Le(n,((t,[s])=>{const n=Ie(l,t,he),a=fe(n,o),i=r?void 0:s;if(a!==i){const s=Ee([[a,i]]),r=oe(n);we(n,o,i),de(fe(e,t),(([e,t])=>{const a=je(d[e],r,n,s,t);d[e]=E(Ve(a))?null:a}))}})),le(i)||!Q(u,(e=>e((e=>d[e]))))?a.delRow(s,c):E(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));J(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=he(),h=L.hasRow(s,l);let g=!h;de(t,(e=>{const[t,n,a]=i(s,l,e);H(c,n),H(d,a),g||=t})),Le(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&we(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return de(t,(t=>e[t]=L.getCell(s,l,t))),[he(),Ee(),void 0,e]}),(([,e])=>{ke(e,l)})),u,l)})))}z(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);P(r,(n=>{const[a,,o,r,i]=fe(g,n),c=o?.(l,t),[d,u]=fe(i,t)??[];c!=d&&(E(u)||M(s,u),we(i,t,E(c)?null:[c,...x(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...E(n)?[o,t,s]:s===o?[o,t,n]:[fe(g,s)?.[0],fe(fe(g,s)?.[4],t)?.[0],n]);L.transaction((()=>Q(c,(e=>e(n)))?Le(h,((e,a)=>me(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:I}=fe(g,null);return L.transaction((()=>x(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(s,a),de(g,(({4:e})=>k(fe(e,a),(([,t])=>{M(s,t),we(e,a)})))))}))))),N},delQueryDefinition:e=>(F(e),b(e),N),getStore:g,getQueryIds:f,forEachQuery:T,hasQuery:p,getTableId:C,addQueryIdsListener:e=>V((()=>e(N))),delListener:e=>(u(e),N),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ne({[h]:[1,1],[h+v]:[0,1],[w]:[0,1],[I]:[0,1],[R]:[0,5],[L]:[1,2],[v]:[0,2],[S]:[1,3]},(([e,t],s)=>{P(e?["get","has","forEach"]:["get"],(e=>N[e+c+s]=(...t)=>a[e+s](...t))),N[d+c+s+i]=(...e)=>a[d+s+i](...G(e,0,t),((s,...n)=>e[t](N,...n)))})),_(N)})),Ge=Je((e=>{const s=he(),n=he(),a=he(),o=he(),[r,l,i]=Qe((()=>p)),[c,d,u,h,g,f,,,L,w,I,R]=Me(e,(()=>[he(),he(),he(),he()]),(e=>E(e)?void 0:e+t),r,l),S=(e,t,s)=>k(f(e),(([n,,a])=>{if(!re(a,t)){const o=Ee();if(g(e)!=T(e))ke(o,t);else{let e=t;for(;!E(e)&&!re(o,e);)ke(o,e),e=fe(n,e)}if(s)return o;we(a,t,o)}return fe(a,t)})),v=(e,t)=>k(f(e),(([,,e])=>we(e,t))),T=e=>fe(s,e),p={setRelationshipDefinition:(e,t,r,i)=>(we(s,e,r),L(e,t,((t,s)=>{const r=Ee(),i=Ee(),c=Ee(),[d,u]=f(e);de(s,(([t,s],n)=>{E(t)||(ke(i,t),k(fe(u,t),(e=>{ue(e,n),le(e)&&we(u,t)}))),E(s)||(ke(i,s),re(u,s)||we(u,s,Ee()),ke(fe(u,s),n)),ke(r,n),we(d,n,s),Le(fe(o,e),(t=>{re(S(e,t),n)&&ke(c,t)}))})),t(),de(r,(t=>l(n,[e,t]))),de(i,(t=>l(a,[e,t]))),de(c,(t=>{v(e,t),l(o,[e,t])}))}),De(i)),p),delRelationshipDefinition:e=>(we(s,e),w(e),p),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>fe(f(e)?.[0],t),getLocalRowIds:(e,t)=>ie(fe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>E(f(e))?[t]:ie(S(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),p),destroy:R,getListenerStats:()=>({})};return _(p)})),He=e=>[e,e],Ke=()=>[he(),he()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=e=>JSON.stringify(e,((e,t)=>x(t,Map)?X.fromEntries([...t]):t)),Ze=JSON.parse,_e=(e,t,s)=>E(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),et=(e,t,s)=>we(e,t,fe(e,t)==-s?void 0:s),tt=()=>{let e,t,s=!1,n=!1,o=0;const c=he(),u=he(),R=he(),b=he(),V=he(),m=he(),x=he(),J=he(),A=he(),Q=he(),N=he(),W=he(),B=he(),$=he(),q=Ee(),K=he(),U=he(),X=he(),Y=he(),Z=Ke(),ee=Ke(),ie=Ke(),be=Ke(),Me=Ke(),De=Ke(),Je=Ke(),Ae=Ke(),ze=Ke(),Oe=Ke(),Pe=Ke(),je=Ke(),We=Ke(),Be=Ke(),$e=Ke(),qe=he(),Ge=Ke(),[st,nt,at,ot]=Qe((()=>Ss)),rt=e=>{if(!_e(e,((e,t)=>F([r,l],t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(Ve(e[l])!=t&&se(e,l),0))},lt=(t,s)=>(!e||re(N,s)||zt(s))&&_e(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>_e(n?s:ht(s,e,t),((n,a)=>k(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?k(fe(fe(N,t),n),(e=>Ve(a)!=e[r]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):E(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>_e(t?e:gt(e),((t,s)=>k(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?k(fe(B,e),(t=>Ve(s)!=t[r]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):E(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(k(fe(W,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(de($,((t,s)=>{te(e,s)||(e[s]=t)})),de(q,(t=>{te(e,t)||Nt(t)}))),e),ft=e=>Re(N,e,((e,t,s)=>{const n=he(),a=Ee();Re(Ie(N,t,he),s,((e,t,s)=>{we(e,t,s),k(s[l],(e=>we(n,t,e)),(()=>ke(a,t)))})),we(W,t,[n,a])}),((e,t)=>{we(N,t),we(W,t)})),Lt=e=>Re(B,e,((e,t,s)=>{we(B,t,s),k(s[l],(e=>we($,t,e)),(()=>ke(q,t)))}),((e,t)=>{we(B,t),we($,t),ue(q,t)})),wt=e=>ae(e)?ds():os(e),It=e=>Re(X,e,((e,t,s)=>Rt(t,s)),((e,t)=>mt(t))),Rt=(e,t)=>Re(Ie(X,e,(()=>(Mt(e,1),we(K,e,Fe()),we(U,e,he()),he()))),t,((t,s,n)=>St(e,t,s,n)),((t,s)=>xt(e,t,s))),St=(e,t,s,n,a)=>Re(Ie(t,s,(()=>(Dt(e,s,1),he()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>Et(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{re(s,n)||Jt(e,t,n,1);const o=fe(s,n);a!==o&&(At(e,t,n,o,a),we(s,n,a))},Tt=(e,t,s,n,a)=>k(fe(t,s),(t=>vt(e,s,t,n,a)),(()=>St(e,t,s,ht({[n]:a},e,s)))),pt=e=>ae(e)?gs():rs(e),Ct=e=>Re(Y,e,((e,t,s)=>yt(t,s)),((e,t)=>kt(t))),yt=(e,t)=>{re(Y,e)||Ft(e,1);const s=fe(Y,e);t!==s&&(Qt(e,s,t),we(Y,e,t))},bt=(e,t)=>{const[s]=fe(K,e),n=s(t);return re(fe(X,e),n)?bt(e,t):n},Vt=e=>fe(X,e)??Rt(e,{}),mt=e=>Rt(e,{}),xt=(e,t,s)=>{const[,n]=fe(K,e);n(s),St(e,t,s,{},!0)},Et=(e,t,s,n,a,o)=>{const r=fe(fe(W,e)?.[0],a);if(!E(r)&&!o)return vt(e,s,n,a,r);const l=t=>{At(e,s,t,fe(n,t)),Jt(e,s,t,-1),we(n,t)};E(r)?l(a):Le(n,l),le(n)&&(Dt(e,s,-1),le(we(t,s))&&(Mt(e,-1),we(X,e),we(K,e),we(U,e)))},kt=e=>{const t=fe($,e);if(!E(t))return yt(e,t);Qt(e,fe(Y,e)),Ft(e,-1),we(Y,e)},Mt=(e,t)=>et(c,e,t),Dt=(e,t,s)=>et(Ie(b,e,he),t,s)&&we(R,e,Ie(R,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=fe(U,e),o=fe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&et(Ie(u,e,he),s,n),we(a,s,o!=-n?o+n:null),et(Ie(Ie(V,e,he),t,he),s,n)},At=(e,t,s,n,a)=>Ie(Ie(Ie(m,e,he),t,he),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>et(x,e,t),Qt=(e,t,s)=>Ie(J,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(H(Ie(Ie(Ie(A,e,he),t,he),s,(()=>[])),n),a),Nt=(e,t,s)=>(H(Ie(Q,e,(()=>[])),t),s),Ot=(e,t,s)=>k(fe(fe(fe(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(ts(e,t,s))])),Pt=e=>k(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(as(e))])),jt=e=>le(A)||le(Pe[e])?0:de(e?ye(A):A,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>nt(Pe[e],[s,n,a],t))))))),Wt=e=>le(Q)||le(je[e])?0:de(e?pe(Q):Q,((t,s)=>nt(je[e],[s],t))),Bt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Se(t))),1},$t=e=>{const t=le(Je[e]),s=le(ze[e])&&le(be[e])&&le(Me[e])&&le(De[e])&&t&&le(ee[e]),n=le(Oe[e])&&le(Ae[e])&&le(ie[e])&&le(Z[e]);if(!s||!n){const a=e?[pe(c),Ce(u),pe(R),Ce(b),ye(V),ye(m)]:[c,u,R,b,V,m];if(!s){Bt(ee[e],a[0]),de(a[1],((t,s)=>Bt(be[e],t,[s]))),de(a[2],((t,s)=>{0!=t&&nt(Me[e],[s],Yt(s))}));const s=Ee();de(a[3],((n,a)=>{Bt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),ke(s,a))})),t||de(a[5],((t,n)=>{if(!re(s,n)){const s=Ee();de(t,(e=>de(e,(([t,n],a)=>n!==t?ke(s,a):ue(e,a))))),de(s,(t=>nt(Je[e],[n,t])))}})),de(a[4],((t,s)=>de(t,((t,n)=>Bt(ze[e],t,[s,n])))))}if(!n){let t;de(a[5],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&(nt(Oe[e],[n,o,i],l,s,Ot),t=a=r=1)})),r&&nt(Ae[e],[n,o],Ot)})),a&&nt(ie[e],[n],Ot)})),t&&nt(Z[e],void 0,Ot)}}},qt=e=>{const t=le(Be[e]),s=le($e[e])&&le(We[e]);if(!t||!s){const n=e?[pe(x),pe(J)]:[x,J];if(t||Bt(Be[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Pt),t=1)})),t&&nt(We[e],void 0,Pt)}}},Gt=(e,...t)=>(ws((()=>e(...j(t,y)))),Ss),Ht=()=>[Se(m,((e,t)=>-1===fe(c,t)?null:Se(e,((e,s)=>-1===fe(fe(b,t),s)?null:Se(e,(([,e])=>e??null),((e,t)=>Xe(t)))),ae)),ae),Se(J,(([,e])=>e??null),((e,t)=>Xe(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(m,Ue,Xe),invalidCells:Te(A),changedValues:Se(J,Ue,Xe),invalidValues:Se(Q),changedTableIds:Se(c),changedRowIds:ve(b),changedCellIds:Te(V),changedValueIds:Se(x)}),Ut=()=>Te(X),Xt=()=>ge(X),Yt=e=>oe(fe(X,y(e))),Zt=e=>ge(fe(X,y(e))),_t=(e,t,s,n=0,a)=>{return j(G(O((o=fe(X,y(e)),r=(e,s)=>[E(t)?s:fe(e,y(t)),s],j([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,E(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>ge(fe(fe(X,y(e)),y(t))),ts=(e,t,s)=>fe(fe(fe(X,y(e)),y(t)),y(s)),ss=()=>Se(Y),ns=()=>ge(Y),as=e=>fe(Y,y(e)),os=e=>Gt((()=>(e=>_e(e,lt,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),ls=e=>{try{wt(Ze(e))}catch{}return Ss},is=t=>Gt((()=>{if((e=_e(t,(e=>_e(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>_e(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>re(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>k(fe(X,e),(s=>re(s,t)?xt(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=o){Is();const s=e();return Rs(t),s}},Is=()=>(-1!=o&&o++,1==o&&nt(qe,void 0,Ht,Kt),Ss),Rs=e=>(o>0&&(o--,0==o&&(s=!le(m),n=!le(J),o=1,jt(1),s&&$t(1),Wt(1),n&&qt(1),e?.(Ht,Kt)&&(de(m,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(Ss,t,s,n,e))))))),de(J,(([e],t)=>xe(Ss,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),o=-1,jt(0),s&&$t(0),Wt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),o=0,s=n=!1,P([c,u,R,b,V,m,A,x,J,Q],ce))),Ss),Ss={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(fe(X,y(e))),getTableCellIds:e=>ge(fe(U,y(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Se(fe(fe(X,y(e)),y(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>re(X,y(e)),hasTableCell:(e,t)=>re(fe(U,y(e)),y(t)),hasRow:(e,t)=>re(fe(X,y(e)),y(t)),hasCell:(e,t,s)=>re(fe(fe(X,y(e)),y(t)),y(s)),hasValues:()=>!le(Y),hasValue:e=>re(Y,y(e)),getTablesJson:()=>Ye(X),getValuesJson:()=>Ye(Y),getJson:()=>Ye([X,Y]),getTablesSchemaJson:()=>Ye(N),getValuesSchemaJson:()=>Ye(B),getSchemaJson:()=>Ye([N,B]),setContent:([e,t])=>Gt((()=>{(ae(e)?ds:os)(e),(ae(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?Rt(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?St(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return it(e,n,t)&&(e=y(e),St(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ne(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>k(ct(e,t,s,D(n)?n(ts(e,t,s)):n),(n=>Tt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ne(e,((e,t)=>yt(t,e))):0)),setValue:(e,t)=>Gt((e=>k(ut(e,D(t)?t(as(e)):t),(t=>yt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ne(e[0],((e,t)=>E(e)?us(t):ne(e,((e,s)=>E(e)?hs(t,s):ne(e,((e,n)=>me(Ss,t,s,n,e))))))),ne(e[1],((e,t)=>xe(Ss,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{pt(Ze(e))}catch{}return Ss},setJson:e=>{try{const[t,s]=Ze(e);wt(t),pt(s)}catch{ls(e)}return Ss},setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>k(fe(X,e),(a=>k(fe(a,t),(o=>re(o,s)?Et(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>re(Y,e)?kt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Rs,forEachTable:e=>de(X,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(fe(U,y(e)),t),forEachRow:(e,t)=>de(fe(X,y(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(fe(fe(X,y(e)),y(t)),s),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return st((()=>{const r=_t(e,t,s,n,a);z(r,l)||(l=r,o(Ss,e,t,s,n,a,l))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>st(e,qe),addWillFinishTransactionListener:e=>st(e,Ge[0]),addDidFinishTransactionListener:e=>st(e,Ge[1]),callListener:e=>(ot(e),Ss),delListener:e=>(at(e),Ss),getListenerStats:()=>({}),createStore:tt,addListener:st,callListeners:nt};return ne({[g]:[0,Z],[f]:[0,ee],[h]:[1,ie,[Xt]],[h+v]:[1,be,[Xt]],[w]:[1,Me,[Xt]],[I]:[1,De,[Xt]],[L]:[2,Ae,[Xt,Zt]],[v]:[2,ze,[Xt,Zt]],[S]:[3,Oe,[Xt,Zt,es],e=>He(ts(...e))],InvalidCell:[3,Pe],[p]:[0,We],[C]:[0,Be],[T]:[1,$e,[ns],e=>He(as(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],a)=>{Ss[d+a+i]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(Ss)};exports.createCheckpoints=ze,exports.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let l,i,c,d=0,u=0;Ie(Be,r,(()=>0)),Ie($e,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),l=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(k(l,e.delListener),g),schedule:async(...e)=>(H(fe($e,r),...e),await(async()=>{if(!fe(Be,r)){for(we(Be,r,1);!E(i=U(fe($e,r)));)try{await i()}catch(e){o?.(e)}we(Be,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(g)},exports.createIndexes=Oe,exports.createMetrics=We,exports.createQueries=qe,exports.createRelationships=Ge,exports.createStore=tt,exports.defaultSorter=Ne;
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+"Count",I=L+u,S="Sorted"+L+u,R="Cell",v=R+u,T="Value",p=T+"s",C=T+u,y=e=>t+e,b=Math.max,V=Math.min,m=isFinite,x=(e,t)=>e instanceof t,E=e=>null==e,k=(e,t,s)=>E(e)?s?.():t(e),M=e=>e==s||e==n,D=t=>e(t)==o,J=e=>Array.isArray(e),A=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>B(e)===B(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),j=(e,t)=>e.map(t),W=e=>q(e,((e,t)=>e+t),0),B=e=>e.length,$=e=>0==B(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>x(e,X)&&e.constructor==X,te=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>j(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>B(Y(e)))(e),oe=e=>e?.size??0,re=(e,t)=>e?.has(t)??!1,le=e=>E(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),ge=e=>[...e?.keys()??[]],fe=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>E(s)?(ue(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(re(e,t)||we(e,t,s()),fe(e,t)),Se=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ae),Te=(e,t,s)=>Re(e,(e=>ve(e,t,s)),ae),pe=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>pe(e,pe),ye=e=>pe(e,Ce),be=(e,t,s,n,a=0)=>k((s?Ie:fe)(e,t[a],a>B(t)-2?s:he),(o=>{if(a>B(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=t=>{const s=e(t);return M(s)||s==a&&m(t)?s:void 0},me=(e,t,s,n,a)=>E(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),xe=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),Ee=e=>new Set(J(e)||E(e)?e:[e]),ke=(e,t)=>e?.add(t),Me=(e,t,s,n,a)=>{const o=e.hasRow,r=he(),l=he(),i=he(),c=he(),d=he(),u=he(),h=(t,s,...n)=>{const a=Ie(u,t,Ee);return P(n,(t=>ke(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>k(fe(u,t),(n=>{P($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(u,t)})),f=(e,s)=>{we(r,e,s),re(l,e)||(we(l,e,t()),we(c,e,he()),we(d,e,he()),a(i))},L=e=>{we(r,e),we(l,e),we(c,e),we(d,e),g(e),a(i)};return[()=>e,()=>ge(r),e=>Le(l,e),e=>re(l,e),e=>fe(r,e),e=>fe(l,e),(e,t)=>we(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=he(),u=he(),L=fe(c,t),w=fe(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=fe(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||J(c)&&J(d)&&z(c,d)||we(i,t,[c,d]),!E(l)){const e=fe(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&we(u,t,s)}},S=e=>{a((()=>{de(i,(([,e],t)=>we(L,t,e))),de(u,((e,t)=>we(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};Le(L,I),e.hasTable(n)&&P(e.getRowIds(n),(e=>{re(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,i),()=>Le(u,L),h,g]},De=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Ae.test(t)&&B(e)<1e3&&H(e,t)}]},Qe=e=>{let s;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),ke(be(r,l??[t],Ee),d),d},(e,n,...a)=>P(((e,s=[t])=>{const n=[],a=(e,t)=>t==B(s)?H(n,e):null===s[t]?de(e,(e=>a(e,t+1))):P([s[t],null],(s=>a(fe(e,s),t+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>fe(o,e)[0](s,...n??[],...a))))),e=>k(fe(o,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>k(fe(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=B(r);l==B(t)?e(s,...r,...a(r)):E(t[l])?P(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},ze=Je((e=>{let s,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,g]=Qe((()=>Q)),f=he(),L=he(),w=[],I=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=fe(f,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>xe(e,n,s[t])))})),i=1},R=e=>{we(f,e),we(L,e),h(d,[e])},v=(e,t)=>P(((e,t)=>e.splice(0,t))(e,t??B(e)),R),T=()=>v(w,B(w)-o),p=()=>k(s,(()=>{H(w,s),T(),v(I),s=void 0,a=1})),C=()=>{s=K(w),a=1},y=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=Ie(r,t,he),l=Ie(e,s,he),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&C(),M()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&C(),M()}})),V=(e="")=>(E(s)&&(s=t+n++,we(f,s,[r,l]),J(s,e),r=he(),l=he(),a=1),s),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(I,V()),S(0,s),s=K(w),a=1)},x=()=>{$(I)||(H(w,s),s=U(I),S(1,s),a=1)},M=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return M(),t},J=(e,t)=>(A(e)&&fe(L,e)!==t&&(we(L,e,t),h(d,[e])),Q),A=e=>re(f,e),Q={setSize:e=>(o=e,T(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...I]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:A,getCheckpoint:e=>fe(L,e),goBackward:()=>(m(),M(),Q),goForward:()=>(x(),M(),Q),goTo:e=>{const t=F(w,e)?m:F(I,e)?x:null;for(;!E(t)&&e!=s;)t();return M(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(v(w),v(I),E(s)||R(s),s=void 0,n=0,D(),Q),destroy:()=>{e.delListener(y),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Je((e=>{const s=he(),n=he(),[a,o,r]=Qe((()=>R)),[l,i,c,d,u,h,g,,f,L,w,I]=Me(e,he,(e=>E(e)?t:J(e)?j(e,y):y(e)),a,o),S=(t,s,n)=>{const a=u(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},R={setIndexDefinition:(e,t,a,r,l,i=Ne)=>{const c=E(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const w=Ee(),I=Ee(),S=h(e);if(de(a,(([e,t],s)=>{const n=Ee(e),a=Ee(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{ke(w,e),k(fe(S,e),(t=>{ue(t,s),le(t)&&(we(S,e),L=1)}))})),de(a,(e=>{ke(w,e),re(S,e)||(we(S,e,Ee()),L=1),ke(fe(S,e),s),E(r)||ke(I,e)}))})),t(),le(u)||(f?Le(S,(e=>ke(I,e))):Le(l,(e=>k(fe(d,e),(e=>ke(I,e))))),de(I,(e=>{const t=(t,s)=>i(fe(u,t),fe(u,s),e),s=[...fe(S,e)];N(s,t)||(we(S,e,Ee(O(s,t))),ke(w,e))}))),(L||f)&&!E(c)){const t=[...S];N(t,c)||(g(e,he(O(t,c))),L=1)}L&&o(s,[e]),de(w,(t=>o(n,[e,t])))}),De(a),k(r,De)),R},delIndexDefinition:e=>(L(e),R),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>re(h(e),t),getTableId:u,getSliceIds:e=>ge(h(e)),getSliceRowIds:(e,t)=>ie(fe(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),R),destroy:I,getListenerStats:()=>({})};return _(R)})),Pe=he([["avg",[(e,t)=>W(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),je=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=E(e),de(n,(([s,n])=>{o||(e=E(s)?l?.(e,n,t++):E(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=E(e))})),o?r(ie(s),oe(s)):e},We=Je((e=>{const s=he(),[n,a,o]=Qe((()=>I)),[r,l,i,c,d,u,h,,g,f,L,w]=Me(e,A,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),I={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=D(n)?[n,r,l,i]:fe(Pe,n)??fe(Pe,"sum");return g(e,t,((t,n,o,r,l,i)=>{const d=u(e),g=oe(r);i||=E(d),t();let f=je(d,g,r,n,c,i);m(f)||(f=void 0),f!=d&&(h(e,f),a(s,[e],f,d))}),De(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return _(I)})),Be=he(),$e=he(),qe=Je((e=>{const s=e.createStore,n=s(),a=s(),o=he(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,T,p,C,,,y,,b,V,m,x,M]=Me(e,(()=>!0),A,r,l),J=(e,t,...s)=>P(s,(s=>ke(Ie(Ie(o,t,he),e,Ee),s))),F=e=>{k(fe(o,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),P([a,n],(t=>t.delTable(e)))},z=(e,t,s)=>J(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),N={setQueryDefinition:(s,o,r)=>{y(s,o),F(s);const l=[],i=[[null,[o,null,null,[],he()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=D(e)?[B(l)+t,e]:[E(s)?e:s,t=>t(e,s)];return H(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=E(s)||D(t)?null:t,a=E(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(c,D(e)?e:E(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:fe(Pe,t)??[(e,t)=>t]]];return H(d,o),{as:e=>o[0]=e}},having:(e,t)=>H(u,D(e)?e:s=>s(e)===t)});const h=he(l);if(le(h))return N;const g=he(i);Le(g,((e,[,t])=>k(fe(g,t),(({3:t})=>E(e)?0:H(t,e)))));const f=he(d);let L=n;if(le(f)&&$(u))L=a;else{z(s,L,a);const e=he();Le(f,((t,[s,n])=>ke(Ie(e,s,Ee),[t,n])));const t=Ee();Le(h,(s=>re(e,s)?0:ke(t,s)));const n=he(),o=(t,n,o,r)=>k(t,(([l,i,c,d])=>{Le(n,((t,[s])=>{const n=Ie(l,t,he),a=fe(n,o),i=r?void 0:s;if(a!==i){const s=Ee([[a,i]]),r=oe(n);we(n,o,i),de(fe(e,t),(([e,t])=>{const a=je(d[e],r,n,s,t);d[e]=E(Ve(a))?null:a}))}})),le(i)||!Q(u,(e=>e((e=>d[e]))))?a.delRow(s,c):E(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));J(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=he(),h=L.hasRow(s,l);let g=!h;de(t,(e=>{const[t,n,a]=i(s,l,e);H(c,n),H(d,a),g||=t})),Le(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&we(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return de(t,(t=>e[t]=L.getCell(s,l,t))),[he(),Ee(),void 0,e]}),(([,e])=>{ke(e,l)})),u,l)})))}z(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);P(r,(n=>{const[a,,o,r,i]=fe(g,n),c=o?.(l,t),[d,u]=fe(i,t)??[];c!=d&&(E(u)||M(s,u),we(i,t,E(c)?null:[c,...x(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...E(n)?[o,t,s]:s===o?[o,t,n]:[fe(g,s)?.[0],fe(fe(g,s)?.[4],t)?.[0],n]);L.transaction((()=>Q(c,(e=>e(n)))?Le(h,((e,a)=>me(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:I}=fe(g,null);return L.transaction((()=>x(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(s,a),de(g,(({4:e})=>k(fe(e,a),(([,t])=>{M(s,t),we(e,a)})))))}))))),N},delQueryDefinition:e=>(F(e),b(e),N),getStore:g,getQueryIds:f,forEachQuery:T,hasQuery:p,getTableId:C,addQueryIdsListener:e=>V((()=>e(N))),delListener:e=>(u(e),N),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ne({[h]:[1,1],[h+v]:[0,1],[w]:[0,1],[I]:[0,1],[S]:[0,5],[L]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{P(e?["get","has","forEach"]:["get"],(e=>N[e+c+s]=(...t)=>a[e+s](...t))),N[d+c+s+i]=(...e)=>a[d+s+i](...G(e,0,t),((s,...n)=>e[t](N,...n)))})),_(N)})),Ge=Je((e=>{const s=he(),n=he(),a=he(),o=he(),[r,l,i]=Qe((()=>p)),[c,d,u,h,g,f,,,L,w,I,S]=Me(e,(()=>[he(),he(),he(),he()]),(e=>E(e)?void 0:e+t),r,l),R=(e,t,s)=>k(f(e),(([n,,a])=>{if(!re(a,t)){const o=Ee();if(g(e)!=T(e))ke(o,t);else{let e=t;for(;!E(e)&&!re(o,e);)ke(o,e),e=fe(n,e)}if(s)return o;we(a,t,o)}return fe(a,t)})),v=(e,t)=>k(f(e),(([,,e])=>we(e,t))),T=e=>fe(s,e),p={setRelationshipDefinition:(e,t,r,i)=>(we(s,e,r),L(e,t,((t,s)=>{const r=Ee(),i=Ee(),c=Ee(),[d,u]=f(e);de(s,(([t,s],n)=>{E(t)||(ke(i,t),k(fe(u,t),(e=>{ue(e,n),le(e)&&we(u,t)}))),E(s)||(ke(i,s),re(u,s)||we(u,s,Ee()),ke(fe(u,s),n)),ke(r,n),we(d,n,s),Le(fe(o,e),(t=>{re(R(e,t),n)&&ke(c,t)}))})),t(),de(r,(t=>l(n,[e,t]))),de(i,(t=>l(a,[e,t]))),de(c,(t=>{v(e,t),l(o,[e,t])}))}),De(i)),p),delRelationshipDefinition:e=>(we(s,e),w(e),p),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>fe(f(e)?.[0],t),getLocalRowIds:(e,t)=>ie(fe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>E(f(e))?[t]:ie(R(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),p),destroy:S,getListenerStats:()=>({})};return _(p)})),He=e=>[e,e],Ke=()=>[he(),he()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=e=>JSON.stringify(e,((e,t)=>x(t,Map)?X.fromEntries([...t]):t)),Ze=JSON.parse,_e=(e,t,s)=>E(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),et=(e,t,s)=>we(e,t,fe(e,t)==-s?void 0:s),tt=()=>{let e,t,s=!1,n=!1,o=0;const c=he(),u=he(),S=he(),b=he(),V=he(),m=he(),x=he(),J=he(),A=he(),Q=he(),N=he(),W=he(),B=he(),$=he(),q=Ee(),K=he(),U=he(),X=he(),Y=he(),Z=Ke(),ee=Ke(),ie=Ke(),be=Ke(),Me=Ke(),De=Ke(),Je=Ke(),Ae=Ke(),ze=Ke(),Oe=Ke(),Pe=Ke(),je=Ke(),We=Ke(),Be=Ke(),$e=Ke(),qe=he(),Ge=Ke(),[st,nt,at,ot]=Qe((()=>Rs)),rt=e=>{if(!_e(e,((e,t)=>F([r,l],t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(Ve(e[l])!=t&&se(e,l),0))},lt=(t,s)=>(!e||re(N,s)||zt(s))&&_e(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>_e(n?s:ht(s,e,t),((n,a)=>k(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?k(fe(fe(N,t),n),(e=>Ve(a)!=e[r]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):E(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>_e(t?e:gt(e),((t,s)=>k(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?k(fe(B,e),(t=>Ve(s)!=t[r]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):E(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(k(fe(W,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(de($,((t,s)=>{te(e,s)||(e[s]=t)})),de(q,(t=>{te(e,t)||Nt(t)}))),e),ft=e=>Se(N,e,((e,t,s)=>{const n=he(),a=Ee();Se(Ie(N,t,he),s,((e,t,s)=>{we(e,t,s),k(s[l],(e=>we(n,t,e)),(()=>ke(a,t)))})),we(W,t,[n,a])}),((e,t)=>{we(N,t),we(W,t)})),Lt=e=>Se(B,e,((e,t,s)=>{we(B,t,s),k(s[l],(e=>we($,t,e)),(()=>ke(q,t)))}),((e,t)=>{we(B,t),we($,t),ue(q,t)})),wt=e=>ae(e)?ds():os(e),It=e=>Se(X,e,((e,t,s)=>St(t,s)),((e,t)=>mt(t))),St=(e,t)=>Se(Ie(X,e,(()=>(Mt(e,1),we(K,e,Fe()),we(U,e,he()),he()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>xt(e,t,s))),Rt=(e,t,s,n,a)=>Se(Ie(t,s,(()=>(Dt(e,s,1),he()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>Et(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{re(s,n)||Jt(e,t,n,1);const o=fe(s,n);a!==o&&(At(e,t,n,o,a),we(s,n,a))},Tt=(e,t,s,n,a)=>k(fe(t,s),(t=>vt(e,s,t,n,a)),(()=>Rt(e,t,s,ht({[n]:a},e,s)))),pt=e=>ae(e)?gs():rs(e),Ct=e=>Se(Y,e,((e,t,s)=>yt(t,s)),((e,t)=>kt(t))),yt=(e,t)=>{re(Y,e)||Ft(e,1);const s=fe(Y,e);t!==s&&(Qt(e,s,t),we(Y,e,t))},bt=(e,t)=>{const[s]=fe(K,e),n=s(t);return re(fe(X,e),n)?bt(e,t):n},Vt=e=>fe(X,e)??St(e,{}),mt=e=>St(e,{}),xt=(e,t,s)=>{const[,n]=fe(K,e);n(s),Rt(e,t,s,{},!0)},Et=(e,t,s,n,a,o)=>{const r=fe(fe(W,e)?.[0],a);if(!E(r)&&!o)return vt(e,s,n,a,r);const l=t=>{At(e,s,t,fe(n,t)),Jt(e,s,t,-1),we(n,t)};E(r)?l(a):Le(n,l),le(n)&&(Dt(e,s,-1),le(we(t,s))&&(Mt(e,-1),we(X,e),we(K,e),we(U,e)))},kt=e=>{const t=fe($,e);if(!E(t))return yt(e,t);Qt(e,fe(Y,e)),Ft(e,-1),we(Y,e)},Mt=(e,t)=>et(c,e,t),Dt=(e,t,s)=>et(Ie(b,e,he),t,s)&&we(S,e,Ie(S,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=fe(U,e),o=fe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&et(Ie(u,e,he),s,n),we(a,s,o!=-n?o+n:null),et(Ie(Ie(V,e,he),t,he),s,n)},At=(e,t,s,n,a)=>Ie(Ie(Ie(m,e,he),t,he),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>et(x,e,t),Qt=(e,t,s)=>Ie(J,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(H(Ie(Ie(Ie(A,e,he),t,he),s,(()=>[])),n),a),Nt=(e,t,s)=>(H(Ie(Q,e,(()=>[])),t),s),Ot=(e,t,s)=>k(fe(fe(fe(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(ts(e,t,s))])),Pt=e=>k(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(as(e))])),jt=e=>le(A)||le(Pe[e])?0:de(e?ye(A):A,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>nt(Pe[e],[s,n,a],t))))))),Wt=e=>le(Q)||le(je[e])?0:de(e?pe(Q):Q,((t,s)=>nt(je[e],[s],t))),Bt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(ze[e])&&le(be[e])&&le(Me[e])&&le(De[e])&&t&&le(ee[e]),n=le(Oe[e])&&le(Ae[e])&&le(ie[e])&&le(Z[e]);if(!s||!n){const a=e?[pe(c),Ce(u),pe(S),Ce(b),ye(V),ye(m)]:[c,u,S,b,V,m];if(!s){Bt(ee[e],a[0]),de(a[1],((t,s)=>Bt(be[e],t,[s]))),de(a[2],((t,s)=>{0!=t&&nt(Me[e],[s],Yt(s))}));const s=Ee();de(a[3],((n,a)=>{Bt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),ke(s,a))})),t||de(a[5],((t,n)=>{if(!re(s,n)){const s=Ee();de(t,(e=>de(e,(([t,n],a)=>n!==t?ke(s,a):ue(e,a))))),de(s,(t=>nt(Je[e],[n,t])))}})),de(a[4],((t,s)=>de(t,((t,n)=>Bt(ze[e],t,[s,n])))))}if(!n){let t;de(a[5],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&(nt(Oe[e],[n,o,i],l,s,Ot),t=a=r=1)})),r&&nt(Ae[e],[n,o],Ot)})),a&&nt(ie[e],[n],Ot)})),t&&nt(Z[e],void 0,Ot)}}},qt=e=>{const t=le(Be[e]),s=le($e[e])&&le(We[e]);if(!t||!s){const n=e?[pe(x),pe(J)]:[x,J];if(t||Bt(Be[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Pt),t=1)})),t&&nt(We[e],void 0,Pt)}}},Gt=(e,...t)=>(ws((()=>e(...j(t,y)))),Rs),Ht=()=>[Re(m,((e,t)=>-1===fe(c,t)?null:Re(e,((e,s)=>-1===fe(fe(b,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Xe(t)))),ae)),ae),Re(J,(([,e])=>e??null),((e,t)=>Xe(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(m,Ue,Xe),invalidCells:Te(A),changedValues:Re(J,Ue,Xe),invalidValues:Re(Q),changedTableIds:Re(c),changedRowIds:ve(b),changedCellIds:Te(V),changedValueIds:Re(x)}),Ut=()=>Te(X),Xt=()=>ge(X),Yt=e=>oe(fe(X,y(e))),Zt=e=>ge(fe(X,y(e))),_t=(e,t,s,n=0,a)=>{return j(G(O((o=fe(X,y(e)),r=(e,s)=>[E(t)?s:fe(e,y(t)),s],j([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,E(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>ge(fe(fe(X,y(e)),y(t))),ts=(e,t,s)=>fe(fe(fe(X,y(e)),y(t)),y(s)),ss=()=>Re(Y),ns=()=>ge(Y),as=e=>fe(Y,y(e)),os=e=>Gt((()=>(e=>_e(e,lt,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),ls=e=>{try{wt(Ze(e))}catch{}return Rs},is=t=>Gt((()=>{if((e=_e(t,(e=>_e(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>_e(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>re(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>k(fe(X,e),(s=>re(s,t)?xt(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=o){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=o&&o++,1==o&&nt(qe,void 0,Ht,Kt),Rs),Ss=e=>(o>0&&(o--,0==o&&(s=!le(m),n=!le(J),o=1,jt(1),s&&$t(1),Wt(1),n&&qt(1),e?.(Ht,Kt)&&(de(m,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(Rs,t,s,n,e))))))),de(J,(([e],t)=>xe(Rs,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),o=-1,jt(0),s&&$t(0),Wt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),o=0,s=n=!1,P([c,u,S,b,V,m,A,x,J,Q],ce))),Rs),Rs={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(fe(X,y(e))),getTableCellIds:e=>ge(fe(U,y(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(fe(fe(X,y(e)),y(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>re(X,y(e)),hasTableCell:(e,t)=>re(fe(U,y(e)),y(t)),hasRow:(e,t)=>re(fe(X,y(e)),y(t)),hasCell:(e,t,s)=>re(fe(fe(X,y(e)),y(t)),y(s)),hasValues:()=>!le(Y),hasValue:e=>re(Y,y(e)),getTablesJson:()=>Ye(X),getValuesJson:()=>Ye(Y),getJson:()=>Ye([X,Y]),getTablesSchemaJson:()=>Ye(N),getValuesSchemaJson:()=>Ye(B),getSchemaJson:()=>Ye([N,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(ae(e)?ds:os)(e),(ae(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?Rt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return it(e,n,t)&&(e=y(e),Rt(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ne(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>k(ct(e,t,s,D(n)?n(ts(e,t,s)):n),(n=>Tt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ne(e,((e,t)=>yt(t,e))):0)),setValue:(e,t)=>Gt((e=>k(ut(e,D(t)?t(as(e)):t),(t=>yt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ne(e[0],((e,t)=>E(e)?us(t):ne(e,((e,s)=>E(e)?hs(t,s):ne(e,((e,n)=>me(Rs,t,s,n,e))))))),ne(e[1],((e,t)=>xe(Rs,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{pt(Ze(e))}catch{}return Rs},setJson:e=>{try{const[t,s]=Ze(e);wt(t),pt(s)}catch{ls(e)}return Rs},setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>k(fe(X,e),(a=>k(fe(a,t),(o=>re(o,s)?Et(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>re(Y,e)?kt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>de(X,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(fe(U,y(e)),t),forEachRow:(e,t)=>de(fe(X,y(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(fe(fe(X,y(e)),y(t)),s),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return st((()=>{const r=_t(e,t,s,n,a);z(r,l)||(l=r,o(Rs,e,t,s,n,a,l))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>st(e,qe),addWillFinishTransactionListener:e=>st(e,Ge[0]),addDidFinishTransactionListener:e=>st(e,Ge[1]),callListener:e=>(ot(e),Rs),delListener:e=>(at(e),Rs),getListenerStats:()=>({}),createStore:tt,addListener:st,callListeners:nt};return ne({[g]:[0,Z],[f]:[0,ee],[h]:[1,ie,[Xt]],[h+v]:[1,be,[Xt]],[w]:[1,Me,[Xt]],[I]:[1,De,[Xt]],[L]:[2,Ae,[Xt,Zt]],[v]:[2,ze,[Xt,Zt]],[R]:[3,Oe,[Xt,Zt,es],e=>He(ts(...e))],InvalidCell:[3,Pe],[p]:[0,We],[C]:[0,Be],[T]:[1,$e,[ns],e=>He(as(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],a)=>{Rs[d+a+i]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(Rs)};exports.createCheckpoints=ze,exports.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let l,i,c,d=0,u=0;Ie(Be,r,(()=>0)),Ie($e,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),l=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(k(l,e.delListener),g),schedule:async(...e)=>(H(fe($e,r),...e),await(async()=>{if(!fe(Be,r)){for(we(Be,r,1);!E(i=U(fe($e,r)));)try{await i()}catch(e){o?.(e)}we(Be,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(g)},exports.createIndexes=Oe,exports.createMetrics=We,exports.createQueries=qe,exports.createRelationships=Ge,exports.createStore=tt,exports.defaultSorter=Ne;
Binary file
package/lib/cjs/tools.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),s="type",r="default",I="Listener",c="get",$="add",u="Ids",i="Table",p=i+"s",b=i+u,C="Row",h=C+u,m="Sorted"+C+u,g="Cell",f=g+u,w="Value",y=w+"s",T=w+u,v=isFinite,V=(e,t)=>e instanceof t,x=e=>null==e,R=e=>e==n||e==o,k=t=>e(t)==n,S=e=>Array.isArray(e),A=t=>{const l=e(t);return R(l)||l==d&&v(t)?l:void 0},P=(e,t)=>e.every(t),E=(e,t)=>e.sort(t),D=(e,t)=>e.forEach(t),O=(e,t=l)=>e.join(t),N=(e,t)=>e.map(t),L=e=>e.length,G=(e,t)=>e.filter(t),j=(e,...t)=>e.push(...t),M=e=>e.pop(),J=(e,...t)=>e.unshift(...t),z=e=>e.shift(),W=Object,B=W.keys,F=W.freeze,U=e=>V(e,W)&&e.constructor==W,_=(e,t)=>N(W.entries(e),(([e,l])=>t(l,e))),Z=e=>L(B(e)),H=e=>U(e)&&0==Z(e),Q=(e,t)=>e?.has(t)??!1,q=e=>[...e?.values()??[]],K=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),ee=(e,t)=>e?.get(t),te=(e,t)=>K(e,((e,l)=>t(l,e))),le=(e,t)=>N([...e?.entries()??[]],(([e,l])=>t(l,e))),ae=(e,t,l)=>x(l)?(X(e,t),e):e?.set(t,l),ne=(e,t,l)=>(Q(e,t)||ae(e,t,l()),ee(e,t)),oe=e=>e.toUpperCase(),de=e=>e.toLowerCase(),se="a ",re="A function for",Ie=", and registers a listener so that any changes to that result will cause a re-render",ce="Callback",$e="Del",ue="Deps",ie=ue+"?: React.DependencyList",pe="doRollback?: DoRollback",be="actions: () => Return, "+pe,Ce="export",he="Id",me="Invalid",ge="Json",fe=de(I),we="?: ",ye=" | undefined",Te="NonNullable",ve="Partial",Ve="Props",xe="Provider",Re=`Registers a ${fe} that will be called`,ke="Represents",Se="rowId: "+he,Ae="Schema",Pe="Set",Ee=", descending?: boolean, offset?: number, limit?: number",De="[]",Oe="the Store",Ne="Transaction",Le=Ne+"Changes",Ge=de(Ne),je="Execute a "+Ge+" to make multiple mutations",Me="Explicitly starts a "+Ge,Je="Explicitly finishes a "+Ge,ze="the end of the "+Ge,We="void",Be=" => "+We,Fe="WhenSet",Ue=" when setting it",_e=se+"string serialization of",Ze=" ",He="Gets a callback that can ",Qe="the ",qe=" the schema for",Ke=(e=0,t=0)=>`the ${bt[e]}content of`+(t?Ze+Oe:l),Xe=(e=0,t,a=0)=>ut[t]+Ze+Ke(e,1)+(a?" when setting it":l),Ye=(e,t=0)=>ke+` a Row when ${t?"s":"g"}etting ${Ke()} the '${e}' `+i,et=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,tt=(e,t)=>`Calls a function for each ${e} in `+t,lt=e=>"The props passed to a component that renders "+e,at=e=>"A function that takes "+e,nt=(e,t=0)=>re+" listening to changes to "+pt[e]+" in "+pt[t],ot=(e,t,a=0)=>Re+" whenever "+pt[e]+" in "+pt[t]+" change"+(a?l:"s"),dt=e=>`the '${e}' `+i,st=e=>"the specified Row in "+dt(e),rt=(e,t=0)=>ut[t]+` ${Ke()} `+dt(e),It=(e,t=0)=>ut[t]+` ${Ke()} `+st(e),ct=(e,t,l=0)=>ut[l]+` the '${t}' Cell for `+st(e),$t=(e,t=0)=>ut[t]+` the '${e}' Value`,ut=["Gets","Checks existence of","Sets","Deletes","Sets part of",ke,"Gets "+_e,"Sets "+_e,Re+" whenever",He+"set",He+"add",He+"set part of",He+"delete","Renders","Gets "+_e+qe,"Sets"+qe,"Deletes"+qe],it=[c,"has","set","del","set","forEach",$,l],pt=[Oe,p,Qe+i+Ze+u,se+i,Qe+C+Ze+u,se+C,Qe+g+Ze+u,se+g,"invalid Cell changes",y,Qe+w+Ze+u,se+w,"invalid Value changes",Qe+"sorted "+C+Ze+u,Qe+g+Ze+u+" anywhere"],bt=[l,"tabular ","keyed value "],Ct=e=>new Set(S(e)||x(e)?e:[e]),ht=(e,t)=>e?.add(t),mt=/[^A-Za-z]+/,gt=/[^A-Za-z0-9]+/,ft=/^( *)\/\*\* *(.*?) *\*\/$/gm,wt=(e,t,l)=>e.substring(t,l),yt=e=>e.includes(a),Tt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Q(e,n)?Tt(e,t,l,a+1):(ae(e,n,l),n)},vt=e=>e.replace(ft,((e,t,l)=>{const a=77-Vt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Vt=e=>e.length,xt=e=>e.flat(1e3),Rt=(e,t=0)=>O(N(e.split(gt),((e,l)=>(l>0||t?oe:de)(wt(e,0,1))+wt(e,1)))),kt=e=>oe(O((e&&!mt.test(e[0])?e:" "+e).split(gt),"_")),St=e=>`/** ${e}. */`,At=(...e)=>O(G(e,(e=>e)),", "),Pt=(...e)=>"{"+O(e,"; ")+"}",Et=(...e)=>Pt(...N(e,(e=>"readonly "+e))),Dt=()=>{const e=[Y(),Y(),Y(),Y()],t=Y(),a=Y(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>O(xt(e),"\n"),(t,l,...a)=>D(a,(a=>D([0,1],(n=>(t??n)==n?ht(ne(e[n],l,Ct),a):0)))),(e,a,n,o=l,d=1)=>Tt(t,e,[a,n,o,d]),(e,t,l)=>Tt(a,e,S(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>ee(a,e)===t?e:Tt(a,e,t),(t=0)=>N([...E(le(e[t],((e,t)=>`import {${O(E(q(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>yt(e)!=yt(t)?yt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>le(t,(([e,t,a,n],o)=>[St(t),`${n?Ce+" ":l}type ${o}${a} = ${e};`,l])),()=>le(a,((e,t)=>(e=S(e)?e:[e],j(e,M(e)+";"),[`const ${t} = ${z(e)}`,e,l])))]},Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Nt=(e,t,l)=>[t=>_(e,((e,a)=>t(a,Rt(a,1),l(kt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[s],e[r],l(kt(t),`'${t}'`),Rt(t,1)))),e=>_(t,((t,a)=>e(a,t[s],t[r],l(kt(a),`'${a}'`),Rt(a,1))))],Lt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(p,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`)))+"}"))),Xe(1,5)),r=e(p+Fe,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Xe(1,5,1)),c=e(i+he,"keyof "+s,"A "+i+" Id in "+Oe),$=`<TId extends ${c}>`,u=e(i,Te+`<${s}[TId]>`,"A "+i+" in "+Oe,$),w=e(i+Fe,Te+`<${r}[TId]>`,"A "+i+" in "+Oe+Ue,$),y=e(C,u+"<TId>[Id]","A "+C+" in a "+i,$),T=e(C+Fe,w+"<TId>[Id]","A "+C+" in a "+i+Ue,$),v=e(g+he,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,$),V=e(g,Te+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${c}, CId extends ${v}<TId>>`),R=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${c}, CId = ${v}<TId>>`,0),k=e(g+ce,`(...[cellId, cell]: ${R}<TId>)`+Be,at(se+g+" Id, and "+g),$),S=e(C+ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Be+") "+Be,at(se+C+" Id, and a "+g+" iterator"),$),A=e(i+g+ce,`(cellId: ${v}<TId>, count: number) `+Be,at(se+g+" Id, and count of how many times it appears"),$),P=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Be}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),E=e(i+ce,`(...[tableId, forEachRow]: ${P})`+Be,at(se+i+" Id, and a "+C+" iterator"),l),D=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${D}) => CellChange`,re+" returning information about any Cell's changes during a "+Ge),N=e(p+I,`(${d}, getCellChange: ${O}${ye})`+Be,nt(1)),L=e(b+I,`(${d})`+Be,nt(2)),G=e(i+I,`(${d}, tableId: ${c}, getCellChange: ${O}${ye})`+Be,nt(3)),j=e(i+f+I,`(${d}, tableId: ${c})`+Be,nt(14,3)),M=e(h+I,`(${d}, tableId: ${c})`+Be,nt(4,3)),J=e(m+I,"("+At(d,"tableId: "+c,"cellId: Id"+ye,"descending: boolean","offset: number","limit: number"+ye,"sortedRowIds: Ids")+")"+Be,nt(13,3)),z=e(C+I,"("+At(""+d,"tableId: "+c,Se,`getCellChange: ${O}${ye}`)+")"+Be,nt(5,3)),W=e(f+I,"("+At(""+d,"tableId: "+c,Se)+")"+Be,nt(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Se}, cellId: CId, newCell: ${V}<TId, CId> ${ye}, oldCell: ${V}<TId, CId> ${ye}, getCellChange: ${O} ${ye}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,r,c,u,w,y,T,v,V,k,S,A,E,N,L,G,j,M,J,z,W,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Be,nt(7,5)),e(me+g+I,`(${d}, tableId: Id, ${Se}, cellId: Id, invalidCells: any[])`+Be,nt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Pt(...n(((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`))),Xe(2,5)),s=e(y+Fe,Pt(...n(((e,t)=>`'${e}'?: ${t}`))),Xe(2,5,1)),r=e(w+he,"keyof "+d,"A "+w+" Id in "+Oe),c=e(w,Te+`<${d}[VId]>`,"A "+w+" Id in "+Oe,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+Oe,`<VId = ${r}>`,0),u=e(w+ce,`(...[valueId, value]: ${$})`+Be,at(se+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${r}) => ValueChange`,re+" returning information about any Value's changes during a "+Ge),p=e(y+I,`(${o}, getValueChange: ${i}${ye})`+Be,nt(9)),b=e(T+I,`(${o})`+Be,nt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${c}<VId> ${ye}, oldValue: ${c}<VId> ${ye}, getValueChange: ${i} ${ye}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,c,u,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Be,nt(11)),e(me+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Be,nt(12))]},(t,l)=>e(Ne+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Be,re+" listening to the completion of a "+Ge)],Gt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),jt=(e,t=l)=>`fluent(() => ${Gt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Jt=(e,a,n)=>{const[d,c,v,V,R,S,A,P]=Dt(),[E,N,L]=Nt(e,a,R),[G,M,z]=Lt(v,E,N,L),W=Y(),B=(e=0)=>le(W,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||J(r,St(o)),j(r,l),r})),F=(e,t,a,n,o,d=l)=>Tt(W,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,s=l,r=l)=>F(it[e]+t+(4==e?ve:l)+a,d,n,(n==Q?jt:Gt)(it[e]+(4==e?ve:l)+a,s,e?void 0:n),o,r),_=(e,t,a,n=l,o=l,d=1,s=l)=>F($+e+I,(n?n+", ":l)+fe+": "+t+(d?", mutator?: boolean":l),he,Mt($+e+I,o,d?"mutator":l),a,s),Z=`./${Rt(n)}.d`,Q=Rt(n,1),K=Rt(Q),X=[],ne=Y();let oe=[],de=[];if(c(1,Z,Q,`create${Q} as create${Q}Decl`),H(e))c(null,t,p);else{c(0,t,"CellChange"),c(null,t,u);const[e,a,n,d,I,$,w,y,T,V,S,A,P,L,M,J,z,W,B,F,H,te,le]=G(K,Q),de=Y();E(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,d+l,ke+` the '${e}' `+i),v(t+i+Fe,I+l,ke+` the '${e}' `+i+Ue),v(t+C,$+l,Ye(e)),v(t+C+Fe,w+l,Ye(e,1)),v(t+g+he,y+l,`A Cell Id for the '${e}' `+i),v(t+g+ce,V+l,at(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+C+ce,S+l,at(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+i+g+ce,A+l,at(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ae(de,e,a),c(1,Z,...a)})),c(1,Z,e,a,n,y,P,L,M,J,z,W,B,F,H,te,le),oe=[e,a,n,y,L,M,J,z,W,B,F,H,te,de],D([[e],[o],[Q,"tables: "+a,"tables"],[Q]],(([e,t,a],n)=>U(n,l,p,e,Xe(1,n),t,a))),U(0,l,b,n+De,et(i,Oe)),U(5,l,i,We,tt(i,Oe),"tableCallback: "+P,"tableCallback as any"),E(((e,t,a)=>{const[n,d,s,r,I,c,$,p]=ee(de,e);D([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,o,d=l],s)=>U(s,t,i,n,rt(e,s),o,a+d))),U(0,t,i+f,u,et(g,"the whole of "+dt(e)),l,a),U(5,t,i+g,We,tt(i+g,"the whole of "+dt(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,h,u,et(C,dt(e)),l,a),U(0,t,m,u,et(C,dt(e),1),"cellId?: "+I+Ee,a+", cellId, descending, offset, limit"),U(5,t,C,We,tt(C,dt(e)),"rowCallback: "+$,a+", rowCallback as any"),D([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>U(s,t,C,n,It(e,s),Se+o,a+", rowId"+d))),U(6,t,C,he+ye,"Add a new Row to "+dt(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+De,et(g,st(e)),Se,a+", rowId"),U(5,t,g,We,tt(g,st(e)),Se+", cellCallback: "+c,a+", rowId, cellCallback as any"),N(e,((n,d,s,r,I)=>{const c="Map"+Rt(d,1);ae(ne,d,c);const $=d+(x(s)?ye:l);D([[$],[o],[Q,`, cell: ${d} | `+c,", cell as any"],[Q]],(([o,d=l,s=l],c)=>U(c,t+I,g,o,ct(e,n,c),Se+d,a+", rowId, "+r+s))),U(1,t+I,i+g,o,ut[1]+` the '${n}' Cell anywhere in `+dt(e),l,a+", "+r)}))})),U(0,l,p+ge,ge,Xe(1,6)),U(2,l,p+ge,Q,Xe(1,7),"tablesJson: "+ge,"tables"+ge),_(p,L,Xe(1,8)+" changes"),_(b,M,ot(2,0,1)),_(i,J,ot(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,z,ot(14,3,1),`tableId: ${n} | null`,"tableId"),_(h,W,ot(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,B,ot(13,3,1),At("tableId: TId",`cellId: ${y}<TId>`+ye,"descending: boolean","offset: number","limit: number"+ye),At("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,F,ot(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,H,ot(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,te,ot(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${O(E((e=>ee(de,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),_(me+g,le,Re+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...q(ne)),j(X,".set"+p+Ae+"({",xt(E(((e,t,a)=>[`[${a}]: {`,...N(e,((e,t,a,n)=>`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(H(a))c(null,t,y);else{const[e,a,n,d,I,$,u,i,p]=M(K,Q);c(1,Z,e,a,n,I,$,u,i,p),de=[e,a,n,$,u,i],D([[e],[o],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,Xe(2,n),t,a))),U(0,l,T,n+De,et(w,Oe)),U(5,l,w,"void",tt(w,Oe),"valueCallback: "+I,"valueCallback as any"),L(((e,t,a,n,d)=>{const s="Map"+Rt(t,1);ae(ne,t,s),D([[t],[o],[Q,`value: ${t} | `+s,", value as any"],[Q]],(([t,a,o=l],s)=>U(s,d,w,t,$t(e,s),a,n+o)))})),U(0,l,y+ge,ge,Xe(2,6)),U(2,l,y+ge,Q,Xe(2,7),"valuesJson: "+ge,"values"+ge),_(y,$,Xe(2,8)+" changes"),_(T,u,ot(10,0,1)),_(w,i,ot(11,0),`valueId: ${n} | null`,"valueId"),_(me+w,p,Re+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...q(ne)),c(0,t,"ValueChange"),j(X,".set"+y+Ae+"({",L(((e,t,a,n)=>[`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,Xe(0,0)),U(2,l,"Content",Q,Xe(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Le,Q,`Applies a set of ${Le} to the Store`,"transactionChanges: "+Le,"transactionChanges"),te(ne,((e,t)=>v(t,`(cell: ${e}${ye}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",he,"IdOrNull",ge,"Store",Le),c(0,t,"Get"+Le,"GetTransactionLog"),U(0,l,ge,ge,Xe(0,6)),U(2,l,ge,Q,Xe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),U(7,l,Ge,"Return",je,be,"actions, doRollback","<Return>"),U(7,l,"start"+Ne,Q,Me),U(7,l,"finish"+Ne,Q,Je,pe,"doRollback");const se=z(K,Q);return _("Start"+Ne,se,Re+" just before the start of the "+Ge,l,l,0),_("WillFinish"+Ne,se,Re+" just before "+ze,l,l,0),_("DidFinish"+Ne,se,Re+" just after "+ze,l,l,0),U(7,l,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,Q,"Remove a listener that was previously added to "+Oe,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",ut[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,Q,`create${Q} as create${Q}Decl`,se),R("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${K};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${K}, ...params)`),R(K,["{",...B(1),"}"]),[d(...S(0),...A(),Ce+" interface "+Q+" {",...B(0),"}",l,St(`Creates a ${Q} object`),Ce+" function create"+Q+"(): "+Q+";"),d(...S(1),Ce+" const create"+Q+": typeof create"+Q+"Decl = () => {",...P(),`return Object.freeze(${K});`,"};"),oe,de]},zt=e=>c+e,Wt=e=>At(zt(e),zt(e)+ue),Bt="debugIds?: boolean",Ft="debugIds={debugIds}",Ut="then"+ie,_t="Parameter",Zt=": (parameter: "+_t+", store: Store) => ",Ht="const contextValue = useContext(Context);",Qt=", based on a parameter",qt=": ",Kt="<"+_t+",>",Xt=_t+"ized"+ce+"<"+_t+">",Yt="rowId",el="rowId={rowId}",tl=", separator, debugIds",ll="separator?: ReactElement | string",al="then?: (store: Store",nl=At(al+")"+Be,Ut),ol="then, then"+ue,dl=Yt+qt+he,sl="View",rl=(e,...t)=>At(...t,fe+": "+e,fe+ie,"mutator?: boolean"),Il=(...e)=>At(...e,fe,fe+ue,"mutator"),cl=(e,a,n,o,d)=>{const[s,r,c,$,v,V,R,k]=Dt(),[S,A,P]=Nt(e,a,v),E=`./${Rt(n)}.d`,D=`./${Rt(n)}-ui-react.d`,N="tinybase/ui-react",L=Rt(n,1),G=Rt(L),M=L+"Or"+L+he,z=G+"Or"+L+he,W=G+`={${G}}`,B=Y(),F=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),Tt(B,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,N,`use${t} as use${t}Core`),U(e,At(o,X,I),a,ae+`(${z}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),Q=(e=0)=>le(B,(([t,a,n,o,d],s)=>{const r=e?[Ce+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ce+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||J(r,St(o)),j(r,l),r}));r(null,t,he,"Store",ce,_t+"ized"+ce),r(0,N,"ComponentReturnType"),r(1,N,"useCellIds"),r(null,N,"ExtraProps"),r(0,E,L);const q=c(M,L+" | "+he,`Used when you need to refer to a ${L} in a React hook or component`),K=c(xe+Ve,Et(G+we+L,G+`ById?: {[${G}Id: Id]: ${L}}`),`Used with the ${xe} component, so that a `+L+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,q,K);const X=z+we+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${L}?, {[${G}Id: Id]: ${L}}?]>([])`),U("Create"+L,`create: () => ${L}, create`+ie,L,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${L} within a React application with convenient memoization`);const te=U(L,"id?: Id",L+ye,["{",Ht,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${L} from within a ${xe} component context`),ae=$("useHook",z+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${G} : ${z})?.getStore(), ...postParams)`]),ne=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",At("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;"]),de=$("useCustomOrDefaultCellIds",At("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${q} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),re=v("NullComponent","() => null");if(!H(e)){const[e,a,n,d,s,w,y,T,v,V,R,k,P,N]=o;r(null,E,e,a,n,s,w,y,T,v,V,R,k,P),r(0,E,d),r(1,E,L),r(null,t,u,"IdOrNull");const j=$("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+tl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",el,"customCellIds={customCellIds}",W,Ft,"/>","))",tl,", tableId,",");"]),M=$("getDefaultTableComponent","tableId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+re),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${O(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+re} : `)))+re);_(p,p,e,Xe(1,0)+Ie);const z=_(b,b,n+De,et(i,Oe)+Ie);_(Pe+p+ce,Pe+p+ce,Xt,Xe(1,9)+Qt,At(zt(p)+Zt+a,zt(p)+ie),Wt(p),Kt,At(al,`tables: ${a})`+Be,Ut),ol),_($e+p+ce,$e+p+ce,ce,Xe(1,12),l,l,l,nl,ol);const B=c(g+Ve,Et("tableId?: TId","rowId: Id","cellId?: CId",G+we+L,Bt),lt(se+g),`<TId extends ${n}, CId extends ${d}<TId>>`),F=c(C+Ve,Et("tableId?: TId","rowId: Id",G+we+L,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ll,Bt),lt(se+C),`<TId extends ${n}>`),U=c(i+Ve,Et("tableId?: TId",G+we+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+i),`<TId extends ${n}>`),H=c("Sorted"+i+Ve,Et("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+we+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+"sorted "+i),`<TId extends ${n}>`),Q=c(p+Ve,Et(G+we+L,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ll,Bt),lt(Ke(1,1)));r(1,D,Q,U,H,F,B),Z(p+sl,"{"+G+", tableComponents, getTableComponentProps"+tl+"}: "+Q,[oe+`(${z}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+M+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ft,"/>;","}), separator)"],Xe(1,13)+Ie),S(((e,t,a)=>{const[n,o,d,s,I]=ee(N,e);r(null,E,n,o,d,s,I),_(t+i,i,n,rt(e)+Ie,l,a),_(t+i+f,i+f,u,et(g,"the whole of "+dt(e))+Ie,l,a);const c=_(t+h,h,u,et(C,dt(e))+Ie,l,a),$=_(t+m,m,u,et(C,dt(e),1)+Ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,It(e)+Ie,dl,At(a,Yt)),_(t+f,f,I+De,et(g,st(e))+Ie,dl,At(a,Yt)),_(Pe+t+i+ce,Pe+i+ce,Xt,rt(e,9)+Qt,At(zt(i)+Zt+o,zt(i)+ie),At(a,Wt(i)),Kt,At(al,`table: ${o})`+Be,Ut),ol),_($e+t+i+ce,$e+i+ce,ce,rt(e,12),l,a,l,nl,ol),_(Pe+t+C+ce,Pe+C+ce,Xt,It(e,9)+Qt,At(dl,zt(C)+Zt+s,zt(C)+ie),At(a,Yt,Wt(C)),Kt,At(al,`row: ${s})`+Be,Ut),ol),_("Add"+t+C+ce,"Add"+C+ce,Xt,It(e,10)+Qt,At(zt(C)+Zt+s,zt(C)+ie),At(a,Wt(C)),Kt,"then?: ("+At(dl+ye,"store: Store","row: "+s+")"+Be,"then"+ie)+", reuseRowIds?: boolean",ol+", reuseRowIds"),_(Pe+t+ve+C+ce,Pe+ve+C+ce,Xt,It(e,11)+Qt,At(dl,zt(ve+C)+Zt+s,zt(ve+C)+ie),At(a,Yt,Wt(ve+C)),Kt,At(al,`partialRow: ${s})`+Be,Ut),ol),_($e+t+C+ce,$e+C+ce,ce,It(e,12),dl,At(a,Yt),l,nl,ol);const p=Z(t+C+sl,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+tl+`}: ${F}<'${e}'>`,[oe+`(${de}(customCellIds, `+a+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,el,"cellId={cellId}",W,Ft,"/>;","})"+tl+", rowId)"],It(e,13)+Ie);Z(t+"Sorted"+i+sl,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,j+"(props, "+$+`(cellId, descending, offset, limit, props.${G}), ${a}, ${p});`,rt(e,13)+", sorted"+Ie),Z(t+i+sl,`props: ${U}<'${e}'>`,j+"(props, "+c+`(props.${G}), ${a}, ${p});`,rt(e,13)+Ie),A(e,((n,o,d,s,I)=>{const c="Map"+Rt(o,1);r(0,E,c),r(1,E,c);const $=_(t+I+g,g,o+(x(d)?ye:l),ct(e,n)+Ie,dl,At(a,Yt,s));_(Pe+t+I+g+ce,Pe+g+ce,Xt,ct(e,n,9)+Qt,At(dl,zt(g)+Zt+o+" | "+c,zt(g)+ie),At(a,Yt,s,Wt(g)),Kt,At(al,`cell: ${o} | ${c})`+Be,Ut),ol),_($e+t+I+g+ce,$e+g+ce,ce,ct(e,n,12),At(dl,"forceDel?: boolean"),At(a,Yt,s,"forceDel"),l,nl,ol),Z(t+I+g+sl,`{rowId, ${G}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+G+`) ?? '', undefined, debugIds, ${s})`],ct(e,n,13)+Ie)}))}));const q=O(S((e=>ee(N,e)?.[4]??l))," | ");_(p+I,p+I,We,Xe(1,8)+" changes",rl(s),Il()),_(b+I,b+I,We,ot(2,0,1),rl(w),Il()),_(i+I,i+I,We,ot(3,0),rl(y,`tableId: ${n} | null`),Il("tableId")),_(i+f+I,i+f+I,We,ot(14,3,1),rl(T,`tableId: ${n} | null`),Il("tableId")),_(h+I,h+I,We,ot(4,3,1),rl(v,`tableId: ${n} | null`),Il("tableId")),_(m+I,m+I,We,ot(13,3,1),rl(V,`tableId: ${n} | null`,"cellId: "+q+ye,"descending: boolean","offset: number","limit: number"+ye),Il("tableId","cellId","descending","offset","limit")),_(C+I,C+I,We,ot(5,3),rl(R,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(f+I,f+I,We,ot(6,5,1),rl(k,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(g+I,g+I,We,ot(7,5),rl(P,`tableId: ${n} | null`,Yt+": IdOrNull",`cellId: ${q} | null`),Il("tableId",Yt,"cellId"))}if(!H(a)){const[e,t,a,n,o,s]=d;r(null,E,...d),r(1,E,L);const u=$("getDefaultValueComponent","valueId: Id",O(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+re);_(y,y,e,Xe(2,0)+Ie);const i=_(T,T,a+De,et(w,Oe)+Ie);_(Pe+y+ce,Pe+y+ce,Xt,Xe(2,9)+Qt,At(zt(y)+Zt+t,zt(y)+ie),Wt(y),Kt,At(al,`values: ${t})`+Be,Ut),ol),_(Pe+ve+y+ce,Pe+ve+y+ce,Xt,Xe(2,11)+Qt,At(zt(ve+y)+Zt+t,zt(ve+y)+ie),Wt(ve+y),Kt,At(al,`partialValues: ${t})`+Be,Ut),ol),_($e+y+ce,$e+y+ce,ce,Xe(2,12),l,l,l,nl,ol);const p=c(w+Ve,Et("valueId?: VId",G+we+L,Bt),lt("a Value"),`<VId extends ${a}>`),b=c(y+Ve,Et(G+we+L,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ll,Bt),lt(Ke(2,1)));r(1,D,b,p),Z(y+sl,"{"+G+", valueComponents, getValueComponentProps"+tl+"}: "+b,[oe+`(${i}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+u+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ft,"/>;","}), separator)"],Xe(2,13)+Ie),P(((e,t,a,n,o)=>{const d="Map"+Rt(t,1);r(0,E,d),r(1,E,d);const s=_(o+w,w,t,$t(e)+Ie,l,n);_(Pe+o+w+ce,Pe+w+ce,Xt,$t(e,9)+Qt,At(zt(w)+Zt+t+" | "+d,zt(w)+ie),At(n,Wt(w)),Kt,At(al,`value: ${t} | ${d})`+Be,Ut),ol),_($e+o+w+ce,$e+w+ce,ce,$t(e,12),l,n,l,nl,ol),Z(o+w+sl,`{${G}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+G+`) ?? '', undefined, debugIds, ${n})`],$t(e,13)+Ie)})),_(y+I,y+I,We,Xe(2,8)+" changes",rl(n),Il()),_(T+I,T+I,We,ot(10,0,1),rl(o),Il()),_(w+I,w+I,We,ot(11,0),rl(s,`valueId: ${a} | null`),Il("valueId"))}return Z(xe,`{${G}, ${G}ById, children}: `+K+" & {children: React.ReactNode}",["{",Ht,"return (","<Context."+xe,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${xe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...R(),...Q(0)),s(...V(1),...k(),...Q(1))]},$l=(e,t,a)=>{if(H(e)&&H(t))return[l,l,l,l];const[n,o,d,s]=Jt(e,t,a);return[n,o,...cl(e,t,a,d,s)]},ul=JSON.parse,il={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},pl=Ot((e=>{const t=()=>{const t=ul(e.getTablesSchemaJson());return!H(t)||P(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=Y();if(P(a,(t=>P(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ne(n,a,(()=>[A(o),Y(),[0],0])),[s,r,[I]]=d,c=ne(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),ae(r,o,c),d[3]++,s==A(o)})))))return t[l]={},K(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==L(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=ul(e.getValuesSchemaJson());return H(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:A(l)}})),t},a=e=>$l(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 N(a(e),((e,a)=>vt(l(e,{...il,filepath:"_."+t[a]}))))};return F({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let s=0,r=0;const I={};d(((e,l)=>{s++;let a=0;l((()=>a++)),r+=a,t&&(I[e]={rowCells:a})})),a+=s,n+=r,t&&(o[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:L(e.getValueIds()),jsonLength:Vt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=pl;
1
+ "use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),s="type",r="default",I="Listener",$="get",c="add",u="Ids",i="Table",p=i+"s",b=i+u,C="Row",h=C+u,m="Sorted"+C+u,g="Cell",f=g+u,w="Value",y=w+"s",T=w+u,v=isFinite,V=(e,t)=>e instanceof t,x=e=>null==e,R=e=>e==n||e==o,k=t=>e(t)==n,S=e=>Array.isArray(e),A=t=>{const l=e(t);return R(l)||l==d&&v(t)?l:void 0},P=(e,t)=>e.every(t),E=(e,t)=>e.sort(t),D=(e,t)=>e.forEach(t),O=(e,t=l)=>e.join(t),N=(e,t)=>e.map(t),G=e=>e.length,L=(e,t)=>e.filter(t),j=(e,...t)=>e.push(...t),M=e=>e.pop(),J=(e,...t)=>e.unshift(...t),z=e=>e.shift(),W=Object,B=W.keys,F=W.freeze,U=e=>V(e,W)&&e.constructor==W,_=(e,t)=>N(W.entries(e),(([e,l])=>t(l,e))),Z=e=>G(B(e)),H=e=>U(e)&&0==Z(e),Q=(e,t)=>e?.has(t)??!1,q=e=>[...e?.values()??[]],K=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),ee=(e,t)=>e?.get(t),te=(e,t)=>K(e,((e,l)=>t(l,e))),le=(e,t)=>N([...e?.entries()??[]],(([e,l])=>t(l,e))),ae=(e,t,l)=>x(l)?(X(e,t),e):e?.set(t,l),ne=(e,t,l)=>(Q(e,t)||ae(e,t,l()),ee(e,t)),oe=e=>e.toUpperCase(),de=e=>e.toLowerCase(),se="a ",re="A function for",Ie=", and registers a listener so that any changes to that result will cause a re-render",$e="Callback",ce="Del",ue="Deps",ie=ue+"?: React.DependencyList",pe="doRollback?: DoRollback",be="actions: () => Return, "+pe,Ce="export",he="Id",me="Invalid",ge="Json",fe=de(I),we="?: ",ye=" | undefined",Te="NonNullable",ve="Partial",Ve="Props",xe="Provider",Re=`Registers a ${fe} that will be called`,ke="Represents",Se="rowId: "+he,Ae="Schema",Pe="Set",Ee=", descending?: boolean, offset?: number, limit?: number",De="[]",Oe="the Store",Ne="Transaction",Ge=Ne+"Changes",Le=de(Ne),je="Execute a "+Le+" to make multiple mutations",Me="Explicitly starts a "+Le,Je="Explicitly finishes a "+Le,ze="the end of the "+Le,We="void",Be=" => "+We,Fe="WhenSet",Ue=" when setting it",_e=se+"string serialization of",Ze=" ",He="Gets a callback that can ",Qe="the ",qe=" the schema for",Ke=(e=0,t=0)=>`the ${bt[e]}content of`+(t?Ze+Oe:l),Xe=(e=0,t,a=0)=>ut[t]+Ze+Ke(e,1)+(a?" when setting it":l),Ye=(e,t=0)=>ke+` a Row when ${t?"s":"g"}etting ${Ke()} the '${e}' `+i,et=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,tt=(e,t)=>`Calls a function for each ${e} in `+t,lt=e=>"The props passed to a component that renders "+e,at=e=>"A function that takes "+e,nt=(e,t=0)=>re+" listening to changes to "+pt[e]+" in "+pt[t],ot=(e,t,a=0)=>Re+" whenever "+pt[e]+" in "+pt[t]+" change"+(a?l:"s"),dt=e=>`the '${e}' `+i,st=e=>"the specified Row in "+dt(e),rt=(e,t=0)=>ut[t]+` ${Ke()} `+dt(e),It=(e,t=0)=>ut[t]+` ${Ke()} `+st(e),$t=(e,t,l=0)=>ut[l]+` the '${t}' Cell for `+st(e),ct=(e,t=0)=>ut[t]+` the '${e}' Value`,ut=["Gets","Checks existence of","Sets","Deletes","Sets part of",ke,"Gets "+_e,"Sets "+_e,Re+" whenever",He+"set",He+"add",He+"set part of",He+"delete","Renders","Gets "+_e+qe,"Sets"+qe,"Deletes"+qe],it=[$,"has","set","del","set","forEach",c,l],pt=[Oe,p,Qe+i+Ze+u,se+i,Qe+C+Ze+u,se+C,Qe+g+Ze+u,se+g,"invalid Cell changes",y,Qe+w+Ze+u,se+w,"invalid Value changes",Qe+"sorted "+C+Ze+u,Qe+g+Ze+u+" anywhere",Qe+"number of Rows"],bt=[l,"tabular ","keyed value "],Ct=e=>new Set(S(e)||x(e)?e:[e]),ht=(e,t)=>e?.add(t),mt=/[^A-Za-z]+/,gt=/[^A-Za-z0-9]+/,ft=/^( *)\/\*\* *(.*?) *\*\/$/gm,wt=(e,t,l)=>e.substring(t,l),yt=e=>e.includes(a),Tt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Q(e,n)?Tt(e,t,l,a+1):(ae(e,n,l),n)},vt=e=>e.replace(ft,((e,t,l)=>{const a=77-Vt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Vt=e=>e.length,xt=e=>e.flat(1e3),Rt=(e,t=0)=>O(N(e.split(gt),((e,l)=>(l>0||t?oe:de)(wt(e,0,1))+wt(e,1)))),kt=e=>oe(O((e&&!mt.test(e[0])?e:" "+e).split(gt),"_")),St=e=>`/** ${e}. */`,At=(...e)=>O(L(e,(e=>e)),", "),Pt=(...e)=>"{"+O(e,"; ")+"}",Et=(...e)=>Pt(...N(e,(e=>"readonly "+e))),Dt=()=>{const e=[Y(),Y(),Y(),Y()],t=Y(),a=Y(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>O(xt(e),"\n"),(t,l,...a)=>D(a,(a=>D([0,1],(n=>(t??n)==n?ht(ne(e[n],l,Ct),a):0)))),(e,a,n,o=l,d=1)=>Tt(t,e,[a,n,o,d]),(e,t,l)=>Tt(a,e,S(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>ee(a,e)===t?e:Tt(a,e,t),(t=0)=>N([...E(le(e[t],((e,t)=>`import {${O(E(q(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>yt(e)!=yt(t)?yt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>le(t,(([e,t,a,n],o)=>[St(t),`${n?Ce+" ":l}type ${o}${a} = ${e};`,l])),()=>le(a,((e,t)=>(e=S(e)?e:[e],j(e,M(e)+";"),[`const ${t} = ${z(e)}`,e,l])))]},Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Nt=(e,t,l)=>[t=>_(e,((e,a)=>t(a,Rt(a,1),l(kt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[s],e[r],l(kt(t),`'${t}'`),Rt(t,1)))),e=>_(t,((t,a)=>e(a,t[s],t[r],l(kt(a),`'${a}'`),Rt(a,1))))],Gt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(p,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`)))+"}"))),Xe(1,5)),r=e(p+Fe,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Xe(1,5,1)),$=e(i+he,"keyof "+s,"A "+i+" Id in "+Oe),c=`<TId extends ${$}>`,u=e(i,Te+`<${s}[TId]>`,"A "+i+" in "+Oe,c),w=e(i+Fe,Te+`<${r}[TId]>`,"A "+i+" in "+Oe+Ue,c),y=e(C,u+"<TId>[Id]","A "+C+" in a "+i,c),T=e(C+Fe,w+"<TId>[Id]","A "+C+" in a "+i+Ue,c),v=e(g+he,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,c),V=e(g,Te+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${$}, CId extends ${v}<TId>>`),R=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${$}, CId = ${v}<TId>>`,0),k=e(g+$e,`(...[cellId, cell]: ${R}<TId>)`+Be,at(se+g+" Id, and "+g),c),S=e(C+$e,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Be+") "+Be,at(se+C+" Id, and a "+g+" iterator"),c),A=e(i+g+$e,`(cellId: ${v}<TId>, count: number) `+Be,at(se+g+" Id, and count of how many times it appears"),c),P=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Be}] : never`,i+" Ids and callback types",`<TId = ${$}>`,0),E=e(i+$e,`(...[tableId, forEachRow]: ${P})`+Be,at(se+i+" Id, and a "+C+" iterator"),l),D=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${D}) => CellChange`,re+" returning information about any Cell's changes during a "+Le),N=e(p+I,`(${d}, getCellChange: ${O}${ye})`+Be,nt(1)),G=e(b+I,`(${d})`+Be,nt(2)),L=e(i+I,`(${d}, tableId: ${$}, getCellChange: ${O}${ye})`+Be,nt(3)),j=e(i+f+I,`(${d}, tableId: ${$})`+Be,nt(14,3)),M=e(C+"Count"+I,`(${d}, tableId: ${$})`+Be,nt(15,3)),J=e(h+I,`(${d}, tableId: ${$})`+Be,nt(4,3)),z=e(m+I,"("+At(d,"tableId: "+$,"cellId: Id"+ye,"descending: boolean","offset: number","limit: number"+ye,"sortedRowIds: Ids")+")"+Be,nt(13,3)),W=e(C+I,"("+At(""+d,"tableId: "+$,Se,`getCellChange: ${O}${ye}`)+")"+Be,nt(5,3)),B=e(f+I,"("+At(""+d,"tableId: "+$,Se)+")"+Be,nt(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Se}, cellId: CId, newCell: ${V}<TId, CId> ${ye}, oldCell: ${V}<TId, CId> ${ye}, getCellChange: ${O} ${ye}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,r,$,u,w,y,T,v,V,k,S,A,E,N,G,L,j,M,J,z,W,B,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+Be,nt(7,5)),e(me+g+I,`(${d}, tableId: Id, ${Se}, cellId: Id, invalidCells: any[])`+Be,nt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Pt(...n(((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`))),Xe(2,5)),s=e(y+Fe,Pt(...n(((e,t)=>`'${e}'?: ${t}`))),Xe(2,5,1)),r=e(w+he,"keyof "+d,"A "+w+" Id in "+Oe),$=e(w,Te+`<${d}[VId]>`,"A "+w+" Id in "+Oe,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,w+" Ids and types in "+Oe,`<VId = ${r}>`,0),u=e(w+$e,`(...[valueId, value]: ${c})`+Be,at(se+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${r}) => ValueChange`,re+" returning information about any Value's changes during a "+Le),p=e(y+I,`(${o}, getValueChange: ${i}${ye})`+Be,nt(9)),b=e(T+I,`(${o})`+Be,nt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${$}<VId> ${ye}, oldValue: ${$}<VId> ${ye}, getValueChange: ${i} ${ye}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,$,u,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Be,nt(11)),e(me+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Be,nt(12))]},(t,l)=>e(Ne+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Be,re+" listening to the completion of a "+Le)],Lt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),jt=(e,t=l)=>`fluent(() => ${Lt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Jt=(e,a,n)=>{const[d,$,v,V,R,S,A,P]=Dt(),[E,N,G]=Nt(e,a,R),[L,M,z]=Gt(v,E,N,G),W=Y(),B=(e=0)=>le(W,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||J(r,St(o)),j(r,l),r})),F=(e,t,a,n,o,d=l)=>Tt(W,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,s=l,r=l)=>F(it[e]+t+(4==e?ve:l)+a,d,n,(n==Q?jt:Lt)(it[e]+(4==e?ve:l)+a,s,e?void 0:n),o,r),_=(e,t,a,n=l,o=l,d=1,s=l)=>F(c+e+I,(n?n+", ":l)+fe+": "+t+(d?", mutator?: boolean":l),he,Mt(c+e+I,o,d?"mutator":l),a,s),Z=`./${Rt(n)}.d`,Q=Rt(n,1),K=Rt(Q),X=[],ne=Y();let oe=[],de=[];if($(1,Z,Q,`create${Q} as create${Q}Decl`),H(e))$(null,t,p);else{$(0,t,"CellChange"),$(null,t,u);const[e,a,n,d,I,c,w,y,T,V,S,A,P,G,M,J,z,W,B,F,H,te,le,de]=L(K,Q),se=Y();E(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,d+l,ke+` the '${e}' `+i),v(t+i+Fe,I+l,ke+` the '${e}' `+i+Ue),v(t+C,c+l,Ye(e)),v(t+C+Fe,w+l,Ye(e,1)),v(t+g+he,y+l,`A Cell Id for the '${e}' `+i),v(t+g+$e,V+l,at(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+C+$e,S+l,at(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+i+g+$e,A+l,at(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ae(se,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,P,G,M,J,z,W,B,F,H,te,le,de),oe=[e,a,n,y,G,M,J,z,W,B,F,H,te,le,se],D([[e],[o],[Q,"tables: "+a,"tables"],[Q]],(([e,t,a],n)=>U(n,l,p,e,Xe(1,n),t,a))),U(0,l,b,n+De,et(i,Oe)),U(5,l,i,We,tt(i,Oe),"tableCallback: "+P,"tableCallback as any"),E(((e,t,a)=>{const[n,d,s,r,I,$,c,p]=ee(se,e);D([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,o,d=l],s)=>U(s,t,i,n,rt(e,s),o,a+d))),U(0,t,i+f,u,et(g,"the whole of "+dt(e)),l,a),U(5,t,i+g,We,tt(i+g,"the whole of "+dt(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,C+"Count","number","Gets the number of Rows in the "+dt(e),l,a),U(0,t,h,u,et(C,dt(e)),l,a),U(0,t,m,u,et(C,dt(e),1),"cellId?: "+I+Ee,a+", cellId, descending, offset, limit"),U(5,t,C,We,tt(C,dt(e)),"rowCallback: "+c,a+", rowCallback as any"),D([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>U(s,t,C,n,It(e,s),Se+o,a+", rowId"+d))),U(6,t,C,he+ye,"Add a new Row to "+dt(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+De,et(g,st(e)),Se,a+", rowId"),U(5,t,g,We,tt(g,st(e)),Se+", cellCallback: "+$,a+", rowId, cellCallback as any"),N(e,((n,d,s,r,I)=>{const $="Map"+Rt(d,1);ae(ne,d,$);const c=d+(x(s)?ye:l);D([[c],[o],[Q,`, cell: ${d} | `+$,", cell as any"],[Q]],(([o,d=l,s=l],$)=>U($,t+I,g,o,$t(e,n,$),Se+d,a+", rowId, "+r+s))),U(1,t+I,i+g,o,ut[1]+` the '${n}' Cell anywhere in `+dt(e),l,a+", "+r)}))})),U(0,l,p+ge,ge,Xe(1,6)),U(2,l,p+ge,Q,Xe(1,7),"tablesJson: "+ge,"tables"+ge),_(p,G,Xe(1,8)+" changes"),_(b,M,ot(2,0,1)),_(i,J,ot(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,z,ot(14,3,1),`tableId: ${n} | null`,"tableId"),_(C+"Count",W,ot(15,3),`tableId: ${n} | null`,"tableId"),_(h,B,ot(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,F,ot(13,3,1),At("tableId: TId",`cellId: ${y}<TId>`+ye,"descending: boolean","offset: number","limit: number"+ye),At("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,H,ot(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,te,ot(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,le,ot(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${O(E((e=>ee(se,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),_(me+g,de,Re+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...q(ne)),j(X,".set"+p+Ae+"({",xt(E(((e,t,a)=>[`[${a}]: {`,...N(e,((e,t,a,n)=>`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(H(a))$(null,t,y);else{const[e,a,n,d,I,c,u,i,p]=M(K,Q);$(1,Z,e,a,n,I,c,u,i,p),de=[e,a,n,c,u,i],D([[e],[o],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,Xe(2,n),t,a))),U(0,l,T,n+De,et(w,Oe)),U(5,l,w,"void",tt(w,Oe),"valueCallback: "+I,"valueCallback as any"),G(((e,t,a,n,d)=>{const s="Map"+Rt(t,1);ae(ne,t,s),D([[t],[o],[Q,`value: ${t} | `+s,", value as any"],[Q]],(([t,a,o=l],s)=>U(s,d,w,t,ct(e,s),a,n+o)))})),U(0,l,y+ge,ge,Xe(2,6)),U(2,l,y+ge,Q,Xe(2,7),"valuesJson: "+ge,"values"+ge),_(y,c,Xe(2,8)+" changes"),_(T,u,ot(10,0,1)),_(w,i,ot(11,0),`valueId: ${n} | null`,"valueId"),_(me+w,p,Re+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...q(ne)),$(0,t,"ValueChange"),j(X,".set"+y+Ae+"({",G(((e,t,a,n)=>[`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,Xe(0,0)),U(2,l,"Content",Q,Xe(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Ge,Q,`Applies a set of ${Ge} to the Store`,"transactionChanges: "+Ge,"transactionChanges"),te(ne,((e,t)=>v(t,`(cell: ${e}${ye}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,t,"DoRollback",he,"IdOrNull",ge,"Store",Ge),$(0,t,"Get"+Ge,"GetTransactionLog"),U(0,l,ge,ge,Xe(0,6)),U(2,l,ge,Q,Xe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),U(7,l,Le,"Return",je,be,"actions, doRollback","<Return>"),U(7,l,"start"+Ne,Q,Me),U(7,l,"finish"+Ne,Q,Je,pe,"doRollback");const se=z(K,Q);return _("Start"+Ne,se,Re+" just before the start of the "+Le,l,l,0),_("WillFinish"+Ne,se,Re+" just before "+ze,l,l,0),_("DidFinish"+Ne,se,Re+" just after "+ze,l,l,0),U(7,l,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,Q,"Remove a listener that was previously added to "+Oe,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",ut[0]+" the underlying Store object"),$(1,t,"createStore"),$(1,Z,Q,`create${Q} as create${Q}Decl`,se),R("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${K};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${K}, ...params)`),R(K,["{",...B(1),"}"]),[d(...S(0),...A(),Ce+" interface "+Q+" {",...B(0),"}",l,St(`Creates a ${Q} object`),Ce+" function create"+Q+"(): "+Q+";"),d(...S(1),Ce+" const create"+Q+": typeof create"+Q+"Decl = () => {",...P(),`return Object.freeze(${K});`,"};"),oe,de]},zt=e=>$+e,Wt=e=>At(zt(e),zt(e)+ue),Bt="debugIds?: boolean",Ft="debugIds={debugIds}",Ut="then"+ie,_t="Parameter",Zt=": (parameter: "+_t+", store: Store) => ",Ht="const contextValue = useContext(Context);",Qt=", based on a parameter",qt=": ",Kt="<"+_t+",>",Xt=_t+"ized"+$e+"<"+_t+">",Yt="rowId",el="rowId={rowId}",tl=", separator, debugIds",ll="separator?: ReactElement | string",al="then?: (store: Store",nl=At(al+")"+Be,Ut),ol="then, then"+ue,dl=Yt+qt+he,sl="View",rl=(e,...t)=>At(...t,fe+": "+e,fe+ie,"mutator?: boolean"),Il=(...e)=>At(...e,fe,fe+ue,"mutator"),$l=(e,a,n,o,d)=>{const[s,r,$,c,v,V,R,k]=Dt(),[S,A,P]=Nt(e,a,v),E=`./${Rt(n)}.d`,D=`./${Rt(n)}-ui-react.d`,N="tinybase/ui-react",G=Rt(n,1),L=Rt(G),M=G+"Or"+G+he,z=L+"Or"+G+he,W=L+`={${L}}`,B=Y(),F=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),Tt(B,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,s=l,I=l,$=l)=>(r(1,N,`use${t} as use${t}Core`),U(e,At(o,X,I),a,ae+`(${z}, use${t}Core, [`+(d||l)+($?"], ["+$:l)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),Q=(e=0)=>le(B,(([t,a,n,o,d],s)=>{const r=e?[Ce+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ce+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||J(r,St(o)),j(r,l),r}));r(null,t,he,"Store",$e,_t+"ized"+$e),r(0,N,"ComponentReturnType"),r(1,N,"useCellIds"),r(null,N,"ExtraProps"),r(0,E,G);const q=$(M,G+" | "+he,`Used when you need to refer to a ${G} in a React hook or component`),K=$(xe+Ve,Et(L+we+G,L+`ById?: {[${L}Id: Id]: ${G}}`),`Used with the ${xe} component, so that a `+G+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,q,K);const X=z+we+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${G}?, {[${L}Id: Id]: ${G}}?]>([])`),U("Create"+G,`create: () => ${G}, create`+ie,G,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${G} within a React application with convenient memoization`);const te=U(G,"id?: Id",G+ye,["{",Ht,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${xe} component context`),ae=c("useHook",z+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${L} : ${z})?.getStore(), ...postParams)`]),ne=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=c("wrap",At("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;"]),de=c("useCustomOrDefaultCellIds",At("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${q} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),re=v("NullComponent","() => null");if(!H(e)){const[e,a,n,d,s,w,y,T,v,V,R,k,P,N,j]=o;r(null,E,e,a,n,s,w,y,T,v,V,R,k,P,N),r(0,E,d),r(1,E,G),r(null,t,u,"IdOrNull");const M=c("tableView",`{${L}, rowComponent, getRowComponentProps, customCellIds`+tl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",el,"customCellIds={customCellIds}",W,Ft,"/>","))",tl,", tableId,",");"]),J=c("getDefaultTableComponent","tableId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+re),z=c("getDefaultCellComponent","tableId: Id, cellId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${O(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+re} : `)))+re);_(p,p,e,Xe(1,0)+Ie);const B=_(b,b,n+De,et(i,Oe)+Ie);_(Pe+p+$e,Pe+p+$e,Xt,Xe(1,9)+Qt,At(zt(p)+Zt+a,zt(p)+ie),Wt(p),Kt,At(al,`tables: ${a})`+Be,Ut),ol),_(ce+p+$e,ce+p+$e,$e,Xe(1,12),l,l,l,nl,ol);const F=$(g+Ve,Et("tableId?: TId","rowId: Id","cellId?: CId",L+we+G,Bt),lt(se+g),`<TId extends ${n}, CId extends ${d}<TId>>`),U=$(C+Ve,Et("tableId?: TId","rowId: Id",L+we+G,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ll,Bt),lt(se+C),`<TId extends ${n}>`),H=$(i+Ve,Et("tableId?: TId",L+we+G,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+i),`<TId extends ${n}>`),Q=$("Sorted"+i+Ve,Et("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",L+we+G,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+"sorted "+i),`<TId extends ${n}>`),q=$(p+Ve,Et(L+we+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ll,Bt),lt(Ke(1,1)));r(1,D,q,H,Q,U,F),Z(p+sl,"{"+L+", tableComponents, getTableComponentProps"+tl+"}: "+q,[oe+`(${B}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+J+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ft,"/>;","}), separator)"],Xe(1,13)+Ie),S(((e,t,a)=>{const[n,o,d,s,I]=ee(j,e);r(null,E,n,o,d,s,I),_(t+i,i,n,rt(e)+Ie,l,a),_(t+i+f,i+f,u,et(g,"the whole of "+dt(e))+Ie,l,a);const $=_(t+h,h,u,et(C,dt(e))+Ie,l,a),c=_(t+m,m,u,et(C,dt(e),1)+Ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,It(e)+Ie,dl,At(a,Yt)),_(t+f,f,I+De,et(g,st(e))+Ie,dl,At(a,Yt)),_(Pe+t+i+$e,Pe+i+$e,Xt,rt(e,9)+Qt,At(zt(i)+Zt+o,zt(i)+ie),At(a,Wt(i)),Kt,At(al,`table: ${o})`+Be,Ut),ol),_(ce+t+i+$e,ce+i+$e,$e,rt(e,12),l,a,l,nl,ol),_(Pe+t+C+$e,Pe+C+$e,Xt,It(e,9)+Qt,At(dl,zt(C)+Zt+s,zt(C)+ie),At(a,Yt,Wt(C)),Kt,At(al,`row: ${s})`+Be,Ut),ol),_("Add"+t+C+$e,"Add"+C+$e,Xt,It(e,10)+Qt,At(zt(C)+Zt+s,zt(C)+ie),At(a,Wt(C)),Kt,"then?: ("+At(dl+ye,"store: Store","row: "+s+")"+Be,"then"+ie)+", reuseRowIds?: boolean",ol+", reuseRowIds"),_(Pe+t+ve+C+$e,Pe+ve+C+$e,Xt,It(e,11)+Qt,At(dl,zt(ve+C)+Zt+s,zt(ve+C)+ie),At(a,Yt,Wt(ve+C)),Kt,At(al,`partialRow: ${s})`+Be,Ut),ol),_(ce+t+C+$e,ce+C+$e,$e,It(e,12),dl,At(a,Yt),l,nl,ol);const p=Z(t+C+sl,"{rowId, "+L+", cellComponents, getCellComponentProps, customCellIds"+tl+`}: ${U}<'${e}'>`,[oe+`(${de}(customCellIds, `+a+`, rowId, ${L}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+z+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,el,"cellId={cellId}",W,Ft,"/>;","})"+tl+", rowId)"],It(e,13)+Ie);Z(t+"Sorted"+i+sl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+c+`(cellId, descending, offset, limit, props.${L}), ${a}, ${p});`,rt(e,13)+", sorted"+Ie),Z(t+i+sl,`props: ${H}<'${e}'>`,M+"(props, "+$+`(props.${L}), ${a}, ${p});`,rt(e,13)+Ie),A(e,((n,o,d,s,I)=>{const $="Map"+Rt(o,1);r(0,E,$),r(1,E,$);const c=_(t+I+g,g,o+(x(d)?ye:l),$t(e,n)+Ie,dl,At(a,Yt,s));_(Pe+t+I+g+$e,Pe+g+$e,Xt,$t(e,n,9)+Qt,At(dl,zt(g)+Zt+o+" | "+$,zt(g)+ie),At(a,Yt,s,Wt(g)),Kt,At(al,`cell: ${o} | ${$})`+Be,Ut),ol),_(ce+t+I+g+$e,ce+g+$e,$e,$t(e,n,12),At(dl,"forceDel?: boolean"),At(a,Yt,s,"forceDel"),l,nl,ol),Z(t+I+g+sl,`{rowId, ${L}, debugIds}: `+F+`<'${e}', '${n}'>`,[oe+`('' + ${c}(rowId, `+L+`) ?? '', undefined, debugIds, ${s})`],$t(e,n,13)+Ie)}))}));const K=O(S((e=>ee(j,e)?.[4]??l))," | ");_(p+I,p+I,We,Xe(1,8)+" changes",rl(s),Il()),_(b+I,b+I,We,ot(2,0,1),rl(w),Il()),_(i+I,i+I,We,ot(3,0),rl(y,`tableId: ${n} | null`),Il("tableId")),_(i+f+I,i+f+I,We,ot(14,3,1),rl(T,`tableId: ${n} | null`),Il("tableId")),_(h+I,h+I,We,ot(4,3,1),rl(V,`tableId: ${n} | null`),Il("tableId")),_(m+I,m+I,We,ot(13,3,1),rl(R,`tableId: ${n} | null`,"cellId: "+K+ye,"descending: boolean","offset: number","limit: number"+ye),Il("tableId","cellId","descending","offset","limit")),_(C+I,C+I,We,ot(5,3),rl(k,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(f+I,f+I,We,ot(6,5,1),rl(P,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(g+I,g+I,We,ot(7,5),rl(N,`tableId: ${n} | null`,Yt+": IdOrNull",`cellId: ${K} | null`),Il("tableId",Yt,"cellId"))}if(!H(a)){const[e,t,a,n,o,s]=d;r(null,E,...d),r(1,E,G);const u=c("getDefaultValueComponent","valueId: Id",O(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+re);_(y,y,e,Xe(2,0)+Ie);const i=_(T,T,a+De,et(w,Oe)+Ie);_(Pe+y+$e,Pe+y+$e,Xt,Xe(2,9)+Qt,At(zt(y)+Zt+t,zt(y)+ie),Wt(y),Kt,At(al,`values: ${t})`+Be,Ut),ol),_(Pe+ve+y+$e,Pe+ve+y+$e,Xt,Xe(2,11)+Qt,At(zt(ve+y)+Zt+t,zt(ve+y)+ie),Wt(ve+y),Kt,At(al,`partialValues: ${t})`+Be,Ut),ol),_(ce+y+$e,ce+y+$e,$e,Xe(2,12),l,l,l,nl,ol);const p=$(w+Ve,Et("valueId?: VId",L+we+G,Bt),lt("a Value"),`<VId extends ${a}>`),b=$(y+Ve,Et(L+we+G,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ll,Bt),lt(Ke(2,1)));r(1,D,b,p),Z(y+sl,"{"+L+", valueComponents, getValueComponentProps"+tl+"}: "+b,[oe+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+u+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ft,"/>;","}), separator)"],Xe(2,13)+Ie),P(((e,t,a,n,o)=>{const d="Map"+Rt(t,1);r(0,E,d),r(1,E,d);const s=_(o+w,w,t,ct(e)+Ie,l,n);_(Pe+o+w+$e,Pe+w+$e,Xt,ct(e,9)+Qt,At(zt(w)+Zt+t+" | "+d,zt(w)+ie),At(n,Wt(w)),Kt,At(al,`value: ${t} | ${d})`+Be,Ut),ol),_(ce+o+w+$e,ce+w+$e,$e,ct(e,12),l,n,l,nl,ol),Z(o+w+sl,`{${L}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+L+`) ?? '', undefined, debugIds, ${n})`],ct(e,13)+Ie)})),_(y+I,y+I,We,Xe(2,8)+" changes",rl(n),Il()),_(T+I,T+I,We,ot(10,0,1),rl(o),Il()),_(w+I,w+I,We,ot(11,0),rl(s,`valueId: ${a} | null`),Il("valueId"))}return Z(xe,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",Ht,"return (","<Context."+xe,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${xe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...R(),...Q(0)),s(...V(1),...k(),...Q(1))]},cl=(e,t,a)=>{if(H(e)&&H(t))return[l,l,l,l];const[n,o,d,s]=Jt(e,t,a);return[n,o,...$l(e,t,a,d,s)]},ul=JSON.parse,il={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},pl=Ot((e=>{const t=()=>{const t=ul(e.getTablesSchemaJson());return!H(t)||P(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=Y();if(P(a,(t=>P(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ne(n,a,(()=>[A(o),Y(),[0],0])),[s,r,[I]]=d,$=ne(r,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),ae(r,o,$),d[3]++,s==A(o)})))))return t[l]={},K(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==G(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=ul(e.getValuesSchemaJson());return H(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:A(l)}})),t},a=e=>cl(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 N(a(e),((e,a)=>vt(l(e,{...il,filepath:"_."+t[a]}))))};return F({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let s=0,r=0;const I={};d(((e,l)=>{s++;let a=0;l((()=>a++)),r+=a,t&&(I[e]={rowCells:a})})),a+=s,n+=r,t&&(o[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:G(e.getValueIds()),jsonLength:Vt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=pl;
Binary file
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("./ui-react");const l=e=>typeof e,s="",a=l(s),n=l(!0),r=l(0),o=l(l),i="type",d="default",u="Ids",c="Table",h=c+"s",m=c+u,b="Row",g=b+"Count",I=b+u,p="Cell",f=p+u,w="Value",C=w+"s",y=w+u,v="currentTarget",x="value",k=e=>s+e,T=isFinite,S=(e,t)=>e instanceof t,V=e=>null==e,R=(e,t,l)=>V(e)?l?.():t(e),q=e=>e==a||e==n,N=e=>l(e)==o,L=e=>Array.isArray(e),{createElement:M,Fragment:E,useCallback:z,useRef:$,useState:A}=e,J=(e,...t)=>V(e)?{}:e(...t),O=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),P=e=>e.length,H=e=>0==P(e),B=(e,t,l)=>e.slice(t,l),Q=(e,...t)=>e.push(...t),D=e=>e.shift(),j=Object,W=j.keys,G=j.isFrozen,K=j.freeze,U=e=>S(e,j)&&e.constructor==j,X=(e=[])=>j.fromEntries(e),Y=(e,t)=>!V(((e,t)=>R(e,(e=>e[t])))(e,t)),Z=(e,t)=>(delete e[t],e),_=(e,t)=>F(j.entries(e),(([e,l])=>t(l,e))),ee=e=>U(e)&&0==(e=>P(W(e)))(e),te=e=>JSON.stringify(e,((e,t)=>S(t,Map)?j.fromEntries([...t]):t)),le=JSON.parse,se="tinybaseStoreInspector",ae="TinyBase Store Inspector",ne=["left","top","bottom","right","full"],re="state",oe="sort",ie="open",de="position",ue=ie,ce="editable",he=(...e)=>te(e),me=(e,t)=>F(e.sort(),t),be=(e,l)=>[!!t.useCell(re,e,ce,l),z((t=>{l.setCell(re,e,ce,(e=>!e)),t.preventDefault()}),[l,e])],ge="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Ie='content:url("',pe=Ie+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",fe='</svg>")',we=Ie+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Ce=F([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,s])=>pe+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${s}' fill='white'/>`+fe)),ye=pe+"<path d='M20 20l60 60M20 80l60-60' />"+fe,ve=pe+`<path d='${ge}' />`+fe,xe=pe+`<path d='${ge}M20 20l60 60' />`+fe,ke="*::-webkit-scrollbar",Te=((e,t="")=>e.join(t))(_({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[ke]:"width:0.5rem;height:0.5rem;",[ke+"-track"]:"background:#111",[ke+"-thumb"]:"background:#999;border:1px solid #111",[ke+"-thumb:hover"]:"background:#fff",[ke+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+we,...X(F(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...X(F(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":we,"header>img:nth-of-type(6)":ye,...X(F(Ce,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":ve,"details[open]>summary img.done":xe,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${se} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left"},((e,t)=>e?`#${se} ${t}{${e}}`:""))),Se=({s:e})=>{const l=t.useValue(de,e)??1,s=t.useSetValueCallback(ue,(()=>!0),[],e);return t.useValue(ue,e)?null:M("img",{onClick:s,title:ae,"data-position":l})},Ve=({uniqueId:e,summary:l,editable:s,handleEditable:a,children:n,s:r})=>{const o=!!t.useCell(re,e,ie,r),i=t.useSetCellCallback(re,e,ie,(e=>e[v].open),[],r);return M("details",{open:o,onToggle:i},M("summary",null,l,a?M("img",{onClick:a,className:s?"done":"edit"}):null),n)},Re=e=>{const t=l(e);return q(t)||t==r&&T(e)?t:void 0},qe=(e,t,l,s,a)=>V(a)?e.delCell(t,l,s,!0):e.setCell(t,l,s,a),Ne=(e,t,l)=>V(l)?e.delValue(t):e.setValue(t,l),Le=(e,t,l,s)=>e==a?t:e==r?l:s,{useCallback:Me,useMemo:Ee,useState:ze}=e,$e="editable",Ae=(e,l)=>F(t.useTableCellIds(e,l),(t=>e+"."+t)),Je=(e,t,l)=>{const s=Me(e,t);return l?s:void 0},Oe=(...e)=>Ee((()=>e),e),Fe=(e,t)=>Ee((()=>({store:e,tableId:t})),[e,t]),Pe=(e,t)=>Ee((()=>({queries:e,queryId:t})),[e,t]),He=(e,t=!1,l,s=0,a,n,r,o)=>{const[[i,d,u],c]=ze([e,t,s]),h=Me((e=>{c(e),o?.(e)}),[o]),m=Je((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),b=Me((e=>h([i,d,e])),[h,i,d]),g=!0===r?et:r;return[[i,d,u],m,Ee((()=>!1===r?null:M(g,{offset:u,limit:a,total:n,onChange:b})),[r,g,u,a,n,b])]},Be=(e,t,s)=>Ee((()=>{const n=t??e;return X(_(L(n)?X(F(n,(e=>[e,e]))):n,((e,t)=>{return[t,{label:t,component:s,...(n=e,l(n)==a?{label:e}:e)}];var n})))}),[t,s,e]),Qe=({className:e,headerRow:t,idColumn:l,params:[s,a,n,r,o,i]})=>M("table",{className:e},i?M("caption",null,i):null,!1===t?null:M("thead",null,M("tr",null,!1===l?null:M(De,{sort:r??[],label:"Id",onClick:o}),_(s,(({label:e},t)=>M(De,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),M("tbody",null,F(n,(e=>M("tr",{key:e},!1===l?null:M("th",null,e),_(s,(({component:t,getComponentProps:l},s)=>M("td",{key:s},M(t,{...J(l,e,s),...a,rowId:e,cellId:s}))))))))),De=({cellId:e,sort:[t,l],label:a=e??s,onClick:n})=>M("th",{onClick:Je((()=>n?.(e)),[n,e],n),className:V(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},V(l)||t!=e?null:(l?"↓":"↑")+" ",a),je=({localRowId:l,params:[s,a,n,r,o,i,d]})=>{const u=t.useRemoteRowId(o,l,i);return M("tr",null,!1===s?null:M(e.Fragment,null,M("th",null,l),M("th",null,u)),_(a,(({component:e,getComponentProps:t},s)=>{const[a,o]=s.split(".",2),i=a===n?l:a===r?u:null;return V(i)?null:M("td",{key:s},M(e,{...J(t,i,o),store:d,tableId:a,rowId:i,cellId:o}))})))},We=({thing:e,onThingChange:t,className:l})=>{const[s,o]=ze(),[i,d]=ze(),[u,c]=ze(),[h,m]=ze(),[b,g]=ze();i!==e&&(o(Re(e)),d(e),c(e+""),m(Number(e)||0),g(!!e));const I=Me(((e,l)=>{l(e),d(e),t(e)}),[t]);return M("div",{className:l},M("button",{className:s,onClick:Me((()=>{const e=Le(s,r,n,a),l=Le(e,u,h,b);o(e),d(l),t(l)}),[t,u,h,b,s])},s),Le(s,M("input",{key:s,value:u,onChange:Me((e=>I(e[v][x]+"",c)),[I])}),M("input",{key:s,type:"number",value:h,onChange:Me((e=>I(Number(e[v][x]||0),m)),[I])}),M("input",{key:s,type:"checkbox",checked:b,onChange:Me((e=>I(!!e[v].checked,g)),[I])})))},Ge=({tableId:e,cellId:l,descending:s,offset:a,limit:n,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=He(l,s,i,a,n,t.useRowCount(e,r),d,u);return M(Qe,{...h,params:Oe(Be(t.useTableCellIds(e,r),c,o?Ze:t.CellView),Fe(r,e),t.useSortedRowIds(e,...m,n,r),m,b,g)})},Ke=({store:e,editable:l=!1,valueComponent:s=(l?_e:t.ValueView),getValueComponentProps:a,className:n,headerRow:r,idColumn:o})=>M("table",{className:n},!1===r?null:M("thead",null,M("tr",null,!1===o?null:M("th",null,"Id"),M("th",null,w))),M("tbody",null,F(t.useValueIds(e),(t=>M("tr",{key:t},!1===o?null:M("th",null,t),M("td",null,M(s,{...J(a,t),valueId:t,store:e}))))))),Ue=({indexId:e,sliceId:l,indexes:s,editable:a,customCells:n,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(s),e);return M(Qe,{...r,params:Oe(Be(t.useTableCellIds(d,i),n,a?Ze:t.CellView),Fe(i,d),t.useSliceRowIds(e,l,o))})},Xe=({relationshipId:l,relationships:s,editable:a,customCells:n,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(s),l),m=Be([...Ae(c,u),...Ae(h,u)],n,a?Ze:t.CellView),b=Oe(i,m,c,h,l,d,u);return M("table",{className:r},!1===o?null:M("thead",null,M("tr",null,!1===i?null:M(e.Fragment,null,M("th",null,c,".Id"),M("th",null,h,".Id")),_(m,(({label:e},t)=>M("th",{key:t},e))))),M("tbody",null,F(t.useRowIds(c,u),(e=>M(je,{key:e,localRowId:e,params:b})))))},Ye=({queryId:e,cellId:l,descending:s,offset:a,limit:n,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=He(l,s,o,a,n,t.useResultRowCount(e,r),i,u);return M(Qe,{...c,params:Oe(Be(t.useResultTableCellIds(e,r),d,t.ResultCellView),Pe(r,e),t.useResultSortedRowIds(e,...h,n,r),h,m,b)})},Ze=({tableId:e,rowId:l,cellId:s,store:a,className:n})=>M(We,{thing:t.useCell(e,l,s,a),onThingChange:t.useSetCellCallback(e,l,s,(e=>e),[],a),className:n??$e+p}),_e=({valueId:e,store:l,className:s})=>M(We,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:s??$e+w}),et=({onChange:t,total:l,offset:s=0,limit:a=l,singular:n="row",plural:r=n+"s"})=>{(s>l||s<0)&&(s=0,t(0));const o=Je((()=>t(s-a)),[t,s,a],s>0),i=Je((()=>t(s+a)),[t,s,a],s+a<l);return M(e.Fragment,null,l>a&&M(e.Fragment,null,M("button",{className:"previous",disabled:0==s,onClick:o},"←"),M("button",{className:"next",disabled:s+a>=l,onClick:i},"→"),s+1," to ",Math.min(l,s+a)," of "),l," ",1!=l?r:n)},tt=({indexes:e,indexesId:l,indexId:s,s:a})=>M(Ve,{uniqueId:he("i",l,s),summary:"Index: "+s,s:a},F(t.useSliceIds(s,e),(t=>M(lt,{indexes:e,indexesId:l,indexId:s,sliceId:t,s:a})))),lt=({indexes:e,indexesId:t,indexId:l,sliceId:s,s:a})=>{const n=he("i",t,l,s),[r,o]=be(n,a);return M(Ve,{uniqueId:n,summary:"Slice: "+s,editable:r,handleEditable:o,s:a},M(Ue,{sliceId:s,indexId:l,indexes:e,editable:r}))},st=({indexesId:e,s:l})=>{const s=t.useIndexes(e),a=t.useIndexIds(s);return V(s)?null:M(Ve,{uniqueId:he("i",e),summary:"Indexes: "+(e??d),s:l},H(a)?"No indexes defined":me(a,(t=>M(tt,{indexes:s,indexesId:e,indexId:t,s:l}))))},at=({metrics:e,metricId:l})=>M("tr",null,M("th",null,l),M("td",null,e?.getTableId(l)),M("td",null,t.useMetric(l,e))),nt=({metricsId:e,s:l})=>{const s=t.useMetrics(e),a=t.useMetricIds(s);return V(s)?null:M(Ve,{uniqueId:he("m",e),summary:"Metrics: "+(e??d),s:l},H(a)?"No metrics defined":M("table",null,M("thead",null,M("th",null,"Metric Id"),M("th",null,"Table Id"),M("th",null,"Metric")),M("tbody",null,F(a,(e=>M(at,{metrics:s,metricId:e}))))))},rt=({queries:e,queriesId:l,queryId:s,s:a})=>{const n=he("q",l,s),[r,o,i]=le(t.useCell(re,n,oe,a)??"[]"),d=t.useSetCellCallback(re,n,oe,te,[],a);return M(Ve,{uniqueId:n,summary:"Query: "+s,s:a},M(Ye,{queryId:s,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ot=({queriesId:e,s:l})=>{const s=t.useQueries(e),a=t.useQueryIds(s);return V(s)?null:M(Ve,{uniqueId:he("q",e),summary:"Queries: "+(e??d),s:l},H(a)?"No queries defined":me(a,(t=>M(rt,{queries:s,queriesId:e,queryId:t,s:l}))))},it=({relationships:e,relationshipsId:t,relationshipId:l,s:s})=>{const a=he("r",t,l),[n,r]=be(a,s);return M(Ve,{uniqueId:a,summary:"Relationship: "+l,editable:n,handleEditable:r,s:s},M(Xe,{relationshipId:l,relationships:e,editable:n}))},dt=({relationshipsId:e,s:l})=>{const s=t.useRelationships(e),a=t.useRelationshipIds(s);return V(s)?null:M(Ve,{uniqueId:he("r",e),summary:"Relationships: "+(e??d),s:l},H(a)?"No relationships defined":me(a,(t=>M(it,{relationships:s,relationshipsId:e,relationshipId:t,s:l}))))},ut=({tableId:e,store:l,storeId:s,s:a})=>{const n=he("t",s,e),[r,o,i]=le(t.useCell(re,n,oe,a)??"[]"),d=t.useSetCellCallback(re,n,oe,te,[],a),[u,h]=be(n,a);return M(Ve,{uniqueId:n,summary:c+": "+e,editable:u,handleEditable:h,s:a},M(Ge,{tableId:e,store:l,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},ct=({store:e,storeId:l,s:s})=>{const a=he("v",l),[n,r]=be(a,s);return H(t.useValueIds(e))?null:M(Ve,{uniqueId:a,summary:C,editable:n,handleEditable:r,s:s},M(Ke,{store:e,editable:n}))},ht=({storeId:e,s:l})=>{const s=t.useStore(e),a=t.useTableIds(s);return V(s)?null:M(Ve,{uniqueId:he("s",e),summary:"Store: "+(e??d),s:l},M(ct,{storeId:e,store:s,s:l}),me(a,(t=>M(ut,{store:s,storeId:e,tableId:t,s:l}))))},mt=({s:e})=>{const l=$(null),s=l.current,[a,n]=A(!1),{scrollLeft:r,scrollTop:o}=t.useValues(e);s&&!a&&new MutationObserver(((e,t)=>{s.scrollTo(r??0,o??0),n(!0),t.disconnect()})).observe(s,{childList:!0,subtree:!0});const i=z((t=>{const{scrollLeft:l,scrollTop:s}=t[v];requestIdleCallback((()=>e.setPartialValues({scrollLeft:l,scrollTop:s})))}),[e]);return M("article",{ref:l,onScroll:i},M(ht,{s:e}),F(t.useStoreIds(),(t=>M(ht,{storeId:t,key:t,s:e}))),M(nt,{s:e}),F(t.useMetricsIds(),(t=>M(nt,{metricsId:t,key:t,s:e}))),M(st,{s:e}),F(t.useIndexesIds(),(t=>M(st,{indexesId:t,key:t,s:e}))),M(dt,{s:e}),F(t.useRelationshipsIds(),(t=>M(dt,{relationshipsId:t,key:t,s:e}))),M(ot,{s:e}),F(t.useQueriesIds(),(t=>M(ot,{queriesId:t,key:t,s:e}))))},bt=({s:e})=>{const l=t.useValue(de,e)??1,s=t.useSetValueCallback(ue,(()=>!1),[],e),a=t.useSetValueCallback(de,(e=>Number(e[v].dataset.id)),[],e);return M("header",null,M("img",{title:ae}),M("span",null,ae),F(ne,((e,t)=>t==l?null:M("img",{onClick:a,"data-id":t,title:"Dock to "+e,key:t}))),M("img",{onClick:s,title:"Close"}))},gt=({s:e})=>{const l=t.useValue(de,e)??1;return t.useValue(ue,e)?M("main",{"data-position":l},M(bt,{s:e}),M(mt,{s:e})):null},It=e=>t=>{return l=(t,l)=>t+e(l),xt(t).reduce(l,0);var l},pt=e=>e?.size??0,ft=It(pt),wt=It(ft),Ct=It(wt),yt=(e,t)=>e?.has(t)??!1,vt=e=>V(e)||0==pt(e),xt=e=>[...e?.values()??[]],kt=e=>e.clear(),Tt=(e,t)=>e?.forEach(t),St=(e,t)=>e?.delete(t),Vt=e=>new Map(e),Rt=e=>[...e?.keys()??[]],qt=(e,t)=>e?.get(t),Nt=(e,t)=>Tt(e,((e,l)=>t(l,e))),Lt=(e,t,l)=>V(l)?(St(e,t),e):e?.set(t,l),Mt=(e,t,l)=>(yt(e,t)||Lt(e,t,l()),qt(e,t)),Et=(e,t,l,s=Lt)=>(_(t,((t,s)=>l(e,s,t))),Nt(e,(l=>Y(t,l)?0:s(e,l))),e),zt=(e,t,l)=>{const s={};return Tt(e,((e,a)=>{const n=t?t(e,a):e;!l?.(n,e)&&(s[a]=n)})),s},$t=(e,t,l)=>zt(e,(e=>zt(e,t,l)),ee),At=(e,t,l)=>zt(e,(e=>$t(e,t,l)),ee),Jt=(e,t)=>{const l=Vt();return Tt(e,((e,s)=>l.set(s,t?.(e)??e))),l},Ot=e=>Jt(e,Jt),Ft=e=>Jt(e,Ot),Pt=(e,t,l,s,a=0)=>R((l?Mt:qt)(e,t[a],a>P(t)-2?l:Vt),(n=>{if(a>P(t)-2)return s?.(n)&&Lt(e,t[a]),n;const r=Pt(n,t,l,s,a+1);return vt(n)&&Lt(e,t[a]),r})),Ht=Vt(),Bt=Vt(),Qt="storage",Dt=globalThis.window,jt=e=>new Set(L(e)||V(e)?e:[e]),Wt=(e,t)=>e?.add(t),Gt=/^\d+$/,Kt=()=>{const e=[];let t=0;return[l=>(l?D(e):null)??s+t++,t=>{Gt.test(t)&&P(e)<1e3&&Q(e,t)}]},Ut=e=>[e,e],Xt=(e,t=ft)=>t(e[0])+t(e[1]),Yt=()=>[Vt(),Vt()],Zt=e=>[...e],_t=([e,t])=>e===t,el=(e,t,l)=>V(e)||!U(e)||ee(e)||G(e)?(l?.(),!1):(_(e,((l,s)=>{t(l,s)||Z(e,s)})),!ee(e)),tl=(e,t,l)=>Lt(e,t,qt(e,t)==-l?void 0:l),ll=()=>{let e,t,l=!1,a=!1,n=0;const o=Vt(),u=Vt(),v=Vt(),x=Vt(),T=Vt(),S=Vt(),L=Vt(),M=Vt(),E=Vt(),z=Vt(),$=Vt(),A=Vt(),J=Vt(),H=Vt(),D=jt(),j=Vt(),W=Vt(),G=Vt(),U=Vt(),X=Yt(),se=Yt(),ae=Yt(),ne=Yt(),re=Yt(),oe=Yt(),ie=Yt(),de=Yt(),ue=Yt(),ce=Yt(),he=Yt(),me=Yt(),be=Yt(),ge=Yt(),Ie=Yt(),pe=Vt(),fe=Yt(),[we,Ce,ye,ve]=(e=>{let t;const[l,a]=Kt(),n=Vt();return[(e,a,r,o=[],i=(()=>[]))=>{t??=wl;const d=l(1);return Lt(n,d,[e,a,r,o,i]),Wt(Pt(a,r??[s],jt),d),d},(e,l,...a)=>O(((e,t=[s])=>{const l=[],a=(e,s)=>s==P(t)?Q(l,e):null===t[s]?Tt(e,(e=>a(e,s+1))):O([t[s],null],(t=>a(qt(e,t),s+1)));return a(e,0),l})(e,l),(e=>Tt(e,(e=>qt(n,e)[0](t,...l??[],...a))))),e=>R(qt(n,e),(([,t,l])=>(Pt(t,l??[s],void 0,(t=>(St(t,e),vt(t)?1:0))),Lt(n,e),a(e),l))),e=>R(qt(n,e),(([e,,l=[],s,a])=>{const n=(...r)=>{const o=P(r);o==P(l)?e(t,...r,...a(r)):V(l[o])?O(s[o]?.(...r)??[],(e=>n(...r,e))):n(...r,l[o])};n()}))]})(),xe=e=>{if(!el(e,((e,t)=>[i,d].includes(t))))return!1;const t=e[i];return!(!q(t)&&t!=r||(Re(e[d])!=t&&Z(e,d),0))},ke=(t,l)=>(!e||yt($,l)||st(l))&&el(t,((e,t)=>Te(l,t,e)),(()=>st(l))),Te=(e,t,l,s)=>el(s?l:Me(l,e,t),((s,a)=>R(Se(e,t,a,s),(e=>(l[a]=e,!0)),(()=>!1))),(()=>st(e,t))),Se=(t,l,s,a)=>e?R(qt(qt($,t),s),(e=>Re(a)!=e[i]?st(t,l,s,a,e[d]):a),(()=>st(t,l,s,a))):V(Re(a))?st(t,l,s,a):a,Ve=(e,t)=>el(t?e:Ee(e),((t,l)=>R(Le(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>at())),Le=(e,l)=>t?R(qt(J,e),(t=>Re(l)!=t[i]?at(e,l,t[d]):l),(()=>at(e,l))):V(Re(l))?at(e,l):l,Me=(e,t,l)=>(R(qt(A,t),(([s,a])=>{Tt(s,((t,l)=>{Y(e,l)||(e[l]=t)})),Tt(a,(s=>{Y(e,s)||st(t,l,s)}))})),e),Ee=e=>(t&&(Tt(H,((t,l)=>{Y(e,l)||(e[l]=t)})),Tt(D,(t=>{Y(e,t)||at(t)}))),e),ze=e=>Et($,e,((e,t,l)=>{const s=Vt(),a=jt();Et(Mt($,t,Vt),l,((e,t,l)=>{Lt(e,t,l),R(l[d],(e=>Lt(s,t,e)),(()=>Wt(a,t)))})),Lt(A,t,[s,a])}),((e,t)=>{Lt($,t),Lt(A,t)})),$e=e=>Et(J,e,((e,t,l)=>{Lt(J,t,l),R(l[d],(e=>Lt(H,t,e)),(()=>Wt(D,t)))}),((e,t)=>{Lt(J,t),Lt(H,t),St(D,t)})),Ae=e=>ee(e)?ul():nl(e),Je=e=>Et(G,e,((e,t,l)=>Oe(t,l)),((e,t)=>Ge(t))),Oe=(e,t)=>Et(Mt(G,e,(()=>(Ye(e,1),Lt(j,e,Kt()),Lt(W,e,Vt()),Vt()))),t,((t,l,s)=>Fe(e,t,l,s)),((t,l)=>Ke(e,t,l))),Fe=(e,t,l,s,a)=>Et(Mt(t,l,(()=>(Ze(e,l,1),Vt()))),s,((t,s,a)=>Pe(e,l,t,s,a)),((s,n)=>Ue(e,t,l,s,n,a))),Pe=(e,t,l,s,a)=>{yt(l,s)||_e(e,t,s,1);const n=qt(l,s);a!==n&&(et(e,t,s,n,a),Lt(l,s,a))},He=(e,t,l,s,a)=>R(qt(t,l),(t=>Pe(e,l,t,s,a)),(()=>Fe(e,t,l,Me({[s]:a},e,l)))),Be=e=>ee(e)?ml():rl(e),Qe=e=>Et(U,e,((e,t,l)=>De(t,l)),((e,t)=>Xe(t))),De=(e,t)=>{yt(U,e)||tt(e,1);const l=qt(U,e);t!==l&&(lt(e,l,t),Lt(U,e,t))},je=(e,t)=>{const[l]=qt(j,e),s=l(t);return yt(qt(G,e),s)?je(e,t):s},We=e=>qt(G,e)??Oe(e,{}),Ge=e=>Oe(e,{}),Ke=(e,t,l)=>{const[,s]=qt(j,e);s(l),Fe(e,t,l,{},!0)},Ue=(e,t,l,s,a,n)=>{const r=qt(qt(A,e)?.[0],a);if(!V(r)&&!n)return Pe(e,l,s,a,r);const o=t=>{et(e,l,t,qt(s,t)),_e(e,l,t,-1),Lt(s,t)};V(r)?o(a):Nt(s,o),vt(s)&&(Ze(e,l,-1),vt(Lt(t,l))&&(Ye(e,-1),Lt(G,e),Lt(j,e),Lt(W,e)))},Xe=e=>{const t=qt(H,e);if(!V(t))return De(e,t);lt(e,qt(U,e)),tt(e,-1),Lt(U,e)},Ye=(e,t)=>tl(o,e,t),Ze=(e,t,l)=>tl(Mt(x,e,Vt),t,l)&&Lt(v,e,Mt(v,e,(()=>0))+l),_e=(e,t,l,s)=>{const a=qt(W,e),n=qt(a,l)??0;(0==n&&1==s||1==n&&-1==s)&&tl(Mt(u,e,Vt),l,s),Lt(a,l,n!=-s?n+s:null),tl(Mt(Mt(T,e,Vt),t,Vt),l,s)},et=(e,t,l,s,a)=>Mt(Mt(Mt(S,e,Vt),t,Vt),l,(()=>[s,0]))[1]=a,tt=(e,t)=>tl(L,e,t),lt=(e,t,l)=>Mt(M,e,(()=>[t,0]))[1]=l,st=(e,t,l,s,a)=>(Q(Mt(Mt(Mt(E,e,Vt),t,Vt),l,(()=>[])),s),a),at=(e,t,l)=>(Q(Mt(z,e,(()=>[])),t),l),nt=(e,t,l)=>R(qt(qt(qt(S,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...Ut(Dt(e,t,l))])),rt=e=>R(qt(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ut(al(e))])),ot=e=>vt(E)||vt(he[e])?0:Tt(e?Ft(E):E,((t,l)=>Tt(t,((t,s)=>Tt(t,((t,a)=>Ce(he[e],[l,s,a],t))))))),it=e=>vt(z)||vt(me[e])?0:Tt(e?Jt(z):z,((t,l)=>Ce(me[e],[l],t))),dt=(e,t,l)=>{if(!vt(t))return Ce(e,l,(()=>zt(t))),1},ut=e=>{const t=vt(ie[e]),l=vt(ue[e])&&vt(ne[e])&&vt(re[e])&&vt(oe[e])&&t&&vt(se[e]),s=vt(ce[e])&&vt(de[e])&&vt(ae[e])&&vt(X[e]);if(!l||!s){const a=e?[Jt(o),Ot(u),Jt(v),Ot(x),Ft(T),Ft(S)]:[o,u,v,x,T,S];if(!l){dt(se[e],a[0]),Tt(a[1],((t,l)=>dt(ne[e],t,[l]))),Tt(a[2],((t,l)=>{0!=t&&Ce(re[e],[l],xt(l))}));const l=jt();Tt(a[3],((s,a)=>{dt(oe[e],s,[a])&&!t&&(Ce(ie[e],[a,null]),Wt(l,a))})),t||Tt(a[5],((t,s)=>{if(!yt(l,s)){const l=jt();Tt(t,(e=>Tt(e,(([t,s],a)=>s!==t?Wt(l,a):St(e,a))))),Tt(l,(t=>Ce(ie[e],[s,t])))}})),Tt(a[4],((t,l)=>Tt(t,((t,s)=>dt(ue[e],t,[l,s])))))}if(!s){let t;Tt(a[5],((l,s)=>{let a;Tt(l,((l,n)=>{let r;Tt(l,(([l,o],i)=>{o!==l&&(Ce(ce[e],[s,n,i],o,l,nt),t=a=r=1)})),r&&Ce(de[e],[s,n],nt)})),a&&Ce(ae[e],[s],nt)})),t&&Ce(X[e],void 0,nt)}}},ct=e=>{const t=vt(ge[e]),l=vt(Ie[e])&&vt(be[e]);if(!t||!l){const s=e?[Jt(L),Jt(M)]:[L,M];if(t||dt(ge[e],s[0]),!l){let t;Tt(s[1],(([l,s],a)=>{s!==l&&(Ce(Ie[e],[a],s,l,rt),t=1)})),t&&Ce(be[e],void 0,rt)}}},ht=(e,...t)=>(Il((()=>e(...F(t,k)))),wl),mt=()=>[zt(S,((e,t)=>-1===qt(o,t)?null:zt(e,((e,l)=>-1===qt(qt(x,t),l)?null:zt(e,(([,e])=>e??null),((e,t)=>_t(t)))),ee)),ee),zt(M,(([,e])=>e??null),((e,t)=>_t(t)))],bt=()=>({cellsTouched:l,valuesTouched:a,changedCells:At(S,Zt,_t),invalidCells:At(E),changedValues:zt(M,Zt,_t),invalidValues:zt(z),changedTableIds:zt(o),changedRowIds:$t(x),changedCellIds:At(T),changedValueIds:zt(L)}),gt=()=>At(G),It=()=>Rt(G),xt=e=>pt(qt(G,k(e))),Ht=e=>Rt(qt(G,k(e))),Bt=(e,t,l,s=0,a)=>{return F(B((r=qt(G,k(e)),o=(e,l)=>[V(t)?l:qt(e,k(t)),l],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(l?-1:1),F([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),s,V(a)?a:s+a),(([,e])=>e));var n,r,o},Qt=(e,t)=>Rt(qt(qt(G,k(e)),k(t))),Dt=(e,t,l)=>qt(qt(qt(G,k(e)),k(t)),k(l)),Gt=()=>zt(U),sl=()=>Rt(U),al=e=>qt(U,k(e)),nl=e=>ht((()=>(e=>el(e,ke,st))(e)?Je(e):0)),rl=e=>ht((()=>Ve(e)?Qe(e):0)),ol=e=>{try{Ae(le(e))}catch{}return wl},il=t=>ht((()=>{if((e=el(t,(e=>el(e,xe))))&&(ze(t),!vt(G))){const e=gt();ul(),nl(e)}})),dl=e=>ht((()=>{if(t=(e=>el(e,xe))(e)){const l=Gt();gl(),ml(),t=!0,$e(e),rl(l)}})),ul=()=>ht((()=>Je({}))),cl=e=>ht((e=>yt(G,e)?Ge(e):0),e),hl=(e,t)=>ht(((e,t)=>R(qt(G,e),(l=>yt(l,t)?Ke(e,l,t):0))),e,t),ml=()=>ht((()=>Qe({}))),bl=()=>ht((()=>{ze({}),e=!1})),gl=()=>ht((()=>{$e({}),t=!1})),Il=(e,t)=>{if(-1!=n){pl();const l=e();return fl(t),l}},pl=()=>(-1!=n&&n++,1==n&&Ce(pe,void 0,mt,bt),wl),fl=e=>(n>0&&(n--,0==n&&(l=!vt(S),a=!vt(M),n=1,ot(1),l&&ut(1),it(1),a&&ct(1),e?.(mt,bt)&&(Tt(S,((e,t)=>Tt(e,((e,l)=>Tt(e,(([e],s)=>qe(wl,t,l,s,e))))))),Tt(M,(([e],t)=>Ne(wl,t,e))),l=a=!1),Ce(fe[0],void 0,mt,bt),n=-1,ot(0),l&&ut(0),it(0),a&&ct(0),Ce(fe[1],void 0,mt,bt),n=0,l=a=!1,O([o,u,v,x,T,S,E,L,M,z],kt))),wl),wl={getContent:()=>[gt(),Gt()],getTables:gt,getTableIds:It,getTable:e=>$t(qt(G,k(e))),getTableCellIds:e=>Rt(qt(W,k(e))),getRowCount:xt,getRowIds:Ht,getSortedRowIds:Bt,getRow:(e,t)=>zt(qt(qt(G,k(e)),k(t))),getCellIds:Qt,getCell:Dt,getValues:Gt,getValueIds:sl,getValue:al,hasTables:()=>!vt(G),hasTable:e=>yt(G,k(e)),hasTableCell:(e,t)=>yt(qt(W,k(e)),k(t)),hasRow:(e,t)=>yt(qt(G,k(e)),k(t)),hasCell:(e,t,l)=>yt(qt(qt(G,k(e)),k(t)),k(l)),hasValues:()=>!vt(U),hasValue:e=>yt(U,k(e)),getTablesJson:()=>te(G),getValuesJson:()=>te(U),getJson:()=>te([G,U]),getTablesSchemaJson:()=>te($),getValuesSchemaJson:()=>te(J),getSchemaJson:()=>te([$,J]),setContent:([e,t])=>ht((()=>{(ee(e)?ul:nl)(e),(ee(t)?ml:rl)(t)})),setTables:nl,setTable:(e,t)=>ht((e=>ke(t,e)?Oe(e,t):0),e),setRow:(e,t,l)=>ht(((e,t)=>Te(e,t,l)?Fe(e,We(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Il((()=>{let s;return Te(e,s,t)&&(e=k(e),Fe(e,We(e),s=je(e,l?1:0),t)),s})),setPartialRow:(e,t,l)=>ht(((e,t)=>{if(Te(e,t,l,1)){const s=We(e);_(l,((l,a)=>He(e,s,t,a,l)))}}),e,t),setCell:(e,t,l,s)=>ht(((e,t,l)=>R(Se(e,t,l,N(s)?s(Dt(e,t,l)):s),(s=>He(e,We(e),t,l,s)))),e,t,l),setValues:rl,setPartialValues:e=>ht((()=>Ve(e,1)?_(e,((e,t)=>De(t,e))):0)),setValue:(e,t)=>ht((e=>R(Le(e,N(t)?t(al(e)):t),(t=>De(e,t)))),e),setTransactionChanges:e=>ht((()=>{_(e[0],((e,t)=>V(e)?cl(t):_(e,((e,l)=>V(e)?hl(t,l):_(e,((e,s)=>qe(wl,t,l,s,e))))))),_(e[1],((e,t)=>Ne(wl,t,e)))})),setTablesJson:ol,setValuesJson:e=>{try{Be(le(e))}catch{}return wl},setJson:e=>{try{const[t,l]=le(e);Ae(t),Be(l)}catch{ol(e)}return wl},setTablesSchema:il,setValuesSchema:dl,setSchema:(e,t)=>ht((()=>{il(e),dl(t)})),delTables:ul,delTable:cl,delRow:hl,delCell:(e,t,l,s)=>ht(((e,t,l)=>R(qt(G,e),(a=>R(qt(a,t),(n=>yt(n,l)?Ue(e,a,t,n,l,s):0))))),e,t,l),delValues:ml,delValue:e=>ht((e=>yt(U,e)?Xe(e):0),e),delTablesSchema:bl,delValuesSchema:gl,delSchema:()=>ht((()=>{bl(),gl()})),transaction:Il,startTransaction:pl,finishTransaction:fl,forEachTable:e=>Tt(G,((t,l)=>e(l,(e=>Tt(t,((t,l)=>e(l,(e=>Nt(t,e))))))))),forEachTableCell:(e,t)=>Nt(qt(W,k(e)),t),forEachRow:(e,t)=>Tt(qt(G,k(e)),((e,l)=>t(l,(t=>Nt(e,t))))),forEachCell:(e,t,l)=>Nt(qt(qt(G,k(e)),k(t)),l),forEachValue:e=>Nt(U,e),addSortedRowIdsListener:(e,t,l,s,a,n,r)=>{let o=Bt(e,t,l,s,a);return we((()=>{const r=Bt(e,t,l,s,a);var i,d,u;d=o,P(i=r)===P(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,n(wl,e,t,l,s,a,o))}),ie[r?1:0],[e,t],[It])},addStartTransactionListener:e=>we(e,pe),addWillFinishTransactionListener:e=>we(e,fe[0]),addDidFinishTransactionListener:e=>we(e,fe[1]),callListener:e=>(ve(e),wl),delListener:e=>(ye(e),wl),getListenerStats:()=>({tables:Xt(X),tableIds:Xt(se),tableCellIds:Xt(ne),table:Xt(ae),rowCount:Xt(re),rowIds:Xt(oe),sortedRowIds:Xt(ie),row:Xt(de,wt),cellIds:Xt(ue,wt),cell:Xt(ce,Ct),invalidCell:Xt(he,Ct),values:Xt(be),valueIds:Xt(ge),value:Xt(Ie),invalidValue:Xt(me),transaction:ft(pe)+Xt(fe)}),createStore:ll,addListener:we,callListeners:Ce};return _({[h]:[0,X],[m]:[0,se],[c]:[1,ae,[It]],[c+f]:[1,ne,[It]],[g]:[1,re,[It]],[I]:[1,oe,[It]],[b]:[2,de,[It,Ht]],[f]:[2,ue,[It,Ht]],[p]:[3,ce,[It,Ht,Qt],e=>Ut(Dt(...e))],InvalidCell:[3,he],[C]:[0,be],[y]:[0,ge],[w]:[1,Ie,[sl],e=>Ut(al(e[0]))],InvalidValue:[1,me]},(([e,t,l,s],a)=>{wl["add"+a+"Listener"]=(...a)=>we(a[e],t[a[e+1]?1:0],e>0?B(a,0,e):void 0,l,s)})),K(wl)},sl=({position:e="right",open:l=!1})=>{const s=t.useCreateStore(ll),a=ne.indexOf(e);return t.useCreatePersister(s,(e=>{return((e,t,l,s)=>((e,t,l,s,a,n,r=[])=>{let o,i,d,u=0,c=0,h=0,m=0;Mt(Ht,r,(()=>0)),Mt(Bt,r,(()=>[]));const b=async e=>(2!=u&&(u=1,c++,await g.schedule((async()=>{await e(),u=0}))),g),g={load:async(l,s)=>await b((async()=>{try{e.setContent(await t())}catch{e.setContent([l,s])}})),startAutoLoad:async(l={},a={})=>(g.stopAutoLoad(),await g.load(l,a),m=1,d=s((async(l,s)=>{if(s){const t=s();await b((async()=>e.setTransactionChanges(t)))}else await b((async()=>{try{e.setContent(l?.()??await t())}catch(e){n?.(e)}}))})),g),stopAutoLoad:()=>(m&&(a(d),d=void 0,m=0),g),save:async t=>(1!=u&&(u=2,h++,await g.schedule((async()=>{try{await l(e.getContent,t)}catch(e){n?.(e)}u=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[l,s]=t();ee(l)&&ee(s)||g.save((()=>[l,s]))})),g),stopAutoSave:()=>(R(o,e.delListener),g),schedule:async(...e)=>(Q(qt(Bt,r),...e),await(async()=>{if(!qt(Ht,r)){for(Lt(Ht,r,1);!V(i=D(qt(Bt,r)));)try{await i()}catch(e){n?.(e)}Lt(Ht,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return K(g)})(e,(async()=>le(l.getItem(t))),(async e=>l.setItem(t,te(e()))),(e=>{const s=s=>{s.storageArea===l&&s.key===t&&e((()=>le(s.newValue)))};return Dt.addEventListener(Qt,s),s}),(e=>Dt.removeEventListener(Qt,e)),s))(e,se,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!l}),await e.startAutoSave()})),M(E,null,M("aside",{id:se},M(Se,{s:s}),M(gt,{s:s})),M("style",null,Te))};exports.EditableCellView=Ze,exports.EditableValueView=_e,exports.RelationshipInHtmlTable=Xe,exports.ResultSortedTableInHtmlTable=Ye,exports.ResultTableInHtmlTable=({queryId:e,queries:l,customCells:s,...a})=>M(Qe,{...a,params:Oe(Be(t.useResultTableCellIds(e,l),s,t.ResultCellView),Pe(l,e),t.useResultRowIds(e,l))}),exports.SliceInHtmlTable=Ue,exports.SortedTableInHtmlTable=Ge,exports.SortedTablePaginator=et,exports.StoreInspector=e=>M(sl,{...e}),exports.TableInHtmlTable=({tableId:e,store:l,editable:s,customCells:a,...n})=>M(Qe,{...n,params:Oe(Be(t.useTableCellIds(e,l),a,s?Ze:t.CellView),Fe(l,e),t.useRowIds(e,l))}),exports.ValuesInHtmlTable=Ke;
1
+ "use strict";var e=require("react"),t=require("./ui-react");const s=e=>typeof e,l="",a=s(l),n=s(!0),r=s(0),o=s(s),i="type",d="default",u="Ids",c="Table",h=c+"s",m=c+u,b="Row",g=b+"Count",p=b+u,I="Cell",f=I+u,w="Value",C=w+"s",y=w+u,v="currentTarget",k="value",x=e=>l+e,S=Math.floor,T=isFinite,V=(e,t)=>e instanceof t,R=e=>null==e,q=(e,t,s)=>R(e)?s?.():t(e),N=e=>e==a||e==n,L=e=>s(e)==o,M=e=>Array.isArray(e),{PureComponent:E,Fragment:z,createElement:$,useCallback:O,useLayoutEffect:A,useRef:F,useState:J}=e,P=(e,...t)=>R(e)?{}:e(...t),H=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),D=e=>e.length,Q=e=>0==D(e),j=(e,t,s)=>e.slice(t,s),W=(e,...t)=>e.push(...t),G=e=>e.shift(),K=Object,U=K.keys,X=K.isFrozen,Y=K.freeze,Z=e=>V(e,K)&&e.constructor==K,_=(e=[])=>K.fromEntries(e),ee=(e,t)=>!R(((e,t)=>q(e,(e=>e[t])))(e,t)),te=(e,t)=>(delete e[t],e),se=(e,t)=>B(K.entries(e),(([e,s])=>t(s,e))),le=e=>Z(e)&&0==(e=>D(U(e)))(e),ae=e=>JSON.stringify(e,((e,t)=>V(t,Map)?K.fromEntries([...t]):t)),ne=JSON.parse,re="tinybaseStoreInspector",oe="TinyBase Store Inspector",ie=["left","top","bottom","right","full"],de="state",ue="sort",ce="open",he="position",me=ce,be="editable",ge=(...e)=>ae(e),pe=(e,t)=>B(e.sort(),t),Ie=(e,s)=>[!!t.useCell(de,e,be,s),O((t=>{s.setCell(de,e,be,(e=>!e)),t.preventDefault()}),[s,e])],fe="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",we='content:url("',Ce=we+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",ye='</svg>")',ve=we+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",ke=B([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Ce+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+ye)),xe=Ce+"<path d='M20 20l60 60M20 80l60-60' />"+ye,Se=Ce+`<path d='${fe}' />`+ye,Te=Ce+`<path d='${fe}M20 20l60 60' />`+ye,Ve="*::-webkit-scrollbar",Re=((e,t="")=>e.join(t))(se({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Ve]:"width:0.5rem;height:0.5rem;",[Ve+"-track"]:"background:#111",[Ve+"-thumb"]:"background:#999;border:1px solid #111",[Ve+"-thumb:hover"]:"background:#fff",[Ve+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ve,..._(B(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",..._(B(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":ve,"header>img:nth-of-type(6)":xe,..._(B(ke,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Se,"details[open]>summary img.done":Te,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${re} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${re} ${t}{${e}}`:""))),qe=({s:e})=>{const s=t.useValue(he,e)??1,l=t.useSetValueCallback(me,(()=>!0),[],e);return t.useValue(me,e)?null:$("img",{onClick:l,title:oe,"data-position":s})},Ne=({uniqueId:e,summary:s,editable:l,handleEditable:a,children:n,s:r})=>{const o=!!t.useCell(de,e,ce,r),i=t.useSetCellCallback(de,e,ce,(e=>e[v].open),[],r);return $("details",{open:o,onToggle:i},$("summary",null,s,a?$("img",{onClick:a,className:l?"done":"edit"}):null),n)},Le=e=>{const t=s(e);return N(t)||t==r&&T(e)?t:void 0},Me=(e,t,s,l,a)=>R(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),Ee=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),ze=(e,t,s,l)=>e==a?t:e==r?s:l,{useCallback:$e,useMemo:Oe,useState:Ae}=e,Fe="editable",Je=(e,s)=>B(t.useTableCellIds(e,s),(t=>e+"."+t)),Pe=(e,t,s)=>{const l=$e(e,t);return s?l:void 0},He=(...e)=>Oe((()=>e),e),Be=(e,t)=>Oe((()=>({store:e,tableId:t})),[e,t]),De=(e,t)=>Oe((()=>({queries:e,queryId:t})),[e,t]),Qe=(e,t=!1,s,l=0,a,n,r,o)=>{const[[i,d,u],c]=Ae([e,t,l]),h=$e((e=>{c(e),o?.(e)}),[o]),m=Pe((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=$e((e=>h([i,d,e])),[h,i,d]),g=!0===r?lt:r;return[[i,d,u],m,Oe((()=>!1===r?null:$(g,{offset:u,limit:a,total:n,onChange:b})),[r,g,u,a,n,b])]},je=(e,t,l)=>Oe((()=>{const n=t??e;return _(se(M(n)?_(B(n,(e=>[e,e]))):n,((e,t)=>{return[t,{label:t,component:l,...(n=e,s(n)==a?{label:e}:e)}];var n})))}),[t,l,e]),We=({className:e,headerRow:t,idColumn:s,params:[l,a,n,r,o,i]})=>$("table",{className:e},i?$("caption",null,i):null,!1===t?null:$("thead",null,$("tr",null,!1===s?null:$(Ge,{sort:r??[],label:"Id",onClick:o}),se(l,(({label:e},t)=>$(Ge,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),$("tbody",null,B(n,(e=>$("tr",{key:e},!1===s?null:$("th",null,e),se(l,(({component:t,getComponentProps:s},l)=>$("td",{key:l},$(t,{...P(s,e,l),...a,rowId:e,cellId:l}))))))))),Ge=({cellId:e,sort:[t,s],label:a=e??l,onClick:n})=>$("th",{onClick:Pe((()=>n?.(e)),[n,e],n),className:R(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},R(s)||t!=e?null:(s?"↓":"↑")+" ",a),Ke=({localRowId:s,params:[l,a,n,r,o,i,d]})=>{const u=t.useRemoteRowId(o,s,i);return $("tr",null,!1===l?null:$(e.Fragment,null,$("th",null,s),$("th",null,u)),se(a,(({component:e,getComponentProps:t},l)=>{const[a,o]=l.split(".",2),i=a===n?s:a===r?u:null;return R(i)?null:$("td",{key:l},$(e,{...P(t,i,o),store:d,tableId:a,rowId:i,cellId:o}))})))},Ue=({thing:e,onThingChange:t,className:s,hasSchema:l})=>{const[o,i]=Ae(),[d,u]=Ae(),[c,h]=Ae(),[m,b]=Ae(),[g,p]=Ae();d!==e&&(i(Le(e)),u(e),h(e+""),b(Number(e)||0),p(!!e));const I=$e(((e,s)=>{s(e),u(e),t(e)}),[t]);return $("div",{className:s},$("button",{className:o,onClick:$e((()=>{if(!l?.()){const e=ze(o,r,n,a),s=ze(e,c,m,g);i(e),u(s),t(s)}}),[l,t,c,m,g,o])},o),ze(o,$("input",{key:o,value:c,onChange:$e((e=>I(e[v][k]+"",h)),[I])}),$("input",{key:o,type:"number",value:m,onChange:$e((e=>I(Number(e[v][k]||0),b)),[I])}),$("input",{key:o,type:"checkbox",checked:g,onChange:$e((e=>I(!!e[v].checked,p)),[I])})))},Xe=({tableId:e,cellId:s,descending:l,offset:a,limit:n,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=Qe(s,l,i,a,n,t.useRowCount(e,r),d,u);return $(We,{...h,params:He(je(t.useTableCellIds(e,r),c,o?tt:t.CellView),Be(r,e),t.useSortedRowIds(e,...m,n,r),m,b,g)})},Ye=({store:e,editable:s=!1,valueComponent:l=(s?st:t.ValueView),getValueComponentProps:a,className:n,headerRow:r,idColumn:o})=>$("table",{className:n},!1===r?null:$("thead",null,$("tr",null,!1===o?null:$("th",null,"Id"),$("th",null,w))),$("tbody",null,B(t.useValueIds(e),(t=>$("tr",{key:t},!1===o?null:$("th",null,t),$("td",null,$(l,{...P(a,t),valueId:t,store:e}))))))),Ze=({indexId:e,sliceId:s,indexes:l,editable:a,customCells:n,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(l),e);return $(We,{...r,params:He(je(t.useTableCellIds(d,i),n,a?tt:t.CellView),Be(i,d),t.useSliceRowIds(e,s,o))})},_e=({relationshipId:s,relationships:l,editable:a,customCells:n,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(l),s),m=je([...Je(c,u),...Je(h,u)],n,a?tt:t.CellView),b=He(i,m,c,h,s,d,u);return $("table",{className:r},!1===o?null:$("thead",null,$("tr",null,!1===i?null:$(e.Fragment,null,$("th",null,c,".Id"),$("th",null,h,".Id")),se(m,(({label:e},t)=>$("th",{key:t},e))))),$("tbody",null,B(t.useRowIds(c,u),(e=>$(Ke,{key:e,localRowId:e,params:b})))))},et=({queryId:e,cellId:s,descending:l,offset:a,limit:n,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=Qe(s,l,o,a,n,t.useResultRowCount(e,r),i,u);return $(We,{...c,params:He(je(t.useResultTableCellIds(e,r),d,t.ResultCellView),De(r,e),t.useResultSortedRowIds(e,...h,n,r),h,m,b)})},tt=({tableId:e,rowId:s,cellId:l,store:a,className:n})=>$(Ue,{thing:t.useCell(e,s,l,a),onThingChange:t.useSetCellCallback(e,s,l,(e=>e),[],a),className:n??Fe+I,hasSchema:t.useStoreOrStoreById(a)?.hasTablesSchema}),st=({valueId:e,store:s,className:l})=>$(Ue,{thing:t.useValue(e,s),onThingChange:t.useSetValueCallback(e,(e=>e),[],s),className:l??Fe+w,hasSchema:t.useStoreOrStoreById(s)?.hasValuesSchema}),lt=({onChange:t,total:s,offset:l=0,limit:a=s,singular:n="row",plural:r=n+"s"})=>{(l>s||l<0)&&(l=0,t(0));const o=Pe((()=>t(l-a)),[t,l,a],l>0),i=Pe((()=>t(l+a)),[t,l,a],l+a<s);return $(e.Fragment,null,s>a&&$(e.Fragment,null,$("button",{className:"previous",disabled:0==l,onClick:o},"←"),$("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?r:n)},at=({indexes:e,indexesId:s,indexId:l,s:a})=>$(Ne,{uniqueId:ge("i",s,l),summary:"Index: "+l,s:a},B(t.useSliceIds(l,e),(t=>$(nt,{indexes:e,indexesId:s,indexId:l,sliceId:t,s:a})))),nt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=ge("i",t,s,l),[r,o]=Ie(n,a);return $(Ne,{uniqueId:n,summary:"Slice: "+l,editable:r,handleEditable:o,s:a},$(Ze,{sliceId:l,indexId:s,indexes:e,editable:r}))},rt=({indexesId:e,s:s})=>{const l=t.useIndexes(e),a=t.useIndexIds(l);return R(l)?null:$(Ne,{uniqueId:ge("i",e),summary:"Indexes: "+(e??d),s:s},Q(a)?"No indexes defined":pe(a,(t=>$(at,{indexes:l,indexesId:e,indexId:t,s:s}))))},ot=({metrics:e,metricId:s})=>$("tr",null,$("th",null,s),$("td",null,e?.getTableId(s)),$("td",null,t.useMetric(s,e))),it=({metricsId:e,s:s})=>{const l=t.useMetrics(e),a=t.useMetricIds(l);return R(l)?null:$(Ne,{uniqueId:ge("m",e),summary:"Metrics: "+(e??d),s:s},Q(a)?"No metrics defined":$("table",null,$("thead",null,$("th",null,"Metric Id"),$("th",null,"Table Id"),$("th",null,"Metric")),$("tbody",null,B(a,(e=>$(ot,{metrics:l,metricId:e}))))))},dt=({queries:e,queriesId:s,queryId:l,s:a})=>{const n=ge("q",s,l),[r,o,i]=ne(t.useCell(de,n,ue,a)??"[]"),d=t.useSetCellCallback(de,n,ue,ae,[],a);return $(Ne,{uniqueId:n,summary:"Query: "+l,s:a},$(et,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ut=({queriesId:e,s:s})=>{const l=t.useQueries(e),a=t.useQueryIds(l);return R(l)?null:$(Ne,{uniqueId:ge("q",e),summary:"Queries: "+(e??d),s:s},Q(a)?"No queries defined":pe(a,(t=>$(dt,{queries:l,queriesId:e,queryId:t,s:s}))))},ct=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=ge("r",t,s),[n,r]=Ie(a,l);return $(Ne,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:r,s:l},$(_e,{relationshipId:s,relationships:e,editable:n}))},ht=({relationshipsId:e,s:s})=>{const l=t.useRelationships(e),a=t.useRelationshipIds(l);return R(l)?null:$(Ne,{uniqueId:ge("r",e),summary:"Relationships: "+(e??d),s:s},Q(a)?"No relationships defined":pe(a,(t=>$(ct,{relationships:l,relationshipsId:e,relationshipId:t,s:s}))))},mt=({tableId:e,store:s,storeId:l,s:a})=>{const n=ge("t",l,e),[r,o,i]=ne(t.useCell(de,n,ue,a)??"[]"),d=t.useSetCellCallback(de,n,ue,ae,[],a),[u,h]=Ie(n,a);return $(Ne,{uniqueId:n,summary:c+": "+e,editable:u,handleEditable:h,s:a},$(Xe,{tableId:e,store:s,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},bt=({store:e,storeId:s,s:l})=>{const a=ge("v",s),[n,r]=Ie(a,l);return Q(t.useValueIds(e))?null:$(Ne,{uniqueId:a,summary:C,editable:n,handleEditable:r,s:l},$(Ye,{store:e,editable:n}))},gt=({storeId:e,s:s})=>{const l=t.useStore(e),a=t.useTableIds(l);return R(l)?null:$(Ne,{uniqueId:ge("s",e),summary:"Store: "+(e??d),s:s},$(bt,{storeId:e,store:l,s:s}),pe(a,(t=>$(mt,{store:l,storeId:e,tableId:t,s:s}))))},pt=({s:e})=>{const s=F(null),l=F(0),[a,n]=J(!1),{scrollLeft:r,scrollTop:o}=t.useValues(e);A((()=>{const e=s.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=S(r)+e.clientWidth&&e.scrollHeight>=S(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,r,o]);const i=O((t=>{const{scrollLeft:s,scrollTop:a}=t[v];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=t.useStore(),u=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),b=t.useIndexesIds(),g=t.useRelationships(),p=t.useRelationshipsIds(),I=t.useQueries(),f=t.useQueriesIds();return R(d)&&Q(u)&&R(c)&&Q(h)&&R(m)&&Q(b)&&R(g)&&Q(p)&&R(I)&&Q(f)?$("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):$("article",{ref:s,onScroll:i},$(gt,{s:e}),B(u,(t=>$(gt,{storeId:t,key:t,s:e}))),$(it,{s:e}),B(h,(t=>$(it,{metricsId:t,key:t,s:e}))),$(rt,{s:e}),B(b,(t=>$(rt,{indexesId:t,key:t,s:e}))),$(ht,{s:e}),B(p,(t=>$(ht,{relationshipsId:t,key:t,s:e}))),$(ut,{s:e}),B(f,(t=>$(ut,{queriesId:t,key:t,s:e}))))};class It extends E{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError=()=>({e:1});componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?$("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const ft=({s:e})=>{const s=t.useValue(he,e)??1,l=t.useSetValueCallback(me,(()=>!1),[],e),a=t.useSetValueCallback(he,(e=>Number(e[v].dataset.id)),[],e);return $("header",null,$("img",{title:oe}),$("span",null,oe),B(ie,((e,t)=>t==s?null:$("img",{onClick:a,"data-id":t,title:"Dock to "+e,key:t}))),$("img",{onClick:l,title:"Close"}))},wt=({s:e})=>{const s=t.useValue(he,e)??1;return t.useValue(me,e)?$("main",{"data-position":s},$(ft,{s:e}),$(It,null,$(pt,{s:e}))):null},Ct=e=>t=>{return s=(t,s)=>t+e(s),Vt(t).reduce(s,0);var s},yt=e=>e?.size??0,vt=Ct(yt),kt=Ct(vt),xt=Ct(kt),St=(e,t)=>e?.has(t)??!1,Tt=e=>R(e)||0==yt(e),Vt=e=>[...e?.values()??[]],Rt=e=>e.clear(),qt=(e,t)=>e?.forEach(t),Nt=(e,t)=>e?.delete(t),Lt=e=>new Map(e),Mt=e=>[...e?.keys()??[]],Et=(e,t)=>e?.get(t),zt=(e,t)=>qt(e,((e,s)=>t(s,e))),$t=(e,t,s)=>R(s)?(Nt(e,t),e):e?.set(t,s),Ot=(e,t,s)=>(St(e,t)||$t(e,t,s()),Et(e,t)),At=(e,t,s,l=$t)=>(se(t,((t,l)=>s(e,l,t))),zt(e,(s=>ee(t,s)?0:l(e,s))),e),Ft=(e,t,s)=>{const l={};return qt(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Jt=(e,t,s)=>Ft(e,(e=>Ft(e,t,s)),le),Pt=(e,t,s)=>Ft(e,(e=>Jt(e,t,s)),le),Ht=(e,t)=>{const s=Lt();return qt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Bt=e=>Ht(e,Ht),Dt=e=>Ht(e,Bt),Qt=(e,t,s,l,a=0)=>q((s?Ot:Et)(e,t[a],a>D(t)-2?s:Lt),(n=>{if(a>D(t)-2)return l?.(n)&&$t(e,t[a]),n;const r=Qt(n,t,s,l,a+1);return Tt(n)&&$t(e,t[a]),r})),jt=Lt(),Wt=Lt(),Gt="storage",Kt=globalThis.window,Ut=e=>new Set(M(e)||R(e)?e:[e]),Xt=(e,t)=>e?.add(t),Yt=/^\d+$/,Zt=()=>{const e=[];let t=0;return[s=>(s?G(e):null)??l+t++,t=>{Yt.test(t)&&D(e)<1e3&&W(e,t)}]},_t=e=>[e,e],es=(e,t=vt)=>t(e[0])+t(e[1]),ts=()=>[Lt(),Lt()],ss=e=>[...e],ls=([e,t])=>e===t,as=(e,t,s)=>R(e)||!Z(e)||le(e)||X(e)?(s?.(),!1):(se(e,((s,l)=>{t(s,l)||te(e,l)})),!le(e)),ns=(e,t,s)=>$t(e,t,Et(e,t)==-s?void 0:s),rs=()=>{let e,t,s=!1,a=!1,n=0;const o=Lt(),u=Lt(),v=Lt(),k=Lt(),S=Lt(),T=Lt(),V=Lt(),M=Lt(),E=Lt(),z=Lt(),$=Lt(),O=Lt(),A=Lt(),F=Lt(),J=Ut(),P=Lt(),Q=Lt(),G=Lt(),K=Lt(),U=ts(),X=ts(),Z=ts(),_=ts(),re=ts(),oe=ts(),ie=ts(),de=ts(),ue=ts(),ce=ts(),he=ts(),me=ts(),be=ts(),ge=ts(),pe=ts(),Ie=Lt(),fe=ts(),[we,Ce,ye,ve]=(e=>{let t;const[s,a]=Zt(),n=Lt();return[(e,a,r,o=[],i=(()=>[]))=>{t??=ws;const d=s(1);return $t(n,d,[e,a,r,o,i]),Xt(Qt(a,r??[l],Ut),d),d},(e,s,...a)=>H(((e,t=[l])=>{const s=[],a=(e,l)=>l==D(t)?W(s,e):null===t[l]?qt(e,(e=>a(e,l+1))):H([t[l],null],(t=>a(Et(e,t),l+1)));return a(e,0),s})(e,s),(e=>qt(e,(e=>Et(n,e)[0](t,...s??[],...a))))),e=>q(Et(n,e),(([,t,s])=>(Qt(t,s??[l],void 0,(t=>(Nt(t,e),Tt(t)?1:0))),$t(n,e),a(e),s))),e=>q(Et(n,e),(([e,,s=[],l,a])=>{const n=(...r)=>{const o=D(r);o==D(s)?e(t,...r,...a(r)):R(s[o])?H(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ke=e=>{if(!as(e,((e,t)=>[i,d].includes(t))))return!1;const t=e[i];return!(!N(t)&&t!=r||(Le(e[d])!=t&&te(e,d),0))},xe=(t,s)=>(!e||St($,s)||lt(s))&&as(t,((e,t)=>Se(s,t,e)),(()=>lt(s))),Se=(e,t,s,l)=>as(l?s:qe(s,e,t),((l,a)=>q(Te(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>lt(e,t))),Te=(t,s,l,a)=>e?q(Et(Et($,t),l),(e=>Le(a)!=e[i]?lt(t,s,l,a,e[d]):a),(()=>lt(t,s,l,a))):R(Le(a))?lt(t,s,l,a):a,Ve=(e,t)=>as(t?e:Ne(e),((t,s)=>q(Re(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>at())),Re=(e,s)=>t?q(Et(A,e),(t=>Le(s)!=t[i]?at(e,s,t[d]):s),(()=>at(e,s))):R(Le(s))?at(e,s):s,qe=(e,t,s)=>(q(Et(O,t),(([l,a])=>{qt(l,((t,s)=>{ee(e,s)||(e[s]=t)})),qt(a,(l=>{ee(e,l)||lt(t,s,l)}))})),e),Ne=e=>(t&&(qt(F,((t,s)=>{ee(e,s)||(e[s]=t)})),qt(J,(t=>{ee(e,t)||at(t)}))),e),ze=e=>At($,e,((e,t,s)=>{const l=Lt(),a=Ut();At(Ot($,t,Lt),s,((e,t,s)=>{$t(e,t,s),q(s[d],(e=>$t(l,t,e)),(()=>Xt(a,t)))})),$t(O,t,[l,a])}),((e,t)=>{$t($,t),$t(O,t)})),$e=e=>At(A,e,((e,t,s)=>{$t(A,t,s),q(s[d],(e=>$t(F,t,e)),(()=>Xt(J,t)))}),((e,t)=>{$t(A,t),$t(F,t),Nt(J,t)})),Oe=e=>le(e)?us():Kt(e),Ae=e=>At(G,e,((e,t,s)=>Fe(t,s)),((e,t)=>Ge(t))),Fe=(e,t)=>At(Ot(G,e,(()=>(Ye(e,1),$t(P,e,Zt()),$t(Q,e,Lt()),Lt()))),t,((t,s,l)=>Je(e,t,s,l)),((t,s)=>Ke(e,t,s))),Je=(e,t,s,l,a)=>At(Ot(t,s,(()=>(Ze(e,s,1),Lt()))),l,((t,l,a)=>Pe(e,s,t,l,a)),((l,n)=>Ue(e,t,s,l,n,a))),Pe=(e,t,s,l,a)=>{St(s,l)||_e(e,t,l,1);const n=Et(s,l);a!==n&&(et(e,t,l,n,a),$t(s,l,a))},He=(e,t,s,l,a)=>q(Et(t,s),(t=>Pe(e,s,t,l,a)),(()=>Je(e,t,s,qe({[l]:a},e,s)))),Be=e=>le(e)?ms():Yt(e),De=e=>At(K,e,((e,t,s)=>Qe(t,s)),((e,t)=>Xe(t))),Qe=(e,t)=>{St(K,e)||tt(e,1);const s=Et(K,e);t!==s&&(st(e,s,t),$t(K,e,t))},je=(e,t)=>{const[s]=Et(P,e),l=s(t);return St(Et(G,e),l)?je(e,t):l},We=e=>Et(G,e)??Fe(e,{}),Ge=e=>Fe(e,{}),Ke=(e,t,s)=>{const[,l]=Et(P,e);l(s),Je(e,t,s,{},!0)},Ue=(e,t,s,l,a,n)=>{const r=Et(Et(O,e)?.[0],a);if(!R(r)&&!n)return Pe(e,s,l,a,r);const o=t=>{et(e,s,t,Et(l,t)),_e(e,s,t,-1),$t(l,t)};R(r)?o(a):zt(l,o),Tt(l)&&(Ze(e,s,-1),Tt($t(t,s))&&(Ye(e,-1),$t(G,e),$t(P,e),$t(Q,e)))},Xe=e=>{const t=Et(F,e);if(!R(t))return Qe(e,t);st(e,Et(K,e)),tt(e,-1),$t(K,e)},Ye=(e,t)=>ns(o,e,t),Ze=(e,t,s)=>ns(Ot(k,e,Lt),t,s)&&$t(v,e,Ot(v,e,(()=>0))+s),_e=(e,t,s,l)=>{const a=Et(Q,e),n=Et(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&ns(Ot(u,e,Lt),s,l),$t(a,s,n!=-l?n+l:null),ns(Ot(Ot(S,e,Lt),t,Lt),s,l)},et=(e,t,s,l,a)=>Ot(Ot(Ot(T,e,Lt),t,Lt),s,(()=>[l,0]))[1]=a,tt=(e,t)=>ns(V,e,t),st=(e,t,s)=>Ot(M,e,(()=>[t,0]))[1]=s,lt=(e,t,s,l,a)=>(W(Ot(Ot(Ot(E,e,Lt),t,Lt),s,(()=>[])),l),a),at=(e,t,s)=>(W(Ot(z,e,(()=>[])),t),s),nt=(e,t,s)=>q(Et(Et(Et(T,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,..._t(Vt(e,t,s))])),rt=e=>q(Et(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,..._t(Gt(e))])),ot=e=>Tt(E)||Tt(he[e])?0:qt(e?Dt(E):E,((t,s)=>qt(t,((t,l)=>qt(t,((t,a)=>Ce(he[e],[s,l,a],t))))))),it=e=>Tt(z)||Tt(me[e])?0:qt(e?Ht(z):z,((t,s)=>Ce(me[e],[s],t))),dt=(e,t,s)=>{if(!Tt(t))return Ce(e,s,(()=>Ft(t))),1},ut=e=>{const t=Tt(ie[e]),s=Tt(ue[e])&&Tt(_[e])&&Tt(re[e])&&Tt(oe[e])&&t&&Tt(X[e]),l=Tt(ce[e])&&Tt(de[e])&&Tt(Z[e])&&Tt(U[e]);if(!s||!l){const a=e?[Ht(o),Bt(u),Ht(v),Bt(k),Dt(S),Dt(T)]:[o,u,v,k,S,T];if(!s){dt(X[e],a[0]),qt(a[1],((t,s)=>dt(_[e],t,[s]))),qt(a[2],((t,s)=>{0!=t&&Ce(re[e],[s],It(s))}));const s=Ut();qt(a[3],((l,a)=>{dt(oe[e],l,[a])&&!t&&(Ce(ie[e],[a,null]),Xt(s,a))})),t||qt(a[5],((t,l)=>{if(!St(s,l)){const s=Ut();qt(t,(e=>qt(e,(([t,l],a)=>l!==t?Xt(s,a):Nt(e,a))))),qt(s,(t=>Ce(ie[e],[l,t])))}})),qt(a[4],((t,s)=>qt(t,((t,l)=>dt(ue[e],t,[s,l])))))}if(!l){let t;qt(a[5],((s,l)=>{let a;qt(s,((s,n)=>{let r;qt(s,(([s,o],i)=>{o!==s&&(Ce(ce[e],[l,n,i],o,s,nt),t=a=r=1)})),r&&Ce(de[e],[l,n],nt)})),a&&Ce(Z[e],[l],nt)})),t&&Ce(U[e],void 0,nt)}}},ct=e=>{const t=Tt(ge[e]),s=Tt(pe[e])&&Tt(be[e]);if(!t||!s){const l=e?[Ht(V),Ht(M)]:[V,M];if(t||dt(ge[e],l[0]),!s){let t;qt(l[1],(([s,l],a)=>{l!==s&&(Ce(pe[e],[a],l,s,rt),t=1)})),t&&Ce(be[e],void 0,rt)}}},ht=(e,...t)=>(ps((()=>e(...B(t,x)))),ws),mt=()=>[Ft(T,((e,t)=>-1===Et(o,t)?null:Ft(e,((e,s)=>-1===Et(Et(k,t),s)?null:Ft(e,(([,e])=>e??null),((e,t)=>ls(t)))),le)),le),Ft(M,(([,e])=>e??null),((e,t)=>ls(t)))],bt=()=>({cellsTouched:s,valuesTouched:a,changedCells:Pt(T,ss,ls),invalidCells:Pt(E),changedValues:Ft(M,ss,ls),invalidValues:Ft(z),changedTableIds:Ft(o),changedRowIds:Jt(k),changedCellIds:Pt(S),changedValueIds:Ft(V)}),gt=()=>Pt(G),pt=()=>Mt(G),It=e=>yt(Et(G,x(e))),ft=e=>Mt(Et(G,x(e))),wt=(e,t,s,l=0,a)=>{return B(j((r=Et(G,x(e)),o=(e,s)=>[R(t)?s:Et(e,x(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,R(a)?a:l+a),(([,e])=>e));var n,r,o},Ct=(e,t)=>Mt(Et(Et(G,x(e)),x(t))),Vt=(e,t,s)=>Et(Et(Et(G,x(e)),x(t)),x(s)),jt=()=>Ft(K),Wt=()=>Mt(K),Gt=e=>Et(K,x(e)),Kt=e=>ht((()=>(e=>as(e,xe,lt))(e)?Ae(e):0)),Yt=e=>ht((()=>Ve(e)?De(e):0)),os=e=>{try{Oe(ne(e))}catch{}return ws},is=t=>ht((()=>{if((e=as(t,(e=>as(e,ke))))&&(ze(t),!Tt(G))){const e=gt();us(),Kt(e)}})),ds=e=>ht((()=>{if(t=(e=>as(e,ke))(e)){const s=jt();gs(),ms(),t=!0,$e(e),Yt(s)}})),us=()=>ht((()=>Ae({}))),cs=e=>ht((e=>St(G,e)?Ge(e):0),e),hs=(e,t)=>ht(((e,t)=>q(Et(G,e),(s=>St(s,t)?Ke(e,s,t):0))),e,t),ms=()=>ht((()=>De({}))),bs=()=>ht((()=>{ze({}),e=!1})),gs=()=>ht((()=>{$e({}),t=!1})),ps=(e,t)=>{if(-1!=n){Is();const s=e();return fs(t),s}},Is=()=>(-1!=n&&n++,1==n&&Ce(Ie,void 0,mt,bt),ws),fs=e=>(n>0&&(n--,0==n&&(s=!Tt(T),a=!Tt(M),n=1,ot(1),s&&ut(1),it(1),a&&ct(1),e?.(mt,bt)&&(qt(T,((e,t)=>qt(e,((e,s)=>qt(e,(([e],l)=>Me(ws,t,s,l,e))))))),qt(M,(([e],t)=>Ee(ws,t,e))),s=a=!1),Ce(fe[0],void 0,mt,bt),n=-1,ot(0),s&&ut(0),it(0),a&&ct(0),Ce(fe[1],void 0,mt,bt),n=0,s=a=!1,H([o,u,v,k,S,T,E,V,M,z],Rt))),ws),ws={getContent:()=>[gt(),jt()],getTables:gt,getTableIds:pt,getTable:e=>Jt(Et(G,x(e))),getTableCellIds:e=>Mt(Et(Q,x(e))),getRowCount:It,getRowIds:ft,getSortedRowIds:wt,getRow:(e,t)=>Ft(Et(Et(G,x(e)),x(t))),getCellIds:Ct,getCell:Vt,getValues:jt,getValueIds:Wt,getValue:Gt,hasTables:()=>!Tt(G),hasTable:e=>St(G,x(e)),hasTableCell:(e,t)=>St(Et(Q,x(e)),x(t)),hasRow:(e,t)=>St(Et(G,x(e)),x(t)),hasCell:(e,t,s)=>St(Et(Et(G,x(e)),x(t)),x(s)),hasValues:()=>!Tt(K),hasValue:e=>St(K,x(e)),getTablesJson:()=>ae(G),getValuesJson:()=>ae(K),getJson:()=>ae([G,K]),getTablesSchemaJson:()=>ae($),getValuesSchemaJson:()=>ae(A),getSchemaJson:()=>ae([$,A]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ht((()=>{(le(e)?us:Kt)(e),(le(t)?ms:Yt)(t)})),setTables:Kt,setTable:(e,t)=>ht((e=>xe(t,e)?Fe(e,t):0),e),setRow:(e,t,s)=>ht(((e,t)=>Se(e,t,s)?Je(e,We(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ps((()=>{let l;return Se(e,l,t)&&(e=x(e),Je(e,We(e),l=je(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ht(((e,t)=>{if(Se(e,t,s,1)){const l=We(e);se(s,((s,a)=>He(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ht(((e,t,s)=>q(Te(e,t,s,L(l)?l(Vt(e,t,s)):l),(l=>He(e,We(e),t,s,l)))),e,t,s),setValues:Yt,setPartialValues:e=>ht((()=>Ve(e,1)?se(e,((e,t)=>Qe(t,e))):0)),setValue:(e,t)=>ht((e=>q(Re(e,L(t)?t(Gt(e)):t),(t=>Qe(e,t)))),e),setTransactionChanges:e=>ht((()=>{se(e[0],((e,t)=>R(e)?cs(t):se(e,((e,s)=>R(e)?hs(t,s):se(e,((e,l)=>Me(ws,t,s,l,e))))))),se(e[1],((e,t)=>Ee(ws,t,e)))})),setTablesJson:os,setValuesJson:e=>{try{Be(ne(e))}catch{}return ws},setJson:e=>{try{const[t,s]=ne(e);Oe(t),Be(s)}catch{os(e)}return ws},setTablesSchema:is,setValuesSchema:ds,setSchema:(e,t)=>ht((()=>{is(e),ds(t)})),delTables:us,delTable:cs,delRow:hs,delCell:(e,t,s,l)=>ht(((e,t,s)=>q(Et(G,e),(a=>q(Et(a,t),(n=>St(n,s)?Ue(e,a,t,n,s,l):0))))),e,t,s),delValues:ms,delValue:e=>ht((e=>St(K,e)?Xe(e):0),e),delTablesSchema:bs,delValuesSchema:gs,delSchema:()=>ht((()=>{bs(),gs()})),transaction:ps,startTransaction:Is,finishTransaction:fs,forEachTable:e=>qt(G,((t,s)=>e(s,(e=>qt(t,((t,s)=>e(s,(e=>zt(t,e))))))))),forEachTableCell:(e,t)=>zt(Et(Q,x(e)),t),forEachRow:(e,t)=>qt(Et(G,x(e)),((e,s)=>t(s,(t=>zt(e,t))))),forEachCell:(e,t,s)=>zt(Et(Et(G,x(e)),x(t)),s),forEachValue:e=>zt(K,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=wt(e,t,s,l,a);return we((()=>{const r=wt(e,t,s,l,a);var i,d,u;d=o,D(i=r)===D(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,n(ws,e,t,s,l,a,o))}),ie[r?1:0],[e,t],[pt])},addStartTransactionListener:e=>we(e,Ie),addWillFinishTransactionListener:e=>we(e,fe[0]),addDidFinishTransactionListener:e=>we(e,fe[1]),callListener:e=>(ve(e),ws),delListener:e=>(ye(e),ws),getListenerStats:()=>({tables:es(U),tableIds:es(X),tableCellIds:es(_),table:es(Z),rowCount:es(re),rowIds:es(oe),sortedRowIds:es(ie),row:es(de,kt),cellIds:es(ue,kt),cell:es(ce,xt),invalidCell:es(he,xt),values:es(be),valueIds:es(ge),value:es(pe),invalidValue:es(me),transaction:vt(Ie)+es(fe)}),createStore:rs,addListener:we,callListeners:Ce};return se({[h]:[0,U],[m]:[0,X],[c]:[1,Z,[pt]],[c+f]:[1,_,[pt]],[g]:[1,re,[pt]],[p]:[1,oe,[pt]],[b]:[2,de,[pt,ft]],[f]:[2,ue,[pt,ft]],[I]:[3,ce,[pt,ft,Ct],e=>_t(Vt(...e))],InvalidCell:[3,he],[C]:[0,be],[y]:[0,ge],[w]:[1,pe,[Wt],e=>_t(Gt(e[0]))],InvalidValue:[1,me]},(([e,t,s,l],a)=>{ws["add"+a+"Listener"]=(...a)=>we(a[e],t[a[e+1]?1:0],e>0?j(a,0,e):void 0,s,l)})),Y(ws)},os=({position:e="right",open:s=!1})=>{const l=t.useCreateStore(rs),a=ie.indexOf(e);return t.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,r=[])=>{let o,i,d,u=0,c=0,h=0,m=0;Ot(jt,r,(()=>0)),Ot(Wt,r,(()=>[]));const b=async e=>(2!=u&&(u=1,c++,await g.schedule((async()=>{await e(),u=0}))),g),g={load:async(s,l)=>await b((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),m=1,d=l((async(s,l)=>{if(l){const t=l();await b((async()=>e.setTransactionChanges(t)))}else await b((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),g),stopAutoLoad:()=>(m&&(a(d),d=void 0,m=0),g),save:async t=>(1!=u&&(u=2,h++,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}u=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();le(s)&&le(l)||g.save((()=>[s,l]))})),g),stopAutoSave:()=>(q(o,e.delListener),g),schedule:async(...e)=>(W(Et(Wt,r),...e),await(async()=>{if(!Et(jt,r)){for($t(jt,r,1);!R(i=G(Et(Wt,r)));)try{await i()}catch(e){n?.(e)}$t(jt,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return Y(g)})(e,(async()=>ne(s.getItem(t))),(async e=>s.setItem(t,ae(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>ne(l.newValue)))};return Kt.addEventListener(Gt,l),l}),(e=>Kt.removeEventListener(Gt,e)),l))(e,re,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!s}),await e.startAutoSave()})),$(z,null,$("aside",{id:re},$(qe,{s:l}),$(wt,{s:l})),$("style",null,Re))};exports.EditableCellView=tt,exports.EditableValueView=st,exports.RelationshipInHtmlTable=_e,exports.ResultSortedTableInHtmlTable=et,exports.ResultTableInHtmlTable=({queryId:e,queries:s,customCells:l,...a})=>$(We,{...a,params:He(je(t.useResultTableCellIds(e,s),l,t.ResultCellView),De(s,e),t.useResultRowIds(e,s))}),exports.SliceInHtmlTable=Ze,exports.SortedTableInHtmlTable=Xe,exports.SortedTablePaginator=lt,exports.StoreInspector=e=>$(os,{...e}),exports.TableInHtmlTable=({tableId:e,store:s,editable:l,customCells:a,...n})=>$(We,{...n,params:He(je(t.useTableCellIds(e,s),a,l?tt:t.CellView),Be(s,e),t.useRowIds(e,s))}),exports.ValuesInHtmlTable=Ye;
Binary file
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("./ui-react");const l=e=>typeof e,a=l(""),n=l(!0),o=l(0),r="Value",s="currentTarget",i="value",d=isFinite,u=e=>null==e,{createElement:m,Fragment:c,useCallback:h,useRef:b,useState:g}=e,p=(e,...t)=>u(e)?{}:e(...t),w=(e,t)=>e.map(t),f=Object,I=(e=[])=>f.fromEntries(e),C=(e,t)=>w(f.entries(e),(([e,l])=>t(l,e))),x="tinybaseStoreInspector",k="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",v='content:url("',y=v+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",R='</svg>")',T=v+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",N=w([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>y+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+R)),V=y+"<path d='M20 20l60 60M20 80l60-60' />"+R,z=y+`<path d='${k}' />`+R,S=y+`<path d='${k}M20 20l60 60' />`+R,$="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(C({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[$]:"width:0.5rem;height:0.5rem;",[$+"-track"]:"background:#111",[$+"-thumb"]:"background:#999;border:1px solid #111",[$+"-thumb:hover"]:"background:#fff",[$+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+T,...I(w(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...I(w(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":T,"header>img:nth-of-type(6)":V,...I(w(N,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":z,"details[open]>summary img.done":S,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${x} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left"},((e,t)=>e?`#${x} ${t}{${e}}`:"")));const M=(e,t,l,n)=>e==a?t:e==o?l:n,{useCallback:q,useMemo:H,useState:F}=e,O="editable",B=(e,l)=>w(t.useTableCellIds(e,l),(t=>e+"."+t)),E=(e,t,l)=>{const a=q(e,t);return l?a:void 0},P=(...e)=>H((()=>e),e),j=(e,t)=>H((()=>({store:e,tableId:t})),[e,t]),A=(e,t)=>H((()=>({queries:e,queryId:t})),[e,t]),L=(e,t=!1,l,a=0,n,o,r,s)=>{const[[i,d,u],c]=F([e,t,a]),h=q((e=>{c(e),s?.(e)}),[s]),b=E((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),g=q((e=>h([i,d,e])),[h,i,d]),p=!0===r?X:r;return[[i,d,u],b,H((()=>!1===r?null:m(p,{offset:u,limit:n,total:o,onChange:g})),[r,p,u,n,o,g])]},D=(e,t,n)=>H((()=>{const o=t??e;return I(C(Array.isArray(o)?I(w(o,(e=>[e,e]))):o,((e,t)=>{return[t,{label:t,component:n,...(o=e,l(o)==a?{label:e}:e)}];var o})))}),[t,n,e]),G=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,s,i]})=>m("table",{className:e},i?m("caption",null,i):null,!1===t?null:m("thead",null,m("tr",null,!1===l?null:m(J,{sort:r??[],label:"Id",onClick:s}),C(a,(({label:e},t)=>m(J,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),m("tbody",null,w(o,(e=>m("tr",{key:e},!1===l?null:m("th",null,e),C(a,(({component:t,getComponentProps:l},a)=>m("td",{key:a},m(t,{...p(l,e,a),...n,rowId:e,cellId:a}))))))))),J=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>m("th",{onClick:E((()=>n?.(e)),[n,e],n),className:u(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},u(l)||t!=e?null:(l?"↓":"↑")+" ",a),K=({localRowId:l,params:[a,n,o,r,s,i,d]})=>{const c=t.useRemoteRowId(s,l,i);return m("tr",null,!1===a?null:m(e.Fragment,null,m("th",null,l),m("th",null,c)),C(n,(({component:e,getComponentProps:t},a)=>{const[n,s]=a.split(".",2),i=n===o?l:n===r?c:null;return u(i)?null:m("td",{key:a},m(e,{...p(t,i,s),store:d,tableId:n,rowId:i,cellId:s}))})))},Q=({thing:e,onThingChange:t,className:r})=>{const[u,c]=F(),[h,b]=F(),[g,p]=F(),[w,f]=F(),[I,C]=F();h!==e&&(c((e=>{const t=l(e);return(e=>e==a||e==n)(t)||t==o&&d(e)?t:void 0})(e)),b(e),p(e+""),f(Number(e)||0),C(!!e));const x=q(((e,l)=>{l(e),b(e),t(e)}),[t]);return m("div",{className:r},m("button",{className:u,onClick:q((()=>{const e=M(u,o,n,a),l=M(e,g,w,I);c(e),b(l),t(l)}),[t,g,w,I,u])},u),M(u,m("input",{key:u,value:g,onChange:q((e=>x(e[s][i]+"",p)),[x])}),m("input",{key:u,type:"number",value:w,onChange:q((e=>x(Number(e[s][i]||0),f)),[x])}),m("input",{key:u,type:"checkbox",checked:I,onChange:q((e=>x(!!e[s].checked,C)),[x])})))},U=({tableId:e,rowId:l,cellId:a,store:n,className:o})=>m(Q,{thing:t.useCell(e,l,a,n),onThingChange:t.useSetCellCallback(e,l,a,(e=>e),[],n),className:o??O+"Cell"}),W=({valueId:e,store:l,className:a})=>m(Q,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:a??O+r}),X=({onChange:t,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,t(0));const s=E((()=>t(a-n)),[t,a,n],a>0),i=E((()=>t(a+n)),[t,a,n],a+n<l);return m(e.Fragment,null,l>n&&m(e.Fragment,null,m("button",{className:"previous",disabled:0==a,onClick:s},"←"),m("button",{className:"next",disabled:a+n>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},Y=e=>new Map(e);Y(),Y(),exports.EditableCellView=U,exports.EditableValueView=W,exports.RelationshipInHtmlTable=({relationshipId:l,relationships:a,editable:n,customCells:o,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(a),l),b=D([...B(c,u),...B(h,u)],o,n?U:t.CellView),g=P(i,b,c,h,l,d,u);return m("table",{className:r},!1===s?null:m("thead",null,m("tr",null,!1===i?null:m(e.Fragment,null,m("th",null,c,".Id"),m("th",null,h,".Id")),C(b,(({label:e},t)=>m("th",{key:t},e))))),m("tbody",null,w(t.useRowIds(c,u),(e=>m(K,{key:e,localRowId:e,params:g})))))},exports.ResultSortedTableInHtmlTable=({queryId:e,cellId:l,descending:a,offset:n,limit:o,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,b,g]=L(l,a,s,n,o,t.useResultRowCount(e,r),i,u);return m(G,{...c,params:P(D(t.useResultTableCellIds(e,r),d,t.ResultCellView),A(r,e),t.useResultSortedRowIds(e,...h,o,r),h,b,g)})},exports.ResultTableInHtmlTable=({queryId:e,queries:l,customCells:a,...n})=>m(G,{...n,params:P(D(t.useResultTableCellIds(e,l),a,t.ResultCellView),A(l,e),t.useResultRowIds(e,l))}),exports.SliceInHtmlTable=({indexId:e,sliceId:l,indexes:a,editable:n,customCells:o,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(a),e);return m(G,{...r,params:P(D(t.useTableCellIds(d,i),o,n?U:t.CellView),j(i,d),t.useSliceRowIds(e,l,s))})},exports.SortedTableInHtmlTable=({tableId:e,cellId:l,descending:a,offset:n,limit:o,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[b,g,p]=L(l,a,i,n,o,t.useRowCount(e,r),d,u);return m(G,{...h,params:P(D(t.useTableCellIds(e,r),c,s?U:t.CellView),j(r,e),t.useSortedRowIds(e,...b,o,r),b,g,p)})},exports.SortedTablePaginator=X,exports.StoreInspector=e=>null,exports.TableInHtmlTable=({tableId:e,store:l,editable:a,customCells:n,...o})=>m(G,{...o,params:P(D(t.useTableCellIds(e,l),n,a?U:t.CellView),j(l,e),t.useRowIds(e,l))}),exports.ValuesInHtmlTable=({store:e,editable:l=!1,valueComponent:a=(l?W:t.ValueView),getValueComponentProps:n,className:o,headerRow:s,idColumn:i})=>m("table",{className:o},!1===s?null:m("thead",null,m("tr",null,!1===i?null:m("th",null,"Id"),m("th",null,r))),m("tbody",null,w(t.useValueIds(e),(t=>m("tr",{key:t},!1===i?null:m("th",null,t),m("td",null,m(a,{...p(n,t),valueId:t,store:e})))))));
1
+ "use strict";var e=require("react"),t=require("./ui-react");const l=e=>typeof e,a=l(""),o=l(!0),n=l(0),r="Value",s="currentTarget",i="value",d=isFinite,u=e=>null==e,{PureComponent:m,Fragment:c,createElement:h,useCallback:b,useLayoutEffect:g,useRef:p,useState:w}=e,f=(e,...t)=>u(e)?{}:e(...t),I=(e,t)=>e.map(t),C=Object,y=(e=[])=>C.fromEntries(e),x=(e,t)=>I(C.entries(e),(([e,l])=>t(l,e))),k="tinybaseStoreInspector",v="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",R='content:url("',T=R+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",S='</svg>")',N=R+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",V=I([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>T+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+S)),z=T+"<path d='M20 20l60 60M20 80l60-60' />"+S,$=T+`<path d='${v}' />`+S,M=T+`<path d='${v}M20 20l60 60' />`+S,q="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(x({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[q]:"width:0.5rem;height:0.5rem;",[q+"-track"]:"background:#111",[q+"-thumb"]:"background:#999;border:1px solid #111",[q+"-thumb:hover"]:"background:#fff",[q+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+N,...y(I(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...y(I(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":N,"header>img:nth-of-type(6)":z,...y(I(V,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":$,"details[open]>summary img.done":M,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${k} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${k} ${t}{${e}}`:"")));const H=(e,t,l,o)=>e==a?t:e==n?l:o,{useCallback:O,useMemo:B,useState:F}=e,E="editable",P=(e,l)=>I(t.useTableCellIds(e,l),(t=>e+"."+t)),j=(e,t,l)=>{const a=O(e,t);return l?a:void 0},A=(...e)=>B((()=>e),e),L=(e,t)=>B((()=>({store:e,tableId:t})),[e,t]),D=(e,t)=>B((()=>({queries:e,queryId:t})),[e,t]),G=(e,t=!1,l,a=0,o,n,r,s)=>{const[[i,d,u],m]=F([e,t,a]),c=O((e=>{m(e),s?.(e)}),[s]),b=j((e=>c([e,e==i&&!d,u])),[c,i,d,u],l),g=O((e=>c([i,d,e])),[c,i,d]),p=!0===r?Z:r;return[[i,d,u],b,B((()=>!1===r?null:h(p,{offset:u,limit:o,total:n,onChange:g})),[r,p,u,o,n,g])]},J=(e,t,o)=>B((()=>{const n=t??e;return y(x(Array.isArray(n)?y(I(n,(e=>[e,e]))):n,((e,t)=>{return[t,{label:t,component:o,...(n=e,l(n)==a?{label:e}:e)}];var n})))}),[t,o,e]),K=({className:e,headerRow:t,idColumn:l,params:[a,o,n,r,s,i]})=>h("table",{className:e},i?h("caption",null,i):null,!1===t?null:h("thead",null,h("tr",null,!1===l?null:h(Q,{sort:r??[],label:"Id",onClick:s}),x(a,(({label:e},t)=>h(Q,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),h("tbody",null,I(n,(e=>h("tr",{key:e},!1===l?null:h("th",null,e),x(a,(({component:t,getComponentProps:l},a)=>h("td",{key:a},h(t,{...f(l,e,a),...o,rowId:e,cellId:a}))))))))),Q=({cellId:e,sort:[t,l],label:a=e??"",onClick:o})=>h("th",{onClick:j((()=>o?.(e)),[o,e],o),className:u(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},u(l)||t!=e?null:(l?"↓":"↑")+" ",a),U=({localRowId:l,params:[a,o,n,r,s,i,d]})=>{const m=t.useRemoteRowId(s,l,i);return h("tr",null,!1===a?null:h(e.Fragment,null,h("th",null,l),h("th",null,m)),x(o,(({component:e,getComponentProps:t},a)=>{const[o,s]=a.split(".",2),i=o===n?l:o===r?m:null;return u(i)?null:h("td",{key:a},h(e,{...f(t,i,s),store:d,tableId:o,rowId:i,cellId:s}))})))},W=({thing:e,onThingChange:t,className:r,hasSchema:u})=>{const[m,c]=F(),[b,g]=F(),[p,w]=F(),[f,I]=F(),[C,y]=F();b!==e&&(c((e=>{const t=l(e);return(e=>e==a||e==o)(t)||t==n&&d(e)?t:void 0})(e)),g(e),w(e+""),I(Number(e)||0),y(!!e));const x=O(((e,l)=>{l(e),g(e),t(e)}),[t]);return h("div",{className:r},h("button",{className:m,onClick:O((()=>{if(!u?.()){const e=H(m,n,o,a),l=H(e,p,f,C);c(e),g(l),t(l)}}),[u,t,p,f,C,m])},m),H(m,h("input",{key:m,value:p,onChange:O((e=>x(e[s][i]+"",w)),[x])}),h("input",{key:m,type:"number",value:f,onChange:O((e=>x(Number(e[s][i]||0),I)),[x])}),h("input",{key:m,type:"checkbox",checked:C,onChange:O((e=>x(!!e[s].checked,y)),[x])})))},X=({tableId:e,rowId:l,cellId:a,store:o,className:n})=>h(W,{thing:t.useCell(e,l,a,o),onThingChange:t.useSetCellCallback(e,l,a,(e=>e),[],o),className:n??E+"Cell",hasSchema:t.useStoreOrStoreById(o)?.hasTablesSchema}),Y=({valueId:e,store:l,className:a})=>h(W,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:a??E+r,hasSchema:t.useStoreOrStoreById(l)?.hasValuesSchema}),Z=({onChange:t,total:l,offset:a=0,limit:o=l,singular:n="row",plural:r=n+"s"})=>{(a>l||a<0)&&(a=0,t(0));const s=j((()=>t(a-o)),[t,a,o],a>0),i=j((()=>t(a+o)),[t,a,o],a+o<l);return h(e.Fragment,null,l>o&&h(e.Fragment,null,h("button",{className:"previous",disabled:0==a,onClick:s},"←"),h("button",{className:"next",disabled:a+o>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+o)," of "),l," ",1!=l?r:n)},_=e=>new Map(e);_(),_(),exports.EditableCellView=X,exports.EditableValueView=Y,exports.RelationshipInHtmlTable=({relationshipId:l,relationships:a,editable:o,customCells:n,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,m,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(a),l),b=J([...P(m,u),...P(c,u)],n,o?X:t.CellView),g=A(i,b,m,c,l,d,u);return h("table",{className:r},!1===s?null:h("thead",null,h("tr",null,!1===i?null:h(e.Fragment,null,h("th",null,m,".Id"),h("th",null,c,".Id")),x(b,(({label:e},t)=>h("th",{key:t},e))))),h("tbody",null,I(t.useRowIds(m,u),(e=>h(U,{key:e,localRowId:e,params:g})))))},exports.ResultSortedTableInHtmlTable=({queryId:e,cellId:l,descending:a,offset:o,limit:n,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...m})=>{const[c,b,g]=G(l,a,s,o,n,t.useResultRowCount(e,r),i,u);return h(K,{...m,params:A(J(t.useResultTableCellIds(e,r),d,t.ResultCellView),D(r,e),t.useResultSortedRowIds(e,...c,n,r),c,b,g)})},exports.ResultTableInHtmlTable=({queryId:e,queries:l,customCells:a,...o})=>h(K,{...o,params:A(J(t.useResultTableCellIds(e,l),a,t.ResultCellView),D(l,e),t.useResultRowIds(e,l))}),exports.SliceInHtmlTable=({indexId:e,sliceId:l,indexes:a,editable:o,customCells:n,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(a),e);return h(K,{...r,params:A(J(t.useTableCellIds(d,i),n,o?X:t.CellView),L(i,d),t.useSliceRowIds(e,l,s))})},exports.SortedTableInHtmlTable=({tableId:e,cellId:l,descending:a,offset:o,limit:n,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:m,...c})=>{const[b,g,p]=G(l,a,i,o,n,t.useRowCount(e,r),d,u);return h(K,{...c,params:A(J(t.useTableCellIds(e,r),m,s?X:t.CellView),L(r,e),t.useSortedRowIds(e,...b,n,r),b,g,p)})},exports.SortedTablePaginator=Z,exports.StoreInspector=e=>null,exports.TableInHtmlTable=({tableId:e,store:l,editable:a,customCells:o,...n})=>h(K,{...n,params:A(J(t.useTableCellIds(e,l),o,a?X:t.CellView),L(l,e),t.useRowIds(e,l))}),exports.ValuesInHtmlTable=({store:e,editable:l=!1,valueComponent:a=(l?Y:t.ValueView),getValueComponentProps:o,className:n,headerRow:s,idColumn:i})=>h("table",{className:n},!1===s?null:h("thead",null,h("tr",null,!1===i?null:h("th",null,"Id"),h("th",null,r))),h("tbody",null,I(t.useValueIds(e),(t=>h("tr",{key:t},!1===i?null:h("th",null,t),h("td",null,h(a,{...f(o,t),valueId:t,store:e})))))));
Binary file