tinybase 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) 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.cjs +1 -1
  8. package/lib/cjs/ui-react.cjs.gz +0 -0
  9. package/lib/cjs-es6/store.cjs +1 -1
  10. package/lib/cjs-es6/store.cjs.gz +0 -0
  11. package/lib/cjs-es6/tinybase.cjs +1 -1
  12. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  13. package/lib/cjs-es6/tools.cjs +1 -1
  14. package/lib/cjs-es6/tools.cjs.gz +0 -0
  15. package/lib/cjs-es6/ui-react.cjs +1 -1
  16. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  17. package/lib/debug/store.js +53 -13
  18. package/lib/debug/tinybase.js +53 -13
  19. package/lib/debug/tools.js +93 -1
  20. package/lib/debug/ui-react.js +24 -0
  21. package/lib/es6/store.js +1 -1
  22. package/lib/es6/store.js.gz +0 -0
  23. package/lib/es6/tinybase.js +1 -1
  24. package/lib/es6/tinybase.js.gz +0 -0
  25. package/lib/es6/tools.js +1 -1
  26. package/lib/es6/tools.js.gz +0 -0
  27. package/lib/es6/ui-react.js +1 -1
  28. package/lib/es6/ui-react.js.gz +0 -0
  29. package/lib/store.js +1 -1
  30. package/lib/store.js.gz +0 -0
  31. package/lib/tinybase.js +1 -1
  32. package/lib/tinybase.js.gz +0 -0
  33. package/lib/tools.js +1 -1
  34. package/lib/tools.js.gz +0 -0
  35. package/lib/types/store.d.ts +302 -9
  36. package/lib/types/tools.d.ts +2 -2
  37. package/lib/types/ui-react.d.ts +156 -0
  38. package/lib/types/with-schemas/store.d.ts +405 -16
  39. package/lib/types/with-schemas/tools.d.ts +2 -2
  40. package/lib/types/with-schemas/ui-react.d.ts +181 -5
  41. package/lib/ui-react.js +1 -1
  42. package/lib/ui-react.js.gz +0 -0
  43. package/lib/umd/store.js +1 -1
  44. package/lib/umd/store.js.gz +0 -0
  45. package/lib/umd/tinybase.js +1 -1
  46. package/lib/umd/tinybase.js.gz +0 -0
  47. package/lib/umd/tools.js +1 -1
  48. package/lib/umd/tools.js.gz +0 -0
  49. package/lib/umd/ui-react.js +1 -1
  50. package/lib/umd/ui-react.js.gz +0 -0
  51. package/lib/umd-es6/store.js +1 -1
  52. package/lib/umd-es6/store.js.gz +0 -0
  53. package/lib/umd-es6/tinybase.js +1 -1
  54. package/lib/umd-es6/tinybase.js.gz +0 -0
  55. package/lib/umd-es6/tools.js +1 -1
  56. package/lib/umd-es6/tools.js.gz +0 -0
  57. package/lib/umd-es6/ui-react.js +1 -1
  58. package/lib/umd-es6/ui-react.js.gz +0 -0
  59. package/package.json +15 -15
  60. package/readme.md +2 -2
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",c="Ids",$="Table",i=$+"s",u=$+c,p="Row",b=p+c,C="Sorted"+p+c,h="Cell",g=h+c,m="Value",f=m+"s",w=m+c,y=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),P=(e,t)=>e.filter(t),k=(e,...t)=>e.push(...t),S=e=>e.pop(),A=(e,...t)=>e.unshift(...t),O=e=>e.shift(),E=JSON.parse,D=isFinite,j=(e,t)=>e instanceof t,N=e=>null==e,L=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&D(t)?l:void 0},z=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},W=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},B=(e,t)=>null==e?void 0:e.forEach(t),F=(e,t)=>null==e?void 0:e.delete(t),U=e=>new Map(e),_=(e,t)=>null==e?void 0:e.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>{var l;return V([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},Q=(e,t,l)=>N(l)?(F(e,t),e):null==e?void 0:e.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",ce="Invalid",$e="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",ge="Provider",me=`Registers a ${ie} that will be called`,fe="Represents",we="rowId: "+Ie,ye="Schema",ve="Set",Te=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",Pe=X(Re),ke="Execute a "+Pe+" to make multiple mutations",Se="Explicitly starts a "+Pe,Ae="Explicitly finishes a "+Pe,Oe="the end of the "+Pe,Ee="void",De=" => "+Ee,je="WhenSet",Ne=" when setting it",Le=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>fe+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+$,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>me+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+$,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",fe,"Gets "+Le,"Sets "+Le,me+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+Le+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+$+Me+c,Y+$,Je+p+Me+c,Y+p,Je+h+Me+c,Y+h,"invalid Cell changes",f,Je+m+Me+c,Y+m,"invalid Value changes",Je+"sorted "+p+Me+c],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||N(e)?e:[e]),st=(e,t)=>null==e?void 0:e.add(t),It=/[^A-Za-z]+/,ct=/[^A-Za-z0-9]+/,$t=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace($t,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),gt=e=>e.flat(1e3),mt=(e,t=0)=>ht(V(e.split(ct),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),ft=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split(ct),"_")),wt=e=>`/** ${e}. */`,yt=(...e)=>ht(P(e,(e=>e)),", "),vt=(...e)=>"{"+ht(e,"; ")+"}",Tt=(...e)=>vt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U();return[(...e)=>ht(gt(e),"\n"),(t,l,...a)=>T(a,(a=>T([0,1],(n=>(null!=t?t:n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...v(H(e[l],((e,t)=>`import {${ht(v(W(e)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[wt(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],k(e,S(e)+";"),[`const ${l} = ${O(e)}`,e,t])))]},xt=Object,Rt=xt.keys,Pt=xt.freeze,kt=e=>j(e,xt)&&e.constructor==xt,St=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>kt(e)&&R(Rt(e)),Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Et=(e,t,l)=>[t=>St(e,((e,a)=>t(a,mt(a,1),l(ft(a),`'${a}'`)))),(t,a)=>St(e[t],((e,t)=>a(t,e[o],e[d],l(ft(t),`'${t}'`),mt(t,1)))),e=>St(t,((t,a)=>e(a,t[o],t[d],l(ft(a),`'${a}'`),mt(a,1))))],Dt=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+je,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),c=e($+Ie,"keyof "+s,"A "+$+" Id in "+xe),m=`<TId extends ${c}>`,f=e($,be+`<${s}[TId]>`,"A "+$+" in "+xe,m),w=e($+je,be+`<${I}[TId]>`,"A "+$+" in "+xe+Ne,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+$,m),v=e(p+je,w+"<TId>[Id]","A "+p+" in a "+$+Ne,m),T=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+De,He(Y+h+" Id, and "+h),m),P=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+De+") "+De,He(Y+p+" Id, and a "+h+" iterator"),m),k=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${P}<TId>)${De}] : never`,$+" Ids and callback types",`<TId = ${c}>`,0),S=e($+le,`(...[tableId, forEachRow]: ${k})`+De,He(Y+$+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,ee+" returning information about any Cell's changes during a "+Pe),E=e(i+r,`(${d}, getCellChange: ${O}${pe})`+De,Qe(1)),D=e(u+r,`(${d})`+De,Qe(2)),j=e($+r,`(${d}, tableId: ${c}, getCellChange: ${O}${pe})`+De,Qe(3)),L=e(b+r,`(${d}, tableId: ${c})`+De,Qe(4,3)),M=e(C+r,"("+yt(d,"tableId: "+c,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+De,Qe(13,3)),G=e(p+r,"("+yt(""+d,"tableId: "+c,we,`getCellChange: ${O}${pe}`)+")"+De,Qe(5,3)),J=e(g+r,"("+yt(""+d,"tableId: "+c,we)+")"+De,Qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${we}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${O} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,v,T,V,R,P,S,E,D,j,L,M,G,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+De,Qe(7,5)),e(ce+h+r,`(${d}, tableId: Id, ${we}, cellId: Id, invalidCells: any[])`+De,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(f,vt(...n(((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`))),Be(2,5)),s=e(f+je,vt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(m+Ie,"keyof "+d,"A "+m+" Id in "+xe),c=e(m,be+`<${d}[VId]>`,"A "+m+" Id in "+xe,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,m+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(m+le,`(...[valueId, value]: ${$})`+De,He(Y+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+Pe),p=e(f+r,`(${o}, getValueChange: ${u}${pe})`+De,Qe(9)),b=e(w+r,`(${o})`+De,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${pe}, oldValue: ${c}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,i,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+De,Qe(11)),e(ce+m+r,`(${o}, valueId: Id, invalidValues: any[])`+De,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+De,ee+" listening to the completion of a "+Pe)],jt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Nt=(e,l=t)=>`fluent(() => ${jt(e,l)})`,Lt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,v,V,x,R,P,S]=Vt(),[O,E,D]=Et(e,l,x),[j,L,G]=Dt(v,O,E,D),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,wt(o)),k(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?Nt:jt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,Lt(I+e+r,o,d?"mutator":t),a,s),K=`./${mt(n)}.d`,X=mt(n,1),Y=mt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",c);const[e,l,n,r,s,I,m,f,w,V,R,P,S,A,D,L,G,J,z,B,Z]=j(Y,X),H=U();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+$,r+l,fe+` the '${e}' `+$),v(t+$+je,s+l,fe+` the '${e}' `+$+Ne),v(t+p,I+l,Fe(e)),v(t+p+je,m+l,Fe(e,1)),v(t+h+Ie,f+l,`A Cell Id for the '${e}' `+$),v(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+$)),v(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`))];Q(H,e,a),y(1,K,...a)})),y(1,K,e,l,n,f,P,S,A,D,L,G,J,z,B,Z),ae=[e,l,n,f,S,A,D,L,G,J,z,B,H],T([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue($,xe)),F(5,t,$,Ee,_e($,xe),"tableCallback: "+P,"tableCallback as any"),O(((e,l,n)=>{const[o,d,r,s,I,i,u]=_(H,e);T([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,$,a,Ye(e,r),o,n+d))),F(0,l,b,c,Ue(p,Ke(e)),t,n),F(0,l,C,c,Ue(p,Ke(e),1),"cellId?: "+I+Te,n+", cellId, descending, offset, limit"),F(5,l,p,Ee,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),T([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),we+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),F(0,l,g,I+Ve,Ue(h,Xe(e)),we,n+", rowId"),F(5,l,h,Ee,_e(h,Xe(e)),we+", cellCallback: "+i,n+", rowId, cellCallback as any"),E(e,((o,d,r,s,I)=>{const c="Map"+mt(d,1);Q(te,d,c);const $=d+(N(r)?pe:t);T([[$],[a],[X,`, cell: ${d} | `+c,", cell as any"],[X]],(([a,d=t,r=t],c)=>F(c,l+I,h,a,tt(e,o,c),we+d,n+", rowId, "+s+r)))}))})),F(0,t,i+$e,$e,Be(1,6)),F(2,t,i+$e,X,Be(1,7),"tablesJson: "+$e,"tables"+$e),q(i,S,Be(1,8)+" changes"),q(u,A,qe(2,0,1)),q($,D,qe(3,0),`tableId: ${n} | null`,"tableId"),q(b,L,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,G,qe(13,3,1),yt("tableId: TId",`cellId: ${f}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,J,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(g,z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,B,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(O((e=>{var l,a;return null!=(a=null==(l=_(H,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),q(ce+h,Z,me+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),k(ee,".set"+i+ye+"({",gt(O(((e,l,a)=>[`[${a}]: {`,...E(e,((e,l,a,n)=>`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${N(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,c,$,i]=L(Y,X);y(1,K,e,l,n,s,I,c,$,i),ne=[e,l,n,I,c,$],T([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,f,e,Be(2,n),l,a))),F(0,t,w,n+Ve,Ue(m,xe)),F(5,t,m,"void",_e(m,xe),"valueCallback: "+s,"valueCallback as any"),D(((e,l,n,o,d)=>{const r="Map"+mt(l,1);Q(te,l,r),T([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,m,l,lt(e,r),a,o+n)))})),F(0,t,f+$e,$e,Be(2,6)),F(2,t,f+$e,X,Be(2,7),"valuesJson: "+$e,"values"+$e),q(f,I,Be(2,8)+" changes"),q(w,c,qe(10,0,1)),q(m,$,qe(11,0),`valueId: ${n} | null`,"valueId"),q(ce+m,i,me+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),k(ee,".set"+f+ye+"({",D(((e,l,a,n)=>[`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${N(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>v(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",$e,"Store"),F(0,t,$e,$e,Be(0,6)),F(2,t,$e,X,Be(0,7),"tablesAndValuesJson: "+$e,"tablesAndValuesJson"),F(7,t,Pe,"Return",ke,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Se),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("Start"+Re,oe,me+" just before the start of the "+Pe,t,t,0),q("WillFinish"+Re,oe,me+" just before "+Oe,t,t,0),q("DidFinish"+Re,oe,me+" just after "+Oe,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...P(),se+" interface "+X+" {",...z(0),"}",t,wt(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...S(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+De,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,v,T,V,x]=Vt(),[R,P,S]=Et(e,l,v),O=`./${mt(a)}.d`,E=`./${mt(a)}-ui-react.d`,D="tinybase/ui-react",j=mt(a,1),L=mt(j),M=j+"Or"+j+Ie,G=L+"Or"+j+Ie,J=L+`={${L}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,E,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,c=t)=>(s(1,D,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+(c?"], ["+c:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,wt(o)),k(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,D,"ComponentReturnType"),s(null,D,"ExtraProps"),s(0,O,j);const q=I(M,j+" | "+Ie,`Used when you need to refer to a ${j} in a React hook or component`),K=I(ge+he,Tt(L+ue+j,L+`ById?: {[${L}Id: Id]: ${j}}`),`Used with the ${ge} component, so that a `+j+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,q,K);const X=G+ue+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${j}?, {[${L}Id: Id]: ${j}}?]>([])`),B("Create"+j,`create: () => ${j}, create`+oe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const ee=B(j,"id?: Id",j+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${ge} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${L} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ce=v("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,m,f,w,v,T,V,x,k]=n;s(null,O,e,l,a,d,m,f,w,v,T,V,x),s(0,O,o),s(1,O,j),s(null,"tinybase",c,"IdOrNull");const S=y("tableView",`{${L}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ce),D=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ce} : `)))+ce);F(i,i,e,Be(1,0)+te);const M=F(u,u,a+Ve,Ue($,xe)+te);F(ve+i+le,ve+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+De,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const G=I(h+he,Tt("tableId?: TId","rowId: Id","cellId?: CId",L+ue+j,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+he,Tt("tableId?: TId","rowId: Id",L+ue+j,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),W=I($+he,Tt("tableId?: TId",L+ue+j,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+$),`<TId extends ${a}>`),B=I("Sorted"+$+he,Tt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+ue+j,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+$),`<TId extends ${a}>`),U=I(i+he,Tt(L+ue+j,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,E,U,W,B,z,G),Z(i+ol,"{"+L+", tableComponents, getTableComponentProps"+Yt+"}: "+U,[re+`(${M}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(k,e);s(null,O,n,o,d,r,I),F(l+$,$,n,Ye(e)+te,t,a);const i=F(l+b,b,c,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,c,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const m=F(l+g,g,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(ve+l+$+le,ve+$+le,qt,Ye(e,9)+Zt,yt(Gt($)+Ut+o,Gt($)+oe),yt(a,Jt($)),Qt,yt(tl,`table: ${o})`+De,Bt),al),F(ae+l+$+le,ae+$+le,le,Ye(e,12),t,a,t,ll,al),F(ve+l+p+le,ve+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+De,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+De,"then"+oe)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(ve+l+Ce+p+le,ve+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+De,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const f=Z(l+p+ol,"{rowId, "+L+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[re+`(${m}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+D+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+$+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,S+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,Ye(e,13)+", sorted"+te),Z(l+$+ol,`props: ${W}<'${e}'>`,S+"(props, "+i+`(props.${L}), ${a}, ${f});`,Ye(e,13)+te),P(e,((n,o,d,r,I)=>{const c="Map"+mt(o,1);s(0,O,c),s(1,O,c);const $=F(l+I+h,h,o+(N(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(ve+l+I+h+le,ve+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+c,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${c})`+De,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${L}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${$}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const H=ht(R((e=>{var l,a;return null!=(a=null==(l=_(k,e))?void 0:l[4])?a:t}))," | ");F(i+r,i+r,Ee,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,Ee,qe(2,0,1),dl(m),rl()),F($+r,$+r,Ee,qe(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,Ee,qe(4,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,Ee,qe(13,3,1),dl(v,`tableId: ${a} | null`,"cellId: "+H+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Ee,qe(5,3),dl(T,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(g+r,g+r,Ee,qe(6,5,1),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,Ee,qe(7,5),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${H} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,c]=o;s(null,O,...o),s(1,O,j);const $=y("getDefaultValueComponent","valueId: Id",ht(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ce);F(f,f,e,Be(2,0)+te);const i=F(w,w,a+Ve,Ue(m,xe)+te);F(ve+f+le,ve+f+le,qt,Be(2,9)+Zt,yt(Gt(f)+Ut+l,Gt(f)+oe),Jt(f),Qt,yt(tl,`values: ${l})`+De,Bt),al),F(ve+Ce+f+le,ve+Ce+f+le,qt,Be(2,11)+Zt,yt(Gt(Ce+f)+Ut+l,Gt(Ce+f)+oe),Jt(Ce+f),Qt,yt(tl,`partialValues: ${l})`+De,Bt),al),F(ae+f+le,ae+f+le,le,Be(2,12),t,t,t,ll,al);const u=I(m+he,Tt("valueId?: VId",L+ue+j,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(f+he,Tt(L+ue+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,E,p,u),Z(f+ol,"{"+L+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+$+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),S(((e,l,a,n,o)=>{const d="Map"+mt(l,1);s(0,O,d),s(1,O,d);const r=F(o+m,m,l,lt(e)+te,t,n);F(ve+o+m+le,ve+m+le,qt,lt(e,9)+Zt,yt(Gt(m)+Ut+l+" | "+d,Gt(m)+oe),yt(n,Jt(m)),Qt,yt(tl,`value: ${l} | ${d})`+De,Bt),al),F(ae+o+m+le,ae+m+le,le,lt(e,12),t,n,t,ll,al),Z(o+m+ol,`{${L}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(f+r,f+r,Ee,Be(2,8)+" changes",dl(n),rl()),F(w+r,w+r,Ee,qe(10,0,1),dl(d),rl()),F(m+r,m+r,Ee,qe(11,0),dl(c,`valueId: ${a} | null`),rl("valueId"))}return Z(ge,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+ge,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${ge}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...T(0),...V(),...Q(0)),d(...T(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]};var cl=Object.defineProperty,$l=Object.defineProperties,il=Object.getOwnPropertyDescriptors,ul=Object.getOwnPropertySymbols,pl=Object.prototype.hasOwnProperty,bl=Object.prototype.propertyIsEnumerable,Cl=(e,t,l)=>t in e?cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,hl=(e,t)=>{for(var l in t||(t={}))pl.call(t,l)&&Cl(e,l,t[l]);if(ul)for(var l of ul(t))bl.call(t,l)&&Cl(e,l,t[l]);return e},gl=(e,t)=>$l(e,il(t)),ml=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const fl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},wl=Ot((e=>{const t=()=>{const t=E(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,c=q(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),Q(s,o,c),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]=hl({[o]:e},r==x(a)?{[d]:n}:{})})),1}))?t:{}},l=()=>{const t=E(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=e=>ml(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,gl(hl({},fl),{filepath:"_."+t[a]})))))}));return Pt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),hl({totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=wl;
1
+ "use strict";const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",c="Ids",$="Table",i=$+"s",u=$+c,p="Row",b=p+c,C="Sorted"+p+c,h="Cell",m=h+c,g="Value",f=g+"s",w=g+c,y=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),k=(e,t)=>e.filter(t),P=(e,...t)=>e.push(...t),S=e=>e.pop(),A=(e,...t)=>e.unshift(...t),O=e=>e.shift(),E=JSON.parse,D=isFinite,j=(e,t)=>e instanceof t,N=e=>null==e,L=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&D(t)?l:void 0},z=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},W=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},B=(e,t)=>null==e?void 0:e.forEach(t),F=(e,t)=>null==e?void 0:e.delete(t),U=e=>new Map(e),_=(e,t)=>null==e?void 0:e.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>{var l;return V([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},Q=(e,t,l)=>N(l)?(F(e,t),e):null==e?void 0:e.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",ce="Invalid",$e="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",me="Provider",ge=`Registers a ${ie} that will be called`,fe="Represents",we="rowId: "+Ie,ye="Schema",ve="Set",Te=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",ke=X(Re),Pe="Execute a "+ke+" to make multiple mutations",Se="Explicitly starts a "+ke,Ae="Explicitly finishes a "+ke,Oe="the end of the "+ke,Ee="void",De=" => "+Ee,je="WhenSet",Ne=" when setting it",Le=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>fe+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+$,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>ge+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+$,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",fe,"Gets "+Le,"Sets "+Le,ge+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+Le+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+$+Me+c,Y+$,Je+p+Me+c,Y+p,Je+h+Me+c,Y+h,"invalid Cell changes",f,Je+g+Me+c,Y+g,"invalid Value changes",Je+"sorted "+p+Me+c,Je+h+Me+c+" anywhere"],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||N(e)?e:[e]),st=(e,t)=>null==e?void 0:e.add(t),It=/[^A-Za-z]+/,ct=/[^A-Za-z0-9]+/,$t=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace($t,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),mt=e=>e.flat(1e3),gt=(e,t=0)=>ht(V(e.split(ct),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),ft=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split(ct),"_")),wt=e=>`/** ${e}. */`,yt=(...e)=>ht(k(e,(e=>e)),", "),vt=(...e)=>"{"+ht(e,"; ")+"}",Tt=(...e)=>vt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>ht(mt(e),"\n"),(t,l,...a)=>T(a,(a=>T([0,1],(n=>(null!=t?t:n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...v(H(e[l],((e,t)=>`import {${ht(v(W(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[wt(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],P(e,S(e)+";"),[`const ${l} = ${O(e)}`,e,t])))]},xt=Object,Rt=xt.keys,kt=xt.freeze,Pt=e=>j(e,xt)&&e.constructor==xt,St=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>Pt(e)&&R(Rt(e)),Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Et=(e,t,l)=>[t=>St(e,((e,a)=>t(a,gt(a,1),l(ft(a),`'${a}'`)))),(t,a)=>St(e[t],((e,t)=>a(t,e[o],e[d],l(ft(t),`'${t}'`),gt(t,1)))),e=>St(t,((t,a)=>e(a,t[o],t[d],l(ft(a),`'${a}'`),gt(a,1))))],Dt=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+je,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),c=e($+Ie,"keyof "+s,"A "+$+" Id in "+xe),g=`<TId extends ${c}>`,f=e($,be+`<${s}[TId]>`,"A "+$+" in "+xe,g),w=e($+je,be+`<${I}[TId]>`,"A "+$+" in "+xe+Ne,g),y=e(p,f+"<TId>[Id]","A "+p+" in a "+$,g),v=e(p+je,w+"<TId>[Id]","A "+p+" in a "+$+Ne,g),T=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,g),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+De,He(Y+h+" Id, and "+h),g),k=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+De+") "+De,He(Y+p+" Id, and a "+h+" iterator"),g),P=e($+h+le,`(cellId: ${T}<TId>, count: number) `+De,He(Y+h+" Id, and count of how many times it appears"),g),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${De}] : never`,$+" Ids and callback types",`<TId = ${c}>`,0),A=e($+le,`(...[tableId, forEachRow]: ${S})`+De,He(Y+$+" Id, and a "+p+" iterator"),t),O=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${O}) => CellChange`,ee+" returning information about any Cell's changes during a "+ke),D=e(i+r,`(${d}, getCellChange: ${E}${pe})`+De,Qe(1)),j=e(u+r,`(${d})`+De,Qe(2)),L=e($+r,`(${d}, tableId: ${c}, getCellChange: ${E}${pe})`+De,Qe(3)),M=e($+m+r,`(${d}, tableId: ${c})`+De,Qe(14,3)),G=e(b+r,`(${d}, tableId: ${c})`+De,Qe(4,3)),J=e(C+r,"("+yt(d,"tableId: "+c,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+De,Qe(13,3)),z=e(p+r,"("+yt(""+d,"tableId: "+c,we,`getCellChange: ${E}${pe}`)+")"+De,Qe(5,3)),W=e(m+r,"("+yt(""+d,"tableId: "+c,we)+")"+De,Qe(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${we}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${E} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,v,T,V,R,k,P,A,D,j,L,M,G,J,z,W,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+De,Qe(7,5)),e(ce+h+r,`(${d}, tableId: Id, ${we}, cellId: Id, invalidCells: any[])`+De,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(f,vt(...n(((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`))),Be(2,5)),s=e(f+je,vt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(g+Ie,"keyof "+d,"A "+g+" Id in "+xe),c=e(g,be+`<${d}[VId]>`,"A "+g+" Id in "+xe,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,g+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(g+le,`(...[valueId, value]: ${$})`+De,He(Y+g+" Id, and "+g)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+ke),p=e(f+r,`(${o}, getValueChange: ${u}${pe})`+De,Qe(9)),b=e(w+r,`(${o})`+De,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${pe}, oldValue: ${c}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,i,p,b,e(g+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+De,Qe(11)),e(ce+g+r,`(${o}, valueId: Id, invalidValues: any[])`+De,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+De,ee+" listening to the completion of a "+ke)],jt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Nt=(e,l=t)=>`fluent(() => ${jt(e,l)})`,Lt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,v,V,x,R,k,S]=Vt(),[O,E,D]=Et(e,l,x),[j,L,G]=Dt(v,O,E,D),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,wt(o)),P(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?Nt:jt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,Lt(I+e+r,o,d?"mutator":t),a,s),K=`./${gt(n)}.d`,X=gt(n,1),Y=gt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",c);const[e,l,n,r,s,I,g,f,w,V,R,k,S,A,D,L,G,J,z,B,Z,H,ne]=j(Y,X),oe=U();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+$,r+l,fe+` the '${e}' `+$),v(t+$+je,s+l,fe+` the '${e}' `+$+Ne),v(t+p,I+l,Fe(e)),v(t+p+je,g+l,Fe(e,1)),v(t+h+Ie,f+l,`A Cell Id for the '${e}' `+$),v(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+$)),v(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+$+h+le,k+l,He(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Q(oe,e,a),y(1,K,...a)})),y(1,K,e,l,n,f,S,A,D,L,G,J,z,B,Z,H,ne),ae=[e,l,n,f,A,D,L,G,J,z,B,Z,H,oe],T([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue($,xe)),F(5,t,$,Ee,_e($,xe),"tableCallback: "+S,"tableCallback as any"),O(((e,l,n)=>{const[o,d,r,s,I,i,u,g]=_(oe,e);T([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,$,a,Ye(e,r),o,n+d))),F(0,l,$+m,c,Ue(h,"the whole of "+Ke(e)),t,n),F(5,l,$+h,Ee,_e($+h,"the whole of "+Ke(e)),"tableCellCallback: "+g,n+", tableCellCallback as any"),F(0,l,b,c,Ue(p,Ke(e)),t,n),F(0,l,C,c,Ue(p,Ke(e),1),"cellId?: "+I+Te,n+", cellId, descending, offset, limit"),F(5,l,p,Ee,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),T([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),we+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),F(0,l,m,I+Ve,Ue(h,Xe(e)),we,n+", rowId"),F(5,l,h,Ee,_e(h,Xe(e)),we+", cellCallback: "+i,n+", rowId, cellCallback as any"),E(e,((o,d,r,s,I)=>{const c="Map"+gt(d,1);Q(te,d,c);const i=d+(N(r)?pe:t);T([[i],[a],[X,`, cell: ${d} | `+c,", cell as any"],[X]],(([a,d=t,r=t],c)=>F(c,l+I,h,a,tt(e,o,c),we+d,n+", rowId, "+s+r))),F(1,l+I,$+h,a,at[1]+` the '${o}' Cell anywhere in `+Ke(e),t,n+", "+s)}))})),F(0,t,i+$e,$e,Be(1,6)),F(2,t,i+$e,X,Be(1,7),"tablesJson: "+$e,"tables"+$e),q(i,A,Be(1,8)+" changes"),q(u,D,qe(2,0,1)),q($,L,qe(3,0),`tableId: ${n} | null`,"tableId"),q($+m,G,qe(14,3,1),`tableId: ${n} | null`,"tableId"),q(b,J,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,z,qe(13,3,1),yt("tableId: TId",`cellId: ${f}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,B,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(m,Z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,H,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(O((e=>{var l,a;return null!=(a=null==(l=_(oe,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),q(ce+h,ne,ge+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),P(ee,".set"+i+ye+"({",mt(O(((e,l,a)=>[`[${a}]: {`,...E(e,((e,l,a,n)=>`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${N(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,c,$,i]=L(Y,X);y(1,K,e,l,n,s,I,c,$,i),ne=[e,l,n,I,c,$],T([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,f,e,Be(2,n),l,a))),F(0,t,w,n+Ve,Ue(g,xe)),F(5,t,g,"void",_e(g,xe),"valueCallback: "+s,"valueCallback as any"),D(((e,l,n,o,d)=>{const r="Map"+gt(l,1);Q(te,l,r),T([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,g,l,lt(e,r),a,o+n)))})),F(0,t,f+$e,$e,Be(2,6)),F(2,t,f+$e,X,Be(2,7),"valuesJson: "+$e,"values"+$e),q(f,I,Be(2,8)+" changes"),q(w,c,qe(10,0,1)),q(g,$,qe(11,0),`valueId: ${n} | null`,"valueId"),q(ce+g,i,ge+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),P(ee,".set"+f+ye+"({",D(((e,l,a,n)=>[`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${N(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>v(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",$e,"Store"),F(0,t,$e,$e,Be(0,6)),F(2,t,$e,X,Be(0,7),"tablesAndValuesJson: "+$e,"tablesAndValuesJson"),F(7,t,ke,"Return",Pe,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Se),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("Start"+Re,oe,ge+" just before the start of the "+ke,t,t,0),q("WillFinish"+Re,oe,ge+" just before "+Oe,t,t,0),q("DidFinish"+Re,oe,ge+" just after "+Oe,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...k(),se+" interface "+X+" {",...z(0),"}",t,wt(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...S(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+De,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,v,T,V,x]=Vt(),[R,k,S]=Et(e,l,v),O=`./${gt(a)}.d`,E=`./${gt(a)}-ui-react.d`,D="tinybase/ui-react",j=gt(a,1),L=gt(j),M=j+"Or"+j+Ie,G=L+"Or"+j+Ie,J=L+`={${L}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,E,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,c=t)=>(s(1,D,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+(c?"], ["+c:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,wt(o)),P(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,D,"ComponentReturnType"),s(null,D,"ExtraProps"),s(0,O,j);const q=I(M,j+" | "+Ie,`Used when you need to refer to a ${j} in a React hook or component`),K=I(me+he,Tt(L+ue+j,L+`ById?: {[${L}Id: Id]: ${j}}`),`Used with the ${me} component, so that a `+j+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,q,K);const X=G+ue+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${j}?, {[${L}Id: Id]: ${j}}?]>([])`),B("Create"+j,`create: () => ${j}, create`+oe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const ee=B(j,"id?: Id",j+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${me} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${L} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ce=v("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,g,f,w,v,T,V,x,P,S]=n;s(null,O,e,l,a,d,g,f,w,v,T,V,x,P),s(0,O,o),s(1,O,j),s(null,"tinybase",c,"IdOrNull");const A=y("tableView",`{${L}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),D=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ce),M=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ce} : `)))+ce);F(i,i,e,Be(1,0)+te);const G=F(u,u,a+Ve,Ue($,xe)+te);F(ve+i+le,ve+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+De,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const z=I(h+he,Tt("tableId?: TId","rowId: Id","cellId?: CId",L+ue+j,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),W=I(p+he,Tt("tableId?: TId","rowId: Id",L+ue+j,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${z}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),B=I($+he,Tt("tableId?: TId",L+ue+j,`rowComponent?: ComponentType<${W}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+$),`<TId extends ${a}>`),U=I("Sorted"+$+he,Tt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+ue+j,`rowComponent?: ComponentType<${W}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+$),`<TId extends ${a}>`),H=I(i+he,Tt(L+ue+j,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${B}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,E,H,B,U,W,z),Z(i+ol,"{"+L+", tableComponents, getTableComponentProps"+Yt+"}: "+H,[re+`(${G}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+D+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(S,e);s(null,O,n,o,d,r,I),F(l+$,$,n,Ye(e)+te,t,a),F(l+$+m,$+m,c,Ue(h,"the whole of "+Ke(e))+te,t,a);const i=F(l+b,b,c,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,c,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const g=F(l+m,m,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(ve+l+$+le,ve+$+le,qt,Ye(e,9)+Zt,yt(Gt($)+Ut+o,Gt($)+oe),yt(a,Jt($)),Qt,yt(tl,`table: ${o})`+De,Bt),al),F(ae+l+$+le,ae+$+le,le,Ye(e,12),t,a,t,ll,al),F(ve+l+p+le,ve+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+De,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+De,"then"+oe)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(ve+l+Ce+p+le,ve+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+De,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const f=Z(l+p+ol,"{rowId, "+L+", cellComponents, getCellComponentProps"+Yt+`}: ${W}<'${e}'>`,[re+`(${g}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+M+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+$+ol,"{cellId, descending, offset, limit, ...props}: "+U+`<'${e}'>`,A+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,Ye(e,13)+", sorted"+te),Z(l+$+ol,`props: ${B}<'${e}'>`,A+"(props, "+i+`(props.${L}), ${a}, ${f});`,Ye(e,13)+te),k(e,((n,o,d,r,I)=>{const c="Map"+gt(o,1);s(0,O,c),s(1,O,c);const $=F(l+I+h,h,o+(N(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(ve+l+I+h+le,ve+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+c,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${c})`+De,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${L}, debugIds}: `+z+`<'${e}', '${n}'>`,[re+`('' + ${$}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const Q=ht(R((e=>{var l,a;return null!=(a=null==(l=_(S,e))?void 0:l[4])?a:t}))," | ");F(i+r,i+r,Ee,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,Ee,qe(2,0,1),dl(g),rl()),F($+r,$+r,Ee,qe(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F($+m+r,$+m+r,Ee,qe(14,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,Ee,qe(4,3,1),dl(v,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,Ee,qe(13,3,1),dl(T,`tableId: ${a} | null`,"cellId: "+Q+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Ee,qe(5,3),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(m+r,m+r,Ee,qe(6,5,1),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,Ee,qe(7,5),dl(P,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${Q} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,c]=o;s(null,O,...o),s(1,O,j);const $=y("getDefaultValueComponent","valueId: Id",ht(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ce);F(f,f,e,Be(2,0)+te);const i=F(w,w,a+Ve,Ue(g,xe)+te);F(ve+f+le,ve+f+le,qt,Be(2,9)+Zt,yt(Gt(f)+Ut+l,Gt(f)+oe),Jt(f),Qt,yt(tl,`values: ${l})`+De,Bt),al),F(ve+Ce+f+le,ve+Ce+f+le,qt,Be(2,11)+Zt,yt(Gt(Ce+f)+Ut+l,Gt(Ce+f)+oe),Jt(Ce+f),Qt,yt(tl,`partialValues: ${l})`+De,Bt),al),F(ae+f+le,ae+f+le,le,Be(2,12),t,t,t,ll,al);const u=I(g+he,Tt("valueId?: VId",L+ue+j,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(f+he,Tt(L+ue+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,E,p,u),Z(f+ol,"{"+L+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+$+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),S(((e,l,a,n,o)=>{const d="Map"+gt(l,1);s(0,O,d),s(1,O,d);const r=F(o+g,g,l,lt(e)+te,t,n);F(ve+o+g+le,ve+g+le,qt,lt(e,9)+Zt,yt(Gt(g)+Ut+l+" | "+d,Gt(g)+oe),yt(n,Jt(g)),Qt,yt(tl,`value: ${l} | ${d})`+De,Bt),al),F(ae+o+g+le,ae+g+le,le,lt(e,12),t,n,t,ll,al),Z(o+g+ol,`{${L}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(f+r,f+r,Ee,Be(2,8)+" changes",dl(n),rl()),F(w+r,w+r,Ee,qe(10,0,1),dl(d),rl()),F(g+r,g+r,Ee,qe(11,0),dl(c,`valueId: ${a} | null`),rl("valueId"))}return Z(me,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+me,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${me}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...T(0),...V(),...Q(0)),d(...T(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]};var cl=Object.defineProperty,$l=Object.defineProperties,il=Object.getOwnPropertyDescriptors,ul=Object.getOwnPropertySymbols,pl=Object.prototype.hasOwnProperty,bl=Object.prototype.propertyIsEnumerable,Cl=(e,t,l)=>t in e?cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,hl=(e,t)=>{for(var l in t||(t={}))pl.call(t,l)&&Cl(e,l,t[l]);if(ul)for(var l of ul(t))bl.call(t,l)&&Cl(e,l,t[l]);return e},ml=(e,t)=>$l(e,il(t)),gl=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const fl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},wl=Ot((e=>{const t=()=>{const t=E(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,c=q(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),Q(s,o,c),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]=hl({[o]:e},r==x(a)?{[d]:n}:{})})),1}))?t:{}},l=()=>{const t=E(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=e=>gl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,ml(hl({},fl),{filepath:"_."+t[a]})))))}));return kt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),hl({totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=wl;
Binary file
@@ -1 +1 @@
1
- "use strict";var e=require("react");const s=e=>typeof e,t="",o=s(t),r="Ids",l="Table",u=l+"s",n=l+r,d="Row",i=d+r,a="Sorted"+d+r,p="Cell",c=p+r,I="Value",x=I+"s",w=I+r,b=(e,s)=>e.map(s),R=e=>null==e,C=(e,s,t)=>R(e)?null==t?void 0:t():s(e),k=e=>s(e)==o,v=()=>{},{createContext:g,useContext:m}=e,h=g([]),y=(e,s)=>{const t=m(h);return R(e)?t[s]:k(e)?((e,s)=>C(e,(e=>e[s])))(t[s+1],e):e},L=(e,s)=>{const t=y(e,s);return R(e)||k(e)?t:e},V=e=>L(e,0),S=e=>L(e,2),f=e=>L(e,4),T=e=>L(e,6),P=e=>L(e,8),q=e=>L(e,10),{useCallback:O,useEffect:B,useMemo:M,useRef:D,useState:j}=e,A=(e,s,t=[])=>{const o=M((()=>s(e)),[e,...t]);return B((()=>()=>o.destroy()),[o]),o},E=(e,s,t,o=[],r)=>{const[,l]=j(),u=O((()=>{var r,l;return null!=(l=null==(r=null==s?void 0:s["get"+e])?void 0:r.call(s,...o))?l:t}),[s,...o]),[n]=j(u),d=D(n);return M((()=>d.current=u()),[u]),F(e,s,((...e)=>{d.current=R(r)?u():e[r],l([])}),[],o),d.current},F=(e,s,t,o=[],r=[],...l)=>B((()=>{var o;const u=null==(o=null==s?void 0:s["add"+e+"Listener"])?void 0:o.call(s,...r,t,...l);return()=>null==s?void 0:s.delListener(u)}),[s,...r,...o,...l]),G=(e,s,t,o=[],r=v,l=[],...u)=>{const n=V(e);return O((e=>C(n,(o=>C(t(e,o),(e=>r(o["set"+s](...u,e),e)))))),[n,s,...o,...l,...u])},Q=(e,s,t=v,o=[],...r)=>{const l=V(e);return O((()=>t(null==l?void 0:l["del"+s](...r))),[l,s,...o,...r])},U=(e,s,t)=>{const o=q(e);return O((()=>null==o?void 0:o[s](t)),[o,s,t])},z=e=>E(n,V(e),[],[]),H=(e,s)=>E(i,V(s),[],[e]),J=(e,s,t,o=0,r,l)=>E(a,V(l),[],[e,s,t,o,r],6),K=(e,s,t)=>E(c,V(t),[],[e,s]),N=(e,s,t,o)=>E(p,V(o),void 0,[e,s,t],4),W=e=>E(w,V(e),[],[]),X=(e,s)=>E(I,V(s),void 0,[e]),Y=(e,s)=>E("Metric",S(s),void 0,[e]),Z=(e,s)=>E("SliceIds",f(s),[],[e]),$=(e,s,t)=>E("SliceRowIds",f(t),[],[e,s]),_=(e,s,t)=>E("RemoteRowId",T(t),void 0,[e,s]),ee=(e,s,t)=>E("LocalRowIds",T(t),[],[e,s]),se=(e,s,t)=>E("LinkedRowIds",T(t),[],[e,s]),te=(e,s)=>E("ResultRowIds",P(s),[],[e]),oe=(e,s,t,o=0,r,l)=>E("ResultSortedRowIds",P(l),[],[e,s,t,o,r],6),re=(e,s,t)=>E("ResultCellIds",P(t),[],[e,s]),le=(e,s,t,o)=>E("ResultCell",P(o),void 0,[e,s,t]),ue=e=>E("CheckpointIds",q(e),[[],void 0,[]]),ne=(e,s)=>E("Checkpoint",q(s),void 0,[e]),de=e=>U(e,"goBackward"),ie=e=>U(e,"goForward");var ae=Object.defineProperty,pe=Object.defineProperties,ce=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,xe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,be=(e,s,t)=>s in e?ae(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,Re=(e,s)=>{for(var t in s||(s={}))xe.call(s,t)&&be(e,t,s[t]);if(Ie)for(var t of Ie(s))we.call(s,t)&&be(e,t,s[t]);return e},Ce=(e,s)=>pe(e,ce(s)),ke=(e,s)=>{var t={};for(var o in e)xe.call(e,o)&&s.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&Ie)for(var o of Ie(e))s.indexOf(o)<0&&we.call(e,o)&&(t[o]=e[o]);return t};const{createElement:ve,useMemo:ge}=e,me=({tableId:e,store:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,tableId:e,rowId:r,store:s,debugIds:l})))),r,l,e),he=({queryId:e,queries:s,resultRowComponent:t=De,getResultRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,queryId:e,rowId:r,queries:s,debugIds:l})))),r,l,e),ye=e=>{const s=T(e);return[s,null==s?void 0:s.getStore()]},Le=({relationshipId:e,relationships:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u,n)=>{const[d,i]=ye(s),a=null==d?void 0:d.getLocalTableId(e),p=u(e,n,d);return fe(b(p,(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:l})))),r,l,n)},Ve=e=>({checkpoints:s,checkpointComponent:t=je,getCheckpointComponentProps:o,separator:r,debugIds:l})=>{const u=q(s);return fe(b(e(ue(u)),(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,checkpoints:u,checkpointId:e,debugIds:l})))),r)},Se=(e,s)=>R(e)?{}:e(s),fe=(e,s,t,o)=>{const r=R(s)||!Array.isArray(e)?e:b(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",r,"}"]:r},Te=({tableId:e,rowId:s,cellId:o,store:r,debugIds:l})=>{var u;return fe(t+(null!=(u=N(e,s,o,r))?u:t),void 0,l,o)},Pe=({tableId:e,rowId:s,store:t,cellComponent:o=Te,getCellComponentProps:r,separator:l,debugIds:u})=>fe(b(K(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:u})))),l,u,s),qe=e=>me(e,H(e.tableId,e.store)),Oe=({valueId:e,store:s,debugIds:o})=>{var r;return fe(t+(null!=(r=X(e,s))?r:t),void 0,o,e)},Be=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Pe,getRowComponentProps:r,separator:l,debugIds:u})=>{const n=f(t),d=null==n?void 0:n.getStore(),i=null==n?void 0:n.getTableId(e),a=$(e,s,n);return fe(b(a,(e=>ve(o,Ce(Re({},Se(r,e)),{key:e,tableId:i,rowId:e,store:d,debugIds:u})))),l,u,s)},Me=({queryId:e,rowId:s,cellId:o,queries:r,debugIds:l})=>{var u;return fe(t+(null!=(u=le(e,s,o,r))?u:t),void 0,l,o)},De=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Me,getResultCellComponentProps:r,separator:l,debugIds:u})=>fe(b(re(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:u})))),l,u,s),je=({checkpoints:e,checkpointId:s,debugIds:o})=>{var r;return fe(null!=(r=ne(s,e))?r:t,void 0,o,s)},Ae=Ve((e=>e[0])),Ee=Ve((e=>R(e[1])?[]:[e[1]])),Fe=Ve((e=>e[2]));exports.BackwardCheckpointsView=Ae,exports.CellView=Te,exports.CheckpointView=je,exports.CurrentCheckpointView=Ee,exports.ForwardCheckpointsView=Fe,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=Be,getSliceComponentProps:o,separator:r,debugIds:l})=>fe(b(Z(e,s),(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,indexId:e,sliceId:r,indexes:s,debugIds:l})))),r,l,e),exports.LinkedRowsView=e=>Le(e,se,e.firstRowId),exports.LocalRowsView=e=>Le(e,ee,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:o})=>{var r;return fe(null!=(r=Y(e,s))?r:t,void 0,o,e)},exports.Provider=({store:s,storesById:t,metrics:o,metricsById:r,indexes:l,indexesById:u,relationships:n,relationshipsById:d,queries:i,queriesById:a,checkpoints:p,checkpointsById:c,children:I})=>{const x=e.useContext(h);return ve(h.Provider,{value:ge((()=>[null!=s?s:x[0],Re(Re({},x[1]),t),null!=o?o:x[2],Re(Re({},x[3]),r),null!=l?l:x[4],Re(Re({},x[5]),u),null!=n?n:x[6],Re(Re({},x[7]),d),null!=i?i:x[8],Re(Re({},x[9]),a),null!=p?p:x[10],Re(Re({},x[11]),c)]),[s,t,o,r,l,u,n,d,i,a,p,c,x])},I)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Pe,getRowComponentProps:r,debugIds:l})=>{const[u,n]=ye(t),d=null==u?void 0:u.getRemoteTableId(e),i=_(e,s,u);return fe(R(d)||R(i)?null:ve(o,Ce(Re({},Se(r,i)),{key:i,tableId:d,rowId:i,store:n,debugIds:l})),void 0,l,s)},exports.ResultCellView=Me,exports.ResultRowView=De,exports.ResultSortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return he(u,oe(u.queryId,t,o,r,l,u.queries))},exports.ResultTableView=e=>he(e,te(e.queryId,e.queries)),exports.RowView=Pe,exports.SliceView=Be,exports.SortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return me(u,J(u.tableId,t,o,r,l,u.store))},exports.TableView=qe,exports.TablesView=({store:e,tableComponent:s=qe,getTableComponentProps:t,separator:o,debugIds:r})=>fe(b(z(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,tableId:o,store:e,debugIds:r})))),o),exports.ValueView=Oe,exports.ValuesView=({store:e,valueComponent:s=Oe,getValueComponentProps:t,separator:o,debugIds:r})=>fe(b(W(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,valueId:o,store:e,debugIds:r})))),o),exports.tableView=me,exports.useAddRowCallback=(e,s,t=[],o,r=v,l=[],u=!0)=>{const n=V(o);return O((t=>C(n,(o=>C(s(t,o),(s=>r(o.addRow(e,s,u),o,s)))))),[n,e,...t,...l,u])},exports.useCell=N,exports.useCellIds=K,exports.useCellIdsListener=(e,s,t,o,r,l)=>F(c,V(l),t,o,[e,s],r),exports.useCellListener=(e,s,t,o,r,l,u)=>F(p,V(u),o,r,[e,s,t],l),exports.useCheckpoint=ne,exports.useCheckpointIds=ue,exports.useCheckpointIdsListener=(e,s,t)=>F("CheckpointIds",q(t),e,s),exports.useCheckpointListener=(e,s,t,o)=>F("Checkpoint",q(o),s,t,[e]),exports.useCheckpoints=e=>y(e,10),exports.useCreateCheckpoints=(e,s,t)=>A(e,s,t),exports.useCreateIndexes=(e,s,t)=>A(e,s,t),exports.useCreateMetrics=(e,s,t)=>A(e,s,t),exports.useCreatePersister=(e,s,t=[],o,r=[])=>{const[,l]=j(),u=M((()=>s(e)),[e,...t]);return B((()=>{var e;return e=function*(){yield null==o?void 0:o(u),l(1)},new Promise(((s,t)=>{var o=s=>{try{l(e.next(s))}catch(e){t(e)}},r=s=>{try{l(e.throw(s))}catch(e){t(e)}},l=e=>e.done?s(e.value):Promise.resolve(e.value).then(o,r);l((e=e.apply(void 0,null)).next())})),()=>{u.destroy()}}),[u,...r]),u},exports.useCreateQueries=(e,s,t)=>A(e,s,t),exports.useCreateRelationships=(e,s,t)=>A(e,s,t),exports.useCreateStore=(e,s=[])=>M(e,s),exports.useDelCellCallback=(e,s,t,o,r,l,u)=>Q(r,p,l,u,e,s,t,o),exports.useDelRowCallback=(e,s,t,o,r)=>Q(t,d,o,r,e,s),exports.useDelTableCallback=(e,s,t,o)=>Q(s,l,t,o,e),exports.useDelTablesCallback=(e,s,t)=>Q(e,u,s,t),exports.useDelValueCallback=(e,s,t,o)=>Q(s,I,t,o,e),exports.useDelValuesCallback=(e,s,t)=>Q(e,x,s,t),exports.useGoBackwardCallback=de,exports.useGoForwardCallback=ie,exports.useGoToCallback=(e,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>C(e(s),(e=>o(t.goTo(e),e)))))),[l,...s,...r])},exports.useIndexes=e=>y(e,4),exports.useLinkedRowIds=se,exports.useLinkedRowIdsListener=(e,s,t,o,r)=>F("LinkedRowIds",T(r),t,o,[e,s]),exports.useLocalRowIds=ee,exports.useLocalRowIdsListener=(e,s,t,o,r)=>F("LocalRowIds",T(r),t,o,[e,s]),exports.useMetric=Y,exports.useMetricListener=(e,s,t,o)=>F("Metric",S(o),s,t,[e]),exports.useMetrics=e=>y(e,2),exports.useQueries=e=>y(e,8),exports.useRedoInformation=e=>{var s;const o=q(e),[,,[r]]=ue(o);return[!R(r),ie(o),r,null!=(s=C(r,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t]},exports.useRelationships=e=>y(e,6),exports.useRemoteRowId=_,exports.useRemoteRowIdListener=(e,s,t,o,r)=>F("RemoteRowId",T(r),t,o,[e,s]),exports.useResultCell=le,exports.useResultCellIds=re,exports.useResultCellIdsListener=(e,s,t,o,r)=>F("ResultCellIds",P(r),t,o,[e,s]),exports.useResultCellListener=(e,s,t,o,r,l)=>F("ResultCell",P(l),o,r,[e,s,t]),exports.useResultRow=(e,s,t)=>E("ResultRow",P(t),{},[e,s]),exports.useResultRowIds=te,exports.useResultRowIdsListener=(e,s,t,o)=>F("ResultRowIds",P(o),s,t,[e]),exports.useResultRowListener=(e,s,t,o,r)=>F("ResultRow",P(r),t,o,[e,s]),exports.useResultSortedRowIds=oe,exports.useResultSortedRowIdsListener=(e,s,t,o,r,l,u,n)=>F("ResultSortedRowIds",P(n),l,u,[e,s,t,o,r]),exports.useResultTable=(e,s)=>E("ResultTable",P(s),{},[e]),exports.useResultTableListener=(e,s,t,o)=>F("ResultTable",P(o),s,t,[e]),exports.useRow=(e,s,t)=>E(d,V(t),{},[e,s]),exports.useRowIds=H,exports.useRowIdsListener=(e,s,t,o,r)=>F(i,V(r),s,t,[e],o),exports.useRowListener=(e,s,t,o,r,l)=>F(d,V(l),t,o,[e,s],r),exports.useSetCellCallback=(e,s,t,o,r,l,u,n)=>G(l,p,o,r,u,n,e,s,t),exports.useSetCheckpointCallback=(e=v,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>{const r=e(s);o(t.addCheckpoint(r),t,r)}))),[l,...s,...r])},exports.useSetPartialRowCallback=(e,s,t,o,r,l,u)=>G(r,"PartialRow",t,o,l,u,e,s),exports.useSetPartialValuesCallback=(e,s,t,o,r)=>G(t,"PartialValues",e,s,o,r),exports.useSetRowCallback=(e,s,t,o,r,l,u)=>G(r,d,t,o,l,u,e,s),exports.useSetTableCallback=(e,s,t,o,r,u)=>G(o,l,s,t,r,u,e),exports.useSetTablesCallback=(e,s,t,o,r)=>G(t,u,e,s,o,r),exports.useSetValueCallback=(e,s,t,o,r,l)=>G(o,I,s,t,r,l,e),exports.useSetValuesCallback=(e,s,t,o,r)=>G(t,x,e,s,o,r),exports.useSliceIds=Z,exports.useSliceIdsListener=(e,s,t,o)=>F("SliceIds",f(o),s,t,[e]),exports.useSliceRowIds=$,exports.useSliceRowIdsListener=(e,s,t,o,r)=>F("SliceRowIds",f(r),t,o,[e,s]),exports.useSortedRowIds=J,exports.useSortedRowIdsListener=(e,s,t,o,r,l,u,n,d)=>F(a,V(d),l,u,[e,s,t,o,r],n),exports.useStore=e=>y(e,0),exports.useTable=(e,s)=>E(l,V(s),{},[e]),exports.useTableIds=z,exports.useTableIdsListener=(e,s,t,o)=>F(n,V(o),e,s,[],t),exports.useTableListener=(e,s,t,o,r)=>F(l,V(r),s,t,[e],o),exports.useTables=e=>E(u,V(e),{}),exports.useTablesListener=(e,s,t,o)=>F(u,V(o),e,s,[],t),exports.useUndoInformation=e=>{var s;const o=q(e),[r,l]=ue(o);return[(u=r,!(0==(e=>e.length)(u))),de(o),l,null!=(s=C(l,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t];var u},exports.useValue=X,exports.useValueIds=W,exports.useValueIdsListener=(e,s,t,o)=>F(w,V(o),e,s,[],t),exports.useValueListener=(e,s,t,o,r)=>F(I,V(r),s,t,[e],o),exports.useValues=e=>E(x,V(e),{}),exports.useValuesListener=(e,s,t,o)=>F(x,V(o),e,s,[],t);
1
+ "use strict";var e=require("react");const s=e=>typeof e,t="",o=s(t),r="Ids",l="Table",u=l+"s",d=l+r,n="Row",i=n+r,a="Sorted"+n+r,p="Cell",c=p+r,I="Value",x=I+"s",w=I+r,b=(e,s)=>e.map(s),R=e=>null==e,C=(e,s,t)=>R(e)?null==t?void 0:t():s(e),k=e=>s(e)==o,v=()=>{},{createContext:g,useContext:m}=e,h=g([]),y=(e,s)=>{const t=m(h);return R(e)?t[s]:k(e)?((e,s)=>C(e,(e=>e[s])))(t[s+1],e):e},L=(e,s)=>{const t=y(e,s);return R(e)||k(e)?t:e},V=e=>L(e,0),S=e=>L(e,2),f=e=>L(e,4),T=e=>L(e,6),P=e=>L(e,8),q=e=>L(e,10),{useCallback:O,useEffect:B,useMemo:M,useRef:D,useState:j}=e,A=(e,s,t=[])=>{const o=M((()=>s(e)),[e,...t]);return B((()=>()=>o.destroy()),[o]),o},E=(e,s,t,o=[],r)=>{const[,l]=j(),u=O((()=>{var r,l;return null!=(l=null==(r=null==s?void 0:s["get"+e])?void 0:r.call(s,...o))?l:t}),[s,...o]),[d]=j(u),n=D(d);return M((()=>n.current=u()),[u]),F(e,s,((...e)=>{n.current=R(r)?u():e[r],l([])}),[],o),n.current},F=(e,s,t,o=[],r=[],...l)=>B((()=>{var o;const u=null==(o=null==s?void 0:s["add"+e+"Listener"])?void 0:o.call(s,...r,t,...l);return()=>null==s?void 0:s.delListener(u)}),[s,...r,...o,...l]),G=(e,s,t,o=[],r=v,l=[],...u)=>{const d=V(e);return O((e=>C(d,(o=>C(t(e,o),(e=>r(o["set"+s](...u,e),e)))))),[d,s,...o,...l,...u])},Q=(e,s,t=v,o=[],...r)=>{const l=V(e);return O((()=>t(null==l?void 0:l["del"+s](...r))),[l,s,...o,...r])},U=(e,s,t)=>{const o=q(e);return O((()=>null==o?void 0:o[s](t)),[o,s,t])},z=e=>E(d,V(e),[],[]),H=(e,s)=>E(i,V(s),[],[e]),J=(e,s,t,o=0,r,l)=>E(a,V(l),[],[e,s,t,o,r],6),K=(e,s,t)=>E(c,V(t),[],[e,s]),N=(e,s,t,o)=>E(p,V(o),void 0,[e,s,t],4),W=e=>E(w,V(e),[],[]),X=(e,s)=>E(I,V(s),void 0,[e]),Y=(e,s)=>E("Metric",S(s),void 0,[e]),Z=(e,s)=>E("SliceIds",f(s),[],[e]),$=(e,s,t)=>E("SliceRowIds",f(t),[],[e,s]),_=(e,s,t)=>E("RemoteRowId",T(t),void 0,[e,s]),ee=(e,s,t)=>E("LocalRowIds",T(t),[],[e,s]),se=(e,s,t)=>E("LinkedRowIds",T(t),[],[e,s]),te=(e,s)=>E("ResultRowIds",P(s),[],[e]),oe=(e,s,t,o=0,r,l)=>E("ResultSortedRowIds",P(l),[],[e,s,t,o,r],6),re=(e,s,t)=>E("ResultCellIds",P(t),[],[e,s]),le=(e,s,t,o)=>E("ResultCell",P(o),void 0,[e,s,t]),ue=e=>E("CheckpointIds",q(e),[[],void 0,[]]),de=(e,s)=>E("Checkpoint",q(s),void 0,[e]),ne=e=>U(e,"goBackward"),ie=e=>U(e,"goForward");var ae=Object.defineProperty,pe=Object.defineProperties,ce=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,xe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,be=(e,s,t)=>s in e?ae(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,Re=(e,s)=>{for(var t in s||(s={}))xe.call(s,t)&&be(e,t,s[t]);if(Ie)for(var t of Ie(s))we.call(s,t)&&be(e,t,s[t]);return e},Ce=(e,s)=>pe(e,ce(s)),ke=(e,s)=>{var t={};for(var o in e)xe.call(e,o)&&s.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&Ie)for(var o of Ie(e))s.indexOf(o)<0&&we.call(e,o)&&(t[o]=e[o]);return t};const{createElement:ve,useMemo:ge}=e,me=({tableId:e,store:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,tableId:e,rowId:r,store:s,debugIds:l})))),r,l,e),he=({queryId:e,queries:s,resultRowComponent:t=De,getResultRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,queryId:e,rowId:r,queries:s,debugIds:l})))),r,l,e),ye=e=>{const s=T(e);return[s,null==s?void 0:s.getStore()]},Le=({relationshipId:e,relationships:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u,d)=>{const[n,i]=ye(s),a=null==n?void 0:n.getLocalTableId(e),p=u(e,d,n);return fe(b(p,(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:l})))),r,l,d)},Ve=e=>({checkpoints:s,checkpointComponent:t=je,getCheckpointComponentProps:o,separator:r,debugIds:l})=>{const u=q(s);return fe(b(e(ue(u)),(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,checkpoints:u,checkpointId:e,debugIds:l})))),r)},Se=(e,s)=>R(e)?{}:e(s),fe=(e,s,t,o)=>{const r=R(s)||!Array.isArray(e)?e:b(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",r,"}"]:r},Te=({tableId:e,rowId:s,cellId:o,store:r,debugIds:l})=>{var u;return fe(t+(null!=(u=N(e,s,o,r))?u:t),void 0,l,o)},Pe=({tableId:e,rowId:s,store:t,cellComponent:o=Te,getCellComponentProps:r,separator:l,debugIds:u})=>fe(b(K(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:u})))),l,u,s),qe=e=>me(e,H(e.tableId,e.store)),Oe=({valueId:e,store:s,debugIds:o})=>{var r;return fe(t+(null!=(r=X(e,s))?r:t),void 0,o,e)},Be=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Pe,getRowComponentProps:r,separator:l,debugIds:u})=>{const d=f(t),n=null==d?void 0:d.getStore(),i=null==d?void 0:d.getTableId(e),a=$(e,s,d);return fe(b(a,(e=>ve(o,Ce(Re({},Se(r,e)),{key:e,tableId:i,rowId:e,store:n,debugIds:u})))),l,u,s)},Me=({queryId:e,rowId:s,cellId:o,queries:r,debugIds:l})=>{var u;return fe(t+(null!=(u=le(e,s,o,r))?u:t),void 0,l,o)},De=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Me,getResultCellComponentProps:r,separator:l,debugIds:u})=>fe(b(re(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:u})))),l,u,s),je=({checkpoints:e,checkpointId:s,debugIds:o})=>{var r;return fe(null!=(r=de(s,e))?r:t,void 0,o,s)},Ae=Ve((e=>e[0])),Ee=Ve((e=>R(e[1])?[]:[e[1]])),Fe=Ve((e=>e[2]));exports.BackwardCheckpointsView=Ae,exports.CellView=Te,exports.CheckpointView=je,exports.CurrentCheckpointView=Ee,exports.ForwardCheckpointsView=Fe,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=Be,getSliceComponentProps:o,separator:r,debugIds:l})=>fe(b(Z(e,s),(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,indexId:e,sliceId:r,indexes:s,debugIds:l})))),r,l,e),exports.LinkedRowsView=e=>Le(e,se,e.firstRowId),exports.LocalRowsView=e=>Le(e,ee,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:o})=>{var r;return fe(null!=(r=Y(e,s))?r:t,void 0,o,e)},exports.Provider=({store:s,storesById:t,metrics:o,metricsById:r,indexes:l,indexesById:u,relationships:d,relationshipsById:n,queries:i,queriesById:a,checkpoints:p,checkpointsById:c,children:I})=>{const x=e.useContext(h);return ve(h.Provider,{value:ge((()=>[null!=s?s:x[0],Re(Re({},x[1]),t),null!=o?o:x[2],Re(Re({},x[3]),r),null!=l?l:x[4],Re(Re({},x[5]),u),null!=d?d:x[6],Re(Re({},x[7]),n),null!=i?i:x[8],Re(Re({},x[9]),a),null!=p?p:x[10],Re(Re({},x[11]),c)]),[s,t,o,r,l,u,d,n,i,a,p,c,x])},I)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Pe,getRowComponentProps:r,debugIds:l})=>{const[u,d]=ye(t),n=null==u?void 0:u.getRemoteTableId(e),i=_(e,s,u);return fe(R(n)||R(i)?null:ve(o,Ce(Re({},Se(r,i)),{key:i,tableId:n,rowId:i,store:d,debugIds:l})),void 0,l,s)},exports.ResultCellView=Me,exports.ResultRowView=De,exports.ResultSortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return he(u,oe(u.queryId,t,o,r,l,u.queries))},exports.ResultTableView=e=>he(e,te(e.queryId,e.queries)),exports.RowView=Pe,exports.SliceView=Be,exports.SortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return me(u,J(u.tableId,t,o,r,l,u.store))},exports.TableView=qe,exports.TablesView=({store:e,tableComponent:s=qe,getTableComponentProps:t,separator:o,debugIds:r})=>fe(b(z(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,tableId:o,store:e,debugIds:r})))),o),exports.ValueView=Oe,exports.ValuesView=({store:e,valueComponent:s=Oe,getValueComponentProps:t,separator:o,debugIds:r})=>fe(b(W(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,valueId:o,store:e,debugIds:r})))),o),exports.tableView=me,exports.useAddRowCallback=(e,s,t=[],o,r=v,l=[],u=!0)=>{const d=V(o);return O((t=>C(d,(o=>C(s(t,o),(s=>r(o.addRow(e,s,u),o,s)))))),[d,e,...t,...l,u])},exports.useCell=N,exports.useCellIds=K,exports.useCellIdsListener=(e,s,t,o,r,l)=>F(c,V(l),t,o,[e,s],r),exports.useCellListener=(e,s,t,o,r,l,u)=>F(p,V(u),o,r,[e,s,t],l),exports.useCheckpoint=de,exports.useCheckpointIds=ue,exports.useCheckpointIdsListener=(e,s,t)=>F("CheckpointIds",q(t),e,s),exports.useCheckpointListener=(e,s,t,o)=>F("Checkpoint",q(o),s,t,[e]),exports.useCheckpoints=e=>y(e,10),exports.useCreateCheckpoints=(e,s,t)=>A(e,s,t),exports.useCreateIndexes=(e,s,t)=>A(e,s,t),exports.useCreateMetrics=(e,s,t)=>A(e,s,t),exports.useCreatePersister=(e,s,t=[],o,r=[])=>{const[,l]=j(),u=M((()=>s(e)),[e,...t]);return B((()=>{var e;return e=function*(){yield null==o?void 0:o(u),l(1)},new Promise(((s,t)=>{var o=s=>{try{l(e.next(s))}catch(e){t(e)}},r=s=>{try{l(e.throw(s))}catch(e){t(e)}},l=e=>e.done?s(e.value):Promise.resolve(e.value).then(o,r);l((e=e.apply(void 0,null)).next())})),()=>{u.destroy()}}),[u,...r]),u},exports.useCreateQueries=(e,s,t)=>A(e,s,t),exports.useCreateRelationships=(e,s,t)=>A(e,s,t),exports.useCreateStore=(e,s=[])=>M(e,s),exports.useDelCellCallback=(e,s,t,o,r,l,u)=>Q(r,p,l,u,e,s,t,o),exports.useDelRowCallback=(e,s,t,o,r)=>Q(t,n,o,r,e,s),exports.useDelTableCallback=(e,s,t,o)=>Q(s,l,t,o,e),exports.useDelTablesCallback=(e,s,t)=>Q(e,u,s,t),exports.useDelValueCallback=(e,s,t,o)=>Q(s,I,t,o,e),exports.useDelValuesCallback=(e,s,t)=>Q(e,x,s,t),exports.useGoBackwardCallback=ne,exports.useGoForwardCallback=ie,exports.useGoToCallback=(e,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>C(e(s),(e=>o(t.goTo(e),e)))))),[l,...s,...r])},exports.useIndexes=e=>y(e,4),exports.useLinkedRowIds=se,exports.useLinkedRowIdsListener=(e,s,t,o,r)=>F("LinkedRowIds",T(r),t,o,[e,s]),exports.useLocalRowIds=ee,exports.useLocalRowIdsListener=(e,s,t,o,r)=>F("LocalRowIds",T(r),t,o,[e,s]),exports.useMetric=Y,exports.useMetricListener=(e,s,t,o)=>F("Metric",S(o),s,t,[e]),exports.useMetrics=e=>y(e,2),exports.useQueries=e=>y(e,8),exports.useRedoInformation=e=>{var s;const o=q(e),[,,[r]]=ue(o);return[!R(r),ie(o),r,null!=(s=C(r,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t]},exports.useRelationships=e=>y(e,6),exports.useRemoteRowId=_,exports.useRemoteRowIdListener=(e,s,t,o,r)=>F("RemoteRowId",T(r),t,o,[e,s]),exports.useResultCell=le,exports.useResultCellIds=re,exports.useResultCellIdsListener=(e,s,t,o,r)=>F("ResultCellIds",P(r),t,o,[e,s]),exports.useResultCellListener=(e,s,t,o,r,l)=>F("ResultCell",P(l),o,r,[e,s,t]),exports.useResultRow=(e,s,t)=>E("ResultRow",P(t),{},[e,s]),exports.useResultRowIds=te,exports.useResultRowIdsListener=(e,s,t,o)=>F("ResultRowIds",P(o),s,t,[e]),exports.useResultRowListener=(e,s,t,o,r)=>F("ResultRow",P(r),t,o,[e,s]),exports.useResultSortedRowIds=oe,exports.useResultSortedRowIdsListener=(e,s,t,o,r,l,u,d)=>F("ResultSortedRowIds",P(d),l,u,[e,s,t,o,r]),exports.useResultTable=(e,s)=>E("ResultTable",P(s),{},[e]),exports.useResultTableListener=(e,s,t,o)=>F("ResultTable",P(o),s,t,[e]),exports.useRow=(e,s,t)=>E(n,V(t),{},[e,s]),exports.useRowIds=H,exports.useRowIdsListener=(e,s,t,o,r)=>F(i,V(r),s,t,[e],o),exports.useRowListener=(e,s,t,o,r,l)=>F(n,V(l),t,o,[e,s],r),exports.useSetCellCallback=(e,s,t,o,r,l,u,d)=>G(l,p,o,r,u,d,e,s,t),exports.useSetCheckpointCallback=(e=v,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>{const r=e(s);o(t.addCheckpoint(r),t,r)}))),[l,...s,...r])},exports.useSetPartialRowCallback=(e,s,t,o,r,l,u)=>G(r,"PartialRow",t,o,l,u,e,s),exports.useSetPartialValuesCallback=(e,s,t,o,r)=>G(t,"PartialValues",e,s,o,r),exports.useSetRowCallback=(e,s,t,o,r,l,u)=>G(r,n,t,o,l,u,e,s),exports.useSetTableCallback=(e,s,t,o,r,u)=>G(o,l,s,t,r,u,e),exports.useSetTablesCallback=(e,s,t,o,r)=>G(t,u,e,s,o,r),exports.useSetValueCallback=(e,s,t,o,r,l)=>G(o,I,s,t,r,l,e),exports.useSetValuesCallback=(e,s,t,o,r)=>G(t,x,e,s,o,r),exports.useSliceIds=Z,exports.useSliceIdsListener=(e,s,t,o)=>F("SliceIds",f(o),s,t,[e]),exports.useSliceRowIds=$,exports.useSliceRowIdsListener=(e,s,t,o,r)=>F("SliceRowIds",f(r),t,o,[e,s]),exports.useSortedRowIds=J,exports.useSortedRowIdsListener=(e,s,t,o,r,l,u,d,n)=>F(a,V(n),l,u,[e,s,t,o,r],d),exports.useStore=e=>y(e,0),exports.useTable=(e,s)=>E(l,V(s),{},[e]),exports.useTableCellIds=(e,s)=>E(l+c,V(s),[],[e]),exports.useTableCellIdsListener=(e,s,t,o,r)=>F(l+c,V(r),s,t,[e],o),exports.useTableIds=z,exports.useTableIdsListener=(e,s,t,o)=>F(d,V(o),e,s,[],t),exports.useTableListener=(e,s,t,o,r)=>F(l,V(r),s,t,[e],o),exports.useTables=e=>E(u,V(e),{}),exports.useTablesListener=(e,s,t,o)=>F(u,V(o),e,s,[],t),exports.useUndoInformation=e=>{var s;const o=q(e),[r,l]=ue(o);return[(u=r,!(0==(e=>e.length)(u))),ne(o),l,null!=(s=C(l,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t];var u},exports.useValue=X,exports.useValueIds=W,exports.useValueIdsListener=(e,s,t,o)=>F(w,V(o),e,s,[],t),exports.useValueListener=(e,s,t,o,r)=>F(I,V(r),s,t,[e],o),exports.useValues=e=>E(x,V(e),{}),exports.useValuesListener=(e,s,t,o)=>F(x,V(o),e,s,[],t);
Binary file
@@ -277,6 +277,7 @@ const createStore = () => {
277
277
  let valuesTouched;
278
278
  let transactions = 0;
279
279
  const changedTableIds = mapNew();
280
+ const changedTableCellIds = mapNew();
280
281
  const changedRowIds = mapNew();
281
282
  const changedCellIds = mapNew();
282
283
  const changedCells = mapNew();
@@ -290,11 +291,13 @@ const createStore = () => {
290
291
  const valuesDefaulted = mapNew();
291
292
  const valuesNonDefaulted = setNew();
292
293
  const tablePoolFunctions = mapNew();
294
+ const tableCellIds = mapNew();
293
295
  const tablesMap = mapNew();
294
296
  const valuesMap = mapNew();
295
297
  const tablesListeners = pairNewMap();
296
298
  const tableIdsListeners = pairNewMap();
297
299
  const tableListeners = pairNewMap();
300
+ const tableCellIdsListeners = pairNewMap();
298
301
  const rowIdsListeners = pairNewMap();
299
302
  const sortedRowIdsListeners = pairNewMap();
300
303
  const rowListeners = pairNewMap();
@@ -483,6 +486,8 @@ const createStore = () => {
483
486
  mapMatch(
484
487
  mapEnsure(tablesMap, tableId, () => {
485
488
  tableIdsChanged(tableId, 1);
489
+ mapSet(tablePoolFunctions, tableId, getPoolFunctions());
490
+ mapSet(tableCellIds, tableId, mapNew());
486
491
  return mapNew();
487
492
  }),
488
493
  table,
@@ -543,7 +548,7 @@ const createStore = () => {
543
548
  }
544
549
  };
545
550
  const getNewRowId = (tableId, reuse) => {
546
- const [getId] = mapEnsure(tablePoolFunctions, tableId, getPoolFunctions);
551
+ const [getId] = mapGet(tablePoolFunctions, tableId);
547
552
  const rowId = getId(reuse);
548
553
  if (!collHas(mapGet(tablesMap, tableId), rowId)) {
549
554
  return rowId;
@@ -554,11 +559,7 @@ const createStore = () => {
554
559
  mapGet(tablesMap, tableId) ?? setValidTable(tableId, {});
555
560
  const delValidTable = (tableId) => setValidTable(tableId, {});
556
561
  const delValidRow = (tableId, tableMap, rowId) => {
557
- const [, releaseId] = mapEnsure(
558
- tablePoolFunctions,
559
- tableId,
560
- getPoolFunctions,
561
- );
562
+ const [, releaseId] = mapGet(tablePoolFunctions, tableId);
562
563
  releaseId(rowId);
563
564
  setValidRow(tableId, tableMap, rowId, {}, true);
564
565
  };
@@ -582,6 +583,7 @@ const createStore = () => {
582
583
  tableIdsChanged(tableId, -1);
583
584
  mapSet(tablesMap, tableId);
584
585
  mapSet(tablePoolFunctions, tableId);
586
+ mapSet(tableCellIds, tableId);
585
587
  }
586
588
  }
587
589
  };
@@ -598,12 +600,23 @@ const createStore = () => {
598
600
  idsChanged(changedTableIds, tableId, added);
599
601
  const rowIdsChanged = (tableId, rowId, added) =>
600
602
  idsChanged(mapEnsure(changedRowIds, tableId, mapNew), rowId, added);
601
- const cellIdsChanged = (tableId, rowId, cellId, added) =>
603
+ const cellIdsChanged = (tableId, rowId, cellId, added) => {
604
+ const cellIds = mapGet(tableCellIds, tableId);
605
+ const count = mapGet(cellIds, cellId) ?? 0;
606
+ if ((count == 0 && added == 1) || (count == 1 && added == -1)) {
607
+ idsChanged(
608
+ mapEnsure(changedTableCellIds, tableId, mapNew),
609
+ cellId,
610
+ added,
611
+ );
612
+ }
613
+ mapSet(cellIds, cellId, count != -added ? count + added : null);
602
614
  idsChanged(
603
615
  mapEnsure(mapEnsure(changedCellIds, tableId, mapNew), rowId, mapNew),
604
616
  cellId,
605
617
  added,
606
618
  );
619
+ };
607
620
  const cellChanged = (tableId, rowId, cellId, oldCell, newCell) =>
608
621
  (mapEnsure(
609
622
  mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
@@ -674,7 +687,7 @@ const createStore = () => {
674
687
  : 0;
675
688
  const callIdsListenersIfChanged = (listeners, changedIds, ids) => {
676
689
  if (!collIsEmpty(changedIds)) {
677
- callListeners(listeners, ids);
690
+ callListeners(listeners, ids, () => mapToObj(changedIds));
678
691
  return 1;
679
692
  }
680
693
  };
@@ -684,6 +697,7 @@ const createStore = () => {
684
697
  );
685
698
  const emptyIdListeners =
686
699
  collIsEmpty(cellIdsListeners[mutator]) &&
700
+ collIsEmpty(tableCellIdsListeners[mutator]) &&
687
701
  collIsEmpty(rowIdsListeners[mutator]) &&
688
702
  emptySortedRowIdListeners &&
689
703
  collIsEmpty(tableIdsListeners[mutator]);
@@ -696,13 +710,27 @@ const createStore = () => {
696
710
  const changes = mutator
697
711
  ? [
698
712
  mapClone(changedTableIds),
713
+ mapClone2(changedTableCellIds),
699
714
  mapClone2(changedRowIds),
700
715
  mapClone(changedCellIds, mapClone2),
701
716
  mapClone(changedCells, mapClone2),
702
717
  ]
703
- : [changedTableIds, changedRowIds, changedCellIds, changedCells];
718
+ : [
719
+ changedTableIds,
720
+ changedTableCellIds,
721
+ changedRowIds,
722
+ changedCellIds,
723
+ changedCells,
724
+ ];
704
725
  if (!emptyIdListeners) {
705
- collForEach(changes[2], (rowCellIds, tableId) =>
726
+ collForEach(changes[1], (changedIds, tableId) =>
727
+ callIdsListenersIfChanged(
728
+ tableCellIdsListeners[mutator],
729
+ changedIds,
730
+ [tableId],
731
+ ),
732
+ );
733
+ collForEach(changes[3], (rowCellIds, tableId) =>
706
734
  collForEach(rowCellIds, (changedIds, rowId) =>
707
735
  callIdsListenersIfChanged(cellIdsListeners[mutator], changedIds, [
708
736
  tableId,
@@ -711,7 +739,7 @@ const createStore = () => {
711
739
  ),
712
740
  );
713
741
  const calledSortableTableIds = setNew();
714
- collForEach(changes[1], (changedIds, tableId) => {
742
+ collForEach(changes[2], (changedIds, tableId) => {
715
743
  if (
716
744
  callIdsListenersIfChanged(rowIdsListeners[mutator], changedIds, [
717
745
  tableId,
@@ -723,7 +751,7 @@ const createStore = () => {
723
751
  }
724
752
  });
725
753
  if (!emptySortedRowIdListeners) {
726
- collForEach(changes[3], (rows, tableId) => {
754
+ collForEach(changes[4], (rows, tableId) => {
727
755
  if (!collHas(calledSortableTableIds, tableId)) {
728
756
  const sortableCellIds = setNew();
729
757
  collForEach(rows, (cells) =>
@@ -746,7 +774,7 @@ const createStore = () => {
746
774
  }
747
775
  if (!emptyOtherListeners) {
748
776
  let tablesChanged;
749
- collForEach(changes[3], (rows, tableId) => {
777
+ collForEach(changes[4], (rows, tableId) => {
750
778
  let tableChanged;
751
779
  collForEach(rows, (cells, rowId) => {
752
780
  let rowChanged;
@@ -821,6 +849,8 @@ const createStore = () => {
821
849
  const getTableIds = () => mapKeys(tablesMap);
822
850
  const getTable = (tableId) =>
823
851
  mapToObj(mapGet(tablesMap, id(tableId)), mapToObj);
852
+ const getTableCellIds = (tableId) =>
853
+ mapKeys(mapGet(tableCellIds, id(tableId)));
824
854
  const getRowIds = (tableId) => mapKeys(mapGet(tablesMap, id(tableId)));
825
855
  const getSortedRowIds = (tableId, cellId, descending, offset = 0, limit) =>
826
856
  arrayMap(
@@ -849,6 +879,8 @@ const createStore = () => {
849
879
  const getValue = (valueId) => mapGet(valuesMap, id(valueId));
850
880
  const hasTables = () => !collIsEmpty(tablesMap);
851
881
  const hasTable = (tableId) => collHas(tablesMap, id(tableId));
882
+ const hasTableCell = (tableId, cellId) =>
883
+ collHas(mapGet(tableCellIds, id(tableId)), id(cellId));
852
884
  const hasRow = (tableId, rowId) =>
853
885
  collHas(mapGet(tablesMap, id(tableId)), id(rowId));
854
886
  const hasCell = (tableId, rowId, cellId) =>
@@ -1159,6 +1191,7 @@ const createStore = () => {
1159
1191
  arrayForEach(
1160
1192
  [
1161
1193
  changedTableIds,
1194
+ changedTableCellIds,
1162
1195
  changedRowIds,
1163
1196
  changedCellIds,
1164
1197
  changedCells,
@@ -1183,6 +1216,8 @@ const createStore = () => {
1183
1216
  ),
1184
1217
  ),
1185
1218
  );
1219
+ const forEachTableCell = (tableId, tableCellCallback) =>
1220
+ mapForEach(mapGet(tableCellIds, id(tableId)), tableCellCallback);
1186
1221
  const forEachRow = (tableId, rowCallback) =>
1187
1222
  collForEach(mapGet(tablesMap, id(tableId)), (rowMap, rowId) =>
1188
1223
  rowCallback(rowId, (cellCallback) => mapForEach(rowMap, cellCallback)),
@@ -1250,6 +1285,7 @@ const createStore = () => {
1250
1285
  const getListenerStats = () => ({
1251
1286
  tables: pairCollSize2(tablesListeners),
1252
1287
  tableIds: pairCollSize2(tableIdsListeners),
1288
+ tableCellIds: pairCollSize2(tableCellIdsListeners),
1253
1289
  table: pairCollSize2(tableListeners),
1254
1290
  rowIds: pairCollSize2(rowIdsListeners),
1255
1291
  sortedRowIds: pairCollSize2(sortedRowIdsListeners),
@@ -1269,6 +1305,7 @@ const createStore = () => {
1269
1305
  getTables,
1270
1306
  getTableIds,
1271
1307
  getTable,
1308
+ getTableCellIds,
1272
1309
  getRowIds,
1273
1310
  getSortedRowIds,
1274
1311
  getRow,
@@ -1279,6 +1316,7 @@ const createStore = () => {
1279
1316
  getValue,
1280
1317
  hasTables,
1281
1318
  hasTable,
1319
+ hasTableCell,
1282
1320
  hasRow,
1283
1321
  hasCell,
1284
1322
  hasValues,
@@ -1317,6 +1355,7 @@ const createStore = () => {
1317
1355
  startTransaction,
1318
1356
  finishTransaction,
1319
1357
  forEachTable,
1358
+ forEachTableCell,
1320
1359
  forEachRow,
1321
1360
  forEachCell,
1322
1361
  forEachValue,
@@ -1334,6 +1373,7 @@ const createStore = () => {
1334
1373
  [TABLES]: [0, tablesListeners],
1335
1374
  [TABLE_IDS]: [0, tableIdsListeners],
1336
1375
  [TABLE]: [1, tableListeners, [getTableIds]],
1376
+ [TABLE + CELL_IDS]: [1, tableCellIdsListeners, [getTableIds]],
1337
1377
  [ROW_IDS]: [1, rowIdsListeners, [getTableIds]],
1338
1378
  [ROW]: [2, rowListeners, [getTableIds, getRowIds]],
1339
1379
  [CELL_IDS]: [2, cellIdsListeners, [getTableIds, getRowIds]],