tinybase 4.1.4 → 4.2.0-beta.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.
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/debug/persisters/persister-browser.js +13 -8
- package/lib/debug/persisters/persister-indexed-db.js +272 -0
- package/lib/debug/persisters/persister-remote.js +1 -1
- package/lib/debug/persisters/persister-yjs.js +10 -16
- package/lib/debug/tools.js +21 -5
- package/lib/debug/ui-react-dom.js +12 -7
- package/lib/es6/persisters/persister-indexed-db.js +1 -0
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -0
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/persisters/persister-indexed-db.d.ts +75 -0
- package/lib/types/persisters/persister-remote.d.ts +2 -2
- package/lib/types/persisters.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +86 -0
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +3 -3
- package/lib/types/with-schemas/persisters.d.ts +1 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -0
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/package.json +17 -15
- package/readme.md +13 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const t=(t,a)=>t.map(a),a=(t,...a)=>t.push(...a),e=Promise,s=setInterval,n=clearInterval,o=t=>null==t,c=(t,a,e)=>o(t)?e?.():a(t),r=t=>new e(t),i=async t=>e.all(t),y=Object,l=y.keys,d=y.freeze,u=t=>(t=>t instanceof y&&t.constructor==y)(t)&&0==(t=>l(t).length)(t),w=t=>new Map(t),h=(t,a)=>t?.get(a),v=(t,a,e)=>{return o(e)?(s=t,n=a,s?.delete(n),t):t?.set(a,e);var s,n},p=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||v(t,a,e()),h(t,a)},g=w(),A=w(),S=globalThis.window,b=["t","v"],f={keyPath:"k"},L=async(e,s)=>{const n=((a,s)=>t(y.entries(a),(([t,a])=>j(e,"put",{k:t,v:a}))))(s);t(await j(e,"getAllKeys"),(t=>((t,a)=>!o(((t,a)=>c(t,(t=>t[a])))(t,a)))(s,t)?0:a(n,j(e,"delete",t)))),await i(n)},j=async(t,a,e)=>r(((s,n)=>{const o=t[a](e);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${a} error`)}));exports.createIndexedDbPersister=(e,l,w=1,k)=>{const x=async(a,e=[],s=0)=>r(((n,o)=>{const c=S.indexedDB.open(l,1);c.onupgradeneeded=()=>s&&t(b,(t=>c.result.createObjectStore(t,f))),c.onsuccess=async()=>{try{const s=c.result.transaction(b,"readwrite"),o=await i(t(b,(async(t,n)=>await a(s.objectStore(t),e[n]))));c.result.close(),n(o)}catch(t){o(t)}},c.onerror=()=>o("indexedDB.open error")}));return((t,e,s,n,r,i,y=[])=>{let l,w,S,b=0,f=0;p(g,y,(()=>0)),p(A,y,(()=>[]));const L=async t=>(2!=b&&(b=1,await j.schedule((async()=>{await t(),b=0}))),j),j={load:async(a,s)=>await L((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),f=1,S=n((async(a,s)=>{if(s){const a=s();await L((async()=>t.setTransactionChanges(a)))}else await L((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),j),stopAutoLoad:()=>(f&&(r(S),S=void 0,f=0),j),save:async a=>(1!=b&&(b=2,await j.schedule((async()=>{try{await s(t.getContent,a)}catch(t){i?.(t)}b=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),l=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();u(e)&&u(s)||j.save((()=>[e,s]))})),j),stopAutoSave:()=>(c(l,t.delListener),j),schedule:async(...t)=>(a(h(A,y),...t),await(async()=>{if(!h(g,y)){for(v(g,y,1);!o((t=h(A,y),w=t.shift()));)try{await w()}catch(t){i?.(t)}v(g,y,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d(j)})(e,(async()=>await x((async a=>((t=[])=>y.fromEntries(t))(t(await j(a,"getAll"),(({k:t,v:a})=>[t,a])))))),(async t=>await x((async(t,a)=>await L(t,a)),t(),1)),(t=>s(t,1e3*w)),(t=>n(t)),k)},exports.objectStoreMatch=L;
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=setInterval,a=clearInterval,e=(t,a)=>t instanceof a,s=t=>null==t,n=Object,r=n.keys,o=n.freeze,c=t=>(t=>e(t,n)&&t.constructor==n)(t)&&0==(t=>r(t).length)(t),i=JSON.parse,y=t=>new Map(t),u=(t,a)=>t?.get(a),d=(t,a,e)=>{return s(e)?(n=t,r=a,n?.delete(r),t):t?.set(a,e);var n,r},h=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||d(t,a,e()),u(t,a)},w=y(),l=y(),v=t=>t.headers.get("ETag");exports.createRemotePersister=(r,y,p,f,g)=>{let A;return((t,a,e,n,r,i,y=[])=>{let v,p,f,g=0,A=0;h(w,y,(()=>0)),h(l,y,(()=>[]));const S=async t=>(2!=g&&(g=1,await C.schedule((async()=>{await t(),g=0}))),C),C={load:async(e,s)=>await S((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),A=1,f=n((async(e,s)=>{if(s){const a=s();await S((async()=>t.setTransactionChanges(a)))}else await S((async()=>{try{t.setContent(e?.()??await a())}catch(t){i?.(t)}}))})),C),stopAutoLoad:()=>(A&&(r(f),f=void 0,A=0),C),save:async a=>(1!=g&&(g=2,await C.schedule((async()=>{try{await e(t.getContent,a)}catch(t){i?.(t)}g=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();c(e)&&c(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>{var a,e;return a=v,e=t.delListener,s(a)||e(a),C},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(u(l,y),...t),await(async()=>{if(!u(w,y)){for(d(w,y,1);!s((t=u(l,y),p=t.shift()));)try{await p()}catch(t){i?.(t)}d(w,y,0)}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(C)})(r,(async()=>{const t=await fetch(y);return A=v(t),i(await t.text())}),(async t=>{return await fetch(p,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>e(a,Map)?n.fromEntries([...a]):a)))});var a}),(a=>t((async()=>{const t=await fetch(y,{method:"HEAD"}),e=v(t);s(A)||s(e)||e==A||(A=e,a())}),1e3*f)),(t=>a(t)),g)};
|
|
1
|
+
"use strict";const t=setInterval,a=clearInterval,e=(t,a)=>t instanceof a,s=t=>null==t,n=Object,r=n.keys,o=n.freeze,c=t=>(t=>e(t,n)&&t.constructor==n)(t)&&0==(t=>r(t).length)(t),i=JSON.parse,y=t=>new Map(t),u=(t,a)=>t?.get(a),d=(t,a,e)=>{return s(e)?(n=t,r=a,n?.delete(r),t):t?.set(a,e);var n,r},h=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||d(t,a,e()),u(t,a)},w=y(),l=y(),v=t=>t.headers.get("ETag");exports.createRemotePersister=(r,y,p,f=5,g)=>{let A;return((t,a,e,n,r,i,y=[])=>{let v,p,f,g=0,A=0;h(w,y,(()=>0)),h(l,y,(()=>[]));const S=async t=>(2!=g&&(g=1,await C.schedule((async()=>{await t(),g=0}))),C),C={load:async(e,s)=>await S((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),A=1,f=n((async(e,s)=>{if(s){const a=s();await S((async()=>t.setTransactionChanges(a)))}else await S((async()=>{try{t.setContent(e?.()??await a())}catch(t){i?.(t)}}))})),C),stopAutoLoad:()=>(A&&(r(f),f=void 0,A=0),C),save:async a=>(1!=g&&(g=2,await C.schedule((async()=>{try{await e(t.getContent,a)}catch(t){i?.(t)}g=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();c(e)&&c(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>{var a,e;return a=v,e=t.delListener,s(a)||e(a),C},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(u(l,y),...t),await(async()=>{if(!u(w,y)){for(d(w,y,1);!s((t=u(l,y),p=t.shift()));)try{await p()}catch(t){i?.(t)}d(w,y,0)}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(C)})(r,(async()=>{const t=await fetch(y);return A=v(t),i(await t.text())}),(async t=>{return await fetch(p,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>e(a,Map)?n.fromEntries([...a]):a)))});var a}),(a=>t((async()=>{const t=await fetch(y,{method:"HEAD"}),e=v(t);s(A)||s(e)||e==A||(A=e,a())}),1e3*f)),(t=>a(t)),g)};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t=require("yjs");const e=t=>t.length,
|
|
1
|
+
"use strict";var t=require("yjs");const e="t",a="v",s=t=>t.length,n=t=>t.shift(),o=t=>null==t,c=(t,e,a)=>o(t)?a?.():e(t),r=Object,i=r.keys,u=r.freeze,l=(t=[])=>r.fromEntries(t),d=(t,e)=>!o(((t,e)=>c(t,(t=>t[e])))(t,e)),g=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,a])=>e(a,t))),y=t=>(t=>t instanceof r&&t.constructor==r)(t)&&0==(t=>s(i(t)))(t),h=(t,e,a)=>(d(t,e)||(t[e]=a()),t[e]),v=t=>new Map(t),p=(t,e)=>t?.get(e),w=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),f=(t,e,a)=>{return o(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},S=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||f(t,e,a()),p(t,e)},A=v(),O=v(),J="delete",L=t=>[t.get(e),t.get(a)],N=(e,a,s,n)=>{const c=o(a)?e:e.get(a)??e.set(a,new t.Map);let r;return g(s,((t,e)=>{n(c,e,t)&&(r=1)})),c.forEach(((t,e)=>{d(s,e)||(c.delete(e),r=1)})),o(a)||c.size||e.delete(a),r};exports.createYjsPersister=(r,i,d="tinybase",v)=>{const C=i.getMap(d);return((t,e,a,s,r,i,l=[])=>{let d,g,h,v=0,w=0;S(A,l,(()=>0)),S(O,l,(()=>[]));const J=async t=>(2!=v&&(v=1,await L.schedule((async()=>{await t(),v=0}))),L),L={load:async(a,s)=>await J((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(L.stopAutoLoad(),await L.load(a,n),w=1,h=s((async(a,s)=>{if(s){const e=s();await J((async()=>t.setTransactionChanges(e)))}else await J((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),L),stopAutoLoad:()=>(w&&(r(h),h=void 0,w=0),L),save:async e=>(1!=v&&(v=2,await L.schedule((async()=>{try{await a(t.getContent,e)}catch(t){i?.(t)}v=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),d=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();y(a)&&y(s)||L.save((()=>[a,s]))})),L),stopAutoSave:()=>(c(d,t.delListener),L),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(O,l),...t),await(async()=>{if(!p(A,l)){for(f(A,l,1);!o(g=n(p(O,l)));)try{await g()}catch(t){i?.(t)}f(A,l,0)}})(),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(L)})(r,(async()=>C.size?[C.get(e).toJSON(),C.get(a).toJSON()]:void 0),(async(s,n)=>i.transact((()=>((s,n,r)=>{s.size||(s.set(e,new t.Map),s.set(a,new t.Map));const[i,u]=L(s),l=()=>{d=1};let d=1;if(c(r?.(),(([t,e])=>{d=0,g(t,((t,e)=>d?0:o(t)?i.delete(e):c(i.get(e),(e=>g(t,((t,a)=>d?0:o(t)?e.delete(a):c(e.get(a),(e=>g(t,((t,a)=>o(t)?e.delete(a):e.set(a,t)))),l)))),l))),g(e,((t,e)=>d?0:o(t)?u.delete(e):u.set(e,t)))})),d){const[t,e]=n();N(i,void 0,t,((t,e,a)=>N(i,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(u,void 0,e,((t,e,a)=>{u.get(e)!==a&&u.set(e,a)}))}})(C,s,n)))),(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==s(o)&&(r=o[0].path,0==s(r)))return[t.get(e).toJSON(),t.get(a).toJSON()];var r;const[i,u]=L(t),d={},g={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>n(t)==e?c(n(t),(e=>{const s=h(d,e,l),o=i.get(e);c(n(t),(t=>{const e=h(s,t,l),n=o.get(t);w(a,((t,{action:a})=>e[t]=a==J?null:n.get(t)))}),(()=>w(a,((t,{action:e})=>s[t]=e==J?null:o.get(t)?.toJSON()))))}),(()=>w(a,((t,{action:e})=>d[t]=e==J?null:i.get(t)?.toJSON())))):w(a,((t,{action:e})=>g[t]=e==J?null:u.get(t)))))})(o),[d,g]})(C,o)));return C.observeDeep(o),o}),(t=>{C.unobserveDeep(t)}),v)};
|
|
Binary file
|
package/lib/cjs/tools.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),s="type",r="default",I="Listener",$="get",c="add",u="Ids",i="Table",p=i+"s",b=i+u,C="Row",h=C+u,m="Sorted"+C+u,g="Cell",f=g+u,w="Value",y=w+"s",T=w+u,v=isFinite,V=(e,t)=>e instanceof t,x=e=>null==e,R=e=>e==n||e==o,k=t=>e(t)==n,S=e=>Array.isArray(e),A=t=>{const l=e(t);return R(l)||l==d&&v(t)?l:void 0},P=(e,t)=>e.every(t),E=(e,t)=>e.sort(t),D=(e,t)=>e.forEach(t),O=(e,t=l)=>e.join(t),N=(e,t)=>e.map(t),G=e=>e.length,L=(e,t)=>e.filter(t),j=(e,...t)=>e.push(...t),M=e=>e.pop(),J=(e,...t)=>e.unshift(...t),z=e=>e.shift(),W=Object,B=W.keys,F=W.freeze,U=e=>V(e,W)&&e.constructor==W,_=(e,t)=>N(W.entries(e),(([e,l])=>t(l,e))),Z=e=>G(B(e)),H=e=>U(e)&&0==Z(e),Q=(e,t)=>e?.has(t)??!1,q=e=>[...e?.values()??[]],K=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),ee=(e,t)=>e?.get(t),te=(e,t)=>K(e,((e,l)=>t(l,e))),le=(e,t)=>N([...e?.entries()??[]],(([e,l])=>t(l,e))),ae=(e,t,l)=>x(l)?(X(e,t),e):e?.set(t,l),ne=(e,t,l)=>(Q(e,t)||ae(e,t,l()),ee(e,t)),oe=e=>e.toUpperCase(),de=e=>e.toLowerCase(),se="a ",re="A function for",Ie=", and registers a listener so that any changes to that result will cause a re-render",$e="Callback",ce="Del",ue="Deps",ie=ue+"?: React.DependencyList",pe="doRollback?: DoRollback",be="actions: () => Return, "+pe,Ce="export",he="Id",me="Invalid",ge="Json",fe=de(I),we="?: ",ye=" | undefined",Te="NonNullable",ve="Partial",Ve="Props",xe="Provider",Re=`Registers a ${fe} that will be called`,ke="Represents",Se="rowId: "+he,Ae="Schema",Pe="Set",Ee=", descending?: boolean, offset?: number, limit?: number",De="[]",Oe="the Store",Ne="Transaction",Ge=Ne+"Changes",Le=de(Ne),je="Execute a "+Le+" to make multiple mutations",Me="Explicitly starts a "+Le,Je="Explicitly finishes a "+Le,ze="the end of the "+Le,We="void",Be=" => "+We,Fe="WhenSet",Ue=" when setting it",_e=se+"string serialization of",Ze=" ",He="Gets a callback that can ",Qe="the ",qe=" the schema for",Ke=(e=0,t=0)=>`the ${bt[e]}content of`+(t?Ze+Oe:l),Xe=(e=0,t,a=0)=>ut[t]+Ze+Ke(e,1)+(a?" when setting it":l),Ye=(e,t=0)=>ke+` a Row when ${t?"s":"g"}etting ${Ke()} the '${e}' `+i,et=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,tt=(e,t)=>`Calls a function for each ${e} in `+t,lt=e=>"The props passed to a component that renders "+e,at=e=>"A function that takes "+e,nt=(e,t=0)=>re+" listening to changes to "+pt[e]+" in "+pt[t],ot=(e,t,a=0)=>Re+" whenever "+pt[e]+" in "+pt[t]+" change"+(a?l:"s"),dt=e=>`the '${e}' `+i,st=e=>"the specified Row in "+dt(e),rt=(e,t=0)=>ut[t]+` ${Ke()} `+dt(e),It=(e,t=0)=>ut[t]+` ${Ke()} `+st(e),$t=(e,t,l=0)=>ut[l]+` the '${t}' Cell for `+st(e),ct=(e,t=0)=>ut[t]+` the '${e}' Value`,ut=["Gets","Checks existence of","Sets","Deletes","Sets part of",ke,"Gets "+_e,"Sets "+_e,Re+" whenever",He+"set",He+"add",He+"set part of",He+"delete","Renders","Gets "+_e+qe,"Sets"+qe,"Deletes"+qe],it=[$,"has","set","del","set","forEach",c,l],pt=[Oe,p,Qe+i+Ze+u,se+i,Qe+C+Ze+u,se+C,Qe+g+Ze+u,se+g,"invalid Cell changes",y,Qe+w+Ze+u,se+w,"invalid Value changes",Qe+"sorted "+C+Ze+u,Qe+g+Ze+u+" anywhere",Qe+"number of Rows"],bt=[l,"tabular ","keyed value "],Ct=e=>new Set(S(e)||x(e)?e:[e]),ht=(e,t)=>e?.add(t),mt=/[^A-Za-z]+/,gt=/[^A-Za-z0-9]+/,ft=/^( *)\/\*\* *(.*?) *\*\/$/gm,wt=(e,t,l)=>e.substring(t,l),yt=e=>e.includes(a),Tt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Q(e,n)?Tt(e,t,l,a+1):(ae(e,n,l),n)},vt=e=>e.replace(ft,((e,t,l)=>{const a=77-Vt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Vt=e=>e.length,xt=e=>e.flat(1e3),Rt=(e,t=0)=>O(N(e.split(gt),((e,l)=>(l>0||t?oe:de)(wt(e,0,1))+wt(e,1)))),kt=e=>oe(O((e&&!mt.test(e[0])?e:" "+e).split(gt),"_")),St=e=>`/** ${e}. */`,At=(...e)=>O(L(e,(e=>e)),", "),Pt=(...e)=>"{"+O(e,"; ")+"}",Et=(...e)=>Pt(...N(e,(e=>"readonly "+e))),Dt=()=>{const e=[Y(),Y(),Y(),Y()],t=Y(),a=Y(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>O(xt(e),"\n"),(t,l,...a)=>D(a,(a=>D([0,1],(n=>(t??n)==n?ht(ne(e[n],l,Ct),a):0)))),(e,a,n,o=l,d=1)=>Tt(t,e,[a,n,o,d]),(e,t,l)=>Tt(a,e,S(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>ee(a,e)===t?e:Tt(a,e,t),(t=0)=>N([...E(le(e[t],((e,t)=>`import {${O(E(q(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>yt(e)!=yt(t)?yt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>le(t,(([e,t,a,n],o)=>[St(t),`${n?Ce+" ":l}type ${o}${a} = ${e};`,l])),()=>le(a,((e,t)=>(e=S(e)?e:[e],j(e,M(e)+";"),[`const ${t} = ${z(e)}`,e,l])))]},Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Nt=(e,t,l)=>[t=>_(e,((e,a)=>t(a,Rt(a,1),l(kt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[s],e[r],l(kt(t),`'${t}'`),Rt(t,1)))),e=>_(t,((t,a)=>e(a,t[s],t[r],l(kt(a),`'${a}'`),Rt(a,1))))],Gt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(p,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`)))+"}"))),Xe(1,5)),r=e(p+Fe,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Xe(1,5,1)),$=e(i+he,"keyof "+s,"A "+i+" Id in "+Oe),c=`<TId extends ${$}>`,u=e(i,Te+`<${s}[TId]>`,"A "+i+" in "+Oe,c),w=e(i+Fe,Te+`<${r}[TId]>`,"A "+i+" in "+Oe+Ue,c),y=e(C,u+"<TId>[Id]","A "+C+" in a "+i,c),T=e(C+Fe,w+"<TId>[Id]","A "+C+" in a "+i+Ue,c),v=e(g+he,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,c),V=e(g,Te+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${$}, CId extends ${v}<TId>>`),R=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${$}, CId = ${v}<TId>>`,0),k=e(g+$e,`(...[cellId, cell]: ${R}<TId>)`+Be,at(se+g+" Id, and "+g),c),S=e(C+$e,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Be+") "+Be,at(se+C+" Id, and a "+g+" iterator"),c),A=e(i+g+$e,`(cellId: ${v}<TId>, count: number) `+Be,at(se+g+" Id, and count of how many times it appears"),c),P=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Be}] : never`,i+" Ids and callback types",`<TId = ${$}>`,0),E=e(i+$e,`(...[tableId, forEachRow]: ${P})`+Be,at(se+i+" Id, and a "+C+" iterator"),l),D=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${D}) => CellChange`,re+" returning information about any Cell's changes during a "+Le),N=e(p+I,`(${d}, getCellChange: ${O}${ye})`+Be,nt(1)),G=e(b+I,`(${d})`+Be,nt(2)),L=e(i+I,`(${d}, tableId: ${$}, getCellChange: ${O}${ye})`+Be,nt(3)),j=e(i+f+I,`(${d}, tableId: ${$})`+Be,nt(14,3)),M=e(C+"Count"+I,`(${d}, tableId: ${$})`+Be,nt(15,3)),J=e(h+I,`(${d}, tableId: ${$})`+Be,nt(4,3)),z=e(m+I,"("+At(d,"tableId: "+$,"cellId: Id"+ye,"descending: boolean","offset: number","limit: number"+ye,"sortedRowIds: Ids")+")"+Be,nt(13,3)),W=e(C+I,"("+At(""+d,"tableId: "+$,Se,`getCellChange: ${O}${ye}`)+")"+Be,nt(5,3)),B=e(f+I,"("+At(""+d,"tableId: "+$,Se)+")"+Be,nt(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Se}, cellId: CId, newCell: ${V}<TId, CId> ${ye}, oldCell: ${V}<TId, CId> ${ye}, getCellChange: ${O} ${ye}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,r,$,u,w,y,T,v,V,k,S,A,E,N,G,L,j,M,J,z,W,B,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+Be,nt(7,5)),e(me+g+I,`(${d}, tableId: Id, ${Se}, cellId: Id, invalidCells: any[])`+Be,nt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Pt(...n(((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`))),Xe(2,5)),s=e(y+Fe,Pt(...n(((e,t)=>`'${e}'?: ${t}`))),Xe(2,5,1)),r=e(w+he,"keyof "+d,"A "+w+" Id in "+Oe),$=e(w,Te+`<${d}[VId]>`,"A "+w+" Id in "+Oe,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,w+" Ids and types in "+Oe,`<VId = ${r}>`,0),u=e(w+$e,`(...[valueId, value]: ${c})`+Be,at(se+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${r}) => ValueChange`,re+" returning information about any Value's changes during a "+Le),p=e(y+I,`(${o}, getValueChange: ${i}${ye})`+Be,nt(9)),b=e(T+I,`(${o})`+Be,nt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${$}<VId> ${ye}, oldValue: ${$}<VId> ${ye}, getValueChange: ${i} ${ye}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,$,u,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Be,nt(11)),e(me+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Be,nt(12))]},(t,l)=>e(Ne+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Be,re+" listening to the completion of a "+Le)],Lt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),jt=(e,t=l)=>`fluent(() => ${Lt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Jt=(e,a,n)=>{const[d,$,v,V,R,S,A,P]=Dt(),[E,N,G]=Nt(e,a,R),[L,M,z]=Gt(v,E,N,G),W=Y(),B=(e=0)=>le(W,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||J(r,St(o)),j(r,l),r})),F=(e,t,a,n,o,d=l)=>Tt(W,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,s=l,r=l)=>F(it[e]+t+(4==e?ve:l)+a,d,n,(n==Q?jt:Lt)(it[e]+(4==e?ve:l)+a,s,e?void 0:n),o,r),_=(e,t,a,n=l,o=l,d=1,s=l)=>F(c+e+I,(n?n+", ":l)+fe+": "+t+(d?", mutator?: boolean":l),he,Mt(c+e+I,o,d?"mutator":l),a,s),Z=`./${Rt(n)}.d`,Q=Rt(n,1),K=Rt(Q),X=[],ne=Y();let oe=[],de=[];if($(1,Z,Q,`create${Q} as create${Q}Decl`),H(e))$(null,t,p);else{$(0,t,"CellChange"),$(null,t,u);const[e,a,n,d,I,c,w,y,T,V,S,A,P,G,M,J,z,W,B,F,H,te,le,de]=L(K,Q),se=Y();E(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,d+l,ke+` the '${e}' `+i),v(t+i+Fe,I+l,ke+` the '${e}' `+i+Ue),v(t+C,c+l,Ye(e)),v(t+C+Fe,w+l,Ye(e,1)),v(t+g+he,y+l,`A Cell Id for the '${e}' `+i),v(t+g+$e,V+l,at(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+C+$e,S+l,at(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+i+g+$e,A+l,at(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ae(se,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,P,G,M,J,z,W,B,F,H,te,le,de),oe=[e,a,n,y,G,M,J,z,W,B,F,H,te,le,se],D([[e],[o],[Q,"tables: "+a,"tables"],[Q]],(([e,t,a],n)=>U(n,l,p,e,Xe(1,n),t,a))),U(0,l,b,n+De,et(i,Oe)),U(5,l,i,We,tt(i,Oe),"tableCallback: "+P,"tableCallback as any"),E(((e,t,a)=>{const[n,d,s,r,I,$,c,p]=ee(se,e);D([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,o,d=l],s)=>U(s,t,i,n,rt(e,s),o,a+d))),U(0,t,i+f,u,et(g,"the whole of "+dt(e)),l,a),U(5,t,i+g,We,tt(i+g,"the whole of "+dt(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,C+"Count","number","Gets the number of Rows in the "+dt(e),l,a),U(0,t,h,u,et(C,dt(e)),l,a),U(0,t,m,u,et(C,dt(e),1),"cellId?: "+I+Ee,a+", cellId, descending, offset, limit"),U(5,t,C,We,tt(C,dt(e)),"rowCallback: "+c,a+", rowCallback as any"),D([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>U(s,t,C,n,It(e,s),Se+o,a+", rowId"+d))),U(6,t,C,he+ye,"Add a new Row to "+dt(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+De,et(g,st(e)),Se,a+", rowId"),U(5,t,g,We,tt(g,st(e)),Se+", cellCallback: "+$,a+", rowId, cellCallback as any"),N(e,((n,d,s,r,I)=>{const $="Map"+Rt(d,1);ae(ne,d,$);const c=d+(x(s)?ye:l);D([[c],[o],[Q,`, cell: ${d} | `+$,", cell as any"],[Q]],(([o,d=l,s=l],$)=>U($,t+I,g,o,$t(e,n,$),Se+d,a+", rowId, "+r+s))),U(1,t+I,i+g,o,ut[1]+` the '${n}' Cell anywhere in `+dt(e),l,a+", "+r)}))})),U(0,l,p+ge,ge,Xe(1,6)),U(2,l,p+ge,Q,Xe(1,7),"tablesJson: "+ge,"tables"+ge),_(p,G,Xe(1,8)+" changes"),_(b,M,ot(2,0,1)),_(i,J,ot(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,z,ot(14,3,1),`tableId: ${n} | null`,"tableId"),_(C+"Count",W,ot(15,3),`tableId: ${n} | null`,"tableId"),_(h,B,ot(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,F,ot(13,3,1),At("tableId: TId",`cellId: ${y}<TId>`+ye,"descending: boolean","offset: number","limit: number"+ye),At("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,H,ot(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,te,ot(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,le,ot(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${O(E((e=>ee(se,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),_(me+g,de,Re+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...q(ne)),j(X,".set"+p+Ae+"({",xt(E(((e,t,a)=>[`[${a}]: {`,...N(e,((e,t,a,n)=>`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(H(a))$(null,t,y);else{const[e,a,n,d,I,c,u,i,p]=M(K,Q);$(1,Z,e,a,n,I,c,u,i,p),de=[e,a,n,c,u,i],D([[e],[o],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,Xe(2,n),t,a))),U(0,l,T,n+De,et(w,Oe)),U(5,l,w,"void",tt(w,Oe),"valueCallback: "+I,"valueCallback as any"),G(((e,t,a,n,d)=>{const s="Map"+Rt(t,1);ae(ne,t,s),D([[t],[o],[Q,`value: ${t} | `+s,", value as any"],[Q]],(([t,a,o=l],s)=>U(s,d,w,t,ct(e,s),a,n+o)))})),U(0,l,y+ge,ge,Xe(2,6)),U(2,l,y+ge,Q,Xe(2,7),"valuesJson: "+ge,"values"+ge),_(y,c,Xe(2,8)+" changes"),_(T,u,ot(10,0,1)),_(w,i,ot(11,0),`valueId: ${n} | null`,"valueId"),_(me+w,p,Re+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...q(ne)),$(0,t,"ValueChange"),j(X,".set"+y+Ae+"({",G(((e,t,a,n)=>[`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,Xe(0,0)),U(2,l,"Content",Q,Xe(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Ge,Q,`Applies a set of ${Ge} to the Store`,"transactionChanges: "+Ge,"transactionChanges"),te(ne,((e,t)=>v(t,`(cell: ${e}${ye}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,t,"DoRollback",he,"IdOrNull",ge,"Store",Ge),$(0,t,"Get"+Ge,"GetTransactionLog"),U(0,l,ge,ge,Xe(0,6)),U(2,l,ge,Q,Xe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),U(7,l,Le,"Return",je,be,"actions, doRollback","<Return>"),U(7,l,"start"+Ne,Q,Me),U(7,l,"finish"+Ne,Q,Je,pe,"doRollback");const se=z(K,Q);return _("Start"+Ne,se,Re+" just before the start of the "+Le,l,l,0),_("WillFinish"+Ne,se,Re+" just before "+ze,l,l,0),_("DidFinish"+Ne,se,Re+" just after "+ze,l,l,0),U(7,l,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,Q,"Remove a listener that was previously added to "+Oe,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",ut[0]+" the underlying Store object"),$(1,t,"createStore"),$(1,Z,Q,`create${Q} as create${Q}Decl`,se),R("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${K};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${K}, ...params)`),R(K,["{",...B(1),"}"]),[d(...S(0),...A(),Ce+" interface "+Q+" {",...B(0),"}",l,St(`Creates a ${Q} object`),Ce+" function create"+Q+"(): "+Q+";"),d(...S(1),Ce+" const create"+Q+": typeof create"+Q+"Decl = () => {",...P(),`return Object.freeze(${K});`,"};"),oe,de]},zt=e=>$+e,Wt=e=>At(zt(e),zt(e)+ue),Bt="debugIds?: boolean",Ft="debugIds={debugIds}",Ut="then"+ie,_t="Parameter",Zt=": (parameter: "+_t+", store: Store) => ",Ht="const contextValue = useContext(Context);",Qt=", based on a parameter",qt=": ",Kt="<"+_t+",>",Xt=_t+"ized"+$e+"<"+_t+">",Yt="rowId",el="rowId={rowId}",tl=", separator, debugIds",ll="separator?: ReactElement | string",al="then?: (store: Store",nl=At(al+")"+Be,Ut),ol="then, then"+ue,dl=Yt+qt+he,sl="View",rl=(e,...t)=>At(...t,fe+": "+e,fe+ie,"mutator?: boolean"),Il=(...e)=>At(...e,fe,fe+ue,"mutator"),$l=(e,a,n,o,d)=>{const[s,r,$,c,v,V,R,k]=Dt(),[S,A,P]=Nt(e,a,v),E=`./${Rt(n)}.d`,D=`./${Rt(n)}-ui-react.d`,N="tinybase/ui-react",G=Rt(n,1),L=Rt(G),M=G+"Or"+G+he,z=L+"Or"+G+he,W=L+`={${L}}`,B=Y(),F=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),Tt(B,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,s=l,I=l,$=l)=>(r(1,N,`use${t} as use${t}Core`),U(e,At(o,X,I),a,ae+`(${z}, use${t}Core, [`+(d||l)+($?"], ["+$:l)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),Q=(e=0)=>le(B,(([t,a,n,o,d],s)=>{const r=e?[Ce+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ce+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||J(r,St(o)),j(r,l),r}));r(null,t,he,"Store",$e,_t+"ized"+$e),r(0,N,"ComponentReturnType"),r(1,N,"useCellIds"),r(null,N,"ExtraProps"),r(0,E,G);const q=$(M,G+" | "+he,`Used when you need to refer to a ${G} in a React hook or component`),K=$(xe+Ve,Et(L+we+G,L+`ById?: {[${L}Id: Id]: ${G}}`),`Used with the ${xe} component, so that a `+G+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,q,K);const X=z+we+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${G}?, {[${L}Id: Id]: ${G}}?]>([])`),U("Create"+G,`create: () => ${G}, create`+ie,G,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${G} within a React application with convenient memoization`);const te=U(G,"id?: Id",G+ye,["{",Ht,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${xe} component context`),ae=c("useHook",z+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${L} : ${z})?.getStore(), ...postParams)`]),ne=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=c("wrap",At("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=c("useCustomOrDefaultCellIds",At("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${q} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),re=v("NullComponent","() => null");if(!H(e)){const[e,a,n,d,s,w,y,T,v,V,R,k,P,N,j]=o;r(null,E,e,a,n,s,w,y,T,v,V,R,k,P,N),r(0,E,d),r(1,E,G),r(null,t,u,"IdOrNull");const M=c("tableView",`{${L}, rowComponent, getRowComponentProps, customCellIds`+tl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",el,"customCellIds={customCellIds}",W,Ft,"/>","))",tl,", tableId,",");"]),J=c("getDefaultTableComponent","tableId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+re),z=c("getDefaultCellComponent","tableId: Id, cellId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${O(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+re} : `)))+re);_(p,p,e,Xe(1,0)+Ie);const B=_(b,b,n+De,et(i,Oe)+Ie);_(Pe+p+$e,Pe+p+$e,Xt,Xe(1,9)+Qt,At(zt(p)+Zt+a,zt(p)+ie),Wt(p),Kt,At(al,`tables: ${a})`+Be,Ut),ol),_(ce+p+$e,ce+p+$e,$e,Xe(1,12),l,l,l,nl,ol);const F=$(g+Ve,Et("tableId?: TId","rowId: Id","cellId?: CId",L+we+G,Bt),lt(se+g),`<TId extends ${n}, CId extends ${d}<TId>>`),U=$(C+Ve,Et("tableId?: TId","rowId: Id",L+we+G,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ll,Bt),lt(se+C),`<TId extends ${n}>`),H=$(i+Ve,Et("tableId?: TId",L+we+G,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+i),`<TId extends ${n}>`),Q=$("Sorted"+i+Ve,Et("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",L+we+G,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+"sorted "+i),`<TId extends ${n}>`),q=$(p+Ve,Et(L+we+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ll,Bt),lt(Ke(1,1)));r(1,D,q,H,Q,U,F),Z(p+sl,"{"+L+", tableComponents, getTableComponentProps"+tl+"}: "+q,[oe+`(${B}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+J+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ft,"/>;","}), separator)"],Xe(1,13)+Ie),S(((e,t,a)=>{const[n,o,d,s,I]=ee(j,e);r(null,E,n,o,d,s,I),_(t+i,i,n,rt(e)+Ie,l,a),_(t+i+f,i+f,u,et(g,"the whole of "+dt(e))+Ie,l,a);const $=_(t+h,h,u,et(C,dt(e))+Ie,l,a),c=_(t+m,m,u,et(C,dt(e),1)+Ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,It(e)+Ie,dl,At(a,Yt)),_(t+f,f,I+De,et(g,st(e))+Ie,dl,At(a,Yt)),_(Pe+t+i+$e,Pe+i+$e,Xt,rt(e,9)+Qt,At(zt(i)+Zt+o,zt(i)+ie),At(a,Wt(i)),Kt,At(al,`table: ${o})`+Be,Ut),ol),_(ce+t+i+$e,ce+i+$e,$e,rt(e,12),l,a,l,nl,ol),_(Pe+t+C+$e,Pe+C+$e,Xt,It(e,9)+Qt,At(dl,zt(C)+Zt+s,zt(C)+ie),At(a,Yt,Wt(C)),Kt,At(al,`row: ${s})`+Be,Ut),ol),_("Add"+t+C+$e,"Add"+C+$e,Xt,It(e,10)+Qt,At(zt(C)+Zt+s,zt(C)+ie),At(a,Wt(C)),Kt,"then?: ("+At(dl+ye,"store: Store","row: "+s+")"+Be,"then"+ie)+", reuseRowIds?: boolean",ol+", reuseRowIds"),_(Pe+t+ve+C+$e,Pe+ve+C+$e,Xt,It(e,11)+Qt,At(dl,zt(ve+C)+Zt+s,zt(ve+C)+ie),At(a,Yt,Wt(ve+C)),Kt,At(al,`partialRow: ${s})`+Be,Ut),ol),_(ce+t+C+$e,ce+C+$e,$e,It(e,12),dl,At(a,Yt),l,nl,ol);const p=Z(t+C+sl,"{rowId, "+L+", cellComponents, getCellComponentProps, customCellIds"+tl+`}: ${U}<'${e}'>`,[oe+`(${de}(customCellIds, `+a+`, rowId, ${L}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+z+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,el,"cellId={cellId}",W,Ft,"/>;","})"+tl+", rowId)"],It(e,13)+Ie);Z(t+"Sorted"+i+sl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+c+`(cellId, descending, offset, limit, props.${L}), ${a}, ${p});`,rt(e,13)+", sorted"+Ie),Z(t+i+sl,`props: ${H}<'${e}'>`,M+"(props, "+$+`(props.${L}), ${a}, ${p});`,rt(e,13)+Ie),A(e,((n,o,d,s,I)=>{const $="Map"+Rt(o,1);r(0,E,$),r(1,E,$);const c=_(t+I+g,g,o+(x(d)?ye:l),$t(e,n)+Ie,dl,At(a,Yt,s));_(Pe+t+I+g+$e,Pe+g+$e,Xt,$t(e,n,9)+Qt,At(dl,zt(g)+Zt+o+" | "+$,zt(g)+ie),At(a,Yt,s,Wt(g)),Kt,At(al,`cell: ${o} | ${$})`+Be,Ut),ol),_(ce+t+I+g+$e,ce+g+$e,$e,$t(e,n,12),At(dl,"forceDel?: boolean"),At(a,Yt,s,"forceDel"),l,nl,ol),Z(t+I+g+sl,`{rowId, ${L}, debugIds}: `+F+`<'${e}', '${n}'>`,[oe+`('' + ${c}(rowId, `+L+`) ?? '', undefined, debugIds, ${s})`],$t(e,n,13)+Ie)}))}));const K=O(S((e=>ee(j,e)?.[4]??l))," | ");_(p+I,p+I,We,Xe(1,8)+" changes",rl(s),Il()),_(b+I,b+I,We,ot(2,0,1),rl(w),Il()),_(i+I,i+I,We,ot(3,0),rl(y,`tableId: ${n} | null`),Il("tableId")),_(i+f+I,i+f+I,We,ot(14,3,1),rl(T,`tableId: ${n} | null`),Il("tableId")),_(h+I,h+I,We,ot(4,3,1),rl(V,`tableId: ${n} | null`),Il("tableId")),_(m+I,m+I,We,ot(13,3,1),rl(R,`tableId: ${n} | null`,"cellId: "+K+ye,"descending: boolean","offset: number","limit: number"+ye),Il("tableId","cellId","descending","offset","limit")),_(C+I,C+I,We,ot(5,3),rl(k,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(f+I,f+I,We,ot(6,5,1),rl(P,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(g+I,g+I,We,ot(7,5),rl(N,`tableId: ${n} | null`,Yt+": IdOrNull",`cellId: ${K} | null`),Il("tableId",Yt,"cellId"))}if(!H(a)){const[e,t,a,n,o,s]=d;r(null,E,...d),r(1,E,G);const u=c("getDefaultValueComponent","valueId: Id",O(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+re);_(y,y,e,Xe(2,0)+Ie);const i=_(T,T,a+De,et(w,Oe)+Ie);_(Pe+y+$e,Pe+y+$e,Xt,Xe(2,9)+Qt,At(zt(y)+Zt+t,zt(y)+ie),Wt(y),Kt,At(al,`values: ${t})`+Be,Ut),ol),_(Pe+ve+y+$e,Pe+ve+y+$e,Xt,Xe(2,11)+Qt,At(zt(ve+y)+Zt+t,zt(ve+y)+ie),Wt(ve+y),Kt,At(al,`partialValues: ${t})`+Be,Ut),ol),_(ce+y+$e,ce+y+$e,$e,Xe(2,12),l,l,l,nl,ol);const p=$(w+Ve,Et("valueId?: VId",L+we+G,Bt),lt("a Value"),`<VId extends ${a}>`),b=$(y+Ve,Et(L+we+G,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ll,Bt),lt(Ke(2,1)));r(1,D,b,p),Z(y+sl,"{"+L+", valueComponents, getValueComponentProps"+tl+"}: "+b,[oe+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+u+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ft,"/>;","}), separator)"],Xe(2,13)+Ie),P(((e,t,a,n,o)=>{const d="Map"+Rt(t,1);r(0,E,d),r(1,E,d);const s=_(o+w,w,t,ct(e)+Ie,l,n);_(Pe+o+w+$e,Pe+w+$e,Xt,ct(e,9)+Qt,At(zt(w)+Zt+t+" | "+d,zt(w)+ie),At(n,Wt(w)),Kt,At(al,`value: ${t} | ${d})`+Be,Ut),ol),_(ce+o+w+$e,ce+w+$e,$e,ct(e,12),l,n,l,nl,ol),Z(o+w+sl,`{${L}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+L+`) ?? '', undefined, debugIds, ${n})`],ct(e,13)+Ie)})),_(y+I,y+I,We,Xe(2,8)+" changes",rl(n),Il()),_(T+I,T+I,We,ot(10,0,1),rl(o),Il()),_(w+I,w+I,We,ot(11,0),rl(s,`valueId: ${a} | null`),Il("valueId"))}return Z(xe,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",Ht,"return (","<Context."+xe,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${xe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...R(),...Q(0)),s(...V(1),...k(),...Q(1))]},cl=(e,t,a)=>{if(H(e)&&H(t))return[l,l,l,l];const[n,o,d,s]=Jt(e,t,a);return[n,o,...$l(e,t,a,d,s)]},ul=JSON.parse,il={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},pl=Ot((e=>{const t=()=>{const t=ul(e.getTablesSchemaJson());return!H(t)||P(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=Y();if(P(a,(t=>P(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ne(n,a,(()=>[A(o),Y(),[0],0])),[s,r,[I]]=d,$=ne(r,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),ae(r,o,$),d[3]++,s==A(o)})))))return t[l]={},K(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==G(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=ul(e.getValuesSchemaJson());return H(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:A(l)}})),t},a=e=>cl(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return N(a(e),((e,a)=>vt(l(e,{...il,filepath:"_."+t[a]}))))};return F({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let s=0,r=0;const I={};d(((e,l)=>{s++;let a=0;l((()=>a++)),r+=a,t&&(I[e]={rowCells:a})})),a+=s,n+=r,t&&(o[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:G(e.getValueIds()),jsonLength:Vt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=pl;
|
|
1
|
+
"use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),s="type",r="default",I="Listener",c="get",$="add",u="Ids",i="Table",p=i+"s",b=i+u,C="Row",h=C+u,m="Sorted"+C+u,g="Cell",f=g+u,w="Value",y=w+"s",T=w+u,v=Promise,V=isFinite,x=(e,t)=>e instanceof t,R=e=>null==e,k=e=>e==n||e==o,S=t=>e(t)==n,P=e=>Array.isArray(e),A=async e=>v.all(e),E=t=>{const l=e(t);return k(l)||l==d&&V(t)?l:void 0},D=(e,t)=>e.every(t),O=(e,t)=>e.sort(t),N=(e,t)=>e.forEach(t),G=(e,t=l)=>e.join(t),L=(e,t)=>e.map(t),j=e=>e.length,M=(e,t)=>e.filter(t),J=(e,...t)=>e.push(...t),z=e=>e.pop(),W=(e,...t)=>e.unshift(...t),B=e=>e.shift(),F=Object,U=F.keys,_=F.freeze,Z=e=>x(e,F)&&e.constructor==F,H=(e,t)=>L(F.entries(e),(([e,l])=>t(l,e))),Q=e=>j(U(e)),q=e=>Z(e)&&0==Q(e),K=(e,t)=>e?.has(t)??!1,X=e=>[...e?.values()??[]],Y=(e,t)=>e?.forEach(t),ee=(e,t)=>e?.delete(t),te=e=>new Map(e),le=(e,t)=>e?.get(t),ae=(e,t)=>Y(e,((e,l)=>t(l,e))),ne=(e,t)=>L([...e?.entries()??[]],(([e,l])=>t(l,e))),oe=(e,t,l)=>R(l)?(ee(e,t),e):e?.set(t,l),de=(e,t,l)=>(K(e,t)||oe(e,t,l()),le(e,t)),se=e=>e.toUpperCase(),re=e=>e.toLowerCase(),Ie="a ",ce="A function for",$e=", and registers a listener so that any changes to that result will cause a re-render",ue="Callback",ie="Del",pe="Deps",be=pe+"?: React.DependencyList",Ce="doRollback?: DoRollback",he="actions: () => Return, "+Ce,me="export",ge="Id",fe="Invalid",we="Json",ye=re(I),Te="?: ",ve=" | undefined",Ve="NonNullable",xe="Partial",Re="Props",ke="Provider",Se=`Registers a ${ye} that will be called`,Pe="Represents",Ae="rowId: "+ge,Ee="Schema",De="Set",Oe=", descending?: boolean, offset?: number, limit?: number",Ne="[]",Ge="the Store",Le="Transaction",je=Le+"Changes",Me=re(Le),Je="Execute a "+Me+" to make multiple mutations",ze="Explicitly starts a "+Me,We="Explicitly finishes a "+Me,Be="the end of the "+Me,Fe="void",Ue=" => "+Fe,_e="WhenSet",Ze=" when setting it",He=Ie+"string serialization of",Qe=" ",qe="Gets a callback that can ",Ke="the ",Xe=" the schema for",Ye=(e=0,t=0)=>`the ${ht[e]}content of`+(t?Qe+Ge:l),et=(e=0,t,a=0)=>pt[t]+Qe+Ye(e,1)+(a?" when setting it":l),tt=(e,t=0)=>Pe+` a Row when ${t?"s":"g"}etting ${Ye()} the '${e}' `+i,lt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,at=(e,t)=>`Calls a function for each ${e} in `+t,nt=e=>"The props passed to a component that renders "+e,ot=e=>"A function that takes "+e,dt=(e,t=0)=>ce+" listening to changes to "+Ct[e]+" in "+Ct[t],st=(e,t,a=0)=>Se+" whenever "+Ct[e]+" in "+Ct[t]+" change"+(a?l:"s"),rt=e=>`the '${e}' `+i,It=e=>"the specified Row in "+rt(e),ct=(e,t=0)=>pt[t]+` ${Ye()} `+rt(e),$t=(e,t=0)=>pt[t]+` ${Ye()} `+It(e),ut=(e,t,l=0)=>pt[l]+` the '${t}' Cell for `+It(e),it=(e,t=0)=>pt[t]+` the '${e}' Value`,pt=["Gets","Checks existence of","Sets","Deletes","Sets part of",Pe,"Gets "+He,"Sets "+He,Se+" whenever",qe+"set",qe+"add",qe+"set part of",qe+"delete","Renders","Gets "+He+Xe,"Sets"+Xe,"Deletes"+Xe],bt=[c,"has","set","del","set","forEach",$,l],Ct=[Ge,p,Ke+i+Qe+u,Ie+i,Ke+C+Qe+u,Ie+C,Ke+g+Qe+u,Ie+g,"invalid Cell changes",y,Ke+w+Qe+u,Ie+w,"invalid Value changes",Ke+"sorted "+C+Qe+u,Ke+g+Qe+u+" anywhere",Ke+"number of Rows"],ht=[l,"tabular ","keyed value "],mt=e=>new Set(P(e)||R(e)?e:[e]),gt=(e,t)=>e?.add(t),ft=/[^A-Za-z]+/,wt=/[^A-Za-z0-9]+/,yt=/^( *)\/\*\* *(.*?) *\*\/$/gm,Tt=(e,t,l)=>e.substring(t,l),vt=e=>e.includes(a),Vt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return K(e,n)?Vt(e,t,l,a+1):(oe(e,n,l),n)},xt=e=>e.replace(yt,((e,t,l)=>{const a=77-Rt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Rt=e=>e.length,kt=e=>e.flat(1e3),St=(e,t=0)=>G(L(e.split(wt),((e,l)=>(l>0||t?se:re)(Tt(e,0,1))+Tt(e,1)))),Pt=e=>se(G((e&&!ft.test(e[0])?e:" "+e).split(wt),"_")),At=e=>`/** ${e}. */`,Et=(...e)=>G(M(e,(e=>e)),", "),Dt=(...e)=>"{"+G(e,"; ")+"}",Ot=(...e)=>Dt(...L(e,(e=>"readonly "+e))),Nt=()=>{const e=[te(),te(),te(),te()],t=te(),a=te(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>G(kt(e),"\n"),(t,l,...a)=>N(a,(a=>N([0,1],(n=>(t??n)==n?gt(de(e[n],l,mt),a):0)))),(e,a,n,o=l,d=1)=>Vt(t,e,[a,n,o,d]),(e,t,l)=>Vt(a,e,P(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>le(a,e)===t?e:Vt(a,e,t),(t=0)=>L([...O(ne(e[t],((e,t)=>`import {${G(O(X(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>vt(e)!=vt(t)?vt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>ne(t,(([e,t,a,n],o)=>[At(t),`${n?me+" ":l}type ${o}${a} = ${e};`,l])),()=>ne(a,((e,t)=>(e=P(e)?e:[e],J(e,z(e)+";"),[`const ${t} = ${B(e)}`,e,l])))]},Gt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Lt=(e,t,l)=>[t=>H(e,((e,a)=>t(a,St(a,1),l(Pt(a),`'${a}'`)))),(t,a)=>H(e[t],((e,t)=>a(t,e[s],e[r],l(Pt(t),`'${t}'`),St(t,1)))),e=>H(t,((t,a)=>e(a,t[s],t[r],l(Pt(a),`'${a}'`),St(a,1))))],jt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(p,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...a(e,((e,t,a)=>`'${e}'${R(a)?"?":l}: ${t}`)))+"}"))),et(1,5)),r=e(p+_e,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),et(1,5,1)),c=e(i+ge,"keyof "+s,"A "+i+" Id in "+Ge),$=`<TId extends ${c}>`,u=e(i,Ve+`<${s}[TId]>`,"A "+i+" in "+Ge,$),w=e(i+_e,Ve+`<${r}[TId]>`,"A "+i+" in "+Ge+Ze,$),y=e(C,u+"<TId>[Id]","A "+C+" in a "+i,$),T=e(C+_e,w+"<TId>[Id]","A "+C+" in a "+i+Ze,$),v=e(g+ge,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,$),V=e(g,Ve+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${c}, CId = ${v}<TId>>`,0),k=e(g+ue,`(...[cellId, cell]: ${x}<TId>)`+Ue,ot(Ie+g+" Id, and "+g),$),S=e(C+ue,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ue+") "+Ue,ot(Ie+C+" Id, and a "+g+" iterator"),$),P=e(i+g+ue,`(cellId: ${v}<TId>, count: number) `+Ue,ot(Ie+g+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Ue}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),E=e(i+ue,`(...[tableId, forEachRow]: ${A})`+Ue,ot(Ie+i+" Id, and a "+C+" iterator"),l),D=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${D}) => CellChange`,ce+" returning information about any Cell's changes during a "+Me),N=e(p+I,`(${d}, getCellChange: ${O}${ve})`+Ue,dt(1)),G=e(b+I,`(${d})`+Ue,dt(2)),L=e(i+I,`(${d}, tableId: ${c}, getCellChange: ${O}${ve})`+Ue,dt(3)),j=e(i+f+I,`(${d}, tableId: ${c})`+Ue,dt(14,3)),M=e(C+"Count"+I,`(${d}, tableId: ${c})`+Ue,dt(15,3)),J=e(h+I,`(${d}, tableId: ${c})`+Ue,dt(4,3)),z=e(m+I,"("+Et(d,"tableId: "+c,"cellId: Id"+ve,"descending: boolean","offset: number","limit: number"+ve,"sortedRowIds: Ids")+")"+Ue,dt(13,3)),W=e(C+I,"("+Et(""+d,"tableId: "+c,Ae,`getCellChange: ${O}${ve}`)+")"+Ue,dt(5,3)),B=e(f+I,"("+Et(""+d,"tableId: "+c,Ae)+")"+Ue,dt(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Ae}, cellId: CId, newCell: ${V}<TId, CId> ${ve}, oldCell: ${V}<TId, CId> ${ve}, getCellChange: ${O} ${ve}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,r,c,u,w,y,T,v,V,k,S,P,E,N,G,L,j,M,J,z,W,B,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+Ue,dt(7,5)),e(fe+g+I,`(${d}, tableId: Id, ${Ae}, cellId: Id, invalidCells: any[])`+Ue,dt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Dt(...n(((e,t,a)=>`'${e}'${R(a)?"?":l}: ${t}`))),et(2,5)),s=e(y+_e,Dt(...n(((e,t)=>`'${e}'?: ${t}`))),et(2,5,1)),r=e(w+ge,"keyof "+d,"A "+w+" Id in "+Ge),c=e(w,Ve+`<${d}[VId]>`,"A "+w+" Id in "+Ge,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+Ge,`<VId = ${r}>`,0),u=e(w+ue,`(...[valueId, value]: ${$})`+Ue,ot(Ie+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${r}) => ValueChange`,ce+" returning information about any Value's changes during a "+Me),p=e(y+I,`(${o}, getValueChange: ${i}${ve})`+Ue,dt(9)),b=e(T+I,`(${o})`+Ue,dt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${c}<VId> ${ve}, oldValue: ${c}<VId> ${ve}, getValueChange: ${i} ${ve}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,c,u,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ue,dt(11)),e(fe+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Ue,dt(12))]},(t,l)=>e(Le+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ue,ce+" listening to the completion of a "+Me)],Mt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Jt=(e,t=l)=>`fluent(() => ${Mt(e,t)})`,zt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Wt=(e,a,n)=>{const[d,c,v,V,x,k,P,A]=Nt(),[E,D,O]=Lt(e,a,x),[L,j,M]=jt(v,E,D,O),z=te(),B=(e=0)=>ne(z,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||W(r,At(o)),J(r,l),r})),F=(e,t,a,n,o,d=l)=>Vt(z,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,s=l,r=l)=>F(bt[e]+t+(4==e?xe:l)+a,d,n,(n==H?Jt:Mt)(bt[e]+(4==e?xe:l)+a,s,e?void 0:n),o,r),_=(e,t,a,n=l,o=l,d=1,s=l)=>F($+e+I,(n?n+", ":l)+ye+": "+t+(d?", mutator?: boolean":l),ge,zt($+e+I,o,d?"mutator":l),a,s),Z=`./${St(n)}.d`,H=St(n,1),Q=St(H),K=[],Y=te();let ee=[],de=[];if(c(1,Z,H,`create${H} as create${H}Decl`),q(e))c(null,t,p);else{c(0,t,"CellChange"),c(null,t,u);const[e,a,n,d,I,$,w,y,T,V,k,P,A,O,j,M,z,W,B,F,q,ae,ne,de]=L(Q,H),se=te();E(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,d+l,Pe+` the '${e}' `+i),v(t+i+_e,I+l,Pe+` the '${e}' `+i+Ze),v(t+C,$+l,tt(e)),v(t+C+_e,w+l,tt(e,1)),v(t+g+ge,y+l,`A Cell Id for the '${e}' `+i),v(t+g+ue,V+l,ot(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+C+ue,k+l,ot(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+i+g+ue,P+l,ot(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];oe(se,e,a),c(1,Z,...a)})),c(1,Z,e,a,n,y,A,O,j,M,z,W,B,F,q,ae,ne,de),ee=[e,a,n,y,O,j,M,z,W,B,F,q,ae,ne,se],N([[e],[o],[H,"tables: "+a,"tables"],[H]],(([e,t,a],n)=>U(n,l,p,e,et(1,n),t,a))),U(0,l,b,n+Ne,lt(i,Ge)),U(5,l,i,Fe,at(i,Ge),"tableCallback: "+A,"tableCallback as any"),E(((e,t,a)=>{const[n,d,s,r,I,c,$,p]=le(se,e);N([[n],[o],[H,"table: "+d,", table"],[H]],(([n,o,d=l],s)=>U(s,t,i,n,ct(e,s),o,a+d))),U(0,t,i+f,u,lt(g,"the whole of "+rt(e)),l,a),U(5,t,i+g,Fe,at(i+g,"the whole of "+rt(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,C+"Count","number","Gets the number of Rows in the "+rt(e),l,a),U(0,t,h,u,lt(C,rt(e)),l,a),U(0,t,m,u,lt(C,rt(e),1),"cellId?: "+I+Oe,a+", cellId, descending, offset, limit"),U(5,t,C,Fe,at(C,rt(e)),"rowCallback: "+$,a+", rowCallback as any"),N([[s],[o],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>U(s,t,C,n,$t(e,s),Ae+o,a+", rowId"+d))),U(6,t,C,ge+ve,"Add a new Row to "+rt(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+Ne,lt(g,It(e)),Ae,a+", rowId"),U(5,t,g,Fe,at(g,It(e)),Ae+", cellCallback: "+c,a+", rowId, cellCallback as any"),D(e,((n,d,s,r,I)=>{const c="Map"+St(d,1);oe(Y,d,c);const $=d+(R(s)?ve:l);N([[$],[o],[H,`, cell: ${d} | `+c,", cell as any"],[H]],(([o,d=l,s=l],c)=>U(c,t+I,g,o,ut(e,n,c),Ae+d,a+", rowId, "+r+s))),U(1,t+I,i+g,o,pt[1]+` the '${n}' Cell anywhere in `+rt(e),l,a+", "+r)}))})),U(0,l,p+we,we,et(1,6)),U(2,l,p+we,H,et(1,7),"tablesJson: "+we,"tables"+we),_(p,O,et(1,8)+" changes"),_(b,j,st(2,0,1)),_(i,M,st(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,z,st(14,3,1),`tableId: ${n} | null`,"tableId"),_(C+"Count",W,st(15,3),`tableId: ${n} | null`,"tableId"),_(h,B,st(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,F,st(13,3,1),Et("tableId: TId",`cellId: ${y}<TId>`+ve,"descending: boolean","offset: number","limit: number"+ve),Et("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,q,st(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,ae,st(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,ne,st(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${G(E((e=>le(se,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),_(fe+g,de,Se+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...X(Y)),J(K,".set"+p+Ee+"({",kt(E(((e,t,a)=>[`[${a}]: {`,...D(e,((e,t,a,n)=>`[${n}]: {[${x(Pt(s),`'${s}'`)}]: ${x(Pt(t),`'${t}'`)}${R(a)?l:`, [${x(Pt(r),`'${r}'`)}]: `+(S(a)?x(Pt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(q(a))c(null,t,y);else{const[e,a,n,d,I,$,u,i,p]=j(Q,H);c(1,Z,e,a,n,I,$,u,i,p),de=[e,a,n,$,u,i],N([[e],[o],[H,"values: "+a,"values"],[H],[H,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,et(2,n),t,a))),U(0,l,T,n+Ne,lt(w,Ge)),U(5,l,w,"void",at(w,Ge),"valueCallback: "+I,"valueCallback as any"),O(((e,t,a,n,d)=>{const s="Map"+St(t,1);oe(Y,t,s),N([[t],[o],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,a,o=l],s)=>U(s,d,w,t,it(e,s),a,n+o)))})),U(0,l,y+we,we,et(2,6)),U(2,l,y+we,H,et(2,7),"valuesJson: "+we,"values"+we),_(y,$,et(2,8)+" changes"),_(T,u,st(10,0,1)),_(w,i,st(11,0),`valueId: ${n} | null`,"valueId"),_(fe+w,p,Se+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...X(Y)),c(0,t,"ValueChange"),J(K,".set"+y+Ee+"({",O(((e,t,a,n)=>[`[${n}]: {[${x(Pt(s),`'${s}'`)}]: ${x(Pt(t),`'${t}'`)}${R(a)?l:`, [${x(Pt(r),`'${r}'`)}]: `+(S(a)?x(Pt(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,et(0,0)),U(2,l,"Content",H,et(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,je,H,`Applies a set of ${je} to the Store`,"transactionChanges: "+je,"transactionChanges"),ae(Y,((e,t)=>v(t,`(cell: ${e}${ve}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",ge,"IdOrNull",we,"Store",je),c(0,t,"Get"+je,"GetTransactionLog"),U(0,l,we,we,et(0,6)),U(2,l,we,H,et(0,7),"tablesAndValuesJson: "+we,"tablesAndValuesJson"),U(7,l,Me,"Return",Je,he,"actions, doRollback","<Return>"),U(7,l,"start"+Le,H,ze),U(7,l,"finish"+Le,H,We,Ce,"doRollback");const se=M(Q,H);return _("Start"+Le,se,Se+" just before the start of the "+Me,l,l,0),_("WillFinish"+Le,se,Se+" just before "+Be,l,l,0),_("DidFinish"+Le,se,Se+" just after "+Be,l,l,0),U(7,l,"call"+I,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,H,"Remove a listener that was previously added to "+Ge,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",pt[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,H,`create${H} as create${H}Decl`,se),x("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...B(1),"}"]),[d(...k(0),...P(),me+" interface "+H+" {",...B(0),"}",l,At(`Creates a ${H} object`),me+" function create"+H+"(): "+H+";"),d(...k(1),me+" const create"+H+": typeof create"+H+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),ee,de]},Bt=e=>c+e,Ft=e=>Et(Bt(e),Bt(e)+pe),Ut="debugIds?: boolean",_t="debugIds={debugIds}",Zt="then"+be,Ht="Parameter",Qt=": (parameter: "+Ht+", store: Store) => ",qt="const contextValue = useContext(Context);",Kt=", based on a parameter",Xt=": ",Yt="<"+Ht+",>",el=Ht+"ized"+ue+"<"+Ht+">",tl="rowId",ll="rowId={rowId}",al=", separator, debugIds",nl="separator?: ReactElement | string",ol="then?: (store: Store",dl=Et(ol+")"+Ue,Zt),sl="then, then"+pe,rl=tl+Xt+ge,Il="View",cl=(e,...t)=>Et(...t,ye+": "+e,ye+be,"mutator?: boolean"),$l=(...e)=>Et(...e,ye,ye+pe,"mutator"),ul=(e,a,n,o,d)=>{const[s,r,c,$,v,V,x,k]=Nt(),[S,P,A]=Lt(e,a,v),E=`./${St(n)}.d`,D=`./${St(n)}-ui-react.d`,O="tinybase/ui-react",N=St(n,1),L=St(N),j=N+"Or"+N+ge,M=L+"Or"+N+ge,z=L+`={${L}}`,B=te(),F=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),Vt(B,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,O,`use${t} as use${t}Core`),U(e,Et(o,X,I),a,ee+`(${M}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ne(B,(([t,a,n,o,d],s)=>{const r=e?[me+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[me+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||W(r,At(o)),J(r,l),r}));r(null,t,ge,"Store",ue,Ht+"ized"+ue),r(0,O,"ComponentReturnType"),r(1,O,"useCellIds"),r(null,O,"ExtraProps"),r(0,E,N);const Q=c(j,N+" | "+ge,`Used when you need to refer to a ${N} in a React hook or component`),K=c(ke+Re,Ot(L+Te+N,L+`ById?: {[${L}Id: Id]: ${N}}`),`Used with the ${ke} 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,D,Q,K);const X=M+Te+Q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${N}?, {[${L}Id: Id]: ${N}}?]>([])`),U("Create"+N,`create: () => ${N}, create`+be,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=U(N,"id?: Id",N+ve,["{",qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${ke} component context`),ee=$("useHook",M+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${L} : ${M})?.getStore(), ...postParams)`]),ae=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",Et("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=$("useCustomOrDefaultCellIds",Et("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${M}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${M}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=v("NullComponent","() => null");if(!q(e)){const[e,a,n,d,s,w,y,T,v,V,x,k,A,O,j]=o;r(null,E,e,a,n,s,w,y,T,v,V,x,k,A,O),r(0,E,d),r(1,E,N),r(null,t,u,"IdOrNull");const M=$("tableView",`{${L}, rowComponent, getRowComponentProps, customCellIds`+al+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ae+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ll,"customCellIds={customCellIds}",z,_t,"/>","))",al,", tableId,",");"]),J=$("getDefaultTableComponent","tableId: Id",G(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),W=$("getDefaultCellComponent","tableId: Id, cellId: Id",G(S(((e,t,l)=>`tableId == ${l} ? ${G(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(p,p,e,et(1,0)+$e);const B=_(b,b,n+Ne,lt(i,Ge)+$e);_(De+p+ue,De+p+ue,el,et(1,9)+Kt,Et(Bt(p)+Qt+a,Bt(p)+be),Ft(p),Yt,Et(ol,`tables: ${a})`+Ue,Zt),sl),_(ie+p+ue,ie+p+ue,ue,et(1,12),l,l,l,dl,sl);const F=c(g+Re,Ot("tableId?: TId","rowId: Id","cellId?: CId",L+Te+N,Ut),nt(Ie+g),`<TId extends ${n}, CId extends ${d}<TId>>`),U=c(C+Re,Ot("tableId?: TId","rowId: Id",L+Te+N,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,nl,Ut),nt(Ie+C),`<TId extends ${n}>`),H=c(i+Re,Ot("tableId?: TId",L+Te+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",nl,Ut),nt(Ie+i),`<TId extends ${n}>`),Q=c("Sorted"+i+Re,Ot("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",L+Te+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",nl,Ut),nt(Ie+"sorted "+i),`<TId extends ${n}>`),q=c(p+Re,Ot(L+Te+N,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,nl,Ut),nt(Ye(1,1)));r(1,D,q,H,Q,U,F),Z(p+Il,"{"+L+", tableComponents, getTableComponentProps"+al+"}: "+q,[oe+`(${B}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+J+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ae}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",z,_t,"/>;","}), separator)"],et(1,13)+$e),S(((e,t,a)=>{const[n,o,d,s,I]=le(j,e);r(null,E,n,o,d,s,I),_(t+i,i,n,ct(e)+$e,l,a),_(t+i+f,i+f,u,lt(g,"the whole of "+rt(e))+$e,l,a);const c=_(t+h,h,u,lt(C,rt(e))+$e,l,a),$=_(t+m,m,u,lt(C,rt(e),1)+$e,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,$t(e)+$e,rl,Et(a,tl)),_(t+f,f,I+Ne,lt(g,It(e))+$e,rl,Et(a,tl)),_(De+t+i+ue,De+i+ue,el,ct(e,9)+Kt,Et(Bt(i)+Qt+o,Bt(i)+be),Et(a,Ft(i)),Yt,Et(ol,`table: ${o})`+Ue,Zt),sl),_(ie+t+i+ue,ie+i+ue,ue,ct(e,12),l,a,l,dl,sl),_(De+t+C+ue,De+C+ue,el,$t(e,9)+Kt,Et(rl,Bt(C)+Qt+s,Bt(C)+be),Et(a,tl,Ft(C)),Yt,Et(ol,`row: ${s})`+Ue,Zt),sl),_("Add"+t+C+ue,"Add"+C+ue,el,$t(e,10)+Kt,Et(Bt(C)+Qt+s,Bt(C)+be),Et(a,Ft(C)),Yt,"then?: ("+Et(rl+ve,"store: Store","row: "+s+")"+Ue,"then"+be)+", reuseRowIds?: boolean",sl+", reuseRowIds"),_(De+t+xe+C+ue,De+xe+C+ue,el,$t(e,11)+Kt,Et(rl,Bt(xe+C)+Qt+s,Bt(xe+C)+be),Et(a,tl,Ft(xe+C)),Yt,Et(ol,`partialRow: ${s})`+Ue,Zt),sl),_(ie+t+C+ue,ie+C+ue,ue,$t(e,12),rl,Et(a,tl),l,dl,sl);const p=Z(t+C+Il,"{rowId, "+L+", cellComponents, getCellComponentProps, customCellIds"+al+`}: ${U}<'${e}'>`,[oe+`(${de}(customCellIds, `+a+`, rowId, ${L}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+W+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ae}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,ll,"cellId={cellId}",z,_t,"/>;","})"+al+", rowId)"],$t(e,13)+$e);Z(t+"Sorted"+i+Il,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+$+`(cellId, descending, offset, limit, props.${L}), ${a}, ${p});`,ct(e,13)+", sorted"+$e),Z(t+i+Il,`props: ${H}<'${e}'>`,M+"(props, "+c+`(props.${L}), ${a}, ${p});`,ct(e,13)+$e),P(e,((n,o,d,s,I)=>{const c="Map"+St(o,1);r(0,E,c),r(1,E,c);const $=_(t+I+g,g,o+(R(d)?ve:l),ut(e,n)+$e,rl,Et(a,tl,s));_(De+t+I+g+ue,De+g+ue,el,ut(e,n,9)+Kt,Et(rl,Bt(g)+Qt+o+" | "+c,Bt(g)+be),Et(a,tl,s,Ft(g)),Yt,Et(ol,`cell: ${o} | ${c})`+Ue,Zt),sl),_(ie+t+I+g+ue,ie+g+ue,ue,ut(e,n,12),Et(rl,"forceDel?: boolean"),Et(a,tl,s,"forceDel"),l,dl,sl),Z(t+I+g+Il,`{rowId, ${L}, debugIds}: `+F+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+L+`) ?? '', undefined, debugIds, ${s})`],ut(e,n,13)+$e)}))}));const K=G(S((e=>le(j,e)?.[4]??l))," | ");_(p+I,p+I,Fe,et(1,8)+" changes",cl(s),$l()),_(b+I,b+I,Fe,st(2,0,1),cl(w),$l()),_(i+I,i+I,Fe,st(3,0),cl(y,`tableId: ${n} | null`),$l("tableId")),_(i+f+I,i+f+I,Fe,st(14,3,1),cl(T,`tableId: ${n} | null`),$l("tableId")),_(h+I,h+I,Fe,st(4,3,1),cl(V,`tableId: ${n} | null`),$l("tableId")),_(m+I,m+I,Fe,st(13,3,1),cl(x,`tableId: ${n} | null`,"cellId: "+K+ve,"descending: boolean","offset: number","limit: number"+ve),$l("tableId","cellId","descending","offset","limit")),_(C+I,C+I,Fe,st(5,3),cl(k,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(f+I,f+I,Fe,st(6,5,1),cl(A,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(g+I,g+I,Fe,st(7,5),cl(O,`tableId: ${n} | null`,tl+": IdOrNull",`cellId: ${K} | null`),$l("tableId",tl,"cellId"))}if(!q(a)){const[e,t,a,n,o,s]=d;r(null,E,...d),r(1,E,N);const u=$("getDefaultValueComponent","valueId: Id",G(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(y,y,e,et(2,0)+$e);const i=_(T,T,a+Ne,lt(w,Ge)+$e);_(De+y+ue,De+y+ue,el,et(2,9)+Kt,Et(Bt(y)+Qt+t,Bt(y)+be),Ft(y),Yt,Et(ol,`values: ${t})`+Ue,Zt),sl),_(De+xe+y+ue,De+xe+y+ue,el,et(2,11)+Kt,Et(Bt(xe+y)+Qt+t,Bt(xe+y)+be),Ft(xe+y),Yt,Et(ol,`partialValues: ${t})`+Ue,Zt),sl),_(ie+y+ue,ie+y+ue,ue,et(2,12),l,l,l,dl,sl);const p=c(w+Re,Ot("valueId?: VId",L+Te+N,Ut),nt("a Value"),`<VId extends ${a}>`),b=c(y+Re,Ot(L+Te+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,nl,Ut),nt(Ye(2,1)));r(1,D,b,p),Z(y+Il,"{"+L+", valueComponents, getValueComponentProps"+al+"}: "+b,[oe+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+u+"(valueId);","return <Value",`{...${ae}(getValueComponentProps, valueId)}`,"key={valueId}",z,_t,"/>;","}), separator)"],et(2,13)+$e),A(((e,t,a,n,o)=>{const d="Map"+St(t,1);r(0,E,d),r(1,E,d);const s=_(o+w,w,t,it(e)+$e,l,n);_(De+o+w+ue,De+w+ue,el,it(e,9)+Kt,Et(Bt(w)+Qt+t+" | "+d,Bt(w)+be),Et(n,Ft(w)),Yt,Et(ol,`value: ${t} | ${d})`+Ue,Zt),sl),_(ie+o+w+ue,ie+w+ue,ue,it(e,12),l,n,l,dl,sl),Z(o+w+Il,`{${L}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+L+`) ?? '', undefined, debugIds, ${n})`],it(e,13)+$e)})),_(y+I,y+I,Fe,et(2,8)+" changes",cl(n),$l()),_(T+I,T+I,Fe,st(10,0,1),cl(o),$l()),_(w+I,w+I,Fe,st(11,0),cl(s,`valueId: ${a} | null`),$l("valueId"))}return Z(ke,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",qt,"return (","<Context."+ke,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${ke}>`,");","}"],"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))]},il=(e,t,a)=>{if(q(e)&&q(t))return[l,l,l,l];const[n,o,d,s]=Wt(e,t,a);return[n,o,...ul(e,t,a,d,s)]},pl=JSON.parse,bl="prettier/",Cl=bl+"plugins/",hl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},ml=Gt((e=>{const t=()=>{const t=pl(e.getTablesSchemaJson());return!q(t)||D(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=te();if(D(a,(t=>D(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=de(n,a,(()=>[E(o),te(),[0],0])),[s,r,[I]]=d,c=de(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),oe(r,o,c),d[3]++,s==E(o)})))))return t[l]={},Y(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==j(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=pl(e.getValuesSchemaJson());return q(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:E(l)}})),t},a=e=>il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"],l=[];let n;try{n=(await import(bl+"standalone")).format,J(l,await import(Cl+"estree"),await import(Cl+"typescript"))}catch(e){n=async e=>e}return await A(L(a(e),(async(e,a)=>xt(await n(e,{...hl,plugins:l,filepath:"_."+t[a]})))))};return _({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:j(e.getValueIds()),jsonLength:Rt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=ml;
|
package/lib/cjs/tools.cjs.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=(e,t)=>e.map(t),t=(e,...t)=>e.push(...t),n=Promise,o=setInterval,l=clearInterval,r=e=>null==e,u=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=e=>new n(e),c=e=>{return t=function*(){return n.all(e)},new Promise(((e,n)=>{var o=e=>{try{r(t.next(e))}catch(e){n(e)}},l=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((t=t.apply(void 0,null)).next())}));var t},d=Object,s=d.keys,a=d.freeze,v=e=>(e=>e instanceof d&&e.constructor==d)(e)&&0==(e=>s(e).length)(e),y=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),h=(e,t,n)=>{return r(n)?(l=t,null==(o=e)||o.delete(l),e):null==e?void 0:e.set(t,n);var o,l},p=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||h(e,t,n()),f(e,t)};var w=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const x=y(),g=y();var A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const S=globalThis.window,m=["t","v"],P={keyPath:"k"},b=(n,o)=>A(void 0,null,(function*(){const l=((t,o)=>e(d.entries(t),(([e,t])=>L(n,"put",{k:e,v:t}))))(o);e(yield L(n,"getAllKeys"),(e=>((e,t)=>!r(((e,t)=>u(e,(e=>e[t])))(e,t)))(o,e)?0:t(l,L(n,"delete",e)))),yield c(l)})),L=(e,t,n)=>A(void 0,null,(function*(){return i(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))}));exports.createIndexedDbPersister=(n,s,y=1,j)=>{const k=(t,...n)=>A(void 0,[t,...n],(function*(t,n=[],o=0){return i(((l,r)=>{const u=S.indexedDB.open(s,1);u.onupgradeneeded=()=>o&&e(m,(e=>u.result.createObjectStore(e,P))),u.onsuccess=()=>A(void 0,null,(function*(){try{const o=u.result.transaction(m,"readwrite"),r=yield c(e(m,((e,l)=>A(void 0,null,(function*(){return yield t(o.objectStore(e),n[l])})))));u.result.close(),l(r)}catch(e){r(e)}})),u.onerror=()=>r("indexedDB.open error")}))}));return((e,n,o,l,i,c,d=[])=>{let s,y,A,S=0,m=0;p(x,d,(()=>0)),p(g,d,(()=>[]));const P=e=>w(void 0,null,(function*(){return 2!=S&&(S=1,yield b.schedule((()=>w(void 0,null,(function*(){yield e(),S=0}))))),b})),b={load:(t,o)=>w(void 0,null,(function*(){return yield P((()=>w(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,o])}}))))})),startAutoLoad:(...t)=>w(void 0,[...t],(function*(t={},o={}){return b.stopAutoLoad(),yield b.load(t,o),m=1,A=l(((t,o)=>w(void 0,null,(function*(){if(o){const t=o();yield P((()=>w(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield P((()=>w(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){null==c||c(e)}}))))})))),b})),stopAutoLoad:()=>(m&&(i(A),A=void 0,m=0),b),save:t=>w(void 0,null,(function*(){return 1!=S&&(S=2,yield b.schedule((()=>w(void 0,null,(function*(){try{yield o(e.getContent,t)}catch(e){null==c||c(e)}S=0}))))),b})),startAutoSave:()=>w(void 0,null,(function*(){return yield b.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||b.save((()=>[n,o]))})),b})),stopAutoSave:()=>(u(s,e.delListener),b),schedule:(...e)=>w(void 0,null,(function*(){return t(f(g,d),...e),yield w(void 0,null,(function*(){if(!f(x,d)){for(h(x,d,1);!r((e=f(g,d),y=e.shift()));)try{yield y()}catch(e){null==c||c(e)}h(x,d,0)}var e})),b})),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(b)})(n,(()=>A(void 0,null,(function*(){return yield k((t=>A(void 0,null,(function*(){return((e=[])=>d.fromEntries(e))(e(yield L(t,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>A(void 0,null,(function*(){return yield k(((e,t)=>A(void 0,null,(function*(){return yield b(e,t)}))),e(),1)}))),(e=>o(e,1e3*y)),(e=>l(e)),j)},exports.objectStoreMatch=b;
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=setInterval,e=clearInterval,n=(t,e)=>t instanceof e,o=t=>null==t,l=Object,r=l.keys,i=l.freeze,u=t=>(t=>n(t,l)&&t.constructor==l)(t)&&0==(t=>r(t).length)(t),a=JSON.parse,d=t=>new Map(t),s=(t,e)=>null==t?void 0:t.get(e),c=(t,e,n)=>{return o(n)?(r=e,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(e,n);var l,r},v=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||c(t,e,n()),s(t,e)};var y=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const h=d(),f=d();var p=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const g=t=>t.headers.get("ETag");exports.createRemotePersister=(r,d,A,S,m)=>{let x;return((t,e,n,l,r,a,d=[])=>{let p,g,A,S=0,m=0;v(h,d,(()=>0)),v(f,d,(()=>[]));const x=t=>y(void 0,null,(function*(){return 2!=S&&(S=1,yield C.schedule((()=>y(void 0,null,(function*(){yield t(),S=0}))))),C})),C={load:(n,o)=>y(void 0,null,(function*(){return yield x((()=>y(void 0,null,(function*(){try{t.setContent(yield e())}catch(e){t.setContent([n,o])}}))))})),startAutoLoad:(...n)=>y(void 0,[...n],(function*(n={},o={}){return C.stopAutoLoad(),yield C.load(n,o),m=1,A=l(((n,o)=>y(void 0,null,(function*(){if(o){const e=o();yield x((()=>y(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield x((()=>y(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==n?void 0:n())?o:yield e())}catch(t){null==a||a(t)}}))))})))),C})),stopAutoLoad:()=>(m&&(r(A),A=void 0,m=0),C),save:e=>y(void 0,null,(function*(){return 1!=S&&(S=2,yield C.schedule((()=>y(void 0,null,(function*(){try{yield n(t.getContent,e)}catch(t){null==a||a(t)}S=0}))))),C})),startAutoSave:()=>y(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();u(n)&&u(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var e,n;return e=p,n=t.delListener,!!o(e)||n(e),C},schedule:(...t)=>y(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(s(f,d),...t),yield y(void 0,null,(function*(){if(!s(h,d)){for(c(h,d,1);!o((t=s(f,d),g=t.shift()));)try{yield g()}catch(t){null==a||a(t)}c(h,d,0)}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(C)})(r,(()=>p(void 0,null,(function*(){const t=yield fetch(d);return x=g(t),a(yield t.text())}))),(t=>p(void 0,null,(function*(){return yield fetch(A,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>n(e,Map)?l.fromEntries([...e]):e)))});var e}))),(e=>t((()=>p(void 0,null,(function*(){const t=yield fetch(d,{method:"HEAD"}),n=g(t);o(x)||o(n)||n==x||(x=n,e())}))),1e3*S)),(t=>e(t)),m)};
|
|
1
|
+
"use strict";const t=setInterval,e=clearInterval,n=(t,e)=>t instanceof e,o=t=>null==t,l=Object,r=l.keys,i=l.freeze,u=t=>(t=>n(t,l)&&t.constructor==l)(t)&&0==(t=>r(t).length)(t),a=JSON.parse,d=t=>new Map(t),s=(t,e)=>null==t?void 0:t.get(e),c=(t,e,n)=>{return o(n)?(r=e,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(e,n);var l,r},v=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||c(t,e,n()),s(t,e)};var y=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const h=d(),f=d();var p=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const g=t=>t.headers.get("ETag");exports.createRemotePersister=(r,d,A,S=5,m)=>{let x;return((t,e,n,l,r,a,d=[])=>{let p,g,A,S=0,m=0;v(h,d,(()=>0)),v(f,d,(()=>[]));const x=t=>y(void 0,null,(function*(){return 2!=S&&(S=1,yield C.schedule((()=>y(void 0,null,(function*(){yield t(),S=0}))))),C})),C={load:(n,o)=>y(void 0,null,(function*(){return yield x((()=>y(void 0,null,(function*(){try{t.setContent(yield e())}catch(e){t.setContent([n,o])}}))))})),startAutoLoad:(...n)=>y(void 0,[...n],(function*(n={},o={}){return C.stopAutoLoad(),yield C.load(n,o),m=1,A=l(((n,o)=>y(void 0,null,(function*(){if(o){const e=o();yield x((()=>y(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield x((()=>y(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==n?void 0:n())?o:yield e())}catch(t){null==a||a(t)}}))))})))),C})),stopAutoLoad:()=>(m&&(r(A),A=void 0,m=0),C),save:e=>y(void 0,null,(function*(){return 1!=S&&(S=2,yield C.schedule((()=>y(void 0,null,(function*(){try{yield n(t.getContent,e)}catch(t){null==a||a(t)}S=0}))))),C})),startAutoSave:()=>y(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();u(n)&&u(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var e,n;return e=p,n=t.delListener,!!o(e)||n(e),C},schedule:(...t)=>y(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(s(f,d),...t),yield y(void 0,null,(function*(){if(!s(h,d)){for(c(h,d,1);!o((t=s(f,d),g=t.shift()));)try{yield g()}catch(t){null==a||a(t)}c(h,d,0)}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(C)})(r,(()=>p(void 0,null,(function*(){const t=yield fetch(d);return x=g(t),a(yield t.text())}))),(t=>p(void 0,null,(function*(){return yield fetch(A,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>n(e,Map)?l.fromEntries([...e]):e)))});var e}))),(e=>t((()=>p(void 0,null,(function*(){const t=yield fetch(d,{method:"HEAD"}),n=g(t);o(x)||o(n)||n==x||(x=n,e())}))),1e3*S)),(t=>e(t)),m)};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t=require("yjs");const e=t=>t.length,
|
|
1
|
+
"use strict";var t=require("yjs");const e="t",n="v",o=t=>t.length,l=t=>t.shift(),r=t=>null==t,u=(t,e,n)=>r(t)?null==n?void 0:n():e(t),i=Object,s=i.keys,a=i.freeze,d=(t=[])=>i.fromEntries(t),c=(t,e)=>!r(((t,e)=>u(t,(t=>t[e])))(t,e)),v=(t,e)=>((t,e)=>t.map(e))(i.entries(t),(([t,n])=>e(n,t))),f=t=>(t=>t instanceof i&&t.constructor==i)(t)&&0==(t=>o(s(t)))(t),y=(t,e,n)=>(c(t,e)||(t[e]=n()),t[e]),h=t=>new Map(t),g=(t,e)=>null==t?void 0:t.get(e),p=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t))),S=(t,e,n)=>{return r(n)?(l=e,null==(o=t)||o.delete(l),t):null==t?void 0:t.set(e,n);var o,l},w=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||S(t,e,n()),g(t,e)};var A=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const O=h(),m=h();var J=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const L="delete",N=t=>[t.get(e),t.get(n)],x=(e,n,o,l)=>{var u;const i=r(n)?e:null!=(u=e.get(n))?u:e.set(n,new t.Map);let s;return v(o,((t,e)=>{l(i,e,t)&&(s=1)})),i.forEach(((t,e)=>{c(o,e)||(i.delete(e),s=1)})),r(n)||i.size||e.delete(n),s};exports.createYjsPersister=(i,s,c="tinybase",h)=>{const C=s.getMap(c);return((t,e,n,o,i,s,d=[])=>{let c,v,y,h=0,p=0;w(O,d,(()=>0)),w(m,d,(()=>[]));const J=t=>A(void 0,null,(function*(){return 2!=h&&(h=1,yield L.schedule((()=>A(void 0,null,(function*(){yield t(),h=0}))))),L})),L={load:(n,o)=>A(void 0,null,(function*(){return yield J((()=>A(void 0,null,(function*(){try{t.setContent(yield e())}catch(e){t.setContent([n,o])}}))))})),startAutoLoad:(...n)=>A(void 0,[...n],(function*(n={},l={}){return L.stopAutoLoad(),yield L.load(n,l),p=1,y=o(((n,o)=>A(void 0,null,(function*(){if(o){const e=o();yield J((()=>A(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield J((()=>A(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==n?void 0:n())?o:yield e())}catch(t){null==s||s(t)}}))))})))),L})),stopAutoLoad:()=>(p&&(i(y),y=void 0,p=0),L),save:e=>A(void 0,null,(function*(){return 1!=h&&(h=2,yield L.schedule((()=>A(void 0,null,(function*(){try{yield n(t.getContent,e)}catch(t){null==s||s(t)}h=0}))))),L})),startAutoSave:()=>A(void 0,null,(function*(){return yield L.stopAutoSave().save(),c=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();f(n)&&f(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>(u(c,t.delListener),L),schedule:(...t)=>A(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(g(m,d),...t),yield A(void 0,null,(function*(){if(!g(O,d)){for(S(O,d,1);!r(v=l(g(m,d)));)try{yield v()}catch(t){null==s||s(t)}S(O,d,0)}})),L})),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(L)})(i,(()=>J(void 0,null,(function*(){return C.size?[C.get(e).toJSON(),C.get(n).toJSON()]:void 0}))),((o,l)=>J(void 0,null,(function*(){return s.transact((()=>((o,l,i)=>{o.size||(o.set(e,new t.Map),o.set(n,new t.Map));const[s,a]=N(o),d=()=>{c=1};let c=1;if(u(null==i?void 0:i(),(([t,e])=>{c=0,v(t,((t,e)=>c?0:r(t)?s.delete(e):u(s.get(e),(e=>v(t,((t,n)=>c?0:r(t)?e.delete(n):u(e.get(n),(e=>v(t,((t,n)=>r(t)?e.delete(n):e.set(n,t)))),d)))),d))),v(e,((t,e)=>c?0:r(t)?a.delete(e):a.set(e,t)))})),c){const[t,e]=l();x(s,void 0,t,((t,e,n)=>x(s,e,n,((t,e,n)=>x(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),x(a,void 0,e,((t,e,n)=>{a.get(e)!==n&&a.set(e,n)}))}})(C,o,l)))}))),(t=>{const r=r=>t(void 0,(()=>((t,r)=>{if(1==o(r)&&(i=r[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(n).toJSON()];var i;const[s,a]=N(t),c={},v={};return((t,n)=>{t.forEach((({path:t,changes:{keys:n}})=>l(t)==e?u(l(t),(e=>{const o=y(c,e,d),r=s.get(e);u(l(t),(t=>{const e=y(o,t,d),l=r.get(t);p(n,((t,{action:n})=>e[t]=n==L?null:l.get(t)))}),(()=>p(n,((t,{action:e})=>{var n;return o[t]=e==L?null:null==(n=r.get(t))?void 0:n.toJSON()}))))}),(()=>p(n,((t,{action:e})=>{var n;return c[t]=e==L?null:null==(n=s.get(t))?void 0:n.toJSON()})))):p(n,((t,{action:e})=>v[t]=e==L?null:a.get(t)))))})(r),[c,v]})(C,r)));return C.observeDeep(r),r}),(t=>{C.unobserveDeep(t)}),h)};
|
|
Binary file
|
package/lib/cjs-es6/tools.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),r="type",s="default",I="Listener",c="get",u="add",$="Ids",i="Table",p=i+"s",b=i+$,C="Row",h=C+$,m="Sorted"+C+$,g="Cell",f=g+$,w="Value",y=w+"s",v=w+$,T=isFinite,V=(e,t)=>e instanceof t,x=e=>null==e,R=e=>e==n||e==o,k=t=>e(t)==n,P=e=>Array.isArray(e),S=t=>{const l=e(t);return R(l)||l==d&&T(t)?l:void 0},A=(e,t)=>e.every(t),O=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),D=(e,t=l)=>e.join(t),j=(e,t)=>e.map(t),N=e=>e.length,G=(e,t)=>e.filter(t),L=(e,...t)=>e.push(...t),M=e=>e.pop(),J=(e,...t)=>e.unshift(...t),z=e=>e.shift(),W=Object,B=W.keys,F=W.freeze,U=e=>V(e,W)&&e.constructor==W,_=(e,t)=>j(W.entries(e),(([e,l])=>t(l,e))),Z=e=>N(B(e)),H=e=>U(e)&&0==Z(e),Q=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},q=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},K=(e,t)=>null==e?void 0:e.forEach(t),X=(e,t)=>null==e?void 0:e.delete(t),Y=e=>new Map(e),ee=(e,t)=>null==e?void 0:e.get(t),te=(e,t)=>K(e,((e,l)=>t(l,e))),le=(e,t)=>{var l;return j([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},ae=(e,t,l)=>x(l)?(X(e,t),e):null==e?void 0:e.set(t,l),ne=(e,t,l)=>(Q(e,t)||ae(e,t,l()),ee(e,t)),oe=e=>e.toUpperCase(),de=e=>e.toLowerCase(),re="a ",se="A function for",Ie=", and registers a listener so that any changes to that result will cause a re-render",ce="Callback",ue="Del",$e="Deps",ie=$e+"?: React.DependencyList",pe="doRollback?: DoRollback",be="actions: () => Return, "+pe,Ce="export",he="Id",me="Invalid",ge="Json",fe=de(I),we="?: ",ye=" | undefined",ve="NonNullable",Te="Partial",Ve="Props",xe="Provider",Re=`Registers a ${fe} that will be called`,ke="Represents",Pe="rowId: "+he,Se="Schema",Ae="Set",Oe=", descending?: boolean, offset?: number, limit?: number",Ee="[]",De="the Store",je="Transaction",Ne=je+"Changes",Ge=de(je),Le="Execute a "+Ge+" to make multiple mutations",Me="Explicitly starts a "+Ge,Je="Explicitly finishes a "+Ge,ze="the end of the "+Ge,We="void",Be=" => "+We,Fe="WhenSet",Ue=" when setting it",_e=re+"string serialization of",Ze=" ",He="Gets a callback that can ",Qe="the ",qe=" the schema for",Ke=(e=0,t=0)=>`the ${bt[e]}content of`+(t?Ze+De:l),Xe=(e=0,t,a=0)=>$t[t]+Ze+Ke(e,1)+(a?" when setting it":l),Ye=(e,t=0)=>ke+` a Row when ${t?"s":"g"}etting ${Ke()} the '${e}' `+i,et=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,tt=(e,t)=>`Calls a function for each ${e} in `+t,lt=e=>"The props passed to a component that renders "+e,at=e=>"A function that takes "+e,nt=(e,t=0)=>se+" listening to changes to "+pt[e]+" in "+pt[t],ot=(e,t,a=0)=>Re+" whenever "+pt[e]+" in "+pt[t]+" change"+(a?l:"s"),dt=e=>`the '${e}' `+i,rt=e=>"the specified Row in "+dt(e),st=(e,t=0)=>$t[t]+` ${Ke()} `+dt(e),It=(e,t=0)=>$t[t]+` ${Ke()} `+rt(e),ct=(e,t,l=0)=>$t[l]+` the '${t}' Cell for `+rt(e),ut=(e,t=0)=>$t[t]+` the '${e}' Value`,$t=["Gets","Checks existence of","Sets","Deletes","Sets part of",ke,"Gets "+_e,"Sets "+_e,Re+" whenever",He+"set",He+"add",He+"set part of",He+"delete","Renders","Gets "+_e+qe,"Sets"+qe,"Deletes"+qe],it=[c,"has","set","del","set","forEach",u,l],pt=[De,p,Qe+i+Ze+$,re+i,Qe+C+Ze+$,re+C,Qe+g+Ze+$,re+g,"invalid Cell changes",y,Qe+w+Ze+$,re+w,"invalid Value changes",Qe+"sorted "+C+Ze+$,Qe+g+Ze+$+" anywhere",Qe+"number of Rows"],bt=[l,"tabular ","keyed value "],Ct=e=>new Set(P(e)||x(e)?e:[e]),ht=(e,t)=>null==e?void 0:e.add(t),mt=/[^A-Za-z]+/,gt=/[^A-Za-z0-9]+/,ft=/^( *)\/\*\* *(.*?) *\*\/$/gm,wt=(e,t,l)=>e.substring(t,l),yt=e=>e.includes(a),vt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Q(e,n)?vt(e,t,l,a+1):(ae(e,n,l),n)},Tt=e=>e.replace(ft,((e,t,l)=>{const a=77-Vt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Vt=e=>e.length,xt=e=>e.flat(1e3),Rt=(e,t=0)=>D(j(e.split(gt),((e,l)=>(l>0||t?oe:de)(wt(e,0,1))+wt(e,1)))),kt=e=>oe(D((e&&!mt.test(e[0])?e:" "+e).split(gt),"_")),Pt=e=>`/** ${e}. */`,St=(...e)=>D(G(e,(e=>e)),", "),At=(...e)=>"{"+D(e,"; ")+"}",Ot=(...e)=>At(...j(e,(e=>"readonly "+e))),Et=()=>{const e=[Y(),Y(),Y(),Y()],t=Y(),a=Y(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>D(xt(e),"\n"),(t,l,...a)=>E(a,(a=>E([0,1],(n=>(null!=t?t:n)==n?ht(ne(e[n],l,Ct),a):0)))),(e,a,n,o=l,d=1)=>vt(t,e,[a,n,o,d]),(e,t,l)=>vt(a,e,P(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>ee(a,e)===t?e:vt(a,e,t),(t=0)=>j([...O(le(e[t],((e,t)=>`import {${D(O(q(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>yt(e)!=yt(t)?yt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>le(t,(([e,t,a,n],o)=>[Pt(t),`${n?Ce+" ":l}type ${o}${a} = ${e};`,l])),()=>le(a,((e,t)=>(e=P(e)?e:[e],L(e,M(e)+";"),[`const ${t} = ${z(e)}`,e,l])))]},Dt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},jt=(e,t,l)=>[t=>_(e,((e,a)=>t(a,Rt(a,1),l(kt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[r],e[s],l(kt(t),`'${t}'`),Rt(t,1)))),e=>_(t,((t,a)=>e(a,t[r],t[s],l(kt(a),`'${a}'`),Rt(a,1))))],Nt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(p,At(...t((e=>`'${e}'?: {[rowId: Id]: `+At(...a(e,((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`)))+"}"))),Xe(1,5)),s=e(p+Fe,At(...t((e=>`'${e}'?: {[rowId: Id]: `+At(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Xe(1,5,1)),c=e(i+he,"keyof "+r,"A "+i+" Id in "+De),u=`<TId extends ${c}>`,$=e(i,ve+`<${r}[TId]>`,"A "+i+" in "+De,u),w=e(i+Fe,ve+`<${s}[TId]>`,"A "+i+" in "+De+Ue,u),y=e(C,$+"<TId>[Id]","A "+C+" in a "+i,u),v=e(C+Fe,w+"<TId>[Id]","A "+C+" in a "+i+Ue,u),T=e(g+he,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,u),V=e(g,ve+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${c}, CId extends ${T}<TId>>`),R=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${c}, CId = ${T}<TId>>`,0),k=e(g+ce,`(...[cellId, cell]: ${R}<TId>)`+Be,at(re+g+" Id, and "+g),u),P=e(C+ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Be+") "+Be,at(re+C+" Id, and a "+g+" iterator"),u),S=e(i+g+ce,`(cellId: ${T}<TId>, count: number) `+Be,at(re+g+" Id, and count of how many times it appears"),u),A=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${P}<TId>)${Be}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),O=e(i+ce,`(...[tableId, forEachRow]: ${A})`+Be,at(re+i+" Id, and a "+C+" iterator"),l),E=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,se+" returning information about any Cell's changes during a "+Ge),j=e(p+I,`(${d}, getCellChange: ${D}${ye})`+Be,nt(1)),N=e(b+I,`(${d})`+Be,nt(2)),G=e(i+I,`(${d}, tableId: ${c}, getCellChange: ${D}${ye})`+Be,nt(3)),L=e(i+f+I,`(${d}, tableId: ${c})`+Be,nt(14,3)),M=e(C+"Count"+I,`(${d}, tableId: ${c})`+Be,nt(15,3)),J=e(h+I,`(${d}, tableId: ${c})`+Be,nt(4,3)),z=e(m+I,"("+St(d,"tableId: "+c,"cellId: Id"+ye,"descending: boolean","offset: number","limit: number"+ye,"sortedRowIds: Ids")+")"+Be,nt(13,3)),W=e(C+I,"("+St(""+d,"tableId: "+c,Pe,`getCellChange: ${D}${ye}`)+")"+Be,nt(5,3)),B=e(f+I,"("+St(""+d,"tableId: "+c,Pe)+")"+Be,nt(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${Pe}, cellId: CId, newCell: ${V}<TId, CId> ${ye}, oldCell: ${V}<TId, CId> ${ye}, getCellChange: ${D} ${ye}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,s,c,$,w,y,v,T,V,k,P,S,O,j,N,G,L,M,J,z,W,B,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+Be,nt(7,5)),e(me+g+I,`(${d}, tableId: Id, ${Pe}, cellId: Id, invalidCells: any[])`+Be,nt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,At(...n(((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`))),Xe(2,5)),r=e(y+Fe,At(...n(((e,t)=>`'${e}'?: ${t}`))),Xe(2,5,1)),s=e(w+he,"keyof "+d,"A "+w+" Id in "+De),c=e(w,ve+`<${d}[VId]>`,"A "+w+" Id in "+De,`<VId extends ${s}>`),u=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+De,`<VId = ${s}>`,0),$=e(w+ce,`(...[valueId, value]: ${u})`+Be,at(re+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${s}) => ValueChange`,se+" returning information about any Value's changes during a "+Ge),p=e(y+I,`(${o}, getValueChange: ${i}${ye})`+Be,nt(9)),b=e(v+I,`(${o})`+Be,nt(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${c}<VId> ${ye}, oldValue: ${c}<VId> ${ye}, getValueChange: ${i} ${ye}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,c,$,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Be,nt(11)),e(me+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Be,nt(12))]},(t,l)=>e(je+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Be,se+" listening to the completion of a "+Ge)],Gt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Lt=(e,t=l)=>`fluent(() => ${Gt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Jt=(e,a,n)=>{const[d,c,T,V,R,P,S,A]=Et(),[O,j,N]=jt(e,a,R),[G,M,z]=Nt(T,O,j,N),W=Y(),B=(e=0)=>le(W,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||J(s,Pt(o)),L(s,l),s})),F=(e,t,a,n,o,d=l)=>vt(W,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,r=l,s=l)=>F(it[e]+t+(4==e?Te:l)+a,d,n,(n==Q?Lt:Gt)(it[e]+(4==e?Te:l)+a,r,e?void 0:n),o,s),_=(e,t,a,n=l,o=l,d=1,r=l)=>F(u+e+I,(n?n+", ":l)+fe+": "+t+(d?", mutator?: boolean":l),he,Mt(u+e+I,o,d?"mutator":l),a,r),Z=`./${Rt(n)}.d`,Q=Rt(n,1),K=Rt(Q),X=[],ne=Y();let oe=[],de=[];if(c(1,Z,Q,`create${Q} as create${Q}Decl`),H(e))c(null,t,p);else{c(0,t,"CellChange"),c(null,t,$);const[e,a,n,d,I,u,w,y,v,V,P,S,A,N,M,J,z,W,B,F,H,te,le,de]=G(K,Q),re=Y();O(((e,t)=>{const l=`<'${e}'>`,a=[T(t+i,d+l,ke+` the '${e}' `+i),T(t+i+Fe,I+l,ke+` the '${e}' `+i+Ue),T(t+C,u+l,Ye(e)),T(t+C+Fe,w+l,Ye(e,1)),T(t+g+he,y+l,`A Cell Id for the '${e}' `+i),T(t+g+ce,V+l,at(`a Cell Id and value from a Row in the '${e}' `+i)),T(t+C+ce,P+l,at(`a Row Id from the '${e}' Table, and a Cell iterator`)),T(t+i+g+ce,S+l,at(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ae(re,e,a),c(1,Z,...a)})),c(1,Z,e,a,n,y,A,N,M,J,z,W,B,F,H,te,le,de),oe=[e,a,n,y,N,M,J,z,W,B,F,H,te,le,re],E([[e],[o],[Q,"tables: "+a,"tables"],[Q]],(([e,t,a],n)=>U(n,l,p,e,Xe(1,n),t,a))),U(0,l,b,n+Ee,et(i,De)),U(5,l,i,We,tt(i,De),"tableCallback: "+A,"tableCallback as any"),O(((e,t,a)=>{const[n,d,r,s,I,c,u,p]=ee(re,e);E([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,o,d=l],r)=>U(r,t,i,n,st(e,r),o,a+d))),U(0,t,i+f,$,et(g,"the whole of "+dt(e)),l,a),U(5,t,i+g,We,tt(i+g,"the whole of "+dt(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,C+"Count","number","Gets the number of Rows in the "+dt(e),l,a),U(0,t,h,$,et(C,dt(e)),l,a),U(0,t,m,$,et(C,dt(e),1),"cellId?: "+I+Oe,a+", cellId, descending, offset, limit"),U(5,t,C,We,tt(C,dt(e)),"rowCallback: "+u,a+", rowCallback as any"),E([[r],[o],[Q,", row: "+s,", row"],[Q],[Q,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>U(r,t,C,n,It(e,r),Pe+o,a+", rowId"+d))),U(6,t,C,he+ye,"Add a new Row to "+dt(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+Ee,et(g,rt(e)),Pe,a+", rowId"),U(5,t,g,We,tt(g,rt(e)),Pe+", cellCallback: "+c,a+", rowId, cellCallback as any"),j(e,((n,d,r,s,I)=>{const c="Map"+Rt(d,1);ae(ne,d,c);const u=d+(x(r)?ye:l);E([[u],[o],[Q,`, cell: ${d} | `+c,", cell as any"],[Q]],(([o,d=l,r=l],c)=>U(c,t+I,g,o,ct(e,n,c),Pe+d,a+", rowId, "+s+r))),U(1,t+I,i+g,o,$t[1]+` the '${n}' Cell anywhere in `+dt(e),l,a+", "+s)}))})),U(0,l,p+ge,ge,Xe(1,6)),U(2,l,p+ge,Q,Xe(1,7),"tablesJson: "+ge,"tables"+ge),_(p,N,Xe(1,8)+" changes"),_(b,M,ot(2,0,1)),_(i,J,ot(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,z,ot(14,3,1),`tableId: ${n} | null`,"tableId"),_(C+"Count",W,ot(15,3),`tableId: ${n} | null`,"tableId"),_(h,B,ot(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,F,ot(13,3,1),St("tableId: TId",`cellId: ${y}<TId>`+ye,"descending: boolean","offset: number","limit: number"+ye),St("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,H,ot(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,te,ot(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,le,ot(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${D(O((e=>{var t,a;return null!=(a=null==(t=ee(re,e))?void 0:t[4])?a:l}))," | ")} | null`,"tableId, rowId, cellId"),_(me+g,de,Re+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...q(ne)),L(X,".set"+p+Se+"({",xt(O(((e,t,a)=>[`[${a}]: {`,...j(e,((e,t,a,n)=>`[${n}]: {[${R(kt(r),`'${r}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(s),`'${s}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(H(a))c(null,t,y);else{const[e,a,n,d,I,u,$,i,p]=M(K,Q);c(1,Z,e,a,n,I,u,$,i,p),de=[e,a,n,u,$,i],E([[e],[o],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,Xe(2,n),t,a))),U(0,l,v,n+Ee,et(w,De)),U(5,l,w,"void",tt(w,De),"valueCallback: "+I,"valueCallback as any"),N(((e,t,a,n,d)=>{const r="Map"+Rt(t,1);ae(ne,t,r),E([[t],[o],[Q,`value: ${t} | `+r,", value as any"],[Q]],(([t,a,o=l],r)=>U(r,d,w,t,ut(e,r),a,n+o)))})),U(0,l,y+ge,ge,Xe(2,6)),U(2,l,y+ge,Q,Xe(2,7),"valuesJson: "+ge,"values"+ge),_(y,u,Xe(2,8)+" changes"),_(v,$,ot(10,0,1)),_(w,i,ot(11,0),`valueId: ${n} | null`,"valueId"),_(me+w,p,Re+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...q(ne)),c(0,t,"ValueChange"),L(X,".set"+y+Se+"({",N(((e,t,a,n)=>[`[${n}]: {[${R(kt(r),`'${r}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(s),`'${s}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,Xe(0,0)),U(2,l,"Content",Q,Xe(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Ne,Q,`Applies a set of ${Ne} to the Store`,"transactionChanges: "+Ne,"transactionChanges"),te(ne,((e,t)=>T(t,`(cell: ${e}${ye}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",he,"IdOrNull",ge,"Store",Ne),c(0,t,"Get"+Ne,"GetTransactionLog"),U(0,l,ge,ge,Xe(0,6)),U(2,l,ge,Q,Xe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),U(7,l,Ge,"Return",Le,be,"actions, doRollback","<Return>"),U(7,l,"start"+je,Q,Me),U(7,l,"finish"+je,Q,Je,pe,"doRollback");const re=z(K,Q);return _("Start"+je,re,Re+" just before the start of the "+Ge,l,l,0),_("WillFinish"+je,re,Re+" just before "+ze,l,l,0),_("DidFinish"+je,re,Re+" just after "+ze,l,l,0),U(7,l,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,Q,"Remove a listener that was previously added to "+De,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",$t[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,Q,`create${Q} as create${Q}Decl`,re),R("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${K};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${K}, ...params)`),R(K,["{",...B(1),"}"]),[d(...P(0),...S(),Ce+" interface "+Q+" {",...B(0),"}",l,Pt(`Creates a ${Q} object`),Ce+" function create"+Q+"(): "+Q+";"),d(...P(1),Ce+" const create"+Q+": typeof create"+Q+"Decl = () => {",...A(),`return Object.freeze(${K});`,"};"),oe,de]},zt=e=>c+e,Wt=e=>St(zt(e),zt(e)+$e),Bt="debugIds?: boolean",Ft="debugIds={debugIds}",Ut="then"+ie,_t="Parameter",Zt=": (parameter: "+_t+", store: Store) => ",Ht="const contextValue = useContext(Context);",Qt=", based on a parameter",qt=": ",Kt="<"+_t+",>",Xt=_t+"ized"+ce+"<"+_t+">",Yt="rowId",el="rowId={rowId}",tl=", separator, debugIds",ll="separator?: ReactElement | string",al="then?: (store: Store",nl=St(al+")"+Be,Ut),ol="then, then"+$e,dl=Yt+qt+he,rl="View",sl=(e,...t)=>St(...t,fe+": "+e,fe+ie,"mutator?: boolean"),Il=(...e)=>St(...e,fe,fe+$e,"mutator"),cl=(e,a,n,o,d)=>{const[r,s,c,u,T,V,R,k]=Et(),[P,S,A]=jt(e,a,T),O=`./${Rt(n)}.d`,E=`./${Rt(n)}-ui-react.d`,j="tinybase/ui-react",N=Rt(n,1),G=Rt(N),M=N+"Or"+N+he,z=G+"Or"+N+he,W=G+`={${G}}`,B=Y(),F=(e,t,a,n,o,d=l)=>(s(1,E,e+" as "+e+"Decl"),vt(B,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,r=l,I=l,c=l)=>(s(1,j,`use${t} as use${t}Core`),U(e,St(o,X,I),a,ae+`(${z}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,r)),Z=(e,t,l,a)=>F(e,t,1,l,a),Q=(e=0)=>le(B,(([t,a,n,o,d],r)=>{const s=e?[Ce+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ce+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||J(s,Pt(o)),L(s,l),s}));s(null,t,he,"Store",ce,_t+"ized"+ce),s(0,j,"ComponentReturnType"),s(1,j,"useCellIds"),s(null,j,"ExtraProps"),s(0,O,N);const q=c(M,N+" | "+he,`Used when you need to refer to a ${N} in a React hook or component`),K=c(xe+Ve,Ot(G+we+N,G+`ById?: {[${G}Id: Id]: ${N}}`),`Used with the ${xe} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,q,K);const X=z+we+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${G}Id: Id]: ${N}}?]>([])`),U("Create"+N,`create: () => ${N}, create`+ie,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const te=U(N,"id?: Id",N+ye,["{",Ht,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${xe} component context`),ae=u("useHook",z+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${G} : ${z})?.getStore(), ...postParams)`]),ne=u("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=u("wrap",St("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=u("useCustomOrDefaultCellIds",St("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${q} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=T("NullComponent","() => null");if(!H(e)){const[e,a,n,d,r,w,y,v,T,V,R,k,A,j,L]=o;s(null,O,e,a,n,r,w,y,v,T,V,R,k,A,j),s(0,O,d),s(1,O,N),s(null,t,$,"IdOrNull");const M=u("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+tl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",el,"customCellIds={customCellIds}",W,Ft,"/>","))",tl,", tableId,",");"]),J=u("getDefaultTableComponent","tableId: Id",D(P(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),z=u("getDefaultCellComponent","tableId: Id, cellId: Id",D(P(((e,t,l)=>`tableId == ${l} ? ${D(S(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(p,p,e,Xe(1,0)+Ie);const B=_(b,b,n+Ee,et(i,De)+Ie);_(Ae+p+ce,Ae+p+ce,Xt,Xe(1,9)+Qt,St(zt(p)+Zt+a,zt(p)+ie),Wt(p),Kt,St(al,`tables: ${a})`+Be,Ut),ol),_(ue+p+ce,ue+p+ce,ce,Xe(1,12),l,l,l,nl,ol);const F=c(g+Ve,Ot("tableId?: TId","rowId: Id","cellId?: CId",G+we+N,Bt),lt(re+g),`<TId extends ${n}, CId extends ${d}<TId>>`),U=c(C+Ve,Ot("tableId?: TId","rowId: Id",G+we+N,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ll,Bt),lt(re+C),`<TId extends ${n}>`),H=c(i+Ve,Ot("tableId?: TId",G+we+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(re+i),`<TId extends ${n}>`),Q=c("Sorted"+i+Ve,Ot("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+we+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(re+"sorted "+i),`<TId extends ${n}>`),q=c(p+Ve,Ot(G+we+N,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ll,Bt),lt(Ke(1,1)));s(1,E,q,H,Q,U,F),Z(p+rl,"{"+G+", tableComponents, getTableComponentProps"+tl+"}: "+q,[oe+`(${B}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+J+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ft,"/>;","}), separator)"],Xe(1,13)+Ie),P(((e,t,a)=>{const[n,o,d,r,I]=ee(L,e);s(null,O,n,o,d,r,I),_(t+i,i,n,st(e)+Ie,l,a),_(t+i+f,i+f,$,et(g,"the whole of "+dt(e))+Ie,l,a);const c=_(t+h,h,$,et(C,dt(e))+Ie,l,a),u=_(t+m,m,$,et(C,dt(e),1)+Ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,It(e)+Ie,dl,St(a,Yt)),_(t+f,f,I+Ee,et(g,rt(e))+Ie,dl,St(a,Yt)),_(Ae+t+i+ce,Ae+i+ce,Xt,st(e,9)+Qt,St(zt(i)+Zt+o,zt(i)+ie),St(a,Wt(i)),Kt,St(al,`table: ${o})`+Be,Ut),ol),_(ue+t+i+ce,ue+i+ce,ce,st(e,12),l,a,l,nl,ol),_(Ae+t+C+ce,Ae+C+ce,Xt,It(e,9)+Qt,St(dl,zt(C)+Zt+r,zt(C)+ie),St(a,Yt,Wt(C)),Kt,St(al,`row: ${r})`+Be,Ut),ol),_("Add"+t+C+ce,"Add"+C+ce,Xt,It(e,10)+Qt,St(zt(C)+Zt+r,zt(C)+ie),St(a,Wt(C)),Kt,"then?: ("+St(dl+ye,"store: Store","row: "+r+")"+Be,"then"+ie)+", reuseRowIds?: boolean",ol+", reuseRowIds"),_(Ae+t+Te+C+ce,Ae+Te+C+ce,Xt,It(e,11)+Qt,St(dl,zt(Te+C)+Zt+r,zt(Te+C)+ie),St(a,Yt,Wt(Te+C)),Kt,St(al,`partialRow: ${r})`+Be,Ut),ol),_(ue+t+C+ce,ue+C+ce,ce,It(e,12),dl,St(a,Yt),l,nl,ol);const p=Z(t+C+rl,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+tl+`}: ${U}<'${e}'>`,[oe+`(${de}(customCellIds, `+a+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+z+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,el,"cellId={cellId}",W,Ft,"/>;","})"+tl+", rowId)"],It(e,13)+Ie);Z(t+"Sorted"+i+rl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+u+`(cellId, descending, offset, limit, props.${G}), ${a}, ${p});`,st(e,13)+", sorted"+Ie),Z(t+i+rl,`props: ${H}<'${e}'>`,M+"(props, "+c+`(props.${G}), ${a}, ${p});`,st(e,13)+Ie),S(e,((n,o,d,r,I)=>{const c="Map"+Rt(o,1);s(0,O,c),s(1,O,c);const u=_(t+I+g,g,o+(x(d)?ye:l),ct(e,n)+Ie,dl,St(a,Yt,r));_(Ae+t+I+g+ce,Ae+g+ce,Xt,ct(e,n,9)+Qt,St(dl,zt(g)+Zt+o+" | "+c,zt(g)+ie),St(a,Yt,r,Wt(g)),Kt,St(al,`cell: ${o} | ${c})`+Be,Ut),ol),_(ue+t+I+g+ce,ue+g+ce,ce,ct(e,n,12),St(dl,"forceDel?: boolean"),St(a,Yt,r,"forceDel"),l,nl,ol),Z(t+I+g+rl,`{rowId, ${G}, debugIds}: `+F+`<'${e}', '${n}'>`,[oe+`('' + ${u}(rowId, `+G+`) ?? '', undefined, debugIds, ${r})`],ct(e,n,13)+Ie)}))}));const K=D(P((e=>{var t,a;return null!=(a=null==(t=ee(L,e))?void 0:t[4])?a:l}))," | ");_(p+I,p+I,We,Xe(1,8)+" changes",sl(r),Il()),_(b+I,b+I,We,ot(2,0,1),sl(w),Il()),_(i+I,i+I,We,ot(3,0),sl(y,`tableId: ${n} | null`),Il("tableId")),_(i+f+I,i+f+I,We,ot(14,3,1),sl(v,`tableId: ${n} | null`),Il("tableId")),_(h+I,h+I,We,ot(4,3,1),sl(V,`tableId: ${n} | null`),Il("tableId")),_(m+I,m+I,We,ot(13,3,1),sl(R,`tableId: ${n} | null`,"cellId: "+K+ye,"descending: boolean","offset: number","limit: number"+ye),Il("tableId","cellId","descending","offset","limit")),_(C+I,C+I,We,ot(5,3),sl(k,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(f+I,f+I,We,ot(6,5,1),sl(A,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(g+I,g+I,We,ot(7,5),sl(j,`tableId: ${n} | null`,Yt+": IdOrNull",`cellId: ${K} | null`),Il("tableId",Yt,"cellId"))}if(!H(a)){const[e,t,a,n,o,r]=d;s(null,O,...d),s(1,O,N);const $=u("getDefaultValueComponent","valueId: Id",D(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(y,y,e,Xe(2,0)+Ie);const i=_(v,v,a+Ee,et(w,De)+Ie);_(Ae+y+ce,Ae+y+ce,Xt,Xe(2,9)+Qt,St(zt(y)+Zt+t,zt(y)+ie),Wt(y),Kt,St(al,`values: ${t})`+Be,Ut),ol),_(Ae+Te+y+ce,Ae+Te+y+ce,Xt,Xe(2,11)+Qt,St(zt(Te+y)+Zt+t,zt(Te+y)+ie),Wt(Te+y),Kt,St(al,`partialValues: ${t})`+Be,Ut),ol),_(ue+y+ce,ue+y+ce,ce,Xe(2,12),l,l,l,nl,ol);const p=c(w+Ve,Ot("valueId?: VId",G+we+N,Bt),lt("a Value"),`<VId extends ${a}>`),b=c(y+Ve,Ot(G+we+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ll,Bt),lt(Ke(2,1)));s(1,E,b,p),Z(y+rl,"{"+G+", valueComponents, getValueComponentProps"+tl+"}: "+b,[oe+`(${i}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+$+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ft,"/>;","}), separator)"],Xe(2,13)+Ie),A(((e,t,a,n,o)=>{const d="Map"+Rt(t,1);s(0,O,d),s(1,O,d);const r=_(o+w,w,t,ut(e)+Ie,l,n);_(Ae+o+w+ce,Ae+w+ce,Xt,ut(e,9)+Qt,St(zt(w)+Zt+t+" | "+d,zt(w)+ie),St(n,Wt(w)),Kt,St(al,`value: ${t} | ${d})`+Be,Ut),ol),_(ue+o+w+ce,ue+w+ce,ce,ut(e,12),l,n,l,nl,ol),Z(o+w+rl,`{${G}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${r}(`+G+`) ?? '', undefined, debugIds, ${n})`],ut(e,13)+Ie)})),_(y+I,y+I,We,Xe(2,8)+" changes",sl(n),Il()),_(v+I,v+I,We,ot(10,0,1),sl(o),Il()),_(w+I,w+I,We,ot(11,0),sl(r,`valueId: ${a} | null`),Il("valueId"))}return Z(xe,`{${G}, ${G}ById, children}: `+K+" & {children: React.ReactNode}",["{",Ht,"return (","<Context."+xe,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${xe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[r(...V(0),...R(),...Q(0)),r(...V(1),...k(),...Q(1))]},ul=(e,t,a)=>{if(H(e)&&H(t))return[l,l,l,l];const[n,o,d,r]=Jt(e,t,a);return[n,o,...cl(e,t,a,d,r)]},$l=JSON.parse;var il=Object.defineProperty,pl=Object.defineProperties,bl=Object.getOwnPropertyDescriptors,Cl=Object.getOwnPropertySymbols,hl=Object.prototype.hasOwnProperty,ml=Object.prototype.propertyIsEnumerable,gl=(e,t,l)=>t in e?il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,fl=(e,t)=>{for(var l in t||(t={}))hl.call(t,l)&&gl(e,l,t[l]);if(Cl)for(var l of Cl(t))ml.call(t,l)&&gl(e,l,t[l]);return e},wl=(e,t)=>pl(e,bl(t)),yl=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const vl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tl=Dt((e=>{const t=()=>{const t=$l(e.getTablesSchemaJson());return!H(t)||A(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=Y();if(A(a,(t=>A(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ne(n,a,(()=>[S(o),Y(),[0],0])),[r,s,[I]]=d,c=ne(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),ae(s,o,c),d[3]++,r==S(o)})))))return t[l]={},K(n,(([e,,[,n],o],d)=>{t[l][d]=fl({[r]:e},o==N(a)?{[s]:n}:{})})),1}))?t:{}},l=()=>{const t=$l(e.getValuesSchemaJson());return H(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:S(l)}})),t},a=e=>ul(t(),l(),e),n=e=>yl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return j(a(e),((e,a)=>Tt(l(e,wl(fl({},vl),{filepath:"_."+t[a]})))))}));return F({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),fl({totalTables:l,totalRows:a,totalCells:n,totalValues:N(e.getValueIds()),jsonLength:Vt(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=Tl;
|
|
1
|
+
"use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),r="type",s="default",I="Listener",c="get",u="add",i="Ids",$="Table",p=$+"s",b=$+i,C="Row",h=C+i,m="Sorted"+C+i,g="Cell",f=g+i,w="Value",y=w+"s",v=w+i;var T=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const V=Promise,x=isFinite,R=(e,t)=>e instanceof t,P=e=>null==e,k=e=>e==n||e==o,S=t=>e(t)==n,A=e=>Array.isArray(e),O=e=>T(void 0,null,(function*(){return V.all(e)})),E=t=>{const l=e(t);return k(l)||l==d&&x(t)?l:void 0},D=(e,t)=>e.every(t),j=(e,t)=>e.sort(t),N=(e,t)=>e.forEach(t),G=(e,t=l)=>e.join(t),L=(e,t)=>e.map(t),M=e=>e.length,J=(e,t)=>e.filter(t),z=(e,...t)=>e.push(...t),W=e=>e.pop(),B=(e,...t)=>e.unshift(...t),F=e=>e.shift(),U=Object,_=U.keys,Z=U.freeze,H=e=>R(e,U)&&e.constructor==U,Q=(e,t)=>L(U.entries(e),(([e,l])=>t(l,e))),q=e=>M(_(e)),K=e=>H(e)&&0==q(e),X=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},Y=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ee=(e,t)=>null==e?void 0:e.forEach(t),te=(e,t)=>null==e?void 0:e.delete(t),le=e=>new Map(e),ae=(e,t)=>null==e?void 0:e.get(t),ne=(e,t)=>ee(e,((e,l)=>t(l,e))),oe=(e,t)=>{var l;return L([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},de=(e,t,l)=>P(l)?(te(e,t),e):null==e?void 0:e.set(t,l),re=(e,t,l)=>(X(e,t)||de(e,t,l()),ae(e,t)),se=e=>e.toUpperCase(),Ie=e=>e.toLowerCase(),ce="a ",ue="A function for",ie=", and registers a listener so that any changes to that result will cause a re-render",$e="Callback",pe="Del",be="Deps",Ce=be+"?: React.DependencyList",he="doRollback?: DoRollback",me="actions: () => Return, "+he,ge="export",fe="Id",we="Invalid",ye="Json",ve=Ie(I),Te="?: ",Ve=" | undefined",xe="NonNullable",Re="Partial",Pe="Props",ke="Provider",Se=`Registers a ${ve} that will be called`,Ae="Represents",Oe="rowId: "+fe,Ee="Schema",De="Set",je=", descending?: boolean, offset?: number, limit?: number",Ne="[]",Ge="the Store",Le="Transaction",Me=Le+"Changes",Je=Ie(Le),ze="Execute a "+Je+" to make multiple mutations",We="Explicitly starts a "+Je,Be="Explicitly finishes a "+Je,Fe="the end of the "+Je,Ue="void",_e=" => "+Ue,Ze="WhenSet",He=" when setting it",Qe=ce+"string serialization of",qe=" ",Ke="Gets a callback that can ",Xe="the ",Ye=" the schema for",et=(e=0,t=0)=>`the ${mt[e]}content of`+(t?qe+Ge:l),tt=(e=0,t,a=0)=>bt[t]+qe+et(e,1)+(a?" when setting it":l),lt=(e,t=0)=>Ae+` a Row when ${t?"s":"g"}etting ${et()} the '${e}' `+$,at=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,nt=(e,t)=>`Calls a function for each ${e} in `+t,ot=e=>"The props passed to a component that renders "+e,dt=e=>"A function that takes "+e,rt=(e,t=0)=>ue+" listening to changes to "+ht[e]+" in "+ht[t],st=(e,t,a=0)=>Se+" whenever "+ht[e]+" in "+ht[t]+" change"+(a?l:"s"),It=e=>`the '${e}' `+$,ct=e=>"the specified Row in "+It(e),ut=(e,t=0)=>bt[t]+` ${et()} `+It(e),it=(e,t=0)=>bt[t]+` ${et()} `+ct(e),$t=(e,t,l=0)=>bt[l]+` the '${t}' Cell for `+ct(e),pt=(e,t=0)=>bt[t]+` the '${e}' Value`,bt=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ae,"Gets "+Qe,"Sets "+Qe,Se+" whenever",Ke+"set",Ke+"add",Ke+"set part of",Ke+"delete","Renders","Gets "+Qe+Ye,"Sets"+Ye,"Deletes"+Ye],Ct=[c,"has","set","del","set","forEach",u,l],ht=[Ge,p,Xe+$+qe+i,ce+$,Xe+C+qe+i,ce+C,Xe+g+qe+i,ce+g,"invalid Cell changes",y,Xe+w+qe+i,ce+w,"invalid Value changes",Xe+"sorted "+C+qe+i,Xe+g+qe+i+" anywhere",Xe+"number of Rows"],mt=[l,"tabular ","keyed value "],gt=e=>new Set(A(e)||P(e)?e:[e]),ft=(e,t)=>null==e?void 0:e.add(t),wt=/[^A-Za-z]+/,yt=/[^A-Za-z0-9]+/,vt=/^( *)\/\*\* *(.*?) *\*\/$/gm,Tt=(e,t,l)=>e.substring(t,l),Vt=e=>e.includes(a),xt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return X(e,n)?xt(e,t,l,a+1):(de(e,n,l),n)},Rt=e=>e.replace(vt,((e,t,l)=>{const a=77-Pt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Pt=e=>e.length,kt=e=>e.flat(1e3),St=(e,t=0)=>G(L(e.split(yt),((e,l)=>(l>0||t?se:Ie)(Tt(e,0,1))+Tt(e,1)))),At=e=>se(G((e&&!wt.test(e[0])?e:" "+e).split(yt),"_")),Ot=e=>`/** ${e}. */`,Et=(...e)=>G(J(e,(e=>e)),", "),Dt=(...e)=>"{"+G(e,"; ")+"}",jt=(...e)=>Dt(...L(e,(e=>"readonly "+e))),Nt=()=>{const e=[le(),le(),le(),le()],t=le(),a=le(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>G(kt(e),"\n"),(t,l,...a)=>N(a,(a=>N([0,1],(n=>(null!=t?t:n)==n?ft(re(e[n],l,gt),a):0)))),(e,a,n,o=l,d=1)=>xt(t,e,[a,n,o,d]),(e,t,l)=>xt(a,e,A(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>ae(a,e)===t?e:xt(a,e,t),(t=0)=>L([...j(oe(e[t],((e,t)=>`import {${G(j(Y(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Vt(e)!=Vt(t)?Vt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>oe(t,(([e,t,a,n],o)=>[Ot(t),`${n?ge+" ":l}type ${o}${a} = ${e};`,l])),()=>oe(a,((e,t)=>(e=A(e)?e:[e],z(e,W(e)+";"),[`const ${t} = ${F(e)}`,e,l])))]},Gt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Lt=(e,t,l)=>[t=>Q(e,((e,a)=>t(a,St(a,1),l(At(a),`'${a}'`)))),(t,a)=>Q(e[t],((e,t)=>a(t,e[r],e[s],l(At(t),`'${t}'`),St(t,1)))),e=>Q(t,((t,a)=>e(a,t[r],t[s],l(At(a),`'${a}'`),St(a,1))))],Mt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(p,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...a(e,((e,t,a)=>`'${e}'${P(a)?"?":l}: ${t}`)))+"}"))),tt(1,5)),s=e(p+Ze,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),tt(1,5,1)),c=e($+fe,"keyof "+r,"A "+$+" Id in "+Ge),u=`<TId extends ${c}>`,i=e($,xe+`<${r}[TId]>`,"A "+$+" in "+Ge,u),w=e($+Ze,xe+`<${s}[TId]>`,"A "+$+" in "+Ge+He,u),y=e(C,i+"<TId>[Id]","A "+C+" in a "+$,u),v=e(C+Ze,w+"<TId>[Id]","A "+C+" in a "+$+He,u),T=e(g+fe,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,u),V=e(g,xe+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(g+$e,`(...[cellId, cell]: ${x}<TId>)`+_e,dt(ce+g+" Id, and "+g),u),k=e(C+$e,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+_e+") "+_e,dt(ce+C+" Id, and a "+g+" iterator"),u),S=e($+g+$e,`(cellId: ${T}<TId>, count: number) `+_e,dt(ce+g+" Id, and count of how many times it appears"),u),A=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${_e}] : never`,$+" Ids and callback types",`<TId = ${c}>`,0),O=e($+$e,`(...[tableId, forEachRow]: ${A})`+_e,dt(ce+$+" Id, and a "+C+" iterator"),l),E=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,ue+" returning information about any Cell's changes during a "+Je),j=e(p+I,`(${d}, getCellChange: ${D}${Ve})`+_e,rt(1)),N=e(b+I,`(${d})`+_e,rt(2)),G=e($+I,`(${d}, tableId: ${c}, getCellChange: ${D}${Ve})`+_e,rt(3)),L=e($+f+I,`(${d}, tableId: ${c})`+_e,rt(14,3)),M=e(C+"Count"+I,`(${d}, tableId: ${c})`+_e,rt(15,3)),J=e(h+I,`(${d}, tableId: ${c})`+_e,rt(4,3)),z=e(m+I,"("+Et(d,"tableId: "+c,"cellId: Id"+Ve,"descending: boolean","offset: number","limit: number"+Ve,"sortedRowIds: Ids")+")"+_e,rt(13,3)),W=e(C+I,"("+Et(""+d,"tableId: "+c,Oe,`getCellChange: ${D}${Ve}`)+")"+_e,rt(5,3)),B=e(f+I,"("+Et(""+d,"tableId: "+c,Oe)+")"+_e,rt(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${Oe}, cellId: CId, newCell: ${V}<TId, CId> ${Ve}, oldCell: ${V}<TId, CId> ${Ve}, getCellChange: ${D} ${Ve}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,s,c,i,w,y,v,T,V,R,k,S,O,j,N,G,L,M,J,z,W,B,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+_e,rt(7,5)),e(we+g+I,`(${d}, tableId: Id, ${Oe}, cellId: Id, invalidCells: any[])`+_e,rt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Dt(...n(((e,t,a)=>`'${e}'${P(a)?"?":l}: ${t}`))),tt(2,5)),r=e(y+Ze,Dt(...n(((e,t)=>`'${e}'?: ${t}`))),tt(2,5,1)),s=e(w+fe,"keyof "+d,"A "+w+" Id in "+Ge),c=e(w,xe+`<${d}[VId]>`,"A "+w+" Id in "+Ge,`<VId extends ${s}>`),u=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+Ge,`<VId = ${s}>`,0),i=e(w+$e,`(...[valueId, value]: ${u})`+_e,dt(ce+w+" Id, and "+w)),$=e("GetValueChange",`(valueId: ${s}) => ValueChange`,ue+" returning information about any Value's changes during a "+Je),p=e(y+I,`(${o}, getValueChange: ${$}${Ve})`+_e,rt(9)),b=e(v+I,`(${o})`+_e,rt(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${c}<VId> ${Ve}, oldValue: ${c}<VId> ${Ve}, getValueChange: ${$} ${Ve}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,c,i,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+_e,rt(11)),e(we+w+I,`(${o}, valueId: Id, invalidValues: any[])`+_e,rt(12))]},(t,l)=>e(Le+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+_e,ue+" listening to the completion of a "+Je)],Jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),zt=(e,t=l)=>`fluent(() => ${Jt(e,t)})`,Wt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Bt=(e,a,n)=>{const[d,c,T,V,x,R,k,A]=Nt(),[O,E,D]=Lt(e,a,x),[j,L,M]=Mt(T,O,E,D),J=le(),W=(e=0)=>oe(J,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||B(s,Ot(o)),z(s,l),s})),F=(e,t,a,n,o,d=l)=>xt(J,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,r=l,s=l)=>F(Ct[e]+t+(4==e?Re:l)+a,d,n,(n==H?zt:Jt)(Ct[e]+(4==e?Re:l)+a,r,e?void 0:n),o,s),_=(e,t,a,n=l,o=l,d=1,r=l)=>F(u+e+I,(n?n+", ":l)+ve+": "+t+(d?", mutator?: boolean":l),fe,Wt(u+e+I,o,d?"mutator":l),a,r),Z=`./${St(n)}.d`,H=St(n,1),Q=St(H),q=[],X=le();let ee=[],te=[];if(c(1,Z,H,`create${H} as create${H}Decl`),K(e))c(null,t,p);else{c(0,t,"CellChange"),c(null,t,i);const[e,a,n,d,I,u,w,y,v,V,R,k,A,D,L,M,J,W,B,F,K,te,ne,oe]=j(Q,H),re=le();O(((e,t)=>{const l=`<'${e}'>`,a=[T(t+$,d+l,Ae+` the '${e}' `+$),T(t+$+Ze,I+l,Ae+` the '${e}' `+$+He),T(t+C,u+l,lt(e)),T(t+C+Ze,w+l,lt(e,1)),T(t+g+fe,y+l,`A Cell Id for the '${e}' `+$),T(t+g+$e,V+l,dt(`a Cell Id and value from a Row in the '${e}' `+$)),T(t+C+$e,R+l,dt(`a Row Id from the '${e}' Table, and a Cell iterator`)),T(t+$+g+$e,k+l,dt(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];de(re,e,a),c(1,Z,...a)})),c(1,Z,e,a,n,y,A,D,L,M,J,W,B,F,K,te,ne,oe),ee=[e,a,n,y,D,L,M,J,W,B,F,K,te,ne,re],N([[e],[o],[H,"tables: "+a,"tables"],[H]],(([e,t,a],n)=>U(n,l,p,e,tt(1,n),t,a))),U(0,l,b,n+Ne,at($,Ge)),U(5,l,$,Ue,nt($,Ge),"tableCallback: "+A,"tableCallback as any"),O(((e,t,a)=>{const[n,d,r,s,I,c,u,p]=ae(re,e);N([[n],[o],[H,"table: "+d,", table"],[H]],(([n,o,d=l],r)=>U(r,t,$,n,ut(e,r),o,a+d))),U(0,t,$+f,i,at(g,"the whole of "+It(e)),l,a),U(5,t,$+g,Ue,nt($+g,"the whole of "+It(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,C+"Count","number","Gets the number of Rows in the "+It(e),l,a),U(0,t,h,i,at(C,It(e)),l,a),U(0,t,m,i,at(C,It(e),1),"cellId?: "+I+je,a+", cellId, descending, offset, limit"),U(5,t,C,Ue,nt(C,It(e)),"rowCallback: "+u,a+", rowCallback as any"),N([[r],[o],[H,", row: "+s,", row"],[H],[H,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>U(r,t,C,n,it(e,r),Oe+o,a+", rowId"+d))),U(6,t,C,fe+Ve,"Add a new Row to "+It(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+Ne,at(g,ct(e)),Oe,a+", rowId"),U(5,t,g,Ue,nt(g,ct(e)),Oe+", cellCallback: "+c,a+", rowId, cellCallback as any"),E(e,((n,d,r,s,I)=>{const c="Map"+St(d,1);de(X,d,c);const u=d+(P(r)?Ve:l);N([[u],[o],[H,`, cell: ${d} | `+c,", cell as any"],[H]],(([o,d=l,r=l],c)=>U(c,t+I,g,o,$t(e,n,c),Oe+d,a+", rowId, "+s+r))),U(1,t+I,$+g,o,bt[1]+` the '${n}' Cell anywhere in `+It(e),l,a+", "+s)}))})),U(0,l,p+ye,ye,tt(1,6)),U(2,l,p+ye,H,tt(1,7),"tablesJson: "+ye,"tables"+ye),_(p,D,tt(1,8)+" changes"),_(b,L,st(2,0,1)),_($,M,st(3,0),`tableId: ${n} | null`,"tableId"),_($+f,J,st(14,3,1),`tableId: ${n} | null`,"tableId"),_(C+"Count",W,st(15,3),`tableId: ${n} | null`,"tableId"),_(h,B,st(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,F,st(13,3,1),Et("tableId: TId",`cellId: ${y}<TId>`+Ve,"descending: boolean","offset: number","limit: number"+Ve),Et("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,K,st(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,te,st(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,ne,st(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${G(O((e=>{var t,a;return null!=(a=null==(t=ae(re,e))?void 0:t[4])?a:l}))," | ")} | null`,"tableId, rowId, cellId"),_(we+g,oe,Se+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...Y(X)),z(q,".set"+p+Ee+"({",kt(O(((e,t,a)=>[`[${a}]: {`,...E(e,((e,t,a,n)=>`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${P(a)?l:`, [${x(At(s),`'${s}'`)}]: `+(S(a)?x(At(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(K(a))c(null,t,y);else{const[e,a,n,d,I,u,i,$,p]=L(Q,H);c(1,Z,e,a,n,I,u,i,$,p),te=[e,a,n,u,i,$],N([[e],[o],[H,"values: "+a,"values"],[H],[H,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,tt(2,n),t,a))),U(0,l,v,n+Ne,at(w,Ge)),U(5,l,w,"void",nt(w,Ge),"valueCallback: "+I,"valueCallback as any"),D(((e,t,a,n,d)=>{const r="Map"+St(t,1);de(X,t,r),N([[t],[o],[H,`value: ${t} | `+r,", value as any"],[H]],(([t,a,o=l],r)=>U(r,d,w,t,pt(e,r),a,n+o)))})),U(0,l,y+ye,ye,tt(2,6)),U(2,l,y+ye,H,tt(2,7),"valuesJson: "+ye,"values"+ye),_(y,u,tt(2,8)+" changes"),_(v,i,st(10,0,1)),_(w,$,st(11,0),`valueId: ${n} | null`,"valueId"),_(we+w,p,Se+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...Y(X)),c(0,t,"ValueChange"),z(q,".set"+y+Ee+"({",D(((e,t,a,n)=>[`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${P(a)?l:`, [${x(At(s),`'${s}'`)}]: `+(S(a)?x(At(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,tt(0,0)),U(2,l,"Content",H,tt(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Me,H,`Applies a set of ${Me} to the Store`,"transactionChanges: "+Me,"transactionChanges"),ne(X,((e,t)=>T(t,`(cell: ${e}${Ve}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",fe,"IdOrNull",ye,"Store",Me),c(0,t,"Get"+Me,"GetTransactionLog"),U(0,l,ye,ye,tt(0,6)),U(2,l,ye,H,tt(0,7),"tablesAndValuesJson: "+ye,"tablesAndValuesJson"),U(7,l,Je,"Return",ze,me,"actions, doRollback","<Return>"),U(7,l,"start"+Le,H,We),U(7,l,"finish"+Le,H,Be,he,"doRollback");const re=M(Q,H);return _("Start"+Le,re,Se+" just before the start of the "+Je,l,l,0),_("WillFinish"+Le,re,Se+" just before "+Fe,l,l,0),_("DidFinish"+Le,re,Se+" just after "+Fe,l,l,0),U(7,l,"call"+I,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,H,"Remove a listener that was previously added to "+Ge,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",bt[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,H,`create${H} as create${H}Decl`,re),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...W(1),"}"]),[d(...R(0),...k(),ge+" interface "+H+" {",...W(0),"}",l,Ot(`Creates a ${H} object`),ge+" function create"+H+"(): "+H+";"),d(...R(1),ge+" const create"+H+": typeof create"+H+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),ee,te]},Ft=e=>c+e,Ut=e=>Et(Ft(e),Ft(e)+be),_t="debugIds?: boolean",Zt="debugIds={debugIds}",Ht="then"+Ce,Qt="Parameter",qt=": (parameter: "+Qt+", store: Store) => ",Kt="const contextValue = useContext(Context);",Xt=", based on a parameter",Yt=": ",el="<"+Qt+",>",tl=Qt+"ized"+$e+"<"+Qt+">",ll="rowId",al="rowId={rowId}",nl=", separator, debugIds",ol="separator?: ReactElement | string",dl="then?: (store: Store",rl=Et(dl+")"+_e,Ht),sl="then, then"+be,Il=ll+Yt+fe,cl="View",ul=(e,...t)=>Et(...t,ve+": "+e,ve+Ce,"mutator?: boolean"),il=(...e)=>Et(...e,ve,ve+be,"mutator"),$l=(e,a,n,o,d)=>{const[r,s,c,u,T,V,x,R]=Nt(),[k,S,A]=Lt(e,a,T),O=`./${St(n)}.d`,E=`./${St(n)}-ui-react.d`,D="tinybase/ui-react",j=St(n,1),N=St(j),L=j+"Or"+j+fe,M=N+"Or"+j+fe,J=N+`={${N}}`,W=le(),F=(e,t,a,n,o,d=l)=>(s(1,E,e+" as "+e+"Decl"),xt(W,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,r=l,I=l,c=l)=>(s(1,D,`use${t} as use${t}Core`),U(e,Et(o,X,I),a,ee+`(${M}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,r)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>oe(W,(([t,a,n,o,d],r)=>{const s=e?[ge+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[ge+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||B(s,Ot(o)),z(s,l),s}));s(null,t,fe,"Store",$e,Qt+"ized"+$e),s(0,D,"ComponentReturnType"),s(1,D,"useCellIds"),s(null,D,"ExtraProps"),s(0,O,j);const Q=c(L,j+" | "+fe,`Used when you need to refer to a ${j} in a React hook or component`),q=c(ke+Pe,jt(N+Te+j,N+`ById?: {[${N}Id: Id]: ${j}}`),`Used with the ${ke} 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 X=M+Te+Q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${j}?, {[${N}Id: Id]: ${j}}?]>([])`),U("Create"+j,`create: () => ${j}, create`+Ce,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const Y=U(j,"id?: Id",j+Ve,["{",Kt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${ke} component context`),ee=u("useHook",M+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${N} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${N} : ${M})?.getStore(), ...postParams)`]),te=u("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ne=u("wrap",Et("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=u("useCustomOrDefaultCellIds",Et("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${M}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${M}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),re=T("NullComponent","() => null");if(!K(e)){const[e,a,n,d,r,w,y,v,T,V,x,R,A,D,L]=o;s(null,O,e,a,n,r,w,y,v,T,V,x,R,A,D),s(0,O,d),s(1,O,j),s(null,t,i,"IdOrNull");const M=u("tableView",`{${N}, rowComponent, getRowComponentProps, customCellIds`+nl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ne}(rowIds.map((rowId) => (`,"<Row","{..."+te+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",al,"customCellIds={customCellIds}",J,Zt,"/>","))",nl,", tableId,",");"]),z=u("getDefaultTableComponent","tableId: Id",G(k(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+re),W=u("getDefaultCellComponent","tableId: Id, cellId: Id",G(k(((e,t,l)=>`tableId == ${l} ? ${G(S(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+re} : `)))+re);_(p,p,e,tt(1,0)+ie);const B=_(b,b,n+Ne,at($,Ge)+ie);_(De+p+$e,De+p+$e,tl,tt(1,9)+Xt,Et(Ft(p)+qt+a,Ft(p)+Ce),Ut(p),el,Et(dl,`tables: ${a})`+_e,Ht),sl),_(pe+p+$e,pe+p+$e,$e,tt(1,12),l,l,l,rl,sl);const F=c(g+Pe,jt("tableId?: TId","rowId: Id","cellId?: CId",N+Te+j,_t),ot(ce+g),`<TId extends ${n}, CId extends ${d}<TId>>`),U=c(C+Pe,jt("tableId?: TId","rowId: Id",N+Te+j,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ol,_t),ot(ce+C),`<TId extends ${n}>`),H=c($+Pe,jt("tableId?: TId",N+Te+j,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),ot(ce+$),`<TId extends ${n}>`),Q=c("Sorted"+$+Pe,jt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",N+Te+j,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),ot(ce+"sorted "+$),`<TId extends ${n}>`),q=c(p+Pe,jt(N+Te+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ol,_t),ot(et(1,1)));s(1,E,q,H,Q,U,F),Z(p+cl,"{"+N+", tableComponents, getTableComponentProps"+nl+"}: "+q,[ne+`(${B}(${N}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+z+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${te}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Zt,"/>;","}), separator)"],tt(1,13)+ie),k(((e,t,a)=>{const[n,o,d,r,I]=ae(L,e);s(null,O,n,o,d,r,I),_(t+$,$,n,ut(e)+ie,l,a),_(t+$+f,$+f,i,at(g,"the whole of "+It(e))+ie,l,a);const c=_(t+h,h,i,at(C,It(e))+ie,l,a),u=_(t+m,m,i,at(C,It(e),1)+ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,it(e)+ie,Il,Et(a,ll)),_(t+f,f,I+Ne,at(g,ct(e))+ie,Il,Et(a,ll)),_(De+t+$+$e,De+$+$e,tl,ut(e,9)+Xt,Et(Ft($)+qt+o,Ft($)+Ce),Et(a,Ut($)),el,Et(dl,`table: ${o})`+_e,Ht),sl),_(pe+t+$+$e,pe+$+$e,$e,ut(e,12),l,a,l,rl,sl),_(De+t+C+$e,De+C+$e,tl,it(e,9)+Xt,Et(Il,Ft(C)+qt+r,Ft(C)+Ce),Et(a,ll,Ut(C)),el,Et(dl,`row: ${r})`+_e,Ht),sl),_("Add"+t+C+$e,"Add"+C+$e,tl,it(e,10)+Xt,Et(Ft(C)+qt+r,Ft(C)+Ce),Et(a,Ut(C)),el,"then?: ("+Et(Il+Ve,"store: Store","row: "+r+")"+_e,"then"+Ce)+", reuseRowIds?: boolean",sl+", reuseRowIds"),_(De+t+Re+C+$e,De+Re+C+$e,tl,it(e,11)+Xt,Et(Il,Ft(Re+C)+qt+r,Ft(Re+C)+Ce),Et(a,ll,Ut(Re+C)),el,Et(dl,`partialRow: ${r})`+_e,Ht),sl),_(pe+t+C+$e,pe+C+$e,$e,it(e,12),Il,Et(a,ll),l,rl,sl);const p=Z(t+C+cl,"{rowId, "+N+", cellComponents, getCellComponentProps, customCellIds"+nl+`}: ${U}<'${e}'>`,[ne+`(${de}(customCellIds, `+a+`, rowId, ${N}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+W+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${te}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,al,"cellId={cellId}",J,Zt,"/>;","})"+nl+", rowId)"],it(e,13)+ie);Z(t+"Sorted"+$+cl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+u+`(cellId, descending, offset, limit, props.${N}), ${a}, ${p});`,ut(e,13)+", sorted"+ie),Z(t+$+cl,`props: ${H}<'${e}'>`,M+"(props, "+c+`(props.${N}), ${a}, ${p});`,ut(e,13)+ie),S(e,((n,o,d,r,I)=>{const c="Map"+St(o,1);s(0,O,c),s(1,O,c);const u=_(t+I+g,g,o+(P(d)?Ve:l),$t(e,n)+ie,Il,Et(a,ll,r));_(De+t+I+g+$e,De+g+$e,tl,$t(e,n,9)+Xt,Et(Il,Ft(g)+qt+o+" | "+c,Ft(g)+Ce),Et(a,ll,r,Ut(g)),el,Et(dl,`cell: ${o} | ${c})`+_e,Ht),sl),_(pe+t+I+g+$e,pe+g+$e,$e,$t(e,n,12),Et(Il,"forceDel?: boolean"),Et(a,ll,r,"forceDel"),l,rl,sl),Z(t+I+g+cl,`{rowId, ${N}, debugIds}: `+F+`<'${e}', '${n}'>`,[ne+`('' + ${u}(rowId, `+N+`) ?? '', undefined, debugIds, ${r})`],$t(e,n,13)+ie)}))}));const K=G(k((e=>{var t,a;return null!=(a=null==(t=ae(L,e))?void 0:t[4])?a:l}))," | ");_(p+I,p+I,Ue,tt(1,8)+" changes",ul(r),il()),_(b+I,b+I,Ue,st(2,0,1),ul(w),il()),_($+I,$+I,Ue,st(3,0),ul(y,`tableId: ${n} | null`),il("tableId")),_($+f+I,$+f+I,Ue,st(14,3,1),ul(v,`tableId: ${n} | null`),il("tableId")),_(h+I,h+I,Ue,st(4,3,1),ul(V,`tableId: ${n} | null`),il("tableId")),_(m+I,m+I,Ue,st(13,3,1),ul(x,`tableId: ${n} | null`,"cellId: "+K+Ve,"descending: boolean","offset: number","limit: number"+Ve),il("tableId","cellId","descending","offset","limit")),_(C+I,C+I,Ue,st(5,3),ul(R,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(f+I,f+I,Ue,st(6,5,1),ul(A,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(g+I,g+I,Ue,st(7,5),ul(D,`tableId: ${n} | null`,ll+": IdOrNull",`cellId: ${K} | null`),il("tableId",ll,"cellId"))}if(!K(a)){const[e,t,a,n,o,r]=d;s(null,O,...d),s(1,O,j);const i=u("getDefaultValueComponent","valueId: Id",G(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+re);_(y,y,e,tt(2,0)+ie);const $=_(v,v,a+Ne,at(w,Ge)+ie);_(De+y+$e,De+y+$e,tl,tt(2,9)+Xt,Et(Ft(y)+qt+t,Ft(y)+Ce),Ut(y),el,Et(dl,`values: ${t})`+_e,Ht),sl),_(De+Re+y+$e,De+Re+y+$e,tl,tt(2,11)+Xt,Et(Ft(Re+y)+qt+t,Ft(Re+y)+Ce),Ut(Re+y),el,Et(dl,`partialValues: ${t})`+_e,Ht),sl),_(pe+y+$e,pe+y+$e,$e,tt(2,12),l,l,l,rl,sl);const p=c(w+Pe,jt("valueId?: VId",N+Te+j,_t),ot("a Value"),`<VId extends ${a}>`),b=c(y+Pe,jt(N+Te+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ol,_t),ot(et(2,1)));s(1,E,b,p),Z(y+cl,"{"+N+", valueComponents, getValueComponentProps"+nl+"}: "+b,[ne+`(${$}(${N}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${te}(getValueComponentProps, valueId)}`,"key={valueId}",J,Zt,"/>;","}), separator)"],tt(2,13)+ie),A(((e,t,a,n,o)=>{const d="Map"+St(t,1);s(0,O,d),s(1,O,d);const r=_(o+w,w,t,pt(e)+ie,l,n);_(De+o+w+$e,De+w+$e,tl,pt(e,9)+Xt,Et(Ft(w)+qt+t+" | "+d,Ft(w)+Ce),Et(n,Ut(w)),el,Et(dl,`value: ${t} | ${d})`+_e,Ht),sl),_(pe+o+w+$e,pe+w+$e,$e,pt(e,12),l,n,l,rl,sl),Z(o+w+cl,`{${N}, debugIds}: ${p}<'${e}'>`,[ne+`('' + ${r}(`+N+`) ?? '', undefined, debugIds, ${n})`],pt(e,13)+ie)})),_(y+I,y+I,Ue,tt(2,8)+" changes",ul(n),il()),_(v+I,v+I,Ue,st(10,0,1),ul(o),il()),_(w+I,w+I,Ue,st(11,0),ul(r,`valueId: ${a} | null`),il("valueId"))}return Z(ke,`{${N}, ${N}ById, children}: `+q+" & {children: React.ReactNode}",["{",Kt,"return (","<Context."+ke,"value={useMemo(",`() => [${N} ?? contextValue[0], {...contextValue[1], ...${N}ById}],`,`[${N}, ${N}ById, contextValue],`,")}>","{children}",`</Context.${ke}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[r(...V(0),...x(),...H(0)),r(...V(1),...R(),...H(1))]},pl=(e,t,a)=>{if(K(e)&&K(t))return[l,l,l,l];const[n,o,d,r]=Bt(e,t,a);return[n,o,...$l(e,t,a,d,r)]},bl=JSON.parse;var Cl=Object.defineProperty,hl=Object.defineProperties,ml=Object.getOwnPropertyDescriptors,gl=Object.getOwnPropertySymbols,fl=Object.prototype.hasOwnProperty,wl=Object.prototype.propertyIsEnumerable,yl=(e,t,l)=>t in e?Cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,vl=(e,t)=>{for(var l in t||(t={}))fl.call(t,l)&&yl(e,l,t[l]);if(gl)for(var l of gl(t))wl.call(t,l)&&yl(e,l,t[l]);return e},Tl=(e,t)=>hl(e,ml(t)),Vl=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const xl="prettier/",Rl=xl+"plugins/",Pl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},kl=Gt((e=>{const t=()=>{const t=bl(e.getTablesSchemaJson());return!K(t)||D(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=le();if(D(a,(t=>D(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=re(n,a,(()=>[E(o),le(),[0],0])),[r,s,[I]]=d,c=re(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),de(s,o,c),d[3]++,r==E(o)})))))return t[l]={},ee(n,(([e,,[,n],o],d)=>{t[l][d]=vl({[r]:e},o==M(a)?{[s]:n}:{})})),1}))?t:{}},l=()=>{const t=bl(e.getValuesSchemaJson());return K(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:E(l)}})),t},a=e=>pl(t(),l(),e),n=e=>Vl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"],l=[];let n;try{n=(yield import(xl+"standalone")).format,z(l,yield import(Rl+"estree"),yield import(Rl+"typescript"))}catch(e){n=e=>Vl(void 0,null,(function*(){return e}))}return yield O(L(a(e),((e,a)=>Vl(void 0,null,(function*(){return Rt(yield n(e,Tl(vl({},Pl),{plugins:l,filepath:"_."+t[a]})))})))))}));return Z({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),vl({totalTables:l,totalRows:a,totalCells:n,totalValues:M(e.getValueIds()),jsonLength:Pt(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=kl;
|
package/lib/cjs-es6/tools.cjs.gz
CHANGED
|
Binary file
|
|
@@ -176,21 +176,26 @@ const createCustomPersister = (
|
|
|
176
176
|
|
|
177
177
|
const STORAGE = 'storage';
|
|
178
178
|
const WINDOW = globalThis.window;
|
|
179
|
-
const
|
|
179
|
+
const createStoragePersister = (
|
|
180
|
+
store,
|
|
181
|
+
storageName,
|
|
182
|
+
storage,
|
|
183
|
+
onIgnoredError,
|
|
184
|
+
) => {
|
|
180
185
|
const getPersisted = async () => jsonParse(storage.getItem(storageName));
|
|
181
186
|
const setPersisted = async (getContent) =>
|
|
182
187
|
storage.setItem(storageName, jsonString(getContent()));
|
|
183
188
|
const addPersisterListener = (listener) => {
|
|
184
|
-
const
|
|
189
|
+
const storageListener = (event) => {
|
|
185
190
|
if (event.storageArea === storage && event.key === storageName) {
|
|
186
191
|
listener(() => jsonParse(event.newValue));
|
|
187
192
|
}
|
|
188
193
|
};
|
|
189
|
-
WINDOW.addEventListener(STORAGE,
|
|
190
|
-
return
|
|
194
|
+
WINDOW.addEventListener(STORAGE, storageListener);
|
|
195
|
+
return storageListener;
|
|
191
196
|
};
|
|
192
|
-
const delPersisterListener = (
|
|
193
|
-
WINDOW.removeEventListener(STORAGE,
|
|
197
|
+
const delPersisterListener = (storageListener) =>
|
|
198
|
+
WINDOW.removeEventListener(STORAGE, storageListener);
|
|
194
199
|
return createCustomPersister(
|
|
195
200
|
store,
|
|
196
201
|
getPersisted,
|
|
@@ -201,8 +206,8 @@ const getStoragePersister = (store, storageName, storage, onIgnoredError) => {
|
|
|
201
206
|
);
|
|
202
207
|
};
|
|
203
208
|
const createLocalPersister = (store, storageName, onIgnoredError) =>
|
|
204
|
-
|
|
209
|
+
createStoragePersister(store, storageName, localStorage, onIgnoredError);
|
|
205
210
|
const createSessionPersister = (store, storageName, onIgnoredError) =>
|
|
206
|
-
|
|
211
|
+
createStoragePersister(store, storageName, sessionStorage, onIgnoredError);
|
|
207
212
|
|
|
208
213
|
export {createLocalPersister, createSessionPersister};
|