tinybase 4.6.9 → 4.6.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  2. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  4. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  6. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  10. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  12. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  13. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  16. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  25. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +36 -19
  26. package/lib/debug/persisters/persister-electric-sql.js +36 -19
  27. package/lib/debug/persisters/persister-expo-sqlite-next.js +36 -19
  28. package/lib/debug/persisters/persister-expo-sqlite.js +36 -19
  29. package/lib/debug/persisters/persister-sqlite-wasm.js +36 -19
  30. package/lib/debug/persisters/persister-sqlite3.js +36 -19
  31. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  32. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  33. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  34. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  35. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  36. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  37. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  38. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  39. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  40. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  41. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  42. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  43. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  44. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  45. package/lib/persisters/persister-electric-sql.js +1 -1
  46. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  47. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  48. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  49. package/lib/persisters/persister-expo-sqlite.js +1 -1
  50. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  51. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  52. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  53. package/lib/persisters/persister-sqlite3.js +1 -1
  54. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  55. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  56. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  57. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  58. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  59. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  60. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  61. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  62. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  63. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  64. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  65. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  66. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  67. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  68. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  69. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  70. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  71. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  72. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  73. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  74. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  75. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  76. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  77. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  78. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  79. package/package.json +10 -10
  80. package/readme.md +1 -1
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>o.all(a),u="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==E(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),C=Object,S=a=>C.getPrototypeOf(a),D=C.keys,g=C.freeze,b=(a=[])=>C.fromEntries(a),I=(...a)=>C.assign({},...a),F=(a,t)=>v(C.entries(a),(([a,e])=>t(e,a))),M=a=>C.values(a),P=a=>E(D(a)),$=a=>(a=>!r(a)&&l(S(a),(a=>a==C.prototype||r(S(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||H(a,t,e()),W(a,t)),U=(a,t,e,s=H)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),q=T+"*FROM",G="FROM pragma_table_",J="WHERE",z=(a,t,e)=>{const n=_();return[async()=>U(n,b(await d(v(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(v(await a(T+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(n,t,U(j(n,t,_),e,((a,t,e)=>{e!=W(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(n,t))),async(t,e)=>((a,t)=>!r(W(W(n,a),t)))(t,e)?b(L(v(await a(q+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=Y();F(i??{},(a=>v(D(a??{}),(a=>k(y,a)))));const w=R(y);if(!l&&c&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void H(n,t);if(A(w)||O(n,t)){const s=W(n,t),i=Y(B(s));await d([...v(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),H(s,e,""))})),...!l&&o?v(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),H(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${m(v(w,(a=>s+p(a))))});`),H(n,t,_([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await d(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+J+p(e)+"=?",[n]):A(w)||await K(a,t,e,D(s),[n,...M(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=L(B(W(n,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{h(o,t,...v(s,(t=>a?.[t]))),h(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+p(t)+J+p(e)+"NOT IN("+V(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+p(t)+"("+p(e)+m(v(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",E(n))})`,E(o)/(E(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+m(v(n,(a=>p(a)+"=excluded."+p(a))),s),o),V=a=>m(v(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,E,d,u=0,f=0;j(X,y,(()=>0)),j(Z,y,(()=>[]));const p=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.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)}}))})),T),stopAutoLoad:()=>(f&&(n(d),d=void 0,f=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(W(Z,y),...a),await(async()=>{if(!W(X,y)){for(H(X,y,1);!r((a=W(Z,y),E=a.shift()));)try{await E()}catch(a){i?.(a)}H(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),g(T)},ta="store",ea=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=z(t,o,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await y(i,f))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?C.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,E,p)=>{const[T,m,v,A]=z(t,w,n),h=async(a,t)=>await d(x(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),O=async(a,t)=>l?await v(y,f,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await T();const a=await(async()=>b(L(await d(x(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await m(y,f))[u]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),r(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,[p,E],E)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||H(n,i,o)})),n},Ea="pragma ",da="data_version",ua="schema_version",fa=(a,t,s,n,i,o,r,l,E="getDb")=>{let d,u,p;const[m,v,A,L]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,P(ya)),r=c[2],l=Y(r);return[0,s,[wa(n,{[ca]:null,[oa]:f},ca,(a=>k(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),c],l]})(t);return(m?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+da))[0][da],e=(await s(Ea+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(u??=e)&&n==(p??=n)||(a(),d=t,u=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=u=null,i(t)}),r,A,R(L),l,E)};a.createCrSqliteWasmPersister=(a,t,e,s,n)=>fa(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={});
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,E=(a,t,e)=>a.slice(t,e),d=a=>a.length,u=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==d(a),O=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),S=Object,D=a=>S.getPrototypeOf(a),g=S.keys,b=S.freeze,I=(a=[])=>S.fromEntries(a),P=(...a)=>S.assign({},...a),F=(a,t)=>A(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),$=a=>d(g(a)),_=a=>(a=>!l(a)&&y(D(a),(a=>a==S.prototype||l(D(a))),(()=>!0)))(a)&&0==$(a),B=a=>new Map(a),W=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),H=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),U=(a,t,e)=>(h(a,t)||j(a,t,e()),x(a,t)),Y=(a,t,e,s=j)=>(F(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),k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),q=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",z="WHERE",K=(a,t,e,i)=>{const o=B();return[async()=>Y(o,I(await u(A(await a("SELECT name "+J+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(o,t,Y(U(o,t,B),e,((a,t,e)=>{e!=x(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?I(O(A(await a(G+T(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 E=k();F(c??{},(a=>A(g(a??{}),(a=>q(E,a)))));const d=N(E);if(!w&&y&&L(d)&&h(o,t))return await a("DROP TABLE"+T(t)),void j(o,t);if(L(d)||h(o,t)){const n=x(o,t),i=k(W(n));await u([...A(d,(async e=>{C(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),j(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(s)}`),j(n,s))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(d,(a=>n+T(a))))});`),j(o,t,B([[e,s],...A(d,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await u(F(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+T(t)+z+T(e)+"=?",[n]):L(d)||await V(a,t,e,g(s),[n,...M(s)],i)})));else if(L(d))h(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const s=O(W(x(o,t)),(a=>a!=e)),n=[],i=[];F(c??{},((a,t)=>{R(n,t,...A(s,(t=>a?.[t]))),R(i,t)})),await V(a,t,e,s,n),await a("DELETE FROM"+T(t)+z+T(e)+"NOT IN("+Q(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(A(i,(a=>n+T(a))))+")VALUES"+E(o(`,(?${o(",?",d(i))})`,d(c)/(d(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(A(i,(a=>T(a)+"=excluded."+T(a))),n):s),c),Q=a=>v(A(a,(()=>"?")),n),X=JSON.parse,Z=B(),aa=B(),ta=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,E,d,u=0,p=0;U(Z,r,(()=>0)),U(aa,r,(()=>[]));const f=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),p=1,d=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)}}))})),T),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(y(w,a.delListener),w=void 0,T),schedule:async(...a)=>(R(x(aa,r),...a),await(async()=>{if(!x(Z,r)){for(j(Z,r,1);!l((a=x(aa,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(Z,r,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),b(T)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=K(t,o,n);return ta(a,(async()=>await E((async()=>(await l(),X((await y(i,f))[p]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,r,y]],w,E,d,T)=>{const[m,v,A,L]=K(t,w,n,T),R=async(a,t)=>await u(H(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await A(e,s,c,n,i,t)}))),h=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return ta(a,(async()=>await L((async()=>{await m();const a=await(async()=>I(O(await u(H(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),l(t)){const[t,e]=a();await R(t),await h(e)}else{const[a,e]=t();await R(a,!0),await h(e,!0)}}))),e,s,n,[d,E],E)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:e+"_values"},Ea=(a,t,e,s)=>{const n=B();return F(a,((a,i)=>{const o=E(M(P(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||s(i,o[0])||j(n,i,o)})),n},da="pragma ",ua="data_version",pa="schema_version",fa=(a,t,s,n,i,o,c,l,y="getDb",d)=>{let u,p,T;const[v,A,L,O]=(a=>{const t=(a=>P(ya,w(a)?{storeTableName:a}:a??{}))(a),s=t[oa];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(M(P(wa,o)),0,$(wa)),r=c[2],l=k(r);return[0,s,[Ea(n,{[ra]:null,[ca]:f},ra,(a=>q(l,a)&&a==r)),Ea(i,{[la]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>q(l,t)&&t==r)),c],l]})(t);return(v?sa:na)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(da+ua))[0][ua],e=(await s(da+pa))[0][pa],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(p??=e)&&n==(T??=n)||(a(),u=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),u=p=null,i(t)}),c,L,N(O),l,y,d)};a.createCrSqliteWasmPersister=(a,t,e,s,n)=>fa(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={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==E(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),b=Object,g=a=>b.getPrototypeOf(a),C=b.keys,S=b.freeze,D=(a=[])=>b.fromEntries(a),I=(...a)=>b.assign({},...a),F=(a,t)=>m(b.entries(a),(([a,e])=>t(e,a))),M=a=>b.values(a),P=a=>E(C(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==b.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),H(a,t)),q=(a,t,e,s=x)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,D(await u(m(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,D(m(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,q(W(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?D(h(m(await a(G+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,c,o,l=!1)=>{const y=Y();F(i??{},(a=>m(C(a??{}),(a=>k(y,a)))));const w=R(y);if(!l&&o&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void x(n,t);if(A(w)||O(n,t)){const s=H(n,t),i=Y(B(s));await u([...m(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),x(s,e,""))})),...!l&&c?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(w,(a=>s+p(a))))});`),x(n,t,_([[e,""],...m(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+U+p(e)+"=?",[n]):A(w)||await K(a,t,e,C(s),[n,...M(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=h(B(H(n,t)),(a=>a!=e)),c=[],o=[];F(i??{},((a,t)=>{L(c,t,...m(s,(t=>a?.[t]))),L(o,t)})),await K(a,t,e,s,c),await a("DELETE FROM"+p(t)+U+p(e)+"NOT IN("+V(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,c)=>await a("INSERT INTO"+p(t)+"("+p(e)+v(m(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",E(n))})`,E(c)/(E(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+v(m(n,(a=>p(a)+"=excluded."+p(a))),s),c),V=a=>v(m(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,o]=[],y=[])=>{let w,E,u,d=0,f=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.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)}}))})),T),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(L(H(Z,y),...a),await(async()=>{if(!H(X,y)){for(x(X,y,1);!r((a=H(Z,y),E=a.shift()));)try{await E()}catch(a){i?.(a)}x(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(T[c]=()=>o),S(T)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[l,y,w,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await y(i,f))[d]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[o,l,y]],w,E,p)=>{const[T,v,m,A]=z(t,w,n),L=async(a,t)=>await u(j(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await m(e,s,o,n,i,t)}))),O=async(a,t)=>l?await m(y,f,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await T();const a=await(async()=>D(h(await u(j(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>o?(await v(y,f))[d]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),r(t)){const[t,e]=a();await L(t),await O(e)}else{const[a,e]=t();await L(a,!0),await O(e,!0)}}))),e,s,n,[p,E],E)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(c[0])||s(i,c[0])||x(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",fa=(a,t,s,n,i,c,r,l,E="getDb")=>{let u,d,p;const[v,m,A,h]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=w(M(I(ya,c)),0,P(ya)),r=o[2],l=Y(r);return[0,s,[wa(n,{[oa]:null,[ca]:f},oa,(a=>k(l,a)&&a==r)),wa(i,{[ra]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),o],l]})(t);return(v?ea:sa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(d??=e)&&n==(p??=n)||(a(),u=t,d=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),u=d=null,i(t)}),r,A,R(h),l,E)};a.createElectricSqlPersister=(a,t,e,s,n)=>fa(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={});
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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),f="_",p="_id",T=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==u(a),h=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),b=Object,g=a=>b.getPrototypeOf(a),S=b.keys,D=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>A(b.entries(a),(([a,e])=>t(e,a))),M=a=>b.values(a),$=a=>u(S(a)),_=a=>(a=>!l(a)&&y(g(a),(a=>a==b.prototype||l(g(a))),(()=>!0)))(a)&&0==$(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),q=(a,t,e)=>(O(a,t)||W(a,t,e()),j(a,t)),Y=(a,t,e,s=W)=>(F(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),k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),J=v+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e,i)=>{const c=B();return[async()=>Y(c,I(await d(A(await a("SELECT name "+U+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(c,t,Y(q(c,t,B),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(c,t))),async(t,e)=>((a,t)=>!l(j(j(c,a),t)))(t,e)?I(h(A(await a(J+T(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,r,y,w=!1)=>{const E=k();F(o??{},(a=>A(S(a??{}),(a=>G(E,a)))));const u=N(E);if(!w&&y&&L(u)&&O(c,t))return await a("DROP TABLE"+T(t)),void W(c,t);if(L(u)||O(c,t)){const n=j(c,t),i=k(H(n));await d([...A(u,(async e=>{C(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),W(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(s)}`),W(n,s))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${m(A(u,(a=>n+T(a))))});`),W(c,t,B([[e,s],...A(u,(a=>[a,s]))]));if(w)l(o)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d(F(o,(async(s,n)=>{l(s)?await a("DELETE FROM"+T(t)+z+T(e)+"=?",[n]):L(u)||await V(a,t,e,S(s),[n,...M(s)],i)})));else if(L(u))O(c,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const s=h(H(j(c,t)),(a=>a!=e)),n=[],i=[];F(o??{},((a,t)=>{R(n,t,...A(s,(t=>a?.[t]))),R(i,t)})),await V(a,t,e,s,n),await a("DELETE FROM"+T(t)+z+T(e)+"NOT IN("+Q(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+m(A(i,(a=>n+T(a))))+")VALUES"+E(c(`,(?${c(",?",u(i))})`,u(o)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+m(A(i,(a=>T(a)+"=excluded."+T(a))),n):s),o),Q=a=>m(A(a,(()=>"?")),n),X=JSON.parse,Z=B(),aa=B(),ta=(a,t,e,s,n,i,[c,o]=[],r=[])=>{let w,E,u,d=0,f=0;q(Z,r,(()=>0)),q(aa,r,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.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)}}))})),T),stopAutoLoad:()=>(f&&(n(u),u=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(y(w,a.delListener),w=void 0,T),schedule:async(...a)=>(R(j(aa,r),...a),await(async()=>{if(!j(Z,r)){for(W(Z,r,1);!l((a=j(aa,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Z,r,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(T[c]=()=>o),D(T)},ea="store",sa=(a,t,e,s,n,[i],c,o,r)=>{const[l,y,w,E]=K(t,c,n);return ta(a,(async()=>await E((async()=>(await l(),X((await y(i,p))[f]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,p,{[f]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},na=(a,t,e,s,n,[i,c,[o,r,y]],w,E,u,T)=>{const[v,m,A,L]=K(t,w,n,T),R=async(a,t)=>await d(x(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),O=async(a,t)=>r?await A(y,p,{[f]:a},!0,!0,t):null;return ta(a,(async()=>await L((async()=>{await v();const a=await(async()=>I(h(await d(x(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>o?(await m(y,p))[f]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await v(),l(t)){const[t,e]=a();await R(t),await O(e)}else{const[a,e]=t();await R(a,!0),await O(e,!0)}}))),e,s,n,[u,E],E)},ia="json",ca="autoLoadIntervalSeconds",oa="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[ca]:1},wa={load:0,save:0,[la]:e+"_values"},Ea=(a,t,e,s)=>{const n=B();return F(a,((a,i)=>{const c=E(M(P(t,w(a)?{[e]:a}:a)),0,$(t));l(c[0])||s(i,c[0])||W(n,i,c)})),n},ua="pragma ",da="data_version",fa="schema_version",pa=(a,t,s,n,i,c,o,l,y="getDb",u)=>{let d,f,T;const[m,A,L,h]=(a=>{const t=(a=>P(ya,w(a)?{storeTableName:a}:a??{}))(a),s=t[ca];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=E(M(P(wa,c)),0,$(wa)),r=o[2],l=k(r);return[0,s,[Ea(n,{[ra]:null,[oa]:p},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[oa]:p,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),o],l]})(t);return(m?sa:na)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+da))[0][da],e=(await s(ua+fa))[0][fa],n=(await s(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(f??=e)&&n==(T??=n)||(a(),d=t,f=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=f=null,i(t)}),o,L,N(h),l,y,u)};a.createElectricSqlPersister=(a,t,e,s,n)=>pa(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={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n=",",i=e(""),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=>e(a)==i,E=(a,t,e)=>a.slice(t,e),d=a=>a.length,u=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==d(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],S=(a,t)=>a?.delete(t),g=Object,C=a=>g.getPrototypeOf(a),D=g.keys,b=g.freeze,x=(a=[])=>g.fromEntries(a),I=(...a)=>g.assign({},...a),F=(a,t)=>A(g.entries(a),(([a,e])=>t(e,a))),M=a=>g.values(a),P=a=>d(D(a)),$=a=>(a=>!l(a)&&y(C(a),(a=>a==g.prototype||l(C(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],q=(a,t)=>a?.get(t),H=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>l(e)?(S(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||j(a,t,e()),q(a,t)),Y=(a,t,e,s=j)=>(F(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),k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),J=m+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e)=>{const s=_();return[async()=>Y(s,x(await u(A(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,x(A(await a(m+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(s,t,Y(W(s,t,_),e,((a,t,e)=>{e!=q(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(s,t))),async(t,e)=>((a,t)=>!l(q(q(s,a),t)))(t,e)?x(h(A(await a(J+T(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,i,o,c,r=!1)=>{const y=k();F(i??{},(a=>A(D(a??{}),(a=>G(y,a)))));const w=R(y);if(!r&&c&&L(w)&&O(s,t))return await a("DROP TABLE"+T(t)),void j(s,t);if(L(w)||O(s,t)){const n=q(s,t),i=k(B(n));await u([...A(w,(async e=>{S(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),j(n,e,""))})),...!r&&o?A(R(i),(async s=>{s!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(s)}`),j(n,s))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(w,(a=>n+T(a))))});`),j(s,t,_([[e,""],...A(w,(a=>[a,""]))]));if(r)l(i)?await a("DELETE FROM"+T(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{l(s)?await a("DELETE FROM"+T(t)+z+T(e)+"=?",[n]):L(w)||await V(a,t,e,D(s),[n,...M(s)])})));else if(L(w))O(s,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(B(q(s,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{N(o,t,...A(n,(t=>a?.[t]))),N(c,t)})),await V(a,t,e,n,o),await a("DELETE FROM"+T(t)+z+T(e)+"NOT IN("+Q(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,s,i)=>await a("INSERT INTO"+T(t)+"("+T(e)+v(A(s,(a=>n+T(a))))+")VALUES"+E(o(`,(?${o(",?",d(s))})`,d(i)/(d(s)+1)),1)+"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(A(s,(a=>T(a)+"=excluded."+T(a))),n),i),Q=a=>v(A(a,(()=>"?")),n),X=JSON.parse,Z=_(),aa=_(),ta=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,E,d,u=0,p=0;W(Z,r,(()=>0)),W(aa,r,(()=>[]));const f=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),p=1,d=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)}}))})),T),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(y(w,a.delListener),w=void 0,T),schedule:async(...a)=>(N(q(aa,r),...a),await(async()=>{if(!q(Z,r)){for(j(Z,r,1);!l((a=q(aa,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(Z,r,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),b(T)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=K(t,o,n);return ta(a,(async()=>await E((async()=>(await l(),X((await y(i,f))[p]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?g.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,r,y]],w,E,d)=>{const[T,m,v,A]=K(t,w,n),L=async(a,t)=>await u(H(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),N=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return ta(a,(async()=>await A((async()=>{await T();const a=await(async()=>x(h(await u(H(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),l(t)){const[t,e]=a();await L(t),await N(e)}else{const[a,e]=t();await L(a,!0),await N(e,!0)}}))),e,s,n,[d,E],E)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:s+"_values"},Ea=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=E(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(o[0])||s(i,o[0])||j(n,i,o)})),n},da="pragma ",ua="data_version",pa="schema_version",fa=(a,t,e,n,i,o,c,l,y="getDb")=>{let d,u,p;const[T,v,A,L]=(a=>{const t=(a=>I(ya,w(a)?{storeTableName:a}:a??{}))(a),e=t[oa];if(t.mode==ia){const{storeTableName:a=s}=t;return[1,e,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(M(I(wa,o)),0,P(wa)),r=c[2],l=k(r);return[0,e,[Ea(n,{[ra]:null,[ca]:f},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(T?sa:na)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(da+ua))[0][ua],s=(await e(da+pa))[0][pa],n=(await e(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&s==(u??=s)&&n==(p??=n)||(a(),d=t,u=s)}catch{}},s=v,t(),setInterval(t,1e3*s)),n((t=>L.has(t)?a():0))];var t,s}),(([a,t])=>{r(a),d=u=null,i(t)}),c,A,R(L),l,y)};a.createExpoSqliteNextPersister=(a,e,s,n,i)=>fa(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"]);
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),E=a=>e(a)==o,d=(a,t,e)=>a.slice(t,e),u=a=>a.length,p=async a=>r.all(a),f="_",v="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),L=(a,t)=>a.map(t),R=a=>0==u(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],S=(a,t)=>a?.delete(t),g=Object,D=a=>g.getPrototypeOf(a),b=g.keys,x=g.freeze,I=(a=[])=>g.fromEntries(a),P=(...a)=>g.assign({},...a),F=(a,t)=>L(g.entries(a),(([a,e])=>t(e,a))),M=a=>g.values(a),$=a=>u(b(a)),_=a=>(a=>!y(a)&&w(D(a),(a=>a==g.prototype||y(D(a))),(()=>!0)))(a)&&0==$(a),B=a=>new Map(a),q=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>L([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>y(e)?(S(a,t),a):a?.set(t,e),Y=(a,t,e)=>(O(a,t)||W(a,t,e()),H(a,t)),k=(a,t,e,s=W)=>(F(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),G=a=>new Set(Array.isArray(a)||y(a)?a:[a]),J=(a,t)=>a?.add(t),U=m+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,e,s)=>{const o=B();return[async()=>k(o,I(await p(L(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(t)+")ORDER BY name",t),(async({name:t})=>[t,I(L(await a(m+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(o,t,k(Y(o,t,B),e,((a,t,e)=>{e!=H(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(o,t))),async(t,e)=>((a,t)=>!y(H(H(o,a),t)))(t,e)?I(h(L(await a(U+T(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,c,r,l,w=!1)=>{const E=G();F(c??{},(a=>L(b(a??{}),(a=>J(E,a)))));const d=C(E);if(!w&&l&&R(d)&&O(o,t))return await a("DROP TABLE"+T(t)),void W(o,t);if(R(d)||O(o,t)){const s=H(o,t),i=G(q(s));await p([...L(d,(async e=>{S(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),W(s,e,n))})),...!w&&r?L(C(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),W(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${A(L(d,(a=>i+T(a))))});`),W(o,t,B([[e,n],...L(d,(a=>[a,n]))]));if(w)y(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await p(F(c,(async(n,i)=>{y(n)?await a("DELETE FROM"+T(t)+K+T(e)+"=?",[i]):R(d)||await Q(a,t,e,b(n),[i,...M(n)],s)})));else if(R(d))O(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const s=h(q(H(o,t)),(a=>a!=e)),n=[],i=[];F(c??{},((a,t)=>{N(n,t,...L(s,(t=>a?.[t]))),N(i,t)})),await Q(a,t,e,s,n),await a("DELETE FROM"+T(t)+K+T(e)+"NOT IN("+X(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Q=async(a,t,e,s,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+A(L(s,(a=>i+T(a))))+")VALUES"+d(c(`,(?${c(",?",u(s))})`,u(o)/(u(s)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+A(L(s,(a=>T(a)+"=excluded."+T(a))),i):n),o),X=a=>A(L(a,(()=>"?")),i),Z=JSON.parse,aa=B(),ta=B(),ea=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let l,E,d,u=0,p=0;Y(aa,r,(()=>0)),Y(ta,r,(()=>[]));const f=async a=>(2!=u&&(u=1,await v.schedule((async()=>{await a(),u=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,d=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(d),d=void 0,p=0),v),save:async t=>(1!=u&&(u=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),l=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(w(l,a.delListener),l=void 0,v),schedule:async(...a)=>(N(H(ta,r),...a),await(async()=>{if(!H(aa,r)){for(W(aa,r,1);!y((a=H(ta,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(aa,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),x(v)},sa="store",na=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=V(t,o,n);return ea(a,(async()=>await E((async()=>(await l(),Z((await y(i,v))[f]?.[sa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,v,{[f]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?g.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},ia=(a,t,e,s,n,[i,o,[c,r,l]],w,E,d,u)=>{const[T,m,A,L]=V(t,w,n,u),R=async(a,t)=>await p(j(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(l,v,{[f]:a},!0,!0,t):null;return ea(a,(async()=>await L((async()=>{await T();const a=await(async()=>I(h(await p(j(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(l,v))[f]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await T(),y(t)){const[t,e]=a();await R(t),await N(e)}else{const[a,e]=t();await R(a,!0),await N(e,!0)}}))),e,s,n,[d,E],E)},oa="json",ca="autoLoadIntervalSeconds",ra="rowIdColumnName",la="tableId",ya="tableName",wa={mode:oa,[ca]:1},Ea={load:0,save:0,[ya]:s+"_values"},da=(a,t,e,s)=>{const n=B();return F(a,((a,i)=>{const o=d(M(P(t,E(a)?{[e]:a}:a)),0,$(t));y(o[0])||s(i,o[0])||W(n,i,o)})),n},ua="pragma ",pa="data_version",fa="schema_version",va=(a,t,e,n,i,o,c,r,y="getDb",w)=>{let u,p,f;const[T,A,L,R]=(a=>{const t=(a=>P(wa,E(a)?{storeTableName:a}:a??{}))(a),e=t[ca];if(t.mode==oa){const{storeTableName:a=s}=t;return[1,e,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=d(M(P(Ea,o)),0,$(Ea)),r=c[2],l=G(r);return[0,e,[da(n,{[la]:null,[ra]:v},la,(a=>J(l,a)&&a==r)),da(i,{[ya]:null,[ra]:v,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==r)),c],l]})(t);return(T?na:ia)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(ua+pa))[0][pa],s=(await e(ua+fa))[0][fa],n=(await e(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&s==(p??=s)&&n==(f??=n)||(a(),u=t,p=s)}catch{}},s=A,t(),setInterval(t,1e3*s)),n((t=>R.has(t)?a():0))];var t,s}),(([a,t])=>{l(a),u=p=null,i(t)}),c,L,C(R),r,y,w)};a.createExpoSqliteNextPersister=(a,e,s,n,i)=>va(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"]);
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>o.all(a),u="_",p="_id",f=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==E(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,g=a=>S.getPrototypeOf(a),C=S.keys,D=S.freeze,b=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),F=(a,t)=>v(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),P=a=>E(C(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==S.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),x=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>r(e)?(R(a,t),a):a?.set(t,e),W=(a,t,e)=>(N(a,t)||j(a,t,e()),B(a,t)),q=(a,t,e,s=j)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,b(await d(v(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(v(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,q(W(n,t,_),e,((a,t,e)=>{e!=B(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!r(B(B(n,a),t)))(t,e)?b(L(v(await a(G+f(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=Y();F(i??{},(a=>v(C(a??{}),(a=>k(y,a)))));const w=O(y);if(!l&&c&&A(w)&&N(n,t))return await a("DROP TABLE"+f(t)),void j(n,t);if(A(w)||N(n,t)){const s=B(n,t),i=Y(x(s));await d([...v(w,(async e=>{R(i,e)||(await a(`ALTER TABLE${f(t)}ADD${f(e)}`),j(s,e,""))})),...!l&&o?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${f(t)}DROP${f(n)}`),j(s,n))})):[]])}else await a(`CREATE TABLE${f(t)}(${f(e)} PRIMARY KEY ON CONFLICT REPLACE${m(v(w,(a=>s+f(a))))});`),j(n,t,_([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+f(t)+"WHERE 1"):await d(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+f(t)+U+f(e)+"=?",[n]):A(w)||await K(a,t,e,C(s),[n,...M(s)])})));else if(A(w))N(n,t)&&await a("DELETE FROM"+f(t)+"WHERE 1");else{const s=L(x(B(n,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{h(o,t,...v(s,(t=>a?.[t]))),h(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+f(t)+U+f(e)+"NOT IN("+V(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+f(t)+"("+f(e)+m(v(n,(a=>s+f(a))))+")VALUES"+w(i(`,(?${i(",?",E(n))})`,E(o)/(E(n)+1)),1)+"ON CONFLICT("+f(e)+")DO UPDATE SET"+m(v(n,(a=>f(a)+"=excluded."+f(a))),s),o),V=a=>m(v(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,E,d,u=0,p=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const f=async a=>(2!=u&&(u=1,await T.schedule((async()=>{await a(),u=0}))),T),T={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),p=1,d=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)}}))})),T),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),T),save:async t=>(1!=u&&(u=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(B(Z,y),...a),await(async()=>{if(!B(X,y)){for(j(X,y,1);!r((a=B(Z,y),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),D(T)},ta="store",ea=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=z(t,o,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await y(i,p))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,p,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,E,f)=>{const[T,m,v,A]=z(t,w,n),h=async(a,t)=>await d(H(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),N=async(a,t)=>l?await v(y,p,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await T();const a=await(async()=>b(L(await d(H(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await m(y,p))[u]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),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,s,n,[f,E],E)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||j(n,i,o)})),n},Ea="pragma ",da="data_version",ua="schema_version",pa=(a,t,s,n,i,o,r,l,E="getDb")=>{let d,u,f;const[m,v,A,L]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,P(ya)),r=c[2],l=Y(r);return[0,s,[wa(n,{[ca]:null,[oa]:p},ca,(a=>k(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),c],l]})(t);return(m?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+da))[0][da],e=(await s(Ea+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(u??=e)&&n==(f??=n)||(a(),d=t,u=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=u=null,i(t)}),r,A,O(L),l,E)};a.createExpoSqlitePersister=(a,t,e,s,n)=>pa(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={});
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,E=(a,t,e)=>a.slice(t,e),d=a=>a.length,u=async a=>c.all(a),p="_",f="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==d(a),R=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),S=Object,g=a=>S.getPrototypeOf(a),D=S.keys,b=S.freeze,I=(a=[])=>S.fromEntries(a),P=(...a)=>S.assign({},...a),F=(a,t)=>A(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),$=a=>d(D(a)),_=a=>(a=>!l(a)&&y(g(a),(a=>a==S.prototype||l(g(a))),(()=>!0)))(a)&&0==$(a),x=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),q=(a,t,e)=>(O(a,t)||W(a,t,e()),H(a,t)),Y=(a,t,e,s=W)=>(F(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),k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),J=T+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e,i)=>{const o=x();return[async()=>Y(o,I(await u(A(await a("SELECT name "+U+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(T+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(o,t,Y(q(o,t,x),e,((a,t,e)=>{e!=H(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?I(R(A(await a(J+v(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 E=k();F(c??{},(a=>A(D(a??{}),(a=>G(E,a)))));const d=N(E);if(!w&&y&&L(d)&&O(o,t))return await a("DROP TABLE"+v(t)),void W(o,t);if(L(d)||O(o,t)){const n=H(o,t),i=k(B(n));await u([...A(d,(async e=>{C(i,e)||(await a(`ALTER TABLE${v(t)}ADD${v(e)}`),W(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${v(t)}DROP${v(s)}`),W(n,s))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(e)} PRIMARY KEY ON CONFLICT REPLACE${m(A(d,(a=>n+v(a))))});`),W(o,t,x([[e,s],...A(d,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+v(t)+"WHERE 1"):await u(F(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+v(t)+z+v(e)+"=?",[n]):L(d)||await V(a,t,e,D(s),[n,...M(s)],i)})));else if(L(d))O(o,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const s=R(B(H(o,t)),(a=>a!=e)),n=[],i=[];F(c??{},((a,t)=>{h(n,t,...A(s,(t=>a?.[t]))),h(i,t)})),await V(a,t,e,s,n),await a("DELETE FROM"+v(t)+z+v(e)+"NOT IN("+Q(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+v(t)+"("+v(e)+m(A(i,(a=>n+v(a))))+")VALUES"+E(o(`,(?${o(",?",d(i))})`,d(c)/(d(i)+1)),1)+(r?"ON CONFLICT("+v(e)+")DO UPDATE SET"+m(A(i,(a=>v(a)+"=excluded."+v(a))),n):s),c),Q=a=>m(A(a,(()=>"?")),n),X=JSON.parse,Z=x(),aa=x(),ta=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,E,d,u=0,p=0;q(Z,r,(()=>0)),q(aa,r,(()=>[]));const f=async a=>(2!=u&&(u=1,await v.schedule((async()=>{await a(),u=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,d=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(d),d=void 0,p=0),v),save:async t=>(1!=u&&(u=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}u=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(h(H(aa,r),...a),await(async()=>{if(!H(Z,r)){for(W(Z,r,1);!l((a=H(aa,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Z,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),b(v)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=K(t,o,n);return ta(a,(async()=>await E((async()=>(await l(),X((await y(i,f))[p]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,r,y]],w,E,d,v)=>{const[T,m,A,L]=K(t,w,n,v),h=async(a,t)=>await u(j(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await A(e,s,c,n,i,t)}))),O=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return ta(a,(async()=>await L((async()=>{await T();const a=await(async()=>I(R(await u(j(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await T(),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,[d,E],E)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:e+"_values"},Ea=(a,t,e,s)=>{const n=x();return F(a,((a,i)=>{const o=E(M(P(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||s(i,o[0])||W(n,i,o)})),n},da="pragma ",ua="data_version",pa="schema_version",fa=(a,t,s,n,i,o,c,l,y="getDb",d)=>{let u,p,v;const[m,A,L,R]=(a=>{const t=(a=>P(ya,w(a)?{storeTableName:a}:a??{}))(a),s=t[oa];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(M(P(wa,o)),0,$(wa)),r=c[2],l=k(r);return[0,s,[Ea(n,{[ra]:null,[ca]:f},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(m?sa:na)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(da+ua))[0][ua],e=(await s(da+pa))[0][pa],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(p??=e)&&n==(v??=n)||(a(),u=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>R.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),u=p=null,i(t)}),c,L,N(R),l,y,d)};a.createExpoSqlitePersister=(a,t,e,s,n)=>fa(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={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",p="_id",f=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",T=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,b=a=>S.getPrototypeOf(a),C=S.keys,D=S.freeze,g=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),_=(a,t)=>v(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),F=a=>u(C(a)),P=a=>(a=>!r(a)&&l(b(a),(a=>a==S.prototype||r(b(a))),(()=>!0)))(a)&&0==F(a),$=a=>new Map(a),B=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),j=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),H=(a,t,e)=>(R(a,t)||x(a,t,e()),W(a,t)),k=(a,t,e,s=x)=>(_(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),q=a=>new Set(Array.isArray(a)||r(a)?a:[a]),Y=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",U="WHERE",V=(a,t,e)=>{const n=$();return[async()=>k(n,g(await d(v(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(v(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,k(H(n,t,$),e,((a,t,e)=>{e!=W(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(W(W(n,a),t)))(t,e)?g(h(v(await a(G+f(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!P(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=q();_(i??{},(a=>v(C(a??{}),(a=>Y(y,a)))));const w=O(y);if(!l&&c&&A(w)&&R(n,t))return await a("DROP TABLE"+f(t)),void x(n,t);if(A(w)||R(n,t)){const s=W(n,t),i=q(B(s));await d([...v(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${f(t)}ADD${f(e)}`),x(s,e,""))})),...!l&&o?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${f(t)}DROP${f(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${f(t)}(${f(e)} PRIMARY KEY ON CONFLICT REPLACE${T(v(w,(a=>s+f(a))))});`),x(n,t,$([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+f(t)+"WHERE 1"):await d(_(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+f(t)+U+f(e)+"=?",[n]):A(w)||await z(a,t,e,C(s),[n,...M(s)])})));else if(A(w))R(n,t)&&await a("DELETE FROM"+f(t)+"WHERE 1");else{const s=h(B(W(n,t)),(a=>a!=e)),o=[],c=[];_(i??{},((a,t)=>{L(o,t,...v(s,(t=>a?.[t]))),L(c,t)})),await z(a,t,e,s,o),await a("DELETE FROM"+f(t)+U+f(e)+"NOT IN("+K(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},z=async(a,t,e,n,o)=>await a("INSERT INTO"+f(t)+"("+f(e)+T(v(n,(a=>s+f(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+f(e)+")DO UPDATE SET"+T(v(n,(a=>f(a)+"=excluded."+f(a))),s),o),K=a=>T(v(a,(()=>"?")),s),Q=JSON.parse,X=$(),Z=$(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,d,E=0,p=0;H(X,y,(()=>0)),H(Z,y,(()=>[]));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,d=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(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(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(w,a.delListener),w=void 0,m),schedule:async(...a)=>(L(W(Z,y),...a),await(async()=>{if(!W(X,y)){for(x(X,y,1);!r((a=W(Z,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(X,y,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),D(m)},ta="store",ea=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=V(t,o,n);return aa(a,(async()=>await u((async()=>(await l(),Q((await y(i,p))[E]?.[ta]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,p,{[E]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,u,f)=>{const[m,T,v,A]=V(t,w,n),L=async(a,t)=>await d(j(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),R=async(a,t)=>l?await v(y,p,{[E]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await m();const a=await(async()=>g(h(await d(j(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>c?(await T(y,p))[E]:{})();return P(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),r(t)){const[t,e]=a();await L(t),await R(e)}else{const[a,e]=t();await L(a,!0),await R(e,!0)}}))),e,s,n,[f,u],u)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=$();return _(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,F(t));r(o[0])||s(i,o[0])||x(n,i,o)})),n},ua="pragma ",da="data_version",Ea="schema_version",pa=(a,t,s,n,i,o,r,l,u="getDb")=>{let d,E,f;const[T,v,A,h]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,F(ya)),r=c[2],l=q(r);return[0,s,[wa(n,{[ca]:null,[oa]:p},ca,(a=>Y(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>Y(l,t)&&t==r)),c],l]})(t);return(T?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+da))[0][da],e=(await s(ua+Ea))[0][Ea],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(E??=e)&&n==(f??=n)||(a(),d=t,E=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=E=null,i(t)}),r,A,O(h),l,u)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>pa(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={});
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),p="_",f="_id",m=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==d(a),R=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],S=(a,t)=>a?.delete(t),C=Object,b=a=>C.getPrototypeOf(a),D=C.keys,g=C.freeze,I=(a=[])=>C.fromEntries(a),_=(...a)=>C.assign({},...a),M=(a,t)=>A(C.entries(a),(([a,e])=>t(e,a))),P=a=>C.values(a),F=a=>d(D(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==C.prototype||l(b(a))),(()=>!0)))(a)&&0==F(a),B=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(S(a,t),a):a?.set(t,e),k=(a,t,e)=>(O(a,t)||H(a,t,e()),j(a,t)),q=(a,t,e,s=H)=>(M(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),Y=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),J=T+"*FROM",U="FROM pragma_table_",V="WHERE",z=(a,t,e,i)=>{const o=B();return[async()=>q(o,I(await E(A(await a("SELECT name "+U+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(T+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(o,t,q(k(o,t,B),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?I(R(A(await a(J+m(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 u=Y();M(c??{},(a=>A(D(a??{}),(a=>G(u,a)))));const d=N(u);if(!w&&y&&L(d)&&O(o,t))return await a("DROP TABLE"+m(t)),void H(o,t);if(L(d)||O(o,t)){const n=j(o,t),i=Y(W(n));await E([...A(d,(async e=>{S(i,e)||(await a(`ALTER TABLE${m(t)}ADD${m(e)}`),H(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${m(t)}DROP${m(s)}`),H(n,s))})):[]])}else await a(`CREATE TABLE${m(t)}(${m(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(d,(a=>n+m(a))))});`),H(o,t,B([[e,s],...A(d,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+m(t)+"WHERE 1"):await E(M(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+m(t)+V+m(e)+"=?",[n]):L(d)||await K(a,t,e,D(s),[n,...P(s)],i)})));else if(L(d))O(o,t)&&await a("DELETE FROM"+m(t)+"WHERE 1");else{const s=R(W(j(o,t)),(a=>a!=e)),n=[],i=[];M(c??{},((a,t)=>{h(n,t,...A(s,(t=>a?.[t]))),h(i,t)})),await K(a,t,e,s,n),await a("DELETE FROM"+m(t)+V+m(e)+"NOT IN("+Q(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+v(A(i,(a=>n+m(a))))+")VALUES"+u(o(`,(?${o(",?",d(i))})`,d(c)/(d(i)+1)),1)+(r?"ON CONFLICT("+m(e)+")DO UPDATE SET"+v(A(i,(a=>m(a)+"=excluded."+m(a))),n):s),c),Q=a=>v(A(a,(()=>"?")),n),X=JSON.parse,Z=B(),aa=B(),ta=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,u,d,E=0,p=0;k(Z,r,(()=>0)),k(aa,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,d=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(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(),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(j(aa,r),...a),await(async()=>{if(!j(Z,r)){for(H(Z,r,1);!l((a=j(aa,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(Z,r,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),g(m)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=z(t,o,n);return ta(a,(async()=>await u((async()=>(await l(),X((await y(i,f))[p]?.[ea]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?C.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,r,y]],w,u,d,m)=>{const[T,v,A,L]=z(t,w,n,m),h=async(a,t)=>await E(x(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await A(e,s,c,n,i,t)}))),O=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return ta(a,(async()=>await L((async()=>{await T();const a=await(async()=>I(R(await E(x(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await T(),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,[d,u],u)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:e+"_values"},ua=(a,t,e,s)=>{const n=B();return M(a,((a,i)=>{const o=u(P(_(t,w(a)?{[e]:a}:a)),0,F(t));l(o[0])||s(i,o[0])||H(n,i,o)})),n},da="pragma ",Ea="data_version",pa="schema_version",fa=(a,t,s,n,i,o,c,l,y="getDb",d)=>{let E,p,m;const[v,A,L,R]=(a=>{const t=(a=>_(ya,w(a)?{storeTableName:a}:a??{}))(a),s=t[oa];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=u(P(_(wa,o)),0,F(wa)),r=c[2],l=Y(r);return[0,s,[ua(n,{[ra]:null,[ca]:f},ra,(a=>G(l,a)&&a==r)),ua(i,{[la]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(v?sa:na)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(da+Ea))[0][Ea],e=(await s(da+pa))[0][pa],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&n==(m??=n)||(a(),E=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>R.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=null,i(t)}),c,L,N(R),l,y,d)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>fa(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={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>o.all(a),d="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,g=a=>S.getPrototypeOf(a),C=S.keys,D=S.freeze,b=(a=[])=>S.fromEntries(a),I=(...a)=>S.assign({},...a),F=(a,t)=>m(S.entries(a),(([a,e])=>t(e,a))),M=a=>S.values(a),P=a=>u(C(a)),$=a=>(a=>!r(a)&&l(g(a),(a=>a==S.prototype||r(g(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),j=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),H(a,t)),Y=(a,t,e,s=x)=>(F(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),k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>Y(n,b(await E(m(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(m(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,Y(W(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?b(L(m(await a(G+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=k();F(i??{},(a=>m(C(a??{}),(a=>q(y,a)))));const w=R(y);if(!l&&c&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void x(n,t);if(A(w)||O(n,t)){const s=H(n,t),i=k(B(s));await E([...m(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),x(s,e,""))})),...!l&&o?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),x(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(w,(a=>s+p(a))))});`),x(n,t,_([[e,""],...m(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await E(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+U+p(e)+"=?",[n]):A(w)||await K(a,t,e,C(s),[n,...M(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=L(B(H(n,t)),(a=>a!=e)),o=[],c=[];F(i??{},((a,t)=>{h(o,t,...m(s,(t=>a?.[t]))),h(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+p(t)+U+p(e)+"NOT IN("+V(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+p(t)+"("+p(e)+v(m(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+v(m(n,(a=>p(a)+"=excluded."+p(a))),s),o),V=a=>v(m(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,E,d=0,f=0;W(X,y,(()=>0)),W(Z,y,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),f=1,E=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)}}))})),T),stopAutoLoad:()=>(f&&(n(E),E=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(H(Z,y),...a),await(async()=>{if(!H(X,y)){for(x(X,y,1);!r((a=H(Z,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(X,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),D(T)},ta="store",ea=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=z(t,o,n);return aa(a,(async()=>await u((async()=>(await l(),Q((await y(i,f))[d]?.[ta]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},sa=(a,t,e,s,n,[i,o,[c,l,y]],w,u,p)=>{const[T,v,m,A]=z(t,w,n),h=async(a,t)=>await E(j(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await m(e,s,c,n,i,t)}))),O=async(a,t)=>l?await m(y,f,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await A((async()=>{await T();const a=await(async()=>b(L(await E(j(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(y,f))[d]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),r(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,[p,u],u)},na="json",ia="autoLoadIntervalSeconds",oa="rowIdColumnName",ca="tableId",ra="tableName",la={mode:na,[ia]:1},ya={load:0,save:0,[ra]:e+"_values"},wa=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const o=w(M(I(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||x(n,i,o)})),n},ua="pragma ",Ea="data_version",da="schema_version",fa=(a,t,s,n,i,o,r,l,u="getDb")=>{let E,d,p;const[v,m,A,L]=(a=>{const t=(a=>I(la,y(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(M(I(ya,o)),0,P(ya)),r=c[2],l=k(r);return[0,s,[wa(n,{[ca]:null,[oa]:f},ca,(a=>q(l,a)&&a==r)),wa(i,{[ra]:null,[oa]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>q(l,t)&&t==r)),c],l]})(t);return(v?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+Ea))[0][Ea],e=(await s(ua+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(d??=e)&&n==(p??=n)||(a(),E=t,d=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=d=null,i(t)}),r,A,R(L),l,u)},pa="change";a.createSqlite3Persister=(a,t,e,s,n)=>fa(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new o(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(pa,e),e}),(a=>t.off(pa,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={});
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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),f="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==u(a),R=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],S=(a,t)=>a?.delete(t),C=Object,g=a=>C.getPrototypeOf(a),D=C.keys,b=C.freeze,I=(a=[])=>C.fromEntries(a),P=(...a)=>C.assign({},...a),F=(a,t)=>A(C.entries(a),(([a,e])=>t(e,a))),M=a=>C.values(a),$=a=>u(D(a)),_=a=>(a=>!l(a)&&y(g(a),(a=>a==C.prototype||l(g(a))),(()=>!0)))(a)&&0==$(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(S(a,t),a):a?.set(t,e),Y=(a,t,e)=>(O(a,t)||W(a,t,e()),j(a,t)),k=(a,t,e,s=W)=>(F(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=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),J=T+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e,i)=>{const o=B();return[async()=>k(o,I(await d(A(await a("SELECT name "+U+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(T+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(o,t,k(Y(o,t,B),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?I(R(A(await a(J+v(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 E=q();F(c??{},(a=>A(D(a??{}),(a=>G(E,a)))));const u=N(E);if(!w&&y&&L(u)&&O(o,t))return await a("DROP TABLE"+v(t)),void W(o,t);if(L(u)||O(o,t)){const n=j(o,t),i=q(H(n));await d([...A(u,(async e=>{S(i,e)||(await a(`ALTER TABLE${v(t)}ADD${v(e)}`),W(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${v(t)}DROP${v(s)}`),W(n,s))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(e)} PRIMARY KEY ON CONFLICT REPLACE${m(A(u,(a=>n+v(a))))});`),W(o,t,B([[e,s],...A(u,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+v(t)+"WHERE 1"):await d(F(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+v(t)+z+v(e)+"=?",[n]):L(u)||await V(a,t,e,D(s),[n,...M(s)],i)})));else if(L(u))O(o,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const s=R(H(j(o,t)),(a=>a!=e)),n=[],i=[];F(c??{},((a,t)=>{h(n,t,...A(s,(t=>a?.[t]))),h(i,t)})),await V(a,t,e,s,n),await a("DELETE FROM"+v(t)+z+v(e)+"NOT IN("+Q(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+v(t)+"("+v(e)+m(A(i,(a=>n+v(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+v(e)+")DO UPDATE SET"+m(A(i,(a=>v(a)+"=excluded."+v(a))),n):s),c),Q=a=>m(A(a,(()=>"?")),n),X=JSON.parse,Z=B(),aa=B(),ta=(a,t,e,s,n,i,[o,c]=[],r=[])=>{let w,E,u,d=0,f=0;Y(Z,r,(()=>0)),Y(aa,r,(()=>[]));const p=async a=>(2!=d&&(d=1,await v.schedule((async()=>{await a(),d=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!=d&&(d=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(y(w,a.delListener),w=void 0,v),schedule:async(...a)=>(h(j(aa,r),...a),await(async()=>{if(!j(Z,r)){for(W(Z,r,1);!l((a=j(aa,r),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Z,r,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(v[o]=()=>c),b(v)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=K(t,o,n);return ta(a,(async()=>await E((async()=>(await l(),X((await y(i,p))[f]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,p,{[f]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?C.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,r,y]],w,E,u,v)=>{const[T,m,A,L]=K(t,w,n,v),h=async(a,t)=>await d(x(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await A(e,s,c,n,i,t)}))),O=async(a,t)=>r?await A(y,p,{[f]:a},!0,!0,t):null;return ta(a,(async()=>await L((async()=>{await T();const a=await(async()=>I(R(await d(x(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(y,p))[f]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await T(),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,E],E)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:e+"_values"},Ea=(a,t,e,s)=>{const n=B();return F(a,((a,i)=>{const o=E(M(P(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||s(i,o[0])||W(n,i,o)})),n},ua="pragma ",da="data_version",fa="schema_version",pa=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let d,f,v;const[m,A,L,R]=(a=>{const t=(a=>P(ya,w(a)?{storeTableName:a}:a??{}))(a),s=t[oa];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(M(P(wa,o)),0,$(wa)),r=c[2],l=q(r);return[0,s,[Ea(n,{[ra]:null,[ca]:p},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[ca]:p,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(m?sa:na)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+da))[0][da],e=(await s(ua+fa))[0][fa],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(f??=e)&&n==(v??=n)||(a(),d=t,f=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>R.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=f=null,i(t)}),c,L,N(R),l,y,u)},va="change";a.createSqlite3Persister=(a,t,e,s,n)=>pa(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(va,e),e}),(a=>t.off(va,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={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,t)=>d(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),O=e=>0==v(e),A=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),L=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),x=w.keys,S=w.freeze,C=(e=[])=>w.fromEntries(e),g=(...e)=>w.assign({},...e),D=(e,n)=>T(w.entries(e),(([e,t])=>n(t,e))),I=e=>w.values(e),F=e=>v(x(e)),M=e=>(e=>!d(e)&&a(N(e),(e=>e==w.prototype||d(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},W=(e,n,t)=>d(t)?(R(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(L(e,n)||W(e,n,t()),_(e,n)),U=(e,n,t,l=W)=>(D(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),Y=e=>new Set(Array.isArray(e)||d(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&K(e,t,n[t]);if(G)for(var t of G(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return U(o,C(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>W(o,n,U(H(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&W(e,n,t)}),((e,n)=>W(e,n))))),((e,n)=>W(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!d(_(_(o,e),n)))(n,t)?C(A(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!d(e)&&!M(n)))):{}})),(n,t,r,i,u,a=!1)=>Q(void 0,null,(function*(){const c=Y();D(null!=r?r:{},(e=>T(x(null!=e?e:{}),(e=>k(c,e)))));const s=b(c);if(!a&&u&&O(s)&&L(o,n))return yield e("DROP TABLE"+h(n)),void W(o,n);if(O(s)||L(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(s,(t=>Q(void 0,null,(function*(){R(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),W(l,t,""))})))),...!a&&i?T(b(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),W(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(s,(e=>l+h(e))))});`),W(o,n,$([[t,""],...T(s,(e=>[e,""]))]));if(a)d(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(D(r,((l,o)=>Q(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):O(s)||(yield te(e,n,t,x(l),[o,...I(l)]))})))));else if(O(s))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=A(j(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{P(i,n,...T(l,(n=>null==e?void 0:e[n]))),P(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ie=$(),ue=$(),de=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;H(ie,c,(()=>0)),H(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return P(_(ue,c),...e),yield re(void 0,null,(function*(){if(!_(ie,c)){for(W(ie,c,1);!d((e=_(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}W(ie,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),S(E)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ce="store",se=(e,n,t,l,o,[r],i,u,d)=>{const[a,c,s,v]=ne(n,i,o);return de(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,t;yield a(),yield s(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[d,u],u)};var ve=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ye=(e,n,t,l,o,[r,i,[u,a,c]],s,v,h)=>{const[E,m,T,O]=ne(n,s,o),P=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield T(t,l,u,o,r,n))})))))})),L=(e,n)=>ve(void 0,null,(function*(){return a?yield T(c,p,{[f]:e},!0,!0,n):null}));return de(e,(()=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return C(A(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return M(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){if(yield E(),d(n)){const[n,t]=e();yield P(n),yield L(t)}else{const[e,t]=n();yield P(e,!0),yield L(t,!0)}}))))}))),t,l,o,[h,v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},Oe={load:0,save:0,[me]:t+"_values"},Ae=(e,n,t,l)=>{const o=$();return D(e,((e,r)=>{const i=s(I(g(n,c(e)?{[t]:e}:e)),0,F(n));d(i[0])||l(r,i[0])||W(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Le="pragma ",be="data_version",Re="schema_version",we=(e,n,l,o,r,i,d,a,v="getDb")=>{let y,f,h;const[m,T,O,A]=(e=>{const n=(e=>g(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(I(g(Oe,i)),0,F(Oe)),d=u[2],a=Y(d);return[0,l,[Ae(o,{[Ee]:null,[he]:p},Ee,(e=>k(a,e)&&e==d)),Ae(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(a,n)&&n==d)),u],a]})(n);return(m?se:ye)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(Le+be))[0][be],t=(yield l(Le+Re))[0][Re],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=f?f:f=t)&&o==(null!=h?h:h=o)||(e(),y=n,f=t)}catch(e){}})),t=T,n(),setInterval(n,1e3*t)),o((n=>A.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),y=f=null,r(n)}),d,O,b(A),a,v)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>we(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l="",o=",",r=n(l),i=(e,n)=>e.repeat(n),u=Promise,d=clearInterval,a=e=>null==e,c=(e,n,t)=>a(e)?null==t?void 0:t():n(e),s=e=>n(e)==r,v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",E=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",O=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),A=e=>0==y(e),P=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),R=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),N=Object,x=e=>N.getPrototypeOf(e),C=N.keys,S=N.freeze,g=(e=[])=>N.fromEntries(e),D=(...e)=>N.assign({},...e),I=(e,n)=>T(N.entries(e),(([e,t])=>n(t,e))),F=e=>N.values(e),M=e=>y(C(e)),$=e=>(e=>!a(e)&&c(x(e),(e=>e==N.prototype||a(x(e))),(()=>!0)))(e)&&0==M(e),j=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(w(e,n),e):null==e?void 0:e.set(n,t),U=(e,n,t)=>(R(e,n)||H(e,n,t()),B(e,n)),Y=(e,n,t,l=H)=>(I(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!a(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Q=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&V(e,t,n[t]);if(J)for(var t of J(n))K.call(n,t)&&V(e,t,n[t]);return e},X=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Z=m+"*FROM",ee="FROM pragma_table_",ne="WHERE",te=(e,n,t,r)=>{const i=j();return[()=>X(void 0,null,(function*(){return Y(i,g(yield f(T(yield e("SELECT name "+ee+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,g(T(yield e(m+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(i,n,Y(U(i,n,j),t,((e,n,t)=>{t!=B(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(i,n)))})),(n,t)=>X(void 0,null,(function*(){return((e,n)=>!a(B(B(i,e),n)))(n,t)?g(P(T(yield e(Z+E(n)),(e=>{return[e[t],(n=Q({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!$(n)))):{}})),(n,t,u,d,c,s=!1)=>X(void 0,null,(function*(){const v=k();I(null!=u?u:{},(e=>T(C(null!=e?e:{}),(e=>q(v,e)))));const y=b(v);if(!s&&c&&A(y)&&R(i,n))return yield e("DROP TABLE"+E(n)),void H(i,n);if(A(y)||R(i,n)){const o=B(i,n),r=k(_(o));yield f([...T(y,(t=>X(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),H(o,t,l))})))),...!s&&d?T(b(r),(l=>X(void 0,null,(function*(){l!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(l)}`),H(o,l))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${O(T(y,(e=>o+E(e))))});`),H(i,n,j([[t,l],...T(y,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield f(I(u,((l,o)=>X(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+E(n)+ne+E(t)+"=?",[o]):A(y)||(yield le(e,n,t,C(l),[o,...F(l)],r))})))));else if(A(y))R(i,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const l=P(_(B(i,n)),(e=>e!=t)),o=[],r=[];I(null!=u?u:{},((e,n)=>{L(o,n,...T(l,(n=>null==e?void 0:e[n]))),L(r,n)})),yield le(e,n,t,l,o),yield e("DELETE FROM"+E(n)+ne+E(t)+"NOT IN("+oe(r)+")",r)}})),n=>X(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,r,u,d=!0)=>X(void 0,null,(function*(){return yield e("INSERT "+(d?l:"OR REPLACE ")+"INTO"+E(n)+"("+E(t)+O(T(r,(e=>o+E(e))))+")VALUES"+v(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(d?"ON CONFLICT("+E(t)+")DO UPDATE SET"+O(T(r,(e=>E(e)+"=excluded."+E(e))),o):l),u)})),oe=e=>O(T(e,(()=>"?")),o),re=JSON.parse;var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue=j(),de=j(),ae=(e,n,t,l,o,r,[i,u]=[],d=[])=>{let s,v,y,f=0,p=0;U(ue,d,(()=>0)),U(de,d,(()=>[]));const h=e=>ie(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>ie(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>ie(void 0,null,(function*(){return yield h((()=>ie(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ie(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>ie(void 0,null,(function*(){if(l){const n=l();yield h((()=>ie(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>ie(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>ie(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>ie(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>ie(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();$(t)&&$(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(c(s,e.delListener),s=void 0,E),schedule:(...e)=>ie(void 0,null,(function*(){return L(B(de,d),...e),yield ie(void 0,null,(function*(){if(!B(ue,d)){for(H(ue,d,1);!a((e=B(de,d),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ue,d,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),S(E)};var ce=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const se="store",ve=(e,n,t,l,o,[r],i,u,d)=>{const[a,c,s,v]=te(n,i,o);return ae(e,(()=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var e,n;return yield a(),re(null!=(n=null==(e=(yield c(r,h))[p])?void 0:e[se])?n:"null")}))))}))),(e=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var n,t;yield a(),yield s(r,h,{[p]:{[se]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?N.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[d,u],u)};var ye=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const fe=(e,n,t,l,o,[r,i,[u,d,c]],s,v,y,E)=>{const[m,O,T,A]=te(n,s,o,E),L=(e,n)=>ye(void 0,null,(function*(){return yield f(W(i,((t,l)=>ye(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield T(t,l,u,o,r,n))})))))})),R=(e,n)=>ye(void 0,null,(function*(){return d?yield T(c,h,{[p]:e},!0,!0,n):null}));return ae(e,(()=>ye(void 0,null,(function*(){return yield A((()=>ye(void 0,null,(function*(){yield m();const e=yield ye(void 0,null,(function*(){return g(P(yield f(W(r,((e,n)=>ye(void 0,[e,n],(function*([e,n],t){return[e,yield O(t,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield O(c,h))[p]:{}}));return $(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield A((()=>ye(void 0,null,(function*(){if(yield m(),a(n)){const[n,t]=e();yield L(n),yield R(t)}else{const[e,t]=n();yield L(e,!0),yield R(t,!0)}}))))}))),t,l,o,[y,v],v)},pe="json",he="autoLoadIntervalSeconds",Ee="rowIdColumnName",me="tableId",Oe="tableName",Te={mode:pe,[he]:1},Ae={load:0,save:0,[Oe]:t+"_values"},Pe=(e,n,t,l)=>{const o=j();return I(e,((e,r)=>{const i=v(F(D(n,s(e)?{[t]:e}:e)),0,M(n));a(i[0])||l(r,i[0])||H(o,r,i)})),o};var Le=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Re="pragma ",be="data_version",we="schema_version",Ne=(e,n,l,o,r,i,u,a,c="getDb",y)=>{let f,p,E;const[O,T,A,P]=(e=>{const n=(e=>D(Te,s(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[he];if(n.mode==pe){const{storeTableName:e=t}=n;return[1,l,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(F(D(Ae,i)),0,M(Ae)),d=u[2],a=k(d);return[0,l,[Pe(o,{[me]:null,[Ee]:h},me,(e=>q(a,e)&&e==d)),Pe(r,{[Oe]:null,[Ee]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Oe,((e,n)=>q(a,n)&&n==d)),u],a]})(n);return(O?ve:fe)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield l(Re+be))[0][be],t=(yield l(Re+we))[0][we],o=(yield l(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&t==(null!=p?p:p=t)&&o==(null!=E?E:E=o)||(e(),f=n,p=t)}catch(e){}})),t=T,n(),setInterval(n,1e3*t)),o((n=>P.has(n)?e():0))];var n,t}),(([e,n])=>{d(e),f=p=null,r(n)}),u,A,b(P),a,c,y)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>Ne(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),T=(e,n)=>e.map(n),b=e=>0==v(e),O=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),P=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),R=Object,g=e=>R.getPrototypeOf(e),N=R.keys,S=R.freeze,x=(e=[])=>R.fromEntries(e),C=(...e)=>R.assign({},...e),D=(e,n)=>T(R.entries(e),(([e,t])=>n(t,e))),I=e=>R.values(e),F=e=>v(N(e)),M=e=>(e=>!a(e)&&d(g(e),(e=>e==R.prototype||a(g(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return T([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(w(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(P(e,n)||H(e,n,t()),_(e,n)),q=(e,n,t,l=H)=>(D(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&K(e,t,n[t]);if(J)for(var t of J(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return q(o,x(yield y(T(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,x(T(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(o,n,q(W(o,n,$),t,((e,n,t)=>{t!=_(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(o,e),n)))(n,t)?x(O(T(yield e(X+h(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,t,r,i,u,d=!1)=>Q(void 0,null,(function*(){const c=Y();D(null!=r?r:{},(e=>T(N(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&u&&b(s)&&P(o,n))return yield e("DROP TABLE"+h(n)),void H(o,n);if(b(s)||P(o,n)){const l=_(o,n),r=Y(j(l));yield y([...T(s,(t=>Q(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),H(l,t,""))})))),...!d&&i?T(L(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${m(T(s,(e=>l+h(e))))});`),H(o,n,$([[t,""],...T(s,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(D(r,((l,o)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):b(s)||(yield te(e,n,t,N(l),[o,...I(l)]))})))));else if(b(s))P(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O(j(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{A(i,n,...T(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+m(T(o,(e=>l+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+m(T(o,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>m(T(e,(()=>"?")),l),oe=JSON.parse;var re=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ie=$(),ue=$(),ae=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return A(_(ue,c),...e),yield re(void 0,null,(function*(){if(!_(ie,c)){for(H(ie,c,1);!a((e=_(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),S(E)};var de=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ce="store",se=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,t;yield d(),yield s(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var ve=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ye=(e,n,t,l,o,[r,i,[u,d,c]],s,v,h)=>{const[E,m,T,b]=ne(n,s,o),A=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield T(t,l,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return d?yield T(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield b((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return x(O(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield b((()=>ve(void 0,null,(function*(){if(yield E(),a(n)){const[n,t]=e();yield A(n),yield P(t)}else{const[e,t]=n();yield A(e,!0),yield P(t,!0)}}))))}))),t,l,o,[h,v],v)},fe="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",me="tableName",Te={mode:fe,[pe]:1},be={load:0,save:0,[me]:t+"_values"},Oe=(e,n,t,l)=>{const o=$();return D(e,((e,r)=>{const i=s(I(C(n,c(e)?{[t]:e}:e)),0,F(n));a(i[0])||l(r,i[0])||H(o,r,i)})),o};var Ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Pe="pragma ",Le="data_version",we="schema_version",Re=(e,n,l,o,r,i,a,d,v="getDb")=>{let y,f,h;const[m,T,b,O]=(e=>{const n=(e=>C(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(I(C(be,i)),0,F(be)),a=u[2],d=Y(a);return[0,l,[Oe(o,{[Ee]:null,[he]:p},Ee,(e=>k(d,e)&&e==a)),Oe(r,{[me]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(d,n)&&n==a)),u],d]})(n);return(m?se:ye)(e,i?(e,n)=>Ae(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield l(Pe+Le))[0][Le],t=(yield l(Pe+we))[0][we],o=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=f?f:f=t)&&o==(null!=h?h:h=o)||(e(),y=n,f=t)}catch(e){}})),t=T,n(),setInterval(n,1e3*t)),o((n=>O.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),y=f=null,r(n)}),a,b,L(O),d,v)};e.createElectricSqlPersister=(e,n,t,l,o)=>Re(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.db.raw({sql:e,args:t})},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.notifier.subscribeToDataChanges((t=>{return l=({tablename:n})=>e(n),n.notifier.alias(t).forEach(l);var l}))),(e=>e()),l,o,n,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterElectricSql={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l="",o=",",r=n(l),i=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,c=(e,n,t)=>d(e)?null==t?void 0:t():n(e),s=e=>n(e)==r,v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},p="_",E="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",T=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),b=e=>0==y(e),A=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),L=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),g=Object,N=e=>g.getPrototypeOf(e),C=g.keys,S=g.freeze,x=(e=[])=>g.fromEntries(e),D=(...e)=>g.assign({},...e),I=(e,n)=>O(g.entries(e),(([e,t])=>n(t,e))),F=e=>g.values(e),M=e=>y(C(e)),$=e=>(e=>!d(e)&&c(N(e),(e=>e==g.prototype||d(N(e))),(()=>!0)))(e)&&0==M(e),j=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),H=(e,n)=>{var t;return O([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},W=(e,n,t)=>d(t)?(w(e,n),e):null==e?void 0:e.set(n,t),q=(e,n,t)=>(L(e,n)||W(e,n,t()),B(e,n)),Y=(e,n,t,l=W)=>(I(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!d(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),k=e=>new Set(Array.isArray(e)||d(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Q=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&V(e,t,n[t]);if(U)for(var t of U(n))K.call(n,t)&&V(e,t,n[t]);return e},X=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Z=m+"*FROM",ee="FROM pragma_table_",ne="WHERE",te=(e,n,t,r)=>{const i=j();return[()=>X(void 0,null,(function*(){return Y(i,x(yield f(O(yield e("SELECT name "+ee+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,x(O(yield e(m+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>W(i,n,Y(q(i,n,j),t,((e,n,t)=>{t!=B(e,n)&&W(e,n,t)}),((e,n)=>W(e,n))))),((e,n)=>W(i,n)))})),(n,t)=>X(void 0,null,(function*(){return((e,n)=>!d(B(B(i,e),n)))(n,t)?x(A(O(yield e(Z+h(n)),(e=>{return[e[t],(n=Q({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!d(e)&&!$(n)))):{}})),(n,t,u,a,c,s=!1)=>X(void 0,null,(function*(){const v=k();I(null!=u?u:{},(e=>O(C(null!=e?e:{}),(e=>G(v,e)))));const y=R(v);if(!s&&c&&b(y)&&L(i,n))return yield e("DROP TABLE"+h(n)),void W(i,n);if(b(y)||L(i,n)){const o=B(i,n),r=k(_(o));yield f([...O(y,(t=>X(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),W(o,t,l))})))),...!s&&a?O(R(r),(l=>X(void 0,null,(function*(){l!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),W(o,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${T(O(y,(e=>o+h(e))))});`),W(i,n,j([[t,l],...O(y,(e=>[e,l]))]));if(s)d(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield f(I(u,((l,o)=>X(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+h(n)+ne+h(t)+"=?",[o]):b(y)||(yield le(e,n,t,C(l),[o,...F(l)],r))})))));else if(b(y))L(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=A(_(B(i,n)),(e=>e!=t)),o=[],r=[];I(null!=u?u:{},((e,n)=>{P(o,n,...O(l,(n=>null==e?void 0:e[n]))),P(r,n)})),yield le(e,n,t,l,o),yield e("DELETE FROM"+h(n)+ne+h(t)+"NOT IN("+oe(r)+")",r)}})),n=>X(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,r,u,a=!0)=>X(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(t)+T(O(r,(e=>o+h(e))))+")VALUES"+v(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(a?"ON CONFLICT("+h(t)+")DO UPDATE SET"+T(O(r,(e=>h(e)+"=excluded."+h(e))),o):l),u)})),oe=e=>T(O(e,(()=>"?")),o),re=JSON.parse;var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue=j(),ae=j(),de=(e,n,t,l,o,r,[i,u]=[],a=[])=>{let s,v,y,f=0,p=0;q(ue,a,(()=>0)),q(ae,a,(()=>[]));const E=e=>ie(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>ie(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(t,l)=>ie(void 0,null,(function*(){return yield E((()=>ie(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ie(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),p=1,y=l(((t,l)=>ie(void 0,null,(function*(){if(l){const n=l();yield E((()=>ie(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>ie(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>ie(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>ie(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>ie(void 0,null,(function*(){return yield h.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();$(t)&&$(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(c(s,e.delListener),s=void 0,h),schedule:(...e)=>ie(void 0,null,(function*(){return P(B(ae,a),...e),yield ie(void 0,null,(function*(){if(!B(ue,a)){for(W(ue,a,1);!d((e=B(ae,a),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}W(ue,a,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),S(h)};var ce=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const se="store",ve=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return de(e,(()=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var e,n;return yield d(),re(null!=(n=null==(e=(yield c(r,E))[p])?void 0:e[se])?n:"null")}))))}))),(e=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var n,t;yield d(),yield s(r,E,{[p]:{[se]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?g.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var ye=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const fe=(e,n,t,l,o,[r,i,[u,a,c]],s,v,y,h)=>{const[m,T,O,b]=te(n,s,o,h),P=(e,n)=>ye(void 0,null,(function*(){return yield f(H(i,((t,l)=>ye(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield O(t,l,u,o,r,n))})))))})),L=(e,n)=>ye(void 0,null,(function*(){return a?yield O(c,E,{[p]:e},!0,!0,n):null}));return de(e,(()=>ye(void 0,null,(function*(){return yield b((()=>ye(void 0,null,(function*(){yield m();const e=yield ye(void 0,null,(function*(){return x(A(yield f(H(r,((e,n)=>ye(void 0,[e,n],(function*([e,n],t){return[e,yield T(t,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield T(c,E))[p]:{}}));return $(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield b((()=>ye(void 0,null,(function*(){if(yield m(),d(n)){const[n,t]=e();yield P(n),yield L(t)}else{const[e,t]=n();yield P(e,!0),yield L(t,!0)}}))))}))),t,l,o,[y,v],v)},pe="json",Ee="autoLoadIntervalSeconds",he="rowIdColumnName",me="tableId",Te="tableName",Oe={mode:pe,[Ee]:1},be={load:0,save:0,[Te]:t+"_values"},Ae=(e,n,t,l)=>{const o=j();return I(e,((e,r)=>{const i=v(F(D(n,s(e)?{[t]:e}:e)),0,M(n));d(i[0])||l(r,i[0])||W(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Le="pragma ",Re="data_version",we="schema_version",ge=(e,n,l,o,r,i,u,d,c="getDb",y)=>{let f,p,h;const[T,O,b,A]=(e=>{const n=(e=>D(Oe,s(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[Ee];if(n.mode==pe){const{storeTableName:e=t}=n;return[1,l,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(F(D(be,i)),0,M(be)),a=u[2],d=k(a);return[0,l,[Ae(o,{[me]:null,[he]:E},me,(e=>G(d,e)&&e==a)),Ae(r,{[Te]:null,[he]:E,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>G(d,n)&&n==a)),u],d]})(n);return(T?ve:fe)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(Le+Re))[0][Re],t=(yield l(Le+we))[0][we],o=(yield l(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&t==(null!=p?p:p=t)&&o==(null!=h?h:h=o)||(e(),f=n,p=t)}catch(e){}})),t=O,n(),setInterval(n,1e3*t)),o((n=>A.has(n)?e():0))];var n,t}),(([e,n])=>{a(e),f=p=null,r(n)}),u,b,R(A),d,c,y)};e.createElectricSqlPersister=(e,n,t,l,o)=>ge(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.db.raw({sql:e,args:t})},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.notifier.subscribeToDataChanges((t=>{return l=({tablename:n})=>e(n),n.notifier.alias(t).forEach(l);var l}))),(e=>e()),l,o,n,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterElectricSql={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e,n){"use strict";const t=e=>typeof e,l="tinybase",o=",",i=t(""),r=(e,n)=>e.repeat(n),u=Promise,d=clearInterval,a=e=>null==e,s=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=e=>t(e)==i,v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,t)=>{var l=e=>{try{i(n.next(e))}catch(e){t(e)}},o=e=>{try{i(n.throw(e))}catch(e){t(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);i((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",E=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",T=(e,n="")=>e.join(n),x=(e,n)=>e.map(n),A=e=>0==y(e),O=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),g=R.keys,S=R.freeze,C=(e=[])=>R.fromEntries(e),D=(...e)=>R.assign({},...e),I=(e,n)=>x(R.entries(e),(([e,t])=>n(t,e))),F=e=>R.values(e),M=e=>y(g(e)),$=e=>(e=>!a(e)&&s(w(e),(e=>e==R.prototype||a(w(e))),(()=>!0)))(e)&&0==M(e),j=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),q=(e,n)=>{var t;return x([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(N(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(b(e,n)||H(e,n,t()),B(e,n)),Y=(e,n,t,l=H)=>(I(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!a(((e,n)=>s(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Q=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&V(e,t,n[t]);if(U)for(var t of U(n))K.call(n,t)&&V(e,t,n[t]);return e},X=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const Z=m+"*FROM",ee="FROM pragma_table_",ne="WHERE",te=(e,n,t)=>{const l=j();return[()=>X(void 0,null,(function*(){return Y(l,C(yield f(x(yield e("SELECT name "+ee+"list WHERE schema='main'AND type='table'AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,C(x(yield e(m+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(l,n,Y(W(l,n,j),t,((e,n,t)=>{t!=B(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(l,n)))})),(n,t)=>X(void 0,null,(function*(){return((e,n)=>!a(B(B(l,e),n)))(n,t)?C(O(x(yield e(Z+E(n)),(e=>{return[e[t],(n=Q({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!$(n)))):{}})),(n,t,i,r,u,d=!1)=>X(void 0,null,(function*(){const s=k();I(null!=i?i:{},(e=>x(g(null!=e?e:{}),(e=>G(s,e)))));const c=L(s);if(!d&&u&&A(c)&&b(l,n))return yield e("DROP TABLE"+E(n)),void H(l,n);if(A(c)||b(l,n)){const o=B(l,n),i=k(_(o));yield f([...x(c,(t=>X(void 0,null,(function*(){N(i,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),H(o,t,""))})))),...!d&&r?x(L(i),(l=>X(void 0,null,(function*(){l!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(l)}`),H(o,l))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${T(x(c,(e=>o+E(e))))});`),H(l,n,j([[t,""],...x(c,(e=>[e,""]))]));if(d)a(i)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield f(I(i,((l,o)=>X(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+E(n)+ne+E(t)+"=?",[o]):A(c)||(yield le(e,n,t,g(l),[o,...F(l)]))})))));else if(A(c))b(l,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const o=O(_(B(l,n)),(e=>e!=t)),r=[],u=[];I(null!=i?i:{},((e,n)=>{P(r,n,...x(o,(n=>null==e?void 0:e[n]))),P(u,n)})),yield le(e,n,t,o,r),yield e("DELETE FROM"+E(n)+ne+E(t)+"NOT IN("+oe(u)+")",u)}})),n=>X(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,l,i)=>X(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(t)+T(x(l,(e=>o+E(e))))+")VALUES"+v(r(`,(?${r(",?",y(l))})`,y(i)/(y(l)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+T(x(l,(e=>E(e)+"=excluded."+E(e))),o),i)})),oe=e=>T(x(e,(()=>"?")),o),ie=JSON.parse;var re=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ue=j(),de=j(),ae=(e,n,t,l,o,i,[r,u]=[],d=[])=>{let c,v,y,f=0,p=0;W(ue,d,(()=>0)),W(de,d,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==i||i(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==i||i(e)}f=0}))))),E})),startAutoSave:()=>re(void 0,null,(function*(){return yield E.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();$(t)&&$(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(s(c,e.delListener),c=void 0,E),schedule:(...e)=>re(void 0,null,(function*(){return P(B(de,d),...e),yield re(void 0,null,(function*(){if(!B(ue,d)){for(H(ue,d,1);!a((e=B(de,d),v=e.shift()));)try{yield v()}catch(e){null==i||i(e)}H(ue,d,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(E[r]=()=>u),S(E)};var se=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ce="store",ve=(e,n,t,l,o,[i],r,u,d)=>{const[a,s,c,v]=te(n,r,o);return ae(e,(()=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var e,n;return yield a(),ie(null!=(n=null==(e=(yield s(i,h))[p])?void 0:e[ce])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var n,t;yield a(),yield c(i,h,{[p]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[d,u],u)};var ye=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const fe=(e,n,t,l,o,[i,r,[u,d,s]],c,v,y)=>{const[E,m,T,x]=te(n,c,o),A=(e,n)=>ye(void 0,null,(function*(){return yield f(q(r,((t,l)=>ye(void 0,[t,l],(function*([t,l,o,i],r){const u=e[r];n&&void 0===u||(yield T(t,l,u,o,i,n))})))))})),P=(e,n)=>ye(void 0,null,(function*(){return d?yield T(s,h,{[p]:e},!0,!0,n):null}));return ae(e,(()=>ye(void 0,null,(function*(){return yield x((()=>ye(void 0,null,(function*(){yield E();const e=yield ye(void 0,null,(function*(){return C(O(yield f(q(i,((e,n)=>ye(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield m(s,h))[p]:{}}));return $(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield x((()=>ye(void 0,null,(function*(){if(yield E(),a(n)){const[n,t]=e();yield A(n),yield P(t)}else{const[e,t]=n();yield A(e,!0),yield P(t,!0)}}))))}))),t,l,o,[y,v],v)},pe="json",he="autoLoadIntervalSeconds",Ee="rowIdColumnName",me="tableId",Te="tableName",xe={mode:pe,[he]:1},Ae={load:0,save:0,[Te]:l+"_values"},Oe=(e,n,t,l)=>{const o=j();return I(e,((e,i)=>{const r=v(F(D(n,c(e)?{[t]:e}:e)),0,M(n));a(r[0])||l(i,r[0])||H(o,i,r)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const be="pragma ",Le="data_version",Ne="schema_version",Re=(e,n,t,o,i,r,u,a,s="getDb")=>{let y,f,p;const[E,T,x,A]=(e=>{const n=(e=>D(xe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[he];if(n.mode==pe){const{storeTableName:e=l}=n;return[1,t,[e],k(e)]}const{tables:{load:o={},save:i={}}={},values:r={}}=n,u=v(F(D(Ae,r)),0,M(Ae)),d=u[2],a=k(d);return[0,t,[Oe(o,{[me]:null,[Ee]:h},me,(e=>G(a,e)&&e==d)),Oe(i,{[Te]:null,[Ee]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>G(a,n)&&n==d)),u],a]})(n);return(E?ve:fe)(e,r?(e,n)=>Pe(void 0,null,(function*(){return r(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(be+Le))[0][Le],l=(yield t(be+Ne))[0][Ne],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=f?f:f=l)&&o==(null!=p?p:p=o)||(e(),y=n,f=l)}catch(e){}})),l=T,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{d(e),y=f=null,i(n)}),u,x,L(A),a,s)};e.createExpoSqliteNextPersister=(e,t,l,o,i)=>Re(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return yield t.getAllAsync(e,n)},new Promise(((e,n)=>{var t=e=>{try{r(o.next(e))}catch(e){n(e)}},i=e=>{try{r(o.throw(e))}catch(e){n(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,i);r((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.addDatabaseChangeListener((({tableName:n})=>e(n)))),(e=>e.remove()),o,i,t)},"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqliteNext={},e["expo-sqlite/next"]);
1
+ var e,n;e=this,n=function(e,n){"use strict";const t=e=>typeof e,l="tinybase",o="",i=",",r=t(o),u=(e,n)=>e.repeat(n),d=Promise,a=clearInterval,s=e=>null==e,c=(e,n,t)=>s(e)?null==t?void 0:t():n(e),v=e=>t(e)==r,y=(e,n,t)=>e.slice(n,t),f=e=>e.length,p=e=>{return n=function*(){return d.all(e)},new Promise(((e,t)=>{var l=e=>{try{i(n.next(e))}catch(e){t(e)}},o=e=>{try{i(n.throw(e))}catch(e){t(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);i((n=n.apply(void 0,null)).next())}));var n},E="_",h="_id",m=e=>`"${e.replace(/"/g,'""')}"`,T="SELECT",A=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),x=e=>0==f(e),P=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),w=Object,g=e=>w.getPrototypeOf(e),S=w.keys,C=w.freeze,D=(e=[])=>w.fromEntries(e),I=(...e)=>w.assign({},...e),F=(e,n)=>O(w.entries(e),(([e,t])=>n(t,e))),M=e=>w.values(e),$=e=>f(S(e)),j=e=>(e=>!s(e)&&c(g(e),(e=>e==w.prototype||s(g(e))),(()=>!0)))(e)&&0==$(e),_=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},q=(e,n)=>null==e?void 0:e.get(n),H=(e,n)=>{var t;return O([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},W=(e,n,t)=>s(t)?(N(e,n),e):null==e?void 0:e.set(n,t),Y=(e,n,t)=>(b(e,n)||W(e,n,t()),q(e,n)),k=(e,n,t,l=W)=>(F(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!s(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),G=e=>new Set(Array.isArray(e)||s(e)?e:[e]),J=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,z=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Q=(e,n,t)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,X=(e,n)=>{for(var t in n||(n={}))K.call(n,t)&&Q(e,t,n[t]);if(z)for(var t of z(n))V.call(n,t)&&Q(e,t,n[t]);return e},Z=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ee=T+"*FROM",ne="FROM pragma_table_",te="WHERE",le=(e,n,t,l)=>{const r=_();return[()=>Z(void 0,null,(function*(){return k(r,D(yield p(O(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,D(O(yield e(T+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>W(r,n,k(Y(r,n,_),t,((e,n,t)=>{t!=q(e,n)&&W(e,n,t)}),((e,n)=>W(e,n))))),((e,n)=>W(r,n)))})),(n,t)=>Z(void 0,null,(function*(){return((e,n)=>!s(q(q(r,e),n)))(n,t)?D(P(O(yield e(ee+m(n)),(e=>{return[e[t],(n=X({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!s(e)&&!j(n)))):{}})),(n,t,u,d,a,c=!1)=>Z(void 0,null,(function*(){const v=G();F(null!=u?u:{},(e=>O(S(null!=e?e:{}),(e=>J(v,e)))));const y=R(v);if(!c&&a&&x(y)&&b(r,n))return yield e("DROP TABLE"+m(n)),void W(r,n);if(x(y)||b(r,n)){const l=q(r,n),i=G(B(l));yield p([...O(y,(t=>Z(void 0,null,(function*(){N(i,t)||(yield e(`ALTER TABLE${m(n)}ADD${m(t)}`),W(l,t,o))})))),...!c&&d?O(R(i),(o=>Z(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${m(n)}DROP${m(o)}`),W(l,o))})))):[]])}else yield e(`CREATE TABLE${m(n)}(${m(t)} PRIMARY KEY ON CONFLICT REPLACE${A(O(y,(e=>i+m(e))))});`),W(r,n,_([[t,o],...O(y,(e=>[e,o]))]));if(c)s(u)?yield e("DELETE FROM"+m(n)+"WHERE 1"):yield p(F(u,((o,i)=>Z(void 0,null,(function*(){s(o)?yield e("DELETE FROM"+m(n)+te+m(t)+"=?",[i]):x(y)||(yield oe(e,n,t,S(o),[i,...M(o)],l))})))));else if(x(y))b(r,n)&&(yield e("DELETE FROM"+m(n)+"WHERE 1"));else{const l=P(B(q(r,n)),(e=>e!=t)),o=[],i=[];F(null!=u?u:{},((e,n)=>{L(o,n,...O(l,(n=>null==e?void 0:e[n]))),L(i,n)})),yield oe(e,n,t,l,o),yield e("DELETE FROM"+m(n)+te+m(t)+"NOT IN("+ie(i)+")",i)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},oe=(e,n,t,l,r,d=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(d?o:"OR REPLACE ")+"INTO"+m(n)+"("+m(t)+A(O(l,(e=>i+m(e))))+")VALUES"+y(u(`,(?${u(",?",f(l))})`,f(r)/(f(l)+1)),1)+(d?"ON CONFLICT("+m(t)+")DO UPDATE SET"+A(O(l,(e=>m(e)+"=excluded."+m(e))),i):o),r)})),ie=e=>A(O(e,(()=>"?")),i),re=JSON.parse;var ue=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const de=_(),ae=_(),se=(e,n,t,l,o,i,[r,u]=[],d=[])=>{let a,v,y,f=0,p=0;Y(de,d,(()=>0)),Y(ae,d,(()=>[]));const E=e=>ue(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>ue(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(t,l)=>ue(void 0,null,(function*(){return yield E((()=>ue(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ue(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),p=1,y=l(((t,l)=>ue(void 0,null,(function*(){if(l){const n=l();yield E((()=>ue(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>ue(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==i||i(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>ue(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>ue(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==i||i(e)}f=0}))))),h})),startAutoSave:()=>ue(void 0,null,(function*(){return yield h.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();j(t)&&j(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(c(a,e.delListener),a=void 0,h),schedule:(...e)=>ue(void 0,null,(function*(){return L(q(ae,d),...e),yield ue(void 0,null,(function*(){if(!q(de,d)){for(W(de,d,1);!s((e=q(ae,d),v=e.shift()));)try{yield v()}catch(e){null==i||i(e)}W(de,d,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(h[r]=()=>u),C(h)};var ce=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ve="store",ye=(e,n,t,l,o,[i],r,u,d)=>{const[a,s,c,v]=le(n,r,o);return se(e,(()=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var e,n;return yield a(),re(null!=(n=null==(e=(yield s(i,h))[E])?void 0:e[ve])?n:"null")}))))}))),(e=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var n,t;yield a(),yield c(i,h,{[E]:{[ve]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[d,u],u)};var fe=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const pe=(e,n,t,l,o,[i,r,[u,d,a]],c,v,y,f)=>{const[m,T,A,O]=le(n,c,o,f),x=(e,n)=>fe(void 0,null,(function*(){return yield p(H(r,((t,l)=>fe(void 0,[t,l],(function*([t,l,o,i],r){const u=e[r];n&&void 0===u||(yield A(t,l,u,o,i,n))})))))})),L=(e,n)=>fe(void 0,null,(function*(){return d?yield A(a,h,{[E]:e},!0,!0,n):null}));return se(e,(()=>fe(void 0,null,(function*(){return yield O((()=>fe(void 0,null,(function*(){yield m();const e=yield fe(void 0,null,(function*(){return D(P(yield p(H(i,((e,n)=>fe(void 0,[e,n],(function*([e,n],t){return[e,yield T(t,n)]}))))),(e=>!j(e[1]))))})),n=yield fe(void 0,null,(function*(){return u?(yield T(a,h))[E]:{}}));return j(e)&&s(n)?void 0:[e,n]}))))}))),((e,n)=>fe(void 0,null,(function*(){return yield O((()=>fe(void 0,null,(function*(){if(yield m(),s(n)){const[n,t]=e();yield x(n),yield L(t)}else{const[e,t]=n();yield x(e,!0),yield L(t,!0)}}))))}))),t,l,o,[y,v],v)},Ee="json",he="autoLoadIntervalSeconds",me="rowIdColumnName",Te="tableId",Ae="tableName",Oe={mode:Ee,[he]:1},xe={load:0,save:0,[Ae]:l+"_values"},Pe=(e,n,t,l)=>{const o=_();return F(e,((e,i)=>{const r=y(M(I(n,v(e)?{[t]:e}:e)),0,$(n));s(r[0])||l(i,r[0])||W(o,i,r)})),o};var Le=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const be="pragma ",Re="data_version",Ne="schema_version",we=(e,n,t,o,i,r,u,d,s="getDb",c)=>{let f,p,E;const[m,A,O,x]=(e=>{const n=(e=>I(Oe,v(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[he];if(n.mode==Ee){const{storeTableName:e=l}=n;return[1,t,[e],G(e)]}const{tables:{load:o={},save:i={}}={},values:r={}}=n,u=y(M(I(xe,r)),0,$(xe)),d=u[2],a=G(d);return[0,t,[Pe(o,{[Te]:null,[me]:h},Te,(e=>J(a,e)&&e==d)),Pe(i,{[Ae]:null,[me]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>J(a,n)&&n==d)),u],a]})(n);return(m?ye:pe)(e,r?(e,n)=>Le(void 0,null,(function*(){return r(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(be+Re))[0][Re],l=(yield t(be+Ne))[0][Ne],o=(yield t(T+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=E?E:E=o)||(e(),f=n,p=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>x.has(n)?e():0))];var n,l}),(([e,n])=>{a(e),f=p=null,i(n)}),u,O,R(x),d,s,c)};e.createExpoSqliteNextPersister=(e,t,l,o,i)=>we(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return yield t.getAllAsync(e,n)},new Promise(((e,n)=>{var t=e=>{try{r(o.next(e))}catch(e){n(e)}},i=e=>{try{r(o.throw(e))}catch(e){n(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,i);r((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.addDatabaseChangeListener((({tableName:n})=>e(n)))),(e=>e.remove()),o,i,t)},"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqliteNext={},e["expo-sqlite/next"]);