tinybase 4.1.0-beta.2 → 4.1.0-beta.4
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/common.cjs +1 -1
- package/lib/cjs/common.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/queries.cjs +1 -1
- package/lib/cjs/queries.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-debug.cjs +1 -0
- package/lib/cjs/ui-react-dom-debug.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/common.cjs +1 -1
- package/lib/cjs-es6/common.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/queries.cjs +1 -1
- package/lib/cjs-es6/queries.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-debug.cjs +1 -0
- package/lib/cjs-es6/ui-react-dom-debug.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/common.js +1 -1
- package/lib/common.js.gz +0 -0
- package/lib/debug/checkpoints.js +7 -7
- package/lib/debug/common.js +2 -1
- package/lib/debug/indexes.js +10 -9
- package/lib/debug/metrics.js +13 -13
- 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/queries.js +3 -1
- package/lib/debug/relationships.js +8 -8
- package/lib/debug/store.js +48 -30
- package/lib/debug/tinybase.js +53 -34
- package/lib/debug/tools.js +14 -13
- package/lib/debug/ui-react-dom.js +2269 -72
- package/lib/debug/ui-react.js +89 -29
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/common.js +1 -1
- package/lib/es6/common.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/queries.js +1 -1
- package/lib/es6/queries.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-debug.js +1 -0
- package/lib/es6/ui-react-dom-debug.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/queries.js +1 -1
- package/lib/queries.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 +304 -19
- package/lib/types/store.d.ts +155 -0
- package/lib/types/ui-react-dom.d.ts +402 -16
- package/lib/types/ui-react.d.ts +532 -1
- package/lib/types/with-schemas/internal/ui-react.d.ts +24 -14
- package/lib/types/with-schemas/queries.d.ts +338 -21
- package/lib/types/with-schemas/store.d.ts +188 -0
- package/lib/types/with-schemas/ui-react-dom.d.ts +435 -24
- package/lib/types/with-schemas/ui-react.d.ts +576 -2
- 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/common.js +1 -1
- package/lib/umd/common.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/queries.js +1 -1
- package/lib/umd/queries.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-debug.js +1 -0
- package/lib/umd/ui-react-dom-debug.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/common.js +1 -1
- package/lib/umd-es6/common.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/queries.js +1 -1
- package/lib/umd-es6/queries.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-debug.js +1 -0
- package/lib/umd-es6/ui-react-dom-debug.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 +18 -17
- package/readme.md +3 -3
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",g="Table",f=g+"s",w=g+h,L="Row",S=L+"Count",T=L+h,v="Sorted"+L+h,R="Cell",y=R+h,I="Value",C=I+"s",p=I+h,b=e=>s+e,V=Math.max,m=Math.min,E=isFinite,k=(e,t)=>e instanceof t,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=()=>{},Q=(e,t)=>e.includes(t),z=(e,t)=>e.every(t),N=(e,t)=>$(e)===$(t)&&z(e,((e,s)=>t[s]===e)),j=(e,t)=>z(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),W=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,s)=>e.reduce(t,s),H=(e,t,s)=>e.slice(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>k(e,Y)&&e.constructor==Y,se=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>B(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>$(Z(e)))(e),re=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ie=e=>M(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),Le=(e,t)=>ue(e,((e,s)=>t(s,e))),Se=(e,t,s)=>M(s)?(he(e,t),e):e?.set(t,s),Te=(e,t,s)=>(le(e,t)||Se(e,t,s()),we(e,t)),ve=(e,t,s,n=Se)=>(ae(t,((t,n)=>s(e,n,t))),Le(e,(s=>se(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ye=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),Ie=(e,t,s)=>Re(e,(e=>ye(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),Ve=(e,t,s,n,a=0)=>x((s?Te:we)(e,t[a],a>$(t)-2?s:ge),(o=>{if(a>$(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&Se(e,t[a]),r})),me=e=>{const s=t(e);return D(s)||s==o&&E(e)?s:void 0},Ee=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(A(e)||M(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=Te(i,t,Me);return P(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>x(we(i,t),(n=>{P(q(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Se(i,t)})),u=(e,s)=>{Se(a,e,s),le(o,e)||(Se(o,e,t()),Se(r,e,ge()),Se(l,e,ge()))},h=e=>{Se(a,e),Se(o,e),Se(r,e),Se(l,e),d(e)};return[()=>e,()=>fe(a),e=>Le(o,e),e=>le(o,e),e=>we(a,e),e=>we(o,e),(e,t)=>Se(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),w=we(r,t),L=we(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=we(w,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||A(r)&&A(l)&&N(r,l)||Se(g,t,[r,l]),!M(h)){const e=we(L,t),s=n(a,t)?h(o,t):void 0;e!=s&&Se(f,t,s)}},T=e=>{o((()=>{ue(g,(([,e],t)=>Se(w,t,e))),ue(f,((e,t)=>Se(L,t,e)))}),g,f,w,L,e),de(g),de(f)};Le(w,S),e.hasTable(a)&&P(e.getRowIds(a),(e=>{le(w,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]},Je=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Fe.test(t)&&$(e)<1e3&&K(e,t)}]},ze=e=>{let t;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Se(o,d,[a,r,l,i,c]),xe(Ve(r,l??[s],Me),d),d},(e,n,...a)=>P(((e,t=[s])=>{const n=[],a=(e,s)=>s==$(t)?K(n,e):null===t[s]?ue(e,(e=>a(e,s+1))):P([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>x(we(o,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(he(t,e),ie(t)?1:0))),Se(o,e),a(e),n))),e=>x(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=$(r);l==$(s)?e(t,...r,...a(r)):M(s[l])?P(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},Ne=Ae((e=>{let t,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>F)),f=ge(),w=ge(),L=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=we(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),i=1},v=e=>{Se(f,e),Se(w,e),h(d,[e])},R=(e,t)=>P(((e,t)=>e.splice(0,t))(e,t??$(e)),v),y=()=>R(L,$(L)-o),I=()=>x(t,(()=>{K(L,t),y(),R(S),t=void 0,a=1})),C=()=>{t=U(L),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Te(r,t,ge),l=Te(e,s,ge),i=Te(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(Se(l,n))&&ie(Se(e,s))&&ie(Se(r,t))&&C(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Te(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Se(l,t))&&C(),k()}})),V=(e="")=>(M(t)&&(t=s+n++,Se(f,t,[r,l]),J(t,e),r=ge(),l=ge(),a=1),t),m=()=>{q(L)||(((e,...t)=>{e.unshift(...t)})(S,V()),T(0,t),t=U(L),a=1)},E=()=>{q(S)||(K(L,t),t=X(S),T(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return k(),t},J=(e,t)=>(A(e)&&we(w,e)!==t&&(Se(w,e,t),h(d,[e])),F),A=e=>le(f,e),F={setSize:e=>(o=e,y(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...S]],forEachCheckpoint:e=>Le(w,e),hasCheckpoint:A,getCheckpoint:e=>we(w,e),goBackward:()=>(m(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=Q(L,e)?m:Q(S,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(R(L),R(S),M(t)||v(t),t=void 0,n=0,D(),F),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return ee(F.clear())})),je=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Ae((e=>{const t=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>M(e)?s:A(e)?B(e,b):b(e))),[f,w,L]=ze((()=>T)),S=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=je)=>{const i=M(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,g)=>{let f=0;const L=Me(),S=Me(),T=c(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{xe(L,e),x(we(T,e),(t=>{he(t,s),ie(t)&&(Se(T,e),f=1)}))})),ue(a,(e=>{xe(L,e),le(T,e)||(Se(T,e,Me()),f=1),xe(we(T,e),s),M(o)||xe(S,e)}))})),s(),ie(h)||(g?Le(T,(e=>xe(S,e))):Le(r,(e=>x(we(u,e),(e=>xe(S,e))))),ue(S,(e=>{const t=(t,s)=>l(we(h,t),we(h,s),e),s=[...we(T,e)];j(s,t)||(Se(T,e,Me(O(s,t))),xe(L,e))}))),(f||g)&&!M(i)){const t=[...T];j(t,i)||(d(e,ge(O(t,i))),f=1)}f&&w(t,[e]),ue(L,(t=>w(n,[e,t])))}),Je(a),x(o,Je)),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)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(we(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(L(e),T),destroy:g,getListenerStats:()=>({})};return ee(T)})),Pe=ge([["avg",[(e,t)=>W(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=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Be=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=M(e),ue(n,(([s,n])=>{o||(e=M(s)?l?.(e,n,t++):M(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(ce(s),re(s)):e},We=Ae((e=>{const t=ge(),[n,a,o,r,l,i,c,,d,u,h]=De(e,F,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,w]=ze((()=>L)),L={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=J(n)?[n,o,r,l]:we(Pe,n)??we(Pe,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=re(o);l||=M(d),s();let g=Be(d,h,o,n,u,l);E(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Je(a,1)),L},delMetricDefinition:e=>(u(e),L),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(w(e),L),destroy:h,getListenerStats:()=>({})};return ee(L)})),$e=Ae((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,f,w,I]=De(e,(()=>!0),F),C=t(),p=t(),b=ge(),V=(e,t,...s)=>P(s,(s=>xe(Te(Te(b,t,ge),e,Me),s))),m=e=>{x(we(b,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),P([p,C],(t=>t.delTable(e)))},E=(e,t,s)=>V(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,[],ge()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=J(e)?[$(o)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],ge()]];return K(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(l,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:we(Pe,t)??[(e,t)=>t]]];return K(c,o),{as:e=>o[0]=e}},having:(e,t)=>K(d,J(e)?e:s=>s(e)===t)});const u=ge(o);if(ie(u))return k;const h=ge(r);Le(h,((e,[,t])=>x(we(h,t),(({3:t})=>M(e)?0:K(t,e)))));const g=ge(c);let f=C;if(ie(g)&&q(d))f=p;else{E(t,f,p);const e=ge();Le(g,((t,[s,n])=>xe(Te(e,s,Me),[t,n])));const s=Me();Le(u,(t=>le(e,t)?0:xe(s,t)));const n=ge(),a=(s,n,a,o)=>x(s,(([r,l,i,c])=>{Le(n,((t,[s])=>{const n=Te(r,t,ge),l=we(n,a),i=o?void 0:s;if(l!==i){const s=Me([[l,i]]),o=re(n);Se(n,a,i),ue(we(e,t),(([e,t])=>{const a=Be(c[e],o,n,s,t);c[e]=M(me(a))?null:a}))}})),ie(l)||!z(d,(e=>e((e=>c[e]))))?p.delRow(t,i):M(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));V(f,t,f.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(t,l);let g=!h;ue(s,(e=>{const[s,n,a]=i(t,l,e);K(c,n),K(d,a),g||=s})),Le(e,(e=>{const[s,,n]=i(t,l,e);(g||s)&&Se(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&a(Ve(n,d,(()=>{const e={};return ue(s,(s=>e[s]=f.getCell(t,l,s))),[ge(),Me(),void 0,e]}),(([,e])=>{xe(e,l)})),u,l)})))}E(t,e,f);const L=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);P(r,(n=>{const[a,,o,r,l]=we(h,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(M(u)||I(t,u),Se(l,s,M(c)?null:[c,...w(t,1,e.addRowListener(a,c,(()=>L(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...M(a)?[n,s,t]:t===n?[n,s,a]:[we(h,t)?.[0],we(we(h,t)?.[4],s)?.[0],a]);f.transaction((()=>z(l,(e=>e(a)))?Le(u,((e,n)=>Ee(f,t,s,e,n(a,s)))):f.delRow(t,s)))})(s)},{3:S}=we(h,null);return f.transaction((()=>w(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?L(o,n,o,S):(f.delRow(t,o),ue(h,(({4:e})=>x(we(e,o),(([,s])=>{I(t,s),Se(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 ae({[g]:[1,1],[g+y]:[0,1],[S]:[0,1],[T]:[0,1],[v]:[0,5],[L]:[1,2],[y]:[0,2],[R]:[1,3]},(([e,t],s)=>{P(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](...H(e,0,t),((s,...n)=>e[t](k,...n)))})),ee(k)})),qe=Ae((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>M(e)?void 0:e+s)),[w,L,S]=ze((()=>y)),T=(e,t,s)=>x(u(e),(([n,,a])=>{if(!le(a,t)){const o=Me();if(d(e)!=R(e))xe(o,t);else{let e=t;for(;!M(e)&&!le(o,e);)xe(o,e),e=we(n,e)}if(s)return o;Se(a,t,o)}return we(a,t)})),v=(e,t)=>x(u(e),(([,,e])=>Se(e,t))),R=e=>we(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Se(t,e,r),h(e,s,((t,s)=>{const r=Me(),l=Me(),i=Me(),[c,d]=u(e);ue(s,(([t,s],n)=>{M(t)||(xe(l,t),x(we(d,t),(e=>{he(e,n),ie(e)&&Se(d,t)}))),M(s)||(xe(l,s),le(d,s)||Se(d,s,Me()),xe(we(d,s),n)),xe(r,n),Se(c,n,s),Le(we(o,e),(t=>{le(T(e,t),n)&&xe(i,t)}))})),t(),ue(r,(t=>L(n,[e,t]))),ue(l,(t=>L(a,[e,t]))),ue(i,(t=>{v(e,t),L(o,[e,t])}))}),Je(l)),y),delRelationshipDefinition:e=>(Se(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)=>ce(we(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(u(e))?[t]:ce(T(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>w(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),w(s,o,[e,t])),delListener:e=>(v(...S(e)),y),destroy:f,getListenerStats:()=>({})};return ee(y)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=e=>JSON.stringify(e,((e,t)=>k(t,Map)?Y.fromEntries([...t]):t)),Ye=JSON.parse,Ze=(e,t,s)=>M(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),_e=(e,t,s)=>Se(e,t,we(e,t)==-s?void 0:s),et=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),v=ge(),V=ge(),m=ge(),E=ge(),k=ge(),A=ge(),F=ge(),z=ge(),j=ge(),W=ge(),$=ge(),q=Me(),G=ge(),U=ge(),X=ge(),Y=ge(),Z=He(),_=He(),te=He(),ce=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),Oe=He(),Pe=He(),Be=He(),We=He(),$e=He(),qe=ge(),tt=He(),[st,nt,at,ot]=ze((()=>vs)),rt=e=>{if(!Ze(e,((e,t)=>Q([l,i],t))))return!1;const t=e[l];return!(!D(t)&&t!=o||(me(e[i])!=t&&ne(e,i),0))},lt=(t,s)=>(!e||le(z,s)||zt(s))&&Ze(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>Ze(n?s:ht(s,e,t),((n,a)=>x(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?x(we(we(z,t),n),(e=>me(a)!=e[l]?zt(t,s,n,a,e[i]):a),(()=>zt(t,s,n,a))):M(me(a))?zt(t,s,n,a):a,dt=(e,t)=>Ze(t?e:gt(e),((t,s)=>x(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?x(we(W,e),(t=>me(s)!=t[l]?Nt(e,s,t[i]):s),(()=>Nt(e,s))):M(me(s))?Nt(e,s):s,ht=(e,t,s)=>(x(we(j,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(ue($,((t,s)=>{se(e,s)||(e[s]=t)})),ue(q,(t=>{se(e,t)||Nt(t)}))),e),ft=e=>ve(z,e,((e,t,s)=>{const n=ge(),a=Me();ve(Te(z,t,ge),s,((e,t,s)=>{Se(e,t,s),x(s[i],(e=>Se(n,t,e)),(()=>xe(a,t)))})),Se(j,t,[n,a])}),((e,t)=>{Se(z,t),Se(j,t)})),wt=e=>ve(W,e,((e,t,s)=>{Se(W,t,s),x(s[i],(e=>Se($,t,e)),(()=>xe(q,t)))}),((e,t)=>{Se(W,t),Se($,t),he(q,t)})),Lt=e=>oe(e)?ds():os(e),St=e=>ve(X,e,((e,t,s)=>Tt(t,s)),((e,t)=>mt(t))),Tt=(e,t)=>ve(Te(X,e,(()=>(xt(e,1),Se(G,e,Qe()),Se(U,e,ge()),ge()))),t,((t,s,n)=>vt(e,t,s,n)),((t,s)=>Et(e,t,s))),vt=(e,t,s,n,a)=>ve(Te(t,s,(()=>(Dt(e,s,1),ge()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,o)=>kt(e,t,s,n,o,a))),Rt=(e,t,s,n,a)=>{le(s,n)||Jt(e,t,n,1);const o=we(s,n);a!==o&&(At(e,t,n,o,a),Se(s,n,a))},yt=(e,t,s,n,a)=>x(we(t,s),(t=>Rt(e,s,t,n,a)),(()=>vt(e,t,s,ht({[n]:a},e,s)))),It=e=>oe(e)?gs():rs(e),Ct=e=>ve(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{le(Y,e)||Ft(e,1);const s=we(Y,e);t!==s&&(Qt(e,s,t),Se(Y,e,t))},bt=(e,t)=>{const[s]=we(G,e),n=s(t);return le(we(X,e),n)?bt(e,t):n},Vt=e=>we(X,e)??Tt(e,{}),mt=e=>Tt(e,{}),Et=(e,t,s)=>{const[,n]=we(G,e);n(s),vt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=we(we(j,e)?.[0],a);if(!M(r)&&!o)return Rt(e,s,n,a,r);const l=t=>{At(e,s,t,we(n,t)),Jt(e,s,t,-1),Se(n,t)};M(r)?l(a):Le(n,l),ie(n)&&(Dt(e,s,-1),ie(Se(t,s))&&(xt(e,-1),Se(X,e),Se(G,e),Se(U,e)))},Mt=e=>{const t=we($,e);if(!M(t))return pt(e,t);Qt(e,we(Y,e)),Ft(e,-1),Se(Y,e)},xt=(e,t)=>_e(r,e,t),Dt=(e,t,s)=>_e(Te(v,e,ge),t,s)&&Se(h,e,Te(h,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=we(U,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&_e(Te(d,e,ge),s,n),Se(a,s,o!=-n?o+n:null),_e(Te(Te(V,e,ge),t,ge),s,n)},At=(e,t,s,n,a)=>Te(Te(Te(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>_e(E,e,t),Qt=(e,t,s)=>Te(k,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(K(Te(Te(Te(A,e,ge),t,ge),s,(()=>[])),n),a),Nt=(e,t,s)=>(K(Te(F,e,(()=>[])),t),s),jt=(e,t,s)=>x(we(we(we(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(ts(e,t,s))])),Ot=e=>x(we(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(as(e))])),Pt=e=>ie(A)||ie(Oe[e])?0:ue(e?be(A):A,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>nt(Oe[e],[s,n,a],t))))))),Bt=e=>ie(F)||ie(Pe[e])?0:ue(e?Ce(F):F,((t,s)=>nt(Pe[e],[s],t))),Wt=(e,t,s)=>{if(!ie(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=ie(Je[e]),s=ie(Fe[e])&&ie(ce[e])&&ie(Ve[e])&&ie(De[e])&&t&&ie(_[e]),n=ie(Ne[e])&&ie(Ae[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[Ce(r),pe(d),Ce(h),pe(v),be(V),be(m)]:[r,d,h,v,V,m];if(!s){Wt(_[e],a[0]),ue(a[1],((t,s)=>Wt(ce[e],t,[s]))),ue(a[2],((t,s)=>{0!=t&&nt(Ve[e],[s],Yt(s))}));const s=Me();ue(a[3],((n,a)=>{Wt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),xe(s,a))})),t||ue(a[5],((t,n)=>{if(!le(s,n)){const s=Me();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?xe(s,a):he(e,a))))),ue(s,(t=>nt(Je[e],[n,t])))}})),ue(a[4],((t,s)=>ue(t,((t,n)=>Wt(Fe[e],t,[s,n])))))}if(!n){let t;ue(a[5],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(nt(Ne[e],[n,o,i],l,s,jt),t=a=r=1)})),r&&nt(Ae[e],[n,o],jt)})),a&&nt(te[e],[n],jt)})),t&&nt(Z[e],void 0,jt)}}},qt=e=>{const t=ie(We[e]),s=ie($e[e])&&ie(Be[e]);if(!t||!s){const n=e?[Ce(E),Ce(k)]:[E,k];if(t||Wt(We[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Ot),t=1)})),t&&nt(Be[e],void 0,Ot)}}},Gt=(e,...t)=>(Ls((()=>e(...B(t,b)))),vs),Ht=()=>[Re(m,((e,t)=>-1===we(r,t)?null:Re(e,((e,s)=>-1===we(we(v,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ue(t)))),oe)),oe),Re(k,(([,e])=>e??null),((e,t)=>Ue(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Ie(m,Ke,Ue),invalidCells:Ie(A),changedValues:Re(k,Ke,Ue),invalidValues:Re(F),changedTableIds:Re(r),changedRowIds:ye(v),changedCellIds:Ie(V),changedValueIds:Re(E)}),Ut=()=>Ie(X),Xt=()=>fe(X),Yt=e=>re(we(X,b(e))),Zt=e=>fe(we(X,b(e))),_t=(e,t,s,n=0,a)=>{return B(H(O((o=we(X,b(e)),r=(e,s)=>[M(t)?s:we(e,b(t)),s],B([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>fe(we(we(X,b(e)),b(t))),ts=(e,t,s)=>we(we(we(X,b(e)),b(t)),b(s)),ss=()=>Re(Y),ns=()=>fe(Y),as=e=>we(Y,b(e)),os=e=>Gt((()=>(e=>Ze(e,lt,zt))(e)?St(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),ls=e=>{try{Lt(Ye(e))}catch{}return vs},is=t=>Gt((()=>{if((e=Ze(t,(e=>Ze(e,rt))))&&(ft(t),!ie(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>Ze(e,rt))(e)){const s=ss();ws(),gs(),t=!0,wt(e),rs(s)}})),ds=()=>Gt((()=>St({}))),us=e=>Gt((e=>le(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>x(we(X,e),(s=>le(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),ws=()=>Gt((()=>{wt({}),t=!1})),Ls=(e,t)=>{if(-1!=a){Ss();const s=e();return Ts(t),s}},Ss=()=>(-1!=a&&a++,1==a&&nt(qe,void 0,Ht,Kt),vs),Ts=e=>(a>0&&(a--,0==a&&(s=!ie(m),n=!ie(k),a=1,Pt(1),s&&$t(1),Bt(1),n&&qt(1),e?.(Ht,Kt)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(vs,t,s,n,e))))))),ue(k,(([e],t)=>ke(vs,t,e))),s=n=!1),nt(tt[0],void 0,Ht,Kt),a=-1,Pt(0),s&&$t(0),Bt(0),n&&qt(0),nt(tt[1],void 0,Ht,Kt),a=0,s=n=!1,P([r,d,h,v,V,m,A,E,k,F],de))),vs),vs={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ye(we(X,b(e))),getTableCellIds:e=>fe(we(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(we(we(X,b(e)),b(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!ie(X),hasTable:e=>le(X,b(e)),hasTableCell:(e,t)=>le(we(U,b(e)),b(t)),hasRow:(e,t)=>le(we(X,b(e)),b(t)),hasCell:(e,t,s)=>le(we(we(X,b(e)),b(t)),b(s)),hasValues:()=>!ie(Y),hasValue:e=>le(Y,b(e)),getTablesJson:()=>Xe(X),getValuesJson:()=>Xe(Y),getJson:()=>Xe([X,Y]),getTablesSchemaJson:()=>Xe(z),getValuesSchemaJson:()=>Xe(W),getSchemaJson:()=>Xe([z,W]),setContent:([e,t])=>Gt((()=>{(oe(e)?ds:os)(e),(oe(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?Tt(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?vt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return it(e,n,t)&&(e=b(e),vt(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ae(s,((s,a)=>yt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>x(ct(e,t,s,J(n)?n(ts(e,t,s)):n),(n=>yt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ae(e,((e,t)=>pt(t,e))):0)),setValue:(e,t)=>Gt((e=>x(ut(e,J(t)?t(as(e)):t),(t=>pt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ae(e[0],((e,t)=>M(e)?us(t):ae(e,((e,s)=>M(e)?hs(t,s):ae(e,((e,n)=>Ee(vs,t,s,n,e))))))),ae(e[1],((e,t)=>ke(vs,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{It(Ye(e))}catch{}return vs},setJson:e=>{try{const[t,s]=Ye(e);Lt(t),It(s)}catch{ls(e)}return vs},setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>x(we(X,e),(a=>x(we(a,t),(o=>le(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>le(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:ws,delSchema:()=>Gt((()=>{fs(),ws()})),transaction:Ls,startTransaction:Ss,finishTransaction:Ts,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(we(U,b(e)),t),forEachRow:(e,t)=>ue(we(X,b(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(we(we(X,b(e)),b(t)),s),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return st((()=>{const r=_t(e,t,s,n,a);N(r,l)||(l=r,o(vs,e,t,s,n,a,l))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>st(e,qe),addWillFinishTransactionListener:e=>st(e,tt[0]),addDidFinishTransactionListener:e=>st(e,tt[1]),callListener:e=>(ot(e),vs),delListener:e=>(at(e),vs),getListenerStats:()=>({}),createStore:et};return ae({[f]:[0,Z],[w]:[0,_],[g]:[1,te,[Xt]],[g+y]:[1,ce,[Xt]],[S]:[1,Ve,[Xt]],[T]:[1,De,[Xt]],[L]:[2,Ae,[Xt,Zt]],[y]:[2,Fe,[Xt,Zt]],[R]:[3,Ne,[Xt,Zt,es],e=>Ge(ts(...e))],InvalidCell:[3,Oe],[C]:[0,Be],[p]:[0,We],[I]:[1,$e,[ns],e=>Ge(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{vs[u+a+c]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?H(a,0,e):void 0,s,n)})),ee(vs)};e.createCheckpoints=Ne,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();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(x(o,e.delListener),g),schedule:async(...e)=>(K(u,...e),await(async()=>{if(!c){for(c=1;!M(r=X(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=$e,e.createRelationships=qe,e.createStore=et,e.defaultSorter=je},"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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e,t;e=this,t=function(e,t,l){"use strict";const a=e=>typeof e,s="",n=a(s),o=a(!0),r=a(0),i=a(a),d="type",u="default",c="Ids",h="Table",m=h+"s",g=h+c,b="Row",w=b+"Count",f=b+c,p="Cell",C=p+c,v="Value",I=v+"s",y=v+c,T="currentTarget",V="value",k=e=>s+e,S=isFinite,R=(e,t)=>e instanceof t,x=e=>null==e,N=(e,t,l)=>x(e)?l?.():t(e),E=e=>e==n||e==o,L=e=>a(e)==i,z=e=>Array.isArray(e),q=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),A=e=>e.length,J=(e,t,l)=>e.slice(t,l),M=(e,...t)=>e.push(...t),F=e=>e.shift(),O=Object,P=O.keys,B=O.isFrozen,D=O.freeze,H=e=>R(e,O)&&e.constructor==O,j=(e=[])=>O.fromEntries(e),U=(e,t)=>!x(((e,t)=>N(e,(e=>e[t])))(e,t)),W=(e,t)=>(delete e[t],e),G=(e,t)=>$(O.entries(e),(([e,l])=>t(l,e))),K=e=>H(e)&&0==(e=>A(P(e)))(e),Q=e=>JSON.stringify(e,((e,t)=>R(t,Map)?O.fromEntries([...t]):t)),X=JSON.parse,Y="tinybaseStoreInspector",Z="TinyBase Store Inspector",_=["left","top","bottom","right","full"],ee="state",te="sort",le="open",ae="position",se=le,ne=(...e)=>Q(e),oe='content:url("',re=oe+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white'>",ie='</svg>")',de=oe+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",ue=$([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>re+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+ie)),ce=re+"<path d='M20 20l60 60M20 80l60-60' />"+ie,he=((e,t="")=>e.join(t))(G({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",img:"width:1rem;height:1rem;background:#111;border:0",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+de,...j($(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...j($(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":de,"header>img:nth-of-type(6)":ce,...j($(ue,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto",details:"margin-left:0.75rem;width:fit-content;",summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${Y} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left"},((e,t)=>e?`#${Y} ${t}{${e}}`:""))),{createElement:me}=l,ge=(e,...t)=>x(e)?{}:e(...t),be=({s:e})=>{const l=t.useValue(ae,e)??1,a=t.useSetValueCallback(se,(()=>!0),[],e);return t.useValue(se,e)?null:me("img",{onClick:a,title:Z,"data-position":l})},we=e=>{const t=a(e);return E(t)||t==r&&S(e)?t:void 0},fe=(e,t,l,a,s)=>x(s)?e.delCell(t,l,a,!0):e.setCell(t,l,a,s),pe=(e,t,l)=>x(l)?e.delValue(t):e.setValue(t,l),Ce=(e,t,l,a)=>e==n?t:e==r?l:a,{useCallback:ve,useMemo:Ie,useState:ye}=l,Te="editable",Ve=(e,t,l)=>{const a=ve(e,t);return l?a:void 0},ke=(e,t=!1,l,a=0,s,n,o,r)=>{const[[i,d,u],c]=ye([e,t,a]),h=ve((e=>{c(e),r?.(e)}),[r]),m=Ve((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),g=ve((e=>h([i,d,e])),[h,i,d]),b=!0===o?qe:o;return[[i,d,u],m,Ie((()=>!1===o?null:me(b,{offset:u,limit:s,total:n,onChange:g})),[o,b,u,s,n,g])]},Se=({cellId:e,sort:[t,l],label:a=e??s,onClick:n})=>me("th",{onClick:Ve((()=>n?.(e)),[n,e],n),className:x(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},x(l)||t!=e?null:(l?"↓":"↑")+" ",a),Re=({className:e,headerRow:t,idColumn:l,customCells:s,params:o,rowIds:r})=>{const[i,d,u,c,h,m,g]=o,b=c(...d),w=Ie((()=>{const e=s??b;return j(G(z(e)?j($(e,(e=>[e,e]))):e,((e,t)=>{return[t,{label:t,...(l=e,a(l)==n?{label:e}:e)}];var l})))}),[s,b]);return me("table",{className:e},g?me("caption",null,g):null,!1===t?null:me("thead",null,me("tr",null,!1===l?null:me(Se,{sort:h??[],label:"Id",onClick:m}),G(w,(({label:e},t)=>me(Se,{key:t,cellId:t,label:e,sort:h??[],onClick:m}))))),me("tbody",null,$(r,(e=>me("tr",{key:e},!1===l?null:me("th",null,e),G(w,(({component:t=u,getComponentProps:l},a)=>me("td",{key:a},me(t,{...ge(l,e,a),...i,rowId:e,cellId:a})))))))))},xe=({thing:e,onThingChange:t,className:l})=>{const[a,s]=ye(),[i,d]=ye(),[u,c]=ye(),[h,m]=ye(),[g,b]=ye();i!==e&&(s(we(e)),d(e),c(e+""),m(Number(e)||0),b(!!e));const w=ve(((e,l)=>{l(e),d(e),t(e)}),[t]);return me("div",{className:l},me("button",{className:a,onClick:ve((()=>{const e=Ce(a,r,o,n),l=Ce(e,u,h,g);s(e),d(l),t(l)}),[t,u,h,g,a])},a),Ce(a,me("input",{key:a,value:u,onChange:ve((e=>w(e[T][V]+"",c)),[w])}),me("input",{key:a,type:"number",value:h,onChange:ve((e=>w(Number(e[T][V]||0),m)),[w])}),me("input",{key:a,type:"checkbox",checked:g,onChange:ve((e=>w(!!e[T].checked,b)),[w])})))},Ne=({tableId:e,cellId:l,descending:a,offset:s,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,...c})=>{const[h,m,g]=ke(l,a,i,s,n,t.useRowCount(e,o),d,u);return me(Re,{...c,params:Ie((()=>[{tableId:e,store:o},[e,o],r?Le:t.CellView,t.useTableCellIds,h,m,g]),[o,e,r,h,m,g]),rowIds:t.useSortedRowIds(e,...h,n,o)})},Ee=({store:e,editable:l=!1,valueComponent:a=(l?ze:t.ValueView),getValueComponentProps:s,className:n,headerRow:o,idColumn:r})=>me("table",{className:n},!1===o?null:me("thead",null,me("tr",null,!1===r?null:me("th",null,"Id"),me("th",null,v))),me("tbody",null,$(t.useValueIds(e),(t=>me("tr",{key:t},!1===r?null:me("th",null,t),me("td",null,me(a,{...ge(s,t),valueId:t,store:e}))))))),Le=({tableId:e,rowId:l,cellId:a,store:s,className:n})=>me(xe,{thing:t.useCell(e,l,a,s),onThingChange:t.useSetCellCallback(e,l,a,(e=>e),[],s),className:n??Te+p}),ze=({valueId:e,store:l,className:a})=>me(xe,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:a??Te+v}),qe=({onChange:e,total:t,offset:a=0,limit:s=t,singular:n="row",plural:o=n+"s"})=>{(a>t||a<0)&&(a=0,e(0));const r=Ve((()=>e(a-s)),[e,a,s],a>0),i=Ve((()=>e(a+s)),[e,a,s],a+s<t);return me(l.Fragment,null,t>s&&me(l.Fragment,null,me("button",{className:"previous",disabled:0==a,onClick:r},"←"),me("button",{className:"next",disabled:a+s>=t,onClick:i},"→"),a+1," to ",Math.min(t,a+s)," of "),t," ",1!=t?o:n)},$e=({uniqueId:e,summary:a,children:s,s:n})=>{const o=!!t.useCell(ee,e,le,n),r=t.useSetCellCallback(ee,e,le,(e=>e[T].open),[],n);return l.createElement("details",{open:o,onToggle:r},l.createElement("summary",null,a),s)},Ae=({tableId:e,store:l,storeId:a,s:s})=>{const n=ne("t",a,e),[o,r,i]=X(t.useCell(ee,n,te,s)??"[]"),d=t.useSetCellCallback(ee,n,te,Q,[],s);return me($e,{uniqueId:n,summary:h+": "+e,s:s},me(Ne,{tableId:e,store:l,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},Je=({store:e,storeId:l,s:a})=>{return s=t.useValueIds(e),0==A(s)?null:me($e,{uniqueId:ne("v",l),summary:I,s:a},me(Ee,{store:e}));var s},Me=({storeId:e,s:l})=>{const a=t.useStore(e),s=t.useTableIds(a);return x(a)?null:me($e,{uniqueId:ne("s",e),summary:"Store: "+(e??u),s:l},me(Je,{storeId:e,store:a,s:l}),$(s,(t=>me(Ae,{storeId:e,tableId:t,store:a,s:l}))))},Fe=e=>me("article",null,me(Me,{...e}),$(t.useStoreIds(),(t=>me(Me,{storeId:t,key:t,...e})))),Oe=({s:e})=>{const l=t.useValue(ae,e)??1,a=t.useSetValueCallback(se,(()=>!1),[],e),s=t.useSetValueCallback(ae,(e=>Number(e[T].dataset.id)),[],e);return me("header",null,me("img",{title:Z}),me("span",null,Z),$(_,((e,t)=>t==l?null:me("img",{onClick:s,"data-id":t,title:"Dock to "+e,key:t}))),me("img",{onClick:a,title:"Close"}))},Pe=({s:e})=>{const l=t.useValue(ae,e)??1;return t.useValue(se,e)?me("main",{"data-position":l},me(Oe,{s:e}),me(Fe,{s:e})):null},Be="storage",De=globalThis.window,He=(e,t)=>((e,t,l)=>((e,a,s,n,o)=>{let r,i,d,u=0,c=0,h=0,m=0,g=0;const b=[],w=async e=>(2!=u&&(u=1,c++,await f.schedule((async()=>{await e(),u=0}))),f),f={load:async(t,l)=>await w((async()=>{try{e.setContent(await a())}catch{e.setContent([t,l])}})),startAutoLoad:async(s={},n={})=>(f.stopAutoLoad(),await f.load(s,n),g=1,d=(e=>{const a=a=>{a.storageArea===l&&a.key===t&&e((()=>X(a.newValue)))};return De.addEventListener(Be,a),a})((async(t,l)=>await w((async()=>{if(l)e.setTransactionChanges(l());else try{e.setContent(t?.()??await a())}catch{}})))),f),stopAutoLoad:()=>{return g&&(e=d,De.removeEventListener(Be,e),d=void 0,g=0),f;var e},save:async a=>(1!=u&&(u=2,h++,await f.schedule((async()=>{try{await(async e=>l.setItem(t,Q(e())))(e.getContent)}catch{}u=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,t)=>{const[l,a]=t();K(l)&&K(a)||f.save((()=>[l,a]))})),f),stopAutoSave:()=>(N(r,e.delListener),f),schedule:async(...e)=>(M(b,...e),await(async()=>{if(!m){for(m=1;!x(i=F(b));)try{await i()}catch{}m=0}})(),f),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return D(f)})(e,(async()=>X(l.getItem(t)))))(e,t,sessionStorage),je=e=>t=>{return l=(t,l)=>t+e(l),Ye(t).reduce(l,0);var l},Ue=e=>e?.size??0,We=je(Ue),Ge=je(We),Ke=je(Ge),Qe=(e,t)=>e?.has(t)??!1,Xe=e=>x(e)||0==Ue(e),Ye=e=>[...e?.values()??[]],Ze=e=>e.clear(),_e=(e,t)=>e?.forEach(t),et=(e,t)=>e?.delete(t),tt=e=>new Map(e),lt=e=>[...e?.keys()??[]],at=(e,t)=>e?.get(t),st=(e,t)=>_e(e,((e,l)=>t(l,e))),nt=(e,t,l)=>x(l)?(et(e,t),e):e?.set(t,l),ot=(e,t,l)=>(Qe(e,t)||nt(e,t,l()),at(e,t)),rt=(e,t,l,a=nt)=>(G(t,((t,a)=>l(e,a,t))),st(e,(l=>U(t,l)?0:a(e,l))),e),it=(e,t,l)=>{const a={};return _e(e,((e,s)=>{const n=t?t(e,s):e;!l?.(n,e)&&(a[s]=n)})),a},dt=(e,t,l)=>it(e,(e=>it(e,t,l)),K),ut=(e,t,l)=>it(e,(e=>dt(e,t,l)),K),ct=(e,t)=>{const l=tt();return _e(e,((e,a)=>l.set(a,t?.(e)??e))),l},ht=e=>ct(e,ct),mt=e=>ct(e,ht),gt=(e,t,l,a,s=0)=>N((l?ot:at)(e,t[s],s>A(t)-2?l:tt),(n=>{if(s>A(t)-2)return a?.(n)&&nt(e,t[s]),n;const o=gt(n,t,l,a,s+1);return Xe(n)&&nt(e,t[s]),o})),bt=e=>new Set(z(e)||x(e)?e:[e]),wt=(e,t)=>e?.add(t),ft=/^\d+$/,pt=()=>{const e=[];let t=0;return[l=>(l?F(e):null)??s+t++,t=>{ft.test(t)&&A(e)<1e3&&M(e,t)}]},Ct=e=>[e,e],vt=(e,t=We)=>t(e[0])+t(e[1]),It=()=>[tt(),tt()],yt=e=>[...e],Tt=([e,t])=>e===t,Vt=(e,t,l)=>x(e)||!H(e)||K(e)||B(e)?(l?.(),!1):(G(e,((l,a)=>{t(l,a)||W(e,a)})),!K(e)),kt=(e,t,l)=>nt(e,t,at(e,t)==-l?void 0:l),St=()=>{let e,t,l=!1,a=!1,n=0;const o=tt(),i=tt(),c=tt(),T=tt(),V=tt(),S=tt(),R=tt(),z=tt(),F=tt(),O=tt(),P=tt(),B=tt(),H=tt(),j=tt(),Y=bt(),Z=tt(),_=tt(),ee=tt(),te=tt(),le=It(),ae=It(),se=It(),ne=It(),oe=It(),re=It(),ie=It(),de=It(),ue=It(),ce=It(),he=It(),me=It(),ge=It(),be=It(),Ce=It(),ve=tt(),Ie=It(),[ye,Te,Ve,ke]=(e=>{let t;const[l,a]=pt(),n=tt();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Cl;const d=l(1);return nt(n,d,[e,a,o,r,i]),wt(gt(a,o??[s],bt),d),d},(e,l,...a)=>q(((e,t=[s])=>{const l=[],a=(e,s)=>s==A(t)?M(l,e):null===t[s]?_e(e,(e=>a(e,s+1))):q([t[s],null],(t=>a(at(e,t),s+1)));return a(e,0),l})(e,l),(e=>_e(e,(e=>at(n,e)[0](t,...l??[],...a))))),e=>N(at(n,e),(([,t,l])=>(gt(t,l??[s],void 0,(t=>(et(t,e),Xe(t)?1:0))),nt(n,e),a(e),l))),e=>N(at(n,e),(([e,,l=[],a,s])=>{const n=(...o)=>{const r=A(o);r==A(l)?e(t,...o,...s(o)):x(l[r])?q(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,l[r])};n()}))]})(),Se=e=>{if(!Vt(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!E(t)&&t!=r||(we(e[u])!=t&&W(e,u),0))},Re=(t,l)=>(!e||Qe(P,l)||Mt(l))&&Vt(t,((e,t)=>xe(l,t,e)),(()=>Mt(l))),xe=(e,t,l,a)=>Vt(a?l:ze(l,e,t),((a,s)=>N(Ne(e,t,s,a),(e=>(l[s]=e,!0)),(()=>!1))),(()=>Mt(e,t))),Ne=(t,l,a,s)=>e?N(at(at(P,t),a),(e=>we(s)!=e[d]?Mt(t,l,a,s,e[u]):s),(()=>Mt(t,l,a,s))):x(we(s))?Mt(t,l,a,s):s,Ee=(e,t)=>Vt(t?e:qe(e),((t,l)=>N(Le(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>Ft())),Le=(e,l)=>t?N(at(H,e),(t=>we(l)!=t[d]?Ft(e,l,t[u]):l),(()=>Ft(e,l))):x(we(l))?Ft(e,l):l,ze=(e,t,l)=>(N(at(B,t),(([a,s])=>{_e(a,((t,l)=>{U(e,l)||(e[l]=t)})),_e(s,(a=>{U(e,a)||Mt(t,l,a)}))})),e),qe=e=>(t&&(_e(j,((t,l)=>{U(e,l)||(e[l]=t)})),_e(Y,(t=>{U(e,t)||Ft(t)}))),e),$e=e=>rt(P,e,((e,t,l)=>{const a=tt(),s=bt();rt(ot(P,t,tt),l,((e,t,l)=>{nt(e,t,l),N(l[u],(e=>nt(a,t,e)),(()=>wt(s,t)))})),nt(B,t,[a,s])}),((e,t)=>{nt(P,t),nt(B,t)})),Ae=e=>rt(H,e,((e,t,l)=>{nt(H,t,l),N(l[u],(e=>nt(j,t,e)),(()=>wt(Y,t)))}),((e,t)=>{nt(H,t),nt(j,t),et(Y,t)})),Je=e=>K(e)?ul():nl(e),Me=e=>rt(ee,e,((e,t,l)=>Fe(t,l)),((e,t)=>Rt(t))),Fe=(e,t)=>rt(ot(ee,e,(()=>(Lt(e,1),nt(Z,e,pt()),nt(_,e,tt()),tt()))),t,((t,l,a)=>Oe(e,t,l,a)),((t,l)=>xt(e,t,l))),Oe=(e,t,l,a,s)=>rt(ot(t,l,(()=>(zt(e,l,1),tt()))),a,((t,a,s)=>Pe(e,l,t,a,s)),((a,n)=>Nt(e,t,l,a,n,s))),Pe=(e,t,l,a,s)=>{Qe(l,a)||qt(e,t,a,1);const n=at(l,a);s!==n&&($t(e,t,a,n,s),nt(l,a,s))},Be=(e,t,l,a,s)=>N(at(t,l),(t=>Pe(e,l,t,a,s)),(()=>Oe(e,t,l,ze({[a]:s},e,l)))),De=e=>K(e)?ml():ol(e),He=e=>rt(te,e,((e,t,l)=>je(t,l)),((e,t)=>Et(t))),je=(e,t)=>{Qe(te,e)||At(e,1);const l=at(te,e);t!==l&&(Jt(e,l,t),nt(te,e,t))},Ye=(e,t)=>{const[l]=at(Z,e),a=l(t);return Qe(at(ee,e),a)?Ye(e,t):a},ft=e=>at(ee,e)??Fe(e,{}),Rt=e=>Fe(e,{}),xt=(e,t,l)=>{const[,a]=at(Z,e);a(l),Oe(e,t,l,{},!0)},Nt=(e,t,l,a,s,n)=>{const o=at(at(B,e)?.[0],s);if(!x(o)&&!n)return Pe(e,l,a,s,o);const r=t=>{$t(e,l,t,at(a,t)),qt(e,l,t,-1),nt(a,t)};x(o)?r(s):st(a,r),Xe(a)&&(zt(e,l,-1),Xe(nt(t,l))&&(Lt(e,-1),nt(ee,e),nt(Z,e),nt(_,e)))},Et=e=>{const t=at(j,e);if(!x(t))return je(e,t);Jt(e,at(te,e)),At(e,-1),nt(te,e)},Lt=(e,t)=>kt(o,e,t),zt=(e,t,l)=>kt(ot(T,e,tt),t,l)&&nt(c,e,ot(c,e,(()=>0))+l),qt=(e,t,l,a)=>{const s=at(_,e),n=at(s,l)??0;(0==n&&1==a||1==n&&-1==a)&&kt(ot(i,e,tt),l,a),nt(s,l,n!=-a?n+a:null),kt(ot(ot(V,e,tt),t,tt),l,a)},$t=(e,t,l,a,s)=>ot(ot(ot(S,e,tt),t,tt),l,(()=>[a,0]))[1]=s,At=(e,t)=>kt(R,e,t),Jt=(e,t,l)=>ot(z,e,(()=>[t,0]))[1]=l,Mt=(e,t,l,a,s)=>(M(ot(ot(ot(F,e,tt),t,tt),l,(()=>[])),a),s),Ft=(e,t,l)=>(M(ot(O,e,(()=>[])),t),l),Ot=(e,t,l)=>N(at(at(at(S,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...Ct(tl(e,t,l))])),Pt=e=>N(at(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ct(sl(e))])),Bt=e=>Xe(F)||Xe(he[e])?0:_e(e?mt(F):F,((t,l)=>_e(t,((t,a)=>_e(t,((t,s)=>Te(he[e],[l,a,s],t))))))),Dt=e=>Xe(O)||Xe(me[e])?0:_e(e?ct(O):O,((t,l)=>Te(me[e],[l],t))),Ht=(e,t,l)=>{if(!Xe(t))return Te(e,l,(()=>it(t))),1},jt=e=>{const t=Xe(ie[e]),l=Xe(ue[e])&&Xe(ne[e])&&Xe(oe[e])&&Xe(re[e])&&t&&Xe(ae[e]),a=Xe(ce[e])&&Xe(de[e])&&Xe(se[e])&&Xe(le[e]);if(!l||!a){const s=e?[ct(o),ht(i),ct(c),ht(T),mt(V),mt(S)]:[o,i,c,T,V,S];if(!l){Ht(ae[e],s[0]),_e(s[1],((t,l)=>Ht(ne[e],t,[l]))),_e(s[2],((t,l)=>{0!=t&&Te(oe[e],[l],Yt(l))}));const l=bt();_e(s[3],((a,s)=>{Ht(re[e],a,[s])&&!t&&(Te(ie[e],[s,null]),wt(l,s))})),t||_e(s[5],((t,a)=>{if(!Qe(l,a)){const l=bt();_e(t,(e=>_e(e,(([t,a],s)=>a!==t?wt(l,s):et(e,s))))),_e(l,(t=>Te(ie[e],[a,t])))}})),_e(s[4],((t,l)=>_e(t,((t,a)=>Ht(ue[e],t,[l,a])))))}if(!a){let t;_e(s[5],((l,a)=>{let s;_e(l,((l,n)=>{let o;_e(l,(([l,r],i)=>{r!==l&&(Te(ce[e],[a,n,i],r,l,Ot),t=s=o=1)})),o&&Te(de[e],[a,n],Ot)})),s&&Te(se[e],[a],Ot)})),t&&Te(le[e],void 0,Ot)}}},Ut=e=>{const t=Xe(be[e]),l=Xe(Ce[e])&&Xe(ge[e]);if(!t||!l){const a=e?[ct(R),ct(z)]:[R,z];if(t||Ht(be[e],a[0]),!l){let t;_e(a[1],(([l,a],s)=>{a!==l&&(Te(Ce[e],[s],a,l,Pt),t=1)})),t&&Te(ge[e],void 0,Pt)}}},Wt=(e,...t)=>(wl((()=>e(...$(t,k)))),Cl),Gt=()=>[it(S,((e,t)=>-1===at(o,t)?null:it(e,((e,l)=>-1===at(at(T,t),l)?null:it(e,(([,e])=>e??null),((e,t)=>Tt(t)))),K)),K),it(z,(([,e])=>e??null),((e,t)=>Tt(t)))],Kt=()=>({cellsTouched:l,valuesTouched:a,changedCells:ut(S,yt,Tt),invalidCells:ut(F),changedValues:it(z,yt,Tt),invalidValues:it(O),changedTableIds:it(o),changedRowIds:dt(T),changedCellIds:ut(V),changedValueIds:it(R)}),Qt=()=>ut(ee),Xt=()=>lt(ee),Yt=e=>Ue(at(ee,k(e))),Zt=e=>lt(at(ee,k(e))),_t=(e,t,l,a=0,s)=>{return $(J((o=at(ee,k(e)),r=(e,l)=>[x(t)?l:at(e,k(t)),l],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(l?-1:1),$([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,x(s)?s:a+s),(([,e])=>e));var n,o,r},el=(e,t)=>lt(at(at(ee,k(e)),k(t))),tl=(e,t,l)=>at(at(at(ee,k(e)),k(t)),k(l)),ll=()=>it(te),al=()=>lt(te),sl=e=>at(te,k(e)),nl=e=>Wt((()=>(e=>Vt(e,Re,Mt))(e)?Me(e):0)),ol=e=>Wt((()=>Ee(e)?He(e):0)),rl=e=>{try{Je(X(e))}catch{}return Cl},il=t=>Wt((()=>{if((e=Vt(t,(e=>Vt(e,Se))))&&($e(t),!Xe(ee))){const e=Qt();ul(),nl(e)}})),dl=e=>Wt((()=>{if(t=(e=>Vt(e,Se))(e)){const l=ll();bl(),ml(),t=!0,Ae(e),ol(l)}})),ul=()=>Wt((()=>Me({}))),cl=e=>Wt((e=>Qe(ee,e)?Rt(e):0),e),hl=(e,t)=>Wt(((e,t)=>N(at(ee,e),(l=>Qe(l,t)?xt(e,l,t):0))),e,t),ml=()=>Wt((()=>He({}))),gl=()=>Wt((()=>{$e({}),e=!1})),bl=()=>Wt((()=>{Ae({}),t=!1})),wl=(e,t)=>{if(-1!=n){fl();const l=e();return pl(t),l}},fl=()=>(-1!=n&&n++,1==n&&Te(ve,void 0,Gt,Kt),Cl),pl=e=>(n>0&&(n--,0==n&&(l=!Xe(S),a=!Xe(z),n=1,Bt(1),l&&jt(1),Dt(1),a&&Ut(1),e?.(Gt,Kt)&&(_e(S,((e,t)=>_e(e,((e,l)=>_e(e,(([e],a)=>fe(Cl,t,l,a,e))))))),_e(z,(([e],t)=>pe(Cl,t,e))),l=a=!1),Te(Ie[0],void 0,Gt,Kt),n=-1,Bt(0),l&&jt(0),Dt(0),a&&Ut(0),Te(Ie[1],void 0,Gt,Kt),n=0,l=a=!1,q([o,i,c,T,V,S,F,R,z,O],Ze))),Cl),Cl={getContent:()=>[Qt(),ll()],getTables:Qt,getTableIds:Xt,getTable:e=>dt(at(ee,k(e))),getTableCellIds:e=>lt(at(_,k(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>it(at(at(ee,k(e)),k(t))),getCellIds:el,getCell:tl,getValues:ll,getValueIds:al,getValue:sl,hasTables:()=>!Xe(ee),hasTable:e=>Qe(ee,k(e)),hasTableCell:(e,t)=>Qe(at(_,k(e)),k(t)),hasRow:(e,t)=>Qe(at(ee,k(e)),k(t)),hasCell:(e,t,l)=>Qe(at(at(ee,k(e)),k(t)),k(l)),hasValues:()=>!Xe(te),hasValue:e=>Qe(te,k(e)),getTablesJson:()=>Q(ee),getValuesJson:()=>Q(te),getJson:()=>Q([ee,te]),getTablesSchemaJson:()=>Q(P),getValuesSchemaJson:()=>Q(H),getSchemaJson:()=>Q([P,H]),setContent:([e,t])=>Wt((()=>{(K(e)?ul:nl)(e),(K(t)?ml:ol)(t)})),setTables:nl,setTable:(e,t)=>Wt((e=>Re(t,e)?Fe(e,t):0),e),setRow:(e,t,l)=>Wt(((e,t)=>xe(e,t,l)?Oe(e,ft(e),t,l):0),e,t),addRow:(e,t,l=!0)=>wl((()=>{let a;return xe(e,a,t)&&(e=k(e),Oe(e,ft(e),a=Ye(e,l?1:0),t)),a})),setPartialRow:(e,t,l)=>Wt(((e,t)=>{if(xe(e,t,l,1)){const a=ft(e);G(l,((l,s)=>Be(e,a,t,s,l)))}}),e,t),setCell:(e,t,l,a)=>Wt(((e,t,l)=>N(Ne(e,t,l,L(a)?a(tl(e,t,l)):a),(a=>Be(e,ft(e),t,l,a)))),e,t,l),setValues:ol,setPartialValues:e=>Wt((()=>Ee(e,1)?G(e,((e,t)=>je(t,e))):0)),setValue:(e,t)=>Wt((e=>N(Le(e,L(t)?t(sl(e)):t),(t=>je(e,t)))),e),setTransactionChanges:e=>Wt((()=>{G(e[0],((e,t)=>x(e)?cl(t):G(e,((e,l)=>x(e)?hl(t,l):G(e,((e,a)=>fe(Cl,t,l,a,e))))))),G(e[1],((e,t)=>pe(Cl,t,e)))})),setTablesJson:rl,setValuesJson:e=>{try{De(X(e))}catch{}return Cl},setJson:e=>{try{const[t,l]=X(e);Je(t),De(l)}catch{rl(e)}return Cl},setTablesSchema:il,setValuesSchema:dl,setSchema:(e,t)=>Wt((()=>{il(e),dl(t)})),delTables:ul,delTable:cl,delRow:hl,delCell:(e,t,l,a)=>Wt(((e,t,l)=>N(at(ee,e),(s=>N(at(s,t),(n=>Qe(n,l)?Nt(e,s,t,n,l,a):0))))),e,t,l),delValues:ml,delValue:e=>Wt((e=>Qe(te,e)?Et(e):0),e),delTablesSchema:gl,delValuesSchema:bl,delSchema:()=>Wt((()=>{gl(),bl()})),transaction:wl,startTransaction:fl,finishTransaction:pl,forEachTable:e=>_e(ee,((t,l)=>e(l,(e=>_e(t,((t,l)=>e(l,(e=>st(t,e))))))))),forEachTableCell:(e,t)=>st(at(_,k(e)),t),forEachRow:(e,t)=>_e(at(ee,k(e)),((e,l)=>t(l,(t=>st(e,t))))),forEachCell:(e,t,l)=>st(at(at(ee,k(e)),k(t)),l),forEachValue:e=>st(te,e),addSortedRowIdsListener:(e,t,l,a,s,n,o)=>{let r=_t(e,t,l,a,s);return ye((()=>{const o=_t(e,t,l,a,s);var i,d,u;d=r,A(i=o)===A(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(Cl,e,t,l,a,s,r))}),ie[o?1:0],[e,t],[Xt])},addStartTransactionListener:e=>ye(e,ve),addWillFinishTransactionListener:e=>ye(e,Ie[0]),addDidFinishTransactionListener:e=>ye(e,Ie[1]),callListener:e=>(ke(e),Cl),delListener:e=>(Ve(e),Cl),getListenerStats:()=>({tables:vt(le),tableIds:vt(ae),tableCellIds:vt(ne),table:vt(se),rowCount:vt(oe),rowIds:vt(re),sortedRowIds:vt(ie),row:vt(de,Ge),cellIds:vt(ue,Ge),cell:vt(ce,Ke),invalidCell:vt(he,Ke),values:vt(ge),valueIds:vt(be),value:vt(Ce),invalidValue:vt(me),transaction:We(ve)+vt(Ie)}),createStore:St};return G({[m]:[0,le],[g]:[0,ae],[h]:[1,se,[Xt]],[h+C]:[1,ne,[Xt]],[w]:[1,oe,[Xt]],[f]:[1,re,[Xt]],[b]:[2,de,[Xt,Zt]],[C]:[2,ue,[Xt,Zt]],[p]:[3,ce,[Xt,Zt,el],e=>Ct(tl(...e))],InvalidCell:[3,he],[I]:[0,ge],[y]:[0,be],[v]:[1,Ce,[al],e=>Ct(sl(e[0]))],InvalidValue:[1,me]},(([e,t,l,a],s)=>{Cl["add"+s+"Listener"]=(...s)=>ye(s[e],t[s[e+1]?1:0],e>0?J(s,0,e):void 0,l,a)})),D(Cl)},Rt=({position:e="right",open:a=!1})=>{const s=t.useCreateStore(St),n=_.indexOf(e);return t.useCreatePersister(s,(e=>He(e,Y)),void 0,(async e=>{await e.load(void 0,{position:-1==n?1:n,open:!!a}),await e.startAutoSave()})),me(l.Fragment,null,me("aside",{id:Y},me(be,{s:s}),me(Pe,{s:s})),me("style",null,he))};e.EditableCellView=Le,e.EditableValueView=ze,e.ResultSortedTableInHtmlTable=({queryId:e,cellId:l,descending:a,offset:s,limit:n,queries:o,sortOnClick:r,paginator:i=!1,onChange:d,...u})=>{const[c,h,m]=ke(l,a,r,s,n,t.useResultRowCount(e,o),i,d);return me(Re,{...u,params:Ie((()=>[{queryId:e,queries:o},[e,o],t.ResultCellView,t.useResultTableCellIds,c,h,m]),[e,o,c,h,m]),rowIds:t.useResultSortedRowIds(e,...c,n,o)})},e.ResultTableInHtmlTable=({queryId:e,queries:l,...a})=>me(Re,{...a,params:Ie((()=>[{queryId:e,queries:l},[e,l],t.ResultCellView,t.useResultTableCellIds]),[e,l]),rowIds:t.useResultRowIds(e,l)}),e.SortedTableInHtmlTable=Ne,e.SortedTablePaginator=qe,e.StoreInspector=e=>me(Rt,{...e}),e.TableInHtmlTable=({tableId:e,store:l,editable:a,...s})=>me(Re,{...s,params:Ie((()=>[{tableId:e,store:l},[e,l],a?Le:t.CellView,t.useTableCellIds]),[l,e,a]),rowIds:t.useRowIds(e,l)}),e.ValuesInHtmlTable=Ee},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("./ui-react"),require("react")):"function"==typeof define&&define.amd?define(["exports","./ui-react","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.TinyBaseUiReact,e.React);
|
|
Binary file
|
package/lib/umd/ui-react-dom.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,
|
|
1
|
+
var e,t;e=this,t=function(e,t,l){"use strict";const a=e=>typeof e,o=a(""),n=a(!0),i=a(0),r="Value",s="currentTarget",d="value",u=isFinite,h=e=>null==e,m=(e,t)=>e.map(t),c=Object,g=(e=[])=>c.fromEntries(e),b=(e,t)=>m(c.entries(e),(([e,l])=>t(l,e))),p="tinybaseStoreInspector",w='content:url("',f=w+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white'>",C='</svg>")',I=w+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",v=m([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>f+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+C)),y=f+"<path d='M20 20l60 60M20 80l60-60' />"+C;((e,t="")=>{e.join(t)})(b({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",img:"width:1rem;height:1rem;background:#111;border:0",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+I,...g(m(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...g(m(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":I,"header>img:nth-of-type(6)":y,...g(m(v,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto",details:"margin-left:0.75rem;width:fit-content;",summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${p} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left"},((e,t)=>e?`#${p} ${t}{${e}}`:"")));const{createElement:k}=l,x=(e,...t)=>h(e)?{}:e(...t),T=(e,t,l,a)=>e==o?t:e==i?l:a,{useCallback:R,useMemo:N,useState:V}=l,z="editable",$=(e,t,l)=>{const a=R(e,t);return l?a:void 0},q=(e,t=!1,l,a=0,o,n,i,r)=>{const[[s,d,u],h]=V([e,t,a]),m=R((e=>{h(e),r?.(e)}),[r]),c=$((e=>m([e,e==s&&!d,u])),[m,s,d,u],l),g=R((e=>m([s,d,e])),[m,s,d]),b=!0===i?j:i;return[[s,d,u],c,N((()=>!1===i?null:k(b,{offset:u,limit:o,total:n,onChange:g})),[i,b,u,o,n,g])]},S=({cellId:e,sort:[t,l],label:a=e??"",onClick:o})=>k("th",{onClick:$((()=>o?.(e)),[o,e],o),className:h(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},h(l)||t!=e?null:(l?"↓":"↑")+" ",a),M=({className:e,headerRow:t,idColumn:l,customCells:n,params:i,rowIds:r})=>{const[s,d,u,h,c,p,w]=i,f=h(...d),C=N((()=>{const e=n??f;return g(b(Array.isArray(e)?g(m(e,(e=>[e,e]))):e,((e,t)=>{return[t,{label:t,...(l=e,a(l)==o?{label:e}:e)}];var l})))}),[n,f]);return k("table",{className:e},w?k("caption",null,w):null,!1===t?null:k("thead",null,k("tr",null,!1===l?null:k(S,{sort:c??[],label:"Id",onClick:p}),b(C,(({label:e},t)=>k(S,{key:t,cellId:t,label:e,sort:c??[],onClick:p}))))),k("tbody",null,m(r,(e=>k("tr",{key:e},!1===l?null:k("th",null,e),b(C,(({component:t=u,getComponentProps:l},a)=>k("td",{key:a},k(t,{...x(l,e,a),...s,rowId:e,cellId:a})))))))))},H=({thing:e,onThingChange:t,className:l})=>{const[r,h]=V(),[m,c]=V(),[g,b]=V(),[p,w]=V(),[f,C]=V();m!==e&&(h((e=>{const t=a(e);return(e=>e==o||e==n)(t)||t==i&&u(e)?t:void 0})(e)),c(e),b(e+""),w(Number(e)||0),C(!!e));const I=R(((e,l)=>{l(e),c(e),t(e)}),[t]);return k("div",{className:l},k("button",{className:r,onClick:R((()=>{const e=T(r,i,n,o),l=T(e,g,p,f);h(e),c(l),t(l)}),[t,g,p,f,r])},r),T(r,k("input",{key:r,value:g,onChange:R((e=>I(e[s][d]+"",b)),[I])}),k("input",{key:r,type:"number",value:p,onChange:R((e=>I(Number(e[s][d]||0),w)),[I])}),k("input",{key:r,type:"checkbox",checked:f,onChange:R((e=>I(!!e[s].checked,C)),[I])})))},B=({tableId:e,rowId:l,cellId:a,store:o,className:n})=>k(H,{thing:t.useCell(e,l,a,o),onThingChange:t.useSetCellCallback(e,l,a,(e=>e),[],o),className:n??z+"Cell"}),E=({valueId:e,store:l,className:a})=>k(H,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:a??z+r}),j=({onChange:e,total:t,offset:a=0,limit:o=t,singular:n="row",plural:i=n+"s"})=>{(a>t||a<0)&&(a=0,e(0));const r=$((()=>e(a-o)),[e,a,o],a>0),s=$((()=>e(a+o)),[e,a,o],a+o<t);return k(l.Fragment,null,t>o&&k(l.Fragment,null,k("button",{className:"previous",disabled:0==a,onClick:r},"←"),k("button",{className:"next",disabled:a+o>=t,onClick:s},"→"),a+1," to ",Math.min(t,a+o)," of "),t," ",1!=t?i:n)};e.EditableCellView=B,e.EditableValueView=E,e.ResultSortedTableInHtmlTable=({queryId:e,cellId:l,descending:a,offset:o,limit:n,queries:i,sortOnClick:r,paginator:s=!1,onChange:d,...u})=>{const[h,m,c]=q(l,a,r,o,n,t.useResultRowCount(e,i),s,d);return k(M,{...u,params:N((()=>[{queryId:e,queries:i},[e,i],t.ResultCellView,t.useResultTableCellIds,h,m,c]),[e,i,h,m,c]),rowIds:t.useResultSortedRowIds(e,...h,n,i)})},e.ResultTableInHtmlTable=({queryId:e,queries:l,...a})=>k(M,{...a,params:N((()=>[{queryId:e,queries:l},[e,l],t.ResultCellView,t.useResultTableCellIds]),[e,l]),rowIds:t.useResultRowIds(e,l)}),e.SortedTableInHtmlTable=({tableId:e,cellId:l,descending:a,offset:o,limit:n,store:i,editable:r,sortOnClick:s,paginator:d=!1,onChange:u,...h})=>{const[m,c,g]=q(l,a,s,o,n,t.useRowCount(e,i),d,u);return k(M,{...h,params:N((()=>[{tableId:e,store:i},[e,i],r?B:t.CellView,t.useTableCellIds,m,c,g]),[i,e,r,m,c,g]),rowIds:t.useSortedRowIds(e,...m,n,i)})},e.SortedTablePaginator=j,e.StoreInspector=e=>null,e.TableInHtmlTable=({tableId:e,store:l,editable:a,...o})=>k(M,{...o,params:N((()=>[{tableId:e,store:l},[e,l],a?B:t.CellView,t.useTableCellIds]),[l,e,a]),rowIds:t.useRowIds(e,l)}),e.ValuesInHtmlTable=({store:e,editable:l=!1,valueComponent:a=(l?E:t.ValueView),getValueComponentProps:o,className:n,headerRow:i,idColumn:s})=>k("table",{className:n},!1===i?null:k("thead",null,k("tr",null,!1===s?null:k("th",null,"Id"),k("th",null,r))),k("tbody",null,m(t.useValueIds(e),(t=>k("tr",{key:t},!1===s?null:k("th",null,t),k("td",null,k(a,{...x(o,t),valueId:t,store:e})))))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("./ui-react"),require("react")):"function"==typeof define&&define.amd?define(["exports","./ui-react","react"],t):t((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="",r=t(o),l="Result",u="Ids",d="Table",n=d+"s",i=d+u,a="Row",c=a+"Count",I=a+u,C="Sorted"+a+u,w="Cell",b=w+u,p="Value",R=p+"s",k=p+u,g=e=>null==e,m=(e,s,t)=>g(e)?t?.():s(e),h=e=>t(e)==r,L=()=>{},V=(e,s)=>e.map(s),y=Object.keys,{createContext:S,useContext:T}=s,f=S([]),v=(e,s)=>{const t=T(f);return g(e)?t[s]:h(e)?((e,s)=>m(e,(e=>e[s])))(t[s+1],e):e},x=(e,s)=>{const t=v(e,s);return g(e)||h(e)?t:e},P=e=>y(T(f)[e]),q=e=>x(e,0),B=e=>x(e,2),M=e=>x(e,4),D=e=>x(e,6),A=e=>x(e,8),F=e=>x(e,10),{useCallback:G,useEffect:Q,useMemo:j,useRef:E,useState:U}=s,O=(e,s,t=[])=>{const o=j((()=>s(e)),[e,...t]);return Q((()=>()=>o.destroy()),[o]),o},z=(e,s,t,o=[],r)=>{const[,l]=U(),u=G((()=>s?.["get"+e]?.(...o)??t),[s,...o]),[d]=U(u),n=E(d);return j((()=>n.current=u()),[u]),H(e,s,((...e)=>{n.current=g(r)?u():e[r],l([])}),[],o),n.current},H=(e,s,t,o=[],r=[],...l)=>Q((()=>{const o=s?.["add"+e+"Listener"]?.(...r,t,...l);return()=>s?.delListener(o)}),[s,...r,...o,...l]),J=(e,s,t,o=[],r=L,l=[],...u)=>{const d=q(e);return G((e=>m(d,(o=>m(t(e,o),(e=>r(o["set"+s](...u,e),e)))))),[d,s,...o,...l,...u])},K=(e,s,t=L,o=[],...r)=>{const l=q(e);return G((()=>t(l?.["del"+s](...r))),[l,s,...o,...r])},N=(e,s,t)=>{const o=F(e);return G((()=>o?.[s](t)),[o,s,t])},W=e=>z(i,q(e),[],[]),X=(e,s)=>z(I,q(s),[],[e]),Y=(e,s,t,o=0,r,l)=>z(C,q(l),[],[e,s,t,o,r],6),Z=(e,s,t)=>z(b,q(t),[],[e,s]),$=(e,s,t,o)=>z(w,q(o),void 0,[e,s,t],4),_=e=>z(k,q(e),[],[]),ee=(e,s)=>z(p,q(s),void 0,[e]),se=(e,s)=>z("Metric",B(s),void 0,[e]),te=(e,s)=>z("SliceIds",M(s),[],[e]),oe=(e,s,t)=>z("Slice"+I,M(t),[],[e,s]),re=(e,s,t)=>z("RemoteRowId",D(t),void 0,[e,s]),le=(e,s,t)=>z("Local"+I,D(t),[],[e,s]),ue=(e,s,t)=>z("Linked"+I,D(t),[],[e,s]),de=(e,s)=>z(l+I,A(s),[],[e]),ne=(e,s,t,o=0,r,u)=>z(l+C,A(u),[],[e,s,t,o,r],6),ie=(e,s,t)=>z(l+b,A(t),[],[e,s]),ae=(e,s,t,o)=>z(l+w,A(o),void 0,[e,s,t]),ce=e=>z("CheckpointIds",F(e),[[],void 0,[]]),Ie=(e,s)=>z("Checkpoint",F(s),void 0,[e]),Ce=e=>N(e,"goBackward"),we=e=>N(e,"goForward"),{createElement:be}=s,pe=(e,...s)=>g(e)?{}:e(...s),{useMemo:Re}=s,ke=({tableId:e,store:s,rowComponent:t=Se,getRowComponentProps:o,customCellIds:r,separator:l,debugIds:u},d)=>Ve(V(d,(l=>be(t,{...pe(o,l),key:l,tableId:e,rowId:l,customCellIds:r,store:s,debugIds:u}))),l,u,e),ge=({queryId:e,queries:s,resultRowComponent:t=Pe,getResultRowComponentProps:o,separator:r,debugIds:l},u)=>Ve(V(u,(r=>be(t,{...pe(o,r),key:r,queryId:e,rowId:r,queries:s,debugIds:l}))),r,l,e),me=e=>{const s=D(e);return[s,s?.getStore()]},he=({relationshipId:e,relationships:s,rowComponent:t=Se,getRowComponentProps:o,separator:r,debugIds:l},u,d)=>{const[n,i]=me(s),a=n?.getLocalTableId(e),c=u(e,d,n);return Ve(V(c,(e=>be(t,{...pe(o,e),key:e,tableId:a,rowId:e,store:i,debugIds:l}))),r,l,d)},Le=e=>({checkpoints:s,checkpointComponent:t=qe,getCheckpointComponentProps:o,separator:r,debugIds:l})=>{const u=F(s);return Ve(V(e(ce(u)),(e=>be(t,{...pe(o,e),key:e,checkpoints:u,checkpointId:e,debugIds:l}))),r)},Ve=(e,s,t,o)=>{const r=g(s)||!Array.isArray(e)?e:V(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",r,"}"]:r},ye=({tableId:e,rowId:s,cellId:t,store:r,debugIds:l})=>Ve(o+($(e,s,t,r)??o),void 0,l,t),Se=({tableId:e,rowId:s,store:t,cellComponent:o=ye,getCellComponentProps:r,customCellIds:l,separator:u,debugIds:d})=>Ve(V(((e,s,t,o)=>{const r=Z(s,t,o);return e??r})(l,e,s,t),(l=>be(o,{...pe(r,l),key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:d}))),u,d,s),Te=e=>ke(e,X(e.tableId,e.store)),fe=({valueId:e,store:s,debugIds:t})=>Ve(o+(ee(e,s)??o),void 0,t,e),ve=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Se,getRowComponentProps:r,separator:l,debugIds:u})=>{const d=M(t),n=d?.getStore(),i=d?.getTableId(e),a=oe(e,s,d);return Ve(V(a,(e=>be(o,{...pe(r,e),key:e,tableId:i,rowId:e,store:n,debugIds:u}))),l,u,s)},xe=({queryId:e,rowId:s,cellId:t,queries:r,debugIds:l})=>Ve(o+(ae(e,s,t,r)??o),void 0,l,t),Pe=({queryId:e,rowId:s,queries:t,resultCellComponent:o=xe,getResultCellComponentProps:r,separator:l,debugIds:u})=>Ve(V(ie(e,s,t),(l=>be(o,{...pe(r,l),key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:u}))),l,u,s),qe=({checkpoints:e,checkpointId:s,debugIds:t})=>Ve(Ie(s,e)??o,void 0,t,s),Be=Le((e=>e[0])),Me=Le((e=>g(e[1])?[]:[e[1]])),De=Le((e=>e[2]));e.BackwardCheckpointsView=Be,e.CellView=ye,e.CheckpointView=qe,e.CurrentCheckpointView=Me,e.ForwardCheckpointsView=De,e.IndexView=({indexId:e,indexes:s,sliceComponent:t=ve,getSliceComponentProps:o,separator:r,debugIds:l})=>Ve(V(te(e,s),(r=>be(t,{...pe(o,r),key:r,indexId:e,sliceId:r,indexes:s,debugIds:l}))),r,l,e),e.LinkedRowsView=e=>he(e,ue,e.firstRowId),e.LocalRowsView=e=>he(e,le,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:t})=>Ve(se(e,s)??o,void 0,t,e),e.Provider=({store:e,storesById:t,metrics:o,metricsById:r,indexes:l,indexesById:u,relationships:d,relationshipsById:n,queries:i,queriesById:a,checkpoints:c,checkpointsById:I,children:C})=>{const w=s.useContext(f);return be(f.Provider,{value:Re((()=>[e??w[0],{...w[1],...t},o??w[2],{...w[3],...r},l??w[4],{...w[5],...u},d??w[6],{...w[7],...n},i??w[8],{...w[9],...a},c??w[10],{...w[11],...I}]),[e,t,o,r,l,u,d,n,i,a,c,I,w])},C)},e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Se,getRowComponentProps:r,debugIds:l})=>{const[u,d]=me(t),n=u?.getRemoteTableId(e),i=re(e,s,u);return Ve(g(n)||g(i)?null:be(o,{...pe(r,i),key:i,tableId:n,rowId:i,store:d,debugIds:l}),void 0,l,s)},e.ResultCellView=xe,e.ResultRowView=Pe,e.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...r})=>ge(r,ne(r.queryId,e,s,t,o,r.queries)),e.ResultTableView=e=>ge(e,de(e.queryId,e.queries)),e.RowView=Se,e.SliceView=ve,e.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...r})=>ke(r,Y(r.tableId,e,s,t,o,r.store)),e.TableView=Te,e.TablesView=({store:e,tableComponent:s=Te,getTableComponentProps:t,separator:o,debugIds:r})=>Ve(V(W(e),(o=>be(s,{...pe(t,o),key:o,tableId:o,store:e,debugIds:r}))),o),e.ValueView=fe,e.ValuesView=({store:e,valueComponent:s=fe,getValueComponentProps:t,separator:o,debugIds:r})=>Ve(V(_(e),(o=>be(s,{...pe(t,o),key:o,valueId:o,store:e,debugIds:r}))),o),e.useAddRowCallback=(e,s,t=[],o,r=L,l=[],u=!0)=>{const d=q(o);return G((t=>m(d,(o=>m(s(t,o),(s=>r(o.addRow(e,s,u),o,s)))))),[d,e,...t,...l,u])},e.useCell=$,e.useCellIds=Z,e.useCellIdsListener=(e,s,t,o,r,l)=>H(b,q(l),t,o,[e,s],r),e.useCellListener=(e,s,t,o,r,l,u)=>H(w,q(u),o,r,[e,s,t],l),e.useCheckpoint=Ie,e.useCheckpointIds=ce,e.useCheckpointIdsListener=(e,s,t)=>H("CheckpointIds",F(t),e,s),e.useCheckpointListener=(e,s,t,o)=>H("Checkpoint",F(o),s,t,[e]),e.useCheckpoints=e=>v(e,10),e.useCheckpointsIds=()=>P(11),e.useCreateCheckpoints=(e,s,t)=>O(e,s,t),e.useCreateIndexes=(e,s,t)=>O(e,s,t),e.useCreateMetrics=(e,s,t)=>O(e,s,t),e.useCreatePersister=(e,s,t=[],o,r=[])=>{const[,l]=U(),u=j((()=>s(e)),[e,...t]);return Q((()=>((async()=>{await(o?.(u)),l(1)})(),()=>{u.destroy()})),[u,...r]),u},e.useCreateQueries=(e,s,t)=>O(e,s,t),e.useCreateRelationships=(e,s,t)=>O(e,s,t),e.useCreateStore=(e,s=[])=>j(e,s),e.useDelCellCallback=(e,s,t,o,r,l,u)=>K(r,w,l,u,e,s,t,o),e.useDelRowCallback=(e,s,t,o,r)=>K(t,a,o,r,e,s),e.useDelTableCallback=(e,s,t,o)=>K(s,d,t,o,e),e.useDelTablesCallback=(e,s,t)=>K(e,n,s,t),e.useDelValueCallback=(e,s,t,o)=>K(s,p,t,o,e),e.useDelValuesCallback=(e,s,t)=>K(e,R,s,t),e.useGoBackwardCallback=Ce,e.useGoForwardCallback=we,e.useGoToCallback=(e,s=[],t,o=L,r=[])=>{const l=F(t);return G((s=>m(l,(t=>m(e(s),(e=>o(t.goTo(e),e)))))),[l,...s,...r])},e.useIndexes=e=>v(e,4),e.useIndexesIds=()=>P(5),e.useLinkedRowIds=ue,e.useLinkedRowIdsListener=(e,s,t,o,r)=>H("Linked"+I,D(r),t,o,[e,s]),e.useLocalRowIds=le,e.useLocalRowIdsListener=(e,s,t,o,r)=>H("Local"+I,D(r),t,o,[e,s]),e.useMetric=se,e.useMetricListener=(e,s,t,o)=>H("Metric",B(o),s,t,[e]),e.useMetrics=e=>v(e,2),e.useMetricsIds=()=>P(3),e.useQueries=e=>v(e,8),e.useQueriesIds=()=>P(9),e.useRedoInformation=e=>{const s=F(e),[,,[t]]=ce(s);return[!g(t),we(s),t,m(t,(e=>s?.getCheckpoint(e)))??o]},e.useRelationships=e=>v(e,6),e.useRelationshipsIds=()=>P(7),e.useRemoteRowId=re,e.useRemoteRowIdListener=(e,s,t,o,r)=>H("RemoteRowId",D(r),t,o,[e,s]),e.useResultCell=ae,e.useResultCellIds=ie,e.useResultCellIdsListener=(e,s,t,o,r)=>H(l+b,A(r),t,o,[e,s]),e.useResultCellListener=(e,s,t,o,r,u)=>H(l+w,A(u),o,r,[e,s,t]),e.useResultRow=(e,s,t)=>z(l+a,A(t),{},[e,s]),e.useResultRowCount=(e,s)=>z(l+c,A(s),[],[e]),e.useResultRowCountListener=(e,s,t,o)=>H(l+c,A(o),s,t,[e]),e.useResultRowIds=de,e.useResultRowIdsListener=(e,s,t,o)=>H(l+I,A(o),s,t,[e]),e.useResultRowListener=(e,s,t,o,r)=>H(l+a,A(r),t,o,[e,s]),e.useResultSortedRowIds=ne,e.useResultSortedRowIdsListener=(e,s,t,o,r,u,d,n)=>H(l+C,A(n),u,d,[e,s,t,o,r]),e.useResultTable=(e,s)=>z(l+d,A(s),{},[e]),e.useResultTableCellIds=(e,s)=>z(l+d+b,A(s),[],[e]),e.useResultTableCellIdsListener=(e,s,t,o)=>H(l+d+b,A(o),s,t,[e]),e.useResultTableListener=(e,s,t,o)=>H(l+d,A(o),s,t,[e]),e.useRow=(e,s,t)=>z(a,q(t),{},[e,s]),e.useRowCount=(e,s)=>z(c,q(s),[],[e]),e.useRowCountListener=(e,s,t,o,r)=>H(c,q(r),s,t,[e],o),e.useRowIds=X,e.useRowIdsListener=(e,s,t,o,r)=>H(I,q(r),s,t,[e],o),e.useRowListener=(e,s,t,o,r,l)=>H(a,q(l),t,o,[e,s],r),e.useSetCellCallback=(e,s,t,o,r,l,u,d)=>J(l,w,o,r,u,d,e,s,t),e.useSetCheckpointCallback=(e=L,s=[],t,o=L,r=[])=>{const l=F(t);return G((s=>m(l,(t=>{const r=e(s);o(t.addCheckpoint(r),t,r)}))),[l,...s,...r])},e.useSetPartialRowCallback=(e,s,t,o,r,l,u)=>J(r,"PartialRow",t,o,l,u,e,s),e.useSetPartialValuesCallback=(e,s,t,o,r)=>J(t,"PartialValues",e,s,o,r),e.useSetRowCallback=(e,s,t,o,r,l,u)=>J(r,a,t,o,l,u,e,s),e.useSetTableCallback=(e,s,t,o,r,l)=>J(o,d,s,t,r,l,e),e.useSetTablesCallback=(e,s,t,o,r)=>J(t,n,e,s,o,r),e.useSetValueCallback=(e,s,t,o,r,l)=>J(o,p,s,t,r,l,e),e.useSetValuesCallback=(e,s,t,o,r)=>J(t,R,e,s,o,r),e.useSliceIds=te,e.useSliceIdsListener=(e,s,t,o)=>H("SliceIds",M(o),s,t,[e]),e.useSliceRowIds=oe,e.useSliceRowIdsListener=(e,s,t,o,r)=>H("Slice"+I,M(r),t,o,[e,s]),e.useSortedRowIds=Y,e.useSortedRowIdsListener=(e,s,t,o,r,l,u,d,n)=>H(C,q(n),l,u,[e,s,t,o,r],d),e.useStore=e=>v(e,0),e.useStoreIds=()=>P(1),e.useTable=(e,s)=>z(d,q(s),{},[e]),e.useTableCellIds=(e,s)=>z(d+b,q(s),[],[e]),e.useTableCellIdsListener=(e,s,t,o,r)=>H(d+b,q(r),s,t,[e],o),e.useTableIds=W,e.useTableIdsListener=(e,s,t,o)=>H(i,q(o),e,s,[],t),e.useTableListener=(e,s,t,o,r)=>H(d,q(r),s,t,[e],o),e.useTables=e=>z(n,q(e),{}),e.useTablesListener=(e,s,t,o)=>H(n,q(o),e,s,[],t),e.useUndoInformation=e=>{const s=F(e),[t,r]=ce(s);return[(l=t,!(0==(e=>e.length)(l))),Ce(s),r,m(r,(e=>s?.getCheckpoint(e)))??o];var l},e.useValue=ee,e.useValueIds=_,e.useValueIdsListener=(e,s,t,o)=>H(k,q(o),e,s,[],t),e.useValueListener=(e,s,t,o,r)=>H(p,q(r),s,t,[e],o),e.useValues=e=>z(R,q(e),{}),e.useValuesListener=(e,s,t,o)=>H(R,q(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(),a=Object.freeze,c=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>n(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(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)=>(c(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)}]})(),a=v();return[(e,n,t,o=[],r=(()=>[]))=>{null!=l||(l=_);const i=s(1);var u,d;return g(a,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(a,e)[0](l,...null!=n?n:[],...t))))),e=>t(C(a,e),(([,n,t])=>(y(n,null!=t?t:[""],void 0,(n=>(f(n,e),h(n)?1:0))),g(a,e),u(e),t))),e=>t(C(a,e),(([e,,t=[],s,i])=>{const u=(...d)=>{var a,c;const h=r(d);h==r(t)?e(l,...d,...i(d)):n(t[h])?o(null!=(c=null==(a=s[h])?void 0:a.call(s,...d))?c:[],(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=>c(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 a(_.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/common.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,o;e=this,o=function(e){"use strict";e.defaultSorter=(e,o)=>e<o?-1:1},"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCommon={});
|
|
1
|
+
var e,o;e=this,o=function(e){"use strict";e.defaultSorter=(e,o)=>(null!=e?e:0)<(null!=o?o:0)?-1:1},"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCommon={});
|
package/lib/umd-es6/common.js.gz
CHANGED
|
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,
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,l="",t=n(l),r=e=>l+e,o=e=>null==e,s=(e,n,l)=>o(e)?null==l?void 0:l():n(e),u=e=>Array.isArray(e),d=(e,n)=>e.every(n),i=(e,n)=>d(e,((l,t)=>0==t||n(e[t-1],l)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),v=e=>e.length,f=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},g=e=>o(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(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,l)=>n(l,e))),E=(e,n,l)=>o(l)?(S(e,n),e):null==e?void 0:e.set(n,l),R=(e,n,l)=>(I(e,n)||E(e,n,l()),b(e,n)),m=(e,n,l,t,r=0)=>s((l?R:b)(e,n[r],r>v(n)-2?l:w),(o=>{if(r>v(n)-2)return(null==t?void 0:t(o))&&E(e,n[r]),o;const s=m(o,n,l,t,r+1);return g(o)&&E(e,n[r]),s})),j=e=>new Set(u(e)||o(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n),z=(e,r)=>n(e)==t?n=>n(e):null!=e?e:()=>null!=r?r:l,A=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,C=/^\d+$/,D=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=w(),t=w(),[D,M,B,O,W,$,q,,F,G,H]=((e,n,l)=>{const t=e.hasRow,r=w(),i=w(),a=w(),f=w(),h=w(),m=(n,l,...t)=>{const r=R(h,n,j);return c(t,(n=>k(r,n)&&l&&e.callListener(n))),t},z=(n,...l)=>s(b(h,n),(t=>{c(0==v(l)?p(t):l,(n=>{e.delListener(n),S(t,n)})),g(t)&&E(h,n)})),A=(e,l)=>{E(r,e,l),I(i,e)||(E(i,e,n()),E(a,e,w()),E(f,e,w()))},C=e=>{E(r,e),E(i,e),E(a,e),E(f,e),z(e)};return[()=>e,()=>L(r),e=>T(i,e),e=>I(i,e),e=>b(r,e),e=>b(i,e),(e,n)=>E(i,e,n),A,(n,r,s,i,h)=>{A(n,r);const g=w(),p=w(),S=b(a,n),L=b(f,n),R=n=>{const s=l=>e.getCell(r,n,l),a=b(S,n),c=t(r,n)?l(i(s,n)):void 0;var f,I;if(a===c||u(a)&&u(c)&&(I=c,v(f=a)===v(I)&&d(f,((e,n)=>I[n]===e)))||E(g,n,[a,c]),!o(h)){const e=b(L,n),l=t(r,n)?h(s,n):void 0;e!=l&&E(p,n,l)}},j=e=>{s((()=>{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,l)=>R(l))),e.addTableListener(r,(()=>j())))},C,()=>T(h,C),m,z]})(e,w,(e=>{return o(e)?l:u(e)?(n=r,e.map(n)):r(e);var n})),[J,K,N]=(e=>{let n;const[t,r]=(()=>{const e=[];let n=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:l+n++},n=>{C.test(n)&&v(e)<1e3&&f(e,n)}]})(),u=w();return[(e,r,o,s=[],d=(()=>[]))=>{null!=n||(n=Q);const i=t(1);return E(u,i,[e,r,o,s,d]),k(m(r,null!=o?o:[l],j),i),i},(e,t,...r)=>c(((e,n=[l])=>{const t=[],r=(e,l)=>l==v(n)?f(t,e):null===n[l]?x(e,(e=>r(e,l+1))):c([n[l],null],(n=>r(b(e,n),l+1)));return r(e,0),t})(e,t),(e=>x(e,(e=>b(u,e)[0](n,...null!=t?t:[],...r))))),e=>s(b(u,e),(([,n,t])=>(m(n,null!=t?t:[l],void 0,(n=>(S(n,e),g(n)?1:0))),E(u,e),r(e),t))),e=>s(b(u,e),(([e,,l=[],t,r])=>{const s=(...u)=>{var d,i;const a=v(u);a==v(l)?e(n,...u,...r(u)):o(l[a])?c(null!=(i=null==(d=t[a])?void 0:d.call(t,...u))?i:[],(e=>s(...u,e))):s(...u,l[a])};s()}))]})(),P=(n,l,t)=>{const r=W(n);x(t,((n,t)=>l(t,(l=>x(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,l,r,u,d,c=A)=>{const v=o(d)?void 0:([e],[n])=>d(e,n);return F(e,l,((l,r,d,f,h,p)=>{let y=0;const L=j(),R=j(),m=$(e);if(x(r,(([e,n],l)=>{const t=j(e),r=j(n);x(t,(e=>S(r,e)?S(t,e):0)),x(t,(e=>{k(L,e),s(b(m,e),(n=>{S(n,l),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),l),o(u)||k(R,e)}))})),l(),g(h)||(p?T(m,(e=>k(R,e))):T(d,(e=>s(b(f,e),(e=>k(R,e))))),x(R,(e=>{const n=(n,l)=>c(b(h,n),b(h,l),e),l=[...b(m,e)];i(l,n)||(E(m,e,j(a(l,n))),k(L,e))}))),(y||p)&&!o(v)){const n=[...m];i(n,v)||(q(e,w(a(n,v))),y=1)}y&&K(n,[e]),x(L,(n=>K(t,[e,n])))}),z(r),s(u,z)),Q},delIndexDefinition:e=>(G(e),Q),getStore:D,getIndexIds:M,forEachIndex:e=>B(((n,l)=>e(n,(e=>P(n,e,l))))),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,l)=>J(l,n,[e]),addSliceRowIdsListener:(e,n,l)=>J(l,t,[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,
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=n(n),i=Math.max,o=Math.min,u=isFinite,s=e=>null==e,d=(e,n,t)=>s(e)?null==t?void 0:t():n(e),a=e=>Array.isArray(e),c=()=>{},v=(e,n)=>e.forEach(n),f=e=>g(e,((e,n)=>e+n),0),h=e=>e.length,g=(e,n,t)=>e.reduce(n,t),M=(e,...n)=>e.push(...n),p=Object.freeze,y=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>s(e)||0==y(e),L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=e=>e.clear(),T=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),E=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>T(e,((e,t)=>n(t,e))),S=(e,n,t)=>s(t)?(x(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t)=>(m(e,n)||S(e,n,t()),I(e,n)),k=(e,n,t,l,r=0)=>d((t?j:I)(e,n[r],r>h(n)-2?t:E),(i=>{if(r>h(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const o=k(i,n,t,l,r+1);return b(i)&&S(e,n[r]),o})),z=E([["avg",[(e,n)=>f(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["min",[e=>o(...e),(e,n)=>o(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:o(n,e)]],["sum",[e=>f(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(a(e)||s(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),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,n,l)=>{const r=e.hasRow,i=E(),o=E(),u=E(),c=E(),f=E(),g=(n,t,...l)=>{const r=j(f,n,A);return v(l,(n=>D(r,n)&&t&&e.callListener(n))),l},M=(n,...t)=>d(I(f,n),(l=>{v(0==h(t)?L(l):t,(n=>{e.delListener(n),x(l,n)})),b(l)&&S(f,n)})),p=(e,t)=>{S(i,e,t),m(o,e)||(S(o,e,n()),S(u,e,E()),S(c,e,E()))},y=e=>{S(i,e),S(o,e),S(u,e),S(c,e),M(e)};return[()=>e,()=>{return[...null!=(n=null==(e=i)?void 0:e.keys())?n:[]];var e,n},e=>R(o,e),e=>m(o,e),e=>I(i,e),e=>I(o,e),(e,n)=>S(o,e,n),p,(n,l,i,o,d)=>{p(n,l);const f=E(),y=E(),b=I(u,n),L=I(c,n),x=n=>{const i=t=>e.getCell(l,n,t),u=I(b,n),c=r(l,n)?(v=o(i,n),isNaN(v)||s(v)||!0===v||!1===v||v===t?void 0:1*v):void 0;var v,g,M,p;if(u===c||a(u)&&a(c)&&(M=c,h(g=u)===h(M)&&(p=(e,n)=>M[n]===e,g.every(p)))||S(f,n,[u,c]),!s(d)){const e=I(L,n),t=r(l,n)?d(i,n):void 0;e!=t&&S(y,n,t)}},j=e=>{i((()=>{T(f,(([,e],n)=>S(b,n,e))),T(y,((e,n)=>S(L,n,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(n),g(n,0,e.addRowListener(l,null,((e,n,t)=>x(t))),e.addTableListener(l,(()=>j())))},y,()=>R(f,y),g,M]})(e,c),[G,H,J]=(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=>{N.test(n)&&h(e)<1e3&&M(e,n)}]})(),i=E();return[(e,r,o,u=[],s=(()=>[]))=>{null!=n||(n=K);const d=l(1);return S(i,d,[e,r,o,u,s]),D(k(r,null!=o?o:[t],A),d),d},(e,l,...r)=>v(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?M(l,e):null===n[t]?T(e,(e=>r(e,t+1))):v([n[t],null],(n=>r(I(e,n),t+1)));return r(e,0),l})(e,l),(e=>T(e,(e=>I(i,e)[0](n,...null!=l?l:[],...r))))),e=>d(I(i,e),(([,n,l])=>(k(n,null!=l?l:[t],void 0,(n=>(x(n,e),b(n)?1:0))),S(i,e),r(e),l))),e=>d(I(i,e),(([e,,t=[],l,r])=>{const i=(...o)=>{var u,d;const a=h(o);a==h(t)?e(n,...o,...r(o)):s(t[a])?v(null!=(d=null==(u=l[a])?void 0:u.call(l,...o))?d:[],(e=>i(...o,e))):i(...o,t[a])};i()}))]})(),K={setMetricDefinition:(e,t,o,d,a,c,v)=>{var f;const h=n(o)==r?[o,a,c,v]:null!=(f=I(z,o))?f:I(z,"sum");return W(e,t,((n,t,l,r,o,d)=>{const a=F(e),c=y(r);d||(d=s(a)),n();let v=((e,n,t,l,r,i=!1)=>{if(b(t))return;const[o,u,d,a]=r;return i||(i=s(e)),T(l,(([t,l])=>{i||(e=s(t)?null==u?void 0:u(e,l,n++):s(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=s(e)))})),i?o(L(t),y(t)):e})(a,c,r,t,h,d);u(v)||(v=void 0),v!=a&&(O(e,v),H(i,[e],v,a))}),(1,n(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,n)=>G(n,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?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
|