tinybase 4.2.3 → 4.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +1 -0
- package/lib/cjs/persisters/persister-partykit-server.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/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 -1
- package/lib/cjs/ui-react-dom-debug.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/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-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.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/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 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +10 -7
- package/lib/debug/persisters/persister-expo-sqlite.js +10 -7
- package/lib/debug/persisters/persister-partykit-client.js +249 -0
- package/lib/debug/persisters/persister-partykit-server.js +161 -0
- package/lib/debug/persisters/persister-sqlite-wasm.js +10 -7
- package/lib/debug/persisters/persister-sqlite3.js +10 -7
- package/lib/debug/queries.js +2 -2
- package/lib/debug/store.js +3 -3
- package/lib/debug/tinybase.js +4 -4
- package/lib/debug/tools.js +3 -4
- package/lib/debug/ui-react-dom.js +3 -3
- package/lib/debug/ui-react.js +1 -1
- 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-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -0
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +1 -0
- package/lib/es6/persisters/persister-partykit-server.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/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 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.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-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -0
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +1 -0
- package/lib/persisters/persister-partykit-server.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/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/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +2 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +87 -0
- package/lib/types/persisters/persister-partykit-server.d.ts +113 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/ui-react.d.ts +12 -4
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +98 -0
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +113 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/with-schemas/ui-react.d.ts +18 -8
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.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-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -0
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +1 -0
- package/lib/umd/persisters/persister-partykit-server.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/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 -1
- package/lib/umd/ui-react-dom-debug.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/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-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +1 -0
- package/lib/umd-es6/persisters/persister-partykit-server.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/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 -1
- package/lib/umd-es6/ui-react-dom-debug.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 +23 -13
- package/readme.md +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),u=a=>t(a)==n,E=async a=>c.all(a),
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),u=a=>t(a)==n,E=(a,t,e)=>a.slice(t,e),d=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),T=a=>a.length,m=a=>0==T(a),v=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),R=Object,O=R.keys,S=R.freeze,C=(a=[])=>R.fromEntries(a),g=(...a)=>R.assign({},...a),D=(a,t)=>p(R.entries(a),(([a,e])=>t(e,a))),b=a=>R.values(a),I=a=>T(O(a)),F=a=>(a=>l(a,R)&&a.constructor==R)(a)&&0==I(a),M=a=>new Map(a),$=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),_=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(L(a,t)||B(a,t,e()),P(a,t)),x=(a,t,e,s=B)=>(D(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!y(((a,t)=>w(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H=a=>new Set(Array.isArray(a)||y(a)?a:[a]),W=(a,t)=>a?.add(t),k="_",q="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",Y="WHERE",z=(a,t,e)=>{const n=M();return[async()=>x(n,C(await d(p(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")",t),(async({name:t})=>[t,C(p(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(n,t,x(j(n,t,M),e,((a,t,e)=>{e!=P(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(n,t))),async(t,e)=>((a,t)=>!y(P(P(n,a),t)))(t,e)?C(v(p(await a("SELECT*FROM"+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!F(t)))):{},async(t,e,i,c,o,r=!1)=>{const l=H();D(i??{},(a=>p(O(a??{}),(a=>W(l,a)))));const w=h(l);if(!r&&o&&m(w)&&L(n,t))return await a("DROP TABLE"+J(t)),void B(n,t);if(m(w)||L(n,t)){const s=P(n,t),i=H($(s));await d([...p(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${J(t)}ADD${J(e)}`),B(s,e,""))})),...!r&&c?p(h(i),(async n=>{n!=e&&(await a(`ALTER TABLE${J(t)}DROP${J(n)}`),B(s,n))})):[]])}else await a(`CREATE TABLE${J(t)}(${J(e)} PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(a=>s+J(a))))});`),B(n,t,M([[e,""],...p(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await d(D(i,(async(s,n)=>{y(s)?await a("DELETE FROM"+J(t)+Y+J(e)+"=?",[n]):m(w)||await G(a,t,e,O(s),[n,...b(s)])})));else if(m(w))L(n,t)&&await a("DELETE FROM"+J(t)+"WHERE 1");else{const s=v($(P(n,t)),(a=>a!=e)),c=[],o=[];D(i??{},((a,t)=>{A(c,t,...p(s,(t=>a?.[t]))),A(o,t)})),await G(a,t,e,s,c),await a("DELETE FROM"+J(t)+Y+J(e)+"NOT IN("+K(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},G=async(a,t,e,n,c)=>await a("INSERT INTO"+J(t)+"("+J(e)+f(p(n,(a=>s+J(a))))+")VALUES"+E(i(`,(?${i(",?",T(n))})`,T(c)/(T(n)+1)),1)+"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(p(n,(a=>J(a)+"=excluded."+J(a))),s),c),K=a=>f(p(a,(()=>"?")),s),V=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,c=[])=>{let o,r,l,u=0,E=0;j(Q,c,(()=>0)),j(X,c,(()=>[]));const d=async a=>(2!=u&&(u=1,await f.schedule((async()=>{await a(),u=0}))),f),f={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(f.stopAutoLoad(),await f.load(e,n),E=1,l=s((async(e,s)=>{if(s){const t=s();await d((async()=>a.setTransactionChanges(t)))}else await d((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(E&&(n(l),l=void 0,E=0),f),save:async t=>(1!=u&&(u=2,await f.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),o=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();F(e)&&F(s)||f.save((()=>[e,s]))})),f),stopAutoSave:()=>(w(o,a.delListener),f),schedule:async(...a)=>(A(P(X,c),...a),await(async()=>{if(!P(Q,c)){for(B(Q,c,1);!y((a=P(X,c),r=a.shift()));)try{await r()}catch(a){i?.(a)}B(Q,c,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return S(f)},aa="store",ta=(a,t,e,s,n,[i],c,o)=>{const[r,y,w,u]=z(t,c,n);return Z(a,(async()=>await u((async()=>(await r(),V((await y(i,q))[k]?.[aa]??"null"))))),(async a=>await u((async()=>{var t;await r(),await w(i,q,{[k]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?R.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,o)},ea=(a,t,e,s,n,[i,c,[o,r,l]],w,u)=>{const[E,f,p,T]=z(t,w,n),m=async(a,t)=>await d(_(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),A=async(a,t)=>r?await p(l,q,{[k]:a},!0,!0,t):null;return Z(a,(async()=>await T((async()=>{await E();const a=await(async()=>C(v(await d(_(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>o?(await f(l,q))[k]:{})();return F(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await E(),y(t)){const[t,e]=a();await m(t),await A(e)}else{const[a,e]=t();await m(a,!0),await A(e,!0)}}))),e,s,n,u)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[oa]:e+"_values"},ya=(a,t,e,s)=>{const n=M();return D(a,((a,i)=>{const c=E(b(g(t,u(a)?{[e]:a}:a)),0,I(t));y(c[0])||s(i,c[0])||B(n,i,c)})),n},wa="pragma ",ua="data_version",Ea="schema_version",da=(a,t,s,n,i,c,l,y)=>{let w,d;const[f,p,T,m]=(a=>{const t=(a=>g(ra,u(a)?{storeTableName:a}:a??{}))(a),s=t[na];if(t.mode==sa){const{storeTableName:a=e}=t;return[1,s,[a],H(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=E(b(g(la,c)),0,I(la)),r=o[2],l=H(r);return[0,s,[ya(n,{[ca]:null,[ia]:q},ca,(a=>W(l,a)&&a==r)),ya(i,{[oa]:null,[ia]:q,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>W(l,t)&&t==r)),o],l]})(t);return(f?ta:ea)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>[o((async()=>{try{const t=(await s(wa+ua))[0][ua],e=(await s(wa+Ea))[0][Ea];t==(w??=t)&&e==(d??=e)||(a(),w=t,d=e)}catch{}}),1e3*p),n((t=>m.has(t)?a():0))]),(([a,t])=>{r(a),w=d=null,i(t)}),l,T,h(m),y)},fa="change";a.createSqlite3Persister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a})))))),new c(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(fa,e),e}),(a=>t.off(fa,a)),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
|
|
Binary file
|
package/lib/umd/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",V=b+i,C="Value",S=C+"s",v=C+i,y=e=>s+e,m=isFinite,w=(e,t)=>e instanceof t,p=e=>null==e,I=(e,t,s)=>p(e)?s?.():t(e),R=e=>e==l||e==n,J=e=>t(e)==o,L=(e,t)=>e.forEach(t),E=(e,t)=>e.map(t),F=e=>e.length,x=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>w(e,O)&&e.constructor==O,N=(e,t)=>!p(((e,t)=>I(e,(e=>e[t])))(e,t)),P=(e,t)=>(delete e[t],e),B=(e,t)=>E(O.entries(e),(([e,s])=>t(s,e))),D=e=>M(e)&&0==(e=>F(j(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>p(e)||0==W(e),G=e=>e.clear(),H=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=e=>new Map(e),U=e=>[...e?.keys()??[]],X=(e,t)=>e?.get(t),Y=(e,t)=>H(e,((e,s)=>t(s,e))),Z=(e,t,s)=>p(s)?(K(e,t),e):e?.set(t,s),_=(e,t,s)=>($(e,t)||Z(e,t,s()),X(e,t)),ee=(e,t,s,l=Z)=>(B(t,((t,l)=>s(e,l,t))),Y(e,(s=>N(t,s)?0:l(e,s))),e),te=(e,t,s)=>{const l={};return H(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},se=(e,t,s)=>te(e,(e=>te(e,t,s)),D),le=(e,t,s)=>te(e,(e=>se(e,t,s)),D),ne=(e,t)=>{const s=Q();return H(e,((e,l)=>s.set(l,t?.(e)??e))),s},ae=e=>ne(e,ne),oe=e=>ne(e,ae),re=(e,t,s,l,n=0)=>I((s?_:X)(e,t[n],n>F(t)-2?s:Q),(a=>{if(n>F(t)-2)return l?.(a)&&Z(e,t[n]),a;const o=re(a,t,s,l,n+1);return q(a)&&Z(e,t[n]),o})),ce=e=>new Set(Array.isArray(e)||p(e)?e:[e]),ie=(e,t)=>e?.add(t),de=/^\d+$/,ue=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{de.test(t)&&F(e)<1e3&&z(e,t)}]},he=e=>[e,e],fe=()=>[Q(),Q()],ge=e=>[...e],Te=([e,t])=>e===t,be=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Ve=(e,t,s,l,n)=>p(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ce=(e,t,s)=>p(s)?e.delValue(t):e.setValue(t,s),Se=e=>JSON.stringify(e,((e,t)=>w(t,Map)?O.fromEntries([...t]):t)),ve=JSON.parse,ye=(e,t,s)=>p(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,l)=>{t(s,l)||P(e,l)})),!D(e)),me=(e,t,s)=>Z(e,t,X(e,t)==-s?void 0:s),we=()=>{let e,t,l=!1,n=!1,o=0;const i=Q(),m=Q(),w=Q(),O=Q(),j=Q(),k=Q(),M=Q(),de=Q(),pe=Q(),Ie=Q(),Re=Q(),Je=Q(),Le=Q(),Ee=Q(),Fe=ce(),xe=Q(),ze=Q(),Oe=Q(),je=Q(),ke=fe(),Ae=fe(),Me=fe(),Ne=fe(),Pe=fe(),Be=fe(),De=fe(),We=fe(),$e=fe(),qe=fe(),Ge=fe(),He=fe(),Ke=fe(),Qe=fe(),Ue=fe(),Xe=Q(),Ye=fe(),[Ze,_e,et,tt]=(e=>{let t;const[l,n]=ue(),a=Q();return[(e,n,o,r=[],c=(()=>[]))=>{t??=Ts;const i=l(1);return Z(a,i,[e,n,o,r,c]),ie(re(n,o??[s],ce),i),i},(e,l,...n)=>L(((e,t=[s])=>{const l=[],n=(e,s)=>s==F(t)?z(l,e):null===t[s]?H(e,(e=>n(e,s+1))):L([t[s],null],(t=>n(X(e,t),s+1)));return n(e,0),l})(e,l),(e=>H(e,(e=>X(a,e)[0](t,...l??[],...n))))),e=>I(X(a,e),(([,t,l])=>(re(t,l??[s],void 0,(t=>(K(t,e),q(t)?1:0))),Z(a,e),n(e),l))),e=>I(X(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=F(o);r==F(s)?e(t,...o,...n(o)):p(s[r])?L(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),st=e=>{if(!ye(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(be(e[c])!=t&&P(e,c),0))},lt=(t,s)=>(!e||$(Re,s)||Ot(s))&&ye(t,((e,t)=>nt(s,t,e)),(()=>Ot(s))),nt=(e,t,s,l)=>ye(l?s:ct(s,e,t),((l,n)=>I(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Ot(e,t))),at=(t,s,l,n)=>e?I(X(X(Re,t),l),(e=>be(n)!=e[r]?Ot(t,s,l,n,e[c]):n),(()=>Ot(t,s,l,n))):p(be(n))?Ot(t,s,l,n):n,ot=(e,t)=>ye(t?e:it(e),((t,s)=>I(rt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>jt())),rt=(e,s)=>t?I(X(Le,e),(t=>be(s)!=t[r]?jt(e,s,t[c]):s),(()=>jt(e,s))):p(be(s))?jt(e,s):s,ct=(e,t,s)=>(I(X(Je,t),(([l,n])=>{H(l,((t,s)=>{N(e,s)||(e[s]=t)})),H(n,(l=>{N(e,l)||Ot(t,s,l)}))})),e),it=e=>(t&&(H(Ee,((t,s)=>{N(e,s)||(e[s]=t)})),H(Fe,(t=>{N(e,t)||jt(t)}))),e),dt=e=>ee(Re,e,((e,t,s)=>{const l=Q(),n=ce();ee(_(Re,t,Q),s,((e,t,s)=>{Z(e,t,s),I(s[c],(e=>Z(l,t,e)),(()=>ie(n,t)))})),Z(Je,t,[l,n])}),((e,t)=>{Z(Re,t),Z(Je,t)})),ut=e=>ee(Le,e,((e,t,s)=>{Z(Le,t,s),I(s[c],(e=>Z(Ee,t,e)),(()=>ie(Fe,t)))}),((e,t)=>{Z(Le,t),Z(Ee,t),K(Fe,t)})),ht=e=>D(e)?os():ts(e),ft=e=>ee(Oe,e,((e,t,s)=>gt(t,s)),((e,t)=>wt(t))),gt=(e,t)=>ee(_(Oe,e,(()=>(Jt(e,1),Z(xe,e,ue()),Z(ze,e,Q()),Q()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>pt(e,t,s))),Tt=(e,t,s,l,n)=>ee(_(t,s,(()=>(Lt(e,s,1),Q()))),l,((t,l,n)=>bt(e,s,t,l,n)),((l,a)=>It(e,t,s,l,a,n))),bt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=X(s,l);n!==a&&(Ft(e,t,l,a,n),Z(s,l,n))},Vt=(e,t,s,l,n)=>I(X(t,s),(t=>bt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>ee(je,e,((e,t,s)=>vt(t,s)),((e,t)=>Rt(t))),vt=(e,t)=>{$(je,e)||xt(e,1);const s=X(je,e);t!==s&&(zt(e,s,t),Z(je,e,t))},yt=(e,t)=>{const[s]=X(xe,e),l=s(t);return $(X(Oe,e),l)?yt(e,t):l},mt=e=>X(Oe,e)??gt(e,{}),wt=e=>gt(e,{}),pt=(e,t,s)=>{const[,l]=X(xe,e);l(s),Tt(e,t,s,{},!0)},It=(e,t,s,l,n,a)=>{const o=X(X(Je,e)?.[0],n);if(!p(o)&&!a)return bt(e,s,l,n,o);const r=t=>{Ft(e,s,t,X(l,t)),Et(e,s,t,-1),Z(l,t)};p(o)?r(n):Y(l,r),q(l)&&(Lt(e,s,-1),q(Z(t,s))&&(Jt(e,-1),Z(Oe,e),Z(xe,e),Z(ze,e)))},Rt=e=>{const t=X(Ee,e);if(!p(t))return vt(e,t);zt(e,X(je,e)),xt(e,-1),Z(je,e)},Jt=(e,t)=>me(i,e,t),Lt=(e,t,s)=>me(_(O,e,Q),t,s)&&Z(w,e,_(w,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=X(ze,e),a=X(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&me(_(m,e,Q),s,l),Z(n,s,a!=-l?a+l:null),me(_(_(j,e,Q),t,Q),s,l)},Ft=(e,t,s,l,n)=>_(_(_(k,e,Q),t,Q),s,(()=>[l,0]))[1]=n,xt=(e,t)=>me(M,e,t),zt=(e,t,s)=>_(de,e,(()=>[t,0]))[1]=s,Ot=(e,t,s,l,n)=>(z(_(_(_(pe,e,Q),t,Q),s,(()=>[])),l),n),jt=(e,t,s)=>(z(_(Ie,e,(()=>[])),t),s),kt=(e,t,s)=>I(X(X(X(k,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...he(Yt(e,t,s))])),At=e=>I(X(de,e),(([e,t])=>[!0,e,t]),(()=>[!1,...he(es(e))])),Mt=e=>q(pe)||q(Ge[e])?0:H(e?oe(pe):pe,((t,s)=>H(t,((t,l)=>H(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),Nt=e=>q(Ie)||q(He[e])?0:H(e?ne(Ie):Ie,((t,s)=>_e(He[e],[s],t))),Pt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>te(t))),1},Bt=e=>{const t=q(De[e]),s=q($e[e])&&q(Ne[e])&&q(Pe[e])&&q(Be[e])&&t&&q(Ae[e]),l=q(qe[e])&&q(We[e])&&q(Me[e])&&q(ke[e]);if(!s||!l){const n=e?[ne(i),ae(m),ne(w),ae(O),oe(j),oe(k)]:[i,m,w,O,j,k];if(!s){Pt(Ae[e],n[0]),H(n[1],((t,s)=>Pt(Ne[e],t,[s]))),H(n[2],((t,s)=>{0!=t&&_e(Pe[e],[s],Kt(s))}));const s=ce();H(n[3],((l,n)=>{Pt(Be[e],l,[n])&&!t&&(_e(De[e],[n,null]),ie(s,n))})),t||H(n[5],((t,l)=>{if(!$(s,l)){const s=ce();H(t,(e=>H(e,(([t,l],n)=>l!==t?ie(s,n):K(e,n))))),H(s,(t=>_e(De[e],[l,t])))}})),H(n[4],((t,s)=>H(t,((t,l)=>Pt($e[e],t,[s,l])))))}if(!l){let t;H(n[5],((s,l)=>{let n;H(s,((s,a)=>{let o;H(s,(([s,r],c)=>{r!==s&&(_e(qe[e],[l,a,c],r,s,kt),t=n=o=1)})),o&&_e(We[e],[l,a],kt)})),n&&_e(Me[e],[l],kt)})),t&&_e(ke[e],void 0,kt)}}},Dt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[ne(M),ne(de)]:[M,de];if(t||Pt(Qe[e],l[0]),!s){let t;H(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,At),t=1)})),t&&_e(Ke[e],void 0,At)}}},Wt=(e,...t)=>(hs((()=>e(...E(t,y)))),Ts),$t=()=>[te(k,((e,t)=>-1===X(i,t)?null:te(e,((e,s)=>-1===X(X(O,t),s)?null:te(e,(([,e])=>e??null),((e,t)=>Te(t)))),D)),D),te(de,(([,e])=>e??null),((e,t)=>Te(t)))],qt=()=>({cellsTouched:l,valuesTouched:n,changedCells:le(k,ge,Te),invalidCells:le(pe),changedValues:te(de,ge,Te),invalidValues:te(Ie),changedTableIds:te(i),changedRowIds:se(O),changedCellIds:le(j),changedValueIds:te(M)}),Gt=()=>le(Oe),Ht=()=>U(Oe),Kt=e=>W(X(Oe,y(e))),Qt=e=>U(X(Oe,y(e))),Ut=(e,t,s,l=0,n)=>{return E(x((o=X(Oe,y(e)),r=(e,s)=>[p(t)?s:X(e,y(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),E([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,p(n)?n:l+n),(([,e])=>e));var a,o,r},Xt=(e,t)=>U(X(X(Oe,y(e)),y(t))),Yt=(e,t,s)=>X(X(X(Oe,y(e)),y(t)),y(s)),Zt=()=>te(je),_t=()=>U(je),es=e=>X(je,y(e)),ts=e=>Wt((()=>(e=>ye(e,lt,Ot))(e)?ft(e):0)),ss=e=>Wt((()=>ot(e)?St(e):0)),ls=e=>{try{ht(ve(e))}catch{}return Ts},ns=t=>Wt((()=>{if((e=ye(t,(e=>ye(e,st))))&&(dt(t),!q(Oe))){const e=Gt();os(),ts(e)}})),as=e=>Wt((()=>{if(t=(e=>ye(e,st))(e)){const s=Zt();us(),is(),t=!0,ut(e),ss(s)}})),os=()=>Wt((()=>ft({}))),rs=e=>Wt((e=>$(Oe,e)?wt(e):0),e),cs=(e,t)=>Wt(((e,t)=>I(X(Oe,e),(s=>$(s,t)?pt(e,s,t):0))),e,t),is=()=>Wt((()=>St({}))),ds=()=>Wt((()=>{dt({}),e=!1})),us=()=>Wt((()=>{ut({}),t=!1})),hs=(e,t)=>{if(-1!=o){fs();const s=e();return gs(t),s}},fs=()=>(-1!=o&&o++,1==o&&_e(Xe,void 0,$t,qt),Ts),gs=e=>(o>0&&(o--,0==o&&(l=!q(k),n=!q(de),o=1,Mt(1),l&&Bt(1),Nt(1),n&&Dt(1),e?.($t,qt)&&(H(k,((e,t)=>H(e,((e,s)=>H(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),H(de,(([e],t)=>Ce(Ts,t,e))),l=n=!1),_e(Ye[0],void 0,$t,qt),o=-1,Mt(0),l&&Bt(0),Nt(0),n&&Dt(0),_e(Ye[1],void 0,$t,qt),o=0,l=n=!1,L([i,m,w,O,j,k,pe,M,de,Ie],G))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>se(X(Oe,y(e))),getTableCellIds:e=>U(X(ze,y(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>te(X(X(Oe,y(e)),y(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(Oe),hasTable:e=>$(Oe,y(e)),hasTableCell:(e,t)=>$(X(ze,y(e)),y(t)),hasRow:(e,t)=>$(X(Oe,y(e)),y(t)),hasCell:(e,t,s)=>$(X(X(Oe,y(e)),y(t)),y(s)),hasValues:()=>!q(je),hasValue:e=>$(je,y(e)),getTablesJson:()=>Se(Oe),getValuesJson:()=>Se(je),getJson:()=>Se([Oe,je]),getTablesSchemaJson:()=>Se(Re),getValuesSchemaJson:()=>Se(Le),getSchemaJson:()=>Se([Re,Le]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Wt((()=>{(D(e)?os:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>Wt((e=>lt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>nt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=y(e),Tt(e,mt(e),l=yt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(nt(e,t,s,1)){const l=mt(e);B(s,((s,n)=>Vt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Wt(((e,t,s)=>I(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>Vt(e,mt(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>Wt((()=>ot(e,1)?B(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>Wt((e=>I(rt(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{B(e[0],((e,t)=>p(e)?rs(t):B(e,((e,s)=>p(e)?cs(t,s):B(e,((e,l)=>Ve(Ts,t,s,l,e))))))),B(e[1],((e,t)=>Ce(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(ve(e))}catch{}return Ts},setJson:e=>Wt((()=>{try{const[t,s]=ve(e);ht(t),Ct(s)}catch{ls(e)}})),setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:cs,delCell:(e,t,s,l)=>Wt(((e,t,s)=>I(X(Oe,e),(n=>I(X(n,t),(a=>$(a,s)?It(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>$(je,e)?Rt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>Wt((()=>{ds(),us()})),transaction:hs,startTransaction:fs,finishTransaction:gs,forEachTable:e=>H(Oe,((t,s)=>e(s,(e=>H(t,((t,s)=>e(s,(e=>Y(t,e))))))))),forEachTableCell:(e,t)=>Y(X(ze,y(e)),t),forEachRow:(e,t)=>H(X(Oe,y(e)),((e,s)=>t(s,(t=>Y(e,t))))),forEachCell:(e,t,s)=>Y(X(X(Oe,y(e)),y(t)),s),forEachValue:e=>Y(je,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=Ut(e,t,s,l,n);return Ze((()=>{const o=Ut(e,t,s,l,n);var c,i,d;i=r,F(c=o)===F(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(Ts,e,t,s,l,n,r))}),De[o?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:we,addListener:Ze,callListeners:_e};return B({[u]:[0,ke],[h]:[0,Ae],[d]:[1,Me,[Ht]],[d+V]:[1,Ne,[Ht]],[g]:[1,Pe,[Ht]],[T]:[1,Be,[Ht]],[f]:[2,We,[Ht,Qt]],[V]:[2,$e,[Ht,Qt]],[b]:[3,qe,[Ht,Qt,Xt],e=>he(Yt(...e))],InvalidCell:[3,Ge],[S]:[0,Ke],[v]:[0,Qe],[C]:[1,Ue,[_t],e=>he(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?x(n,0,e):void 0,s,l)})),A(Ts)};e.createStore=we},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",V=b+i,C="Value",S=C+"s",v=C+i,y=e=>s+e,m=isFinite,w=(e,t)=>e instanceof t,p=e=>null==e,I=(e,t,s)=>p(e)?s?.():t(e),R=e=>e==l||e==n,J=e=>t(e)==o,L=(e,t,s)=>e.slice(t,s),E=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),x=e=>e.length,z=(e,...t)=>e.push(...t),O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>w(e,O)&&e.constructor==O,N=(e,t)=>!p(((e,t)=>I(e,(e=>e[t])))(e,t)),P=(e,t)=>(delete e[t],e),B=(e,t)=>F(O.entries(e),(([e,s])=>t(s,e))),D=e=>M(e)&&0==(e=>x(j(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>p(e)||0==W(e),G=e=>e.clear(),H=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=e=>new Map(e),U=e=>[...e?.keys()??[]],X=(e,t)=>e?.get(t),Y=(e,t)=>H(e,((e,s)=>t(s,e))),Z=(e,t,s)=>p(s)?(K(e,t),e):e?.set(t,s),_=(e,t,s)=>($(e,t)||Z(e,t,s()),X(e,t)),ee=(e,t,s,l=Z)=>(B(t,((t,l)=>s(e,l,t))),Y(e,(s=>N(t,s)?0:l(e,s))),e),te=(e,t,s)=>{const l={};return H(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},se=(e,t,s)=>te(e,(e=>te(e,t,s)),D),le=(e,t,s)=>te(e,(e=>se(e,t,s)),D),ne=(e,t)=>{const s=Q();return H(e,((e,l)=>s.set(l,t?.(e)??e))),s},ae=e=>ne(e,ne),oe=e=>ne(e,ae),re=(e,t,s,l,n=0)=>I((s?_:X)(e,t[n],n>x(t)-2?s:Q),(a=>{if(n>x(t)-2)return l?.(a)&&Z(e,t[n]),a;const o=re(a,t,s,l,n+1);return q(a)&&Z(e,t[n]),o})),ce=e=>new Set(Array.isArray(e)||p(e)?e:[e]),ie=(e,t)=>e?.add(t),de=/^\d+$/,ue=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{de.test(t)&&x(e)<1e3&&z(e,t)}]},he=e=>[e,e],fe=()=>[Q(),Q()],ge=e=>[...e],Te=([e,t])=>e===t,be=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Ve=(e,t,s,l,n)=>p(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ce=(e,t,s)=>p(s)?e.delValue(t):e.setValue(t,s),Se=e=>JSON.stringify(e,((e,t)=>w(t,Map)?O.fromEntries([...t]):t)),ve=JSON.parse,ye=(e,t,s)=>p(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,l)=>{t(s,l)||P(e,l)})),!D(e)),me=(e,t,s)=>Z(e,t,X(e,t)==-s?void 0:s),we=()=>{let e,t,l=!1,n=!1,o=0;const i=Q(),m=Q(),w=Q(),O=Q(),j=Q(),k=Q(),M=Q(),de=Q(),pe=Q(),Ie=Q(),Re=Q(),Je=Q(),Le=Q(),Ee=Q(),Fe=ce(),xe=Q(),ze=Q(),Oe=Q(),je=Q(),ke=fe(),Ae=fe(),Me=fe(),Ne=fe(),Pe=fe(),Be=fe(),De=fe(),We=fe(),$e=fe(),qe=fe(),Ge=fe(),He=fe(),Ke=fe(),Qe=fe(),Ue=fe(),Xe=Q(),Ye=fe(),[Ze,_e,et,tt]=(e=>{let t;const[l,n]=ue(),a=Q();return[(e,n,o,r=[],c=(()=>[]))=>{t??=Ts;const i=l(1);return Z(a,i,[e,n,o,r,c]),ie(re(n,o??[s],ce),i),i},(e,l,...n)=>E(((e,t=[s])=>{const l=[],n=(e,s)=>s==x(t)?z(l,e):null===t[s]?H(e,(e=>n(e,s+1))):E([t[s],null],(t=>n(X(e,t),s+1)));return n(e,0),l})(e,l),(e=>H(e,(e=>X(a,e)[0](t,...l??[],...n))))),e=>I(X(a,e),(([,t,l])=>(re(t,l??[s],void 0,(t=>(K(t,e),q(t)?1:0))),Z(a,e),n(e),l))),e=>I(X(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=x(o);r==x(s)?e(t,...o,...n(o)):p(s[r])?E(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),st=e=>{if(!ye(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(be(e[c])!=t&&P(e,c),0))},lt=(t,s)=>(!e||$(Re,s)||Ot(s))&&ye(t,((e,t)=>nt(s,t,e)),(()=>Ot(s))),nt=(e,t,s,l)=>ye(l?s:ct(s,e,t),((l,n)=>I(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Ot(e,t))),at=(t,s,l,n)=>e?I(X(X(Re,t),l),(e=>be(n)!=e[r]?Ot(t,s,l,n,e[c]):n),(()=>Ot(t,s,l,n))):p(be(n))?Ot(t,s,l,n):n,ot=(e,t)=>ye(t?e:it(e),((t,s)=>I(rt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>jt())),rt=(e,s)=>t?I(X(Le,e),(t=>be(s)!=t[r]?jt(e,s,t[c]):s),(()=>jt(e,s))):p(be(s))?jt(e,s):s,ct=(e,t,s)=>(I(X(Je,t),(([l,n])=>{H(l,((t,s)=>{N(e,s)||(e[s]=t)})),H(n,(l=>{N(e,l)||Ot(t,s,l)}))})),e),it=e=>(t&&(H(Ee,((t,s)=>{N(e,s)||(e[s]=t)})),H(Fe,(t=>{N(e,t)||jt(t)}))),e),dt=e=>ee(Re,e,((e,t,s)=>{const l=Q(),n=ce();ee(_(Re,t,Q),s,((e,t,s)=>{Z(e,t,s),I(s[c],(e=>Z(l,t,e)),(()=>ie(n,t)))})),Z(Je,t,[l,n])}),((e,t)=>{Z(Re,t),Z(Je,t)})),ut=e=>ee(Le,e,((e,t,s)=>{Z(Le,t,s),I(s[c],(e=>Z(Ee,t,e)),(()=>ie(Fe,t)))}),((e,t)=>{Z(Le,t),Z(Ee,t),K(Fe,t)})),ht=e=>D(e)?os():ts(e),ft=e=>ee(Oe,e,((e,t,s)=>gt(t,s)),((e,t)=>wt(t))),gt=(e,t)=>ee(_(Oe,e,(()=>(Jt(e,1),Z(xe,e,ue()),Z(ze,e,Q()),Q()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>pt(e,t,s))),Tt=(e,t,s,l,n)=>ee(_(t,s,(()=>(Lt(e,s,1),Q()))),l,((t,l,n)=>bt(e,s,t,l,n)),((l,a)=>It(e,t,s,l,a,n))),bt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=X(s,l);n!==a&&(Ft(e,t,l,a,n),Z(s,l,n))},Vt=(e,t,s,l,n)=>I(X(t,s),(t=>bt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>ee(je,e,((e,t,s)=>vt(t,s)),((e,t)=>Rt(t))),vt=(e,t)=>{$(je,e)||xt(e,1);const s=X(je,e);t!==s&&(zt(e,s,t),Z(je,e,t))},yt=(e,t)=>{const[s]=X(xe,e),l=s(t);return $(X(Oe,e),l)?yt(e,t):l},mt=e=>X(Oe,e)??gt(e,{}),wt=e=>gt(e,{}),pt=(e,t,s)=>{const[,l]=X(xe,e);l(s),Tt(e,t,s,{},!0)},It=(e,t,s,l,n,a)=>{const o=X(X(Je,e)?.[0],n);if(!p(o)&&!a)return bt(e,s,l,n,o);const r=t=>{Ft(e,s,t,X(l,t)),Et(e,s,t,-1),Z(l,t)};p(o)?r(n):Y(l,r),q(l)&&(Lt(e,s,-1),q(Z(t,s))&&(Jt(e,-1),Z(Oe,e),Z(xe,e),Z(ze,e)))},Rt=e=>{const t=X(Ee,e);if(!p(t))return vt(e,t);zt(e,X(je,e)),xt(e,-1),Z(je,e)},Jt=(e,t)=>me(i,e,t),Lt=(e,t,s)=>me(_(O,e,Q),t,s)&&Z(w,e,_(w,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=X(ze,e),a=X(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&me(_(m,e,Q),s,l),Z(n,s,a!=-l?a+l:null),me(_(_(j,e,Q),t,Q),s,l)},Ft=(e,t,s,l,n)=>_(_(_(k,e,Q),t,Q),s,(()=>[l,0]))[1]=n,xt=(e,t)=>me(M,e,t),zt=(e,t,s)=>_(de,e,(()=>[t,0]))[1]=s,Ot=(e,t,s,l,n)=>(z(_(_(_(pe,e,Q),t,Q),s,(()=>[])),l),n),jt=(e,t,s)=>(z(_(Ie,e,(()=>[])),t),s),kt=(e,t,s)=>I(X(X(X(k,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...he(Yt(e,t,s))])),At=e=>I(X(de,e),(([e,t])=>[!0,e,t]),(()=>[!1,...he(es(e))])),Mt=e=>q(pe)||q(Ge[e])?0:H(e?oe(pe):pe,((t,s)=>H(t,((t,l)=>H(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),Nt=e=>q(Ie)||q(He[e])?0:H(e?ne(Ie):Ie,((t,s)=>_e(He[e],[s],t))),Pt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>te(t))),1},Bt=e=>{const t=q(De[e]),s=q($e[e])&&q(Ne[e])&&q(Pe[e])&&q(Be[e])&&t&&q(Ae[e]),l=q(qe[e])&&q(We[e])&&q(Me[e])&&q(ke[e]);if(!s||!l){const n=e?[ne(i),ae(m),ne(w),ae(O),oe(j),oe(k)]:[i,m,w,O,j,k];if(!s){Pt(Ae[e],n[0]),H(n[1],((t,s)=>Pt(Ne[e],t,[s]))),H(n[2],((t,s)=>{0!=t&&_e(Pe[e],[s],Kt(s))}));const s=ce();H(n[3],((l,n)=>{Pt(Be[e],l,[n])&&!t&&(_e(De[e],[n,null]),ie(s,n))})),t||H(n[5],((t,l)=>{if(!$(s,l)){const s=ce();H(t,(e=>H(e,(([t,l],n)=>l!==t?ie(s,n):K(e,n))))),H(s,(t=>_e(De[e],[l,t])))}})),H(n[4],((t,s)=>H(t,((t,l)=>Pt($e[e],t,[s,l])))))}if(!l){let t;H(n[5],((s,l)=>{let n;H(s,((s,a)=>{let o;H(s,(([s,r],c)=>{r!==s&&(_e(qe[e],[l,a,c],r,s,kt),t=n=o=1)})),o&&_e(We[e],[l,a],kt)})),n&&_e(Me[e],[l],kt)})),t&&_e(ke[e],void 0,kt)}}},Dt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[ne(M),ne(de)]:[M,de];if(t||Pt(Qe[e],l[0]),!s){let t;H(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,At),t=1)})),t&&_e(Ke[e],void 0,At)}}},Wt=(e,...t)=>(hs((()=>e(...F(t,y)))),Ts),$t=()=>[te(k,((e,t)=>-1===X(i,t)?null:te(e,((e,s)=>-1===X(X(O,t),s)?null:te(e,(([,e])=>e??null),((e,t)=>Te(t)))),D)),D),te(de,(([,e])=>e??null),((e,t)=>Te(t)))],qt=()=>({cellsTouched:l,valuesTouched:n,changedCells:le(k,ge,Te),invalidCells:le(pe),changedValues:te(de,ge,Te),invalidValues:te(Ie),changedTableIds:te(i),changedRowIds:se(O),changedCellIds:le(j),changedValueIds:te(M)}),Gt=()=>le(Oe),Ht=()=>U(Oe),Kt=e=>W(X(Oe,y(e))),Qt=e=>U(X(Oe,y(e))),Ut=(e,t,s,l=0,n)=>{return F(L((o=X(Oe,y(e)),r=(e,s)=>[p(t)?s:X(e,y(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,p(n)?n:l+n),(([,e])=>e));var a,o,r},Xt=(e,t)=>U(X(X(Oe,y(e)),y(t))),Yt=(e,t,s)=>X(X(X(Oe,y(e)),y(t)),y(s)),Zt=()=>te(je),_t=()=>U(je),es=e=>X(je,y(e)),ts=e=>Wt((()=>(e=>ye(e,lt,Ot))(e)?ft(e):0)),ss=e=>Wt((()=>ot(e)?St(e):0)),ls=e=>{try{ht(ve(e))}catch{}return Ts},ns=t=>Wt((()=>{if((e=ye(t,(e=>ye(e,st))))&&(dt(t),!q(Oe))){const e=Gt();os(),ts(e)}})),as=e=>Wt((()=>{if(t=(e=>ye(e,st))(e)){const s=Zt();us(),is(),t=!0,ut(e),ss(s)}})),os=()=>Wt((()=>ft({}))),rs=e=>Wt((e=>$(Oe,e)?wt(e):0),e),cs=(e,t)=>Wt(((e,t)=>I(X(Oe,e),(s=>$(s,t)?pt(e,s,t):0))),e,t),is=()=>Wt((()=>St({}))),ds=()=>Wt((()=>{dt({}),e=!1})),us=()=>Wt((()=>{ut({}),t=!1})),hs=(e,t)=>{if(-1!=o){fs();const s=e();return gs(t),s}},fs=()=>(-1!=o&&o++,1==o&&_e(Xe,void 0,$t,qt),Ts),gs=e=>(o>0&&(o--,0==o&&(l=!q(k),n=!q(de),o=1,Mt(1),l&&Bt(1),Nt(1),n&&Dt(1),e?.($t,qt)&&(H(k,((e,t)=>H(e,((e,s)=>H(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),H(de,(([e],t)=>Ce(Ts,t,e))),l=n=!1),_e(Ye[0],void 0,$t,qt),o=-1,Mt(0),l&&Bt(0),Nt(0),n&&Dt(0),_e(Ye[1],void 0,$t,qt),o=0,l=n=!1,E([i,m,w,O,j,k,pe,M,de,Ie],G))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>se(X(Oe,y(e))),getTableCellIds:e=>U(X(ze,y(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>te(X(X(Oe,y(e)),y(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(Oe),hasTable:e=>$(Oe,y(e)),hasTableCell:(e,t)=>$(X(ze,y(e)),y(t)),hasRow:(e,t)=>$(X(Oe,y(e)),y(t)),hasCell:(e,t,s)=>$(X(X(Oe,y(e)),y(t)),y(s)),hasValues:()=>!q(je),hasValue:e=>$(je,y(e)),getTablesJson:()=>Se(Oe),getValuesJson:()=>Se(je),getJson:()=>Se([Oe,je]),getTablesSchemaJson:()=>Se(Re),getValuesSchemaJson:()=>Se(Le),getSchemaJson:()=>Se([Re,Le]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Wt((()=>{(D(e)?os:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>Wt((e=>lt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>nt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=y(e),Tt(e,mt(e),l=yt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(nt(e,t,s,1)){const l=mt(e);B(s,((s,n)=>Vt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Wt(((e,t,s)=>I(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>Vt(e,mt(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>Wt((()=>ot(e,1)?B(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>Wt((e=>I(rt(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{B(e[0],((e,t)=>p(e)?rs(t):B(e,((e,s)=>p(e)?cs(t,s):B(e,((e,l)=>Ve(Ts,t,s,l,e))))))),B(e[1],((e,t)=>Ce(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(ve(e))}catch{}return Ts},setJson:e=>Wt((()=>{try{const[t,s]=ve(e);ht(t),Ct(s)}catch{ls(e)}})),setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:cs,delCell:(e,t,s,l)=>Wt(((e,t,s)=>I(X(Oe,e),(n=>I(X(n,t),(a=>$(a,s)?It(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>$(je,e)?Rt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>Wt((()=>{ds(),us()})),transaction:hs,startTransaction:fs,finishTransaction:gs,forEachTable:e=>H(Oe,((t,s)=>e(s,(e=>H(t,((t,s)=>e(s,(e=>Y(t,e))))))))),forEachTableCell:(e,t)=>Y(X(ze,y(e)),t),forEachRow:(e,t)=>H(X(Oe,y(e)),((e,s)=>t(s,(t=>Y(e,t))))),forEachCell:(e,t,s)=>Y(X(X(Oe,y(e)),y(t)),s),forEachValue:e=>Y(je,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=Ut(e,t,s,l,n);return Ze((()=>{const o=Ut(e,t,s,l,n);var c,i,d;i=r,x(c=o)===x(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(Ts,e,t,s,l,n,r))}),De[o?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:we,addListener:Ze,callListeners:_e};return B({[u]:[0,ke],[h]:[0,Ae],[d]:[1,Me,[Ht]],[d+V]:[1,Ne,[Ht]],[g]:[1,Pe,[Ht]],[T]:[1,Be,[Ht]],[f]:[2,We,[Ht,Qt]],[V]:[2,$e,[Ht,Qt]],[b]:[3,qe,[Ht,Qt,Xt],e=>he(Yt(...e))],InvalidCell:[3,Ge],[S]:[0,Ke],[v]:[0,Qe],[C]:[1,Ue,[_t],e=>he(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?L(n,0,e):void 0,s,l)})),A(Ts)};e.createStore=we},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
package/lib/umd/store.js.gz
CHANGED
|
Binary file
|
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),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",I=w+"Count",S=w+h,T="Sorted"+w+h,R="Cell",v=R+h,y="Value",C=y+"s",p=y+h,b=e=>s+e,m=Math.max,V=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,ie=(e,t)=>e?.has(t)??!1,le=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()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(ie(e,t)||Ie(e,t,s()),Le(e,t)),Te=(e,t,s,n=Ie)=>(ae(t,((t,n)=>s(e,n,t))),we(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},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),ye=(e,t,s)=>Re(e,(e=>ve(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),me=(e,t,s,n,a=0)=>x((s?Se:Le)(e,t[a],a>$(t)-2?s:ge),(o=>{if(a>$(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=me(o,t,s,n,a+1);return le(o)&&Ie(e,t[a]),r})),Ve=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,n,a)=>{const o=e.hasRow,r=ge(),i=ge(),l=ge(),c=ge(),d=ge(),u=ge(),h=(t,s,...n)=>{const a=Se(u,t,Me);return P(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(Le(u,t),(n=>{P(q(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),le(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),ie(i,e)||(Ie(i,e,t()),Ie(c,e,ge()),Ie(d,e,ge()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>fe(r),e=>we(i,e),e=>ie(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=ge(),u=ge(),L=Le(c,t),w=Le(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=Le(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&N(c,d)||Ie(l,t,[c,d]),!M(i)){const e=Le(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},S=e=>{a((()=>{ue(l,(([,e],t)=>Ie(L,t,e))),ue(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),de(l),de(u)};we(L,I),e.hasTable(n)&&P(e.getRowIds(n),(e=>{ie(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,l),()=>we(u,L),h,g]},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,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),xe(me(r,i??[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(Le(e,t),s+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](t,...n??[],...a))))),e=>x(Le(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(he(t,e),le(t)?1:0))),Ie(o,e),a(e),n))),e=>x(Le(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=$(r);i==$(s)?e(t,...r,...a(r)):M(s[i])?P(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Ne=Ae((e=>{let t,n,a,o=100,r=ge(),i=ge(),l=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>F)),f=ge(),L=ge(),w=[],I=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=Le(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])))})),l=1},T=e=>{Ie(f,e),Ie(L,e),h(d,[e])},R=(e,t)=>P(((e,t)=>e.splice(0,t))(e,t??$(e)),T),v=()=>R(w,$(w)-o),y=()=>x(t,(()=>{K(w,t),v(),R(I),t=void 0,a=1})),C=()=>{t=U(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){y();const e=Se(r,t,ge),i=Se(e,s,ge),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&le(Ie(i,n))&&le(Ie(e,s))&&le(Ie(r,t))&&C(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Ie(i,t))&&C(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=ge(),i=ge(),a=1),t),V=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(I,m()),S(0,t),t=U(w),a=1)},E=()=>{q(I)||(K(w,t),t=X(I),S(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&Le(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>ie(f,e),F={setSize:e=>(o=e,v(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...I]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:A,getCheckpoint:e=>Le(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=Q(w,e)?V:Q(I,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(w),R(I),M(t)||T(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]=ze((()=>T)),[i,l,c,d,u,h,g,,f,L,w,I]=De(e,ge,(e=>M(e)?s:A(e)?B(e,b):b(e)),a,o),S=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=Me(),I=Me(),S=h(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(w,e),x(Le(S,e),(t=>{he(t,s),le(t)&&(Ie(S,e),L=1)}))})),ue(a,(e=>{xe(w,e),ie(S,e)||(Ie(S,e,Me()),L=1),xe(Le(S,e),s),M(r)||xe(I,e)}))})),s(),le(u)||(f?we(S,(e=>xe(I,e))):we(i,(e=>x(Le(d,e),(e=>xe(I,e))))),ue(I,(e=>{const t=(t,s)=>l(Le(u,t),Le(u,s),e),s=[...Le(S,e)];j(s,t)||(Ie(S,e,Me(O(s,t))),xe(w,e))}))),(L||f)&&!M(c)){const t=[...S];j(t,c)||(g(e,ge(O(t,c))),L=1)}L&&o(t,[e]),ue(w,(t=>o(n,[e,t])))}),Je(a),x(r,Je)),T},delIndexDefinition:e=>(L(e),T),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ie(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>ce(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),T),destroy:I,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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>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(le(s))return;const[r,i,l,c]=a;return o||=M(e),ue(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(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]=ze((()=>I)),[r,i,l,c,d,u,h,,g,f,L,w]=De(e,F,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),I={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:Le(Pe,n)??Le(Pe,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=re(r);l||=M(d),s();let f=Be(d,g,r,n,c,l);E(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return ee(I)})),$e=ge(),qe=ge(),Ge=Ae((e=>{const t=e.createStore,n=t(),a=t(),o=ge(),{addListener:r,callListeners:i,delListener:l}=a,[h,f,L,y,C,,,p,,b,m,V,E,k]=De(e,(()=>!0),F,r,i),D=(e,t,...s)=>P(s,(s=>xe(Se(Se(o,t,ge),e,Me),s))),A=e=>{x(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),P([a,n],(t=>t.delTable(e)))},Q=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),N={setQueryDefinition:(t,o,r)=>{p(t,o),A(t);const i=[],l=[[null,[o,null,null,[],ge()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[$(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,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(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,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]:Le(Pe,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=ge(i);if(le(h))return N;const g=ge(l);we(g,((e,[,t])=>x(Le(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=ge(d);let L=n;if(le(f)&&q(u))L=a;else{Q(t,L,a);const e=ge();we(f,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();we(h,(t=>ie(e,t)?0:xe(s,t)));const n=ge(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{we(n,((t,[s])=>{const n=Se(i,t,ge),a=Le(n,o),l=r?void 0:s;if(a!==l){const s=Me([[a,l]]),r=re(n);Ie(n,o,l),ue(Le(e,t),(([e,t])=>{const a=Be(d[e],r,n,s,t);d[e]=M(Ve(a))?null:a}))}})),le(l)||!z(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ge(),h=L.hasRow(t,i);let g=!h;ue(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),we(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(me(n,c,void 0,(([,e])=>(he(e,i),le(e)))),u,i,1),h&&o(me(n,d,(()=>{const e={};return ue(s,(s=>e[s]=L.getCell(t,i,s))),[ge(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}Q(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);P(r,(n=>{const[a,,o,r,l]=Le(g,n),c=o?.(i,s),[d,u]=Le(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[Le(g,t)?.[0],Le(Le(g,t)?.[4],s)?.[0],n]);L.transaction((()=>z(c,(e=>e(n)))?we(h,((e,a)=>Ee(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:I}=Le(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(t,a),ue(g,(({4:e})=>x(Le(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),N},delQueryDefinition:e=>(A(e),b(e),N),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>m((()=>e(N))),delListener:e=>(l(e),N),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+v]:[0,1],[I]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{P(e?["get","has","forEach"]:["get"],(e=>N[e+d+s]=(...t)=>a[e+s](...t))),N[u+d+s+c]=(...e)=>a[u+s+c](...H(e,0,t),((s,...n)=>e[t](N,...n)))})),ee(N)})),He=Ae((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,i,l]=ze((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>M(e)?void 0:e+s),r,i),T=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ie(a,t)){const o=Me();if(g(e)!=v(e))xe(o,t);else{let e=t;for(;!M(e)&&!ie(o,e);)xe(o,e),e=Le(n,e)}if(s)return o;Ie(a,t,o)}return Le(a,t)})),R=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),v=e=>Le(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=Me(),l=Me(),c=Me(),[d,u]=f(e);ue(s,(([t,s],n)=>{M(t)||(xe(l,t),x(Le(u,t),(e=>{he(e,n),le(e)&&Ie(u,t)}))),M(s)||(xe(l,s),ie(u,s)||Ie(u,s,Me()),xe(Le(u,s),n)),xe(r,n),Ie(d,n,s),we(Le(o,e),(t=>{ie(T(e,t),n)&&xe(c,t)}))})),t(),ue(r,(t=>i(n,[e,t]))),ue(l,(t=>i(a,[e,t]))),ue(c,(t=>{R(e,t),i(o,[e,t])}))}),Je(l)),y),delRelationshipDefinition:e=>(Ie(t,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:v,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ce(T(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),r(s,o,[e,t])),delListener:e=>(R(...l(e)??[]),y),destroy:S,getListenerStats:()=>({})};return ee(y)})),Ke=e=>[e,e],Ue=()=>[ge(),ge()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>k(t,Map)?Y.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>M(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),tt=(e,t,s)=>Ie(e,t,Le(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),T=ge(),m=ge(),V=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=Ue(),_=Ue(),te=Ue(),ce=Ue(),me=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),Fe=Ue(),Ne=Ue(),Oe=Ue(),Pe=Ue(),Be=Ue(),We=Ue(),$e=Ue(),qe=ge(),Ge=Ue(),[He,nt,at,ot]=ze((()=>Ts)),rt=e=>{if(!et(e,((e,t)=>Q([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},it=(t,s)=>(!e||ie(z,s)||zt(s))&&et(t,((e,t)=>lt(s,t,e)),(()=>zt(s))),lt=(e,t,s,n)=>et(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(Le(Le(z,t),n),(e=>Ve(a)!=e[i]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):M(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>x(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?x(Le(W,e),(t=>Ve(s)!=t[i]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):M(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(x(Le(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=>Te(z,e,((e,t,s)=>{const n=ge(),a=Me();Te(Se(z,t,ge),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>xe(a,t)))})),Ie(j,t,[n,a])}),((e,t)=>{Ie(z,t),Ie(j,t)})),Lt=e=>Te(W,e,((e,t,s)=>{Ie(W,t,s),x(s[l],(e=>Ie($,t,e)),(()=>xe(q,t)))}),((e,t)=>{Ie(W,t),Ie($,t),he(q,t)})),wt=e=>oe(e)?ds():os(e),It=e=>Te(X,e,((e,t,s)=>St(t,s)),((e,t)=>Vt(t))),St=(e,t)=>Te(Se(X,e,(()=>(xt(e,1),Ie(G,e,Qe()),Ie(U,e,ge()),ge()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>Et(e,t,s))),Tt=(e,t,s,n,a)=>Te(Se(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)=>{ie(s,n)||Jt(e,t,n,1);const o=Le(s,n);a!==o&&(At(e,t,n,o,a),Ie(s,n,a))},vt=(e,t,s,n,a)=>x(Le(t,s),(t=>Rt(e,s,t,n,a)),(()=>Tt(e,t,s,ht({[n]:a},e,s)))),yt=e=>oe(e)?gs():rs(e),Ct=e=>Te(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{ie(Y,e)||Ft(e,1);const s=Le(Y,e);t!==s&&(Qt(e,s,t),Ie(Y,e,t))},bt=(e,t)=>{const[s]=Le(G,e),n=s(t);return ie(Le(X,e),n)?bt(e,t):n},mt=e=>Le(X,e)??St(e,{}),Vt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=Le(G,e);n(s),Tt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=Le(Le(j,e)?.[0],a);if(!M(r)&&!o)return Rt(e,s,n,a,r);const i=t=>{At(e,s,t,Le(n,t)),Jt(e,s,t,-1),Ie(n,t)};M(r)?i(a):we(n,i),le(n)&&(Dt(e,s,-1),le(Ie(t,s))&&(xt(e,-1),Ie(X,e),Ie(G,e),Ie(U,e)))},Mt=e=>{const t=Le($,e);if(!M(t))return pt(e,t);Qt(e,Le(Y,e)),Ft(e,-1),Ie(Y,e)},xt=(e,t)=>tt(r,e,t),Dt=(e,t,s)=>tt(Se(T,e,ge),t,s)&&Ie(h,e,Se(h,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Se(d,e,ge),s,n),Ie(a,s,o!=-n?o+n:null),tt(Se(Se(m,e,ge),t,ge),s,n)},At=(e,t,s,n,a)=>Se(Se(Se(V,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(K(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),Nt=(e,t,s)=>(K(Se(F,e,(()=>[])),t),s),jt=(e,t,s)=>x(Le(Le(Le(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),Ot=e=>x(Le(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(A)||le(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=>le(F)||le(Pe[e])?0:ue(e?Ce(F):F,((t,s)=>nt(Pe[e],[s],t))),Wt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(Fe[e])&&le(ce[e])&&le(me[e])&&le(De[e])&&t&&le(_[e]),n=le(Ne[e])&&le(Ae[e])&&le(te[e])&&le(Z[e]);if(!s||!n){const a=e?[Ce(r),pe(d),Ce(h),pe(T),be(m),be(V)]:[r,d,h,T,m,V];if(!s){Wt(_[e],a[0]),ue(a[1],((t,s)=>Wt(ce[e],t,[s]))),ue(a[2],((t,s)=>{0!=t&&nt(me[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(!ie(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,i],l)=>{i!==s&&(nt(Ne[e],[n,o,l],i,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=le(We[e]),s=le($e[e])&&le(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)=>(ws((()=>e(...B(t,b)))),Ts),Ht=()=>[Re(V,((e,t)=>-1===Le(r,t)?null:Re(e,((e,s)=>-1===Le(Le(T,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),oe)),oe),Re(k,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(V,Xe,Ye),invalidCells:ye(A),changedValues:Re(k,Xe,Ye),invalidValues:Re(F),changedTableIds:Re(r),changedRowIds:ve(T),changedCellIds:ye(m),changedValueIds:Re(E)}),Ut=()=>ye(X),Xt=()=>fe(X),Yt=e=>re(Le(X,b(e))),Zt=e=>fe(Le(X,b(e))),_t=(e,t,s,n=0,a)=>{return B(H(O((o=Le(X,b(e)),r=(e,s)=>[M(t)?s:Le(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(Le(Le(X,b(e)),b(t))),ts=(e,t,s)=>Le(Le(Le(X,b(e)),b(t)),b(s)),ss=()=>Re(Y),ns=()=>fe(Y),as=e=>Le(Y,b(e)),os=e=>Gt((()=>(e=>et(e,it,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),is=e=>{try{wt(_e(e))}catch{}return Ts},ls=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hs=(e,t)=>Gt(((e,t)=>x(Le(X,e),(s=>ie(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=a){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=a&&a++,1==a&&nt(qe,void 0,Ht,Kt),Ts),Ss=e=>(a>0&&(a--,0==a&&(s=!le(V),n=!le(k),a=1,Pt(1),s&&$t(1),Bt(1),n&&qt(1),e?.(Ht,Kt)&&(ue(V,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(Ts,t,s,n,e))))))),ue(k,(([e],t)=>ke(Ts,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),a=-1,Pt(0),s&&$t(0),Bt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),a=0,s=n=!1,P([r,d,h,T,m,V,A,E,k,F],de))),Ts),Ts={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(Le(X,b(e))),getTableCellIds:e=>fe(Le(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(Le(Le(X,b(e)),b(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(Le(U,b(e)),b(t)),hasRow:(e,t)=>ie(Le(X,b(e)),b(t)),hasCell:(e,t,s)=>ie(Le(Le(X,b(e)),b(t)),b(s)),hasValues:()=>!le(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(z),getValuesSchemaJson:()=>Ze(W),getSchemaJson:()=>Ze([z,W]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?ds:os)(e),(oe(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>it(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>lt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return lt(e,n,t)&&(e=b(e),Tt(e,mt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(lt(e,t,s,1)){const n=mt(e);ae(s,((s,a)=>vt(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=>vt(e,mt(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(Ts,t,s,n,e))))))),ae(e[1],((e,t)=>ke(Ts,t,e)))})),setTablesJson:is,setValuesJson:e=>{try{yt(_e(e))}catch{}return Ts},setJson:e=>Gt((()=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{is(e)}})),setTablesSchema:ls,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{ls(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>x(Le(X,e),(a=>x(Le(a,t),(o=>ie(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>ie(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,b(e)),t),forEachRow:(e,t)=>ue(Le(X,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,b(e)),b(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);N(r,i)||(i=r,o(Ts,e,t,s,n,a,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Ts),delListener:e=>(at(e),Ts),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ae({[f]:[0,Z],[L]:[0,_],[g]:[1,te,[Xt]],[g+v]:[1,ce,[Xt]],[I]:[1,me,[Xt]],[S]:[1,De,[Xt]],[w]:[2,Ae,[Xt,Zt]],[v]:[2,Fe,[Xt,Zt]],[R]:[3,Ne,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,Oe],[C]:[0,Be],[p]:[0,We],[y]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Ts[u+a+c]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?H(a,0,e):void 0,s,n)})),ee(Ts)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let i,l,c,d=0,u=0;Se($e,r,(()=>0)),Se(qe,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=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),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(x(i,e.delListener),g),schedule:async(...e)=>(K(Le(qe,r),...e),await(async()=>{if(!Le($e,r)){for(Ie($e,r,1);!M(l=X(Le(qe,r)));)try{await l()}catch(e){o?.(e)}Ie($e,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=Ge,e.createRelationships=He,e.createStore=st,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={});
|
|
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),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",I=w+"Count",S=w+h,T="Sorted"+w+h,R="Cell",v=R+h,y="Value",C=y+"s",p=y+h,b=e=>s+e,m=Math.max,V=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=(e,t,s)=>e.slice(t,s),Q=()=>{},z=(e,t)=>e.includes(t),N=(e,t)=>e.every(t),j=(e,t)=>q(e)===q(t)&&N(e,((e,s)=>t[s]===e)),O=(e,t)=>N(e,((s,n)=>0==n||t(e[n-1],s)<=0)),P=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),$=e=>H(e,((e,t)=>e+t),0),q=e=>e.length,G=e=>0==q(e),H=(e,t,s)=>e.reduce(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)=>W(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>q(Z(e)))(e),re=e=>e?.size??0,ie=(e,t)=>e?.has(t)??!1,le=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()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(ie(e,t)||Ie(e,t,s()),Le(e,t)),Te=(e,t,s,n=Ie)=>(ae(t,((t,n)=>s(e,n,t))),we(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},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),ye=(e,t,s)=>Re(e,(e=>ve(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),me=(e,t,s,n,a=0)=>x((s?Se:Le)(e,t[a],a>q(t)-2?s:ge),(o=>{if(a>q(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=me(o,t,s,n,a+1);return le(o)&&Ie(e,t[a]),r})),Ve=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,n,a)=>{const o=e.hasRow,r=ge(),i=ge(),l=ge(),c=ge(),d=ge(),u=ge(),h=(t,s,...n)=>{const a=Se(u,t,Me);return B(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(Le(u,t),(n=>{B(G(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),le(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),ie(i,e)||(Ie(i,e,t()),Ie(c,e,ge()),Ie(d,e,ge()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>fe(r),e=>we(i,e),e=>ie(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=ge(),u=ge(),L=Le(c,t),w=Le(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=Le(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&j(c,d)||Ie(l,t,[c,d]),!M(i)){const e=Le(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},S=e=>{a((()=>{ue(l,(([,e],t)=>Ie(L,t,e))),ue(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),de(l),de(u)};we(L,I),e.hasTable(n)&&B(e.getRowIds(n),(e=>{ie(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,l),()=>we(u,L),h,g]},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)&&q(e)<1e3&&K(e,t)}]},ze=e=>{let t;const[n,a]=Qe(),o=ge();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),xe(me(r,i??[s],Me),d),d},(e,n,...a)=>B(((e,t=[s])=>{const n=[],a=(e,s)=>s==q(t)?K(n,e):null===t[s]?ue(e,(e=>a(e,s+1))):B([t[s],null],(t=>a(Le(e,t),s+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](t,...n??[],...a))))),e=>x(Le(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(he(t,e),le(t)?1:0))),Ie(o,e),a(e),n))),e=>x(Le(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=q(r);i==q(s)?e(t,...r,...a(r)):M(s[i])?B(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Ne=Ae((e=>{let t,n,a,o=100,r=ge(),i=ge(),l=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>F)),f=ge(),L=ge(),w=[],I=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=Le(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])))})),l=1},T=e=>{Ie(f,e),Ie(L,e),h(d,[e])},R=(e,t)=>B(((e,t)=>e.splice(0,t))(e,t??q(e)),T),v=()=>R(w,q(w)-o),y=()=>x(t,(()=>{K(w,t),v(),R(I),t=void 0,a=1})),C=()=>{t=U(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){y();const e=Se(r,t,ge),i=Se(e,s,ge),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&le(Ie(i,n))&&le(Ie(e,s))&&le(Ie(r,t))&&C(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Ie(i,t))&&C(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=ge(),i=ge(),a=1),t),V=()=>{G(w)||(((e,...t)=>{e.unshift(...t)})(I,m()),S(0,t),t=U(w),a=1)},E=()=>{G(I)||(K(w,t),t=X(I),S(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&Le(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>ie(f,e),F={setSize:e=>(o=e,v(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...I]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:A,getCheckpoint:e=>Le(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=z(w,e)?V:z(I,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(w),R(I),M(t)||T(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]=ze((()=>T)),[i,l,c,d,u,h,g,,f,L,w,I]=De(e,ge,(e=>M(e)?s:A(e)?W(e,b):b(e)),a,o),S=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=Me(),I=Me(),S=h(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(w,e),x(Le(S,e),(t=>{he(t,s),le(t)&&(Ie(S,e),L=1)}))})),ue(a,(e=>{xe(w,e),ie(S,e)||(Ie(S,e,Me()),L=1),xe(Le(S,e),s),M(r)||xe(I,e)}))})),s(),le(u)||(f?we(S,(e=>xe(I,e))):we(i,(e=>x(Le(d,e),(e=>xe(I,e))))),ue(I,(e=>{const t=(t,s)=>l(Le(u,t),Le(u,s),e),s=[...Le(S,e)];O(s,t)||(Ie(S,e,Me(P(s,t))),xe(w,e))}))),(L||f)&&!M(c)){const t=[...S];O(t,c)||(g(e,ge(P(t,c))),L=1)}L&&o(t,[e]),ue(w,(t=>o(n,[e,t])))}),Je(a),x(r,Je)),T},delIndexDefinition:e=>(L(e),T),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ie(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>ce(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),T),destroy:I,getListenerStats:()=>({})};return ee(T)})),Pe=ge([["avg",[(e,t)=>$(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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Be=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,i,l,c]=a;return o||=M(e),ue(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(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]=ze((()=>I)),[r,i,l,c,d,u,h,,g,f,L,w]=De(e,Q,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),I={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:Le(Pe,n)??Le(Pe,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=re(r);l||=M(d),s();let f=Be(d,g,r,n,c,l);E(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return ee(I)})),$e=ge(),qe=ge(),Ge=Ae((e=>{const t=e.createStore,n=t(),a=t(),o=ge(),{addListener:r,callListeners:i,delListener:l}=a,[h,f,L,y,C,,,p,,b,m,V,E,k]=De(e,(()=>!0),Q,r,i),D=(e,t,...s)=>B(s,(s=>xe(Se(Se(o,t,ge),e,Me),s))),A=e=>{x(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),B([a,n],(t=>t.delTable(e)))},z=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),j={setQueryDefinition:(t,o,r)=>{p(t,o),A(t);const i=[],l=[[null,[o,null,null,[],ge()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,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(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,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]:Le(Pe,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=ge(i);if(le(h))return j;const g=ge(l);we(g,((e,[,t])=>x(Le(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=ge(d);let L=n;if(le(f)&&G(u))L=a;else{z(t,L,a);const e=ge();we(f,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();we(h,(t=>ie(e,t)?0:xe(s,t)));const n=ge(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{we(n,((t,[s])=>{const n=Se(i,t,ge),a=Le(n,o),l=r?void 0:s;if(a!==l){const s=Me([[a,l]]),r=re(n);Ie(n,o,l),ue(Le(e,t),(([e,t])=>{const a=Be(d[e],r,n,s,t);d[e]=M(Ve(a))?null:a}))}})),le(l)||!N(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ge(),h=L.hasRow(t,i);let g=!h;ue(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),we(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(me(n,c,void 0,(([,e])=>(he(e,i),le(e)))),u,i,1),h&&o(me(n,d,(()=>{const e={};return ue(s,(s=>e[s]=L.getCell(t,i,s))),[ge(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}z(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);B(r,(n=>{const[a,,o,r,l]=Le(g,n),c=o?.(i,s),[d,u]=Le(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[Le(g,t)?.[0],Le(Le(g,t)?.[4],s)?.[0],n]);L.transaction((()=>N(c,(e=>e(n)))?we(h,((e,a)=>Ee(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:I}=Le(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(t,a),ue(g,(({4:e})=>x(Le(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),j},delQueryDefinition:e=>(A(e),b(e),j),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>m((()=>e(j))),delListener:e=>(l(e),j),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+v]:[0,1],[I]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{B(e?["get","has","forEach"]:["get"],(e=>j[e+d+s]=(...t)=>a[e+s](...t))),j[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](j,...n)))})),ee(j)})),He=Ae((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,i,l]=ze((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>M(e)?void 0:e+s),r,i),T=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ie(a,t)){const o=Me();if(g(e)!=v(e))xe(o,t);else{let e=t;for(;!M(e)&&!ie(o,e);)xe(o,e),e=Le(n,e)}if(s)return o;Ie(a,t,o)}return Le(a,t)})),R=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),v=e=>Le(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=Me(),l=Me(),c=Me(),[d,u]=f(e);ue(s,(([t,s],n)=>{M(t)||(xe(l,t),x(Le(u,t),(e=>{he(e,n),le(e)&&Ie(u,t)}))),M(s)||(xe(l,s),ie(u,s)||Ie(u,s,Me()),xe(Le(u,s),n)),xe(r,n),Ie(d,n,s),we(Le(o,e),(t=>{ie(T(e,t),n)&&xe(c,t)}))})),t(),ue(r,(t=>i(n,[e,t]))),ue(l,(t=>i(a,[e,t]))),ue(c,(t=>{R(e,t),i(o,[e,t])}))}),Je(l)),y),delRelationshipDefinition:e=>(Ie(t,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:v,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ce(T(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),r(s,o,[e,t])),delListener:e=>(R(...l(e)??[]),y),destroy:S,getListenerStats:()=>({})};return ee(y)})),Ke=e=>[e,e],Ue=()=>[ge(),ge()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>k(t,Map)?Y.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>M(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),tt=(e,t,s)=>Ie(e,t,Le(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),T=ge(),m=ge(),V=ge(),E=ge(),k=ge(),A=ge(),Q=ge(),N=ge(),O=ge(),$=ge(),q=ge(),G=Me(),H=ge(),U=ge(),X=ge(),Y=ge(),Z=Ue(),_=Ue(),te=Ue(),ce=Ue(),me=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),Fe=Ue(),Ne=Ue(),Oe=Ue(),Pe=Ue(),Be=Ue(),We=Ue(),$e=Ue(),qe=ge(),Ge=Ue(),[He,nt,at,ot]=ze((()=>Ts)),rt=e=>{if(!et(e,((e,t)=>z([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},it=(t,s)=>(!e||ie(N,s)||zt(s))&&et(t,((e,t)=>lt(s,t,e)),(()=>zt(s))),lt=(e,t,s,n)=>et(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(Le(Le(N,t),n),(e=>Ve(a)!=e[i]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):M(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>x(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?x(Le($,e),(t=>Ve(s)!=t[i]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):M(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(x(Le(O,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(q,((t,s)=>{se(e,s)||(e[s]=t)})),ue(G,(t=>{se(e,t)||Nt(t)}))),e),ft=e=>Te(N,e,((e,t,s)=>{const n=ge(),a=Me();Te(Se(N,t,ge),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>xe(a,t)))})),Ie(O,t,[n,a])}),((e,t)=>{Ie(N,t),Ie(O,t)})),Lt=e=>Te($,e,((e,t,s)=>{Ie($,t,s),x(s[l],(e=>Ie(q,t,e)),(()=>xe(G,t)))}),((e,t)=>{Ie($,t),Ie(q,t),he(G,t)})),wt=e=>oe(e)?ds():os(e),It=e=>Te(X,e,((e,t,s)=>St(t,s)),((e,t)=>Vt(t))),St=(e,t)=>Te(Se(X,e,(()=>(xt(e,1),Ie(H,e,Qe()),Ie(U,e,ge()),ge()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>Et(e,t,s))),Tt=(e,t,s,n,a)=>Te(Se(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)=>{ie(s,n)||Jt(e,t,n,1);const o=Le(s,n);a!==o&&(At(e,t,n,o,a),Ie(s,n,a))},vt=(e,t,s,n,a)=>x(Le(t,s),(t=>Rt(e,s,t,n,a)),(()=>Tt(e,t,s,ht({[n]:a},e,s)))),yt=e=>oe(e)?gs():rs(e),Ct=e=>Te(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{ie(Y,e)||Ft(e,1);const s=Le(Y,e);t!==s&&(Qt(e,s,t),Ie(Y,e,t))},bt=(e,t)=>{const[s]=Le(H,e),n=s(t);return ie(Le(X,e),n)?bt(e,t):n},mt=e=>Le(X,e)??St(e,{}),Vt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=Le(H,e);n(s),Tt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=Le(Le(O,e)?.[0],a);if(!M(r)&&!o)return Rt(e,s,n,a,r);const i=t=>{At(e,s,t,Le(n,t)),Jt(e,s,t,-1),Ie(n,t)};M(r)?i(a):we(n,i),le(n)&&(Dt(e,s,-1),le(Ie(t,s))&&(xt(e,-1),Ie(X,e),Ie(H,e),Ie(U,e)))},Mt=e=>{const t=Le(q,e);if(!M(t))return pt(e,t);Qt(e,Le(Y,e)),Ft(e,-1),Ie(Y,e)},xt=(e,t)=>tt(r,e,t),Dt=(e,t,s)=>tt(Se(T,e,ge),t,s)&&Ie(h,e,Se(h,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Se(d,e,ge),s,n),Ie(a,s,o!=-n?o+n:null),tt(Se(Se(m,e,ge),t,ge),s,n)},At=(e,t,s,n,a)=>Se(Se(Se(V,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(K(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),Nt=(e,t,s)=>(K(Se(Q,e,(()=>[])),t),s),jt=(e,t,s)=>x(Le(Le(Le(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),Ot=e=>x(Le(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(A)||le(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=>le(Q)||le(Pe[e])?0:ue(e?Ce(Q):Q,((t,s)=>nt(Pe[e],[s],t))),Wt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(Fe[e])&&le(ce[e])&&le(me[e])&&le(De[e])&&t&&le(_[e]),n=le(Ne[e])&&le(Ae[e])&&le(te[e])&&le(Z[e]);if(!s||!n){const a=e?[Ce(r),pe(d),Ce(h),pe(T),be(m),be(V)]:[r,d,h,T,m,V];if(!s){Wt(_[e],a[0]),ue(a[1],((t,s)=>Wt(ce[e],t,[s]))),ue(a[2],((t,s)=>{0!=t&&nt(me[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(!ie(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,i],l)=>{i!==s&&(nt(Ne[e],[n,o,l],i,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=le(We[e]),s=le($e[e])&&le(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)=>(ws((()=>e(...W(t,b)))),Ts),Ht=()=>[Re(V,((e,t)=>-1===Le(r,t)?null:Re(e,((e,s)=>-1===Le(Le(T,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),oe)),oe),Re(k,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(V,Xe,Ye),invalidCells:ye(A),changedValues:Re(k,Xe,Ye),invalidValues:Re(Q),changedTableIds:Re(r),changedRowIds:ve(T),changedCellIds:ye(m),changedValueIds:Re(E)}),Ut=()=>ye(X),Xt=()=>fe(X),Yt=e=>re(Le(X,b(e))),Zt=e=>fe(Le(X,b(e))),_t=(e,t,s,n=0,a)=>{return W(F(P((o=Le(X,b(e)),r=(e,s)=>[M(t)?s:Le(e,b(t)),s],W([...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(Le(Le(X,b(e)),b(t))),ts=(e,t,s)=>Le(Le(Le(X,b(e)),b(t)),b(s)),ss=()=>Re(Y),ns=()=>fe(Y),as=e=>Le(Y,b(e)),os=e=>Gt((()=>(e=>et(e,it,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),is=e=>{try{wt(_e(e))}catch{}return Ts},ls=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hs=(e,t)=>Gt(((e,t)=>x(Le(X,e),(s=>ie(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=a){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=a&&a++,1==a&&nt(qe,void 0,Ht,Kt),Ts),Ss=e=>(a>0&&(a--,0==a&&(s=!le(V),n=!le(k),a=1,Pt(1),s&&$t(1),Bt(1),n&&qt(1),e?.(Ht,Kt)&&(ue(V,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(Ts,t,s,n,e))))))),ue(k,(([e],t)=>ke(Ts,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),a=-1,Pt(0),s&&$t(0),Bt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),a=0,s=n=!1,B([r,d,h,T,m,V,A,E,k,Q],de))),Ts),Ts={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(Le(X,b(e))),getTableCellIds:e=>fe(Le(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(Le(Le(X,b(e)),b(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(Le(U,b(e)),b(t)),hasRow:(e,t)=>ie(Le(X,b(e)),b(t)),hasCell:(e,t,s)=>ie(Le(Le(X,b(e)),b(t)),b(s)),hasValues:()=>!le(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(N),getValuesSchemaJson:()=>Ze($),getSchemaJson:()=>Ze([N,$]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?ds:os)(e),(oe(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>it(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>lt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return lt(e,n,t)&&(e=b(e),Tt(e,mt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(lt(e,t,s,1)){const n=mt(e);ae(s,((s,a)=>vt(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=>vt(e,mt(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(Ts,t,s,n,e))))))),ae(e[1],((e,t)=>ke(Ts,t,e)))})),setTablesJson:is,setValuesJson:e=>{try{yt(_e(e))}catch{}return Ts},setJson:e=>Gt((()=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{is(e)}})),setTablesSchema:ls,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{ls(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>x(Le(X,e),(a=>x(Le(a,t),(o=>ie(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>ie(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,b(e)),t),forEachRow:(e,t)=>ue(Le(X,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,b(e)),b(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);j(r,i)||(i=r,o(Ts,e,t,s,n,a,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Ts),delListener:e=>(at(e),Ts),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ae({[f]:[0,Z],[L]:[0,_],[g]:[1,te,[Xt]],[g+v]:[1,ce,[Xt]],[I]:[1,me,[Xt]],[S]:[1,De,[Xt]],[w]:[2,Ae,[Xt,Zt]],[v]:[2,Fe,[Xt,Zt]],[R]:[3,Ne,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,Oe],[C]:[0,Be],[p]:[0,We],[y]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Ts[u+a+c]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(Ts)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let i,l,c,d=0,u=0;Se($e,r,(()=>0)),Se(qe,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=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),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(x(i,e.delListener),g),schedule:async(...e)=>(K(Le(qe,r),...e),await(async()=>{if(!Le($e,r)){for(Ie($e,r,1);!M(l=X(Le(qe,r)));)try{await l()}catch(e){o?.(e)}Ie($e,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=Ge,e.createRelationships=He,e.createStore=st,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=Promise,x=isFinite,R=(e,t)=>e instanceof t,k=e=>null==e,S=e=>e==o||e==d,P=e=>t(e)==o,A=e=>Array.isArray(e),E=async e=>V.all(e),D=e=>{const l=t(e);return S(l)||l==s&&x(e)?l:void 0},O=(e,t)=>e.every(t),N=(e,t)=>e.sort(t),G=(e,t)=>e.forEach(t),L=(e,t=a)=>e.join(t),j=(e,t)=>e.map(t),M=e=>e.length,J=(e,t)=>e.filter(t),z=(e,...t)=>e.push(...t),W=e=>e.pop(),B=(e,...t)=>e.unshift(...t),F=e=>e.shift(),U=Object,_=U.keys,Z=U.freeze,H=e=>R(e,U)&&e.constructor==U,Q=(e,t)=>j(U.entries(e),(([e,l])=>t(l,e))),q=e=>M(_(e)),K=e=>H(e)&&0==q(e),X=(e,t)=>e?.has(t)??!1,Y=e=>[...e?.values()??[]],ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),le=e=>new Map(e),ae=(e,t)=>e?.get(t),ne=(e,t)=>ee(e,((e,l)=>t(l,e))),oe=(e,t)=>j([...e?.entries()??[]],(([e,l])=>t(l,e))),de=(e,t,l)=>k(l)?(te(e,t),e):e?.set(t,l),se=(e,t,l)=>(X(e,t)||de(e,t,l()),ae(e,t)),re=e=>e.toUpperCase(),Ie=e=>e.toLowerCase(),ce="a ",$e="A function for",ie=", and registers a listener so that any changes to that result will cause a re-render",ue="Callback",pe="Del",be="Deps",Ce=be+"?: React.DependencyList",he="doRollback?: DoRollback",me="actions: () => Return, "+he,ge="export",fe="Id",we="Invalid",ye="Json",Te=Ie(c),ve="?: ",Ve=" | undefined",xe="NonNullable",Re="Partial",ke="Props",Se="Provider",Pe=`Registers a ${Te} that will be called`,Ae="Represents",Ee="rowId: "+fe,De="Schema",Oe="Set",Ne=", descending?: boolean, offset?: number, limit?: number",Ge="[]",Le="the Store",je="Transaction",Me=je+"Changes",Je=Ie(je),ze="Execute a "+Je+" to make multiple mutations",We="Explicitly starts a "+Je,Be="Explicitly finishes a "+Je,Fe="the end of the "+Je,Ue="void",_e=" => "+Ue,Ze="WhenSet",He=" when setting it",Qe=ce+"string serialization of",qe=" ",Ke="Gets a callback that can ",Xe="the ",Ye=" the schema for",et=(e=0,t=0)=>`the ${mt[e]}content of`+(t?qe+Le:a),tt=(e=0,t,l=0)=>bt[t]+qe+et(e,1)+(l?" when setting it":a),lt=(e,t=0)=>Ae+` a Row when ${t?"s":"g"}etting ${et()} the '${e}' `+p,at=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,nt=(e,t)=>`Calls a function for each ${e} in `+t,ot=e=>"The props passed to a component that renders "+e,dt=e=>"A function that takes "+e,st=(e,t=0)=>$e+" listening to changes to "+ht[e]+" in "+ht[t],rt=(e,t,l=0)=>Pe+" whenever "+ht[e]+" in "+ht[t]+" change"+(l?a:"s"),It=e=>`the '${e}' `+p,ct=e=>"the specified Row in "+It(e),$t=(e,t=0)=>bt[t]+` ${et()} `+It(e),it=(e,t=0)=>bt[t]+` ${et()} `+ct(e),ut=(e,t,l=0)=>bt[l]+` the '${t}' Cell for `+ct(e),pt=(e,t=0)=>bt[t]+` the '${e}' Value`,bt=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ae,"Gets "+Qe,"Sets "+Qe,Pe+" whenever",Ke+"set",Ke+"add",Ke+"set part of",Ke+"delete","Renders","Gets "+Qe+Ye,"Sets"+Ye,"Deletes"+Ye],Ct=[$,"has","set","del","set","forEach",i,a],ht=[Le,b,Xe+p+qe+u,ce+p,Xe+h+qe+u,ce+h,Xe+f+qe+u,ce+f,"invalid Cell changes",T,Xe+y+qe+u,ce+y,"invalid Value changes",Xe+"sorted "+h+qe+u,Xe+f+qe+u+" anywhere",Xe+"number of Rows"],mt=[a,"tabular ","keyed value "],gt=e=>new Set(A(e)||k(e)?e:[e]),ft=(e,t)=>e?.add(t),wt=/[^A-Za-z]+/,yt=/[^A-Za-z0-9]+/,Tt=/^( *)\/\*\* *(.*?) *\*\/$/gm,vt=(e,t,l)=>e.substring(t,l),Vt=e=>e.includes(n),xt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return X(e,n)?xt(e,t,l,a+1):(de(e,n,l),n)},Rt=e=>e.replace(Tt,((e,t,l)=>{const a=77-kt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),kt=e=>e.length,St=e=>e.flat(1e3),Pt=(e,t=0)=>L(j(e.split(yt),((e,l)=>(l>0||t?re:Ie)(vt(e,0,1))+vt(e,1)))),At=e=>re(L((e&&!wt.test(e[0])?e:" "+e).split(yt),"_")),Et=e=>`/** ${e}. */`,Dt=(...e)=>L(J(e,(e=>e)),", "),Ot=(...e)=>"{"+L(e,"; ")+"}",Nt=(...e)=>Ot(...j(e,(e=>"readonly "+e))),Gt=()=>{const e=[le(),le(),le(),le()],t=le(),l=le(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>L(St(e),"\n"),(t,l,...a)=>G(a,(a=>G([0,1],(n=>(t??n)==n?ft(se(e[n],l,gt),a):0)))),(e,l,n,o=a,d=1)=>xt(t,e,[l,n,o,d]),(e,t,a)=>xt(l,e,A(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>ae(l,e)===t?e:xt(l,e,t),(t=0)=>j([...N(oe(e[t],((e,t)=>`import {${L(N(Y(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Vt(e)!=Vt(t)?Vt(e)?-1:1:e>t?1:-1)),a],(e=>e.replace("{React}","React"))),()=>oe(t,(([e,t,l,n],o)=>[Et(t),`${n?ge+" ":a}type ${o}${l} = ${e};`,a])),()=>oe(l,((e,t)=>(e=A(e)?e:[e],z(e,W(e)+";"),[`const ${t} = ${F(e)}`,e,a])))]},Lt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},jt=(e,t,l)=>[t=>Q(e,((e,a)=>t(a,Pt(a,1),l(At(a),`'${a}'`)))),(t,a)=>Q(e[t],((e,t)=>a(t,e[r],e[I],l(At(t),`'${t}'`),Pt(t,1)))),e=>Q(t,((t,a)=>e(a,t[r],t[I],l(At(a),`'${a}'`),Pt(a,1))))],Mt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,s=e(b,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...l(e,((e,t,l)=>`'${e}'${k(l)?"?":a}: ${t}`)))+"}"))),tt(1,5)),r=e(b+Ze,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),tt(1,5,1)),I=e(p+fe,"keyof "+s,"A "+p+" Id in "+Le),$=`<TId extends ${I}>`,i=e(p,xe+`<${s}[TId]>`,"A "+p+" in "+Le,$),u=e(p+Ze,xe+`<${r}[TId]>`,"A "+p+" in "+Le+He,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+Ze,u+"<TId>[Id]","A "+h+" in a "+p+He,$),v=e(f+fe,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,xe+`<${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+ue,`(...[cellId, cell]: ${x}<TId>)`+_e,dt(ce+f+" Id, and "+f),$),S=e(h+ue,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+_e+") "+_e,dt(ce+h+" Id, and a "+f+" iterator"),$),P=e(p+f+ue,`(cellId: ${v}<TId>, count: number) `+_e,dt(ce+f+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${_e}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+ue,`(...[tableId, forEachRow]: ${A})`+_e,dt(ce+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`,$e+" returning information about any Cell's changes during a "+Je),N=e(b+c,`(${d}, getCellChange: ${O}${Ve})`+_e,st(1)),G=e(C+c,`(${d})`+_e,st(2)),L=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${O}${Ve})`+_e,st(3)),j=e(p+w+c,`(${d}, tableId: ${I})`+_e,st(14,3)),M=e(h+"Count"+c,`(${d}, tableId: ${I})`+_e,st(15,3)),J=e(m+c,`(${d}, tableId: ${I})`+_e,st(4,3)),z=e(g+c,"("+Dt(d,"tableId: "+I,"cellId: Id"+Ve,"descending: boolean","offset: number","limit: number"+Ve,"sortedRowIds: Ids")+")"+_e,st(13,3)),W=e(h+c,"("+Dt(""+d,"tableId: "+I,Ee,`getCellChange: ${O}${Ve}`)+")"+_e,st(5,3)),B=e(w+c,"("+Dt(""+d,"tableId: "+I,Ee)+")"+_e,st(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Ee}, cellId: CId, newCell: ${V}<TId, CId> ${Ve}, oldCell: ${V}<TId, CId> ${Ve}, getCellChange: ${O} ${Ve}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,i,u,y,T,v,V,R,S,P,E,N,G,L,j,M,J,z,W,B,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+_e,st(7,5)),e(we+f+c,`(${d}, tableId: Id, ${Ee}, cellId: Id, invalidCells: any[])`+_e,st(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Ot(...n(((e,t,l)=>`'${e}'${k(l)?"?":a}: ${t}`))),tt(2,5)),s=e(T+Ze,Ot(...n(((e,t)=>`'${e}'?: ${t}`))),tt(2,5,1)),r=e(y+fe,"keyof "+d,"A "+y+" Id in "+Le),I=e(y,xe+`<${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+ue,`(...[valueId, value]: ${$})`+_e,dt(ce+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${r}) => ValueChange`,$e+" returning information about any Value's changes during a "+Je),p=e(T+c,`(${o}, getValueChange: ${u}${Ve})`+_e,st(9)),b=e(v+c,`(${o})`+_e,st(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+")"+_e,st(11)),e(we+y+c,`(${o}, valueId: Id, invalidValues: any[])`+_e,st(12))]},(t,l)=>e(je+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+_e,$e+" listening to the completion of a "+Je)],Jt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),zt=(e,t=a)=>`fluent(() => ${Jt(e,t)})`,Wt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,Bt=(e,t,n)=>{const[o,s,$,V,x,R,S,A]=Gt(),[E,D,O]=jt(e,t,x),[N,j,M]=Mt($,E,D,O),J=le(),W=(e=0)=>oe(J,(([t,l,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${l} => ${n},`]:[s+d+`(${t}): ${l};`];return e||B(r,Et(o)),z(r,a),r})),F=(e,t,l,n,o,d=a)=>xt(J,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,s=a,r=a)=>F(Ct[e]+t+(4==e?Re:a)+l,d,n,(n==H?zt:Jt)(Ct[e]+(4==e?Re: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)+Te+": "+t+(d?", mutator?: boolean":a),fe,Wt(i+e+c,o,d?"mutator":a),l,s),Z=`./${Pt(n)}.d`,H=Pt(n,1),Q=Pt(H),q=[],X=le();let ee=[],te=[];if(s(1,Z,H,`create${H} as create${H}Decl`),K(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,R,S,A,O,j,M,J,W,B,F,K,te,ne,oe]=N(Q,H),se=le();E(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Ae+` the '${e}' `+p),$(t+p+Ze,c+l,Ae+` the '${e}' `+p+He),$(t+h,i+l,lt(e)),$(t+h+Ze,y+l,lt(e,1)),$(t+f+fe,T+l,`A Cell Id for the '${e}' `+p),$(t+f+ue,V+l,dt(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+ue,R+l,dt(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+ue,S+l,dt(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];de(se,e,a),s(1,Z,...a)})),s(1,Z,e,t,n,T,A,O,j,M,J,W,B,F,K,te,ne,oe),ee=[e,t,n,T,O,j,M,J,W,B,F,K,te,ne,se],G([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,tt(1,n),t,l))),U(0,a,C,n+Ge,at(p,Le)),U(5,a,p,Ue,nt(p,Le),"tableCallback: "+A,"tableCallback as any"),E(((e,t,l)=>{const[n,o,s,r,I,c,$,i]=ae(se,e);G([[n],[d],[H,"table: "+o,", table"],[H]],(([n,o,d=a],s)=>U(s,t,p,n,$t(e,s),o,l+d))),U(0,t,p+w,u,at(f,"the whole of "+It(e)),a,l),U(5,t,p+f,Ue,nt(p+f,"the whole of "+It(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,h+"Count","number","Gets the number of Rows in the "+It(e),a,l),U(0,t,m,u,at(h,It(e)),a,l),U(0,t,g,u,at(h,It(e),1),"cellId?: "+I+Ne,l+", cellId, descending, offset, limit"),U(5,t,h,Ue,nt(h,It(e)),"rowCallback: "+$,l+", rowCallback as any"),G([[s],[d],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=a,d=a],s)=>U(s,t,h,n,it(e,s),Ee+o,l+", rowId"+d))),U(6,t,h,fe+Ve,"Add a new Row to "+It(e),"row: "+r+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+Ge,at(f,ct(e)),Ee,l+", rowId"),U(5,t,f,Ue,nt(f,ct(e)),Ee+", cellCallback: "+c,l+", rowId, cellCallback as any"),D(e,((n,o,s,r,I)=>{const c="Map"+Pt(o,1);de(X,o,c);const $=o+(k(s)?Ve:a);G([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,s=a],c)=>U(c,t+I,f,o,ut(e,n,c),Ee+d,l+", rowId, "+r+s))),U(1,t+I,p+f,d,bt[1]+` the '${n}' Cell anywhere in `+It(e),a,l+", "+r)}))})),U(0,a,b+ye,ye,tt(1,6)),U(2,a,b+ye,H,tt(1,7),"tablesJson: "+ye,"tables"+ye),_(b,O,tt(1,8)+" changes"),_(C,j,rt(2,0,1)),_(p,M,rt(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,J,rt(14,3,1),`tableId: ${n} | null`,"tableId"),_(h+"Count",W,rt(15,3),`tableId: ${n} | null`,"tableId"),_(m,B,rt(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,F,rt(13,3,1),Dt("tableId: TId",`cellId: ${T}<TId>`+Ve,"descending: boolean","offset: number","limit: number"+Ve),Dt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,K,rt(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,te,rt(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,ne,rt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${L(E((e=>ae(se,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(we+f,oe,Pe+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...Y(X)),z(q,".set"+b+De+"({",St(E(((e,t,l)=>[`[${l}]: {`,...D(e,((e,t,l,n)=>`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${k(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(P(l)?x(At(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(K(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),te=[e,t,n,$,i,u],G([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,tt(2,n),t,l))),U(0,a,v,n+Ge,at(y,Le)),U(5,a,y,"void",nt(y,Le),"valueCallback: "+c,"valueCallback as any"),O(((e,t,l,n,o)=>{const s="Map"+Pt(t,1);de(X,t,s),G([[t],[d],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,l,d=a],s)=>U(s,o,y,t,pt(e,s),l,n+d)))})),U(0,a,T+ye,ye,tt(2,6)),U(2,a,T+ye,H,tt(2,7),"valuesJson: "+ye,"values"+ye),_(T,$,tt(2,8)+" changes"),_(v,i,rt(10,0,1)),_(y,u,rt(11,0),`valueId: ${n} | null`,"valueId"),_(we+y,p,Pe+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...Y(X)),s(0,l,"ValueChange"),z(q,".set"+T+De+"({",O(((e,t,l,n)=>[`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${k(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(P(l)?x(At(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,tt(0,0)),U(2,a,"Content",H,tt(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,Me,H,`Applies a set of ${Me} to the Store`,"transactionChanges: "+Me,"transactionChanges"),ne(X,((e,t)=>$(t,`(cell: ${e}${Ve}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,l,"DoRollback",fe,"IdOrNull",ye,"Store",Me),s(0,l,"Get"+Me,"GetTransactionLog"),U(0,a,ye,ye,tt(0,6)),U(2,a,ye,H,tt(0,7),"tablesAndValuesJson: "+ye,"tablesAndValuesJson"),U(7,a,Je,"Return",ze,me,"actions, doRollback","<Return>"),U(7,a,"start"+je,H,We),U(7,a,"finish"+je,H,Be,he,"doRollback");const se=M(Q,H);return _("Start"+je,se,Pe+" just before the start of the "+Je,a,a,0),_("WillFinish"+je,se,Pe+" just before "+Fe,a,a,0),_("DidFinish"+je,se,Pe+" just after "+Fe,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",bt[0]+" the underlying Store object"),s(1,l,"createStore"),s(1,Z,H,`create${H} as create${H}Decl`,se),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...W(1),"}"]),[o(...R(0),...S(),ge+" interface "+H+" {",...W(0),"}",a,Et(`Creates a ${H} object`),ge+" function create"+H+"(): "+H+";"),o(...R(1),ge+" const create"+H+": typeof create"+H+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),ee,te]},Ft=e=>$+e,Ut=e=>Dt(Ft(e),Ft(e)+be),_t="debugIds?: boolean",Zt="debugIds={debugIds}",Ht="then"+Ce,Qt="Parameter",qt=": (parameter: "+Qt+", store: Store) => ",Kt="const contextValue = useContext(Context);",Xt=", based on a parameter",Yt=": ",el="<"+Qt+",>",tl=Qt+"ized"+ue+"<"+Qt+">",ll="rowId",al="rowId={rowId}",nl=", separator, debugIds",ol="separator?: ReactElement | string",dl="then?: (store: Store",sl=Dt(dl+")"+_e,Ht),rl="then, then"+be,Il=ll+Yt+fe,cl="View",$l=(e,...t)=>Dt(...t,Te+": "+e,Te+Ce,"mutator?: boolean"),il=(...e)=>Dt(...e,Te,Te+be,"mutator"),ul=(e,t,n,o,d)=>{const[s,r,I,$,i,V,x,R]=Gt(),[S,P,A]=jt(e,t,i),E=`./${Pt(n)}.d`,D=`./${Pt(n)}-ui-react.d`,O="tinybase/ui-react",N=Pt(n,1),G=Pt(N),j=N+"Or"+N+fe,M=G+"Or"+N+fe,J=G+`={${G}}`,W=le(),F=(e,t,l,n,o,d=a)=>(r(1,D,e+" as "+e+"Decl"),xt(W,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,Dt(o,X,I),l,ee+`(${M}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>oe(W,(([t,l,n,o,d],s)=>{const r=e?[ge+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[ge+` function ${s}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||B(r,Et(o)),z(r,a),r}));r(null,l,fe,"Store",ue,Qt+"ized"+ue),r(0,O,"ComponentReturnType"),r(1,O,"useCellIds"),r(null,O,"ExtraProps"),r(0,E,N);const Q=I(j,N+" | "+fe,`Used when you need to refer to a ${N} in a React hook or component`),q=I(Se+ke,Nt(G+ve+N,G+`ById?: {[${G}Id: Id]: ${N}}`),`Used with the ${Se} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,Q,q);const X=M+ve+Q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${N}?, {[${G}Id: Id]: ${N}}?]>([])`),U("Create"+N,`create: () => ${N}, create`+Ce,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=U(N,"id?: Id",N+Ve,["{",Kt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Se} component context`),ee=$("useHook",M+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${G} : ${M})?.getStore(), ...postParams)`]),te=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ne=$("wrap",Dt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=$("useCustomOrDefaultCellIds",Dt("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${M}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${M}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=i("NullComponent","() => null");if(!K(e)){const[e,t,n,d,s,i,y,T,v,V,x,R,A,O,j]=o;r(null,E,e,t,n,s,i,y,T,v,V,x,R,A,O),r(0,E,d),r(1,E,N),r(null,l,u,"IdOrNull");const M=$("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+nl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ne}(rowIds.map((rowId) => (`,"<Row","{..."+te+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",al,"customCellIds={customCellIds}",J,Zt,"/>","))",nl,", tableId,",");"]),z=$("getDefaultTableComponent","tableId: Id",L(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),W=$("getDefaultCellComponent","tableId: Id, cellId: Id",L(S(((e,t,l)=>`tableId == ${l} ? ${L(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(b,b,e,tt(1,0)+ie);const B=_(C,C,n+Ge,at(p,Le)+ie);_(Oe+b+ue,Oe+b+ue,tl,tt(1,9)+Xt,Dt(Ft(b)+qt+t,Ft(b)+Ce),Ut(b),el,Dt(dl,`tables: ${t})`+_e,Ht),rl),_(pe+b+ue,pe+b+ue,ue,tt(1,12),a,a,a,sl,rl);const F=I(f+ke,Nt("tableId?: TId","rowId: Id","cellId?: CId",G+ve+N,_t),ot(ce+f),`<TId extends ${n}, CId extends ${d}<TId>>`),U=I(h+ke,Nt("tableId?: TId","rowId: Id",G+ve+N,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ol,_t),ot(ce+h),`<TId extends ${n}>`),H=I(p+ke,Nt("tableId?: TId",G+ve+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),ot(ce+p),`<TId extends ${n}>`),Q=I("Sorted"+p+ke,Nt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+ve+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),ot(ce+"sorted "+p),`<TId extends ${n}>`),q=I(b+ke,Nt(G+ve+N,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ol,_t),ot(et(1,1)));r(1,D,q,H,Q,U,F),Z(b+cl,"{"+G+", tableComponents, getTableComponentProps"+nl+"}: "+q,[ne+`(${B}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+z+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${te}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Zt,"/>;","}), separator)"],tt(1,13)+ie),S(((e,t,l)=>{const[n,o,d,s,I]=ae(j,e);r(null,E,n,o,d,s,I),_(t+p,p,n,$t(e)+ie,a,l),_(t+p+w,p+w,u,at(f,"the whole of "+It(e))+ie,a,l);const c=_(t+m,m,u,at(h,It(e))+ie,a,l),$=_(t+g,g,u,at(h,It(e),1)+ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,it(e)+ie,Il,Dt(l,ll)),_(t+w,w,I+Ge,at(f,ct(e))+ie,Il,Dt(l,ll)),_(Oe+t+p+ue,Oe+p+ue,tl,$t(e,9)+Xt,Dt(Ft(p)+qt+o,Ft(p)+Ce),Dt(l,Ut(p)),el,Dt(dl,`table: ${o})`+_e,Ht),rl),_(pe+t+p+ue,pe+p+ue,ue,$t(e,12),a,l,a,sl,rl),_(Oe+t+h+ue,Oe+h+ue,tl,it(e,9)+Xt,Dt(Il,Ft(h)+qt+s,Ft(h)+Ce),Dt(l,ll,Ut(h)),el,Dt(dl,`row: ${s})`+_e,Ht),rl),_("Add"+t+h+ue,"Add"+h+ue,tl,it(e,10)+Xt,Dt(Ft(h)+qt+s,Ft(h)+Ce),Dt(l,Ut(h)),el,"then?: ("+Dt(Il+Ve,"store: Store","row: "+s+")"+_e,"then"+Ce)+", reuseRowIds?: boolean",rl+", reuseRowIds"),_(Oe+t+Re+h+ue,Oe+Re+h+ue,tl,it(e,11)+Xt,Dt(Il,Ft(Re+h)+qt+s,Ft(Re+h)+Ce),Dt(l,ll,Ut(Re+h)),el,Dt(dl,`partialRow: ${s})`+_e,Ht),rl),_(pe+t+h+ue,pe+h+ue,ue,it(e,12),Il,Dt(l,ll),a,sl,rl);const i=Z(t+h+cl,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+nl+`}: ${U}<'${e}'>`,[ne+`(${de}(customCellIds, `+l+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+W+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${te}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,al,"cellId={cellId}",J,Zt,"/>;","})"+nl+", rowId)"],it(e,13)+ie);Z(t+"Sorted"+p+cl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+$+`(cellId, descending, offset, limit, props.${G}), ${l}, ${i});`,$t(e,13)+", sorted"+ie),Z(t+p+cl,`props: ${H}<'${e}'>`,M+"(props, "+c+`(props.${G}), ${l}, ${i});`,$t(e,13)+ie),P(e,((n,o,d,s,I)=>{const c="Map"+Pt(o,1);r(0,E,c),r(1,E,c);const $=_(t+I+f,f,o+(k(d)?Ve:a),ut(e,n)+ie,Il,Dt(l,ll,s));_(Oe+t+I+f+ue,Oe+f+ue,tl,ut(e,n,9)+Xt,Dt(Il,Ft(f)+qt+o+" | "+c,Ft(f)+Ce),Dt(l,ll,s,Ut(f)),el,Dt(dl,`cell: ${o} | ${c})`+_e,Ht),rl),_(pe+t+I+f+ue,pe+f+ue,ue,ut(e,n,12),Dt(Il,"forceDel?: boolean"),Dt(l,ll,s,"forceDel"),a,sl,rl),Z(t+I+f+cl,`{rowId, ${G}, debugIds}: `+F+`<'${e}', '${n}'>`,[ne+`('' + ${$}(rowId, `+G+`) ?? '', undefined, debugIds, ${s})`],ut(e,n,13)+ie)}))}));const K=L(S((e=>ae(j,e)?.[4]??a))," | ");_(b+c,b+c,Ue,tt(1,8)+" changes",$l(s),il()),_(C+c,C+c,Ue,rt(2,0,1),$l(i),il()),_(p+c,p+c,Ue,rt(3,0),$l(y,`tableId: ${n} | null`),il("tableId")),_(p+w+c,p+w+c,Ue,rt(14,3,1),$l(T,`tableId: ${n} | null`),il("tableId")),_(m+c,m+c,Ue,rt(4,3,1),$l(V,`tableId: ${n} | null`),il("tableId")),_(g+c,g+c,Ue,rt(13,3,1),$l(x,`tableId: ${n} | null`,"cellId: "+K+Ve,"descending: boolean","offset: number","limit: number"+Ve),il("tableId","cellId","descending","offset","limit")),_(h+c,h+c,Ue,rt(5,3),$l(R,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(w+c,w+c,Ue,rt(6,5,1),$l(A,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(f+c,f+c,Ue,rt(7,5),$l(O,`tableId: ${n} | null`,ll+": IdOrNull",`cellId: ${K} | null`),il("tableId",ll,"cellId"))}if(!K(t)){const[e,t,l,n,o,s]=d;r(null,E,...d),r(1,E,N);const i=$("getDefaultValueComponent","valueId: Id",L(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(T,T,e,tt(2,0)+ie);const u=_(v,v,l+Ge,at(y,Le)+ie);_(Oe+T+ue,Oe+T+ue,tl,tt(2,9)+Xt,Dt(Ft(T)+qt+t,Ft(T)+Ce),Ut(T),el,Dt(dl,`values: ${t})`+_e,Ht),rl),_(Oe+Re+T+ue,Oe+Re+T+ue,tl,tt(2,11)+Xt,Dt(Ft(Re+T)+qt+t,Ft(Re+T)+Ce),Ut(Re+T),el,Dt(dl,`partialValues: ${t})`+_e,Ht),rl),_(pe+T+ue,pe+T+ue,ue,tt(2,12),a,a,a,sl,rl);const p=I(y+ke,Nt("valueId?: VId",G+ve+N,_t),ot("a Value"),`<VId extends ${l}>`),b=I(T+ke,Nt(G+ve+N,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,ol,_t),ot(et(2,1)));r(1,D,b,p),Z(T+cl,"{"+G+", valueComponents, getValueComponentProps"+nl+"}: "+b,[ne+`(${u}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${te}(getValueComponentProps, valueId)}`,"key={valueId}",J,Zt,"/>;","}), separator)"],tt(2,13)+ie),A(((e,t,l,n,o)=>{const d="Map"+Pt(t,1);r(0,E,d),r(1,E,d);const s=_(o+y,y,t,pt(e)+ie,a,n);_(Oe+o+y+ue,Oe+y+ue,tl,pt(e,9)+Xt,Dt(Ft(y)+qt+t+" | "+d,Ft(y)+Ce),Dt(n,Ut(y)),el,Dt(dl,`value: ${t} | ${d})`+_e,Ht),rl),_(pe+o+y+ue,pe+y+ue,ue,pt(e,12),a,n,a,sl,rl),Z(o+y+cl,`{${G}, debugIds}: ${p}<'${e}'>`,[ne+`('' + ${s}(`+G+`) ?? '', undefined, debugIds, ${n})`],pt(e,13)+ie)})),_(T+c,T+c,Ue,tt(2,8)+" changes",$l(n),il()),_(v+c,v+c,Ue,rt(10,0,1),$l(o),il()),_(y+c,y+c,Ue,rt(11,0),$l(s,`valueId: ${l} | null`),il("valueId"))}return Z(Se,`{${G}, ${G}ById, children}: `+q+" & {children: React.ReactNode}",["{",Kt,"return (","<Context."+Se,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${Se}>`,");","}"],"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))]},pl=(e,t,l)=>{if(K(e)&&K(t))return[a,a,a,a];const[n,o,d,s]=Bt(e,t,l);return[n,o,...ul(e,t,l,d,s)]},bl=JSON.parse,Cl="prettier/",hl=Cl+"plugins/",ml={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},gl=Lt((e=>{const t=()=>{const t=bl(e.getTablesSchemaJson());return!K(t)||O(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=le();if(O(a,(t=>O(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=se(n,a,(()=>[D(o),le(),[0],0])),[s,r,[I]]=d,c=se(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),de(r,o,c),d[3]++,s==D(o)})))))return t[l]={},ee(n,(([e,,[,n],o],d)=>{t[l][d]={[r]:e,...o==M(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=bl(e.getValuesSchemaJson());return K(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:D(l)}})),t},a=e=>pl(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"],l=[];let n;try{n=(await import(Cl+"standalone")).format,z(l,await import(hl+"estree"),await import(hl+"typescript"))}catch(e){n=async e=>e}return await E(j(a(e),(async(e,a)=>Rt(await n(e,{...ml,plugins:l,filepath:"_."+t[a]})))))};return Z({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let 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:M(e.getValueIds()),jsonLength:kt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=gl},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",a="",n=",",o=t(a),d=t(!0),s=t(0),r="type",I="default",c="Listener",$="get",i="add",u="Ids",p="Table",b=p+"s",C=p+u,h="Row",m=h+u,g="Sorted"+h+u,f="Cell",w=f+u,y="Value",T=y+"s",v=y+u,V=Promise,x=isFinite,R=(e,t)=>e instanceof t,k=e=>null==e,S=e=>e==o||e==d,P=e=>t(e)==o,A=e=>Array.isArray(e),E=(e,t,l)=>e.slice(t,l),D=async e=>V.all(e),O=e=>{const l=t(e);return S(l)||l==s&&x(e)?l:void 0},N=(e,t)=>e.every(t),G=(e,t)=>e.sort(t),L=(e,t)=>e.forEach(t),j=(e,t=a)=>e.join(t),M=(e,t)=>e.map(t),J=e=>e.length,z=(e,t)=>e.filter(t),W=(e,...t)=>e.push(...t),B=e=>e.pop(),F=(e,...t)=>e.unshift(...t),U=e=>e.shift(),_=Object,Z=_.keys,H=_.freeze,Q=e=>R(e,_)&&e.constructor==_,q=(e,t)=>M(_.entries(e),(([e,l])=>t(l,e))),K=e=>J(Z(e)),X=e=>Q(e)&&0==K(e),Y=(e,t)=>e?.has(t)??!1,ee=e=>[...e?.values()??[]],te=(e,t)=>e?.forEach(t),le=(e,t)=>e?.delete(t),ae=e=>new Map(e),ne=(e,t)=>e?.get(t),oe=(e,t)=>te(e,((e,l)=>t(l,e))),de=(e,t)=>M([...e?.entries()??[]],(([e,l])=>t(l,e))),se=(e,t,l)=>k(l)?(le(e,t),e):e?.set(t,l),re=(e,t,l)=>(Y(e,t)||se(e,t,l()),ne(e,t)),Ie=e=>e.toUpperCase(),ce=e=>e.toLowerCase(),$e="a ",ie="A function for",ue=", and registers a listener so that any changes to that result will cause a re-render",pe="Callback",be="Del",Ce="Deps",he=Ce+"?: React.DependencyList",me="doRollback?: DoRollback",ge="actions: () => Return, "+me,fe="export",we="Id",ye="Invalid",Te="Json",ve=ce(c),Ve="?: ",xe=" | undefined",Re="NonNullable",ke="Partial",Se="Props",Pe="Provider",Ae=`Registers a ${ve} that will be called`,Ee="Represents",De="rowId: "+we,Oe="Schema",Ne="Set",Ge=", descending?: boolean, offset?: number, limit?: number",Le="[]",je="the Store",Me="Transaction",Je=Me+"Changes",ze=ce(Me),We="Execute a "+ze+" to make multiple mutations",Be="Explicitly starts a "+ze,Fe="Explicitly finishes a "+ze,Ue="the end of the "+ze,_e="void",Ze=" => "+_e,He="WhenSet",Qe=" when setting it",qe=$e+"string serialization of",Ke=" ",Xe="Gets a callback that can ",Ye="the ",et=" the schema for",tt=(e=0,t=0)=>`the ${gt[e]}content of`+(t?Ke+je:a),lt=(e=0,t,l=0)=>Ct[t]+Ke+tt(e,1)+(l?" when setting it":a),at=(e,t=0)=>Ee+` a Row when ${t?"s":"g"}etting ${tt()} the '${e}' `+p,nt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,ot=(e,t)=>`Calls a function for each ${e} in `+t,dt=e=>"The props passed to a component that renders "+e,st=e=>"A function that takes "+e,rt=(e,t=0)=>ie+" listening to changes to "+mt[e]+" in "+mt[t],It=(e,t,l=0)=>Ae+" whenever "+mt[e]+" in "+mt[t]+" change"+(l?a:"s"),ct=e=>`the '${e}' `+p,$t=e=>"the specified Row in "+ct(e),it=(e,t=0)=>Ct[t]+` ${tt()} `+ct(e),ut=(e,t=0)=>Ct[t]+` ${tt()} `+$t(e),pt=(e,t,l=0)=>Ct[l]+` the '${t}' Cell for `+$t(e),bt=(e,t=0)=>Ct[t]+` the '${e}' Value`,Ct=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ee,"Gets "+qe,"Sets "+qe,Ae+" whenever",Xe+"set",Xe+"add",Xe+"set part of",Xe+"delete","Renders","Gets "+qe+et,"Sets"+et,"Deletes"+et],ht=[$,"has","set","del","set","forEach",i,a],mt=[je,b,Ye+p+Ke+u,$e+p,Ye+h+Ke+u,$e+h,Ye+f+Ke+u,$e+f,"invalid Cell changes",T,Ye+y+Ke+u,$e+y,"invalid Value changes",Ye+"sorted "+h+Ke+u,Ye+f+Ke+u+" anywhere",Ye+"number of Rows"],gt=[a,"tabular ","keyed value "],ft=e=>new Set(A(e)||k(e)?e:[e]),wt=(e,t)=>e?.add(t),yt=/[^A-Za-z]+/,Tt=/[^A-Za-z0-9]+/,vt=/^( *)\/\*\* *(.*?) *\*\/$/gm,Vt=e=>e.includes(n),xt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Y(e,n)?xt(e,t,l,a+1):(se(e,n,l),n)},Rt=e=>e.replace(vt,((e,t,l)=>{const a=77-kt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),kt=e=>e.length,St=e=>e.flat(1e3),Pt=(e,t=0)=>j(M(e.split(Tt),((e,l)=>(l>0||t?Ie:ce)(E(e,0,1))+E(e,1)))),At=e=>Ie(j((e&&!yt.test(e[0])?e:" "+e).split(Tt),"_")),Et=e=>`/** ${e}. */`,Dt=(...e)=>j(z(e,(e=>e)),", "),Ot=(...e)=>"{"+j(e,"; ")+"}",Nt=(...e)=>Ot(...M(e,(e=>"readonly "+e))),Gt=()=>{const e=[ae(),ae(),ae(),ae()],t=ae(),l=ae(),n=e=>{const t=e.indexOf(" as ");return-1!=t?E(e,t+4):e};return[(...e)=>j(St(e),"\n"),(t,l,...a)=>L(a,(a=>L([0,1],(n=>(t??n)==n?wt(re(e[n],l,ft),a):0)))),(e,l,n,o=a,d=1)=>xt(t,e,[l,n,o,d]),(e,t,a)=>xt(l,e,A(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>ne(l,e)===t?e:xt(l,e,t),(t=0)=>M([...G(de(e[t],((e,t)=>`import {${j(G(ee(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Vt(e)!=Vt(t)?Vt(e)?-1:1:e>t?1:-1)),a],(e=>e.replace("{React}","React"))),()=>de(t,(([e,t,l,n],o)=>[Et(t),`${n?fe+" ":a}type ${o}${l} = ${e};`,a])),()=>de(l,((e,t)=>(e=A(e)?e:[e],W(e,B(e)+";"),[`const ${t} = ${U(e)}`,e,a])))]},Lt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},jt=(e,t,l)=>[t=>q(e,((e,a)=>t(a,Pt(a,1),l(At(a),`'${a}'`)))),(t,a)=>q(e[t],((e,t)=>a(t,e[r],e[I],l(At(t),`'${t}'`),Pt(t,1)))),e=>q(t,((t,a)=>e(a,t[r],t[I],l(At(a),`'${a}'`),Pt(a,1))))],Mt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,s=e(b,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...l(e,((e,t,l)=>`'${e}'${k(l)?"?":a}: ${t}`)))+"}"))),lt(1,5)),r=e(b+He,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),lt(1,5,1)),I=e(p+we,"keyof "+s,"A "+p+" Id in "+je),$=`<TId extends ${I}>`,i=e(p,Re+`<${s}[TId]>`,"A "+p+" in "+je,$),u=e(p+He,Re+`<${r}[TId]>`,"A "+p+" in "+je+Qe,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+He,u+"<TId>[Id]","A "+h+" in a "+p+Qe,$),v=e(f+we,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,Re+`<${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+pe,`(...[cellId, cell]: ${x}<TId>)`+Ze,st($e+f+" Id, and "+f),$),S=e(h+pe,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ze+") "+Ze,st($e+h+" Id, and a "+f+" iterator"),$),P=e(p+f+pe,`(cellId: ${v}<TId>, count: number) `+Ze,st($e+f+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Ze}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+pe,`(...[tableId, forEachRow]: ${A})`+Ze,st($e+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 "+ze),N=e(b+c,`(${d}, getCellChange: ${O}${xe})`+Ze,rt(1)),G=e(C+c,`(${d})`+Ze,rt(2)),L=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${O}${xe})`+Ze,rt(3)),j=e(p+w+c,`(${d}, tableId: ${I})`+Ze,rt(14,3)),M=e(h+"Count"+c,`(${d}, tableId: ${I})`+Ze,rt(15,3)),J=e(m+c,`(${d}, tableId: ${I})`+Ze,rt(4,3)),z=e(g+c,"("+Dt(d,"tableId: "+I,"cellId: Id"+xe,"descending: boolean","offset: number","limit: number"+xe,"sortedRowIds: Ids")+")"+Ze,rt(13,3)),W=e(h+c,"("+Dt(""+d,"tableId: "+I,De,`getCellChange: ${O}${xe}`)+")"+Ze,rt(5,3)),B=e(w+c,"("+Dt(""+d,"tableId: "+I,De)+")"+Ze,rt(6,5)),F=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${De}, cellId: CId, newCell: ${V}<TId, CId> ${xe}, oldCell: ${V}<TId, CId> ${xe}, getCellChange: ${O} ${xe}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),U=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+F+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,i,u,y,T,v,V,R,S,P,E,N,G,L,j,M,J,z,W,B,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U})`+Ze,rt(7,5)),e(ye+f+c,`(${d}, tableId: Id, ${De}, cellId: Id, invalidCells: any[])`+Ze,rt(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Ot(...n(((e,t,l)=>`'${e}'${k(l)?"?":a}: ${t}`))),lt(2,5)),s=e(T+He,Ot(...n(((e,t)=>`'${e}'?: ${t}`))),lt(2,5,1)),r=e(y+we,"keyof "+d,"A "+y+" Id in "+je),I=e(y,Re+`<${d}[VId]>`,"A "+y+" Id in "+je,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+je,`<VId = ${r}>`,0),i=e(y+pe,`(...[valueId, value]: ${$})`+Ze,st($e+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${r}) => ValueChange`,ie+" returning information about any Value's changes during a "+ze),p=e(T+c,`(${o}, getValueChange: ${u}${xe})`+Ze,rt(9)),b=e(v+c,`(${o})`+Ze,rt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${I}<VId> ${xe}, oldValue: ${I}<VId> ${xe}, getValueChange: ${u} ${xe}] : 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+")"+Ze,rt(11)),e(ye+y+c,`(${o}, valueId: Id, invalidValues: any[])`+Ze,rt(12))]},(t,l)=>e(Me+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ze,ie+" listening to the completion of a "+ze)],Jt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),zt=(e,t=a)=>`fluent(() => ${Jt(e,t)})`,Wt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,Bt=(e,t,n)=>{const[o,s,$,V,x,R,S,A]=Gt(),[E,D,O]=jt(e,t,x),[N,G,M]=Mt($,E,D,O),J=ae(),z=(e=0)=>de(J,(([t,l,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${l} => ${n},`]:[s+d+`(${t}): ${l};`];return e||F(r,Et(o)),W(r,a),r})),B=(e,t,l,n,o,d=a)=>xt(J,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,s=a,r=a)=>B(ht[e]+t+(4==e?ke:a)+l,d,n,(n==H?zt:Jt)(ht[e]+(4==e?ke:a)+l,s,e?void 0:n),o,r),_=(e,t,l,n=a,o=a,d=1,s=a)=>B(i+e+c,(n?n+", ":a)+ve+": "+t+(d?", mutator?: boolean":a),we,Wt(i+e+c,o,d?"mutator":a),l,s),Z=`./${Pt(n)}.d`,H=Pt(n,1),Q=Pt(H),q=[],K=ae();let Y=[],te=[];if(s(1,Z,H,`create${H} as create${H}Decl`),X(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,R,S,A,O,G,M,J,z,B,F,X,te,le,oe]=N(Q,H),de=ae();E(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Ee+` the '${e}' `+p),$(t+p+He,c+l,Ee+` the '${e}' `+p+Qe),$(t+h,i+l,at(e)),$(t+h+He,y+l,at(e,1)),$(t+f+we,T+l,`A Cell Id for the '${e}' `+p),$(t+f+pe,V+l,st(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+pe,R+l,st(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+pe,S+l,st(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];se(de,e,a),s(1,Z,...a)})),s(1,Z,e,t,n,T,A,O,G,M,J,z,B,F,X,te,le,oe),Y=[e,t,n,T,O,G,M,J,z,B,F,X,te,le,de],L([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,lt(1,n),t,l))),U(0,a,C,n+Le,nt(p,je)),U(5,a,p,_e,ot(p,je),"tableCallback: "+A,"tableCallback as any"),E(((e,t,l)=>{const[n,o,s,r,I,c,$,i]=ne(de,e);L([[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,nt(f,"the whole of "+ct(e)),a,l),U(5,t,p+f,_e,ot(p+f,"the whole of "+ct(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,h+"Count","number","Gets the number of Rows in the "+ct(e),a,l),U(0,t,m,u,nt(h,ct(e)),a,l),U(0,t,g,u,nt(h,ct(e),1),"cellId?: "+I+Ge,l+", cellId, descending, offset, limit"),U(5,t,h,_e,ot(h,ct(e)),"rowCallback: "+$,l+", rowCallback as any"),L([[s],[d],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=a,d=a],s)=>U(s,t,h,n,ut(e,s),De+o,l+", rowId"+d))),U(6,t,h,we+xe,"Add a new Row to "+ct(e),"row: "+r+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+Le,nt(f,$t(e)),De,l+", rowId"),U(5,t,f,_e,ot(f,$t(e)),De+", cellCallback: "+c,l+", rowId, cellCallback as any"),D(e,((n,o,s,r,I)=>{const c="Map"+Pt(o,1);se(K,o,c);const $=o+(k(s)?xe:a);L([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,s=a],c)=>U(c,t+I,f,o,pt(e,n,c),De+d,l+", rowId, "+r+s))),U(1,t+I,p+f,d,Ct[1]+` the '${n}' Cell anywhere in `+ct(e),a,l+", "+r)}))})),U(0,a,b+Te,Te,lt(1,6)),U(2,a,b+Te,H,lt(1,7),"tablesJson: "+Te,"tables"+Te),_(b,O,lt(1,8)+" changes"),_(C,G,It(2,0,1)),_(p,M,It(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,J,It(14,3,1),`tableId: ${n} | null`,"tableId"),_(h+"Count",z,It(15,3),`tableId: ${n} | null`,"tableId"),_(m,B,It(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,F,It(13,3,1),Dt("tableId: TId",`cellId: ${T}<TId>`+xe,"descending: boolean","offset: number","limit: number"+xe),Dt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,X,It(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,te,It(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,le,It(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${j(E((e=>ne(de,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(ye+f,oe,Ae+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...ee(K)),W(q,".set"+b+Oe+"({",St(E(((e,t,l)=>[`[${l}]: {`,...D(e,((e,t,l,n)=>`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${k(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(P(l)?x(At(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(X(t))s(null,l,T);else{const[e,t,n,o,c,$,i,u,p]=G(Q,H);s(1,Z,e,t,n,c,$,i,u,p),te=[e,t,n,$,i,u],L([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,lt(2,n),t,l))),U(0,a,v,n+Le,nt(y,je)),U(5,a,y,"void",ot(y,je),"valueCallback: "+c,"valueCallback as any"),O(((e,t,l,n,o)=>{const s="Map"+Pt(t,1);se(K,t,s),L([[t],[d],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,l,d=a],s)=>U(s,o,y,t,bt(e,s),l,n+d)))})),U(0,a,T+Te,Te,lt(2,6)),U(2,a,T+Te,H,lt(2,7),"valuesJson: "+Te,"values"+Te),_(T,$,lt(2,8)+" changes"),_(v,i,It(10,0,1)),_(y,u,It(11,0),`valueId: ${n} | null`,"valueId"),_(ye+y,p,Ae+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...ee(K)),s(0,l,"ValueChange"),W(q,".set"+T+Oe+"({",O(((e,t,l,n)=>[`[${n}]: {[${x(At(r),`'${r}'`)}]: ${x(At(t),`'${t}'`)}${k(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(P(l)?x(At(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,lt(0,0)),U(2,a,"Content",H,lt(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,Je,H,`Applies a set of ${Je} to the Store`,"transactionChanges: "+Je,"transactionChanges"),oe(K,((e,t)=>$(t,`(cell: ${e}${xe}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,l,"DoRollback",we,"IdOrNull",Te,"Store",Je),s(0,l,"Get"+Je,"GetTransactionLog"),U(0,a,Te,Te,lt(0,6)),U(2,a,Te,H,lt(0,7),"tablesAndValuesJson: "+Te,"tablesAndValuesJson"),U(7,a,ze,"Return",We,ge,"actions, doRollback","<Return>"),U(7,a,"start"+Me,H,Be),U(7,a,"finish"+Me,H,Fe,me,"doRollback");const le=M(Q,H);return _("Start"+Me,le,Ae+" just before the start of the "+ze,a,a,0),_("WillFinish"+Me,le,Ae+" just before "+Ue,a,a,0),_("DidFinish"+Me,le,Ae+" just after "+Ue,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 "+je,"listenerId: Id","listenerId"),B("getStore",a,"Store","store",Ct[0]+" the underlying Store object"),s(1,l,"createStore"),s(1,Z,H,`create${H} as create${H}Decl`,le),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...z(1),"}"]),[o(...R(0),...S(),fe+" interface "+H+" {",...z(0),"}",a,Et(`Creates a ${H} object`),fe+" function create"+H+"(): "+H+";"),o(...R(1),fe+" const create"+H+": typeof create"+H+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),Y,te]},Ft=e=>$+e,Ut=e=>Dt(Ft(e),Ft(e)+Ce),_t="debugIds?: boolean",Zt="debugIds={debugIds}",Ht="then"+he,Qt="Parameter",qt=": (parameter: "+Qt+", store: Store) => ",Kt="const contextValue = useContext(Context);",Xt=", based on a parameter",Yt=": ",el="<"+Qt+",>",tl=Qt+"ized"+pe+"<"+Qt+">",ll="rowId",al="rowId={rowId}",nl=", separator, debugIds",ol="separator?: ReactElement | string",dl="then?: (store: Store",sl=Dt(dl+")"+Ze,Ht),rl="then, then"+Ce,Il=ll+Yt+we,cl="View",$l=(e,...t)=>Dt(...t,ve+": "+e,ve+he,"mutator?: boolean"),il=(...e)=>Dt(...e,ve,ve+Ce,"mutator"),ul=(e,t,n,o,d)=>{const[s,r,I,$,i,V,x,R]=Gt(),[S,P,A]=jt(e,t,i),E=`./${Pt(n)}.d`,D=`./${Pt(n)}-ui-react.d`,O="tinybase/ui-react",N=Pt(n,1),G=Pt(N),L=N+"Or"+N+we,M=G+"Or"+N+we,J=G+`={${G}}`,z=ae(),B=(e,t,l,n,o,d=a)=>(r(1,D,e+" as "+e+"Decl"),xt(z,e,[t,l,n,o,d])),U=(e,t,l,n,o,d=a)=>B("use"+e,t,l,n,o,d),_=(e,t,l,n,o=a,d=a,s=a,I=a,c=a)=>(r(1,O,`use${t} as use${t}Core`),U(e,Dt(o,K,I),l,ee+`(${M}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,s)),Z=(e,t,l,a)=>B(e,t,1,l,a),H=(e=0)=>de(z,(([t,l,n,o,d],s)=>{const r=e?[fe+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[fe+` function ${s}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||F(r,Et(o)),W(r,a),r}));r(null,l,we,"Store",pe,Qt+"ized"+pe),r(0,O,"ComponentReturnType"),r(1,O,"useCellIds"),r(null,O,"ExtraProps"),r(0,E,N);const Q=I(L,N+" | "+we,`Used when you need to refer to a ${N} in a React hook or component`),q=I(Pe+Se,Nt(G+Ve+N,G+`ById?: {[${G}Id: Id]: ${N}}`),`Used with the ${Pe} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,Q,q);const K=M+Ve+Q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${N}?, {[${G}Id: Id]: ${N}}?]>([])`),U("Create"+N,`create: () => ${N}, create`+he,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=U(N,"id?: Id",N+xe,["{",Kt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Pe} component context`),ee=$("useHook",M+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${G} : ${M})?.getStore(), ...postParams)`]),te=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),le=$("wrap",Dt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),oe=$("useCustomOrDefaultCellIds",Dt("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${M}?: ${Q} | undefined`),[`const defaultCellIds = ${ee}(${M}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=i("NullComponent","() => null");if(!X(e)){const[e,t,n,d,s,i,y,T,v,V,x,R,A,O,L]=o;r(null,E,e,t,n,s,i,y,T,v,V,x,R,A,O),r(0,E,d),r(1,E,N),r(null,l,u,"IdOrNull");const M=$("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+nl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${le}(rowIds.map((rowId) => (`,"<Row","{..."+te+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",al,"customCellIds={customCellIds}",J,Zt,"/>","))",nl,", tableId,",");"]),z=$("getDefaultTableComponent","tableId: Id",j(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),W=$("getDefaultCellComponent","tableId: Id, cellId: Id",j(S(((e,t,l)=>`tableId == ${l} ? ${j(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(b,b,e,lt(1,0)+ue);const B=_(C,C,n+Le,nt(p,je)+ue);_(Ne+b+pe,Ne+b+pe,tl,lt(1,9)+Xt,Dt(Ft(b)+qt+t,Ft(b)+he),Ut(b),el,Dt(dl,`tables: ${t})`+Ze,Ht),rl),_(be+b+pe,be+b+pe,pe,lt(1,12),a,a,a,sl,rl);const F=I(f+Se,Nt("tableId?: TId","rowId: Id","cellId?: CId",G+Ve+N,_t),dt($e+f),`<TId extends ${n}, CId extends ${d}<TId>>`),U=I(h+Se,Nt("tableId?: TId","rowId: Id",G+Ve+N,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${F}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ol,_t),dt($e+h),`<TId extends ${n}>`),H=I(p+Se,Nt("tableId?: TId",G+Ve+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),dt($e+p),`<TId extends ${n}>`),Q=I("Sorted"+p+Se,Nt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+Ve+N,`rowComponent?: ComponentType<${U}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ol,_t),dt($e+"sorted "+p),`<TId extends ${n}>`),q=I(b+Se,Nt(G+Ve+N,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${H}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ol,_t),dt(tt(1,1)));r(1,D,q,H,Q,U,F),Z(b+cl,"{"+G+", tableComponents, getTableComponentProps"+nl+"}: "+q,[le+`(${B}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+z+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${te}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Zt,"/>;","}), separator)"],lt(1,13)+ue),S(((e,t,l)=>{const[n,o,d,s,I]=ne(L,e);r(null,E,n,o,d,s,I),_(t+p,p,n,it(e)+ue,a,l),_(t+p+w,p+w,u,nt(f,"the whole of "+ct(e))+ue,a,l);const c=_(t+m,m,u,nt(h,ct(e))+ue,a,l),$=_(t+g,g,u,nt(h,ct(e),1)+ue,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,ut(e)+ue,Il,Dt(l,ll)),_(t+w,w,I+Le,nt(f,$t(e))+ue,Il,Dt(l,ll)),_(Ne+t+p+pe,Ne+p+pe,tl,it(e,9)+Xt,Dt(Ft(p)+qt+o,Ft(p)+he),Dt(l,Ut(p)),el,Dt(dl,`table: ${o})`+Ze,Ht),rl),_(be+t+p+pe,be+p+pe,pe,it(e,12),a,l,a,sl,rl),_(Ne+t+h+pe,Ne+h+pe,tl,ut(e,9)+Xt,Dt(Il,Ft(h)+qt+s,Ft(h)+he),Dt(l,ll,Ut(h)),el,Dt(dl,`row: ${s})`+Ze,Ht),rl),_("Add"+t+h+pe,"Add"+h+pe,tl,ut(e,10)+Xt,Dt(Ft(h)+qt+s,Ft(h)+he),Dt(l,Ut(h)),el,"then?: ("+Dt(Il+xe,"store: Store","row: "+s+")"+Ze,"then"+he)+", reuseRowIds?: boolean",rl+", reuseRowIds"),_(Ne+t+ke+h+pe,Ne+ke+h+pe,tl,ut(e,11)+Xt,Dt(Il,Ft(ke+h)+qt+s,Ft(ke+h)+he),Dt(l,ll,Ut(ke+h)),el,Dt(dl,`partialRow: ${s})`+Ze,Ht),rl),_(be+t+h+pe,be+h+pe,pe,ut(e,12),Il,Dt(l,ll),a,sl,rl);const i=Z(t+h+cl,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+nl+`}: ${U}<'${e}'>`,[le+`(${oe}(customCellIds, `+l+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+W+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${te}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,al,"cellId={cellId}",J,Zt,"/>;","})"+nl+", rowId)"],ut(e,13)+ue);Z(t+"Sorted"+p+cl,"{cellId, descending, offset, limit, ...props}: "+Q+`<'${e}'>`,M+"(props, "+$+`(cellId, descending, offset, limit, props.${G}), ${l}, ${i});`,it(e,13)+", sorted"+ue),Z(t+p+cl,`props: ${H}<'${e}'>`,M+"(props, "+c+`(props.${G}), ${l}, ${i});`,it(e,13)+ue),P(e,((n,o,d,s,I)=>{const c="Map"+Pt(o,1);r(0,E,c),r(1,E,c);const $=_(t+I+f,f,o+(k(d)?xe:a),pt(e,n)+ue,Il,Dt(l,ll,s));_(Ne+t+I+f+pe,Ne+f+pe,tl,pt(e,n,9)+Xt,Dt(Il,Ft(f)+qt+o+" | "+c,Ft(f)+he),Dt(l,ll,s,Ut(f)),el,Dt(dl,`cell: ${o} | ${c})`+Ze,Ht),rl),_(be+t+I+f+pe,be+f+pe,pe,pt(e,n,12),Dt(Il,"forceDel?: boolean"),Dt(l,ll,s,"forceDel"),a,sl,rl),Z(t+I+f+cl,`{rowId, ${G}, debugIds}: `+F+`<'${e}', '${n}'>`,[le+`('' + ${$}(rowId, `+G+`) ?? '', undefined, debugIds, ${s})`],pt(e,n,13)+ue)}))}));const K=j(S((e=>ne(L,e)?.[4]??a))," | ");_(b+c,b+c,_e,lt(1,8)+" changes",$l(s),il()),_(C+c,C+c,_e,It(2,0,1),$l(i),il()),_(p+c,p+c,_e,It(3,0),$l(y,`tableId: ${n} | null`),il("tableId")),_(p+w+c,p+w+c,_e,It(14,3,1),$l(T,`tableId: ${n} | null`),il("tableId")),_(m+c,m+c,_e,It(4,3,1),$l(V,`tableId: ${n} | null`),il("tableId")),_(g+c,g+c,_e,It(13,3,1),$l(x,`tableId: ${n} | null`,"cellId: "+K+xe,"descending: boolean","offset: number","limit: number"+xe),il("tableId","cellId","descending","offset","limit")),_(h+c,h+c,_e,It(5,3),$l(R,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(w+c,w+c,_e,It(6,5,1),$l(A,`tableId: ${n} | null`,ll+": IdOrNull"),il("tableId",ll)),_(f+c,f+c,_e,It(7,5),$l(O,`tableId: ${n} | null`,ll+": IdOrNull",`cellId: ${K} | null`),il("tableId",ll,"cellId"))}if(!X(t)){const[e,t,l,n,o,s]=d;r(null,E,...d),r(1,E,N);const i=$("getDefaultValueComponent","valueId: Id",j(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(T,T,e,lt(2,0)+ue);const u=_(v,v,l+Le,nt(y,je)+ue);_(Ne+T+pe,Ne+T+pe,tl,lt(2,9)+Xt,Dt(Ft(T)+qt+t,Ft(T)+he),Ut(T),el,Dt(dl,`values: ${t})`+Ze,Ht),rl),_(Ne+ke+T+pe,Ne+ke+T+pe,tl,lt(2,11)+Xt,Dt(Ft(ke+T)+qt+t,Ft(ke+T)+he),Ut(ke+T),el,Dt(dl,`partialValues: ${t})`+Ze,Ht),rl),_(be+T+pe,be+T+pe,pe,lt(2,12),a,a,a,sl,rl);const p=I(y+Se,Nt("valueId?: VId",G+Ve+N,_t),dt("a Value"),`<VId extends ${l}>`),b=I(T+Se,Nt(G+Ve+N,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,ol,_t),dt(tt(2,1)));r(1,D,b,p),Z(T+cl,"{"+G+", valueComponents, getValueComponentProps"+nl+"}: "+b,[le+`(${u}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${te}(getValueComponentProps, valueId)}`,"key={valueId}",J,Zt,"/>;","}), separator)"],lt(2,13)+ue),A(((e,t,l,n,o)=>{const d="Map"+Pt(t,1);r(0,E,d),r(1,E,d);const s=_(o+y,y,t,bt(e)+ue,a,n);_(Ne+o+y+pe,Ne+y+pe,tl,bt(e,9)+Xt,Dt(Ft(y)+qt+t+" | "+d,Ft(y)+he),Dt(n,Ut(y)),el,Dt(dl,`value: ${t} | ${d})`+Ze,Ht),rl),_(be+o+y+pe,be+y+pe,pe,bt(e,12),a,n,a,sl,rl),Z(o+y+cl,`{${G}, debugIds}: ${p}<'${e}'>`,[le+`('' + ${s}(`+G+`) ?? '', undefined, debugIds, ${n})`],bt(e,13)+ue)})),_(T+c,T+c,_e,lt(2,8)+" changes",$l(n),il()),_(v+c,v+c,_e,It(10,0,1),$l(o),il()),_(y+c,y+c,_e,It(11,0),$l(s,`valueId: ${l} | null`),il("valueId"))}return Z(Pe,`{${G}, ${G}ById, children}: `+q+" & {children: React.ReactNode}",["{",Kt,"return (","<Context."+Pe,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${Pe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...x(),...H(0)),s(...V(1),...R(),...H(1))]},pl=(e,t,l)=>{if(X(e)&&X(t))return[a,a,a,a];const[n,o,d,s]=Bt(e,t,l);return[n,o,...ul(e,t,l,d,s)]},bl=JSON.parse,Cl="prettier/",hl=Cl+"plugins/",ml={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},gl=Lt((e=>{const t=()=>{const t=bl(e.getTablesSchemaJson());return!X(t)||N(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ae();if(N(a,(t=>N(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=re(n,a,(()=>[O(o),ae(),[0],0])),[s,r,[I]]=d,c=re(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),se(r,o,c),d[3]++,s==O(o)})))))return t[l]={},te(n,(([e,,[,n],o],d)=>{t[l][d]={[r]:e,...o==J(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=bl(e.getValuesSchemaJson());return X(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:O(l)}})),t},a=e=>pl(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"],l=[];let n;try{n=(await import(Cl+"standalone")).format,W(l,await import(hl+"estree"),await import(hl+"typescript"))}catch(e){n=async e=>e}return await D(M(a(e),(async(e,a)=>Rt(await n(e,{...ml,plugins:l,filepath:"_."+t[a]})))))};return H({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let s=0,r=0;const I={};d(((e,l)=>{s++;let a=0;l((()=>a++)),r+=a,t&&(I[e]={rowCells:a})})),a+=s,n+=r,t&&(o[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:J(e.getValueIds()),jsonLength:kt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=gl},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
package/lib/umd/tools.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),r=l(!0),o=l(0),i=l(l),d="type",u="default",c="Ids",h="Table",m=h+"s",b=h+c,g="Row",I=g+"Count",p=g+c,f="Cell",w=f+c,y="Value",C=y+"s",v=y+c,k="currentTarget",T="value",S=e=>a+e,x=Math.floor,V=isFinite,R=(e,t)=>e instanceof t,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==r,M=e=>l(e)==i,E=e=>Array.isArray(e),{PureComponent:z,Fragment:$,createElement:O,useCallback:A,useLayoutEffect:F,useRef:J,useState:P}=t,B=(e,...t)=>q(e)?{}:e(...t),H=(e,t)=>e.forEach(t),D=(e,t)=>e.map(t),Q=e=>e.length,j=e=>0==Q(e),W=(e,t,s)=>e.slice(t,s),U=(e,...t)=>e.push(...t),G=e=>e.shift(),K=Object,X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>R(e,K)&&e.constructor==K,ee=(e=[])=>K.fromEntries(e),te=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),le=(e,t)=>D(K.entries(e),(([e,s])=>t(s,e))),ae=e=>_(e)&&0==(e=>Q(X(e)))(e),ne=e=>JSON.stringify(e,((e,t)=>R(t,Map)?K.fromEntries([...t]):t)),re=JSON.parse,oe="tinybaseStoreInspector",ie="TinyBase Store Inspector",de=["left","top","bottom","right","full"],ue="state",ce="sort",he="open",me="position",be=he,ge="editable",Ie=(...e)=>ne(e),pe=(e,t)=>D(e.sort(),t),fe=(e,t)=>[!!s.useCell(ue,e,ge,t),A((s=>{t.setCell(ue,e,ge,(e=>!e)),s.preventDefault()}),[t,e])],we="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',Ce=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",ve='</svg>")',ke=ye+"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\")",Te=D([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Ce+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+ve)),Se=Ce+"<path d='M20 20l60 60M20 80l60-60' />"+ve,xe=Ce+`<path d='${we}' />`+ve,Ve=Ce+`<path d='${we}M20 20l60 60' />`+ve,Re="*::-webkit-scrollbar",qe=`#${oe}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,t="")=>e.join(t))(le({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Re]:"width:0.5rem;height:0.5rem;",[Re+"-track"]:"background:#111",[Re+"-thumb"]:"background:#999;border:1px solid #111",[Re+"-thumb:hover"]:"background:#fff",[Re+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ke,...ee(D(["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;",...ee(D(["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)":ke,"header>img:nth-of-type(6)":Se,...ee(D(Te,((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;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":xe,"details[open]>summary img.done":Ve,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","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",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,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","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`& ${t}{${e}}`:"")))}`,Ne=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!0),[],e);return s.useValue(be,e)?null:O("img",{onClick:l,title:ie,"data-position":t})},Le=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:r})=>{const o=!!s.useCell(ue,e,he,r),i=s.useSetCellCallback(ue,e,he,(e=>e[k].open),[],r);return O("details",{open:o,onToggle:i},O("summary",null,t,a?O("img",{onClick:a,className:l?"done":"edit"}):null),n)},Me=e=>{const t=l(e);return L(t)||t==o&&V(e)?t:void 0},Ee=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),ze=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),$e=(e,t,s,l)=>e==n?t:e==o?s:l,{useCallback:Oe,useMemo:Ae,useState:Fe}=t,Je="editable",Pe=(e,t)=>D(s.useTableCellIds(e,t),(t=>e+"."+t)),Be=(e,t,s)=>{const l=Oe(e,t);return s?l:void 0},He=(...e)=>Ae((()=>e),e),De=(e,t)=>Ae((()=>({store:e,tableId:t})),[e,t]),Qe=(e,t)=>Ae((()=>({queries:e,queryId:t})),[e,t]),je=(e,t=!1,s,l=0,a,n,r,o)=>{const[[i,d,u],c]=Fe([e,t,l]),h=Oe((e=>{c(e),o?.(e)}),[o]),m=Be((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Oe((e=>h([i,d,e])),[h,i,d]),g=!0===r?at:r;return[[i,d,u],m,Ae((()=>!1===r?null:O(g,{offset:u,limit:a,total:n,onChange:b})),[r,g,u,a,n,b])]},We=(e,t,s)=>Ae((()=>{const a=t??e;return ee(le(E(a)?ee(D(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)}];var a})))}),[t,s,e]),Ue=({className:e,headerRow:t,idColumn:s,params:[l,a,n,r,o,i]})=>O("table",{className:e},i?O("caption",null,i):null,!1===t?null:O("thead",null,O("tr",null,!1===s?null:O(Ge,{sort:r??[],label:"Id",onClick:o}),le(l,(({label:e},t)=>O(Ge,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),O("tbody",null,D(n,(e=>O("tr",{key:e},!1===s?null:O("th",null,e),le(l,(({component:t,getComponentProps:s},l)=>O("td",{key:l},O(t,{...B(s,e,l),...a,rowId:e,cellId:l}))))))))),Ge=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>O("th",{onClick:Be((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ke=({localRowId:e,params:[l,a,n,r,o,i,d]})=>{const u=s.useRemoteRowId(o,e,i);return O("tr",null,!1===l?null:O(t.Fragment,null,O("th",null,e),O("th",null,u)),le(a,(({component:t,getComponentProps:s},l)=>{const[a,o]=l.split(".",2),i=a===n?e:a===r?u:null;return q(i)?null:O("td",{key:l},O(t,{...B(s,i,o),store:d,tableId:a,rowId:i,cellId:o}))})))},Xe=({thing:e,onThingChange:t,className:s,hasSchema:l})=>{const[a,i]=Fe(),[d,u]=Fe(),[c,h]=Fe(),[m,b]=Fe(),[g,I]=Fe();d!==e&&(i(Me(e)),u(e),h(e+""),b(Number(e)||0),I(!!e));const p=Oe(((e,s)=>{s(e),u(e),t(e)}),[t]);return O("div",{className:s},O("button",{className:a,onClick:Oe((()=>{if(!l?.()){const e=$e(a,o,r,n),s=$e(e,c,m,g);i(e),u(s),t(s)}}),[l,t,c,m,g,a])},a),$e(a,O("input",{key:a,value:c,onChange:Oe((e=>p(e[k][T]+"",h)),[p])}),O("input",{key:a,type:"number",value:m,onChange:Oe((e=>p(Number(e[k][T]||0),b)),[p])}),O("input",{key:a,type:"checkbox",checked:g,onChange:Oe((e=>p(!!e[k].checked,I)),[p])})))},Ye=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=je(t,l,i,a,n,s.useRowCount(e,r),d,u);return O(Ue,{...h,params:He(We(s.useTableCellIds(e,r),c,o?st:s.CellView),De(r,e),s.useSortedRowIds(e,...m,n,r),m,b,g)})},Ze=({store:e,editable:t=!1,valueComponent:l=(t?lt:s.ValueView),getValueComponentProps:a,className:n,headerRow:r,idColumn:o})=>O("table",{className:n},!1===r?null:O("thead",null,O("tr",null,!1===o?null:O("th",null,"Id"),O("th",null,y))),O("tbody",null,D(s.useValueIds(e),(t=>O("tr",{key:t},!1===o?null:O("th",null,t),O("td",null,O(l,{...B(a,t),valueId:t,store:e}))))))),_e=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return O(Ue,{...r,params:He(We(s.useTableCellIds(d,i),n,a?st:s.CellView),De(i,d),s.useSliceRowIds(e,t,o))})},et=({relationshipId:e,relationships:l,editable:a,customCells:n,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=We([...Pe(c,u),...Pe(h,u)],n,a?st:s.CellView),b=He(i,m,c,h,e,d,u);return O("table",{className:r},!1===o?null:O("thead",null,O("tr",null,!1===i?null:O(t.Fragment,null,O("th",null,c,".Id"),O("th",null,h,".Id")),le(m,(({label:e},t)=>O("th",{key:t},e))))),O("tbody",null,D(s.useRowIds(c,u),(e=>O(Ke,{key:e,localRowId:e,params:b})))))},tt=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=je(t,l,o,a,n,s.useResultRowCount(e,r),i,u);return O(Ue,{...c,params:He(We(s.useResultTableCellIds(e,r),d,s.ResultCellView),Qe(r,e),s.useResultSortedRowIds(e,...h,n,r),h,m,b)})},st=({tableId:e,rowId:t,cellId:l,store:a,className:n})=>O(Xe,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??Je+f,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),lt=({valueId:e,store:t,className:l})=>O(Xe,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??Je+y,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),at=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:r=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const o=Be((()=>e(l-a)),[e,l,a],l>0),i=Be((()=>e(l+a)),[e,l,a],l+a<s);return O(t.Fragment,null,s>a&&O(t.Fragment,null,O("button",{className:"previous",disabled:0==l,onClick:o},"←"),O("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?r:n)},nt=({indexes:e,indexesId:t,indexId:l,s:a})=>O(Le,{uniqueId:Ie("i",t,l),summary:"Index: "+l,s:a},D(s.useSliceIds(l,e),(s=>O(rt,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),rt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=Ie("i",t,s,l),[r,o]=fe(n,a);return O(Le,{uniqueId:n,summary:"Slice: "+l,editable:r,handleEditable:o,s:a},O(_e,{sliceId:l,indexId:s,indexes:e,editable:r}))},ot=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:O(Le,{uniqueId:Ie("i",e),summary:"Indexes: "+(e??u),s:t},j(a)?"No indexes defined":pe(a,(s=>O(nt,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},it=({metrics:e,metricId:t})=>O("tr",null,O("th",null,t),O("td",null,e?.getTableId(t)),O("td",null,s.useMetric(t,e))),dt=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:O(Le,{uniqueId:Ie("m",e),summary:"Metrics: "+(e??u),s:t},j(a)?"No metrics defined":O("table",null,O("thead",null,O("th",null,"Metric Id"),O("th",null,"Table Id"),O("th",null,"Metric")),O("tbody",null,D(a,(e=>O(it,{metrics:l,metricId:e,key:e}))))))},ut=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=Ie("q",t,l),[r,o,i]=re(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a);return O(Le,{uniqueId:n,summary:"Query: "+l,s:a},O(tt,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ct=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:O(Le,{uniqueId:Ie("q",e),summary:"Queries: "+(e??u),s:t},j(a)?"No queries defined":pe(a,(s=>O(ut,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},ht=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=Ie("r",t,s),[n,r]=fe(a,l);return O(Le,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:r,s:l},O(et,{relationshipId:s,relationships:e,editable:n}))},mt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:O(Le,{uniqueId:Ie("r",e),summary:"Relationships: "+(e??u),s:t},j(a)?"No relationships defined":pe(a,(s=>O(ht,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},bt=({tableId:e,store:t,storeId:l,s:a})=>{const n=Ie("t",l,e),[r,o,i]=re(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a),[u,c]=fe(n,a);return O(Le,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},O(Ye,{tableId:e,store:t,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},gt=({store:e,storeId:t,s:l})=>{const a=Ie("v",t),[n,r]=fe(a,l);return j(s.useValueIds(e))?null:O(Le,{uniqueId:a,summary:C,editable:n,handleEditable:r,s:l},O(Ze,{store:e,editable:n}))},It=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:O(Le,{uniqueId:Ie("s",e),summary:"Store: "+(e??u),s:t},O(gt,{storeId:e,store:l,s:t}),pe(a,(s=>O(bt,{store:l,storeId:e,tableId:s,s:t,key:s}))))},pt=({s:e})=>{const t=J(null),l=J(0),[a,n]=P(!1),{scrollLeft:r,scrollTop:o}=s.useValues(e);F((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=x(r)+e.clientWidth&&e.scrollHeight>=x(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,r,o]);const i=A((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),I=s.useRelationshipsIds(),p=s.useQueries(),f=s.useQueriesIds();return q(d)&&j(u)&&q(c)&&j(h)&&q(m)&&j(b)&&q(g)&&j(I)&&q(p)&&j(f)?O("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):O("article",{ref:t,onScroll:i},O(It,{s:e}),D(u,(t=>O(It,{storeId:t,s:e,key:t}))),O(dt,{s:e}),D(h,(t=>O(dt,{metricsId:t,s:e,key:t}))),O(ot,{s:e}),D(b,(t=>O(ot,{indexesId:t,s:e,key:t}))),O(mt,{s:e}),D(I,(t=>O(mt,{relationshipsId:t,s:e,key:t}))),O(ct,{s:e}),D(f,(t=>O(ct,{queriesId:t,s:e,key:t}))))};class ft extends z{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError=()=>({e:1});componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?O("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const wt=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!1),[],e),a=s.useSetValueCallback(me,(e=>Number(e[k].dataset.id)),[],e);return O("header",null,O("img",{title:ie}),O("span",null,ie),D(de,((e,s)=>s==t?null:O("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),O("img",{onClick:l,title:"Close"}))},yt=({s:e})=>{const t=s.useValue(me,e)??1;return s.useValue(be,e)?O("main",{"data-position":t},O(wt,{s:e}),O(ft,null,O(pt,{s:e}))):null},Ct=e=>t=>{return s=(t,s)=>t+e(s),Rt(t).reduce(s,0);var s},vt=e=>e?.size??0,kt=Ct(vt),Tt=Ct(kt),St=Ct(Tt),xt=(e,t)=>e?.has(t)??!1,Vt=e=>q(e)||0==vt(e),Rt=e=>[...e?.values()??[]],qt=e=>e.clear(),Nt=(e,t)=>e?.forEach(t),Lt=(e,t)=>e?.delete(t),Mt=e=>new Map(e),Et=e=>[...e?.keys()??[]],zt=(e,t)=>e?.get(t),$t=(e,t)=>Nt(e,((e,s)=>t(s,e))),Ot=(e,t,s)=>q(s)?(Lt(e,t),e):e?.set(t,s),At=(e,t,s)=>(xt(e,t)||Ot(e,t,s()),zt(e,t)),Ft=(e,t,s,l=Ot)=>(le(t,((t,l)=>s(e,l,t))),$t(e,(s=>te(t,s)?0:l(e,s))),e),Jt=(e,t,s)=>{const l={};return Nt(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Pt=(e,t,s)=>Jt(e,(e=>Jt(e,t,s)),ae),Bt=(e,t,s)=>Jt(e,(e=>Pt(e,t,s)),ae),Ht=(e,t)=>{const s=Mt();return Nt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Dt=e=>Ht(e,Ht),Qt=e=>Ht(e,Dt),jt=(e,t,s,l,a=0)=>N((s?At:zt)(e,t[a],a>Q(t)-2?s:Mt),(n=>{if(a>Q(t)-2)return l?.(n)&&Ot(e,t[a]),n;const r=jt(n,t,s,l,a+1);return Vt(n)&&Ot(e,t[a]),r})),Wt=Mt(),Ut=Mt(),Gt="storage",Kt=globalThis.window,Xt=e=>new Set(E(e)||q(e)?e:[e]),Yt=(e,t)=>e?.add(t),Zt=/^\d+$/,_t=()=>{const e=[];let t=0;return[s=>(s?G(e):null)??a+t++,t=>{Zt.test(t)&&Q(e)<1e3&&U(e,t)}]},es=e=>[e,e],ts=(e,t=kt)=>t(e[0])+t(e[1]),ss=()=>[Mt(),Mt()],ls=e=>[...e],as=([e,t])=>e===t,ns=(e,t,s)=>q(e)||!_(e)||ae(e)||Y(e)?(s?.(),!1):(le(e,((s,l)=>{t(s,l)||se(e,l)})),!ae(e)),rs=(e,t,s)=>Ot(e,t,zt(e,t)==-s?void 0:s),os=()=>{let e,t,s=!1,l=!1,n=0;const r=Mt(),i=Mt(),c=Mt(),k=Mt(),T=Mt(),x=Mt(),V=Mt(),R=Mt(),E=Mt(),z=Mt(),$=Mt(),O=Mt(),A=Mt(),F=Mt(),J=Xt(),P=Mt(),B=Mt(),j=Mt(),G=Mt(),K=ss(),X=ss(),Y=ss(),_=ss(),ee=ss(),oe=ss(),ie=ss(),de=ss(),ue=ss(),ce=ss(),he=ss(),me=ss(),be=ss(),ge=ss(),Ie=ss(),pe=Mt(),fe=ss(),[we,ye,Ce,ve]=(e=>{let t;const[s,l]=_t(),n=Mt();return[(e,l,r,o=[],i=(()=>[]))=>{t??=ws;const d=s(1);return Ot(n,d,[e,l,r,o,i]),Yt(jt(l,r??[a],Xt),d),d},(e,s,...l)=>H(((e,t=[a])=>{const s=[],l=(e,a)=>a==Q(t)?U(s,e):null===t[a]?Nt(e,(e=>l(e,a+1))):H([t[a],null],(t=>l(zt(e,t),a+1)));return l(e,0),s})(e,s),(e=>Nt(e,(e=>zt(n,e)[0](t,...s??[],...l))))),e=>N(zt(n,e),(([,t,s])=>(jt(t,s??[a],void 0,(t=>(Lt(t,e),Vt(t)?1:0))),Ot(n,e),l(e),s))),e=>N(zt(n,e),(([e,,s=[],l,a])=>{const n=(...r)=>{const o=Q(r);o==Q(s)?e(t,...r,...a(r)):q(s[o])?H(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ke=e=>{if(!ns(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=o||(Me(e[u])!=t&&se(e,u),0))},Te=(t,s)=>(!e||xt($,s)||lt(s))&&ns(t,((e,t)=>Se(s,t,e)),(()=>lt(s))),Se=(e,t,s,l)=>ns(l?s:qe(s,e,t),((l,a)=>N(xe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>lt(e,t))),xe=(t,s,l,a)=>e?N(zt(zt($,t),l),(e=>Me(a)!=e[d]?lt(t,s,l,a,e[u]):a),(()=>lt(t,s,l,a))):q(Me(a))?lt(t,s,l,a):a,Ve=(e,t)=>ns(t?e:Ne(e),((t,s)=>N(Re(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>at())),Re=(e,s)=>t?N(zt(A,e),(t=>Me(s)!=t[d]?at(e,s,t[u]):s),(()=>at(e,s))):q(Me(s))?at(e,s):s,qe=(e,t,s)=>(N(zt(O,t),(([l,a])=>{Nt(l,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(a,(l=>{te(e,l)||lt(t,s,l)}))})),e),Ne=e=>(t&&(Nt(F,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(J,(t=>{te(e,t)||at(t)}))),e),Le=e=>Ft($,e,((e,t,s)=>{const l=Mt(),a=Xt();Ft(At($,t,Mt),s,((e,t,s)=>{Ot(e,t,s),N(s[u],(e=>Ot(l,t,e)),(()=>Yt(a,t)))})),Ot(O,t,[l,a])}),((e,t)=>{Ot($,t),Ot(O,t)})),$e=e=>Ft(A,e,((e,t,s)=>{Ot(A,t,s),N(s[u],(e=>Ot(F,t,e)),(()=>Yt(J,t)))}),((e,t)=>{Ot(A,t),Ot(F,t),Lt(J,t)})),Oe=e=>ae(e)?us():Gt(e),Ae=e=>Ft(j,e,((e,t,s)=>Fe(t,s)),((e,t)=>Ue(t))),Fe=(e,t)=>Ft(At(j,e,(()=>(Ye(e,1),Ot(P,e,_t()),Ot(B,e,Mt()),Mt()))),t,((t,s,l)=>Je(e,t,s,l)),((t,s)=>Ge(e,t,s))),Je=(e,t,s,l,a)=>Ft(At(t,s,(()=>(Ze(e,s,1),Mt()))),l,((t,l,a)=>Pe(e,s,t,l,a)),((l,n)=>Ke(e,t,s,l,n,a))),Pe=(e,t,s,l,a)=>{xt(s,l)||_e(e,t,l,1);const n=zt(s,l);a!==n&&(et(e,t,l,n,a),Ot(s,l,a))},Be=(e,t,s,l,a)=>N(zt(t,s),(t=>Pe(e,s,t,l,a)),(()=>Je(e,t,s,qe({[l]:a},e,s)))),He=e=>ae(e)?ms():Kt(e),De=e=>Ft(G,e,((e,t,s)=>Qe(t,s)),((e,t)=>Xe(t))),Qe=(e,t)=>{xt(G,e)||tt(e,1);const s=zt(G,e);t!==s&&(st(e,s,t),Ot(G,e,t))},je=(e,t)=>{const[s]=zt(P,e),l=s(t);return xt(zt(j,e),l)?je(e,t):l},We=e=>zt(j,e)??Fe(e,{}),Ue=e=>Fe(e,{}),Ge=(e,t,s)=>{const[,l]=zt(P,e);l(s),Je(e,t,s,{},!0)},Ke=(e,t,s,l,a,n)=>{const r=zt(zt(O,e)?.[0],a);if(!q(r)&&!n)return Pe(e,s,l,a,r);const o=t=>{et(e,s,t,zt(l,t)),_e(e,s,t,-1),Ot(l,t)};q(r)?o(a):$t(l,o),Vt(l)&&(Ze(e,s,-1),Vt(Ot(t,s))&&(Ye(e,-1),Ot(j,e),Ot(P,e),Ot(B,e)))},Xe=e=>{const t=zt(F,e);if(!q(t))return Qe(e,t);st(e,zt(G,e)),tt(e,-1),Ot(G,e)},Ye=(e,t)=>rs(r,e,t),Ze=(e,t,s)=>rs(At(k,e,Mt),t,s)&&Ot(c,e,At(c,e,(()=>0))+s),_e=(e,t,s,l)=>{const a=zt(B,e),n=zt(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&rs(At(i,e,Mt),s,l),Ot(a,s,n!=-l?n+l:null),rs(At(At(T,e,Mt),t,Mt),s,l)},et=(e,t,s,l,a)=>At(At(At(x,e,Mt),t,Mt),s,(()=>[l,0]))[1]=a,tt=(e,t)=>rs(V,e,t),st=(e,t,s)=>At(R,e,(()=>[t,0]))[1]=s,lt=(e,t,s,l,a)=>(U(At(At(At(E,e,Mt),t,Mt),s,(()=>[])),l),a),at=(e,t,s)=>(U(At(z,e,(()=>[])),t),s),nt=(e,t,s)=>N(zt(zt(zt(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ct(e,t,s))])),rt=e=>N(zt(R,e),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ut(e))])),ot=e=>Vt(E)||Vt(he[e])?0:Nt(e?Qt(E):E,((t,s)=>Nt(t,((t,l)=>Nt(t,((t,a)=>ye(he[e],[s,l,a],t))))))),it=e=>Vt(z)||Vt(me[e])?0:Nt(e?Ht(z):z,((t,s)=>ye(me[e],[s],t))),dt=(e,t,s)=>{if(!Vt(t))return ye(e,s,(()=>Jt(t))),1},ut=e=>{const t=Vt(ie[e]),s=Vt(ue[e])&&Vt(_[e])&&Vt(ee[e])&&Vt(oe[e])&&t&&Vt(X[e]),l=Vt(ce[e])&&Vt(de[e])&&Vt(Y[e])&&Vt(K[e]);if(!s||!l){const a=e?[Ht(r),Dt(i),Ht(c),Dt(k),Qt(T),Qt(x)]:[r,i,c,k,T,x];if(!s){dt(X[e],a[0]),Nt(a[1],((t,s)=>dt(_[e],t,[s]))),Nt(a[2],((t,s)=>{0!=t&&ye(ee[e],[s],pt(s))}));const s=Xt();Nt(a[3],((l,a)=>{dt(oe[e],l,[a])&&!t&&(ye(ie[e],[a,null]),Yt(s,a))})),t||Nt(a[5],((t,l)=>{if(!xt(s,l)){const s=Xt();Nt(t,(e=>Nt(e,(([t,l],a)=>l!==t?Yt(s,a):Lt(e,a))))),Nt(s,(t=>ye(ie[e],[l,t])))}})),Nt(a[4],((t,s)=>Nt(t,((t,l)=>dt(ue[e],t,[s,l])))))}if(!l){let t;Nt(a[5],((s,l)=>{let a;Nt(s,((s,n)=>{let r;Nt(s,(([s,o],i)=>{o!==s&&(ye(ce[e],[l,n,i],o,s,nt),t=a=r=1)})),r&&ye(de[e],[l,n],nt)})),a&&ye(Y[e],[l],nt)})),t&&ye(K[e],void 0,nt)}}},ct=e=>{const t=Vt(ge[e]),s=Vt(Ie[e])&&Vt(be[e]);if(!t||!s){const l=e?[Ht(V),Ht(R)]:[V,R];if(t||dt(ge[e],l[0]),!s){let t;Nt(l[1],(([s,l],a)=>{l!==s&&(ye(Ie[e],[a],l,s,rt),t=1)})),t&&ye(be[e],void 0,rt)}}},ht=(e,...t)=>(Is((()=>e(...D(t,S)))),ws),mt=()=>[Jt(x,((e,t)=>-1===zt(r,t)?null:Jt(e,((e,s)=>-1===zt(zt(k,t),s)?null:Jt(e,(([,e])=>e??null),((e,t)=>as(t)))),ae)),ae),Jt(R,(([,e])=>e??null),((e,t)=>as(t)))],bt=()=>({cellsTouched:s,valuesTouched:l,changedCells:Bt(x,ls,as),invalidCells:Bt(E),changedValues:Jt(R,ls,as),invalidValues:Jt(z),changedTableIds:Jt(r),changedRowIds:Pt(k),changedCellIds:Bt(T),changedValueIds:Jt(V)}),gt=()=>Bt(j),It=()=>Et(j),pt=e=>vt(zt(j,S(e))),ft=e=>Et(zt(j,S(e))),wt=(e,t,s,l=0,a)=>{return D(W((r=zt(j,S(e)),o=(e,s)=>[q(t)?s:zt(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),D([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,q(a)?a:l+a),(([,e])=>e));var n,r,o},yt=(e,t)=>Et(zt(zt(j,S(e)),S(t))),Ct=(e,t,s)=>zt(zt(zt(j,S(e)),S(t)),S(s)),Rt=()=>Jt(G),Wt=()=>Et(G),Ut=e=>zt(G,S(e)),Gt=e=>ht((()=>(e=>ns(e,Te,lt))(e)?Ae(e):0)),Kt=e=>ht((()=>Ve(e)?De(e):0)),Zt=e=>{try{Oe(re(e))}catch{}return ws},is=t=>ht((()=>{if((e=ns(t,(e=>ns(e,ke))))&&(Le(t),!Vt(j))){const e=gt();us(),Gt(e)}})),ds=e=>ht((()=>{if(t=(e=>ns(e,ke))(e)){const s=Rt();gs(),ms(),t=!0,$e(e),Kt(s)}})),us=()=>ht((()=>Ae({}))),cs=e=>ht((e=>xt(j,e)?Ue(e):0),e),hs=(e,t)=>ht(((e,t)=>N(zt(j,e),(s=>xt(s,t)?Ge(e,s,t):0))),e,t),ms=()=>ht((()=>De({}))),bs=()=>ht((()=>{Le({}),e=!1})),gs=()=>ht((()=>{$e({}),t=!1})),Is=(e,t)=>{if(-1!=n){ps();const s=e();return fs(t),s}},ps=()=>(-1!=n&&n++,1==n&&ye(pe,void 0,mt,bt),ws),fs=e=>(n>0&&(n--,0==n&&(s=!Vt(x),l=!Vt(R),n=1,ot(1),s&&ut(1),it(1),l&&ct(1),e?.(mt,bt)&&(Nt(x,((e,t)=>Nt(e,((e,s)=>Nt(e,(([e],l)=>Ee(ws,t,s,l,e))))))),Nt(R,(([e],t)=>ze(ws,t,e))),s=l=!1),ye(fe[0],void 0,mt,bt),n=-1,ot(0),s&&ut(0),it(0),l&&ct(0),ye(fe[1],void 0,mt,bt),n=0,s=l=!1,H([r,i,c,k,T,x,E,V,R,z],qt))),ws),ws={getContent:()=>[gt(),Rt()],getTables:gt,getTableIds:It,getTable:e=>Pt(zt(j,S(e))),getTableCellIds:e=>Et(zt(B,S(e))),getRowCount:pt,getRowIds:ft,getSortedRowIds:wt,getRow:(e,t)=>Jt(zt(zt(j,S(e)),S(t))),getCellIds:yt,getCell:Ct,getValues:Rt,getValueIds:Wt,getValue:Ut,hasTables:()=>!Vt(j),hasTable:e=>xt(j,S(e)),hasTableCell:(e,t)=>xt(zt(B,S(e)),S(t)),hasRow:(e,t)=>xt(zt(j,S(e)),S(t)),hasCell:(e,t,s)=>xt(zt(zt(j,S(e)),S(t)),S(s)),hasValues:()=>!Vt(G),hasValue:e=>xt(G,S(e)),getTablesJson:()=>ne(j),getValuesJson:()=>ne(G),getJson:()=>ne([j,G]),getTablesSchemaJson:()=>ne($),getValuesSchemaJson:()=>ne(A),getSchemaJson:()=>ne([$,A]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ht((()=>{(ae(e)?us:Gt)(e),(ae(t)?ms:Kt)(t)})),setTables:Gt,setTable:(e,t)=>ht((e=>Te(t,e)?Fe(e,t):0),e),setRow:(e,t,s)=>ht(((e,t)=>Se(e,t,s)?Je(e,We(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let l;return Se(e,l,t)&&(e=S(e),Je(e,We(e),l=je(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ht(((e,t)=>{if(Se(e,t,s,1)){const l=We(e);le(s,((s,a)=>Be(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ht(((e,t,s)=>N(xe(e,t,s,M(l)?l(Ct(e,t,s)):l),(l=>Be(e,We(e),t,s,l)))),e,t,s),setValues:Kt,setPartialValues:e=>ht((()=>Ve(e,1)?le(e,((e,t)=>Qe(t,e))):0)),setValue:(e,t)=>ht((e=>N(Re(e,M(t)?t(Ut(e)):t),(t=>Qe(e,t)))),e),setTransactionChanges:e=>ht((()=>{le(e[0],((e,t)=>q(e)?cs(t):le(e,((e,s)=>q(e)?hs(t,s):le(e,((e,l)=>Ee(ws,t,s,l,e))))))),le(e[1],((e,t)=>ze(ws,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{He(re(e))}catch{}return ws},setJson:e=>ht((()=>{try{const[t,s]=re(e);Oe(t),He(s)}catch{Zt(e)}})),setTablesSchema:is,setValuesSchema:ds,setSchema:(e,t)=>ht((()=>{is(e),ds(t)})),delTables:us,delTable:cs,delRow:hs,delCell:(e,t,s,l)=>ht(((e,t,s)=>N(zt(j,e),(a=>N(zt(a,t),(n=>xt(n,s)?Ke(e,a,t,n,s,l):0))))),e,t,s),delValues:ms,delValue:e=>ht((e=>xt(G,e)?Xe(e):0),e),delTablesSchema:bs,delValuesSchema:gs,delSchema:()=>ht((()=>{bs(),gs()})),transaction:Is,startTransaction:ps,finishTransaction:fs,forEachTable:e=>Nt(j,((t,s)=>e(s,(e=>Nt(t,((t,s)=>e(s,(e=>$t(t,e))))))))),forEachTableCell:(e,t)=>$t(zt(B,S(e)),t),forEachRow:(e,t)=>Nt(zt(j,S(e)),((e,s)=>t(s,(t=>$t(e,t))))),forEachCell:(e,t,s)=>$t(zt(zt(j,S(e)),S(t)),s),forEachValue:e=>$t(G,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=wt(e,t,s,l,a);return we((()=>{const r=wt(e,t,s,l,a);var i,d,u;d=o,Q(i=r)===Q(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,n(ws,e,t,s,l,a,o))}),ie[r?1:0],[e,t],[It])},addStartTransactionListener:e=>we(e,pe),addWillFinishTransactionListener:e=>we(e,fe[0]),addDidFinishTransactionListener:e=>we(e,fe[1]),callListener:e=>(ve(e),ws),delListener:e=>(Ce(e),ws),getListenerStats:()=>({tables:ts(K),tableIds:ts(X),tableCellIds:ts(_),table:ts(Y),rowCount:ts(ee),rowIds:ts(oe),sortedRowIds:ts(ie),row:ts(de,Tt),cellIds:ts(ue,Tt),cell:ts(ce,St),invalidCell:ts(he,St),values:ts(be),valueIds:ts(ge),value:ts(Ie),invalidValue:ts(me),transaction:kt(pe)+ts(fe)}),createStore:os,addListener:we,callListeners:ye};return le({[m]:[0,K],[b]:[0,X],[h]:[1,Y,[It]],[h+w]:[1,_,[It]],[I]:[1,ee,[It]],[p]:[1,oe,[It]],[g]:[2,de,[It,ft]],[w]:[2,ue,[It,ft]],[f]:[3,ce,[It,ft,yt],e=>es(Ct(...e))],InvalidCell:[3,he],[C]:[0,be],[v]:[0,ge],[y]:[1,Ie,[Wt],e=>es(Ut(e[0]))],InvalidValue:[1,me]},(([e,t,s,l],a)=>{ws["add"+a+"Listener"]=(...a)=>we(a[e],t[a[e+1]?1:0],e>0?W(a,0,e):void 0,s,l)})),Z(ws)},is=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(os),a=de.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,r=[])=>{let o,i,d,u=0,c=0,h=0,m=0;At(Wt,r,(()=>0)),At(Ut,r,(()=>[]));const b=async e=>(2!=u&&(u=1,c++,await g.schedule((async()=>{await e(),u=0}))),g),g={load:async(s,l)=>await b((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),m=1,d=l((async(s,l)=>{if(l){const t=l();await b((async()=>e.setTransactionChanges(t)))}else await b((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),g),stopAutoLoad:()=>(m&&(a(d),d=void 0,m=0),g),save:async t=>(1!=u&&(u=2,h++,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}u=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();ae(s)&&ae(l)||g.save((()=>[s,l]))})),g),stopAutoSave:()=>(N(o,e.delListener),g),schedule:async(...e)=>(U(zt(Ut,r),...e),await(async()=>{if(!zt(Wt,r)){for(Ot(Wt,r,1);!q(i=G(zt(Ut,r)));)try{await i()}catch(e){n?.(e)}Ot(Wt,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return Z(g)})(e,(async()=>re(s.getItem(t))),(async e=>s.setItem(t,ne(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>re(l.newValue)))};return Kt.addEventListener(Gt,l),l}),(e=>Kt.removeEventListener(Gt,e)),l))(e,oe,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),O($,null,O("aside",{id:oe},O(Ne,{s:l}),O(yt,{s:l})),O("style",null,qe))};e.EditableCellView=st,e.EditableValueView=lt,e.RelationshipInHtmlTable=et,e.ResultSortedTableInHtmlTable=tt,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>O(Ue,{...a,params:He(We(s.useResultTableCellIds(e,t),l,s.ResultCellView),Qe(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=_e,e.SortedTableInHtmlTable=Ye,e.SortedTablePaginator=at,e.StoreInspector=e=>O(is,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>O(Ue,{...n,params:He(We(s.useTableCellIds(e,t),a,l?st:s.CellView),De(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=Ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
|
|
1
|
+
var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),r=l(!0),o=l(0),i=l(l),d="type",u="default",c="Ids",h="Table",m=h+"s",b=h+c,g="Row",I=g+"Count",p=g+c,f="Cell",w=f+c,y="Value",C=y+"s",v=y+c,k="currentTarget",T="value",S=e=>a+e,x=Math.floor,V=isFinite,R=(e,t)=>e instanceof t,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==r,M=e=>l(e)==i,E=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),{PureComponent:$,Fragment:O,createElement:A,useCallback:F,useLayoutEffect:J,useRef:P,useState:B}=t,H=(e,...t)=>q(e)?{}:e(...t),D=(e,t)=>e.forEach(t),Q=(e,t)=>e.map(t),j=e=>e.length,W=e=>0==j(e),U=(e,...t)=>e.push(...t),G=e=>e.shift(),K=Object,X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>R(e,K)&&e.constructor==K,ee=(e=[])=>K.fromEntries(e),te=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),le=(e,t)=>Q(K.entries(e),(([e,s])=>t(s,e))),ae=e=>_(e)&&0==(e=>j(X(e)))(e),ne=e=>JSON.stringify(e,((e,t)=>R(t,Map)?K.fromEntries([...t]):t)),re=JSON.parse,oe="tinybaseStoreInspector",ie="TinyBase Store Inspector",de=["left","top","bottom","right","full"],ue="state",ce="sort",he="open",me="position",be=he,ge="editable",Ie=(...e)=>ne(e),pe=(e,t)=>Q(e.sort(),t),fe=(e,t)=>[!!s.useCell(ue,e,ge,t),F((s=>{t.setCell(ue,e,ge,(e=>!e)),s.preventDefault()}),[t,e])],we="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',Ce=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",ve='</svg>")',ke=ye+"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\")",Te=Q([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Ce+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+ve)),Se=Ce+"<path d='M20 20l60 60M20 80l60-60' />"+ve,xe=Ce+`<path d='${we}' />`+ve,Ve=Ce+`<path d='${we}M20 20l60 60' />`+ve,Re="*::-webkit-scrollbar",qe=`#${oe}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,t="")=>e.join(t))(le({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Re]:"width:0.5rem;height:0.5rem;",[Re+"-track"]:"background:#111",[Re+"-thumb"]:"background:#999;border:1px solid #111",[Re+"-thumb:hover"]:"background:#fff",[Re+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ke,...ee(Q(["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;",...ee(Q(["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)":ke,"header>img:nth-of-type(6)":Se,...ee(Q(Te,((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;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":xe,"details[open]>summary img.done":Ve,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","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",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,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","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`& ${t}{${e}}`:"")))}`,Ne=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!0),[],e);return s.useValue(be,e)?null:A("img",{onClick:l,title:ie,"data-position":t})},Le=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:r})=>{const o=!!s.useCell(ue,e,he,r),i=s.useSetCellCallback(ue,e,he,(e=>e[k].open),[],r);return A("details",{open:o,onToggle:i},A("summary",null,t,a?A("img",{onClick:a,className:l?"done":"edit"}):null),n)},Me=e=>{const t=l(e);return L(t)||t==o&&V(e)?t:void 0},Ee=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),ze=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),$e=(e,t,s,l)=>e==n?t:e==o?s:l,{useCallback:Oe,useMemo:Ae,useState:Fe}=t,Je="editable",Pe=(e,t)=>Q(s.useTableCellIds(e,t),(t=>e+"."+t)),Be=(e,t,s)=>{const l=Oe(e,t);return s?l:void 0},He=(...e)=>Ae((()=>e),e),De=(e,t)=>Ae((()=>({store:e,tableId:t})),[e,t]),Qe=(e,t)=>Ae((()=>({queries:e,queryId:t})),[e,t]),je=(e,t=!1,s,l=0,a,n,r,o)=>{const[[i,d,u],c]=Fe([e,t,l]),h=Oe((e=>{c(e),o?.(e)}),[o]),m=Be((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Oe((e=>h([i,d,e])),[h,i,d]),g=!0===r?at:r;return[[i,d,u],m,Ae((()=>!1===r?null:A(g,{offset:u,limit:a,total:n,onChange:b})),[r,g,u,a,n,b])]},We=(e,t,s)=>Ae((()=>{const a=t??e;return ee(le(E(a)?ee(Q(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)}];var a})))}),[t,s,e]),Ue=({className:e,headerRow:t,idColumn:s,params:[l,a,n,r,o,i]})=>A("table",{className:e},i?A("caption",null,i):null,!1===t?null:A("thead",null,A("tr",null,!1===s?null:A(Ge,{sort:r??[],label:"Id",onClick:o}),le(l,(({label:e},t)=>A(Ge,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),A("tbody",null,Q(n,(e=>A("tr",{key:e},!1===s?null:A("th",null,e),le(l,(({component:t,getComponentProps:s},l)=>A("td",{key:l},A(t,{...H(s,e,l),...a,rowId:e,cellId:l}))))))))),Ge=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>A("th",{onClick:Be((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ke=({localRowId:e,params:[l,a,n,r,o,i,d]})=>{const u=s.useRemoteRowId(o,e,i);return A("tr",null,!1===l?null:A(t.Fragment,null,A("th",null,e),A("th",null,u)),le(a,(({component:t,getComponentProps:s},l)=>{const[a,o]=l.split(".",2),i=a===n?e:a===r?u:null;return q(i)?null:A("td",{key:l},A(t,{...H(s,i,o),store:d,tableId:a,rowId:i,cellId:o}))})))},Xe=({thing:e,onThingChange:t,className:s,hasSchema:l})=>{const[a,i]=Fe(),[d,u]=Fe(),[c,h]=Fe(),[m,b]=Fe(),[g,I]=Fe();d!==e&&(i(Me(e)),u(e),h(e+""),b(Number(e)||0),I(!!e));const p=Oe(((e,s)=>{s(e),u(e),t(e)}),[t]);return A("div",{className:s},A("button",{className:a,onClick:Oe((()=>{if(!l?.()){const e=$e(a,o,r,n),s=$e(e,c,m,g);i(e),u(s),t(s)}}),[l,t,c,m,g,a])},a),$e(a,A("input",{key:a,value:c,onChange:Oe((e=>p(e[k][T]+"",h)),[p])}),A("input",{key:a,type:"number",value:m,onChange:Oe((e=>p(Number(e[k][T]||0),b)),[p])}),A("input",{key:a,type:"checkbox",checked:g,onChange:Oe((e=>p(!!e[k].checked,I)),[p])})))},Ye=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=je(t,l,i,a,n,s.useRowCount(e,r),d,u);return A(Ue,{...h,params:He(We(s.useTableCellIds(e,r),c,o?st:s.CellView),De(r,e),s.useSortedRowIds(e,...m,n,r),m,b,g)})},Ze=({store:e,editable:t=!1,valueComponent:l=(t?lt:s.ValueView),getValueComponentProps:a,className:n,headerRow:r,idColumn:o})=>A("table",{className:n},!1===r?null:A("thead",null,A("tr",null,!1===o?null:A("th",null,"Id"),A("th",null,y))),A("tbody",null,Q(s.useValueIds(e),(t=>A("tr",{key:t},!1===o?null:A("th",null,t),A("td",null,A(l,{...H(a,t),valueId:t,store:e}))))))),_e=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return A(Ue,{...r,params:He(We(s.useTableCellIds(d,i),n,a?st:s.CellView),De(i,d),s.useSliceRowIds(e,t,o))})},et=({relationshipId:e,relationships:l,editable:a,customCells:n,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=We([...Pe(c,u),...Pe(h,u)],n,a?st:s.CellView),b=He(i,m,c,h,e,d,u);return A("table",{className:r},!1===o?null:A("thead",null,A("tr",null,!1===i?null:A(t.Fragment,null,A("th",null,c,".Id"),A("th",null,h,".Id")),le(m,(({label:e},t)=>A("th",{key:t},e))))),A("tbody",null,Q(s.useRowIds(c,u),(e=>A(Ke,{key:e,localRowId:e,params:b})))))},tt=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=je(t,l,o,a,n,s.useResultRowCount(e,r),i,u);return A(Ue,{...c,params:He(We(s.useResultTableCellIds(e,r),d,s.ResultCellView),Qe(r,e),s.useResultSortedRowIds(e,...h,n,r),h,m,b)})},st=({tableId:e,rowId:t,cellId:l,store:a,className:n})=>A(Xe,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??Je+f,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),lt=({valueId:e,store:t,className:l})=>A(Xe,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??Je+y,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),at=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:r=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const o=Be((()=>e(l-a)),[e,l,a],l>0),i=Be((()=>e(l+a)),[e,l,a],l+a<s);return A(t.Fragment,null,s>a&&A(t.Fragment,null,A("button",{className:"previous",disabled:0==l,onClick:o},"←"),A("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?r:n)},nt=({indexes:e,indexesId:t,indexId:l,s:a})=>A(Le,{uniqueId:Ie("i",t,l),summary:"Index: "+l,s:a},Q(s.useSliceIds(l,e),(s=>A(rt,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),rt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=Ie("i",t,s,l),[r,o]=fe(n,a);return A(Le,{uniqueId:n,summary:"Slice: "+l,editable:r,handleEditable:o,s:a},A(_e,{sliceId:l,indexId:s,indexes:e,editable:r}))},ot=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:A(Le,{uniqueId:Ie("i",e),summary:"Indexes: "+(e??u),s:t},W(a)?"No indexes defined":pe(a,(s=>A(nt,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},it=({metrics:e,metricId:t})=>A("tr",null,A("th",null,t),A("td",null,e?.getTableId(t)),A("td",null,s.useMetric(t,e))),dt=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:A(Le,{uniqueId:Ie("m",e),summary:"Metrics: "+(e??u),s:t},W(a)?"No metrics defined":A("table",null,A("thead",null,A("th",null,"Metric Id"),A("th",null,"Table Id"),A("th",null,"Metric")),A("tbody",null,Q(a,(e=>A(it,{metrics:l,metricId:e,key:e}))))))},ut=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=Ie("q",t,l),[r,o,i]=re(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a);return A(Le,{uniqueId:n,summary:"Query: "+l,s:a},A(tt,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ct=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:A(Le,{uniqueId:Ie("q",e),summary:"Queries: "+(e??u),s:t},W(a)?"No queries defined":pe(a,(s=>A(ut,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},ht=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=Ie("r",t,s),[n,r]=fe(a,l);return A(Le,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:r,s:l},A(et,{relationshipId:s,relationships:e,editable:n}))},mt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:A(Le,{uniqueId:Ie("r",e),summary:"Relationships: "+(e??u),s:t},W(a)?"No relationships defined":pe(a,(s=>A(ht,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},bt=({tableId:e,store:t,storeId:l,s:a})=>{const n=Ie("t",l,e),[r,o,i]=re(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a),[u,c]=fe(n,a);return A(Le,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},A(Ye,{tableId:e,store:t,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},gt=({store:e,storeId:t,s:l})=>{const a=Ie("v",t),[n,r]=fe(a,l);return W(s.useValueIds(e))?null:A(Le,{uniqueId:a,summary:C,editable:n,handleEditable:r,s:l},A(Ze,{store:e,editable:n}))},It=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:A(Le,{uniqueId:Ie("s",e),summary:"Store: "+(e??u),s:t},A(gt,{storeId:e,store:l,s:t}),pe(a,(s=>A(bt,{store:l,storeId:e,tableId:s,s:t,key:s}))))},pt=({s:e})=>{const t=P(null),l=P(0),[a,n]=B(!1),{scrollLeft:r,scrollTop:o}=s.useValues(e);J((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=x(r)+e.clientWidth&&e.scrollHeight>=x(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,r,o]);const i=F((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),I=s.useRelationshipsIds(),p=s.useQueries(),f=s.useQueriesIds();return q(d)&&W(u)&&q(c)&&W(h)&&q(m)&&W(b)&&q(g)&&W(I)&&q(p)&&W(f)?A("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):A("article",{ref:t,onScroll:i},A(It,{s:e}),Q(u,(t=>A(It,{storeId:t,s:e,key:t}))),A(dt,{s:e}),Q(h,(t=>A(dt,{metricsId:t,s:e,key:t}))),A(ot,{s:e}),Q(b,(t=>A(ot,{indexesId:t,s:e,key:t}))),A(mt,{s:e}),Q(I,(t=>A(mt,{relationshipsId:t,s:e,key:t}))),A(ct,{s:e}),Q(f,(t=>A(ct,{queriesId:t,s:e,key:t}))))};class ft extends ${constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError=()=>({e:1});componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?A("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const wt=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!1),[],e),a=s.useSetValueCallback(me,(e=>Number(e[k].dataset.id)),[],e);return A("header",null,A("img",{title:ie}),A("span",null,ie),Q(de,((e,s)=>s==t?null:A("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),A("img",{onClick:l,title:"Close"}))},yt=({s:e})=>{const t=s.useValue(me,e)??1;return s.useValue(be,e)?A("main",{"data-position":t},A(wt,{s:e}),A(ft,null,A(pt,{s:e}))):null},Ct=e=>t=>{return s=(t,s)=>t+e(s),Rt(t).reduce(s,0);var s},vt=e=>e?.size??0,kt=Ct(vt),Tt=Ct(kt),St=Ct(Tt),xt=(e,t)=>e?.has(t)??!1,Vt=e=>q(e)||0==vt(e),Rt=e=>[...e?.values()??[]],qt=e=>e.clear(),Nt=(e,t)=>e?.forEach(t),Lt=(e,t)=>e?.delete(t),Mt=e=>new Map(e),Et=e=>[...e?.keys()??[]],zt=(e,t)=>e?.get(t),$t=(e,t)=>Nt(e,((e,s)=>t(s,e))),Ot=(e,t,s)=>q(s)?(Lt(e,t),e):e?.set(t,s),At=(e,t,s)=>(xt(e,t)||Ot(e,t,s()),zt(e,t)),Ft=(e,t,s,l=Ot)=>(le(t,((t,l)=>s(e,l,t))),$t(e,(s=>te(t,s)?0:l(e,s))),e),Jt=(e,t,s)=>{const l={};return Nt(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Pt=(e,t,s)=>Jt(e,(e=>Jt(e,t,s)),ae),Bt=(e,t,s)=>Jt(e,(e=>Pt(e,t,s)),ae),Ht=(e,t)=>{const s=Mt();return Nt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Dt=e=>Ht(e,Ht),Qt=e=>Ht(e,Dt),jt=(e,t,s,l,a=0)=>N((s?At:zt)(e,t[a],a>j(t)-2?s:Mt),(n=>{if(a>j(t)-2)return l?.(n)&&Ot(e,t[a]),n;const r=jt(n,t,s,l,a+1);return Vt(n)&&Ot(e,t[a]),r})),Wt=Mt(),Ut=Mt(),Gt="storage",Kt=globalThis.window,Xt=e=>new Set(E(e)||q(e)?e:[e]),Yt=(e,t)=>e?.add(t),Zt=/^\d+$/,_t=()=>{const e=[];let t=0;return[s=>(s?G(e):null)??a+t++,t=>{Zt.test(t)&&j(e)<1e3&&U(e,t)}]},es=e=>[e,e],ts=(e,t=kt)=>t(e[0])+t(e[1]),ss=()=>[Mt(),Mt()],ls=e=>[...e],as=([e,t])=>e===t,ns=(e,t,s)=>q(e)||!_(e)||ae(e)||Y(e)?(s?.(),!1):(le(e,((s,l)=>{t(s,l)||se(e,l)})),!ae(e)),rs=(e,t,s)=>Ot(e,t,zt(e,t)==-s?void 0:s),os=()=>{let e,t,s=!1,l=!1,n=0;const r=Mt(),i=Mt(),c=Mt(),k=Mt(),T=Mt(),x=Mt(),V=Mt(),R=Mt(),E=Mt(),$=Mt(),O=Mt(),A=Mt(),F=Mt(),J=Mt(),P=Xt(),B=Mt(),H=Mt(),W=Mt(),G=Mt(),K=ss(),X=ss(),Y=ss(),_=ss(),ee=ss(),oe=ss(),ie=ss(),de=ss(),ue=ss(),ce=ss(),he=ss(),me=ss(),be=ss(),ge=ss(),Ie=ss(),pe=Mt(),fe=ss(),[we,ye,Ce,ve]=(e=>{let t;const[s,l]=_t(),n=Mt();return[(e,l,r,o=[],i=(()=>[]))=>{t??=ws;const d=s(1);return Ot(n,d,[e,l,r,o,i]),Yt(jt(l,r??[a],Xt),d),d},(e,s,...l)=>D(((e,t=[a])=>{const s=[],l=(e,a)=>a==j(t)?U(s,e):null===t[a]?Nt(e,(e=>l(e,a+1))):D([t[a],null],(t=>l(zt(e,t),a+1)));return l(e,0),s})(e,s),(e=>Nt(e,(e=>zt(n,e)[0](t,...s??[],...l))))),e=>N(zt(n,e),(([,t,s])=>(jt(t,s??[a],void 0,(t=>(Lt(t,e),Vt(t)?1:0))),Ot(n,e),l(e),s))),e=>N(zt(n,e),(([e,,s=[],l,a])=>{const n=(...r)=>{const o=j(r);o==j(s)?e(t,...r,...a(r)):q(s[o])?D(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ke=e=>{if(!ns(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=o||(Me(e[u])!=t&&se(e,u),0))},Te=(t,s)=>(!e||xt(O,s)||lt(s))&&ns(t,((e,t)=>Se(s,t,e)),(()=>lt(s))),Se=(e,t,s,l)=>ns(l?s:qe(s,e,t),((l,a)=>N(xe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>lt(e,t))),xe=(t,s,l,a)=>e?N(zt(zt(O,t),l),(e=>Me(a)!=e[d]?lt(t,s,l,a,e[u]):a),(()=>lt(t,s,l,a))):q(Me(a))?lt(t,s,l,a):a,Ve=(e,t)=>ns(t?e:Ne(e),((t,s)=>N(Re(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>at())),Re=(e,s)=>t?N(zt(F,e),(t=>Me(s)!=t[d]?at(e,s,t[u]):s),(()=>at(e,s))):q(Me(s))?at(e,s):s,qe=(e,t,s)=>(N(zt(A,t),(([l,a])=>{Nt(l,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(a,(l=>{te(e,l)||lt(t,s,l)}))})),e),Ne=e=>(t&&(Nt(J,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(P,(t=>{te(e,t)||at(t)}))),e),Le=e=>Ft(O,e,((e,t,s)=>{const l=Mt(),a=Xt();Ft(At(O,t,Mt),s,((e,t,s)=>{Ot(e,t,s),N(s[u],(e=>Ot(l,t,e)),(()=>Yt(a,t)))})),Ot(A,t,[l,a])}),((e,t)=>{Ot(O,t),Ot(A,t)})),$e=e=>Ft(F,e,((e,t,s)=>{Ot(F,t,s),N(s[u],(e=>Ot(J,t,e)),(()=>Yt(P,t)))}),((e,t)=>{Ot(F,t),Ot(J,t),Lt(P,t)})),Oe=e=>ae(e)?us():Gt(e),Ae=e=>Ft(W,e,((e,t,s)=>Fe(t,s)),((e,t)=>Ue(t))),Fe=(e,t)=>Ft(At(W,e,(()=>(Ye(e,1),Ot(B,e,_t()),Ot(H,e,Mt()),Mt()))),t,((t,s,l)=>Je(e,t,s,l)),((t,s)=>Ge(e,t,s))),Je=(e,t,s,l,a)=>Ft(At(t,s,(()=>(Ze(e,s,1),Mt()))),l,((t,l,a)=>Pe(e,s,t,l,a)),((l,n)=>Ke(e,t,s,l,n,a))),Pe=(e,t,s,l,a)=>{xt(s,l)||_e(e,t,l,1);const n=zt(s,l);a!==n&&(et(e,t,l,n,a),Ot(s,l,a))},Be=(e,t,s,l,a)=>N(zt(t,s),(t=>Pe(e,s,t,l,a)),(()=>Je(e,t,s,qe({[l]:a},e,s)))),He=e=>ae(e)?ms():Kt(e),De=e=>Ft(G,e,((e,t,s)=>Qe(t,s)),((e,t)=>Xe(t))),Qe=(e,t)=>{xt(G,e)||tt(e,1);const s=zt(G,e);t!==s&&(st(e,s,t),Ot(G,e,t))},je=(e,t)=>{const[s]=zt(B,e),l=s(t);return xt(zt(W,e),l)?je(e,t):l},We=e=>zt(W,e)??Fe(e,{}),Ue=e=>Fe(e,{}),Ge=(e,t,s)=>{const[,l]=zt(B,e);l(s),Je(e,t,s,{},!0)},Ke=(e,t,s,l,a,n)=>{const r=zt(zt(A,e)?.[0],a);if(!q(r)&&!n)return Pe(e,s,l,a,r);const o=t=>{et(e,s,t,zt(l,t)),_e(e,s,t,-1),Ot(l,t)};q(r)?o(a):$t(l,o),Vt(l)&&(Ze(e,s,-1),Vt(Ot(t,s))&&(Ye(e,-1),Ot(W,e),Ot(B,e),Ot(H,e)))},Xe=e=>{const t=zt(J,e);if(!q(t))return Qe(e,t);st(e,zt(G,e)),tt(e,-1),Ot(G,e)},Ye=(e,t)=>rs(r,e,t),Ze=(e,t,s)=>rs(At(k,e,Mt),t,s)&&Ot(c,e,At(c,e,(()=>0))+s),_e=(e,t,s,l)=>{const a=zt(H,e),n=zt(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&rs(At(i,e,Mt),s,l),Ot(a,s,n!=-l?n+l:null),rs(At(At(T,e,Mt),t,Mt),s,l)},et=(e,t,s,l,a)=>At(At(At(x,e,Mt),t,Mt),s,(()=>[l,0]))[1]=a,tt=(e,t)=>rs(V,e,t),st=(e,t,s)=>At(R,e,(()=>[t,0]))[1]=s,lt=(e,t,s,l,a)=>(U(At(At(At(E,e,Mt),t,Mt),s,(()=>[])),l),a),at=(e,t,s)=>(U(At($,e,(()=>[])),t),s),nt=(e,t,s)=>N(zt(zt(zt(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ct(e,t,s))])),rt=e=>N(zt(R,e),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ut(e))])),ot=e=>Vt(E)||Vt(he[e])?0:Nt(e?Qt(E):E,((t,s)=>Nt(t,((t,l)=>Nt(t,((t,a)=>ye(he[e],[s,l,a],t))))))),it=e=>Vt($)||Vt(me[e])?0:Nt(e?Ht($):$,((t,s)=>ye(me[e],[s],t))),dt=(e,t,s)=>{if(!Vt(t))return ye(e,s,(()=>Jt(t))),1},ut=e=>{const t=Vt(ie[e]),s=Vt(ue[e])&&Vt(_[e])&&Vt(ee[e])&&Vt(oe[e])&&t&&Vt(X[e]),l=Vt(ce[e])&&Vt(de[e])&&Vt(Y[e])&&Vt(K[e]);if(!s||!l){const a=e?[Ht(r),Dt(i),Ht(c),Dt(k),Qt(T),Qt(x)]:[r,i,c,k,T,x];if(!s){dt(X[e],a[0]),Nt(a[1],((t,s)=>dt(_[e],t,[s]))),Nt(a[2],((t,s)=>{0!=t&&ye(ee[e],[s],pt(s))}));const s=Xt();Nt(a[3],((l,a)=>{dt(oe[e],l,[a])&&!t&&(ye(ie[e],[a,null]),Yt(s,a))})),t||Nt(a[5],((t,l)=>{if(!xt(s,l)){const s=Xt();Nt(t,(e=>Nt(e,(([t,l],a)=>l!==t?Yt(s,a):Lt(e,a))))),Nt(s,(t=>ye(ie[e],[l,t])))}})),Nt(a[4],((t,s)=>Nt(t,((t,l)=>dt(ue[e],t,[s,l])))))}if(!l){let t;Nt(a[5],((s,l)=>{let a;Nt(s,((s,n)=>{let r;Nt(s,(([s,o],i)=>{o!==s&&(ye(ce[e],[l,n,i],o,s,nt),t=a=r=1)})),r&&ye(de[e],[l,n],nt)})),a&&ye(Y[e],[l],nt)})),t&&ye(K[e],void 0,nt)}}},ct=e=>{const t=Vt(ge[e]),s=Vt(Ie[e])&&Vt(be[e]);if(!t||!s){const l=e?[Ht(V),Ht(R)]:[V,R];if(t||dt(ge[e],l[0]),!s){let t;Nt(l[1],(([s,l],a)=>{l!==s&&(ye(Ie[e],[a],l,s,rt),t=1)})),t&&ye(be[e],void 0,rt)}}},ht=(e,...t)=>(Is((()=>e(...Q(t,S)))),ws),mt=()=>[Jt(x,((e,t)=>-1===zt(r,t)?null:Jt(e,((e,s)=>-1===zt(zt(k,t),s)?null:Jt(e,(([,e])=>e??null),((e,t)=>as(t)))),ae)),ae),Jt(R,(([,e])=>e??null),((e,t)=>as(t)))],bt=()=>({cellsTouched:s,valuesTouched:l,changedCells:Bt(x,ls,as),invalidCells:Bt(E),changedValues:Jt(R,ls,as),invalidValues:Jt($),changedTableIds:Jt(r),changedRowIds:Pt(k),changedCellIds:Bt(T),changedValueIds:Jt(V)}),gt=()=>Bt(W),It=()=>Et(W),pt=e=>vt(zt(W,S(e))),ft=e=>Et(zt(W,S(e))),wt=(e,t,s,l=0,a)=>{return Q(z((r=zt(W,S(e)),o=(e,s)=>[q(t)?s:zt(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),Q([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,q(a)?a:l+a),(([,e])=>e));var n,r,o},yt=(e,t)=>Et(zt(zt(W,S(e)),S(t))),Ct=(e,t,s)=>zt(zt(zt(W,S(e)),S(t)),S(s)),Rt=()=>Jt(G),Wt=()=>Et(G),Ut=e=>zt(G,S(e)),Gt=e=>ht((()=>(e=>ns(e,Te,lt))(e)?Ae(e):0)),Kt=e=>ht((()=>Ve(e)?De(e):0)),Zt=e=>{try{Oe(re(e))}catch{}return ws},is=t=>ht((()=>{if((e=ns(t,(e=>ns(e,ke))))&&(Le(t),!Vt(W))){const e=gt();us(),Gt(e)}})),ds=e=>ht((()=>{if(t=(e=>ns(e,ke))(e)){const s=Rt();gs(),ms(),t=!0,$e(e),Kt(s)}})),us=()=>ht((()=>Ae({}))),cs=e=>ht((e=>xt(W,e)?Ue(e):0),e),hs=(e,t)=>ht(((e,t)=>N(zt(W,e),(s=>xt(s,t)?Ge(e,s,t):0))),e,t),ms=()=>ht((()=>De({}))),bs=()=>ht((()=>{Le({}),e=!1})),gs=()=>ht((()=>{$e({}),t=!1})),Is=(e,t)=>{if(-1!=n){ps();const s=e();return fs(t),s}},ps=()=>(-1!=n&&n++,1==n&&ye(pe,void 0,mt,bt),ws),fs=e=>(n>0&&(n--,0==n&&(s=!Vt(x),l=!Vt(R),n=1,ot(1),s&&ut(1),it(1),l&&ct(1),e?.(mt,bt)&&(Nt(x,((e,t)=>Nt(e,((e,s)=>Nt(e,(([e],l)=>Ee(ws,t,s,l,e))))))),Nt(R,(([e],t)=>ze(ws,t,e))),s=l=!1),ye(fe[0],void 0,mt,bt),n=-1,ot(0),s&&ut(0),it(0),l&&ct(0),ye(fe[1],void 0,mt,bt),n=0,s=l=!1,D([r,i,c,k,T,x,E,V,R,$],qt))),ws),ws={getContent:()=>[gt(),Rt()],getTables:gt,getTableIds:It,getTable:e=>Pt(zt(W,S(e))),getTableCellIds:e=>Et(zt(H,S(e))),getRowCount:pt,getRowIds:ft,getSortedRowIds:wt,getRow:(e,t)=>Jt(zt(zt(W,S(e)),S(t))),getCellIds:yt,getCell:Ct,getValues:Rt,getValueIds:Wt,getValue:Ut,hasTables:()=>!Vt(W),hasTable:e=>xt(W,S(e)),hasTableCell:(e,t)=>xt(zt(H,S(e)),S(t)),hasRow:(e,t)=>xt(zt(W,S(e)),S(t)),hasCell:(e,t,s)=>xt(zt(zt(W,S(e)),S(t)),S(s)),hasValues:()=>!Vt(G),hasValue:e=>xt(G,S(e)),getTablesJson:()=>ne(W),getValuesJson:()=>ne(G),getJson:()=>ne([W,G]),getTablesSchemaJson:()=>ne(O),getValuesSchemaJson:()=>ne(F),getSchemaJson:()=>ne([O,F]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ht((()=>{(ae(e)?us:Gt)(e),(ae(t)?ms:Kt)(t)})),setTables:Gt,setTable:(e,t)=>ht((e=>Te(t,e)?Fe(e,t):0),e),setRow:(e,t,s)=>ht(((e,t)=>Se(e,t,s)?Je(e,We(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let l;return Se(e,l,t)&&(e=S(e),Je(e,We(e),l=je(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ht(((e,t)=>{if(Se(e,t,s,1)){const l=We(e);le(s,((s,a)=>Be(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ht(((e,t,s)=>N(xe(e,t,s,M(l)?l(Ct(e,t,s)):l),(l=>Be(e,We(e),t,s,l)))),e,t,s),setValues:Kt,setPartialValues:e=>ht((()=>Ve(e,1)?le(e,((e,t)=>Qe(t,e))):0)),setValue:(e,t)=>ht((e=>N(Re(e,M(t)?t(Ut(e)):t),(t=>Qe(e,t)))),e),setTransactionChanges:e=>ht((()=>{le(e[0],((e,t)=>q(e)?cs(t):le(e,((e,s)=>q(e)?hs(t,s):le(e,((e,l)=>Ee(ws,t,s,l,e))))))),le(e[1],((e,t)=>ze(ws,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{He(re(e))}catch{}return ws},setJson:e=>ht((()=>{try{const[t,s]=re(e);Oe(t),He(s)}catch{Zt(e)}})),setTablesSchema:is,setValuesSchema:ds,setSchema:(e,t)=>ht((()=>{is(e),ds(t)})),delTables:us,delTable:cs,delRow:hs,delCell:(e,t,s,l)=>ht(((e,t,s)=>N(zt(W,e),(a=>N(zt(a,t),(n=>xt(n,s)?Ke(e,a,t,n,s,l):0))))),e,t,s),delValues:ms,delValue:e=>ht((e=>xt(G,e)?Xe(e):0),e),delTablesSchema:bs,delValuesSchema:gs,delSchema:()=>ht((()=>{bs(),gs()})),transaction:Is,startTransaction:ps,finishTransaction:fs,forEachTable:e=>Nt(W,((t,s)=>e(s,(e=>Nt(t,((t,s)=>e(s,(e=>$t(t,e))))))))),forEachTableCell:(e,t)=>$t(zt(H,S(e)),t),forEachRow:(e,t)=>Nt(zt(W,S(e)),((e,s)=>t(s,(t=>$t(e,t))))),forEachCell:(e,t,s)=>$t(zt(zt(W,S(e)),S(t)),s),forEachValue:e=>$t(G,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=wt(e,t,s,l,a);return we((()=>{const r=wt(e,t,s,l,a);var i,d,u;d=o,j(i=r)===j(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,n(ws,e,t,s,l,a,o))}),ie[r?1:0],[e,t],[It])},addStartTransactionListener:e=>we(e,pe),addWillFinishTransactionListener:e=>we(e,fe[0]),addDidFinishTransactionListener:e=>we(e,fe[1]),callListener:e=>(ve(e),ws),delListener:e=>(Ce(e),ws),getListenerStats:()=>({tables:ts(K),tableIds:ts(X),tableCellIds:ts(_),table:ts(Y),rowCount:ts(ee),rowIds:ts(oe),sortedRowIds:ts(ie),row:ts(de,Tt),cellIds:ts(ue,Tt),cell:ts(ce,St),invalidCell:ts(he,St),values:ts(be),valueIds:ts(ge),value:ts(Ie),invalidValue:ts(me),transaction:kt(pe)+ts(fe)}),createStore:os,addListener:we,callListeners:ye};return le({[m]:[0,K],[b]:[0,X],[h]:[1,Y,[It]],[h+w]:[1,_,[It]],[I]:[1,ee,[It]],[p]:[1,oe,[It]],[g]:[2,de,[It,ft]],[w]:[2,ue,[It,ft]],[f]:[3,ce,[It,ft,yt],e=>es(Ct(...e))],InvalidCell:[3,he],[C]:[0,be],[v]:[0,ge],[y]:[1,Ie,[Wt],e=>es(Ut(e[0]))],InvalidValue:[1,me]},(([e,t,s,l],a)=>{ws["add"+a+"Listener"]=(...a)=>we(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),Z(ws)},is=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(os),a=de.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,r=[])=>{let o,i,d,u=0,c=0,h=0,m=0;At(Wt,r,(()=>0)),At(Ut,r,(()=>[]));const b=async e=>(2!=u&&(u=1,c++,await g.schedule((async()=>{await e(),u=0}))),g),g={load:async(s,l)=>await b((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),m=1,d=l((async(s,l)=>{if(l){const t=l();await b((async()=>e.setTransactionChanges(t)))}else await b((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),g),stopAutoLoad:()=>(m&&(a(d),d=void 0,m=0),g),save:async t=>(1!=u&&(u=2,h++,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}u=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();ae(s)&&ae(l)||g.save((()=>[s,l]))})),g),stopAutoSave:()=>(N(o,e.delListener),g),schedule:async(...e)=>(U(zt(Ut,r),...e),await(async()=>{if(!zt(Wt,r)){for(Ot(Wt,r,1);!q(i=G(zt(Ut,r)));)try{await i()}catch(e){n?.(e)}Ot(Wt,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return Z(g)})(e,(async()=>re(s.getItem(t))),(async e=>s.setItem(t,ne(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>re(l.newValue)))};return Kt.addEventListener(Gt,l),l}),(e=>Kt.removeEventListener(Gt,e)),l))(e,oe,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),A(O,null,A("aside",{id:oe},A(Ne,{s:l}),A(yt,{s:l})),A("style",null,qe))};e.EditableCellView=st,e.EditableValueView=lt,e.RelationshipInHtmlTable=et,e.ResultSortedTableInHtmlTable=tt,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>A(Ue,{...a,params:He(We(s.useResultTableCellIds(e,t),l,s.ResultCellView),Qe(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=_e,e.SortedTableInHtmlTable=Ye,e.SortedTablePaginator=at,e.StoreInspector=e=>A(is,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>A(Ue,{...n,params:He(We(s.useTableCellIds(e,t),a,l?st:s.CellView),De(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=Ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
|
|
Binary file
|