tinybase 4.1.0-beta.2 → 4.1.0-beta.3
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/bin/cli.js +1 -1
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.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-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom.cjs +1 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.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-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/checkpoints.js +6 -6
- package/lib/debug/indexes.js +7 -7
- package/lib/debug/metrics.js +12 -12
- package/lib/debug/persisters/persister-browser.js +10 -19
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +6 -15
- package/lib/debug/persisters/persister-file.js +10 -19
- package/lib/debug/persisters/persister-remote.js +10 -19
- package/lib/debug/persisters/persister-sqlite-wasm.js +6 -15
- package/lib/debug/persisters/persister-sqlite3.js +6 -15
- package/lib/debug/persisters.js +4 -4
- package/lib/debug/relationships.js +7 -7
- package/lib/debug/store.js +16 -24
- package/lib/debug/tinybase.js +20 -28
- package/lib/debug/tools.js +14 -13
- package/lib/debug/ui-react-dom.js +143 -10
- package/lib/debug/ui-react.js +4 -4
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.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-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom.js +1 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.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-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/queries.d.ts +100 -0
- package/lib/types/ui-react-dom.d.ts +126 -0
- package/lib/types/with-schemas/internal/ui-react.d.ts +24 -14
- package/lib/types/with-schemas/queries.d.ts +109 -0
- package/lib/types/with-schemas/ui-react-dom.d.ts +159 -8
- package/lib/ui-react-dom.js +1 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.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-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom.js +1 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.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-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom.js +1 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +16 -16
- package/readme.md +1 -1
package/lib/umd/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",S=w+h,T="Sorted"+w+h,v="Cell",R=v+h,y="Value",I=y+"s",p=y+h,C=e=>s+e,b=(e,t)=>e.includes(t),V=(e,t)=>e.every(t),m=(e,t)=>J(e)===J(t)&&V(e,((e,s)=>t[s]===e)),E=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),k=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),D=e=>F(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),F=(e,t,s)=>e.reduce(t,s),Q=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),j=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>q(t,Map)?F([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,B=Math.max,W=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,s)=>G(e)?s?.():t(e),K=e=>e==n||e==a,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,se=e=>q(e,Z)&&e.constructor==Z,ne=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),ae=(e,t)=>(delete e[t],e),oe=(e,t)=>x(Z.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>J(_(e)))(e),le=e=>e.size,ie=(e,t)=>e?.has(t)??!1,ce=e=>G(e)||0==le(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),Se=(e,t)=>he(e,((e,s)=>t(s,e))),Te=(e,t,s)=>G(s)?(ge(e,t),e):e?.set(t,s),ve=(e,t,s)=>(ie(e,t)||Te(e,t,s()),we(e,t)),Re=(e,t,s,n=Te)=>(oe(t,((t,n)=>s(e,n,t))),Se(e,(s=>ne(t,s)?0:n(e,s))),e),ye=(e,t,s)=>{const n={};return he(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Ie=(e,t,s)=>ye(e,(e=>ye(e,t,s)),re),pe=(e,t,s)=>ye(e,(e=>Ie(e,t,s)),re),Ce=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},be=e=>Ce(e,Ce),Ve=e=>Ce(e,be),me=(e,t,s,n,a=0)=>H((s?ve:we)(e,t[a],a>J(t)-2?s:fe),(o=>{if(a>J(t)-2)return n?.(o)&&Te(e,t[a]),o;const r=me(o,t,s,n,a+1);return ce(o)&&Te(e,t[a]),r})),Ee=e=>{const s=t(e);return K(s)||s==o&&$(e)?s:void 0},ke=(e,t,s,n,a)=>G(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Me=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(X(e)||G(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s)=>{const n=e.hasRow,a=fe(),o=fe(),r=fe(),l=fe(),i=fe(),c=(t,s,...n)=>{const a=ve(i,t,xe);return M(n,(t=>De(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>H(we(i,t),(n=>{M(A(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Te(i,t)})),u=(e,s)=>{Te(a,e,s),ie(o,e)||(Te(o,e,t()),Te(r,e,fe()),Te(l,e,fe()))},h=e=>{Te(a,e),Te(o,e),Te(r,e),Te(l,e),d(e)};return[()=>e,()=>Le(a),e=>Se(o,e),e=>ie(o,e),e=>we(a,e),e=>we(o,e),(e,t)=>Te(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=fe(),f=fe(),L=we(r,t),w=we(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=we(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||X(r)&&X(l)&&m(r,l)||Te(g,t,[r,l]),!G(h)){const e=we(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Te(f,t,s)}},T=e=>{o((()=>{he(g,(([,e],t)=>Te(L,t,e))),he(f,((e,t)=>Te(w,t,e)))}),g,f,L,w,e),ue(g),ue(f)};Se(L,S),e.hasTable(a)&&M(e.getRowIds(a),(e=>{ie(L,e)||S(e)})),T(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>T())))},h,()=>Se(i,h),c,d]},Ae=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Qe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?j(e):null)??s+t++,t=>{Qe.test(t)&&J(e)<1e3&&z(e,t)}]},Ne=e=>{let t;const[n,a]=ze(),o=fe();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Te(o,d,[a,r,l,i,c]),De(me(r,l??[s],xe),d),d},(e,n,...a)=>M(((e,t=[s])=>{const n=[],a=(e,s)=>s==J(t)?z(n,e):null===t[s]?he(e,(e=>a(e,s+1))):M([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>he(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>H(we(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Te(o,e),a(e),n))),e=>H(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=J(r);l==J(s)?e(t,...r,...a(r)):G(s[l])?M(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},je=Fe((e=>{let t,n,a,o=100,r=fe(),l=fe(),i=1;const c=fe(),d=fe(),[u,h,g]=Ne((()=>O)),f=fe(),L=fe(),w=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=we(f,s);he(n,((s,n)=>he(s,((s,a)=>he(s,((s,o)=>ke(e,n,a,o,s[t]))))))),he(a,((s,n)=>Me(e,n,s[t])))})),i=1},v=e=>{Te(f,e),Te(L,e),h(d,[e])},R=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??J(e)),v),y=()=>R(w,J(w)-o),I=()=>H(t,(()=>{z(w,t),y(),R(S),t=void 0,a=1})),p=()=>{t=N(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=ve(r,t,fe),l=ve(e,s,fe),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ce(Te(l,n))&&ce(Te(e,s))&&ce(Te(r,t))&&p(),x()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Te(l,t))&&p(),x()}})),m=(e="")=>(G(t)&&(t=s+n++,Te(f,t,[r,l]),F(t,e),r=fe(),l=fe(),a=1),t),E=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),T(0,t),t=N(w),a=1)},k=()=>{A(S)||(z(w,t),t=j(S),T(1,t),a=1)},x=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return x(),t},F=(e,t)=>(Q(e)&&we(L,e)!==t&&(Te(L,e,t),h(d,[e])),O),Q=e=>ie(f,e),O={setSize:e=>(o=e,y(),O),addCheckpoint:D,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...S]],forEachCheckpoint:e=>Se(L,e),hasCheckpoint:Q,getCheckpoint:e=>we(L,e),goBackward:()=>(E(),x(),O),goForward:()=>(k(),x(),O),goTo:e=>{const s=b(w,e)?E:b(S,e)?k:null;for(;!G(s)&&e!=t;)s();return x(),O},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),O),clear:()=>(R(w),R(S),G(t)||v(t),t=void 0,n=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(V)},getListenerStats:()=>({})};return te(O.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Fe((e=>{const t=fe(),n=fe(),[a,o,r,l,i,c,d,,u,h,g]=Je(e,fe,(e=>G(e)?s:X(e)?x(e,C):C(e))),[f,L,w]=Ne((()=>T)),S=(t,s,n)=>{const a=i(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=Oe)=>{const i=G(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,g)=>{let f=0;const w=xe(),S=xe(),T=c(e);if(he(a,(([e,t],s)=>{const n=xe(e),a=xe(t);he(n,(e=>ge(a,e)?ge(n,e):0)),he(n,(e=>{De(w,e),H(we(T,e),(t=>{ge(t,s),ce(t)&&(Te(T,e),f=1)}))})),he(a,(e=>{De(w,e),ie(T,e)||(Te(T,e,xe()),f=1),De(we(T,e),s),G(o)||De(S,e)}))})),s(),ce(h)||(g?Se(T,(e=>De(S,e))):Se(r,(e=>H(we(u,e),(e=>De(S,e))))),he(S,(e=>{const t=(t,s)=>l(we(h,t),we(h,s),e),s=[...we(T,e)];E(s,t)||(Te(T,e,xe(k(s,t))),De(w,e))}))),(f||g)&&!G(i)){const t=[...T];E(t,i)||(d(e,fe(k(t,i))),f=1)}f&&L(t,[e]),he(w,(t=>L(n,[e,t])))}),Ae(a),H(o,Ae)),T},delIndexDefinition:e=>(h(e),T),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>ie(c(e),t),getTableId:i,getSliceIds:e=>Le(c(e)),getSliceRowIds:(e,t)=>de(we(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),T),destroy:g,getListenerStats:()=>({})};return te(T)})),Be=fe([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:B(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ce(s))return;const[r,l,i,c]=a;return o||=G(e),he(n,(([s,n])=>{o||(e=G(s)?l?.(e,n,t++):G(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=G(e))})),o?r(de(s),le(s)):e},$e=Fe((e=>{const t=fe(),[n,a,o,r,l,i,c,,d,u,h]=Je(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,L]=Ne((()=>w)),w={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=U(n)?[n,o,r,l]:we(Be,n)??we(Be,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=le(o);l||=G(d),s();let g=We(d,h,o,n,u,l);$(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Ae(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return te(w)})),qe=Fe((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,f,L,y]=Je(e,(()=>!0),Y),I=t(),p=t(),C=fe(),b=(e,t,...s)=>M(s,(s=>De(ve(ve(C,t,fe),e,xe),s))),m=e=>{H(we(C,e),(e=>{Se(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),M([p,I],(t=>t.delTable(e)))},E=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,n,a)=>{i(t,n),m(t);const o=[],r=[[null,[n,null,null,[],fe()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=U(e)?[J(o)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||U(t)?null:t,a=G(n)?t:s,o=[e,[e,n,U(a)?a:e=>e(a),[],fe()]];return z(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>z(l,U(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,U(t)?[t,s,n,a]:we(Be,t)??[(e,t)=>t]]];return z(c,o),{as:e=>o[0]=e}},having:(e,t)=>z(d,U(e)?e:s=>s(e)===t)});const u=fe(o);if(ce(u))return k;const h=fe(r);Se(h,((e,[,t])=>H(we(h,t),(({3:t})=>G(e)?0:z(t,e)))));const g=fe(c);let f=I;if(ce(g)&&A(d))f=p;else{E(t,f,p);const e=fe();Se(g,((t,[s,n])=>De(ve(e,s,xe),[t,n])));const s=xe();Se(u,(t=>ie(e,t)?0:De(s,t)));const n=fe(),a=(s,n,a,o)=>H(s,(([r,l,i,c])=>{Se(n,((t,[s])=>{const n=ve(r,t,fe),l=we(n,a),i=o?void 0:s;if(l!==i){const s=xe([[l,i]]),o=le(n);Te(n,a,i),he(we(e,t),(([e,t])=>{const a=We(c[e],o,n,s,t);c[e]=G(Ee(a))?null:a}))}})),ce(l)||!V(d,(e=>e((e=>c[e]))))?p.delRow(t,i):G(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));b(f,t,f.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=fe(),h=f.hasRow(t,l);let g=!h;he(s,(e=>{const[s,n,a]=i(t,l,e);z(c,n),z(d,a),g||=s})),Se(e,(e=>{const[s,,n]=i(t,l,e);(g||s)&&Te(u,e,[n])})),g&&a(me(n,c,void 0,(([,e])=>(ge(e,l),ce(e)))),u,l,1),h&&a(me(n,d,(()=>{const e={};return he(s,(s=>e[s]=f.getCell(t,l,s))),[fe(),xe(),void 0,e]}),(([,e])=>{De(e,l)})),u,l)})))}E(t,e,f);const w=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);M(r,(n=>{const[a,,o,r,l]=we(h,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(G(u)||y(t,u),Te(l,s,G(c)?null:[c,...L(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...G(a)?[n,s,t]:t===n?[n,s,a]:[we(h,t)?.[0],we(we(h,t)?.[4],s)?.[0],a]);f.transaction((()=>V(l,(e=>e(a)))?Se(u,((e,n)=>ke(f,t,s,e,n(a,s)))):f.delRow(t,s)))})(s)},{3:S}=we(h,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?w(o,n,o,S):(f.delRow(t,o),he(h,(({4:e})=>H(we(e,o),(([,s])=>{y(t,s),Te(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),h(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),k),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return oe({[g]:[1,1],[g+R]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+d+s]=(...t)=>p[e+s](...t))),k[u+d+s+c]=(...e)=>p[u+s+c](...Q(e,0,t),((s,...n)=>e[t](k,...n)))})),te(k)})),Ge=Fe((e=>{const t=fe(),n=fe(),a=fe(),o=fe(),[r,l,i,c,d,u,,,h,g,f]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+s)),[L,w,S]=Ne((()=>y)),T=(e,t,s)=>H(u(e),(([n,,a])=>{if(!ie(a,t)){const o=xe();if(d(e)!=R(e))De(o,t);else{let e=t;for(;!G(e)&&!ie(o,e);)De(o,e),e=we(n,e)}if(s)return o;Te(a,t,o)}return we(a,t)})),v=(e,t)=>H(u(e),(([,,e])=>Te(e,t))),R=e=>we(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Te(t,e,r),h(e,s,((t,s)=>{const r=xe(),l=xe(),i=xe(),[c,d]=u(e);he(s,(([t,s],n)=>{G(t)||(De(l,t),H(we(d,t),(e=>{ge(e,n),ce(e)&&Te(d,t)}))),G(s)||(De(l,s),ie(d,s)||Te(d,s,xe()),De(we(d,s),n)),De(r,n),Te(c,n,s),Se(we(o,e),(t=>{ie(T(e,t),n)&&De(i,t)}))})),t(),he(r,(t=>w(n,[e,t]))),he(l,(t=>w(a,[e,t]))),he(i,(t=>{v(e,t),w(o,[e,t])}))}),Ae(l)),y),delRelationshipDefinition:e=>(Te(t,e),g(e),y),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>we(u(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>G(u(e))?[t]:de(T(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),L(s,o,[e,t])),delListener:e=>(v(...S(e)),y),destroy:f,getListenerStats:()=>({})};return te(y)})),He=e=>[e,e],Ke=()=>[fe(),fe()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=(e,t,s)=>G(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ae(e,n)})),!re(e)),Ze=(e,t,s)=>Te(e,t,we(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,a=0;const r=fe(),d=fe(),h=fe(),T=fe(),V=fe(),E=fe(),D=fe(),J=fe(),A=fe(),F=fe(),N=fe(),j=fe(),B=fe(),W=xe(),$=fe(),q=fe(),X=fe(),Y=fe(),Z=Ke(),_=Ke(),ee=Ke(),se=Ke(),le=Ke(),de=Ke(),me=Ke(),Je=Ke(),Ae=Ke(),Fe=Ke(),Qe=Ke(),je=Ke(),Pe=Ke(),Be=Ke(),We=fe(),$e=Ke(),[qe,Ge,et,tt]=Ne((()=>fs)),st=e=>{if(!Ye(e,((e,t)=>b([l,i],t))))return!1;const t=e[l];return!(!K(t)&&t!=o||(Ee(e[i])!=t&&ae(e,i),0))},nt=(t,s)=>(!e||ie(F,s)||Jt(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>H(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?H(we(we(F,t),n),(e=>Ee(a)!=e[l]?Jt(t,s,n,a,e[i]):a),(()=>Jt(t,s,n,a))):G(Ee(a))?Jt(t,s,n,a):a,rt=(e,t)=>Ye(t?e:ct(e),((t,s)=>H(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?H(we(j,e),(t=>Ee(s)!=t[l]?At(e,s,t[i]):s),(()=>At(e,s))):G(Ee(s))?At(e,s):s,it=(e,t,s)=>(H(we(N,t),(([n,a])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(a,(n=>{ne(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(he(B,((t,s)=>{ne(e,s)||(e[s]=t)})),he(W,(t=>{ne(e,t)||At(t)}))),e),dt=e=>Re(F,e,((e,t,s)=>{const n=fe(),a=xe();Re(ve(F,t,fe),s,((e,t,s)=>{Te(e,t,s),H(s[i],(e=>Te(n,t,e)),(()=>De(a,t)))})),Te(N,t,[n,a])}),((e,t)=>{Te(F,t),Te(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Te(j,t,s),H(s[i],(e=>Te(B,t,e)),(()=>De(W,t)))}),((e,t)=>{Te(j,t),Te(B,t),ge(W,t)})),ht=e=>re(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>pt(t))),ft=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Te($,e,ze()),Te(q,e,fe()),fe()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>Ct(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(Et(e,s,1),fe()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{ie(s,n)||kt(e,t,n,1);const o=we(s,n);a!==o&&(Mt(e,t,n,o,a),Te(s,n,a))},St=(e,t,s,n,a)=>H(we(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),Tt=e=>re(e)?is():ts(e),vt=e=>Re(Y,e,((e,t,s)=>Rt(t,s)),((e,t)=>Vt(t))),Rt=(e,t)=>{ie(Y,e)||xt(e,1);const s=we(Y,e);t!==s&&(Dt(e,s,t),Te(Y,e,t))},yt=(e,t)=>{const[s]=we($,e),n=s(t);return ie(we(X,e),n)?yt(e,t):n},It=e=>we(X,e)??ft(e,{}),pt=e=>ft(e,{}),Ct=(e,t,s)=>{const[,n]=we($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=we(we(N,e)?.[0],a);if(!G(r)&&!o)return wt(e,s,n,a,r);const l=t=>{Mt(e,s,t,we(n,t)),kt(e,s,t,-1),Te(n,t)};G(r)?l(a):Se(n,l),ce(n)&&(Et(e,s,-1),ce(Te(t,s))&&(mt(e,-1),Te(X,e),Te($,e),Te(q,e)))},Vt=e=>{const t=we(B,e);if(!G(t))return Rt(e,t);Dt(e,we(Y,e)),xt(e,-1),Te(Y,e)},mt=(e,t)=>Ze(r,e,t),Et=(e,t,s)=>Ze(ve(h,e,fe),t,s),kt=(e,t,s,n)=>{const a=we(q,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(ve(d,e,fe),s,n),Te(a,s,o!=-n?o+n:null),Ze(ve(ve(T,e,fe),t,fe),s,n)},Mt=(e,t,s,n,a)=>ve(ve(ve(V,e,fe),t,fe),s,(()=>[n,0]))[1]=a,xt=(e,t)=>Ze(E,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(z(ve(ve(ve(J,e,fe),t,fe),s,(()=>[])),n),a),At=(e,t,s)=>(z(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>H(we(we(we(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(Xt(e,t,s))])),Qt=e=>H(we(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(_t(e))])),zt=e=>ce(J)||ce(Fe[e])?0:he(e?Ve(J):J,((t,s)=>he(t,((t,n)=>he(t,((t,a)=>Ge(Fe[e],[s,n,a],t))))))),Nt=e=>ce(A)||ce(Qe[e])?0:he(e?Ce(A):A,((t,s)=>Ge(Qe[e],[s],t))),jt=(e,t,s)=>{if(!ce(t))return Ge(e,s,(()=>ye(t))),1},Ot=e=>{const t=ce(de[e]),s=ce(Je[e])&&ce(se[e])&&ce(le[e])&&t&&ce(_[e]),n=ce(Ae[e])&&ce(me[e])&&ce(ee[e])&&ce(Z[e]);if(!s||!n){const a=e?[Ce(r),be(d),be(h),Ve(T),Ve(V)]:[r,d,h,T,V];if(!s){jt(_[e],a[0]),he(a[1],((t,s)=>jt(se[e],t,[s])));const s=xe();he(a[2],((n,a)=>{jt(le[e],n,[a])&&!t&&(Ge(de[e],[a,null]),De(s,a))})),t||he(a[4],((t,n)=>{if(!ie(s,n)){const s=xe();he(t,(e=>he(e,(([t,n],a)=>n!==t?De(s,a):ge(e,a))))),he(s,(t=>Ge(de[e],[n,t])))}})),he(a[3],((t,s)=>he(t,((t,n)=>jt(Je[e],t,[s,n])))))}if(!n){let t;he(a[4],((s,n)=>{let a;he(s,((s,o)=>{let r;he(s,(([s,l],i)=>{l!==s&&(Ge(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&Ge(me[e],[n,o],Ft)})),a&&Ge(ee[e],[n],Ft)})),t&&Ge(Z[e],void 0,Ft)}}},Pt=e=>{const t=ce(Pe[e]),s=ce(Be[e])&&ce(je[e]);if(!t||!s){const n=e?[Ce(E),Ce(D)]:[E,D];if(t||jt(Pe[e],n[0]),!s){let t;he(n[1],(([s,n],a)=>{n!==s&&(Ge(Be[e],[a],n,s,Qt),t=1)})),t&&Ge(je[e],void 0,Qt)}}},Bt=(e,...t)=>(us((()=>e(...x(t,C)))),fs),Wt=()=>[ye(V,((e,t)=>-1===we(r,t)?null:ye(e,((e,s)=>-1===we(we(h,t),s)?null:ye(e,(([,e])=>e??null),((e,t)=>Xe(t)))),re)),re),ye(D,(([,e])=>e??null),((e,t)=>Xe(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(V,Ue,Xe),invalidCells:pe(J),changedValues:ye(D,Ue,Xe),invalidValues:ye(A),changedTableIds:ye(r),changedRowIds:Ie(h),changedCellIds:pe(T),changedValueIds:ye(E)}),qt=()=>pe(X),Gt=()=>Le(X),Ht=e=>Le(we(X,C(e))),Kt=(e,t,s,n=0,a)=>{return x(Q(k((o=we(X,C(e)),r=(e,s)=>[G(t)?s:we(e,C(t)),s],x([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,G(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>Le(we(we(X,C(e)),C(t))),Xt=(e,t,s)=>we(we(we(X,C(e)),C(t)),C(s)),Yt=()=>ye(Y),Zt=()=>Le(Y),_t=e=>we(Y,C(e)),es=e=>Bt((()=>(e=>Ye(e,nt,Jt))(e)?gt(e):0)),ts=e=>Bt((()=>rt(e)?vt(e):0)),ss=e=>{try{ht(P(e))}catch{}return fs},ns=t=>Bt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!ce(X))){const e=qt();os(),es(e)}})),as=e=>Bt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Bt((()=>gt({}))),rs=e=>Bt((e=>ie(X,e)?pt(e):0),e),ls=(e,t)=>Bt(((e,t)=>H(we(X,e),(s=>ie(s,t)?Ct(e,s,t):0))),e,t),is=()=>Bt((()=>vt({}))),cs=()=>Bt((()=>{dt({}),e=!1})),ds=()=>Bt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=a){hs();const s=e();return gs(t),s}},hs=()=>(-1!=a&&a++,1==a&&Ge(We,void 0,Wt,$t),fs),gs=e=>(a>0&&(a--,0==a&&(s=!ce(V),n=!ce(D),a=1,zt(1),s&&Ot(1),Nt(1),n&&Pt(1),e?.(Wt,$t)&&(he(V,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(fs,t,s,n,e))))))),he(D,(([e],t)=>Me(fs,t,e))),s=n=!1),Ge($e[0],void 0,Wt,$t),a=-1,zt(0),s&&Ot(0),Nt(0),n&&Pt(0),Ge($e[1],void 0,Wt,$t),a=0,s=n=!1,M([r,d,h,T,V,J,E,D,A],ue))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(we(X,C(e))),getTableCellIds:e=>Le(we(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>ye(we(we(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ce(X),hasTable:e=>ie(X,C(e)),hasTableCell:(e,t)=>ie(we(q,C(e)),C(t)),hasRow:(e,t)=>ie(we(X,C(e)),C(t)),hasCell:(e,t,s)=>ie(we(we(X,C(e)),C(t)),C(s)),hasValues:()=>!ce(Y),hasValue:e=>ie(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(F),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([F,j]),setContent:([e,t])=>Bt((()=>{(re(e)?os:es)(e),(re(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Bt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Bt(((e,t)=>at(e,t,s)?Lt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,It(e),n=yt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Bt(((e,t)=>{if(at(e,t,s,1)){const n=It(e);oe(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Bt(((e,t,s)=>H(ot(e,t,s,U(n)?n(Xt(e,t,s)):n),(n=>St(e,It(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Bt((()=>rt(e,1)?oe(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>Bt((e=>H(lt(e,U(t)?t(_t(e)):t),(t=>Rt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{oe(e[0],((e,t)=>G(e)?rs(t):oe(e,((e,s)=>G(e)?ls(t,s):oe(e,((e,n)=>ke(fs,t,s,n,e))))))),oe(e[1],((e,t)=>Me(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{Tt(P(e))}catch{}return fs},setJson:e=>{try{const[t,s]=P(e);ht(t),Tt(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Bt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Bt(((e,t,s)=>H(we(X,e),(a=>H(we(a,t),(o=>ie(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Bt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Bt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,forEachTable:e=>he(X,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>Se(t,e))))))))),forEachTableCell:(e,t)=>Se(we(q,C(e)),t),forEachRow:(e,t)=>he(we(X,C(e)),((e,s)=>t(s,(t=>Se(e,t))))),forEachCell:(e,t,s)=>Se(we(we(X,C(e)),C(t)),s),forEachValue:e=>Se(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);m(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),de[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:_e};return oe({[f]:[0,Z],[L]:[0,_],[g]:[1,ee,[Gt]],[g+R]:[1,se,[Gt]],[S]:[1,le,[Gt]],[w]:[2,me,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>He(Xt(...e))],InvalidCell:[3,Fe],[I]:[0,je],[p]:[0,Pe],[y]:[1,Be,[Zt],e=>He(_t(e[0]))],InvalidValue:[1,Qe]},(([e,t,s,n],a)=>{fs[u+a+c]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?Q(a,0,e):void 0,s,n)})),te(fs)};e.createCheckpoints=je,e.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await g.schedule((async()=>{await e(),i=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(1!=i&&(i=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();re(s)&&re(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(H(o,e.delListener),g),schedule:async(...e)=>(z(u,...e),await(async()=>{if(!c){for(c=1;!G(r=j(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(g)},e.createIndexes=Pe,e.createMetrics=$e,e.createQueries=qe,e.createRelationships=Ge,e.createStore=_e,e.defaultSorter=Oe},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Ids",f="Table",g=f+"s",L=f+h,w="Row",S=w+h,T="Sorted"+w+h,v="Cell",R=v+h,y="Value",I=y+"s",p=y+h,C=e=>s+e,b=Math.max,V=Math.min,m=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),x=e=>e==n||e==a,D=e=>t(e)==r,J=e=>Array.isArray(e),A=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>W(e)===W(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),j=(e,t)=>e.sort(t),O=(e,t)=>e.forEach(t),P=(e,t)=>e.map(t),B=e=>q(e,((e,t)=>e+t),0),W=e=>e.length,$=e=>0==W(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>P(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>W(Y(e)))(e),oe=e=>e.size,re=(e,t)=>e?.has(t)??!1,le=e=>k(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),fe=e=>[...e?.keys()??[]],ge=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>k(s)?(ue(e,t),e):e?.set(t,s),Se=(e,t,s)=>(re(e,t)||we(e,t,s()),ge(e,t)),Te=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),ve=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Re=(e,t,s)=>ve(e,(e=>ve(e,t,s)),ae),ye=(e,t,s)=>ve(e,(e=>Re(e,t,s)),ae),Ie=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ie(e,Ie),Ce=e=>Ie(e,pe),be=(e,t,s,n,a=0)=>M((s?Se:ge)(e,t[a],a>W(t)-2?s:he),(o=>{if(a>W(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=e=>{const s=t(e);return x(s)||s==o&&m(e)?s:void 0},me=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(J(e)||k(e)?e:[e]),Me=(e,t)=>e?.add(t),xe=(e,t,s)=>{const n=e.hasRow,a=he(),o=he(),r=he(),l=he(),i=he(),c=(t,s,...n)=>{const a=Se(i,t,ke);return O(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>M(ge(i,t),(n=>{O($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(i,t)})),u=(e,s)=>{we(a,e,s),re(o,e)||(we(o,e,t()),we(r,e,he()),we(l,e,he()))},h=e=>{we(a,e),we(o,e),we(r,e),we(l,e),d(e)};return[()=>e,()=>fe(a),e=>Le(o,e),e=>re(o,e),e=>ge(a,e),e=>ge(o,e),(e,t)=>we(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const f=he(),g=he(),L=ge(r,t),w=ge(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=ge(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||J(r)&&J(l)&&z(r,l)||we(f,t,[r,l]),!k(h)){const e=ge(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&we(g,t,s)}},T=e=>{o((()=>{de(f,(([,e],t)=>we(L,t,e))),de(g,((e,t)=>we(w,t,e)))}),f,g,L,w,e),ce(f),ce(g)};Le(L,S),e.hasTable(a)&&O(e.getRowIds(a),(e=>{re(L,e)||S(e)})),T(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>T())))},h,()=>Le(i,h),c,d]},De=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let t=0;return[n=>(n?U(e):null)??s+t++,t=>{Ae.test(t)&&W(e)<1e3&&H(e,t)}]},Qe=e=>{let t;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),Me(be(r,l??[s],ke),d),d},(e,n,...a)=>O(((e,t=[s])=>{const n=[],a=(e,s)=>s==W(t)?H(n,e):null===t[s]?de(e,(e=>a(e,s+1))):O([t[s],null],(t=>a(ge(e,t),s+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>ge(o,e)[0](t,...n??[],...a))))),e=>M(ge(o,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>M(ge(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=W(r);l==W(s)?e(t,...r,...a(r)):k(s[l])?O(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},ze=Je((e=>{let t,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,f]=Qe((()=>Q)),g=he(),L=he(),w=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ge(g,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>Ee(e,n,s[t])))})),i=1},v=e=>{we(g,e),we(L,e),h(d,[e])},R=(e,t)=>O(((e,t)=>e.splice(0,t))(e,t??W(e)),v),y=()=>R(w,W(w)-o),I=()=>M(t,(()=>{H(w,t),y(),R(S),t=void 0,a=1})),p=()=>{t=K(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Se(r,t,he),l=Se(e,s,he),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&p(),x()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&p(),x()}})),V=(e="")=>(k(t)&&(t=s+n++,we(g,t,[r,l]),J(t,e),r=he(),l=he(),a=1),t),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(S,V()),T(0,t),t=K(w),a=1)},E=()=>{$(S)||(H(w,t),t=U(S),T(1,t),a=1)},x=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return x(),t},J=(e,t)=>(A(e)&&ge(L,e)!==t&&(we(L,e,t),h(d,[e])),Q),A=e=>re(g,e),Q={setSize:e=>(o=e,y(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...S]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:A,getCheckpoint:e=>ge(L,e),goBackward:()=>(m(),x(),Q),goForward:()=>(E(),x(),Q),goTo:e=>{const s=F(w,e)?m:F(S,e)?E:null;for(;!k(s)&&e!=t;)s();return x(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(R(w),R(S),k(t)||v(t),t=void 0,n=0,D(),Q),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>e<t?-1:1,je=Je((e=>{const t=he(),n=he(),[a,o,r,l,i,c,d,,u,h,f]=xe(e,he,(e=>k(e)?s:J(e)?P(e,C):C(e))),[g,L,w]=Qe((()=>T)),S=(t,s,n)=>{const a=i(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=Ne)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,f)=>{let g=0;const w=ke(),S=ke(),T=c(e);if(de(a,(([e,t],s)=>{const n=ke(e),a=ke(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{Me(w,e),M(ge(T,e),(t=>{ue(t,s),le(t)&&(we(T,e),g=1)}))})),de(a,(e=>{Me(w,e),re(T,e)||(we(T,e,ke()),g=1),Me(ge(T,e),s),k(o)||Me(S,e)}))})),s(),le(h)||(f?Le(T,(e=>Me(S,e))):Le(r,(e=>M(ge(u,e),(e=>Me(S,e))))),de(S,(e=>{const t=(t,s)=>l(ge(h,t),ge(h,s),e),s=[...ge(T,e)];N(s,t)||(we(T,e,ke(j(s,t))),Me(w,e))}))),(g||f)&&!k(i)){const t=[...T];N(t,i)||(d(e,he(j(t,i))),g=1)}g&&L(t,[e]),de(w,(t=>L(n,[e,t])))}),De(a),M(o,De)),T},delIndexDefinition:e=>(h(e),T),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>re(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ie(ge(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>g(s,n,[e,t]),delListener:e=>(w(e),T),destroy:f,getListenerStats:()=>({})};return _(T)})),Oe=he([["avg",[(e,t)=>B(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=k(e),de(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ie(s),oe(s)):e},Be=Je((e=>{const t=he(),[n,a,o,r,l,i,c,,d,u,h]=xe(e,A,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===s?void 0:1*e)),[f,g,L]=Qe((()=>w)),w={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=D(n)?[n,o,r,l]:ge(Oe,n)??ge(Oe,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=oe(o);l||=k(d),s();let f=Pe(d,h,o,n,u,l);m(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),De(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return _(w)})),We=Je((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,g,L,y]=xe(e,(()=>!0),A),I=t(),p=t(),C=he(),b=(e,t,...s)=>O(s,(s=>Me(Se(Se(C,t,he),e,ke),s))),V=e=>{M(ge(C,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),O([p,I],(t=>t.delTable(e)))},m=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,a)=>{i(t,n),V(t);const o=[],r=[[null,[n,null,null,[],he()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=D(e)?[W(o)+s,e]:[k(t)?e:t,s=>s(e,t)];return H(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||D(t)?null:t,a=k(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(l,D(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:ge(Oe,t)??[(e,t)=>t]]];return H(c,o),{as:e=>o[0]=e}},having:(e,t)=>H(d,D(e)?e:s=>s(e)===t)});const u=he(o);if(le(u))return E;const h=he(r);Le(h,((e,[,t])=>M(ge(h,t),(({3:t})=>k(e)?0:H(t,e)))));const f=he(c);let g=I;if(le(f)&&$(d))g=p;else{m(t,g,p);const e=he();Le(f,((t,[s,n])=>Me(Se(e,s,ke),[t,n])));const s=ke();Le(u,(t=>re(e,t)?0:Me(s,t)));const n=he(),a=(s,n,a,o)=>M(s,(([r,l,i,c])=>{Le(n,((t,[s])=>{const n=Se(r,t,he),l=ge(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=oe(n);we(n,a,i),de(ge(e,t),(([e,t])=>{const a=Pe(c[e],o,n,s,t);c[e]=k(Ve(a))?null:a}))}})),le(l)||!Q(d,(e=>e((e=>c[e]))))?p.delRow(t,i):k(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));b(g,t,g.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=he(),h=g.hasRow(t,l);let f=!h;de(s,(e=>{const[s,n,a]=i(t,l,e);H(c,n),H(d,a),f||=s})),Le(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&we(u,e,[n])})),f&&a(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&a(be(n,d,(()=>{const e={};return de(s,(s=>e[s]=g.getCell(t,l,s))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}m(t,e,g);const w=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);O(r,(n=>{const[a,,o,r,l]=ge(h,n),c=o?.(i,s),[d,u]=ge(l,s)??[];c!=d&&(k(u)||y(t,u),we(l,s,k(c)?null:[c,...L(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...k(a)?[n,s,t]:t===n?[n,s,a]:[ge(h,t)?.[0],ge(ge(h,t)?.[4],s)?.[0],a]);g.transaction((()=>Q(l,(e=>e(a)))?Le(u,((e,n)=>me(g,t,s,e,n(a,s)))):g.delRow(t,s)))})(s)},{3:S}=ge(h,null);return g.transaction((()=>L(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?w(o,n,o,S):(g.delRow(t,o),de(h,(({4:e})=>M(ge(e,o),(([,s])=>{y(t,s),we(e,o)})))))}))))),E},delQueryDefinition:e=>(V(e),h(e),E),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),E),destroy:g,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return ne({[f]:[1,1],[f+R]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{O(e?["get","has","forEach"]:["get"],(e=>E[e+d+s]=(...t)=>p[e+s](...t))),E[u+d+s+c]=(...e)=>p[u+s+c](...G(e,0,t),((s,...n)=>e[t](E,...n)))})),_(E)})),$e=Je((e=>{const t=he(),n=he(),a=he(),o=he(),[r,l,i,c,d,u,,,h,f,g]=xe(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+s)),[L,w,S]=Qe((()=>y)),T=(e,t,s)=>M(u(e),(([n,,a])=>{if(!re(a,t)){const o=ke();if(d(e)!=R(e))Me(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)Me(o,e),e=ge(n,e)}if(s)return o;we(a,t,o)}return ge(a,t)})),v=(e,t)=>M(u(e),(([,,e])=>we(e,t))),R=e=>ge(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(we(t,e,r),h(e,s,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);de(s,(([t,s],n)=>{k(t)||(Me(l,t),M(ge(d,t),(e=>{ue(e,n),le(e)&&we(d,t)}))),k(s)||(Me(l,s),re(d,s)||we(d,s,ke()),Me(ge(d,s),n)),Me(r,n),we(c,n,s),Le(ge(o,e),(t=>{re(T(e,t),n)&&Me(i,t)}))})),t(),de(r,(t=>w(n,[e,t]))),de(l,(t=>w(a,[e,t]))),de(i,(t=>{v(e,t),w(o,[e,t])}))}),De(l)),y),delRelationshipDefinition:e=>(we(t,e),f(e),y),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>ge(u(e)?.[0],t),getLocalRowIds:(e,t)=>ie(ge(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(u(e))?[t]:ie(T(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),L(s,o,[e,t])),delListener:e=>(v(...S(e)),y),destroy:g,getListenerStats:()=>({})};return _(y)})),qe=e=>[e,e],Ge=()=>[he(),he()],He=e=>[...e],Ke=([e,t])=>e===t,Ue=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),Xe=JSON.parse,Ye=(e,t,s)=>k(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),Ze=(e,t,s)=>we(e,t,ge(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,a=0;const r=he(),d=he(),h=he(),T=he(),b=he(),V=he(),m=he(),E=he(),J=he(),A=he(),Q=he(),N=he(),B=he(),W=ke(),$=he(),q=he(),K=he(),U=he(),X=Ge(),Y=Ge(),Z=Ge(),ee=Ge(),oe=Ge(),ie=Ge(),be=Ge(),xe=Ge(),De=Ge(),Je=Ge(),Ae=Ge(),ze=Ge(),je=Ge(),Oe=Ge(),Pe=he(),Be=Ge(),[We,$e,et,tt]=Qe((()=>gs)),st=e=>{if(!Ye(e,((e,t)=>F([l,i],t))))return!1;const t=e[l];return!(!x(t)&&t!=o||(Ve(e[i])!=t&&se(e,i),0))},nt=(t,s)=>(!e||re(A,s)||Jt(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>M(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?M(ge(ge(A,t),n),(e=>Ve(a)!=e[l]?Jt(t,s,n,a,e[i]):a),(()=>Jt(t,s,n,a))):k(Ve(a))?Jt(t,s,n,a):a,rt=(e,t)=>Ye(t?e:ct(e),((t,s)=>M(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?M(ge(N,e),(t=>Ve(s)!=t[l]?At(e,s,t[i]):s),(()=>At(e,s))):k(Ve(s))?At(e,s):s,it=(e,t,s)=>(M(ge(Q,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(de(B,((t,s)=>{te(e,s)||(e[s]=t)})),de(W,(t=>{te(e,t)||At(t)}))),e),dt=e=>Te(A,e,((e,t,s)=>{const n=he(),a=ke();Te(Se(A,t,he),s,((e,t,s)=>{we(e,t,s),M(s[i],(e=>we(n,t,e)),(()=>Me(a,t)))})),we(Q,t,[n,a])}),((e,t)=>{we(A,t),we(Q,t)})),ut=e=>Te(N,e,((e,t,s)=>{we(N,t,s),M(s[i],(e=>we(B,t,e)),(()=>Me(W,t)))}),((e,t)=>{we(N,t),we(B,t),ue(W,t)})),ht=e=>ae(e)?os():es(e),ft=e=>Te(K,e,((e,t,s)=>gt(t,s)),((e,t)=>pt(t))),gt=(e,t)=>Te(Se(K,e,(()=>(mt(e,1),we($,e,Fe()),we(q,e,he()),he()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>Ct(e,t,s))),Lt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Et(e,s,1),he()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{re(s,n)||kt(e,t,n,1);const o=ge(s,n);a!==o&&(Mt(e,t,n,o,a),we(s,n,a))},St=(e,t,s,n,a)=>M(ge(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),Tt=e=>ae(e)?is():ts(e),vt=e=>Te(U,e,((e,t,s)=>Rt(t,s)),((e,t)=>Vt(t))),Rt=(e,t)=>{re(U,e)||xt(e,1);const s=ge(U,e);t!==s&&(Dt(e,s,t),we(U,e,t))},yt=(e,t)=>{const[s]=ge($,e),n=s(t);return re(ge(K,e),n)?yt(e,t):n},It=e=>ge(K,e)??gt(e,{}),pt=e=>gt(e,{}),Ct=(e,t,s)=>{const[,n]=ge($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=ge(ge(Q,e)?.[0],a);if(!k(r)&&!o)return wt(e,s,n,a,r);const l=t=>{Mt(e,s,t,ge(n,t)),kt(e,s,t,-1),we(n,t)};k(r)?l(a):Le(n,l),le(n)&&(Et(e,s,-1),le(we(t,s))&&(mt(e,-1),we(K,e),we($,e),we(q,e)))},Vt=e=>{const t=ge(B,e);if(!k(t))return Rt(e,t);Dt(e,ge(U,e)),xt(e,-1),we(U,e)},mt=(e,t)=>Ze(r,e,t),Et=(e,t,s)=>Ze(Se(h,e,he),t,s),kt=(e,t,s,n)=>{const a=ge(q,e),o=ge(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(Se(d,e,he),s,n),we(a,s,o!=-n?o+n:null),Ze(Se(Se(T,e,he),t,he),s,n)},Mt=(e,t,s,n,a)=>Se(Se(Se(b,e,he),t,he),s,(()=>[n,0]))[1]=a,xt=(e,t)=>Ze(V,e,t),Dt=(e,t,s)=>Se(m,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(H(Se(Se(Se(E,e,he),t,he),s,(()=>[])),n),a),At=(e,t,s)=>(H(Se(J,e,(()=>[])),t),s),Ft=(e,t,s)=>M(ge(ge(ge(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(Xt(e,t,s))])),Qt=e=>M(ge(m,e),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(_t(e))])),zt=e=>le(E)||le(Je[e])?0:de(e?Ce(E):E,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>$e(Je[e],[s,n,a],t))))))),Nt=e=>le(J)||le(Ae[e])?0:de(e?Ie(J):J,((t,s)=>$e(Ae[e],[s],t))),jt=(e,t,s)=>{if(!le(t))return $e(e,s,(()=>ve(t))),1},Ot=e=>{const t=le(ie[e]),s=le(xe[e])&&le(ee[e])&&le(oe[e])&&t&&le(Y[e]),n=le(De[e])&&le(be[e])&&le(Z[e])&&le(X[e]);if(!s||!n){const a=e?[Ie(r),pe(d),pe(h),Ce(T),Ce(b)]:[r,d,h,T,b];if(!s){jt(Y[e],a[0]),de(a[1],((t,s)=>jt(ee[e],t,[s])));const s=ke();de(a[2],((n,a)=>{jt(oe[e],n,[a])&&!t&&($e(ie[e],[a,null]),Me(s,a))})),t||de(a[4],((t,n)=>{if(!re(s,n)){const s=ke();de(t,(e=>de(e,(([t,n],a)=>n!==t?Me(s,a):ue(e,a))))),de(s,(t=>$e(ie[e],[n,t])))}})),de(a[3],((t,s)=>de(t,((t,n)=>jt(xe[e],t,[s,n])))))}if(!n){let t;de(a[4],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&($e(De[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&$e(be[e],[n,o],Ft)})),a&&$e(Z[e],[n],Ft)})),t&&$e(X[e],void 0,Ft)}}},Pt=e=>{const t=le(je[e]),s=le(Oe[e])&&le(ze[e]);if(!t||!s){const n=e?[Ie(V),Ie(m)]:[V,m];if(t||jt(je[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&($e(Oe[e],[a],n,s,Qt),t=1)})),t&&$e(ze[e],void 0,Qt)}}},Bt=(e,...t)=>(us((()=>e(...P(t,C)))),gs),Wt=()=>[ve(b,((e,t)=>-1===ge(r,t)?null:ve(e,((e,s)=>-1===ge(ge(h,t),s)?null:ve(e,(([,e])=>e??null),((e,t)=>Ke(t)))),ae)),ae),ve(m,(([,e])=>e??null),((e,t)=>Ke(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(b,He,Ke),invalidCells:ye(E),changedValues:ve(m,He,Ke),invalidValues:ve(J),changedTableIds:ve(r),changedRowIds:Re(h),changedCellIds:ye(T),changedValueIds:ve(V)}),qt=()=>ye(K),Gt=()=>fe(K),Ht=e=>fe(ge(K,C(e))),Kt=(e,t,s,n=0,a)=>{return P(G(j((o=ge(K,C(e)),r=(e,s)=>[k(t)?s:ge(e,C(t)),s],P([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(ge(ge(K,C(e)),C(t))),Xt=(e,t,s)=>ge(ge(ge(K,C(e)),C(t)),C(s)),Yt=()=>ve(U),Zt=()=>fe(U),_t=e=>ge(U,C(e)),es=e=>Bt((()=>(e=>Ye(e,nt,Jt))(e)?ft(e):0)),ts=e=>Bt((()=>rt(e)?vt(e):0)),ss=e=>{try{ht(Xe(e))}catch{}return gs},ns=t=>Bt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!le(K))){const e=qt();os(),es(e)}})),as=e=>Bt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Bt((()=>ft({}))),rs=e=>Bt((e=>re(K,e)?pt(e):0),e),ls=(e,t)=>Bt(((e,t)=>M(ge(K,e),(s=>re(s,t)?Ct(e,s,t):0))),e,t),is=()=>Bt((()=>vt({}))),cs=()=>Bt((()=>{dt({}),e=!1})),ds=()=>Bt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=a){hs();const s=e();return fs(t),s}},hs=()=>(-1!=a&&a++,1==a&&$e(Pe,void 0,Wt,$t),gs),fs=e=>(a>0&&(a--,0==a&&(s=!le(b),n=!le(m),a=1,zt(1),s&&Ot(1),Nt(1),n&&Pt(1),e?.(Wt,$t)&&(de(b,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(gs,t,s,n,e))))))),de(m,(([e],t)=>Ee(gs,t,e))),s=n=!1),$e(Be[0],void 0,Wt,$t),a=-1,zt(0),s&&Ot(0),Nt(0),n&&Pt(0),$e(Be[1],void 0,Wt,$t),a=0,s=n=!1,O([r,d,h,T,b,E,V,m,J],ce))),gs),gs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(K,C(e))),getTableCellIds:e=>fe(ge(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>ve(ge(ge(K,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!le(K),hasTable:e=>re(K,C(e)),hasTableCell:(e,t)=>re(ge(q,C(e)),C(t)),hasRow:(e,t)=>re(ge(K,C(e)),C(t)),hasCell:(e,t,s)=>re(ge(ge(K,C(e)),C(t)),C(s)),hasValues:()=>!le(U),hasValue:e=>re(U,C(e)),getTablesJson:()=>Ue(K),getValuesJson:()=>Ue(U),getJson:()=>Ue([K,U]),getTablesSchemaJson:()=>Ue(A),getValuesSchemaJson:()=>Ue(N),getSchemaJson:()=>Ue([A,N]),setContent:([e,t])=>Bt((()=>{(ae(e)?os:es)(e),(ae(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Bt((e=>nt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Bt(((e,t)=>at(e,t,s)?Lt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,It(e),n=yt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Bt(((e,t)=>{if(at(e,t,s,1)){const n=It(e);ne(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ot(e,t,s,D(n)?n(Xt(e,t,s)):n),(n=>St(e,It(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Bt((()=>rt(e,1)?ne(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>Bt((e=>M(lt(e,D(t)?t(_t(e)):t),(t=>Rt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{ne(e[0],((e,t)=>k(e)?rs(t):ne(e,((e,s)=>k(e)?ls(t,s):ne(e,((e,n)=>me(gs,t,s,n,e))))))),ne(e[1],((e,t)=>Ee(gs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{Tt(Xe(e))}catch{}return gs},setJson:e=>{try{const[t,s]=Xe(e);ht(t),Tt(s)}catch{ss(e)}return gs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Bt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ge(K,e),(a=>M(ge(a,t),(o=>re(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Bt((e=>re(U,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Bt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:fs,forEachTable:e=>de(K,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(q,C(e)),t),forEachRow:(e,t)=>de(ge(K,C(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(ge(ge(K,C(e)),C(t)),s),forEachValue:e=>Le(U,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return We((()=>{const r=Kt(e,t,s,n,a);z(r,l)||(l=r,o(gs,e,t,s,n,a,l))}),ie[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>We(e,Pe),addWillFinishTransactionListener:e=>We(e,Be[0]),addDidFinishTransactionListener:e=>We(e,Be[1]),callListener:e=>(tt(e),gs),delListener:e=>(et(e),gs),getListenerStats:()=>({}),createStore:_e};return ne({[g]:[0,X],[L]:[0,Y],[f]:[1,Z,[Gt]],[f+R]:[1,ee,[Gt]],[S]:[1,oe,[Gt]],[w]:[2,be,[Gt,Ht]],[R]:[2,xe,[Gt,Ht]],[v]:[3,De,[Gt,Ht,Ut],e=>qe(Xt(...e))],InvalidCell:[3,Je],[I]:[0,ze],[p]:[0,je],[y]:[1,Oe,[Zt],e=>qe(_t(e[0]))],InvalidValue:[1,Ae]},(([e,t,s,n],a)=>{gs[u+a+c]=(...a)=>We(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(gs)};e.createCheckpoints=ze,e.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await f.schedule((async()=>{await e(),i=0}))),f),f={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(f.stopAutoLoad(),await f.load(s,a),d=1,l=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),f),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),f),save:async t=>(1!=i&&(i=2,await f.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||f.save((()=>[s,n]))})),f),stopAutoSave:()=>(M(o,e.delListener),f),schedule:async(...e)=>(H(u,...e),await(async()=>{if(!c){for(c=1;!k(r=U(u));)try{await r()}catch{}c=0}})(),f),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(f)},e.createIndexes=je,e.createMetrics=Be,e.createQueries=We,e.createRelationships=$e,e.createStore=_e,e.defaultSorter=Ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
package/lib/umd/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/umd/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",a="",n=",",o=t(a),d=t(!0),s=t(0),r="type",I="default",c="Listener",$="get",i="add",u="Ids",p="Table",b=p+"s",C=p+u,h="Row",m=h+u,g="Sorted"+h+u,f="Cell",w=f+u,y="Value",T=y+"s",v=y+u,V=(e,t)=>e.every(t),x=(e,t)=>e.sort(t),R=(e,t)=>e.forEach(t),k=(e,t=a)=>e.join(t),S=(e,t)=>e.map(t),A=e=>e.length,P=(e,t)=>e.filter(t),E=(e,...t)=>e.push(...t),D=e=>e.pop(),O=(e,...t)=>e.unshift(...t),N=e=>e.shift(),L=JSON.parse,G=isFinite,j=(e,t)=>e instanceof t,M=e=>null==e,J=e=>e==o||e==d,z=e=>t(e)==o,W=e=>Array.isArray(e),B=e=>{const l=t(e);return J(l)||l==s&&G(e)?l:void 0},F=Object,U=F.keys,_=F.freeze,Z=e=>j(e,F)&&e.constructor==F,H=(e,t)=>S(F.entries(e),(([e,l])=>t(l,e))),Q=e=>A(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)=>S([...e?.entries()??[]],(([e,l])=>t(l,e))),oe=(e,t,l)=>M(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",ie="Callback",ue="Del",pe="Deps",be=pe+"?: React.DependencyList",Ce="doRollback?: DoRollback",he="actions: () => Return, "+Ce,me="export",ge="Id",fe="Invalid",we="Json",ye=re(c),Te="?: ",ve=" | undefined",Ve="NonNullable",xe="Partial",Re="Props",ke="Provider",Se=`Registers a ${ye} that will be called`,Ae="Represents",Pe="rowId: "+ge,Ee="Schema",De="Set",Oe=", descending?: boolean, offset?: number, limit?: number",Ne="[]",Le="the Store",Ge="Transaction",je=Ge+"Changes",Me=re(Ge),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+Le:a),et=(e=0,t,l=0)=>pt[t]+Qe+Ye(e,1)+(l?" when setting it":a),tt=(e,t=0)=>Ae+` a Row when ${t?"s":"g"}etting ${Ye()} the '${e}' `+p,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,l=0)=>Se+" whenever "+Ct[e]+" in "+Ct[t]+" change"+(l?a:"s"),rt=e=>`the '${e}' `+p,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),it=(e,t,l=0)=>pt[l]+` the '${t}' Cell for `+It(e),ut=(e,t=0)=>pt[t]+` the '${e}' Value`,pt=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ae,"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=[$,"has","set","del","set","forEach",i,a],Ct=[Le,b,Ke+p+Qe+u,Ie+p,Ke+h+Qe+u,Ie+h,Ke+f+Qe+u,Ie+f,"invalid Cell changes",T,Ke+y+Qe+u,Ie+y,"invalid Value changes",Ke+"sorted "+h+Qe+u,Ke+f+Qe+u+" anywhere"],ht=[a,"tabular ","keyed value "],mt=e=>new Set(W(e)||M(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(n),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)=>k(S(e.split(wt),((e,l)=>(l>0||t?se:re)(Tt(e,0,1))+Tt(e,1)))),At=e=>se(k((e&&!ft.test(e[0])?e:" "+e).split(wt),"_")),Pt=e=>`/** ${e}. */`,Et=(...e)=>k(P(e,(e=>e)),", "),Dt=(...e)=>"{"+k(e,"; ")+"}",Ot=(...e)=>Dt(...S(e,(e=>"readonly "+e))),Nt=()=>{const e=[te(),te(),te(),te()],t=te(),l=te(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>k(kt(e),"\n"),(t,l,...a)=>R(a,(a=>R([0,1],(n=>(t??n)==n?gt(de(e[n],l,mt),a):0)))),(e,l,n,o=a,d=1)=>Vt(t,e,[l,n,o,d]),(e,t,a)=>Vt(l,e,W(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>le(l,e)===t?e:Vt(l,e,t),(t=0)=>S([...x(ne(e[t],((e,t)=>`import {${k(x(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)),a],(e=>e.replace("{React}","React"))),()=>ne(t,(([e,t,l,n],o)=>[Pt(t),`${n?me+" ":a}type ${o}${l} = ${e};`,a])),()=>ne(l,((e,t)=>(e=W(e)?e:[e],E(e,D(e)+";"),[`const ${t} = ${N(e)}`,e,a])))]},Lt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Gt=(e,t,l)=>[t=>H(e,((e,a)=>t(a,St(a,1),l(At(a),`'${a}'`)))),(t,a)=>H(e[t],((e,t)=>a(t,e[r],e[I],l(At(t),`'${t}'`),St(t,1)))),e=>H(t,((t,a)=>e(a,t[r],t[I],l(At(a),`'${a}'`),St(a,1))))],jt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,s=e(b,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t,l)=>`'${e}'${M(l)?"?":a}: ${t}`)))+"}"))),et(1,5)),r=e(b+_e,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),et(1,5,1)),I=e(p+ge,"keyof "+s,"A "+p+" Id in "+Le),$=`<TId extends ${I}>`,i=e(p,Ve+`<${s}[TId]>`,"A "+p+" in "+Le,$),u=e(p+_e,Ve+`<${r}[TId]>`,"A "+p+" in "+Le+Ze,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+_e,u+"<TId>[Id]","A "+h+" in a "+p+Ze,$),v=e(f+ge,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,Ve+`<${s}[TId]>[Id][CId]`,"A "+f+" in a "+h,`<TId extends ${I}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,f+" Ids and types in a "+h,`<TId extends ${I}, CId = ${v}<TId>>`,0),R=e(f+ie,`(...[cellId, cell]: ${x}<TId>)`+Ue,ot(Ie+f+" Id, and "+f),$),k=e(h+ie,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ue+") "+Ue,ot(Ie+h+" Id, and a "+f+" iterator"),$),S=e(p+f+ie,`(cellId: ${v}<TId>, count: number) `+Ue,ot(Ie+f+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Ue}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),P=e(p+ie,`(...[tableId, forEachRow]: ${A})`+Ue,ot(Ie+p+" Id, and a "+h+" iterator"),a),E=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,ce+" returning information about any Cell's changes during a "+Me),O=e(b+c,`(${d}, getCellChange: ${D}${ve})`+Ue,dt(1)),N=e(C+c,`(${d})`+Ue,dt(2)),L=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${D}${ve})`+Ue,dt(3)),G=e(p+w+c,`(${d}, tableId: ${I})`+Ue,dt(14,3)),j=e(m+c,`(${d}, tableId: ${I})`+Ue,dt(4,3)),J=e(g+c,"("+Et(d,"tableId: "+I,"cellId: Id"+ve,"descending: boolean","offset: number","limit: number"+ve,"sortedRowIds: Ids")+")"+Ue,dt(13,3)),z=e(h+c,"("+Et(""+d,"tableId: "+I,Pe,`getCellChange: ${D}${ve}`)+")"+Ue,dt(5,3)),W=e(w+c,"("+Et(""+d,"tableId: "+I,Pe)+")"+Ue,dt(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Pe}, cellId: CId, newCell: ${V}<TId, CId> ${ve}, oldCell: ${V}<TId, CId> ${ve}, getCellChange: ${D} ${ve}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,i,u,y,T,v,V,R,k,S,P,O,N,L,G,j,J,z,W,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Ue,dt(7,5)),e(fe+f+c,`(${d}, tableId: Id, ${Pe}, cellId: Id, invalidCells: any[])`+Ue,dt(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Dt(...n(((e,t,l)=>`'${e}'${M(l)?"?":a}: ${t}`))),et(2,5)),s=e(T+_e,Dt(...n(((e,t)=>`'${e}'?: ${t}`))),et(2,5,1)),r=e(y+ge,"keyof "+d,"A "+y+" Id in "+Le),I=e(y,Ve+`<${d}[VId]>`,"A "+y+" Id in "+Le,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Le,`<VId = ${r}>`,0),i=e(y+ie,`(...[valueId, value]: ${$})`+Ue,ot(Ie+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${r}) => ValueChange`,ce+" returning information about any Value's changes during a "+Me),p=e(T+c,`(${o}, getValueChange: ${u}${ve})`+Ue,dt(9)),b=e(v+c,`(${o})`+Ue,dt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${I}<VId> ${ve}, oldValue: ${I}<VId> ${ve}, getValueChange: ${u} ${ve}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,I,i,p,b,e(y+c,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ue,dt(11)),e(fe+y+c,`(${o}, valueId: Id, invalidValues: any[])`+Ue,dt(12))]},(t,l)=>e(Ge+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ue,ce+" listening to the completion of a "+Me)],Mt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),Jt=(e,t=a)=>`fluent(() => ${Mt(e,t)})`,zt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,Wt=(e,t,n)=>{const[o,s,$,V,x,S,A,P]=Nt(),[D,N,L]=Gt(e,t,x),[G,j,J]=jt($,D,N,L),W=te(),B=(e=0)=>ne(W,(([t,l,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${l} => ${n},`]:[s+d+`(${t}): ${l};`];return e||O(r,Pt(o)),E(r,a),r})),F=(e,t,l,n,o,d=a)=>Vt(W,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,s=a,r=a)=>F(bt[e]+t+(4==e?xe:a)+l,d,n,(n==H?Jt:Mt)(bt[e]+(4==e?xe:a)+l,s,e?void 0:n),o,r),_=(e,t,l,n=a,o=a,d=1,s=a)=>F(i+e+c,(n?n+", ":a)+ye+": "+t+(d?", mutator?: boolean":a),ge,zt(i+e+c,o,d?"mutator":a),l,s),Z=`./${St(n)}.d`,H=St(n,1),Q=St(H),K=[],Y=te();let ee=[],de=[];if(s(1,Z,H,`create${H} as create${H}Decl`),q(e))s(null,l,b);else{s(0,l,"CellChange"),s(null,l,u);const[e,t,n,o,c,i,y,T,v,V,S,A,P,O,L,j,J,W,B,F,q,ae,ne]=G(Q,H),de=te();D(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Ae+` the '${e}' `+p),$(t+p+_e,c+l,Ae+` the '${e}' `+p+Ze),$(t+h,i+l,tt(e)),$(t+h+_e,y+l,tt(e,1)),$(t+f+ge,T+l,`A Cell Id for the '${e}' `+p),$(t+f+ie,V+l,ot(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+ie,S+l,ot(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+ie,A+l,ot(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];oe(de,e,a),s(1,Z,...a)})),s(1,Z,e,t,n,T,P,O,L,j,J,W,B,F,q,ae,ne),ee=[e,t,n,T,O,L,j,J,W,B,F,q,ae,de],R([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,et(1,n),t,l))),U(0,a,C,n+Ne,lt(p,Le)),U(5,a,p,Fe,at(p,Le),"tableCallback: "+P,"tableCallback as any"),D(((e,t,l)=>{const[n,o,s,r,I,c,$,i]=le(de,e);R([[n],[d],[H,"table: "+o,", table"],[H]],(([n,o,d=a],s)=>U(s,t,p,n,ct(e,s),o,l+d))),U(0,t,p+w,u,lt(f,"the whole of "+rt(e)),a,l),U(5,t,p+f,Fe,at(p+f,"the whole of "+rt(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,m,u,lt(h,rt(e)),a,l),U(0,t,g,u,lt(h,rt(e),1),"cellId?: "+I+Oe,l+", cellId, descending, offset, limit"),U(5,t,h,Fe,at(h,rt(e)),"rowCallback: "+$,l+", rowCallback as any"),R([[s],[d],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=a,d=a],s)=>U(s,t,h,n,$t(e,s),Pe+o,l+", rowId"+d))),U(6,t,h,ge+ve,"Add a new Row to "+rt(e),"row: "+r+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+Ne,lt(f,It(e)),Pe,l+", rowId"),U(5,t,f,Fe,at(f,It(e)),Pe+", cellCallback: "+c,l+", rowId, cellCallback as any"),N(e,((n,o,s,r,I)=>{const c="Map"+St(o,1);oe(Y,o,c);const $=o+(M(s)?ve:a);R([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,s=a],c)=>U(c,t+I,f,o,it(e,n,c),Pe+d,l+", rowId, "+r+s))),U(1,t+I,p+f,d,pt[1]+` the '${n}' Cell anywhere in `+rt(e),a,l+", "+r)}))})),U(0,a,b+we,we,et(1,6)),U(2,a,b+we,H,et(1,7),"tablesJson: "+we,"tables"+we),_(b,O,et(1,8)+" changes"),_(C,L,st(2,0,1)),_(p,j,st(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,J,st(14,3,1),`tableId: ${n} | null`,"tableId"),_(m,W,st(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,B,st(13,3,1),Et("tableId: TId",`cellId: ${T}<TId>`+ve,"descending: boolean","offset: number","limit: number"+ve),Et("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,F,st(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,q,st(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,ae,st(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${k(D((e=>le(de,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(fe+f,ne,Se+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...X(Y)),E(K,".set"+b+Ee+"({",kt(D(((e,t,l)=>[`[${l}]: {`,...N(e,((e,t,l,n)=>`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${M(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(z(l)?x(At(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(q(t))s(null,l,T);else{const[e,t,n,o,c,$,i,u,p]=j(Q,H);s(1,Z,e,t,n,c,$,i,u,p),de=[e,t,n,$,i,u],R([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,et(2,n),t,l))),U(0,a,v,n+Ne,lt(y,Le)),U(5,a,y,"void",at(y,Le),"valueCallback: "+c,"valueCallback as any"),L(((e,t,l,n,o)=>{const s="Map"+St(t,1);oe(Y,t,s),R([[t],[d],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,l,d=a],s)=>U(s,o,y,t,ut(e,s),l,n+d)))})),U(0,a,T+we,we,et(2,6)),U(2,a,T+we,H,et(2,7),"valuesJson: "+we,"values"+we),_(T,$,et(2,8)+" changes"),_(v,i,st(10,0,1)),_(y,u,st(11,0),`valueId: ${n} | null`,"valueId"),_(fe+y,p,Se+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...X(Y)),s(0,l,"ValueChange"),E(K,".set"+T+Ee+"({",L(((e,t,l,n)=>[`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${M(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(z(l)?x(At(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,et(0,0)),U(2,a,"Content",H,et(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,je,H,`Applies a set of ${je} to the Store`,"transactionChanges: "+je,"transactionChanges"),ae(Y,((e,t)=>$(t,`(cell: ${e}${ve}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,l,"DoRollback",ge,"IdOrNull",we,"Store",je),s(0,l,"Get"+je,"GetTransactionLog"),U(0,a,we,we,et(0,6)),U(2,a,we,H,et(0,7),"tablesAndValuesJson: "+we,"tablesAndValuesJson"),U(7,a,Me,"Return",Je,he,"actions, doRollback","<Return>"),U(7,a,"start"+Ge,H,ze),U(7,a,"finish"+Ge,H,We,Ce,"doRollback");const se=J(Q,H);return _("Start"+Ge,se,Se+" just before the start of the "+Me,a,a,0),_("WillFinish"+Ge,se,Se+" just before "+Be,a,a,0),_("DidFinish"+Ge,se,Se+" just after "+Be,a,a,0),U(7,a,"call"+c,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,c,H,"Remove a listener that was previously added to "+Le,"listenerId: Id","listenerId"),F("getStore",a,"Store","store",pt[0]+" the underlying Store object"),s(1,l,"createStore"),s(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),"}"]),[o(...S(0),...A(),me+" interface "+H+" {",...B(0),"}",a,Pt(`Creates a ${H} object`),me+" function create"+H+"(): "+H+";"),o(...S(1),me+" const create"+H+": typeof create"+H+"Decl = () => {",...P(),`return Object.freeze(${Q});`,"};"),ee,de]},Bt=e=>$+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"+ie+"<"+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"),il=(e,t,n,o,d)=>{const[s,r,I,$,i,V,x,R]=Nt(),[S,A,P]=Gt(e,t,i),D=`./${St(n)}.d`,N=`./${St(n)}-ui-react.d`,L="tinybase/ui-react",G=St(n,1),j=St(G),J=G+"Or"+G+ge,z=j+"Or"+G+ge,W=j+`={${j}}`,B=te(),F=(e,t,l,n,o,d=a)=>(r(1,N,e+" as "+e+"Decl"),Vt(B,e,[t,l,n,o,d])),U=(e,t,l,n,o,d=a)=>F("use"+e,t,l,n,o,d),_=(e,t,l,n,o=a,d=a,s=a,I=a,c=a)=>(r(1,L,`use${t} as use${t}Core`),U(e,Et(o,X,I),l,ee+`(${z}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ne(B,(([t,l,n,o,d],s)=>{const r=e?[me+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[me+` function ${s}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||O(r,Pt(o)),E(r,a),r}));r(null,l,ge,"Store",ie,Ht+"ized"+ie),r(0,L,"ComponentReturnType"),r(1,L,"useCellIds"),r(null,L,"ExtraProps"),r(0,D,G);const Q=I(J,G+" | "+ge,`Used when you need to refer to a ${G} in a React hook or component`),K=I(ke+Re,Ot(j+Te+G,j+`ById?: {[${j}Id: Id]: ${G}}`),`Used with the ${ke} 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,N,Q,K);const X=z+Te+Q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${G}?, {[${j}Id: Id]: ${G}}?]>([])`),U("Create"+G,`create: () => ${G}, create`+be,G,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${G} within a React application with convenient memoization`);const Y=U(G,"id?: Id",G+ve,["{",qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${ke} component context`),ee=$("useHook",z+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${Y}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${j} : ${z})?.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",`${z}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=i("NullComponent","() => null");if(!q(e)){const[e,t,n,d,s,i,y,T,v,V,x,R,P,E]=o;r(null,D,e,t,n,s,i,y,T,v,V,x,R,P),r(0,D,d),r(1,D,G),r(null,l,u,"IdOrNull");const O=$("tableView",`{${j}, 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}",W,_t,"/>","))",al,", tableId,",");"]),L=$("getDefaultTableComponent","tableId: Id",k(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",k(S(((e,t,l)=>`tableId == ${l} ? ${k(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(b,b,e,et(1,0)+$e);const z=_(C,C,n+Ne,lt(p,Le)+$e);_(De+b+ie,De+b+ie,el,et(1,9)+Kt,Et(Bt(b)+Qt+t,Bt(b)+be),Ft(b),Yt,Et(ol,`tables: ${t})`+Ue,Zt),sl),_(ue+b+ie,ue+b+ie,ie,et(1,12),a,a,a,dl,sl);const B=I(f+Re,Ot("tableId?: TId","rowId: Id","cellId?: CId",j+Te+G,Ut),nt(Ie+f),`<TId extends ${n}, CId extends ${d}<TId>>`),F=I(h+Re,Ot("tableId?: TId","rowId: Id",j+Te+G,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,nl,Ut),nt(Ie+h),`<TId extends ${n}>`),U=I(p+Re,Ot("tableId?: TId",j+Te+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",nl,Ut),nt(Ie+p),`<TId extends ${n}>`),H=I("Sorted"+p+Re,Ot("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",j+Te+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",nl,Ut),nt(Ie+"sorted "+p),`<TId extends ${n}>`),Q=I(b+Re,Ot(j+Te+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,nl,Ut),nt(Ye(1,1)));r(1,N,Q,U,H,F,B),Z(b+Il,"{"+j+", tableComponents, getTableComponentProps"+al+"}: "+Q,[oe+`(${z}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+L+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ae}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,_t,"/>;","}), separator)"],et(1,13)+$e),S(((e,t,l)=>{const[n,o,d,s,I]=le(E,e);r(null,D,n,o,d,s,I),_(t+p,p,n,ct(e)+$e,a,l),_(t+p+w,p+w,u,lt(f,"the whole of "+rt(e))+$e,a,l);const c=_(t+m,m,u,lt(h,rt(e))+$e,a,l),$=_(t+g,g,u,lt(h,rt(e),1)+$e,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,$t(e)+$e,rl,Et(l,tl)),_(t+w,w,I+Ne,lt(f,It(e))+$e,rl,Et(l,tl)),_(De+t+p+ie,De+p+ie,el,ct(e,9)+Kt,Et(Bt(p)+Qt+o,Bt(p)+be),Et(l,Ft(p)),Yt,Et(ol,`table: ${o})`+Ue,Zt),sl),_(ue+t+p+ie,ue+p+ie,ie,ct(e,12),a,l,a,dl,sl),_(De+t+h+ie,De+h+ie,el,$t(e,9)+Kt,Et(rl,Bt(h)+Qt+s,Bt(h)+be),Et(l,tl,Ft(h)),Yt,Et(ol,`row: ${s})`+Ue,Zt),sl),_("Add"+t+h+ie,"Add"+h+ie,el,$t(e,10)+Kt,Et(Bt(h)+Qt+s,Bt(h)+be),Et(l,Ft(h)),Yt,"then?: ("+Et(rl+ve,"store: Store","row: "+s+")"+Ue,"then"+be)+", reuseRowIds?: boolean",sl+", reuseRowIds"),_(De+t+xe+h+ie,De+xe+h+ie,el,$t(e,11)+Kt,Et(rl,Bt(xe+h)+Qt+s,Bt(xe+h)+be),Et(l,tl,Ft(xe+h)),Yt,Et(ol,`partialRow: ${s})`+Ue,Zt),sl),_(ue+t+h+ie,ue+h+ie,ie,$t(e,12),rl,Et(l,tl),a,dl,sl);const i=Z(t+h+Il,"{rowId, "+j+", cellComponents, getCellComponentProps, customCellIds"+al+`}: ${F}<'${e}'>`,[oe+`(${de}(customCellIds, `+l+`, rowId, ${j}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${ae}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,ll,"cellId={cellId}",W,_t,"/>;","})"+al+", rowId)"],$t(e,13)+$e);Z(t+"Sorted"+p+Il,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,O+"(props, "+$+`(cellId, descending, offset, limit, props.${j}), ${l}, ${i});`,ct(e,13)+", sorted"+$e),Z(t+p+Il,`props: ${U}<'${e}'>`,O+"(props, "+c+`(props.${j}), ${l}, ${i});`,ct(e,13)+$e),A(e,((n,o,d,s,I)=>{const c="Map"+St(o,1);r(0,D,c),r(1,D,c);const $=_(t+I+f,f,o+(M(d)?ve:a),it(e,n)+$e,rl,Et(l,tl,s));_(De+t+I+f+ie,De+f+ie,el,it(e,n,9)+Kt,Et(rl,Bt(f)+Qt+o+" | "+c,Bt(f)+be),Et(l,tl,s,Ft(f)),Yt,Et(ol,`cell: ${o} | ${c})`+Ue,Zt),sl),_(ue+t+I+f+ie,ue+f+ie,ie,it(e,n,12),Et(rl,"forceDel?: boolean"),Et(l,tl,s,"forceDel"),a,dl,sl),Z(t+I+f+Il,`{rowId, ${j}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${s})`],it(e,n,13)+$e)}))}));const q=k(S((e=>le(E,e)?.[4]??a))," | ");_(b+c,b+c,Fe,et(1,8)+" changes",cl(s),$l()),_(C+c,C+c,Fe,st(2,0,1),cl(i),$l()),_(p+c,p+c,Fe,st(3,0),cl(y,`tableId: ${n} | null`),$l("tableId")),_(p+w+c,p+w+c,Fe,st(14,3,1),cl(T,`tableId: ${n} | null`),$l("tableId")),_(m+c,m+c,Fe,st(4,3,1),cl(v,`tableId: ${n} | null`),$l("tableId")),_(g+c,g+c,Fe,st(13,3,1),cl(V,`tableId: ${n} | null`,"cellId: "+q+ve,"descending: boolean","offset: number","limit: number"+ve),$l("tableId","cellId","descending","offset","limit")),_(h+c,h+c,Fe,st(5,3),cl(x,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(w+c,w+c,Fe,st(6,5,1),cl(R,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(f+c,f+c,Fe,st(7,5),cl(P,`tableId: ${n} | null`,tl+": IdOrNull",`cellId: ${q} | null`),$l("tableId",tl,"cellId"))}if(!q(t)){const[e,t,l,n,o,s]=d;r(null,D,...d),r(1,D,G);const i=$("getDefaultValueComponent","valueId: Id",k(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(T,T,e,et(2,0)+$e);const u=_(v,v,l+Ne,lt(y,Le)+$e);_(De+T+ie,De+T+ie,el,et(2,9)+Kt,Et(Bt(T)+Qt+t,Bt(T)+be),Ft(T),Yt,Et(ol,`values: ${t})`+Ue,Zt),sl),_(De+xe+T+ie,De+xe+T+ie,el,et(2,11)+Kt,Et(Bt(xe+T)+Qt+t,Bt(xe+T)+be),Ft(xe+T),Yt,Et(ol,`partialValues: ${t})`+Ue,Zt),sl),_(ue+T+ie,ue+T+ie,ie,et(2,12),a,a,a,dl,sl);const p=I(y+Re,Ot("valueId?: VId",j+Te+G,Ut),nt("a Value"),`<VId extends ${l}>`),b=I(T+Re,Ot(j+Te+G,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,nl,Ut),nt(Ye(2,1)));r(1,N,b,p),Z(T+Il,"{"+j+", valueComponents, getValueComponentProps"+al+"}: "+b,[oe+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${ae}(getValueComponentProps, valueId)}`,"key={valueId}",W,_t,"/>;","}), separator)"],et(2,13)+$e),P(((e,t,l,n,o)=>{const d="Map"+St(t,1);r(0,D,d),r(1,D,d);const s=_(o+y,y,t,ut(e)+$e,a,n);_(De+o+y+ie,De+y+ie,el,ut(e,9)+Kt,Et(Bt(y)+Qt+t+" | "+d,Bt(y)+be),Et(n,Ft(y)),Yt,Et(ol,`value: ${t} | ${d})`+Ue,Zt),sl),_(ue+o+y+ie,ue+y+ie,ie,ut(e,12),a,n,a,dl,sl),Z(o+y+Il,`{${j}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+j+`) ?? '', undefined, debugIds, ${n})`],ut(e,13)+$e)})),_(T+c,T+c,Fe,et(2,8)+" changes",cl(n),$l()),_(v+c,v+c,Fe,st(10,0,1),cl(o),$l()),_(y+c,y+c,Fe,st(11,0),cl(s,`valueId: ${l} | null`),$l("valueId"))}return Z(ke,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",qt,"return (","<Context."+ke,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}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),...R(),...H(1))]},ul=(e,t,l)=>{if(q(e)&&q(t))return[a,a,a,a];const[n,o,d,s]=Wt(e,t,l);return[n,o,...il(e,t,l,d,s)]},pl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},bl=Lt((e=>{const t=()=>{const t=L(e.getTablesSchemaJson());return!q(t)||V(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=te();if(V(a,(t=>V(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=de(n,a,(()=>[B(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==B(o)})))))return t[l]={},Y(n,(([e,,[,n],o],d)=>{t[l][d]={[r]:e,...o==A(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=L(e.getValuesSchemaJson());return q(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:B(l)}})),t},a=e=>ul(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 S(a(e),((e,a)=>xt(l(e,{...pl,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:A(e.getValueIds()),jsonLength:Rt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=bl},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",a="",n=",",o=t(a),d=t(!0),s=t(0),r="type",I="default",c="Listener",$="get",i="add",u="Ids",p="Table",b=p+"s",C=p+u,h="Row",m=h+u,g="Sorted"+h+u,f="Cell",w=f+u,y="Value",T=y+"s",v=y+u,V=isFinite,x=(e,t)=>e instanceof t,R=e=>null==e,k=e=>e==o||e==d,S=e=>t(e)==o,A=e=>Array.isArray(e),P=e=>{const l=t(e);return k(l)||l==s&&V(e)?l:void 0},E=(e,t)=>e.every(t),D=(e,t)=>e.sort(t),O=(e,t)=>e.forEach(t),N=(e,t=a)=>e.join(t),L=(e,t)=>e.map(t),G=e=>e.length,j=(e,t)=>e.filter(t),M=(e,...t)=>e.push(...t),J=e=>e.pop(),z=(e,...t)=>e.unshift(...t),W=e=>e.shift(),B=Object,F=B.keys,U=B.freeze,_=e=>x(e,B)&&e.constructor==B,Z=(e,t)=>L(B.entries(e),(([e,l])=>t(l,e))),H=e=>G(F(e)),Q=e=>_(e)&&0==H(e),q=(e,t)=>e?.has(t)??!1,K=e=>[...e?.values()??[]],X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),ee=e=>new Map(e),te=(e,t)=>e?.get(t),le=(e,t)=>X(e,((e,l)=>t(l,e))),ae=(e,t)=>L([...e?.entries()??[]],(([e,l])=>t(l,e))),ne=(e,t,l)=>R(l)?(Y(e,t),e):e?.set(t,l),oe=(e,t,l)=>(q(e,t)||ne(e,t,l()),te(e,t)),de=e=>e.toUpperCase(),se=e=>e.toLowerCase(),re="a ",Ie="A function for",ce=", and registers a listener so that any changes to that result will cause a re-render",$e="Callback",ie="Del",ue="Deps",pe=ue+"?: React.DependencyList",be="doRollback?: DoRollback",Ce="actions: () => Return, "+be,he="export",me="Id",ge="Invalid",fe="Json",we=se(c),ye="?: ",Te=" | undefined",ve="NonNullable",Ve="Partial",xe="Props",Re="Provider",ke=`Registers a ${we} that will be called`,Se="Represents",Ae="rowId: "+me,Pe="Schema",Ee="Set",De=", descending?: boolean, offset?: number, limit?: number",Oe="[]",Ne="the Store",Le="Transaction",Ge=Le+"Changes",je=se(Le),Me="Execute a "+je+" to make multiple mutations",Je="Explicitly starts a "+je,ze="Explicitly finishes a "+je,We="the end of the "+je,Be="void",Fe=" => "+Be,Ue="WhenSet",_e=" when setting it",Ze=re+"string serialization of",He=" ",Qe="Gets a callback that can ",qe="the ",Ke=" the schema for",Xe=(e=0,t=0)=>`the ${Ct[e]}content of`+(t?He+Ne:a),Ye=(e=0,t,l=0)=>ut[t]+He+Xe(e,1)+(l?" when setting it":a),et=(e,t=0)=>Se+` a Row when ${t?"s":"g"}etting ${Xe()} the '${e}' `+p,tt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,lt=(e,t)=>`Calls a function for each ${e} in `+t,at=e=>"The props passed to a component that renders "+e,nt=e=>"A function that takes "+e,ot=(e,t=0)=>Ie+" listening to changes to "+bt[e]+" in "+bt[t],dt=(e,t,l=0)=>ke+" whenever "+bt[e]+" in "+bt[t]+" change"+(l?a:"s"),st=e=>`the '${e}' `+p,rt=e=>"the specified Row in "+st(e),It=(e,t=0)=>ut[t]+` ${Xe()} `+st(e),ct=(e,t=0)=>ut[t]+` ${Xe()} `+rt(e),$t=(e,t,l=0)=>ut[l]+` the '${t}' Cell for `+rt(e),it=(e,t=0)=>ut[t]+` the '${e}' Value`,ut=["Gets","Checks existence of","Sets","Deletes","Sets part of",Se,"Gets "+Ze,"Sets "+Ze,ke+" whenever",Qe+"set",Qe+"add",Qe+"set part of",Qe+"delete","Renders","Gets "+Ze+Ke,"Sets"+Ke,"Deletes"+Ke],pt=[$,"has","set","del","set","forEach",i,a],bt=[Ne,b,qe+p+He+u,re+p,qe+h+He+u,re+h,qe+f+He+u,re+f,"invalid Cell changes",T,qe+y+He+u,re+y,"invalid Value changes",qe+"sorted "+h+He+u,qe+f+He+u+" anywhere"],Ct=[a,"tabular ","keyed value "],ht=e=>new Set(A(e)||R(e)?e:[e]),mt=(e,t)=>e?.add(t),gt=/[^A-Za-z]+/,ft=/[^A-Za-z0-9]+/,wt=/^( *)\/\*\* *(.*?) *\*\/$/gm,yt=(e,t,l)=>e.substring(t,l),Tt=e=>e.includes(n),vt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return q(e,n)?vt(e,t,l,a+1):(ne(e,n,l),n)},Vt=e=>e.replace(wt,((e,t,l)=>{const a=77-xt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),xt=e=>e.length,Rt=e=>e.flat(1e3),kt=(e,t=0)=>N(L(e.split(ft),((e,l)=>(l>0||t?de:se)(yt(e,0,1))+yt(e,1)))),St=e=>de(N((e&&!gt.test(e[0])?e:" "+e).split(ft),"_")),At=e=>`/** ${e}. */`,Pt=(...e)=>N(j(e,(e=>e)),", "),Et=(...e)=>"{"+N(e,"; ")+"}",Dt=(...e)=>Et(...L(e,(e=>"readonly "+e))),Ot=()=>{const e=[ee(),ee(),ee(),ee()],t=ee(),l=ee(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>N(Rt(e),"\n"),(t,l,...a)=>O(a,(a=>O([0,1],(n=>(t??n)==n?mt(oe(e[n],l,ht),a):0)))),(e,l,n,o=a,d=1)=>vt(t,e,[l,n,o,d]),(e,t,a)=>vt(l,e,A(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>te(l,e)===t?e:vt(l,e,t),(t=0)=>L([...D(ae(e[t],((e,t)=>`import {${N(D(K(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Tt(e)!=Tt(t)?Tt(e)?-1:1:e>t?1:-1)),a],(e=>e.replace("{React}","React"))),()=>ae(t,(([e,t,l,n],o)=>[At(t),`${n?he+" ":a}type ${o}${l} = ${e};`,a])),()=>ae(l,((e,t)=>(e=A(e)?e:[e],M(e,J(e)+";"),[`const ${t} = ${W(e)}`,e,a])))]},Nt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Lt=(e,t,l)=>[t=>Z(e,((e,a)=>t(a,kt(a,1),l(St(a),`'${a}'`)))),(t,a)=>Z(e[t],((e,t)=>a(t,e[r],e[I],l(St(t),`'${t}'`),kt(t,1)))),e=>Z(t,((t,a)=>e(a,t[r],t[I],l(St(a),`'${a}'`),kt(a,1))))],Gt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,s=e(b,Et(...t((e=>`'${e}'?: {[rowId: Id]: `+Et(...l(e,((e,t,l)=>`'${e}'${R(l)?"?":a}: ${t}`)))+"}"))),Ye(1,5)),r=e(b+Ue,Et(...t((e=>`'${e}'?: {[rowId: Id]: `+Et(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Ye(1,5,1)),I=e(p+me,"keyof "+s,"A "+p+" Id in "+Ne),$=`<TId extends ${I}>`,i=e(p,ve+`<${s}[TId]>`,"A "+p+" in "+Ne,$),u=e(p+Ue,ve+`<${r}[TId]>`,"A "+p+" in "+Ne+_e,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+Ue,u+"<TId>[Id]","A "+h+" in a "+p+_e,$),v=e(f+me,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,ve+`<${s}[TId]>[Id][CId]`,"A "+f+" in a "+h,`<TId extends ${I}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,f+" Ids and types in a "+h,`<TId extends ${I}, CId = ${v}<TId>>`,0),k=e(f+$e,`(...[cellId, cell]: ${x}<TId>)`+Fe,nt(re+f+" Id, and "+f),$),S=e(h+$e,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Fe+") "+Fe,nt(re+h+" Id, and a "+f+" iterator"),$),A=e(p+f+$e,`(cellId: ${v}<TId>, count: number) `+Fe,nt(re+f+" Id, and count of how many times it appears"),$),P=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Fe}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+$e,`(...[tableId, forEachRow]: ${P})`+Fe,nt(re+p+" Id, and a "+h+" iterator"),a),D=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${D}) => CellChange`,Ie+" returning information about any Cell's changes during a "+je),N=e(b+c,`(${d}, getCellChange: ${O}${Te})`+Fe,ot(1)),L=e(C+c,`(${d})`+Fe,ot(2)),G=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${O}${Te})`+Fe,ot(3)),j=e(p+w+c,`(${d}, tableId: ${I})`+Fe,ot(14,3)),M=e(m+c,`(${d}, tableId: ${I})`+Fe,ot(4,3)),J=e(g+c,"("+Pt(d,"tableId: "+I,"cellId: Id"+Te,"descending: boolean","offset: number","limit: number"+Te,"sortedRowIds: Ids")+")"+Fe,ot(13,3)),z=e(h+c,"("+Pt(""+d,"tableId: "+I,Ae,`getCellChange: ${O}${Te}`)+")"+Fe,ot(5,3)),W=e(w+c,"("+Pt(""+d,"tableId: "+I,Ae)+")"+Fe,ot(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Ae}, cellId: CId, newCell: ${V}<TId, CId> ${Te}, oldCell: ${V}<TId, CId> ${Te}, getCellChange: ${O} ${Te}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,i,u,y,T,v,V,k,S,A,E,N,L,G,j,M,J,z,W,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Fe,ot(7,5)),e(ge+f+c,`(${d}, tableId: Id, ${Ae}, cellId: Id, invalidCells: any[])`+Fe,ot(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Et(...n(((e,t,l)=>`'${e}'${R(l)?"?":a}: ${t}`))),Ye(2,5)),s=e(T+Ue,Et(...n(((e,t)=>`'${e}'?: ${t}`))),Ye(2,5,1)),r=e(y+me,"keyof "+d,"A "+y+" Id in "+Ne),I=e(y,ve+`<${d}[VId]>`,"A "+y+" Id in "+Ne,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Ne,`<VId = ${r}>`,0),i=e(y+$e,`(...[valueId, value]: ${$})`+Fe,nt(re+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${r}) => ValueChange`,Ie+" returning information about any Value's changes during a "+je),p=e(T+c,`(${o}, getValueChange: ${u}${Te})`+Fe,ot(9)),b=e(v+c,`(${o})`+Fe,ot(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${I}<VId> ${Te}, oldValue: ${I}<VId> ${Te}, getValueChange: ${u} ${Te}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,I,i,p,b,e(y+c,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Fe,ot(11)),e(ge+y+c,`(${o}, valueId: Id, invalidValues: any[])`+Fe,ot(12))]},(t,l)=>e(Le+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Fe,Ie+" listening to the completion of a "+je)],jt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),Mt=(e,t=a)=>`fluent(() => ${jt(e,t)})`,Jt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,zt=(e,t,n)=>{const[o,s,$,V,x,k,A,P]=Ot(),[E,D,L]=Lt(e,t,x),[G,j,J]=Gt($,E,D,L),W=ee(),B=(e=0)=>ae(W,(([t,l,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${l} => ${n},`]:[s+d+`(${t}): ${l};`];return e||z(r,At(o)),M(r,a),r})),F=(e,t,l,n,o,d=a)=>vt(W,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,s=a,r=a)=>F(pt[e]+t+(4==e?Ve:a)+l,d,n,(n==H?Mt:jt)(pt[e]+(4==e?Ve:a)+l,s,e?void 0:n),o,r),_=(e,t,l,n=a,o=a,d=1,s=a)=>F(i+e+c,(n?n+", ":a)+we+": "+t+(d?", mutator?: boolean":a),me,Jt(i+e+c,o,d?"mutator":a),l,s),Z=`./${kt(n)}.d`,H=kt(n,1),q=kt(H),X=[],Y=ee();let oe=[],de=[];if(s(1,Z,H,`create${H} as create${H}Decl`),Q(e))s(null,l,b);else{s(0,l,"CellChange"),s(null,l,u);const[e,t,n,o,c,i,y,T,v,V,k,A,P,L,j,J,z,W,B,F,Q,le,ae]=G(q,H),de=ee();E(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Se+` the '${e}' `+p),$(t+p+Ue,c+l,Se+` the '${e}' `+p+_e),$(t+h,i+l,et(e)),$(t+h+Ue,y+l,et(e,1)),$(t+f+me,T+l,`A Cell Id for the '${e}' `+p),$(t+f+$e,V+l,nt(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+$e,k+l,nt(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+$e,A+l,nt(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ne(de,e,a),s(1,Z,...a)})),s(1,Z,e,t,n,T,P,L,j,J,z,W,B,F,Q,le,ae),oe=[e,t,n,T,L,j,J,z,W,B,F,Q,le,de],O([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,Ye(1,n),t,l))),U(0,a,C,n+Oe,tt(p,Ne)),U(5,a,p,Be,lt(p,Ne),"tableCallback: "+P,"tableCallback as any"),E(((e,t,l)=>{const[n,o,s,r,I,c,$,i]=te(de,e);O([[n],[d],[H,"table: "+o,", table"],[H]],(([n,o,d=a],s)=>U(s,t,p,n,It(e,s),o,l+d))),U(0,t,p+w,u,tt(f,"the whole of "+st(e)),a,l),U(5,t,p+f,Be,lt(p+f,"the whole of "+st(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,m,u,tt(h,st(e)),a,l),U(0,t,g,u,tt(h,st(e),1),"cellId?: "+I+De,l+", cellId, descending, offset, limit"),U(5,t,h,Be,lt(h,st(e)),"rowCallback: "+$,l+", rowCallback as any"),O([[s],[d],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=a,d=a],s)=>U(s,t,h,n,ct(e,s),Ae+o,l+", rowId"+d))),U(6,t,h,me+Te,"Add a new Row to "+st(e),"row: "+r+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+Oe,tt(f,rt(e)),Ae,l+", rowId"),U(5,t,f,Be,lt(f,rt(e)),Ae+", cellCallback: "+c,l+", rowId, cellCallback as any"),D(e,((n,o,s,r,I)=>{const c="Map"+kt(o,1);ne(Y,o,c);const $=o+(R(s)?Te:a);O([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,s=a],c)=>U(c,t+I,f,o,$t(e,n,c),Ae+d,l+", rowId, "+r+s))),U(1,t+I,p+f,d,ut[1]+` the '${n}' Cell anywhere in `+st(e),a,l+", "+r)}))})),U(0,a,b+fe,fe,Ye(1,6)),U(2,a,b+fe,H,Ye(1,7),"tablesJson: "+fe,"tables"+fe),_(b,L,Ye(1,8)+" changes"),_(C,j,dt(2,0,1)),_(p,J,dt(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,z,dt(14,3,1),`tableId: ${n} | null`,"tableId"),_(m,W,dt(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,B,dt(13,3,1),Pt("tableId: TId",`cellId: ${T}<TId>`+Te,"descending: boolean","offset: number","limit: number"+Te),Pt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,F,dt(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,Q,dt(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,le,dt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${N(E((e=>te(de,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(ge+f,ae,ke+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...K(Y)),M(X,".set"+b+Pe+"({",Rt(E(((e,t,l)=>[`[${l}]: {`,...D(e,((e,t,l,n)=>`[${n}]: {[${x(St(r),`'${r}'`)}]: ${x(St(t),`'${t}'`)}${R(l)?a:`, [${x(St(I),`'${I}'`)}]: `+(S(l)?x(St(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(Q(t))s(null,l,T);else{const[e,t,n,o,c,$,i,u,p]=j(q,H);s(1,Z,e,t,n,c,$,i,u,p),de=[e,t,n,$,i,u],O([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,Ye(2,n),t,l))),U(0,a,v,n+Oe,tt(y,Ne)),U(5,a,y,"void",lt(y,Ne),"valueCallback: "+c,"valueCallback as any"),L(((e,t,l,n,o)=>{const s="Map"+kt(t,1);ne(Y,t,s),O([[t],[d],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,l,d=a],s)=>U(s,o,y,t,it(e,s),l,n+d)))})),U(0,a,T+fe,fe,Ye(2,6)),U(2,a,T+fe,H,Ye(2,7),"valuesJson: "+fe,"values"+fe),_(T,$,Ye(2,8)+" changes"),_(v,i,dt(10,0,1)),_(y,u,dt(11,0),`valueId: ${n} | null`,"valueId"),_(ge+y,p,ke+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...K(Y)),s(0,l,"ValueChange"),M(X,".set"+T+Pe+"({",L(((e,t,l,n)=>[`[${n}]: {[${x(St(r),`'${r}'`)}]: ${x(St(t),`'${t}'`)}${R(l)?a:`, [${x(St(I),`'${I}'`)}]: `+(S(l)?x(St(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,Ye(0,0)),U(2,a,"Content",H,Ye(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,Ge,H,`Applies a set of ${Ge} to the Store`,"transactionChanges: "+Ge,"transactionChanges"),le(Y,((e,t)=>$(t,`(cell: ${e}${Te}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,l,"DoRollback",me,"IdOrNull",fe,"Store",Ge),s(0,l,"Get"+Ge,"GetTransactionLog"),U(0,a,fe,fe,Ye(0,6)),U(2,a,fe,H,Ye(0,7),"tablesAndValuesJson: "+fe,"tablesAndValuesJson"),U(7,a,je,"Return",Me,Ce,"actions, doRollback","<Return>"),U(7,a,"start"+Le,H,Je),U(7,a,"finish"+Le,H,ze,be,"doRollback");const se=J(q,H);return _("Start"+Le,se,ke+" just before the start of the "+je,a,a,0),_("WillFinish"+Le,se,ke+" just before "+We,a,a,0),_("DidFinish"+Le,se,ke+" just after "+We,a,a,0),U(7,a,"call"+c,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,c,H,"Remove a listener that was previously added to "+Ne,"listenerId: Id","listenerId"),F("getStore",a,"Store","store",ut[0]+" the underlying Store object"),s(1,l,"createStore"),s(1,Z,H,`create${H} as create${H}Decl`,se),x("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),x(q,["{",...B(1),"}"]),[o(...k(0),...A(),he+" interface "+H+" {",...B(0),"}",a,At(`Creates a ${H} object`),he+" function create"+H+"(): "+H+";"),o(...k(1),he+" const create"+H+": typeof create"+H+"Decl = () => {",...P(),`return Object.freeze(${q});`,"};"),oe,de]},Wt=e=>$+e,Bt=e=>Pt(Wt(e),Wt(e)+ue),Ft="debugIds?: boolean",Ut="debugIds={debugIds}",_t="then"+pe,Zt="Parameter",Ht=": (parameter: "+Zt+", store: Store) => ",Qt="const contextValue = useContext(Context);",qt=", based on a parameter",Kt=": ",Xt="<"+Zt+",>",Yt=Zt+"ized"+$e+"<"+Zt+">",el="rowId",tl="rowId={rowId}",ll=", separator, debugIds",al="separator?: ReactElement | string",nl="then?: (store: Store",ol=Pt(nl+")"+Fe,_t),dl="then, then"+ue,sl=el+Kt+me,rl="View",Il=(e,...t)=>Pt(...t,we+": "+e,we+pe,"mutator?: boolean"),cl=(...e)=>Pt(...e,we,we+ue,"mutator"),$l=(e,t,n,o,d)=>{const[s,r,I,$,i,V,x,k]=Ot(),[S,A,P]=Lt(e,t,i),E=`./${kt(n)}.d`,D=`./${kt(n)}-ui-react.d`,O="tinybase/ui-react",L=kt(n,1),G=kt(L),j=L+"Or"+L+me,J=G+"Or"+L+me,W=G+`={${G}}`,B=ee(),F=(e,t,l,n,o,d=a)=>(r(1,D,e+" as "+e+"Decl"),vt(B,e,[t,l,n,o,d])),U=(e,t,l,n,o,d=a)=>F("use"+e,t,l,n,o,d),_=(e,t,l,n,o=a,d=a,s=a,I=a,c=a)=>(r(1,O,`use${t} as use${t}Core`),U(e,Pt(o,X,I),l,le+`(${J}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ae(B,(([t,l,n,o,d],s)=>{const r=e?[he+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[he+` function ${s}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||z(r,At(o)),M(r,a),r}));r(null,l,me,"Store",$e,Zt+"ized"+$e),r(0,O,"ComponentReturnType"),r(1,O,"useCellIds"),r(null,O,"ExtraProps"),r(0,E,L);const q=I(j,L+" | "+me,`Used when you need to refer to a ${L} in a React hook or component`),K=I(Re+xe,Dt(G+ye+L,G+`ById?: {[${G}Id: Id]: ${L}}`),`Used with the ${Re} component, so that a `+L+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,q,K);const X=J+ye+q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${L}?, {[${G}Id: Id]: ${L}}?]>([])`),U("Create"+L,`create: () => ${L}, create`+pe,L,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${L} within a React application with convenient memoization`);const Y=U(L,"id?: Id",L+Te,["{",Qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${L} from within a ${Re} component context`),le=$("useHook",J+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${Y}(${J} as Id);`,`return hook(...preParams, ((${J} == null || typeof ${J} == 'string')`,`? ${G} : ${J})?.getStore(), ...postParams)`]),ne=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",Pt("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",Pt("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${J}?: ${q} | undefined`),[`const defaultCellIds = ${le}(${J}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=i("NullComponent","() => null");if(!Q(e)){const[e,t,n,d,s,i,y,T,v,V,x,k,P,O]=o;r(null,E,e,t,n,s,i,y,T,v,V,x,k,P),r(0,E,d),r(1,E,L),r(null,l,u,"IdOrNull");const j=$("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+ll+"}: 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}",tl,"customCellIds={customCellIds}",W,Ut,"/>","))",ll,", tableId,",");"]),M=$("getDefaultTableComponent","tableId: Id",N(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",N(S(((e,t,l)=>`tableId == ${l} ? ${N(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(b,b,e,Ye(1,0)+ce);const z=_(C,C,n+Oe,tt(p,Ne)+ce);_(Ee+b+$e,Ee+b+$e,Yt,Ye(1,9)+qt,Pt(Wt(b)+Ht+t,Wt(b)+pe),Bt(b),Xt,Pt(nl,`tables: ${t})`+Fe,_t),dl),_(ie+b+$e,ie+b+$e,$e,Ye(1,12),a,a,a,ol,dl);const B=I(f+xe,Dt("tableId?: TId","rowId: Id","cellId?: CId",G+ye+L,Ft),at(re+f),`<TId extends ${n}, CId extends ${d}<TId>>`),F=I(h+xe,Dt("tableId?: TId","rowId: Id",G+ye+L,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,al,Ft),at(re+h),`<TId extends ${n}>`),U=I(p+xe,Dt("tableId?: TId",G+ye+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",al,Ft),at(re+p),`<TId extends ${n}>`),H=I("Sorted"+p+xe,Dt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+ye+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",al,Ft),at(re+"sorted "+p),`<TId extends ${n}>`),Q=I(b+xe,Dt(G+ye+L,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,al,Ft),at(Xe(1,1)));r(1,D,Q,U,H,F,B),Z(b+rl,"{"+G+", tableComponents, getTableComponentProps"+ll+"}: "+Q,[oe+`(${z}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+M+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ut,"/>;","}), separator)"],Ye(1,13)+ce),S(((e,t,l)=>{const[n,o,d,s,I]=te(O,e);r(null,E,n,o,d,s,I),_(t+p,p,n,It(e)+ce,a,l),_(t+p+w,p+w,u,tt(f,"the whole of "+st(e))+ce,a,l);const c=_(t+m,m,u,tt(h,st(e))+ce,a,l),$=_(t+g,g,u,tt(h,st(e),1)+ce,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,ct(e)+ce,sl,Pt(l,el)),_(t+w,w,I+Oe,tt(f,rt(e))+ce,sl,Pt(l,el)),_(Ee+t+p+$e,Ee+p+$e,Yt,It(e,9)+qt,Pt(Wt(p)+Ht+o,Wt(p)+pe),Pt(l,Bt(p)),Xt,Pt(nl,`table: ${o})`+Fe,_t),dl),_(ie+t+p+$e,ie+p+$e,$e,It(e,12),a,l,a,ol,dl),_(Ee+t+h+$e,Ee+h+$e,Yt,ct(e,9)+qt,Pt(sl,Wt(h)+Ht+s,Wt(h)+pe),Pt(l,el,Bt(h)),Xt,Pt(nl,`row: ${s})`+Fe,_t),dl),_("Add"+t+h+$e,"Add"+h+$e,Yt,ct(e,10)+qt,Pt(Wt(h)+Ht+s,Wt(h)+pe),Pt(l,Bt(h)),Xt,"then?: ("+Pt(sl+Te,"store: Store","row: "+s+")"+Fe,"then"+pe)+", reuseRowIds?: boolean",dl+", reuseRowIds"),_(Ee+t+Ve+h+$e,Ee+Ve+h+$e,Yt,ct(e,11)+qt,Pt(sl,Wt(Ve+h)+Ht+s,Wt(Ve+h)+pe),Pt(l,el,Bt(Ve+h)),Xt,Pt(nl,`partialRow: ${s})`+Fe,_t),dl),_(ie+t+h+$e,ie+h+$e,$e,ct(e,12),sl,Pt(l,el),a,ol,dl);const i=Z(t+h+rl,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+ll+`}: ${F}<'${e}'>`,[oe+`(${de}(customCellIds, `+l+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,tl,"cellId={cellId}",W,Ut,"/>;","})"+ll+", rowId)"],ct(e,13)+ce);Z(t+"Sorted"+p+rl,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,j+"(props, "+$+`(cellId, descending, offset, limit, props.${G}), ${l}, ${i});`,It(e,13)+", sorted"+ce),Z(t+p+rl,`props: ${U}<'${e}'>`,j+"(props, "+c+`(props.${G}), ${l}, ${i});`,It(e,13)+ce),A(e,((n,o,d,s,I)=>{const c="Map"+kt(o,1);r(0,E,c),r(1,E,c);const $=_(t+I+f,f,o+(R(d)?Te:a),$t(e,n)+ce,sl,Pt(l,el,s));_(Ee+t+I+f+$e,Ee+f+$e,Yt,$t(e,n,9)+qt,Pt(sl,Wt(f)+Ht+o+" | "+c,Wt(f)+pe),Pt(l,el,s,Bt(f)),Xt,Pt(nl,`cell: ${o} | ${c})`+Fe,_t),dl),_(ie+t+I+f+$e,ie+f+$e,$e,$t(e,n,12),Pt(sl,"forceDel?: boolean"),Pt(l,el,s,"forceDel"),a,ol,dl),Z(t+I+f+rl,`{rowId, ${G}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+G+`) ?? '', undefined, debugIds, ${s})`],$t(e,n,13)+ce)}))}));const q=N(S((e=>te(O,e)?.[4]??a))," | ");_(b+c,b+c,Be,Ye(1,8)+" changes",Il(s),cl()),_(C+c,C+c,Be,dt(2,0,1),Il(i),cl()),_(p+c,p+c,Be,dt(3,0),Il(y,`tableId: ${n} | null`),cl("tableId")),_(p+w+c,p+w+c,Be,dt(14,3,1),Il(T,`tableId: ${n} | null`),cl("tableId")),_(m+c,m+c,Be,dt(4,3,1),Il(v,`tableId: ${n} | null`),cl("tableId")),_(g+c,g+c,Be,dt(13,3,1),Il(V,`tableId: ${n} | null`,"cellId: "+q+Te,"descending: boolean","offset: number","limit: number"+Te),cl("tableId","cellId","descending","offset","limit")),_(h+c,h+c,Be,dt(5,3),Il(x,`tableId: ${n} | null`,el+": IdOrNull"),cl("tableId",el)),_(w+c,w+c,Be,dt(6,5,1),Il(k,`tableId: ${n} | null`,el+": IdOrNull"),cl("tableId",el)),_(f+c,f+c,Be,dt(7,5),Il(P,`tableId: ${n} | null`,el+": IdOrNull",`cellId: ${q} | null`),cl("tableId",el,"cellId"))}if(!Q(t)){const[e,t,l,n,o,s]=d;r(null,E,...d),r(1,E,L);const i=$("getDefaultValueComponent","valueId: Id",N(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(T,T,e,Ye(2,0)+ce);const u=_(v,v,l+Oe,tt(y,Ne)+ce);_(Ee+T+$e,Ee+T+$e,Yt,Ye(2,9)+qt,Pt(Wt(T)+Ht+t,Wt(T)+pe),Bt(T),Xt,Pt(nl,`values: ${t})`+Fe,_t),dl),_(Ee+Ve+T+$e,Ee+Ve+T+$e,Yt,Ye(2,11)+qt,Pt(Wt(Ve+T)+Ht+t,Wt(Ve+T)+pe),Bt(Ve+T),Xt,Pt(nl,`partialValues: ${t})`+Fe,_t),dl),_(ie+T+$e,ie+T+$e,$e,Ye(2,12),a,a,a,ol,dl);const p=I(y+xe,Dt("valueId?: VId",G+ye+L,Ft),at("a Value"),`<VId extends ${l}>`),b=I(T+xe,Dt(G+ye+L,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,al,Ft),at(Xe(2,1)));r(1,D,b,p),Z(T+rl,"{"+G+", valueComponents, getValueComponentProps"+ll+"}: "+b,[oe+`(${u}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ut,"/>;","}), separator)"],Ye(2,13)+ce),P(((e,t,l,n,o)=>{const d="Map"+kt(t,1);r(0,E,d),r(1,E,d);const s=_(o+y,y,t,it(e)+ce,a,n);_(Ee+o+y+$e,Ee+y+$e,Yt,it(e,9)+qt,Pt(Wt(y)+Ht+t+" | "+d,Wt(y)+pe),Pt(n,Bt(y)),Xt,Pt(nl,`value: ${t} | ${d})`+Fe,_t),dl),_(ie+o+y+$e,ie+y+$e,$e,it(e,12),a,n,a,ol,dl),Z(o+y+rl,`{${G}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+G+`) ?? '', undefined, debugIds, ${n})`],it(e,13)+ce)})),_(T+c,T+c,Be,Ye(2,8)+" changes",Il(n),cl()),_(v+c,v+c,Be,dt(10,0,1),Il(o),cl()),_(y+c,y+c,Be,dt(11,0),Il(s,`valueId: ${l} | null`),cl("valueId"))}return Z(Re,`{${G}, ${G}ById, children}: `+K+" & {children: React.ReactNode}",["{",Qt,"return (","<Context."+Re,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${Re}>`,");","}"],"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,l)=>{if(Q(e)&&Q(t))return[a,a,a,a];const[n,o,d,s]=zt(e,t,l);return[n,o,...$l(e,t,l,d,s)]},ul=JSON.parse,pl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},bl=Nt((e=>{const t=()=>{const t=ul(e.getTablesSchemaJson());return!Q(t)||E(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ee();if(E(a,(t=>E(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=oe(n,a,(()=>[P(o),ee(),[0],0])),[s,r,[I]]=d,c=oe(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),ne(r,o,c),d[3]++,s==P(o)})))))return t[l]={},X(n,(([e,,[,n],o],d)=>{t[l][d]={[r]:e,...o==G(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=ul(e.getValuesSchemaJson());return Q(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:P(l)}})),t},a=e=>il(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 L(a(e),((e,a)=>Vt(l(e,{...pl,filepath:"_."+t[a]}))))};return U({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:xt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=bl},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
package/lib/umd/tools.js.gz
CHANGED
|
Binary file
|
package/lib/umd/ui-react-dom.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,l;e=this,l=function(e,l,t){"use strict";const s=e=>typeof e,
|
|
1
|
+
var e,l;e=this,l=function(e,l,t){"use strict";const s=e=>typeof e,n=s(""),a=s(!0),o=s(0),u="Value",r="currentTarget",d="value",i=isFinite,c=e=>null==e,I=(e,l,t,s)=>e==n?l:e==o?t:s,C=(e,l)=>e.map(l),b=Object,m=(e=[])=>b.fromEntries(e),h=(e,l)=>C(b.entries(e),(([e,t])=>l(t,e))),{createContext:y,useContext:T}=t;y([]);const f=(e,...l)=>c(e)?{}:e(...l),{createElement:g,useCallback:p,useMemo:k,useState:w}=t,R="editable",V=(e,l,t)=>{const s=p(e,l);return t?s:void 0},N=(e,l)=>c(e)||e[0]!=l?void 0:`sorted ${e[1]?"de":"a"}scending`,v=({cellId:e,sorting:l,label:t=e??"",onClick:s})=>g("th",{onClick:V((()=>s?.(e)),[s,e],!c(s)),className:N(l,e)},t),q=({className:e,headerRow:l,idColumn:t,customCells:a,storeTableIdOrQueriesQueryId:o,defaultCellComponent:u,rowIds:r,defaultCellIds:d,sorting:i,onHeaderThClick:c})=>{const I=k((()=>{const e=a??d;return m(h(Array.isArray(e)?m(C(e,(e=>[e,e]))):e,((e,l)=>{return[l,{label:l,...(t=e,s(t)==n?{label:e}:e)}];var t})))}),[a,d]);return g("table",{className:e},!1===l?null:g("thead",null,g("tr",null,!1===t?null:g(v,{sorting:i,label:"Id",onClick:c}),h(I,(({label:e},l)=>g(v,{key:l,cellId:l,label:e,sorting:i,onClick:c}))))),g("tbody",null,C(r,(e=>g("tr",{key:e},!1===t?null:g("th",null,e),h(I,(({component:l=u,getComponentProps:t},s)=>g("td",{key:s},g(l,{...f(t,e,s),...o,rowId:e,cellId:s})))))))))},Q=({thing:e,onThingChange:l,className:t})=>{const[u,c]=w(),[C,b]=w(),[m,h]=w(),[y,T]=w(),[f,k]=w();C!==e&&(c((e=>{const l=s(e);return(e=>e==n||e==a)(l)||l==o&&i(e)?l:void 0})(e)),b(e),h(e+""),T(Number(e)||0),k(!!e));const R=p(((e,t)=>{t(e),b(e),l(e)}),[l]);return g("div",{className:t},g("button",{type:"button",className:u,onClick:p((()=>{const e=I(u,o,a,n),t=I(e,m,y,f);c(e),b(t),l(t)}),[l,m,y,f,u])},u),I(u,g("input",{key:u,value:m,onChange:p((e=>R(e[r][d]+"",h)),[R])}),g("input",{key:u,type:"number",value:y,onChange:p((e=>R(Number(e[r][d]||0),T)),[R])}),g("input",{key:u,type:"checkbox",checked:f,onChange:p((e=>R(!!e[r].checked,k)),[R])})))},H=({tableId:e,rowId:t,cellId:s,store:n,className:a})=>g(Q,{thing:l.useCell(e,t,s,n),onThingChange:l.useSetCellCallback(e,t,s,(e=>e),[],n),className:a??R+"Cell"}),O=({valueId:e,store:t,className:s})=>g(Q,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:s??R+u});e.EditableCellView=H,e.EditableValueView=O,e.ResultSortedTableInHtmlTable=({queryId:e,cellId:t,descending:s,offset:n,limit:a,queries:o,sortOnClick:u,...r})=>{const[d,i]=w([t,!!s]),c=V((e=>i([e,e==d[0]&&!d[1]])),[d],u);return g(q,{...r,storeTableIdOrQueriesQueryId:k((()=>({queries:o,queryId:e})),[o,e]),defaultCellComponent:l.ResultCellView,rowIds:l.useResultSortedRowIds(e,...d,n,a,o),defaultCellIds:l.useResultTableCellIds(e,o),sorting:d,onHeaderThClick:c})},e.ResultTableInHtmlTable=({queryId:e,queries:t,...s})=>g(q,{...s,storeTableIdOrQueriesQueryId:k((()=>({queries:t,queryId:e})),[t,e]),defaultCellComponent:l.ResultCellView,rowIds:l.useResultRowIds(e,t),defaultCellIds:l.useResultTableCellIds(e,t)}),e.SortedTableInHtmlTable=({tableId:e,cellId:t,descending:s,offset:n,limit:a,store:o,editable:u,sortOnClick:r,...d})=>{const[i,c]=w([t,!!s]),I=V((e=>c([e,e==i[0]&&!i[1]])),[i],r);return g(q,{...d,storeTableIdOrQueriesQueryId:k((()=>({store:o,tableId:e})),[o,e]),defaultCellComponent:u?H:l.CellView,rowIds:l.useSortedRowIds(e,...i,n,a,o),defaultCellIds:l.useTableCellIds(e,o),sorting:i,onHeaderThClick:I})},e.TableInHtmlTable=({tableId:e,store:t,editable:s,...n})=>g(q,{...n,storeTableIdOrQueriesQueryId:k((()=>({store:t,tableId:e})),[t,e]),defaultCellComponent:s?H:l.CellView,rowIds:l.useRowIds(e,t),defaultCellIds:l.useTableCellIds(e,t)}),e.ValuesInHtmlTable=({store:e,editable:t=!1,valueComponent:s=(t?O:l.ValueView),getValueComponentProps:n,className:a,headerRow:o,idColumn:r})=>g("table",{className:a},!1===o?null:g("thead",null,g("tr",null,!1===r?null:g("th",null,"Id"),g("th",null,u))),g("tbody",null,C(l.useValueIds(e),(l=>g("tr",{key:l},!1===r?null:g("th",null,l),g("td",null,g(s,{...f(n,l),valueId:l,store:e})))))))},"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("./ui-react"),require("react")):"function"==typeof define&&define.amd?define(["exports","./ui-react","react"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDom={},e.TinyBaseUiReact,e.React);
|
|
Binary file
|
package/lib/umd/ui-react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,s;e=this,s=function(e,s){"use strict";const t=e=>typeof e,o="",l=t(o),d="Ids",r="Table",u=r+"s",n=r+d,i="Row",a=i+d,I="Sorted"+i+d,c="Cell",C=c+d,R="Value",w=R+"s",b=R+d,p=(e,s)=>e.map(s),k=e=>null==e,g=(e,s,t)=>k(e)?t?.():s(e),m=e=>t(e)==l,h=()=>{},{createContext:L,useContext:V}=s,y=L([]),T=(e,s)=>{const t=V(y);return k(e)?t[s]:m(e)?((e,s)=>g(e,(e=>e[s])))(t[s+1],e):e},S=(e,s)=>{const t=T(e,s);return k(e)||m(e)?t:e},f=(e,...s)=>k(e)?{}:e(...s),v=e=>S(e,0),P=e=>S(e,2),q=e=>S(e,4),x=e=>S(e,6),B=e=>S(e,8),M=e=>S(e,10),{useCallback:D,useEffect:A,useMemo:F,useRef:G,useState:E}=s,Q=(e,s,t=[])=>{const o=F((()=>s(e)),[e,...t]);return A((()=>()=>o.destroy()),[o]),o},U=(e,s,t,o=[],l)=>{const[,d]=E(),r=D((()=>s?.["get"+e]?.(...o)??t),[s,...o]),[u]=E(r),n=G(u);return F((()=>n.current=r()),[r]),j(e,s,((...e)=>{n.current=k(l)?r():e[l],d([])}),[],o),n.current},j=(e,s,t,o=[],l=[],...d)=>A((()=>{const o=s?.["add"+e+"Listener"]?.(...l,t,...d);return()=>s?.delListener(o)}),[s,...l,...o,...d]),z=(e,s,t,o=[],l=h,d=[],...r)=>{const u=v(e);return D((e=>g(u,(o=>g(t(e,o),(e=>l(o["set"+s](...r,e),e)))))),[u,s,...o,...d,...r])},H=(e,s,t=h,o=[],...l)=>{const d=v(e);return D((()=>t(d?.["del"+s](...l))),[d,s,...o,...l])},J=(e,s,t)=>{const o=M(e);return D((()=>o?.[s](t)),[o,s,t])},K=e=>U(n,v(e),[],[]),N=(e,s)=>U(a,v(s),[],[e]),O=(e,s,t,o=0,l,d)=>U(I,v(d),[],[e,s,t,o,l],6),W=(e,s,t)=>U(C,v(t),[],[e,s]),X=(e,s,t,o)=>U(c,v(o),void 0,[e,s,t],4),Y=e=>U(b,v(e),[],[]),Z=(e,s)=>U(R,v(s),void 0,[e]),$=(e,s)=>U("Metric",P(s),void 0,[e]),_=(e,s)=>U("SliceIds",q(s),[],[e]),ee=(e,s,t)=>U("SliceRowIds",q(t),[],[e,s]),se=(e,s,t)=>U("RemoteRowId",x(t),void 0,[e,s]),te=(e,s,t)=>U("LocalRowIds",x(t),[],[e,s]),oe=(e,s,t)=>U("LinkedRowIds",x(t),[],[e,s]),le=(e,s)=>U("ResultRowIds",B(s),[],[e]),de=(e,s,t,o=0,l,d)=>U("ResultSortedRowIds",B(d),[],[e,s,t,o,l],6),re=(e,s,t)=>U("ResultCellIds",B(t),[],[e,s]),ue=(e,s,t,o)=>U("ResultCell",B(o),void 0,[e,s,t]),ne=e=>U("CheckpointIds",M(e),[[],void 0,[]]),ie=(e,s)=>U("Checkpoint",M(s),void 0,[e]),ae=e=>J(e,"goBackward"),Ie=e=>J(e,"goForward"),{createElement:ce,useMemo:Ce}=s,Re=({tableId:e,store:s,rowComponent:t=he,getRowComponentProps:o,customCellIds:l,separator:d,debugIds:r},u)=>ge(p(u,(d=>ce(t,{...f(o,d),key:d,tableId:e,rowId:d,customCellIds:l,store:s,debugIds:r}))),d,r,e),we=({queryId:e,queries:s,resultRowComponent:t=Se,getResultRowComponentProps:o,separator:l,debugIds:d},r)=>ge(p(r,(l=>ce(t,{...f(o,l),key:l,queryId:e,rowId:l,queries:s,debugIds:d}))),l,d,e),be=e=>{const s=x(e);return[s,s?.getStore()]},pe=({relationshipId:e,relationships:s,rowComponent:t=he,getRowComponentProps:o,separator:l,debugIds:d},r,u)=>{const[n,i]=be(s),a=n?.getLocalTableId(e),I=r(e,u,n);return ge(p(I,(e=>ce(t,{...f(o,e),key:e,tableId:a,rowId:e,store:i,debugIds:d}))),l,d,u)},ke=e=>({checkpoints:s,checkpointComponent:t=fe,getCheckpointComponentProps:o,separator:l,debugIds:d})=>{const r=M(s);return ge(p(e(ne(r)),(e=>ce(t,{...f(o,e),key:e,checkpoints:r,checkpointId:e,debugIds:d}))),l)},ge=(e,s,t,o)=>{const l=k(s)||!Array.isArray(e)?e:p(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",l,"}"]:l},me=({tableId:e,rowId:s,cellId:t,store:l,debugIds:d})=>ge(o+(X(e,s,t,l)??o),void 0,d,t),he=({tableId:e,rowId:s,store:t,cellComponent:o=me,getCellComponentProps:l,customCellIds:d,separator:r,debugIds:u})=>ge(p(((e,s,t,o)=>{const l=W(s,t,o);return e??l})(d,e,s,t),(d=>ce(o,{...f(l,d),key:d,tableId:e,rowId:s,cellId:d,store:t,debugIds:u}))),r,u,s),Le=e=>Re(e,N(e.tableId,e.store)),Ve=({valueId:e,store:s,debugIds:t})=>ge(o+(Z(e,s)??o),void 0,t,e),ye=({indexId:e,sliceId:s,indexes:t,rowComponent:o=he,getRowComponentProps:l,separator:d,debugIds:r})=>{const u=q(t),n=u?.getStore(),i=u?.getTableId(e),a=ee(e,s,u);return ge(p(a,(e=>ce(o,{...f(l,e),key:e,tableId:i,rowId:e,store:n,debugIds:r}))),d,r,s)},Te=({queryId:e,rowId:s,cellId:t,queries:l,debugIds:d})=>ge(o+(ue(e,s,t,l)??o),void 0,d,t),Se=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Te,getResultCellComponentProps:l,separator:d,debugIds:r})=>ge(p(re(e,s,t),(d=>ce(o,{...f(l,d),key:d,queryId:e,rowId:s,cellId:d,queries:t,debugIds:r}))),d,r,s),fe=({checkpoints:e,checkpointId:s,debugIds:t})=>ge(ie(s,e)??o,void 0,t,s),ve=ke((e=>e[0])),Pe=ke((e=>k(e[1])?[]:[e[1]])),qe=ke((e=>e[2]));e.BackwardCheckpointsView=ve,e.CellView=me,e.CheckpointView=fe,e.CurrentCheckpointView=Pe,e.ForwardCheckpointsView=qe,e.IndexView=({indexId:e,indexes:s,sliceComponent:t=ye,getSliceComponentProps:o,separator:l,debugIds:d})=>ge(p(_(e,s),(l=>ce(t,{...f(o,l),key:l,indexId:e,sliceId:l,indexes:s,debugIds:d}))),l,d,e),e.LinkedRowsView=e=>pe(e,oe,e.firstRowId),e.LocalRowsView=e=>pe(e,te,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:t})=>ge($(e,s)??o,void 0,t,e),e.Provider=({store:e,storesById:t,metrics:o,metricsById:l,indexes:d,indexesById:r,relationships:u,relationshipsById:n,queries:i,queriesById:a,checkpoints:I,checkpointsById:c,children:C})=>{const R=s.useContext(y);return ce(y.Provider,{value:Ce((()=>[e??R[0],{...R[1],...t},o??R[2],{...R[3],...l},d??R[4],{...R[5],...r},u??R[6],{...R[7],...n},i??R[8],{...R[9],...a},I??R[10],{...R[11],...c}]),[e,t,o,l,d,r,u,n,i,a,I,c,R])},C)},e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=he,getRowComponentProps:l,debugIds:d})=>{const[r,u]=be(t),n=r?.getRemoteTableId(e),i=se(e,s,r);return ge(k(n)||k(i)?null:ce(o,{...f(l,i),key:i,tableId:n,rowId:i,store:u,debugIds:d}),void 0,d,s)},e.ResultCellView=Te,e.ResultRowView=Se,e.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>we(l,de(l.queryId,e,s,t,o,l.queries)),e.ResultTableView=e=>we(e,le(e.queryId,e.queries)),e.RowView=he,e.SliceView=ye,e.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>Re(l,O(l.tableId,e,s,t,o,l.store)),e.TableView=Le,e.TablesView=({store:e,tableComponent:s=Le,getTableComponentProps:t,separator:o,debugIds:l})=>ge(p(K(e),(o=>ce(s,{...f(t,o),key:o,tableId:o,store:e,debugIds:l}))),o),e.ValueView=Ve,e.ValuesView=({store:e,valueComponent:s=Ve,getValueComponentProps:t,separator:o,debugIds:l})=>ge(p(Y(e),(o=>ce(s,{...f(t,o),key:o,valueId:o,store:e,debugIds:l}))),o),e.useAddRowCallback=(e,s,t=[],o,l=h,d=[],r=!0)=>{const u=v(o);return D((t=>g(u,(o=>g(s(t,o),(s=>l(o.addRow(e,s,r),o,s)))))),[u,e,...t,...d,r])},e.useCell=X,e.useCellIds=W,e.useCellIdsListener=(e,s,t,o,l,d)=>j(C,v(d),t,o,[e,s],l),e.useCellListener=(e,s,t,o,l,d,r)=>j(c,v(r),o,l,[e,s,t],d),e.useCheckpoint=ie,e.useCheckpointIds=ne,e.useCheckpointIdsListener=(e,s,t)=>j("CheckpointIds",M(t),e,s),e.useCheckpointListener=(e,s,t,o)=>j("Checkpoint",M(o),s,t,[e]),e.useCheckpoints=e=>T(e,10),e.useCreateCheckpoints=(e,s,t)=>Q(e,s,t),e.useCreateIndexes=(e,s,t)=>Q(e,s,t),e.useCreateMetrics=(e,s,t)=>Q(e,s,t),e.useCreatePersister=(e,s,t=[],o,l=[])=>{const[,d]=E(),r=F((()=>s(e)),[e,...t]);return A((()=>((async()=>{await(o?.(r)),d(1)})(),()=>{r.destroy()})),[r,...l]),r},e.useCreateQueries=(e,s,t)=>Q(e,s,t),e.useCreateRelationships=(e,s,t)=>Q(e,s,t),e.useCreateStore=(e,s=[])=>F(e,s),e.useDelCellCallback=(e,s,t,o,l,d,r)=>H(l,c,d,r,e,s,t,o),e.useDelRowCallback=(e,s,t,o,l)=>H(t,i,o,l,e,s),e.useDelTableCallback=(e,s,t,o)=>H(s,r,t,o,e),e.useDelTablesCallback=(e,s,t)=>H(e,u,s,t),e.useDelValueCallback=(e,s,t,o)=>H(s,R,t,o,e),e.useDelValuesCallback=(e,s,t)=>H(e,w,s,t),e.useGoBackwardCallback=ae,e.useGoForwardCallback=Ie,e.useGoToCallback=(e,s=[],t,o=h,l=[])=>{const d=M(t);return D((s=>g(d,(t=>g(e(s),(e=>o(t.goTo(e),e)))))),[d,...s,...l])},e.useIndexes=e=>T(e,4),e.useLinkedRowIds=oe,e.useLinkedRowIdsListener=(e,s,t,o,l)=>j("LinkedRowIds",x(l),t,o,[e,s]),e.useLocalRowIds=te,e.useLocalRowIdsListener=(e,s,t,o,l)=>j("LocalRowIds",x(l),t,o,[e,s]),e.useMetric=$,e.useMetricListener=(e,s,t,o)=>j("Metric",P(o),s,t,[e]),e.useMetrics=e=>T(e,2),e.useQueries=e=>T(e,8),e.useRedoInformation=e=>{const s=M(e),[,,[t]]=ne(s);return[!k(t),Ie(s),t,g(t,(e=>s?.getCheckpoint(e)))??o]},e.useRelationships=e=>T(e,6),e.useRemoteRowId=se,e.useRemoteRowIdListener=(e,s,t,o,l)=>j("RemoteRowId",x(l),t,o,[e,s]),e.useResultCell=ue,e.useResultCellIds=re,e.useResultCellIdsListener=(e,s,t,o,l)=>j("ResultCellIds",B(l),t,o,[e,s]),e.useResultCellListener=(e,s,t,o,l,d)=>j("ResultCell",B(d),o,l,[e,s,t]),e.useResultRow=(e,s,t)=>U("ResultRow",B(t),{},[e,s]),e.useResultRowIds=le,e.useResultRowIdsListener=(e,s,t,o)=>j("ResultRowIds",B(o),s,t,[e]),e.useResultRowListener=(e,s,t,o,l)=>j("ResultRow",B(l),t,o,[e,s]),e.useResultSortedRowIds=de,e.useResultSortedRowIdsListener=(e,s,t,o,l,d,r,u)=>j("ResultSortedRowIds",B(u),d,r,[e,s,t,o,l]),e.useResultTable=(e,s)=>U("ResultTable",B(s),{},[e]),e.useResultTableCellIds=(e,s)=>U("ResultTableCellIds",B(s),[],[e]),e.useResultTableCellIdsListener=(e,s,t,o)=>j("ResultTableCellIds",B(o),s,t,[e]),e.useResultTableListener=(e,s,t,o)=>j("ResultTable",B(o),s,t,[e]),e.useRow=(e,s,t)=>U(i,v(t),{},[e,s]),e.useRowIds=N,e.useRowIdsListener=(e,s,t,o,l)=>j(a,v(l),s,t,[e],o),e.useRowListener=(e,s,t,o,l,d)=>j(i,v(d),t,o,[e,s],l),e.useSetCellCallback=(e,s,t,o,l,d,r,u)=>z(d,c,o,l,r,u,e,s,t),e.useSetCheckpointCallback=(e=h,s=[],t,o=h,l=[])=>{const d=M(t);return D((s=>g(d,(t=>{const l=e(s);o(t.addCheckpoint(l),t,l)}))),[d,...s,...l])},e.useSetPartialRowCallback=(e,s,t,o,l,d,r)=>z(l,"PartialRow",t,o,d,r,e,s),e.useSetPartialValuesCallback=(e,s,t,o,l)=>z(t,"PartialValues",e,s,o,l),e.useSetRowCallback=(e,s,t,o,l,d,r)=>z(l,i,t,o,d,r,e,s),e.useSetTableCallback=(e,s,t,o,l,d)=>z(o,r,s,t,l,d,e),e.useSetTablesCallback=(e,s,t,o,l)=>z(t,u,e,s,o,l),e.useSetValueCallback=(e,s,t,o,l,d)=>z(o,R,s,t,l,d,e),e.useSetValuesCallback=(e,s,t,o,l)=>z(t,w,e,s,o,l),e.useSliceIds=_,e.useSliceIdsListener=(e,s,t,o)=>j("SliceIds",q(o),s,t,[e]),e.useSliceRowIds=ee,e.useSliceRowIdsListener=(e,s,t,o,l)=>j("SliceRowIds",q(l),t,o,[e,s]),e.useSortedRowIds=O,e.useSortedRowIdsListener=(e,s,t,o,l,d,r,u,n)=>j(I,v(n),d,r,[e,s,t,o,l],u),e.useStore=e=>T(e,0),e.useTable=(e,s)=>U(r,v(s),{},[e]),e.useTableCellIds=(e,s)=>U(r+C,v(s),[],[e]),e.useTableCellIdsListener=(e,s,t,o,l)=>j(r+C,v(l),s,t,[e],o),e.useTableIds=K,e.useTableIdsListener=(e,s,t,o)=>j(n,v(o),e,s,[],t),e.useTableListener=(e,s,t,o,l)=>j(r,v(l),s,t,[e],o),e.useTables=e=>U(u,v(e),{}),e.useTablesListener=(e,s,t,o)=>j(u,v(o),e,s,[],t),e.useUndoInformation=e=>{const s=M(e),[t,l]=ne(s);return[(d=t,!(0==(e=>e.length)(d))),ae(s),l,g(l,(e=>s?.getCheckpoint(e)))??o];var d},e.useValue=Z,e.useValueIds=Y,e.useValueIdsListener=(e,s,t,o)=>j(b,v(o),e,s,[],t),e.useValueListener=(e,s,t,o,l)=>j(R,v(l),s,t,[e],o),e.useValues=e=>U(w,v(e),{}),e.useValuesListener=(e,s,t,o)=>j(w,v(o),e,s,[],t)},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReact={},e.React);
|
|
1
|
+
var e,s;e=this,s=function(e,s){"use strict";const t=e=>typeof e,o="",l=t(o),d="Ids",r="Table",u=r+"s",n=r+d,i="Row",a=i+d,I="Sorted"+i+d,c="Cell",C=c+d,R="Value",w=R+"s",b=R+d,p=e=>null==e,k=(e,s,t)=>p(e)?t?.():s(e),g=e=>t(e)==l,m=()=>{},h=(e,s)=>e.map(s),{createContext:L,useContext:V}=s,y=L([]),T=(e,s)=>{const t=V(y);return p(e)?t[s]:g(e)?((e,s)=>k(e,(e=>e[s])))(t[s+1],e):e},S=(e,s)=>{const t=T(e,s);return p(e)||g(e)?t:e},f=(e,...s)=>p(e)?{}:e(...s),v=e=>S(e,0),P=e=>S(e,2),q=e=>S(e,4),x=e=>S(e,6),B=e=>S(e,8),M=e=>S(e,10),{useCallback:D,useEffect:A,useMemo:F,useRef:G,useState:E}=s,Q=(e,s,t=[])=>{const o=F((()=>s(e)),[e,...t]);return A((()=>()=>o.destroy()),[o]),o},U=(e,s,t,o=[],l)=>{const[,d]=E(),r=D((()=>s?.["get"+e]?.(...o)??t),[s,...o]),[u]=E(r),n=G(u);return F((()=>n.current=r()),[r]),j(e,s,((...e)=>{n.current=p(l)?r():e[l],d([])}),[],o),n.current},j=(e,s,t,o=[],l=[],...d)=>A((()=>{const o=s?.["add"+e+"Listener"]?.(...l,t,...d);return()=>s?.delListener(o)}),[s,...l,...o,...d]),z=(e,s,t,o=[],l=m,d=[],...r)=>{const u=v(e);return D((e=>k(u,(o=>k(t(e,o),(e=>l(o["set"+s](...r,e),e)))))),[u,s,...o,...d,...r])},H=(e,s,t=m,o=[],...l)=>{const d=v(e);return D((()=>t(d?.["del"+s](...l))),[d,s,...o,...l])},J=(e,s,t)=>{const o=M(e);return D((()=>o?.[s](t)),[o,s,t])},K=e=>U(n,v(e),[],[]),N=(e,s)=>U(a,v(s),[],[e]),O=(e,s,t,o=0,l,d)=>U(I,v(d),[],[e,s,t,o,l],6),W=(e,s,t)=>U(C,v(t),[],[e,s]),X=(e,s,t,o)=>U(c,v(o),void 0,[e,s,t],4),Y=e=>U(b,v(e),[],[]),Z=(e,s)=>U(R,v(s),void 0,[e]),$=(e,s)=>U("Metric",P(s),void 0,[e]),_=(e,s)=>U("SliceIds",q(s),[],[e]),ee=(e,s,t)=>U("SliceRowIds",q(t),[],[e,s]),se=(e,s,t)=>U("RemoteRowId",x(t),void 0,[e,s]),te=(e,s,t)=>U("LocalRowIds",x(t),[],[e,s]),oe=(e,s,t)=>U("LinkedRowIds",x(t),[],[e,s]),le=(e,s)=>U("ResultRowIds",B(s),[],[e]),de=(e,s,t,o=0,l,d)=>U("ResultSortedRowIds",B(d),[],[e,s,t,o,l],6),re=(e,s,t)=>U("ResultCellIds",B(t),[],[e,s]),ue=(e,s,t,o)=>U("ResultCell",B(o),void 0,[e,s,t]),ne=e=>U("CheckpointIds",M(e),[[],void 0,[]]),ie=(e,s)=>U("Checkpoint",M(s),void 0,[e]),ae=e=>J(e,"goBackward"),Ie=e=>J(e,"goForward"),{createElement:ce,useMemo:Ce}=s,Re=({tableId:e,store:s,rowComponent:t=he,getRowComponentProps:o,customCellIds:l,separator:d,debugIds:r},u)=>ge(h(u,(d=>ce(t,{...f(o,d),key:d,tableId:e,rowId:d,customCellIds:l,store:s,debugIds:r}))),d,r,e),we=({queryId:e,queries:s,resultRowComponent:t=Se,getResultRowComponentProps:o,separator:l,debugIds:d},r)=>ge(h(r,(l=>ce(t,{...f(o,l),key:l,queryId:e,rowId:l,queries:s,debugIds:d}))),l,d,e),be=e=>{const s=x(e);return[s,s?.getStore()]},pe=({relationshipId:e,relationships:s,rowComponent:t=he,getRowComponentProps:o,separator:l,debugIds:d},r,u)=>{const[n,i]=be(s),a=n?.getLocalTableId(e),I=r(e,u,n);return ge(h(I,(e=>ce(t,{...f(o,e),key:e,tableId:a,rowId:e,store:i,debugIds:d}))),l,d,u)},ke=e=>({checkpoints:s,checkpointComponent:t=fe,getCheckpointComponentProps:o,separator:l,debugIds:d})=>{const r=M(s);return ge(h(e(ne(r)),(e=>ce(t,{...f(o,e),key:e,checkpoints:r,checkpointId:e,debugIds:d}))),l)},ge=(e,s,t,o)=>{const l=p(s)||!Array.isArray(e)?e:h(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",l,"}"]:l},me=({tableId:e,rowId:s,cellId:t,store:l,debugIds:d})=>ge(o+(X(e,s,t,l)??o),void 0,d,t),he=({tableId:e,rowId:s,store:t,cellComponent:o=me,getCellComponentProps:l,customCellIds:d,separator:r,debugIds:u})=>ge(h(((e,s,t,o)=>{const l=W(s,t,o);return e??l})(d,e,s,t),(d=>ce(o,{...f(l,d),key:d,tableId:e,rowId:s,cellId:d,store:t,debugIds:u}))),r,u,s),Le=e=>Re(e,N(e.tableId,e.store)),Ve=({valueId:e,store:s,debugIds:t})=>ge(o+(Z(e,s)??o),void 0,t,e),ye=({indexId:e,sliceId:s,indexes:t,rowComponent:o=he,getRowComponentProps:l,separator:d,debugIds:r})=>{const u=q(t),n=u?.getStore(),i=u?.getTableId(e),a=ee(e,s,u);return ge(h(a,(e=>ce(o,{...f(l,e),key:e,tableId:i,rowId:e,store:n,debugIds:r}))),d,r,s)},Te=({queryId:e,rowId:s,cellId:t,queries:l,debugIds:d})=>ge(o+(ue(e,s,t,l)??o),void 0,d,t),Se=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Te,getResultCellComponentProps:l,separator:d,debugIds:r})=>ge(h(re(e,s,t),(d=>ce(o,{...f(l,d),key:d,queryId:e,rowId:s,cellId:d,queries:t,debugIds:r}))),d,r,s),fe=({checkpoints:e,checkpointId:s,debugIds:t})=>ge(ie(s,e)??o,void 0,t,s),ve=ke((e=>e[0])),Pe=ke((e=>p(e[1])?[]:[e[1]])),qe=ke((e=>e[2]));e.BackwardCheckpointsView=ve,e.CellView=me,e.CheckpointView=fe,e.CurrentCheckpointView=Pe,e.ForwardCheckpointsView=qe,e.IndexView=({indexId:e,indexes:s,sliceComponent:t=ye,getSliceComponentProps:o,separator:l,debugIds:d})=>ge(h(_(e,s),(l=>ce(t,{...f(o,l),key:l,indexId:e,sliceId:l,indexes:s,debugIds:d}))),l,d,e),e.LinkedRowsView=e=>pe(e,oe,e.firstRowId),e.LocalRowsView=e=>pe(e,te,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:t})=>ge($(e,s)??o,void 0,t,e),e.Provider=({store:e,storesById:t,metrics:o,metricsById:l,indexes:d,indexesById:r,relationships:u,relationshipsById:n,queries:i,queriesById:a,checkpoints:I,checkpointsById:c,children:C})=>{const R=s.useContext(y);return ce(y.Provider,{value:Ce((()=>[e??R[0],{...R[1],...t},o??R[2],{...R[3],...l},d??R[4],{...R[5],...r},u??R[6],{...R[7],...n},i??R[8],{...R[9],...a},I??R[10],{...R[11],...c}]),[e,t,o,l,d,r,u,n,i,a,I,c,R])},C)},e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=he,getRowComponentProps:l,debugIds:d})=>{const[r,u]=be(t),n=r?.getRemoteTableId(e),i=se(e,s,r);return ge(p(n)||p(i)?null:ce(o,{...f(l,i),key:i,tableId:n,rowId:i,store:u,debugIds:d}),void 0,d,s)},e.ResultCellView=Te,e.ResultRowView=Se,e.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>we(l,de(l.queryId,e,s,t,o,l.queries)),e.ResultTableView=e=>we(e,le(e.queryId,e.queries)),e.RowView=he,e.SliceView=ye,e.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>Re(l,O(l.tableId,e,s,t,o,l.store)),e.TableView=Le,e.TablesView=({store:e,tableComponent:s=Le,getTableComponentProps:t,separator:o,debugIds:l})=>ge(h(K(e),(o=>ce(s,{...f(t,o),key:o,tableId:o,store:e,debugIds:l}))),o),e.ValueView=Ve,e.ValuesView=({store:e,valueComponent:s=Ve,getValueComponentProps:t,separator:o,debugIds:l})=>ge(h(Y(e),(o=>ce(s,{...f(t,o),key:o,valueId:o,store:e,debugIds:l}))),o),e.useAddRowCallback=(e,s,t=[],o,l=m,d=[],r=!0)=>{const u=v(o);return D((t=>k(u,(o=>k(s(t,o),(s=>l(o.addRow(e,s,r),o,s)))))),[u,e,...t,...d,r])},e.useCell=X,e.useCellIds=W,e.useCellIdsListener=(e,s,t,o,l,d)=>j(C,v(d),t,o,[e,s],l),e.useCellListener=(e,s,t,o,l,d,r)=>j(c,v(r),o,l,[e,s,t],d),e.useCheckpoint=ie,e.useCheckpointIds=ne,e.useCheckpointIdsListener=(e,s,t)=>j("CheckpointIds",M(t),e,s),e.useCheckpointListener=(e,s,t,o)=>j("Checkpoint",M(o),s,t,[e]),e.useCheckpoints=e=>T(e,10),e.useCreateCheckpoints=(e,s,t)=>Q(e,s,t),e.useCreateIndexes=(e,s,t)=>Q(e,s,t),e.useCreateMetrics=(e,s,t)=>Q(e,s,t),e.useCreatePersister=(e,s,t=[],o,l=[])=>{const[,d]=E(),r=F((()=>s(e)),[e,...t]);return A((()=>((async()=>{await(o?.(r)),d(1)})(),()=>{r.destroy()})),[r,...l]),r},e.useCreateQueries=(e,s,t)=>Q(e,s,t),e.useCreateRelationships=(e,s,t)=>Q(e,s,t),e.useCreateStore=(e,s=[])=>F(e,s),e.useDelCellCallback=(e,s,t,o,l,d,r)=>H(l,c,d,r,e,s,t,o),e.useDelRowCallback=(e,s,t,o,l)=>H(t,i,o,l,e,s),e.useDelTableCallback=(e,s,t,o)=>H(s,r,t,o,e),e.useDelTablesCallback=(e,s,t)=>H(e,u,s,t),e.useDelValueCallback=(e,s,t,o)=>H(s,R,t,o,e),e.useDelValuesCallback=(e,s,t)=>H(e,w,s,t),e.useGoBackwardCallback=ae,e.useGoForwardCallback=Ie,e.useGoToCallback=(e,s=[],t,o=m,l=[])=>{const d=M(t);return D((s=>k(d,(t=>k(e(s),(e=>o(t.goTo(e),e)))))),[d,...s,...l])},e.useIndexes=e=>T(e,4),e.useLinkedRowIds=oe,e.useLinkedRowIdsListener=(e,s,t,o,l)=>j("LinkedRowIds",x(l),t,o,[e,s]),e.useLocalRowIds=te,e.useLocalRowIdsListener=(e,s,t,o,l)=>j("LocalRowIds",x(l),t,o,[e,s]),e.useMetric=$,e.useMetricListener=(e,s,t,o)=>j("Metric",P(o),s,t,[e]),e.useMetrics=e=>T(e,2),e.useQueries=e=>T(e,8),e.useRedoInformation=e=>{const s=M(e),[,,[t]]=ne(s);return[!p(t),Ie(s),t,k(t,(e=>s?.getCheckpoint(e)))??o]},e.useRelationships=e=>T(e,6),e.useRemoteRowId=se,e.useRemoteRowIdListener=(e,s,t,o,l)=>j("RemoteRowId",x(l),t,o,[e,s]),e.useResultCell=ue,e.useResultCellIds=re,e.useResultCellIdsListener=(e,s,t,o,l)=>j("ResultCellIds",B(l),t,o,[e,s]),e.useResultCellListener=(e,s,t,o,l,d)=>j("ResultCell",B(d),o,l,[e,s,t]),e.useResultRow=(e,s,t)=>U("ResultRow",B(t),{},[e,s]),e.useResultRowIds=le,e.useResultRowIdsListener=(e,s,t,o)=>j("ResultRowIds",B(o),s,t,[e]),e.useResultRowListener=(e,s,t,o,l)=>j("ResultRow",B(l),t,o,[e,s]),e.useResultSortedRowIds=de,e.useResultSortedRowIdsListener=(e,s,t,o,l,d,r,u)=>j("ResultSortedRowIds",B(u),d,r,[e,s,t,o,l]),e.useResultTable=(e,s)=>U("ResultTable",B(s),{},[e]),e.useResultTableCellIds=(e,s)=>U("ResultTableCellIds",B(s),[],[e]),e.useResultTableCellIdsListener=(e,s,t,o)=>j("ResultTableCellIds",B(o),s,t,[e]),e.useResultTableListener=(e,s,t,o)=>j("ResultTable",B(o),s,t,[e]),e.useRow=(e,s,t)=>U(i,v(t),{},[e,s]),e.useRowIds=N,e.useRowIdsListener=(e,s,t,o,l)=>j(a,v(l),s,t,[e],o),e.useRowListener=(e,s,t,o,l,d)=>j(i,v(d),t,o,[e,s],l),e.useSetCellCallback=(e,s,t,o,l,d,r,u)=>z(d,c,o,l,r,u,e,s,t),e.useSetCheckpointCallback=(e=m,s=[],t,o=m,l=[])=>{const d=M(t);return D((s=>k(d,(t=>{const l=e(s);o(t.addCheckpoint(l),t,l)}))),[d,...s,...l])},e.useSetPartialRowCallback=(e,s,t,o,l,d,r)=>z(l,"PartialRow",t,o,d,r,e,s),e.useSetPartialValuesCallback=(e,s,t,o,l)=>z(t,"PartialValues",e,s,o,l),e.useSetRowCallback=(e,s,t,o,l,d,r)=>z(l,i,t,o,d,r,e,s),e.useSetTableCallback=(e,s,t,o,l,d)=>z(o,r,s,t,l,d,e),e.useSetTablesCallback=(e,s,t,o,l)=>z(t,u,e,s,o,l),e.useSetValueCallback=(e,s,t,o,l,d)=>z(o,R,s,t,l,d,e),e.useSetValuesCallback=(e,s,t,o,l)=>z(t,w,e,s,o,l),e.useSliceIds=_,e.useSliceIdsListener=(e,s,t,o)=>j("SliceIds",q(o),s,t,[e]),e.useSliceRowIds=ee,e.useSliceRowIdsListener=(e,s,t,o,l)=>j("SliceRowIds",q(l),t,o,[e,s]),e.useSortedRowIds=O,e.useSortedRowIdsListener=(e,s,t,o,l,d,r,u,n)=>j(I,v(n),d,r,[e,s,t,o,l],u),e.useStore=e=>T(e,0),e.useTable=(e,s)=>U(r,v(s),{},[e]),e.useTableCellIds=(e,s)=>U(r+C,v(s),[],[e]),e.useTableCellIdsListener=(e,s,t,o,l)=>j(r+C,v(l),s,t,[e],o),e.useTableIds=K,e.useTableIdsListener=(e,s,t,o)=>j(n,v(o),e,s,[],t),e.useTableListener=(e,s,t,o,l)=>j(r,v(l),s,t,[e],o),e.useTables=e=>U(u,v(e),{}),e.useTablesListener=(e,s,t,o)=>j(u,v(o),e,s,[],t),e.useUndoInformation=e=>{const s=M(e),[t,l]=ne(s);return[(d=t,!(0==(e=>e.length)(d))),ae(s),l,k(l,(e=>s?.getCheckpoint(e)))??o];var d},e.useValue=Z,e.useValueIds=Y,e.useValueIdsListener=(e,s,t,o)=>j(b,v(o),e,s,[],t),e.useValueListener=(e,s,t,o,l)=>j(R,v(l),s,t,[e],o),e.useValues=e=>U(w,v(e),{}),e.useValuesListener=(e,s,t,o)=>j(w,v(o),e,s,[],t)},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReact={},e.React);
|
package/lib/umd/ui-react.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=(e,n)=>e.includes(n),
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>null==e,t=(e,t,l)=>n(e)?null==l?void 0:l():t(e),l=(e,n)=>e.includes(n),o=(e,n)=>e.forEach(n),r=e=>e.length,s=e=>0==r(e),i=(e,...n)=>e.push(...n),u=e=>e.pop(),d=e=>e.shift(),c=Object.freeze,a=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>n(e)||0==(e=>e.size)(e),p=(e,n)=>null==e?void 0:e.forEach(n),f=(e,n)=>null==e?void 0:e.delete(n),v=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),g=(e,t,l)=>n(l)?(f(e,t),e):null==e?void 0:e.set(t,l),k=(e,n,t)=>(a(e,n)||g(e,n,t()),C(e,n)),y=(e,n,l,o,s=0)=>t((l?k:C)(e,n[s],s>r(n)-2?l:v),(t=>{if(s>r(n)-2)return(null==o?void 0:o(t))&&g(e,n[s]),t;const i=y(t,n,l,o,s+1);return h(t)&&g(e,n[s]),i})),L=e=>new Set(Array.isArray(e)||n(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=v(),E=v(),V=1;const j=v(),m=v(),[A,B,I]=(e=>{let l;const[s,u]=(()=>{const e=[];let n=0;return[t=>{var l;return null!=(l=t?d(e):null)?l:""+n++},n=>{w.test(n)&&r(e)<1e3&&i(e,n)}]})(),c=v();return[(e,n,t,o=[],r=(()=>[]))=>{null!=l||(l=_);const i=s(1);var u,d;return g(c,i,[e,n,t,o,r]),d=i,null==(u=y(n,null!=t?t:[""],L))||u.add(d),i},(e,n,...t)=>o(((e,n=[""])=>{const t=[],l=(e,s)=>s==r(n)?i(t,e):null===n[s]?p(e,(e=>l(e,s+1))):o([n[s],null],(n=>l(C(e,n),s+1)));return l(e,0),t})(e,n),(e=>p(e,(e=>C(c,e)[0](l,...null!=n?n:[],...t))))),e=>t(C(c,e),(([,n,t])=>(y(n,null!=t?t:[""],void 0,(n=>(f(n,e),h(n)?1:0))),g(c,e),u(e),t))),e=>t(C(c,e),(([e,,t=[],s,i])=>{const u=(...d)=>{var c,a;const h=r(d);h==r(t)?e(l,...d,...i(d)):n(t[h])?o(null!=(a=null==(c=s[h])?void 0:c.call(s,...d))?a:[],(e=>u(...d,e))):u(...d,t[h])};u()}))]})(),M=v(),F=v(),O=[],W=[],$=(t,l)=>{V=0,e.transaction((()=>{const[o,r]=C(M,l);p(o,((l,o)=>p(l,((l,r)=>p(l,((l,s)=>((e,t,l,o,r)=>n(r)?e.delCell(t,l,o,!0):e.setCell(t,l,o,r))(e,o,r,s,l[t]))))))),p(r,((l,o)=>((e,t,l)=>n(l)?e.delValue(t):e.setValue(t,l))(e,o,l[t])))})),V=1},q=e=>{g(M,e),g(F,e),B(m,[e])},D=(e,n)=>o(((e,n)=>e.splice(0,n))(e,null!=n?n:r(e)),q),G=()=>D(O,r(O)-x),H=()=>t(b,(()=>{i(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=u(O),T=1},K=e.addCellListener(null,null,null,((e,n,t,l,o,r)=>{if(V){H();const e=k(z,n,v),s=k(e,t,v),i=k(s,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&h(g(s,l))&&h(g(e,t))&&h(g(z,n))&&J(),U()}})),N=e.addValueListener(null,((e,n,t,l)=>{if(V){H();const e=k(E,n,(()=>[l,void 0]));e[1]=t,e[0]===t&&h(g(E,n))&&J(),U()}})),P=(e="")=>(n(b)&&(b=""+S++,g(M,b,[z,E]),Y(b,e),z=v(),E=v(),T=1),b),Q=()=>{s(O)||(((e,...n)=>{e.unshift(...n)})(W,P()),$(0,b),b=u(O),T=1)},R=()=>{s(W)||(i(O,b),b=d(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(F,e)!==n&&(g(F,e,n),B(m,[e])),_),Z=e=>a(M,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return n=e,p(F,((e,t)=>n(t,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(F,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const t=l(O,e)?Q:l(W,e)?R:null;for(;!n(t)&&e!=b;)t();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,n)=>A(n,m,[e]),delListener:e=>(I(e),_),clear:()=>(D(O),D(W),n(b)||q(b),b=void 0,S=0,X(),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return c(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
|
|
Binary file
|
package/lib/umd-es6/indexes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=e=>t+e,s=(e,n)=>e.every(n),
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=e=>t+e,s=e=>null==e,o=(e,n,t)=>s(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),i=(e,n)=>e.every(n),u=(e,n)=>i(e,((t,l)=>0==l||n(e[l-1],t)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),f=e=>e.length,v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},g=e=>s(e)||0==(e=>e.size)(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},y=e=>e.clear(),x=(e,n)=>null==e?void 0:e.forEach(n),S=(e,n)=>null==e?void 0:e.delete(n),w=e=>new Map(e),L=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},b=(e,n)=>null==e?void 0:e.get(n),T=(e,n)=>x(e,((e,t)=>n(t,e))),E=(e,n,t)=>s(t)?(S(e,n),e):null==e?void 0:e.set(n,t),R=(e,n,t)=>(I(e,n)||E(e,n,t()),b(e,n)),m=(e,n,t,l,r=0)=>o((t?R:b)(e,n[r],r>f(n)-2?t:w),(s=>{if(r>f(n)-2)return(null==l?void 0:l(s))&&E(e,n[r]),s;const o=m(s,n,t,l,r+1);return g(s)&&E(e,n[r]),o})),j=e=>new Set(d(e)||s(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n),z=(e,r)=>n(e)==l?n=>n(e):null!=e?e:()=>null!=r?r:t,A=(e,n)=>e<n?-1:1,C=/^\d+$/,D=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=w(),l=w(),[D,M,B,O,W,$,q,,F,G,H]=((e,n,t)=>{const l=e.hasRow,r=w(),u=w(),a=w(),v=w(),h=w(),m=(n,t,...l)=>{const r=R(h,n,j);return c(l,(n=>k(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>o(b(h,n),(l=>{c(0==f(t)?p(l):t,(n=>{e.delListener(n),S(l,n)})),g(l)&&E(h,n)})),A=(e,t)=>{E(r,e,t),I(u,e)||(E(u,e,n()),E(a,e,w()),E(v,e,w()))},C=e=>{E(r,e),E(u,e),E(a,e),E(v,e),z(e)};return[()=>e,()=>L(r),e=>T(u,e),e=>I(u,e),e=>b(r,e),e=>b(u,e),(e,n)=>E(u,e,n),A,(n,r,o,u,h)=>{A(n,r);const g=w(),p=w(),S=b(a,n),L=b(v,n),R=n=>{const o=t=>e.getCell(r,n,t),a=b(S,n),c=l(r,n)?t(u(o,n)):void 0;var v,I;if(a===c||d(a)&&d(c)&&(I=c,f(v=a)===f(I)&&i(v,((e,n)=>I[n]===e)))||E(g,n,[a,c]),!s(h)){const e=b(L,n),t=l(r,n)?h(o,n):void 0;e!=t&&E(p,n,t)}},j=e=>{o((()=>{x(g,(([,e],n)=>E(S,n,e))),x(p,((e,n)=>E(L,n,e)))}),g,p,S,L,e),y(g),y(p)};T(S,R),e.hasTable(r)&&c(e.getRowIds(r),(e=>{I(S,e)||R(e)})),j(!0),z(n),m(n,0,e.addRowListener(r,null,((e,n,t)=>R(t))),e.addTableListener(r,(()=>j())))},C,()=>T(h,C),m,z]})(e,w,(e=>{return s(e)?t:d(e)?(n=r,e.map(n)):r(e);var n})),[J,K,N]=(e=>{let n;const[l,r]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:t+n++},n=>{C.test(n)&&f(e)<1e3&&v(e,n)}]})(),d=w();return[(e,r,s,o=[],i=(()=>[]))=>{null!=n||(n=Q);const u=l(1);return E(d,u,[e,r,s,o,i]),k(m(r,null!=s?s:[t],j),u),u},(e,l,...r)=>c(((e,n=[t])=>{const l=[],r=(e,t)=>t==f(n)?v(l,e):null===n[t]?x(e,(e=>r(e,t+1))):c([n[t],null],(n=>r(b(e,n),t+1)));return r(e,0),l})(e,l),(e=>x(e,(e=>b(d,e)[0](n,...null!=l?l:[],...r))))),e=>o(b(d,e),(([,n,l])=>(m(n,null!=l?l:[t],void 0,(n=>(S(n,e),g(n)?1:0))),E(d,e),r(e),l))),e=>o(b(d,e),(([e,,t=[],l,r])=>{const o=(...d)=>{var i,u;const a=f(d);a==f(t)?e(n,...d,...r(d)):s(t[a])?c(null!=(u=null==(i=l[a])?void 0:i.call(l,...d))?u:[],(e=>o(...d,e))):o(...d,t[a])};o()}))]})(),P=(n,t,l)=>{const r=W(n);x(l,((n,l)=>t(l,(t=>x(n,(n=>t(n,(t=>e.forEachCell(r,n,t)))))))))},Q={setIndexDefinition:(e,t,r,d,i,c=A)=>{const f=s(i)?void 0:([e],[n])=>i(e,n);return F(e,t,((t,r,i,v,h,p)=>{let y=0;const L=j(),R=j(),m=$(e);if(x(r,(([e,n],t)=>{const l=j(e),r=j(n);x(l,(e=>S(r,e)?S(l,e):0)),x(l,(e=>{k(L,e),o(b(m,e),(n=>{S(n,t),g(n)&&(E(m,e),y=1)}))})),x(r,(e=>{k(L,e),I(m,e)||(E(m,e,j()),y=1),k(b(m,e),t),s(d)||k(R,e)}))})),t(),g(h)||(p?T(m,(e=>k(R,e))):T(i,(e=>o(b(v,e),(e=>k(R,e))))),x(R,(e=>{const n=(n,t)=>c(b(h,n),b(h,t),e),t=[...b(m,e)];u(t,n)||(E(m,e,j(a(t,n))),k(L,e))}))),(y||p)&&!s(f)){const n=[...m];u(n,f)||(q(e,w(a(n,f))),y=1)}y&&K(n,[e]),x(L,(n=>K(l,[e,n])))}),z(r),o(d,z)),Q},delIndexDefinition:e=>(G(e),Q),getStore:D,getIndexIds:M,forEachIndex:e=>B(((n,t)=>e(n,(e=>P(n,e,t))))),forEachSlice:(e,n)=>P(e,n,$(e)),hasIndex:O,hasSlice:(e,n)=>I($(e),n),getTableId:W,getSliceIds:e=>L($(e)),getSliceRowIds:(e,n)=>p(b($(e),n)),addSliceIdsListener:(e,t)=>J(t,n,[e]),addSliceRowIdsListener:(e,n,t)=>J(t,l,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return h(Q)})(e)),n.get(e))})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
|
|
Binary file
|
package/lib/umd-es6/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=(e,t)=>e.forEach(t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=Math.max,o=Math.min,s=isFinite,u=e=>null==e,d=(e,t,n)=>u(e)?null==n?void 0:n():t(e),a=e=>Array.isArray(e),c=()=>{},v=(e,t)=>e.forEach(t),f=e=>g(e,((e,t)=>e+t),0),h=e=>e.length,g=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),p=Object.freeze,y=e=>e.size,m=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},b=e=>u(e)||0==y(e),L=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},w=e=>e.clear(),T=(e,t)=>null==e?void 0:e.forEach(t),x=(e,t)=>null==e?void 0:e.delete(t),E=e=>new Map(e),I=(e,t)=>null==e?void 0:e.get(t),R=(e,t)=>T(e,((e,n)=>t(n,e))),S=(e,t,n)=>u(n)?(x(e,t),e):null==e?void 0:e.set(t,n),j=(e,t,n)=>(m(e,t)||S(e,t,n()),I(e,t)),k=(e,t,n,l,r=0)=>d((n?j:I)(e,t[r],r>h(t)-2?n:E),(i=>{if(r>h(t)-2)return(null==l?void 0:l(i))&&S(e,t[r]),i;const o=k(i,t,n,l,r+1);return b(i)&&S(e,t[r]),o})),z=E([["avg",[(e,t)=>f(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:i(t,e)]],["min",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:o(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),A=e=>new Set(a(e)||u(e)?e:[e]),D=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,B=(e=>{const i=new WeakMap;return e=>(i.has(e)||i.set(e,(e=>{const i=E(),[o,f,g,B,C,F,O,,W,$,q]=((e,t,l)=>{const r=e.hasRow,i=E(),o=E(),s=E(),c=E(),f=E(),g=(t,n,...l)=>{const r=j(f,t,A);return v(l,(t=>D(r,t)&&n&&e.callListener(t))),l},M=(t,...n)=>d(I(f,t),(l=>{v(0==h(n)?L(l):n,(t=>{e.delListener(t),x(l,t)})),b(l)&&S(f,t)})),p=(e,n)=>{S(i,e,n),m(o,e)||(S(o,e,t()),S(s,e,E()),S(c,e,E()))},y=e=>{S(i,e),S(o,e),S(s,e),S(c,e),M(e)};return[()=>e,()=>{return[...null!=(t=null==(e=i)?void 0:e.keys())?t:[]];var e,t},e=>R(o,e),e=>m(o,e),e=>I(i,e),e=>I(o,e),(e,t)=>S(o,e,t),p,(t,l,i,o,d)=>{p(t,l);const f=E(),y=E(),b=I(s,t),L=I(c,t),x=t=>{const i=n=>e.getCell(l,t,n),s=I(b,t),c=r(l,t)?(v=o(i,t),isNaN(v)||u(v)||!0===v||!1===v||v===n?void 0:1*v):void 0;var v,g,M,p;if(s===c||a(s)&&a(c)&&(M=c,h(g=s)===h(M)&&(p=(e,t)=>M[t]===e,g.every(p)))||S(f,t,[s,c]),!u(d)){const e=I(L,t),n=r(l,t)?d(i,t):void 0;e!=n&&S(y,t,n)}},j=e=>{i((()=>{T(f,(([,e],t)=>S(b,t,e))),T(y,((e,t)=>S(L,t,e)))}),f,y,b,L,e),w(f),w(y)};R(b,x),e.hasTable(l)&&v(e.getRowIds(l),(e=>{m(b,e)||x(e)})),j(!0),M(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>x(n))),e.addTableListener(l,(()=>j())))},y,()=>R(f,y),g,M]})(e,c),[G,H,J]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},t=>{N.test(t)&&h(e)<1e3&&M(e,t)}]})(),i=E();return[(e,r,o,s=[],u=(()=>[]))=>{null!=t||(t=K);const d=l(1);return S(i,d,[e,r,o,s,u]),D(k(r,null!=o?o:[n],A),d),d},(e,l,...r)=>v(((e,t=[n])=>{const l=[],r=(e,n)=>n==h(t)?M(l,e):null===t[n]?T(e,(e=>r(e,n+1))):v([t[n],null],(t=>r(I(e,t),n+1)));return r(e,0),l})(e,l),(e=>T(e,(e=>I(i,e)[0](t,...null!=l?l:[],...r))))),e=>d(I(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(t=>(x(t,e),b(t)?1:0))),S(i,e),r(e),l))),e=>d(I(i,e),(([e,,n=[],l,r])=>{const i=(...o)=>{var s,d;const a=h(o);a==h(n)?e(t,...o,...r(o)):u(n[a])?v(null!=(d=null==(s=l[a])?void 0:s.call(l,...o))?d:[],(e=>i(...o,e))):i(...o,n[a])};i()}))]})(),K={setMetricDefinition:(e,n,o,d,a,c,v)=>{var f;const h=t(o)==r?[o,a,c,v]:null!=(f=I(z,o))?f:I(z,"sum");return W(e,n,((t,n,l,r,o,d)=>{const a=F(e),c=y(r);d||(d=u(a)),t();let v=((e,t,n,l,r,i=!1)=>{if(b(n))return;const[o,s,d,a]=r;return i||(i=u(e)),T(l,(([n,l])=>{i||(e=u(n)?null==s?void 0:s(e,l,t++):u(l)?null==d?void 0:d(e,n,t--):null==a?void 0:a(e,l,n,t),i||(i=u(e)))})),i?o(L(n),y(n)):e})(a,c,r,n,h,d);s(v)||(v=void 0),v!=a&&(O(e,v),H(i,[e],v,a))}),(1,t(g=d)==l?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>($(e),K),getStore:o,getMetricIds:f,forEachMetric:g,hasMetric:B,getTableId:C,getMetric:F,addMetricListener:(e,t)=>G(t,i,[e]),delListener:e=>(J(e),K),destroy:q,getListenerStats:()=>({})};return p(K)})(e)),i.get(e))})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e instanceof t,n=e=>null==e,o=Object,r=o.keys,i=o.freeze,s=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>r(e).length)(e),l=JSON.parse;var u=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{l(n.next(e))}catch(e){r(e)}},s=e=>{try{l(n.throw(e))}catch(e){r(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,s);l((n=n.apply(e,t)).next())})),a=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{l(n.next(e))}catch(e){r(e)}},s=e=>{try{l(n.throw(e))}catch(e){r(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,s);l((n=n.apply(e,t)).next())}));const d="storage",c=globalThis.window,v=(e,r,v)=>((e,f,y,h,p)=>{let g,S,m,A=0,L=0,w=0;const x=[],P=e=>u(void 0,null,(function*(){return 2!=A&&(A=1,yield T.schedule((()=>u(void 0,null,(function*(){yield e(),A=0}))))),T})),T={load:(t,n)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){try{e.setContent(yield f())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>u(void 0,[...t],(function*(t={},n={}){return T.stopAutoLoad(),yield T.load(t,n),w=1,m=(e=>{const t=t=>{t.storageArea===v&&t.key===r&&e((()=>l(t.newValue)))};return c.addEventListener(d,t),t})(((t,n)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield f())}catch(e){}}))))})))),T})),stopAutoLoad:()=>{return w&&(e=m,c.removeEventListener(d,e),m=void 0,w=0),T;var e},save:n=>u(void 0,null,(function*(){return 1!=A&&(A=2,yield T.schedule((()=>u(void 0,null,(function*(){try{yield(n=e.getContent,a(void 0,null,(function*(){return v.setItem(r,(e=n(),JSON.stringify(e,((e,n)=>t(n,Map)?o.fromEntries([...n]):n))));var e})))}catch(e){}var n;A=0}))))),T})),startAutoSave:()=>u(void 0,null,(function*(){return yield T.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();s(n)&&s(o)||T.save((()=>[n,o]))})),T})),stopAutoSave:()=>{var t,o;return t=g,o=e.delListener,!!n(t)||o(t),T},schedule:(...e)=>u(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(x,...e),yield u(void 0,null,(function*(){if(!L){for(L=1;!n((e=x,S=e.shift()));)try{yield S()}catch(e){}L=0}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(T)})(e,(()=>a(void 0,null,(function*(){return l(v.getItem(r))}))));e.createLocalPersister=(e,t)=>v(e,t,localStorage),e.createSessionPersister=(e,t)=>v(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",r=n(""),o=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),v=Promise,y=
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",r=n(""),o=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=e=>n(e)==r,m=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),A=Object,O=A.keys,b=A.freeze,L=(e=[])=>A.fromEntries(e),w=(...e)=>A.assign({},...e),x=(e,n)=>(delete e[n],e),S=(e,n)=>i(A.entries(e),(([e,t])=>n(t,e))),C=e=>A.values(e),N=e=>u(O(e)),g=e=>(e=>y(e,A)&&e.constructor==A)(e)&&0==N(e),R=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>f(t)?(P(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t,l=_)=>(S(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),W=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,k=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable,J=(e,n,t)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Y=(e,n)=>{for(var t in n||(n={}))q.call(n,t)&&J(e,t,n[t]);if(k)for(var t of k(n))H.call(n,t)&&J(e,t,n[t]);return e},z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const K="SELECT*FROM",V="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const t=R(),r=(e,n)=>!f(D(D(t,e),n)),s=(n,r,s,v,y)=>z(void 0,null,(function*(){const f=B();S(null!=y?y:{},(e=>i(O(e),(e=>W(f,e)))));const p=T(f);if(a(p)&&E(t,n)&&v)return yield e("DROP TABLE"+M(n)),void _(t,n);if(a(p)||E(t,n)){const l=D(t,n),o=B(I(l));yield m([...i(p,(t=>z(void 0,null,(function*(){P(o,t)||(yield e(`ALTER TABLE${M(n)}ADD${M(t)}`),_(l,t,""))})))),...s?i(T(o),(t=>z(void 0,null,(function*(){t!=r&&(yield e(`ALTER TABLE${M(n)}DROP${M(t)}`),_(l,t))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(r)} PRIMARY KEY ON CONFLICT REPLACE${o(i(p,(e=>l+M(e))))});`),_(t,n,R([[r,""],...i(p,(e=>[e,""]))]));if(a(p))E(t,n)&&(yield e("DELETE FROM"+M(n)));else{const a=[],s=[],v=[],f=d(I(D(t,n)),(e=>e!=r));S(y,((e,n)=>{var t;c(a,`(?${t=u(f),",?".repeat(t)})`),c(s,n,...i(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(r)+o(i(f,(e=>l+M(e))))+")VALUES"+o(a,l)+"ON CONFLICT("+M(r)+")DO UPDATE SET"+o(i(f,(e=>M(e)+"=excluded."+M(e))),l),s),yield e("DELETE FROM"+M(n)+G+M(r)+"NOT IN("+X(v)+")",v)}}));return[()=>z(void 0,null,(function*(){return j(t,L(yield m(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,L(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>{return _(t,n,j((i=R,E(r=t,o=n)||_(r,o,i()),D(r,o)),l,((e,n,t)=>{t!=D(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,n)=>_(t,n)))})),(n,t)=>z(void 0,null,(function*(){const l=r(n,t)?yield e(K+M(n)+G+M(t)+"=?",["_"]):[];return a(l)?null:x(l[0],t)})),(e,n,t,l)=>z(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>z(void 0,null,(function*(){return r(n,t)?L(d(i(yield e(K+M(n)),(e=>[e[t],x(Y({},e),t)])),(([e,n])=>!f(e)&&!g(n)))):{}})),s]},X=e=>o(i(e,(()=>"?")),l),Z=JSON.parse;var ee=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ne=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>ee(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>ee(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ee(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),s=1,u=l(((t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:n=>ee(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>ee(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),h})),startAutoSave:()=>ee(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();g(t)&&g(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>ee(void 0,null,(function*(){return c(v,...e),yield ee(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return b(h)};var te=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const le="store",re=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ne(e,(()=>te(void 0,null,(function*(){var e;return yield i(),Z((null!=(e=yield u(r,F))?e:{})[le])}))),(e=>te(void 0,null,(function*(){return d.schedule(i,(()=>te(void 0,null,(function*(){var n;yield a(r,F,"_",{[le]:(n=e(),JSON.stringify(n,((e,n)=>y(n,Map)?A.fromEntries([...n]):n)))})}))))}))),t,l);return d};var oe=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ie=(e,n,t,l,[r,o,[i,u,a]],s)=>{const[c,v,y,p,h]=Q(n,s);return ne(e,(()=>oe(void 0,null,(function*(){yield c();const e=yield oe(void 0,null,(function*(){return L(d(yield m($(r,((e,n)=>oe(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!g(e[1]))))})),n=yield oe(void 0,null,(function*(){return i?yield v(a,F):{}}));return g(e)&&f(n)?void 0:[e,n]}))),(e=>oe(void 0,null,(function*(){const[n,t]=e();yield c(),yield(e=>oe(void 0,null,(function*(){return yield m($(o,((n,t)=>oe(void 0,[n,t],(function*([n,t,l,r],o){return yield h(n,t,l,r,e[o])})))))})))(n),yield(e=>oe(void 0,null,(function*(){return u?yield y(a,F,"_",e):null})))(t)}))),t,l)},ue="json",ae="autoLoadIntervalSeconds",de="rowIdColumnName",se="tableId",ce="tableName",ve={mode:ue,[ae]:1},ye={load:0,save:0,[ce]:t+"_values"},fe=(e,n,t,l)=>{const r=R();return S(e,((e,o)=>{const i=s(C(w(n,h(e)?{[t]:e}:e)),0,N(n));f(i[0])||l(o,i[0])||_(r,o,i)})),r},pe="pragma ",he="data_version",me="schema_version",Ee=(e,n,l,r,o)=>{let i,u;const[a,d,c,v]=(e=>{const n=(e=>w(ve,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[ae];if(n.mode==ue){const{storeTableName:e=t}=n;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=n,u=s(C(w(ye,i)),0,N(ye)),a=u[2],d=B(a);return[0,l,[fe(r,{[se]:null,[de]:F},se,(e=>W(d,e)&&e==a)),fe(o,{[ce]:null,[de]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>W(d,n)&&n==a)),u],d]})(n);return(a?re:ie)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(pe+he))[0][he],t=(yield l(pe+me))[0][me];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*d),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),c,T(v))};e.createCrSqliteWasmPersister=(e,n,t)=>Ee(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()))},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",
|
|
1
|
+
var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",i=(e,t)=>e instanceof t,r=e=>null==e,l=Object,s=l.keys,u=l.freeze,a=e=>(e=>i(e,l)&&e.constructor==l)(e)&&0==(e=>s(e).length)(e),d=JSON.parse;var c=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())})),f=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())}));e.createFilePersister=(e,s)=>((e,d,v,y,h)=>{let p,m,g,A=0,S=0,x=0;const w=[],L=e=>c(void 0,null,(function*(){return 2!=A&&(A=1,yield P.schedule((()=>c(void 0,null,(function*(){yield e(),A=0}))))),P})),P={load:(t,n)=>c(void 0,null,(function*(){return yield L((()=>c(void 0,null,(function*(){try{e.setContent(yield d())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...n)=>c(void 0,[...n],(function*(n={},o={}){return P.stopAutoLoad(),yield P.load(n,o),x=1,i=(t,n)=>c(void 0,null,(function*(){return yield L((()=>c(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield d())}catch(e){}}))))})),g=t.watch(s,(()=>i())),P;var i})),stopAutoLoad:()=>{return x&&(null==(e=g)||e.close(),g=void 0,x=0),P;var e},save:t=>c(void 0,null,(function*(){return 1!=A&&(A=2,yield P.schedule((()=>c(void 0,null,(function*(){try{yield(t=e.getContent,f(void 0,null,(function*(){return yield n.writeFile(s,(e=t(),JSON.stringify(e,((e,t)=>i(t,Map)?l.fromEntries([...t]):t))),o);var e})))}catch(e){}var t;A=0}))))),P})),startAutoSave:()=>c(void 0,null,(function*(){return yield P.stopAutoSave().save(),p=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();a(n)&&a(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var t,n;return t=p,n=e.delListener,!!r(t)||n(t),P},schedule:(...e)=>c(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(w,...e),yield c(void 0,null,(function*(){if(!S){for(S=1;!r((e=w,m=e.shift()));)try{yield m()}catch(e){}S=0}var e})),P})),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(P)})(e,(()=>f(void 0,null,(function*(){return d(yield n.readFile(s,o))}))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
|