tinybase 4.4.0-beta.2 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  2. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  3. package/lib/cjs/tools.cjs +1 -1
  4. package/lib/cjs/tools.cjs.gz +0 -0
  5. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  6. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  7. package/lib/cjs-es6/tools.cjs +1 -1
  8. package/lib/cjs-es6/tools.cjs.gz +0 -0
  9. package/lib/debug/persisters/persister-partykit-server.js +35 -21
  10. package/lib/debug/tools.js +355 -14
  11. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  12. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  13. package/lib/es6/tools.js +1 -1
  14. package/lib/es6/tools.js.gz +0 -0
  15. package/lib/persisters/persister-partykit-server.js +1 -1
  16. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  17. package/lib/tools.js +1 -1
  18. package/lib/tools.js.gz +0 -0
  19. package/lib/types/persisters/persister-partykit-server.d.ts +58 -2
  20. package/lib/types/persisters/persister-remote.d.ts +6 -1
  21. package/lib/types/tools.d.ts +2 -2
  22. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +61 -0
  23. package/lib/types/with-schemas/persisters/persister-remote.d.ts +6 -1
  24. package/lib/types/with-schemas/tools.d.ts +2 -2
  25. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  26. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  27. package/lib/umd/tools.js +1 -1
  28. package/lib/umd/tools.js.gz +0 -0
  29. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  30. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  31. package/lib/umd-es6/tools.js +1 -1
  32. package/lib/umd-es6/tools.js.gz +0 -0
  33. package/package.json +1 -1
  34. package/readme.md +13 -13
@@ -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[84]);
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[86]);
443
+ * console.log(tsLines[91]);
444
444
  * // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
445
445
  * ```
446
446
  * @category Modelling
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a="",s=e(a),n="t",i=(t,e)=>t.startsWith(e),r=Promise,o=t=>null==t,c=(t,e,a)=>o(t)?a?.():e(t),l=(t,e,a)=>t.slice(e,a),f=t=>t.length,u=async t=>r.all(t),h=(t,e)=>t.map(e),y=(t,...e)=>t.push(...e),w=Object,g=(t=[])=>w.fromEntries(t),p=(t,e)=>h(w.entries(t),(([t,a])=>e(a,t))),d=(t,e,a)=>(((t,e)=>!o(((t,e)=>c(t,(t=>t[e])))(t,e)))(t,e)||(t[e]=a()),t[e]),S=t=>JSON.stringify(t,((t,e)=>e instanceof Map?w.fromEntries([...e]):e)),P=JSON.parse,b=(t,a,n)=>t+a+(e(n)==s?n:S(n)),m=(t,e,a)=>{const s=f(t);return i(e,t)?[e[s],(a?P:String)(l(e,s+1))]:void 0},T=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),x="hasStore",D=g(h(["Origin","Methods","Headers"],(t=>["Access-Control-Allow-"+t,"*"]))),v=async t=>await t.party.storage.get((t.config.storagePrefix??a)+x),R=async(t,e,s,r)=>{const c=t.party.storage,l=t.config.storagePrefix??a,h={[l+x]:1},w=[],g=[];await u(p(e[0],(async(e,a)=>o(e)?!s&&t.canDelTable(a,r)&&((t,...e)=>t.unshift(...e))(g,C(l,n,a)):t.canSetTable(a,s,r)&&await u(p(e,(async(e,i)=>o(e)?!s&&t.canDelRow(a,i,r)&&y(g,C(l,n,a,i)):t.canSetRow(a,i,s,r)&&await u(p(e,(async(e,f)=>{const u=[a,i,f],g=C(l,n,...u);o(e)?!s&&t.canDelCell(...u,r)&&y(w,g):t.canSetCell(...u,e,s,r,await c.get(g))&&(h[g]=e)}))))))))),await u(p(e[1],(async(e,a)=>{const n=l+"v"+a;o(e)?!s&&t.canDelValue(a,r)&&y(w,n):t.canSetValue(a,e,s,r,await c.get(n))&&(h[n]=e)}))),0!=f(g)&&T(await c.list(),(t=>g.every((e=>!i(t,e)||y(w,t)&&0)))),await c.delete(w),await c.put(h)},C=(t,e,...a)=>b(t,e,l(S(a),1,-1)),O=async(t,e,a=null)=>new Response(a,{status:e,headers:t.config.responseHeaders??D});t.TinyBasePartyKitServer=class{constructor(t){this.party=t,this.config={}}async onRequest(t){const e=this.config.storePath??"/store";if(new URL(t.url).pathname.endsWith(e)){const e=await v(this),s=await t.text();return"PUT"==t.method?e?O(this,205):(await R(this,P(s),!0,t),O(this,201)):O(this,200,e?S(await(async t=>{const e={},s={},i=t.config.storagePrefix??a;return T(await t.party.storage.list(),((t,a)=>c(m(i,t),(([t,i])=>{if(t==n){const[t,s,n]=P("["+i+"]");d(d(e,t,g),s,g)[n]=a}else"v"==t&&(s[i]=a)})))),[e,s]})(this)):a)}return O(this,404)}async onMessage(t,e){const s=this.config.messagePrefix??a;await c(m(s,t,1),(async([t,a])=>{"s"==t&&await v(this)&&(await R(this,a,!1,e),this.party.broadcast(b(s,"s",a)))}))}canSetTable(t,e,a){return!0}canDelTable(t,e){return!0}canSetRow(t,e,a,s){return!0}canDelRow(t,e,a){return!0}canSetCell(t,e,a,s,n,i,r){return!0}canDelCell(t,e,a,s){return!0}canSetValue(t,e,a,s,n){return!0}canDelValue(t,e){return!0}}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitServer={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s="t",n=(e,t)=>e.startsWith(t),r=Promise,i=e=>null==e,o=(e,t,a)=>i(e)?a?.():t(e),c=(e,t,a)=>e.slice(t,a),l=e=>e.length,f=async e=>r.all(e),h=(e,t)=>e.map(t),u=(e,...t)=>e.push(...t),g=Object,y=(e=[])=>g.fromEntries(e),w=(e,t)=>h(g.entries(e),(([e,a])=>t(a,e))),d=(e,t,a)=>(((e,t)=>!i(((e,t)=>o(e,(e=>e[t])))(e,t)))(e,t)||(e[t]=a()),e[t]),p=e=>JSON.stringify(e,((e,t)=>t instanceof Map?g.fromEntries([...t]):t)),S=JSON.parse,P=(e,s,n)=>e+s+(t(n)==a?n:p(n)),m=(e,t,a)=>{const s=l(e);return n(t,e)?[t[s],(a?S:String)(c(t,s+1))]:void 0},x=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),b="hasStore",T=y(h(["Origin","Methods","Headers"],(e=>["Access-Control-Allow-"+e,"*"]))),D=async(e,t="")=>!!await e.get(t+b),v=async(e,t="")=>{const a={},n={};return x(await e.list(),((e,r)=>o(m(t,e),(([e,t])=>{if(e==s){const[e,s,n]=S("["+t+"]");d(d(a,e,y),s,y)[n]=r}else"v"==e&&(n[t]=r)})))),[a,n]},R=async(e,t,a,r)=>{const o=e.party.storage,c=e.config.storagePrefix,h={[c+b]:1},g=[],y=[];await f(w(t[0],(async(t,n)=>i(t)?!a&&e.canDelTable(n,r)&&((e,...t)=>e.unshift(...t))(y,C(c,s,n)):e.canSetTable(n,a,r)&&await f(w(t,(async(t,l)=>i(t)?!a&&e.canDelRow(n,l,r)&&u(y,C(c,s,n,l)):e.canSetRow(n,l,a,r)&&await f(w(t,(async(t,f)=>{const y=[n,l,f],w=C(c,s,...y);i(t)?!a&&e.canDelCell(...y,r)&&u(g,w):e.canSetCell(...y,t,a,r,await o.get(w))&&(h[w]=t)}))))))))),await f(w(t[1],(async(t,s)=>{const n=c+"v"+s;i(t)?!a&&e.canDelValue(s,r)&&u(g,n):e.canSetValue(s,t,a,r,await o.get(n))&&(h[n]=t)}))),0!=l(y)&&x(await o.list(),(e=>y.every((t=>!n(e,t)||u(g,e)&&0)))),await o.delete(g),await o.put(h)},C=(e,t,...a)=>P(e,t,c(p(a),1,-1)),O=async(e,t,a=null)=>new Response(a,{status:t,headers:e.config.responseHeaders});e.TinyBasePartyKitServer=class{constructor(e){this.party=e,this.config={},this.config.storePath??="/store",this.config.messagePrefix??="",this.config.storagePrefix??="",this.config.responseHeaders??=T}async onRequest(e){const{party:{storage:t},config:{storePath:a,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(a)){const a=await D(t,s),n=await e.text();return"PUT"==e.method?a?O(this,205):(await R(this,S(n),!0,e),O(this,201)):O(this,200,a?p(await v(t,s)):"")}return O(this,404)}async onMessage(e,t){const{party:{storage:a,broadcast:s},config:{messagePrefix:n,storagePrefix:r}}=this;await o(m(n,e,1),(async([e,i])=>{"s"==e&&await D(a,r)&&(await R(this,i,!1,t),s(P(n,"s",i),[t.id]))}))}canSetTable(e,t,a){return!0}canDelTable(e,t){return!0}canSetRow(e,t,a,s){return!0}canDelRow(e,t,a){return!0}canSetCell(e,t,a,s,n,r,i){return!0}canDelCell(e,t,a,s){return!0}canSetValue(e,t,a,s,n){return!0}canDelValue(e,t){return!0}},e.hasStoreInStorage=D,e.loadStoreFromStorage=v},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterPartyKitServer={});
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={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),l="t",i=(e,t)=>e.startsWith(t),o=Promise,s=e=>null==e,a=(e,t,n)=>s(e)?null==n?void 0:n():t(e),u=(e,t,n)=>e.slice(t,n),c=e=>e.length,d=e=>{return t=function*(){return o.all(e)},new Promise(((e,n)=>{var r=e=>{try{i(t.next(e))}catch(e){n(e)}},l=e=>{try{i(t.throw(e))}catch(e){n(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,l);i((t=t.apply(void 0,null)).next())}));var t},f=(e,t)=>e.map(t),h=(e,...t)=>e.push(...t),y=Object,v=(e=[])=>y.fromEntries(e),p=(e,t)=>f(y.entries(e),(([e,n])=>t(n,e))),g=(e,t,n)=>(((e,t)=>!s(((e,t)=>a(e,(e=>e[t])))(e,t)))(e,t)||(e[t]=n()),e[t]),P=e=>JSON.stringify(e,((e,t)=>t instanceof Map?y.fromEntries([...t]):t)),S=JSON.parse,m=(e,n,l)=>e+n+(t(l)==r?l:P(l)),x=(e,t,n)=>{const r=c(e);return i(t,e)?[t[r],(n?S:String)(u(t,r+1))]:void 0},w=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var b=(e,t,n)=>new Promise(((r,l)=>{var i=e=>{try{s(n.next(e))}catch(e){l(e)}},o=e=>{try{s(n.throw(e))}catch(e){l(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,o);s((n=n.apply(e,t)).next())}));const T="hasStore",D=v(f(["Origin","Methods","Headers"],(e=>["Access-Control-Allow-"+e,"*"]))),R=e=>b(void 0,null,(function*(){var t;return yield e.party.storage.get((null!=(t=e.config.storagePrefix)?t:n)+T)})),C=(e,t,r,o)=>b(void 0,null,(function*(){var a;const u=e.party.storage,f=null!=(a=e.config.storagePrefix)?a:n,y={[f+T]:1},v=[],g=[];yield d(p(t[0],((t,n)=>b(void 0,null,(function*(){return s(t)?!r&&e.canDelTable(n,o)&&((e,...t)=>e.unshift(...t))(g,O(f,l,n)):e.canSetTable(n,r,o)&&(yield d(p(t,((t,i)=>b(void 0,null,(function*(){return s(t)?!r&&e.canDelRow(n,i,o)&&h(g,O(f,l,n,i)):e.canSetRow(n,i,r,o)&&(yield d(p(t,((t,a)=>b(void 0,null,(function*(){const c=[n,i,a],d=O(f,l,...c);s(t)?!r&&e.canDelCell(...c,o)&&h(v,d):e.canSetCell(...c,t,r,o,yield u.get(d))&&(y[d]=t)}))))))}))))))}))))),yield d(p(t[1],((t,n)=>b(void 0,null,(function*(){const l=f+"v"+n;s(t)?!r&&e.canDelValue(n,o)&&h(v,l):e.canSetValue(n,t,r,o,yield u.get(l))&&(y[l]=t)}))))),0!=c(g)&&w(yield u.list(),(e=>g.every((t=>!i(e,t)||h(v,e)&&0)))),yield u.delete(v),yield u.put(y)})),O=(e,t,...n)=>m(e,t,u(P(n),1,-1)),V=(e,t,n=null)=>b(void 0,null,(function*(){var r;return new Response(n,{status:t,headers:null!=(r=e.config.responseHeaders)?r:D})}));e.TinyBasePartyKitServer=class{constructor(e){this.party=e,this.config={}}onRequest(e){return b(this,null,(function*(){var t;const r=null!=(t=this.config.storePath)?t:"/store";if(new URL(e.url).pathname.endsWith(r)){const t=yield R(this),r=yield e.text();return"PUT"==e.method?t?V(this,205):(yield C(this,S(r),!0,e),V(this,201)):V(this,200,t?P(yield(i=this,b(void 0,null,(function*(){var e;const t={},r={},o=null!=(e=i.config.storagePrefix)?e:n;return w(yield i.party.storage.list(),((e,n)=>a(x(o,e),(([e,i])=>{if(e==l){const[e,r,l]=S("["+i+"]");g(g(t,e,v),r,v)[l]=n}else"v"==e&&(r[i]=n)})))),[t,r]})))):n)}var i;return V(this,404)}))}onMessage(e,t){return b(this,null,(function*(){var r;const l=null!=(r=this.config.messagePrefix)?r:n;yield a(x(l,e,1),(e=>b(this,[e],(function*([e,n]){"s"==e&&(yield R(this))&&(yield C(this,n,!1,t),this.party.broadcast(m(l,"s",n)))}))))}))}canSetTable(e,t,n){return!0}canDelTable(e,t){return!0}canSetRow(e,t,n,r){return!0}canDelRow(e,t,n){return!0}canSetCell(e,t,n,r,l,i,o){return!0}canDelCell(e,t,n,r){return!0}canSetValue(e,t,n,r,l){return!0}canDelValue(e,t){return!0}}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterPartyKitServer={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),r="t",i=(e,t)=>e.startsWith(t),o=Promise,s=e=>null==e,l=(e,t,n)=>s(e)?null==n?void 0:n():t(e),a=(e,t,n)=>e.slice(t,n),c=e=>e.length,u=e=>{return t=function*(){return o.all(e)},new Promise(((e,n)=>{var r=e=>{try{o(t.next(e))}catch(e){n(e)}},i=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,i);o((t=t.apply(void 0,null)).next())}));var t},d=(e,t)=>e.map(t),f=(e,...t)=>e.push(...t),h=Object,y=(e=[])=>h.fromEntries(e),g=(e,t)=>d(h.entries(e),(([e,n])=>t(n,e))),v=(e,t,n)=>(((e,t)=>!s(((e,t)=>l(e,(e=>e[t])))(e,t)))(e,t)||(e[t]=n()),e[t]),p=e=>JSON.stringify(e,((e,t)=>t instanceof Map?h.fromEntries([...t]):t)),P=JSON.parse,S=(e,r,i)=>e+r+(t(i)==n?i:p(i)),m=(e,t,n)=>{const r=c(e);return i(t,e)?[t[r],(n?P:String)(a(t,r+1))]:void 0},x=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var w=(e,t,n)=>new Promise(((r,i)=>{var o=e=>{try{l(n.next(e))}catch(e){i(e)}},s=e=>{try{l(n.throw(e))}catch(e){i(e)}},l=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,s);l((n=n.apply(e,t)).next())}));const b="hasStore",T=y(d(["Origin","Methods","Headers"],(e=>["Access-Control-Allow-"+e,"*"]))),D=(e,...t)=>w(void 0,[e,...t],(function*(e,t=""){return!!(yield e.get(t+b))})),R=(e,...t)=>w(void 0,[e,...t],(function*(e,t=""){const n={},i={};return x(yield e.list(),((e,o)=>l(m(t,e),(([e,t])=>{if(e==r){const[e,r,i]=P("["+t+"]");v(v(n,e,y),r,y)[i]=o}else"v"==e&&(i[t]=o)})))),[n,i]})),C=(e,t,n,o)=>w(void 0,null,(function*(){const l=e.party.storage,a=e.config.storagePrefix,d={[a+b]:1},h=[],y=[];yield u(g(t[0],((t,i)=>w(void 0,null,(function*(){return s(t)?!n&&e.canDelTable(i,o)&&((e,...t)=>e.unshift(...t))(y,H(a,r,i)):e.canSetTable(i,n,o)&&(yield u(g(t,((t,c)=>w(void 0,null,(function*(){return s(t)?!n&&e.canDelRow(i,c,o)&&f(y,H(a,r,i,c)):e.canSetRow(i,c,n,o)&&(yield u(g(t,((t,u)=>w(void 0,null,(function*(){const y=[i,c,u],g=H(a,r,...y);s(t)?!n&&e.canDelCell(...y,o)&&f(h,g):e.canSetCell(...y,t,n,o,yield l.get(g))&&(d[g]=t)}))))))}))))))}))))),yield u(g(t[1],((t,r)=>w(void 0,null,(function*(){const i=a+"v"+r;s(t)?!n&&e.canDelValue(r,o)&&f(h,i):e.canSetValue(r,t,n,o,yield l.get(i))&&(d[i]=t)}))))),0!=c(y)&&x(yield l.list(),(e=>y.every((t=>!i(e,t)||f(h,e)&&0)))),yield l.delete(h),yield l.put(d)})),H=(e,t,...n)=>S(e,t,a(p(n),1,-1)),O=(e,t,n=null)=>w(void 0,null,(function*(){return new Response(n,{status:t,headers:e.config.responseHeaders})}));e.TinyBasePartyKitServer=class{constructor(e){var t,n,r,i;this.party=e,this.config={},null!=(t=this.config).storePath||(t.storePath="/store"),null!=(n=this.config).messagePrefix||(n.messagePrefix=""),null!=(r=this.config).storagePrefix||(r.storagePrefix=""),null!=(i=this.config).responseHeaders||(i.responseHeaders=T)}onRequest(e){return w(this,null,(function*(){const{party:{storage:t},config:{storePath:n,storagePrefix:r}}=this;if(new URL(e.url).pathname.endsWith(n)){const n=yield D(t,r),i=yield e.text();return"PUT"==e.method?n?O(this,205):(yield C(this,P(i),!0,e),O(this,201)):O(this,200,n?p(yield R(t,r)):"")}return O(this,404)}))}onMessage(e,t){return w(this,null,(function*(){const{party:{storage:n,broadcast:r},config:{messagePrefix:i,storagePrefix:o}}=this;yield l(m(i,e,1),(e=>w(this,[e],(function*([e,s]){"s"==e&&(yield D(n,o))&&(yield C(this,s,!1,t),r(S(i,"s",s),[t.id]))}))))}))}canSetTable(e,t,n){return!0}canDelTable(e,t){return!0}canSetRow(e,t,n,r){return!0}canDelRow(e,t,n){return!0}canSetCell(e,t,n,r,i,o,s){return!0}canDelCell(e,t,n,r){return!0}canSetValue(e,t,n,r,i){return!0}canDelValue(e,t){return!0}},e.hasStoreInStorage=D,e.loadStoreFromStorage=R},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterPartyKitServer={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",n="",a=",",o=t(n),d=t(!0),r=t(0),s="type",I="default",c="Listener",u="get",i="add",$="Ids",p="Table",b=p+"s",C=p+$,h="Row",m=h+$,f="Sorted"+h+$,g="Cell",w=g+$,y="Value",v=y+"s",T=y+$;var x=(e,t,l)=>new Promise(((n,a)=>{var o=e=>{try{r(l.next(e))}catch(e){a(e)}},d=e=>{try{r(l.throw(e))}catch(e){a(e)}},r=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const V=Promise,R=isFinite,P=e=>null==e,k=(e,t,l)=>P(e)?null==l?void 0:l():t(e),S=e=>e==o||e==d,A=e=>t(e)==o,O=e=>Array.isArray(e),E=(e,t,l)=>e.slice(t,l),D=e=>e.length,j=e=>x(void 0,null,(function*(){return V.all(e)})),N=e=>{const l=t(e);return S(l)||l==r&&R(e)?l:void 0},G=(e,t)=>e.every(t),L=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),J=(e,t=n)=>e.join(t),z=(e,t)=>e.map(t),W=(e,t)=>e.filter(t),B=(e,...t)=>e.push(...t),F=e=>e.pop(),U=(e,...t)=>e.unshift(...t),_=e=>e.shift(),Z=Object,H=e=>Z.getPrototypeOf(e),Q=Z.keys,q=Z.freeze,K=e=>!P(e)&&k(H(e),(e=>e==Z.prototype||P(H(e))),(()=>!0)),X=(e,t)=>z(Z.entries(e),(([e,l])=>t(l,e))),Y=e=>D(Q(e)),ee=e=>K(e)&&0==Y(e),te=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},le=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ne=(e,t)=>null==e?void 0:e.forEach(t),ae=(e,t)=>null==e?void 0:e.delete(t),oe=e=>new Map(e),de=(e,t)=>null==e?void 0:e.get(t),re=(e,t)=>ne(e,((e,l)=>t(l,e))),se=(e,t)=>{var l;return z([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},Ie=(e,t,l)=>P(l)?(ae(e,t),e):null==e?void 0:e.set(t,l),ce=(e,t,l)=>(te(e,t)||Ie(e,t,l()),de(e,t)),ue=e=>e.toUpperCase(),ie=e=>e.toLowerCase(),$e="a ",pe="A function for",be=", and registers a listener so that any changes to that result will cause a re-render",Ce="Callback",he="Del",me="Deps",fe=me+"?: React.DependencyList",ge="doRollback?: DoRollback",we="actions: () => Return, "+ge,ye="export",ve="Id",Te="Invalid",xe="Json",Ve=ie(c),Re="?: ",Pe=" | undefined",ke="NonNullable",Se="Partial",Ae="Props",Oe="Provider",Ee=`Registers a ${Ve} that will be called`,De="Represents",je="rowId: "+ve,Ne="Schema",Ge="Set",Le=", descending?: boolean, offset?: number, limit?: number",Me="[]",Je="the Store",ze="Transaction",We=ze+"Changes",Be=ie(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,He="void",Qe=" => "+He,qe="WhenSet",Ke=" when setting it",Xe=$e+"string serialization of",Ye=" ",et="Gets a callback that can ",tt="the ",lt=" the schema for",nt=(e=0,t=0)=>`the ${wt[e]}content of`+(t?Ye+Je:n),at=(e=0,t,l=0)=>mt[t]+Ye+nt(e,1)+(l?" when setting it":n),ot=(e,t=0)=>De+` a Row when ${t?"s":"g"}etting ${nt()} the '${e}' `+p,dt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,rt=(e,t)=>`Calls a function for each ${e} in `+t,st=e=>"The props passed to a component that renders "+e,It=e=>"A function that takes "+e,ct=(e,t=0)=>pe+" listening to changes to "+gt[e]+" in "+gt[t],ut=(e,t,l=0)=>Ee+" whenever "+gt[e]+" in "+gt[t]+" change"+(l?n:"s"),it=e=>`the '${e}' `+p,$t=e=>"the specified Row in "+it(e),pt=(e,t=0)=>mt[t]+` ${nt()} `+it(e),bt=(e,t=0)=>mt[t]+` ${nt()} `+$t(e),Ct=(e,t,l=0)=>mt[l]+` the '${t}' Cell for `+$t(e),ht=(e,t=0)=>mt[t]+` the '${e}' Value`,mt=["Gets","Checks existence of","Sets","Deletes","Sets part of",De,"Gets "+Xe,"Sets "+Xe,Ee+" whenever",et+"set",et+"add",et+"set part of",et+"delete","Renders","Gets "+Xe+lt,"Sets"+lt,"Deletes"+lt],ft=[u,"has","set","del","set","forEach",i,n],gt=[Je,b,tt+p+Ye+$,$e+p,tt+h+Ye+$,$e+h,tt+g+Ye+$,$e+g,"invalid Cell changes",v,tt+y+Ye+$,$e+y,"invalid Value changes",tt+"sorted "+h+Ye+$,tt+g+Ye+$+" anywhere",tt+"number of Rows"],wt=[n,"tabular ","keyed value "],yt=e=>new Set(O(e)||P(e)?e:[e]),vt=(e,t)=>null==e?void 0:e.add(t),Tt=/[^A-Za-z]+/,xt=/[^A-Za-z0-9]+/,Vt=/^( *)\/\*\* *(.*?) *\*\/$/gm,Rt=e=>e.includes(a),Pt=(e,t,l,n=1)=>{const a=`${t}${1==n?"":n}`;return te(e,a)?Pt(e,t,l,n+1):(Ie(e,a,l),a)},kt=e=>e.replace(Vt,((e,t,l)=>{const n=77-D(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${n}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),St=e=>e.flat(1e3),At=(e,t=0)=>J(z(e.split(xt),((e,l)=>(l>0||t?ue:ie)(E(e,0,1))+E(e,1)))),Ot=e=>ue(J((e&&!Tt.test(e[0])?e:" "+e).split(xt),"_")),Et=e=>`/** ${e}. */`,Dt=(...e)=>J(W(e,(e=>e)),", "),jt=(...e)=>"{"+J(e,"; ")+"}",Nt=(...e)=>jt(...z(e,(e=>"readonly "+e))),Gt=()=>{const e=[oe(),oe(),oe(),oe()],t=oe(),l=oe(),a=e=>{const t=e.indexOf(" as ");return-1!=t?E(e,t+4):e};return[(...e)=>J(St(e),"\n"),(t,l,...n)=>M(n,(n=>M([0,1],(a=>(null!=t?t:a)==a?vt(ce(e[a],l,yt),n):0)))),(e,l,a,o=n,d=1)=>Pt(t,e,[l,a,o,d]),(e,t,n)=>Pt(l,e,O(n)?[`(${t}) => {`,n,"}"]:[`(${t}) => ${n}`]),(e,t)=>de(l,e)===t?e:Pt(l,e,t),(t=0)=>z([...L(se(e[t],((e,t)=>`import {${J(L(le(e),((e,t)=>a(e)>a(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Rt(e)!=Rt(t)?Rt(e)?-1:1:e>t?1:-1)),n],(e=>e.replace("{React}","React"))),()=>se(t,(([e,t,l,a],o)=>[Et(t),`${a?ye+" ":n}type ${o}${l} = ${e};`,n])),()=>se(l,((e,t)=>(e=O(e)?e:[e],B(e,F(e)+";"),[`const ${t} = ${_(e)}`,e,n])))]},Lt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Mt=(e,t,l)=>[t=>X(e,((e,n)=>t(n,At(n,1),l(Ot(n),`'${n}'`)))),(t,n)=>X(e[t],((e,t)=>n(t,e[s],e[I],l(Ot(t),`'${t}'`),At(t,1)))),e=>X(t,((t,n)=>e(n,t[s],t[I],l(Ot(n),`'${n}'`),At(n,1))))],Jt=(e,t,l,a)=>[(a,o)=>{const d=a+": "+o,r=e(b,jt(...t((e=>`'${e}'?: {[rowId: Id]: `+jt(...l(e,((e,t,l)=>`'${e}'${P(l)?"?":n}: ${t}`)))+"}"))),at(1,5)),s=e(b+qe,jt(...t((e=>`'${e}'?: {[rowId: Id]: `+jt(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),at(1,5,1)),I=e(p+ve,"keyof "+r,"A "+p+" Id in "+Je),u=`<TId extends ${I}>`,i=e(p,ke+`<${r}[TId]>`,"A "+p+" in "+Je,u),$=e(p+qe,ke+`<${s}[TId]>`,"A "+p+" in "+Je+Ke,u),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,u),v=e(h+qe,$+"<TId>[Id]","A "+h+" in a "+p+Ke,u),T=e(g+ve,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+h,u),x=e(g,ke+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+h,`<TId extends ${I}, CId extends ${T}<TId>>`),V=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${x}<TId, CId>] : never`,g+" Ids and types in a "+h,`<TId extends ${I}, CId = ${T}<TId>>`,0),R=e(g+Ce,`(...[cellId, cell]: ${V}<TId>)`+Qe,It($e+g+" Id, and "+g),u),k=e(h+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Qe+") "+Qe,It($e+h+" Id, and a "+g+" iterator"),u),S=e(p+g+Ce,`(cellId: ${T}<TId>, count: number) `+Qe,It($e+g+" Id, and count of how many times it appears"),u),A=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Qe}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),O=e(p+Ce,`(...[tableId, forEachRow]: ${A})`+Qe,It($e+p+" Id, and a "+h+" iterator"),n),E=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,pe+" returning information about any Cell's changes during a "+Be),j=e(b+c,`(${d}, getCellChange: ${D}${Pe})`+Qe,ct(1)),N=e(C+c,`(${d})`+Qe,ct(2)),G=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${D}${Pe})`+Qe,ct(3)),L=e(p+w+c,`(${d}, tableId: ${I})`+Qe,ct(14,3)),M=e(h+"Count"+c,`(${d}, tableId: ${I})`+Qe,ct(15,3)),J=e(m+c,`(${d}, tableId: ${I})`+Qe,ct(4,3)),z=e(f+c,"("+Dt(d,"tableId: "+I,"cellId: Id"+Pe,"descending: boolean","offset: number","limit: number"+Pe,"sortedRowIds: Ids")+")"+Qe,ct(13,3)),W=e(h+c,"("+Dt(""+d,"tableId: "+I,je,`getCellChange: ${D}${Pe}`)+")"+Qe,ct(5,3)),B=e(w+c,"("+Dt(""+d,"tableId: "+I,je)+")"+Qe,ct(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${je}, cellId: CId, newCell: ${x}<TId, CId> ${Pe}, oldCell: ${x}<TId, CId> ${Pe}, getCellChange: ${D} ${Pe}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${T}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[r,s,I,i,$,y,v,T,x,R,k,S,O,j,N,G,L,M,J,z,W,B,e(g+c,`(...[${a}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+Qe,ct(7,5)),e(Te+g+c,`(${d}, tableId: Id, ${je}, cellId: Id, invalidCells: any[])`+Qe,ct(8))]},(t,l)=>{const o=t+": "+l,d=e(v,jt(...a(((e,t,l)=>`'${e}'${P(l)?"?":n}: ${t}`))),at(2,5)),r=e(v+qe,jt(...a(((e,t)=>`'${e}'?: ${t}`))),at(2,5,1)),s=e(y+ve,"keyof "+d,"A "+y+" Id in "+Je),I=e(y,ke+`<${d}[VId]>`,"A "+y+" Id in "+Je,`<VId extends ${s}>`),u=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Je,`<VId = ${s}>`,0),i=e(y+Ce,`(...[valueId, value]: ${u})`+Qe,It($e+y+" Id, and "+y)),$=e("GetValueChange",`(valueId: ${s}) => ValueChange`,pe+" returning information about any Value's changes during a "+Be),p=e(v+c,`(${o}, getValueChange: ${$}${Pe})`+Qe,ct(9)),b=e(T+c,`(${o})`+Qe,ct(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${I}<VId> ${Pe}, oldValue: ${I}<VId> ${Pe}, getValueChange: ${$} ${Pe}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,I,i,p,b,e(y+c,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Qe,ct(11)),e(Te+y+c,`(${o}, valueId: Id, invalidValues: any[])`+Qe,ct(12))]},(t,l)=>e(ze+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Qe,pe+" listening to the completion of a "+Be)],zt=(e,t=n,l=n)=>`store.${e}(${t})`+(l?" as "+l:n),Wt=(e,t=n)=>`fluent(() => ${zt(e,t)})`,Bt=(e,t=n,l=n)=>`store.${e}(${t?t+", ":n}proxy(listener)${l?", "+l:n})`,Ft=(e,t,a)=>{const[o,r,u,x,V,R,k,S]=Gt(),[O,E,D]=Mt(e,t,V),[j,N,G]=Jt(u,O,E,D),L=oe(),z=(e=0)=>se(L,(([t,l,a,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${l} => ${a},`]:[r+d+`(${t}): ${l};`];return e||U(s,Et(o)),B(s,n),s})),W=(e,t,l,a,o,d=n)=>Pt(L,e,[t,l,a,o,d]),F=(e,t,l,a,o,d=n,r=n,s=n)=>W(ft[e]+t+(4==e?Se:n)+l,d,a,(a==H?Wt:zt)(ft[e]+(4==e?Se:n)+l,r,e?void 0:a),o,s),_=(e,t,l,a=n,o=n,d=1,r=n)=>W(i+e+c,(a?a+", ":n)+Ve+": "+t+(d?", mutator?: boolean":n),ve,Bt(i+e+c,o,d?"mutator":n),l,r),Z=`./${At(a)}.d`,H=At(a,1),Q=At(H),q=[],K=oe();let X=[],Y=[];if(r(1,Z,H,`create${H} as create${H}Decl`),ee(e))r(null,l,b);else{r(0,l,"CellChange"),r(null,l,$);const[e,t,a,o,c,i,y,v,T,x,R,k,S,D,N,G,L,z,W,U,Y,ee,te,ne]=j(Q,H),ae=oe();O(((e,t)=>{const l=`<'${e}'>`,n=[u(t+p,o+l,De+` the '${e}' `+p),u(t+p+qe,c+l,De+` the '${e}' `+p+Ke),u(t+h,i+l,ot(e)),u(t+h+qe,y+l,ot(e,1)),u(t+g+ve,v+l,`A Cell Id for the '${e}' `+p),u(t+g+Ce,x+l,It(`a Cell Id and value from a Row in the '${e}' `+p)),u(t+h+Ce,R+l,It(`a Row Id from the '${e}' Table, and a Cell iterator`)),u(t+p+g+Ce,k+l,It(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ae,e,n),r(1,Z,...n)})),r(1,Z,e,t,a,v,S,D,N,G,L,z,W,U,Y,ee,te,ne),X=[e,t,a,v,D,N,G,L,z,W,U,Y,ee,te,ae],M([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],a)=>F(a,n,b,e,at(1,a),t,l))),F(0,n,C,a+Me,dt(p,Je)),F(5,n,p,He,rt(p,Je),"tableCallback: "+S,"tableCallback as any"),O(((e,t,l)=>{const[a,o,r,s,I,c,u,i]=de(ae,e);M([[a],[d],[H,"table: "+o,", table"],[H]],(([a,o,d=n],r)=>F(r,t,p,a,pt(e,r),o,l+d))),F(0,t,p+w,$,dt(g,"the whole of "+it(e)),n,l),F(5,t,p+g,He,rt(p+g,"the whole of "+it(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),F(0,t,h+"Count","number","Gets the number of Rows in the "+it(e),n,l),F(0,t,m,$,dt(h,it(e)),n,l),F(0,t,f,$,dt(h,it(e),1),"cellId?: "+I+Le,l+", cellId, descending, offset, limit"),F(5,t,h,He,rt(h,it(e)),"rowCallback: "+u,l+", rowCallback as any"),M([[r],[d],[H,", row: "+s,", row"],[H],[H,", partialRow: "+s,", partialRow"]],(([a,o=n,d=n],r)=>F(r,t,h,a,bt(e,r),je+o,l+", rowId"+d))),F(6,t,h,ve+Pe,"Add a new Row to "+it(e),"row: "+s+", reuseIds?: boolean",l+", row, reuseIds"),F(0,t,w,I+Me,dt(g,$t(e)),je,l+", rowId"),F(5,t,g,He,rt(g,$t(e)),je+", cellCallback: "+c,l+", rowId, cellCallback as any"),E(e,((a,o,r,s,I)=>{const c="Map"+At(o,1);Ie(K,o,c);const u=o+(P(r)?Pe:n);M([[u],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=n,r=n],c)=>F(c,t+I,g,o,Ct(e,a,c),je+d,l+", rowId, "+s+r))),F(1,t+I,p+g,d,mt[1]+` the '${a}' Cell anywhere in `+it(e),n,l+", "+s)}))})),F(0,n,b+xe,xe,at(1,6)),F(2,n,b+xe,H,at(1,7),"tablesJson: "+xe,"tables"+xe),_(b,D,at(1,8)+" changes"),_(C,N,ut(2,0,1)),_(p,G,ut(3,0),`tableId: ${a} | null`,"tableId"),_(p+w,L,ut(14,3,1),`tableId: ${a} | null`,"tableId"),_(h+"Count",z,ut(15,3),`tableId: ${a} | null`,"tableId"),_(m,W,ut(4,3,1),`tableId: ${a} | null`,"tableId"),_(f,U,ut(13,3,1),Dt("tableId: TId",`cellId: ${v}<TId>`+Pe,"descending: boolean","offset: number","limit: number"+Pe),Dt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,Y,ut(5,3),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,ee,ut(6,5,1),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,te,ut(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${J(O((e=>{var t,l;return null!=(l=null==(t=de(ae,e))?void 0:t[4])?l:n}))," | ")} | null`,"tableId, rowId, cellId"),_(Te+g,ne,Ee+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),r(1,Z,...le(K)),B(q,".set"+b+Ne+"({",St(O(((e,t,l)=>[`[${l}]: {`,...E(e,((e,t,l,a)=>`[${a}]: {[${V(Ot(s),`'${s}'`)}]: ${V(Ot(t),`'${t}'`)}${P(l)?n:`, [${V(Ot(I),`'${I}'`)}]: `+(A(l)?V(Ot(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(ee(t))r(null,l,v);else{const[e,t,a,o,c,u,i,$,p]=N(Q,H);r(1,Z,e,t,a,c,u,i,$,p),Y=[e,t,a,u,i,$],M([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],a)=>F(a,n,v,e,at(2,a),t,l))),F(0,n,T,a+Me,dt(y,Je)),F(5,n,y,"void",rt(y,Je),"valueCallback: "+c,"valueCallback as any"),D(((e,t,l,a,o)=>{const r="Map"+At(t,1);Ie(K,t,r),M([[t],[d],[H,`value: ${t} | `+r,", value as any"],[H]],(([t,l,d=n],r)=>F(r,o,y,t,ht(e,r),l,a+d)))})),F(0,n,v+xe,xe,at(2,6)),F(2,n,v+xe,H,at(2,7),"valuesJson: "+xe,"values"+xe),_(v,u,at(2,8)+" changes"),_(T,i,ut(10,0,1)),_(y,$,ut(11,0),`valueId: ${a} | null`,"valueId"),_(Te+y,p,Ee+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),r(1,Z,...le(K)),r(0,l,"ValueChange"),B(q,".set"+v+Ne+"({",D(((e,t,l,a)=>[`[${a}]: {[${V(Ot(s),`'${s}'`)}]: ${V(Ot(t),`'${t}'`)}${P(l)?n:`, [${V(Ot(I),`'${I}'`)}]: `+(A(l)?V(Ot(l),`'${l}'`):l)}},`])),"})")}F(0,n,"Content",`[${b}, ${v}]`,at(0,0)),F(2,n,"Content",H,at(0,2),`[tables, values]: [${b}, ${v}]`,"[tables, values]"),F(2,n,We,H,`Applies a set of ${We} to the Store`,"transactionChanges: "+We,"transactionChanges"),re(K,((e,t)=>u(t,`(cell: ${e}${Pe}) => `+e,`Takes a ${e} Cell value and returns another`))),r(null,l,"DoRollback",ve,"IdOrNull",xe,"Store",We),r(0,l,"Get"+We,"GetTransactionLog"),F(0,n,xe,xe,at(0,6)),F(2,n,xe,H,at(0,7),"tablesAndValuesJson: "+xe,"tablesAndValuesJson"),F(7,n,Be,"Return",Fe,we,"actions, doRollback","<Return>"),F(7,n,"start"+ze,H,Ue),F(7,n,"finish"+ze,H,_e,ge,"doRollback");const te=G(Q,H);return _("Start"+ze,te,Ee+" just before the start of the "+Be,n,n,0),_("WillFinish"+ze,te,Ee+" just before "+Ze,n,n,0),_("DidFinish"+ze,te,Ee+" just after "+Ze,n,n,0),F(7,n,"call"+c,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,n,c,H,"Remove a listener that was previously added to "+Je,"listenerId: Id","listenerId"),W("getStore",n,"Store","store",mt[0]+" the underlying Store object"),r(1,l,"createStore"),r(1,Z,H,`create${H} as create${H}Decl`,te),V("store",["createStore()",...q]),x("fluent","actions: () => Store",["actions();",`return ${Q};`]),x("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),V(Q,["{",...z(1),"}"]),[o(...R(0),...k(),ye+" interface "+H+" {",...z(0),"}",n,Et(`Creates a ${H} object`),ye+" function create"+H+"(): "+H+";"),o(...R(1),ye+" const create"+H+": typeof create"+H+"Decl = () => {",...S(),`return Object.freeze(${Q});`,"};"),X,Y]},Ut=e=>u+e,_t=e=>Dt(Ut(e),Ut(e)+me),Zt="debugIds?: boolean",Ht="debugIds={debugIds}",Qt="then"+fe,qt="Parameter",Kt=": (parameter: "+qt+", store: Store) => ",Xt="const contextValue = useContext(Context);",Yt=", based on a parameter",el=": ",tl="<"+qt+",>",ll=qt+"ized"+Ce+"<"+qt+">",nl="rowId",al="rowId={rowId}",ol=", separator, debugIds",dl="separator?: ReactElement | string",rl="then?: (store: Store",sl=Dt(rl+")"+Qe,Qt),Il="then, then"+me,cl=nl+el+ve,ul="View",il=(e,...t)=>Dt(...t,Ve+": "+e,Ve+fe,"mutator?: boolean"),$l=(...e)=>Dt(...e,Ve,Ve+me,"mutator"),pl=(e,t,a,o,d)=>{const[r,s,I,u,i,x,V,R]=Gt(),[k,S,A]=Mt(e,t,i),O=`./${At(a)}.d`,E=`./${At(a)}-ui-react.d`,D="tinybase/ui-react",j=At(a,1),N=At(j),G=j+"Or"+j+ve,L=N+"Or"+j+ve,M=N+`={${N}}`,z=oe(),W=(e,t,l,a,o,d=n)=>(s(1,E,e+" as "+e+"Decl"),Pt(z,e,[t,l,a,o,d])),F=(e,t,l,a,o,d=n)=>W("use"+e,t,l,a,o,d),_=(e,t,l,a,o=n,d=n,r=n,I=n,c=n)=>(s(1,D,`use${t} as use${t}Core`),F(e,Dt(o,K,I),l,Y+`(${L}, use${t}Core, [`+(d||n)+(c?"], ["+c:n)+"]);",a,r)),Z=(e,t,l,n)=>W(e,t,1,l,n),H=(e=0)=>se(z,(([t,l,a,o,d],r)=>{const s=e?[ye+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==l?"any":l} =>`,a]:[ye+` function ${r}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||U(s,Et(o)),B(s,n),s}));s(null,l,ve,"Store",Ce,qt+"ized"+Ce),s(0,D,"ComponentReturnType"),s(1,D,"useCellIds"),s(null,D,"ExtraProps"),s(0,O,j);const Q=I(G,j+" | "+ve,`Used when you need to refer to a ${j} in a React hook or component`),q=I(Oe+Ae,Nt(N+Re+j,N+`ById?: {[${N}Id: Id]: ${j}}`),`Used with the ${Oe} 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+Re+Q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${j}?, {[${N}Id: Id]: ${j}}?]>([])`),F("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 X=F(j,"id?: Id",j+Pe,["{",Xt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Oe} component context`),Y=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",Dt("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;"]),ne=u("useCustomOrDefaultCellIds",Dt("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${L}?: ${Q} | undefined`),[`const defaultCellIds = ${Y}(${L}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),ae=i("NullComponent","() => null");if(!ee(e)){const[e,t,a,d,r,i,y,v,T,x,V,R,A,D,G]=o;s(null,O,e,t,a,r,i,y,v,T,x,V,R,A,D),s(0,O,d),s(1,O,j),s(null,l,$,"IdOrNull");const L=u("tableView",`{${N}, rowComponent, getRowComponentProps, customCellIds`+ol+"}: 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}",M,Ht,"/>","))",ol,", tableId,",");"]),z=u("getDefaultTableComponent","tableId: Id",J(k(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ae),W=u("getDefaultCellComponent","tableId: Id, cellId: Id",J(k(((e,t,l)=>`tableId == ${l} ? ${J(S(e,((e,l,n,a,o)=>`cellId == ${a} ? `+t+o+"CellView : ")))+ae} : `)))+ae);_(b,b,e,at(1,0)+be);const B=_(C,C,a+Me,dt(p,Je)+be);_(Ge+b+Ce,Ge+b+Ce,ll,at(1,9)+Yt,Dt(Ut(b)+Kt+t,Ut(b)+fe),_t(b),tl,Dt(rl,`tables: ${t})`+Qe,Qt),Il),_(he+b+Ce,he+b+Ce,Ce,at(1,12),n,n,n,sl,Il);const F=I(g+Ae,Nt("tableId?: TId","rowId: Id","cellId?: CId",N+Re+j,Zt),st($e+g),`<TId extends ${a}, CId extends ${d}<TId>>`),U=I(h+Ae,Nt("tableId?: TId","rowId: Id",N+Re+j,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,dl,Zt),st($e+h),`<TId extends ${a}>`),H=I(p+Ae,Nt("tableId?: TId",N+Re+j,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",dl,Zt),st($e+p),`<TId extends ${a}>`),Q=I("Sorted"+p+Ae,Nt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",N+Re+j,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",dl,Zt),st($e+"sorted "+p),`<TId extends ${a}>`),q=I(b+Ae,Nt(N+Re+j,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,dl,Zt),st(nt(1,1)));s(1,E,q,H,Q,U,F),Z(b+ul,"{"+N+", tableComponents, getTableComponentProps"+ol+"}: "+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}",M,Ht,"/>;","}), separator)"],at(1,13)+be),k(((e,t,l)=>{const[a,o,d,r,I]=de(G,e);s(null,O,a,o,d,r,I),_(t+p,p,a,pt(e)+be,n,l),_(t+p+w,p+w,$,dt(g,"the whole of "+it(e))+be,n,l);const c=_(t+m,m,$,dt(h,it(e))+be,n,l),u=_(t+f,f,$,dt(h,it(e),1)+be,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,bt(e)+be,cl,Dt(l,nl)),_(t+w,w,I+Me,dt(g,$t(e))+be,cl,Dt(l,nl)),_(Ge+t+p+Ce,Ge+p+Ce,ll,pt(e,9)+Yt,Dt(Ut(p)+Kt+o,Ut(p)+fe),Dt(l,_t(p)),tl,Dt(rl,`table: ${o})`+Qe,Qt),Il),_(he+t+p+Ce,he+p+Ce,Ce,pt(e,12),n,l,n,sl,Il),_(Ge+t+h+Ce,Ge+h+Ce,ll,bt(e,9)+Yt,Dt(cl,Ut(h)+Kt+r,Ut(h)+fe),Dt(l,nl,_t(h)),tl,Dt(rl,`row: ${r})`+Qe,Qt),Il),_("Add"+t+h+Ce,"Add"+h+Ce,ll,bt(e,10)+Yt,Dt(Ut(h)+Kt+r,Ut(h)+fe),Dt(l,_t(h)),tl,"then?: ("+Dt(cl+Pe,"store: Store","row: "+r+")"+Qe,"then"+fe)+", reuseRowIds?: boolean",Il+", reuseRowIds"),_(Ge+t+Se+h+Ce,Ge+Se+h+Ce,ll,bt(e,11)+Yt,Dt(cl,Ut(Se+h)+Kt+r,Ut(Se+h)+fe),Dt(l,nl,_t(Se+h)),tl,Dt(rl,`partialRow: ${r})`+Qe,Qt),Il),_(he+t+h+Ce,he+h+Ce,Ce,bt(e,12),cl,Dt(l,nl),n,sl,Il);const i=Z(t+h+ul,"{rowId, "+N+", cellComponents, getCellComponentProps, customCellIds"+ol+`}: ${U}<'${e}'>`,[le+`(${ne}(customCellIds, `+l+`, rowId, ${N}).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}",M,Ht,"/>;","})"+ol+", rowId)"],bt(e,13)+be);Z(t+"Sorted"+p+ul,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,L+"(props, "+u+`(cellId, descending, offset, limit, props.${N}), ${l}, ${i});`,pt(e,13)+", sorted"+be),Z(t+p+ul,`props: ${H}<'${e}'>`,L+"(props, "+c+`(props.${N}), ${l}, ${i});`,pt(e,13)+be),S(e,((a,o,d,r,I)=>{const c="Map"+At(o,1);s(0,O,c),s(1,O,c);const u=_(t+I+g,g,o+(P(d)?Pe:n),Ct(e,a)+be,cl,Dt(l,nl,r));_(Ge+t+I+g+Ce,Ge+g+Ce,ll,Ct(e,a,9)+Yt,Dt(cl,Ut(g)+Kt+o+" | "+c,Ut(g)+fe),Dt(l,nl,r,_t(g)),tl,Dt(rl,`cell: ${o} | ${c})`+Qe,Qt),Il),_(he+t+I+g+Ce,he+g+Ce,Ce,Ct(e,a,12),Dt(cl,"forceDel?: boolean"),Dt(l,nl,r,"forceDel"),n,sl,Il),Z(t+I+g+ul,`{rowId, ${N}, debugIds}: `+F+`<'${e}', '${a}'>`,[le+`('' + ${u}(rowId, `+N+`) ?? '', undefined, debugIds, ${r})`],Ct(e,a,13)+be)}))}));const K=J(k((e=>{var t,l;return null!=(l=null==(t=de(G,e))?void 0:t[4])?l:n}))," | ");_(b+c,b+c,He,at(1,8)+" changes",il(r),$l()),_(C+c,C+c,He,ut(2,0,1),il(i),$l()),_(p+c,p+c,He,ut(3,0),il(y,`tableId: ${a} | null`),$l("tableId")),_(p+w+c,p+w+c,He,ut(14,3,1),il(v,`tableId: ${a} | null`),$l("tableId")),_(m+c,m+c,He,ut(4,3,1),il(x,`tableId: ${a} | null`),$l("tableId")),_(f+c,f+c,He,ut(13,3,1),il(V,`tableId: ${a} | null`,"cellId: "+K+Pe,"descending: boolean","offset: number","limit: number"+Pe),$l("tableId","cellId","descending","offset","limit")),_(h+c,h+c,He,ut(5,3),il(R,`tableId: ${a} | null`,nl+": IdOrNull"),$l("tableId",nl)),_(w+c,w+c,He,ut(6,5,1),il(A,`tableId: ${a} | null`,nl+": IdOrNull"),$l("tableId",nl)),_(g+c,g+c,He,ut(7,5),il(D,`tableId: ${a} | null`,nl+": IdOrNull",`cellId: ${K} | null`),$l("tableId",nl,"cellId"))}if(!ee(t)){const[e,t,l,a,o,r]=d;s(null,O,...d),s(1,O,j);const i=u("getDefaultValueComponent","valueId: Id",J(A(((e,t,l,n,a)=>`valueId == ${n} ? `+a+"ValueView : ")))+ae);_(v,v,e,at(2,0)+be);const $=_(T,T,l+Me,dt(y,Je)+be);_(Ge+v+Ce,Ge+v+Ce,ll,at(2,9)+Yt,Dt(Ut(v)+Kt+t,Ut(v)+fe),_t(v),tl,Dt(rl,`values: ${t})`+Qe,Qt),Il),_(Ge+Se+v+Ce,Ge+Se+v+Ce,ll,at(2,11)+Yt,Dt(Ut(Se+v)+Kt+t,Ut(Se+v)+fe),_t(Se+v),tl,Dt(rl,`partialValues: ${t})`+Qe,Qt),Il),_(he+v+Ce,he+v+Ce,Ce,at(2,12),n,n,n,sl,Il);const p=I(y+Ae,Nt("valueId?: VId",N+Re+j,Zt),st("a Value"),`<VId extends ${l}>`),b=I(v+Ae,Nt(N+Re+j,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,dl,Zt),st(nt(2,1)));s(1,E,b,p),Z(v+ul,"{"+N+", valueComponents, getValueComponentProps"+ol+"}: "+b,[le+`(${$}(${N}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${te}(getValueComponentProps, valueId)}`,"key={valueId}",M,Ht,"/>;","}), separator)"],at(2,13)+be),A(((e,t,l,a,o)=>{const d="Map"+At(t,1);s(0,O,d),s(1,O,d);const r=_(o+y,y,t,ht(e)+be,n,a);_(Ge+o+y+Ce,Ge+y+Ce,ll,ht(e,9)+Yt,Dt(Ut(y)+Kt+t+" | "+d,Ut(y)+fe),Dt(a,_t(y)),tl,Dt(rl,`value: ${t} | ${d})`+Qe,Qt),Il),_(he+o+y+Ce,he+y+Ce,Ce,ht(e,12),n,a,n,sl,Il),Z(o+y+ul,`{${N}, debugIds}: ${p}<'${e}'>`,[le+`('' + ${r}(`+N+`) ?? '', undefined, debugIds, ${a})`],ht(e,13)+be)})),_(v+c,v+c,He,at(2,8)+" changes",il(a),$l()),_(T+c,T+c,He,ut(10,0,1),il(o),$l()),_(y+c,y+c,He,ut(11,0),il(r,`valueId: ${l} | null`),$l("valueId"))}return Z(Oe,`{${N}, ${N}ById, children}: `+q+" & {children: React.ReactNode}",["{",Xt,"return (","<Context."+Oe,"value={useMemo(",`() => [${N} ?? contextValue[0], {...contextValue[1], ...${N}ById}],`,`[${N}, ${N}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"),[r(...x(0),...V(),...H(0)),r(...x(1),...R(),...H(1))]},bl=(e,t,l)=>{if(ee(e)&&ee(t))return[n,n,n,n];const[a,o,d,r]=Ft(e,t,l);return[a,o,...pl(e,t,l,d,r)]},Cl=JSON.parse;var hl=Object.defineProperty,ml=Object.defineProperties,fl=Object.getOwnPropertyDescriptors,gl=Object.getOwnPropertySymbols,wl=Object.prototype.hasOwnProperty,yl=Object.prototype.propertyIsEnumerable,vl=(e,t,l)=>t in e?hl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,Tl=(e,t)=>{for(var l in t||(t={}))wl.call(t,l)&&vl(e,l,t[l]);if(gl)for(var l of gl(t))yl.call(t,l)&&vl(e,l,t[l]);return e},xl=(e,t)=>ml(e,fl(t)),Vl=(e,t,l)=>new Promise(((n,a)=>{var o=e=>{try{r(l.next(e))}catch(e){a(e)}},d=e=>{try{r(l.throw(e))}catch(e){a(e)}},r=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const Rl="prettier/",Pl=Rl+"plugins/",kl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Sl=Lt((e=>{const t=()=>{const t=Cl(e.getTablesSchemaJson());return!ee(t)||G(e.getTableIds(),(l=>{const n=e.getRowIds(l),a=oe();if(G(n,(t=>G(e.getCellIds(l,t),(n=>{const o=e.getCell(l,t,n),d=ce(a,n,(()=>[N(o),oe(),[0],0])),[r,s,[I]]=d,c=ce(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),Ie(s,o,c),d[3]++,r==N(o)})))))return t[l]={},ne(a,(([e,,[,a],o],d)=>{t[l][d]=Tl({[s]:e},o==D(n)?{[I]:a}:{})})),1}))?t:{}},l=()=>{const t=Cl(e.getValuesSchemaJson());return ee(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:N(l)}})),t},n=e=>bl(t(),l(),e),a=e=>Vl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"],l=[];let a;try{a=(yield import(Rl+"standalone")).format,B(l,yield import(Pl+"estree"),yield import(Pl+"typescript"))}catch(e){a=e=>Vl(void 0,null,(function*(){return e}))}return yield j(z(n(e),((e,n)=>Vl(void 0,null,(function*(){return kt(yield a(e,xl(Tl({},kl),{plugins:l,filepath:"_."+t[n]})))})))))}));return q({getStoreStats:t=>{let l=0,n=0,a=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let n=0;l((()=>n++)),s+=n,t&&(I[e]={rowCells:n})})),n+=r,a+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),Tl({totalTables:l,totalRows:n,totalCells:a,totalValues:D(e.getValueIds()),jsonLength:D(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:n,getPrettyStoreApi:a,getStore:()=>e})}));e.createTools=Sl},"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=",",o=l(a),d=l(!0),r=l(0),s="type",I="default",u="Listener",c="get",$="add",i="Has",b="Ids",p="Table",C=p+"s",h=p+b,m="Row",f=m+b,g="Sorted"+m+b,w="Cell",y=w+b,T="Value",v=T+"s",x=T+b;var V=(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 R=Promise,P=isFinite,A=e=>null==e,k=(e,l,t)=>A(e)?null==t?void 0:t():l(e),S=e=>e==o||e==d,O=e=>l(e)==o,E=e=>Array.isArray(e),L=(e,l,t)=>e.slice(l,t),D=e=>e.length,N=e=>V(void 0,null,(function*(){return R.all(e)})),j=e=>{const t=l(e);return S(t)||t==r&&P(e)?t:void 0},G=(e,l)=>e.every(l),H=(e,l)=>e.sort(l),M=(e,l)=>e.forEach(l),J=(e,l=a)=>e.join(l),z=(e,l)=>e.map(l),W=(e,l)=>e.filter(l),B=(e,...l)=>e.push(...l),F=e=>e.pop(),U=(e,...l)=>e.unshift(...l),_=e=>e.shift(),Z=Object,Q=e=>Z.getPrototypeOf(e),q=Z.keys,K=Z.freeze,X=e=>!A(e)&&k(Q(e),(e=>e==Z.prototype||A(Q(e))),(()=>!0)),Y=(e,l)=>z(Z.entries(e),(([e,t])=>l(t,e))),ee=e=>D(q(e)),le=e=>X(e)&&0==ee(e),te=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},ae=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},ne=(e,l)=>null==e?void 0:e.forEach(l),oe=(e,l)=>null==e?void 0:e.delete(l),de=e=>new Map(e),re=(e,l)=>null==e?void 0:e.get(l),se=(e,l)=>ne(e,((e,t)=>l(t,e))),Ie=(e,l)=>{var t;return z([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>l(t,e)))},ue=(e,l,t)=>A(t)?(oe(e,l),e):null==e?void 0:e.set(l,t),ce=(e,l,t)=>(te(e,l)||ue(e,l,t()),re(e,l)),$e=e=>e.toUpperCase(),ie=e=>e.toLowerCase(),be="a ",pe="A function for",Ce=", and registers a listener so that any changes to that result will cause a re-render",he="Callback",me="Count",fe="Del",ge="Deps",we=ge+"?: React.DependencyList",ye="doRollback?: DoRollback",Te="actions: () => Return, "+ye,ve="export",xe="Id",Ve="Invalid",Re="Json",Pe=ie(u),Ae="?: ",ke=" | undefined",Se="NonNullable",Oe="Partial",Ee="Props",Le="Provider",De=`Registers a ${Pe} that will be called`,Ne="Represents",je="rowId: "+xe,Ge="Schema",He="Set",Me=", descending?: boolean, offset?: number, limit?: number",Je="[]",ze="the Store",We="Transaction",Be=We+"Changes",Fe=ie(We),Ue="Execute a "+Fe+" to make multiple mutations",_e="Explicitly starts a "+Fe,Ze="Explicitly finishes a "+Fe,Qe="the end of the "+Fe,qe="void",Ke=" => "+qe,Xe="WhenSet",Ye=" when setting it",el=be+"string serialization of",ll=" ",tl="Gets a callback that can ",al="the ",nl=" the schema for",ol=(e=0)=>e?"the existence of ":"",dl=(e=0,l=0,t=0)=>ol(t)+`the ${vl[e]}content of`+(l?ll+ze:a),rl=(e=0,l,t=0,n=0)=>wl[l]+ll+ol(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,Il=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,ul=(e,l)=>`Calls a function for each ${e} in `+l,cl=e=>"The props passed to a component that renders "+e,$l=e=>"A function that takes "+e,il=(e,l=0,t=0)=>pe+" listening to changes to "+ol(t)+Tl[e]+" in "+Tl[l],bl=(e,l,t=0,n=0)=>De+" whenever "+ol(n)+Tl[e]+" in "+Tl[l]+" change"+(t?a:"s"),pl=e=>`the '${e}' `+p,Cl=e=>"the specified Row in "+pl(e),hl=(e,l=0,t=0)=>wl[l]+ll+dl(0,0,t)+ll+pl(e),ml=(e,l=0,t=0)=>wl[l]+` ${dl(0,0,t)} `+Cl(e),fl=(e,l,t=0,a=0)=>wl[t]+ll+ol(a)+`the '${l}' Cell for `+Cl(e),gl=(e,l=0,t=0)=>wl[l]+ll+ol(t)+`the '${e}' Value`,wl=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ne,"Gets "+el,"Sets "+el,De+" whenever",tl+"set",tl+"add",tl+"set part of",tl+"delete","Renders","Gets "+el+nl,"Sets"+nl,"Deletes"+nl],yl=[c,"has","set","del","set","forEach",$,a],Tl=[ze,C,al+p+ll+b,be+p,al+m+ll+b,be+m,al+w+ll+b,be+w,"invalid Cell changes",v,al+T+ll+b,be+T,"invalid Value changes",al+"sorted "+m+ll+b,al+w+ll+b+" anywhere",al+"number of Rows",be+w+" anywhere"],vl=[a,"tabular ","keyed value "],xl=e=>new Set(E(e)||A(e)?e:[e]),Vl=(e,l)=>null==e?void 0:e.add(l),Rl=/[^A-Za-z]+/,Pl=/[^A-Za-z0-9]+/,Al=/^( *)\/\*\* *(.*?) *\*\/$/gm,kl=e=>e.includes(n),Sl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return te(e,n)?Sl(e,l,t,a+1):(ue(e,n,t),n)},Ol=e=>e.replace(Al,((e,l,t)=>{const a=77-D(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),El=e=>e.flat(1e3),Ll=(e,l=0)=>J(z(e.split(Pl),((e,t)=>(t>0||l?$e:ie)(L(e,0,1))+L(e,1)))),Dl=e=>$e(J((e&&!Rl.test(e[0])?e:" "+e).split(Pl),"_")),Nl=e=>`/** ${e}. */`,jl=(...e)=>J(W(e,(e=>e)),", "),Gl=(...e)=>"{"+J(e,"; ")+"}",Hl=(...e)=>Gl(...z(e,(e=>"readonly "+e))),Ml=()=>{const e=[de(),de(),de(),de()],l=de(),t=de(),n=e=>{const l=e.indexOf(" as ");return-1!=l?L(e,l+4):e};return[(...e)=>J(El(e),"\n"),(l,t,...a)=>M(a,(a=>M([0,1],(n=>(null!=l?l:n)==n?Vl(ce(e[n],t,xl),a):0)))),(e,t,n,o=a,d=1)=>Sl(l,e,[t,n,o,d]),(e,l,a)=>Sl(t,e,E(a)?[`(${l}) => {`,a,"}"]:[`(${l}) => ${a}`]),(e,l)=>re(t,e)===l?e:Sl(t,e,l),(l=0)=>z([...H(Ie(e[l],((e,l)=>`import {${J(H(ae(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"))),()=>Ie(l,(([e,l,t,n],o)=>[Nl(l),`${n?ve+" ":a}type ${o}${t} = ${e};`,a])),()=>Ie(t,((e,l)=>(e=E(e)?e:[e],B(e,F(e)+";"),[`const ${l} = ${_(e)}`,e,a])))]},Jl=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},zl=(e,l,t)=>[l=>Y(e,((e,a)=>l(a,Ll(a,1),t(Dl(a),`'${a}'`)))),(l,a)=>Y(e[l],((e,l)=>a(l,e[s],e[I],t(Dl(l),`'${l}'`),Ll(l,1)))),e=>Y(l,((l,a)=>e(a,l[s],l[I],t(Dl(a),`'${a}'`),Ll(a,1))))],Wl=(e,l,t,n)=>[(n,o)=>{const d=n+": "+o,r=e(C,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`)))+"}"))),rl(1,5)),s=e(C+Xe,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),rl(1,5,1)),I=e(p+xe,"keyof "+r,"A "+p+" Id in "+ze),c=`<TId extends ${I}>`,$=e(p,Se+`<${r}[TId]>`,"A "+p+" in "+ze,c),b=e(p+Xe,Se+`<${s}[TId]>`,"A "+p+" in "+ze+Ye,c),T=e(m,$+"<TId>[Id]","A "+m+" in a "+p,c),v=e(m+Xe,b+"<TId>[Id]","A "+m+" in a "+p+Ye,c),x=e(w+xe,`Extract<keyof ${T}<TId>, Id>`,"A "+w+" Id in a "+m,c),V=e(w,Se+`<${r}[TId]>[Id][CId]`,"A "+w+" in a "+m,`<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 "+m,`<TId extends ${I}, CId = ${x}<TId>>`,0),P=e(w+he,`(...[cellId, cell]: ${R}<TId>)`+Ke,$l(be+w+" Id, and "+w),c),k=e(m+he,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ke+") "+Ke,$l(be+m+" Id, and a "+w+" iterator"),c),S=e(p+w+he,`(cellId: ${x}<TId>, count: number) `+Ke,$l(be+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Ke}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+he,`(...[tableId, forEachRow]: ${O})`+Ke,$l(be+p+" Id, and a "+m+" iterator"),a),L=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${x}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,pe+" returning information about any Cell's changes during a "+Fe),N=e(i+C+u,`(${d}, hasTables: boolean)`+Ke,il(1,0,1)),j=e(C+u,`(${d}, getCellChange: ${D}${ke})`+Ke,il(1)),G=e(h+u,`(${d})`+Ke,il(2)),H=e(i+p+u,`(${d}, tableId: ${I}, hasTable: boolean)`+Ke,il(3,0,1)),M=e(p+u,`(${d}, tableId: ${I}, getCellChange: ${D}${ke})`+Ke,il(3)),J=e(p+y+u,`(${d}, tableId: ${I})`+Ke,il(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${d}, 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+u,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+Ke,il(16,3,1)),F=e(m+"Count"+u,`(${d}, tableId: ${I})`+Ke,il(15,3)),U=e(f+u,`(${d}, tableId: ${I})`+Ke,il(4,3)),_=e(g+u,"("+jl(d,"tableId: "+I,"cellId: Id"+ke,"descending: boolean","offset: number","limit: number"+ke,"sortedRowIds: Ids")+")"+Ke,il(13,3)),Z=e(i+m+u,"("+jl(""+d,"tableId: "+I,je,"hasRow: boolean")+")"+Ke,il(5,3,1)),Q=e(m+u,"("+jl(""+d,"tableId: "+I,je,`getCellChange: ${D}${ke}`)+")"+Ke,il(5,3)),q=e(y+u,"("+jl(""+d,"tableId: "+I,je)+")"+Ke,il(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${d}, tableId: TId, ${je}, 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+u,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+Ke,il(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${d}, tableId: TId, ${je}, cellId: CId, newCell: ${V}<TId, CId> ${ke}, oldCell: ${V}<TId, CId> ${ke}, getCellChange: ${D} ${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[r,s,I,$,b,T,v,x,V,P,k,S,E,N,j,G,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+u,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+Ke,il(7,5)),e(Ve+w+u,`(${d}, tableId: Id, ${je}, cellId: Id, invalidCells: any[])`+Ke,il(8))]},(l,t)=>{const o=l+": "+t,d=e(v,Gl(...n(((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`))),rl(2,5)),r=e(v+Xe,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),rl(2,5,1)),s=e(T+xe,"keyof "+d,"A "+T+" Id in "+ze),I=e(T,Se+`<${d}[VId]>`,"A "+T+" Id in "+ze,`<VId extends ${s}>`),c=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${I}<VId>] : never`,T+" Ids and types in "+ze,`<VId = ${s}>`,0),$=e(T+he,`(...[valueId, value]: ${c})`+Ke,$l(be+T+" Id, and "+T)),b=e("GetValueChange",`(valueId: ${s}) => ValueChange`,pe+" returning information about any Value's changes during a "+Fe),p=e(i+v+u,`(${o}, hasValues: boolean)`+Ke,il(9,0,1)),C=e(v+u,`(${o}, getValueChange: ${b}${ke})`+Ke,il(9)),h=e(x+u,`(${o})`+Ke,il(10)),m=e(i+T+u,`(${o}, valueId: ValueId, hasValue: boolean)`+Ke,il(11,0,1)),f=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${I}<VId> ${ke}, oldValue: ${I}<VId> ${ke}, getValueChange: ${b} ${ke}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,I,$,p,C,h,m,e(T+u,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+f+")"+Ke,il(11)),e(Ve+T+u,`(${o}, valueId: Id, invalidValues: any[])`+Ke,il(12))]},(l,t)=>e(We+u,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ke,pe+" listening to the completion of a "+Fe)],Bl=(e,l=a,t=a)=>`store.${e}(${l})`+(t?" as "+t:a),Fl=(e,l=a)=>`fluent(() => ${Bl(e,l)})`,Ul=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(listener)${t?", "+t:a})`,_l=(e,l,n)=>{const[o,r,c,V,R,P,k,S]=Ml(),[E,L,D]=zl(e,l,R),[N,j,G]=Wl(c,E,L,D),H=de(),z=(e=0)=>Ie(H,(([l,t,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${t} => ${n},`]:[r+d+`(${l}): ${t};`];return e||U(s,Nl(o)),B(s,a),s})),W=(e,l,t,n,o,d=a)=>Sl(H,e,[l,t,n,o,d]),F=(e,l,t,n,o,d=a,r=a,s=a)=>W(yl[e]+l+(4==e?Oe:a)+t,d,n,(n==Q?Fl:Bl)(yl[e]+(4==e?Oe:a)+t,r,e?void 0:n),o,s),_=(e,l,t,n=a,o=a,d=1,r=a)=>W($+e+u,(n?n+", ":a)+Pe+": "+l+(d?", mutator?: boolean":a),xe,Ul($+e+u,o,d?"mutator":a),t,r),Z=`./${Ll(n)}.d`,Q=Ll(n,1),q=Ll(Q),K=[],X=de();let Y=[],ee=[];if(r(1,Z,Q,`create${Q} as create${Q}Decl`),le(e))r(null,t,C);else{r(0,t,"CellChange"),r(null,t,b);const[e,l,n,o,u,$,T,v,x,V,P,k,S,D,j,G,H,z,W,U,ee,le,te,ne,oe,se,Ie,ce,$e]=N(q,Q),ie=de();E(((e,l)=>{const t=`<'${e}'>`,a=[c(l+p,o+t,Ne+` the '${e}' `+p),c(l+p+Xe,u+t,Ne+` the '${e}' `+p+Ye),c(l+m,$+t,sl(e)),c(l+m+Xe,T+t,sl(e,1)),c(l+w+xe,v+t,`A Cell Id for the '${e}' `+p),c(l+w+he,V+t,$l(`a Cell Id and value from a Row in the '${e}' `+p)),c(l+m+he,P+t,$l(`a Row Id from the '${e}' Table, and a Cell iterator`)),c(l+p+w+he,k+t,$l(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ue(ie,e,a),r(1,Z,...a)})),r(1,Z,e,l,n,v,S,D,j,G,H,z,W,U,ee,le,te,ne,oe,se,Ie,ce,$e),Y=[e,l,n,v,D,j,G,H,z,W,U,ee,le,te,ne,oe,se,Ie,ce,ie],M([[e],[d],[Q,"tables: "+l,"tables"],[Q]],(([e,l,t],n)=>F(n,a,C,e,rl(1,n),l,t))),F(0,a,h,n+Je,Il(p,ze)),F(5,a,p,qe,ul(p,ze),"tableCallback: "+S,"tableCallback as any"),E(((e,l,t)=>{const[n,o,r,s,I,u,c,$]=re(ie,e);M([[n],[d],[Q,"table: "+o,", table"],[Q]],(([n,o,d=a],r)=>F(r,l,p,n,hl(e,r),o,t+d))),F(0,l,p+y,b,Il(w,"the whole of "+pl(e)),a,t),F(5,l,p+w,qe,ul(p+w,"the whole of "+pl(e)),"tableCellCallback: "+$,t+", tableCellCallback as any"),F(0,l,m+me,"number","Gets the number of Rows in the "+pl(e),a,t),F(0,l,f,b,Il(m,pl(e)),a,t),F(0,l,g,b,Il(m,pl(e),1),"cellId?: "+I+Me,t+", cellId, descending, offset, limit"),F(5,l,m,qe,ul(m,pl(e)),"rowCallback: "+c,t+", rowCallback as any"),M([[r],[d],[Q,", row: "+s,", row"],[Q],[Q,", partialRow: "+s,", partialRow"]],(([n,o=a,d=a],r)=>F(r,l,m,n,ml(e,r),je+o,t+", rowId"+d))),F(6,l,m,xe+ke,"Add a new Row to "+pl(e),"row: "+s+", reuseIds?: boolean",t+", row, reuseIds"),F(0,l,y,I+Je,Il(w,Cl(e)),je,t+", rowId"),F(5,l,w,qe,ul(w,Cl(e)),je+", cellCallback: "+u,t+", rowId, cellCallback as any"),L(e,((n,o,r,s,I)=>{const u="Map"+Ll(o,1);ue(X,o,u);const c=o+(A(r)?ke:a);M([[c],[d],[Q,`, cell: ${o} | `+u,", cell as any"],[Q]],(([o,d=a,r=a],u)=>F(u,l+I,w,o,fl(e,n,u),je+d,t+", rowId, "+s+r))),F(1,l+I,p+w,d,wl[1]+` the '${n}' Cell anywhere in `+pl(e),a,t+", "+s)}))})),F(0,a,C+Re,Re,rl(1,6)),F(2,a,C+Re,Q,rl(1,7),"tablesJson: "+Re,"tables"+Re),_(i+C,D,rl(1,8,0,1)+" changes"),_(C,j,rl(1,8)+" changes"),_(h,G,bl(2,0,1)),_(i+p,H,bl(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(p,z,bl(3,0),`tableId: ${n} | null`,"tableId"),_(p+y,W,bl(14,3,1),`tableId: ${n} | null`,"tableId"),_(i+p+w,U,bl(16,3,0,1),`tableId: ${n} | null, cellId: ${J(E((e=>{var l,t;return null!=(t=null==(l=re(ie,e))?void 0:l[4])?t:a}))," | ")} | null`,"tableId, cellId"),_(m+me,ee,bl(15,3),`tableId: ${n} | null`,"tableId"),_(f,le,bl(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,te,bl(13,3,1),jl("tableId: TId",`cellId: ${v}<TId>`+ke,"descending: boolean","offset: number","limit: number"+ke),jl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(i+m,ne,bl(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(m,oe,bl(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(y,se,bl(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(i+w,Ie,bl(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${J(E((e=>{var l,t;return null!=(t=null==(l=re(ie,e))?void 0:l[4])?t:a}))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,bl(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${J(E((e=>{var l,t;return null!=(t=null==(l=re(ie,e))?void 0:l[4])?t:a}))," | ")} | null`,"tableId, rowId, cellId"),_(Ve+w,$e,De+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),r(1,Z,...ae(X)),B(K,".set"+C+Ge+"({",El(E(((e,l,t)=>[`[${t}]: {`,...L(e,((e,l,t,n)=>`[${n}]: {[${R(Dl(s),`'${s}'`)}]: ${R(Dl(l),`'${l}'`)}${A(t)?a:`, [${R(Dl(I),`'${I}'`)}]: `+(O(t)?R(Dl(t),`'${t}'`):t)}},`)),"},"]))),"})")}if(le(l))r(null,t,v);else{const[e,l,n,o,u,c,$,b,p,C,h]=j(q,Q);r(1,Z,e,l,n,u,c,$,b,p,C,h),ee=[e,l,n,c,$,b,p,C],M([[e],[d],[Q,"values: "+l,"values"],[Q],[Q,"partialValues: "+l,"partialValues"]],(([e,l,t],n)=>F(n,a,v,e,rl(2,n),l,t))),F(0,a,x,n+Je,Il(T,ze)),F(5,a,T,"void",ul(T,ze),"valueCallback: "+u,"valueCallback as any"),D(((e,l,t,n,o)=>{const r="Map"+Ll(l,1);ue(X,l,r),M([[l],[d],[Q,`value: ${l} | `+r,", value as any"],[Q]],(([l,t,d=a],r)=>F(r,o,T,l,gl(e,r),t,n+d)))})),F(0,a,v+Re,Re,rl(2,6)),F(2,a,v+Re,Q,rl(2,7),"valuesJson: "+Re,"values"+Re),_(i+v,c,rl(2,8,0,1)+" changes"),_(v,$,rl(2,8)+" changes"),_(x,b,bl(10,0,1)),_(i+T,p,bl(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(T,C,bl(11,0),`valueId: ${n} | null`,"valueId"),_(Ve+T,h,De+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),r(1,Z,...ae(X)),r(0,t,"ValueChange"),B(K,".set"+v+Ge+"({",D(((e,l,t,n)=>[`[${n}]: {[${R(Dl(s),`'${s}'`)}]: ${R(Dl(l),`'${l}'`)}${A(t)?a:`, [${R(Dl(I),`'${I}'`)}]: `+(O(t)?R(Dl(t),`'${t}'`):t)}},`])),"})")}F(0,a,"Content",`[${C}, ${v}]`,rl(0,0)),F(2,a,"Content",Q,rl(0,2),`[tables, values]: [${C}, ${v}]`,"[tables, values]"),F(2,a,Be,Q,`Applies a set of ${Be} to the Store`,"transactionChanges: "+Be,"transactionChanges"),se(X,((e,l)=>c(l,`(cell: ${e}${ke}) => `+e,`Takes a ${e} Cell value and returns another`))),r(null,t,"DoRollback",xe,"IdOrNull",Re,"Store",Be),r(0,t,"Get"+Be,"GetTransactionLog"),F(0,a,Re,Re,rl(0,6)),F(2,a,Re,Q,rl(0,7),"tablesAndValuesJson: "+Re,"tablesAndValuesJson"),F(7,a,Fe,"Return",Ue,Te,"actions, doRollback","<Return>"),F(7,a,"start"+We,Q,_e),F(7,a,"finish"+We,Q,Ze,ye,"doRollback");const te=G(q,Q);return _("Start"+We,te,De+" just before the start of the "+Fe,a,a,0),_("WillFinish"+We,te,De+" just before "+Qe,a,a,0),_("DidFinish"+We,te,De+" just after "+Qe,a,a,0),F(7,a,"call"+u,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,a,u,Q,"Remove a listener that was previously added to "+ze,"listenerId: Id","listenerId"),W("getStore",a,"Store","store",wl[0]+" the underlying Store object"),r(1,t,"createStore"),r(1,Z,Q,`create${Q} as create${Q}Decl`,te),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),"}"]),[o(...P(0),...k(),ve+" interface "+Q+" {",...z(0),"}",a,Nl(`Creates a ${Q} object`),ve+" function create"+Q+"(): "+Q+";"),o(...P(1),ve+" const create"+Q+": typeof create"+Q+"Decl = () => {",...S(),`return Object.freeze(${q});`,"};"),Y,ee]},Zl=e=>c+e,Ql=e=>jl(Zl(e),Zl(e)+ge),ql="debugIds?: boolean",Kl="debugIds={debugIds}",Xl="then"+we,Yl="Parameter",et=": (parameter: "+Yl+", store: Store) => ",lt="const contextValue = useContext(Context);",tt=", based on a parameter",at=": ",nt="<"+Yl+",>",ot=Yl+"ized"+he+"<"+Yl+">",dt="rowId",rt="rowId={rowId}",st=", separator, debugIds",It="separator?: ReactElement | string",ut="then?: (store: Store",ct=jl(ut+")"+Ke,Xl),$t="then, then"+ge,it=dt+at+xe,bt="View",pt=(e,...l)=>jl(...l,Pe+": "+e,Pe+we,"mutator?: boolean"),Ct=(...e)=>jl(...e,Pe,Pe+ge,"mutator"),ht=(e,l,n,o,s)=>{const[I,c,$,V,R,P,k,S]=Ml(),[O,E,L]=zl(e,l,R),D=`./${Ll(n)}.d`,N=`./${Ll(n)}-ui-react.d`,j="tinybase/ui-react",G=Ll(n,1),H=Ll(G),M=G+"Or"+G+xe,z=H+"Or"+G+xe,W=H+`={${H}}`,F=de(),_=(e,l,t,n,o,d=a)=>(c(1,N,e+" as "+e+"Decl"),Sl(F,e,[l,t,n,o,d])),Z=(e,l,t,n,o,d=a)=>_("use"+e,l,t,n,o,d),Q=(e,l,t,n,o=a,d=a,r=a,s=a,I=a)=>(c(1,j,`use${l} as use${l}Core`),Z(e,jl(o,ee,s),t,ae+`(${z}, use${l}Core, [`+(d||a)+(I?"], ["+I:a)+"]);",n,r)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>Ie(F,(([l,t,n,o,d],r)=>{const s=e?[ve+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==t?"any":t} =>`,n]:[ve+` function ${r}${d}(${l}): ${1==t?"ComponentReturnType":t};`];return e||U(s,Nl(o)),B(s,a),s}));c(null,t,xe,"Store",he,Yl+"ized"+he),c(0,j,"ComponentReturnType"),c(1,j,"useCellIds"),c(null,j,"ExtraProps"),c(0,D,G);const X=$(M,G+" | "+xe,`Used when you need to refer to a ${G} in a React hook or component`),Y=$(Le+Ee,Hl(H+Ae+G,H+`ById?: {[${H}Id: Id]: ${G}}`),`Used with the ${Le} 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 ee=z+Ae+X;R("{createContext, useContext, useMemo}","React"),R("Context",`createContext<[${G}?, {[${H}Id: Id]: ${G}}?]>([])`),Z("Create"+G,`create: () => ${G}, create`+we,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+ke,["{",lt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${Le} 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)"),oe=V("wrap",jl("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;"]),se=V("useCustomOrDefaultCellIds",jl("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(!le(e)){const[e,l,n,s,I,T,v,x,R,P,k,S,L,j,M,z,B,F,U,_]=o;c(null,D,e,l,n,I,T,v,x,R,P,k,S,L,j,M,z,B,U,F),c(0,D,s),c(1,D,G),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 ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",rt,"customCellIds={customCellIds}",W,Kl,"/>","))",st,", tableId,",");"]),K=V("getDefaultTableComponent","tableId: Id",J(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+ue),X=V("getDefaultCellComponent","tableId: Id, cellId: Id",J(O(((e,l,t)=>`tableId == ${t} ? ${J(E(e,((e,t,a,n,o)=>`cellId == ${n} ? `+l+o+"CellView : ")))+ue} : `)))+ue);Q(i+C,i+C,d,rl(1,0,0,1)+Ce),Q(C,C,e,rl(1,0)+Ce);const Y=Q(h,h,n+Je,Il(p,ze)+Ce);Q(He+C+he,He+C+he,ot,rl(1,9)+tt,jl(Zl(C)+et+l,Zl(C)+we),Ql(C),nt,jl(ut,`tables: ${l})`+Ke,Xl),$t),Q(fe+C+he,fe+C+he,he,rl(1,12),a,a,a,ct,$t);const ee=$(w+Ee,Hl("tableId?: TId","rowId: Id","cellId?: CId",H+Ae+G,ql),cl(be+w),`<TId extends ${n}, CId extends ${s}<TId>>`),le=$(m+Ee,Hl("tableId?: TId","rowId: Id",H+Ae+G,"cellComponents?: {readonly [CId in "+s+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${s}<TId>) => ExtraProps`,`customCellIds?: ${s}<TId>[]`,It,ql),cl(be+m),`<TId extends ${n}>`),te=$(p+Ee,Hl("tableId?: TId",H+Ae+G,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",It,ql),cl(be+p),`<TId extends ${n}>`),ae=$("Sorted"+p+Ee,Hl("tableId?: TId","cellId?: "+s+"<TId>","descending?: boolean","offset?: number","limit?: number",H+Ae+G,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",It,ql),cl(be+"sorted "+p),`<TId extends ${n}>`),de=$(C+Ee,Hl(H+Ae+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,It,ql),cl(dl(1,1)));c(1,N,de,te,ae,le,ee),q(C+bt,"{"+H+", tableComponents, getTableComponentProps"+st+"}: "+de,[oe+`(${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}",W,Kl,"/>;","}), separator)"],rl(1,13)+Ce),O(((e,l,t)=>{const[n,o,s,I,u]=re(_,e);c(null,D,n,o,s,I,u),Q(i+l+p,i+p,d,hl(e,0,1)+Ce,a,t),Q(l+p,p,n,hl(e)+Ce,a,t),Q(l+p+y,p+y,b,Il(w,"the whole of "+pl(e))+Ce,a,t),Q(l+m+me,m+me,r,"Gets the number of Rows in "+pl(e)+Ce,a,t);const $=Q(l+f,f,b,Il(m,pl(e))+Ce,a,t),C=Q(l+g,g,b,Il(m,pl(e),1)+Ce,"cellId?: "+u+", descending?: boolean, offset?: number, limit?: number",t+", cellId, descending, offset, limit");Q(i+l+m,i+m,d,ml(e,0,1)+Ce,it,jl(t,dt)),Q(l+m,m,s,ml(e)+Ce,it,jl(t,dt)),Q(l+y,y,u+Je,Il(w,Cl(e))+Ce,it,jl(t,dt)),Q(He+l+p+he,He+p+he,ot,hl(e,9)+tt,jl(Zl(p)+et+o,Zl(p)+we),jl(t,Ql(p)),nt,jl(ut,`table: ${o})`+Ke,Xl),$t),Q(fe+l+p+he,fe+p+he,he,hl(e,12),a,t,a,ct,$t),Q(He+l+m+he,He+m+he,ot,ml(e,9)+tt,jl(it,Zl(m)+et+I,Zl(m)+we),jl(t,dt,Ql(m)),nt,jl(ut,`row: ${I})`+Ke,Xl),$t),Q("Add"+l+m+he,"Add"+m+he,ot,ml(e,10)+tt,jl(Zl(m)+et+I,Zl(m)+we),jl(t,Ql(m)),nt,"then?: ("+jl(it+ke,"store: Store","row: "+I+")"+Ke,"then"+we)+", reuseRowIds?: boolean",$t+", reuseRowIds"),Q(He+l+Oe+m+he,He+Oe+m+he,ot,ml(e,11)+tt,jl(it,Zl(Oe+m)+et+I,Zl(Oe+m)+we),jl(t,dt,Ql(Oe+m)),nt,jl(ut,`partialRow: ${I})`+Ke,Xl),$t),Q(fe+l+m+he,fe+m+he,he,ml(e,12),it,jl(t,dt),a,ct,$t);const h=q(l+m+bt,"{rowId, "+H+", cellComponents, getCellComponentProps, customCellIds"+st+`}: ${le}<'${e}'>`,[oe+`(${se}(customCellIds, `+t+`, rowId, ${H}).map((cellId: ${u}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${t}, cellId)) as React.ComponentType<CellProps<typeof `+t+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${t}}`,rt,"cellId={cellId}",W,Kl,"/>;","})"+st+", rowId)"],ml(e,13)+Ce);q(l+"Sorted"+p+bt,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${H}), ${t}, ${h});`,hl(e,13)+", sorted"+Ce),q(l+p+bt,`props: ${te}<'${e}'>`,Z+"(props, "+$+`(props.${H}), ${t}, ${h});`,hl(e,13)+Ce),E(e,((n,o,r,s,I)=>{const u="Map"+Ll(o,1);c(0,D,u),c(1,D,u),Q(i+l+I+p+w,i+p+w,d,`Gets ${ol(1)}the '${n}' Cell anywhere in `+pl(e)+Ce,a,jl(t,s)),Q(i+l+I+w,i+w,d,fl(e,n,0,1)+Ce,it,jl(t,dt,s));const $=Q(l+I+w,w,o+(A(r)?ke:a),fl(e,n)+Ce,it,jl(t,dt,s));Q(He+l+I+w+he,He+w+he,ot,fl(e,n,9)+tt,jl(it,Zl(w)+et+o+" | "+u,Zl(w)+we),jl(t,dt,s,Ql(w)),nt,jl(ut,`cell: ${o} | ${u})`+Ke,Xl),$t),Q(fe+l+I+w+he,fe+w+he,he,fl(e,n,12),jl(it,"forceDel?: boolean"),jl(t,dt,s,"forceDel"),a,ct,$t),q(l+I+w+bt,`{rowId, ${H}, debugIds}: `+ee+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+H+`) ?? '', undefined, debugIds, ${s})`],fl(e,n,13)+Ce)}))}));const Ie=J(O((e=>{var l,t;return null!=(t=null==(l=re(_,e))?void 0:l[4])?t:a}))," | ");Q(i+C+u,i+C+u,qe,rl(1,8,0,1)+" changes",pt(I),Ct()),Q(C+u,C+u,qe,rl(1,8)+" changes",pt(T),Ct()),Q(h+u,h+u,qe,bl(2,0,1),pt(v),Ct()),Q(i+p+u,i+p+u,qe,bl(3,0,0,1),pt(x,`tableId: ${n} | null`),Ct("tableId")),Q(p+u,p+u,qe,bl(3,0),pt(R,`tableId: ${n} | null`),Ct("tableId")),Q(p+y+u,p+y+u,qe,bl(14,3,1),pt(P,`tableId: ${n} | null`),Ct("tableId")),Q(i+p+w+u,i+p+w+u,qe,bl(16,3,0,1),pt(k,`tableId: ${n} | null`,`cellId: ${Ie} | null`),Ct("tableId","cellId")),Q(m+me+u,m+me+u,qe,bl(15,3),pt(S,`tableId: ${n} | null`),Ct("tableId")),Q(f+u,f+u,qe,bl(4,3,1),pt(L,`tableId: ${n} | null`),Ct("tableId")),Q(g+u,g+u,qe,bl(13,3,1),pt(j,`tableId: ${n} | null`,"cellId: "+Ie+ke,"descending: boolean","offset: number","limit: number"+ke),Ct("tableId","cellId","descending","offset","limit")),Q(i+m+u,i+m+u,qe,bl(5,3,0,1),pt(M,`tableId: ${n} | null`,dt+": IdOrNull"),Ct("tableId",dt)),Q(m+u,m+u,qe,bl(5,3),pt(z,`tableId: ${n} | null`,dt+": IdOrNull"),Ct("tableId",dt)),Q(y+u,y+u,qe,bl(6,5,1),pt(B,`tableId: ${n} | null`,dt+": IdOrNull"),Ct("tableId",dt)),Q(i+w+u,i+w+u,qe,bl(7,5,0,1),pt(F,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${Ie} | null`),Ct("tableId",dt,"cellId")),Q(w+u,w+u,qe,bl(7,5),pt(U,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${Ie} | null`),Ct("tableId",dt,"cellId"))}if(!le(l)){const[e,l,t,n,o,r,I,b]=s;c(null,D,...s),c(1,D,G);const p=V("getDefaultValueComponent","valueId: Id",J(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ue);Q(i+v,i+v,d,rl(2,0,0,1)+Ce),Q(v,v,e,rl(2,0)+Ce);const C=Q(x,x,t+Je,Il(T,ze)+Ce);Q(He+v+he,He+v+he,ot,rl(2,9)+tt,jl(Zl(v)+et+l,Zl(v)+we),Ql(v),nt,jl(ut,`values: ${l})`+Ke,Xl),$t),Q(He+Oe+v+he,He+Oe+v+he,ot,rl(2,11)+tt,jl(Zl(Oe+v)+et+l,Zl(Oe+v)+we),Ql(Oe+v),nt,jl(ut,`partialValues: ${l})`+Ke,Xl),$t),Q(fe+v+he,fe+v+he,he,rl(2,12),a,a,a,ct,$t);const h=$(T+Ee,Hl("valueId?: VId",H+Ae+G,ql),cl("a Value"),`<VId extends ${t}>`),m=$(v+Ee,Hl(H+Ae+G,"valueComponents?: {readonly [VId in "+t+`]?: ComponentType<${h}<VId>>;}`,`getValueComponentProps?: (valueId: ${t}) => ExtraProps`,It,ql),cl(dl(2,1)));c(1,N,m,h),q(v+bt,"{"+H+", valueComponents, getValueComponentProps"+st+"}: "+m,[oe+`(${C}(${H}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+p+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Kl,"/>;","}), separator)"],rl(2,13)+Ce),L(((e,l,t,n,o)=>{const r="Map"+Ll(l,1);c(0,D,r),c(1,D,r),Q(i+o+T,i+T,d,gl(e,0,1)+Ce,a,n);const s=Q(o+T,T,l,gl(e)+Ce,a,n);Q(He+o+T+he,He+T+he,ot,gl(e,9)+tt,jl(Zl(T)+et+l+" | "+r,Zl(T)+we),jl(n,Ql(T)),nt,jl(ut,`value: ${l} | ${r})`+Ke,Xl),$t),Q(fe+o+T+he,fe+T+he,he,gl(e,12),a,n,a,ct,$t),q(o+T+bt,`{${H}, debugIds}: ${h}<'${e}'>`,[oe+`('' + ${s}(`+H+`) ?? '', undefined, debugIds, ${n})`],gl(e,13)+Ce)})),Q(i+v+u,i+v+u,qe,rl(2,8,0,1)+" changes",pt(n),Ct()),Q(v+u,v+u,qe,rl(2,8)+" changes",pt(o),Ct()),Q(x+u,x+u,qe,bl(10,0,1),pt(r),Ct()),Q(i+T+u,i+T+u,qe,bl(11,0,0,1),pt(I,`valueId: ${t} | null`),Ct("valueId")),Q(T+u,T+u,qe,bl(11,0),pt(b,`valueId: ${t} | null`),Ct("valueId"))}return q(Le,`{${H}, ${H}ById, children}: `+Y+" & {children: React.ReactNode}",["{",lt,"return (","<Context."+Le,"value={useMemo(",`() => [${H} ?? contextValue[0], {...contextValue[1], ...${H}ById}],`,`[${H}, ${H}ById, contextValue],`,")}>","{children}",`</Context.${Le}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[I(...P(0),...k(),...K(0)),I(...P(1),...S(),...K(1))]},mt=(e,l,t)=>{if(le(e)&&le(l))return[a,a,a,a];const[n,o,d,r]=_l(e,l,t);return[n,o,...ht(e,l,t,d,r)]},ft=JSON.parse;var gt=Object.defineProperty,wt=Object.defineProperties,yt=Object.getOwnPropertyDescriptors,Tt=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,xt=Object.prototype.propertyIsEnumerable,Vt=(e,l,t)=>l in e?gt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Rt=(e,l)=>{for(var t in l||(l={}))vt.call(l,t)&&Vt(e,t,l[t]);if(Tt)for(var t of Tt(l))xt.call(l,t)&&Vt(e,t,l[t]);return e},Pt=(e,l)=>wt(e,yt(l)),At=(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 kt="prettier/",St=kt+"plugins/",Ot={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Et=Jl((e=>{const l=()=>{const l=ft(e.getTablesSchemaJson());return!le(l)||G(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=de();if(G(a,(l=>G(e.getCellIds(t,l),(a=>{const o=e.getCell(t,l,a),d=ce(n,a,(()=>[j(o),de(),[0],0])),[r,s,[I]]=d,u=ce(s,o,(()=>0))+1;return u>I&&(d[2]=[u,o]),ue(s,o,u),d[3]++,r==j(o)})))))return l[t]={},ne(n,(([e,,[,n],o],d)=>{l[t][d]=Rt({[s]:e},o==D(a)?{[I]:n}:{})})),1}))?l:{}},t=()=>{const l=ft(e.getValuesSchemaJson());return le(l)&&e.forEachValue(((e,t)=>{l[e]={[s]:j(t)}})),l},a=e=>mt(l(),t(),e),n=e=>At(void 0,null,(function*(){const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(yield import(kt+"standalone")).format,B(t,yield import(St+"estree"),yield import(St+"typescript"))}catch(e){n=e=>At(void 0,null,(function*(){return e}))}return yield N(z(a(e),((e,a)=>At(void 0,null,(function*(){return Ol(yield n(e,Pt(Rt({},Ot),{plugins:t,filepath:"_."+l[a]})))})))))}));return K({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})})),Rt({totalTables:t,totalRows:a,totalCells:n,totalValues:D(e.getValueIds()),jsonLength:D(e.getJson())},l?{detail:{tables:o}}:{})},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=Et},"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={});
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinybase",
3
- "version": "4.4.0-beta.2",
3
+ "version": "4.4.1",
4
4
  "author": "jamesgpearce",
5
5
  "repository": "github:tinyplex/tinybase",
6
6
  "license": "MIT",