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