tinybase 5.0.0-beta.14 → 5.0.0-beta.15

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 (122) 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-libsql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-powersync.cjs +1 -1
  12. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  16. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  33. package/lib/debug/persisters/persister-browser.js +4 -7
  34. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +55 -48
  35. package/lib/debug/persisters/persister-electric-sql.js +55 -48
  36. package/lib/debug/persisters/persister-expo-sqlite-next.js +55 -48
  37. package/lib/debug/persisters/persister-expo-sqlite.js +55 -48
  38. package/lib/debug/persisters/persister-file.js +3 -7
  39. package/lib/debug/persisters/persister-libsql.js +55 -48
  40. package/lib/debug/persisters/persister-powersync.js +55 -48
  41. package/lib/debug/persisters/persister-sqlite-wasm.js +55 -48
  42. package/lib/debug/persisters/persister-sqlite3.js +55 -48
  43. package/lib/debug/synchronizers/synchronizer-ws-client.js +3 -7
  44. package/lib/debug/ui-react-dom.js +3 -7
  45. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  46. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  47. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  48. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  49. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  50. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  51. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  52. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  53. package/lib/es6/persisters/persister-libsql.js +1 -1
  54. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  55. package/lib/es6/persisters/persister-powersync.js +1 -1
  56. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  57. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  58. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  59. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  60. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  61. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  62. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  63. package/lib/persisters/persister-electric-sql.js +1 -1
  64. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  65. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  66. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  67. package/lib/persisters/persister-expo-sqlite.js +1 -1
  68. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  69. package/lib/persisters/persister-libsql.js +1 -1
  70. package/lib/persisters/persister-libsql.js.gz +0 -0
  71. package/lib/persisters/persister-powersync.js +1 -1
  72. package/lib/persisters/persister-powersync.js.gz +0 -0
  73. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  74. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  75. package/lib/persisters/persister-sqlite3.js +1 -1
  76. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  77. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +1 -1
  78. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -1
  79. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -1
  80. package/lib/types/persisters/persister-sqlite3.d.ts +1 -1
  81. package/lib/types/persisters.d.ts +18 -7
  82. package/lib/types/ui-react.d.ts +1 -1
  83. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -1
  84. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -1
  85. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -1
  86. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -1
  87. package/lib/types/with-schemas/persisters.d.ts +18 -7
  88. package/lib/types/with-schemas/ui-react.d.ts +1 -1
  89. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  90. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  91. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  92. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  93. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  94. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  95. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  96. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  97. package/lib/umd/persisters/persister-libsql.js +1 -1
  98. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  99. package/lib/umd/persisters/persister-powersync.js +1 -1
  100. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  101. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  102. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  103. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  104. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  105. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  106. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  107. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  108. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  109. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  110. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  111. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  112. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  113. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  114. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  115. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  116. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  117. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  118. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  119. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  120. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  121. package/package.json +24 -24
  122. package/readme.md +2 -2
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),f="_",m="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),h=a=>0==p(a),A=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,M=S.freeze,P=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),F=(a,t)=>t in a,x=(a,t)=>T(D(a),(([a,e])=>t(e,a))),j=a=>S.values(a),B=a=>p(I(a)),W=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),U=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),q=(a,t,e,n)=>(N(a,t)||k(a,t,e()),Y(a,t)),G=(a,t,e,n=k)=>(x(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=H();return[async()=>G(r,P(await E(T(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(T(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(r,t,G(q(r,t,H),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(r,t))),async(t,e)=>((a,t)=>!l(Y(Y(r,a),t)))(t,e)?P(A(T(await a(X+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=J();x(o??{},(a=>T(I(a??{}),(a=>z(u,a)))));const d=b(u);if(!w&&y&&h(d)&&N(r,t))return await a("DROP "+K+g(t)),void k(r,t);if(h(d)||N(r,t)){const s=Y(r,t),i=J(U(s));await E([...T(d,(async e=>{R(i,e)||(await a(V+g(t)+"ADD"+g(e)),k(s,e,n))})),...!w&&c?T(b(i),(async n=>{n!=e&&(await a(V+g(t)+"DROP"+g(n)),k(s,n))})):[]])}else await a("CREATE "+K+g(t)+"("+g(e)+` PRIMARY KEY ON CONFLICT REPLACE${C(T(d,(a=>s+g(a))))});`),k(r,t,H([[e,n],...T(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+g(t)+aa+" 1"):await E(x(o,(async(n,s)=>{l(n)?await a(Q+g(t)+aa+g(e)+"=?",[s]):h(d)||await ea(a,t,e,I(n),[s,...j(n)],i)})));else if(h(d))N(r,t)&&await a(Q+g(t)+aa+" 1");else{const n=A(U(Y(r,t)),(a=>a!=e)),s=[],c=[];x(o??{},((a,t)=>{O(s,t,...T(n,(t=>a?.[t]))),O(c,t)})),await ea(a,t,e,n,s,i),await a(Q+g(t)+aa+g(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+C(T(i,(a=>s+g(a))))+")VALUES"+d(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+g(e)+")DO UPDATE SET"+C(T(i,(a=>g(a)+"=excluded."+g(a))),s):n),T(o,(a=>a??null))),na=a=>C(T(a,(()=>"?")),s),sa=JSON.parse,ia=H(),ra=H(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,p,E=0;q(ia,c,(()=>0)),q(ra,c,(()=>[]));const[f,m,g,v,C]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:0)(r,a),T=t=>{(f&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},h=async a=>(2!=E&&(E=1,await R((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}E=0}))),S),A=()=>(d&&(s(d),d=void 0),S),N=async a=>(1!=E&&(E=2,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),S),b=()=>(y(p,a.delListener),p=void 0,S),R=async(...a)=>(O(Y(ra,c),...a),await(async()=>{if(!Y(ia,c)){for(k(ia,c,1);!l((a=Y(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}k(ia,c,0)}var a})(),S),S={load:h,startAutoLoad:async a=>(await A().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await h()})),S),stopAutoLoad:A,isAutoLoading:()=>!l(d),save:N,startAutoSave:async()=>(await b().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&N(a)})),S),stopAutoSave:b,isAutoSaving:()=>!l(p),schedule:R,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return M(S)},ca="store",la=(a,t,e,n,s,[i],r,o,c,l)=>{const[y,w,u,d]=ta(t,r,s,l);return oa(a,(async()=>await d((async()=>(await y(),sa((await w(i,m))[f]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,m,{[f]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},ya=(a,t,e,n,s,[i,r,[o,c,y]],w,u,d,p)=>{const[g,v,C,T]=ta(t,w,s,p),h=async(a,t)=>await E($(r,(async([e,n,s,i],r)=>{t&&!F(a,r)||await C(e,n,a[r],s,i,t)}))),O=async(a,t)=>c?await C(y,m,{[f]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await g();const a=await(async()=>P(A(await E($(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>o?(await v(y,m))[f]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await O(e)}else await h(t[0],!0),await O(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",pa="tableId",Ea="tableName",fa={mode:wa,[ua]:1},ma={load:0,save:0,[Ea]:e+"_values"},ga=(a,t,e,n)=>{const s=H();return x(a,((a,i)=>{const r=d(j(_(t,w(a)?{[e]:a}:a)),0,B(t));l(r[0])||n(i,r[0])||k(s,i,r)})),s},va="pragma ",Ca="data_version",Ta="schema_version",ha=(a,t,n,s,i,r,o,l,y="getDb",u)=>{let p,E,f;const[g,C,T,h]=(a=>{const t=(a=>_(fa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(j(_(ma,r)),0,B(ma)),c=o[2],l=J(c);return[0,n,[ga(s,{[pa]:null,[da]:m},pa,(a=>z(l,a)&&a==c)),ga(i,{[Ea]:null,[da]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>z(l,t)&&t==c)),o],l]})(t);return(g?la:ya)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ca))[0][Ca],e=(await n(va+Ta))[0][Ta],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(E??=e)&&s==(f??=s)||(a(),p=t,E=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=E=null,i(t)}),o,T,b(h),l,y,u)};a.createCrSqliteWasmPersister=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,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",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),A=Object,N=a=>A.getPrototypeOf(a),R=A.entries,S=A.keys,L=A.freeze,b=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>v(R(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==A.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||W(a,t,e()),j(a,t)),J=(a,t,e,n=W)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",G=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=q+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,b(await p(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(v(await a(q+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?b(m(v(await a(X+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=G();M(o??{},(a=>v(S(a??{}),(a=>z(d,a)))));const u=O(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+K+k(t)),void W(r,t);if(g(u)||T(r,t)){const s=j(r,t),i=G(x(s));await p([...v(u,(async e=>{h(i,e)||(await a(V+k(t)+"ADD"+k(e)),W(s,e,n))})),...!w&&c?v(O(i),(async n=>{n!=e&&(await a(V+k(t)+"DROP"+k(n)),W(s,n))})):[]])}else await a("CREATE "+K+k(t)+"("+k(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+k(a))))});`),W(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+k(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+k(t)+aa+k(e)+"=?",[s]):g(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(u))T(r,t)&&await a(Q+k(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...v(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+k(t)+aa+k(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+k(t)+"("+k(e)+f(v(i,(a=>s+k(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+k(e)+")DO UPDATE SET"+f(v(i,(a=>k(a)+"=excluded."+k(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[f,v,g,m,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),O=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},h=async a=>(2!=p&&(p=1,await S((async()=>{try{O(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),b),A=()=>(u&&(s(u),u=void 0),b),N=async a=>(1!=p&&(p=2,await S((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),b),R=()=>(y(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(W(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}W(sa,c,0)}var a})(),b),b={load:h,startAutoLoad:async a=>(await A().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,O(t??a),p=0):await h()})),b),stopAutoLoad:A,isAutoLoading:()=>!l(u),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&N(a)})),b),stopAutoSave:R,isAutoSaving:()=>!l(E),schedule:S,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return L(b)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[v,g,C,T]=ta(t,d,s,f),O=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),h=async(a,t)=>y?await C(w,Y,{[U]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await v();const a=await(async()=>b(m(await p(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,Y))[U]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),l(t)){const[t,e]=a();await O(t),await h(e)}else await O(t[0],!0),await h(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ma={mode:wa,[pa]:1},Ca={load:0,save:0,[ga]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),W(i,r,o))})),i},Oa="pragma_",ha="data_version",Aa="schema_version";a.createCrSqliteWasmPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,v;const[g,m,C,h]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??Y,t[Ea]??ya],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=G(c),y=G(c);return[0,n,[Ta(s,{[va]:null,[fa]:Y},va,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[ga]:null,[fa]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ha} d,${Aa} s,TOTAL_CHANGES() c FROM ${Oa}${ha} JOIN ${Oa}${Aa}`);t==(p??=t)&&e==(f??=e)&&s==(v??=s)||(a(),p=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=v=null,i(t)}),o,l,C,O(h),y,d,E)})(a,n,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,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",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,f=async a=>o.all(a),p="_",g="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",T=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),C=a=>0==E(a),b=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,M=S.freeze,P=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),F=(a,t)=>t in a,j=(a,t)=>h(D(a),(([a,e])=>t(e,a))),x=a=>S.values(a),B=a=>E(I(a)),q=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(N(a,t)||G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(j(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=H();return[async()=>U(r,P(await f(h(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(h(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!l($($(r,a),t)))(t,e)?P(b(h(await a(X+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!q(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=W();j(o??{},(a=>h(I(a??{}),(a=>z(u,a)))));const d=O(u);if(!w&&y&&C(d)&&N(r,t))return await a("DROP "+K+m(t)),void G(r,t);if(C(d)||N(r,t)){const s=$(r,t),i=W(Y(s));await f([...h(d,(async e=>{R(i,e)||(await a(V+m(t)+"ADD"+m(e)),G(s,e,n))})),...!w&&c?h(O(i),(async n=>{n!=e&&(await a(V+m(t)+"DROP"+m(n)),G(s,n))})):[]])}else await a("CREATE "+K+m(t)+"("+m(e)+` PRIMARY KEY ON CONFLICT REPLACE${T(h(d,(a=>s+m(a))))});`),G(r,t,H([[e,n],...h(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+m(t)+aa+" 1"):await f(j(o,(async(n,s)=>{l(n)?await a(Q+m(t)+aa+m(e)+"=?",[s]):C(d)||await ea(a,t,e,I(n),[s,...x(n)],i)})));else if(C(d))N(r,t)&&await a(Q+m(t)+aa+" 1");else{const n=b(Y($(r,t)),(a=>a!=e)),s=[],c=[];j(o??{},((a,t)=>{A(s,t,...h(n,(t=>a?.[t]))),A(c,t)})),await ea(a,t,e,n,s,i),await a(Q+m(t)+aa+m(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+T(h(i,(a=>s+m(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+m(e)+")DO UPDATE SET"+T(h(i,(a=>m(a)+"=excluded."+m(a))),s):n),h(o,(a=>a??null))),na=a=>T(h(a,(()=>"?")),s),sa=JSON.parse,ia=H(),ra=H(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,f=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[p,g,m,v,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:0)(r,a),h=t=>{(p&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=f&&(f=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}f=0}))),S),b=()=>(d&&(s(d),d=void 0),S),N=async a=>(1!=f&&(f=2,await R((async()=>{try{await e(g,a)}catch(a){i?.(a)}f=0}))),S),O=()=>(y(E,a.delListener),E=void 0,S),R=async(...a)=>(A($(ra,c),...a),await(async()=>{if(!$(ia,c)){for(G(ia,c,1);!l((a=$(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}G(ia,c,0)}var a})(),S),S={load:C,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=f&&(f=1,h(t??a),f=0):await C()})),S),stopAutoLoad:b,isAutoLoading:()=>!l(d),save:N,startAutoSave:async()=>(await O().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&N(a)})),S),stopAutoSave:O,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({}),...o};return M(S)},ca="store",la=(a,t,e,n,s,[i],r,o,c,l)=>{const[y,w,u,d]=ta(t,r,s,l);return oa(a,(async()=>await d((async()=>(await y(),sa((await w(i,g))[p]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,g,{[p]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},ya=(a,t,e,n,s,[i,r,[o,c,y]],w,u,d,E)=>{const[m,v,T,h]=ta(t,w,s,E),C=async(a,t)=>await f(k(r,(async([e,n,s,i],r)=>{t&&!F(a,r)||await T(e,n,a[r],s,i,t)}))),A=async(a,t)=>c?await T(y,g,{[p]:a},!0,!0,t):null;return oa(a,(async()=>await h((async()=>{await m();const a=await(async()=>P(b(await f(k(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>o?(await v(y,g))[p]:{})();return q(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",Ea="tableId",fa="tableName",pa={mode:wa,[ua]:1},ga={load:0,save:0,[fa]:e+"_values"},ma=(a,t,e,n)=>{const s=H();return j(a,((a,i)=>{const r=d(x(_(t,w(a)?{[e]:a}:a)),0,B(t));l(r[0])||n(i,r[0])||G(s,i,r)})),s},va="pragma ",Ta="data_version",ha="schema_version",Ca=(a,t,n,s,i,r,o,l,y="getDb",u)=>{let E,f,p;const[m,T,h,C]=(a=>{const t=(a=>_(pa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(x(_(ga,r)),0,B(ga)),c=o[2],l=W(c);return[0,n,[ma(s,{[Ea]:null,[da]:g},Ea,(a=>z(l,a)&&a==c)),ma(i,{[fa]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},fa,((a,t)=>z(l,t)&&t==c)),o],l]})(t);return(m?la:ya)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ta))[0][Ta],e=(await n(va+ha))[0][ha],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(f??=e)&&s==(p??=s)||(a(),E=t,f=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=f=null,i(t)}),o,h,O(C),l,y,u)};a.createElectricSqlPersister=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,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",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,f=async a=>c.all(a),p=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),v=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),D=(...a)=>O.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>g(N(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(R(a)),_=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||q(a,t,e()),x(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await f(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,c,o,y,w=!1)=>{const d=W();M(c??{},(a=>g(R(a??{}),(a=>z(d,a)))));const u=h(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(v(u)||T(r,t)){const s=x(r,t),i=W(j(s));await f([...g(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&o?g(h(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${p(g(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)l(c)?await a(Q+G(t)+aa+" 1"):await f(M(c,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):v(u)||await ea(a,t,e,R(n),[s,...P(n)],i)})));else if(v(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(j(x(r,t)),(a=>a!=e)),s=[],o=[];M(c??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(o,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(o)+")",o)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,c,o=!0)=>await a("INSERT "+(o?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+p(g(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(c)/(E(i)+1)),1)+(o?"ON CONFLICT("+G(e)+")DO UPDATE SET"+p(g(i,(a=>G(a)+"=excluded."+G(a))),s):n),g(c,(a=>a??null))),na=a=>p(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,c={},o=[])=>{let w,u,E,f=0;H(sa,o,(()=>0)),H(ia,o,(()=>[]));const[p,g,v,m,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),h=t=>{(p&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=f&&(f=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}f=0}))),L),O=()=>(u&&(s(u),u=void 0),L),b=async a=>(1!=f&&(f=2,await R((async()=>{try{await e(g,a)}catch(a){i?.(a)}f=0}))),L),N=()=>(y(E,a.delListener),E=void 0,L),R=async(...a)=>(C(x(ia,o),...a),await(async()=>{if(!x(sa,o)){for(q(sa,o,1);!l((a=x(ia,o),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,o,0)}var a})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=f&&(f=1,h(t??a),f=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&b(a)})),L),stopAutoSave:N,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...c};return S(L)},ca=(a,t,e,n,s,i,[r,c,o],l,y,w,d)=>{const[u,E,f,p]=ta(t,l,s,d);return ra(a,(async()=>await p((async()=>{return await u(),a=(await E(r,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await u(),await f(r,c,{[Y]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,c,[o,y,w]],d,u,E,p)=>{const[g,v,C,T]=ta(t,d,s,p),h=async(a,t)=>await f(B(c,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),A=async(a,t)=>y?await C(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await g();const a=await(async()=>L(m(await f(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>o?(await v(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await A(e)}else await h(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,fa="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",va="tableName",ma={mode:wa,[fa]:1},Ca={load:0,save:0,[va]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const c=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(c[0])||n(r,c[0])||(s(r,c[0]),q(i,r,c))})),i},ha="pragma_",Aa="data_version",Oa="schema_version";a.createElectricSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,c,l,y,d="getDb",E)=>{let f,p,g;const[v,m,C,A]=(a=>{const t=(a=>D(ma,w(a)?{[da]:a}:a??{}))(a),n=t[fa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,c=u(P(D(Ca,r)),0,$(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Ta(s,{[ga]:null,[pa]:k},ga,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[va]:null,[pa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>T(y,t)),((a,t)=>z(l,t))),c],l]})(t);return(v?ca:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Aa} JOIN ${ha}${Oa}`);t==(f??=t)&&e==(p??=e)&&s==(g??=s)||(a(),f=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),f=p=g=null,i(t)}),c,l,C,h(A),y,d,E)})(a,n,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),s,i,1,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,n="tinybase",s="",i=",",o=e(s),r=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),u=a=>e(a)==o,d=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,f=async a=>c.all(a),g="_",m="_id",v=a=>`"${a.replace(/"/g,'""')}"`,A="SELECT",T=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),C=a=>0==E(a),N=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,D=a=>S.getPrototypeOf(a),x=S.entries,I=S.keys,M=S.freeze,P=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),q=(a,t)=>t in a,F=(a,t)=>h(x(a),(([a,e])=>t(e,a))),j=a=>S.values(a),B=a=>E(I(a)),H=a=>(a=>!y(a)&&w(D(a),(a=>a==S.prototype||y(D(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),G=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>y(e)?(R(a,t),a):a?.set(t,e),U=(a,t,e,n)=>(O(a,t)||J(a,t,e()),k(a,t)),W=(a,t,e,n=J)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>q(t,e)?0:n(a,e))),a),z=a=>new Set(d(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=A+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,n)=>{const o=Y();return[async()=>W(o,P(await f(h(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,P(h(await a(A+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(o,t,W(U(o,t,Y),e,((a,t,e)=>{e!=k(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(o,t))),async(t,e)=>((a,t)=>!y(k(k(o,a),t)))(t,e)?P(N(h(await a(Z+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!H(t)))):{},async(t,e,r,c,l,w=!1)=>{const u=z();F(r??{},(a=>h(I(a??{}),(a=>K(u,a)))));const d=L(u);if(!w&&l&&C(d)&&O(o,t))return await a("DROP "+V+v(t)),void J(o,t);if(C(d)||O(o,t)){const n=k(o,t),i=z($(n));await f([...h(d,(async e=>{R(i,e)||(await a(Q+v(t)+"ADD"+v(e)),J(n,e,s))})),...!w&&c?h(L(i),(async s=>{s!=e&&(await a(Q+v(t)+"DROP"+v(s)),J(n,s))})):[]])}else await a("CREATE "+V+v(t)+"("+v(e)+` PRIMARY KEY ON CONFLICT REPLACE${T(h(d,(a=>i+v(a))))});`),J(o,t,Y([[e,s],...h(d,(a=>[a,s]))]));if(w)y(r)?await a(X+v(t)+ta+" 1"):await f(F(r,(async(s,i)=>{y(s)?await a(X+v(t)+ta+v(e)+"=?",[i]):C(d)||await na(a,t,e,I(s),[i,...j(s)],n)})));else if(C(d))O(o,t)&&await a(X+v(t)+ta+" 1");else{const s=N($(k(o,t)),(a=>a!=e)),i=[],c=[];F(r??{},((a,t)=>{b(i,t,...h(s,(t=>a?.[t]))),b(c,t)})),await na(a,t,e,s,i,n),await a(X+v(t)+ta+v(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},na=async(a,t,e,n,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+v(t)+"("+v(e)+T(h(n,(a=>i+v(a))))+")VALUES"+p(r(`,(?${r(",?",E(n))})`,E(o)/(E(n)+1)),1)+(c?"ON CONFLICT("+v(e)+")DO UPDATE SET"+T(h(n,(a=>v(a)+"=excluded."+v(a))),i):s),h(o,(a=>a??null))),sa=a=>T(h(a,(()=>"?")),i),ia=JSON.parse,oa=Y(),ra=Y(),ca=(a,t,e,n,s,i,o,r={},c=[])=>{let l,u,p,E=0;U(oa,c,(()=>0)),U(ra,c,(()=>[]));const[f,g,m,v,A]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:0)(o,a),T=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},h=async a=>(2!=E&&(E=1,await L((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),R),C=()=>(u&&(s(u),u=void 0),R),N=async a=>(1!=E&&(E=2,await L((async()=>{try{await e(g,a)}catch(a){i?.(a)}E=0}))),R),O=()=>(w(p,a.delListener),p=void 0,R),L=async(...a)=>(b(k(ra,c),...a),await(async()=>{if(!k(oa,c)){for(J(oa,c,1);!y((a=k(ra,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}J(oa,c,0)}var a})(),R),R={load:h,startAutoLoad:async a=>(await C().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await h()})),R),stopAutoLoad:C,isAutoLoading:()=>!y(u),save:N,startAutoSave:async()=>(await O().save(),p=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&N(a)})),R),stopAutoSave:O,isAutoSaving:()=>!y(p),schedule:L,getStore:()=>a,destroy:()=>C().stopAutoSave(),getStats:()=>({}),...r};return M(R)},la="store",ya=(a,t,e,n,s,[i],o,r,c,l)=>{const[y,w,u,d]=ea(t,o,s,l);return ca(a,(async()=>await d((async()=>(await y(),ia((await w(i,m))[g]?.[la]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,m,{[g]:{[la]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>r},r)},wa=(a,t,e,n,s,[i,o,[r,c,l]],w,u,d,p)=>{const[E,v,A,T]=ea(t,w,s,p),h=async(a,t)=>await f(G(o,(async([e,n,s,i],o)=>{t&&!q(a,o)||await A(e,n,a[o],s,i,t)}))),C=async(a,t)=>c?await A(l,m,{[g]:a},!0,!0,t):null;return ca(a,(async()=>await T((async()=>{await E();const a=await(async()=>P(N(await f(G(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>r?(await v(l,m))[g]:{})();return H(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await E(),y(t)){const[t,e]=a();await h(t),await C(e)}else await h(t[0],!0),await C(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},ua="json",da="autoLoadIntervalSeconds",pa="rowIdColumnName",Ea="tableId",fa="tableName",ga={mode:ua,[da]:1},ma={load:0,save:0,[fa]:n+"_values"},va=(a,t,e,n)=>{const s=Y();return F(a,((a,i)=>{const o=p(j(_(t,u(a)?{[e]:a}:a)),0,B(t));y(o[0])||n(i,o[0])||J(s,i,o)})),s},Aa="pragma ",Ta="data_version",ha="schema_version",Ca=(a,t,e,s,i,o,r,c,y="getDb",w)=>{let d,E,f;const[g,v,T,h]=(a=>{const t=(a=>_(ga,u(a)?{storeTableName:a}:a??{}))(a),e=t[da];if(t.mode==ua){const{storeTableName:a=n}=t;return[1,e,[a],z(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=p(j(_(ma,o)),0,B(ma)),c=r[2],l=z(c);return[0,e,[va(s,{[Ea]:null,[pa]:m},Ea,(a=>K(l,a)&&a==c)),va(i,{[fa]:null,[pa]:m,deleteEmptyColumns:0,deleteEmptyTable:0},fa,((a,t)=>K(l,t)&&t==c)),r],l]})(t);return(g?ya:wa)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(Aa+Ta))[0][Ta],n=(await e(Aa+ha))[0][ha],s=(await e(A+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&n==(E??=n)&&s==(f??=s)||(a(),d=t,E=n)}catch{}},n=v,t(),setInterval(t,1e3*n)),s((t=>h.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),d=E=null,i(t)}),r,T,L(h),c,y,w)};a.createExpoSqliteNextPersister=(a,e,n,s,i)=>Ca(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),s,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,n="tinybase",s="",i=",",o=e(s),r=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==o,u=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),L=O.entries,R=O.keys,S=O.freeze,D=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),x=(a,t)=>t in a,M=(a,t)=>g(L(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(R(a)),_=a=>(a=>!y(a)&&w(b(a),(a=>a==O.prototype||y(b(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),q=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>x(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(u(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=W+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,n)=>{const o=F();return[async()=>Y(o,D(await v(g(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,D(g(await a(W+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(o,t,Y(J(o,t,F),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)=>!y(j(j(o,a),t)))(t,e)?D(A(g(await a(Z+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,r,c,l,w=!1)=>{const d=z();M(r??{},(a=>g(R(a??{}),(a=>K(d,a)))));const u=h(d);if(!w&&l&&m(u)&&T(o,t))return await a("DROP "+V+U(t)),void H(o,t);if(m(u)||T(o,t)){const n=j(o,t),i=z(q(n));await v([...g(u,(async e=>{N(i,e)||(await a(Q+U(t)+"ADD"+U(e)),H(n,e,s))})),...!w&&c?g(h(i),(async s=>{s!=e&&(await a(Q+U(t)+"DROP"+U(s)),H(n,s))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>i+U(a))))});`),H(o,t,F([[e,s],...g(u,(a=>[a,s]))]));if(w)y(r)?await a(X+U(t)+ta+" 1"):await v(M(r,(async(s,i)=>{y(s)?await a(X+U(t)+ta+U(e)+"=?",[i]):m(u)||await na(a,t,e,R(s),[i,...P(s)],n)})));else if(m(u))T(o,t)&&await a(X+U(t)+ta+" 1");else{const s=A(q(j(o,t)),(a=>a!=e)),i=[],c=[];M(r??{},((a,t)=>{C(i,t,...g(s,(t=>a?.[t]))),C(c,t)})),await na(a,t,e,s,i,n),await a(X+U(t)+ta+U(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},na=async(a,t,e,n,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(g(n,(a=>i+U(a))))+")VALUES"+p(r(`,(?${r(",?",E(n))})`,E(o)/(E(n)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(g(n,(a=>U(a)+"=excluded."+U(a))),i):s),g(o,(a=>a??null))),sa=a=>f(g(a,(()=>"?")),i),ia=F(),oa=F(),ra=(a,t,e,n,s,i,o,r={},c=[])=>{let l,d,p,E=0;J(ia,c,(()=>0)),J(oa,c,(()=>[]));const[v,f,g,m,A]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(o,a),T=t=>{(v&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},h=async a=>(2!=E&&(E=1,await L((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),R),N=()=>(d&&(s(d),d=void 0),R),O=async a=>(1!=E&&(E=2,await L((async()=>{try{await e(f,a)}catch(a){i?.(a)}E=0}))),R),b=()=>(w(p,a.delListener),p=void 0,R),L=async(...a)=>(C(j(oa,c),...a),await(async()=>{if(!j(ia,c)){for(H(ia,c,1);!y((a=j(oa,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}H(ia,c,0)}var a})(),R),R={load:h,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await h()})),R),stopAutoLoad:N,isAutoLoading:()=>!y(d),save:O,startAutoSave:async()=>(await b().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&O(a)})),R),stopAutoSave:b,isAutoSaving:()=>!y(p),schedule:L,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...r};return S(R)},ca=(a,t,e,n,s,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ea(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},la=(a,t,e,n,s,i,[o,r,[c,l,w]],d,u,p,E)=>{const[f,g,m,C]=ea(t,d,s,E),T=async(a,t)=>await v(B(r,(async([e,n,s,i],o)=>{t&&!x(a,o)||await m(e,n,a[o],s,i,t)}))),h=async(a,t)=>l?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await f();const a=await(async()=>D(A(await v(B(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,G))[k]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await f(),y(t)){const[t,e]=a();await T(t),await h(e)}else await T(t[0],!0),await h(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ya="ColumnName",wa="store",da="json",ua=wa+"TableName",pa=wa+"Id"+ya,Ea=wa+ya,va="autoLoadIntervalSeconds",fa="rowId"+ya,ga="tableId",ma="tableName",Aa={mode:da,[va]:1},Ca={load:0,save:0,[ma]:n+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,o)=>{const r=p(P(I(t,d(a)?{[e]:a}:a)),0,$(t));y(r[0])||n(o,r[0])||(s(o,r[0]),H(i,o,r))})),i},ha="pragma_",Na="data_version",Oa="schema_version";a.createExpoSqliteNextPersister=(a,e,s,i,o)=>((a,t,e,s,i,o,r,c,y,w="getDb",u)=>{let E,v,f;const[g,m,A,C]=(a=>{const t=(a=>I(Aa,d(a)?{[ua]:a}:a??{}))(a),e=t[va];if(t.mode==da){const a=t[ua]??n;return[1,e,[a,t[pa]??G,t[Ea]??wa],z(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=p(P(I(Ca,o)),0,$(Ca)),c=r[2],l=z(c),y=z(c);return[0,e,[Ta(s,{[ga]:null,[fa]:G},ga,(a=>T(y,a)),(a=>K(l,a))),Ta(i,{[ma]:null,[fa]:G,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>T(y,t)),((a,t)=>K(l,t))),r],l]})(t);return(g?ca:la)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:n,c:s}]=await e(`SELECT ${Na} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Na} JOIN ${ha}${Oa}`);t==(E??=t)&&n==(v??=n)&&s==(f??=s)||(a(),E=t,v=n)}catch{}},n=m,t(),setInterval(t,1e3*n)),s((t=>C.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),E=v=f=null,i(t)}),r,c,A,h(C),y,w,u)})(a,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),i,o,3,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",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),f="_",g="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",T=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),A=a=>0==p(a),C=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),b=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,M=S.freeze,P=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),x=(a,t)=>t in a,F=(a,t)=>h(D(a),(([a,e])=>t(e,a))),j=a=>S.values(a),B=a=>p(I(a)),q=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(b(a,t)||G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>x(t,e)?0:n(a,e))),a),W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=H();return[async()=>U(o,P(await E(h(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(h(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(o,t,U(J(o,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(o,t))),async(t,e)=>((a,t)=>!l($($(o,a),t)))(t,e)?P(C(h(await a(X+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!q(t)))):{},async(t,e,r,c,y,w=!1)=>{const u=W();F(r??{},(a=>h(I(a??{}),(a=>z(u,a)))));const d=O(u);if(!w&&y&&A(d)&&b(o,t))return await a("DROP "+K+m(t)),void G(o,t);if(A(d)||b(o,t)){const s=$(o,t),i=W(Y(s));await E([...h(d,(async e=>{R(i,e)||(await a(V+m(t)+"ADD"+m(e)),G(s,e,n))})),...!w&&c?h(O(i),(async n=>{n!=e&&(await a(V+m(t)+"DROP"+m(n)),G(s,n))})):[]])}else await a("CREATE "+K+m(t)+"("+m(e)+` PRIMARY KEY ON CONFLICT REPLACE${T(h(d,(a=>s+m(a))))});`),G(o,t,H([[e,n],...h(d,(a=>[a,n]))]));if(w)l(r)?await a(Q+m(t)+aa+" 1"):await E(F(r,(async(n,s)=>{l(n)?await a(Q+m(t)+aa+m(e)+"=?",[s]):A(d)||await ea(a,t,e,I(n),[s,...j(n)],i)})));else if(A(d))b(o,t)&&await a(Q+m(t)+aa+" 1");else{const n=C(Y($(o,t)),(a=>a!=e)),s=[],c=[];F(r??{},((a,t)=>{N(s,t,...h(n,(t=>a?.[t]))),N(c,t)})),await ea(a,t,e,n,s,i),await a(Q+m(t)+aa+m(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+T(h(i,(a=>s+m(a))))+")VALUES"+d(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+m(e)+")DO UPDATE SET"+T(h(i,(a=>m(a)+"=excluded."+m(a))),s):n),h(r,(a=>a??null))),na=a=>T(h(a,(()=>"?")),s),sa=JSON.parse,ia=H(),oa=H(),ra=(a,t,e,n,s,i,o,r={},c=[])=>{let w,d,p,E=0;J(ia,c,(()=>0)),J(oa,c,(()=>[]));const[f,g,m,v,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:0)(o,a),h=t=>{(f&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=E&&(E=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),S),C=()=>(d&&(s(d),d=void 0),S),b=async a=>(1!=E&&(E=2,await R((async()=>{try{await e(g,a)}catch(a){i?.(a)}E=0}))),S),O=()=>(y(p,a.delListener),p=void 0,S),R=async(...a)=>(N($(oa,c),...a),await(async()=>{if(!$(ia,c)){for(G(ia,c,1);!l((a=$(oa,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}G(ia,c,0)}var a})(),S),S={load:A,startAutoLoad:async a=>(await C().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,h(t??a),E=0):await A()})),S),stopAutoLoad:C,isAutoLoading:()=>!l(d),save:b,startAutoSave:async()=>(await O().save(),p=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&b(a)})),S),stopAutoSave:O,isAutoSaving:()=>!l(p),schedule:R,getStore:()=>a,destroy:()=>C().stopAutoSave(),getStats:()=>({}),...r};return M(S)},ca="store",la=(a,t,e,n,s,[i],o,r,c,l)=>{const[y,w,u,d]=ta(t,o,s,l);return ra(a,(async()=>await d((async()=>(await y(),sa((await w(i,g))[f]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,g,{[f]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>r},r)},ya=(a,t,e,n,s,[i,o,[r,c,y]],w,u,d,p)=>{const[m,v,T,h]=ta(t,w,s,p),A=async(a,t)=>await E(k(o,(async([e,n,s,i],o)=>{t&&!x(a,o)||await T(e,n,a[o],s,i,t)}))),N=async(a,t)=>c?await T(y,g,{[f]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await m();const a=await(async()=>P(C(await E(k(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>r?(await v(y,g))[f]:{})();return q(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await A(t),await N(e)}else await A(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",pa="tableId",Ea="tableName",fa={mode:wa,[ua]:1},ga={load:0,save:0,[Ea]:e+"_values"},ma=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const o=d(j(_(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||G(s,i,o)})),s},va="pragma ",Ta="data_version",ha="schema_version",Aa=(a,t,n,s,i,o,r,l,y="getDb",u)=>{let p,E,f;const[m,T,h,A]=(a=>{const t=(a=>_(fa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=d(j(_(ga,o)),0,B(ga)),c=r[2],l=W(c);return[0,n,[ma(s,{[pa]:null,[da]:g},pa,(a=>z(l,a)&&a==c)),ma(i,{[Ea]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>z(l,t)&&t==c)),r],l]})(t);return(m?la:ya)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ta))[0][Ta],e=(await n(va+ha))[0][ha],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(E??=e)&&s==(f??=s)||(a(),p=t,E=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=E=null,i(t)}),r,h,O(A),l,y,u)};a.createExpoSqlitePersister=(a,t,e,n,s)=>Aa(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()),n,s,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",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),D=(...a)=>O.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>f(b(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(R(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),x=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=x();return[async()=>J(o,L(await p(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,J(H(o,t,x),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?L(m(f(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=W();M(r??{},(a=>f(R(a??{}),(a=>z(d,a)))));const u=h(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+K+G(t)),void q(o,t);if(g(u)||T(o,t)){const s=j(o,t),i=W(F(s));await p([...f(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?f(h(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+G(a))))});`),q(o,t,x([[e,n],...f(u,(a=>[a,n]))]));if(w)l(r)?await a(Q+G(t)+aa+" 1"):await p(M(r,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,R(n),[s,...P(n)],i)})));else if(g(u))T(o,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(F(j(o,t)),(a=>a!=e)),s=[],c=[];M(r??{},((a,t)=>{C(s,t,...f(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+v(f(i,(a=>s+G(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(r)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+v(f(i,(a=>G(a)+"=excluded."+G(a))),s):n),f(r,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=x(),ia=x(),oa=(a,t,e,n,s,i,o,r={},c=[])=>{let w,u,E,p=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[v,f,g,m,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(o,a),h=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=p&&(p=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),L),O=()=>(u&&(s(u),u=void 0),L),N=async a=>(1!=p&&(p=2,await R((async()=>{try{await e(f,a)}catch(a){i?.(a)}p=0}))),L),b=()=>(y(E,a.delListener),E=void 0,L),R=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(q(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:N,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&N(a)})),L),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...r};return S(L)},ra=(a,t,e,n,s,i,[o,r,c],l,y,w,d)=>{const[u,E,p,v]=ta(t,l,s,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await E(o,r))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await p(o,r,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[o,r,[c,y,w]],d,u,E,v)=>{const[f,g,C,T]=ta(t,d,s,v),h=async(a,t)=>await p(B(r,(async([e,n,s,i],o)=>{t&&!I(a,o)||await C(e,n,a[o],s,i,t)}))),A=async(a,t)=>y?await C(w,k,{[Y]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await p(B(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await h(t),await A(e)}else await h(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[pa]:1},Ca={load:0,save:0,[ga]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=x();return M(a,((a,o)=>{const r=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(r[0])||n(o,r[0])||(s(o,r[0]),q(i,o,r))})),i},ha="pragma_",Aa="data_version",Oa="schema_version";a.createExpoSqlitePersister=(a,t,n,s,i)=>((a,t,n,s,i,o,r,l,y,d="getDb",E)=>{let p,v,f;const[g,m,C,A]=(a=>{const t=(a=>D(ma,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=u(P(D(Ca,o)),0,$(Ca)),c=r[2],l=W(c),y=W(c);return[0,n,[Ta(s,{[fa]:null,[va]:k},fa,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[ga]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),r],l]})(t);return(g?ra:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Aa} JOIN ${ha}${Oa}`);t==(p??=t)&&e==(v??=e)&&s==(f??=s)||(a(),p=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=f=null,i(t)}),r,l,C,h(A),y,d,E)})(a,n,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,3,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",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),f="_",g="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",T=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),h=a=>0==p(a),A=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),R=Object,S=a=>R.getPrototypeOf(a),D=R.entries,I=R.keys,M=R.freeze,P=(a=[])=>R.fromEntries(a),_=(...a)=>R.assign({},...a),F=(a,t)=>t in a,x=(a,t)=>C(D(a),(([a,e])=>t(e,a))),j=a=>R.values(a),B=a=>p(I(a)),q=a=>(a=>!l(a)&&y(S(a),(a=>a==R.prototype||l(S(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>C([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(L(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(N(a,t)||G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(x(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=H();return[async()=>U(r,P(await E(C(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(C(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!l($($(r,a),t)))(t,e)?P(A(C(await a(X+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!q(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=W();x(o??{},(a=>C(I(a??{}),(a=>z(u,a)))));const d=O(u);if(!w&&y&&h(d)&&N(r,t))return await a("DROP "+K+m(t)),void G(r,t);if(h(d)||N(r,t)){const s=$(r,t),i=W(Y(s));await E([...C(d,(async e=>{L(i,e)||(await a(V+m(t)+"ADD"+m(e)),G(s,e,n))})),...!w&&c?C(O(i),(async n=>{n!=e&&(await a(V+m(t)+"DROP"+m(n)),G(s,n))})):[]])}else await a("CREATE "+K+m(t)+"("+m(e)+` PRIMARY KEY ON CONFLICT REPLACE${T(C(d,(a=>s+m(a))))});`),G(r,t,H([[e,n],...C(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+m(t)+aa+" 1"):await E(x(o,(async(n,s)=>{l(n)?await a(Q+m(t)+aa+m(e)+"=?",[s]):h(d)||await ea(a,t,e,I(n),[s,...j(n)],i)})));else if(h(d))N(r,t)&&await a(Q+m(t)+aa+" 1");else{const n=A(Y($(r,t)),(a=>a!=e)),s=[],c=[];x(o??{},((a,t)=>{b(s,t,...C(n,(t=>a?.[t]))),b(c,t)})),await ea(a,t,e,n,s,i),await a(Q+m(t)+aa+m(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+T(C(i,(a=>s+m(a))))+")VALUES"+d(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+m(e)+")DO UPDATE SET"+T(C(i,(a=>m(a)+"=excluded."+m(a))),s):n),C(o,(a=>a??null))),na=a=>T(C(a,(()=>"?")),s),sa=JSON.parse,ia=H(),ra=H(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,p,E=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[f,g,m,v,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:0)(r,a),C=t=>{(f&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},h=async a=>(2!=E&&(E=1,await L((async()=>{try{C(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),R),A=()=>(d&&(s(d),d=void 0),R),N=async a=>(1!=E&&(E=2,await L((async()=>{try{await e(g,a)}catch(a){i?.(a)}E=0}))),R),O=()=>(y(p,a.delListener),p=void 0,R),L=async(...a)=>(b($(ra,c),...a),await(async()=>{if(!$(ia,c)){for(G(ia,c,1);!l((a=$(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}G(ia,c,0)}var a})(),R),R={load:h,startAutoLoad:async a=>(await A().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,C(t??a),E=0):await h()})),R),stopAutoLoad:A,isAutoLoading:()=>!l(d),save:N,startAutoSave:async()=>(await O().save(),p=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&N(a)})),R),stopAutoSave:O,isAutoSaving:()=>!l(p),schedule:L,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return M(R)},ca="store",la=(a,t,e,n,s,[i],r,o,c,l)=>{const[y,w,u,d]=ta(t,r,s,l);return oa(a,(async()=>await d((async()=>(await y(),sa((await w(i,g))[f]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,g,{[f]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},ya=(a,t,e,n,s,[i,r,[o,c,y]],w,u,d,p)=>{const[m,v,T,C]=ta(t,w,s,p),h=async(a,t)=>await E(k(r,(async([e,n,s,i],r)=>{t&&!F(a,r)||await T(e,n,a[r],s,i,t)}))),b=async(a,t)=>c?await T(y,g,{[f]:a},!0,!0,t):null;return oa(a,(async()=>await C((async()=>{await m();const a=await(async()=>P(A(await E(k(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>o?(await v(y,g))[f]:{})();return q(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await m(),l(t)){const[t,e]=a();await h(t),await b(e)}else await h(t[0],!0),await b(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",pa="tableId",Ea="tableName",fa={mode:wa,[ua]:1},ga={load:0,save:0,[Ea]:e+"_values"},ma=(a,t,e,n)=>{const s=H();return x(a,((a,i)=>{const r=d(j(_(t,w(a)?{[e]:a}:a)),0,B(t));l(r[0])||n(i,r[0])||G(s,i,r)})),s},va="pragma ",Ta="data_version",Ca="schema_version",ha=(a,t,n,s,i,r,o,l,y="getDb",u)=>{let p,E,f;const[m,T,C,h]=(a=>{const t=(a=>_(fa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(j(_(ga,r)),0,B(ga)),c=o[2],l=W(c);return[0,n,[ma(s,{[pa]:null,[da]:g},pa,(a=>z(l,a)&&a==c)),ma(i,{[Ea]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>z(l,t)&&t==c)),o],l]})(t);return(m?la:ya)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ta))[0][Ta],e=(await n(va+Ca))[0][Ca],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(E??=e)&&s==(f??=s)||(a(),p=t,E=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=E=null,i(t)}),o,C,O(h),l,y,u)};a.createLibSqlPersister=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),v=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),N=O.entries,b=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(N(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(b(a)),_=a=>(a=>!l(a)&&y(L(a),(a=>a==O.prototype||l(L(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,S(await p(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?S(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>g(b(a??{}),(a=>z(d,a)))));const u=h(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=W(x(s));await p([...g(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):v(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(v(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(g(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(g(i,(a=>G(a)+"=excluded."+G(a))),s):n),g(o,(a=>a??null))),na=a=>f(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[f,g,v,m,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),h=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=p&&(p=1,await b((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),S),O=()=>(u&&(s(u),u=void 0),S),L=async a=>(1!=p&&(p=2,await b((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),S),N=()=>(y(E,a.delListener),E=void 0,S),b=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(q(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),S),S={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await A()})),S),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:L,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&L(a)})),S),stopAutoSave:N,isAutoSaving:()=>!l(E),schedule:b,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...o};return R(S)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[g,v,C,T]=ta(t,d,s,f),h=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),A=async(a,t)=>y?await C(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await g();const a=await(async()=>S(m(await p(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await v(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await A(e)}else await h(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,ga="tableId",va="tableName",ma={mode:wa,[pa]:1},Ca={load:0,save:0,[va]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},ha="pragma_",Aa="data_version",Oa="schema_version";a.createLibSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,g;const[v,m,C,A]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=W(c),y=W(c);return[0,n,[Ta(s,{[ga]:null,[fa]:k},ga,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[va]:null,[fa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Aa} JOIN ${ha}${Oa}`);t==(p??=t)&&e==(f??=e)&&s==(g??=s)||(a(),p=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=g=null,i(t)}),o,l,C,h(A),y,d,E)})(a,n,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,i,1,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),f=a=>a.length,g=async a=>o.all(a),p="_",E="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",T=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),C=a=>0==f(a),A=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,P=S.freeze,M=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),F=(a,t)=>t in a,x=(a,t)=>h(D(a),(([a,e])=>t(e,a))),j=a=>S.values(a),B=a=>f(I(a)),H=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),G=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),U=(a,t,e,n)=>(N(a,t)||J(a,t,e()),k(a,t)),W=(a,t,e,n=J)=>(x(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),z=a=>new Set(u(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=Y();return[async()=>W(r,M(await g(h(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,M(h(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,W(U(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!l(k(k(r,a),t)))(t,e)?M(A(h(await a(X+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=z();x(o??{},(a=>h(I(a??{}),(a=>K(u,a)))));const d=O(u);if(!w&&y&&C(d)&&N(r,t))return await a("DROP "+V+m(t)),void J(r,t);if(C(d)||N(r,t)){const s=k(r,t),i=z($(s));await g([...h(d,(async e=>{R(i,e)||(await a(q+m(t)+"ADD"+m(e)),J(s,e,n))})),...!w&&c?h(O(i),(async n=>{n!=e&&(await a(q+m(t)+"DROP"+m(n)),J(s,n))})):[]])}else await a("CREATE "+V+m(t)+"("+m(e)+` PRIMARY KEY ON CONFLICT REPLACE${T(h(d,(a=>s+m(a))))});`),J(r,t,Y([[e,n],...h(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+m(t)+aa+" 1"):await g(x(o,(async(n,s)=>{l(n)?await a(Q+m(t)+aa+m(e)+"=?",[s]):C(d)||await ea(a,t,e,I(n),[s,...j(n)],i)})));else if(C(d))N(r,t)&&await a(Q+m(t)+aa+" 1");else{const n=A($(k(r,t)),(a=>a!=e)),s=[],c=[];x(o??{},((a,t)=>{b(s,t,...h(n,(t=>a?.[t]))),b(c,t)})),await ea(a,t,e,n,s,i),await a(Q+m(t)+aa+m(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+T(h(i,(a=>s+m(a))))+")VALUES"+d(r(`,(?${r(",?",f(i))})`,f(o)/(f(i)+1)),1)+(c?"ON CONFLICT("+m(e)+")DO UPDATE SET"+T(h(i,(a=>m(a)+"=excluded."+m(a))),s):n),h(o,(a=>a??null))),na=a=>T(h(a,(()=>"?")),s),sa=JSON.parse,ia=Y(),ra=Y(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,f,g=0;U(ia,c,(()=>0)),U(ra,c,(()=>[]));const[p,E,m,v,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:0)(r,a),h=t=>{(p&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=g&&(g=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}g=0}))),S),A=()=>(d&&(s(d),d=void 0),S),N=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(E,a)}catch(a){i?.(a)}g=0}))),S),O=()=>(y(f,a.delListener),f=void 0,S),R=async(...a)=>(b(k(ra,c),...a),await(async()=>{if(!k(ia,c)){for(J(ia,c,1);!l((a=k(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}J(ia,c,0)}var a})(),S),S={load:C,startAutoLoad:async a=>(await A().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,h(t??a),g=0):await C()})),S),stopAutoLoad:A,isAutoLoading:()=>!l(d),save:N,startAutoSave:async()=>(await O().save(),f=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&N(a)})),S),stopAutoSave:O,isAutoSaving:()=>!l(f),schedule:R,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return P(S)},ca="store",la=(a,t,e,n,s,[i],r,o,c,l)=>{const[y,w,u,d]=ta(t,r,s,l);return oa(a,(async()=>await d((async()=>(await y(),sa((await w(i,E))[p]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,E,{[p]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},ya=(a,t,e,n,s,[i,r,[o,c,y]],w,u,d,f)=>{const[m,v,T,h]=ta(t,w,s,f),C=async(a,t)=>await g(G(r,(async([e,n,s,i],r)=>{t&&!F(a,r)||await T(e,n,a[r],s,i,t)}))),b=async(a,t)=>c?await T(y,E,{[p]:a},!0,!0,t):null;return oa(a,(async()=>await h((async()=>{await m();const a=await(async()=>M(A(await g(G(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await v(y,E))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",fa="tableId",ga="tableName",pa={mode:wa,[ua]:1},Ea={load:0,save:0,[ga]:e+"_values"},ma=(a,t,e,n)=>{const s=Y();return x(a,((a,i)=>{const r=d(j(_(t,w(a)?{[e]:a}:a)),0,B(t));l(r[0])||n(i,r[0])||J(s,i,r)})),s},va="pragma ",Ta="data_version",ha="schema_version",Ca=(a,t,n,s,i,r,o,l,y="getDb",u)=>{let f,g,p;const[m,T,h,C]=(a=>{const t=(a=>_(pa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(j(_(Ea,r)),0,B(Ea)),c=o[2],l=z(c);return[0,n,[ma(s,{[fa]:null,[da]:E},fa,(a=>K(l,a)&&a==c)),ma(i,{[ga]:null,[da]:E,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>K(l,t)&&t==c)),o],l]})(t);return(m?la:ya)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ta))[0][Ta],e=(await n(va+ha))[0][ha],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(f??=t)&&e==(g??=e)&&s==(p??=s)||(a(),f=t,g=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),f=g=null,i(t)}),o,h,O(C),l,y,u)};a.createPowerSyncPersister=(a,t,e,n,s,i=!1)=>Ca(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)h(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,t,"getPowerSync",i)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,g=async a=>o.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==E(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),_=a=>E(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(d(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await g(p(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(p(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(p(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>p(R(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&h(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||h(r,t)){const s=j(r,t),i=z(x(s));await g([...p(u,(async e=>{A(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?p(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...p(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await g(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,R(n),[s,...M(n)],i)})));else if(v(u))h(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{T(s,t,...p(n,(t=>a?.[t]))),T(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(p(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(p(i,(a=>U(a)+"=excluded."+U(a))),s):n),p(o,(a=>a??null))),na=a=>f(p(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[f,p,v,m,h]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:0)(r,a),C=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=g&&(g=1,await R((async()=>{try{C(await t())}catch(t){i?.(t),a&&h(a)}g=0}))),L),O=()=>(u&&(s(u),u=void 0),L),b=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),L),N=()=>(y(E,a.delListener),E=void 0,L),R=async(...a)=>(T(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=g&&(g=1,C(t??a),g=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&b(a)})),L),stopAutoSave:N,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...o};return S(L)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,g,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await g(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[p,v,T,h]=ta(t,d,s,f),C=async(a,t)=>await g(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await T(e,n,a[r],s,i,t)}))),A=async(a,t)=>y?await T(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await p();const a=await(async()=>L(m(await g(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,ga="autoLoadIntervalSeconds",fa="rowId"+la,pa="tableId",va="tableName",ma={mode:wa,[ga]:1},Ta={load:0,save:0,[va]:e+"_values"},ha=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ca="pragma_",Aa="data_version",Oa="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let g,f,p;const[v,m,T,A]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[ga];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ta,r)),0,_(Ta)),c=o[2],l=z(c),y=z(c);return[0,n,[ha(s,{[pa]:null,[fa]:G},pa,(a=>h(y,a)),(a=>K(l,a))),ha(i,{[va]:null,[fa]:G,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>h(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ca}${Aa} JOIN ${Ca}${Oa}`);t==(g??=t)&&e==(f??=e)&&s==(p??=s)||(a(),g=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),g=f=p=null,i(t)}),o,l,T,C(A),y,d,E)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)p(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),f="_",m="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",h=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),A=a=>0==p(a),C=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,_=S.freeze,M=(a=[])=>S.fromEntries(a),P=(...a)=>S.assign({},...a),F=(a,t)=>t in a,j=(a,t)=>T(D(a),(([a,e])=>t(e,a))),x=a=>S.values(a),k=a=>p(I(a)),q=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==k(a),B=a=>new Map(a),W=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),Y=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(N(a,t)||$(a,t,e()),H(a,t)),J=(a,t,e,n=$)=>(j(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),U=a=>new Set(u(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=B();return[async()=>J(o,M(await E(T(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,M(T(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=H(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?M(C(T(await a(X+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!q(t)))):{},async(t,e,r,c,y,w=!1)=>{const u=U();j(r??{},(a=>T(I(a??{}),(a=>V(u,a)))));const d=O(u);if(!w&&y&&A(d)&&N(o,t))return await a("DROP "+z+g(t)),void $(o,t);if(A(d)||N(o,t)){const s=H(o,t),i=U(W(s));await E([...T(d,(async e=>{R(i,e)||(await a(K+g(t)+"ADD"+g(e)),$(s,e,n))})),...!w&&c?T(O(i),(async n=>{n!=e&&(await a(K+g(t)+"DROP"+g(n)),$(s,n))})):[]])}else await a("CREATE "+z+g(t)+"("+g(e)+` PRIMARY KEY ON CONFLICT REPLACE${h(T(d,(a=>s+g(a))))});`),$(o,t,B([[e,n],...T(d,(a=>[a,n]))]));if(w)l(r)?await a(Q+g(t)+aa+" 1"):await E(j(r,(async(n,s)=>{l(n)?await a(Q+g(t)+aa+g(e)+"=?",[s]):A(d)||await ea(a,t,e,I(n),[s,...x(n)],i)})));else if(A(d))N(o,t)&&await a(Q+g(t)+aa+" 1");else{const n=C(W(H(o,t)),(a=>a!=e)),s=[],c=[];j(r??{},((a,t)=>{b(s,t,...T(n,(t=>a?.[t]))),b(c,t)})),await ea(a,t,e,n,s,i),await a(Q+g(t)+aa+g(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+h(T(i,(a=>s+g(a))))+")VALUES"+d(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+g(e)+")DO UPDATE SET"+h(T(i,(a=>g(a)+"=excluded."+g(a))),s):n),T(r,(a=>a??null))),na=a=>h(T(a,(()=>"?")),s),sa=JSON.parse,ia=B(),oa=B(),ra=(a,t,e,n,s,i,o,r={},c=[])=>{let w,d,p,E=0;G(ia,c,(()=>0)),G(oa,c,(()=>[]));const[f,m,g,v,h]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:0)(o,a),T=t=>{(f&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=E&&(E=1,await R((async()=>{try{T(await t())}catch(t){i?.(t),a&&h(a)}E=0}))),S),C=()=>(d&&(s(d),d=void 0),S),N=async a=>(1!=E&&(E=2,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),S),O=()=>(y(p,a.delListener),p=void 0,S),R=async(...a)=>(b(H(oa,c),...a),await(async()=>{if(!H(ia,c)){for($(ia,c,1);!l((a=H(oa,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}$(ia,c,0)}var a})(),S),S={load:A,startAutoLoad:async a=>(await C().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await A()})),S),stopAutoLoad:C,isAutoLoading:()=>!l(d),save:N,startAutoSave:async()=>(await O().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&N(a)})),S),stopAutoSave:O,isAutoSaving:()=>!l(p),schedule:R,getStore:()=>a,destroy:()=>C().stopAutoSave(),getStats:()=>({}),...r};return _(S)},ca="store",la=(a,t,e,n,s,[i],o,r,c,l)=>{const[y,w,u,d]=ta(t,o,s,l);return ra(a,(async()=>await d((async()=>(await y(),sa((await w(i,m))[f]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,m,{[f]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>r},r)},ya=(a,t,e,n,s,[i,o,[r,c,y]],w,u,d,p)=>{const[g,v,h,T]=ta(t,w,s,p),A=async(a,t)=>await E(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await h(e,n,a[o],s,i,t)}))),b=async(a,t)=>c?await h(y,m,{[f]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await g();const a=await(async()=>M(C(await E(Y(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>r?(await v(y,m))[f]:{})();return q(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await g(),l(t)){const[t,e]=a();await A(t),await b(e)}else await A(t[0],!0),await b(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",pa="tableId",Ea="tableName",fa={mode:wa,[ua]:1},ma={load:0,save:0,[Ea]:e+"_values"},ga=(a,t,e,n)=>{const s=B();return j(a,((a,i)=>{const o=d(x(P(t,w(a)?{[e]:a}:a)),0,k(t));l(o[0])||n(i,o[0])||$(s,i,o)})),s},va="pragma ",ha="data_version",Ta="schema_version",Aa=(a,t,n,s,i,o,r,l,y="getDb",u)=>{let p,E,f;const[g,h,T,A]=(a=>{const t=(a=>P(fa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=d(x(P(ma,o)),0,k(ma)),c=r[2],l=U(c);return[0,n,[ga(s,{[pa]:null,[da]:m},pa,(a=>V(l,a)&&a==c)),ga(i,{[Ea]:null,[da]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>V(l,t)&&t==c)),r],l]})(t);return(g?la:ya)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ha))[0][ha],e=(await n(va+Ta))[0][Ta],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(E??=e)&&s==(f??=s)||(a(),p=t,E=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=E=null,i(t)}),r,T,O(A),l,y,u)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>Aa(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,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",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==p(a),g=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),R=O.entries,b=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>v(R(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(b(a)),$=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,n=q)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=F();return[async()=>W(o,L(await E(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,W(B(o,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?L(g(v(await a(X+Y(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=U();_(r??{},(a=>v(b(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&m(u)&&T(o,t))return await a("DROP "+z+Y(t)),void q(o,t);if(m(u)||T(o,t)){const s=x(o,t),i=U(j(s));await E([...v(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(s,e,n))})),...!w&&c?v(C(i),(async n=>{n!=e&&(await a(K+Y(t)+"DROP"+Y(n)),q(s,n))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+Y(a))))});`),q(o,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(r)?await a(Q+Y(t)+aa+" 1"):await E(_(r,(async(n,s)=>{l(n)?await a(Q+Y(t)+aa+Y(e)+"=?",[s]):m(u)||await ea(a,t,e,b(n),[s,...M(n)],i)})));else if(m(u))T(o,t)&&await a(Q+Y(t)+aa+" 1");else{const n=g(j(x(o,t)),(a=>a!=e)),s=[],c=[];_(r??{},((a,t)=>{h(s,t,...v(n,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,n,s,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+f(v(i,(a=>s+Y(a))))+")VALUES"+u(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+f(v(i,(a=>Y(a)+"=excluded."+Y(a))),s):n),v(r,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),oa=(a,t,e,n,s,i,o,r={},c=[])=>{let w,u,p,E=0;B(sa,c,(()=>0)),B(ia,c,(()=>[]));const[f,v,m,g,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:0)(o,a),C=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=E&&(E=1,await b((async()=>{try{C(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),L),O=()=>(u&&(s(u),u=void 0),L),N=async a=>(1!=E&&(E=2,await b((async()=>{try{await e(v,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(y(p,a.delListener),p=void 0,L),b=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(q(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,C(t??a),E=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:N,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=m();g(a)&&N(a)})),L),stopAutoSave:R,isAutoSaving:()=>!l(p),schedule:b,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...r};return S(L)},ra=(a,t,e,n,s,i,[o,r,c],l,y,w,d)=>{const[u,p,E,f]=ta(t,l,s,d);return oa(a,(async()=>await f((async()=>{return await u(),a=(await p(o,r))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await E(o,r,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[o,r,[c,y,w]],d,u,p,f)=>{const[v,m,h,T]=ta(t,d,s,f),C=async(a,t)=>await E(k(r,(async([e,n,s,i],o)=>{t&&!D(a,o)||await h(e,n,a[o],s,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await v();const a=await(async()=>L(g(await E(k(o,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await m(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ma="tableName",ga={mode:wa,[Ea]:1},ha={load:0,save:0,[ma]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return _(a,((a,o)=>{const r=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(r[0])||n(o,r[0])||(s(o,r[0]),q(i,o,r))})),i},Ca="pragma_",Aa="data_version",Oa="schema_version";a.createSqliteWasmPersister=(a,t,n,s,i,o)=>((a,t,n,s,i,o,r,l,y,d="getDb",p)=>{let E,f,v;const[m,g,h,A]=(a=>{const t=(a=>I(ga,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=u(M(I(ha,o)),0,P(ha)),c=r[2],l=U(c),y=U(c);return[0,n,[Ta(s,{[va]:null,[fa]:J},va,(a=>T(y,a)),(a=>V(l,a))),Ta(i,{[ma]:null,[fa]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>T(y,t)),((a,t)=>V(l,t))),r],l]})(t);return(m?ra:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ca}${Aa} JOIN ${Ca}${Oa}`);t==(E??=t)&&e==(f??=e)&&s==(v??=s)||(a(),E=t,f=e)}catch{}},e=g,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=f=v=null,i(t)}),r,l,h,C(A),y,d,p)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)),i,o,3,n)},"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",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),f=a=>a.length,p=async a=>o.all(a),E="_",g="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",T=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),A=a=>0==f(a),C=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,M=S.freeze,P=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),F=(a,t)=>t in a,j=(a,t)=>h(D(a),(([a,e])=>t(e,a))),x=a=>S.values(a),B=a=>f(I(a)),H=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),q=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||G(a,t,e()),k(a,t)),U=(a,t,e,n=G)=>(j(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=Y();return[async()=>U(r,P(await p(h(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(h(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!l(k(k(r,a),t)))(t,e)?P(C(h(await a(X+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=W();j(o??{},(a=>h(I(a??{}),(a=>z(u,a)))));const d=b(u);if(!w&&y&&A(d)&&O(r,t))return await a("DROP "+K+m(t)),void G(r,t);if(A(d)||O(r,t)){const s=k(r,t),i=W($(s));await p([...h(d,(async e=>{R(i,e)||(await a(V+m(t)+"ADD"+m(e)),G(s,e,n))})),...!w&&c?h(b(i),(async n=>{n!=e&&(await a(V+m(t)+"DROP"+m(n)),G(s,n))})):[]])}else await a("CREATE "+K+m(t)+"("+m(e)+` PRIMARY KEY ON CONFLICT REPLACE${T(h(d,(a=>s+m(a))))});`),G(r,t,Y([[e,n],...h(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+m(t)+aa+" 1"):await p(j(o,(async(n,s)=>{l(n)?await a(Q+m(t)+aa+m(e)+"=?",[s]):A(d)||await ea(a,t,e,I(n),[s,...x(n)],i)})));else if(A(d))O(r,t)&&await a(Q+m(t)+aa+" 1");else{const n=C($(k(r,t)),(a=>a!=e)),s=[],c=[];j(o??{},((a,t)=>{N(s,t,...h(n,(t=>a?.[t]))),N(c,t)})),await ea(a,t,e,n,s,i),await a(Q+m(t)+aa+m(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+T(h(i,(a=>s+m(a))))+")VALUES"+d(r(`,(?${r(",?",f(i))})`,f(o)/(f(i)+1)),1)+(c?"ON CONFLICT("+m(e)+")DO UPDATE SET"+T(h(i,(a=>m(a)+"=excluded."+m(a))),s):n),h(o,(a=>a??null))),na=a=>T(h(a,(()=>"?")),s),sa=JSON.parse,ia=Y(),ra=Y(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,f,p=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[E,g,m,v,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:0)(r,a),h=t=>{(E&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=p&&(p=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),S),C=()=>(d&&(s(d),d=void 0),S),O=async a=>(1!=p&&(p=2,await R((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),S),b=()=>(y(f,a.delListener),f=void 0,S),R=async(...a)=>(N(k(ra,c),...a),await(async()=>{if(!k(ia,c)){for(G(ia,c,1);!l((a=k(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}G(ia,c,0)}var a})(),S),S={load:A,startAutoLoad:async a=>(await C().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await A()})),S),stopAutoLoad:C,isAutoLoading:()=>!l(d),save:O,startAutoSave:async()=>(await b().save(),f=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&O(a)})),S),stopAutoSave:b,isAutoSaving:()=>!l(f),schedule:R,getStore:()=>a,destroy:()=>C().stopAutoSave(),getStats:()=>({}),...o};return M(S)},ca="store",la=(a,t,e,n,s,[i],r,o,c,l)=>{const[y,w,u,d]=ta(t,r,s,l);return oa(a,(async()=>await d((async()=>(await y(),sa((await w(i,g))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,g,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},ya=(a,t,e,n,s,[i,r,[o,c,y]],w,u,d,f)=>{const[m,v,T,h]=ta(t,w,s,f),A=async(a,t)=>await p(q(r,(async([e,n,s,i],r)=>{t&&!F(a,r)||await T(e,n,a[r],s,i,t)}))),N=async(a,t)=>c?await T(y,g,{[E]:a},!0,!0,t):null;return oa(a,(async()=>await h((async()=>{await m();const a=await(async()=>P(C(await p(q(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await v(y,g))[E]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await A(t),await N(e)}else await A(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",fa="tableId",pa="tableName",Ea={mode:wa,[ua]:1},ga={load:0,save:0,[pa]:e+"_values"},ma=(a,t,e,n)=>{const s=Y();return j(a,((a,i)=>{const r=d(x(_(t,w(a)?{[e]:a}:a)),0,B(t));l(r[0])||n(i,r[0])||G(s,i,r)})),s},va="pragma ",Ta="data_version",ha="schema_version",Aa=(a,t,n,s,i,r,o,l,y="getDb",u)=>{let f,p,E;const[m,T,h,A]=(a=>{const t=(a=>_(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(x(_(ga,r)),0,B(ga)),c=o[2],l=W(c);return[0,n,[ma(s,{[fa]:null,[da]:g},fa,(a=>z(l,a)&&a==c)),ma(i,{[pa]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>z(l,t)&&t==c)),o],l]})(t);return(m?la:ya)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ta))[0][Ta],e=(await n(va+ha))[0][ha],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(f??=t)&&e==(p??=e)&&s==(E??=s)||(a(),f=t,p=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),f=p=null,i(t)}),o,h,b(A),l,y,u)},Ca="change";a.createSqlite3Persister=(a,t,e,n,s)=>Aa(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ca,e),e}),(a=>t.off(Ca,a)),n,s,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",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,f=async a=>o.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==E(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),R=O.entries,S=O.keys,L=O.freeze,b=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>v(R(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",q="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,b(await f(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(v(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?b(m(v(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=W();M(o??{},(a=>v(S(a??{}),(a=>z(u,a)))));const d=C(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const s=x(r,t),i=W(j(s));await f([...v(d,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),H(s,e,n))})),...!w&&c?v(C(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),H(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>s+G(a))))});`),H(r,t,F([[e,n],...v(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await f(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(d)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(d))h(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{T(s,t,...v(n,(t=>a?.[t]))),T(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+p(v(i,(a=>s+G(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+p(v(i,(a=>G(a)+"=excluded."+G(a))),s):n),v(o,(a=>a??null))),na=a=>p(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[p,v,g,m,h]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),C=t=>{(p&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=f&&(f=1,await S((async()=>{try{C(await t())}catch(t){i?.(t),a&&h(a)}f=0}))),b),O=()=>(d&&(s(d),d=void 0),b),N=async a=>(1!=f&&(f=2,await S((async()=>{try{await e(v,a)}catch(a){i?.(a)}f=0}))),b),R=()=>(y(E,a.delListener),E=void 0,b),S=async(...a)=>(T(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),b),b={load:A,startAutoLoad:async a=>(await O().load(a),d=n((async(a,t)=>{t||a?2!=f&&(f=1,C(t??a),f=0):await A()})),b),stopAutoLoad:O,isAutoLoading:()=>!l(d),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&N(a)})),b),stopAutoSave:R,isAutoSaving:()=>!l(E),schedule:S,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...o};return L(b)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,f,p]=ta(t,l,s,u);return ra(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await f(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],u,d,E,p)=>{const[v,g,T,h]=ta(t,u,s,p),C=async(a,t)=>await f(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await T(e,n,a[r],s,i,t)}))),A=async(a,t)=>y?await T(w,q,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await v();const a=await(async()=>b(m(await f(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,q))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,fa="autoLoadIntervalSeconds",pa="rowId"+la,va="tableId",ga="tableName",ma={mode:wa,[fa]:1},Ta={load:0,save:0,[ga]:e+"_values"},ha=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=d(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ca="pragma_",Aa="data_version",Oa="schema_version",Na="change";a.createSqlite3Persister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,u="getDb",E)=>{let f,p,v;const[g,m,T,A]=(a=>{const t=(a=>I(ma,w(a)?{[ua]:a}:a??{}))(a),n=t[fa];if(t.mode==wa){const a=t[ua]??e;return[1,n,[a,t[da]??q,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(P(I(Ta,r)),0,$(Ta)),c=o[2],l=W(c),y=W(c);return[0,n,[ha(s,{[va]:null,[pa]:q},va,(a=>h(y,a)),(a=>z(l,a))),ha(i,{[ga]:null,[pa]:q,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>h(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ca}${Aa} JOIN ${Ca}${Oa}`);t==(f??=t)&&e==(p??=e)&&s==(v??=s)||(a(),f=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),f=p=v=null,i(t)}),o,l,T,C(A),y,u,E)})(a,n,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Na,e),e}),(a=>t.off(Na,a)),s,i,3,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="",r=",",o=n(l),i=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,s=(e,n,t)=>d(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,v=e=>Array.isArray(e),y=(e,n,t)=>e.slice(n,t),f=e=>e.length,p=e=>{return n=function*(){return u.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},h="_",m="_id",b=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",O=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),P=e=>0==f(e),w=(e,n)=>e.filter(n),C=(e,...n)=>e.push(...n),T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),S=Object,x=e=>S.getPrototypeOf(e),R=S.entries,L=S.keys,I=S.freeze,D=(e=[])=>S.fromEntries(e),j=(...e)=>S.assign({},...e),M=(e,n)=>n in e,_=(e,n)=>g(R(e),(([e,t])=>n(t,e))),F=e=>S.values(e),B=e=>f(L(e)),W=e=>(e=>!d(e)&&s(x(e),(e=>e==S.prototype||d(x(e))),(()=>!0)))(e)&&0==B(e),H=e=>new Map(e),U=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},Y=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return g([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},k=(e,n,t)=>d(t)?(N(e,n),e):null==e?void 0:e.set(n,t),q=(e,n,t,l)=>(T(e,n)||k(e,n,t()),Y(e,n)),G=(e,n,t,l=k)=>(_(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>M(n,t)?0:l(e,t))),e),J=e=>new Set(v(e)||d(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n);var K=Object.defineProperty,V=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,Z=(e,n,t)=>n in e?K(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,ee=(e,n)=>{for(var t in n||(n={}))Q.call(n,t)&&Z(e,t,n[t]);if(V)for(var t of V(n))X.call(n,t)&&Z(e,t,n[t]);return e},ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="TABLE",le="ALTER "+te,re="DELETE FROM",oe=E+"*FROM",ie="FROM pragma_table_",ue="WHERE",ae=(e,n,t,o)=>{const i=H();return[()=>ne(void 0,null,(function*(){return G(i,D(yield p(g(yield e("SELECT name "+ie+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+se(n)+")ORDER BY name",n),(n=>ne(void 0,[n],(function*({name:n}){return[n,D(g(yield e(E+" name,type "+ie+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>k(i,n,G(q(i,n,H),t,((e,n,t)=>{t!=Y(e,n)&&k(e,n,t)}),((e,n)=>k(e,n))))),((e,n)=>k(i,n)))})),(n,t)=>ne(void 0,null,(function*(){return((e,n)=>!d(Y(Y(i,e),n)))(n,t)?D(w(g(yield e(oe+b(n)),(e=>{return[e[t],(n=ee({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!d(e)&&!W(n)))):{}})),(n,t,u,a,s,c=!1)=>ne(void 0,null,(function*(){const v=J();_(null!=u?u:{},(e=>g(L(null!=e?e:{}),(e=>z(v,e)))));const y=A(v);if(!c&&s&&P(y)&&T(i,n))return yield e("DROP "+te+b(n)),void k(i,n);if(P(y)||T(i,n)){const r=Y(i,n),o=J(U(r));yield p([...g(y,(t=>ne(void 0,null,(function*(){N(o,t)||(yield e(le+b(n)+"ADD"+b(t)),k(r,t,l))})))),...!c&&a?g(A(o),(l=>ne(void 0,null,(function*(){l!=t&&(yield e(le+b(n)+"DROP"+b(l)),k(r,l))})))):[]])}else yield e("CREATE "+te+b(n)+"("+b(t)+` PRIMARY KEY ON CONFLICT REPLACE${O(g(y,(e=>r+b(e))))});`),k(i,n,H([[t,l],...g(y,(e=>[e,l]))]));if(c)d(u)?yield e(re+b(n)+ue+" 1"):yield p(_(u,((l,r)=>ne(void 0,null,(function*(){d(l)?yield e(re+b(n)+ue+b(t)+"=?",[r]):P(y)||(yield de(e,n,t,L(l),[r,...F(l)],o))})))));else if(P(y))T(i,n)&&(yield e(re+b(n)+ue+" 1"));else{const l=w(U(Y(i,n)),(e=>e!=t)),r=[],a=[];_(null!=u?u:{},((e,n)=>{C(r,n,...g(l,(n=>null==e?void 0:e[n]))),C(a,n)})),yield de(e,n,t,l,r,o),yield e(re+b(n)+ue+b(t)+"NOT IN("+se(a)+")",a)}})),n=>ne(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},de=(e,n,t,o,u,a=!0)=>ne(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+b(n)+"("+b(t)+O(g(o,(e=>r+b(e))))+")VALUES"+y(i(`,(?${i(",?",f(o))})`,f(u)/(f(o)+1)),1)+(a?"ON CONFLICT("+b(t)+")DO UPDATE SET"+O(g(o,(e=>b(e)+"=excluded."+b(e))),r):l),g(u,(e=>null!=e?e:null)))})),se=e=>O(g(e,(()=>"?")),r),ce=JSON.parse;var ve=Object.defineProperty,ye=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,he=(e,n,t)=>n in e?ve(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,me=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const be=H(),Ee=H(),Oe=(e,n,t,l,r,o,i,u={},a=[])=>{let c,y,f,p=0;q(be,a,(()=>0)),q(Ee,a,(()=>[]));const[h,m,b,E,O]=((e=1,n)=>e>1&&"merge"in n?[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!W(e)||!W(n),n.setDefaultContent]:2!=e?[0,n.getContent,n.getTransactionChanges,([e,n])=>!W(e)||!W(n),n.setContent]:0)(i,e),g=n=>{(h&&v(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},P=e=>me(void 0,null,(function*(){return 2!=p&&(p=1,yield N((()=>me(void 0,null,(function*(){try{g(yield n())}catch(n){null==o||o(n),e&&O(e)}p=0}))))),S})),w=()=>(y&&(r(y),y=void 0),S),T=e=>me(void 0,null,(function*(){return 1!=p&&(p=2,yield N((()=>me(void 0,null,(function*(){try{yield t(m,e)}catch(e){null==o||o(e)}p=0}))))),S})),A=()=>(s(f,e.delListener),f=void 0,S),N=(...e)=>me(void 0,null,(function*(){return C(Y(Ee,a),...e),yield me(void 0,null,(function*(){if(!Y(be,a)){for(k(be,a,1);!d((e=Y(Ee,a),c=e.shift()));)try{yield c()}catch(e){null==o||o(e)}k(be,a,0)}var e})),S})),S=((e,n)=>{for(var t in n||(n={}))fe.call(n,t)&&he(e,t,n[t]);if(ye)for(var t of ye(n))pe.call(n,t)&&he(e,t,n[t]);return e})({load:P,startAutoLoad:e=>me(void 0,null,(function*(){return yield w().load(e),y=l(((e,n)=>me(void 0,null,(function*(){n||e?2!=p&&(p=1,g(null!=n?n:e),p=0):yield P()})))),S})),stopAutoLoad:w,isAutoLoading:()=>!d(y),save:T,startAutoSave:()=>me(void 0,null,(function*(){return yield A().save(),f=e.addDidFinishTransactionListener((()=>{const e=b();E(e)&&T(e)})),S})),stopAutoSave:A,isAutoSaving:()=>!d(f),schedule:N,getStore:()=>e,destroy:()=>w().stopAutoSave(),getStats:()=>({})},u);return I(S)};var ge=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const Pe="store",we=(e,n,t,l,r,[o],i,u,a,d)=>{const[s,c,v,y]=ae(n,i,r,d);return Oe(e,(()=>ge(void 0,null,(function*(){return yield y((()=>ge(void 0,null,(function*(){var e,n;return yield s(),ce(null!=(n=null==(e=(yield c(o,m))[h])?void 0:e[Pe])?n:"null")}))))}))),(e=>ge(void 0,null,(function*(){return yield y((()=>ge(void 0,null,(function*(){var n,t;yield s(),yield v(o,m,{[h]:{[Pe]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?S.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,r,1,{[a]:()=>u},u)};var Ce=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const Te=(e,n,t,l,r,[o,i,[u,a,s]],c,v,y,f)=>{const[b,E,O,g]=ae(n,c,r,f),P=(e,n)=>Ce(void 0,null,(function*(){return yield p($(i,((t,l)=>Ce(void 0,[t,l],(function*([t,l,r,o],i){n&&!M(e,i)||(yield O(t,l,e[i],r,o,n))})))))})),C=(e,n)=>Ce(void 0,null,(function*(){return a?yield O(s,m,{[h]:e},!0,!0,n):null}));return Oe(e,(()=>Ce(void 0,null,(function*(){return yield g((()=>Ce(void 0,null,(function*(){yield b();const e=yield Ce(void 0,null,(function*(){return D(w(yield p($(o,((e,n)=>Ce(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!W(e[1]))))})),n=yield Ce(void 0,null,(function*(){return u?(yield E(s,m))[h]:{}}));return W(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>Ce(void 0,null,(function*(){return yield g((()=>Ce(void 0,null,(function*(){if(yield b(),d(n)){const[n,t]=e();yield P(n),yield C(t)}else yield P(n[0],!0),yield C(n[1],!0)}))))}))),t,l,r,1,{[y]:()=>v},v)},Ae="json",Ne="autoLoadIntervalSeconds",Se="rowIdColumnName",xe="tableId",Re="tableName",Le={mode:Ae,[Ne]:1},Ie={load:0,save:0,[Re]:t+"_values"},De=(e,n,t,l)=>{const r=H();return _(e,((e,o)=>{const i=y(F(j(n,c(e)?{[t]:e}:e)),0,B(n));d(i[0])||l(o,i[0])||k(r,o,i)})),r};var je=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const Me="pragma ",_e="data_version",Fe="schema_version",Be=(e,n,l,r,o,i,u,d,s="getDb",v)=>{let f,p,h;const[b,O,g,P]=(e=>{const n=(e=>j(Le,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[Ne];if(n.mode==Ae){const{storeTableName:e=t}=n;return[1,l,[e],J(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=n,u=y(F(j(Ie,i)),0,B(Ie)),a=u[2],d=J(a);return[0,l,[De(r,{[xe]:null,[Se]:m},xe,(e=>z(d,e)&&e==a)),De(o,{[Re]:null,[Se]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Re,((e,n)=>z(d,n)&&n==a)),u],d]})(n);return(b?we:Te)(e,i?(e,n)=>je(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>je(void 0,null,(function*(){try{const n=(yield l(Me+_e))[0][_e],t=(yield l(Me+Fe))[0][Fe],r=(yield l(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&t==(null!=p?p:p=t)&&r==(null!=h?h:h=r)||(e(),f=n,p=t)}catch(e){}})),t=O,n(),setInterval(n,1e3*t)),r((n=>P.has(n)?e():0))];var n,t}),(([e,n])=>{a(e),f=p=null,o(n)}),u,g,A(P),d,s,v)};e.createCrSqliteWasmPersister=(e,n,t,l,r)=>Be(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,r,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,l="tinybase",t="",r=",",o=n(t),i=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,s=(e,n,l)=>d(e)?null==l?void 0:l():n(e),c=e=>n(e)==o,v=e=>Array.isArray(e),y=(e,n,l)=>e.slice(n,l),f=e=>e.length,p=e=>{return n=function*(){return u.all(e)},new Promise(((e,l)=>{var t=e=>{try{o(n.next(e))}catch(e){l(e)}},r=e=>{try{o(n.throw(e))}catch(e){l(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);o((n=n.apply(void 0,null)).next())}));var n},h=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),E=e=>0==f(e),b=(e,n)=>e.filter(n),O=(e,...n)=>e.push(...n),g=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},C=(e,n)=>null==e?void 0:e.delete(n),w=Object,T=e=>w.getPrototypeOf(e),A=w.entries,S=w.keys,N=w.freeze,x=(e=[])=>w.fromEntries(e),R=(...e)=>w.assign({},...e),L=(e,n)=>n in e,I=(e,n)=>m(A(e),(([e,l])=>n(l,e))),D=e=>w.values(e),j=e=>f(S(e)),M=e=>(e=>!d(e)&&s(T(e),(e=>e==w.prototype||d(T(e))),(()=>!0)))(e)&&0==j(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},W=(e,n,l)=>d(l)?(C(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l,t)=>(g(e,n)||W(e,n,l()),F(e,n)),J=(e,n,l,t=W)=>(I(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>L(n,l)?0:t(e,l))),e),U="_",Y="_id",k=e=>`"${e.replace(/"/g,'""')}"`,q="SELECT",G=e=>new Set(v(e)||d(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n);var K=Object.defineProperty,V=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,Z=(e,n,l)=>n in e?K(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,ee=(e,n)=>{for(var l in n||(n={}))Q.call(n,l)&&Z(e,l,n[l]);if(V)for(var l of V(n))X.call(n,l)&&Z(e,l,n[l]);return e},ne=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const le="TABLE",te="ALTER "+le,re="DELETE FROM",oe=q+"*FROM",ie="FROM pragma_table_",ue="WHERE",ae=(e,n,l,o)=>{const i=$();return[()=>ne(void 0,null,(function*(){return J(i,x(yield p(m(yield e("SELECT name "+ie+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+se(n)+")ORDER BY name",n),(n=>ne(void 0,[n],(function*({name:n}){return[n,x(m(yield e(q+" name,type "+ie+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>W(i,n,J(H(i,n,$),l,((e,n,l)=>{l!=F(e,n)&&W(e,n,l)}),((e,n)=>W(e,n))))),((e,n)=>W(i,n)))})),(n,l)=>ne(void 0,null,(function*(){return((e,n)=>!d(F(F(i,e),n)))(n,l)?x(b(m(yield e(oe+k(n)),(e=>{return[e[l],(n=ee({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!M(n)))):{}})),(n,l,u,a,s,c=!1)=>ne(void 0,null,(function*(){const v=G();I(null!=u?u:{},(e=>m(S(null!=e?e:{}),(e=>z(v,e)))));const y=P(v);if(!c&&s&&E(y)&&g(i,n))return yield e("DROP "+le+k(n)),void W(i,n);if(E(y)||g(i,n)){const r=F(i,n),o=G(_(r));yield p([...m(y,(l=>ne(void 0,null,(function*(){C(o,l)||(yield e(te+k(n)+"ADD"+k(l)),W(r,l,t))})))),...!c&&a?m(P(o),(t=>ne(void 0,null,(function*(){t!=l&&(yield e(te+k(n)+"DROP"+k(t)),W(r,t))})))):[]])}else yield e("CREATE "+le+k(n)+"("+k(l)+` PRIMARY KEY ON CONFLICT REPLACE${h(m(y,(e=>r+k(e))))});`),W(i,n,$([[l,t],...m(y,(e=>[e,t]))]));if(c)d(u)?yield e(re+k(n)+ue+" 1"):yield p(I(u,((t,r)=>ne(void 0,null,(function*(){d(t)?yield e(re+k(n)+ue+k(l)+"=?",[r]):E(y)||(yield de(e,n,l,S(t),[r,...D(t)],o))})))));else if(E(y))g(i,n)&&(yield e(re+k(n)+ue+" 1"));else{const t=b(_(F(i,n)),(e=>e!=l)),r=[],a=[];I(null!=u?u:{},((e,n)=>{O(r,n,...m(t,(n=>null==e?void 0:e[n]))),O(a,n)})),yield de(e,n,l,t,r,o),yield e(re+k(n)+ue+k(l)+"NOT IN("+se(a)+")",a)}})),n=>ne(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},de=(e,n,l,o,u,a=!0)=>ne(void 0,null,(function*(){return yield e("INSERT "+(a?t:"OR REPLACE ")+"INTO"+k(n)+"("+k(l)+h(m(o,(e=>r+k(e))))+")VALUES"+y(i(`,(?${i(",?",f(o))})`,f(u)/(f(o)+1)),1)+(a?"ON CONFLICT("+k(l)+")DO UPDATE SET"+h(m(o,(e=>k(e)+"=excluded."+k(e))),r):t),m(u,(e=>null!=e?e:null)))})),se=e=>h(m(e,(()=>"?")),r);var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,l)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,he=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const me=$(),Ee=$(),be=(e,n,l,t,r,o,i,u={},a=[])=>{let c,y,f,p=0;H(me,a,(()=>0)),H(Ee,a,(()=>[]));const[h,m,E,b,g]=((e=1,n)=>e>1&&"merge"in n?[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!M(e)||!M(n),n.setDefaultContent]:2!=e?[0,n.getContent,n.getTransactionChanges,([e,n])=>!M(e)||!M(n),n.setContent]:0)(i,e),P=n=>{(h&&v(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},C=e=>he(void 0,null,(function*(){return 2!=p&&(p=1,yield S((()=>he(void 0,null,(function*(){try{P(yield n())}catch(n){null==o||o(n),e&&g(e)}p=0}))))),x})),w=()=>(y&&(r(y),y=void 0),x),T=e=>he(void 0,null,(function*(){return 1!=p&&(p=2,yield S((()=>he(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==o||o(e)}p=0}))))),x})),A=()=>(s(f,e.delListener),f=void 0,x),S=(...e)=>he(void 0,null,(function*(){return O(F(Ee,a),...e),yield he(void 0,null,(function*(){if(!F(me,a)){for(W(me,a,1);!d((e=F(Ee,a),c=e.shift()));)try{yield c()}catch(e){null==o||o(e)}W(me,a,0)}var e})),x})),x=((e,n)=>{for(var l in n||(n={}))ye.call(n,l)&&pe(e,l,n[l]);if(ve)for(var l of ve(n))fe.call(n,l)&&pe(e,l,n[l]);return e})({load:C,startAutoLoad:e=>he(void 0,null,(function*(){return yield w().load(e),y=t(((e,n)=>he(void 0,null,(function*(){n||e?2!=p&&(p=1,P(null!=n?n:e),p=0):yield C()})))),x})),stopAutoLoad:w,isAutoLoading:()=>!d(y),save:T,startAutoSave:()=>he(void 0,null,(function*(){return yield A().save(),f=e.addDidFinishTransactionListener((()=>{const e=E();b(e)&&T(e)})),x})),stopAutoSave:A,isAutoSaving:()=>!d(f),schedule:S,getStore:()=>e,destroy:()=>w().stopAutoSave(),getStats:()=>({})},u);return N(x)};var Oe=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const ge=(e,n,l,t,r,o,[i,u,a],d,s,c,v)=>{const[y,f,p,h]=ae(n,d,r,v);return be(e,(()=>Oe(void 0,null,(function*(){return yield h((()=>Oe(void 0,null,(function*(){var e,n,l;return yield y(),l=null!=(n=null==(e=(yield f(i,u))[U])?void 0:e[a])?n:"null",JSON.parse(l,((e,n)=>""===n?void 0:n))}))))}))),(e=>Oe(void 0,null,(function*(){return yield h((()=>Oe(void 0,null,(function*(){var n,l;yield y(),yield p(i,u,{[U]:{[a]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>void 0===n?"":n)))}},!0,!0)}))))}))),l,t,r,o,{[c]:()=>s},s)};var Pe=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const Ce=(e,n,l,t,r,o,[i,u,[a,s,c]],v,y,f,h)=>{const[m,E,O,g]=ae(n,v,r,h),P=(e,n)=>Pe(void 0,null,(function*(){return yield p(B(u,((l,t)=>Pe(void 0,[l,t],(function*([l,t,r,o],i){n&&!L(e,i)||(yield O(l,t,e[i],r,o,n))})))))})),C=(e,n)=>Pe(void 0,null,(function*(){return s?yield O(c,Y,{[U]:e},!0,!0,n):null}));return be(e,(()=>Pe(void 0,null,(function*(){return yield g((()=>Pe(void 0,null,(function*(){yield m();const e=yield Pe(void 0,null,(function*(){return x(b(yield p(B(i,((e,n)=>Pe(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!M(e[1]))))})),n=yield Pe(void 0,null,(function*(){return a?(yield E(c,Y))[U]:{}}));return M(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>Pe(void 0,null,(function*(){return yield g((()=>Pe(void 0,null,(function*(){if(yield m(),d(n)){const[n,l]=e();yield P(n),yield C(l)}else yield P(n[0],!0),yield C(n[1],!0)}))))}))),l,t,r,o,{[f]:()=>y},y)},we="ColumnName",Te="store",Ae="json",Se=Te+"TableName",Ne=Te+"Id"+we,xe=Te+we,Re="autoLoadIntervalSeconds",Le="rowId"+we,Ie="tableId",De="tableName",je={mode:Ae,[Re]:1},Me={load:0,save:0,[De]:l+"_values"},$e=(e,n,l,t,r)=>{const o=$();return I(e,((e,i)=>{const u=y(D(R(n,c(e)?{[l]:e}:e)),0,j(n));d(u[0])||t(i,u[0])||(r(i,u[0]),W(o,i,u))})),o};var _e=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const Fe="pragma_",Be="data_version",We="schema_version";e.createCrSqliteWasmPersister=(e,n,t,r,o)=>((e,n,t,r,o,i,u,d,s,v="getDb",f)=>{let p,h,m;const[E,b,O,C]=(e=>{var n,t,r;const o=(e=>R(je,c(e)?{[Se]:e}:null!=e?e:{}))(e),i=o[Re];if(o.mode==Ae){const e=null!=(n=o[Se])?n:l;return[1,i,[e,null!=(t=o[Ne])?t:Y,null!=(r=o[xe])?r:Te],G(e)]}const{tables:{load:u={},save:a={}}={},values:d={}}=o,s=y(D(R(Me,d)),0,j(Me)),v=s[2],f=G(v),p=G(v);return[0,i,[$e(u,{[Ie]:null,[Le]:Y},Ie,(e=>g(p,e)),(e=>z(f,e))),$e(a,{[De]:null,[Le]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},De,((e,n)=>g(p,n)),((e,n)=>z(f,n))),s],f]})(n);return(E?ge:Ce)(e,i?(e,n)=>_e(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>_e(void 0,null,(function*(){try{const[{d:n,s:l,c:r}]=yield t(`SELECT ${Be} d,${We} s,TOTAL_CHANGES() c FROM ${Fe}${Be} JOIN ${Fe}${We}`);n==(null!=p?p:p=n)&&l==(null!=h?h:h=l)&&r==(null!=m?m:m=r)||(e(),p=n,h=l)}catch(e){}})),l=b,n(),setInterval(n,1e3*l)),r((n=>C.has(n)?e():0))];var n,l}),(([e,n])=>{a(e),p=h=m=null,o(n)}),u,d,O,P(C),s,v,f)})(e,t,((e,...l)=>{return t=[e,...l],r=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);i((r=r.apply(void 0,t)).next())}));var t,r}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),r,o,1,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={});