tinybase 4.3.8 → 4.3.10
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/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-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-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
- 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/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -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/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-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-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
- 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/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -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/checkpoints.js +12 -12
- package/lib/debug/indexes.js +9 -9
- package/lib/debug/metrics.js +9 -9
- package/lib/debug/persisters/persister-automerge.js +6 -6
- package/lib/debug/persisters/persister-browser.js +2 -2
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +5 -5
- package/lib/debug/persisters/persister-expo-sqlite.js +5 -5
- package/lib/debug/persisters/persister-file.js +2 -2
- package/lib/debug/persisters/persister-indexed-db.js +6 -6
- package/lib/debug/persisters/persister-partykit-client.js +15 -5
- package/lib/debug/persisters/persister-partykit-server.js +44 -30
- package/lib/debug/persisters/persister-remote.js +2 -2
- package/lib/debug/persisters/persister-sqlite-wasm.js +5 -5
- package/lib/debug/persisters/persister-sqlite3.js +5 -5
- package/lib/debug/persisters/persister-yjs.js +9 -9
- package/lib/debug/persisters.js +2 -2
- package/lib/debug/queries.js +15 -15
- package/lib/debug/relationships.js +9 -9
- package/lib/debug/store.js +9 -9
- package/lib/debug/tinybase.js +15 -15
- package/lib/debug/tools.js +6 -7
- package/lib/debug/ui-react-dom.js +10 -10
- package/lib/debug/ui-react.js +2 -2
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters/persister-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-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -1
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +1 -1
- 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/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -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/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters/persister-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-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +1 -1
- 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/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +43 -4
- package/lib/types/persisters/persister-partykit-server.d.ts +66 -0
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +44 -5
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +66 -0
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters/persister-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-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +1 -1
- 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/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -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/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-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-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
- 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/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -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 +8 -8
- package/readme.md +2 -2
|
@@ -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),E=a=>t(a)==n,d=(a,t,e)=>a.slice(t,e),u=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),E=a=>t(a)==n,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,f=async a=>c.all(a),p=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),m=a=>0==u(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),O=Object,R=O.keys,C=O.freeze,S=(a=[])=>O.fromEntries(a),D=(...a)=>O.assign({},...a),b=(a,t)=>T(O.entries(a),(([a,e])=>t(e,a))),g=a=>O.values(a),I=a=>u(R(a)),F=a=>(a=>l(a,O)&&a.constructor==O)(a)&&0==I(a),M=a=>new Map(a),$=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),_=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(L(a,t)||B(a,t,e()),P(a,t)),x=(a,t,e,s=B)=>(b(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),j=a=>new Set(Array.isArray(a)||y(a)?a:[a]),H=(a,t)=>a?.add(t),U="_",k="_id",q=a=>`"${a.replace(/"/g,'""')}"`,J="FROM pragma_table_",Y="WHERE",z=(a,t,e)=>{const n=M();return[async()=>x(n,S(await f(T(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")",t),(async({name:t})=>[t,S(T(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(n,t,x(W(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)?S(v(T(await a("SELECT*FROM"+q(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=j();b(i??{},(a=>T(R(a??{}),(a=>H(l,a)))));const w=h(l);if(!r&&o&&m(w)&&L(n,t))return await a("DROP TABLE"+q(t)),void B(n,t);if(m(w)||L(n,t)){const s=P(n,t),i=j($(s));await f([...T(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${q(t)}ADD${q(e)}`),B(s,e,""))})),...!r&&c?T(h(i),(async n=>{n!=e&&(await a(`ALTER TABLE${q(t)}DROP${q(n)}`),B(s,n))})):[]])}else await a(`CREATE TABLE${q(t)}(${q(e)} PRIMARY KEY ON CONFLICT REPLACE${p(T(w,(a=>s+q(a))))});`),B(n,t,M([[e,""],...T(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+q(t)+"WHERE 1"):await f(b(i,(async(s,n)=>{y(s)?await a("DELETE FROM"+q(t)+Y+q(e)+"=?",[n]):m(w)||await G(a,t,e,R(s),[n,...g(s)])})));else if(m(w))L(n,t)&&await a("DELETE FROM"+q(t)+"WHERE 1");else{const s=v($(P(n,t)),(a=>a!=e)),c=[],o=[];b(i??{},((a,t)=>{A(c,t,...T(s,(t=>a?.[t]))),A(o,t)})),await G(a,t,e,s,c),await a("DELETE FROM"+q(t)+Y+q(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"+q(t)+"("+q(e)+p(T(n,(a=>s+q(a))))+")VALUES"+d(i(`,(?${i(",?",u(n))})`,u(c)/(u(n)+1)),1)+"ON CONFLICT("+q(e)+")DO UPDATE SET"+p(T(n,(a=>q(a)+"=excluded."+q(a))),s),c),K=a=>p(T(a,(()=>"?")),s),V=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,c=[])=>{let o,r,l,E=0,d=0;W(Q,c,(()=>0)),W(X,c,(()=>[]));const u=async a=>(2!=E&&(E=1,await f.schedule((async()=>{await a(),E=0}))),f),f={load:async(e,s)=>await u((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(f.stopAutoLoad(),await f.load(e,n),d=1,l=s((async(e,s)=>{if(s){const t=s();await u((async()=>a.setTransactionChanges(t)))}else await u((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(n(l),l=void 0,d=0),f),save:async t=>(1!=E&&(E=2,await f.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=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 C(f)},aa="store",ta=(a,t,e,s,n,[i],c,o)=>{const[r,y,w,E]=z(t,c,n);return Z(a,(async()=>await E((async()=>(await r(),V((await y(i,k))[U]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await r(),await w(i,k,{[U]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?O.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,o)},ea=(a,t,e,s,n,[i,c,[o,r,l]],w,E)=>{const[d,u,p,T]=z(t,w,n),m=async(a,t)=>await f(_(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,k,{[U]:a},!0,!0,t):null;return Z(a,(async()=>await T((async()=>{await d();const a=await(async()=>S(v(await f(_(i,(async([a,t],e)=>[a,await u(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>o?(await u(l,k))[U]:{})();return F(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await d(),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,E)},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 b(a,((a,i)=>{const c=d(g(D(t,E(a)?{[e]:a}:a)),0,I(t));y(c[0])||s(i,c[0])||B(n,i,c)})),n},wa="pragma ",Ea="data_version",da="schema_version",ua=(a,t,s,n,i,c,l,y)=>{let w,u;const[f,p,T,m]=(a=>{const t=(a=>D(ra,E(a)?{storeTableName:a}:a??{}))(a),s=t[na];if(t.mode==sa){const{storeTableName:a=e}=t;return[1,s,[a],j(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=d(g(D(la,c)),0,I(la)),r=o[2],l=j(r);return[0,s,[ya(n,{[ca]:null,[ia]:k},ca,(a=>H(l,a)&&a==r)),ya(i,{[oa]:null,[ia]:k,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>H(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+Ea))[0][Ea],e=(await s(wa+da))[0][da];t==(w??=t)&&e==(u??=e)||(a(),w=t,u=e)}catch{}}),1e3*p),n((t=>m.has(t)?a():0))]),(([a,t])=>{r(a),w=u=null,i(t)}),l,T,h(m),y)};a.createCrSqliteWasmPersister=(a,t,e,s,n)=>ua(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>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).TinyBasePersisterCrSqliteWasm={});
|
|
Binary file
|
|
@@ -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),o=Promise,c=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>t(a)==n,u=(a,t,e)=>a.slice(t,e),d=async a=>o.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),o=Promise,c=setInterval,r=clearInterval,l=(a,t)=>a instanceof t,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>t(a)==n,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,f=async a=>o.all(a),p=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),m=a=>0==d(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),b=(...a)=>R.assign({},...a),g=(a,t)=>T(R.entries(a),(([a,e])=>t(e,a))),D=a=>R.values(a),I=a=>d(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),x=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),_=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),B=(a,t,e)=>(L(a,t)||_(a,t,e()),P(a,t)),j=(a,t,e,s=_)=>(g(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),q="_",k="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",Y="WHERE",z=(a,t,e)=>{const n=M();return[async()=>j(n,C(await f(T(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")",t),(async({name:t})=>[t,C(T(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>_(n,t,j(B(n,t,M),e,((a,t,e)=>{e!=P(a,t)&&_(a,t,e)}),((a,t)=>_(a,t))))),((a,t)=>_(n,t))),async(t,e)=>((a,t)=>!y(P(P(n,a),t)))(t,e)?C(v(T(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,o,c,r=!1)=>{const l=H();g(i??{},(a=>T(O(a??{}),(a=>W(l,a)))));const w=h(l);if(!r&&c&&m(w)&&L(n,t))return await a("DROP TABLE"+J(t)),void _(n,t);if(m(w)||L(n,t)){const s=P(n,t),i=H($(s));await f([...T(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${J(t)}ADD${J(e)}`),_(s,e,""))})),...!r&&o?T(h(i),(async n=>{n!=e&&(await a(`ALTER TABLE${J(t)}DROP${J(n)}`),_(s,n))})):[]])}else await a(`CREATE TABLE${J(t)}(${J(e)} PRIMARY KEY ON CONFLICT REPLACE${p(T(w,(a=>s+J(a))))});`),_(n,t,M([[e,""],...T(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await f(g(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,...D(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)),o=[],c=[];g(i??{},((a,t)=>{A(o,t,...T(s,(t=>a?.[t]))),A(c,t)})),await G(a,t,e,s,o),await a("DELETE FROM"+J(t)+Y+J(e)+"NOT IN("+K(c)+")",c)}},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,o)=>await a("INSERT INTO"+J(t)+"("+J(e)+p(T(n,(a=>s+J(a))))+")VALUES"+u(i(`,(?${i(",?",d(n))})`,d(o)/(d(n)+1)),1)+"ON CONFLICT("+J(e)+")DO UPDATE SET"+p(T(n,(a=>J(a)+"=excluded."+J(a))),s),o),K=a=>p(T(a,(()=>"?")),s),V=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,o=[])=>{let c,r,l,E=0,u=0;B(Q,o,(()=>0)),B(X,o,(()=>[]));const d=async a=>(2!=E&&(E=1,await f.schedule((async()=>{await a(),E=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),u=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:()=>(u&&(n(l),l=void 0,u=0),f),save:async t=>(1!=E&&(E=2,await f.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();F(e)&&F(s)||f.save((()=>[e,s]))})),f),stopAutoSave:()=>(w(c,a.delListener),f),schedule:async(...a)=>(A(P(X,o),...a),await(async()=>{if(!P(Q,o)){for(_(Q,o,1);!y((a=P(X,o),r=a.shift()));)try{await r()}catch(a){i?.(a)}_(Q,o,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return S(f)},aa="store",ta=(a,t,e,s,n,[i],o,c)=>{const[r,y,w,E]=z(t,o,n);return Z(a,(async()=>await E((async()=>(await r(),V((await y(i,k))[q]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await r(),await w(i,k,{[q]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?R.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,c)},ea=(a,t,e,s,n,[i,o,[c,r,l]],w,E)=>{const[u,d,p,T]=z(t,w,n),m=async(a,t)=>await f(x(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await p(e,s,c,n,i,t)}))),A=async(a,t)=>r?await p(l,k,{[q]:a},!0,!0,t):null;return Z(a,(async()=>await T((async()=>{await u();const a=await(async()=>C(v(await f(x(i,(async([a,t],e)=>[a,await d(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>c?(await d(l,k))[q]:{})();return F(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await u(),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,E)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",oa="tableId",ca="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[ca]:e+"_values"},ya=(a,t,e,s)=>{const n=M();return g(a,((a,i)=>{const o=u(D(b(t,E(a)?{[e]:a}:a)),0,I(t));y(o[0])||s(i,o[0])||_(n,i,o)})),n},wa="pragma ",Ea="data_version",ua="schema_version",da=(a,t,s,n,i,o,l,y)=>{let w,d;const[f,p,T,m]=(a=>{const t=(a=>b(ra,E(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:o={}}=t,c=u(D(b(la,o)),0,I(la)),r=c[2],l=H(r);return[0,s,[ya(n,{[oa]:null,[ia]:k},oa,(a=>W(l,a)&&a==r)),ya(i,{[ca]:null,[ia]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ca,((a,t)=>W(l,t)&&t==r)),c],l]})(t);return(f?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>[c((async()=>{try{const t=(await s(wa+Ea))[0][Ea],e=(await s(wa+ua))[0][ua];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)};a.createExpoSqlitePersister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),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).TinyBasePersisterExpoSqlite={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=Promise,a=setInterval,s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),c=t=>new e(t),r=async t=>e.all(t),i=(t,e)=>t.map(e),d=(t,...e)=>t.push(...e),y=Object,l=y.keys,u=y.freeze,w=t=>(t=>t instanceof y&&t.constructor==y)(t)&&0==(t=>l(t).length)(t),h=t=>new Map(t),p=(t,e)=>t?.get(e),f=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},v=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||f(t,e,a()),p(t,e)},g=h(),b=h(),A=globalThis.window,S=["t","v"],x={keyPath:"k"},j=async(t,e)=>{const a=((e,a)=>i(y.entries(e),(([e,a])=>L(t,"put",{k:e,v:a}))))(e);i(await L(t,"getAllKeys"),(s=>((t,e)=>!n(((t,e)=>o(t,(t=>t[e])))(t,e)))(e,s)?0:d(a,L(t,"delete",s)))),await r(a)},L=async(t,e,a)=>c(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));t.createIndexedDbPersister=(t,e,l=1,h)=>{const T=async(t,a=[],s=0)=>c(((n,o)=>{const c=A.indexedDB.open(e,s?2:void 0);c.onupgradeneeded=()=>s&&i(S,(t=>{try{c.result.createObjectStore(t,x)}catch{}})),c.onsuccess=async()=>{try{const e=c.result.transaction(S,"readwrite"),s=await r(i(S,(async(s,n)=>await t(e.objectStore(s),a[n]))));c.result.close(),n(s)}catch(t){o(t)}},c.onerror=()=>o("indexedDB.open error")}));return((t,e,a,s,c,r,i=[])=>{let y,l,h,A=0,S=0;v(g,i,(()=>0)),v(b,i,(()=>[]));const x=async t=>(2!=A&&(A=1,await j.schedule((async()=>{await t(),A=0}))),j),j={load:async(a,s)=>await x((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(j.stopAutoLoad(),await j.load(a,n),S=1,h=s((async(a,s)=>{if(s){const e=s();await x((async()=>t.setTransactionChanges(e)))}else await x((async()=>{try{t.setContent(a?.()??await e())}catch(t){r?.(t)}}))})),j),stopAutoLoad:()=>(S&&(c(h),h=void 0,S=0),j),save:async e=>(1!=A&&(A=2,await j.schedule((async()=>{try{await a(t.getContent,e)}catch(t){r?.(t)}A=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();w(a)&&w(s)||j.save((()=>[a,s]))})),j),stopAutoSave:()=>(o(y,t.delListener),j),schedule:async(...t)=>(d(p(b,i),...t),await(async()=>{if(!p(g,i)){for(f(g,i,1);!n((t=p(b,i),l=t.shift()));)try{await l()}catch(t){r?.(t)}f(g,i,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(j)})(t,(async()=>await T((async t=>((t=[])=>y.fromEntries(t))(i(await L(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await T((async(t,e)=>await j(t,e)),t(),1)),(t=>a(t,1e3*l)),(t=>s(t)),h)},t.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterIndexedDb={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=(t,e)=>t instanceof e,
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=(t,e)=>t instanceof e,o=t=>null==t,n=t=>e(t)==a,r=Object,i=r.keys,c=r.freeze,d=t=>(t=>s(t,r)&&t.constructor==r)(t)&&0==(t=>i(t).length)(t),y=t=>JSON.stringify(t,((t,e)=>s(e,Map)?r.fromEntries([...e]):e)),u=JSON.parse,h=t=>new Map(t),l=(t,e)=>t?.get(e),f=(t,e,a)=>{return o(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},p=(t,e,a)=>{var s,o;return s=t,o=e,s?.has(o)||f(t,e,a()),l(t,e)},v=h(),w=h(),g="message",m={storeProtocol:"https",storePath:"/store"};t.createPartyKitPersister=(t,e,a,s)=>{const{host:r,room:i}=e.partySocketOptions,{storeProtocol:h,storePath:P}={...m,...n(a)?{storeProtocol:a}:a},S=h+"://"+r+"/parties/"+(e.name??"main")+"/"+i+P,A=async t=>await(await fetch(S,{...t?{method:"PUT",body:y(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,n,r,i=[])=>{let y,u,h,g=0,m=0;p(v,i,(()=>0)),p(w,i,(()=>[]));const P=async t=>(2!=g&&(g=1,await S.schedule((async()=>{await t(),g=0}))),S),S={load:async(a,s)=>await P((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},o={})=>(S.stopAutoLoad(),await S.load(a,o),m=1,h=s((async(a,s)=>{if(s){const e=s();await P((async()=>t.setTransactionChanges(e)))}else await P((async()=>{try{t.setContent(a?.()??await e())}catch(t){r?.(t)}}))})),S),stopAutoLoad:()=>(m&&(n(h),h=void 0,m=0),S),save:async e=>(1!=g&&(g=2,await S.schedule((async()=>{try{await a(t.getContent,e)}catch(t){r?.(t)}g=0}))),S),startAutoSave:async()=>(await S.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();d(a)&&d(s)||S.save((()=>[a,s]))})),S),stopAutoSave:()=>{var e,a;return e=y,a=t.delListener,o(e)||a(e),S},schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(w,i),...t),await(async()=>{if(!l(v,i)){for(f(v,i,1);!o((t=l(w,i),u=t.shift()));)try{await u()}catch(t){r?.(t)}f(v,i,0)}var t})(),S),getStore:()=>t,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c(S)})(t,(async()=>await A()),(async(t,a)=>{var s;a?e.send((s=a(),"s"+(n(s)?s:y(s)))):await A(t())}),(t=>{const a=e=>{const[a,s]=[(i=e.data)[0],u((o=i,n=1,o.slice(n,r)))];var o,n,r,i;"s"==a&&t(void 0,(()=>s))};return e.addEventListener(g,a),a}),(t=>{e.removeEventListener(g,t)}),s)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,s=e(""),a="t",
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,s=e(""),a="t",i=Promise,n=t=>null==t,r=(t,e,s)=>t.slice(e,s),o=t=>t.length,c=(t,e)=>t.map(e),h=(t,...e)=>t.push(...e),f=Object,p=(t=[])=>f.fromEntries(t),l=(t,e)=>c(f.entries(t),(([t,s])=>e(s,t))),y=(t,e,s)=>(((t,e)=>!n(((t,e)=>{return a=t=>t[e],n(s=t)?void 0:a(s);var s,a})(t,e)))(t,e)||(t[e]=s()),t[e]),u=t=>JSON.stringify(t,((t,e)=>e instanceof Map?f.fromEntries([...e]):e)),d=JSON.parse,g=(t,e)=>[t[0],e?d(r(t,1)):r(t,1)],w=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,s)=>e(s,t))),m="hasStore",v=p(c(["Origin","Methods","Headers"],(t=>["Access-Control-Allow-"+t,"*"]))),P=async(t,e)=>await t.get(e+m),R=async(t,e,s)=>{const r=[t.put(e+m,1)],c=[];l(s[0],((s,i)=>n(s)?((t,...e)=>t.unshift(...e))(c,e+x(a,i)):l(s,((s,o)=>n(s)?h(c,e+x(a,i,o)):l(s,((s,n)=>b(r,t,e+x(a,i,o,n),s))))))),l(s[1],((s,a)=>b(r,t,e+"v"+a,s))),0!=o(c)&&w(await t.list(),(e=>c.every((s=>!e.startsWith(s)||b(r,t,e)&&!1)))),await(async t=>i.all(t))(r)},x=(t,...e)=>t+r(u(e),1,-1),b=(t,e,s,a)=>h(t,n(a)?e.delete(s):e.put(s,a));t.TinyBasePartyKitServer=class{constructor(t){this.party=t,this.config={},this.createResponse=(t,e=null)=>new Response(e,{status:t,headers:this.config.responseHeaders??v})}async onRequest(t){const e=this.party.storage,s=this.config.storagePrefix??"",i=this.config.storePath??"/store";if(new URL(t.url).pathname.endsWith(i)){const i=await P(e,s),n=await t.text();return"PUT"==t.method?i?this.createResponse(205):(await R(e,s,d(n)),this.createResponse(201)):this.createResponse(200,i?u(await(async(t,e)=>{const s={},i={};return w(await t.list(),((t,n)=>{if(t.startsWith(e)){t=r(t,o(e));const[c,h]=g(t);if(c==a){const[t,e,a]=d("["+h+"]");y(y(s,t,p),e,p)[a]=n}else"v"==c&&(i[h]=n)}})),[s,i]})(e,s)):"")}return this.createResponse(404)}async onMessage(t,a){const i=this.party.storage,n=this.config.storagePrefix??"",[r,o]=g(t,1);"s"==r&&await P(i,n)&&(await R(i,n,o),this.party.broadcast(((t,a)=>"s"+(e(a)==s?a:u(a)))(0,o),[a.id]))}}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitServer={});
|
|
Binary file
|
|
@@ -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),o=Promise,c=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,d=(a,t,e)=>a.slice(t,e),E=async a=>o.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),o=Promise,c=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,d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),T=a=>0==E(a),v=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),N=Object,O=N.keys,S=N.freeze,C=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),D=(a,t)=>m(N.entries(a),(([a,e])=>t(e,a))),g=a=>N.values(a),I=a=>E(O(a)),_=a=>(a=>l(a,N)&&a.constructor==N)(a)&&0==I(a),M=a=>new Map(a),F=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),P=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>y(e)?(R(a,t),a):a?.set(t,e),W=(a,t,e)=>(A(a,t)||B(a,t,e()),$(a,t)),j=(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),x=a=>new Set(Array.isArray(a)||y(a)?a:[a]),k=(a,t)=>a?.add(t),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="FROM pragma_table_",V="WHERE",Y=(a,t,e)=>{const n=M();return[async()=>j(n,C(await p(m(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+G(t)+")",t),(async({name:t})=>[t,C(m(await a("SELECT name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(n,t,j(W(n,t,M),e,((a,t,e)=>{e!=$(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(n,t))),async(t,e)=>((a,t)=>!y($($(n,a),t)))(t,e)?C(v(m(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)&&!_(t)))):{},async(t,e,i,o,c,r=!1)=>{const l=x();D(i??{},(a=>m(O(a??{}),(a=>k(l,a)))));const w=L(l);if(!r&&c&&T(w)&&A(n,t))return await a("DROP TABLE"+J(t)),void B(n,t);if(T(w)||A(n,t)){const s=$(n,t),i=x(F(s));await p([...m(w,(async e=>{R(i,e)||(await a(`ALTER TABLE${J(t)}ADD${J(e)}`),B(s,e,""))})),...!r&&o?m(L(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(m(w,(a=>s+J(a))))});`),B(n,t,M([[e,""],...m(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await p(D(i,(async(s,n)=>{y(s)?await a("DELETE FROM"+J(t)+V+J(e)+"=?",[n]):T(w)||await z(a,t,e,O(s),[n,...g(s)])})));else if(T(w))A(n,t)&&await a("DELETE FROM"+J(t)+"WHERE 1");else{const s=v(F($(n,t)),(a=>a!=e)),o=[],c=[];D(i??{},((a,t)=>{h(o,t,...m(s,(t=>a?.[t]))),h(c,t)})),await z(a,t,e,s,o),await a("DELETE FROM"+J(t)+V+J(e)+"NOT IN("+G(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},z=async(a,t,e,n,o)=>await a("INSERT INTO"+J(t)+"("+J(e)+f(m(n,(a=>s+J(a))))+")VALUES"+d(i(`,(?${i(",?",E(n))})`,E(o)/(E(n)+1)),1)+"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(m(n,(a=>J(a)+"=excluded."+J(a))),s),o),G=a=>f(m(a,(()=>"?")),s),K=JSON.parse,Q=M(),X=M(),Z=(a,t,e,s,n,i,o=[])=>{let c,r,l,u=0,d=0;W(Q,o,(()=>0)),W(X,o,(()=>[]));const E=async a=>(2!=u&&(u=1,await p.schedule((async()=>{await a(),u=0}))),p),p={load:async(e,s)=>await E((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),d=1,l=s((async(e,s)=>{if(s){const t=s();await E((async()=>a.setTransactionChanges(t)))}else await E((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(d&&(n(l),l=void 0,d=0),p),save:async t=>(1!=u&&(u=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(w(c,a.delListener),p),schedule:async(...a)=>(h($(X,o),...a),await(async()=>{if(!$(Q,o)){for(B(Q,o,1);!y((a=$(X,o),r=a.shift()));)try{await r()}catch(a){i?.(a)}B(Q,o,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return S(p)},aa="store",ta=(a,t,e,s,n,[i],o,c)=>{const[r,y,w,u]=Y(t,o,n);return Z(a,(async()=>await u((async()=>(await r(),K((await y(i,H))[q]?.[aa]??"null"))))),(async a=>await u((async()=>{var t;await r(),await w(i,H,{[q]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>l(t,Map)?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,c)},ea=(a,t,e,s,n,[i,o,[c,r,l]],w,u)=>{const[d,E,f,m]=Y(t,w,n),T=async(a,t)=>await p(P(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await f(e,s,c,n,i,t)}))),h=async(a,t)=>r?await f(l,H,{[q]:a},!0,!0,t):null;return Z(a,(async()=>await m((async()=>{await d();const a=await(async()=>C(v(await p(P(i,(async([a,t],e)=>[a,await E(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await E(l,H))[q]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await m((async()=>{if(await d(),y(t)){const[t,e]=a();await T(t),await h(e)}else{const[a,e]=t();await T(a,!0),await h(e,!0)}}))),e,s,n,u)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",oa="tableId",ca="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[ca]:e+"_values"},ya=(a,t,e,s)=>{const n=M();return D(a,((a,i)=>{const o=d(g(b(t,u(a)?{[e]:a}:a)),0,I(t));y(o[0])||s(i,o[0])||B(n,i,o)})),n},wa="pragma ",ua="data_version",da="schema_version",Ea=(a,t,s,n,i,o,l,y)=>{let w,E;const[p,f,m,T]=(a=>{const t=(a=>b(ra,u(a)?{storeTableName:a}:a??{}))(a),s=t[na];if(t.mode==sa){const{storeTableName:a=e}=t;return[1,s,[a],x(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(g(b(la,o)),0,I(la)),r=c[2],l=x(r);return[0,s,[ya(n,{[oa]:null,[ia]:H},oa,(a=>k(l,a)&&a==r)),ya(i,{[ca]:null,[ia]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ca,((a,t)=>k(l,t)&&t==r)),c],l]})(t);return(p?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>[c((async()=>{try{const t=(await s(wa+ua))[0][ua],e=(await s(wa+da))[0][da];t==(w??=t)&&e==(E??=e)||(a(),w=t,E=e)}catch{}}),1e3*f),n((t=>T.has(t)?a():0))]),(([a,t])=>{r(a),w=E=null,i(t)}),l,m,L(T),y)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>Ea(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
|
|
Binary file
|
|
@@ -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=(a,t,e)=>a.slice(t,e),d=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=a=>a.length,f=async a=>c.all(a),p=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),m=a=>0==d(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)=>T(R.entries(a),(([a,e])=>t(e,a))),b=a=>R.values(a),I=a=>d(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)=>T([...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 f(T(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")",t),(async({name:t})=>[t,C(T(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(T(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=>T(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 f([...T(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${J(t)}ADD${J(e)}`),B(s,e,""))})),...!r&&c?T(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${p(T(w,(a=>s+J(a))))});`),B(n,t,M([[e,""],...T(w,(a=>[a,""]))]));if(r)y(i)?await a("DELETE FROM"+J(t)+"WHERE 1"):await f(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,...T(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)+p(T(n,(a=>s+J(a))))+")VALUES"+E(i(`,(?${i(",?",d(n))})`,d(c)/(d(n)+1)),1)+"ON CONFLICT("+J(e)+")DO UPDATE SET"+p(T(n,(a=>J(a)+"=excluded."+J(a))),s),c),K=a=>p(T(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,d,p,T]=z(t,w,n),m=async(a,t)=>await f(_(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 f(_(i,(async([a,t],e)=>[a,await d(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>o?(await d(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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t,e){"use strict";const s="t",a="v",n=t=>
|
|
1
|
+
var t,e;t=this,e=function(t,e){"use strict";const s="t",a="v",n=t=>null==t,o=(t,e,s)=>n(t)?s?.():e(t),c=t=>t.length,r=t=>t.shift(),i=Object,d=i.keys,l=i.freeze,u=(t=[])=>i.fromEntries(t),y=(t,e)=>!n(((t,e)=>o(t,(t=>t[e])))(t,e)),g=(t,e)=>((t,e)=>t.map(e))(i.entries(t),(([t,s])=>e(s,t))),f=t=>(t=>t instanceof i&&t.constructor==i)(t)&&0==(t=>c(d(t)))(t),p=(t,e,s)=>(y(t,e)||(t[e]=s()),t[e]),h=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,s)=>e(s,t))),S=(t,e,s)=>{return n(s)?(a=t,o=e,a?.delete(o),t):t?.set(e,s);var a,o},A=(t,e,s)=>{var a,n;return a=t,n=e,a?.has(n)||S(t,e,s()),v(t,e)},b=h(),j=h(),O="delete",J=t=>[t.get(s),t.get(a)],L=(t,s,a,o)=>{const c=n(s)?t:t.get(s)??t.set(s,new e.Map);let r;return g(a,((t,e)=>{o(c,e,t)&&(r=1)})),c.forEach(((t,e)=>{y(a,e)||(c.delete(e),r=1)})),n(s)||c.size||t.delete(s),r};t.createYjsPersister=(t,i,d="tinybase",y)=>{const h=i.getMap(d);return((t,e,s,a,c,i,d=[])=>{let u,y,g,p=0,h=0;A(b,d,(()=>0)),A(j,d,(()=>[]));const w=async t=>(2!=p&&(p=1,await O.schedule((async()=>{await t(),p=0}))),O),O={load:async(s,a)=>await w((async()=>{try{t.setContent(await e())}catch{t.setContent([s,a])}})),startAutoLoad:async(s={},n={})=>(O.stopAutoLoad(),await O.load(s,n),h=1,g=a((async(s,a)=>{if(a){const e=a();await w((async()=>t.setTransactionChanges(e)))}else await w((async()=>{try{t.setContent(s?.()??await e())}catch(t){i?.(t)}}))})),O),stopAutoLoad:()=>(h&&(c(g),g=void 0,h=0),O),save:async e=>(1!=p&&(p=2,await O.schedule((async()=>{try{await s(t.getContent,e)}catch(t){i?.(t)}p=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),u=t.addDidFinishTransactionListener(((t,e)=>{const[s,a]=e();f(s)&&f(a)||O.save((()=>[s,a]))})),O),stopAutoSave:()=>(o(u,t.delListener),O),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(j,d),...t),await(async()=>{if(!v(b,d)){for(S(b,d,1);!n(y=r(v(j,d)));)try{await y()}catch(t){i?.(t)}S(b,d,0)}})(),O),getStore:()=>t,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(O)})(t,(async()=>h.size?[h.get(s).toJSON(),h.get(a).toJSON()]:void 0),(async(t,c)=>i.transact((()=>((t,c,r)=>{t.size||(t.set(s,new e.Map),t.set(a,new e.Map));const[i,d]=J(t),l=()=>{u=1};let u=1;if(o(r?.(),(([t,e])=>{u=0,g(t,((t,e)=>u?0:n(t)?i.delete(e):o(i.get(e),(e=>g(t,((t,s)=>u?0:n(t)?e.delete(s):o(e.get(s),(e=>g(t,((t,s)=>n(t)?e.delete(s):e.set(s,t)))),l)))),l))),g(e,((t,e)=>u?0:n(t)?d.delete(e):d.set(e,t)))})),u){const[t,e]=c();L(i,void 0,t,((t,e,s)=>L(i,e,s,((t,e,s)=>L(t,e,s,((t,e,s)=>{if(t.get(e)!==s)return t.set(e,s),1})))))),L(d,void 0,e,((t,e,s)=>{d.get(e)!==s&&d.set(e,s)}))}})(h,t,c)))),(t=>{const e=e=>t(void 0,(()=>((t,e)=>{if(1==c(e)&&(n=e[0].path,0==c(n)))return[t.get(s).toJSON(),t.get(a).toJSON()];var n;const[i,d]=J(t),l={},y={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>r(t)==s?o(r(t),(s=>{const a=p(l,s,u),n=i.get(s);o(r(t),(t=>{const s=p(a,t,u),o=n.get(t);w(e,((t,{action:e})=>s[t]=e==O?null:o.get(t)))}),(()=>w(e,((t,{action:e})=>a[t]=e==O?null:n.get(t)?.toJSON()))))}),(()=>w(e,((t,{action:e})=>l[t]=e==O?null:i.get(t)?.toJSON())))):w(e,((t,{action:e})=>y[t]=e==O?null:d.get(t)))))})(e),[l,y]})(h,e)));return h.observeDeep(e),e}),(t=>{h.unobserveDeep(t)}),y)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterYjs={},t.yjs);
|
|
Binary file
|
package/lib/umd/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),a="Listener",i="Result",l="Ids",d="Table",c="Row",u=c+"Count",f=c+l,h="Sorted"+c+l,g="Cell",v=g+l,w=
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),a="Listener",i="Result",l="Ids",d="Table",c="Row",u=c+"Count",f=c+l,h="Sorted"+c+l,g="Cell",v=g+l,w=Math.max,L=Math.min,y=isFinite,R=e=>null==e,p=(e,t,n)=>R(e)?n?.():t(e),T=e=>t(e)==o,b=e=>Array.isArray(e),m=e=>e.length,C=()=>{},Q=(e,t)=>e.every(t),S=(e,t)=>e.forEach(t),I=e=>E(e,((e,t)=>e+t),0),x=e=>0==m(e),E=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),j=Object,D=j.freeze,k=e=>e?.size??0,z=(e,t)=>e?.has(t)??!1,A=e=>R(e)||0==k(e),F=e=>[...e?.values()??[]],B=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),G=(e,t)=>e?.get(t),H=(e,t)=>O(e,((e,n)=>t(n,e))),J=(e,t,n)=>R(n)?(W(e,t),e):e?.set(t,n),K=(e,t,n)=>(z(e,t)||J(e,t,n()),G(e,t)),N=(e,t,n,s,r=0)=>p((n?K:G)(e,t[r],r>m(t)-2?n:q),(o=>{if(r>m(t)-2)return s?.(o)&&J(e,t[r]),o;const a=N(o,t,n,s,r+1);return A(o)&&J(e,t[r]),a})),P=e=>new Set(b(e)||R(e)?e:[e]),U=(e,t)=>e?.add(t),V=q([["avg",[(e,t)=>I(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["min",[e=>L(...e),(e,t)=>L(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:L(t,e)]],["sum",[e=>I(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),X=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,l=o(),w=o(),L=q(),{addListener:I,callListeners:E,delListener:X}=w,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),i=q(),l=q(),d=q(),c=q(),u=q(),f=(t,n,...s)=>{const r=K(u,t,P);return S(s,(t=>U(r,t)&&n&&e.callListener(t))),s},h=(t,...n)=>p(G(u,t),(s=>{S(x(n)?F(s):n,(t=>{e.delListener(t),W(s,t)})),A(s)&&J(u,t)})),g=(e,t)=>{J(a,e,t),z(i,e)||(J(i,e,!0),J(d,e,q()),J(c,e,q()),r(l))},v=e=>{J(a,e),J(i,e),J(d,e),J(c,e),h(e),r(l)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>H(i,e),e=>z(i,e),e=>G(a,e),e=>G(i,e),(e,t)=>J(i,e,t),g,(t,s,r,a,i)=>{g(t,s);const l=q(),u=q(),v=G(d,t),w=G(c,t),L=t=>{const r=n=>e.getCell(s,t,n),d=G(v,t),c=o(s,t)?n(a(r,t)):void 0;var f,h;if(d===c||b(d)&&b(c)&&(h=c,m(f=d)===m(h)&&Q(f,((e,t)=>h[t]===e)))||J(l,t,[d,c]),!R(i)){const e=G(w,t),n=o(s,t)?i(r,t):void 0;e!=n&&J(u,t,n)}},y=e=>{r((()=>{O(l,(([,e],t)=>J(v,t,e))),O(u,((e,t)=>J(w,t,e)))}),l,u,v,w,e),B(l),B(u)};H(v,L),e.hasTable(s)&&S(e.getRowIds(s),(e=>{z(v,e)||L(e)})),y(!0),h(t),f(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>y())))},v,e=>s(e,l),()=>H(u,v),f,h]})(e,0,C,I,E),ie=(e,t,...n)=>S(n,(n=>U(K(K(L,t,q),e,P),n))),le=e=>{p(G(L,e),(e=>{H(e,((e,t)=>O(t,(t=>e.delListener(t))))),B(e)})),S([w,l],(t=>t.delTable(e)))},de=(e,t,n)=>ie(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,i)=>{te(o,a),le(o);const d=[],c=[[null,[a,null,null,[],q()]]],u=[],f=[],h=[];i({select:(e,t)=>{const n=T(e)?[m(d)+"",e]:[R(t)?e:t,n=>n(e,t)];return M(d,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||T(t)?null:t,r=R(s)?t:n,o=[e,[e,s,T(r)?r:e=>e(r),[],q()]];return M(c,o),{as:e=>o[0]=e}},where:(e,t,n)=>M(u,T(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,T(t)?[t,n,s,r]:G(V,t)??[(e,t)=>t]]];return M(f,o),{as:e=>o[0]=e}},having:(e,t)=>M(h,T(e)?e:n=>n(e)===t)});const g=q(d);if(A(g))return ce;const v=q(c);H(v,((e,[,t])=>p(G(v,t),(({3:t})=>R(e)?0:M(t,e)))));const L=q(f);let b=l;if(A(L)&&x(h))b=w;else{de(o,b,w);const e=q();H(L,((t,[n,s])=>U(K(e,n,P),[t,s])));const a=P();H(g,(t=>z(e,t)?0:U(a,t)));const i=q(),l=(a,i,l,d)=>p(a,(([c,u,f,g])=>{H(i,((o,[a])=>{const i=K(c,o,q),u=G(i,l),f=d?void 0:a;if(u!==f){const a=P([[u,f]]),d=k(i);J(i,l,f),O(G(e,o),(([e,o])=>{const l=((e,t,n,s,r,o=!1)=>{if(A(n))return;const[a,i,l,d]=r;return o||=R(e),O(s,(([n,s])=>{o||(e=R(n)?i?.(e,s,t++):R(s)?l?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?a(F(n),k(n)):e})(g[e],d,i,a,o);g[e]=R((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&y(e)?o:void 0})(l))?null:l}))}})),A(u)||!Q(h,(e=>e((e=>g[e]))))?w.delRow(o,f):R(f)?a[2]=w.addRow(o,g):w.setRow(o,f,g)}));ie(b,o,b.addRowListener(o,null,((t,n,s,r)=>{const d=[],c=[],u=q(),f=b.hasRow(o,s);let h=!f;O(a,(e=>{const[t,n,a]=r(o,s,e);M(d,n),M(c,a),h||=t})),H(e,(e=>{const[t,,n]=r(o,s,e);(h||t)&&J(u,e,[n])})),h&&l(N(i,d,void 0,(([,e])=>(W(e,s),A(e)))),u,s,1),f&&l(N(i,c,(()=>{const e={};return O(a,(t=>e[t]=b.getCell(o,s,t))),[q(),P(),void 0,e]}),(([,e])=>{U(e,s)})),u,s)})))}de(o,e,b);const C=(t,n,s,r)=>{const i=t=>e.getCell(n,s,t);S(r,(n=>{const[s,,r,a,l]=G(v,n),d=r?.(i,t),[c,u]=G(l,t)??[];d!=c&&(R(u)||ae(o,u),J(l,t,R(d)?null:[d,...oe(o,1,e.addRowListener(s,d,(()=>C(t,s,d,a))))]))})),(t=>{const n=(n,s)=>e.getCell(...R(s)?[a,t,n]:n===a?[a,t,s]:[G(v,n)?.[0],G(G(v,n)?.[4],t)?.[0],s]);b.transaction((()=>Q(u,(e=>e(n)))?H(g,((e,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(b,o,t,e,s(n,t)))):b.delRow(o,t)))})(t)},{3:I}=G(v,null);return b.transaction((()=>oe(o,1,e.addRowListener(a,null,((t,n,s)=>{e.hasRow(a,s)?C(s,a,s,I):(b.delRow(o,s),O(v,(({4:e})=>p(G(e,s),(([,t])=>{ae(o,t),J(e,s)})))))}))))),ce},delQueryDefinition:e=>(le(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=w.getListenerStats();return s}};var ue,fe;return ue={[d]:[1,1],[d+v]:[0,1],[u]:[0,1],[f]:[0,1],[h]:[0,5],[c]:[1,2],[v]:[0,2],[g]:[1,3]},fe=([e,t],n)=>{S(e?["get","has","forEach"]:["get"],(e=>ce[e+i+n]=(...t)=>w[e+n](...t))),ce["add"+i+n+a]=(...e)=>{return w["add"+n+a](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)),!0);var s,r}},((e,t)=>{e.map(t)})(j.entries(ue),(([e,t])=>fe(t,e))),D(ce)})(e)),o.get(e))})();e.createQueries=X},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
|
package/lib/umd/queries.js.gz
CHANGED
|
Binary file
|
package/lib/umd/relationships.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=e=>null==e,r=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),a=(e,t)=>e.forEach(t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=e=>null==e,r=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),a=e=>e.length,d=(e,t)=>e.forEach(t),l=(e,...t)=>e.push(...t),c=Object.freeze,f=(e,t)=>e?.has(t)??!1,u=e=>o(e)||0==(e=>e?.size??0)(e),h=e=>[...e?.values()??[]],R=e=>e.clear(),p=(e,t)=>e?.forEach(t),g=(e,t)=>e?.delete(t),L=e=>new Map(e),w=(e,t)=>e?.get(t),y=(e,t)=>p(e,((e,n)=>t(n,e))),I=(e,t,n)=>o(n)?(g(e,t),e):e?.set(t,n),v=(e,t,n)=>(f(e,t)||I(e,t,n()),w(e,t)),b=(e,t,n,s,o=0)=>r((n?v:w)(e,t[o],o>a(t)-2?n:L),(r=>{if(o>a(t)-2)return s?.(r)&&I(e,t[o]),r;const i=b(r,t,n,s,o+1);return u(r)&&I(e,t[o]),i})),T=e=>new Set(i(e)||o(e)?e:[e]),m=(e,t)=>e?.add(t),k=/^\d+$/,E=(e=>{const E=new WeakMap;return e=>(E.has(e)||E.set(e,(e=>{const E=L(),x=L(),S=L(),j=L(),[z,A,D]=(e=>{let t;const[s,i]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{k.test(t)&&a(e)<1e3&&l(e,t)}]})(),c=L();return[(e,o,r,i=[],a=(()=>[]))=>{t??=P;const d=s(1);return I(c,d,[e,o,r,i,a]),m(b(o,r??[n],T),d),d},(e,s,...o)=>d(((e,t=[n])=>{const s=[],o=(e,n)=>n==a(t)?l(s,e):null===t[n]?p(e,(e=>o(e,n+1))):d([t[n],null],(t=>o(w(e,t),n+1)));return o(e,0),s})(e,s),(e=>p(e,(e=>w(c,e)[0](t,...s??[],...o))))),e=>r(w(c,e),(([,t,s])=>(b(t,s??[n],void 0,(t=>(g(t,e),u(t)?1:0))),I(c,e),i(e),s))),e=>r(w(c,e),(([e,,n=[],s,r])=>{const i=(...l)=>{const c=a(l);c==a(n)?e(t,...l,...r(l)):o(n[c])?d(s[c]?.(...l)??[],(e=>i(...l,e))):i(...l,n[c])};i()}))]})(),[M,B,C,O,W,$,,,q,F,G,H]=((e,t,s,l,c)=>{const b=e.hasRow,k=L(),E=L(),x=L(),S=L(),j=L(),z=L(),A=(t,n,...s)=>{const o=v(z,t,T);return d(s,(t=>m(o,t)&&n&&e.callListener(t))),s},D=(t,...n)=>r(w(z,t),(s=>{d(0==a(n)?h(s):n,(t=>{e.delListener(t),g(s,t)})),u(s)&&I(z,t)})),M=(e,t)=>{I(k,e,t),f(E,e)||(I(E,e,[L(),L(),L(),L()]),I(S,e,L()),I(j,e,L()),c(x))},B=e=>{I(k,e),I(E,e),I(S,e),I(j,e),D(e),c(x)};return[()=>e,()=>{return e=k,[...e?.keys()??[]];var e},e=>y(E,e),e=>f(E,e),e=>w(k,e),e=>w(E,e),(e,t)=>I(E,e,t),M,(t,s,r,l,c)=>{M(t,s);const u=L(),h=L(),g=w(S,t),v=w(j,t),T=t=>{const r=n=>e.getCell(s,t,n),d=w(g,t),f=b(s,t)?(R=l(r,t),o(R)?void 0:R+n):void 0;var R,p,L,y;if(d===f||i(d)&&i(f)&&(L=f,a(p=d)===a(L)&&(y=(e,t)=>L[t]===e,p.every(y)))||I(u,t,[d,f]),!o(c)){const e=w(v,t),n=b(s,t)?c(r,t):void 0;e!=n&&I(h,t,n)}},m=e=>{r((()=>{p(u,(([,e],t)=>I(g,t,e))),p(h,((e,t)=>I(v,t,e)))}),u,h,g,v,e),R(u),R(h)};y(g,T),e.hasTable(s)&&d(e.getRowIds(s),(e=>{f(g,e)||T(e)})),m(!0),D(t),A(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},B,e=>l(e,x),()=>y(z,B),A,D]})(e,0,0,z,A),J=(e,t,n)=>r($(e),(([s,,r])=>{if(!f(r,t)){const i=T();if(W(e)!=N(e))m(i,t);else{let e=t;for(;!o(e)&&!f(i,e);)m(i,e),e=w(s,e)}if(n)return i;I(r,t,i)}return w(r,t)})),K=(e,t)=>r($(e),(([,,e])=>I(e,t))),N=e=>w(E,e),P={setRelationshipDefinition:(e,i,a,d)=>{return I(E,e,a),q(e,i,((t,n)=>{const s=T(),i=T(),a=T(),[d,l]=$(e);p(n,(([t,n],c)=>{o(t)||(m(i,t),r(w(l,t),(e=>{g(e,c),u(e)&&I(l,t)}))),o(n)||(m(i,n),f(l,n)||I(l,n,T()),m(w(l,n),c)),m(s,c),I(d,c,n),y(w(j,e),(t=>{f(J(e,t),c)&&m(a,t)}))})),t(),p(s,(t=>A(x,[e,t]))),p(i,(t=>A(S,[e,t]))),p(a,(t=>{K(e,t),A(j,[e,t])}))}),t(l=d)==s?e=>e(l):l??(()=>n)),P;var l},delRelationshipDefinition:e=>(I(E,e),F(e),P),getStore:M,getRelationshipIds:B,forEachRelationship:t=>C((n=>t(n,(t=>e.forEachRow(W(n),t))))),hasRelationship:O,getLocalTableId:W,getRemoteTableId:N,getRemoteRowId:(e,t)=>w($(e)?.[0],t),getLocalRowIds:(e,t)=>h(w($(e)?.[1],t)),getLinkedRowIds:(e,t)=>o($(e))?[t]:h(J(e,t,!0)),addRelationshipIdsListener:G,addRemoteRowIdListener:(e,t,n)=>z(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>z(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(J(e,t),z(n,j,[e,t])),delListener:e=>(K(...D(e)??[]),P),destroy:H,getListenerStats:()=>({})};return c(P)})(e)),E.get(e))})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
|
|
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,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={});
|
|
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=>e.length,F=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),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)=>x(O.entries(e),(([e,s])=>t(s,e))),D=e=>M(e)&&0==(e=>E(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>E(t)-2?s:Q),(a=>{if(n>E(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)&&E(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)=>F(((e,t=[s])=>{const l=[],n=(e,s)=>s==E(t)?z(l,e):null===t[s]?H(e,(e=>n(e,s+1))):F([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=E(o);r==E(s)?e(t,...o,...n(o)):p(s[r])?F(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(...x(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 x(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),x([...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,F([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,E(c=o)===E(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=(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)),!0)})),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={});
|
|
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=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),O=(e,t)=>Q(e)===Q(t)&&j(e,((e,s)=>t[s]===e)),P=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),q=e=>H(e,((e,t)=>e+t),0),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)=>$(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 W(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(Le(u,t),(n=>{W(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)&&O(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)&&W(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)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?K(n,e):null===t[s]?ue(e,(e=>a(e,s+1))):W([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])?W(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)=>W(((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=N(w,e)?V:N(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)?$(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)];P(s,t)||(Ie(S,e,Me(B(s,t))),xe(w,e))}))),(L||f)&&!M(c)){const t=[...S];P(t,c)||(g(e,ge(B(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)=>q(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=>q(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,z,(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),z,r,i),D=(e,t,...s)=>W(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)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),O={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 O;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{N(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)||!j(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)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(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((()=>j(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)})))))}))))),O},delQueryDefinition:e=>(A(e),b(e),O),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>m((()=>e(O))),delListener:e=>(l(e),O),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)=>{W(e?["get","has","forEach"]:["get"],(e=>O[e+d+s]=(...t)=>a[e+s](...t))),O[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](O,...n)),!0)})),ee(O)})),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(),z=ge(),j=ge(),P=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)=>N([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(P,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(q,((t,s)=>{se(e,s)||(e[s]=t)})),ue(G,(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(P,e,((e,t,s)=>{Ie(P,t,s),x(s[l],(e=>Ie(q,t,e)),(()=>xe(G,t)))}),((e,t)=>{Ie(P,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(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(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(...$(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 $(F(B((o=Le(X,b(e)),r=(e,s)=>[M(t)?s:Le(e,b(t)),s],$([...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,W([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(z),getValuesSchemaJson:()=>Ze(P),getSchemaJson:()=>Ze([z,P]),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);O(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
|