tinybase 4.0.0-beta.5.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/persisters/persister-automerge.js +22 -20
- package/lib/debug/persisters/persister-browser.js +28 -20
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +199 -150
- package/lib/debug/persisters/persister-file.js +28 -20
- package/lib/debug/persisters/persister-remote.js +28 -20
- package/lib/debug/persisters/persister-sqlite-wasm.js +204 -150
- package/lib/debug/persisters/persister-sqlite3.js +199 -150
- package/lib/debug/persisters/persister-yjs.js +28 -20
- package/lib/debug/persisters.js +29 -20
- package/lib/debug/tinybase.js +22 -20
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +16 -16
- package/readme.md +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=e.keys,n=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),r=(t,a)=>(delete t[a],t),i=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>s(t).length,u=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),y=(t,a)=>[t[a].t,t[a].v],
|
|
1
|
+
"use strict";const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=e.keys,n=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),r=(t,a)=>(delete t[a],t),i=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>s(t).length,u=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),y=(t,a)=>[t[a].t,t[a].v],h=(a,e,s,n)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return i(s,((t,a)=>{n(o,a,t)&&(d=1)})),i(o,((t,a)=>{c(s,a)||(r(o,a),d=1)})),!t(e)&&u(o)&&r(a,e),d};exports.createAutomergePersister=(e,s,c="tinybase")=>(s.change((t=>t[c]={})),((e,d,v,l,w)=>{let g,p,A,f=0,L=0,S=0;const C=[],m=async t=>(2!=f&&(f=1,await b.schedule((async()=>{await t(),f=0}))),b),b={load:async(t,a)=>await m((async()=>{try{e.setContent(await d())}catch{e.setContent([t,a])}})),startAutoLoad:async(t={},a={})=>(b.stopAutoLoad(),await b.load(t,a),S=1,A=(t=>{const a=({doc:a})=>t((()=>y(a,c)));return s.on("change",a),a})((async(t,a)=>await m((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await d())}catch{}})))),b),stopAutoLoad:()=>{return S&&(t=A,s.removeListener("change",t),A=void 0,S=0),b;var t},save:async n=>(1!=f&&(f=2,await b.schedule((async()=>{try{await(async(e,n)=>s.change((s=>((e,s,n,c)=>{((t,a)=>{u(t[a])&&(t[a]={t:{},v:{}})})(e,s);const[d,v]=y(e,s),l=()=>{w=1};let w=1;if(a(c?.(),(([e,s])=>{w=0,i(e,((e,s)=>w?0:t(e)?r(d,s):a(d[s],(s=>i(e,((e,n)=>w?0:t(e)?r(s,n):a(o(s,n),(a=>i(e,((e,s)=>t(e)?r(a,s):a[s]=e))),l)))),l))),i(s,((a,e)=>w?0:t(a)?r(v,e):v[e]=a))})),w){const[t,a]=n();h(d,void 0,t,((t,a,e)=>h(d,a,e,((t,a,e)=>h(t,a,e,((t,a,e)=>{if(o(t,a)!==e)return t[a]=e,1})))))),h(v,void 0,a,((t,a,e)=>{o(v,a)!==e&&(v[a]=e)}))}})(s,c,e,n))))(e.getContent,n)}catch{}f=0}))),b),startAutoSave:async()=>(await b.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();u(e)&&u(s)||b.save((()=>[e,s]))})),b),stopAutoSave:()=>(a(g,e.delListener),b),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(C,...a),await(async()=>{if(!L){for(L=1;!t((a=C,p=a.shift()));)try{await p()}catch{}L=0}var a})(),b),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(b)})(e,(async()=>2==d(s.doc[c])?y(s.doc,c):void 0)));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=JSON.parse,a=t=>null==t,
|
|
1
|
+
"use strict";const t=JSON.parse,a=(t,a)=>t instanceof a,e=t=>null==t,s=Object,n=s.keys,r=s.freeze,o=t=>(t=>a(t,s)&&t.constructor==s)(t)&&0==(t=>n(t).length)(t),c="storage",i=globalThis.window,u=(s,n,u)=>((s,y,d,l,v)=>{let w,h,g,p=0,S=0,A=0;const L=[],f=async t=>(2!=p&&(p=1,await C.schedule((async()=>{await t(),p=0}))),C),C={load:async(t,a)=>await f((async()=>{try{s.setContent(await y())}catch{s.setContent([t,a])}})),startAutoLoad:async(a={},e={})=>(C.stopAutoLoad(),await C.load(a,e),A=1,g=(a=>{const e=e=>{e.storageArea===u&&e.key===n&&a((()=>t(e.newValue)))};return i.addEventListener(c,e),e})((async(t,a)=>await f((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await y())}catch{}})))),C),stopAutoLoad:()=>{return A&&(t=g,i.removeEventListener(c,t),g=void 0,A=0),C;var t},save:async t=>(1!=p&&(p=2,await C.schedule((async()=>{try{await(async t=>{return u.setItem(n,(e=t(),JSON.stringify(e,((t,e)=>{return a(e,Map)?(s=(t,[a,e])=>(t[a]=e,t),n={},[...e].reduce(s,n)):e;var s,n}))));var e})(s.getContent)}catch{}p=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),w=s.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();o(e)&&o(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>{var t,a;return t=w,a=s.delListener,e(t)||a(t),C},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(L,...t),await(async()=>{if(!S){for(S=1;!e((t=L,h=t.shift()));)try{await h()}catch{}S=0}var t})(),C),getStore:()=>s,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(C)})(s,(async()=>t(u.getItem(n))));exports.createLocalPersister=(t,a)=>u(t,a,localStorage),exports.createSessionPersister=(t,a)=>u(t,a,sessionStorage);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),i=a=>a.length,r=a=>0==i(a),o=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),w=Promise,u=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,A=async a=>w.all(a),T=(a,t)=>a?.has(t)??!1,p=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),h=Object,C=h.keys,N=h.freeze,O=(a=[])=>h.fromEntries(a),S=(...a)=>h.assign({},...a),f=(a,t)=>(delete a[t],a),R=(a,t)=>c(h.entries(a),(([a,e])=>t(e,a))),I=a=>h.values(a),g=a=>i(C(a)),D=a=>(a=>d(a,h)&&a.constructor==h)(a)&&0==g(a),b=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(L(a,t),a):a?.set(t,e),P=(a,t,e,s=M)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_id",j=a=>`"${a.replace(/"/g,'""')}"`,x=a=>new Set(Array.isArray(a)||E(a)?a:[a]),U=(a,t)=>a?.add(t),W="SELECT*FROM",k="FROM pragma_table_",H="WHERE",J=(a,t)=>{const s=b(),l=(a,t)=>!E(_(_(s,a),t)),w=async(t,l,w,u,d)=>{const E=x();R(d??{},(a=>c(C(a),(a=>U(E,a)))));const v=p(E);if(r(v)&&T(s,t)&&u)return await a("DROP TABLE"+j(t)),void M(s,t);if(r(v)||T(s,t)){const e=_(s,t),n=x($(e));await A([...c(v,(async s=>{L(n,s)||(await a(`ALTER TABLE${j(t)}ADD${j(s)}`),M(e,s,""))})),...w?c(p(n),(async s=>{s!=l&&(await a(`ALTER TABLE${j(t)}DROP${j(s)}`),M(e,s))})):[]])}else await a(`CREATE TABLE${j(t)}(${j(l)} PRIMARY KEY ON CONFLICT REPLACE${n(c(v,(a=>e+j(a))))});`),M(s,t,b([[l,""],...c(v,(a=>[a,""]))]));if(r(v))T(s,t)&&await a("DELETE FROM"+j(t));else{const r=[],w=[],u=[],E=o($(_(s,t)),(a=>a!=l));R(d,((a,t)=>{var e;y(r,`(?${e=i(E),",?".repeat(e)})`),y(w,t,...c(E,(t=>a[t]))),y(u,t)})),await a("INSERT INTO"+j(t)+"("+j(l)+n(c(E,(a=>e+j(a))))+")VALUES"+n(r,e)+"ON CONFLICT("+j(l)+")DO UPDATE SET"+n(c(E,(a=>j(a)+"=excluded."+j(a))),e),w),await a("DELETE FROM"+j(t)+H+j(l)+"NOT IN("+Y(u)+")",u)}};return[async()=>P(s,O(await A(c(await a("SELECT name "+k+"list WHERE schema='main'AND type='table'AND name IN("+Y(t)+")",t),(async({name:t})=>[t,O(c(await a("SELECT name,type "+k+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>{return M(s,t,P((i=b,T(n=s,c=t)||M(n,c,i()),_(n,c)),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,c,i}),((a,t)=>M(s,t))),async(t,e)=>{const s=l(t,e)?await a(W+j(t)+H+j(e)+"=?",["_"]):[];return r(s)?null:f(s[0],e)},async(a,t,e,s)=>await w(a,t,!0,!0,{[e]:s}),async(t,e)=>l(t,e)?O(o(c(await a(W+j(t)),(a=>[a[e],f({...a},e)])),(([a,t])=>!E(a)&&!D(t)))):{},w]},Y=a=>n(c(a,(()=>"?")),e),q=(a,t,e,s,n)=>{let c,i,r,o=0,l=0,w=0;const u=[],d=async a=>(2!=o&&(o=1,await m.schedule((async()=>{await a(),o=0}))),m),m={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),w=1,r=s((async(e,s)=>await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}})))),m),stopAutoLoad:()=>(w&&(n(r),r=void 0,w=0),m),save:async t=>(1!=o&&(o=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch{}o=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(v(c,a.delListener),m),schedule:async(...a)=>(y(u,...a),await(async()=>{if(!l){for(l=1;!E((a=u,i=a.shift()));)try{await i()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return N(m)},z="store",K=(a,t,e,s,[n],c)=>{const[i,r,o]=J(t,c),l=q(a,(async()=>(await i(),u((await r(n,B)??{})[z]))),(async a=>l.schedule(i,(async()=>{var t;await o(n,B,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),e,s);return l},V=(a,t,e,s,[n,c,[i,r,l]],y)=>{const[w,u,d,v,m]=J(t,y);return q(a,(async()=>{await w();const a=await(async()=>O(o(await A(F(n,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>i?await u(l,B):{})();return D(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();await w(),await(async a=>await A(F(c,(async([t,e,s,n],c)=>await m(t,e,s,n,a[c])))))(t),await(async a=>r?await d(l,B,"_",a):null)(e)}),e,s)},G="json",Q="autoLoadIntervalSeconds",X="rowIdColumnName",Z="tableId",aa="tableName",ta={mode:G,[Q]:1},ea={load:0,save:0,[aa]:t+"_values"},sa=(a,t,e,s)=>{const n=b();return R(a,((a,c)=>{const i=l(I(S(t,m(a)?{[e]:a}:a)),0,g(t));E(i[0])||s(c,i[0])||M(n,c,i)})),n},na="pragma ",ca="data_version",ia="schema_version",ra=(a,e,s,n,c)=>{let i,r;const[o,y,w,u]=(a=>{const e=(a=>S(ta,m(a)?{storeTableName:a}:a??{}))(a),s=e[Q];if(e.mode==G){const{storeTableName:a=t}=e;return[1,s,[a],x(a)]}const{tables:{load:n={},save:c={}}={},values:i={}}=e,r=l(I(S(ea,i)),0,g(ea)),o=r[2],y=x(o);return[0,s,[sa(n,{[Z]:null,[X]:B},Z,(a=>U(y,a)&&a==o)),sa(c,{[aa]:null,[X]:B,deleteEmptyColumns:0,deleteEmptyTable:0},aa,((a,t)=>U(y,t)&&t==o)),r],y]})(e);return(o?K:V)(a,s,(a=>[setInterval((async()=>{try{const t=(await s(na+ca))[0][ca],e=(await s(na+ia))[0][ia];t==(i??=t)&&e==(r??=e)||(a(),i=t,r=e)}catch{}}),1e3*y),n((t=>u.has(t)?a():0))]),(([a,t])=>{clearInterval(a),i=r=null,c(t)}),w,p(u))};exports.createCrSqliteWasmPersister=(a,t,e)=>ra(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=JSON.parse,r=t=>null==t,
|
|
1
|
+
"use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=JSON.parse,r=(t,a)=>t instanceof a,n=t=>null==t,c=Object,o=c.keys,i=c.freeze,u=t=>(t=>r(t,c)&&t.constructor==c)(t)&&0==(t=>o(t).length)(t);exports.createFilePersister=(c,o)=>((s,c,y,d,w)=>{let l,v,h,p=0,f=0,A=0;const S=[],g=async t=>(2!=p&&(p=1,await L.schedule((async()=>{await t(),p=0}))),L),L={load:async(t,a)=>await g((async()=>{try{s.setContent(await c())}catch{s.setContent([t,a])}})),startAutoLoad:async(a={},e={})=>{return L.stopAutoLoad(),await L.load(a,e),A=1,r=async(t,a)=>await g((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await c())}catch{}})),h=t.watch(o,(()=>r())),L;var r},stopAutoLoad:()=>{return A&&(t=h,t?.close(),h=void 0,A=0),L;var t},save:async t=>(1!=p&&(p=2,await L.schedule((async()=>{try{await(async t=>{return await a.writeFile(o,(s=t(),JSON.stringify(s,((t,a)=>{return r(a,Map)?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),e);var s})(s.getContent)}catch{}p=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),l=s.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();u(e)&&u(s)||L.save((()=>[e,s]))})),L),stopAutoSave:()=>{var t,a;return t=l,a=s.delListener,n(t)||a(t),L},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(S,...t),await(async()=>{if(!f){for(f=1;!n((t=S,v=t.shift()));)try{await v()}catch{}f=0}var t})(),L),getStore:()=>s,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(L)})(c,(async()=>s(await a.readFile(o,e))));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=JSON.parse,a=t=>null==t,
|
|
1
|
+
"use strict";const t=JSON.parse,a=(t,a)=>t instanceof a,e=t=>null==t,s=Object,n=s.keys,r=s.freeze,o=t=>(t=>a(t,s)&&t.constructor==s)(t)&&0==(t=>n(t).length)(t),c=t=>t.headers.get("ETag");exports.createRemotePersister=(s,n,i,y)=>{let u;return((t,s,d,h,l)=>{let w,v,p,f=0,A=0,S=0;const g=[],C=async t=>(2!=f&&(f=1,await L.schedule((async()=>{await t(),f=0}))),L),L={load:async(a,e)=>await C((async()=>{try{t.setContent(await s())}catch{t.setContent([a,e])}})),startAutoLoad:async(a={},r={})=>{return L.stopAutoLoad(),await L.load(a,r),S=1,o=async(a,e)=>await C((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await s())}catch{}})),p=setInterval((async()=>{const t=await fetch(n,{method:"HEAD"}),a=c(t);e(u)||e(a)||a==u||(u=a,o())}),1e3*y),L;var o},stopAutoLoad:()=>(S&&(clearInterval(p),p=void 0,S=0),L),save:async e=>(1!=f&&(f=2,await L.schedule((async()=>{try{await(async t=>{return await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return a(e,Map)?(s=(t,[a,e])=>(t[a]=e,t),n={},[...e].reduce(s,n)):e;var s,n})))});var e})(t.getContent)}catch{}f=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),w=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();o(e)&&o(s)||L.save((()=>[e,s]))})),L),stopAutoSave:()=>{var a,s;return a=w,s=t.delListener,e(a)||s(a),L},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(g,...t),await(async()=>{if(!A){for(A=1;!e((t=g,v=t.shift()));)try{await v()}catch{}A=0}var t})(),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(L)})(s,(async()=>{const a=await fetch(n);return u=c(a),t(await a.text())}))};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),i=a=>a.length,o=a=>0==i(a),r=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,p=(a,t,e)=>E(a)?e?.():t(a),v=t=>a(t)==s,m=async a=>u.all(a),A=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),h=Object,N=h.keys,S=h.freeze,f=(a=[])=>h.fromEntries(a),C=(...a)=>h.assign({},...a),O=(a,t)=>(delete a[t],a),R=(a,t)=>c(h.entries(a),(([a,e])=>t(e,a))),_=a=>h.values(a),b=a=>i(N(a)),I=a=>(a=>d(a,h)&&a.constructor==h)(a)&&0==b(a),g=a=>new Map(a),D=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),M=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),F=(a,t,e)=>E(e)?(L(a,t),a):a?.set(t,e),P=(a,t,e,s=F)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>p(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),j="_id",k=a=>`"${a.replace(/"/g,'""')}"`,B=a=>new Set(Array.isArray(a)||E(a)?a:[a]),q=(a,t)=>a?.add(t),x="SELECT*FROM",W="FROM pragma_table_",H="WHERE",J=(a,t)=>{const s=g(),l=(a,t)=>!E($($(s,a),t)),u=async(t,l,u,w,d)=>{const E=B();R(d??{},(a=>c(N(a),(a=>q(E,a)))));const p=T(E);if(o(p)&&A(s,t)&&w)return await a("DROP TABLE"+k(t)),void F(s,t);if(o(p)||A(s,t)){const e=$(s,t),n=B(D(e));await m([...c(p,(async s=>{L(n,s)||(await a(`ALTER TABLE${k(t)}ADD${k(s)}`),F(e,s,""))})),...u?c(T(n),(async s=>{s!=l&&(await a(`ALTER TABLE${k(t)}DROP${k(s)}`),F(e,s))})):[]])}else await a(`CREATE TABLE${k(t)}(${k(l)} PRIMARY KEY ON CONFLICT REPLACE${n(c(p,(a=>e+k(a))))});`),F(s,t,g([[l,""],...c(p,(a=>[a,""]))]));if(o(p))A(s,t)&&await a("DELETE FROM"+k(t));else{const o=[],u=[],w=[],E=r(D($(s,t)),(a=>a!=l));R(d,((a,t)=>{var e;y(o,`(?${e=i(E),",?".repeat(e)})`),y(u,t,...c(E,(t=>a[t]))),y(w,t)})),await a("INSERT INTO"+k(t)+"("+k(l)+n(c(E,(a=>e+k(a))))+")VALUES"+n(o,e)+"ON CONFLICT("+k(l)+")DO UPDATE SET"+n(c(E,(a=>k(a)+"=excluded."+k(a))),e),u),await a("DELETE FROM"+k(t)+H+k(l)+"NOT IN("+U(w)+")",w)}};return[async()=>P(s,f(await m(c(await a("SELECT name "+W+"list WHERE schema='main'AND type='table'AND name IN("+U(t)+")",t),(async({name:t})=>[t,f(c(await a("SELECT name,type "+W+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>{return F(s,t,P((i=g,A(n=s,c=t)||F(n,c,i()),$(n,c)),e,((a,t,e)=>{e!=$(a,t)&&F(a,t,e)}),((a,t)=>F(a,t))));var n,c,i}),((a,t)=>F(s,t))),async(t,e)=>{const s=l(t,e)?await a(x+k(t)+H+k(e)+"=?",["_"]):[];return o(s)?null:O(s[0],e)},async(a,t,e,s)=>await u(a,t,!0,!0,{[e]:s}),async(t,e)=>l(t,e)?f(r(c(await a(x+k(t)),(a=>[a[e],O({...a},e)])),(([a,t])=>!E(a)&&!I(t)))):{},u]},U=a=>n(c(a,(()=>"?")),e),V=(a,t,e,s,n)=>{let c,i,o,r=0,l=0,u=0;const w=[],d=async a=>(2!=r&&(r=1,await v.schedule((async()=>{await a(),r=0}))),v),v={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),u=1,o=s((async(e,s)=>await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}})))),v),stopAutoLoad:()=>(u&&(n(o),o=void 0,u=0),v),save:async t=>(1!=r&&(r=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch{}r=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(p(c,a.delListener),v),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,i=a.shift()));)try{await i()}catch{}l=0}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return S(v)},Y="store",z=(a,t,e,s,[n],c)=>{const[i,o,r]=J(t,c),l=V(a,(async()=>(await i(),w((await o(n,j)??{})[Y]))),(async a=>l.schedule(i,(async()=>{var t;await r(n,j,"_",{[Y]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),e,s);return l},K=(a,t,e,s,[n,c,[i,o,l]],y)=>{const[u,w,d,p,v]=J(t,y);return V(a,(async()=>{await u();const a=await(async()=>f(r(await m(M(n,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>i?await w(l,j):{})();return I(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();await u(),await(async a=>await m(M(c,(async([t,e,s,n],c)=>await v(t,e,s,n,a[c])))))(t),await(async a=>o?await d(l,j,"_",a):null)(e)}),e,s)},G="json",Q="autoLoadIntervalSeconds",X="rowIdColumnName",Z="tableId",aa="tableName",ta={mode:G,[Q]:1},ea={load:0,save:0,[aa]:t+"_values"},sa=(a,t,e,s)=>{const n=g();return R(a,((a,c)=>{const i=l(_(C(t,v(a)?{[e]:a}:a)),0,b(t));E(i[0])||s(c,i[0])||F(n,c,i)})),n},na="pragma ",ca="data_version",ia="schema_version",oa=(a,e,s,n,c)=>{let i,o;const[r,y,u,w]=(a=>{const e=(a=>C(ta,v(a)?{storeTableName:a}:a??{}))(a),s=e[Q];if(e.mode==G){const{storeTableName:a=t}=e;return[1,s,[a],B(a)]}const{tables:{load:n={},save:c={}}={},values:i={}}=e,o=l(_(C(ea,i)),0,b(ea)),r=o[2],y=B(r);return[0,s,[sa(n,{[Z]:null,[X]:j},Z,(a=>q(y,a)&&a==r)),sa(c,{[aa]:null,[X]:j,deleteEmptyColumns:0,deleteEmptyTable:0},aa,((a,t)=>q(y,t)&&t==r)),o],y]})(e);return(r?z:K)(a,s,(a=>[setInterval((async()=>{try{const t=(await s(na+ca))[0][ca],e=(await s(na+ia))[0][ia];t==(i??=t)&&e==(o??=e)||(a(),i=t,o=e)}catch{}}),1e3*y),n((t=>w.has(t)?a():0))]),(([a,t])=>{clearInterval(a),i=o=null,c(t)}),u,T(w))};exports.createSqliteWasmPersister=(a,t,e,s)=>oa(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)));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),
|
|
1
|
+
"use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),r=a=>a.length,i=a=>0==r(a),o=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),w=Promise,u=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,A=async a=>w.all(a),T=(a,t)=>a?.has(t)??!1,p=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),h=Object,f=h.keys,N=h.freeze,S=(a=[])=>h.fromEntries(a),C=(...a)=>h.assign({},...a),O=(a,t)=>(delete a[t],a),R=(a,t)=>c(h.entries(a),(([a,e])=>t(e,a))),g=a=>h.values(a),I=a=>r(f(a)),D=a=>(a=>d(a,h)&&a.constructor==h)(a)&&0==I(a),b=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(L(a,t),a):a?.set(t,e),P=(a,t,e,s=M)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_id",j=a=>`"${a.replace(/"/g,'""')}"`,k=a=>new Set(Array.isArray(a)||E(a)?a:[a]),x=(a,t)=>a?.add(t),H="SELECT*FROM",J="FROM pragma_table_",U="WHERE",W=(a,t)=>{const s=b(),l=(a,t)=>!E(_(_(s,a),t)),w=async(t,l,w,u,d)=>{const E=k();R(d??{},(a=>c(f(a),(a=>x(E,a)))));const v=p(E);if(i(v)&&T(s,t)&&u)return await a("DROP TABLE"+j(t)),void M(s,t);if(i(v)||T(s,t)){const e=_(s,t),n=k($(e));await A([...c(v,(async s=>{L(n,s)||(await a(`ALTER TABLE${j(t)}ADD${j(s)}`),M(e,s,""))})),...w?c(p(n),(async s=>{s!=l&&(await a(`ALTER TABLE${j(t)}DROP${j(s)}`),M(e,s))})):[]])}else await a(`CREATE TABLE${j(t)}(${j(l)} PRIMARY KEY ON CONFLICT REPLACE${n(c(v,(a=>e+j(a))))});`),M(s,t,b([[l,""],...c(v,(a=>[a,""]))]));if(i(v))T(s,t)&&await a("DELETE FROM"+j(t));else{const i=[],w=[],u=[],E=o($(_(s,t)),(a=>a!=l));R(d,((a,t)=>{var e;y(i,`(?${e=r(E),",?".repeat(e)})`),y(w,t,...c(E,(t=>a[t]))),y(u,t)})),await a("INSERT INTO"+j(t)+"("+j(l)+n(c(E,(a=>e+j(a))))+")VALUES"+n(i,e)+"ON CONFLICT("+j(l)+")DO UPDATE SET"+n(c(E,(a=>j(a)+"=excluded."+j(a))),e),w),await a("DELETE FROM"+j(t)+U+j(l)+"NOT IN("+Y(u)+")",u)}};return[async()=>P(s,S(await A(c(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+Y(t)+")",t),(async({name:t})=>[t,S(c(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>{return M(s,t,P((r=b,T(n=s,c=t)||M(n,c,r()),_(n,c)),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,c,r}),((a,t)=>M(s,t))),async(t,e)=>{const s=l(t,e)?await a(H+j(t)+U+j(e)+"=?",["_"]):[];return i(s)?null:O(s[0],e)},async(a,t,e,s)=>await w(a,t,!0,!0,{[e]:s}),async(t,e)=>l(t,e)?S(o(c(await a(H+j(t)),(a=>[a[e],O({...a},e)])),(([a,t])=>!E(a)&&!D(t)))):{},w]},Y=a=>n(c(a,(()=>"?")),e),q=(a,t,e,s,n)=>{let c,r,i,o=0,l=0,w=0;const u=[],d=async a=>(2!=o&&(o=1,await m.schedule((async()=>{await a(),o=0}))),m),m={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),w=1,i=s((async(e,s)=>await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}})))),m),stopAutoLoad:()=>(w&&(n(i),i=void 0,w=0),m),save:async t=>(1!=o&&(o=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch{}o=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(v(c,a.delListener),m),schedule:async(...a)=>(y(u,...a),await(async()=>{if(!l){for(l=1;!E((a=u,r=a.shift()));)try{await r()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return N(m)},z="store",K=(a,t,e,s,[n],c)=>{const[r,i,o]=W(t,c),l=q(a,(async()=>(await r(),u((await i(n,B)??{})[z]))),(async a=>l.schedule(r,(async()=>{var t;await o(n,B,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),e,s);return l},V=(a,t,e,s,[n,c,[r,i,l]],y)=>{const[w,u,d,v,m]=W(t,y);return q(a,(async()=>{await w();const a=await(async()=>S(o(await A(F(n,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>r?await u(l,B):{})();return D(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();await w(),await(async a=>await A(F(c,(async([t,e,s,n],c)=>await m(t,e,s,n,a[c])))))(t),await(async a=>i?await d(l,B,"_",a):null)(e)}),e,s)},G="json",Q="autoLoadIntervalSeconds",X="rowIdColumnName",Z="tableId",aa="tableName",ta={mode:G,[Q]:1},ea={load:0,save:0,[aa]:t+"_values"},sa=(a,t,e,s)=>{const n=b();return R(a,((a,c)=>{const r=l(g(C(t,m(a)?{[e]:a}:a)),0,I(t));E(r[0])||s(c,r[0])||M(n,c,r)})),n},na="pragma ",ca="data_version",ra="schema_version",ia=(a,e,s,n,c)=>{let r,i;const[o,y,w,u]=(a=>{const e=(a=>C(ta,m(a)?{storeTableName:a}:a??{}))(a),s=e[Q];if(e.mode==G){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:c={}}={},values:r={}}=e,i=l(g(C(ea,r)),0,I(ea)),o=i[2],y=k(o);return[0,s,[sa(n,{[Z]:null,[X]:B},Z,(a=>x(y,a)&&a==o)),sa(c,{[aa]:null,[X]:B,deleteEmptyColumns:0,deleteEmptyTable:0},aa,((a,t)=>x(y,t)&&t==o)),i],y]})(e);return(o?K:V)(a,s,(a=>[setInterval((async()=>{try{const t=(await s(na+ca))[0][ca],e=(await s(na+ra))[0][ra];t==(r??=t)&&e==(i??=e)||(a(),r=t,i=e)}catch{}}),1e3*y),n((t=>u.has(t)?a():0))]),(([a,t])=>{clearInterval(a),r=i=null,c(t)}),w,p(u))},oa="change";exports.createSqlite3Persister=(a,t,e)=>ia(a,e,((a,e=[])=>new w(((s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a}))))))))),(a=>{const e=(t,e,s)=>a(s);return t.on(oa,e),e}),(a=>t.off(oa,a)));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t=require("yjs");const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=o.freeze,
|
|
1
|
+
"use strict";var t=require("yjs");const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,c=o.keys,r=o.freeze,i=(t=[])=>o.fromEntries(t),u=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),d=t=>(t=>t instanceof o&&t.constructor==o)(t)&&0==(t=>e(c(t)))(t),g=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),y=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),v="t",h="delete",p=t=>[t.get(v),t.get("v")],w=(e,a,n,o)=>{const c=s(a)?e:e.get(a)??e.set(a,new t.Map);let r;return l(n,((t,e)=>{o(c,e,t)&&(r=1)})),c.forEach(((t,e)=>{u(n,e)||(c.delete(e),r=1)})),s(a)||c.size||e.delete(a),r};exports.createYjsPersister=(o,c,u="tinybase")=>{const f=c.getMap(u);return((o,u,S,A,O)=>{let J,L,N,C=0,b=0,z=0;const E=[],M=async t=>(2!=C&&(C=1,await j.schedule((async()=>{await t(),C=0}))),j),j={load:async(t,e)=>await M((async()=>{try{o.setContent(await u())}catch{o.setContent([t,e])}})),startAutoLoad:async(t={},s={})=>(j.stopAutoLoad(),await j.load(t,s),z=1,N=(t=>{const s=s=>t(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[c,r]=p(t),u={},l={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==v?n(a(t),(s=>{const o=g(u,s,i),r=c.get(s);n(a(t),(t=>{const a=g(o,t,i),s=r.get(t);y(e,((t,{action:e})=>a[t]=e==h?null:s.get(t)))}),(()=>y(e,((t,{action:e})=>o[t]=e==h?null:r.get(t)?.toJSON()))))}),(()=>y(e,((t,{action:e})=>u[t]=e==h?null:c.get(t)?.toJSON())))):y(e,((t,{action:e})=>l[t]=e==h?null:r.get(t)))))})(s),[u,l]})(f,s)));return f.observeDeep(s),s})((async(t,e)=>await M((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await u())}catch{}})))),j),stopAutoLoad:()=>{return z&&(t=N,f.unobserveDeep(t),N=void 0,z=0),j;var t},save:async e=>(1!=C&&(C=2,await j.schedule((async()=>{try{await(async(e,a)=>c.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(v,new t.Map),e.set("v",new t.Map))})(e);const[c,r]=p(e),i=()=>{u=1};let u=1;if(n(o?.(),(([t,e])=>{u=0,l(t,((t,e)=>u?0:s(t)?c.delete(e):n(c.get(e),(e=>l(t,((t,a)=>u?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>u?0:s(t)?r.delete(e):r.set(e,t)))})),u){const[t,e]=a();w(c,void 0,t,((t,e,a)=>w(c,e,a,((t,e,a)=>w(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),w(r,void 0,e,((t,e,a)=>{r.get(e)!==a&&r.set(e,a)}))}})(f,e,a))))(o.getContent,e)}catch{}C=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),J=o.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();d(a)&&d(s)||j.save((()=>[a,s]))})),j),stopAutoSave:()=>(n(J,o.delListener),j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(E,...t),await(async()=>{if(!b){for(b=1;!s(L=a(E));)try{await L()}catch{}b=0}})(),j),getStore:()=>o,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(j)})(o,(async()=>f.size?[f.get(v).toJSON(),f.get("v").toJSON()]:void 0))};
|
|
Binary file
|
package/lib/cjs/persisters.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=t=>null==t,a=Object.freeze;exports.createCustomPersister=(s,
|
|
1
|
+
"use strict";const t=t=>null==t,a=Object,s=a.keys,e=a.freeze,n=t=>(t=>t instanceof a&&t.constructor==a)(t)&&0==(t=>s(t).length)(t);exports.createCustomPersister=(a,s,o,c,r)=>{let i,u,y,d=0,h=0,w=0;const l=[],v=async t=>(2!=d&&(d=1,await p.schedule((async()=>{await t(),d=0}))),p),p={load:async(t,e)=>await v((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(p.stopAutoLoad(),await p.load(t,e),w=1,y=c((async(t,e)=>await v((async()=>{if(e)a.setTransactionChanges(e());else try{a.setContent(t?.()??await s())}catch{}})))),p),stopAutoLoad:()=>(w&&(r(y),y=void 0,w=0),p),save:async t=>(1!=d&&(d=2,await p.schedule((async()=>{try{await o(a.getContent,t)}catch{}d=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),i=a.addDidFinishTransactionListener(((t,a)=>{const[s,e]=a();n(s)&&n(e)||p.save((()=>[s,e]))})),p),stopAutoSave:()=>{var s,e;return s=i,e=a.delListener,t(s)||e(s),p},schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(l,...a),await(async()=>{if(!h){for(h=1;!t((a=l,u=a.shift()));)try{await u()}catch{}h=0}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(p)};
|
|
Binary file
|
package/lib/cjs/tinybase.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,S="Sorted"+L+u,v="Cell",R=v+u,I="Value",T=I+"s",p=I+u,C=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),x=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),k=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,j=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>k(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(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))),Se=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),ve=(e,t,s)=>(le(e,t)||Se(e,t,s()),Le(e,t)),Re=(e,t,s,n=Se)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Ie=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Te=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),oe),pe=(e,t,s)=>Ie(e,(e=>Te(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},ye=e=>Ce(e,Ce),be=e=>Ce(e,ye),Ve=(e,t,s,n,a=0)=>G((s?ve:Le)(e,t[a],a>D(t)-2?s:ge),(o=>{if(a>D(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&Se(e,t[a]),r})),me=t=>{const s=e(t);return H(s)||s==a&&B(t)?s:void 0},xe=(e,t,s,n,a)=>q(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=ve(i,t,ke);return E(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{E(J(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Se(i,t)})),u=(e,s)=>{Se(a,e,s),le(o,e)||(Se(o,e,t()),Se(r,e,ge()),Se(l,e,ge()))},h=e=>{Se(a,e),Se(o,e),Se(r,e),Se(l,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>le(o,e),e=>Le(a,e),e=>Le(o,e),(e,t)=>Se(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=Le(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||Se(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Se(f,t,s)}},v=e=>{o((()=>{ue(g,(([,e],t)=>Se(L,t,e))),ue(f,((e,t)=>Se(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,S),e.hasTable(a)&&E(e.getRowIds(a),(e=>{le(L,e)||S(e)})),v(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>v())))},h,()=>we(i,h),c,d]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),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 s=0;return[n=>(n?N(e):null)??t+s++,t=>{Fe.test(t)&&D(e)<1e3&&Q(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Se(o,d,[a,r,l,i,c]),Me(Ve(r,l??[t],ke),d),d},(e,n,...a)=>E(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?Q(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):E([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>G(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),Se(o,e),a(e),n))),e=>G(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=D(r);l==D(t)?e(s,...r,...a(r)):q(t[l])?E(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=Ae((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>P)),f=ge(),L=ge(),w=[],S=[],v=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>xe(e,n,a,o,s[t]))))))),ue(a,((s,n)=>Ee(e,n,s[t])))})),i=1},R=e=>{Se(f,e),Se(L,e),h(d,[e])},I=(e,t)=>E(((e,t)=>e.splice(0,t))(e,t??D(e)),R),T=()=>I(w,D(w)-o),p=()=>G(s,(()=>{Q(w,s),T(),I(S),s=void 0,a=1})),C=()=>{s=z(w),a=1},b=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=ve(r,t,ge),l=ve(e,s,ge),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(Se(l,n))&&ie(Se(e,s))&&ie(Se(r,t))&&C(),M()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Se(l,t))&&C(),M()}})),m=(e="")=>(q(s)&&(s=t+n++,Se(f,s,[r,l]),F(s,e),r=ge(),l=ge(),a=1),s),x=()=>{J(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),v(0,s),s=z(w),a=1)},k=()=>{J(S)||(Q(w,s),s=N(S),v(1,s),a=1)},M=()=>{a&&(h(c),a=0)},A=e=>{const t=m(e);return M(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(Se(L,e,t),h(d,[e])),P),O=e=>le(f,e),P={setSize:e=>(o=e,T(),P),addCheckpoint:A,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...S]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(x(),M(),P),goForward:()=>(k(),M(),P),goTo:e=>{const t=y(w,e)?x:y(S,e)?k:null;for(;!q(t)&&e!=s;)t();return M(),P},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),P),clear:()=>(I(w),I(S),q(s)||R(s),s=void 0,n=0,A(),P),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(P.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Ae((e=>{const s=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>q(e)?t:U(e)?k(e,C):C(e))),[f,L,w]=ze((()=>v)),S=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,o,r,l=Oe)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,a,r,u,h,g)=>{let f=0;const w=ke(),S=ke(),v=c(e);if(ue(a,(([e,t],s)=>{const n=ke(e),a=ke(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),G(Le(v,e),(t=>{he(t,s),ie(t)&&(Se(v,e),f=1)}))})),ue(a,(e=>{Me(w,e),le(v,e)||(Se(v,e,ke()),f=1),Me(Le(v,e),s),q(o)||Me(S,e)}))})),t(),ie(h)||(g?we(v,(e=>Me(S,e))):we(r,(e=>G(Le(u,e),(e=>Me(S,e))))),ue(S,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(v,e)];m(s,t)||(Se(v,e,ke(x(s,t))),Me(w,e))}))),(f||g)&&!q(i)){const t=[...v];m(t,i)||(d(e,ge(x(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Je(a),G(o,Je)),v},delIndexDefinition:e=>(h(e),v),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),v),destroy:g,getListenerStats:()=>({})};return ee(v)})),je=ge([["avg",[(e,t)=>M(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=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=q(e),ue(n,(([s,n])=>{o||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=q(e))})),o?r(ce(s),re(s)):e},Be=Ae((e=>{const s=ge(),[n,a,o,r,l,i,c,,d,u,h]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,t,n,a,o,r,l)=>{const u=K(n)?[n,o,r,l]:Le(je,n)??Le(je,"sum");return d(e,t,((t,n,a,o,r,l)=>{const d=i(e),h=re(o);l||=q(d),t();let g=We(d,h,o,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Je(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),$e=Ae((e=>{const s=e.createStore,[n,a,o,r,l,,,u,,g,f,I,T]=De(e,(()=>!0),X),p=s(),C=s(),y=ge(),V=(e,t,...s)=>E(s,(s=>Me(ve(ve(y,t,ge),e,ke),s))),m=e=>{G(Le(y,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),E([C,p],(t=>t.delTable(e)))},x=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];a({select:(e,s)=>{const n=K(e)?[D(o)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,a=q(n)?t:s,o=[e,[e,n,K(a)?a:e=>e(a),[],ge()]];return Q(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,K(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return Q(i,o),{as:e=>o[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(o);if(ie(d))return k;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=p;if(ie(g)&&J(c))f=C;else{x(s,f,C);const e=ge();we(g,((t,[s,n])=>Me(ve(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Me(t,s)));const n=ge(),a=(t,n,a,o)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=ve(r,t,ge),l=Le(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=re(n);Se(n,a,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],o,n,s,t);d[e]=q(me(a))?null:a}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);Q(c,n),Q(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&Se(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&a(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}x(s,e,f);const L=(t,a,o,r)=>{const i=t=>e.getCell(a,o,t);E(r,(n=>{const[a,,o,r,l]=Le(h,n),c=o?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||T(s,u),Se(l,t,q(c)?null:[c,...I(s,1,e.addRowListener(a,c,(()=>L(t,a,c,r))))]))})),(t=>{const a=(s,a)=>e.getCell(...q(a)?[n,t,s]:s===n?[n,t,a]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],a]);f.transaction((()=>b(l,(e=>e(a)))?we(d,((e,n)=>xe(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>I(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?L(o,n,o,w):(f.delRow(s,o),ue(h,(({4:e})=>G(Le(e,o),(([,t])=>{T(s,t),Se(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),g(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(C.delListener(e),k),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return ae({[h]:[1,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{E(e?["get","has","forEach"]:["get"],(e=>k[e+c+s]=(...t)=>C[e+s](...t))),k[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](k,...n)))})),ee(k)})),qe=Ae((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,S]=ze((()=>T)),v=(e,t,s)=>G(u(e),(([n,,a])=>{if(!le(a,t)){const o=ke();if(d(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!le(o,e);)Me(o,e),e=Le(n,e)}if(s)return o;Se(a,t,o)}return Le(a,t)})),R=(e,t)=>G(u(e),(([,,e])=>Se(e,t))),I=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(Se(s,e,r),h(e,t,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(Me(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&Se(d,t)}))),q(s)||(Me(l,s),le(d,s)||Se(d,s,ke()),Me(Le(d,s),n)),Me(r,n),Se(c,n,s),we(Le(o,e),(t=>{le(v(e,t),n)&&Me(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(a,[e,t]))),ue(i,(t=>{R(e,t),w(o,[e,t])}))}),Je(l)),T),delRelationshipDefinition:e=>(Se(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,o,[e,t])),delListener:e=>(R(...S(e)),T),destroy:f,getListenerStats:()=>({})};return ee(T)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),Ye=(e,t,s)=>Se(e,t,Le(e,t)==-s?void 0:s),Ze=()=>{let e,t,s=!1,n=!1,o=0;const c=ge(),u=ge(),S=ge(),b=ge(),m=ge(),M=ge(),D=ge(),J=ge(),A=ge(),z=ge(),N=ge(),j=ge(),W=ge(),B=ke(),$=ge(),U=ge(),X=ge(),Y=ge(),Z=He(),_=He(),te=He(),re=He(),ce=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),Pe=He(),je=He(),We=He(),Be=ge(),$e=He(),[qe,_e,et,tt]=ze((()=>fs)),st=e=>{if(!Xe(e,((e,t)=>y([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},nt=(t,s)=>(!e||le(z,s)||Jt(s))&&Xe(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Xe(n?s:it(s,e,t),((n,a)=>G(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?G(Le(Le(z,t),n),(e=>me(a)!=e[r]?Jt(t,s,n,a,e[l]):a),(()=>Jt(t,s,n,a))):q(me(a))?Jt(t,s,n,a):a,rt=(e,t)=>Xe(t?e:ct(e),((t,s)=>G(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?G(Le(j,e),(t=>me(s)!=t[r]?At(e,s,t[l]):s),(()=>At(e,s))):q(me(s))?At(e,s):s,it=(e,t,s)=>(G(Le(N,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(ue(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(B,(t=>{se(e,t)||At(t)}))),e),dt=e=>Re(z,e,((e,t,s)=>{const n=ge(),a=ke();Re(ve(z,t,ge),s,((e,t,s)=>{Se(e,t,s),G(s[l],(e=>Se(n,t,e)),(()=>Me(a,t)))})),Se(N,t,[n,a])}),((e,t)=>{Se(z,t),Se(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Se(j,t,s),G(s[l],(e=>Se(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{Se(j,t),Se(W,t),he(B,t)})),ht=e=>oe(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>Ct(t))),ft=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Se($,e,Qe()),Se(U,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>yt(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(xt(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{le(s,n)||Et(e,t,n,1);const o=Le(s,n);a!==o&&(kt(e,t,n,o,a),Se(s,n,a))},St=(e,t,s,n,a)=>G(Le(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),vt=e=>oe(e)?is():ts(e),Rt=e=>Re(Y,e,((e,t,s)=>It(t,s)),((e,t)=>Vt(t))),It=(e,t)=>{le(Y,e)||Mt(e,1);const s=Le(Y,e);t!==s&&(Dt(e,s,t),Se(Y,e,t))},Tt=(e,t)=>{const[s]=Le($,e),n=s(t);return le(Le(X,e),n)?Tt(e,t):n},pt=e=>Le(X,e)??ft(e,{}),Ct=e=>ft(e,{}),yt=(e,t,s)=>{const[,n]=Le($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=Le(Le(N,e)?.[0],a);if(!q(r)&&!o)return wt(e,s,n,a,r);const l=t=>{kt(e,s,t,Le(n,t)),Et(e,s,t,-1),Se(n,t)};q(r)?l(a):we(n,l),ie(n)&&(xt(e,s,-1),ie(Se(t,s))&&(mt(e,-1),Se(X,e),Se($,e),Se(U,e)))},Vt=e=>{const t=Le(W,e);if(!q(t))return It(e,t);Dt(e,Le(Y,e)),Mt(e,-1),Se(Y,e)},mt=(e,t)=>Ye(c,e,t),xt=(e,t,s)=>Ye(ve(S,e,ge),t,s),Et=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ye(ve(u,e,ge),s,n),Se(a,s,o!=-n?o+n:null),Ye(ve(ve(b,e,ge),t,ge),s,n)},kt=(e,t,s,n,a)=>ve(ve(ve(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Mt=(e,t)=>Ye(M,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(Q(ve(ve(ve(J,e,ge),t,ge),s,(()=>[])),n),a),At=(e,t,s)=>(Q(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>G(Le(Le(Le(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Xt(e,t,s))])),Qt=e=>G(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(_t(e))])),zt=e=>ie(J)||ie(Fe[e])?0:ue(e?be(J):J,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>_e(Fe[e],[s,n,a],t))))))),Nt=e=>ie(A)||ie(Ne[e])?0:ue(e?Ce(A):A,((t,s)=>_e(Ne[e],[s],t))),Ot=(e,t,s)=>{if(!ie(t))return _e(e,s,(()=>Ie(t))),1},Pt=e=>{const t=ie(Ve[e]),s=ie(Je[e])&&ie(re[e])&&ie(ce[e])&&t&&ie(_[e]),n=ie(Ae[e])&&ie(De[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[Ce(c),ye(u),ye(S),be(b),be(m)]:[c,u,S,b,m];if(!s){Ot(_[e],a[0]),ue(a[1],((t,s)=>Ot(re[e],t,[s])));const s=ke();ue(a[2],((n,a)=>{Ot(ce[e],n,[a])&&!t&&(_e(Ve[e],[a,null]),Me(s,a))})),t||ue(a[4],((t,n)=>{if(!le(s,n)){const s=ke();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?Me(s,a):he(e,a))))),ue(s,(t=>_e(Ve[e],[n,t])))}})),ue(a[3],((t,s)=>ue(t,((t,n)=>Ot(Je[e],t,[s,n])))))}if(!n){let t;ue(a[4],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(_e(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&_e(De[e],[n,o],Ft)})),a&&_e(te[e],[n],Ft)})),t&&_e(Z[e],void 0,Ft)}}},jt=e=>{const t=ie(je[e]),s=ie(We[e])&&ie(Pe[e]);if(!t||!s){const n=e?[Ce(M),Ce(D)]:[M,D];if(t||Ot(je[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(_e(We[e],[a],n,s,Qt),t=1)})),t&&_e(Pe[e],void 0,Qt)}}},Wt=(e,...t)=>(us((()=>e(...k(t,C)))),fs),Bt=()=>[Ie(m,((e,t)=>-1===Le(c,t)?null:Ie(e,((e,s)=>-1===Le(Le(S,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Ue(t)))),oe)),oe),Ie(D,(([,e])=>e??null),((e,t)=>Ue(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(m,Ke,Ue),invalidCells:pe(J),changedValues:Ie(D,Ke,Ue),invalidValues:Ie(A),changedTableIds:Ie(c),changedRowIds:Te(S),changedCellIds:pe(b),changedValueIds:Ie(M)}),qt=()=>pe(X),Gt=()=>fe(X),Ht=e=>fe(Le(X,C(e))),Kt=(e,t,s,n=0,a)=>{return k(F(x((o=Le(X,C(e)),r=(e,s)=>[q(t)?s:Le(e,C(t)),s],k([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,q(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(Le(Le(X,C(e)),C(t))),Xt=(e,t,s)=>Le(Le(Le(X,C(e)),C(t)),C(s)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>Le(Y,C(e)),es=e=>Wt((()=>(e=>Xe(e,nt,Jt))(e)?gt(e):0)),ts=e=>Wt((()=>rt(e)?Rt(e):0)),ss=e=>{try{ht(P(e))}catch{}return fs},ns=t=>Wt((()=>{if((e=Xe(t,(e=>Xe(e,st))))&&(dt(t),!ie(X))){const e=qt();os(),es(e)}})),as=e=>Wt((()=>{if(t=(e=>Xe(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Wt((()=>gt({}))),rs=e=>Wt((e=>le(X,e)?Ct(e):0),e),ls=(e,t)=>Wt(((e,t)=>G(Le(X,e),(s=>le(s,t)?yt(e,s,t):0))),e,t),is=()=>Wt((()=>Rt({}))),cs=()=>Wt((()=>{dt({}),e=!1})),ds=()=>Wt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=o){hs();const s=e();return gs(t),s}},hs=()=>(-1!=o&&o++,1==o&&_e(Be,void 0,Bt,$t),fs),gs=e=>(o>0&&(o--,0==o&&(s=!ie(m),n=!ie(D),o=1,zt(1),s&&Pt(1),Nt(1),n&&jt(1),e?.(Bt,$t)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>xe(fs,t,s,n,e))))))),ue(D,(([e],t)=>Ee(fs,t,e))),s=n=!1),_e($e[0],void 0,Bt,$t),o=-1,zt(0),s&&Pt(0),Nt(0),n&&jt(0),_e($e[1],void 0,Bt,$t),o=0,s=n=!1,E([c,u,S,b,m,J,M,D,A],de))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Te(Le(X,C(e))),getTableCellIds:e=>fe(Le(U,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ie(X),hasTable:e=>le(X,C(e)),hasTableCell:(e,t)=>le(Le(U,C(e)),C(t)),hasRow:(e,t)=>le(Le(X,C(e)),C(t)),hasCell:(e,t,s)=>le(Le(Le(X,C(e)),C(t)),C(s)),hasValues:()=>!ie(Y),hasValue:e=>le(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(z),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([z,j]),setContent:([e,t])=>Wt((()=>{(oe(e)?os:es)(e),(oe(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Wt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>at(e,t,s)?Lt(e,pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,pt(e),n=Tt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(at(e,t,s,1)){const n=pt(e);ae(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Wt(((e,t,s)=>G(ot(e,t,s,K(n)?n(Xt(e,t,s)):n),(n=>St(e,pt(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Wt((()=>rt(e,1)?ae(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(lt(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ae(e[0],((e,t)=>q(e)?rs(t):ae(e,((e,s)=>q(e)?ls(t,s):ae(e,((e,n)=>xe(fs,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{vt(P(e))}catch{}return fs},setJson:e=>{try{const[t,s]=P(e);ht(t),vt(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Wt(((e,t,s)=>G(Le(X,e),(a=>G(Le(a,t),(o=>le(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>le(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Wt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,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,C(e)),t),forEachRow:(e,t)=>ue(Le(X,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,C(e)),C(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);V(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:Ze};return ae({[g]:[0,Z],[f]:[0,_],[h]:[1,te,[Gt]],[h+R]:[1,re,[Gt]],[w]:[1,ce,[Gt]],[L]:[2,De,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>Ge(Xt(...e))],InvalidCell:[3,Fe],[T]:[0,Pe],[p]:[0,je],[I]:[1,We,[Zt],e=>Ge(_t(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],a)=>{fs[d+a+i]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(fs)};exports.createCheckpoints=Ne,exports.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>{2!=i&&(i=1,await e(),i=0)},g={load:async(s,n)=>(await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),g),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>{await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(await g.schedule((async()=>{if(1!=i){i=2;try{await s(e.getContent,t)}catch{}i=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const s=t();g.save((()=>s))})),g),stopAutoSave:()=>(G(o,e.delListener),g),schedule:async(...e)=>(Q(u,...e),await(async()=>{if(!c){for(c=1;!q(r=N(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},exports.createIndexes=Pe,exports.createMetrics=Be,exports.createQueries=$e,exports.createRelationships=qe,exports.createStore=Ze,exports.defaultSorter=Oe;
|
|
1
|
+
"use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,S="Sorted"+L+u,v="Cell",R=v+u,I="Value",T=I+"s",p=I+u,C=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),x=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),k=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,j=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>k(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(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))),Se=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),ve=(e,t,s)=>(le(e,t)||Se(e,t,s()),Le(e,t)),Re=(e,t,s,n=Se)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Ie=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Te=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),oe),pe=(e,t,s)=>Ie(e,(e=>Te(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},ye=e=>Ce(e,Ce),be=e=>Ce(e,ye),Ve=(e,t,s,n,a=0)=>G((s?ve:Le)(e,t[a],a>D(t)-2?s:ge),(o=>{if(a>D(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&Se(e,t[a]),r})),me=t=>{const s=e(t);return H(s)||s==a&&B(t)?s:void 0},xe=(e,t,s,n,a)=>q(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=ve(i,t,ke);return E(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{E(J(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Se(i,t)})),u=(e,s)=>{Se(a,e,s),le(o,e)||(Se(o,e,t()),Se(r,e,ge()),Se(l,e,ge()))},h=e=>{Se(a,e),Se(o,e),Se(r,e),Se(l,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>le(o,e),e=>Le(a,e),e=>Le(o,e),(e,t)=>Se(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=Le(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||Se(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Se(f,t,s)}},v=e=>{o((()=>{ue(g,(([,e],t)=>Se(L,t,e))),ue(f,((e,t)=>Se(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,S),e.hasTable(a)&&E(e.getRowIds(a),(e=>{le(L,e)||S(e)})),v(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>v())))},h,()=>we(i,h),c,d]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),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 s=0;return[n=>(n?N(e):null)??t+s++,t=>{Fe.test(t)&&D(e)<1e3&&Q(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Se(o,d,[a,r,l,i,c]),Me(Ve(r,l??[t],ke),d),d},(e,n,...a)=>E(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?Q(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):E([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>G(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),Se(o,e),a(e),n))),e=>G(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=D(r);l==D(t)?e(s,...r,...a(r)):q(t[l])?E(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=Ae((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>P)),f=ge(),L=ge(),w=[],S=[],v=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>xe(e,n,a,o,s[t]))))))),ue(a,((s,n)=>Ee(e,n,s[t])))})),i=1},R=e=>{Se(f,e),Se(L,e),h(d,[e])},I=(e,t)=>E(((e,t)=>e.splice(0,t))(e,t??D(e)),R),T=()=>I(w,D(w)-o),p=()=>G(s,(()=>{Q(w,s),T(),I(S),s=void 0,a=1})),C=()=>{s=z(w),a=1},b=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=ve(r,t,ge),l=ve(e,s,ge),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(Se(l,n))&&ie(Se(e,s))&&ie(Se(r,t))&&C(),M()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Se(l,t))&&C(),M()}})),m=(e="")=>(q(s)&&(s=t+n++,Se(f,s,[r,l]),F(s,e),r=ge(),l=ge(),a=1),s),x=()=>{J(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),v(0,s),s=z(w),a=1)},k=()=>{J(S)||(Q(w,s),s=N(S),v(1,s),a=1)},M=()=>{a&&(h(c),a=0)},A=e=>{const t=m(e);return M(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(Se(L,e,t),h(d,[e])),P),O=e=>le(f,e),P={setSize:e=>(o=e,T(),P),addCheckpoint:A,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...S]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(x(),M(),P),goForward:()=>(k(),M(),P),goTo:e=>{const t=y(w,e)?x:y(S,e)?k:null;for(;!q(t)&&e!=s;)t();return M(),P},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),P),clear:()=>(I(w),I(S),q(s)||R(s),s=void 0,n=0,A(),P),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(P.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Ae((e=>{const s=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>q(e)?t:U(e)?k(e,C):C(e))),[f,L,w]=ze((()=>v)),S=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,o,r,l=Oe)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,a,r,u,h,g)=>{let f=0;const w=ke(),S=ke(),v=c(e);if(ue(a,(([e,t],s)=>{const n=ke(e),a=ke(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),G(Le(v,e),(t=>{he(t,s),ie(t)&&(Se(v,e),f=1)}))})),ue(a,(e=>{Me(w,e),le(v,e)||(Se(v,e,ke()),f=1),Me(Le(v,e),s),q(o)||Me(S,e)}))})),t(),ie(h)||(g?we(v,(e=>Me(S,e))):we(r,(e=>G(Le(u,e),(e=>Me(S,e))))),ue(S,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(v,e)];m(s,t)||(Se(v,e,ke(x(s,t))),Me(w,e))}))),(f||g)&&!q(i)){const t=[...v];m(t,i)||(d(e,ge(x(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Je(a),G(o,Je)),v},delIndexDefinition:e=>(h(e),v),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),v),destroy:g,getListenerStats:()=>({})};return ee(v)})),je=ge([["avg",[(e,t)=>M(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=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=q(e),ue(n,(([s,n])=>{o||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=q(e))})),o?r(ce(s),re(s)):e},Be=Ae((e=>{const s=ge(),[n,a,o,r,l,i,c,,d,u,h]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,t,n,a,o,r,l)=>{const u=K(n)?[n,o,r,l]:Le(je,n)??Le(je,"sum");return d(e,t,((t,n,a,o,r,l)=>{const d=i(e),h=re(o);l||=q(d),t();let g=We(d,h,o,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Je(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),$e=Ae((e=>{const s=e.createStore,[n,a,o,r,l,,,u,,g,f,I,T]=De(e,(()=>!0),X),p=s(),C=s(),y=ge(),V=(e,t,...s)=>E(s,(s=>Me(ve(ve(y,t,ge),e,ke),s))),m=e=>{G(Le(y,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),E([C,p],(t=>t.delTable(e)))},x=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];a({select:(e,s)=>{const n=K(e)?[D(o)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,a=q(n)?t:s,o=[e,[e,n,K(a)?a:e=>e(a),[],ge()]];return Q(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,K(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return Q(i,o),{as:e=>o[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(o);if(ie(d))return k;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=p;if(ie(g)&&J(c))f=C;else{x(s,f,C);const e=ge();we(g,((t,[s,n])=>Me(ve(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Me(t,s)));const n=ge(),a=(t,n,a,o)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=ve(r,t,ge),l=Le(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=re(n);Se(n,a,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],o,n,s,t);d[e]=q(me(a))?null:a}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);Q(c,n),Q(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&Se(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&a(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}x(s,e,f);const L=(t,a,o,r)=>{const i=t=>e.getCell(a,o,t);E(r,(n=>{const[a,,o,r,l]=Le(h,n),c=o?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||T(s,u),Se(l,t,q(c)?null:[c,...I(s,1,e.addRowListener(a,c,(()=>L(t,a,c,r))))]))})),(t=>{const a=(s,a)=>e.getCell(...q(a)?[n,t,s]:s===n?[n,t,a]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],a]);f.transaction((()=>b(l,(e=>e(a)))?we(d,((e,n)=>xe(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>I(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?L(o,n,o,w):(f.delRow(s,o),ue(h,(({4:e})=>G(Le(e,o),(([,t])=>{T(s,t),Se(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),g(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(C.delListener(e),k),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return ae({[h]:[1,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{E(e?["get","has","forEach"]:["get"],(e=>k[e+c+s]=(...t)=>C[e+s](...t))),k[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](k,...n)))})),ee(k)})),qe=Ae((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,S]=ze((()=>T)),v=(e,t,s)=>G(u(e),(([n,,a])=>{if(!le(a,t)){const o=ke();if(d(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!le(o,e);)Me(o,e),e=Le(n,e)}if(s)return o;Se(a,t,o)}return Le(a,t)})),R=(e,t)=>G(u(e),(([,,e])=>Se(e,t))),I=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(Se(s,e,r),h(e,t,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(Me(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&Se(d,t)}))),q(s)||(Me(l,s),le(d,s)||Se(d,s,ke()),Me(Le(d,s),n)),Me(r,n),Se(c,n,s),we(Le(o,e),(t=>{le(v(e,t),n)&&Me(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(a,[e,t]))),ue(i,(t=>{R(e,t),w(o,[e,t])}))}),Je(l)),T),delRelationshipDefinition:e=>(Se(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,o,[e,t])),delListener:e=>(R(...S(e)),T),destroy:f,getListenerStats:()=>({})};return ee(T)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),Ye=(e,t,s)=>Se(e,t,Le(e,t)==-s?void 0:s),Ze=()=>{let e,t,s=!1,n=!1,o=0;const c=ge(),u=ge(),S=ge(),b=ge(),m=ge(),M=ge(),D=ge(),J=ge(),A=ge(),z=ge(),N=ge(),j=ge(),W=ge(),B=ke(),$=ge(),U=ge(),X=ge(),Y=ge(),Z=He(),_=He(),te=He(),re=He(),ce=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),Pe=He(),je=He(),We=He(),Be=ge(),$e=He(),[qe,_e,et,tt]=ze((()=>fs)),st=e=>{if(!Xe(e,((e,t)=>y([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},nt=(t,s)=>(!e||le(z,s)||Jt(s))&&Xe(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Xe(n?s:it(s,e,t),((n,a)=>G(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?G(Le(Le(z,t),n),(e=>me(a)!=e[r]?Jt(t,s,n,a,e[l]):a),(()=>Jt(t,s,n,a))):q(me(a))?Jt(t,s,n,a):a,rt=(e,t)=>Xe(t?e:ct(e),((t,s)=>G(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?G(Le(j,e),(t=>me(s)!=t[r]?At(e,s,t[l]):s),(()=>At(e,s))):q(me(s))?At(e,s):s,it=(e,t,s)=>(G(Le(N,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(ue(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(B,(t=>{se(e,t)||At(t)}))),e),dt=e=>Re(z,e,((e,t,s)=>{const n=ge(),a=ke();Re(ve(z,t,ge),s,((e,t,s)=>{Se(e,t,s),G(s[l],(e=>Se(n,t,e)),(()=>Me(a,t)))})),Se(N,t,[n,a])}),((e,t)=>{Se(z,t),Se(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Se(j,t,s),G(s[l],(e=>Se(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{Se(j,t),Se(W,t),he(B,t)})),ht=e=>oe(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>Ct(t))),ft=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Se($,e,Qe()),Se(U,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>yt(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(xt(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{le(s,n)||Et(e,t,n,1);const o=Le(s,n);a!==o&&(kt(e,t,n,o,a),Se(s,n,a))},St=(e,t,s,n,a)=>G(Le(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),vt=e=>oe(e)?is():ts(e),Rt=e=>Re(Y,e,((e,t,s)=>It(t,s)),((e,t)=>Vt(t))),It=(e,t)=>{le(Y,e)||Mt(e,1);const s=Le(Y,e);t!==s&&(Dt(e,s,t),Se(Y,e,t))},Tt=(e,t)=>{const[s]=Le($,e),n=s(t);return le(Le(X,e),n)?Tt(e,t):n},pt=e=>Le(X,e)??ft(e,{}),Ct=e=>ft(e,{}),yt=(e,t,s)=>{const[,n]=Le($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=Le(Le(N,e)?.[0],a);if(!q(r)&&!o)return wt(e,s,n,a,r);const l=t=>{kt(e,s,t,Le(n,t)),Et(e,s,t,-1),Se(n,t)};q(r)?l(a):we(n,l),ie(n)&&(xt(e,s,-1),ie(Se(t,s))&&(mt(e,-1),Se(X,e),Se($,e),Se(U,e)))},Vt=e=>{const t=Le(W,e);if(!q(t))return It(e,t);Dt(e,Le(Y,e)),Mt(e,-1),Se(Y,e)},mt=(e,t)=>Ye(c,e,t),xt=(e,t,s)=>Ye(ve(S,e,ge),t,s),Et=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ye(ve(u,e,ge),s,n),Se(a,s,o!=-n?o+n:null),Ye(ve(ve(b,e,ge),t,ge),s,n)},kt=(e,t,s,n,a)=>ve(ve(ve(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Mt=(e,t)=>Ye(M,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(Q(ve(ve(ve(J,e,ge),t,ge),s,(()=>[])),n),a),At=(e,t,s)=>(Q(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>G(Le(Le(Le(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Xt(e,t,s))])),Qt=e=>G(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(_t(e))])),zt=e=>ie(J)||ie(Fe[e])?0:ue(e?be(J):J,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>_e(Fe[e],[s,n,a],t))))))),Nt=e=>ie(A)||ie(Ne[e])?0:ue(e?Ce(A):A,((t,s)=>_e(Ne[e],[s],t))),Ot=(e,t,s)=>{if(!ie(t))return _e(e,s,(()=>Ie(t))),1},Pt=e=>{const t=ie(Ve[e]),s=ie(Je[e])&&ie(re[e])&&ie(ce[e])&&t&&ie(_[e]),n=ie(Ae[e])&&ie(De[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[Ce(c),ye(u),ye(S),be(b),be(m)]:[c,u,S,b,m];if(!s){Ot(_[e],a[0]),ue(a[1],((t,s)=>Ot(re[e],t,[s])));const s=ke();ue(a[2],((n,a)=>{Ot(ce[e],n,[a])&&!t&&(_e(Ve[e],[a,null]),Me(s,a))})),t||ue(a[4],((t,n)=>{if(!le(s,n)){const s=ke();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?Me(s,a):he(e,a))))),ue(s,(t=>_e(Ve[e],[n,t])))}})),ue(a[3],((t,s)=>ue(t,((t,n)=>Ot(Je[e],t,[s,n])))))}if(!n){let t;ue(a[4],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(_e(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&_e(De[e],[n,o],Ft)})),a&&_e(te[e],[n],Ft)})),t&&_e(Z[e],void 0,Ft)}}},jt=e=>{const t=ie(je[e]),s=ie(We[e])&&ie(Pe[e]);if(!t||!s){const n=e?[Ce(M),Ce(D)]:[M,D];if(t||Ot(je[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(_e(We[e],[a],n,s,Qt),t=1)})),t&&_e(Pe[e],void 0,Qt)}}},Wt=(e,...t)=>(us((()=>e(...k(t,C)))),fs),Bt=()=>[Ie(m,((e,t)=>-1===Le(c,t)?null:Ie(e,((e,s)=>-1===Le(Le(S,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Ue(t)))),oe)),oe),Ie(D,(([,e])=>e??null),((e,t)=>Ue(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(m,Ke,Ue),invalidCells:pe(J),changedValues:Ie(D,Ke,Ue),invalidValues:Ie(A),changedTableIds:Ie(c),changedRowIds:Te(S),changedCellIds:pe(b),changedValueIds:Ie(M)}),qt=()=>pe(X),Gt=()=>fe(X),Ht=e=>fe(Le(X,C(e))),Kt=(e,t,s,n=0,a)=>{return k(F(x((o=Le(X,C(e)),r=(e,s)=>[q(t)?s:Le(e,C(t)),s],k([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,q(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(Le(Le(X,C(e)),C(t))),Xt=(e,t,s)=>Le(Le(Le(X,C(e)),C(t)),C(s)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>Le(Y,C(e)),es=e=>Wt((()=>(e=>Xe(e,nt,Jt))(e)?gt(e):0)),ts=e=>Wt((()=>rt(e)?Rt(e):0)),ss=e=>{try{ht(P(e))}catch{}return fs},ns=t=>Wt((()=>{if((e=Xe(t,(e=>Xe(e,st))))&&(dt(t),!ie(X))){const e=qt();os(),es(e)}})),as=e=>Wt((()=>{if(t=(e=>Xe(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Wt((()=>gt({}))),rs=e=>Wt((e=>le(X,e)?Ct(e):0),e),ls=(e,t)=>Wt(((e,t)=>G(Le(X,e),(s=>le(s,t)?yt(e,s,t):0))),e,t),is=()=>Wt((()=>Rt({}))),cs=()=>Wt((()=>{dt({}),e=!1})),ds=()=>Wt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=o){hs();const s=e();return gs(t),s}},hs=()=>(-1!=o&&o++,1==o&&_e(Be,void 0,Bt,$t),fs),gs=e=>(o>0&&(o--,0==o&&(s=!ie(m),n=!ie(D),o=1,zt(1),s&&Pt(1),Nt(1),n&&jt(1),e?.(Bt,$t)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>xe(fs,t,s,n,e))))))),ue(D,(([e],t)=>Ee(fs,t,e))),s=n=!1),_e($e[0],void 0,Bt,$t),o=-1,zt(0),s&&Pt(0),Nt(0),n&&jt(0),_e($e[1],void 0,Bt,$t),o=0,s=n=!1,E([c,u,S,b,m,J,M,D,A],de))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Te(Le(X,C(e))),getTableCellIds:e=>fe(Le(U,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ie(X),hasTable:e=>le(X,C(e)),hasTableCell:(e,t)=>le(Le(U,C(e)),C(t)),hasRow:(e,t)=>le(Le(X,C(e)),C(t)),hasCell:(e,t,s)=>le(Le(Le(X,C(e)),C(t)),C(s)),hasValues:()=>!ie(Y),hasValue:e=>le(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(z),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([z,j]),setContent:([e,t])=>Wt((()=>{(oe(e)?os:es)(e),(oe(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Wt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>at(e,t,s)?Lt(e,pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,pt(e),n=Tt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(at(e,t,s,1)){const n=pt(e);ae(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Wt(((e,t,s)=>G(ot(e,t,s,K(n)?n(Xt(e,t,s)):n),(n=>St(e,pt(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Wt((()=>rt(e,1)?ae(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(lt(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ae(e[0],((e,t)=>q(e)?rs(t):ae(e,((e,s)=>q(e)?ls(t,s):ae(e,((e,n)=>xe(fs,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{vt(P(e))}catch{}return fs},setJson:e=>{try{const[t,s]=P(e);ht(t),vt(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Wt(((e,t,s)=>G(Le(X,e),(a=>G(Le(a,t),(o=>le(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>le(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Wt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,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,C(e)),t),forEachRow:(e,t)=>ue(Le(X,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,C(e)),C(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);V(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:Ze};return ae({[g]:[0,Z],[f]:[0,_],[h]:[1,te,[Gt]],[h+R]:[1,re,[Gt]],[w]:[1,ce,[Gt]],[L]:[2,De,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>Ge(Xt(...e))],InvalidCell:[3,Fe],[T]:[0,Pe],[p]:[0,je],[I]:[1,We,[Zt],e=>Ge(_t(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],a)=>{fs[d+a+i]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(fs)};exports.createCheckpoints=Ne,exports.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await g.schedule((async()=>{await e(),i=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(1!=i&&(i=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(G(o,e.delListener),g),schedule:async(...e)=>(Q(u,...e),await(async()=>{if(!c){for(c=1;!q(r=N(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},exports.createIndexes=Pe,exports.createMetrics=Be,exports.createQueries=$e,exports.createRelationships=qe,exports.createStore=Ze,exports.defaultSorter=Oe;
|
package/lib/cjs/tinybase.cjs.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,
|
|
1
|
+
"use strict";const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,r=n.freeze,i=(t,n)=>e(t,(t=>t[n])),l=(e,n)=>!t(i(e,n)),u=(t,e)=>(delete t[e],t),c=(t,e)=>((t,e)=>t.map(e))(n.entries(t),(([t,n])=>e(n,t))),s=t=>o(t).length,d=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==s(t);var a=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(e,n,o,r)=>{const i=t(n)?e:((t,e,n)=>(l(t,e)||(t[e]={}),t[e]))(e,n);let s;return c(o,((t,e)=>{r(i,e,t)&&(s=1)})),c(i,((t,e)=>{l(o,e)||(u(i,e),s=1)})),!t(n)&&d(i)&&u(e,n),s};exports.createAutomergePersister=(n,o,l="tinybase")=>(o.change((t=>t[l]={})),((n,s,f,p,g)=>{let A,m,L,S=0,x=0,C=0;const P=[],w=t=>a(void 0,null,(function*(){return 2!=S&&(S=1,yield b.schedule((()=>a(void 0,null,(function*(){yield t(),S=0}))))),b})),b={load:(t,e)=>a(void 0,null,(function*(){return yield w((()=>a(void 0,null,(function*(){try{n.setContent(yield s())}catch(o){n.setContent([t,e])}}))))})),startAutoLoad:(...t)=>a(void 0,[...t],(function*(t={},e={}){return b.stopAutoLoad(),yield b.load(t,e),C=1,L=(t=>{const e=({doc:e})=>t((()=>y(e,l)));return o.on("change",e),e})(((t,e)=>a(void 0,null,(function*(){return yield w((()=>a(void 0,null,(function*(){var o;if(e)n.setTransactionChanges(e());else try{n.setContent(null!=(o=null==t?void 0:t())?o:yield s())}catch(t){}}))))})))),b})),stopAutoLoad:()=>{return C&&(t=L,o.removeListener("change",t),L=void 0,C=0),b;var t},save:r=>a(void 0,null,(function*(){return 1!=S&&(S=2,yield b.schedule((()=>a(void 0,null,(function*(){try{yield((n,r)=>v(void 0,null,(function*(){return o.change((o=>((n,o,r,l)=>{((t,e)=>{d(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[s,a]=y(n,o),v=()=>{f=1};let f=1;if(e(null==l?void 0:l(),(([n,o])=>{f=0,c(n,((n,o)=>f?0:t(n)?u(s,o):e(s[o],(o=>c(n,((n,r)=>f?0:t(n)?u(o,r):e(i(o,r),(e=>c(n,((n,o)=>t(n)?u(e,o):e[o]=n))),v)))),v))),c(o,((e,n)=>f?0:t(e)?u(a,n):a[n]=e))})),f){const[t,e]=r();h(s,void 0,t,((t,e,n)=>h(s,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(i(t,e)!==n)return t[e]=n,1})))))),h(a,void 0,e,((t,e,n)=>{i(a,e)!==n&&(a[e]=n)}))}})(o,l,n,r)))})))(n.getContent,r)}catch(t){}S=0}))))),b})),startAutoSave:()=>a(void 0,null,(function*(){return yield b.stopAutoSave().save(),A=n.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();d(n)&&d(o)||b.save((()=>[n,o]))})),b})),stopAutoSave:()=>(e(A,n.delListener),b),schedule:(...e)=>a(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(P,...e),yield a(void 0,null,(function*(){if(!x){for(x=1;!t((e=P,m=e.shift()));)try{yield m()}catch(t){}x=0}var e})),b})),getStore:()=>n,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(b)})(n,(()=>v(void 0,null,(function*(){return 2==s(o.doc[l])?y(o.doc,l):void 0})))));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const e=JSON.parse,t=(e,t)=>e instanceof t,n=e=>null==e,o=Object,r=o.keys,i=o.freeze,l=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>r(e).length)(e);var s=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())})),u=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())}));const a="storage",c=globalThis.window,d=(o,r,d)=>((o,v,y,f,h)=>{let p,g,S,A=0,L=0,m=0;const w=[],x=e=>s(void 0,null,(function*(){return 2!=A&&(A=1,yield P.schedule((()=>s(void 0,null,(function*(){yield e(),A=0}))))),P})),P={load:(e,t)=>s(void 0,null,(function*(){return yield x((()=>s(void 0,null,(function*(){try{o.setContent(yield v())}catch(n){o.setContent([e,t])}}))))})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},n={}){return P.stopAutoLoad(),yield P.load(t,n),m=1,S=(t=>{const n=n=>{n.storageArea===d&&n.key===r&&t((()=>e(n.newValue)))};return c.addEventListener(a,n),n})(((e,t)=>s(void 0,null,(function*(){return yield x((()=>s(void 0,null,(function*(){var n;if(t)o.setTransactionChanges(t());else try{o.setContent(null!=(n=null==e?void 0:e())?n:yield v())}catch(e){}}))))})))),P})),stopAutoLoad:()=>{return m&&(e=S,c.removeEventListener(a,e),S=void 0,m=0),P;var e},save:e=>s(void 0,null,(function*(){return 1!=A&&(A=2,yield P.schedule((()=>s(void 0,null,(function*(){try{yield(e=o.getContent,u(void 0,null,(function*(){return d.setItem(r,(n=e(),JSON.stringify(n,((e,n)=>{return t(n,Map)?(o=(e,[t,n])=>(e[t]=n,e),r={},[...n].reduce(o,r)):n;var o,r}))));var n})))}catch(e){}var e;A=0}))))),P})),startAutoSave:()=>s(void 0,null,(function*(){return yield P.stopAutoSave().save(),p=o.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();l(n)&&l(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var e,t;return e=p,t=o.delListener,!!n(e)||t(e),P},schedule:(...e)=>s(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(w,...e),yield s(void 0,null,(function*(){if(!L){for(L=1;!n((e=w,g=e.shift()));)try{yield g()}catch(e){}L=0}var e})),P})),getStore:()=>o,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(P)})(o,(()=>u(void 0,null,(function*(){return e(d.getItem(r))}))));exports.createLocalPersister=(e,t)=>d(e,t,localStorage),exports.createSessionPersister=(e,t)=>d(e,t,sessionStorage);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),
|
|
1
|
+
"use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),T=Object,O=T.keys,L=T.freeze,w=(e=[])=>T.fromEntries(e),b=(...e)=>T.assign({},...e),S=(e,n)=>(delete e[n],e),x=(e,n)=>o(T.entries(e),(([e,t])=>n(t,e))),C=e=>T.values(e),N=e=>i(O(e)),R=e=>(e=>y(e,T)&&e.constructor==T)(e)&&0==N(e),g=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>f(t)?(P(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t,l=_)=>(x(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var W=Object.defineProperty,k=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?W(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,q=(e,n)=>{for(var t in n||(n={}))H.call(n,t)&&Y(e,t,n[t]);if(k)for(var t of k(n))J.call(n,t)&&Y(e,t,n[t]);return e},z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const K="SELECT*FROM",V="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=g(),d=(e,n)=>!f(D(D(l,e),n)),s=(n,d,s,v,y)=>z(void 0,null,(function*(){const f=B();x(null!=y?y:{},(e=>o(O(e),(e=>U(f,e)))));const h=A(f);if(u(h)&&E(l,n)&&v)return yield e("DROP TABLE"+M(n)),void _(l,n);if(u(h)||E(l,n)){const t=D(l,n),r=B(I(t));yield m([...o(h,(l=>z(void 0,null,(function*(){P(r,l)||(yield e(`ALTER TABLE${M(n)}ADD${M(l)}`),_(t,l,""))})))),...s?o(A(r),(l=>z(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${M(n)}DROP${M(l)}`),_(t,l))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(h,(e=>t+M(e))))});`),_(l,n,g([[d,""],...o(h,(e=>[e,""]))]));if(u(h))E(l,n)&&(yield e("DELETE FROM"+M(n)));else{const u=[],s=[],v=[],f=a(I(D(l,n)),(e=>e!=d));x(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(d)+r(o(f,(e=>t+M(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+M(d)+")DO UPDATE SET"+r(o(f,(e=>M(e)+"=excluded."+M(e))),t),s),yield e("DELETE FROM"+M(n)+G+M(d)+"NOT IN("+X(v)+")",v)}}));return[()=>z(void 0,null,(function*(){return j(l,w(yield m(o(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,w(o(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return _(l,n,j((i=g,E(r=l,o=n)||_(r,o,i()),D(r,o)),t,((e,n,t)=>{t!=D(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,n)=>_(l,n)))})),(n,t)=>z(void 0,null,(function*(){const l=d(n,t)?yield e(K+M(n)+G+M(t)+"=?",["_"]):[];return u(l)?null:S(l[0],t)})),(e,n,t,l)=>z(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>z(void 0,null,(function*(){return d(n,t)?w(a(o(yield e(K+M(n)),(e=>[e[t],S(q({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield p.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),p})),p={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),p),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield p.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),p})),startAutoSave:()=>Z(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,F))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,F,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,h,p]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return w(a(yield m($(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,F):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m($(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield p(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,F,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=g();return x(e,((e,o)=>{const i=d(C(b(n,p(e)?{[t]:e}:e)),0,N(n));f(i[0])||l(o,i[0])||_(r,o,i)})),r},fe="pragma ",he="data_version",pe="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>b(se,p(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(C(b(ve,i)),0,N(ve)),a=u[2],c=B(a);return[0,l,[ye(r,{[de]:null,[ae]:F},de,(e=>U(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>U(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+he))[0][he],t=(yield l(fe+pe))[0][pe];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,A(v))};exports.createCrSqliteWasmPersister=(e,n,t)=>me(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var e=require("fs"),t=require("fs/promises");const n="utf8",r=JSON.parse,o=(e,t)=>e instanceof t,i=e=>null==e,l=Object,u=l.keys,a=l.freeze,s=e=>(e=>o(e,l)&&e.constructor==l)(e)&&0==(e=>u(e).length)(e);var d=(e,t,n)=>new Promise(((r,o)=>{var i=e=>{try{u(n.next(e))}catch(e){o(e)}},l=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,l);u((n=n.apply(e,t)).next())})),c=(e,t,n)=>new Promise(((r,o)=>{var i=e=>{try{u(n.next(e))}catch(e){o(e)}},l=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,l);u((n=n.apply(e,t)).next())}));exports.createFilePersister=(l,u)=>((r,l,v,y,f)=>{let h,p,A,S=0,g=0,w=0;const L=[],m=e=>d(void 0,null,(function*(){return 2!=S&&(S=1,yield x.schedule((()=>d(void 0,null,(function*(){yield e(),S=0}))))),x})),x={load:(e,t)=>d(void 0,null,(function*(){return yield m((()=>d(void 0,null,(function*(){try{r.setContent(yield l())}catch(n){r.setContent([e,t])}}))))})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},n={}){return x.stopAutoLoad(),yield x.load(t,n),w=1,o=(e,t)=>d(void 0,null,(function*(){return yield m((()=>d(void 0,null,(function*(){var n;if(t)r.setTransactionChanges(t());else try{r.setContent(null!=(n=null==e?void 0:e())?n:yield l())}catch(e){}}))))})),A=e.watch(u,(()=>o())),x;var o})),stopAutoLoad:()=>{return w&&(null==(e=A)||e.close(),A=void 0,w=0),x;var e},save:e=>d(void 0,null,(function*(){return 1!=S&&(S=2,yield x.schedule((()=>d(void 0,null,(function*(){try{yield(e=r.getContent,c(void 0,null,(function*(){return yield t.writeFile(u,(r=e(),JSON.stringify(r,((e,t)=>{return o(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),r={},[...t].reduce(n,r)):t;var n,r}))),n);var r})))}catch(e){}var e;S=0}))))),x})),startAutoSave:()=>d(void 0,null,(function*(){return yield x.stopAutoSave().save(),h=r.addDidFinishTransactionListener(((e,t)=>{const[n,r]=t();s(n)&&s(r)||x.save((()=>[n,r]))})),x})),stopAutoSave:()=>{var e,t;return e=h,t=r.delListener,!!i(e)||t(e),x},schedule:(...e)=>d(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(L,...e),yield d(void 0,null,(function*(){if(!g){for(g=1;!i((e=L,p=e.shift()));)try{yield p()}catch(e){}g=0}var e})),x})),getStore:()=>r,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(x)})(l,(()=>c(void 0,null,(function*(){return r(yield t.readFile(u,n))}))));
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=JSON.parse,e=t=>null==t,
|
|
1
|
+
"use strict";const t=JSON.parse,e=(t,e)=>t instanceof e,n=t=>null==t,o=Object,r=o.keys,l=o.freeze,i=t=>(t=>e(t,o)&&t.constructor==o)(t)&&0==(t=>r(t).length)(t);var u=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const d=t=>t.headers.get("ETag");exports.createRemotePersister=(o,r,s,c)=>{let v;return((t,o,y,h,f)=>{let p,A,S,g=0,m=0,x=0;const C=[],L=t=>u(void 0,null,(function*(){return 2!=g&&(g=1,yield P.schedule((()=>u(void 0,null,(function*(){yield t(),g=0}))))),P})),P={load:(e,n)=>u(void 0,null,(function*(){return yield L((()=>u(void 0,null,(function*(){try{t.setContent(yield o())}catch(o){t.setContent([e,n])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},l={}){return P.stopAutoLoad(),yield P.load(e,l),x=1,i=(e,n)=>u(void 0,null,(function*(){return yield L((()=>u(void 0,null,(function*(){var r;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(r=null==e?void 0:e())?r:yield o())}catch(t){}}))))})),S=setInterval((()=>a(void 0,null,(function*(){const t=yield fetch(r,{method:"HEAD"}),e=d(t);n(v)||n(e)||e==v||(v=e,i())}))),1e3*c),P;var i})),stopAutoLoad:()=>(x&&(clearInterval(S),S=void 0,x=0),P),save:n=>u(void 0,null,(function*(){return 1!=g&&(g=2,yield P.schedule((()=>u(void 0,null,(function*(){try{yield(n=t.getContent,a(void 0,null,(function*(){return yield fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=n(),JSON.stringify(t,((t,n)=>{return e(n,Map)?(o=(t,[e,n])=>(t[e]=n,t),r={},[...n].reduce(o,r)):n;var o,r})))});var t})))}catch(t){}var n;g=0}))))),P})),startAutoSave:()=>u(void 0,null,(function*(){return yield P.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var e,o;return e=p,o=t.delListener,!!n(e)||o(e),P},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(C,...t),yield u(void 0,null,(function*(){if(!m){for(m=1;!n((t=C,A=t.shift()));)try{yield A()}catch(t){}m=0}var t})),P})),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(P)})(o,(()=>a(void 0,null,(function*(){const e=yield fetch(r);return v=d(e),t(yield e.text())}))))};
|
|
Binary file
|