tinybase 4.8.15 → 4.8.17
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/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-libsql.js +1 -1
- package/lib/es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/es6/persisters/persister-powersync.js +1 -1
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-libsql.js +1 -1
- package/lib/persisters/persister-libsql.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -1
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-libsql.js +1 -1
- package/lib/umd/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -1
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-libsql.js +1 -1
- package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -1
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/package.json +13 -14
- package/readme.md +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),C=f.keys,L=f.freeze,R=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),g=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),I=a=>f.values(a),D=a=>u(C(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||M(a,t,e()),P(a,t)),x=(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)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,q="DELETE FROM",z=Y+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>x(c,R(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(Y+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?R(m(v(await a(z+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=k();g(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const f=N(u);if(!y&&w&&p(f)&&O(c,t))return await a("DROP "+U+J(t)),void M(c,t);if(p(f)||O(c,t)){const s=P(c,t),i=k(_(s));await d([...v(f,(async n=>{T(i,n)||(await a(W+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(N(i),(async e=>{e!=n&&(await a(W+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+U+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,$([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(q+J(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(q+J(t)+V+J(n)+"=?",[s]):p(f)||await X(a,t,n,C(e),[s,...I(e)],i)})));else if(p(f))O(c,t)&&await a(q+J(t)+V+" 1");else{const e=m(_(P(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(q+J(t)+V+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),L(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,O,N]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),f=async(a,t)=>l?await O(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await N((async()=>{await p();const a=await(async()=>R(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await p(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),C=f.keys,L=f.freeze,R=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),g=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),I=a=>f.values(a),D=a=>u(C(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||M(a,t,e()),P(a,t)),x=(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)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,q="DELETE FROM",z=Y+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>x(c,R(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(Y+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?R(m(v(await a(z+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=k();g(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const f=N(u);if(!y&&w&&p(f)&&O(c,t))return await a("DROP "+U+J(t)),void M(c,t);if(p(f)||O(c,t)){const s=P(c,t),i=k(_(s));await d([...v(f,(async n=>{T(i,n)||(await a(W+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(N(i),(async e=>{e!=n&&(await a(W+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+U+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,$([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(q+J(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(q+J(t)+V+J(n)+"=?",[s]):p(f)||await X(a,t,n,C(e),[s,...I(e)],i)})));else if(p(f))O(c,t)&&await a(q+J(t)+V+" 1");else{const e=m(_(P(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(q+J(t)+V+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),L(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,O,N]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),f=async(a,t)=>l?await O(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await N((async()=>{await p();const a=await(async()=>R(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await p(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="storeTableName",wa="rowIdColumnName",ya="tableId",ua="tableName",da="deleteEmptyColumns",Ea="deleteEmptyTable",va={mode:oa,[ra]:1},pa={load:0,save:0,[ua]:t+"_values"},ma=(a,t,e,s)=>{const n=$();return g(a,((a,i)=>{const c=y(I(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},Aa="pragma_",Oa="data_version",Na="schema_version",Ta=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,p;const[m,A,O,T]=(a=>{const e=(a=>S(va,w(a)?{[la]:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(I(S(pa,c)),0,D(pa)),r=o[2],l=k(r);return[0,s,[ma(n,{[ya]:null,[wa]:H},ya,(a=>G(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:H,[da]:0,[Ea]:0},ua,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(p??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=p=null,i(t)}),r,O,N(T),l,u,d)},fa=(a,t,e,s,n)=>Ta(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,n,t,"getClient");export{fa as createLibSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),N=Object,O=a=>N.getPrototypeOf(a),C=N.keys,L=N.freeze,R=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),S=(a,t)=>v(N.entries(a),(([a,e])=>t(e,a))),b=a=>N.values(a),I=a=>u(C(a)),D=a=>(a=>!r(a)&&l(O(a),(a=>a==N.prototype||r(O(a))),(()=>!0)))(a)&&0==I(a),_=a=>new Map(a),P=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(T(a,t)||M(a,t,e()),$(a,t)),x=(a,t,e,n=M)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:n(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",q="WHERE",Q=(a,t,s,i)=>{const c=_();return[async()=>x(c,R(await d(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,_),e,((a,t,e)=>{e!=$(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?R(p(v(await a(K+J(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!D(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=k();S(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const N=f(u);if(!y&&w&&m(N)&&T(c,t))return await a("DROP "+U+J(t)),void M(c,t);if(m(N)||T(c,t)){const n=$(c,t),i=k(P(n));await d([...v(N,(async s=>{h(i,s)||(await a(W+J(t)+"ADD"+J(s)),M(n,s,e))})),...!y&&l?v(f(i),(async e=>{e!=s&&(await a(W+J(t)+"DROP"+J(e)),M(n,e))})):[]])}else await a("CREATE "+U+J(t)+"("+J(s)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(N,(a=>n+J(a))))});`),M(c,t,_([[s,e],...v(N,(a=>[a,e]))]));if(y)r(o)?await a(z+J(t)+q+" 1"):await d(S(o,(async(e,n)=>{r(e)?await a(z+J(t)+q+J(s)+"=?",[n]):m(N)||await X(a,t,s,C(e),[n,...b(e)],i)})));else if(m(N))T(c,t)&&await a(z+J(t)+q+" 1");else{const e=p(P($(c,t)),(a=>a!=s)),n=[],r=[];S(o??{},((a,t)=>{A(n,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,s,e,n,i),await a(z+J(t)+q+J(s)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},X=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(s)+E(v(c,(a=>n+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(s)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),n):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),n),aa=JSON.parse,ta=_(),ea=_(),na=(a,t,e,n,s,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,n)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(p.stopAutoLoad(),await p.load(e,s),v=1,d=n((async(e,n)=>{if(n){const t=n();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(s(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,n]=t();D(e)&&D(n)||p.save((()=>[e,n]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(A($(ea,w),...a),await(async()=>{if(!$(ta,w)){for(M(ta,w,1);!r((a=$(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},sa="store",ia=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,s,l);return na(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[sa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,[r,o],o)},ca=(a,t,e,n,s,[i,c,[o,l,w]],y,u,E,v)=>{const[m,A,T,f]=Q(t,y,s,v),h=async(a,t)=>await d(F(c,(async([e,n,s,i],c)=>{const o=a[c];t&&void 0===o||await T(e,n,o,s,i,t)}))),N=async(a,t)=>l?await T(w,H,{[B]:a},!0,!0,t):null;return na(a,(async()=>await f((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return D(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),r(t)){const[t,e]=a();await h(t),await N(e)}else{const[a,e]=t();await h(a,!0),await N(e,!0)}}))),e,n,s,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),N=Object,O=a=>N.getPrototypeOf(a),C=N.keys,L=N.freeze,R=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),S=(a,t)=>v(N.entries(a),(([a,e])=>t(e,a))),b=a=>N.values(a),I=a=>u(C(a)),D=a=>(a=>!r(a)&&l(O(a),(a=>a==N.prototype||r(O(a))),(()=>!0)))(a)&&0==I(a),_=a=>new Map(a),P=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(T(a,t)||M(a,t,e()),$(a,t)),x=(a,t,e,n=M)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:n(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",q="WHERE",Q=(a,t,s,i)=>{const c=_();return[async()=>x(c,R(await d(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,_),e,((a,t,e)=>{e!=$(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?R(p(v(await a(K+J(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!D(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=k();S(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const N=f(u);if(!y&&w&&m(N)&&T(c,t))return await a("DROP "+U+J(t)),void M(c,t);if(m(N)||T(c,t)){const n=$(c,t),i=k(P(n));await d([...v(N,(async s=>{h(i,s)||(await a(W+J(t)+"ADD"+J(s)),M(n,s,e))})),...!y&&l?v(f(i),(async e=>{e!=s&&(await a(W+J(t)+"DROP"+J(e)),M(n,e))})):[]])}else await a("CREATE "+U+J(t)+"("+J(s)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(N,(a=>n+J(a))))});`),M(c,t,_([[s,e],...v(N,(a=>[a,e]))]));if(y)r(o)?await a(z+J(t)+q+" 1"):await d(S(o,(async(e,n)=>{r(e)?await a(z+J(t)+q+J(s)+"=?",[n]):m(N)||await X(a,t,s,C(e),[n,...b(e)],i)})));else if(m(N))T(c,t)&&await a(z+J(t)+q+" 1");else{const e=p(P($(c,t)),(a=>a!=s)),n=[],r=[];S(o??{},((a,t)=>{A(n,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,s,e,n,i),await a(z+J(t)+q+J(s)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},X=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(s)+E(v(c,(a=>n+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(s)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),n):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),n),aa=JSON.parse,ta=_(),ea=_(),na=(a,t,e,n,s,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,n)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(p.stopAutoLoad(),await p.load(e,s),v=1,d=n((async(e,n)=>{if(n){const t=n();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(s(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,n]=t();D(e)&&D(n)||p.save((()=>[e,n]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(A($(ea,w),...a),await(async()=>{if(!$(ta,w)){for(M(ta,w,1);!r((a=$(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},sa="store",ia=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,s,l);return na(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[sa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,[r,o],o)},ca=(a,t,e,n,s,[i,c,[o,l,w]],y,u,E,v)=>{const[m,A,T,f]=Q(t,y,s,v),h=async(a,t)=>await d(F(c,(async([e,n,s,i],c)=>{const o=a[c];t&&void 0===o||await T(e,n,o,s,i,t)}))),N=async(a,t)=>l?await T(w,H,{[B]:a},!0,!0,t):null;return na(a,(async()=>await f((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return D(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),r(t)){const[t,e]=a();await h(t),await N(e)}else{const[a,e]=t();await h(a,!0),await N(e,!0)}}))),e,n,s,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="storeTableName",wa="rowIdColumnName",ya="tableId",ua="tableName",da="deleteEmptyColumns",Ea="deleteEmptyTable",va={mode:oa,[ra]:1},ma={load:0,save:0,[ua]:t+"_values"},pa=(a,t,e,n)=>{const s=_();return S(a,((a,i)=>{const c=y(b(g(t,w(a)?{[e]:a}:a)),0,I(t));r(c[0])||n(i,c[0])||M(s,i,c)})),s},Aa="pragma_",Ta="data_version",fa="schema_version",ha=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,v,m;const[p,A,T,h]=(a=>{const e=(a=>g(va,w(a)?{[la]:a}:a??{}))(a),n=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,n,[a],k(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(b(g(ma,c)),0,I(ma)),r=o[2],l=k(r);return[0,n,[pa(s,{[ya]:null,[wa]:H},ya,(a=>G(l,a)&&a==r)),pa(i,{[ua]:null,[wa]:H,[da]:0,[Ea]:0},ua,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Ta} d,${fa} s,TOTAL_CHANGES() c FROM ${Aa}${Ta} JOIN ${Aa}${fa}`);t==(E??=t)&&e==(v??=e)&&s==(m??=s)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=m=null,i(t)}),r,T,f(h),l,u,d)},Na=(a,t,e,n,s,i=!1)=>ha(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,t,"getPowerSync",i);export{Na as createPowerSyncPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.keys,L=T.freeze,C=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>p(T.entries(a),(([a,e])=>t(e,a))),b=a=>T.values(a),g=a=>u(R(a)),D=a=>(a=>!r(a)&&l(f(a),(a=>a==T.prototype||r(f(a))),(()=>!0)))(a)&&0==g(a),_=a=>new Map(a),$=a=>[...a?.keys()??[]],M=(a,t)=>a?.get(t),P=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),F=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||F(a,t,e()),M(a,t)),k=(a,t,e,s=F)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),x="_",B="_id",H=a=>`"${a.replace(/"/g,'""')}"`,J="SELECT",Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),G="TABLE",U="ALTER "+G,V="DELETE FROM",W=J+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,n,i)=>{const c=_();return[async()=>k(c,C(await d(p(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,C(p(await a(J+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>F(c,t,k(j(c,t,_),e,((a,t,e)=>{e!=M(a,t)&&F(a,t,e)}),((a,t)=>F(a,t))))),((a,t)=>F(c,t))),async(t,e)=>((a,t)=>!r(M(M(c,a),t)))(t,e)?C(m(p(await a(W+H(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!D(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=Y();I(o??{},(a=>p(R(a??{}),(a=>q(u,a)))));const T=h(u);if(!y&&w&&v(T)&&O(c,t))return await a("DROP "+G+H(t)),void F(c,t);if(v(T)||O(c,t)){const s=M(c,t),i=Y($(s));await d([...p(T,(async n=>{N(i,n)||(await a(U+H(t)+"ADD"+H(n)),F(s,n,e))})),...!y&&l?p(h(i),(async e=>{e!=n&&(await a(U+H(t)+"DROP"+H(e)),F(s,e))})):[]])}else await a("CREATE "+G+H(t)+"("+H(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(p(T,(a=>s+H(a))))});`),F(c,t,_([[n,e],...p(T,(a=>[a,e]))]));if(y)r(o)?await a(V+H(t)+K+" 1"):await d(I(o,(async(e,s)=>{r(e)?await a(V+H(t)+K+H(n)+"=?",[s]):v(T)||await X(a,t,n,R(e),[s,...b(e)],i)})));else if(v(T))O(c,t)&&await a(V+H(t)+K+" 1");else{const e=m($(M(c,t)),(a=>a!=n)),s=[],r=[];I(o??{},((a,t)=>{A(s,t,...p(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(V+H(t)+K+H(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+H(t)+"("+H(n)+E(p(c,(a=>s+H(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+H(n)+")DO UPDATE SET"+E(p(c,(a=>H(a)+"=excluded."+H(a))),s):e),p(o,(a=>a??null))),Z=a=>E(p(a,(()=>"?")),s),aa=JSON.parse,ta=_(),ea=_(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,p=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const v=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await v((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await v((async()=>a.setTransactionChanges(t)))}else await v((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(M(ea,w),...a),await(async()=>{if(!M(ta,w)){for(F(ta,w,1);!r((a=M(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}F(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),L(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,B))[x]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,B,{[x]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?T.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,p)=>{const[v,A,O,h]=Q(t,y,n,p),N=async(a,t)=>await d(P(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),T=async(a,t)=>l?await O(w,B,{[x]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await v();const a=await(async()=>C(m(await d(P(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>o?(await A(w,B))[x]:{})();return D(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),r(t)){const[t,e]=a();await N(t),await T(e)}else{const[a,e]=t();await N(a,!0),await T(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.keys,L=T.freeze,C=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>p(T.entries(a),(([a,e])=>t(e,a))),b=a=>T.values(a),g=a=>u(R(a)),D=a=>(a=>!r(a)&&l(f(a),(a=>a==T.prototype||r(f(a))),(()=>!0)))(a)&&0==g(a),_=a=>new Map(a),$=a=>[...a?.keys()??[]],M=(a,t)=>a?.get(t),P=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),F=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||F(a,t,e()),M(a,t)),k=(a,t,e,s=F)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),x="_",B="_id",H=a=>`"${a.replace(/"/g,'""')}"`,J="SELECT",Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),G="TABLE",U="ALTER "+G,V="DELETE FROM",W=J+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,n,i)=>{const c=_();return[async()=>k(c,C(await d(p(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,C(p(await a(J+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>F(c,t,k(j(c,t,_),e,((a,t,e)=>{e!=M(a,t)&&F(a,t,e)}),((a,t)=>F(a,t))))),((a,t)=>F(c,t))),async(t,e)=>((a,t)=>!r(M(M(c,a),t)))(t,e)?C(m(p(await a(W+H(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!D(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=Y();I(o??{},(a=>p(R(a??{}),(a=>q(u,a)))));const T=h(u);if(!y&&w&&v(T)&&O(c,t))return await a("DROP "+G+H(t)),void F(c,t);if(v(T)||O(c,t)){const s=M(c,t),i=Y($(s));await d([...p(T,(async n=>{N(i,n)||(await a(U+H(t)+"ADD"+H(n)),F(s,n,e))})),...!y&&l?p(h(i),(async e=>{e!=n&&(await a(U+H(t)+"DROP"+H(e)),F(s,e))})):[]])}else await a("CREATE "+G+H(t)+"("+H(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(p(T,(a=>s+H(a))))});`),F(c,t,_([[n,e],...p(T,(a=>[a,e]))]));if(y)r(o)?await a(V+H(t)+K+" 1"):await d(I(o,(async(e,s)=>{r(e)?await a(V+H(t)+K+H(n)+"=?",[s]):v(T)||await X(a,t,n,R(e),[s,...b(e)],i)})));else if(v(T))O(c,t)&&await a(V+H(t)+K+" 1");else{const e=m($(M(c,t)),(a=>a!=n)),s=[],r=[];I(o??{},((a,t)=>{A(s,t,...p(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(V+H(t)+K+H(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+H(t)+"("+H(n)+E(p(c,(a=>s+H(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+H(n)+")DO UPDATE SET"+E(p(c,(a=>H(a)+"=excluded."+H(a))),s):e),p(o,(a=>a??null))),Z=a=>E(p(a,(()=>"?")),s),aa=JSON.parse,ta=_(),ea=_(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,p=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const v=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await v((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await v((async()=>a.setTransactionChanges(t)))}else await v((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(M(ea,w),...a),await(async()=>{if(!M(ta,w)){for(F(ta,w,1);!r((a=M(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}F(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),L(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,B))[x]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,B,{[x]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?T.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,p)=>{const[v,A,O,h]=Q(t,y,n,p),N=async(a,t)=>await d(P(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),T=async(a,t)=>l?await O(w,B,{[x]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await v();const a=await(async()=>C(m(await d(P(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>o?(await A(w,B))[x]:{})();return D(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),r(t)){const[t,e]=a();await N(t),await T(e)}else{const[a,e]=t();await N(a,!0),await T(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="storeTableName",wa="rowIdColumnName",ya="tableId",ua="tableName",da="deleteEmptyColumns",Ea="deleteEmptyTable",pa={mode:oa,[ra]:1},va={load:0,save:0,[ua]:t+"_values"},ma=(a,t,e,s)=>{const n=_();return I(a,((a,i)=>{const c=y(b(S(t,w(a)?{[e]:a}:a)),0,g(t));r(c[0])||s(i,c[0])||F(n,i,c)})),n},Aa="pragma_",Oa="data_version",ha="schema_version",Na=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,p,v;const[m,A,O,N]=(a=>{const e=(a=>S(pa,w(a)?{[la]:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(b(S(va,c)),0,g(va)),r=o[2],l=Y(r);return[0,s,[ma(n,{[ya]:null,[wa]:B},ya,(a=>q(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:B,[da]:0,[Ea]:0},ua,((a,t)=>q(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Oa} d,${ha} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${ha}`);t==(E??=t)&&e==(p??=e)&&n==(v??=n)||(a(),E=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=v=null,i(t)}),r,O,h(N),l,u,d)},Ta=(a,t,e,s,n,i)=>Na(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e);export{Ta as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,h=a=>T.getPrototypeOf(a),L=T.keys,R=T.freeze,C=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),g=(a,t)=>v(T.entries(a),(([a,e])=>t(e,a))),I=a=>T.values(a),D=a=>u(L(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==T.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(f(a,t)||M(a,t,e()),P(a,t)),B=(a,t,e,n=M)=>(g(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:n(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",x=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=k+"*FROM",V="FROM pragma_table_",q="WHERE",Q=(a,t,s,i)=>{const c=$();return[async()=>B(c,C(await d(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,C(v(await a(k+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,B(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?C(m(v(await a(K+Y(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=x();g(o??{},(a=>v(L(a??{}),(a=>G(u,a)))));const T=O(u);if(!y&&w&&p(T)&&f(c,t))return await a("DROP "+U+Y(t)),void M(c,t);if(p(T)||f(c,t)){const n=P(c,t),i=x(_(n));await d([...v(T,(async s=>{N(i,s)||(await a(W+Y(t)+"ADD"+Y(s)),M(n,s,e))})),...!y&&l?v(O(i),(async e=>{e!=s&&(await a(W+Y(t)+"DROP"+Y(e)),M(n,e))})):[]])}else await a("CREATE "+U+Y(t)+"("+Y(s)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(T,(a=>n+Y(a))))});`),M(c,t,$([[s,e],...v(T,(a=>[a,e]))]));if(y)r(o)?await a(z+Y(t)+q+" 1"):await d(g(o,(async(e,n)=>{r(e)?await a(z+Y(t)+q+Y(s)+"=?",[n]):p(T)||await X(a,t,s,L(e),[n,...I(e)],i)})));else if(p(T))f(c,t)&&await a(z+Y(t)+q+" 1");else{const e=m(_(P(c,t)),(a=>a!=s)),n=[],r=[];g(o??{},((a,t)=>{A(n,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,s,e,n,i),await a(z+Y(t)+q+Y(s)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},X=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(s)+E(v(c,(a=>n+Y(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+Y(s)+")DO UPDATE SET"+E(v(c,(a=>Y(a)+"=excluded."+Y(a))),n):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),n),aa=JSON.parse,ta=$(),ea=$(),na=(a,t,e,n,s,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,n)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(m.stopAutoLoad(),await m.load(e,s),v=1,d=n((async(e,n)=>{if(n){const t=n();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(s(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,n]=t();b(e)&&b(n)||m.save((()=>[e,n]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},sa="store",ia=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,s,l);return na(a,(async()=>await d((async()=>(await w(),aa((await y(i,J))[H]?.[sa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,J,{[H]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?T.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,[r,o],o)},ca=(a,t,e,n,s,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,f,O]=Q(t,y,s,v),N=async(a,t)=>await d(F(c,(async([e,n,s,i],c)=>{const o=a[c];t&&void 0===o||await f(e,n,o,s,i,t)}))),T=async(a,t)=>l?await f(w,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await O((async()=>{await p();const a=await(async()=>C(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,J))[H]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),r(t)){const[t,e]=a();await N(t),await T(e)}else{const[a,e]=t();await N(a,!0),await T(e,!0)}}))),e,n,s,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,h=a=>T.getPrototypeOf(a),L=T.keys,R=T.freeze,C=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),g=(a,t)=>v(T.entries(a),(([a,e])=>t(e,a))),I=a=>T.values(a),D=a=>u(L(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==T.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(f(a,t)||M(a,t,e()),P(a,t)),B=(a,t,e,n=M)=>(g(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:n(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",x=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=k+"*FROM",V="FROM pragma_table_",q="WHERE",Q=(a,t,s,i)=>{const c=$();return[async()=>B(c,C(await d(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,C(v(await a(k+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,B(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?C(m(v(await a(K+Y(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=x();g(o??{},(a=>v(L(a??{}),(a=>G(u,a)))));const T=O(u);if(!y&&w&&p(T)&&f(c,t))return await a("DROP "+U+Y(t)),void M(c,t);if(p(T)||f(c,t)){const n=P(c,t),i=x(_(n));await d([...v(T,(async s=>{N(i,s)||(await a(W+Y(t)+"ADD"+Y(s)),M(n,s,e))})),...!y&&l?v(O(i),(async e=>{e!=s&&(await a(W+Y(t)+"DROP"+Y(e)),M(n,e))})):[]])}else await a("CREATE "+U+Y(t)+"("+Y(s)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(T,(a=>n+Y(a))))});`),M(c,t,$([[s,e],...v(T,(a=>[a,e]))]));if(y)r(o)?await a(z+Y(t)+q+" 1"):await d(g(o,(async(e,n)=>{r(e)?await a(z+Y(t)+q+Y(s)+"=?",[n]):p(T)||await X(a,t,s,L(e),[n,...I(e)],i)})));else if(p(T))f(c,t)&&await a(z+Y(t)+q+" 1");else{const e=m(_(P(c,t)),(a=>a!=s)),n=[],r=[];g(o??{},((a,t)=>{A(n,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,s,e,n,i),await a(z+Y(t)+q+Y(s)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},X=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(s)+E(v(c,(a=>n+Y(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+Y(s)+")DO UPDATE SET"+E(v(c,(a=>Y(a)+"=excluded."+Y(a))),n):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),n),aa=JSON.parse,ta=$(),ea=$(),na=(a,t,e,n,s,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,n)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(m.stopAutoLoad(),await m.load(e,s),v=1,d=n((async(e,n)=>{if(n){const t=n();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(s(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,n]=t();b(e)&&b(n)||m.save((()=>[e,n]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},sa="store",ia=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,s,l);return na(a,(async()=>await d((async()=>(await w(),aa((await y(i,J))[H]?.[sa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,J,{[H]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?T.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,[r,o],o)},ca=(a,t,e,n,s,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,f,O]=Q(t,y,s,v),N=async(a,t)=>await d(F(c,(async([e,n,s,i],c)=>{const o=a[c];t&&void 0===o||await f(e,n,o,s,i,t)}))),T=async(a,t)=>l?await f(w,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await O((async()=>{await p();const a=await(async()=>C(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,J))[H]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),r(t)){const[t,e]=a();await N(t),await T(e)}else{const[a,e]=t();await N(a,!0),await T(e,!0)}}))),e,n,s,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="storeTableName",wa="rowIdColumnName",ya="tableId",ua="tableName",da="deleteEmptyColumns",Ea="deleteEmptyTable",va={mode:oa,[ra]:1},pa={load:0,save:0,[ua]:t+"_values"},ma=(a,t,e,n)=>{const s=$();return g(a,((a,i)=>{const c=y(I(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||n(i,c[0])||M(s,i,c)})),s},Aa="pragma_",fa="data_version",Oa="schema_version",Na=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,v,p;const[m,A,f,N]=(a=>{const e=(a=>S(va,w(a)?{[la]:a}:a??{}))(a),n=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,n,[a],x(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(I(S(pa,c)),0,D(pa)),r=o[2],l=x(r);return[0,n,[ma(s,{[ya]:null,[wa]:J},ya,(a=>G(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:J,[da]:0,[Ea]:0},ua,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Aa}${fa} JOIN ${Aa}${Oa}`);t==(E??=t)&&e==(v??=e)&&s==(p??=s)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=p=null,i(t)}),r,f,O(N),l,u,d)},Ta="change",ha=(a,t,e,n,s)=>Na(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new c(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ta,e),e}),(a=>t.off(Ta,a)),n,s,t);export{ha as createSqlite3Persister};
|
|
Binary file
|
package/lib/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,h="Sorted"+d+l,g="Cell",v=g+l,w=Math.max,L=Math.min,f=isFinite,R=e=>null==e,y=(e,t,n)=>R(e)?n?.():t(e),T=t=>e(t)==r,b=e=>Array.isArray(e),C=e=>e.length,p=()=>{},S=(e,t)=>e.every(t),m=(e,t)=>e.forEach(t),I=e=>E(e,((e,t)=>e+t),0),Q=e=>0==C(e),E=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),x=Object,D=x.freeze,j=e=>e?.size??0,k=(e,t)=>e?.has(t)??!1,z=e=>R(e)||0==j(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),B=(e,t)=>e?.get(t),G=(e,t)=>O(e,((e,n)=>t(n,e))),H=(e,t,n)=>R(n)?(W(e,t),e):e?.set(t,n),J=(e,t,n)=>(k(e,t)||H(e,t,n()),B(e,t)),K=(e,t,n,s,r=0)=>y((n?J:B)(e,t[r],r>C(t)-2?n:q),(o=>{if(r>C(t)-2)return s?.(o)&&H(e,t[r]),o;const a=K(o,t,n,s,r+1);return z(o)&&H(e,t[r]),a})),N=e=>new Set(b(e)||R(e)?e:[e]),P=(e,t)=>e?.add(t),U=q([["avg",[(e,t)=>I(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["min",[e=>L(...e),(e,t)=>L(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:L(t,e)]],["sum",[e=>I(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),V=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,w=l(),L=l(),I=q(),{addListener:E,callListeners:V,delListener:X}=L,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),l=q(),i=q(),d=q(),c=q(),u=q(),h=(t,n,...s)=>{const r=J(u,t,N);return m(s,(t=>P(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>y(B(u,t),(s=>{m(Q(n)?A(s):n,(t=>{e.delListener(t),W(s,t)})),z(s)&&H(u,t)})),v=(e,t)=>{H(a,e,t),k(l,e)||(H(l,e,!0),H(d,e,q()),H(c,e,q()),r(i))},w=e=>{H(a,e),H(l,e),H(d,e),H(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>G(l,e),e=>k(l,e),e=>B(a,e),e=>B(l,e),(e,t)=>H(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=q(),u=q(),w=B(d,t),L=B(c,t),f=t=>{const r=n=>e.getCell(s,t,n),d=B(w,t),c=o(s,t)?n(a(r,t)):void 0;var h,g;if(d===c||b(d)&&b(c)&&(g=c,C(h=d)===C(g)&&S(h,((e,t)=>g[t]===e)))||H(i,t,[d,c]),!R(l)){const e=B(L,t),n=o(s,t)?l(r,t):void 0;e!=n&&H(u,t,n)}},y=e=>{r((()=>{O(i,(([,e],t)=>H(w,t,e))),O(u,((e,t)=>H(L,t,e)))}),i,u,w,L,e),F(i),F(u)};G(w,f),e.hasTable(s)&&m(e.getRowIds(s),(e=>{k(w,e)||f(e)})),y(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>f(n))),e.addTableListener(s,(()=>y())))},w,e=>s(e,i),()=>G(u,w),h,g]})(r,0,p,E,V),le=(e,t,...n)=>m(n,(n=>P(J(J(I,t,q),e,N),n))),ie=e=>{y(B(I,e),(e=>{G(e,((e,t)=>O(t,(t=>e.delListener(t))))),F(e)})),m([L,w],(t=>t.delTable(e)))},de=(e,t,n)=>le(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,l)=>{te(o,a),ie(o);const i=[],d=[[null,[a,null,null,[],q()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=T(e)?[C(i)+"",e]:[R(t)?e:t,n=>n(e,t)];return M(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||T(t)?null:t,r=R(s)?t:n,o=[e,[e,s,T(r)?r:e=>e(r),[],q()]];return M(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>M(c,T(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,T(t)?[t,n,s,r]:B(U,t)??[(e,t)=>t]]];return M(u,o),{as:e=>o[0]=e}},having:(e,t)=>M(h,T(e)?e:n=>n(e)===t)});const g=q(i);if(z(g))return ce;const v=q(d);G(v,((e,[,t])=>y(B(v,t),(({3:t})=>R(e)?0:M(t,e)))));const b=q(u);let p=w;if(z(b)&&Q(h))p=L;else{de(o,p,L);const r=q();G(b,((e,[t,n])=>P(J(r,t,N),[e,n])));const a=N();G(g,(e=>k(r,e)?0:P(a,e)));const l=q(),i=(a,l,i,d)=>y(a,(([c,u,g,v])=>{G(l,((o,[a])=>{const l=J(c,o,q),u=B(l,i),h=d?void 0:a;if(u!==h){const a=N([[u,h]]),d=j(l);H(l,i,h),O(B(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(z(n))return;const[a,l,i,d]=r;return o||=R(e),O(s,(([n,s])=>{o||(e=R(n)?l?.(e,s,t++):R(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?a(A(n),j(n)):e})(v[r],d,l,a,o);v[r]=R((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&f(r)?o:void 0})(i))?null:i}))}})),z(u)||!S(h,(e=>e((e=>v[e]))))?L.delRow(o,g):R(g)?a[2]=L.addRow(o,v):L.setRow(o,g,v)}));le(p,o,p.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=q(),h=p.hasRow(o,n);let g=!h;O(a,(e=>{const[t,r,a]=s(o,n,e);M(d,r),M(c,a),g||=t})),G(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&H(u,e,[r])})),g&&i(K(l,d,void 0,(([,e])=>(W(e,n),z(e)))),u,n,1),h&&i(K(l,c,(()=>{const e={};return O(a,(t=>e[t]=p.getCell(o,n,t))),[q(),N(),void 0,e]}),(([,e])=>{P(e,n)})),u,n)})))}de(o,r,p);const I=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);m(s,(t=>{const[n,,s,a,i]=B(v,t),d=s?.(l,e),[c,u]=B(i,e)??[];d!=c&&(R(u)||ae(o,u),H(i,e,R(d)?null:[d,...oe(o,1,r.addRowListener(n,d,(()=>I(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...R(n)?[a,e,t]:t===a?[a,e,n]:[B(v,t)?.[0],B(B(v,t)?.[4],e)?.[0],n]);p.transaction((()=>S(c,(e=>e(t)))?G(g,((n,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(p,o,e,n,s(t,e)))):p.delRow(o,e)))})(e)},{3:E}=B(v,null);return p.transaction((()=>oe(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?I(n,a,n,E):(p.delRow(o,n),O(v,(({4:e})=>y(B(e,n),(([,t])=>{ae(o,t),H(e,n)})))))}))))),ce},delQueryDefinition:e=>(ie(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=L.getListenerStats();return s}};var ue,he;return ue={[i]:[1,1],[i+v]:[0,1],[c]:[0,1],[u]:[0,1],[h]:[0,5],[d]:[1,2],[v]:[0,2],[g]:[1,3]},he=([e,t],n)=>{m(e?["get","has","forEach"]:["get"],(e=>ce[e+a+n]=(...t)=>L[e+n](...t))),ce["add"+a+n+o]=(...e)=>{return L["add"+n+o](...(s=e,
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,h="Sorted"+d+l,g="Cell",v=g+l,w=Math.max,L=Math.min,f=isFinite,R=e=>null==e,y=(e,t,n)=>R(e)?n?.():t(e),T=t=>e(t)==r,b=e=>Array.isArray(e),C=e=>e.length,p=()=>{},S=(e,t)=>e.every(t),m=(e,t)=>e.forEach(t),I=e=>E(e,((e,t)=>e+t),0),Q=e=>0==C(e),E=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),x=Object,D=x.freeze,j=e=>e?.size??0,k=(e,t)=>e?.has(t)??!1,z=e=>R(e)||0==j(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),B=(e,t)=>e?.get(t),G=(e,t)=>O(e,((e,n)=>t(n,e))),H=(e,t,n)=>R(n)?(W(e,t),e):e?.set(t,n),J=(e,t,n)=>(k(e,t)||H(e,t,n()),B(e,t)),K=(e,t,n,s,r=0)=>y((n?J:B)(e,t[r],r>C(t)-2?n:q),(o=>{if(r>C(t)-2)return s?.(o)&&H(e,t[r]),o;const a=K(o,t,n,s,r+1);return z(o)&&H(e,t[r]),a})),N=e=>new Set(b(e)||R(e)?e:[e]),P=(e,t)=>e?.add(t),U=q([["avg",[(e,t)=>I(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["min",[e=>L(...e),(e,t)=>L(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:L(t,e)]],["sum",[e=>I(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),V=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,w=l(),L=l(),I=q(),{addListener:E,callListeners:V,delListener:X}=L,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),l=q(),i=q(),d=q(),c=q(),u=q(),h=(t,n,...s)=>{const r=J(u,t,N);return m(s,(t=>P(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>y(B(u,t),(s=>{m(Q(n)?A(s):n,(t=>{e.delListener(t),W(s,t)})),z(s)&&H(u,t)})),v=(e,t)=>{H(a,e,t),k(l,e)||(H(l,e,!0),H(d,e,q()),H(c,e,q()),r(i))},w=e=>{H(a,e),H(l,e),H(d,e),H(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>G(l,e),e=>k(l,e),e=>B(a,e),e=>B(l,e),(e,t)=>H(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=q(),u=q(),w=B(d,t),L=B(c,t),f=t=>{const r=n=>e.getCell(s,t,n),d=B(w,t),c=o(s,t)?n(a(r,t)):void 0;var h,g;if(d===c||b(d)&&b(c)&&(g=c,C(h=d)===C(g)&&S(h,((e,t)=>g[t]===e)))||H(i,t,[d,c]),!R(l)){const e=B(L,t),n=o(s,t)?l(r,t):void 0;e!=n&&H(u,t,n)}},y=e=>{r((()=>{O(i,(([,e],t)=>H(w,t,e))),O(u,((e,t)=>H(L,t,e)))}),i,u,w,L,e),F(i),F(u)};G(w,f),e.hasTable(s)&&m(e.getRowIds(s),(e=>{k(w,e)||f(e)})),y(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>f(n))),e.addTableListener(s,(()=>y())))},w,e=>s(e,i),()=>G(u,w),h,g]})(r,0,p,E,V),le=(e,t,...n)=>m(n,(n=>P(J(J(I,t,q),e,N),n))),ie=e=>{y(B(I,e),(e=>{G(e,((e,t)=>O(t,(t=>e.delListener(t))))),F(e)})),m([L,w],(t=>t.delTable(e)))},de=(e,t,n)=>le(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,l)=>{te(o,a),ie(o);const i=[],d=[[null,[a,null,null,[],q()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=T(e)?[C(i)+"",e]:[R(t)?e:t,n=>n(e,t)];return M(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||T(t)?null:t,r=R(s)?t:n,o=[e,[e,s,T(r)?r:e=>e(r),[],q()]];return M(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>M(c,T(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,T(t)?[t,n,s,r]:B(U,t)??[(e,t)=>t]]];return M(u,o),{as:e=>o[0]=e}},having:(e,t)=>M(h,T(e)?e:n=>n(e)===t)});const g=q(i);if(z(g))return ce;const v=q(d);G(v,((e,[,t])=>y(B(v,t),(({3:t})=>R(e)?0:M(t,e)))));const b=q(u);let p=w;if(z(b)&&Q(h))p=L;else{de(o,p,L);const r=q();G(b,((e,[t,n])=>P(J(r,t,N),[e,n])));const a=N();G(g,(e=>k(r,e)?0:P(a,e)));const l=q(),i=(a,l,i,d)=>y(a,(([c,u,g,v])=>{G(l,((o,[a])=>{const l=J(c,o,q),u=B(l,i),h=d?void 0:a;if(u!==h){const a=N([[u,h]]),d=j(l);H(l,i,h),O(B(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(z(n))return;const[a,l,i,d]=r;return o||=R(e),O(s,(([n,s])=>{o||(e=R(n)?l?.(e,s,t++):R(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?a(A(n),j(n)):e})(v[r],d,l,a,o);v[r]=R((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&f(r)?o:void 0})(i))?null:i}))}})),z(u)||!S(h,(e=>e((e=>v[e]))))?L.delRow(o,g):R(g)?a[2]=L.addRow(o,v):L.setRow(o,g,v)}));le(p,o,p.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=q(),h=p.hasRow(o,n);let g=!h;O(a,(e=>{const[t,r,a]=s(o,n,e);M(d,r),M(c,a),g||=t})),G(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&H(u,e,[r])})),g&&i(K(l,d,void 0,(([,e])=>(W(e,n),z(e)))),u,n,1),h&&i(K(l,c,(()=>{const e={};return O(a,(t=>e[t]=p.getCell(o,n,t))),[q(),N(),void 0,e]}),(([,e])=>{P(e,n)})),u,n)})))}de(o,r,p);const I=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);m(s,(t=>{const[n,,s,a,i]=B(v,t),d=s?.(l,e),[c,u]=B(i,e)??[];d!=c&&(R(u)||ae(o,u),H(i,e,R(d)?null:[d,...oe(o,1,r.addRowListener(n,d,(()=>I(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...R(n)?[a,e,t]:t===a?[a,e,n]:[B(v,t)?.[0],B(B(v,t)?.[4],e)?.[0],n]);p.transaction((()=>S(c,(e=>e(t)))?G(g,((n,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(p,o,e,n,s(t,e)))):p.delRow(o,e)))})(e)},{3:E}=B(v,null);return p.transaction((()=>oe(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?I(n,a,n,E):(p.delRow(o,n),O(v,(({4:e})=>y(B(e,n),(([,t])=>{ae(o,t),H(e,n)})))))}))))),ce},delQueryDefinition:e=>(ie(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=L.getListenerStats();return s}};var ue,he;return ue={[i]:[1,1],[i+v]:[0,1],[c]:[0,1],[u]:[0,1],[h]:[0,5],[d]:[1,2],[v]:[0,2],[g]:[1,3]},he=([e,t],n)=>{m(e?["get","has","forEach"]:["get"],(e=>ce[e+a+n]=(...t)=>L[e+n](...t))),ce["add"+a+n+o]=(...e)=>{return L["add"+n+o](...(s=e,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)),!0);var s,r}},((e,t)=>{e.map(t)})(x.entries(ue),(([e,t])=>he(t,e))),D(ce)})(r)),l.get(r))})();export{V as createQueries};
|
package/lib/queries.js.gz
CHANGED
|
Binary file
|
package/lib/umd/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),s=t(t),i=Math.max,o=Math.min,a=isFinite,c=e=>null==e,d=(e,t,n)=>c(e)?n?.():t(e),l=e=>Array.isArray(e),u=e=>e.length,f=()=>{},h=(e,t)=>e.forEach(t),v=e=>M(e,((e,t)=>e+t),0),M=(e,t,n)=>e.reduce(t,n),g=(e,...t)=>e.push(...t),p=Object.freeze,y=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,L=e=>c(e)||0==y(e),b=e=>[...e?.values()??[]],w=e=>e.clear(),T=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),I=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>T(e,((e,n)=>t(n,e))),S=(e,t,n)=>c(n)?(x(e,t),e):e?.set(t,n),j=(e,t,n)=>(m(e,t)||S(e,t,n()),E(e,t)),k=(e,t,n,r,s=0)=>d((n?j:E)(e,t[s],s>u(t)-2?n:I),(i=>{if(s>u(t)-2)return r?.(i)&&S(e,t[s]),i;const o=k(i,t,n,r,s+1);return L(i)&&S(e,t[s]),o})),z=I([["avg",[(e,t)=>v(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,r)=>e+(t-n)/r]],["max",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:i(t,e)]],["min",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:o(t,e)]],["sum",[e=>v(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),A=e=>new Set(l(e)||c(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,B=(e=>{const i=new WeakMap;return e=>(i.has(e)||i.set(e,(e=>{const i=I(),[o,v,M]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[r=>(r?e.shift():null)??n+t++,t=>{N.test(t)&&u(e)<1e3&&g(e,t)}]})(),i=I();return[(e,s,o,a=[],c=(()=>[]))=>{t??=P;const d=r(1);return S(i,d,[e,s,o,a,c]),D(k(s,o??[n],A),d),d},(e,r,...s)=>h(((e,t=[n])=>{const r=[],s=(e,n)=>n==u(t)?g(r,e):null===t[n]?T(e,(e=>s(e,n+1))):h([t[n],null],(t=>s(E(e,t),n+1)));return s(e,0),r})(e,r),(e=>T(e,(e=>E(i,e)[0](t,...r??[],...s))))),e=>d(E(i,e),(([,t,r])=>(k(t,r??[n],void 0,(t=>(x(t,e),L(t)?1:0))),S(i,e),s(e),r))),e=>d(E(i,e),(([e,,n=[],r,s])=>{const i=(...o)=>{const a=u(o);a==u(n)?e(t,...o,...s(o)):c(n[a])?h(r[a]?.(...o)??[],(e=>i(...o,e))):i(...o,n[a])};i()}))]})(),[B,C,F,O,W,$,q,,G,H,J,K]=((e,t,r,s,i)=>{const o=e.hasRow,a=I(),f=I(),v=I(),M=I(),g=I(),p=I(),y=(t,n,...r)=>{const s=j(p,t,A);return h(r,(t=>D(s,t)&&n&&e.callListener(t))),r},k=(t,...n)=>d(E(p,t),(r=>{h(0==u(n)?b(r):n,(t=>{e.delListener(t),x(r,t)})),L(r)&&S(p,t)})),z=(e,n)=>{S(a,e,n),m(f,e)||(S(f,e,t()),S(M,e,I()),S(g,e,I()),i(v))},N=e=>{S(a,e),S(f,e),S(M,e),S(g,e),k(e),i(v)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>R(f,e),e=>m(f,e),e=>E(a,e),e=>E(f,e),(e,t)=>S(f,e,t),z,(t,r,s,i,a)=>{z(t,r);const d=I(),f=I(),v=E(M,t),p=E(g,t),L=t=>{const s=n=>e.getCell(r,t,n),h=E(v,t),M=o(r,t)?(g=i(s,t),isNaN(g)||c(g)||!0===g||!1===g||g===n?void 0:1*g):void 0;var g,y,m,L;if(h===M||l(h)&&l(M)&&(m=M,u(y=h)===u(m)&&(L=(e,t)=>m[t]===e,y.every(L)))||S(d,t,[h,M]),!c(a)){const e=E(p,t),n=o(r,t)?a(s,t):void 0;e!=n&&S(f,t,n)}},b=e=>{s((()=>{T(d,(([,e],t)=>S(v,t,e))),T(f,((e,t)=>S(p,t,e)))}),d,f,v,p,e),w(d),w(f)};R(v,L),e.hasTable(r)&&h(e.getRowIds(r),(e=>{m(v,e)||L(e)})),b(!0),k(t),y(t,0,e.addRowListener(r,null,((e,t,n)=>L(n))),e.addTableListener(r,(()=>b())))},N,e=>s(e,v),()=>R(p,N),y,k]})(e,f,0,o,v),P={setMetricDefinition:(e,n,o,d,l,u,f)=>{const h=t(o)==s?[o,l,u,f]:E(z,o)??E(z,"sum");return G(e,n,((t,n,r,s,o,d)=>{const l=$(e),u=y(s);d||=c(l),t();let f=((e,t,n,r,s,i=!1)=>{if(L(n))return;const[o,a,d,l]=s;return i||=c(e),T(r,(([n,r])=>{i||(e=c(n)?a?.(e,r,t++):c(r)?d?.(e,n,t--):l?.(e,r,n,t),i||=c(e))})),i?o(b(n),y(n)):e})(l,u,s,n,h,d);a(f)||(f=void 0),f!=l&&(q(e,f),v(i,[e],f,l))}),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),s=t(t),i=Math.max,o=Math.min,a=isFinite,c=e=>null==e,d=(e,t,n)=>c(e)?n?.():t(e),l=e=>Array.isArray(e),u=e=>e.length,f=()=>{},h=(e,t)=>e.forEach(t),v=e=>M(e,((e,t)=>e+t),0),M=(e,t,n)=>e.reduce(t,n),g=(e,...t)=>e.push(...t),p=Object.freeze,y=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,L=e=>c(e)||0==y(e),b=e=>[...e?.values()??[]],w=e=>e.clear(),T=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),I=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>T(e,((e,n)=>t(n,e))),S=(e,t,n)=>c(n)?(x(e,t),e):e?.set(t,n),j=(e,t,n)=>(m(e,t)||S(e,t,n()),E(e,t)),k=(e,t,n,r,s=0)=>d((n?j:E)(e,t[s],s>u(t)-2?n:I),(i=>{if(s>u(t)-2)return r?.(i)&&S(e,t[s]),i;const o=k(i,t,n,r,s+1);return L(i)&&S(e,t[s]),o})),z=I([["avg",[(e,t)=>v(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,r)=>e+(t-n)/r]],["max",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:i(t,e)]],["min",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:o(t,e)]],["sum",[e=>v(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),A=e=>new Set(l(e)||c(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,B=(e=>{const i=new WeakMap;return e=>(i.has(e)||i.set(e,(e=>{const i=I(),[o,v,M]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[r=>(r?e.shift():null)??n+t++,t=>{N.test(t)&&u(e)<1e3&&g(e,t)}]})(),i=I();return[(e,s,o,a=[],c=(()=>[]))=>{t??=P;const d=r(1);return S(i,d,[e,s,o,a,c]),D(k(s,o??[n],A),d),d},(e,r,...s)=>h(((e,t=[n])=>{const r=[],s=(e,n)=>n==u(t)?g(r,e):null===t[n]?T(e,(e=>s(e,n+1))):h([t[n],null],(t=>s(E(e,t),n+1)));return s(e,0),r})(e,r),(e=>T(e,(e=>E(i,e)[0](t,...r??[],...s))))),e=>d(E(i,e),(([,t,r])=>(k(t,r??[n],void 0,(t=>(x(t,e),L(t)?1:0))),S(i,e),s(e),r))),e=>d(E(i,e),(([e,,n=[],r,s])=>{const i=(...o)=>{const a=u(o);a==u(n)?e(t,...o,...s(o)):c(n[a])?h(r[a]?.(...o)??[],(e=>i(...o,e))):i(...o,n[a])};i()}))]})(),[B,C,F,O,W,$,q,,G,H,J,K]=((e,t,r,s,i)=>{const o=e.hasRow,a=I(),f=I(),v=I(),M=I(),g=I(),p=I(),y=(t,n,...r)=>{const s=j(p,t,A);return h(r,(t=>D(s,t)&&n&&e.callListener(t))),r},k=(t,...n)=>d(E(p,t),(r=>{h(0==u(n)?b(r):n,(t=>{e.delListener(t),x(r,t)})),L(r)&&S(p,t)})),z=(e,n)=>{S(a,e,n),m(f,e)||(S(f,e,t()),S(M,e,I()),S(g,e,I()),i(v))},N=e=>{S(a,e),S(f,e),S(M,e),S(g,e),k(e),i(v)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>R(f,e),e=>m(f,e),e=>E(a,e),e=>E(f,e),(e,t)=>S(f,e,t),z,(t,r,s,i,a)=>{z(t,r);const d=I(),f=I(),v=E(M,t),p=E(g,t),L=t=>{const s=n=>e.getCell(r,t,n),h=E(v,t),M=o(r,t)?(g=i(s,t),isNaN(g)||c(g)||!0===g||!1===g||g===n?void 0:1*g):void 0;var g,y,m,L;if(h===M||l(h)&&l(M)&&(m=M,u(y=h)===u(m)&&(L=(e,t)=>m[t]===e,y.every(L)))||S(d,t,[h,M]),!c(a)){const e=E(p,t),n=o(r,t)?a(s,t):void 0;e!=n&&S(f,t,n)}},b=e=>{s((()=>{T(d,(([,e],t)=>S(v,t,e))),T(f,((e,t)=>S(p,t,e)))}),d,f,v,p,e),w(d),w(f)};R(v,L),e.hasTable(r)&&h(e.getRowIds(r),(e=>{m(v,e)||L(e)})),b(!0),k(t),y(t,0,e.addRowListener(r,null,((e,t,n)=>L(n))),e.addTableListener(r,(()=>b())))},N,e=>s(e,v),()=>R(p,N),y,k]})(e,f,0,o,v),P={setMetricDefinition:(e,n,o,d,l,u,f)=>{const h=t(o)==s?[o,l,u,f]:E(z,o)??E(z,"sum");return G(e,n,((t,n,r,s,o,d)=>{const l=$(e),u=y(s);d||=c(l),t();let f=((e,t,n,r,s,i=!1)=>{if(L(n))return;const[o,a,d,l]=s;return i||=c(e),T(r,(([n,r])=>{i||(e=c(n)?a?.(e,r,t++):c(r)?d?.(e,n,t--):l?.(e,r,n,t),i||=c(e))})),i?o(b(n),y(n)):e})(l,u,s,n,h,d);a(f)||(f=void 0),f!=l&&(q(e,f),v(i,[e],f,l))}),t(M=d)==r?e=>e(M):M??(()=>1)),P;var M},delMetricDefinition:e=>(H(e),P),getStore:B,getMetricIds:C,forEachMetric:F,hasMetric:O,getTableId:W,getMetric:$,addMetricIdsListener:J,addMetricListener:(e,t)=>o(t,i,[e]),delListener:e=>(M(e),P),destroy:K,getListenerStats:()=>({})};return p(P)})(e)),i.get(e))})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
|
package/lib/umd/metrics.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),p=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),m=a=>0==u(a),v=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),N=Object,C=a=>N.getPrototypeOf(a),L=N.keys,R=N.freeze,S=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),b=(a,t)=>f(N.entries(a),(([a,e])=>t(e,a))),I=a=>N.values(a),D=a=>u(L(a)),P=a=>(a=>!l(a)&&y(C(a),(a=>a==N.prototype||l(C(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(A(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),W="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",Y=a=>new Set(Array.isArray(a)||l(a)?a:[a]),k=(a,t)=>a?.add(t),q="TABLE",G="ALTER "+q,z="DELETE FROM",K=U+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,S(await E(f(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(f(await a(U+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?S(v(f(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=Y();b(c??{},(a=>f(L(a??{}),(a=>k(d,a)))));const u=O(d);if(!w&&y&&m(u)&&A(o,t))return await a("DROP "+q+J(t)),void x(o,t);if(m(u)||A(o,t)){const n=F(o,t),i=Y(_(n));await E([...f(u,(async e=>{h(i,e)||(await a(G+J(t)+"ADD"+J(e)),x(n,e,s))})),...!w&&r?f(O(i),(async s=>{s!=e&&(await a(G+J(t)+"DROP"+J(s)),x(n,s))})):[]])}else await a("CREATE "+q+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${p(f(u,(a=>n+J(a))))});`),x(o,t,$([[e,s],...f(u,(a=>[a,s]))]));if(w)l(c)?await a(z+J(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):m(u)||await Z(a,t,e,L(s),[n,...I(s)],i)})));else if(m(u))A(o,t)&&await a(z+J(t)+Q+" 1");else{const s=v(_(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...f(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+p(f(i,(a=>n+J(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+p(f(i,(a=>J(a)+"=excluded."+J(a))),n):s),f(c,(a=>a??null))),aa=a=>p(f(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,p=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const f=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(u),u=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(y(w,a.delListener),w=void 0,m),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}x(ea,r,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),R(m)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[W]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[W]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,p)=>{const[f,m,T,A]=X(t,w,n,p),O=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),h=async(a,t)=>r?await T(y,H,{[W]:a},!0,!0,t):null;return na(a,(async()=>await A((async()=>{await f();const a=await(async()=>S(v(await E(M(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await m(y,H))[W]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await f(),l(t)){const[t,e]=a();await O(t),await h(e)}else{const[a,e]=t();await O(a,!0),await h(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),p=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),m=a=>0==u(a),v=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),N=Object,C=a=>N.getPrototypeOf(a),L=N.keys,R=N.freeze,S=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),b=(a,t)=>f(N.entries(a),(([a,e])=>t(e,a))),I=a=>N.values(a),D=a=>u(L(a)),P=a=>(a=>!l(a)&&y(C(a),(a=>a==N.prototype||l(C(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(A(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),W="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",Y=a=>new Set(Array.isArray(a)||l(a)?a:[a]),k=(a,t)=>a?.add(t),q="TABLE",G="ALTER "+q,z="DELETE FROM",K=U+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,S(await E(f(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(f(await a(U+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?S(v(f(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=Y();b(c??{},(a=>f(L(a??{}),(a=>k(d,a)))));const u=O(d);if(!w&&y&&m(u)&&A(o,t))return await a("DROP "+q+J(t)),void x(o,t);if(m(u)||A(o,t)){const n=F(o,t),i=Y(_(n));await E([...f(u,(async e=>{h(i,e)||(await a(G+J(t)+"ADD"+J(e)),x(n,e,s))})),...!w&&r?f(O(i),(async s=>{s!=e&&(await a(G+J(t)+"DROP"+J(s)),x(n,s))})):[]])}else await a("CREATE "+q+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${p(f(u,(a=>n+J(a))))});`),x(o,t,$([[e,s],...f(u,(a=>[a,s]))]));if(w)l(c)?await a(z+J(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):m(u)||await Z(a,t,e,L(s),[n,...I(s)],i)})));else if(m(u))A(o,t)&&await a(z+J(t)+Q+" 1");else{const s=v(_(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...f(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+p(f(i,(a=>n+J(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+p(f(i,(a=>J(a)+"=excluded."+J(a))),n):s),f(c,(a=>a??null))),aa=a=>p(f(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,p=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const f=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(u),u=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(y(w,a.delListener),w=void 0,m),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}x(ea,r,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),R(m)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[W]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[W]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,p)=>{const[f,m,T,A]=X(t,w,n,p),O=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),h=async(a,t)=>r?await T(y,H,{[W]:a},!0,!0,t):null;return na(a,(async()=>await A((async()=>{await f();const a=await(async()=>S(v(await E(M(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await m(y,H))[W]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await f(),l(t)){const[t,e]=a();await O(t),await h(e)}else{const[a,e]=t();await O(a,!0),await h(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",da="tableId",ua="tableName",Ea="deleteEmptyColumns",pa="deleteEmptyTable",fa={mode:ra,[la]:1},ma={load:0,save:0,[ua]:e+"_values"},va=(a,t,e,s)=>{const n=$();return b(a,((a,i)=>{const o=d(I(g(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(i,o[0])||x(n,i,o)})),n},Ta="pragma_",Aa="data_version",Oa="schema_version",ha=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let E,p,f;const[m,v,T,A]=(a=>{const t=(a=>g(fa,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(I(g(ma,o)),0,D(ma)),r=c[2],l=Y(r);return[0,s,[va(n,{[da]:null,[wa]:H},da,(a=>k(l,a)&&a==r)),va(i,{[ua]:null,[wa]:H,[Ea]:0,[pa]:0},ua,((a,t)=>k(l,t)&&t==r)),c],l]})(t);return(m?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${Aa} JOIN ${Ta}${Oa}`);t==(E??=t)&&e==(p??=e)&&n==(f??=n)||(a(),E=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=f=null,i(t)}),c,T,O(A),l,y,u)};a.createCrSqliteWasmPersister=(a,t,e,s,n)=>ha(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>o.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,C=a=>N.getPrototypeOf(a),L=N.keys,R=N.freeze,S=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),g=(a,t)=>p(N.entries(a),(([a,e])=>t(e,a))),D=a=>N.values(a),I=a=>u(L(a)),P=a=>(a=>!l(a)&&y(C(a),(a=>a==N.prototype||l(C(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),x=(a,t,e)=>(h(a,t)||j(a,t,e()),F(a,t)),B=(a,t,e,s=j)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const c=$();return[async()=>B(c,S(await E(p(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(c,t,B(x(c,t,$),e,((a,t,e)=>{e!=F(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(c,t))),async(t,e)=>((a,t)=>!l(F(F(c,a),t)))(t,e)?S(m(p(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,o,r,y,w=!1)=>{const d=k();g(o??{},(a=>p(L(a??{}),(a=>G(d,a)))));const u=A(d);if(!w&&y&&v(u)&&h(c,t))return await a("DROP "+U+J(t)),void j(c,t);if(v(u)||h(c,t)){const n=F(c,t),i=k(_(n));await E([...p(u,(async e=>{O(i,e)||(await a(W+J(t)+"ADD"+J(e)),j(n,e,s))})),...!w&&r?p(A(i),(async s=>{s!=e&&(await a(W+J(t)+"DROP"+J(s)),j(n,s))})):[]])}else await a("CREATE "+U+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>n+J(a))))});`),j(c,t,$([[e,s],...p(u,(a=>[a,s]))]));if(w)l(o)?await a(z+J(t)+Q+" 1"):await E(g(o,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):v(u)||await Z(a,t,e,L(s),[n,...D(s)],i)})));else if(v(u))h(c,t)&&await a(z+J(t)+Q+" 1");else{const s=m(_(F(c,t)),(a=>a!=e)),n=[],r=[];g(o??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+f(p(i,(a=>n+J(a))))+")VALUES"+d(c(`,(?${c(",?",u(i))})`,u(o)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(p(i,(a=>J(a)+"=excluded."+J(a))),n):s),p(o,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[c,o]=[],r=[])=>{let w,d,u,E=0,f=0;x(ea,r,(()=>0)),x(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(j(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}j(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(v[c]=()=>o),R(v)},ia="store",ca=(a,t,e,s,n,[i],c,o,r,l)=>{const[y,w,d,u]=X(t,c,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},oa=(a,t,e,s,n,[i,c,[o,r,y]],w,d,u,f)=>{const[p,v,T,h]=X(t,w,n,f),A=async(a,t)=>await E(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),O=async(a,t)=>r?await T(y,H,{[q]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await p();const a=await(async()=>S(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await v(y,H))[q]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await A(t),await O(e)}else{const[a,e]=t();await A(a,!0),await O(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>o.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,C=a=>N.getPrototypeOf(a),L=N.keys,R=N.freeze,S=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),g=(a,t)=>p(N.entries(a),(([a,e])=>t(e,a))),D=a=>N.values(a),I=a=>u(L(a)),P=a=>(a=>!l(a)&&y(C(a),(a=>a==N.prototype||l(C(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),x=(a,t,e)=>(h(a,t)||j(a,t,e()),F(a,t)),B=(a,t,e,s=j)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const c=$();return[async()=>B(c,S(await E(p(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(c,t,B(x(c,t,$),e,((a,t,e)=>{e!=F(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(c,t))),async(t,e)=>((a,t)=>!l(F(F(c,a),t)))(t,e)?S(m(p(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,o,r,y,w=!1)=>{const d=k();g(o??{},(a=>p(L(a??{}),(a=>G(d,a)))));const u=A(d);if(!w&&y&&v(u)&&h(c,t))return await a("DROP "+U+J(t)),void j(c,t);if(v(u)||h(c,t)){const n=F(c,t),i=k(_(n));await E([...p(u,(async e=>{O(i,e)||(await a(W+J(t)+"ADD"+J(e)),j(n,e,s))})),...!w&&r?p(A(i),(async s=>{s!=e&&(await a(W+J(t)+"DROP"+J(s)),j(n,s))})):[]])}else await a("CREATE "+U+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>n+J(a))))});`),j(c,t,$([[e,s],...p(u,(a=>[a,s]))]));if(w)l(o)?await a(z+J(t)+Q+" 1"):await E(g(o,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):v(u)||await Z(a,t,e,L(s),[n,...D(s)],i)})));else if(v(u))h(c,t)&&await a(z+J(t)+Q+" 1");else{const s=m(_(F(c,t)),(a=>a!=e)),n=[],r=[];g(o??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+f(p(i,(a=>n+J(a))))+")VALUES"+d(c(`,(?${c(",?",u(i))})`,u(o)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(p(i,(a=>J(a)+"=excluded."+J(a))),n):s),p(o,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[c,o]=[],r=[])=>{let w,d,u,E=0,f=0;x(ea,r,(()=>0)),x(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(j(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}j(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(v[c]=()=>o),R(v)},ia="store",ca=(a,t,e,s,n,[i],c,o,r,l)=>{const[y,w,d,u]=X(t,c,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},oa=(a,t,e,s,n,[i,c,[o,r,y]],w,d,u,f)=>{const[p,v,T,h]=X(t,w,n,f),A=async(a,t)=>await E(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),O=async(a,t)=>r?await T(y,H,{[q]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await p();const a=await(async()=>S(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await v(y,H))[q]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await A(t),await O(e)}else{const[a,e]=t();await A(a,!0),await O(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",da="tableId",ua="tableName",Ea="deleteEmptyColumns",fa="deleteEmptyTable",pa={mode:ra,[la]:1},va={load:0,save:0,[ua]:e+"_values"},ma=(a,t,e,s)=>{const n=$();return g(a,((a,i)=>{const c=d(D(b(t,w(a)?{[e]:a}:a)),0,I(t));l(c[0])||s(i,c[0])||j(n,i,c)})),n},Ta="pragma_",ha="data_version",Aa="schema_version",Oa=(a,t,s,n,i,c,o,l,y="getDb",u)=>{let E,f,p;const[v,m,T,h]=(a=>{const t=(a=>b(pa,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=d(D(b(va,c)),0,I(va)),r=o[2],l=k(r);return[0,s,[ma(n,{[da]:null,[wa]:H},da,(a=>G(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:H,[Ea]:0,[fa]:0},ua,((a,t)=>G(l,t)&&t==r)),o],l]})(t);return(v?ca:oa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ha} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${ha} JOIN ${Ta}${Aa}`);t==(E??=t)&&e==(f??=e)&&n==(p??=n)||(a(),E=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=f=p=null,i(t)}),o,T,A(h),l,y,u)};a.createElectricSqlPersister=(a,t,e,s,n)=>Oa(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n="",i=",",o=e(n),c=(a,t)=>a.repeat(t),r=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==o,u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==p(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,C=a=>L.getPrototypeOf(a),R=L.keys,S=L.freeze,g=(a=[])=>L.fromEntries(a),b=(...a)=>L.assign({},...a),x=(a,t)=>v(L.entries(a),(([a,e])=>t(e,a))),D=a=>L.values(a),I=a=>p(R(a)),P=a=>(a=>!y(a)&&w(C(a),(a=>a==L.prototype||y(C(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),j=(a,t,e)=>(T(a,t)||q(a,t,e()),F(a,t)),B=(a,t,e,s=q)=>(x(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!y(((a,t)=>w(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",G=a=>new Set(Array.isArray(a)||y(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",V=k+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,e,s)=>{const o=$();return[async()=>B(o,g(await E(v(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,g(v(await a(k+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!y(F(F(o,a),t)))(t,e)?g(A(v(await a(V+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!P(t)))):{},async(t,e,c,r,l,w=!1)=>{const d=G();x(c??{},(a=>v(R(a??{}),(a=>U(d,a)))));const u=h(d);if(!w&&l&&m(u)&&T(o,t))return await a("DROP "+W+Y(t)),void q(o,t);if(m(u)||T(o,t)){const s=F(o,t),i=G(_(s));await E([...v(u,(async e=>{O(i,e)||(await a(z+Y(t)+"ADD"+Y(e)),q(s,e,n))})),...!w&&r?v(h(i),(async n=>{n!=e&&(await a(z+Y(t)+"DROP"+Y(n)),q(s,n))})):[]])}else await a("CREATE "+W+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>i+Y(a))))});`),q(o,t,$([[e,n],...v(u,(a=>[a,n]))]));if(w)y(c)?await a(K+Y(t)+X+" 1"):await E(x(c,(async(n,i)=>{y(n)?await a(K+Y(t)+X+Y(e)+"=?",[i]):m(u)||await aa(a,t,e,R(n),[i,...D(n)],s)})));else if(m(u))T(o,t)&&await a(K+Y(t)+X+" 1");else{const n=A(_(F(o,t)),(a=>a!=e)),i=[],r=[];x(c??{},((a,t)=>{N(i,t,...v(n,(t=>a?.[t]))),N(r,t)})),await aa(a,t,e,n,i,s),await a(K+Y(t)+X+Y(e)+"NOT IN("+ta(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},aa=async(a,t,e,s,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+f(v(s,(a=>i+Y(a))))+")VALUES"+u(c(`,(?${c(",?",p(s))})`,p(o)/(p(s)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+f(v(s,(a=>Y(a)+"=excluded."+Y(a))),i):n),v(o,(a=>a??null))),ta=a=>f(v(a,(()=>"?")),i),ea=JSON.parse,sa=$(),na=$(),ia=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let l,d,u,p=0,E=0;j(sa,r,(()=>0)),j(na,r,(()=>[]));const f=async a=>(2!=p&&(p=1,await v.schedule((async()=>{await a(),p=0}))),v),v={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),E=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(E&&(n(u),u=void 0,E=0),v),save:async t=>(1!=p&&(p=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}p=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),l=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(w(l,a.delListener),l=void 0,v),schedule:async(...a)=>(N(F(na,r),...a),await(async()=>{if(!F(sa,r)){for(q(sa,r,1);!y((a=F(na,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}q(sa,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),S(v)},oa="store",ca=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=Z(t,o,n,l);return ia(a,(async()=>await u((async()=>(await y(),ea((await w(i,J))[H]?.[oa]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,J,{[H]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ra=(a,t,e,s,n,[i,o,[c,r,l]],w,d,u,p)=>{const[f,v,m,N]=Z(t,w,n,p),T=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await m(e,s,c,n,i,t)}))),h=async(a,t)=>r?await m(l,J,{[H]:a},!0,!0,t):null;return ia(a,(async()=>await N((async()=>{await f();const a=await(async()=>g(A(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(l,J))[H]:{})();return P(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await f(),y(t)){const[t,e]=a();await T(t),await h(e)}else{const[a,e]=t();await T(a,!0),await h(e,!0)}}))),e,s,n,[u,d],d)},la="json",ya="autoLoadIntervalSeconds",wa="
|
|
1
|
+
var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n="",i=",",o=e(n),c=(a,t)=>a.repeat(t),r=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==o,u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==p(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,C=a=>L.getPrototypeOf(a),R=L.keys,S=L.freeze,g=(a=[])=>L.fromEntries(a),b=(...a)=>L.assign({},...a),x=(a,t)=>v(L.entries(a),(([a,e])=>t(e,a))),D=a=>L.values(a),I=a=>p(R(a)),P=a=>(a=>!y(a)&&w(C(a),(a=>a==L.prototype||y(C(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),j=(a,t,e)=>(T(a,t)||q(a,t,e()),F(a,t)),B=(a,t,e,s=q)=>(x(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!y(((a,t)=>w(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",G=a=>new Set(Array.isArray(a)||y(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",V=k+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,e,s)=>{const o=$();return[async()=>B(o,g(await E(v(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,g(v(await a(k+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!y(F(F(o,a),t)))(t,e)?g(A(v(await a(V+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!P(t)))):{},async(t,e,c,r,l,w=!1)=>{const d=G();x(c??{},(a=>v(R(a??{}),(a=>U(d,a)))));const u=h(d);if(!w&&l&&m(u)&&T(o,t))return await a("DROP "+W+Y(t)),void q(o,t);if(m(u)||T(o,t)){const s=F(o,t),i=G(_(s));await E([...v(u,(async e=>{O(i,e)||(await a(z+Y(t)+"ADD"+Y(e)),q(s,e,n))})),...!w&&r?v(h(i),(async n=>{n!=e&&(await a(z+Y(t)+"DROP"+Y(n)),q(s,n))})):[]])}else await a("CREATE "+W+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>i+Y(a))))});`),q(o,t,$([[e,n],...v(u,(a=>[a,n]))]));if(w)y(c)?await a(K+Y(t)+X+" 1"):await E(x(c,(async(n,i)=>{y(n)?await a(K+Y(t)+X+Y(e)+"=?",[i]):m(u)||await aa(a,t,e,R(n),[i,...D(n)],s)})));else if(m(u))T(o,t)&&await a(K+Y(t)+X+" 1");else{const n=A(_(F(o,t)),(a=>a!=e)),i=[],r=[];x(c??{},((a,t)=>{N(i,t,...v(n,(t=>a?.[t]))),N(r,t)})),await aa(a,t,e,n,i,s),await a(K+Y(t)+X+Y(e)+"NOT IN("+ta(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},aa=async(a,t,e,s,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+f(v(s,(a=>i+Y(a))))+")VALUES"+u(c(`,(?${c(",?",p(s))})`,p(o)/(p(s)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+f(v(s,(a=>Y(a)+"=excluded."+Y(a))),i):n),v(o,(a=>a??null))),ta=a=>f(v(a,(()=>"?")),i),ea=JSON.parse,sa=$(),na=$(),ia=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let l,d,u,p=0,E=0;j(sa,r,(()=>0)),j(na,r,(()=>[]));const f=async a=>(2!=p&&(p=1,await v.schedule((async()=>{await a(),p=0}))),v),v={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),E=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(E&&(n(u),u=void 0,E=0),v),save:async t=>(1!=p&&(p=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}p=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),l=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(w(l,a.delListener),l=void 0,v),schedule:async(...a)=>(N(F(na,r),...a),await(async()=>{if(!F(sa,r)){for(q(sa,r,1);!y((a=F(na,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}q(sa,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),S(v)},oa="store",ca=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=Z(t,o,n,l);return ia(a,(async()=>await u((async()=>(await y(),ea((await w(i,J))[H]?.[oa]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,J,{[H]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ra=(a,t,e,s,n,[i,o,[c,r,l]],w,d,u,p)=>{const[f,v,m,N]=Z(t,w,n,p),T=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await m(e,s,c,n,i,t)}))),h=async(a,t)=>r?await m(l,J,{[H]:a},!0,!0,t):null;return ia(a,(async()=>await N((async()=>{await f();const a=await(async()=>g(A(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(l,J))[H]:{})();return P(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await f(),y(t)){const[t,e]=a();await T(t),await h(e)}else{const[a,e]=t();await T(a,!0),await h(e,!0)}}))),e,s,n,[u,d],d)},la="json",ya="autoLoadIntervalSeconds",wa="storeTableName",da="rowIdColumnName",ua="tableId",pa="tableName",Ea="deleteEmptyColumns",fa="deleteEmptyTable",va={mode:la,[ya]:1},ma={load:0,save:0,[pa]:s+"_values"},Aa=(a,t,e,s)=>{const n=$();return x(a,((a,i)=>{const o=u(D(b(t,d(a)?{[e]:a}:a)),0,I(t));y(o[0])||s(i,o[0])||q(n,i,o)})),n},Na="pragma_",Ta="data_version",ha="schema_version",Oa=(a,t,e,n,i,o,c,r,y="getDb",w)=>{let p,E,f;const[v,m,A,N]=(a=>{const t=(a=>b(va,d(a)?{[wa]:a}:a??{}))(a),e=t[ya];if(t.mode==la){const{storeTableName:a=s}=t;return[1,e,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=u(D(b(ma,o)),0,I(ma)),r=c[2],l=G(r);return[0,e,[Aa(n,{[ua]:null,[da]:J},ua,(a=>U(l,a)&&a==r)),Aa(i,{[pa]:null,[da]:J,[Ea]:0,[fa]:0},pa,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?ca:ra)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:s,c:n}]=await e(`SELECT ${Ta} d,${ha} s,TOTAL_CHANGES() c FROM ${Na}${Ta} JOIN ${Na}${ha}`);t==(p??=t)&&s==(E??=s)&&n==(f??=n)||(a(),p=t,E=s)}catch{}},s=m,t(),setInterval(t,1e3*s)),n((t=>N.has(t)?a():0))];var t,s}),(([a,t])=>{l(a),p=E=f=null,i(t)}),c,A,h(N),r,y,w)};a.createExpoSqliteNextPersister=(a,e,s,n,i)=>Oa(a,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),p=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,C=a=>O.getPrototypeOf(a),L=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),g=(...a)=>O.assign({},...a),b=(a,t)=>f(O.entries(a),(([a,e])=>t(e,a))),D=a=>O.values(a),I=a=>u(L(a)),P=a=>(a=>!l(a)&&y(C(a),(a=>a==O.prototype||l(C(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),F=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(T(a,t)||M(a,t,e()),x(a,t)),B=(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)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,S(await E(f(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(f(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=x(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?S(m(f(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=k();b(c??{},(a=>f(L(a??{}),(a=>G(d,a)))));const u=h(d);if(!w&&y&&v(u)&&T(o,t))return await a("DROP "+U+J(t)),void M(o,t);if(v(u)||T(o,t)){const n=x(o,t),i=k(_(n));await E([...f(u,(async e=>{N(i,e)||(await a(W+J(t)+"ADD"+J(e)),M(n,e,s))})),...!w&&r?f(h(i),(async s=>{s!=e&&(await a(W+J(t)+"DROP"+J(s)),M(n,s))})):[]])}else await a("CREATE "+U+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${p(f(u,(a=>n+J(a))))});`),M(o,t,$([[e,s],...f(u,(a=>[a,s]))]));if(w)l(c)?await a(z+J(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):v(u)||await Z(a,t,e,L(s),[n,...D(s)],i)})));else if(v(u))T(o,t)&&await a(z+J(t)+Q+" 1");else{const s=m(_(x(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{A(n,t,...f(s,(t=>a?.[t]))),A(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+p(f(i,(a=>n+J(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+p(f(i,(a=>J(a)+"=excluded."+J(a))),n):s),f(c,(a=>a??null))),aa=a=>p(f(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,p=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const f=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),p=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(p&&(n(u),u=void 0,p=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(A(x(sa,r),...a),await(async()=>{if(!x(ea,r)){for(M(ea,r,1);!l((a=x(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}M(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),R(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,p)=>{const[f,v,A,T]=X(t,w,n,p),h=async(a,t)=>await E(F(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await A(e,s,c,n,i,t)}))),N=async(a,t)=>r?await A(y,H,{[q]:a},!0,!0,t):null;return na(a,(async()=>await T((async()=>{await f();const a=await(async()=>S(m(await E(F(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,H))[q]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await h(t),await N(e)}else{const[a,e]=t();await h(a,!0),await N(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),p=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,C=a=>O.getPrototypeOf(a),L=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),g=(...a)=>O.assign({},...a),b=(a,t)=>f(O.entries(a),(([a,e])=>t(e,a))),D=a=>O.values(a),I=a=>u(L(a)),P=a=>(a=>!l(a)&&y(C(a),(a=>a==O.prototype||l(C(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),F=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(T(a,t)||M(a,t,e()),x(a,t)),B=(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)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,S(await E(f(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(f(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=x(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?S(m(f(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=k();b(c??{},(a=>f(L(a??{}),(a=>G(d,a)))));const u=h(d);if(!w&&y&&v(u)&&T(o,t))return await a("DROP "+U+J(t)),void M(o,t);if(v(u)||T(o,t)){const n=x(o,t),i=k(_(n));await E([...f(u,(async e=>{N(i,e)||(await a(W+J(t)+"ADD"+J(e)),M(n,e,s))})),...!w&&r?f(h(i),(async s=>{s!=e&&(await a(W+J(t)+"DROP"+J(s)),M(n,s))})):[]])}else await a("CREATE "+U+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${p(f(u,(a=>n+J(a))))});`),M(o,t,$([[e,s],...f(u,(a=>[a,s]))]));if(w)l(c)?await a(z+J(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):v(u)||await Z(a,t,e,L(s),[n,...D(s)],i)})));else if(v(u))T(o,t)&&await a(z+J(t)+Q+" 1");else{const s=m(_(x(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{A(n,t,...f(s,(t=>a?.[t]))),A(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+p(f(i,(a=>n+J(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+p(f(i,(a=>J(a)+"=excluded."+J(a))),n):s),f(c,(a=>a??null))),aa=a=>p(f(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,p=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const f=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),p=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(p&&(n(u),u=void 0,p=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(A(x(sa,r),...a),await(async()=>{if(!x(ea,r)){for(M(ea,r,1);!l((a=x(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}M(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),R(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,p)=>{const[f,v,A,T]=X(t,w,n,p),h=async(a,t)=>await E(F(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await A(e,s,c,n,i,t)}))),N=async(a,t)=>r?await A(y,H,{[q]:a},!0,!0,t):null;return na(a,(async()=>await T((async()=>{await f();const a=await(async()=>S(m(await E(F(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,H))[q]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await h(t),await N(e)}else{const[a,e]=t();await h(a,!0),await N(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",da="tableId",ua="tableName",Ea="deleteEmptyColumns",pa="deleteEmptyTable",fa={mode:ra,[la]:1},va={load:0,save:0,[ua]:e+"_values"},ma=(a,t,e,s)=>{const n=$();return b(a,((a,i)=>{const o=d(D(g(t,w(a)?{[e]:a}:a)),0,I(t));l(o[0])||s(i,o[0])||M(n,i,o)})),n},Aa="pragma_",Ta="data_version",ha="schema_version",Na=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let E,p,f;const[v,m,A,T]=(a=>{const t=(a=>g(fa,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(D(g(va,o)),0,I(va)),r=c[2],l=k(r);return[0,s,[ma(n,{[da]:null,[wa]:H},da,(a=>G(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:H,[Ea]:0,[pa]:0},ua,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Ta} d,${ha} s,TOTAL_CHANGES() c FROM ${Aa}${Ta} JOIN ${Aa}${ha}`);t==(E??=t)&&e==(p??=e)&&n==(f??=n)||(a(),E=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=f=null,i(t)}),c,A,h(T),l,y,u)};a.createExpoSqlitePersister=(a,t,e,s,n)=>Na(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,N=a=>L.getPrototypeOf(a),C=L.keys,R=L.freeze,S=(a=[])=>L.fromEntries(a),g=(...a)=>L.assign({},...a),b=(a,t)=>p(L.entries(a),(([a,e])=>t(e,a))),I=a=>L.values(a),D=a=>u(C(a)),P=a=>(a=>!l(a)&&y(N(a),(a=>a==L.prototype||l(N(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),j=(a,t,e)=>(A(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,S(await E(p(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?S(m(p(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=k();b(c??{},(a=>p(C(a??{}),(a=>G(d,a)))));const u=h(d);if(!w&&y&&v(u)&&A(o,t))return await a("DROP "+U+J(t)),void x(o,t);if(v(u)||A(o,t)){const n=F(o,t),i=k(_(n));await E([...p(u,(async e=>{O(i,e)||(await a(W+J(t)+"ADD"+J(e)),x(n,e,s))})),...!w&&r?p(h(i),(async s=>{s!=e&&(await a(W+J(t)+"DROP"+J(s)),x(n,s))})):[]])}else await a("CREATE "+U+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>n+J(a))))});`),x(o,t,$([[e,s],...p(u,(a=>[a,s]))]));if(w)l(c)?await a(z+J(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):v(u)||await Z(a,t,e,C(s),[n,...I(s)],i)})));else if(v(u))A(o,t)&&await a(z+J(t)+Q+" 1");else{const s=m(_(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+f(p(i,(a=>n+J(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(p(i,(a=>J(a)+"=excluded."+J(a))),n):s),p(c,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,f=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}x(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),R(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,f)=>{const[p,v,T,A]=X(t,w,n,f),h=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),O=async(a,t)=>r?await T(y,H,{[q]:a},!0,!0,t):null;return na(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,H))[q]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),l(t)){const[t,e]=a();await h(t),await O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,N=a=>L.getPrototypeOf(a),C=L.keys,R=L.freeze,S=(a=[])=>L.fromEntries(a),g=(...a)=>L.assign({},...a),b=(a,t)=>p(L.entries(a),(([a,e])=>t(e,a))),I=a=>L.values(a),D=a=>u(C(a)),P=a=>(a=>!l(a)&&y(N(a),(a=>a==L.prototype||l(N(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),j=(a,t,e)=>(A(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,S(await E(p(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(o,t,B(j(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?S(m(p(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=k();b(c??{},(a=>p(C(a??{}),(a=>G(d,a)))));const u=h(d);if(!w&&y&&v(u)&&A(o,t))return await a("DROP "+U+J(t)),void x(o,t);if(v(u)||A(o,t)){const n=F(o,t),i=k(_(n));await E([...p(u,(async e=>{O(i,e)||(await a(W+J(t)+"ADD"+J(e)),x(n,e,s))})),...!w&&r?p(h(i),(async s=>{s!=e&&(await a(W+J(t)+"DROP"+J(s)),x(n,s))})):[]])}else await a("CREATE "+U+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>n+J(a))))});`),x(o,t,$([[e,s],...p(u,(a=>[a,s]))]));if(w)l(c)?await a(z+J(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):v(u)||await Z(a,t,e,C(s),[n,...I(s)],i)})));else if(v(u))A(o,t)&&await a(z+J(t)+Q+" 1");else{const s=m(_(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+f(p(i,(a=>n+J(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+f(p(i,(a=>J(a)+"=excluded."+J(a))),n):s),p(c,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,f=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}x(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),R(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,H))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,H,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,f)=>{const[p,v,T,A]=X(t,w,n,f),h=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),O=async(a,t)=>r?await T(y,H,{[q]:a},!0,!0,t):null;return na(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,H))[q]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),l(t)){const[t,e]=a();await h(t),await O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",da="tableId",ua="tableName",Ea="deleteEmptyColumns",fa="deleteEmptyTable",pa={mode:ra,[la]:1},va={load:0,save:0,[ua]:e+"_values"},ma=(a,t,e,s)=>{const n=$();return b(a,((a,i)=>{const o=d(I(g(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(i,o[0])||x(n,i,o)})),n},Ta="pragma_",Aa="data_version",ha="schema_version",Oa=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let E,f,p;const[v,m,T,A]=(a=>{const t=(a=>g(pa,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(I(g(va,o)),0,D(va)),r=c[2],l=k(r);return[0,s,[ma(n,{[da]:null,[wa]:H},da,(a=>G(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:H,[Ea]:0,[fa]:0},ua,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Aa} d,${ha} s,TOTAL_CHANGES() c FROM ${Ta}${Aa} JOIN ${Ta}${ha}`);t==(E??=t)&&e==(f??=e)&&n==(p??=n)||(a(),E=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=f=p=null,i(t)}),c,T,h(A),l,y,u)};a.createLibSqlPersister=(a,t,e,s,n)=>Oa(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,n,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,g=a=>O.getPrototypeOf(a),C=O.keys,L=O.freeze,R=(a=[])=>O.fromEntries(a),S=(...a)=>O.assign({},...a),b=(a,t)=>p(O.entries(a),(([a,e])=>t(e,a))),I=a=>O.values(a),D=a=>u(C(a)),P=a=>(a=>!l(a)&&y(g(a),(a=>a==O.prototype||l(g(a))),(()=>!0)))(a)&&0==D(a),_=a=>new Map(a),$=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(h(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",V=k+"*FROM",q="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=_();return[async()=>B(o,R(await E(p(await a("SELECT name "+q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(k+" name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(o,t,B(j(o,t,_),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?R(m(p(await a(V+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=G();b(c??{},(a=>p(C(a??{}),(a=>U(d,a)))));const u=A(d);if(!w&&y&&v(u)&&h(o,t))return await a("DROP "+W+Y(t)),void x(o,t);if(v(u)||h(o,t)){const n=F(o,t),i=G($(n));await E([...p(u,(async e=>{N(i,e)||(await a(z+Y(t)+"ADD"+Y(e)),x(n,e,s))})),...!w&&r?p(A(i),(async s=>{s!=e&&(await a(z+Y(t)+"DROP"+Y(s)),x(n,s))})):[]])}else await a("CREATE "+W+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>n+Y(a))))});`),x(o,t,_([[e,s],...p(u,(a=>[a,s]))]));if(w)l(c)?await a(K+Y(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(K+Y(t)+Q+Y(e)+"=?",[n]):v(u)||await Z(a,t,e,C(s),[n,...I(s)],i)})));else if(v(u))h(o,t)&&await a(K+Y(t)+Q+" 1");else{const s=m($(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(K+Y(t)+Q+Y(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+f(p(i,(a=>n+Y(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+f(p(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),p(c,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=_(),sa=_(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,f=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}x(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),L(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,J))[H]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,J,{[H]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,f)=>{const[p,v,T,h]=X(t,w,n,f),A=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),N=async(a,t)=>r?await T(y,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await p();const a=await(async()=>R(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,J))[H]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await A(t),await N(e)}else{const[a,e]=t();await A(a,!0),await N(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,g=a=>O.getPrototypeOf(a),C=O.keys,L=O.freeze,R=(a=[])=>O.fromEntries(a),S=(...a)=>O.assign({},...a),b=(a,t)=>p(O.entries(a),(([a,e])=>t(e,a))),I=a=>O.values(a),D=a=>u(C(a)),P=a=>(a=>!l(a)&&y(g(a),(a=>a==O.prototype||l(g(a))),(()=>!0)))(a)&&0==D(a),_=a=>new Map(a),$=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(h(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",V=k+"*FROM",q="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=_();return[async()=>B(o,R(await E(p(await a("SELECT name "+q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(k+" name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(o,t,B(j(o,t,_),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?R(m(p(await a(V+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=G();b(c??{},(a=>p(C(a??{}),(a=>U(d,a)))));const u=A(d);if(!w&&y&&v(u)&&h(o,t))return await a("DROP "+W+Y(t)),void x(o,t);if(v(u)||h(o,t)){const n=F(o,t),i=G($(n));await E([...p(u,(async e=>{N(i,e)||(await a(z+Y(t)+"ADD"+Y(e)),x(n,e,s))})),...!w&&r?p(A(i),(async s=>{s!=e&&(await a(z+Y(t)+"DROP"+Y(s)),x(n,s))})):[]])}else await a("CREATE "+W+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>n+Y(a))))});`),x(o,t,_([[e,s],...p(u,(a=>[a,s]))]));if(w)l(c)?await a(K+Y(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(K+Y(t)+Q+Y(e)+"=?",[n]):v(u)||await Z(a,t,e,C(s),[n,...I(s)],i)})));else if(v(u))h(o,t)&&await a(K+Y(t)+Q+" 1");else{const s=m($(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(K+Y(t)+Q+Y(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+f(p(i,(a=>n+Y(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+f(p(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),p(c,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=_(),sa=_(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,E=0,f=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,u=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}x(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),L(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,J))[H]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,J,{[H]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,f)=>{const[p,v,T,h]=X(t,w,n,f),A=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),N=async(a,t)=>r?await T(y,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await p();const a=await(async()=>R(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,J))[H]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await A(t),await N(e)}else{const[a,e]=t();await A(a,!0),await N(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",da="tableId",ua="tableName",Ea="deleteEmptyColumns",fa="deleteEmptyTable",pa={mode:ra,[la]:1},va={load:0,save:0,[ua]:e+"_values"},ma=(a,t,e,s)=>{const n=_();return b(a,((a,i)=>{const o=d(I(S(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(i,o[0])||x(n,i,o)})),n},Ta="pragma_",ha="data_version",Aa="schema_version",Na=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let E,f,p;const[v,m,T,h]=(a=>{const t=(a=>S(pa,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(I(S(va,o)),0,D(va)),r=c[2],l=G(r);return[0,s,[ma(n,{[da]:null,[wa]:J},da,(a=>U(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:J,[Ea]:0,[fa]:0},ua,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ha} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${ha} JOIN ${Ta}${Aa}`);t==(E??=t)&&e==(f??=e)&&n==(p??=n)||(a(),E=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=f=p=null,i(t)}),c,T,A(h),l,y,u)};a.createPowerSyncPersister=(a,t,e,s,n,i=!1)=>Na(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,s=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of s)p(t.changedTables,a)})(),e}),(a=>a.abort()),s,n,t,"getPowerSync",i)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,p=async a=>c.all(a),E=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),m=a=>0==u(a),v=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,R=a=>N.getPrototypeOf(a),L=N.keys,S=N.freeze,C=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),g=(a,t)=>f(N.entries(a),(([a,e])=>t(e,a))),I=a=>N.values(a),D=a=>u(L(a)),_=a=>(a=>!l(a)&&y(R(a),(a=>a==N.prototype||l(R(a))),(()=>!0)))(a)&&0==D(a),P=a=>new Map(a),$=a=>[...a?.keys()??[]],M=(a,t)=>a?.get(t),F=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),x=(a,t,e)=>(T(a,t)||j(a,t,e()),M(a,t)),k=(a,t,e,s=j)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",B="_id",W=a=>`"${a.replace(/"/g,'""')}"`,H="SELECT",J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),Y=(a,t)=>a?.add(t),G="TABLE",U="ALTER "+G,V="DELETE FROM",z=H+"*FROM",K="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=P();return[async()=>k(o,C(await p(f(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,C(f(await a(H+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(o,t,k(x(o,t,P),e,((a,t,e)=>{e!=M(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(o,t))),async(t,e)=>((a,t)=>!l(M(M(o,a),t)))(t,e)?C(v(f(await a(z+W(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=J();g(c??{},(a=>f(L(a??{}),(a=>Y(d,a)))));const u=A(d);if(!w&&y&&m(u)&&T(o,t))return await a("DROP "+G+W(t)),void j(o,t);if(m(u)||T(o,t)){const n=M(o,t),i=J($(n));await p([...f(u,(async e=>{O(i,e)||(await a(U+W(t)+"ADD"+W(e)),j(n,e,s))})),...!w&&r?f(A(i),(async s=>{s!=e&&(await a(U+W(t)+"DROP"+W(s)),j(n,s))})):[]])}else await a("CREATE "+G+W(t)+"("+W(e)+` PRIMARY KEY ON CONFLICT REPLACE${E(f(u,(a=>n+W(a))))});`),j(o,t,P([[e,s],...f(u,(a=>[a,s]))]));if(w)l(c)?await a(V+W(t)+Q+" 1"):await p(g(c,(async(s,n)=>{l(s)?await a(V+W(t)+Q+W(e)+"=?",[n]):m(u)||await Z(a,t,e,L(s),[n,...I(s)],i)})));else if(m(u))T(o,t)&&await a(V+W(t)+Q+" 1");else{const s=v($(M(o,t)),(a=>a!=e)),n=[],r=[];g(c??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(r,t)})),await Z(a,t,e,s,n,i),await a(V+W(t)+Q+W(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+W(t)+"("+W(e)+E(f(i,(a=>n+W(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+W(e)+")DO UPDATE SET"+E(f(i,(a=>W(a)+"=excluded."+W(a))),n):s),f(c,(a=>a??null))),aa=a=>E(f(a,(()=>"?")),n),ta=JSON.parse,ea=P(),sa=P(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,p=0,E=0;x(ea,r,(()=>0)),x(sa,r,(()=>[]));const f=async a=>(2!=p&&(p=1,await m.schedule((async()=>{await a(),p=0}))),m),m={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),E=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(E&&(n(u),u=void 0,E=0),m),save:async t=>(1!=p&&(p=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}p=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(y(w,a.delListener),w=void 0,m),schedule:async(...a)=>(h(M(sa,r),...a),await(async()=>{if(!M(ea,r)){for(j(ea,r,1);!l((a=M(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}j(ea,r,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),S(m)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,B))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,B,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,E)=>{const[f,m,h,T]=X(t,w,n,E),A=async(a,t)=>await p(F(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await h(e,s,c,n,i,t)}))),O=async(a,t)=>r?await h(y,B,{[q]:a},!0,!0,t):null;return na(a,(async()=>await T((async()=>{await f();const a=await(async()=>C(v(await p(F(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(y,B))[q]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await A(t),await O(e)}else{const[a,e]=t();await A(a,!0),await O(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,p=async a=>c.all(a),E=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),m=a=>0==u(a),v=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,R=a=>N.getPrototypeOf(a),L=N.keys,S=N.freeze,C=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),g=(a,t)=>f(N.entries(a),(([a,e])=>t(e,a))),I=a=>N.values(a),D=a=>u(L(a)),_=a=>(a=>!l(a)&&y(R(a),(a=>a==N.prototype||l(R(a))),(()=>!0)))(a)&&0==D(a),P=a=>new Map(a),$=a=>[...a?.keys()??[]],M=(a,t)=>a?.get(t),F=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),x=(a,t,e)=>(T(a,t)||j(a,t,e()),M(a,t)),k=(a,t,e,s=j)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",B="_id",W=a=>`"${a.replace(/"/g,'""')}"`,H="SELECT",J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),Y=(a,t)=>a?.add(t),G="TABLE",U="ALTER "+G,V="DELETE FROM",z=H+"*FROM",K="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=P();return[async()=>k(o,C(await p(f(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,C(f(await a(H+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(o,t,k(x(o,t,P),e,((a,t,e)=>{e!=M(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(o,t))),async(t,e)=>((a,t)=>!l(M(M(o,a),t)))(t,e)?C(v(f(await a(z+W(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,c,r,y,w=!1)=>{const d=J();g(c??{},(a=>f(L(a??{}),(a=>Y(d,a)))));const u=A(d);if(!w&&y&&m(u)&&T(o,t))return await a("DROP "+G+W(t)),void j(o,t);if(m(u)||T(o,t)){const n=M(o,t),i=J($(n));await p([...f(u,(async e=>{O(i,e)||(await a(U+W(t)+"ADD"+W(e)),j(n,e,s))})),...!w&&r?f(A(i),(async s=>{s!=e&&(await a(U+W(t)+"DROP"+W(s)),j(n,s))})):[]])}else await a("CREATE "+G+W(t)+"("+W(e)+` PRIMARY KEY ON CONFLICT REPLACE${E(f(u,(a=>n+W(a))))});`),j(o,t,P([[e,s],...f(u,(a=>[a,s]))]));if(w)l(c)?await a(V+W(t)+Q+" 1"):await p(g(c,(async(s,n)=>{l(s)?await a(V+W(t)+Q+W(e)+"=?",[n]):m(u)||await Z(a,t,e,L(s),[n,...I(s)],i)})));else if(m(u))T(o,t)&&await a(V+W(t)+Q+" 1");else{const s=v($(M(o,t)),(a=>a!=e)),n=[],r=[];g(c??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(r,t)})),await Z(a,t,e,s,n,i),await a(V+W(t)+Q+W(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+W(t)+"("+W(e)+E(f(i,(a=>n+W(a))))+")VALUES"+d(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+W(e)+")DO UPDATE SET"+E(f(i,(a=>W(a)+"=excluded."+W(a))),n):s),f(c,(a=>a??null))),aa=a=>E(f(a,(()=>"?")),n),ta=JSON.parse,ea=P(),sa=P(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,d,u,p=0,E=0;x(ea,r,(()=>0)),x(sa,r,(()=>[]));const f=async a=>(2!=p&&(p=1,await m.schedule((async()=>{await a(),p=0}))),m),m={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),E=1,u=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(E&&(n(u),u=void 0,E=0),m),save:async t=>(1!=p&&(p=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}p=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(y(w,a.delListener),w=void 0,m),schedule:async(...a)=>(h(M(sa,r),...a),await(async()=>{if(!M(ea,r)){for(j(ea,r,1);!l((a=M(sa,r),d=a.shift()));)try{await d()}catch(a){i?.(a)}j(ea,r,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),S(m)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,d,u]=X(t,o,n,l);return na(a,(async()=>await u((async()=>(await y(),ta((await w(i,B))[q]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await y(),await d(i,B,{[q]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,d,u,E)=>{const[f,m,h,T]=X(t,w,n,E),A=async(a,t)=>await p(F(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await h(e,s,c,n,i,t)}))),O=async(a,t)=>r?await h(y,B,{[q]:a},!0,!0,t):null;return na(a,(async()=>await T((async()=>{await f();const a=await(async()=>C(v(await p(F(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(y,B))[q]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await A(t),await O(e)}else{const[a,e]=t();await A(a,!0),await O(e,!0)}}))),e,s,n,[u,d],d)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",da="tableId",ua="tableName",pa="deleteEmptyColumns",Ea="deleteEmptyTable",fa={mode:ra,[la]:1},ma={load:0,save:0,[ua]:e+"_values"},va=(a,t,e,s)=>{const n=P();return g(a,((a,i)=>{const o=d(I(b(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(i,o[0])||j(n,i,o)})),n},ha="pragma_",Ta="data_version",Aa="schema_version",Oa=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let p,E,f;const[m,v,h,T]=(a=>{const t=(a=>b(fa,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],J(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(I(b(ma,o)),0,D(ma)),r=c[2],l=J(r);return[0,s,[va(n,{[da]:null,[wa]:B},da,(a=>Y(l,a)&&a==r)),va(i,{[ua]:null,[wa]:B,[pa]:0,[Ea]:0},ua,((a,t)=>Y(l,t)&&t==r)),c],l]})(t);return(m?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Ta} d,${Aa} s,TOTAL_CHANGES() c FROM ${ha}${Ta} JOIN ${ha}${Aa}`);t==(p??=t)&&e==(E??=e)&&n==(f??=n)||(a(),p=t,E=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),p=E=f=null,i(t)}),c,h,A(T),l,y,u)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>Oa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==d(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,L=a=>N.getPrototypeOf(a),R=N.keys,S=N.freeze,C=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),b=(a,t)=>p(N.entries(a),(([a,e])=>t(e,a))),I=a=>N.values(a),D=a=>d(R(a)),P=a=>(a=>!l(a)&&y(L(a),(a=>a==N.prototype||l(L(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),x=(a,t,e)=>(h(a,t)||j(a,t,e()),F(a,t)),B=(a,t,e,s=j)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",q=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=k+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,C(await E(p(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,C(p(await a(k+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(o,t,B(x(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?C(m(p(await a(K+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=q();b(c??{},(a=>p(R(a??{}),(a=>G(u,a)))));const d=A(u);if(!w&&y&&v(d)&&h(o,t))return await a("DROP "+U+Y(t)),void j(o,t);if(v(d)||h(o,t)){const n=F(o,t),i=q(_(n));await E([...p(d,(async e=>{O(i,e)||(await a(W+Y(t)+"ADD"+Y(e)),j(n,e,s))})),...!w&&r?p(A(i),(async s=>{s!=e&&(await a(W+Y(t)+"DROP"+Y(s)),j(n,s))})):[]])}else await a("CREATE "+U+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(d,(a=>n+Y(a))))});`),j(o,t,$([[e,s],...p(d,(a=>[a,s]))]));if(w)l(c)?await a(z+Y(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+Y(t)+Q+Y(e)+"=?",[n]):v(d)||await Z(a,t,e,R(s),[n,...I(s)],i)})));else if(v(d))h(o,t)&&await a(z+Y(t)+Q+" 1");else{const s=m(_(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+Y(t)+Q+Y(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+f(p(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",d(i))})`,d(c)/(d(i)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+f(p(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),p(c,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,u,d,E=0,f=0;x(ea,r,(()=>0)),x(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(d),d=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(j(ea,r,1);!l((a=F(sa,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}j(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),S(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,u,d]=X(t,o,n,l);return na(a,(async()=>await d((async()=>(await y(),ta((await w(i,J))[H]?.[ia]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,J,{[H]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,u,d,f)=>{const[p,v,T,h]=X(t,w,n,f),A=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),O=async(a,t)=>r?await T(y,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await p();const a=await(async()=>C(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,J))[H]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await A(t),await O(e)}else{const[a,e]=t();await A(a,!0),await O(e,!0)}}))),e,s,n,[d,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>c.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==d(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,L=a=>N.getPrototypeOf(a),R=N.keys,S=N.freeze,C=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),b=(a,t)=>p(N.entries(a),(([a,e])=>t(e,a))),I=a=>N.values(a),D=a=>d(R(a)),P=a=>(a=>!l(a)&&y(L(a),(a=>a==N.prototype||l(L(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),x=(a,t,e)=>(h(a,t)||j(a,t,e()),F(a,t)),B=(a,t,e,s=j)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",q=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=k+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const o=$();return[async()=>B(o,C(await E(p(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,C(p(await a(k+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(o,t,B(x(o,t,$),e,((a,t,e)=>{e!=F(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(o,t))),async(t,e)=>((a,t)=>!l(F(F(o,a),t)))(t,e)?C(m(p(await a(K+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=q();b(c??{},(a=>p(R(a??{}),(a=>G(u,a)))));const d=A(u);if(!w&&y&&v(d)&&h(o,t))return await a("DROP "+U+Y(t)),void j(o,t);if(v(d)||h(o,t)){const n=F(o,t),i=q(_(n));await E([...p(d,(async e=>{O(i,e)||(await a(W+Y(t)+"ADD"+Y(e)),j(n,e,s))})),...!w&&r?p(A(i),(async s=>{s!=e&&(await a(W+Y(t)+"DROP"+Y(s)),j(n,s))})):[]])}else await a("CREATE "+U+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(d,(a=>n+Y(a))))});`),j(o,t,$([[e,s],...p(d,(a=>[a,s]))]));if(w)l(c)?await a(z+Y(t)+Q+" 1"):await E(b(c,(async(s,n)=>{l(s)?await a(z+Y(t)+Q+Y(e)+"=?",[n]):v(d)||await Z(a,t,e,R(s),[n,...I(s)],i)})));else if(v(d))h(o,t)&&await a(z+Y(t)+Q+" 1");else{const s=m(_(F(o,t)),(a=>a!=e)),n=[],r=[];b(c??{},((a,t)=>{T(n,t,...p(s,(t=>a?.[t]))),T(r,t)})),await Z(a,t,e,s,n,i),await a(z+Y(t)+Q+Y(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+f(p(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",d(i))})`,d(c)/(d(i)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+f(p(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),p(c,(a=>a??null))),aa=a=>f(p(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,u,d,E=0,f=0;x(ea,r,(()=>0)),x(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await v.schedule((async()=>{await a(),E=0}))),v),v={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),f=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),v),stopAutoLoad:()=>(f&&(n(d),d=void 0,f=0),v),save:async t=>(1!=E&&(E=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(T(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(j(ea,r,1);!l((a=F(sa,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}j(ea,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),S(v)},ia="store",oa=(a,t,e,s,n,[i],o,c,r,l)=>{const[y,w,u,d]=X(t,o,n,l);return na(a,(async()=>await d((async()=>(await y(),ta((await w(i,J))[H]?.[ia]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,J,{[H]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ca=(a,t,e,s,n,[i,o,[c,r,y]],w,u,d,f)=>{const[p,v,T,h]=X(t,w,n,f),A=async(a,t)=>await E(M(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await T(e,s,c,n,i,t)}))),O=async(a,t)=>r?await T(y,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await p();const a=await(async()=>C(m(await E(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await v(y,J))[H]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await A(t),await O(e)}else{const[a,e]=t();await A(a,!0),await O(e,!0)}}))),e,s,n,[d,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",ua="tableId",da="tableName",Ea="deleteEmptyColumns",fa="deleteEmptyTable",pa={mode:ra,[la]:1},va={load:0,save:0,[da]:e+"_values"},ma=(a,t,e,s)=>{const n=$();return b(a,((a,i)=>{const o=u(I(g(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(i,o[0])||j(n,i,o)})),n},Ta="pragma_",ha="data_version",Aa="schema_version",Oa=(a,t,s,n,i,o,c,l,y="getDb",d)=>{let E,f,p;const[v,m,T,h]=(a=>{const t=(a=>g(pa,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=u(I(g(va,o)),0,D(va)),r=c[2],l=q(r);return[0,s,[ma(n,{[ua]:null,[wa]:J},ua,(a=>G(l,a)&&a==r)),ma(i,{[da]:null,[wa]:J,[Ea]:0,[fa]:0},da,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ha} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${ha} JOIN ${Ta}${Aa}`);t==(E??=t)&&e==(f??=e)&&n==(p??=n)||(a(),E=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=f=p=null,i(t)}),c,T,A(h),l,y,d)},Na="change";a.createSqlite3Persister=(a,t,e,s,n)=>Oa(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new c(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(Na,e),e}),(a=>t.off(Na,a)),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
|
|
Binary file
|