tinybase 4.4.0-beta.2 → 4.4.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.
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/debug/tools.js +355 -14
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/tools.d.ts +2 -2
- package/lib/types/with-schemas/tools.d.ts +2 -2
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/package.json +1 -1
- package/readme.md +13 -13
package/lib/es6/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),r="type",s="default",I="Listener",c="get",u="add",i="Ids",$="Table",p=$+"s",b=$+i,C="Row",h=C+i,m="Sorted"+C+i,g="Cell",f=g+i,w="Value",y=w+"s",v=w+i;var T=(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 V=Promise,x=isFinite,R=e=>null==e,P=(e,t,l)=>R(e)?null==l?void 0:l():t(e),k=e=>e==n||e==o,S=t=>e(t)==n,A=e=>Array.isArray(e),O=(e,t,l)=>e.slice(t,l),E=e=>e.length,D=e=>T(void 0,null,(function*(){return V.all(e)})),j=t=>{const l=e(t);return k(l)||l==d&&x(t)?l:void 0},N=(e,t)=>e.every(t),G=(e,t)=>e.sort(t),L=(e,t)=>e.forEach(t),M=(e,t=l)=>e.join(t),J=(e,t)=>e.map(t),z=(e,t)=>e.filter(t),W=(e,...t)=>e.push(...t),B=e=>e.pop(),F=(e,...t)=>e.unshift(...t),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),H=_.keys,Q=_.freeze,q=e=>!R(e)&&P(Z(e),(e=>e==_.prototype||R(Z(e))),(()=>!0)),K=(e,t)=>J(_.entries(e),(([e,l])=>t(l,e))),X=e=>E(H(e)),Y=e=>q(e)&&0==X(e),ee=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},te=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},le=(e,t)=>null==e?void 0:e.forEach(t),ae=(e,t)=>null==e?void 0:e.delete(t),ne=e=>new Map(e),oe=(e,t)=>null==e?void 0:e.get(t),de=(e,t)=>le(e,((e,l)=>t(l,e))),re=(e,t)=>{var l;return J([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},se=(e,t,l)=>R(l)?(ae(e,t),e):null==e?void 0:e.set(t,l),Ie=(e,t,l)=>(ee(e,t)||se(e,t,l()),oe(e,t)),ce=e=>e.toUpperCase(),ue=e=>e.toLowerCase(),ie="a ",$e="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",be="Callback",Ce="Del",he="Deps",me=he+"?: React.DependencyList",ge="doRollback?: DoRollback",fe="actions: () => Return, "+ge,we="export",ye="Id",ve="Invalid",Te="Json",Ve=ue(I),xe="?: ",Re=" | undefined",Pe="NonNullable",ke="Partial",Se="Props",Ae="Provider",Oe=`Registers a ${Ve} that will be called`,Ee="Represents",De="rowId: "+ye,je="Schema",Ne="Set",Ge=", descending?: boolean, offset?: number, limit?: number",Le="[]",Me="the Store",Je="Transaction",ze=Je+"Changes",We=ue(Je),Be="Execute a "+We+" to make multiple mutations",Fe="Explicitly starts a "+We,Ue="Explicitly finishes a "+We,_e="the end of the "+We,Ze="void",He=" => "+Ze,Qe="WhenSet",qe=" when setting it",Ke=ie+"string serialization of",Xe=" ",Ye="Gets a callback that can ",et="the ",tt=" the schema for",lt=(e=0,t=0)=>`the ${ft[e]}content of`+(t?Xe+Me:l),at=(e=0,t,a=0)=>ht[t]+Xe+lt(e,1)+(a?" when setting it":l),nt=(e,t=0)=>Ee+` a Row when ${t?"s":"g"}etting ${lt()} the '${e}' `+$,ot=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,dt=(e,t)=>`Calls a function for each ${e} in `+t,rt=e=>"The props passed to a component that renders "+e,st=e=>"A function that takes "+e,It=(e,t=0)=>$e+" listening to changes to "+gt[e]+" in "+gt[t],ct=(e,t,a=0)=>Oe+" whenever "+gt[e]+" in "+gt[t]+" change"+(a?l:"s"),ut=e=>`the '${e}' `+$,it=e=>"the specified Row in "+ut(e),$t=(e,t=0)=>ht[t]+` ${lt()} `+ut(e),pt=(e,t=0)=>ht[t]+` ${lt()} `+it(e),bt=(e,t,l=0)=>ht[l]+` the '${t}' Cell for `+it(e),Ct=(e,t=0)=>ht[t]+` the '${e}' Value`,ht=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ee,"Gets "+Ke,"Sets "+Ke,Oe+" whenever",Ye+"set",Ye+"add",Ye+"set part of",Ye+"delete","Renders","Gets "+Ke+tt,"Sets"+tt,"Deletes"+tt],mt=[c,"has","set","del","set","forEach",u,l],gt=[Me,p,et+$+Xe+i,ie+$,et+C+Xe+i,ie+C,et+g+Xe+i,ie+g,"invalid Cell changes",y,et+w+Xe+i,ie+w,"invalid Value changes",et+"sorted "+C+Xe+i,et+g+Xe+i+" anywhere",et+"number of Rows"],ft=[l,"tabular ","keyed value "],wt=e=>new Set(A(e)||R(e)?e:[e]),yt=(e,t)=>null==e?void 0:e.add(t),vt=/[^A-Za-z]+/,Tt=/[^A-Za-z0-9]+/,Vt=/^( *)\/\*\* *(.*?) *\*\/$/gm,xt=e=>e.includes(a),Rt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return ee(e,n)?Rt(e,t,l,a+1):(se(e,n,l),n)},Pt=e=>e.replace(Vt,((e,t,l)=>{const a=77-E(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),kt=e=>e.flat(1e3),St=(e,t=0)=>M(J(e.split(Tt),((e,l)=>(l>0||t?ce:ue)(O(e,0,1))+O(e,1)))),At=e=>ce(M((e&&!vt.test(e[0])?e:" "+e).split(Tt),"_")),Ot=e=>`/** ${e}. */`,Et=(...e)=>M(z(e,(e=>e)),", "),Dt=(...e)=>"{"+M(e,"; ")+"}",jt=(...e)=>Dt(...J(e,(e=>"readonly "+e))),Nt=()=>{const e=[ne(),ne(),ne(),ne()],t=ne(),a=ne(),n=e=>{const t=e.indexOf(" as ");return-1!=t?O(e,t+4):e};return[(...e)=>M(kt(e),"\n"),(t,l,...a)=>L(a,(a=>L([0,1],(n=>(null!=t?t:n)==n?yt(Ie(e[n],l,wt),a):0)))),(e,a,n,o=l,d=1)=>Rt(t,e,[a,n,o,d]),(e,t,l)=>Rt(a,e,A(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>oe(a,e)===t?e:Rt(a,e,t),(t=0)=>J([...G(re(e[t],((e,t)=>`import {${M(G(te(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>xt(e)!=xt(t)?xt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>re(t,(([e,t,a,n],o)=>[Ot(t),`${n?we+" ":l}type ${o}${a} = ${e};`,l])),()=>re(a,((e,t)=>(e=A(e)?e:[e],W(e,B(e)+";"),[`const ${t} = ${U(e)}`,e,l])))]},Gt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Lt=(e,t,l)=>[t=>K(e,((e,a)=>t(a,St(a,1),l(At(a),`'${a}'`)))),(t,a)=>K(e[t],((e,t)=>a(t,e[r],e[s],l(At(t),`'${t}'`),St(t,1)))),e=>K(t,((t,a)=>e(a,t[r],t[s],l(At(a),`'${a}'`),St(a,1))))],Mt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(p,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...a(e,((e,t,a)=>`'${e}'${R(a)?"?":l}: ${t}`)))+"}"))),at(1,5)),s=e(p+Qe,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),at(1,5,1)),c=e($+ye,"keyof "+r,"A "+$+" Id in "+Me),u=`<TId extends ${c}>`,i=e($,Pe+`<${r}[TId]>`,"A "+$+" in "+Me,u),w=e($+Qe,Pe+`<${s}[TId]>`,"A "+$+" in "+Me+qe,u),y=e(C,i+"<TId>[Id]","A "+C+" in a "+$,u),v=e(C+Qe,w+"<TId>[Id]","A "+C+" in a "+$+qe,u),T=e(g+ye,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,u),V=e(g,Pe+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${c}, CId = ${T}<TId>>`,0),P=e(g+be,`(...[cellId, cell]: ${x}<TId>)`+He,st(ie+g+" Id, and "+g),u),k=e(C+be,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+He+") "+He,st(ie+C+" Id, and a "+g+" iterator"),u),S=e($+g+be,`(cellId: ${T}<TId>, count: number) `+He,st(ie+g+" Id, and count of how many times it appears"),u),A=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${He}] : never`,$+" Ids and callback types",`<TId = ${c}>`,0),O=e($+be,`(...[tableId, forEachRow]: ${A})`+He,st(ie+$+" Id, and a "+C+" iterator"),l),E=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,$e+" returning information about any Cell's changes during a "+We),j=e(p+I,`(${d}, getCellChange: ${D}${Re})`+He,It(1)),N=e(b+I,`(${d})`+He,It(2)),G=e($+I,`(${d}, tableId: ${c}, getCellChange: ${D}${Re})`+He,It(3)),L=e($+f+I,`(${d}, tableId: ${c})`+He,It(14,3)),M=e(C+"Count"+I,`(${d}, tableId: ${c})`+He,It(15,3)),J=e(h+I,`(${d}, tableId: ${c})`+He,It(4,3)),z=e(m+I,"("+Et(d,"tableId: "+c,"cellId: Id"+Re,"descending: boolean","offset: number","limit: number"+Re,"sortedRowIds: Ids")+")"+He,It(13,3)),W=e(C+I,"("+Et(""+d,"tableId: "+c,De,`getCellChange: ${D}${Re}`)+")"+He,It(5,3)),B=e(f+I,"("+Et(""+d,"tableId: "+c,De)+")"+He,It(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${De}, cellId: CId, newCell: ${V}<TId, CId> ${Re}, oldCell: ${V}<TId, CId> ${Re}, getCellChange: ${D} ${Re}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,s,c,i,w,y,v,T,V,P,k,S,O,j,N,G,L,M,J,z,W,B,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+He,It(7,5)),e(ve+g+I,`(${d}, tableId: Id, ${De}, cellId: Id, invalidCells: any[])`+He,It(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Dt(...n(((e,t,a)=>`'${e}'${R(a)?"?":l}: ${t}`))),at(2,5)),r=e(y+Qe,Dt(...n(((e,t)=>`'${e}'?: ${t}`))),at(2,5,1)),s=e(w+ye,"keyof "+d,"A "+w+" Id in "+Me),c=e(w,Pe+`<${d}[VId]>`,"A "+w+" Id in "+Me,`<VId extends ${s}>`),u=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+Me,`<VId = ${s}>`,0),i=e(w+be,`(...[valueId, value]: ${u})`+He,st(ie+w+" Id, and "+w)),$=e("GetValueChange",`(valueId: ${s}) => ValueChange`,$e+" returning information about any Value's changes during a "+We),p=e(y+I,`(${o}, getValueChange: ${$}${Re})`+He,It(9)),b=e(v+I,`(${o})`+He,It(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${c}<VId> ${Re}, oldValue: ${c}<VId> ${Re}, getValueChange: ${$} ${Re}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,c,i,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+He,It(11)),e(ve+w+I,`(${o}, valueId: Id, invalidValues: any[])`+He,It(12))]},(t,l)=>e(Je+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+He,$e+" listening to the completion of a "+We)],Jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),zt=(e,t=l)=>`fluent(() => ${Jt(e,t)})`,Wt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Bt=(e,a,n)=>{const[d,c,T,V,x,P,k,A]=Nt(),[O,E,D]=Lt(e,a,x),[j,N,G]=Mt(T,O,E,D),J=ne(),z=(e=0)=>re(J,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||F(s,Ot(o)),W(s,l),s})),B=(e,t,a,n,o,d=l)=>Rt(J,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,r=l,s=l)=>B(mt[e]+t+(4==e?ke:l)+a,d,n,(n==H?zt:Jt)(mt[e]+(4==e?ke:l)+a,r,e?void 0:n),o,s),_=(e,t,a,n=l,o=l,d=1,r=l)=>B(u+e+I,(n?n+", ":l)+Ve+": "+t+(d?", mutator?: boolean":l),ye,Wt(u+e+I,o,d?"mutator":l),a,r),Z=`./${St(n)}.d`,H=St(n,1),Q=St(H),q=[],K=ne();let X=[],ee=[];if(c(1,Z,H,`create${H} as create${H}Decl`),Y(e))c(null,t,p);else{c(0,t,"CellChange"),c(null,t,i);const[e,a,n,d,I,u,w,y,v,V,P,k,A,D,N,G,J,z,B,F,Y,ee,le,ae]=j(Q,H),de=ne();O(((e,t)=>{const l=`<'${e}'>`,a=[T(t+$,d+l,Ee+` the '${e}' `+$),T(t+$+Qe,I+l,Ee+` the '${e}' `+$+qe),T(t+C,u+l,nt(e)),T(t+C+Qe,w+l,nt(e,1)),T(t+g+ye,y+l,`A Cell Id for the '${e}' `+$),T(t+g+be,V+l,st(`a Cell Id and value from a Row in the '${e}' `+$)),T(t+C+be,P+l,st(`a Row Id from the '${e}' Table, and a Cell iterator`)),T(t+$+g+be,k+l,st(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];se(de,e,a),c(1,Z,...a)})),c(1,Z,e,a,n,y,A,D,N,G,J,z,B,F,Y,ee,le,ae),X=[e,a,n,y,D,N,G,J,z,B,F,Y,ee,le,de],L([[e],[o],[H,"tables: "+a,"tables"],[H]],(([e,t,a],n)=>U(n,l,p,e,at(1,n),t,a))),U(0,l,b,n+Le,ot($,Me)),U(5,l,$,Ze,dt($,Me),"tableCallback: "+A,"tableCallback as any"),O(((e,t,a)=>{const[n,d,r,s,I,c,u,p]=oe(de,e);L([[n],[o],[H,"table: "+d,", table"],[H]],(([n,o,d=l],r)=>U(r,t,$,n,$t(e,r),o,a+d))),U(0,t,$+f,i,ot(g,"the whole of "+ut(e)),l,a),U(5,t,$+g,Ze,dt($+g,"the whole of "+ut(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,C+"Count","number","Gets the number of Rows in the "+ut(e),l,a),U(0,t,h,i,ot(C,ut(e)),l,a),U(0,t,m,i,ot(C,ut(e),1),"cellId?: "+I+Ge,a+", cellId, descending, offset, limit"),U(5,t,C,Ze,dt(C,ut(e)),"rowCallback: "+u,a+", rowCallback as any"),L([[r],[o],[H,", row: "+s,", row"],[H],[H,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>U(r,t,C,n,pt(e,r),De+o,a+", rowId"+d))),U(6,t,C,ye+Re,"Add a new Row to "+ut(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+Le,ot(g,it(e)),De,a+", rowId"),U(5,t,g,Ze,dt(g,it(e)),De+", cellCallback: "+c,a+", rowId, cellCallback as any"),E(e,((n,d,r,s,I)=>{const c="Map"+St(d,1);se(K,d,c);const u=d+(R(r)?Re:l);L([[u],[o],[H,`, cell: ${d} | `+c,", cell as any"],[H]],(([o,d=l,r=l],c)=>U(c,t+I,g,o,bt(e,n,c),De+d,a+", rowId, "+s+r))),U(1,t+I,$+g,o,ht[1]+` the '${n}' Cell anywhere in `+ut(e),l,a+", "+s)}))})),U(0,l,p+Te,Te,at(1,6)),U(2,l,p+Te,H,at(1,7),"tablesJson: "+Te,"tables"+Te),_(p,D,at(1,8)+" changes"),_(b,N,ct(2,0,1)),_($,G,ct(3,0),`tableId: ${n} | null`,"tableId"),_($+f,J,ct(14,3,1),`tableId: ${n} | null`,"tableId"),_(C+"Count",z,ct(15,3),`tableId: ${n} | null`,"tableId"),_(h,B,ct(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,F,ct(13,3,1),Et("tableId: TId",`cellId: ${y}<TId>`+Re,"descending: boolean","offset: number","limit: number"+Re),Et("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,Y,ct(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,ee,ct(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,le,ct(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(O((e=>{var t,a;return null!=(a=null==(t=oe(de,e))?void 0:t[4])?a:l}))," | ")} | null`,"tableId, rowId, cellId"),_(ve+g,ae,Oe+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...te(K)),W(q,".set"+p+je+"({",kt(O(((e,t,a)=>[`[${a}]: {`,...E(e,((e,t,a,n)=>`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${R(a)?l:`, [${x(At(s),`'${s}'`)}]: `+(S(a)?x(At(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(Y(a))c(null,t,y);else{const[e,a,n,d,I,u,i,$,p]=N(Q,H);c(1,Z,e,a,n,I,u,i,$,p),ee=[e,a,n,u,i,$],L([[e],[o],[H,"values: "+a,"values"],[H],[H,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,at(2,n),t,a))),U(0,l,v,n+Le,ot(w,Me)),U(5,l,w,"void",dt(w,Me),"valueCallback: "+I,"valueCallback as any"),D(((e,t,a,n,d)=>{const r="Map"+St(t,1);se(K,t,r),L([[t],[o],[H,`value: ${t} | `+r,", value as any"],[H]],(([t,a,o=l],r)=>U(r,d,w,t,Ct(e,r),a,n+o)))})),U(0,l,y+Te,Te,at(2,6)),U(2,l,y+Te,H,at(2,7),"valuesJson: "+Te,"values"+Te),_(y,u,at(2,8)+" changes"),_(v,i,ct(10,0,1)),_(w,$,ct(11,0),`valueId: ${n} | null`,"valueId"),_(ve+w,p,Oe+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...te(K)),c(0,t,"ValueChange"),W(q,".set"+y+je+"({",D(((e,t,a,n)=>[`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${R(a)?l:`, [${x(At(s),`'${s}'`)}]: `+(S(a)?x(At(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,at(0,0)),U(2,l,"Content",H,at(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,ze,H,`Applies a set of ${ze} to the Store`,"transactionChanges: "+ze,"transactionChanges"),de(K,((e,t)=>T(t,`(cell: ${e}${Re}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",ye,"IdOrNull",Te,"Store",ze),c(0,t,"Get"+ze,"GetTransactionLog"),U(0,l,Te,Te,at(0,6)),U(2,l,Te,H,at(0,7),"tablesAndValuesJson: "+Te,"tablesAndValuesJson"),U(7,l,We,"Return",Be,fe,"actions, doRollback","<Return>"),U(7,l,"start"+Je,H,Fe),U(7,l,"finish"+Je,H,Ue,ge,"doRollback");const le=G(Q,H);return _("Start"+Je,le,Oe+" just before the start of the "+We,l,l,0),_("WillFinish"+Je,le,Oe+" just before "+_e,l,l,0),_("DidFinish"+Je,le,Oe+" just after "+_e,l,l,0),U(7,l,"call"+I,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,H,"Remove a listener that was previously added to "+Me,"listenerId: Id","listenerId"),B("getStore",l,"Store","store",ht[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,H,`create${H} as create${H}Decl`,le),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...z(1),"}"]),[d(...P(0),...k(),we+" interface "+H+" {",...z(0),"}",l,Ot(`Creates a ${H} object`),we+" function create"+H+"(): "+H+";"),d(...P(1),we+" const create"+H+": typeof create"+H+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),X,ee]},Ft=e=>c+e,Ut=e=>Et(Ft(e),Ft(e)+he),_t="debugIds?: boolean",Zt="debugIds={debugIds}",Ht="then"+me,Qt="Parameter",qt=": (parameter: "+Qt+", store: Store) => ",Kt="const contextValue = useContext(Context);",Xt=", based on a parameter",Yt=": ",el="<"+Qt+",>",tl=Qt+"ized"+be+"<"+Qt+">",ll="rowId",al="rowId={rowId}",nl=", separator, debugIds",ol="separator?: ReactElement | string",dl="then?: (store: Store",rl=Et(dl+")"+He,Ht),sl="then, then"+he,Il=ll+Yt+ye,cl="View",ul=(e,...t)=>Et(...t,Ve+": "+e,Ve+me,"mutator?: boolean"),il=(...e)=>Et(...e,Ve,Ve+he,"mutator"),$l=(e,a,n,o,d)=>{const[r,s,c,u,T,V,x,P]=Nt(),[k,S,A]=Lt(e,a,T),O=`./${St(n)}.d`,E=`./${St(n)}-ui-react.d`,D="tinybase/ui-react",j=St(n,1),N=St(j),G=j+"Or"+j+ye,L=N+"Or"+j+ye,J=N+`={${N}}`,z=ne(),B=(e,t,a,n,o,d=l)=>(s(1,E,e+" as "+e+"Decl"),Rt(z,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>B("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,r=l,I=l,c=l)=>(s(1,D,`use${t} as use${t}Core`),U(e,Et(o,K,I),a,ee+`(${L}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,r)),Z=(e,t,l,a)=>B(e,t,1,l,a),H=(e=0)=>re(z,(([t,a,n,o,d],r)=>{const s=e?[we+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[we+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||F(s,Ot(o)),W(s,l),s}));s(null,t,ye,"Store",be,Qt+"ized"+be),s(0,D,"ComponentReturnType"),s(1,D,"useCellIds"),s(null,D,"ExtraProps"),s(0,O,j);const Q=c(G,j+" | "+ye,`Used when you need to refer to a ${j} in a React hook or component`),q=c(Ae+Se,jt(N+xe+j,N+`ById?: {[${N}Id: Id]: ${j}}`),`Used with the ${Ae} 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,q);const K=L+xe+Q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${j}?, {[${N}Id: Id]: ${j}}?]>([])`),U("Create"+j,`create: () => ${j}, create`+me,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const X=U(j,"id?: Id",j+Re,["{",Kt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Ae} component context`),ee=u("useHook",L+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${N} = ${X}(${L} as Id);`,`return hook(...preParams, ((${L} == null || typeof ${L} == 'string')`,`? ${N} : ${L})?.getStore(), ...postParams)`]),te=u("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),le=u("wrap",Et("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;"]),ae=u("useCustomOrDefaultCellIds",Et("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${L}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${L}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),de=T("NullComponent","() => null");if(!Y(e)){const[e,a,n,d,r,w,y,v,T,V,x,P,A,D,G]=o;s(null,O,e,a,n,r,w,y,v,T,V,x,P,A,D),s(0,O,d),s(1,O,j),s(null,t,i,"IdOrNull");const L=u("tableView",`{${N}, rowComponent, getRowComponentProps, customCellIds`+nl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${le}(rowIds.map((rowId) => (`,"<Row","{..."+te+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",al,"customCellIds={customCellIds}",J,Zt,"/>","))",nl,", tableId,",");"]),z=u("getDefaultTableComponent","tableId: Id",M(k(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+de),W=u("getDefaultCellComponent","tableId: Id, cellId: Id",M(k(((e,t,l)=>`tableId == ${l} ? ${M(S(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+de} : `)))+de);_(p,p,e,at(1,0)+pe);const B=_(b,b,n+Le,ot($,Me)+pe);_(Ne+p+be,Ne+p+be,tl,at(1,9)+Xt,Et(Ft(p)+qt+a,Ft(p)+me),Ut(p),el,Et(dl,`tables: ${a})`+He,Ht),sl),_(Ce+p+be,Ce+p+be,be,at(1,12),l,l,l,rl,sl);const F=c(g+Se,jt("tableId?: TId","rowId: Id","cellId?: CId",N+xe+j,_t),rt(ie+g),`<TId extends ${n}, CId extends ${d}<TId>>`),U=c(C+Se,jt("tableId?: TId","rowId: Id",N+xe+j,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ol,_t),rt(ie+C),`<TId extends ${n}>`),H=c($+Se,jt("tableId?: TId",N+xe+j,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),rt(ie+$),`<TId extends ${n}>`),Q=c("Sorted"+$+Se,jt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",N+xe+j,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),rt(ie+"sorted "+$),`<TId extends ${n}>`),q=c(p+Se,jt(N+xe+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ol,_t),rt(lt(1,1)));s(1,E,q,H,Q,U,F),Z(p+cl,"{"+N+", tableComponents, getTableComponentProps"+nl+"}: "+q,[le+`(${B}(${N}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+z+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${te}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Zt,"/>;","}), separator)"],at(1,13)+pe),k(((e,t,a)=>{const[n,o,d,r,I]=oe(G,e);s(null,O,n,o,d,r,I),_(t+$,$,n,$t(e)+pe,l,a),_(t+$+f,$+f,i,ot(g,"the whole of "+ut(e))+pe,l,a);const c=_(t+h,h,i,ot(C,ut(e))+pe,l,a),u=_(t+m,m,i,ot(C,ut(e),1)+pe,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,pt(e)+pe,Il,Et(a,ll)),_(t+f,f,I+Le,ot(g,it(e))+pe,Il,Et(a,ll)),_(Ne+t+$+be,Ne+$+be,tl,$t(e,9)+Xt,Et(Ft($)+qt+o,Ft($)+me),Et(a,Ut($)),el,Et(dl,`table: ${o})`+He,Ht),sl),_(Ce+t+$+be,Ce+$+be,be,$t(e,12),l,a,l,rl,sl),_(Ne+t+C+be,Ne+C+be,tl,pt(e,9)+Xt,Et(Il,Ft(C)+qt+r,Ft(C)+me),Et(a,ll,Ut(C)),el,Et(dl,`row: ${r})`+He,Ht),sl),_("Add"+t+C+be,"Add"+C+be,tl,pt(e,10)+Xt,Et(Ft(C)+qt+r,Ft(C)+me),Et(a,Ut(C)),el,"then?: ("+Et(Il+Re,"store: Store","row: "+r+")"+He,"then"+me)+", reuseRowIds?: boolean",sl+", reuseRowIds"),_(Ne+t+ke+C+be,Ne+ke+C+be,tl,pt(e,11)+Xt,Et(Il,Ft(ke+C)+qt+r,Ft(ke+C)+me),Et(a,ll,Ut(ke+C)),el,Et(dl,`partialRow: ${r})`+He,Ht),sl),_(Ce+t+C+be,Ce+C+be,be,pt(e,12),Il,Et(a,ll),l,rl,sl);const p=Z(t+C+cl,"{rowId, "+N+", cellComponents, getCellComponentProps, customCellIds"+nl+`}: ${U}<'${e}'>`,[le+`(${ae}(customCellIds, `+a+`, rowId, ${N}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+W+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${te}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,al,"cellId={cellId}",J,Zt,"/>;","})"+nl+", rowId)"],pt(e,13)+pe);Z(t+"Sorted"+$+cl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,L+"(props, "+u+`(cellId, descending, offset, limit, props.${N}), ${a}, ${p});`,$t(e,13)+", sorted"+pe),Z(t+$+cl,`props: ${H}<'${e}'>`,L+"(props, "+c+`(props.${N}), ${a}, ${p});`,$t(e,13)+pe),S(e,((n,o,d,r,I)=>{const c="Map"+St(o,1);s(0,O,c),s(1,O,c);const u=_(t+I+g,g,o+(R(d)?Re:l),bt(e,n)+pe,Il,Et(a,ll,r));_(Ne+t+I+g+be,Ne+g+be,tl,bt(e,n,9)+Xt,Et(Il,Ft(g)+qt+o+" | "+c,Ft(g)+me),Et(a,ll,r,Ut(g)),el,Et(dl,`cell: ${o} | ${c})`+He,Ht),sl),_(Ce+t+I+g+be,Ce+g+be,be,bt(e,n,12),Et(Il,"forceDel?: boolean"),Et(a,ll,r,"forceDel"),l,rl,sl),Z(t+I+g+cl,`{rowId, ${N}, debugIds}: `+F+`<'${e}', '${n}'>`,[le+`('' + ${u}(rowId, `+N+`) ?? '', undefined, debugIds, ${r})`],bt(e,n,13)+pe)}))}));const K=M(k((e=>{var t,a;return null!=(a=null==(t=oe(G,e))?void 0:t[4])?a:l}))," | ");_(p+I,p+I,Ze,at(1,8)+" changes",ul(r),il()),_(b+I,b+I,Ze,ct(2,0,1),ul(w),il()),_($+I,$+I,Ze,ct(3,0),ul(y,`tableId: ${n} | null`),il("tableId")),_($+f+I,$+f+I,Ze,ct(14,3,1),ul(v,`tableId: ${n} | null`),il("tableId")),_(h+I,h+I,Ze,ct(4,3,1),ul(V,`tableId: ${n} | null`),il("tableId")),_(m+I,m+I,Ze,ct(13,3,1),ul(x,`tableId: ${n} | null`,"cellId: "+K+Re,"descending: boolean","offset: number","limit: number"+Re),il("tableId","cellId","descending","offset","limit")),_(C+I,C+I,Ze,ct(5,3),ul(P,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(f+I,f+I,Ze,ct(6,5,1),ul(A,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(g+I,g+I,Ze,ct(7,5),ul(D,`tableId: ${n} | null`,ll+": IdOrNull",`cellId: ${K} | null`),il("tableId",ll,"cellId"))}if(!Y(a)){const[e,t,a,n,o,r]=d;s(null,O,...d),s(1,O,j);const i=u("getDefaultValueComponent","valueId: Id",M(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+de);_(y,y,e,at(2,0)+pe);const $=_(v,v,a+Le,ot(w,Me)+pe);_(Ne+y+be,Ne+y+be,tl,at(2,9)+Xt,Et(Ft(y)+qt+t,Ft(y)+me),Ut(y),el,Et(dl,`values: ${t})`+He,Ht),sl),_(Ne+ke+y+be,Ne+ke+y+be,tl,at(2,11)+Xt,Et(Ft(ke+y)+qt+t,Ft(ke+y)+me),Ut(ke+y),el,Et(dl,`partialValues: ${t})`+He,Ht),sl),_(Ce+y+be,Ce+y+be,be,at(2,12),l,l,l,rl,sl);const p=c(w+Se,jt("valueId?: VId",N+xe+j,_t),rt("a Value"),`<VId extends ${a}>`),b=c(y+Se,jt(N+xe+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ol,_t),rt(lt(2,1)));s(1,E,b,p),Z(y+cl,"{"+N+", valueComponents, getValueComponentProps"+nl+"}: "+b,[le+`(${$}(${N}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${te}(getValueComponentProps, valueId)}`,"key={valueId}",J,Zt,"/>;","}), separator)"],at(2,13)+pe),A(((e,t,a,n,o)=>{const d="Map"+St(t,1);s(0,O,d),s(1,O,d);const r=_(o+w,w,t,Ct(e)+pe,l,n);_(Ne+o+w+be,Ne+w+be,tl,Ct(e,9)+Xt,Et(Ft(w)+qt+t+" | "+d,Ft(w)+me),Et(n,Ut(w)),el,Et(dl,`value: ${t} | ${d})`+He,Ht),sl),_(Ce+o+w+be,Ce+w+be,be,Ct(e,12),l,n,l,rl,sl),Z(o+w+cl,`{${N}, debugIds}: ${p}<'${e}'>`,[le+`('' + ${r}(`+N+`) ?? '', undefined, debugIds, ${n})`],Ct(e,13)+pe)})),_(y+I,y+I,Ze,at(2,8)+" changes",ul(n),il()),_(v+I,v+I,Ze,ct(10,0,1),ul(o),il()),_(w+I,w+I,Ze,ct(11,0),ul(r,`valueId: ${a} | null`),il("valueId"))}return Z(Ae,`{${N}, ${N}ById, children}: `+q+" & {children: React.ReactNode}",["{",Kt,"return (","<Context."+Ae,"value={useMemo(",`() => [${N} ?? contextValue[0], {...contextValue[1], ...${N}ById}],`,`[${N}, ${N}ById, contextValue],`,")}>","{children}",`</Context.${Ae}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[r(...V(0),...x(),...H(0)),r(...V(1),...P(),...H(1))]},pl=(e,t,a)=>{if(Y(e)&&Y(t))return[l,l,l,l];const[n,o,d,r]=Bt(e,t,a);return[n,o,...$l(e,t,a,d,r)]},bl=JSON.parse;var Cl=Object.defineProperty,hl=Object.defineProperties,ml=Object.getOwnPropertyDescriptors,gl=Object.getOwnPropertySymbols,fl=Object.prototype.hasOwnProperty,wl=Object.prototype.propertyIsEnumerable,yl=(e,t,l)=>t in e?Cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,vl=(e,t)=>{for(var l in t||(t={}))fl.call(t,l)&&yl(e,l,t[l]);if(gl)for(var l of gl(t))wl.call(t,l)&&yl(e,l,t[l]);return e},Tl=(e,t)=>hl(e,ml(t)),Vl=(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 xl="prettier/",Rl=xl+"plugins/",Pl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},kl=Gt((e=>{const t=()=>{const t=bl(e.getTablesSchemaJson());return!Y(t)||N(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ne();if(N(a,(t=>N(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=Ie(n,a,(()=>[j(o),ne(),[0],0])),[r,s,[I]]=d,c=Ie(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),se(s,o,c),d[3]++,r==j(o)})))))return t[l]={},le(n,(([e,,[,n],o],d)=>{t[l][d]=vl({[r]:e},o==E(a)?{[s]:n}:{})})),1}))?t:{}},l=()=>{const t=bl(e.getValuesSchemaJson());return Y(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:j(l)}})),t},a=e=>pl(t(),l(),e),n=e=>Vl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"],l=[];let n;try{n=(yield import(xl+"standalone")).format,W(l,yield import(Rl+"estree"),yield import(Rl+"typescript"))}catch(e){n=e=>Vl(void 0,null,(function*(){return e}))}return yield D(J(a(e),((e,a)=>Vl(void 0,null,(function*(){return Pt(yield n(e,Tl(vl({},Pl),{plugins:l,filepath:"_."+t[a]})))})))))}));return Q({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})})),vl({totalTables:l,totalRows:a,totalCells:n,totalValues:E(e.getValueIds()),jsonLength:E(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{kl as createTools};
|
|
1
|
+
const e=e=>typeof e,l="tinybase",t="",a=",",n=e(t),o=e(!0),d=e(0),r="type",s="default",I="Listener",u="get",c="add",$="Has",i="Ids",b="Table",p=b+"s",C=b+i,h="Row",m=h+i,g="Sorted"+h+i,f="Cell",w=f+i,y="Value",v=y+"s",T=y+i;var x=(e,l,t)=>new Promise(((a,n)=>{var o=e=>{try{r(t.next(e))}catch(e){n(e)}},d=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((t=t.apply(e,l)).next())}));const V=Promise,R=isFinite,P=e=>null==e,A=(e,l,t)=>P(e)?null==t?void 0:t():l(e),k=e=>e==n||e==o,S=l=>e(l)==n,O=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,D=e=>x(void 0,null,(function*(){return V.all(e)})),N=l=>{const t=e(l);return k(t)||t==d&&R(l)?t:void 0},j=(e,l)=>e.every(l),G=(e,l)=>e.sort(l),H=(e,l)=>e.forEach(l),M=(e,l=t)=>e.join(l),J=(e,l)=>e.map(l),z=(e,l)=>e.filter(l),W=(e,...l)=>e.push(...l),B=e=>e.pop(),F=(e,...l)=>e.unshift(...l),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),Q=_.keys,q=_.freeze,K=e=>!P(e)&&A(Z(e),(e=>e==_.prototype||P(Z(e))),(()=>!0)),X=(e,l)=>J(_.entries(e),(([e,t])=>l(t,e))),Y=e=>L(Q(e)),ee=e=>K(e)&&0==Y(e),le=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},te=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},ae=(e,l)=>null==e?void 0:e.forEach(l),ne=(e,l)=>null==e?void 0:e.delete(l),oe=e=>new Map(e),de=(e,l)=>null==e?void 0:e.get(l),re=(e,l)=>ae(e,((e,t)=>l(t,e))),se=(e,l)=>{var t;return J([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>l(t,e)))},Ie=(e,l,t)=>P(t)?(ne(e,l),e):null==e?void 0:e.set(l,t),ue=(e,l,t)=>(le(e,l)||Ie(e,l,t()),de(e,l)),ce=e=>e.toUpperCase(),$e=e=>e.toLowerCase(),ie="a ",be="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",Ce="Callback",he="Count",me="Del",ge="Deps",fe=ge+"?: React.DependencyList",we="doRollback?: DoRollback",ye="actions: () => Return, "+we,ve="export",Te="Id",xe="Invalid",Ve="Json",Re=$e(I),Pe="?: ",Ae=" | undefined",ke="NonNullable",Se="Partial",Oe="Props",Ee="Provider",Le=`Registers a ${Re} that will be called`,De="Represents",Ne="rowId: "+Te,je="Schema",Ge="Set",He=", descending?: boolean, offset?: number, limit?: number",Me="[]",Je="the Store",ze="Transaction",We=ze+"Changes",Be=$e(ze),Fe="Execute a "+Be+" to make multiple mutations",Ue="Explicitly starts a "+Be,_e="Explicitly finishes a "+Be,Ze="the end of the "+Be,Qe="void",qe=" => "+Qe,Ke="WhenSet",Xe=" when setting it",Ye=ie+"string serialization of",el=" ",ll="Gets a callback that can ",tl="the ",al=" the schema for",nl=(e=0)=>e?"the existence of ":"",ol=(e=0,l=0,a=0)=>nl(a)+`the ${vl[e]}content of`+(l?el+Je:t),dl=(e=0,l,a=0,n=0)=>fl[l]+el+nl(n)+ol(e,1)+(a?" when setting it":t),rl=(e,l=0)=>De+` a Row when ${l?"s":"g"}etting ${ol()} the '${e}' `+b,sl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,Il=(e,l)=>`Calls a function for each ${e} in `+l,ul=e=>"The props passed to a component that renders "+e,cl=e=>"A function that takes "+e,$l=(e,l=0,t=0)=>be+" listening to changes to "+nl(t)+yl[e]+" in "+yl[l],il=(e,l,a=0,n=0)=>Le+" whenever "+nl(n)+yl[e]+" in "+yl[l]+" change"+(a?t:"s"),bl=e=>`the '${e}' `+b,pl=e=>"the specified Row in "+bl(e),Cl=(e,l=0,t=0)=>fl[l]+el+ol(0,0,t)+el+bl(e),hl=(e,l=0,t=0)=>fl[l]+` ${ol(0,0,t)} `+pl(e),ml=(e,l,t=0,a=0)=>fl[t]+el+nl(a)+`the '${l}' Cell for `+pl(e),gl=(e,l=0,t=0)=>fl[l]+el+nl(t)+`the '${e}' Value`,fl=["Gets","Checks existence of","Sets","Deletes","Sets part of",De,"Gets "+Ye,"Sets "+Ye,Le+" whenever",ll+"set",ll+"add",ll+"set part of",ll+"delete","Renders","Gets "+Ye+al,"Sets"+al,"Deletes"+al],wl=[u,"has","set","del","set","forEach",c,t],yl=[Je,p,tl+b+el+i,ie+b,tl+h+el+i,ie+h,tl+f+el+i,ie+f,"invalid Cell changes",v,tl+y+el+i,ie+y,"invalid Value changes",tl+"sorted "+h+el+i,tl+f+el+i+" anywhere",tl+"number of Rows",ie+f+" anywhere"],vl=[t,"tabular ","keyed value "],Tl=e=>new Set(O(e)||P(e)?e:[e]),xl=(e,l)=>null==e?void 0:e.add(l),Vl=/[^A-Za-z]+/,Rl=/[^A-Za-z0-9]+/,Pl=/^( *)\/\*\* *(.*?) *\*\/$/gm,Al=e=>e.includes(a),kl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return le(e,n)?kl(e,l,t,a+1):(Ie(e,n,t),n)},Sl=e=>e.replace(Pl,((e,l,t)=>{const a=77-L(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Ol=e=>e.flat(1e3),El=(e,l=0)=>M(J(e.split(Rl),((e,t)=>(t>0||l?ce:$e)(E(e,0,1))+E(e,1)))),Ll=e=>ce(M((e&&!Vl.test(e[0])?e:" "+e).split(Rl),"_")),Dl=e=>`/** ${e}. */`,Nl=(...e)=>M(z(e,(e=>e)),", "),jl=(...e)=>"{"+M(e,"; ")+"}",Gl=(...e)=>jl(...J(e,(e=>"readonly "+e))),Hl=()=>{const e=[oe(),oe(),oe(),oe()],l=oe(),a=oe(),n=e=>{const l=e.indexOf(" as ");return-1!=l?E(e,l+4):e};return[(...e)=>M(Ol(e),"\n"),(l,t,...a)=>H(a,(a=>H([0,1],(n=>(null!=l?l:n)==n?xl(ue(e[n],t,Tl),a):0)))),(e,a,n,o=t,d=1)=>kl(l,e,[a,n,o,d]),(e,l,t)=>kl(a,e,O(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>de(a,e)===l?e:kl(a,e,l),(l=0)=>J([...G(se(e[l],((e,l)=>`import {${M(G(te(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>Al(e)!=Al(l)?Al(e)?-1:1:e>l?1:-1)),t],(e=>e.replace("{React}","React"))),()=>se(l,(([e,l,a,n],o)=>[Dl(l),`${n?ve+" ":t}type ${o}${a} = ${e};`,t])),()=>se(a,((e,l)=>(e=O(e)?e:[e],W(e,B(e)+";"),[`const ${l} = ${U(e)}`,e,t])))]},Ml=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},Jl=(e,l,t)=>[l=>X(e,((e,a)=>l(a,El(a,1),t(Ll(a),`'${a}'`)))),(l,a)=>X(e[l],((e,l)=>a(l,e[r],e[s],t(Ll(l),`'${l}'`),El(l,1)))),e=>X(l,((l,a)=>e(a,l[r],l[s],t(Ll(a),`'${a}'`),El(a,1))))],zl=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(p,jl(...l((e=>`'${e}'?: {[rowId: Id]: `+jl(...a(e,((e,l,a)=>`'${e}'${P(a)?"?":t}: ${l}`)))+"}"))),dl(1,5)),s=e(p+Ke,jl(...l((e=>`'${e}'?: {[rowId: Id]: `+jl(...a(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),dl(1,5,1)),u=e(b+Te,"keyof "+r,"A "+b+" Id in "+Je),c=`<TId extends ${u}>`,i=e(b,ke+`<${r}[TId]>`,"A "+b+" in "+Je,c),y=e(b+Ke,ke+`<${s}[TId]>`,"A "+b+" in "+Je+Xe,c),v=e(h,i+"<TId>[Id]","A "+h+" in a "+b,c),T=e(h+Ke,y+"<TId>[Id]","A "+h+" in a "+b+Xe,c),x=e(f+Te,`Extract<keyof ${v}<TId>, Id>`,"A "+f+" Id in a "+h,c),V=e(f,ke+`<${r}[TId]>[Id][CId]`,"A "+f+" in a "+h,`<TId extends ${u}, CId extends ${x}<TId>>`),R=e("CellIdCellArray",`CId extends ${x}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,f+" Ids and types in a "+h,`<TId extends ${u}, CId = ${x}<TId>>`,0),A=e(f+Ce,`(...[cellId, cell]: ${R}<TId>)`+qe,cl(ie+f+" Id, and "+f),c),k=e(h+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+qe+") "+qe,cl(ie+h+" Id, and a "+f+" iterator"),c),S=e(b+f+Ce,`(cellId: ${x}<TId>, count: number) `+qe,cl(ie+f+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${u} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${qe}] : never`,b+" Ids and callback types",`<TId = ${u}>`,0),E=e(b+Ce,`(...[tableId, forEachRow]: ${O})`+qe,cl(ie+b+" Id, and a "+h+" iterator"),t),L=e("TableIdRowIdCellIdArray",`TId extends ${u} ? [tableId: TId, rowId: Id, cellId: ${x}<TId>] : never`,"Ids for GetCellChange",`<TId = ${u}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,be+" returning information about any Cell's changes during a "+Be),N=e($+p+I,`(${d}, hasTables: boolean)`+qe,$l(1,0,1)),j=e(p+I,`(${d}, getCellChange: ${D}${Ae})`+qe,$l(1)),G=e(C+I,`(${d})`+qe,$l(2)),H=e($+b+I,`(${d}, tableId: ${u}, hasTable: boolean)`+qe,$l(3,0,1)),M=e(b+I,`(${d}, tableId: ${u}, getCellChange: ${D}${Ae})`+qe,$l(3)),J=e(b+w+I,`(${d}, tableId: ${u})`+qe,$l(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${d}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${u}, CId = ${x}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${u} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${u}>`,0),B=e($+b+f+I,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+qe,$l(16,3,1)),F=e(h+"Count"+I,`(${d}, tableId: ${u})`+qe,$l(15,3)),U=e(m+I,`(${d}, tableId: ${u})`+qe,$l(4,3)),_=e(g+I,"("+Nl(d,"tableId: "+u,"cellId: Id"+Ae,"descending: boolean","offset: number","limit: number"+Ae,"sortedRowIds: Ids")+")"+qe,$l(13,3)),Z=e($+h+I,"("+Nl(""+d,"tableId: "+u,Ne,"hasRow: boolean")+")"+qe,$l(5,3,1)),Q=e(h+I,"("+Nl(""+d,"tableId: "+u,Ne,`getCellChange: ${D}${Ae}`)+")"+qe,$l(5,3)),q=e(w+I,"("+Nl(""+d,"tableId: "+u,Ne)+")"+qe,$l(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${d}, tableId: TId, ${Ne}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${u}, CId = ${x}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${u} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${u}>`,0),Y=e($+f+I,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+qe,$l(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${d}, tableId: TId, ${Ne}, cellId: CId, newCell: ${V}<TId, CId> ${Ae}, oldCell: ${V}<TId, CId> ${Ae}, getCellChange: ${D} ${Ae}] : never`,"Cell args for CellListener",`<TId extends ${u}, CId = ${x}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${u} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${u}>`,0);return[r,s,u,i,y,v,T,x,V,A,k,S,E,N,j,G,H,M,J,B,F,U,_,Z,Q,q,Y,e(f+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+qe,$l(7,5)),e(xe+f+I,`(${d}, tableId: Id, ${Ne}, cellId: Id, invalidCells: any[])`+qe,$l(8))]},(l,a)=>{const o=l+": "+a,d=e(v,jl(...n(((e,l,a)=>`'${e}'${P(a)?"?":t}: ${l}`))),dl(2,5)),r=e(v+Ke,jl(...n(((e,l)=>`'${e}'?: ${l}`))),dl(2,5,1)),s=e(y+Te,"keyof "+d,"A "+y+" Id in "+Je),u=e(y,ke+`<${d}[VId]>`,"A "+y+" Id in "+Je,`<VId extends ${s}>`),c=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${u}<VId>] : never`,y+" Ids and types in "+Je,`<VId = ${s}>`,0),i=e(y+Ce,`(...[valueId, value]: ${c})`+qe,cl(ie+y+" Id, and "+y)),b=e("GetValueChange",`(valueId: ${s}) => ValueChange`,be+" returning information about any Value's changes during a "+Be),p=e($+v+I,`(${o}, hasValues: boolean)`+qe,$l(9,0,1)),C=e(v+I,`(${o}, getValueChange: ${b}${Ae})`+qe,$l(9)),h=e(T+I,`(${o})`+qe,$l(10)),m=e($+y+I,`(${o}, valueId: ValueId, hasValue: boolean)`+qe,$l(11,0,1)),g=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${u}<VId> ${Ae}, oldValue: ${u}<VId> ${Ae}, getValueChange: ${b} ${Ae}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,u,i,p,C,h,m,e(y+I,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+g+")"+qe,$l(11)),e(xe+y+I,`(${o}, valueId: Id, invalidValues: any[])`+qe,$l(12))]},(l,t)=>e(ze+I,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+qe,be+" listening to the completion of a "+Be)],Wl=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Bl=(e,l=t)=>`fluent(() => ${Wl(e,l)})`,Fl=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Ul=(e,a,n)=>{const[d,u,x,V,R,A,k,O]=Hl(),[E,L,D]=Jl(e,a,R),[N,j,G]=zl(x,E,L,D),J=oe(),z=(e=0)=>se(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||F(s,Dl(o)),W(s,t),s})),B=(e,l,a,n,o,d=t)=>kl(J,e,[l,a,n,o,d]),U=(e,l,a,n,o,d=t,r=t,s=t)=>B(wl[e]+l+(4==e?Se:t)+a,d,n,(n==Q?Bl:Wl)(wl[e]+(4==e?Se:t)+a,r,e?void 0:n),o,s),_=(e,l,a,n=t,o=t,d=1,r=t)=>B(c+e+I,(n?n+", ":t)+Re+": "+l+(d?", mutator?: boolean":t),Te,Fl(c+e+I,o,d?"mutator":t),a,r),Z=`./${El(n)}.d`,Q=El(n,1),q=El(Q),K=[],X=oe();let Y=[],le=[];if(u(1,Z,Q,`create${Q} as create${Q}Decl`),ee(e))u(null,l,p);else{u(0,l,"CellChange"),u(null,l,i);const[e,a,n,d,I,c,y,v,T,V,A,k,O,D,j,G,J,z,B,F,ee,le,ae,ne,re,se,ue,ce,$e]=N(q,Q),ie=oe();E(((e,l)=>{const t=`<'${e}'>`,a=[x(l+b,d+t,De+` the '${e}' `+b),x(l+b+Ke,I+t,De+` the '${e}' `+b+Xe),x(l+h,c+t,rl(e)),x(l+h+Ke,y+t,rl(e,1)),x(l+f+Te,v+t,`A Cell Id for the '${e}' `+b),x(l+f+Ce,V+t,cl(`a Cell Id and value from a Row in the '${e}' `+b)),x(l+h+Ce,A+t,cl(`a Row Id from the '${e}' Table, and a Cell iterator`)),x(l+b+f+Ce,k+t,cl(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ie,e,a),u(1,Z,...a)})),u(1,Z,e,a,n,v,O,D,j,G,J,z,B,F,ee,le,ae,ne,re,se,ue,ce,$e),Y=[e,a,n,v,D,j,G,J,z,B,F,ee,le,ae,ne,re,se,ue,ce,ie],H([[e],[o],[Q,"tables: "+a,"tables"],[Q]],(([e,l,a],n)=>U(n,t,p,e,dl(1,n),l,a))),U(0,t,C,n+Me,sl(b,Je)),U(5,t,b,Qe,Il(b,Je),"tableCallback: "+O,"tableCallback as any"),E(((e,l,a)=>{const[n,d,r,s,I,u,c,$]=de(ie,e);H([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,o,d=t],r)=>U(r,l,b,n,Cl(e,r),o,a+d))),U(0,l,b+w,i,sl(f,"the whole of "+bl(e)),t,a),U(5,l,b+f,Qe,Il(b+f,"the whole of "+bl(e)),"tableCellCallback: "+$,a+", tableCellCallback as any"),U(0,l,h+he,"number","Gets the number of Rows in the "+bl(e),t,a),U(0,l,m,i,sl(h,bl(e)),t,a),U(0,l,g,i,sl(h,bl(e),1),"cellId?: "+I+He,a+", cellId, descending, offset, limit"),U(5,l,h,Qe,Il(h,bl(e)),"rowCallback: "+c,a+", rowCallback as any"),H([[r],[o],[Q,", row: "+s,", row"],[Q],[Q,", partialRow: "+s,", partialRow"]],(([n,o=t,d=t],r)=>U(r,l,h,n,hl(e,r),Ne+o,a+", rowId"+d))),U(6,l,h,Te+Ae,"Add a new Row to "+bl(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),U(0,l,w,I+Me,sl(f,pl(e)),Ne,a+", rowId"),U(5,l,f,Qe,Il(f,pl(e)),Ne+", cellCallback: "+u,a+", rowId, cellCallback as any"),L(e,((n,d,r,s,I)=>{const u="Map"+El(d,1);Ie(X,d,u);const c=d+(P(r)?Ae:t);H([[c],[o],[Q,`, cell: ${d} | `+u,", cell as any"],[Q]],(([o,d=t,r=t],u)=>U(u,l+I,f,o,ml(e,n,u),Ne+d,a+", rowId, "+s+r))),U(1,l+I,b+f,o,fl[1]+` the '${n}' Cell anywhere in `+bl(e),t,a+", "+s)}))})),U(0,t,p+Ve,Ve,dl(1,6)),U(2,t,p+Ve,Q,dl(1,7),"tablesJson: "+Ve,"tables"+Ve),_($+p,D,dl(1,8,0,1)+" changes"),_(p,j,dl(1,8)+" changes"),_(C,G,il(2,0,1)),_($+b,J,il(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(b,z,il(3,0),`tableId: ${n} | null`,"tableId"),_(b+w,B,il(14,3,1),`tableId: ${n} | null`,"tableId"),_($+b+f,F,il(16,3,0,1),`tableId: ${n} | null, cellId: ${M(E((e=>{var l,a;return null!=(a=null==(l=de(ie,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, cellId"),_(h+he,ee,il(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,il(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,ae,il(13,3,1),Nl("tableId: TId",`cellId: ${v}<TId>`+Ae,"descending: boolean","offset: number","limit: number"+Ae),Nl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_($+h,ne,il(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(h,re,il(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,se,il(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_($+f,ue,il(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>{var l,a;return null!=(a=null==(l=de(ie,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),_(f,ce,il(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>{var l,a;return null!=(a=null==(l=de(ie,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),_(xe+f,$e,Le+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),u(1,Z,...te(X)),W(K,".set"+p+je+"({",Ol(E(((e,l,a)=>[`[${a}]: {`,...L(e,((e,l,a,n)=>`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${P(a)?t:`, [${R(Ll(s),`'${s}'`)}]: `+(S(a)?R(Ll(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(ee(a))u(null,l,v);else{const[e,a,n,d,I,c,i,b,p,C,h]=j(q,Q);u(1,Z,e,a,n,I,c,i,b,p,C,h),le=[e,a,n,c,i,b,p,C],H([[e],[o],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,l,a],n)=>U(n,t,v,e,dl(2,n),l,a))),U(0,t,T,n+Me,sl(y,Je)),U(5,t,y,"void",Il(y,Je),"valueCallback: "+I,"valueCallback as any"),D(((e,l,a,n,d)=>{const r="Map"+El(l,1);Ie(X,l,r),H([[l],[o],[Q,`value: ${l} | `+r,", value as any"],[Q]],(([l,a,o=t],r)=>U(r,d,y,l,gl(e,r),a,n+o)))})),U(0,t,v+Ve,Ve,dl(2,6)),U(2,t,v+Ve,Q,dl(2,7),"valuesJson: "+Ve,"values"+Ve),_($+v,c,dl(2,8,0,1)+" changes"),_(v,i,dl(2,8)+" changes"),_(T,b,il(10,0,1)),_($+y,p,il(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(y,C,il(11,0),`valueId: ${n} | null`,"valueId"),_(xe+y,h,Le+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),u(1,Z,...te(X)),u(0,l,"ValueChange"),W(K,".set"+v+je+"({",D(((e,l,a,n)=>[`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${P(a)?t:`, [${R(Ll(s),`'${s}'`)}]: `+(S(a)?R(Ll(a),`'${a}'`):a)}},`])),"})")}U(0,t,"Content",`[${p}, ${v}]`,dl(0,0)),U(2,t,"Content",Q,dl(0,2),`[tables, values]: [${p}, ${v}]`,"[tables, values]"),U(2,t,We,Q,`Applies a set of ${We} to the Store`,"transactionChanges: "+We,"transactionChanges"),re(X,((e,l)=>x(l,`(cell: ${e}${Ae}) => `+e,`Takes a ${e} Cell value and returns another`))),u(null,l,"DoRollback",Te,"IdOrNull",Ve,"Store",We),u(0,l,"Get"+We,"GetTransactionLog"),U(0,t,Ve,Ve,dl(0,6)),U(2,t,Ve,Q,dl(0,7),"tablesAndValuesJson: "+Ve,"tablesAndValuesJson"),U(7,t,Be,"Return",Fe,ye,"actions, doRollback","<Return>"),U(7,t,"start"+ze,Q,Ue),U(7,t,"finish"+ze,Q,_e,we,"doRollback");const ae=G(q,Q);return _("Start"+ze,ae,Le+" just before the start of the "+Be,t,t,0),_("WillFinish"+ze,ae,Le+" just before "+Ze,t,t,0),_("DidFinish"+ze,ae,Le+" just after "+Ze,t,t,0),U(7,t,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,t,I,Q,"Remove a listener that was previously added to "+Je,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",fl[0]+" the underlying Store object"),u(1,l,"createStore"),u(1,Z,Q,`create${Q} as create${Q}Decl`,ae),R("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),R(q,["{",...z(1),"}"]),[d(...A(0),...k(),ve+" interface "+Q+" {",...z(0),"}",t,Dl(`Creates a ${Q} object`),ve+" function create"+Q+"(): "+Q+";"),d(...A(1),ve+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,le]},_l=e=>u+e,Zl=e=>Nl(_l(e),_l(e)+ge),Ql="debugIds?: boolean",ql="debugIds={debugIds}",Kl="then"+fe,Xl="Parameter",Yl=": (parameter: "+Xl+", store: Store) => ",et="const contextValue = useContext(Context);",lt=", based on a parameter",tt=": ",at="<"+Xl+",>",nt=Xl+"ized"+Ce+"<"+Xl+">",ot="rowId",dt="rowId={rowId}",rt=", separator, debugIds",st="separator?: ReactElement | string",It="then?: (store: Store",ut=Nl(It+")"+qe,Kl),ct="then, then"+ge,$t=ot+tt+Te,it="View",bt=(e,...l)=>Nl(...l,Re+": "+e,Re+fe,"mutator?: boolean"),pt=(...e)=>Nl(...e,Re,Re+ge,"mutator"),Ct=(e,a,n,r,s)=>{const[u,c,x,V,R,A,k,S]=Hl(),[O,E,L]=Jl(e,a,R),D=`./${El(n)}.d`,N=`./${El(n)}-ui-react.d`,j="tinybase/ui-react",G=El(n,1),H=El(G),J=G+"Or"+G+Te,z=H+"Or"+G+Te,B=H+`={${H}}`,U=oe(),_=(e,l,a,n,o,d=t)=>(c(1,N,e+" as "+e+"Decl"),kl(U,e,[l,a,n,o,d])),Z=(e,l,a,n,o,d=t)=>_("use"+e,l,a,n,o,d),Q=(e,l,a,n,o=t,d=t,r=t,s=t,I=t)=>(c(1,j,`use${l} as use${l}Core`),Z(e,Nl(o,le,s),a,ae+`(${z}, use${l}Core, [`+(d||t)+(I?"], ["+I:t)+"]);",n,r)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>se(U,(([l,a,n,o,d],r)=>{const s=e?[ve+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[ve+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||F(s,Dl(o)),W(s,t),s}));c(null,l,Te,"Store",Ce,Xl+"ized"+Ce),c(0,j,"ComponentReturnType"),c(1,j,"useCellIds"),c(null,j,"ExtraProps"),c(0,D,G);const X=x(J,G+" | "+Te,`Used when you need to refer to a ${G} in a React hook or component`),Y=x(Ee+Oe,Gl(H+Pe+G,H+`ById?: {[${H}Id: Id]: ${G}}`),`Used with the ${Ee} component, so that a `+G+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,N,X,Y);const le=z+Pe+X;R("{createContext, useContext, useMemo}","React"),R("Context",`createContext<[${G}?, {[${H}Id: Id]: ${G}}?]>([])`),Z("Create"+G,`create: () => ${G}, create`+fe,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=Z(G,"id?: Id",G+Ae,["{",et,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${Ee} component context`),ae=V("useHook",z+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${H} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${H} : ${z})?.getStore(), ...postParams)`]),ne=V("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=V("wrap",Nl("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;"]),Ie=V("useCustomOrDefaultCellIds",Nl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),ue=R("NullComponent","() => null");if(!ee(e)){const[e,a,n,s,u,y,v,T,R,A,k,S,L,j,J,z,W,F,U,_]=r;c(null,D,e,a,n,u,y,v,T,R,A,k,S,L,j,J,z,W,U,F),c(0,D,s),c(1,D,G),c(null,l,i,"IdOrNull");const Z=V("tableView",`{${H}, rowComponent, getRowComponentProps, customCellIds`+rt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",dt,"customCellIds={customCellIds}",B,ql,"/>","))",rt,", tableId,",");"]),K=V("getDefaultTableComponent","tableId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+ue),X=V("getDefaultCellComponent","tableId: Id, cellId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${M(E(e,((e,t,a,n,o)=>`cellId == ${n} ? `+l+o+"CellView : ")))+ue} : `)))+ue);Q($+p,$+p,o,dl(1,0,0,1)+pe),Q(p,p,e,dl(1,0)+pe);const Y=Q(C,C,n+Me,sl(b,Je)+pe);Q(Ge+p+Ce,Ge+p+Ce,nt,dl(1,9)+lt,Nl(_l(p)+Yl+a,_l(p)+fe),Zl(p),at,Nl(It,`tables: ${a})`+qe,Kl),ct),Q(me+p+Ce,me+p+Ce,Ce,dl(1,12),t,t,t,ut,ct);const ee=x(f+Oe,Gl("tableId?: TId","rowId: Id","cellId?: CId",H+Pe+G,Ql),ul(ie+f),`<TId extends ${n}, CId extends ${s}<TId>>`),le=x(h+Oe,Gl("tableId?: TId","rowId: Id",H+Pe+G,"cellComponents?: {readonly [CId in "+s+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${s}<TId>) => ExtraProps`,`customCellIds?: ${s}<TId>[]`,st,Ql),ul(ie+h),`<TId extends ${n}>`),te=x(b+Oe,Gl("tableId?: TId",H+Pe+G,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",st,Ql),ul(ie+b),`<TId extends ${n}>`),ae=x("Sorted"+b+Oe,Gl("tableId?: TId","cellId?: "+s+"<TId>","descending?: boolean","offset?: number","limit?: number",H+Pe+G,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",st,Ql),ul(ie+"sorted "+b),`<TId extends ${n}>`),oe=x(p+Oe,Gl(H+Pe+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,st,Ql),ul(ol(1,1)));c(1,N,oe,te,ae,le,ee),q(p+it,"{"+H+", tableComponents, getTableComponentProps"+rt+"}: "+oe,[re+`(${Y}(${H}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",B,ql,"/>;","}), separator)"],dl(1,13)+pe),O(((e,l,a)=>{const[n,r,s,I,u]=de(_,e);c(null,D,n,r,s,I,u),Q($+l+b,$+b,o,Cl(e,0,1)+pe,t,a),Q(l+b,b,n,Cl(e)+pe,t,a),Q(l+b+w,b+w,i,sl(f,"the whole of "+bl(e))+pe,t,a),Q(l+h+he,h+he,d,"Gets the number of Rows in "+bl(e)+pe,t,a);const p=Q(l+m,m,i,sl(h,bl(e))+pe,t,a),C=Q(l+g,g,i,sl(h,bl(e),1)+pe,"cellId?: "+u+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");Q($+l+h,$+h,o,hl(e,0,1)+pe,$t,Nl(a,ot)),Q(l+h,h,s,hl(e)+pe,$t,Nl(a,ot)),Q(l+w,w,u+Me,sl(f,pl(e))+pe,$t,Nl(a,ot)),Q(Ge+l+b+Ce,Ge+b+Ce,nt,Cl(e,9)+lt,Nl(_l(b)+Yl+r,_l(b)+fe),Nl(a,Zl(b)),at,Nl(It,`table: ${r})`+qe,Kl),ct),Q(me+l+b+Ce,me+b+Ce,Ce,Cl(e,12),t,a,t,ut,ct),Q(Ge+l+h+Ce,Ge+h+Ce,nt,hl(e,9)+lt,Nl($t,_l(h)+Yl+I,_l(h)+fe),Nl(a,ot,Zl(h)),at,Nl(It,`row: ${I})`+qe,Kl),ct),Q("Add"+l+h+Ce,"Add"+h+Ce,nt,hl(e,10)+lt,Nl(_l(h)+Yl+I,_l(h)+fe),Nl(a,Zl(h)),at,"then?: ("+Nl($t+Ae,"store: Store","row: "+I+")"+qe,"then"+fe)+", reuseRowIds?: boolean",ct+", reuseRowIds"),Q(Ge+l+Se+h+Ce,Ge+Se+h+Ce,nt,hl(e,11)+lt,Nl($t,_l(Se+h)+Yl+I,_l(Se+h)+fe),Nl(a,ot,Zl(Se+h)),at,Nl(It,`partialRow: ${I})`+qe,Kl),ct),Q(me+l+h+Ce,me+h+Ce,Ce,hl(e,12),$t,Nl(a,ot),t,ut,ct);const y=q(l+h+it,"{rowId, "+H+", cellComponents, getCellComponentProps, customCellIds"+rt+`}: ${le}<'${e}'>`,[re+`(${Ie}(customCellIds, `+a+`, rowId, ${H}).map((cellId: ${u}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,dt,"cellId={cellId}",B,ql,"/>;","})"+rt+", rowId)"],hl(e,13)+pe);q(l+"Sorted"+b+it,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${H}), ${a}, ${y});`,Cl(e,13)+", sorted"+pe),q(l+b+it,`props: ${te}<'${e}'>`,Z+"(props, "+p+`(props.${H}), ${a}, ${y});`,Cl(e,13)+pe),E(e,((n,d,r,s,I)=>{const u="Map"+El(d,1);c(0,D,u),c(1,D,u),Q($+l+I+b+f,$+b+f,o,`Gets ${nl(1)}the '${n}' Cell anywhere in `+bl(e)+pe,t,Nl(a,s)),Q($+l+I+f,$+f,o,ml(e,n,0,1)+pe,$t,Nl(a,ot,s));const i=Q(l+I+f,f,d+(P(r)?Ae:t),ml(e,n)+pe,$t,Nl(a,ot,s));Q(Ge+l+I+f+Ce,Ge+f+Ce,nt,ml(e,n,9)+lt,Nl($t,_l(f)+Yl+d+" | "+u,_l(f)+fe),Nl(a,ot,s,Zl(f)),at,Nl(It,`cell: ${d} | ${u})`+qe,Kl),ct),Q(me+l+I+f+Ce,me+f+Ce,Ce,ml(e,n,12),Nl($t,"forceDel?: boolean"),Nl(a,ot,s,"forceDel"),t,ut,ct),q(l+I+f+it,`{rowId, ${H}, debugIds}: `+ee+`<'${e}', '${n}'>`,[re+`('' + ${i}(rowId, `+H+`) ?? '', undefined, debugIds, ${s})`],ml(e,n,13)+pe)}))}));const se=M(O((e=>{var l,a;return null!=(a=null==(l=de(_,e))?void 0:l[4])?a:t}))," | ");Q($+p+I,$+p+I,Qe,dl(1,8,0,1)+" changes",bt(u),pt()),Q(p+I,p+I,Qe,dl(1,8)+" changes",bt(y),pt()),Q(C+I,C+I,Qe,il(2,0,1),bt(v),pt()),Q($+b+I,$+b+I,Qe,il(3,0,0,1),bt(T,`tableId: ${n} | null`),pt("tableId")),Q(b+I,b+I,Qe,il(3,0),bt(R,`tableId: ${n} | null`),pt("tableId")),Q(b+w+I,b+w+I,Qe,il(14,3,1),bt(A,`tableId: ${n} | null`),pt("tableId")),Q($+b+f+I,$+b+f+I,Qe,il(16,3,0,1),bt(k,`tableId: ${n} | null`,`cellId: ${se} | null`),pt("tableId","cellId")),Q(h+he+I,h+he+I,Qe,il(15,3),bt(S,`tableId: ${n} | null`),pt("tableId")),Q(m+I,m+I,Qe,il(4,3,1),bt(L,`tableId: ${n} | null`),pt("tableId")),Q(g+I,g+I,Qe,il(13,3,1),bt(j,`tableId: ${n} | null`,"cellId: "+se+Ae,"descending: boolean","offset: number","limit: number"+Ae),pt("tableId","cellId","descending","offset","limit")),Q($+h+I,$+h+I,Qe,il(5,3,0,1),bt(J,`tableId: ${n} | null`,ot+": IdOrNull"),pt("tableId",ot)),Q(h+I,h+I,Qe,il(5,3),bt(z,`tableId: ${n} | null`,ot+": IdOrNull"),pt("tableId",ot)),Q(w+I,w+I,Qe,il(6,5,1),bt(W,`tableId: ${n} | null`,ot+": IdOrNull"),pt("tableId",ot)),Q($+f+I,$+f+I,Qe,il(7,5,0,1),bt(F,`tableId: ${n} | null`,ot+": IdOrNull",`cellId: ${se} | null`),pt("tableId",ot,"cellId")),Q(f+I,f+I,Qe,il(7,5),bt(U,`tableId: ${n} | null`,ot+": IdOrNull",`cellId: ${se} | null`),pt("tableId",ot,"cellId"))}if(!ee(a)){const[e,l,a,n,d,r,u,i]=s;c(null,D,...s),c(1,D,G);const b=V("getDefaultValueComponent","valueId: Id",M(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ue);Q($+v,$+v,o,dl(2,0,0,1)+pe),Q(v,v,e,dl(2,0)+pe);const p=Q(T,T,a+Me,sl(y,Je)+pe);Q(Ge+v+Ce,Ge+v+Ce,nt,dl(2,9)+lt,Nl(_l(v)+Yl+l,_l(v)+fe),Zl(v),at,Nl(It,`values: ${l})`+qe,Kl),ct),Q(Ge+Se+v+Ce,Ge+Se+v+Ce,nt,dl(2,11)+lt,Nl(_l(Se+v)+Yl+l,_l(Se+v)+fe),Zl(Se+v),at,Nl(It,`partialValues: ${l})`+qe,Kl),ct),Q(me+v+Ce,me+v+Ce,Ce,dl(2,12),t,t,t,ut,ct);const C=x(y+Oe,Gl("valueId?: VId",H+Pe+G,Ql),ul("a Value"),`<VId extends ${a}>`),h=x(v+Oe,Gl(H+Pe+G,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${C}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,st,Ql),ul(ol(2,1)));c(1,N,h,C),q(v+it,"{"+H+", valueComponents, getValueComponentProps"+rt+"}: "+h,[re+`(${p}(${H}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+b+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",B,ql,"/>;","}), separator)"],dl(2,13)+pe),L(((e,l,a,n,d)=>{const r="Map"+El(l,1);c(0,D,r),c(1,D,r),Q($+d+y,$+y,o,gl(e,0,1)+pe,t,n);const s=Q(d+y,y,l,gl(e)+pe,t,n);Q(Ge+d+y+Ce,Ge+y+Ce,nt,gl(e,9)+lt,Nl(_l(y)+Yl+l+" | "+r,_l(y)+fe),Nl(n,Zl(y)),at,Nl(It,`value: ${l} | ${r})`+qe,Kl),ct),Q(me+d+y+Ce,me+y+Ce,Ce,gl(e,12),t,n,t,ut,ct),q(d+y+it,`{${H}, debugIds}: ${C}<'${e}'>`,[re+`('' + ${s}(`+H+`) ?? '', undefined, debugIds, ${n})`],gl(e,13)+pe)})),Q($+v+I,$+v+I,Qe,dl(2,8,0,1)+" changes",bt(n),pt()),Q(v+I,v+I,Qe,dl(2,8)+" changes",bt(d),pt()),Q(T+I,T+I,Qe,il(10,0,1),bt(r),pt()),Q($+y+I,$+y+I,Qe,il(11,0,0,1),bt(u,`valueId: ${a} | null`),pt("valueId")),Q(y+I,y+I,Qe,il(11,0),bt(i,`valueId: ${a} | null`),pt("valueId"))}return q(Ee,`{${H}, ${H}ById, children}: `+Y+" & {children: React.ReactNode}",["{",et,"return (","<Context."+Ee,"value={useMemo(",`() => [${H} ?? contextValue[0], {...contextValue[1], ...${H}ById}],`,`[${H}, ${H}ById, contextValue],`,")}>","{children}",`</Context.${Ee}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[u(...A(0),...k(),...K(0)),u(...A(1),...S(),...K(1))]},ht=(e,l,a)=>{if(ee(e)&&ee(l))return[t,t,t,t];const[n,o,d,r]=Ul(e,l,a);return[n,o,...Ct(e,l,a,d,r)]},mt=JSON.parse;var gt=Object.defineProperty,ft=Object.defineProperties,wt=Object.getOwnPropertyDescriptors,yt=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,xt=(e,l,t)=>l in e?gt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Vt=(e,l)=>{for(var t in l||(l={}))vt.call(l,t)&&xt(e,t,l[t]);if(yt)for(var t of yt(l))Tt.call(l,t)&&xt(e,t,l[t]);return e},Rt=(e,l)=>ft(e,wt(l)),Pt=(e,l,t)=>new Promise(((a,n)=>{var o=e=>{try{r(t.next(e))}catch(e){n(e)}},d=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((t=t.apply(e,l)).next())}));const At="prettier/",kt=At+"plugins/",St={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Ot=Ml((e=>{const l=()=>{const l=mt(e.getTablesSchemaJson());return!ee(l)||j(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=oe();if(j(a,(l=>j(e.getCellIds(t,l),(a=>{const o=e.getCell(t,l,a),d=ue(n,a,(()=>[N(o),oe(),[0],0])),[r,s,[I]]=d,u=ue(s,o,(()=>0))+1;return u>I&&(d[2]=[u,o]),Ie(s,o,u),d[3]++,r==N(o)})))))return l[t]={},ae(n,(([e,,[,n],o],d)=>{l[t][d]=Vt({[r]:e},o==L(a)?{[s]:n}:{})})),1}))?l:{}},t=()=>{const l=mt(e.getValuesSchemaJson());return ee(l)&&e.forEachValue(((e,t)=>{l[e]={[r]:N(t)}})),l},a=e=>ht(l(),t(),e),n=e=>Pt(void 0,null,(function*(){const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(yield import(At+"standalone")).format,W(t,yield import(kt+"estree"),yield import(kt+"typescript"))}catch(e){n=e=>Pt(void 0,null,(function*(){return e}))}return yield D(J(a(e),((e,a)=>Pt(void 0,null,(function*(){return Sl(yield n(e,Rt(Vt({},St),{plugins:t,filepath:"_."+l[a]})))})))))}));return q({getStoreStats:l=>{let t=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{t++;let r=0,s=0;const I={};d(((e,t)=>{r++;let a=0;t((()=>a++)),s+=a,l&&(I[e]={rowCells:a})})),a+=r,n+=s,l&&(o[e]={tableRows:r,tableCells:s,rows:I})})),Vt({totalTables:t,totalRows:a,totalCells:n,totalValues:L(e.getValueIds()),jsonLength:L(e.getJson())},l?{detail:{tables:o}}:{})},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{Ot as createTools};
|
package/lib/es6/tools.js.gz
CHANGED
|
Binary file
|
package/lib/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
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=Promise,V=isFinite,x=e=>null==e,R=(e,t,l)=>x(e)?l?.():t(e),k=e=>e==n||e==o,S=t=>e(t)==n,P=e=>Array.isArray(e),A=(e,t,l)=>e.slice(t,l),E=e=>e.length,O=async e=>v.all(e),D=t=>{const l=e(t);return k(l)||l==d&&V(t)?l:void 0},N=(e,t)=>e.every(t),G=(e,t)=>e.sort(t),L=(e,t)=>e.forEach(t),j=(e,t=l)=>e.join(t),M=(e,t)=>e.map(t),J=(e,t)=>e.filter(t),z=(e,...t)=>e.push(...t),W=e=>e.pop(),B=(e,...t)=>e.unshift(...t),F=e=>e.shift(),U=Object,_=e=>U.getPrototypeOf(e),Z=U.keys,H=U.freeze,Q=e=>!x(e)&&R(_(e),(e=>e==U.prototype||x(_(e))),(()=>!0)),q=(e,t)=>M(U.entries(e),(([e,l])=>t(l,e))),K=e=>E(Z(e)),X=e=>Q(e)&&0==K(e),Y=(e,t)=>e?.has(t)??!1,ee=e=>[...e?.values()??[]],te=(e,t)=>e?.forEach(t),le=(e,t)=>e?.delete(t),ae=e=>new Map(e),ne=(e,t)=>e?.get(t),oe=(e,t)=>te(e,((e,l)=>t(l,e))),de=(e,t)=>M([...e?.entries()??[]],(([e,l])=>t(l,e))),se=(e,t,l)=>x(l)?(le(e,t),e):e?.set(t,l),re=(e,t,l)=>(Y(e,t)||se(e,t,l()),ne(e,t)),Ie=e=>e.toUpperCase(),$e=e=>e.toLowerCase(),ce="a ",ue="A function for",ie=", and registers a listener so that any changes to that result will cause a re-render",pe="Callback",be="Del",Ce="Deps",he=Ce+"?: React.DependencyList",me="doRollback?: DoRollback",ge="actions: () => Return, "+me,fe="export",we="Id",ye="Invalid",Te="Json",ve=$e(I),Ve="?: ",xe=" | undefined",Re="NonNullable",ke="Partial",Se="Props",Pe="Provider",Ae=`Registers a ${ve} that will be called`,Ee="Represents",Oe="rowId: "+we,De="Schema",Ne="Set",Ge=", descending?: boolean, offset?: number, limit?: number",Le="[]",je="the Store",Me="Transaction",Je=Me+"Changes",ze=$e(Me),We="Execute a "+ze+" to make multiple mutations",Be="Explicitly starts a "+ze,Fe="Explicitly finishes a "+ze,Ue="the end of the "+ze,_e="void",Ze=" => "+_e,He="WhenSet",Qe=" when setting it",qe=ce+"string serialization of",Ke=" ",Xe="Gets a callback that can ",Ye="the ",et=" the schema for",tt=(e=0,t=0)=>`the ${gt[e]}content of`+(t?Ke+je:l),lt=(e=0,t,a=0)=>Ct[t]+Ke+tt(e,1)+(a?" when setting it":l),at=(e,t=0)=>Ee+` a Row when ${t?"s":"g"}etting ${tt()} the '${e}' `+i,nt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,ot=(e,t)=>`Calls a function for each ${e} in `+t,dt=e=>"The props passed to a component that renders "+e,st=e=>"A function that takes "+e,rt=(e,t=0)=>ue+" listening to changes to "+mt[e]+" in "+mt[t],It=(e,t,a=0)=>Ae+" whenever "+mt[e]+" in "+mt[t]+" change"+(a?l:"s"),$t=e=>`the '${e}' `+i,ct=e=>"the specified Row in "+$t(e),ut=(e,t=0)=>Ct[t]+` ${tt()} `+$t(e),it=(e,t=0)=>Ct[t]+` ${tt()} `+ct(e),pt=(e,t,l=0)=>Ct[l]+` the '${t}' Cell for `+ct(e),bt=(e,t=0)=>Ct[t]+` the '${e}' Value`,Ct=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ee,"Gets "+qe,"Sets "+qe,Ae+" whenever",Xe+"set",Xe+"add",Xe+"set part of",Xe+"delete","Renders","Gets "+qe+et,"Sets"+et,"Deletes"+et],ht=[$,"has","set","del","set","forEach",c,l],mt=[je,p,Ye+i+Ke+u,ce+i,Ye+C+Ke+u,ce+C,Ye+g+Ke+u,ce+g,"invalid Cell changes",y,Ye+w+Ke+u,ce+w,"invalid Value changes",Ye+"sorted "+C+Ke+u,Ye+g+Ke+u+" anywhere",Ye+"number of Rows"],gt=[l,"tabular ","keyed value "],ft=e=>new Set(P(e)||x(e)?e:[e]),wt=(e,t)=>e?.add(t),yt=/[^A-Za-z]+/,Tt=/[^A-Za-z0-9]+/,vt=/^( *)\/\*\* *(.*?) *\*\/$/gm,Vt=e=>e.includes(a),xt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Y(e,n)?xt(e,t,l,a+1):(se(e,n,l),n)},Rt=e=>e.replace(vt,((e,t,l)=>{const a=77-E(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),kt=e=>e.flat(1e3),St=(e,t=0)=>j(M(e.split(Tt),((e,l)=>(l>0||t?Ie:$e)(A(e,0,1))+A(e,1)))),Pt=e=>Ie(j((e&&!yt.test(e[0])?e:" "+e).split(Tt),"_")),At=e=>`/** ${e}. */`,Et=(...e)=>j(J(e,(e=>e)),", "),Ot=(...e)=>"{"+j(e,"; ")+"}",Dt=(...e)=>Ot(...M(e,(e=>"readonly "+e))),Nt=()=>{const e=[ae(),ae(),ae(),ae()],t=ae(),a=ae(),n=e=>{const t=e.indexOf(" as ");return-1!=t?A(e,t+4):e};return[(...e)=>j(kt(e),"\n"),(t,l,...a)=>L(a,(a=>L([0,1],(n=>(t??n)==n?wt(re(e[n],l,ft),a):0)))),(e,a,n,o=l,d=1)=>xt(t,e,[a,n,o,d]),(e,t,l)=>xt(a,e,P(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>ne(a,e)===t?e:xt(a,e,t),(t=0)=>M([...G(de(e[t],((e,t)=>`import {${j(G(ee(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Vt(e)!=Vt(t)?Vt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>de(t,(([e,t,a,n],o)=>[At(t),`${n?fe+" ":l}type ${o}${a} = ${e};`,l])),()=>de(a,((e,t)=>(e=P(e)?e:[e],z(e,W(e)+";"),[`const ${t} = ${F(e)}`,e,l])))]},Gt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Lt=(e,t,l)=>[t=>q(e,((e,a)=>t(a,St(a,1),l(Pt(a),`'${a}'`)))),(t,a)=>q(e[t],((e,t)=>a(t,e[s],e[r],l(Pt(t),`'${t}'`),St(t,1)))),e=>q(t,((t,a)=>e(a,t[s],t[r],l(Pt(a),`'${a}'`),St(a,1))))],jt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(p,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...a(e,((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`)))+"}"))),lt(1,5)),r=e(p+He,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),lt(1,5,1)),$=e(i+we,"keyof "+s,"A "+i+" Id in "+je),c=`<TId extends ${$}>`,u=e(i,Re+`<${s}[TId]>`,"A "+i+" in "+je,c),w=e(i+He,Re+`<${r}[TId]>`,"A "+i+" in "+je+Qe,c),y=e(C,u+"<TId>[Id]","A "+C+" in a "+i,c),T=e(C+He,w+"<TId>[Id]","A "+C+" in a "+i+Qe,c),v=e(g+we,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,c),V=e(g,Re+`<${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+pe,`(...[cellId, cell]: ${R}<TId>)`+Ze,st(ce+g+" Id, and "+g),c),S=e(C+pe,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ze+") "+Ze,st(ce+C+" Id, and a "+g+" iterator"),c),P=e(i+g+pe,`(cellId: ${v}<TId>, count: number) `+Ze,st(ce+g+" Id, and count of how many times it appears"),c),A=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Ze}] : never`,i+" Ids and callback types",`<TId = ${$}>`,0),E=e(i+pe,`(...[tableId, forEachRow]: ${A})`+Ze,st(ce+i+" Id, and a "+C+" iterator"),l),O=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${O}) => CellChange`,ue+" returning information about any Cell's changes during a "+ze),N=e(p+I,`(${d}, getCellChange: ${D}${xe})`+Ze,rt(1)),G=e(b+I,`(${d})`+Ze,rt(2)),L=e(i+I,`(${d}, tableId: ${$}, getCellChange: ${D}${xe})`+Ze,rt(3)),j=e(i+f+I,`(${d}, tableId: ${$})`+Ze,rt(14,3)),M=e(C+"Count"+I,`(${d}, tableId: ${$})`+Ze,rt(15,3)),J=e(h+I,`(${d}, tableId: ${$})`+Ze,rt(4,3)),z=e(m+I,"("+Et(d,"tableId: "+$,"cellId: Id"+xe,"descending: boolean","offset: number","limit: number"+xe,"sortedRowIds: Ids")+")"+Ze,rt(13,3)),W=e(C+I,"("+Et(""+d,"tableId: "+$,Oe,`getCellChange: ${D}${xe}`)+")"+Ze,rt(5,3)),B=e(f+I,"("+Et(""+d,"tableId: "+$,Oe)+")"+Ze,rt(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Oe}, cellId: CId, newCell: ${V}<TId, CId> ${xe}, oldCell: ${V}<TId, CId> ${xe}, getCellChange: ${D} ${xe}] : 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,P,E,N,G,L,j,M,J,z,W,B,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+Ze,rt(7,5)),e(ye+g+I,`(${d}, tableId: Id, ${Oe}, cellId: Id, invalidCells: any[])`+Ze,rt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Ot(...n(((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`))),lt(2,5)),s=e(y+He,Ot(...n(((e,t)=>`'${e}'?: ${t}`))),lt(2,5,1)),r=e(w+we,"keyof "+d,"A "+w+" Id in "+je),$=e(w,Re+`<${d}[VId]>`,"A "+w+" Id in "+je,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,w+" Ids and types in "+je,`<VId = ${r}>`,0),u=e(w+pe,`(...[valueId, value]: ${c})`+Ze,st(ce+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${r}) => ValueChange`,ue+" returning information about any Value's changes during a "+ze),p=e(y+I,`(${o}, getValueChange: ${i}${xe})`+Ze,rt(9)),b=e(T+I,`(${o})`+Ze,rt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${$}<VId> ${xe}, oldValue: ${$}<VId> ${xe}, getValueChange: ${i} ${xe}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,$,u,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ze,rt(11)),e(ye+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Ze,rt(12))]},(t,l)=>e(Me+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ze,ue+" listening to the completion of a "+ze)],Mt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Jt=(e,t=l)=>`fluent(() => ${Mt(e,t)})`,zt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Wt=(e,a,n)=>{const[d,$,v,V,R,k,P,A]=Nt(),[E,O,D]=Lt(e,a,R),[N,G,M]=jt(v,E,O,D),J=ae(),W=(e=0)=>de(J,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||B(r,At(o)),z(r,l),r})),F=(e,t,a,n,o,d=l)=>xt(J,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,s=l,r=l)=>F(ht[e]+t+(4==e?ke:l)+a,d,n,(n==H?Jt:Mt)(ht[e]+(4==e?ke: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)+ve+": "+t+(d?", mutator?: boolean":l),we,zt(c+e+I,o,d?"mutator":l),a,s),Z=`./${St(n)}.d`,H=St(n,1),Q=St(H),q=[],K=ae();let Y=[],te=[];if($(1,Z,H,`create${H} as create${H}Decl`),X(e))$(null,t,p);else{$(0,t,"CellChange"),$(null,t,u);const[e,a,n,d,I,c,w,y,T,V,k,P,A,D,G,M,J,W,B,F,X,te,le,oe]=N(Q,H),de=ae();E(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,d+l,Ee+` the '${e}' `+i),v(t+i+He,I+l,Ee+` the '${e}' `+i+Qe),v(t+C,c+l,at(e)),v(t+C+He,w+l,at(e,1)),v(t+g+we,y+l,`A Cell Id for the '${e}' `+i),v(t+g+pe,V+l,st(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+C+pe,k+l,st(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+i+g+pe,P+l,st(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];se(de,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,A,D,G,M,J,W,B,F,X,te,le,oe),Y=[e,a,n,y,D,G,M,J,W,B,F,X,te,le,de],L([[e],[o],[H,"tables: "+a,"tables"],[H]],(([e,t,a],n)=>U(n,l,p,e,lt(1,n),t,a))),U(0,l,b,n+Le,nt(i,je)),U(5,l,i,_e,ot(i,je),"tableCallback: "+A,"tableCallback as any"),E(((e,t,a)=>{const[n,d,s,r,I,$,c,p]=ne(de,e);L([[n],[o],[H,"table: "+d,", table"],[H]],(([n,o,d=l],s)=>U(s,t,i,n,ut(e,s),o,a+d))),U(0,t,i+f,u,nt(g,"the whole of "+$t(e)),l,a),U(5,t,i+g,_e,ot(i+g,"the whole of "+$t(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,C+"Count","number","Gets the number of Rows in the "+$t(e),l,a),U(0,t,h,u,nt(C,$t(e)),l,a),U(0,t,m,u,nt(C,$t(e),1),"cellId?: "+I+Ge,a+", cellId, descending, offset, limit"),U(5,t,C,_e,ot(C,$t(e)),"rowCallback: "+c,a+", rowCallback as any"),L([[s],[o],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>U(s,t,C,n,it(e,s),Oe+o,a+", rowId"+d))),U(6,t,C,we+xe,"Add a new Row to "+$t(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+Le,nt(g,ct(e)),Oe,a+", rowId"),U(5,t,g,_e,ot(g,ct(e)),Oe+", cellCallback: "+$,a+", rowId, cellCallback as any"),O(e,((n,d,s,r,I)=>{const $="Map"+St(d,1);se(K,d,$);const c=d+(x(s)?xe:l);L([[c],[o],[H,`, cell: ${d} | `+$,", cell as any"],[H]],(([o,d=l,s=l],$)=>U($,t+I,g,o,pt(e,n,$),Oe+d,a+", rowId, "+r+s))),U(1,t+I,i+g,o,Ct[1]+` the '${n}' Cell anywhere in `+$t(e),l,a+", "+r)}))})),U(0,l,p+Te,Te,lt(1,6)),U(2,l,p+Te,H,lt(1,7),"tablesJson: "+Te,"tables"+Te),_(p,D,lt(1,8)+" changes"),_(b,G,It(2,0,1)),_(i,M,It(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,J,It(14,3,1),`tableId: ${n} | null`,"tableId"),_(C+"Count",W,It(15,3),`tableId: ${n} | null`,"tableId"),_(h,B,It(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,F,It(13,3,1),Et("tableId: TId",`cellId: ${y}<TId>`+xe,"descending: boolean","offset: number","limit: number"+xe),Et("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,X,It(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,te,It(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,le,It(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${j(E((e=>ne(de,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),_(ye+g,oe,Ae+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...ee(K)),z(q,".set"+p+De+"({",kt(E(((e,t,a)=>[`[${a}]: {`,...O(e,((e,t,a,n)=>`[${n}]: {[${R(Pt(s),`'${s}'`)}]: ${R(Pt(t),`'${t}'`)}${x(a)?l:`, [${R(Pt(r),`'${r}'`)}]: `+(S(a)?R(Pt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(X(a))$(null,t,y);else{const[e,a,n,d,I,c,u,i,p]=G(Q,H);$(1,Z,e,a,n,I,c,u,i,p),te=[e,a,n,c,u,i],L([[e],[o],[H,"values: "+a,"values"],[H],[H,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,lt(2,n),t,a))),U(0,l,T,n+Le,nt(w,je)),U(5,l,w,"void",ot(w,je),"valueCallback: "+I,"valueCallback as any"),D(((e,t,a,n,d)=>{const s="Map"+St(t,1);se(K,t,s),L([[t],[o],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,a,o=l],s)=>U(s,d,w,t,bt(e,s),a,n+o)))})),U(0,l,y+Te,Te,lt(2,6)),U(2,l,y+Te,H,lt(2,7),"valuesJson: "+Te,"values"+Te),_(y,c,lt(2,8)+" changes"),_(T,u,It(10,0,1)),_(w,i,It(11,0),`valueId: ${n} | null`,"valueId"),_(ye+w,p,Ae+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...ee(K)),$(0,t,"ValueChange"),z(q,".set"+y+De+"({",D(((e,t,a,n)=>[`[${n}]: {[${R(Pt(s),`'${s}'`)}]: ${R(Pt(t),`'${t}'`)}${x(a)?l:`, [${R(Pt(r),`'${r}'`)}]: `+(S(a)?R(Pt(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,lt(0,0)),U(2,l,"Content",H,lt(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Je,H,`Applies a set of ${Je} to the Store`,"transactionChanges: "+Je,"transactionChanges"),oe(K,((e,t)=>v(t,`(cell: ${e}${xe}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,t,"DoRollback",we,"IdOrNull",Te,"Store",Je),$(0,t,"Get"+Je,"GetTransactionLog"),U(0,l,Te,Te,lt(0,6)),U(2,l,Te,H,lt(0,7),"tablesAndValuesJson: "+Te,"tablesAndValuesJson"),U(7,l,ze,"Return",We,ge,"actions, doRollback","<Return>"),U(7,l,"start"+Me,H,Be),U(7,l,"finish"+Me,H,Fe,me,"doRollback");const le=M(Q,H);return _("Start"+Me,le,Ae+" just before the start of the "+ze,l,l,0),_("WillFinish"+Me,le,Ae+" just before "+Ue,l,l,0),_("DidFinish"+Me,le,Ae+" just after "+Ue,l,l,0),U(7,l,"call"+I,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,H,"Remove a listener that was previously added to "+je,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",Ct[0]+" the underlying Store object"),$(1,t,"createStore"),$(1,Z,H,`create${H} as create${H}Decl`,le),R("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),R(Q,["{",...W(1),"}"]),[d(...k(0),...P(),fe+" interface "+H+" {",...W(0),"}",l,At(`Creates a ${H} object`),fe+" function create"+H+"(): "+H+";"),d(...k(1),fe+" const create"+H+": typeof create"+H+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),Y,te]},Bt=e=>$+e,Ft=e=>Et(Bt(e),Bt(e)+Ce),Ut="debugIds?: boolean",_t="debugIds={debugIds}",Zt="then"+he,Ht="Parameter",Qt=": (parameter: "+Ht+", store: Store) => ",qt="const contextValue = useContext(Context);",Kt=", based on a parameter",Xt=": ",Yt="<"+Ht+",>",el=Ht+"ized"+pe+"<"+Ht+">",tl="rowId",ll="rowId={rowId}",al=", separator, debugIds",nl="separator?: ReactElement | string",ol="then?: (store: Store",dl=Et(ol+")"+Ze,Zt),sl="then, then"+Ce,rl=tl+Xt+we,Il="View",$l=(e,...t)=>Et(...t,ve+": "+e,ve+he,"mutator?: boolean"),cl=(...e)=>Et(...e,ve,ve+Ce,"mutator"),ul=(e,a,n,o,d)=>{const[s,r,$,c,v,V,R,k]=Nt(),[S,P,A]=Lt(e,a,v),E=`./${St(n)}.d`,O=`./${St(n)}-ui-react.d`,D="tinybase/ui-react",N=St(n,1),G=St(N),L=N+"Or"+N+we,M=G+"Or"+N+we,J=G+`={${G}}`,W=ae(),F=(e,t,a,n,o,d=l)=>(r(1,O,e+" as "+e+"Decl"),xt(W,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,D,`use${t} as use${t}Core`),U(e,Et(o,K,I),a,ee+`(${M}, use${t}Core, [`+(d||l)+($?"], ["+$:l)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>de(W,(([t,a,n,o,d],s)=>{const r=e?[fe+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[fe+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||B(r,At(o)),z(r,l),r}));r(null,t,we,"Store",pe,Ht+"ized"+pe),r(0,D,"ComponentReturnType"),r(1,D,"useCellIds"),r(null,D,"ExtraProps"),r(0,E,N);const Q=$(L,N+" | "+we,`Used when you need to refer to a ${N} in a React hook or component`),q=$(Pe+Se,Dt(G+Ve+N,G+`ById?: {[${G}Id: Id]: ${N}}`),`Used with the ${Pe} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,O,Q,q);const K=M+Ve+Q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${N}?, {[${G}Id: Id]: ${N}}?]>([])`),U("Create"+N,`create: () => ${N}, create`+he,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=U(N,"id?: Id",N+xe,["{",qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Pe} component context`),ee=c("useHook",M+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${G} : ${M})?.getStore(), ...postParams)`]),te=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),le=c("wrap",Et("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;"]),oe=c("useCustomOrDefaultCellIds",Et("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${M}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${M}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=v("NullComponent","() => null");if(!X(e)){const[e,a,n,d,s,w,y,T,v,V,R,k,A,D,L]=o;r(null,E,e,a,n,s,w,y,T,v,V,R,k,A,D),r(0,E,d),r(1,E,N),r(null,t,u,"IdOrNull");const M=c("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+al+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${le}(rowIds.map((rowId) => (`,"<Row","{..."+te+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ll,"customCellIds={customCellIds}",J,_t,"/>","))",al,", tableId,",");"]),z=c("getDefaultTableComponent","tableId: Id",j(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),W=c("getDefaultCellComponent","tableId: Id, cellId: Id",j(S(((e,t,l)=>`tableId == ${l} ? ${j(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(p,p,e,lt(1,0)+ie);const B=_(b,b,n+Le,nt(i,je)+ie);_(Ne+p+pe,Ne+p+pe,el,lt(1,9)+Kt,Et(Bt(p)+Qt+a,Bt(p)+he),Ft(p),Yt,Et(ol,`tables: ${a})`+Ze,Zt),sl),_(be+p+pe,be+p+pe,pe,lt(1,12),l,l,l,dl,sl);const F=$(g+Se,Dt("tableId?: TId","rowId: Id","cellId?: CId",G+Ve+N,Ut),dt(ce+g),`<TId extends ${n}, CId extends ${d}<TId>>`),U=$(C+Se,Dt("tableId?: TId","rowId: Id",G+Ve+N,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,nl,Ut),dt(ce+C),`<TId extends ${n}>`),H=$(i+Se,Dt("tableId?: TId",G+Ve+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",nl,Ut),dt(ce+i),`<TId extends ${n}>`),Q=$("Sorted"+i+Se,Dt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+Ve+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",nl,Ut),dt(ce+"sorted "+i),`<TId extends ${n}>`),q=$(p+Se,Dt(G+Ve+N,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,nl,Ut),dt(tt(1,1)));r(1,O,q,H,Q,U,F),Z(p+Il,"{"+G+", tableComponents, getTableComponentProps"+al+"}: "+q,[le+`(${B}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+z+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${te}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,_t,"/>;","}), separator)"],lt(1,13)+ie),S(((e,t,a)=>{const[n,o,d,s,I]=ne(L,e);r(null,E,n,o,d,s,I),_(t+i,i,n,ut(e)+ie,l,a),_(t+i+f,i+f,u,nt(g,"the whole of "+$t(e))+ie,l,a);const $=_(t+h,h,u,nt(C,$t(e))+ie,l,a),c=_(t+m,m,u,nt(C,$t(e),1)+ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,it(e)+ie,rl,Et(a,tl)),_(t+f,f,I+Le,nt(g,ct(e))+ie,rl,Et(a,tl)),_(Ne+t+i+pe,Ne+i+pe,el,ut(e,9)+Kt,Et(Bt(i)+Qt+o,Bt(i)+he),Et(a,Ft(i)),Yt,Et(ol,`table: ${o})`+Ze,Zt),sl),_(be+t+i+pe,be+i+pe,pe,ut(e,12),l,a,l,dl,sl),_(Ne+t+C+pe,Ne+C+pe,el,it(e,9)+Kt,Et(rl,Bt(C)+Qt+s,Bt(C)+he),Et(a,tl,Ft(C)),Yt,Et(ol,`row: ${s})`+Ze,Zt),sl),_("Add"+t+C+pe,"Add"+C+pe,el,it(e,10)+Kt,Et(Bt(C)+Qt+s,Bt(C)+he),Et(a,Ft(C)),Yt,"then?: ("+Et(rl+xe,"store: Store","row: "+s+")"+Ze,"then"+he)+", reuseRowIds?: boolean",sl+", reuseRowIds"),_(Ne+t+ke+C+pe,Ne+ke+C+pe,el,it(e,11)+Kt,Et(rl,Bt(ke+C)+Qt+s,Bt(ke+C)+he),Et(a,tl,Ft(ke+C)),Yt,Et(ol,`partialRow: ${s})`+Ze,Zt),sl),_(be+t+C+pe,be+C+pe,pe,it(e,12),rl,Et(a,tl),l,dl,sl);const p=Z(t+C+Il,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+al+`}: ${U}<'${e}'>`,[le+`(${oe}(customCellIds, `+a+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+W+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${te}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,ll,"cellId={cellId}",J,_t,"/>;","})"+al+", rowId)"],it(e,13)+ie);Z(t+"Sorted"+i+Il,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+c+`(cellId, descending, offset, limit, props.${G}), ${a}, ${p});`,ut(e,13)+", sorted"+ie),Z(t+i+Il,`props: ${H}<'${e}'>`,M+"(props, "+$+`(props.${G}), ${a}, ${p});`,ut(e,13)+ie),P(e,((n,o,d,s,I)=>{const $="Map"+St(o,1);r(0,E,$),r(1,E,$);const c=_(t+I+g,g,o+(x(d)?xe:l),pt(e,n)+ie,rl,Et(a,tl,s));_(Ne+t+I+g+pe,Ne+g+pe,el,pt(e,n,9)+Kt,Et(rl,Bt(g)+Qt+o+" | "+$,Bt(g)+he),Et(a,tl,s,Ft(g)),Yt,Et(ol,`cell: ${o} | ${$})`+Ze,Zt),sl),_(be+t+I+g+pe,be+g+pe,pe,pt(e,n,12),Et(rl,"forceDel?: boolean"),Et(a,tl,s,"forceDel"),l,dl,sl),Z(t+I+g+Il,`{rowId, ${G}, debugIds}: `+F+`<'${e}', '${n}'>`,[le+`('' + ${c}(rowId, `+G+`) ?? '', undefined, debugIds, ${s})`],pt(e,n,13)+ie)}))}));const K=j(S((e=>ne(L,e)?.[4]??l))," | ");_(p+I,p+I,_e,lt(1,8)+" changes",$l(s),cl()),_(b+I,b+I,_e,It(2,0,1),$l(w),cl()),_(i+I,i+I,_e,It(3,0),$l(y,`tableId: ${n} | null`),cl("tableId")),_(i+f+I,i+f+I,_e,It(14,3,1),$l(T,`tableId: ${n} | null`),cl("tableId")),_(h+I,h+I,_e,It(4,3,1),$l(V,`tableId: ${n} | null`),cl("tableId")),_(m+I,m+I,_e,It(13,3,1),$l(R,`tableId: ${n} | null`,"cellId: "+K+xe,"descending: boolean","offset: number","limit: number"+xe),cl("tableId","cellId","descending","offset","limit")),_(C+I,C+I,_e,It(5,3),$l(k,`tableId: ${n} | null`,tl+": IdOrNull"),cl("tableId",tl)),_(f+I,f+I,_e,It(6,5,1),$l(A,`tableId: ${n} | null`,tl+": IdOrNull"),cl("tableId",tl)),_(g+I,g+I,_e,It(7,5),$l(D,`tableId: ${n} | null`,tl+": IdOrNull",`cellId: ${K} | null`),cl("tableId",tl,"cellId"))}if(!X(a)){const[e,t,a,n,o,s]=d;r(null,E,...d),r(1,E,N);const u=c("getDefaultValueComponent","valueId: Id",j(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(y,y,e,lt(2,0)+ie);const i=_(T,T,a+Le,nt(w,je)+ie);_(Ne+y+pe,Ne+y+pe,el,lt(2,9)+Kt,Et(Bt(y)+Qt+t,Bt(y)+he),Ft(y),Yt,Et(ol,`values: ${t})`+Ze,Zt),sl),_(Ne+ke+y+pe,Ne+ke+y+pe,el,lt(2,11)+Kt,Et(Bt(ke+y)+Qt+t,Bt(ke+y)+he),Ft(ke+y),Yt,Et(ol,`partialValues: ${t})`+Ze,Zt),sl),_(be+y+pe,be+y+pe,pe,lt(2,12),l,l,l,dl,sl);const p=$(w+Se,Dt("valueId?: VId",G+Ve+N,Ut),dt("a Value"),`<VId extends ${a}>`),b=$(y+Se,Dt(G+Ve+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,nl,Ut),dt(tt(2,1)));r(1,O,b,p),Z(y+Il,"{"+G+", valueComponents, getValueComponentProps"+al+"}: "+b,[le+`(${i}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+u+"(valueId);","return <Value",`{...${te}(getValueComponentProps, valueId)}`,"key={valueId}",J,_t,"/>;","}), separator)"],lt(2,13)+ie),A(((e,t,a,n,o)=>{const d="Map"+St(t,1);r(0,E,d),r(1,E,d);const s=_(o+w,w,t,bt(e)+ie,l,n);_(Ne+o+w+pe,Ne+w+pe,el,bt(e,9)+Kt,Et(Bt(w)+Qt+t+" | "+d,Bt(w)+he),Et(n,Ft(w)),Yt,Et(ol,`value: ${t} | ${d})`+Ze,Zt),sl),_(be+o+w+pe,be+w+pe,pe,bt(e,12),l,n,l,dl,sl),Z(o+w+Il,`{${G}, debugIds}: ${p}<'${e}'>`,[le+`('' + ${s}(`+G+`) ?? '', undefined, debugIds, ${n})`],bt(e,13)+ie)})),_(y+I,y+I,_e,lt(2,8)+" changes",$l(n),cl()),_(T+I,T+I,_e,It(10,0,1),$l(o),cl()),_(w+I,w+I,_e,It(11,0),$l(s,`valueId: ${a} | null`),cl("valueId"))}return Z(Pe,`{${G}, ${G}ById, children}: `+q+" & {children: React.ReactNode}",["{",qt,"return (","<Context."+Pe,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${Pe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...R(),...H(0)),s(...V(1),...k(),...H(1))]},il=(e,t,a)=>{if(X(e)&&X(t))return[l,l,l,l];const[n,o,d,s]=Wt(e,t,a);return[n,o,...ul(e,t,a,d,s)]},pl=JSON.parse,bl="prettier/",Cl=bl+"plugins/",hl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},ml=Gt((e=>{const t=()=>{const t=pl(e.getTablesSchemaJson());return!X(t)||N(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ae();if(N(a,(t=>N(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=re(n,a,(()=>[D(o),ae(),[0],0])),[s,r,[I]]=d,$=re(r,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),se(r,o,$),d[3]++,s==D(o)})))))return t[l]={},te(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==E(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=pl(e.getValuesSchemaJson());return X(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:D(l)}})),t},a=e=>il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"],l=[];let n;try{n=(await import(bl+"standalone")).format,z(l,await import(Cl+"estree"),await import(Cl+"typescript"))}catch(e){n=async e=>e}return await O(M(a(e),(async(e,a)=>Rt(await n(e,{...hl,plugins:l,filepath:"_."+t[a]})))))};return H({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:E(e.getValueIds()),jsonLength:E(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{ml as createTools};
|
|
1
|
+
const e=e=>typeof e,l="tinybase",t="",a=",",n=e(t),d=e(!0),o=e(0),s="type",r="default",I="Listener",$="get",c="add",u="Has",i="Ids",b="Table",p=b+"s",C=b+i,h="Row",g=h+i,m="Sorted"+h+i,w="Cell",f=w+i,T="Value",y=T+"s",v=T+i,V=Promise,x=isFinite,R=e=>null==e,A=(e,l,t)=>R(e)?t?.():l(e),k=e=>e==n||e==d,S=l=>e(l)==n,P=e=>Array.isArray(e),O=(e,l,t)=>e.slice(l,t),E=e=>e.length,L=async e=>V.all(e),N=l=>{const t=e(l);return k(t)||t==o&&x(l)?t:void 0},D=(e,l)=>e.every(l),G=(e,l)=>e.sort(l),j=(e,l)=>e.forEach(l),H=(e,l=t)=>e.join(l),M=(e,l)=>e.map(l),J=(e,l)=>e.filter(l),z=(e,...l)=>e.push(...l),W=e=>e.pop(),B=(e,...l)=>e.unshift(...l),F=e=>e.shift(),U=Object,_=e=>U.getPrototypeOf(e),Z=U.keys,Q=U.freeze,q=e=>!R(e)&&A(_(e),(e=>e==U.prototype||R(_(e))),(()=>!0)),K=(e,l)=>M(U.entries(e),(([e,t])=>l(t,e))),X=e=>E(Z(e)),Y=e=>q(e)&&0==X(e),ee=(e,l)=>e?.has(l)??!1,le=e=>[...e?.values()??[]],te=(e,l)=>e?.forEach(l),ae=(e,l)=>e?.delete(l),ne=e=>new Map(e),de=(e,l)=>e?.get(l),oe=(e,l)=>te(e,((e,t)=>l(t,e))),se=(e,l)=>M([...e?.entries()??[]],(([e,t])=>l(t,e))),re=(e,l,t)=>R(t)?(ae(e,l),e):e?.set(l,t),Ie=(e,l,t)=>(ee(e,l)||re(e,l,t()),de(e,l)),$e=e=>e.toUpperCase(),ce=e=>e.toLowerCase(),ue="a ",ie="A function for",be=", and registers a listener so that any changes to that result will cause a re-render",pe="Callback",Ce="Count",he="Del",ge="Deps",me=ge+"?: React.DependencyList",we="doRollback?: DoRollback",fe="actions: () => Return, "+we,Te="export",ye="Id",ve="Invalid",Ve="Json",xe=ce(I),Re="?: ",Ae=" | undefined",ke="NonNullable",Se="Partial",Pe="Props",Oe="Provider",Ee=`Registers a ${xe} that will be called`,Le="Represents",Ne="rowId: "+ye,De="Schema",Ge="Set",je=", descending?: boolean, offset?: number, limit?: number",He="[]",Me="the Store",Je="Transaction",ze=Je+"Changes",We=ce(Je),Be="Execute a "+We+" to make multiple mutations",Fe="Explicitly starts a "+We,Ue="Explicitly finishes a "+We,_e="the end of the "+We,Ze="void",Qe=" => "+Ze,qe="WhenSet",Ke=" when setting it",Xe=ue+"string serialization of",Ye=" ",el="Gets a callback that can ",ll="the ",tl=" the schema for",al=(e=0)=>e?"the existence of ":"",nl=(e=0,l=0,a=0)=>al(a)+`the ${Tl[e]}content of`+(l?Ye+Me:t),dl=(e=0,l,a=0,n=0)=>ml[l]+Ye+al(n)+nl(e,1)+(a?" when setting it":t),ol=(e,l=0)=>Le+` a Row when ${l?"s":"g"}etting ${nl()} the '${e}' `+b,sl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,rl=(e,l)=>`Calls a function for each ${e} in `+l,Il=e=>"The props passed to a component that renders "+e,$l=e=>"A function that takes "+e,cl=(e,l=0,t=0)=>ie+" listening to changes to "+al(t)+fl[e]+" in "+fl[l],ul=(e,l,a=0,n=0)=>Ee+" whenever "+al(n)+fl[e]+" in "+fl[l]+" change"+(a?t:"s"),il=e=>`the '${e}' `+b,bl=e=>"the specified Row in "+il(e),pl=(e,l=0,t=0)=>ml[l]+Ye+nl(0,0,t)+Ye+il(e),Cl=(e,l=0,t=0)=>ml[l]+` ${nl(0,0,t)} `+bl(e),hl=(e,l,t=0,a=0)=>ml[t]+Ye+al(a)+`the '${l}' Cell for `+bl(e),gl=(e,l=0,t=0)=>ml[l]+Ye+al(t)+`the '${e}' Value`,ml=["Gets","Checks existence of","Sets","Deletes","Sets part of",Le,"Gets "+Xe,"Sets "+Xe,Ee+" whenever",el+"set",el+"add",el+"set part of",el+"delete","Renders","Gets "+Xe+tl,"Sets"+tl,"Deletes"+tl],wl=[$,"has","set","del","set","forEach",c,t],fl=[Me,p,ll+b+Ye+i,ue+b,ll+h+Ye+i,ue+h,ll+w+Ye+i,ue+w,"invalid Cell changes",y,ll+T+Ye+i,ue+T,"invalid Value changes",ll+"sorted "+h+Ye+i,ll+w+Ye+i+" anywhere",ll+"number of Rows",ue+w+" anywhere"],Tl=[t,"tabular ","keyed value "],yl=e=>new Set(P(e)||R(e)?e:[e]),vl=(e,l)=>e?.add(l),Vl=/[^A-Za-z]+/,xl=/[^A-Za-z0-9]+/,Rl=/^( *)\/\*\* *(.*?) *\*\/$/gm,Al=e=>e.includes(a),kl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return ee(e,n)?kl(e,l,t,a+1):(re(e,n,t),n)},Sl=e=>e.replace(Rl,((e,l,t)=>{const a=77-E(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Pl=e=>e.flat(1e3),Ol=(e,l=0)=>H(M(e.split(xl),((e,t)=>(t>0||l?$e:ce)(O(e,0,1))+O(e,1)))),El=e=>$e(H((e&&!Vl.test(e[0])?e:" "+e).split(xl),"_")),Ll=e=>`/** ${e}. */`,Nl=(...e)=>H(J(e,(e=>e)),", "),Dl=(...e)=>"{"+H(e,"; ")+"}",Gl=(...e)=>Dl(...M(e,(e=>"readonly "+e))),jl=()=>{const e=[ne(),ne(),ne(),ne()],l=ne(),a=ne(),n=e=>{const l=e.indexOf(" as ");return-1!=l?O(e,l+4):e};return[(...e)=>H(Pl(e),"\n"),(l,t,...a)=>j(a,(a=>j([0,1],(n=>(l??n)==n?vl(Ie(e[n],t,yl),a):0)))),(e,a,n,d=t,o=1)=>kl(l,e,[a,n,d,o]),(e,l,t)=>kl(a,e,P(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>de(a,e)===l?e:kl(a,e,l),(l=0)=>M([...G(se(e[l],((e,l)=>`import {${H(G(le(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>Al(e)!=Al(l)?Al(e)?-1:1:e>l?1:-1)),t],(e=>e.replace("{React}","React"))),()=>se(l,(([e,l,a,n],d)=>[Ll(l),`${n?Te+" ":t}type ${d}${a} = ${e};`,t])),()=>se(a,((e,l)=>(e=P(e)?e:[e],z(e,W(e)+";"),[`const ${l} = ${F(e)}`,e,t])))]},Hl=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},Ml=(e,l,t)=>[l=>K(e,((e,a)=>l(a,Ol(a,1),t(El(a),`'${a}'`)))),(l,a)=>K(e[l],((e,l)=>a(l,e[s],e[r],t(El(l),`'${l}'`),Ol(l,1)))),e=>K(l,((l,a)=>e(a,l[s],l[r],t(El(a),`'${a}'`),Ol(a,1))))],Jl=(e,l,a,n)=>[(n,d)=>{const o=n+": "+d,s=e(p,Dl(...l((e=>`'${e}'?: {[rowId: Id]: `+Dl(...a(e,((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`)))+"}"))),dl(1,5)),r=e(p+qe,Dl(...l((e=>`'${e}'?: {[rowId: Id]: `+Dl(...a(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),dl(1,5,1)),$=e(b+ye,"keyof "+s,"A "+b+" Id in "+Me),c=`<TId extends ${$}>`,i=e(b,ke+`<${s}[TId]>`,"A "+b+" in "+Me,c),T=e(b+qe,ke+`<${r}[TId]>`,"A "+b+" in "+Me+Ke,c),y=e(h,i+"<TId>[Id]","A "+h+" in a "+b,c),v=e(h+qe,T+"<TId>[Id]","A "+h+" in a "+b+Ke,c),V=e(w+ye,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+h,c),x=e(w,ke+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+h,`<TId extends ${$}, CId extends ${V}<TId>>`),A=e("CellIdCellArray",`CId extends ${V}<TId> ? [cellId: CId, cell: ${x}<TId, CId>] : never`,w+" Ids and types in a "+h,`<TId extends ${$}, CId = ${V}<TId>>`,0),k=e(w+pe,`(...[cellId, cell]: ${A}<TId>)`+Qe,$l(ue+w+" Id, and "+w),c),S=e(h+pe,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Qe+") "+Qe,$l(ue+h+" Id, and a "+w+" iterator"),c),P=e(b+w+pe,`(cellId: ${V}<TId>, count: number) `+Qe,$l(ue+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Qe}] : never`,b+" Ids and callback types",`<TId = ${$}>`,0),E=e(b+pe,`(...[tableId, forEachRow]: ${O})`+Qe,$l(ue+b+" Id, and a "+h+" iterator"),t),L=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${V}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),N=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,ie+" returning information about any Cell's changes during a "+We),D=e(u+p+I,`(${o}, hasTables: boolean)`+Qe,cl(1,0,1)),G=e(p+I,`(${o}, getCellChange: ${N}${Ae})`+Qe,cl(1)),j=e(C+I,`(${o})`+Qe,cl(2)),H=e(u+b+I,`(${o}, tableId: ${$}, hasTable: boolean)`+Qe,cl(3,0,1)),M=e(b+I,`(${o}, tableId: ${$}, getCellChange: ${N}${Ae})`+Qe,cl(3)),J=e(b+f+I,`(${o}, tableId: ${$})`+Qe,cl(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${$}>`,0),B=e(u+b+w+I,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+Qe,cl(16,3,1)),F=e(h+"Count"+I,`(${o}, tableId: ${$})`+Qe,cl(15,3)),U=e(g+I,`(${o}, tableId: ${$})`+Qe,cl(4,3)),_=e(m+I,"("+Nl(o,"tableId: "+$,"cellId: Id"+Ae,"descending: boolean","offset: number","limit: number"+Ae,"sortedRowIds: Ids")+")"+Qe,cl(13,3)),Z=e(u+h+I,"("+Nl(""+o,"tableId: "+$,Ne,"hasRow: boolean")+")"+Qe,cl(5,3,1)),Q=e(h+I,"("+Nl(""+o,"tableId: "+$,Ne,`getCellChange: ${N}${Ae}`)+")"+Qe,cl(5,3)),q=e(f+I,"("+Nl(""+o,"tableId: "+$,Ne)+")"+Qe,cl(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ne}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${$} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${$}>`,0),Y=e(u+w+I,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+Qe,cl(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ne}, cellId: CId, newCell: ${x}<TId, CId> ${Ae}, oldCell: ${x}<TId, CId> ${Ae}, getCellChange: ${N} ${Ae}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,r,$,i,T,y,v,V,x,k,S,P,E,D,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+Qe,cl(7,5)),e(ve+w+I,`(${o}, tableId: Id, ${Ne}, cellId: Id, invalidCells: any[])`+Qe,cl(8))]},(l,a)=>{const d=l+": "+a,o=e(y,Dl(...n(((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`))),dl(2,5)),s=e(y+qe,Dl(...n(((e,l)=>`'${e}'?: ${l}`))),dl(2,5,1)),r=e(T+ye,"keyof "+o,"A "+T+" Id in "+Me),$=e(T,ke+`<${o}[VId]>`,"A "+T+" Id in "+Me,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,T+" Ids and types in "+Me,`<VId = ${r}>`,0),i=e(T+pe,`(...[valueId, value]: ${c})`+Qe,$l(ue+T+" Id, and "+T)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,ie+" returning information about any Value's changes during a "+We),p=e(u+y+I,`(${d}, hasValues: boolean)`+Qe,cl(9,0,1)),C=e(y+I,`(${d}, getValueChange: ${b}${Ae})`+Qe,cl(9)),h=e(v+I,`(${d})`+Qe,cl(10)),g=e(u+T+I,`(${d}, valueId: ValueId, hasValue: boolean)`+Qe,cl(11,0,1)),m=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${$}<VId> ${Ae}, oldValue: ${$}<VId> ${Ae}, getValueChange: ${b} ${Ae}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,$,i,p,C,h,g,e(T+I,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+m+")"+Qe,cl(11)),e(ve+T+I,`(${d}, valueId: Id, invalidValues: any[])`+Qe,cl(12))]},(l,t)=>e(Je+I,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Qe,ie+" listening to the completion of a "+We)],zl=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Wl=(e,l=t)=>`fluent(() => ${zl(e,l)})`,Bl=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Fl=(e,a,n)=>{const[o,$,V,x,A,k,P,O]=jl(),[E,L,N]=Ml(e,a,A),[D,G,M]=Jl(V,E,L,N),J=ne(),W=(e=0)=>se(J,(([l,a,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${a} => ${n},`]:[s+o+`(${l}): ${a};`];return e||B(r,Ll(d)),z(r,t),r})),F=(e,l,a,n,d,o=t)=>kl(J,e,[l,a,n,d,o]),U=(e,l,a,n,d,o=t,s=t,r=t)=>F(wl[e]+l+(4==e?Se:t)+a,o,n,(n==Q?Wl:zl)(wl[e]+(4==e?Se:t)+a,s,e?void 0:n),d,r),_=(e,l,a,n=t,d=t,o=1,s=t)=>F(c+e+I,(n?n+", ":t)+xe+": "+l+(o?", mutator?: boolean":t),ye,Bl(c+e+I,d,o?"mutator":t),a,s),Z=`./${Ol(n)}.d`,Q=Ol(n,1),q=Ol(Q),K=[],X=ne();let ee=[],te=[];if($(1,Z,Q,`create${Q} as create${Q}Decl`),Y(e))$(null,l,p);else{$(0,l,"CellChange"),$(null,l,i);const[e,a,n,o,I,c,T,y,v,x,k,P,O,N,G,M,J,W,B,F,Y,te,ae,oe,se,Ie,$e,ce,ue]=D(q,Q),ie=ne();E(((e,l)=>{const t=`<'${e}'>`,a=[V(l+b,o+t,Le+` the '${e}' `+b),V(l+b+qe,I+t,Le+` the '${e}' `+b+Ke),V(l+h,c+t,ol(e)),V(l+h+qe,T+t,ol(e,1)),V(l+w+ye,y+t,`A Cell Id for the '${e}' `+b),V(l+w+pe,x+t,$l(`a Cell Id and value from a Row in the '${e}' `+b)),V(l+h+pe,k+t,$l(`a Row Id from the '${e}' Table, and a Cell iterator`)),V(l+b+w+pe,P+t,$l(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];re(ie,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,O,N,G,M,J,W,B,F,Y,te,ae,oe,se,Ie,$e,ce,ue),ee=[e,a,n,y,N,G,M,J,W,B,F,Y,te,ae,oe,se,Ie,$e,ce,ie],j([[e],[d],[Q,"tables: "+a,"tables"],[Q]],(([e,l,a],n)=>U(n,t,p,e,dl(1,n),l,a))),U(0,t,C,n+He,sl(b,Me)),U(5,t,b,Ze,rl(b,Me),"tableCallback: "+O,"tableCallback as any"),E(((e,l,a)=>{const[n,o,s,r,I,$,c,u]=de(ie,e);j([[n],[d],[Q,"table: "+o,", table"],[Q]],(([n,d,o=t],s)=>U(s,l,b,n,pl(e,s),d,a+o))),U(0,l,b+f,i,sl(w,"the whole of "+il(e)),t,a),U(5,l,b+w,Ze,rl(b+w,"the whole of "+il(e)),"tableCellCallback: "+u,a+", tableCellCallback as any"),U(0,l,h+Ce,"number","Gets the number of Rows in the "+il(e),t,a),U(0,l,g,i,sl(h,il(e)),t,a),U(0,l,m,i,sl(h,il(e),1),"cellId?: "+I+je,a+", cellId, descending, offset, limit"),U(5,l,h,Ze,rl(h,il(e)),"rowCallback: "+c,a+", rowCallback as any"),j([[s],[d],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=t,o=t],s)=>U(s,l,h,n,Cl(e,s),Ne+d,a+", rowId"+o))),U(6,l,h,ye+Ae,"Add a new Row to "+il(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,l,f,I+He,sl(w,bl(e)),Ne,a+", rowId"),U(5,l,w,Ze,rl(w,bl(e)),Ne+", cellCallback: "+$,a+", rowId, cellCallback as any"),L(e,((n,o,s,r,I)=>{const $="Map"+Ol(o,1);re(X,o,$);const c=o+(R(s)?Ae:t);j([[c],[d],[Q,`, cell: ${o} | `+$,", cell as any"],[Q]],(([d,o=t,s=t],$)=>U($,l+I,w,d,hl(e,n,$),Ne+o,a+", rowId, "+r+s))),U(1,l+I,b+w,d,ml[1]+` the '${n}' Cell anywhere in `+il(e),t,a+", "+r)}))})),U(0,t,p+Ve,Ve,dl(1,6)),U(2,t,p+Ve,Q,dl(1,7),"tablesJson: "+Ve,"tables"+Ve),_(u+p,N,dl(1,8,0,1)+" changes"),_(p,G,dl(1,8)+" changes"),_(C,M,ul(2,0,1)),_(u+b,J,ul(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(b,W,ul(3,0),`tableId: ${n} | null`,"tableId"),_(b+f,B,ul(14,3,1),`tableId: ${n} | null`,"tableId"),_(u+b+w,F,ul(16,3,0,1),`tableId: ${n} | null, cellId: ${H(E((e=>de(ie,e)?.[4]??t))," | ")} | null`,"tableId, cellId"),_(h+Ce,Y,ul(15,3),`tableId: ${n} | null`,"tableId"),_(g,te,ul(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,ae,ul(13,3,1),Nl("tableId: TId",`cellId: ${y}<TId>`+Ae,"descending: boolean","offset: number","limit: number"+Ae),Nl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(u+h,oe,ul(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(h,se,ul(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,Ie,ul(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(u+w,$e,ul(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>de(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,ul(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>de(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(ve+w,ue,Ee+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...le(X)),z(K,".set"+p+De+"({",Pl(E(((e,l,a)=>[`[${a}]: {`,...L(e,((e,l,a,n)=>`[${n}]: {[${A(El(s),`'${s}'`)}]: ${A(El(l),`'${l}'`)}${R(a)?t:`, [${A(El(r),`'${r}'`)}]: `+(S(a)?A(El(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(Y(a))$(null,l,y);else{const[e,a,n,o,I,c,i,b,p,C,h]=G(q,Q);$(1,Z,e,a,n,I,c,i,b,p,C,h),te=[e,a,n,c,i,b,p,C],j([[e],[d],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,l,a],n)=>U(n,t,y,e,dl(2,n),l,a))),U(0,t,v,n+He,sl(T,Me)),U(5,t,T,"void",rl(T,Me),"valueCallback: "+I,"valueCallback as any"),N(((e,l,a,n,o)=>{const s="Map"+Ol(l,1);re(X,l,s),j([[l],[d],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,a,d=t],s)=>U(s,o,T,l,gl(e,s),a,n+d)))})),U(0,t,y+Ve,Ve,dl(2,6)),U(2,t,y+Ve,Q,dl(2,7),"valuesJson: "+Ve,"values"+Ve),_(u+y,c,dl(2,8,0,1)+" changes"),_(y,i,dl(2,8)+" changes"),_(v,b,ul(10,0,1)),_(u+T,p,ul(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(T,C,ul(11,0),`valueId: ${n} | null`,"valueId"),_(ve+T,h,Ee+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...le(X)),$(0,l,"ValueChange"),z(K,".set"+y+De+"({",N(((e,l,a,n)=>[`[${n}]: {[${A(El(s),`'${s}'`)}]: ${A(El(l),`'${l}'`)}${R(a)?t:`, [${A(El(r),`'${r}'`)}]: `+(S(a)?A(El(a),`'${a}'`):a)}},`])),"})")}U(0,t,"Content",`[${p}, ${y}]`,dl(0,0)),U(2,t,"Content",Q,dl(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,t,ze,Q,`Applies a set of ${ze} to the Store`,"transactionChanges: "+ze,"transactionChanges"),oe(X,((e,l)=>V(l,`(cell: ${e}${Ae}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,l,"DoRollback",ye,"IdOrNull",Ve,"Store",ze),$(0,l,"Get"+ze,"GetTransactionLog"),U(0,t,Ve,Ve,dl(0,6)),U(2,t,Ve,Q,dl(0,7),"tablesAndValuesJson: "+Ve,"tablesAndValuesJson"),U(7,t,We,"Return",Be,fe,"actions, doRollback","<Return>"),U(7,t,"start"+Je,Q,Fe),U(7,t,"finish"+Je,Q,Ue,we,"doRollback");const ae=M(q,Q);return _("Start"+Je,ae,Ee+" just before the start of the "+We,t,t,0),_("WillFinish"+Je,ae,Ee+" just before "+_e,t,t,0),_("DidFinish"+Je,ae,Ee+" just after "+_e,t,t,0),U(7,t,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,t,I,Q,"Remove a listener that was previously added to "+Me,"listenerId: Id","listenerId"),F("getStore",t,"Store","store",ml[0]+" the underlying Store object"),$(1,l,"createStore"),$(1,Z,Q,`create${Q} as create${Q}Decl`,ae),A("store",["createStore()",...K]),x("fluent","actions: () => Store",["actions();",`return ${q};`]),x("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),A(q,["{",...W(1),"}"]),[o(...k(0),...P(),Te+" interface "+Q+" {",...W(0),"}",t,Ll(`Creates a ${Q} object`),Te+" function create"+Q+"(): "+Q+";"),o(...k(1),Te+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),ee,te]},Ul=e=>$+e,_l=e=>Nl(Ul(e),Ul(e)+ge),Zl="debugIds?: boolean",Ql="debugIds={debugIds}",ql="then"+me,Kl="Parameter",Xl=": (parameter: "+Kl+", store: Store) => ",Yl="const contextValue = useContext(Context);",et=", based on a parameter",lt=": ",tt="<"+Kl+",>",at=Kl+"ized"+pe+"<"+Kl+">",nt="rowId",dt="rowId={rowId}",ot=", separator, debugIds",st="separator?: ReactElement | string",rt="then?: (store: Store",It=Nl(rt+")"+Qe,ql),$t="then, then"+ge,ct=nt+lt+ye,ut="View",it=(e,...l)=>Nl(...l,xe+": "+e,xe+me,"mutator?: boolean"),bt=(...e)=>Nl(...e,xe,xe+ge,"mutator"),pt=(e,a,n,s,r)=>{const[$,c,V,x,A,k,S,P]=jl(),[O,E,L]=Ml(e,a,A),N=`./${Ol(n)}.d`,D=`./${Ol(n)}-ui-react.d`,G="tinybase/ui-react",j=Ol(n,1),M=Ol(j),J=j+"Or"+j+ye,W=M+"Or"+j+ye,F=M+`={${M}}`,U=ne(),_=(e,l,a,n,d,o=t)=>(c(1,D,e+" as "+e+"Decl"),kl(U,e,[l,a,n,d,o])),Z=(e,l,a,n,d,o=t)=>_("use"+e,l,a,n,d,o),Q=(e,l,a,n,d=t,o=t,s=t,r=t,I=t)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Nl(d,le,r),a,ae+`(${W}, use${l}Core, [`+(o||t)+(I?"], ["+I:t)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>se(U,(([l,a,n,d,o],s)=>{const r=e?[Te+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==a?"any":a} =>`,n]:[Te+` function ${s}${o}(${l}): ${1==a?"ComponentReturnType":a};`];return e||B(r,Ll(d)),z(r,t),r}));c(null,l,ye,"Store",pe,Kl+"ized"+pe),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,N,j);const X=V(J,j+" | "+ye,`Used when you need to refer to a ${j} in a React hook or component`),ee=V(Oe+Pe,Gl(M+Re+j,M+`ById?: {[${M}Id: Id]: ${j}}`),`Used with the ${Oe} component, so that a `+j+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,D,X,ee);const le=W+Re+X;A("{createContext, useContext, useMemo}","React"),A("Context",`createContext<[${j}?, {[${M}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+me,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const te=Z(j,"id?: Id",j+Ae,["{",Yl,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Oe} component context`),ae=x("useHook",W+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${M} = ${te}(${W} as Id);`,`return hook(...preParams, ((${W} == null || typeof ${W} == 'string')`,`? ${M} : ${W})?.getStore(), ...postParams)`]),oe=x("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=x("wrap",Nl("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;"]),Ie=x("useCustomOrDefaultCellIds",Nl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${W}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${W}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=A("NullComponent","() => null");if(!Y(e)){const[e,a,n,r,$,T,y,v,A,k,S,P,L,G,J,z,W,B,U,_]=s;c(null,N,e,a,n,$,T,y,v,A,k,S,P,L,G,J,z,W,U,B),c(0,N,r),c(1,N,j),c(null,l,i,"IdOrNull");const Z=x("tableView",`{${M}, rowComponent, getRowComponentProps, customCellIds`+ot+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+oe+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",dt,"customCellIds={customCellIds}",F,Ql,"/>","))",ot,", tableId,",");"]),K=x("getDefaultTableComponent","tableId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=x("getDefaultCellComponent","tableId: Id, cellId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${H(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(u+p,u+p,d,dl(1,0,0,1)+be),Q(p,p,e,dl(1,0)+be);const Y=Q(C,C,n+He,sl(b,Me)+be);Q(Ge+p+pe,Ge+p+pe,at,dl(1,9)+et,Nl(Ul(p)+Xl+a,Ul(p)+me),_l(p),tt,Nl(rt,`tables: ${a})`+Qe,ql),$t),Q(he+p+pe,he+p+pe,pe,dl(1,12),t,t,t,It,$t);const ee=V(w+Pe,Gl("tableId?: TId","rowId: Id","cellId?: CId",M+Re+j,Zl),Il(ue+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=V(h+Pe,Gl("tableId?: TId","rowId: Id",M+Re+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,st,Zl),Il(ue+h),`<TId extends ${n}>`),te=V(b+Pe,Gl("tableId?: TId",M+Re+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",st,Zl),Il(ue+b),`<TId extends ${n}>`),ae=V("Sorted"+b+Pe,Gl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",M+Re+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",st,Zl),Il(ue+"sorted "+b),`<TId extends ${n}>`),ne=V(p+Pe,Gl(M+Re+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,st,Zl),Il(nl(1,1)));c(1,D,ne,te,ae,le,ee),q(p+ut,"{"+M+", tableComponents, getTableComponentProps"+ot+"}: "+ne,[re+`(${Y}(${M}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${oe}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",F,Ql,"/>;","}), separator)"],dl(1,13)+be),O(((e,l,a)=>{const[n,s,r,I,$]=de(_,e);c(null,N,n,s,r,I,$),Q(u+l+b,u+b,d,pl(e,0,1)+be,t,a),Q(l+b,b,n,pl(e)+be,t,a),Q(l+b+f,b+f,i,sl(w,"the whole of "+il(e))+be,t,a),Q(l+h+Ce,h+Ce,o,"Gets the number of Rows in "+il(e)+be,t,a);const p=Q(l+g,g,i,sl(h,il(e))+be,t,a),C=Q(l+m,m,i,sl(h,il(e),1)+be,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");Q(u+l+h,u+h,d,Cl(e,0,1)+be,ct,Nl(a,nt)),Q(l+h,h,r,Cl(e)+be,ct,Nl(a,nt)),Q(l+f,f,$+He,sl(w,bl(e))+be,ct,Nl(a,nt)),Q(Ge+l+b+pe,Ge+b+pe,at,pl(e,9)+et,Nl(Ul(b)+Xl+s,Ul(b)+me),Nl(a,_l(b)),tt,Nl(rt,`table: ${s})`+Qe,ql),$t),Q(he+l+b+pe,he+b+pe,pe,pl(e,12),t,a,t,It,$t),Q(Ge+l+h+pe,Ge+h+pe,at,Cl(e,9)+et,Nl(ct,Ul(h)+Xl+I,Ul(h)+me),Nl(a,nt,_l(h)),tt,Nl(rt,`row: ${I})`+Qe,ql),$t),Q("Add"+l+h+pe,"Add"+h+pe,at,Cl(e,10)+et,Nl(Ul(h)+Xl+I,Ul(h)+me),Nl(a,_l(h)),tt,"then?: ("+Nl(ct+Ae,"store: Store","row: "+I+")"+Qe,"then"+me)+", reuseRowIds?: boolean",$t+", reuseRowIds"),Q(Ge+l+Se+h+pe,Ge+Se+h+pe,at,Cl(e,11)+et,Nl(ct,Ul(Se+h)+Xl+I,Ul(Se+h)+me),Nl(a,nt,_l(Se+h)),tt,Nl(rt,`partialRow: ${I})`+Qe,ql),$t),Q(he+l+h+pe,he+h+pe,pe,Cl(e,12),ct,Nl(a,nt),t,It,$t);const T=q(l+h+ut,"{rowId, "+M+", cellComponents, getCellComponentProps, customCellIds"+ot+`}: ${le}<'${e}'>`,[re+`(${Ie}(customCellIds, `+a+`, rowId, ${M}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${oe}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,dt,"cellId={cellId}",F,Ql,"/>;","})"+ot+", rowId)"],Cl(e,13)+be);q(l+"Sorted"+b+ut,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${M}), ${a}, ${T});`,pl(e,13)+", sorted"+be),q(l+b+ut,`props: ${te}<'${e}'>`,Z+"(props, "+p+`(props.${M}), ${a}, ${T});`,pl(e,13)+be),E(e,((n,o,s,r,I)=>{const $="Map"+Ol(o,1);c(0,N,$),c(1,N,$),Q(u+l+I+b+w,u+b+w,d,`Gets ${al(1)}the '${n}' Cell anywhere in `+il(e)+be,t,Nl(a,r)),Q(u+l+I+w,u+w,d,hl(e,n,0,1)+be,ct,Nl(a,nt,r));const i=Q(l+I+w,w,o+(R(s)?Ae:t),hl(e,n)+be,ct,Nl(a,nt,r));Q(Ge+l+I+w+pe,Ge+w+pe,at,hl(e,n,9)+et,Nl(ct,Ul(w)+Xl+o+" | "+$,Ul(w)+me),Nl(a,nt,r,_l(w)),tt,Nl(rt,`cell: ${o} | ${$})`+Qe,ql),$t),Q(he+l+I+w+pe,he+w+pe,pe,hl(e,n,12),Nl(ct,"forceDel?: boolean"),Nl(a,nt,r,"forceDel"),t,It,$t),q(l+I+w+ut,`{rowId, ${M}, debugIds}: `+ee+`<'${e}', '${n}'>`,[re+`('' + ${i}(rowId, `+M+`) ?? '', undefined, debugIds, ${r})`],hl(e,n,13)+be)}))}));const se=H(O((e=>de(_,e)?.[4]??t))," | ");Q(u+p+I,u+p+I,Ze,dl(1,8,0,1)+" changes",it($),bt()),Q(p+I,p+I,Ze,dl(1,8)+" changes",it(T),bt()),Q(C+I,C+I,Ze,ul(2,0,1),it(y),bt()),Q(u+b+I,u+b+I,Ze,ul(3,0,0,1),it(v,`tableId: ${n} | null`),bt("tableId")),Q(b+I,b+I,Ze,ul(3,0),it(A,`tableId: ${n} | null`),bt("tableId")),Q(b+f+I,b+f+I,Ze,ul(14,3,1),it(k,`tableId: ${n} | null`),bt("tableId")),Q(u+b+w+I,u+b+w+I,Ze,ul(16,3,0,1),it(S,`tableId: ${n} | null`,`cellId: ${se} | null`),bt("tableId","cellId")),Q(h+Ce+I,h+Ce+I,Ze,ul(15,3),it(P,`tableId: ${n} | null`),bt("tableId")),Q(g+I,g+I,Ze,ul(4,3,1),it(L,`tableId: ${n} | null`),bt("tableId")),Q(m+I,m+I,Ze,ul(13,3,1),it(G,`tableId: ${n} | null`,"cellId: "+se+Ae,"descending: boolean","offset: number","limit: number"+Ae),bt("tableId","cellId","descending","offset","limit")),Q(u+h+I,u+h+I,Ze,ul(5,3,0,1),it(J,`tableId: ${n} | null`,nt+": IdOrNull"),bt("tableId",nt)),Q(h+I,h+I,Ze,ul(5,3),it(z,`tableId: ${n} | null`,nt+": IdOrNull"),bt("tableId",nt)),Q(f+I,f+I,Ze,ul(6,5,1),it(W,`tableId: ${n} | null`,nt+": IdOrNull"),bt("tableId",nt)),Q(u+w+I,u+w+I,Ze,ul(7,5,0,1),it(B,`tableId: ${n} | null`,nt+": IdOrNull",`cellId: ${se} | null`),bt("tableId",nt,"cellId")),Q(w+I,w+I,Ze,ul(7,5),it(U,`tableId: ${n} | null`,nt+": IdOrNull",`cellId: ${se} | null`),bt("tableId",nt,"cellId"))}if(!Y(a)){const[e,l,a,n,o,s,$,i]=r;c(null,N,...r),c(1,N,j);const b=x("getDefaultValueComponent","valueId: Id",H(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(u+y,u+y,d,dl(2,0,0,1)+be),Q(y,y,e,dl(2,0)+be);const p=Q(v,v,a+He,sl(T,Me)+be);Q(Ge+y+pe,Ge+y+pe,at,dl(2,9)+et,Nl(Ul(y)+Xl+l,Ul(y)+me),_l(y),tt,Nl(rt,`values: ${l})`+Qe,ql),$t),Q(Ge+Se+y+pe,Ge+Se+y+pe,at,dl(2,11)+et,Nl(Ul(Se+y)+Xl+l,Ul(Se+y)+me),_l(Se+y),tt,Nl(rt,`partialValues: ${l})`+Qe,ql),$t),Q(he+y+pe,he+y+pe,pe,dl(2,12),t,t,t,It,$t);const C=V(T+Pe,Gl("valueId?: VId",M+Re+j,Zl),Il("a Value"),`<VId extends ${a}>`),h=V(y+Pe,Gl(M+Re+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${C}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,st,Zl),Il(nl(2,1)));c(1,D,h,C),q(y+ut,"{"+M+", valueComponents, getValueComponentProps"+ot+"}: "+h,[re+`(${p}(${M}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+b+"(valueId);","return <Value",`{...${oe}(getValueComponentProps, valueId)}`,"key={valueId}",F,Ql,"/>;","}), separator)"],dl(2,13)+be),L(((e,l,a,n,o)=>{const s="Map"+Ol(l,1);c(0,N,s),c(1,N,s),Q(u+o+T,u+T,d,gl(e,0,1)+be,t,n);const r=Q(o+T,T,l,gl(e)+be,t,n);Q(Ge+o+T+pe,Ge+T+pe,at,gl(e,9)+et,Nl(Ul(T)+Xl+l+" | "+s,Ul(T)+me),Nl(n,_l(T)),tt,Nl(rt,`value: ${l} | ${s})`+Qe,ql),$t),Q(he+o+T+pe,he+T+pe,pe,gl(e,12),t,n,t,It,$t),q(o+T+ut,`{${M}, debugIds}: ${C}<'${e}'>`,[re+`('' + ${r}(`+M+`) ?? '', undefined, debugIds, ${n})`],gl(e,13)+be)})),Q(u+y+I,u+y+I,Ze,dl(2,8,0,1)+" changes",it(n),bt()),Q(y+I,y+I,Ze,dl(2,8)+" changes",it(o),bt()),Q(v+I,v+I,Ze,ul(10,0,1),it(s),bt()),Q(u+T+I,u+T+I,Ze,ul(11,0,0,1),it($,`valueId: ${a} | null`),bt("valueId")),Q(T+I,T+I,Ze,ul(11,0),it(i,`valueId: ${a} | null`),bt("valueId"))}return q(Oe,`{${M}, ${M}ById, children}: `+ee+" & {children: React.ReactNode}",["{",Yl,"return (","<Context."+Oe,"value={useMemo(",`() => [${M} ?? contextValue[0], {...contextValue[1], ...${M}ById}],`,`[${M}, ${M}ById, contextValue],`,")}>","{children}",`</Context.${Oe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[$(...k(0),...S(),...K(0)),$(...k(1),...P(),...K(1))]},Ct=(e,l,a)=>{if(Y(e)&&Y(l))return[t,t,t,t];const[n,d,o,s]=Fl(e,l,a);return[n,d,...pt(e,l,a,o,s)]},ht=JSON.parse,gt="prettier/",mt=gt+"plugins/",wt={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},ft=Hl((e=>{const l=()=>{const l=ht(e.getTablesSchemaJson());return!Y(l)||D(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=ne();if(D(a,(l=>D(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=Ie(n,a,(()=>[N(d),ne(),[0],0])),[s,r,[I]]=o,$=Ie(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),re(r,d,$),o[3]++,s==N(d)})))))return l[t]={},te(n,(([e,,[,n],d],o)=>{l[t][o]={[s]:e,...d==E(a)?{[r]:n}:{}}})),1}))?l:{}},t=()=>{const l=ht(e.getValuesSchemaJson());return Y(l)&&e.forEachValue(((e,t)=>{l[e]={[s]:N(t)}})),l},a=e=>Ct(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(gt+"standalone")).format,z(t,await import(mt+"estree"),await import(mt+"typescript"))}catch(e){n=async e=>e}return await L(M(a(e),(async(e,a)=>Sl(await n(e,{...wt,plugins:t,filepath:"_."+l[a]})))))};return Q({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:E(e.getValueIds()),jsonLength:E(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{ft as createTools};
|
package/lib/tools.js.gz
CHANGED
|
Binary file
|
package/lib/types/tools.d.ts
CHANGED
|
@@ -421,7 +421,7 @@ export interface Tools {
|
|
|
421
421
|
* // -> `export type Tables = {pets?: {[rowId: Id]: {price?: number}}};`
|
|
422
422
|
*
|
|
423
423
|
* const tsLines = ts.split('\n');
|
|
424
|
-
* console.log(tsLines[
|
|
424
|
+
* console.log(tsLines[89]);
|
|
425
425
|
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
426
426
|
* ```
|
|
427
427
|
* @example
|
|
@@ -441,7 +441,7 @@ export interface Tools {
|
|
|
441
441
|
* // -> 'export type Tables = {pets?: {[rowId: Id]: {price: number}}};'
|
|
442
442
|
*
|
|
443
443
|
* const tsLines = ts.split('\n');
|
|
444
|
-
* console.log(tsLines[
|
|
444
|
+
* console.log(tsLines[91]);
|
|
445
445
|
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
446
446
|
* ```
|
|
447
447
|
* @category Modelling
|
|
@@ -420,7 +420,7 @@ export interface Tools<in out Schemas extends OptionalSchemas> {
|
|
|
420
420
|
* // -> `export type Tables = {pets?: {[rowId: Id]: {price?: number}}};`
|
|
421
421
|
*
|
|
422
422
|
* const tsLines = ts.split('\n');
|
|
423
|
-
* console.log(tsLines[
|
|
423
|
+
* console.log(tsLines[89]);
|
|
424
424
|
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
425
425
|
* ```
|
|
426
426
|
* @example
|
|
@@ -440,7 +440,7 @@ export interface Tools<in out Schemas extends OptionalSchemas> {
|
|
|
440
440
|
* // -> 'export type Tables = {pets?: {[rowId: Id]: {price: number}}};'
|
|
441
441
|
*
|
|
442
442
|
* const tsLines = ts.split('\n');
|
|
443
|
-
* console.log(tsLines[
|
|
443
|
+
* console.log(tsLines[91]);
|
|
444
444
|
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
445
445
|
* ```
|
|
446
446
|
* @category Modelling
|
package/lib/umd/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",a="",n=",",o=t(a),d=t(!0),s=t(0),r="type",I="default",c="Listener",$="get",i="add",u="Ids",p="Table",b=p+"s",C=p+u,h="Row",m=h+u,g="Sorted"+h+u,f="Cell",w=f+u,y="Value",T=y+"s",v=y+u,V=Promise,x=isFinite,R=e=>null==e,k=(e,t,l)=>R(e)?l?.():t(e),S=e=>e==o||e==d,P=e=>t(e)==o,A=e=>Array.isArray(e),E=(e,t,l)=>e.slice(t,l),O=e=>e.length,D=async e=>V.all(e),N=e=>{const l=t(e);return S(l)||l==s&&x(e)?l:void 0},G=(e,t)=>e.every(t),L=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),M=(e,t=a)=>e.join(t),J=(e,t)=>e.map(t),z=(e,t)=>e.filter(t),W=(e,...t)=>e.push(...t),B=e=>e.pop(),F=(e,...t)=>e.unshift(...t),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),H=_.keys,Q=_.freeze,q=e=>!R(e)&&k(Z(e),(e=>e==_.prototype||R(Z(e))),(()=>!0)),K=(e,t)=>J(_.entries(e),(([e,l])=>t(l,e))),X=e=>O(H(e)),Y=e=>q(e)&&0==X(e),ee=(e,t)=>e?.has(t)??!1,te=e=>[...e?.values()??[]],le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=e=>new Map(e),oe=(e,t)=>e?.get(t),de=(e,t)=>le(e,((e,l)=>t(l,e))),se=(e,t)=>J([...e?.entries()??[]],(([e,l])=>t(l,e))),re=(e,t,l)=>R(l)?(ae(e,t),e):e?.set(t,l),Ie=(e,t,l)=>(ee(e,t)||re(e,t,l()),oe(e,t)),ce=e=>e.toUpperCase(),$e=e=>e.toLowerCase(),ie="a ",ue="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",be="Callback",Ce="Del",he="Deps",me=he+"?: React.DependencyList",ge="doRollback?: DoRollback",fe="actions: () => Return, "+ge,we="export",ye="Id",Te="Invalid",ve="Json",Ve=$e(c),xe="?: ",Re=" | undefined",ke="NonNullable",Se="Partial",Pe="Props",Ae="Provider",Ee=`Registers a ${Ve} that will be called`,Oe="Represents",De="rowId: "+ye,Ne="Schema",Ge="Set",Le=", descending?: boolean, offset?: number, limit?: number",je="[]",Me="the Store",Je="Transaction",ze=Je+"Changes",We=$e(Je),Be="Execute a "+We+" to make multiple mutations",Fe="Explicitly starts a "+We,Ue="Explicitly finishes a "+We,_e="the end of the "+We,Ze="void",He=" => "+Ze,Qe="WhenSet",qe=" when setting it",Ke=ie+"string serialization of",Xe=" ",Ye="Gets a callback that can ",et="the ",tt=" the schema for",lt=(e=0,t=0)=>`the ${ft[e]}content of`+(t?Xe+Me:a),at=(e=0,t,l=0)=>ht[t]+Xe+lt(e,1)+(l?" when setting it":a),nt=(e,t=0)=>Oe+` a Row when ${t?"s":"g"}etting ${lt()} the '${e}' `+p,ot=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,dt=(e,t)=>`Calls a function for each ${e} in `+t,st=e=>"The props passed to a component that renders "+e,rt=e=>"A function that takes "+e,It=(e,t=0)=>ue+" listening to changes to "+gt[e]+" in "+gt[t],ct=(e,t,l=0)=>Ee+" whenever "+gt[e]+" in "+gt[t]+" change"+(l?a:"s"),$t=e=>`the '${e}' `+p,it=e=>"the specified Row in "+$t(e),ut=(e,t=0)=>ht[t]+` ${lt()} `+$t(e),pt=(e,t=0)=>ht[t]+` ${lt()} `+it(e),bt=(e,t,l=0)=>ht[l]+` the '${t}' Cell for `+it(e),Ct=(e,t=0)=>ht[t]+` the '${e}' Value`,ht=["Gets","Checks existence of","Sets","Deletes","Sets part of",Oe,"Gets "+Ke,"Sets "+Ke,Ee+" whenever",Ye+"set",Ye+"add",Ye+"set part of",Ye+"delete","Renders","Gets "+Ke+tt,"Sets"+tt,"Deletes"+tt],mt=[$,"has","set","del","set","forEach",i,a],gt=[Me,b,et+p+Xe+u,ie+p,et+h+Xe+u,ie+h,et+f+Xe+u,ie+f,"invalid Cell changes",T,et+y+Xe+u,ie+y,"invalid Value changes",et+"sorted "+h+Xe+u,et+f+Xe+u+" anywhere",et+"number of Rows"],ft=[a,"tabular ","keyed value "],wt=e=>new Set(A(e)||R(e)?e:[e]),yt=(e,t)=>e?.add(t),Tt=/[^A-Za-z]+/,vt=/[^A-Za-z0-9]+/,Vt=/^( *)\/\*\* *(.*?) *\*\/$/gm,xt=e=>e.includes(n),Rt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return ee(e,n)?Rt(e,t,l,a+1):(re(e,n,l),n)},kt=e=>e.replace(Vt,((e,t,l)=>{const a=77-O(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),St=e=>e.flat(1e3),Pt=(e,t=0)=>M(J(e.split(vt),((e,l)=>(l>0||t?ce:$e)(E(e,0,1))+E(e,1)))),At=e=>ce(M((e&&!Tt.test(e[0])?e:" "+e).split(vt),"_")),Et=e=>`/** ${e}. */`,Ot=(...e)=>M(z(e,(e=>e)),", "),Dt=(...e)=>"{"+M(e,"; ")+"}",Nt=(...e)=>Dt(...J(e,(e=>"readonly "+e))),Gt=()=>{const e=[ne(),ne(),ne(),ne()],t=ne(),l=ne(),n=e=>{const t=e.indexOf(" as ");return-1!=t?E(e,t+4):e};return[(...e)=>M(St(e),"\n"),(t,l,...a)=>j(a,(a=>j([0,1],(n=>(t??n)==n?yt(Ie(e[n],l,wt),a):0)))),(e,l,n,o=a,d=1)=>Rt(t,e,[l,n,o,d]),(e,t,a)=>Rt(l,e,A(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>oe(l,e)===t?e:Rt(l,e,t),(t=0)=>J([...L(se(e[t],((e,t)=>`import {${M(L(te(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>xt(e)!=xt(t)?xt(e)?-1:1:e>t?1:-1)),a],(e=>e.replace("{React}","React"))),()=>se(t,(([e,t,l,n],o)=>[Et(t),`${n?we+" ":a}type ${o}${l} = ${e};`,a])),()=>se(l,((e,t)=>(e=A(e)?e:[e],W(e,B(e)+";"),[`const ${t} = ${U(e)}`,e,a])))]},Lt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},jt=(e,t,l)=>[t=>K(e,((e,a)=>t(a,Pt(a,1),l(At(a),`'${a}'`)))),(t,a)=>K(e[t],((e,t)=>a(t,e[r],e[I],l(At(t),`'${t}'`),Pt(t,1)))),e=>K(t,((t,a)=>e(a,t[r],t[I],l(At(a),`'${a}'`),Pt(a,1))))],Mt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,s=e(b,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t,l)=>`'${e}'${R(l)?"?":a}: ${t}`)))+"}"))),at(1,5)),r=e(b+Qe,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),at(1,5,1)),I=e(p+ye,"keyof "+s,"A "+p+" Id in "+Me),$=`<TId extends ${I}>`,i=e(p,ke+`<${s}[TId]>`,"A "+p+" in "+Me,$),u=e(p+Qe,ke+`<${r}[TId]>`,"A "+p+" in "+Me+qe,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+Qe,u+"<TId>[Id]","A "+h+" in a "+p+qe,$),v=e(f+ye,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,ke+`<${s}[TId]>[Id][CId]`,"A "+f+" in a "+h,`<TId extends ${I}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,f+" Ids and types in a "+h,`<TId extends ${I}, CId = ${v}<TId>>`,0),k=e(f+be,`(...[cellId, cell]: ${x}<TId>)`+He,rt(ie+f+" Id, and "+f),$),S=e(h+be,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+He+") "+He,rt(ie+h+" Id, and a "+f+" iterator"),$),P=e(p+f+be,`(cellId: ${v}<TId>, count: number) `+He,rt(ie+f+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${He}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+be,`(...[tableId, forEachRow]: ${A})`+He,rt(ie+p+" Id, and a "+h+" iterator"),a),O=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${O}) => CellChange`,ue+" returning information about any Cell's changes during a "+We),N=e(b+c,`(${d}, getCellChange: ${D}${Re})`+He,It(1)),G=e(C+c,`(${d})`+He,It(2)),L=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${D}${Re})`+He,It(3)),j=e(p+w+c,`(${d}, tableId: ${I})`+He,It(14,3)),M=e(h+"Count"+c,`(${d}, tableId: ${I})`+He,It(15,3)),J=e(m+c,`(${d}, tableId: ${I})`+He,It(4,3)),z=e(g+c,"("+Ot(d,"tableId: "+I,"cellId: Id"+Re,"descending: boolean","offset: number","limit: number"+Re,"sortedRowIds: Ids")+")"+He,It(13,3)),W=e(h+c,"("+Ot(""+d,"tableId: "+I,De,`getCellChange: ${D}${Re}`)+")"+He,It(5,3)),B=e(w+c,"("+Ot(""+d,"tableId: "+I,De)+")"+He,It(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${De}, cellId: CId, newCell: ${V}<TId, CId> ${Re}, oldCell: ${V}<TId, CId> ${Re}, getCellChange: ${D} ${Re}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,i,u,y,T,v,V,k,S,P,E,N,G,L,j,M,J,z,W,B,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+He,It(7,5)),e(Te+f+c,`(${d}, tableId: Id, ${De}, cellId: Id, invalidCells: any[])`+He,It(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Dt(...n(((e,t,l)=>`'${e}'${R(l)?"?":a}: ${t}`))),at(2,5)),s=e(T+Qe,Dt(...n(((e,t)=>`'${e}'?: ${t}`))),at(2,5,1)),r=e(y+ye,"keyof "+d,"A "+y+" Id in "+Me),I=e(y,ke+`<${d}[VId]>`,"A "+y+" Id in "+Me,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Me,`<VId = ${r}>`,0),i=e(y+be,`(...[valueId, value]: ${$})`+He,rt(ie+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${r}) => ValueChange`,ue+" returning information about any Value's changes during a "+We),p=e(T+c,`(${o}, getValueChange: ${u}${Re})`+He,It(9)),b=e(v+c,`(${o})`+He,It(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${I}<VId> ${Re}, oldValue: ${I}<VId> ${Re}, getValueChange: ${u} ${Re}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,I,i,p,b,e(y+c,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+He,It(11)),e(Te+y+c,`(${o}, valueId: Id, invalidValues: any[])`+He,It(12))]},(t,l)=>e(Je+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+He,ue+" listening to the completion of a "+We)],Jt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),zt=(e,t=a)=>`fluent(() => ${Jt(e,t)})`,Wt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,Bt=(e,t,n)=>{const[o,s,$,V,x,k,S,A]=Gt(),[E,O,D]=jt(e,t,x),[N,G,L]=Mt($,E,O,D),J=ne(),z=(e=0)=>se(J,(([t,l,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${l} => ${n},`]:[s+d+`(${t}): ${l};`];return e||F(r,Et(o)),W(r,a),r})),B=(e,t,l,n,o,d=a)=>Rt(J,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,s=a,r=a)=>B(mt[e]+t+(4==e?Se:a)+l,d,n,(n==H?zt:Jt)(mt[e]+(4==e?Se:a)+l,s,e?void 0:n),o,r),_=(e,t,l,n=a,o=a,d=1,s=a)=>B(i+e+c,(n?n+", ":a)+Ve+": "+t+(d?", mutator?: boolean":a),ye,Wt(i+e+c,o,d?"mutator":a),l,s),Z=`./${Pt(n)}.d`,H=Pt(n,1),Q=Pt(H),q=[],K=ne();let X=[],ee=[];if(s(1,Z,H,`create${H} as create${H}Decl`),Y(e))s(null,l,b);else{s(0,l,"CellChange"),s(null,l,u);const[e,t,n,o,c,i,y,T,v,V,k,S,A,D,G,L,J,z,B,F,Y,ee,le,ae]=N(Q,H),de=ne();E(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Oe+` the '${e}' `+p),$(t+p+Qe,c+l,Oe+` the '${e}' `+p+qe),$(t+h,i+l,nt(e)),$(t+h+Qe,y+l,nt(e,1)),$(t+f+ye,T+l,`A Cell Id for the '${e}' `+p),$(t+f+be,V+l,rt(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+be,k+l,rt(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+be,S+l,rt(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];re(de,e,a),s(1,Z,...a)})),s(1,Z,e,t,n,T,A,D,G,L,J,z,B,F,Y,ee,le,ae),X=[e,t,n,T,D,G,L,J,z,B,F,Y,ee,le,de],j([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,at(1,n),t,l))),U(0,a,C,n+je,ot(p,Me)),U(5,a,p,Ze,dt(p,Me),"tableCallback: "+A,"tableCallback as any"),E(((e,t,l)=>{const[n,o,s,r,I,c,$,i]=oe(de,e);j([[n],[d],[H,"table: "+o,", table"],[H]],(([n,o,d=a],s)=>U(s,t,p,n,ut(e,s),o,l+d))),U(0,t,p+w,u,ot(f,"the whole of "+$t(e)),a,l),U(5,t,p+f,Ze,dt(p+f,"the whole of "+$t(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,h+"Count","number","Gets the number of Rows in the "+$t(e),a,l),U(0,t,m,u,ot(h,$t(e)),a,l),U(0,t,g,u,ot(h,$t(e),1),"cellId?: "+I+Le,l+", cellId, descending, offset, limit"),U(5,t,h,Ze,dt(h,$t(e)),"rowCallback: "+$,l+", rowCallback as any"),j([[s],[d],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=a,d=a],s)=>U(s,t,h,n,pt(e,s),De+o,l+", rowId"+d))),U(6,t,h,ye+Re,"Add a new Row to "+$t(e),"row: "+r+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+je,ot(f,it(e)),De,l+", rowId"),U(5,t,f,Ze,dt(f,it(e)),De+", cellCallback: "+c,l+", rowId, cellCallback as any"),O(e,((n,o,s,r,I)=>{const c="Map"+Pt(o,1);re(K,o,c);const $=o+(R(s)?Re:a);j([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,s=a],c)=>U(c,t+I,f,o,bt(e,n,c),De+d,l+", rowId, "+r+s))),U(1,t+I,p+f,d,ht[1]+` the '${n}' Cell anywhere in `+$t(e),a,l+", "+r)}))})),U(0,a,b+ve,ve,at(1,6)),U(2,a,b+ve,H,at(1,7),"tablesJson: "+ve,"tables"+ve),_(b,D,at(1,8)+" changes"),_(C,G,ct(2,0,1)),_(p,L,ct(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,J,ct(14,3,1),`tableId: ${n} | null`,"tableId"),_(h+"Count",z,ct(15,3),`tableId: ${n} | null`,"tableId"),_(m,B,ct(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,F,ct(13,3,1),Ot("tableId: TId",`cellId: ${T}<TId>`+Re,"descending: boolean","offset: number","limit: number"+Re),Ot("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,Y,ct(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,ee,ct(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,le,ct(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>oe(de,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(Te+f,ae,Ee+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...te(K)),W(q,".set"+b+Ne+"({",St(E(((e,t,l)=>[`[${l}]: {`,...O(e,((e,t,l,n)=>`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${R(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(P(l)?x(At(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(Y(t))s(null,l,T);else{const[e,t,n,o,c,$,i,u,p]=G(Q,H);s(1,Z,e,t,n,c,$,i,u,p),ee=[e,t,n,$,i,u],j([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,at(2,n),t,l))),U(0,a,v,n+je,ot(y,Me)),U(5,a,y,"void",dt(y,Me),"valueCallback: "+c,"valueCallback as any"),D(((e,t,l,n,o)=>{const s="Map"+Pt(t,1);re(K,t,s),j([[t],[d],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,l,d=a],s)=>U(s,o,y,t,Ct(e,s),l,n+d)))})),U(0,a,T+ve,ve,at(2,6)),U(2,a,T+ve,H,at(2,7),"valuesJson: "+ve,"values"+ve),_(T,$,at(2,8)+" changes"),_(v,i,ct(10,0,1)),_(y,u,ct(11,0),`valueId: ${n} | null`,"valueId"),_(Te+y,p,Ee+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...te(K)),s(0,l,"ValueChange"),W(q,".set"+T+Ne+"({",D(((e,t,l,n)=>[`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${R(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(P(l)?x(At(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,at(0,0)),U(2,a,"Content",H,at(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,ze,H,`Applies a set of ${ze} to the Store`,"transactionChanges: "+ze,"transactionChanges"),de(K,((e,t)=>$(t,`(cell: ${e}${Re}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,l,"DoRollback",ye,"IdOrNull",ve,"Store",ze),s(0,l,"Get"+ze,"GetTransactionLog"),U(0,a,ve,ve,at(0,6)),U(2,a,ve,H,at(0,7),"tablesAndValuesJson: "+ve,"tablesAndValuesJson"),U(7,a,We,"Return",Be,fe,"actions, doRollback","<Return>"),U(7,a,"start"+Je,H,Fe),U(7,a,"finish"+Je,H,Ue,ge,"doRollback");const le=L(Q,H);return _("Start"+Je,le,Ee+" just before the start of the "+We,a,a,0),_("WillFinish"+Je,le,Ee+" just before "+_e,a,a,0),_("DidFinish"+Je,le,Ee+" just after "+_e,a,a,0),U(7,a,"call"+c,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,c,H,"Remove a listener that was previously added to "+Me,"listenerId: Id","listenerId"),B("getStore",a,"Store","store",ht[0]+" the underlying Store object"),s(1,l,"createStore"),s(1,Z,H,`create${H} as create${H}Decl`,le),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...z(1),"}"]),[o(...k(0),...S(),we+" interface "+H+" {",...z(0),"}",a,Et(`Creates a ${H} object`),we+" function create"+H+"(): "+H+";"),o(...k(1),we+" const create"+H+": typeof create"+H+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),X,ee]},Ft=e=>$+e,Ut=e=>Ot(Ft(e),Ft(e)+he),_t="debugIds?: boolean",Zt="debugIds={debugIds}",Ht="then"+me,Qt="Parameter",qt=": (parameter: "+Qt+", store: Store) => ",Kt="const contextValue = useContext(Context);",Xt=", based on a parameter",Yt=": ",el="<"+Qt+",>",tl=Qt+"ized"+be+"<"+Qt+">",ll="rowId",al="rowId={rowId}",nl=", separator, debugIds",ol="separator?: ReactElement | string",dl="then?: (store: Store",sl=Ot(dl+")"+He,Ht),rl="then, then"+he,Il=ll+Yt+ye,cl="View",$l=(e,...t)=>Ot(...t,Ve+": "+e,Ve+me,"mutator?: boolean"),il=(...e)=>Ot(...e,Ve,Ve+he,"mutator"),ul=(e,t,n,o,d)=>{const[s,r,I,$,i,V,x,k]=Gt(),[S,P,A]=jt(e,t,i),E=`./${Pt(n)}.d`,O=`./${Pt(n)}-ui-react.d`,D="tinybase/ui-react",N=Pt(n,1),G=Pt(N),L=N+"Or"+N+ye,j=G+"Or"+N+ye,J=G+`={${G}}`,z=ne(),B=(e,t,l,n,o,d=a)=>(r(1,O,e+" as "+e+"Decl"),Rt(z,e,[t,l,n,o,d])),U=(e,t,l,n,o,d=a)=>B("use"+e,t,l,n,o,d),_=(e,t,l,n,o=a,d=a,s=a,I=a,c=a)=>(r(1,D,`use${t} as use${t}Core`),U(e,Ot(o,K,I),l,ee+`(${j}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,s)),Z=(e,t,l,a)=>B(e,t,1,l,a),H=(e=0)=>se(z,(([t,l,n,o,d],s)=>{const r=e?[we+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[we+` function ${s}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||F(r,Et(o)),W(r,a),r}));r(null,l,ye,"Store",be,Qt+"ized"+be),r(0,D,"ComponentReturnType"),r(1,D,"useCellIds"),r(null,D,"ExtraProps"),r(0,E,N);const Q=I(L,N+" | "+ye,`Used when you need to refer to a ${N} in a React hook or component`),q=I(Ae+Pe,Nt(G+xe+N,G+`ById?: {[${G}Id: Id]: ${N}}`),`Used with the ${Ae} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,O,Q,q);const K=j+xe+Q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${N}?, {[${G}Id: Id]: ${N}}?]>([])`),U("Create"+N,`create: () => ${N}, create`+me,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const X=U(N,"id?: Id",N+Re,["{",Kt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Ae} component context`),ee=$("useHook",j+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${X}(${j} as Id);`,`return hook(...preParams, ((${j} == null || typeof ${j} == 'string')`,`? ${G} : ${j})?.getStore(), ...postParams)`]),te=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),le=$("wrap",Ot("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;"]),ae=$("useCustomOrDefaultCellIds",Ot("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${j}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${j}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),de=i("NullComponent","() => null");if(!Y(e)){const[e,t,n,d,s,i,y,T,v,V,x,k,A,D,L]=o;r(null,E,e,t,n,s,i,y,T,v,V,x,k,A,D),r(0,E,d),r(1,E,N),r(null,l,u,"IdOrNull");const j=$("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+nl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${le}(rowIds.map((rowId) => (`,"<Row","{..."+te+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",al,"customCellIds={customCellIds}",J,Zt,"/>","))",nl,", tableId,",");"]),z=$("getDefaultTableComponent","tableId: Id",M(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+de),W=$("getDefaultCellComponent","tableId: Id, cellId: Id",M(S(((e,t,l)=>`tableId == ${l} ? ${M(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+de} : `)))+de);_(b,b,e,at(1,0)+pe);const B=_(C,C,n+je,ot(p,Me)+pe);_(Ge+b+be,Ge+b+be,tl,at(1,9)+Xt,Ot(Ft(b)+qt+t,Ft(b)+me),Ut(b),el,Ot(dl,`tables: ${t})`+He,Ht),rl),_(Ce+b+be,Ce+b+be,be,at(1,12),a,a,a,sl,rl);const F=I(f+Pe,Nt("tableId?: TId","rowId: Id","cellId?: CId",G+xe+N,_t),st(ie+f),`<TId extends ${n}, CId extends ${d}<TId>>`),U=I(h+Pe,Nt("tableId?: TId","rowId: Id",G+xe+N,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ol,_t),st(ie+h),`<TId extends ${n}>`),H=I(p+Pe,Nt("tableId?: TId",G+xe+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),st(ie+p),`<TId extends ${n}>`),Q=I("Sorted"+p+Pe,Nt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+xe+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),st(ie+"sorted "+p),`<TId extends ${n}>`),q=I(b+Pe,Nt(G+xe+N,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ol,_t),st(lt(1,1)));r(1,O,q,H,Q,U,F),Z(b+cl,"{"+G+", tableComponents, getTableComponentProps"+nl+"}: "+q,[le+`(${B}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+z+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${te}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Zt,"/>;","}), separator)"],at(1,13)+pe),S(((e,t,l)=>{const[n,o,d,s,I]=oe(L,e);r(null,E,n,o,d,s,I),_(t+p,p,n,ut(e)+pe,a,l),_(t+p+w,p+w,u,ot(f,"the whole of "+$t(e))+pe,a,l);const c=_(t+m,m,u,ot(h,$t(e))+pe,a,l),$=_(t+g,g,u,ot(h,$t(e),1)+pe,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,pt(e)+pe,Il,Ot(l,ll)),_(t+w,w,I+je,ot(f,it(e))+pe,Il,Ot(l,ll)),_(Ge+t+p+be,Ge+p+be,tl,ut(e,9)+Xt,Ot(Ft(p)+qt+o,Ft(p)+me),Ot(l,Ut(p)),el,Ot(dl,`table: ${o})`+He,Ht),rl),_(Ce+t+p+be,Ce+p+be,be,ut(e,12),a,l,a,sl,rl),_(Ge+t+h+be,Ge+h+be,tl,pt(e,9)+Xt,Ot(Il,Ft(h)+qt+s,Ft(h)+me),Ot(l,ll,Ut(h)),el,Ot(dl,`row: ${s})`+He,Ht),rl),_("Add"+t+h+be,"Add"+h+be,tl,pt(e,10)+Xt,Ot(Ft(h)+qt+s,Ft(h)+me),Ot(l,Ut(h)),el,"then?: ("+Ot(Il+Re,"store: Store","row: "+s+")"+He,"then"+me)+", reuseRowIds?: boolean",rl+", reuseRowIds"),_(Ge+t+Se+h+be,Ge+Se+h+be,tl,pt(e,11)+Xt,Ot(Il,Ft(Se+h)+qt+s,Ft(Se+h)+me),Ot(l,ll,Ut(Se+h)),el,Ot(dl,`partialRow: ${s})`+He,Ht),rl),_(Ce+t+h+be,Ce+h+be,be,pt(e,12),Il,Ot(l,ll),a,sl,rl);const i=Z(t+h+cl,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+nl+`}: ${U}<'${e}'>`,[le+`(${ae}(customCellIds, `+l+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+W+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${te}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,al,"cellId={cellId}",J,Zt,"/>;","})"+nl+", rowId)"],pt(e,13)+pe);Z(t+"Sorted"+p+cl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,j+"(props, "+$+`(cellId, descending, offset, limit, props.${G}), ${l}, ${i});`,ut(e,13)+", sorted"+pe),Z(t+p+cl,`props: ${H}<'${e}'>`,j+"(props, "+c+`(props.${G}), ${l}, ${i});`,ut(e,13)+pe),P(e,((n,o,d,s,I)=>{const c="Map"+Pt(o,1);r(0,E,c),r(1,E,c);const $=_(t+I+f,f,o+(R(d)?Re:a),bt(e,n)+pe,Il,Ot(l,ll,s));_(Ge+t+I+f+be,Ge+f+be,tl,bt(e,n,9)+Xt,Ot(Il,Ft(f)+qt+o+" | "+c,Ft(f)+me),Ot(l,ll,s,Ut(f)),el,Ot(dl,`cell: ${o} | ${c})`+He,Ht),rl),_(Ce+t+I+f+be,Ce+f+be,be,bt(e,n,12),Ot(Il,"forceDel?: boolean"),Ot(l,ll,s,"forceDel"),a,sl,rl),Z(t+I+f+cl,`{rowId, ${G}, debugIds}: `+F+`<'${e}', '${n}'>`,[le+`('' + ${$}(rowId, `+G+`) ?? '', undefined, debugIds, ${s})`],bt(e,n,13)+pe)}))}));const K=M(S((e=>oe(L,e)?.[4]??a))," | ");_(b+c,b+c,Ze,at(1,8)+" changes",$l(s),il()),_(C+c,C+c,Ze,ct(2,0,1),$l(i),il()),_(p+c,p+c,Ze,ct(3,0),$l(y,`tableId: ${n} | null`),il("tableId")),_(p+w+c,p+w+c,Ze,ct(14,3,1),$l(T,`tableId: ${n} | null`),il("tableId")),_(m+c,m+c,Ze,ct(4,3,1),$l(V,`tableId: ${n} | null`),il("tableId")),_(g+c,g+c,Ze,ct(13,3,1),$l(x,`tableId: ${n} | null`,"cellId: "+K+Re,"descending: boolean","offset: number","limit: number"+Re),il("tableId","cellId","descending","offset","limit")),_(h+c,h+c,Ze,ct(5,3),$l(k,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(w+c,w+c,Ze,ct(6,5,1),$l(A,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(f+c,f+c,Ze,ct(7,5),$l(D,`tableId: ${n} | null`,ll+": IdOrNull",`cellId: ${K} | null`),il("tableId",ll,"cellId"))}if(!Y(t)){const[e,t,l,n,o,s]=d;r(null,E,...d),r(1,E,N);const i=$("getDefaultValueComponent","valueId: Id",M(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+de);_(T,T,e,at(2,0)+pe);const u=_(v,v,l+je,ot(y,Me)+pe);_(Ge+T+be,Ge+T+be,tl,at(2,9)+Xt,Ot(Ft(T)+qt+t,Ft(T)+me),Ut(T),el,Ot(dl,`values: ${t})`+He,Ht),rl),_(Ge+Se+T+be,Ge+Se+T+be,tl,at(2,11)+Xt,Ot(Ft(Se+T)+qt+t,Ft(Se+T)+me),Ut(Se+T),el,Ot(dl,`partialValues: ${t})`+He,Ht),rl),_(Ce+T+be,Ce+T+be,be,at(2,12),a,a,a,sl,rl);const p=I(y+Pe,Nt("valueId?: VId",G+xe+N,_t),st("a Value"),`<VId extends ${l}>`),b=I(T+Pe,Nt(G+xe+N,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,ol,_t),st(lt(2,1)));r(1,O,b,p),Z(T+cl,"{"+G+", valueComponents, getValueComponentProps"+nl+"}: "+b,[le+`(${u}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${te}(getValueComponentProps, valueId)}`,"key={valueId}",J,Zt,"/>;","}), separator)"],at(2,13)+pe),A(((e,t,l,n,o)=>{const d="Map"+Pt(t,1);r(0,E,d),r(1,E,d);const s=_(o+y,y,t,Ct(e)+pe,a,n);_(Ge+o+y+be,Ge+y+be,tl,Ct(e,9)+Xt,Ot(Ft(y)+qt+t+" | "+d,Ft(y)+me),Ot(n,Ut(y)),el,Ot(dl,`value: ${t} | ${d})`+He,Ht),rl),_(Ce+o+y+be,Ce+y+be,be,Ct(e,12),a,n,a,sl,rl),Z(o+y+cl,`{${G}, debugIds}: ${p}<'${e}'>`,[le+`('' + ${s}(`+G+`) ?? '', undefined, debugIds, ${n})`],Ct(e,13)+pe)})),_(T+c,T+c,Ze,at(2,8)+" changes",$l(n),il()),_(v+c,v+c,Ze,ct(10,0,1),$l(o),il()),_(y+c,y+c,Ze,ct(11,0),$l(s,`valueId: ${l} | null`),il("valueId"))}return Z(Ae,`{${G}, ${G}ById, children}: `+q+" & {children: React.ReactNode}",["{",Kt,"return (","<Context."+Ae,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${Ae}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...x(),...H(0)),s(...V(1),...k(),...H(1))]},pl=(e,t,l)=>{if(Y(e)&&Y(t))return[a,a,a,a];const[n,o,d,s]=Bt(e,t,l);return[n,o,...ul(e,t,l,d,s)]},bl=JSON.parse,Cl="prettier/",hl=Cl+"plugins/",ml={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},gl=Lt((e=>{const t=()=>{const t=bl(e.getTablesSchemaJson());return!Y(t)||G(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ne();if(G(a,(t=>G(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=Ie(n,a,(()=>[N(o),ne(),[0],0])),[s,r,[I]]=d,c=Ie(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),re(r,o,c),d[3]++,s==N(o)})))))return t[l]={},le(n,(([e,,[,n],o],d)=>{t[l][d]={[r]:e,...o==O(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=bl(e.getValuesSchemaJson());return Y(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:N(l)}})),t},a=e=>pl(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"],l=[];let n;try{n=(await import(Cl+"standalone")).format,W(l,await import(hl+"estree"),await import(hl+"typescript"))}catch(e){n=async e=>e}return await D(J(a(e),(async(e,a)=>kt(await n(e,{...ml,plugins:l,filepath:"_."+t[a]})))))};return Q({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:O(e.getValueIds()),jsonLength:O(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=gl},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
|
1
|
+
var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="tinybase",a="",n=",",d=l(a),o=l(!0),s=l(0),r="type",I="default",$="Listener",c="get",u="add",i="Has",b="Ids",p="Table",C=p+"s",h=p+b,g="Row",m=g+b,f="Sorted"+g+b,w="Cell",T=w+b,y="Value",v=y+"s",x=y+b,V=Promise,R=isFinite,A=e=>null==e,k=(e,l,t)=>A(e)?t?.():l(e),S=e=>e==d||e==o,P=e=>l(e)==d,O=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,N=async e=>V.all(e),D=e=>{const t=l(e);return S(t)||t==s&&R(e)?t:void 0},G=(e,l)=>e.every(l),j=(e,l)=>e.sort(l),H=(e,l)=>e.forEach(l),M=(e,l=a)=>e.join(l),J=(e,l)=>e.map(l),z=(e,l)=>e.filter(l),W=(e,...l)=>e.push(...l),B=e=>e.pop(),F=(e,...l)=>e.unshift(...l),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),Q=_.keys,q=_.freeze,K=e=>!A(e)&&k(Z(e),(e=>e==_.prototype||A(Z(e))),(()=>!0)),X=(e,l)=>J(_.entries(e),(([e,t])=>l(t,e))),Y=e=>L(Q(e)),ee=e=>K(e)&&0==Y(e),le=(e,l)=>e?.has(l)??!1,te=e=>[...e?.values()??[]],ae=(e,l)=>e?.forEach(l),ne=(e,l)=>e?.delete(l),de=e=>new Map(e),oe=(e,l)=>e?.get(l),se=(e,l)=>ae(e,((e,t)=>l(t,e))),re=(e,l)=>J([...e?.entries()??[]],(([e,t])=>l(t,e))),Ie=(e,l,t)=>A(t)?(ne(e,l),e):e?.set(l,t),$e=(e,l,t)=>(le(e,l)||Ie(e,l,t()),oe(e,l)),ce=e=>e.toUpperCase(),ue=e=>e.toLowerCase(),ie="a ",be="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",Ce="Callback",he="Count",ge="Del",me="Deps",fe=me+"?: React.DependencyList",we="doRollback?: DoRollback",Te="actions: () => Return, "+we,ye="export",ve="Id",xe="Invalid",Ve="Json",Re=ue($),Ae="?: ",ke=" | undefined",Se="NonNullable",Pe="Partial",Oe="Props",Ee="Provider",Le=`Registers a ${Re} that will be called`,Ne="Represents",De="rowId: "+ve,Ge="Schema",je="Set",He=", descending?: boolean, offset?: number, limit?: number",Me="[]",Je="the Store",ze="Transaction",We=ze+"Changes",Be=ue(ze),Fe="Execute a "+Be+" to make multiple mutations",Ue="Explicitly starts a "+Be,_e="Explicitly finishes a "+Be,Ze="the end of the "+Be,Qe="void",qe=" => "+Qe,Ke="WhenSet",Xe=" when setting it",Ye=ie+"string serialization of",el=" ",ll="Gets a callback that can ",tl="the ",al=" the schema for",nl=(e=0)=>e?"the existence of ":"",dl=(e=0,l=0,t=0)=>nl(t)+`the ${yl[e]}content of`+(l?el+Je:a),ol=(e=0,l,t=0,n=0)=>fl[l]+el+nl(n)+dl(e,1)+(t?" when setting it":a),sl=(e,l=0)=>Ne+` a Row when ${l?"s":"g"}etting ${dl()} the '${e}' `+p,rl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,Il=(e,l)=>`Calls a function for each ${e} in `+l,$l=e=>"The props passed to a component that renders "+e,cl=e=>"A function that takes "+e,ul=(e,l=0,t=0)=>be+" listening to changes to "+nl(t)+Tl[e]+" in "+Tl[l],il=(e,l,t=0,n=0)=>Le+" whenever "+nl(n)+Tl[e]+" in "+Tl[l]+" change"+(t?a:"s"),bl=e=>`the '${e}' `+p,pl=e=>"the specified Row in "+bl(e),Cl=(e,l=0,t=0)=>fl[l]+el+dl(0,0,t)+el+bl(e),hl=(e,l=0,t=0)=>fl[l]+` ${dl(0,0,t)} `+pl(e),gl=(e,l,t=0,a=0)=>fl[t]+el+nl(a)+`the '${l}' Cell for `+pl(e),ml=(e,l=0,t=0)=>fl[l]+el+nl(t)+`the '${e}' Value`,fl=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ne,"Gets "+Ye,"Sets "+Ye,Le+" whenever",ll+"set",ll+"add",ll+"set part of",ll+"delete","Renders","Gets "+Ye+al,"Sets"+al,"Deletes"+al],wl=[c,"has","set","del","set","forEach",u,a],Tl=[Je,C,tl+p+el+b,ie+p,tl+g+el+b,ie+g,tl+w+el+b,ie+w,"invalid Cell changes",v,tl+y+el+b,ie+y,"invalid Value changes",tl+"sorted "+g+el+b,tl+w+el+b+" anywhere",tl+"number of Rows",ie+w+" anywhere"],yl=[a,"tabular ","keyed value "],vl=e=>new Set(O(e)||A(e)?e:[e]),xl=(e,l)=>e?.add(l),Vl=/[^A-Za-z]+/,Rl=/[^A-Za-z0-9]+/,Al=/^( *)\/\*\* *(.*?) *\*\/$/gm,kl=e=>e.includes(n),Sl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return le(e,n)?Sl(e,l,t,a+1):(Ie(e,n,t),n)},Pl=e=>e.replace(Al,((e,l,t)=>{const a=77-L(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Ol=e=>e.flat(1e3),El=(e,l=0)=>M(J(e.split(Rl),((e,t)=>(t>0||l?ce:ue)(E(e,0,1))+E(e,1)))),Ll=e=>ce(M((e&&!Vl.test(e[0])?e:" "+e).split(Rl),"_")),Nl=e=>`/** ${e}. */`,Dl=(...e)=>M(z(e,(e=>e)),", "),Gl=(...e)=>"{"+M(e,"; ")+"}",jl=(...e)=>Gl(...J(e,(e=>"readonly "+e))),Hl=()=>{const e=[de(),de(),de(),de()],l=de(),t=de(),n=e=>{const l=e.indexOf(" as ");return-1!=l?E(e,l+4):e};return[(...e)=>M(Ol(e),"\n"),(l,t,...a)=>H(a,(a=>H([0,1],(n=>(l??n)==n?xl($e(e[n],t,vl),a):0)))),(e,t,n,d=a,o=1)=>Sl(l,e,[t,n,d,o]),(e,l,a)=>Sl(t,e,O(a)?[`(${l}) => {`,a,"}"]:[`(${l}) => ${a}`]),(e,l)=>oe(t,e)===l?e:Sl(t,e,l),(l=0)=>J([...j(re(e[l],((e,l)=>`import {${M(j(te(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>kl(e)!=kl(l)?kl(e)?-1:1:e>l?1:-1)),a],(e=>e.replace("{React}","React"))),()=>re(l,(([e,l,t,n],d)=>[Nl(l),`${n?ye+" ":a}type ${d}${t} = ${e};`,a])),()=>re(t,((e,l)=>(e=O(e)?e:[e],W(e,B(e)+";"),[`const ${l} = ${U(e)}`,e,a])))]},Ml=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},Jl=(e,l,t)=>[l=>X(e,((e,a)=>l(a,El(a,1),t(Ll(a),`'${a}'`)))),(l,a)=>X(e[l],((e,l)=>a(l,e[r],e[I],t(Ll(l),`'${l}'`),El(l,1)))),e=>X(l,((l,a)=>e(a,l[r],l[I],t(Ll(a),`'${a}'`),El(a,1))))],zl=(e,l,t,n)=>[(n,d)=>{const o=n+": "+d,s=e(C,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`)))+"}"))),ol(1,5)),r=e(C+Ke,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),ol(1,5,1)),I=e(p+ve,"keyof "+s,"A "+p+" Id in "+Je),c=`<TId extends ${I}>`,u=e(p,Se+`<${s}[TId]>`,"A "+p+" in "+Je,c),b=e(p+Ke,Se+`<${r}[TId]>`,"A "+p+" in "+Je+Xe,c),y=e(g,u+"<TId>[Id]","A "+g+" in a "+p,c),v=e(g+Ke,b+"<TId>[Id]","A "+g+" in a "+p+Xe,c),x=e(w+ve,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+g,c),V=e(w,Se+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+g,`<TId extends ${I}, CId extends ${x}<TId>>`),R=e("CellIdCellArray",`CId extends ${x}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,w+" Ids and types in a "+g,`<TId extends ${I}, CId = ${x}<TId>>`,0),k=e(w+Ce,`(...[cellId, cell]: ${R}<TId>)`+qe,cl(ie+w+" Id, and "+w),c),S=e(g+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+qe+") "+qe,cl(ie+g+" Id, and a "+w+" iterator"),c),P=e(p+w+Ce,`(cellId: ${x}<TId>, count: number) `+qe,cl(ie+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${qe}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+Ce,`(...[tableId, forEachRow]: ${O})`+qe,cl(ie+p+" Id, and a "+g+" iterator"),a),L=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${x}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),N=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,be+" returning information about any Cell's changes during a "+Be),D=e(i+C+$,`(${o}, hasTables: boolean)`+qe,ul(1,0,1)),G=e(C+$,`(${o}, getCellChange: ${N}${ke})`+qe,ul(1)),j=e(h+$,`(${o})`+qe,ul(2)),H=e(i+p+$,`(${o}, tableId: ${I}, hasTable: boolean)`+qe,ul(3,0,1)),M=e(p+$,`(${o}, tableId: ${I}, getCellChange: ${N}${ke})`+qe,ul(3)),J=e(p+T+$,`(${o}, tableId: ${I})`+qe,ul(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${I} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${I}>`,0),B=e(i+p+w+$,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+qe,ul(16,3,1)),F=e(g+"Count"+$,`(${o}, tableId: ${I})`+qe,ul(15,3)),U=e(m+$,`(${o}, tableId: ${I})`+qe,ul(4,3)),_=e(f+$,"("+Dl(o,"tableId: "+I,"cellId: Id"+ke,"descending: boolean","offset: number","limit: number"+ke,"sortedRowIds: Ids")+")"+qe,ul(13,3)),Z=e(i+g+$,"("+Dl(""+o,"tableId: "+I,De,"hasRow: boolean")+")"+qe,ul(5,3,1)),Q=e(g+$,"("+Dl(""+o,"tableId: "+I,De,`getCellChange: ${N}${ke}`)+")"+qe,ul(5,3)),q=e(T+$,"("+Dl(""+o,"tableId: "+I,De)+")"+qe,ul(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${De}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${I} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${I}>`,0),Y=e(i+w+$,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+qe,ul(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${De}, cellId: CId, newCell: ${V}<TId, CId> ${ke}, oldCell: ${V}<TId, CId> ${ke}, getCellChange: ${N} ${ke}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,u,b,y,v,x,V,k,S,P,E,D,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+$,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+qe,ul(7,5)),e(xe+w+$,`(${o}, tableId: Id, ${De}, cellId: Id, invalidCells: any[])`+qe,ul(8))]},(l,t)=>{const d=l+": "+t,o=e(v,Gl(...n(((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`))),ol(2,5)),s=e(v+Ke,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),ol(2,5,1)),r=e(y+ve,"keyof "+o,"A "+y+" Id in "+Je),I=e(y,Se+`<${o}[VId]>`,"A "+y+" Id in "+Je,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Je,`<VId = ${r}>`,0),u=e(y+Ce,`(...[valueId, value]: ${c})`+qe,cl(ie+y+" Id, and "+y)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,be+" returning information about any Value's changes during a "+Be),p=e(i+v+$,`(${d}, hasValues: boolean)`+qe,ul(9,0,1)),C=e(v+$,`(${d}, getValueChange: ${b}${ke})`+qe,ul(9)),h=e(x+$,`(${d})`+qe,ul(10)),g=e(i+y+$,`(${d}, valueId: ValueId, hasValue: boolean)`+qe,ul(11,0,1)),m=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${I}<VId> ${ke}, oldValue: ${I}<VId> ${ke}, getValueChange: ${b} ${ke}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,I,u,p,C,h,g,e(y+$,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+m+")"+qe,ul(11)),e(xe+y+$,`(${d}, valueId: Id, invalidValues: any[])`+qe,ul(12))]},(l,t)=>e(ze+$,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+qe,be+" listening to the completion of a "+Be)],Wl=(e,l=a,t=a)=>`store.${e}(${l})`+(t?" as "+t:a),Bl=(e,l=a)=>`fluent(() => ${Wl(e,l)})`,Fl=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(listener)${t?", "+t:a})`,Ul=(e,l,n)=>{const[d,s,c,V,R,k,S,O]=Hl(),[E,L,N]=Jl(e,l,R),[D,G,j]=zl(c,E,L,N),J=de(),z=(e=0)=>re(J,(([l,t,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${t} => ${n},`]:[s+o+`(${l}): ${t};`];return e||F(r,Nl(d)),W(r,a),r})),B=(e,l,t,n,d,o=a)=>Sl(J,e,[l,t,n,d,o]),U=(e,l,t,n,d,o=a,s=a,r=a)=>B(wl[e]+l+(4==e?Pe:a)+t,o,n,(n==Q?Bl:Wl)(wl[e]+(4==e?Pe:a)+t,s,e?void 0:n),d,r),_=(e,l,t,n=a,d=a,o=1,s=a)=>B(u+e+$,(n?n+", ":a)+Re+": "+l+(o?", mutator?: boolean":a),ve,Fl(u+e+$,d,o?"mutator":a),t,s),Z=`./${El(n)}.d`,Q=El(n,1),q=El(Q),K=[],X=de();let Y=[],le=[];if(s(1,Z,Q,`create${Q} as create${Q}Decl`),ee(e))s(null,t,C);else{s(0,t,"CellChange"),s(null,t,b);const[e,l,n,d,$,u,y,v,x,V,k,S,O,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ue]=D(q,Q),ie=de();E(((e,l)=>{const t=`<'${e}'>`,a=[c(l+p,d+t,Ne+` the '${e}' `+p),c(l+p+Ke,$+t,Ne+` the '${e}' `+p+Xe),c(l+g,u+t,sl(e)),c(l+g+Ke,y+t,sl(e,1)),c(l+w+ve,v+t,`A Cell Id for the '${e}' `+p),c(l+w+Ce,V+t,cl(`a Cell Id and value from a Row in the '${e}' `+p)),c(l+g+Ce,k+t,cl(`a Row Id from the '${e}' Table, and a Cell iterator`)),c(l+p+w+Ce,S+t,cl(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ie,e,a),s(1,Z,...a)})),s(1,Z,e,l,n,v,O,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ue),Y=[e,l,n,v,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ie],H([[e],[o],[Q,"tables: "+l,"tables"],[Q]],(([e,l,t],n)=>U(n,a,C,e,ol(1,n),l,t))),U(0,a,h,n+Me,rl(p,Je)),U(5,a,p,Qe,Il(p,Je),"tableCallback: "+O,"tableCallback as any"),E(((e,l,t)=>{const[n,d,s,r,I,$,c,u]=oe(ie,e);H([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,d,o=a],s)=>U(s,l,p,n,Cl(e,s),d,t+o))),U(0,l,p+T,b,rl(w,"the whole of "+bl(e)),a,t),U(5,l,p+w,Qe,Il(p+w,"the whole of "+bl(e)),"tableCellCallback: "+u,t+", tableCellCallback as any"),U(0,l,g+he,"number","Gets the number of Rows in the "+bl(e),a,t),U(0,l,m,b,rl(g,bl(e)),a,t),U(0,l,f,b,rl(g,bl(e),1),"cellId?: "+I+He,t+", cellId, descending, offset, limit"),U(5,l,g,Qe,Il(g,bl(e)),"rowCallback: "+c,t+", rowCallback as any"),H([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=a,o=a],s)=>U(s,l,g,n,hl(e,s),De+d,t+", rowId"+o))),U(6,l,g,ve+ke,"Add a new Row to "+bl(e),"row: "+r+", reuseIds?: boolean",t+", row, reuseIds"),U(0,l,T,I+Me,rl(w,pl(e)),De,t+", rowId"),U(5,l,w,Qe,Il(w,pl(e)),De+", cellCallback: "+$,t+", rowId, cellCallback as any"),L(e,((n,d,s,r,I)=>{const $="Map"+El(d,1);Ie(X,d,$);const c=d+(A(s)?ke:a);H([[c],[o],[Q,`, cell: ${d} | `+$,", cell as any"],[Q]],(([d,o=a,s=a],$)=>U($,l+I,w,d,gl(e,n,$),De+o,t+", rowId, "+r+s))),U(1,l+I,p+w,o,fl[1]+` the '${n}' Cell anywhere in `+bl(e),a,t+", "+r)}))})),U(0,a,C+Ve,Ve,ol(1,6)),U(2,a,C+Ve,Q,ol(1,7),"tablesJson: "+Ve,"tables"+Ve),_(i+C,N,ol(1,8,0,1)+" changes"),_(C,G,ol(1,8)+" changes"),_(h,j,il(2,0,1)),_(i+p,J,il(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(p,z,il(3,0),`tableId: ${n} | null`,"tableId"),_(p+T,B,il(14,3,1),`tableId: ${n} | null`,"tableId"),_(i+p+w,F,il(16,3,0,1),`tableId: ${n} | null, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, cellId"),_(g+he,ee,il(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,il(4,3,1),`tableId: ${n} | null`,"tableId"),_(f,ae,il(13,3,1),Dl("tableId: TId",`cellId: ${v}<TId>`+ke,"descending: boolean","offset: number","limit: number"+ke),Dl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(i+g,ne,il(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,se,il(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(T,re,il(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(i+w,$e,il(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,il(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(xe+w,ue,Le+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...te(X)),W(K,".set"+C+Ge+"({",Ol(E(((e,l,t)=>[`[${t}]: {`,...L(e,((e,l,t,n)=>`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${A(t)?a:`, [${R(Ll(I),`'${I}'`)}]: `+(P(t)?R(Ll(t),`'${t}'`):t)}},`)),"},"]))),"})")}if(ee(l))s(null,t,v);else{const[e,l,n,d,$,c,u,b,p,C,h]=G(q,Q);s(1,Z,e,l,n,$,c,u,b,p,C,h),le=[e,l,n,c,u,b,p,C],H([[e],[o],[Q,"values: "+l,"values"],[Q],[Q,"partialValues: "+l,"partialValues"]],(([e,l,t],n)=>U(n,a,v,e,ol(2,n),l,t))),U(0,a,x,n+Me,rl(y,Je)),U(5,a,y,"void",Il(y,Je),"valueCallback: "+$,"valueCallback as any"),N(((e,l,t,n,d)=>{const s="Map"+El(l,1);Ie(X,l,s),H([[l],[o],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,t,o=a],s)=>U(s,d,y,l,ml(e,s),t,n+o)))})),U(0,a,v+Ve,Ve,ol(2,6)),U(2,a,v+Ve,Q,ol(2,7),"valuesJson: "+Ve,"values"+Ve),_(i+v,c,ol(2,8,0,1)+" changes"),_(v,u,ol(2,8)+" changes"),_(x,b,il(10,0,1)),_(i+y,p,il(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(y,C,il(11,0),`valueId: ${n} | null`,"valueId"),_(xe+y,h,Le+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...te(X)),s(0,t,"ValueChange"),W(K,".set"+v+Ge+"({",N(((e,l,t,n)=>[`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${A(t)?a:`, [${R(Ll(I),`'${I}'`)}]: `+(P(t)?R(Ll(t),`'${t}'`):t)}},`])),"})")}U(0,a,"Content",`[${C}, ${v}]`,ol(0,0)),U(2,a,"Content",Q,ol(0,2),`[tables, values]: [${C}, ${v}]`,"[tables, values]"),U(2,a,We,Q,`Applies a set of ${We} to the Store`,"transactionChanges: "+We,"transactionChanges"),se(X,((e,l)=>c(l,`(cell: ${e}${ke}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,t,"DoRollback",ve,"IdOrNull",Ve,"Store",We),s(0,t,"Get"+We,"GetTransactionLog"),U(0,a,Ve,Ve,ol(0,6)),U(2,a,Ve,Q,ol(0,7),"tablesAndValuesJson: "+Ve,"tablesAndValuesJson"),U(7,a,Be,"Return",Fe,Te,"actions, doRollback","<Return>"),U(7,a,"start"+ze,Q,Ue),U(7,a,"finish"+ze,Q,_e,we,"doRollback");const ae=j(q,Q);return _("Start"+ze,ae,Le+" just before the start of the "+Be,a,a,0),_("WillFinish"+ze,ae,Le+" just before "+Ze,a,a,0),_("DidFinish"+ze,ae,Le+" just after "+Ze,a,a,0),U(7,a,"call"+$,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,$,Q,"Remove a listener that was previously added to "+Je,"listenerId: Id","listenerId"),B("getStore",a,"Store","store",fl[0]+" the underlying Store object"),s(1,t,"createStore"),s(1,Z,Q,`create${Q} as create${Q}Decl`,ae),R("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),R(q,["{",...z(1),"}"]),[d(...k(0),...S(),ye+" interface "+Q+" {",...z(0),"}",a,Nl(`Creates a ${Q} object`),ye+" function create"+Q+"(): "+Q+";"),d(...k(1),ye+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,le]},_l=e=>c+e,Zl=e=>Dl(_l(e),_l(e)+me),Ql="debugIds?: boolean",ql="debugIds={debugIds}",Kl="then"+fe,Xl="Parameter",Yl=": (parameter: "+Xl+", store: Store) => ",et="const contextValue = useContext(Context);",lt=", based on a parameter",tt=": ",at="<"+Xl+",>",nt=Xl+"ized"+Ce+"<"+Xl+">",dt="rowId",ot="rowId={rowId}",st=", separator, debugIds",rt="separator?: ReactElement | string",It="then?: (store: Store",$t=Dl(It+")"+qe,Kl),ct="then, then"+me,ut=dt+tt+ve,it="View",bt=(e,...l)=>Dl(...l,Re+": "+e,Re+fe,"mutator?: boolean"),pt=(...e)=>Dl(...e,Re,Re+me,"mutator"),Ct=(e,l,n,d,r)=>{const[I,c,u,V,R,k,S,P]=Hl(),[O,E,L]=Jl(e,l,R),N=`./${El(n)}.d`,D=`./${El(n)}-ui-react.d`,G="tinybase/ui-react",j=El(n,1),H=El(j),J=j+"Or"+j+ve,z=H+"Or"+j+ve,B=H+`={${H}}`,U=de(),_=(e,l,t,n,d,o=a)=>(c(1,D,e+" as "+e+"Decl"),Sl(U,e,[l,t,n,d,o])),Z=(e,l,t,n,d,o=a)=>_("use"+e,l,t,n,d,o),Q=(e,l,t,n,d=a,o=a,s=a,r=a,I=a)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Dl(d,le,r),t,ae+`(${z}, use${l}Core, [`+(o||a)+(I?"], ["+I:a)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>re(U,(([l,t,n,d,o],s)=>{const r=e?[ye+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==t?"any":t} =>`,n]:[ye+` function ${s}${o}(${l}): ${1==t?"ComponentReturnType":t};`];return e||F(r,Nl(d)),W(r,a),r}));c(null,t,ve,"Store",Ce,Xl+"ized"+Ce),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,N,j);const X=u(J,j+" | "+ve,`Used when you need to refer to a ${j} in a React hook or component`),Y=u(Ee+Oe,jl(H+Ae+j,H+`ById?: {[${H}Id: Id]: ${j}}`),`Used with the ${Ee} component, so that a `+j+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,D,X,Y);const le=z+Ae+X;R("{createContext, useContext, useMemo}","React"),R("Context",`createContext<[${j}?, {[${H}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+fe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const te=Z(j,"id?: Id",j+ke,["{",et,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Ee} component context`),ae=V("useHook",z+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${H} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${H} : ${z})?.getStore(), ...postParams)`]),ne=V("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),se=V("wrap",Dl("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;"]),Ie=V("useCustomOrDefaultCellIds",Dl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=R("NullComponent","() => null");if(!ee(e)){const[e,l,n,r,I,y,v,x,R,k,S,P,L,G,J,z,W,F,U,_]=d;c(null,N,e,l,n,I,y,v,x,R,k,S,P,L,G,J,z,W,U,F),c(0,N,r),c(1,N,j),c(null,t,b,"IdOrNull");const Z=V("tableView",`{${H}, rowComponent, getRowComponentProps, customCellIds`+st+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${se}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ot,"customCellIds={customCellIds}",B,ql,"/>","))",st,", tableId,",");"]),K=V("getDefaultTableComponent","tableId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=V("getDefaultCellComponent","tableId: Id, cellId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${M(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(i+C,i+C,o,ol(1,0,0,1)+pe),Q(C,C,e,ol(1,0)+pe);const Y=Q(h,h,n+Me,rl(p,Je)+pe);Q(je+C+Ce,je+C+Ce,nt,ol(1,9)+lt,Dl(_l(C)+Yl+l,_l(C)+fe),Zl(C),at,Dl(It,`tables: ${l})`+qe,Kl),ct),Q(ge+C+Ce,ge+C+Ce,Ce,ol(1,12),a,a,a,$t,ct);const ee=u(w+Oe,jl("tableId?: TId","rowId: Id","cellId?: CId",H+Ae+j,Ql),$l(ie+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=u(g+Oe,jl("tableId?: TId","rowId: Id",H+Ae+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,rt,Ql),$l(ie+g),`<TId extends ${n}>`),te=u(p+Oe,jl("tableId?: TId",H+Ae+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+p),`<TId extends ${n}>`),ae=u("Sorted"+p+Oe,jl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",H+Ae+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+"sorted "+p),`<TId extends ${n}>`),de=u(C+Oe,jl(H+Ae+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,rt,Ql),$l(dl(1,1)));c(1,D,de,te,ae,le,ee),q(C+it,"{"+H+", tableComponents, getTableComponentProps"+st+"}: "+de,[se+`(${Y}(${H}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",B,ql,"/>;","}), separator)"],ol(1,13)+pe),O(((e,l,t)=>{const[n,d,r,I,$]=oe(_,e);c(null,N,n,d,r,I,$),Q(i+l+p,i+p,o,Cl(e,0,1)+pe,a,t),Q(l+p,p,n,Cl(e)+pe,a,t),Q(l+p+T,p+T,b,rl(w,"the whole of "+bl(e))+pe,a,t),Q(l+g+he,g+he,s,"Gets the number of Rows in "+bl(e)+pe,a,t);const u=Q(l+m,m,b,rl(g,bl(e))+pe,a,t),C=Q(l+f,f,b,rl(g,bl(e),1)+pe,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",t+", cellId, descending, offset, limit");Q(i+l+g,i+g,o,hl(e,0,1)+pe,ut,Dl(t,dt)),Q(l+g,g,r,hl(e)+pe,ut,Dl(t,dt)),Q(l+T,T,$+Me,rl(w,pl(e))+pe,ut,Dl(t,dt)),Q(je+l+p+Ce,je+p+Ce,nt,Cl(e,9)+lt,Dl(_l(p)+Yl+d,_l(p)+fe),Dl(t,Zl(p)),at,Dl(It,`table: ${d})`+qe,Kl),ct),Q(ge+l+p+Ce,ge+p+Ce,Ce,Cl(e,12),a,t,a,$t,ct),Q(je+l+g+Ce,je+g+Ce,nt,hl(e,9)+lt,Dl(ut,_l(g)+Yl+I,_l(g)+fe),Dl(t,dt,Zl(g)),at,Dl(It,`row: ${I})`+qe,Kl),ct),Q("Add"+l+g+Ce,"Add"+g+Ce,nt,hl(e,10)+lt,Dl(_l(g)+Yl+I,_l(g)+fe),Dl(t,Zl(g)),at,"then?: ("+Dl(ut+ke,"store: Store","row: "+I+")"+qe,"then"+fe)+", reuseRowIds?: boolean",ct+", reuseRowIds"),Q(je+l+Pe+g+Ce,je+Pe+g+Ce,nt,hl(e,11)+lt,Dl(ut,_l(Pe+g)+Yl+I,_l(Pe+g)+fe),Dl(t,dt,Zl(Pe+g)),at,Dl(It,`partialRow: ${I})`+qe,Kl),ct),Q(ge+l+g+Ce,ge+g+Ce,Ce,hl(e,12),ut,Dl(t,dt),a,$t,ct);const h=q(l+g+it,"{rowId, "+H+", cellComponents, getCellComponentProps, customCellIds"+st+`}: ${le}<'${e}'>`,[se+`(${Ie}(customCellIds, `+t+`, rowId, ${H}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${t}, cellId)) as React.ComponentType<CellProps<typeof `+t+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${t}}`,ot,"cellId={cellId}",B,ql,"/>;","})"+st+", rowId)"],hl(e,13)+pe);q(l+"Sorted"+p+it,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${H}), ${t}, ${h});`,Cl(e,13)+", sorted"+pe),q(l+p+it,`props: ${te}<'${e}'>`,Z+"(props, "+u+`(props.${H}), ${t}, ${h});`,Cl(e,13)+pe),E(e,((n,d,s,r,I)=>{const $="Map"+El(d,1);c(0,N,$),c(1,N,$),Q(i+l+I+p+w,i+p+w,o,`Gets ${nl(1)}the '${n}' Cell anywhere in `+bl(e)+pe,a,Dl(t,r)),Q(i+l+I+w,i+w,o,gl(e,n,0,1)+pe,ut,Dl(t,dt,r));const u=Q(l+I+w,w,d+(A(s)?ke:a),gl(e,n)+pe,ut,Dl(t,dt,r));Q(je+l+I+w+Ce,je+w+Ce,nt,gl(e,n,9)+lt,Dl(ut,_l(w)+Yl+d+" | "+$,_l(w)+fe),Dl(t,dt,r,Zl(w)),at,Dl(It,`cell: ${d} | ${$})`+qe,Kl),ct),Q(ge+l+I+w+Ce,ge+w+Ce,Ce,gl(e,n,12),Dl(ut,"forceDel?: boolean"),Dl(t,dt,r,"forceDel"),a,$t,ct),q(l+I+w+it,`{rowId, ${H}, debugIds}: `+ee+`<'${e}', '${n}'>`,[se+`('' + ${u}(rowId, `+H+`) ?? '', undefined, debugIds, ${r})`],gl(e,n,13)+pe)}))}));const re=M(O((e=>oe(_,e)?.[4]??a))," | ");Q(i+C+$,i+C+$,Qe,ol(1,8,0,1)+" changes",bt(I),pt()),Q(C+$,C+$,Qe,ol(1,8)+" changes",bt(y),pt()),Q(h+$,h+$,Qe,il(2,0,1),bt(v),pt()),Q(i+p+$,i+p+$,Qe,il(3,0,0,1),bt(x,`tableId: ${n} | null`),pt("tableId")),Q(p+$,p+$,Qe,il(3,0),bt(R,`tableId: ${n} | null`),pt("tableId")),Q(p+T+$,p+T+$,Qe,il(14,3,1),bt(k,`tableId: ${n} | null`),pt("tableId")),Q(i+p+w+$,i+p+w+$,Qe,il(16,3,0,1),bt(S,`tableId: ${n} | null`,`cellId: ${re} | null`),pt("tableId","cellId")),Q(g+he+$,g+he+$,Qe,il(15,3),bt(P,`tableId: ${n} | null`),pt("tableId")),Q(m+$,m+$,Qe,il(4,3,1),bt(L,`tableId: ${n} | null`),pt("tableId")),Q(f+$,f+$,Qe,il(13,3,1),bt(G,`tableId: ${n} | null`,"cellId: "+re+ke,"descending: boolean","offset: number","limit: number"+ke),pt("tableId","cellId","descending","offset","limit")),Q(i+g+$,i+g+$,Qe,il(5,3,0,1),bt(J,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(g+$,g+$,Qe,il(5,3),bt(z,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(T+$,T+$,Qe,il(6,5,1),bt(W,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(i+w+$,i+w+$,Qe,il(7,5,0,1),bt(F,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId")),Q(w+$,w+$,Qe,il(7,5),bt(U,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId"))}if(!ee(l)){const[e,l,t,n,d,s,I,b]=r;c(null,N,...r),c(1,N,j);const p=V("getDefaultValueComponent","valueId: Id",M(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(i+v,i+v,o,ol(2,0,0,1)+pe),Q(v,v,e,ol(2,0)+pe);const C=Q(x,x,t+Me,rl(y,Je)+pe);Q(je+v+Ce,je+v+Ce,nt,ol(2,9)+lt,Dl(_l(v)+Yl+l,_l(v)+fe),Zl(v),at,Dl(It,`values: ${l})`+qe,Kl),ct),Q(je+Pe+v+Ce,je+Pe+v+Ce,nt,ol(2,11)+lt,Dl(_l(Pe+v)+Yl+l,_l(Pe+v)+fe),Zl(Pe+v),at,Dl(It,`partialValues: ${l})`+qe,Kl),ct),Q(ge+v+Ce,ge+v+Ce,Ce,ol(2,12),a,a,a,$t,ct);const h=u(y+Oe,jl("valueId?: VId",H+Ae+j,Ql),$l("a Value"),`<VId extends ${t}>`),g=u(v+Oe,jl(H+Ae+j,"valueComponents?: {readonly [VId in "+t+`]?: ComponentType<${h}<VId>>;}`,`getValueComponentProps?: (valueId: ${t}) => ExtraProps`,rt,Ql),$l(dl(2,1)));c(1,D,g,h),q(v+it,"{"+H+", valueComponents, getValueComponentProps"+st+"}: "+g,[se+`(${C}(${H}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+p+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",B,ql,"/>;","}), separator)"],ol(2,13)+pe),L(((e,l,t,n,d)=>{const s="Map"+El(l,1);c(0,N,s),c(1,N,s),Q(i+d+y,i+y,o,ml(e,0,1)+pe,a,n);const r=Q(d+y,y,l,ml(e)+pe,a,n);Q(je+d+y+Ce,je+y+Ce,nt,ml(e,9)+lt,Dl(_l(y)+Yl+l+" | "+s,_l(y)+fe),Dl(n,Zl(y)),at,Dl(It,`value: ${l} | ${s})`+qe,Kl),ct),Q(ge+d+y+Ce,ge+y+Ce,Ce,ml(e,12),a,n,a,$t,ct),q(d+y+it,`{${H}, debugIds}: ${h}<'${e}'>`,[se+`('' + ${r}(`+H+`) ?? '', undefined, debugIds, ${n})`],ml(e,13)+pe)})),Q(i+v+$,i+v+$,Qe,ol(2,8,0,1)+" changes",bt(n),pt()),Q(v+$,v+$,Qe,ol(2,8)+" changes",bt(d),pt()),Q(x+$,x+$,Qe,il(10,0,1),bt(s),pt()),Q(i+y+$,i+y+$,Qe,il(11,0,0,1),bt(I,`valueId: ${t} | null`),pt("valueId")),Q(y+$,y+$,Qe,il(11,0),bt(b,`valueId: ${t} | null`),pt("valueId"))}return q(Ee,`{${H}, ${H}ById, children}: `+Y+" & {children: React.ReactNode}",["{",et,"return (","<Context."+Ee,"value={useMemo(",`() => [${H} ?? contextValue[0], {...contextValue[1], ...${H}ById}],`,`[${H}, ${H}ById, contextValue],`,")}>","{children}",`</Context.${Ee}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[I(...k(0),...S(),...K(0)),I(...k(1),...P(),...K(1))]},ht=(e,l,t)=>{if(ee(e)&&ee(l))return[a,a,a,a];const[n,d,o,s]=Ul(e,l,t);return[n,d,...Ct(e,l,t,o,s)]},gt=JSON.parse,mt="prettier/",ft=mt+"plugins/",wt={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tt=Ml((e=>{const l=()=>{const l=gt(e.getTablesSchemaJson());return!ee(l)||G(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=de();if(G(a,(l=>G(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=$e(n,a,(()=>[D(d),de(),[0],0])),[s,r,[I]]=o,$=$e(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),Ie(r,d,$),o[3]++,s==D(d)})))))return l[t]={},ae(n,(([e,,[,n],d],o)=>{l[t][o]={[r]:e,...d==L(a)?{[I]:n}:{}}})),1}))?l:{}},t=()=>{const l=gt(e.getValuesSchemaJson());return ee(l)&&e.forEachValue(((e,t)=>{l[e]={[r]:D(t)}})),l},a=e=>ht(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(mt+"standalone")).format,W(t,await import(ft+"estree"),await import(ft+"typescript"))}catch(e){n=async e=>e}return await N(J(a(e),(async(e,a)=>Pl(await n(e,{...wt,plugins:t,filepath:"_."+l[a]})))))};return q({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:L(e.getValueIds()),jsonLength:L(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=Tt},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
package/lib/umd/tools.js.gz
CHANGED
|
Binary file
|