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
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p="_",m="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),O=a=>0==d(a),T=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),L=Object,S=a=>L.getPrototypeOf(a),b=L.entries,D=L.keys,I=L.freeze,M=(a=[])=>L.fromEntries(a),P=(...a)=>L.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>A(b(a),(([a,e])=>t(e,a))),j=a=>L.values(a),x=a=>d(D(a)),B=a=>(a=>!o(a)&&l(S(a),(a=>a==L.prototype||o(S(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),U=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>o(e)?(R(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(N(a,t)||$(a,t,e()),W(a,t)),G=(a,t,e,n=$)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),J=a=>new Set(y(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=H();return[async()=>G(r,M(await E(A(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(r,t,G(k(r,t,H),e,((a,t,e)=>{e!=W(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(r,t))),async(t,e)=>((a,t)=>!o(W(W(r,a),t)))(t,e)?M(T(A(await a(Q+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=J();F(c??{},(a=>A(D(a??{}),(a=>q(u,a)))));const d=h(u);if(!y&&w&&O(d)&&N(r,t))return await a("DROP "+z+g(t)),void $(r,t);if(O(d)||N(r,t)){const n=W(r,t),i=J(U(n));await E([...A(d,(async s=>{R(i,s)||(await a(K+g(t)+"ADD"+g(s)),$(n,s,e))})),...!y&&l?A(h(i),(async e=>{e!=s&&(await a(K+g(t)+"DROP"+g(e)),$(n,e))})):[]])}else await a("CREATE "+z+g(t)+"("+g(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(A(d,(a=>n+g(a))))});`),$(r,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)o(c)?await a(V+g(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(V+g(t)+Z+g(s)+"=?",[n]):O(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(O(d))N(r,t)&&await a(V+g(t)+Z+" 1");else{const e=T(U(W(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(o,t)})),await ta(a,t,s,e,n,i),await a(V+g(t)+Z+g(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+C(A(r,(a=>n+g(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+g(s)+")DO UPDATE SET"+C(A(r,(a=>g(a)+"=excluded."+g(a))),n):e),A(c,(a=>a??null))),ea=a=>C(A(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,p=0;k(sa,w,(()=>0)),k(ia,w,(()=>[]));const[m,g,v,C,A]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),O=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await L((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}p=0}))),S),N=()=>(d&&(s(d),d=void 0),S),h=async a=>(1!=p&&(p=2,await L((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),S),R=()=>(l(E,a.delListener),E=void 0,S),L=async(...a)=>(f(W(ia,w),...a),await(async()=>{if(!W(sa,w)){for($(sa,w,1);!o((a=W(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}$(sa,w,0)}var a})(),S),S={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,O(t??a),p=0):await T()})),S),stopAutoLoad:N,isAutoLoading:()=>!o(d),save:h,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();C(a)&&h(a)})),S),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:L,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...c};return I(S)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,m))[p]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,m,{[p]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,g)=>{const[v,C,A,O]=aa(t,y,s,g),f=async(a,t)=>await E(Y(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>l?await A(w,m,{[p]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await v();const a=await(async()=>M(T(await E(Y(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await C(w,m))[p]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await v(),o(t)){const[t,e]=a();await f(t),await N(e)}else await f(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:wa,[ya]:1},ma={load:0,save:0,[Ea]:t+"_values"},ga=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,x(t));o(r[0])||n(i,r[0])||$(s,i,r)})),s},va="pragma ",Ca="data_version",Aa="schema_version",Oa=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,p,g;const[C,A,O,T]=(a=>{const e=(a=>P(pa,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(ma,r)),0,x(ma)),o=c[2],l=J(o);return[0,n,[ga(s,{[da]:null,[ua]:m},da,(a=>q(l,a)&&a==o)),ga(i,{[Ea]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>q(l,t)&&t==o)),c],l]})(e);return(C?oa:la)(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+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(g??=s)||(a(),E=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=p=null,i(t)}),o,O,h(T),l,y,d)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>Oa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,h=a=>N.getPrototypeOf(a),R=N.entries,f=N.keys,L=N.freeze,S=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),b=(a,t)=>t in a,D=(a,t)=>p(R(a),(([a,e])=>t(e,a))),M=a=>N.values(a),P=a=>d(f(a)),$=a=>(a=>!o(a)&&l(h(a),(a=>a==N.prototype||o(h(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>o(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(O(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>b(t,e)?0:n(a,e))),a),U="_",W="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",G=a=>new Set(w(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=k+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(k+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!o(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+Y(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,c,l,y,w=!1)=>{const u=G();D(c??{},(a=>p(f(a??{}),(a=>q(u,a)))));const d=A(u);if(!w&&y&&g(d)&&O(r,t))return await a("DROP "+z+Y(t)),void B(r,t);if(g(d)||O(r,t)){const n=j(r,t),i=G(F(n));await E([...p(d,(async s=>{T(i,s)||(await a(K+Y(t)+"ADD"+Y(s)),B(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(K+Y(t)+"DROP"+Y(e)),B(n,e))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+Y(a))))});`),B(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)o(c)?await a(V+Y(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(V+Y(t)+Z+Y(s)+"=?",[n]):g(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(d))O(r,t)&&await a(V+Y(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+Y(t)+Z+Y(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(s)+v(p(r,(a=>n+Y(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+Y(s)+")DO UPDATE SET"+v(p(r,(a=>Y(a)+"=excluded."+Y(a))),n):e),p(c,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,c={},y=[])=>{let u,d,E,v=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[p,g,m,O,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)(r,a),T=t=>{(p&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}v=0}))),I),h=()=>(d&&(s(d),d=void 0),I),R=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}v=0}))),I),f=()=>(l(E,a.delListener),E=void 0,I),S=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!o((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),I),I={load:N,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await N()})),I),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();O(a)&&R(a)})),I),stopAutoSave:f,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return L(I)},ra=(a,t,e,n,s,i,[r,c,o],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,c))[U]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,c,{[U]:{[o]:(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,c,[l,y,w]],u,d,v,p)=>{const[g,C,O,A]=aa(t,u,s,p),T=async(a,t)=>await E(x(c,(async([e,n,s,i],r)=>{t&&!b(a,r)||await O(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await O(w,W,{[U]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,W))[U]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),o(t)){const[t,e]=a();await T(t),await N(e)}else await T(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,pa="tableId",ga="tableName",ma={mode:ya,[Ea]:1},Ca={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const c=u(M(I(t,y(a)?{[e]:a}:a)),0,P(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Aa="pragma_",Ta="data_version",Na="schema_version";exports.createCrSqliteWasmPersister=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,w,d="getDb",E)=>{let v,p,g;const[m,C,T,N]=(a=>{const e=(a=>I(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??W,e[da]??la],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(I(Ca,r)),0,P(Ca)),o=c[2],l=G(o),w=G(o);return[0,n,[Oa(s,{[pa]:null,[va]:W},pa,(a=>O(w,a)),(a=>q(l,a))),Oa(i,{[ga]:null,[va]:W,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>O(w,t)),((a,t)=>q(l,t))),c],l]})(e);return(m?ra: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 ${Ta} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Ta} JOIN ${Aa}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=p=g=null,i(t)}),o,l,T,A(N),w,d,E)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,e);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>r.all(a),g="_",m="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),A=a=>0==E(a),T=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),R=Object,L=a=>R.getPrototypeOf(a),S=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>f(S(a),(([a,e])=>t(e,a))),j=a=>R.values(a),B=a=>E(D(a)),H=a=>(a=>!o(a)&&l(L(a),(a=>a==R.prototype||o(L(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),q=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>o(e)?(b(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(N(a,t)||x(a,t,e()),k(a,t)),J=(a,t,e,n=x)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),U=a=>new Set(y(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=Y();return[async()=>J(r,M(await d(f(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(f(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,J(G(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!o(k(k(r,a),t)))(t,e)?M(T(f(await a(Q+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!H(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();F(c??{},(a=>f(D(a??{}),(a=>W(u,a)))));const E=O(u);if(!y&&w&&A(E)&&N(r,t))return await a("DROP "+z+p(t)),void x(r,t);if(A(E)||N(r,t)){const n=k(r,t),i=U($(n));await d([...f(E,(async s=>{b(i,s)||(await a(K+p(t)+"ADD"+p(s)),x(n,s,e))})),...!y&&l?f(O(i),(async e=>{e!=s&&(await a(K+p(t)+"DROP"+p(e)),x(n,e))})):[]])}else await a("CREATE "+z+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(f(E,(a=>n+p(a))))});`),x(r,t,Y([[s,e],...f(E,(a=>[a,e]))]));if(y)o(c)?await a(V+p(t)+Z+" 1"):await d(F(c,(async(e,n)=>{o(e)?await a(V+p(t)+Z+p(s)+"=?",[n]):A(E)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(A(E))N(r,t)&&await a(V+p(t)+Z+" 1");else{const e=T($(k(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{h(n,t,...f(e,(t=>a?.[t]))),h(o,t)})),await ta(a,t,s,e,n,i),await a(V+p(t)+Z+p(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+C(f(r,(a=>n+p(a))))+")VALUES"+u(i(`,(?${i(",?",E(r))})`,E(c)/(E(r)+1)),1)+(o?"ON CONFLICT("+p(s)+")DO UPDATE SET"+C(f(r,(a=>p(a)+"=excluded."+p(a))),n):e),f(c,(a=>a??null))),ea=a=>C(f(a,(()=>"?")),n),na=JSON.parse,sa=Y(),ia=Y(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,E,d,g=0;G(sa,w,(()=>0)),G(ia,w,(()=>[]));const[m,p,v,C,f]=((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),A=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=g&&(g=1,await R((async()=>{try{A(await t())}catch(t){i?.(t),a&&f(a)}g=0}))),L),N=()=>(E&&(s(E),E=void 0),L),O=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),L),b=()=>(l(d,a.delListener),d=void 0,L),R=async(...a)=>(h(k(ia,w),...a),await(async()=>{if(!k(sa,w)){for(x(sa,w,1);!o((a=k(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(sa,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>(await N().load(a),E=n((async(a,t)=>{t||a?2!=g&&(g=1,A(t??a),g=0):await T()})),L),stopAutoLoad:N,isAutoLoading:()=>!o(E),save:O,startAutoSave:async()=>(await b().save(),d=a.addDidFinishTransactionListener((()=>{const a=v();C(a)&&O(a)})),L),stopAutoSave:b,isAutoSaving:()=>!o(d),schedule:R,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...c};return I(L)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,E]=aa(t,r,s,l);return ra(a,(async()=>await E((async()=>(await w(),na((await y(i,m))[g]?.[ca]??"null"))))),(async a=>await E((async()=>{var t;await w(),await u(i,m,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,E,p)=>{const[v,C,f,A]=aa(t,y,s,p),h=async(a,t)=>await d(q(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await f(e,n,a[r],s,i,t)}))),N=async(a,t)=>l?await f(w,m,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await v();const a=await(async()=>M(T(await d(q(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await C(w,m))[g]:{})();return H(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await v(),o(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[E]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",Ea="tableId",da="tableName",ga={mode:wa,[ya]:1},ma={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=Y();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,B(t));o(r[0])||n(i,r[0])||x(s,i,r)})),s},va="pragma ",Ca="data_version",fa="schema_version",Aa=(a,e,n,s,i,r,o,l,y="getDb",E)=>{let d,g,p;const[C,f,A,T]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(ma,r)),0,B(ma)),o=c[2],l=U(o);return[0,n,[pa(s,{[Ea]:null,[ua]:m},Ea,(a=>W(l,a)&&a==o)),pa(i,{[da]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==o)),c],l]})(e);return(C?oa:la)(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+fa))[0][fa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&s==(p??=s)||(a(),d=t,g=e)}catch{}},e=f,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=g=null,i(t)}),o,A,O(T),l,y,E)};exports.createElectricSqlPersister=(a,t,e,n,s)=>Aa(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");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),N=f.entries,R=f.keys,b=f.freeze,L=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(N(a),(([a,e])=>t(e,a))),M=a=>f.values(a),P=a=>d(R(a)),$=a=>(a=>!o(a)&&l(h(a),(a=>a==f.prototype||o(h(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>o(e)?(T(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(I(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",x=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(y(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,L(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),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)=>!o(j(j(r,a),t)))(t,e)?L(m(g(await a(Q+x(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();I(c??{},(a=>g(R(a??{}),(a=>W(u,a)))));const d=O(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+z+x(t)),void H(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=U(F(n));await E([...g(d,(async s=>{T(i,s)||(await a(K+x(t)+"ADD"+x(s)),H(n,s,e))})),...!y&&l?g(O(i),(async e=>{e!=s&&(await a(K+x(t)+"DROP"+x(e)),H(n,e))})):[]])}else await a("CREATE "+z+x(t)+"("+x(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+x(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(y)o(c)?await a(V+x(t)+Z+" 1"):await E(I(c,(async(e,n)=>{o(e)?await a(V+x(t)+Z+x(s)+"=?",[n]):p(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(V+x(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];I(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+x(t)+Z+x(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+x(t)+"("+x(s)+v(g(r,(a=>n+x(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+x(s)+")DO UPDATE SET"+v(g(r,(a=>x(a)+"=excluded."+x(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,v=0;J(na,w,(()=>0)),J(sa,w,(()=>[]));const[g,p,m,A,O]=((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),T=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,await L((async()=>{try{T(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),S),h=()=>(d&&(s(d),d=void 0),S),N=async a=>(1!=v&&(v=2,await L((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),S),R=()=>(l(E,a.delListener),E=void 0,S),L=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(H(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,w,0)}var a})(),S),S={load:f,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await f()})),S),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N(a)})),S),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:L,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return b(S)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,c))[k]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,c,{[k]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,v,g)=>{const[p,C,A,O]=aa(t,u,s,g),T=async(a,t)=>await E(B(c,(async([e,n,s,i],r)=>{t&&!D(a,r)||await A(e,n,a[r],s,i,t)}))),f=async(a,t)=>w?await A(y,q,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await p();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(y,q))[k]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),o(t)){const[t,e]=a();await T(t),await f(e)}else await T(t[0],!0),await f(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=_();return I(a,((a,r)=>{const c=u(M(S(t,w(a)?{[e]:a}:a)),0,P(t));o(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},Oa="pragma_",Ta="data_version",fa="schema_version";exports.createElectricSqlPersister=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let v,g,p;const[m,C,T,f]=(a=>{const e=(a=>S(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??q,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(S(Ca,r)),0,P(Ca)),o=c[2],l=U(o),y=U(o);return[0,n,[Aa(s,{[ga]:null,[va]:q},ga,(a=>A(y,a)),(a=>W(l,a))),Aa(i,{[pa]:null,[va]:q,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,t)),((a,t)=>W(l,t))),c],l]})(e);return(m?ra: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 ${Ta} d,${fa} s,TOTAL_CHANGES() c FROM ${Oa}${Ta} JOIN ${Oa}${fa}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=p=null,i(t)}),o,l,T,O(f),y,d,E)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,i,1,e,"getElectricClient");
@@ -1 +1 @@
1
- "use strict";var a=require("expo-sqlite/next");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,w=(a,t,e)=>l(a)?e?.():t(a),y=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>c.all(a),g="_",m="_id",v=a=>`"${a.replace(/"/g,'""')}"`,A="SELECT",C=(a,t="")=>a.join(t),N=(a,t)=>a.map(t),T=a=>0==E(a),f=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,L=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),b=Object,S=a=>b.getPrototypeOf(a),D=b.entries,I=b.keys,M=b.freeze,P=(a=[])=>b.fromEntries(a),_=(...a)=>b.assign({},...a),x=(a,t)=>t in a,F=(a,t)=>N(D(a),(([a,e])=>t(e,a))),j=a=>b.values(a),q=a=>E(I(a)),B=a=>(a=>!l(a)&&w(S(a),(a=>a==b.prototype||l(S(a))),(()=>!0)))(a)&&0==q(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>N([...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()),$(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=A+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=H();return[async()=>U(r,P(await p(N(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(N(await a(A+" 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(f(N(await a(X+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!B(t)))):{},async(t,e,c,o,w,y=!1)=>{const u=W();F(c??{},(a=>N(I(a??{}),(a=>z(u,a)))));const d=L(u);if(!y&&w&&T(d)&&O(r,t))return await a("DROP "+K+v(t)),void G(r,t);if(T(d)||O(r,t)){const s=$(r,t),i=W(Y(s));await p([...N(d,(async e=>{R(i,e)||(await a(V+v(t)+"ADD"+v(e)),G(s,e,n))})),...!y&&o?N(L(i),(async n=>{n!=e&&(await a(V+v(t)+"DROP"+v(n)),G(s,n))})):[]])}else await a("CREATE "+K+v(t)+"("+v(e)+` PRIMARY KEY ON CONFLICT REPLACE${C(N(d,(a=>s+v(a))))});`),G(r,t,H([[e,n],...N(d,(a=>[a,n]))]));if(y)l(c)?await a(Q+v(t)+aa+" 1"):await p(F(c,(async(n,s)=>{l(n)?await a(Q+v(t)+aa+v(e)+"=?",[s]):T(d)||await ea(a,t,e,I(n),[s,...j(n)],i)})));else if(T(d))O(r,t)&&await a(Q+v(t)+aa+" 1");else{const n=f(Y($(r,t)),(a=>a!=e)),s=[],o=[];F(c??{},((a,t)=>{h(s,t,...N(n,(t=>a?.[t]))),h(o,t)})),await ea(a,t,e,n,s,i),await a(Q+v(t)+aa+v(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"+v(t)+"("+v(e)+C(N(i,(a=>s+v(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(c)/(E(i)+1)),1)+(o?"ON CONFLICT("+v(e)+")DO UPDATE SET"+C(N(i,(a=>v(a)+"=excluded."+v(a))),s):n),N(c,(a=>a??null))),na=a=>C(N(a,(()=>"?")),s),sa=JSON.parse,ia=H(),ra=H(),ca=(a,t,e,n,s,i,r,c={},o=[])=>{let y,d,E,p=0;J(ia,o,(()=>0)),J(ra,o,(()=>[]));const[g,m,v,A,C]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),N=t=>{(g&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await R((async()=>{try{N(await t())}catch(t){i?.(t),a&&C(a)}p=0}))),b),f=()=>(d&&(s(d),d=void 0),b),O=async a=>(1!=p&&(p=2,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),b),L=()=>(w(E,a.delListener),E=void 0,b),R=async(...a)=>(h($(ra,o),...a),await(async()=>{if(!$(ia,o)){for(G(ia,o,1);!l((a=$(ra,o),y=a.shift()));)try{await y()}catch(a){i?.(a)}G(ia,o,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,N(t??a),p=0):await T()})),b),stopAutoLoad:f,isAutoLoading:()=>!l(d),save:O,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();A(a)&&O(a)})),b),stopAutoSave:L,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({}),...c};return M(b)},oa="store",la=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=ta(t,r,s,l);return ca(a,(async()=>await d((async()=>(await w(),sa((await y(i,m))[g]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,m,{[g]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},wa=(a,t,e,n,s,[i,r,[c,o,w]],y,u,d,E)=>{const[v,A,C,N]=ta(t,y,s,E),T=async(a,t)=>await p(k(r,(async([e,n,s,i],r)=>{t&&!x(a,r)||await C(e,n,a[r],s,i,t)}))),h=async(a,t)=>o?await C(w,m,{[g]:a},!0,!0,t):null;return ca(a,(async()=>await N((async()=>{await v();const a=await(async()=>P(f(await p(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await A(w,m))[g]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await v(),l(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,1,{[d]:()=>u},u)},ya="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",Ea="tableId",pa="tableName",ga={mode:ya,[ua]:1},ma={load:0,save:0,[pa]:e+"_values"},va=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=d(j(_(t,y(a)?{[e]:a}:a)),0,q(t));l(r[0])||n(i,r[0])||G(s,i,r)})),s},Aa="pragma ",Ca="data_version",Na="schema_version",Ta=(a,t,n,s,i,r,c,l,w="getDb",u)=>{let E,p,g;const[v,C,N,T]=(a=>{const t=(a=>_(ga,y(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==ya){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,c=d(j(_(ma,r)),0,q(ma)),o=c[2],l=W(o);return[0,n,[va(s,{[Ea]:null,[da]:m},Ea,(a=>z(l,a)&&a==o)),va(i,{[pa]:null,[da]:m,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>z(l,t)&&t==o)),c],l]})(t);return(v?la:wa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(Aa+Ca))[0][Ca],e=(await n(Aa+Na))[0][Na],s=(await n(A+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(g??=s)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=null,i(t)}),c,N,L(T),l,w,u)};exports.createExpoSqliteNextPersister=(t,e,n,s,i)=>Ta(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);
1
+ "use strict";var a=require("expo-sqlite/next");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,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),h=Object,L=a=>h.getPrototypeOf(a),R=h.entries,f=h.keys,S=h.freeze,b=(a=[])=>h.fromEntries(a),D=(...a)=>h.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>p(R(a),(([a,e])=>t(e,a))),P=a=>h.values(a),$=a=>E(f(a)),_=a=>(a=>!l(a)&&y(L(a),(a=>a==h.prototype||l(L(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),q=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>l(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(N(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(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(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()=>J(r,b(await v(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,b(p(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?b(A(p(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 u=W();M(c??{},(a=>p(f(a??{}),(a=>z(u,a)))));const d=O(u);if(!w&&y&&m(d)&&N(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(m(d)||N(r,t)){const s=j(r,t),i=W(x(s));await v([...p(d,(async e=>{T(i,e)||(await a(V+G(t)+"ADD"+G(e)),B(s,e,n))})),...!w&&o?p(O(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),B(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(p(d,(a=>s+G(a))))});`),B(r,t,F([[e,n],...p(d,(a=>[a,n]))]));if(w)l(c)?await a(Q+G(t)+aa+" 1"):await v(M(c,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):m(d)||await ea(a,t,e,f(n),[s,...P(n)],i)})));else if(m(d))N(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=A(x(j(r,t)),(a=>a!=e)),s=[],o=[];M(c??{},((a,t)=>{C(s,t,...p(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)+g(p(i,(a=>s+G(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(c)/(E(i)+1)),1)+(o?"ON CONFLICT("+G(e)+")DO UPDATE SET"+g(p(i,(a=>G(a)+"=excluded."+G(a))),s):n),p(c,(a=>a??null))),na=a=>g(p(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,c={},o=[])=>{let w,d,E,v=0;H(sa,o,(()=>0)),H(ia,o,(()=>[]));const[g,p,m,A,N]=((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=>{(g&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=v&&(v=1,await f((async()=>{try{O(await t())}catch(t){i?.(t),a&&N(a)}v=0}))),b),h=()=>(d&&(s(d),d=void 0),b),L=async a=>(1!=v&&(v=2,await f((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),b),R=()=>(y(E,a.delListener),E=void 0,b),f=async(...a)=>(C(j(ia,o),...a),await(async()=>{if(!j(sa,o)){for(B(sa,o,1);!l((a=j(ia,o),w=a.shift()));)try{await w()}catch(a){i?.(a)}B(sa,o,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,O(t??a),v=0):await T()})),b),stopAutoLoad:h,isAutoLoading:()=>!l(d),save:L,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&L(a)})),b),stopAutoSave:R,isAutoSaving:()=>!l(E),schedule:f,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return S(b)},ca=(a,t,e,n,s,i,[r,c,o],l,y,w,u)=>{const[d,E,v,g]=ta(t,l,s,u);return ra(a,(async()=>await g((async()=>{return await d(),a=(await E(r,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(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]],u,d,E,g)=>{const[p,m,C,N]=ta(t,u,s,g),O=async(a,t)=>await v(q(c,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await N((async()=>{await p();const a=await(async()=>b(A(await v(q(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>o?(await m(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await p(),l(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(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,va="autoLoadIntervalSeconds",ga="rowId"+la,pa="tableId",ma="tableName",Aa={mode:wa,[va]:1},Ca={load:0,save:0,[ma]:e+"_values"},Na=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const c=d(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Oa="pragma_",Ta="data_version",ha="schema_version";exports.createExpoSqliteNextPersister=(t,n,s,i,r)=>((a,t,n,s,i,r,c,l,y,u="getDb",E)=>{let v,g,p;const[m,A,C,T]=(a=>{const t=(a=>D(Aa,w(a)?{[ua]:a}:a??{}))(a),n=t[va];if(t.mode==wa){const a=t[ua]??e;return[1,n,[a,t[da]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,c=d(P(D(Ca,r)),0,$(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Na(s,{[pa]:null,[ga]:k},pa,(a=>N(y,a)),(a=>z(l,a))),Na(i,{[ma]:null,[ga]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>N(y,t)),((a,t)=>z(l,t))),c],l]})(t);return(m?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 ${Ta} d,${ha} s,TOTAL_CHANGES() c FROM ${Oa}${Ta} JOIN ${Oa}${ha}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=g=p=null,i(t)}),c,l,C,O(T),y,u,E)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),i,r,3,n);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>r.all(a),g="_",m="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",A=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),N=a=>0==E(a),T=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),b=Object,L=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,I=b.freeze,M=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>C(S(a),(([a,e])=>t(e,a))),x=a=>b.values(a),j=a=>E(D(a)),B=a=>(a=>!o(a)&&l(L(a),(a=>a==b.prototype||o(L(a))),(()=>!0)))(a)&&0==j(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))),q=(a,t,e)=>o(e)?(R(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(h(a,t)||q(a,t,e()),$(a,t)),J=(a,t,e,n=q)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),U=a=>new Set(y(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=H();return[async()=>J(r,M(await d(C(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(C(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(G(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!o($($(r,a),t)))(t,e)?M(T(C(await a(Q+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();F(c??{},(a=>C(D(a??{}),(a=>W(u,a)))));const E=O(u);if(!y&&w&&N(E)&&h(r,t))return await a("DROP "+z+p(t)),void q(r,t);if(N(E)||h(r,t)){const n=$(r,t),i=U(Y(n));await d([...C(E,(async s=>{R(i,s)||(await a(K+p(t)+"ADD"+p(s)),q(n,s,e))})),...!y&&l?C(O(i),(async e=>{e!=s&&(await a(K+p(t)+"DROP"+p(e)),q(n,e))})):[]])}else await a("CREATE "+z+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${A(C(E,(a=>n+p(a))))});`),q(r,t,H([[s,e],...C(E,(a=>[a,e]))]));if(y)o(c)?await a(V+p(t)+Z+" 1"):await d(F(c,(async(e,n)=>{o(e)?await a(V+p(t)+Z+p(s)+"=?",[n]):N(E)||await ta(a,t,s,D(e),[n,...x(e)],i)})));else if(N(E))h(r,t)&&await a(V+p(t)+Z+" 1");else{const e=T(Y($(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{f(n,t,...C(e,(t=>a?.[t]))),f(o,t)})),await ta(a,t,s,e,n,i),await a(V+p(t)+Z+p(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+A(C(r,(a=>n+p(a))))+")VALUES"+u(i(`,(?${i(",?",E(r))})`,E(c)/(E(r)+1)),1)+(o?"ON CONFLICT("+p(s)+")DO UPDATE SET"+A(C(r,(a=>p(a)+"=excluded."+p(a))),n):e),C(c,(a=>a??null))),ea=a=>A(C(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,E,d,g=0;G(sa,w,(()=>0)),G(ia,w,(()=>[]));const[m,p,v,A,C]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),N=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=g&&(g=1,await b((async()=>{try{N(await t())}catch(t){i?.(t),a&&C(a)}g=0}))),L),h=()=>(E&&(s(E),E=void 0),L),O=async a=>(1!=g&&(g=2,await b((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),L),R=()=>(l(d,a.delListener),d=void 0,L),b=async(...a)=>(f($(ia,w),...a),await(async()=>{if(!$(sa,w)){for(q(sa,w,1);!o((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}q(sa,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>(await h().load(a),E=n((async(a,t)=>{t||a?2!=g&&(g=1,N(t??a),g=0):await T()})),L),stopAutoLoad:h,isAutoLoading:()=>!o(E),save:O,startAutoSave:async()=>(await R().save(),d=a.addDidFinishTransactionListener((()=>{const a=v();A(a)&&O(a)})),L),stopAutoSave:R,isAutoSaving:()=>!o(d),schedule:b,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return I(L)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,E]=aa(t,r,s,l);return ra(a,(async()=>await E((async()=>(await w(),na((await y(i,m))[g]?.[ca]??"null"))))),(async a=>await E((async()=>{var t;await w(),await u(i,m,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,E,p)=>{const[v,A,C,N]=aa(t,y,s,p),f=async(a,t)=>await d(k(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await C(e,n,a[r],s,i,t)}))),h=async(a,t)=>l?await C(w,m,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await N((async()=>{await v();const a=await(async()=>M(T(await d(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await A(w,m))[g]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await v(),o(t)){const[t,e]=a();await f(t),await h(e)}else await f(t[0],!0),await h(t[1],!0)}))),e,n,s,1,{[E]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",Ea="tableId",da="tableName",ga={mode:wa,[ya]:1},ma={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=u(x(P(t,w(a)?{[e]:a}:a)),0,j(t));o(r[0])||n(i,r[0])||q(s,i,r)})),s},va="pragma ",Aa="data_version",Ca="schema_version",Na=(a,e,n,s,i,r,o,l,y="getDb",E)=>{let d,g,p;const[A,C,N,T]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(x(P(ma,r)),0,j(ma)),o=c[2],l=U(o);return[0,n,[pa(s,{[Ea]:null,[ua]:m},Ea,(a=>W(l,a)&&a==o)),pa(i,{[da]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==o)),c],l]})(e);return(A?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Aa))[0][Aa],e=(await n(va+Ca))[0][Ca],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&s==(p??=s)||(a(),d=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=g=null,i(t)}),o,N,O(T),l,y,E)};exports.createExpoSqlitePersister=(a,t,e,n,s)=>Na(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),n,s,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,h=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(f(a)),$=a=>(a=>!o(a)&&l(h(a),(a=>a==T.prototype||o(h(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),j=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(a,t)||B(a,t,e()),x(a,t)),J=(a,t,e,n=B)=>(I(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",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=x(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!o(x(x(r,a),t)))(t,e)?S(m(g(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,c,l,y,w=!1)=>{const u=U();I(c??{},(a=>g(f(a??{}),(a=>W(u,a)))));const d=O(u);if(!w&&y&&p(d)&&A(r,t))return await a("DROP "+z+q(t)),void B(r,t);if(p(d)||A(r,t)){const n=x(r,t),i=U(F(n));await E([...g(d,(async s=>{N(i,s)||(await a(K+q(t)+"ADD"+q(s)),B(n,s,e))})),...!w&&l?g(O(i),(async e=>{e!=s&&(await a(K+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+z+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(w)o(c)?await a(V+q(t)+Z+" 1"):await E(I(c,(async(e,n)=>{o(e)?await a(V+q(t)+Z+q(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(V+q(t)+Z+" 1");else{const e=m(F(x(r,t)),(a=>a!=s)),n=[],o=[];I(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+q(t)+Z+q(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(g(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(g(r,(a=>q(a)+"=excluded."+q(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,c={},y=[])=>{let u,d,E,v=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[g,p,m,A,O]=((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),N=t=>{(g&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=v&&(v=1,await S((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),b),h=()=>(d&&(s(d),d=void 0),b),R=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),b),f=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(C(x(sa,y),...a),await(async()=>{if(!x(na,y)){for(B(na,y,1);!o((a=x(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,N(t??a),v=0):await T()})),b),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&R(a)})),b),stopAutoSave:f,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return L(b)},ra=(a,t,e,n,s,i,[r,c,o],l,y,w,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(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)},ca=(a,t,e,n,s,i,[r,c,[l,y,w]],u,d,v,g)=>{const[p,C,A,O]=aa(t,u,s,g),N=async(a,t)=>await E(j(c,(async([e,n,s,i],r)=>{t&&!D(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await p();const a=await(async()=>S(m(await E(j(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,k))[Y]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),o(t)){const[t,e]=a();await N(t),await T(e)}else await N(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",pa="tableName",ma={mode:ya,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=_();return I(a,((a,r)=>{const c=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Oa="pragma_",Na="data_version",Ta="schema_version";exports.createExpoSqlitePersister=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,w,d="getDb",E)=>{let v,g,p;const[m,C,N,T]=(a=>{const e=(a=>b(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(b(Ca,r)),0,P(Ca)),o=c[2],l=U(o),w=U(o);return[0,n,[Aa(s,{[ga]:null,[va]:k},ga,(a=>A(w,a)),(a=>W(l,a))),Aa(i,{[pa]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(w,t)),((a,t)=>W(l,t))),c],l]})(e);return(m?ra: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 ${Na} d,${Ta} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${Ta}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=p=null,i(t)}),o,l,N,O(T),w,d,E)})(a,n,(async(a,t=[])=>(await e.execAsync([{sql:a,args:t}],!1))[0].rows),(a=>e.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,3,e);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",p="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),T=a=>0==d(a),f=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),R=Object,S=a=>R.getPrototypeOf(a),b=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>A(b(a),(([a,e])=>t(e,a))),j=a=>R.values(a),x=a=>d(D(a)),B=a=>(a=>!o(a)&&l(S(a),(a=>a==R.prototype||o(S(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>o(e)?(L(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(O(a,t)||q(a,t,e()),$(a,t)),J=(a,t,e,n=q)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),U=a=>new Set(y(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=H();return[async()=>J(r,M(await E(A(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(G(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!o($($(r,a),t)))(t,e)?M(f(A(await a(Q+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();F(c??{},(a=>A(D(a??{}),(a=>W(u,a)))));const d=h(u);if(!y&&w&&T(d)&&O(r,t))return await a("DROP "+z+m(t)),void q(r,t);if(T(d)||O(r,t)){const n=$(r,t),i=U(Y(n));await E([...A(d,(async s=>{L(i,s)||(await a(K+m(t)+"ADD"+m(s)),q(n,s,e))})),...!y&&l?A(h(i),(async e=>{e!=s&&(await a(K+m(t)+"DROP"+m(e)),q(n,e))})):[]])}else await a("CREATE "+z+m(t)+"("+m(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(A(d,(a=>n+m(a))))});`),q(r,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)o(c)?await a(V+m(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(V+m(t)+Z+m(s)+"=?",[n]):T(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(T(d))O(r,t)&&await a(V+m(t)+Z+" 1");else{const e=f(Y($(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{N(n,t,...A(e,(t=>a?.[t]))),N(o,t)})),await ta(a,t,s,e,n,i),await a(V+m(t)+Z+m(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+m(t)+"("+m(s)+C(A(r,(a=>n+m(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+m(s)+")DO UPDATE SET"+C(A(r,(a=>m(a)+"=excluded."+m(a))),n):e),A(c,(a=>a??null))),ea=a=>C(A(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,g=0;G(sa,w,(()=>0)),G(ia,w,(()=>[]));const[p,m,v,C,A]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),T=t=>{(p&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=g&&(g=1,await R((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}g=0}))),S),O=()=>(d&&(s(d),d=void 0),S),h=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),S),L=()=>(l(E,a.delListener),E=void 0,S),R=async(...a)=>(N($(ia,w),...a),await(async()=>{if(!$(sa,w)){for(q(sa,w,1);!o((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}q(sa,w,0)}var a})(),S),S={load:f,startAutoLoad:async a=>(await O().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,T(t??a),g=0):await f()})),S),stopAutoLoad:O,isAutoLoading:()=>!o(d),save:h,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();C(a)&&h(a)})),S),stopAutoSave:L,isAutoSaving:()=>!o(E),schedule:R,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...c};return I(S)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,p))[g]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,m)=>{const[v,C,A,T]=aa(t,y,s,m),N=async(a,t)=>await E(k(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await A(e,n,a[r],s,i,t)}))),O=async(a,t)=>l?await A(w,p,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await v();const a=await(async()=>M(f(await E(k(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await C(w,p))[g]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),o(t)){const[t,e]=a();await N(t),await O(e)}else await N(t[0],!0),await O(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},pa={load:0,save:0,[Ea]:t+"_values"},ma=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,x(t));o(r[0])||n(i,r[0])||q(s,i,r)})),s},va="pragma ",Ca="data_version",Aa="schema_version",Ta=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,g,m;const[C,A,T,f]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(pa,r)),0,x(pa)),o=c[2],l=U(o);return[0,n,[ma(s,{[da]:null,[ua]:p},da,(a=>W(l,a)&&a==o)),ma(i,{[Ea]:null,[ua]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>W(l,t)&&t==o)),c],l]})(e);return(C?oa:la)(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+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(m??=s)||(a(),E=t,g=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=null,i(t)}),o,T,h(f),l,y,d)};exports.createLibSqlPersister=(a,t,e,n,s)=>Ta(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,t,"getClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,h=a=>N.getPrototypeOf(a),L=N.entries,R=N.keys,f=N.freeze,S=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>g(L(a),(([a,e])=>t(e,a))),M=a=>N.values(a),P=a=>d(R(a)),$=a=>(a=>!o(a)&&l(h(a),(a=>a==N.prototype||o(h(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>o(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(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",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(y(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!o(j(j(r,a),t)))(t,e)?S(m(g(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();D(c??{},(a=>g(R(a??{}),(a=>W(u,a)))));const d=O(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+z+q(t)),void B(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=U(F(n));await E([...g(d,(async s=>{T(i,s)||(await a(K+q(t)+"ADD"+q(s)),B(n,s,e))})),...!y&&l?g(O(i),(async e=>{e!=s&&(await a(K+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+z+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(y)o(c)?await a(V+q(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(V+q(t)+Z+q(s)+"=?",[n]):p(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(V+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+q(t)+Z+q(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(g(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(g(r,(a=>q(a)+"=excluded."+q(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,v=0;H(na,w,(()=>0)),H(sa,w,(()=>[]));const[g,p,m,A,O]=((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),T=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),b),h=()=>(d&&(s(d),d=void 0),b),L=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),b),R=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(B(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,w,0)}var a})(),b),b={load:N,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await N()})),b),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:L,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&L(a)})),b),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return f(b)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,c,{[Y]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,v,g)=>{const[p,C,A,O]=aa(t,u,s,g),T=async(a,t)=>await E(x(c,(async([e,n,s,i],r)=>{t&&!I(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>w?await A(y,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await p();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(y,k))[Y]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),o(t)){const[t,e]=a();await T(t),await N(e)}else await T(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const c=u(M(b(t,w(a)?{[e]:a}:a)),0,P(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Oa="pragma_",Ta="data_version",Na="schema_version";exports.createLibSqlPersister=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let v,g,p;const[m,C,T,N]=(a=>{const e=(a=>b(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??k,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(b(Ca,r)),0,P(Ca)),o=c[2],l=U(o),y=U(o);return[0,n,[Aa(s,{[ga]:null,[va]:k},ga,(a=>A(y,a)),(a=>W(l,a))),Aa(i,{[pa]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,t)),((a,t)=>W(l,t))),c],l]})(e);return(m?ra: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 ${Ta} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${Ta} JOIN ${Oa}${Na}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=p=null,i(t)}),o,l,T,O(N),y,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",m="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),T=a=>0==d(a),f=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),R=Object,S=a=>R.getPrototypeOf(a),L=R.entries,D=R.keys,I=R.freeze,P=(a=[])=>R.fromEntries(a),M=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>A(L(a),(([a,e])=>t(e,a))),j=a=>R.values(a),x=a=>d(D(a)),B=a=>(a=>!c(a)&&l(S(a),(a=>a==R.prototype||c(S(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>c(e)?(b(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)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(y(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=H();return[async()=>U(r,P(await E(A(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,P(A(await a(v+" name,type "+X+"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)=>!c($($(r,a),t)))(t,e)?P(f(A(await a(Q+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!B(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=W();F(o??{},(a=>A(D(a??{}),(a=>z(u,a)))));const d=O(u);if(!y&&w&&T(d)&&N(r,t))return await a("DROP "+K+p(t)),void G(r,t);if(T(d)||N(r,t)){const n=$(r,t),i=W(Y(n));await E([...A(d,(async s=>{b(i,s)||(await a(V+p(t)+"ADD"+p(s)),G(n,s,e))})),...!y&&l?A(O(i),(async e=>{e!=s&&(await a(V+p(t)+"DROP"+p(e)),G(n,e))})):[]])}else await a("CREATE "+K+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(A(d,(a=>n+p(a))))});`),G(r,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)c(o)?await a(q+p(t)+Z+" 1"):await E(F(o,(async(e,n)=>{c(e)?await a(q+p(t)+Z+p(s)+"=?",[n]):T(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(T(d))N(r,t)&&await a(q+p(t)+Z+" 1");else{const e=f(Y($(r,t)),(a=>a!=s)),n=[],c=[];F(o??{},((a,t)=>{h(n,t,...A(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+p(t)+Z+p(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+C(A(r,(a=>n+p(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+p(s)+")DO UPDATE SET"+C(A(r,(a=>p(a)+"=excluded."+p(a))),n):e),A(o,(a=>a??null))),ea=a=>C(A(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ra=(a,t,e,n,s,i,r,o={},w=[])=>{let u,d,E,g=0;J(sa,w,(()=>0)),J(ia,w,(()=>[]));const[m,p,v,C,A]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),T=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=g&&(g=1,await R((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}g=0}))),S),N=()=>(d&&(s(d),d=void 0),S),O=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),S),b=()=>(l(E,a.delListener),E=void 0,S),R=async(...a)=>(h($(ia,w),...a),await(async()=>{if(!$(sa,w)){for(G(sa,w,1);!c((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,w,0)}var a})(),S),S={load:f,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,T(t??a),g=0):await f()})),S),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:O,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();C(a)&&O(a)})),S),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:R,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return I(S)},oa="store",ca=(a,t,e,n,s,[i],r,o,c,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,m))[g]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,m,{[g]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},la=(a,t,e,n,s,[i,r,[o,l,w]],y,u,d,p)=>{const[v,C,A,T]=aa(t,y,s,p),h=async(a,t)=>await E(k(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>l?await A(w,m,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await v();const a=await(async()=>P(f(await E(k(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await C(w,m))[g]:{})();return B(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),c(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},ma={load:0,save:0,[Ea]:t+"_values"},pa=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=u(j(M(t,w(a)?{[e]:a}:a)),0,x(t));c(r[0])||n(i,r[0])||G(s,i,r)})),s},va="pragma ",Ca="data_version",Aa="schema_version",Ta=(a,e,n,s,i,r,c,l,y="getDb",d)=>{let E,g,p;const[C,A,T,f]=(a=>{const e=(a=>M(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(j(M(ma,r)),0,x(ma)),c=o[2],l=W(c);return[0,n,[pa(s,{[da]:null,[ua]:m},da,(a=>z(l,a)&&a==c)),pa(i,{[Ea]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>z(l,t)&&t==c)),o],l]})(e);return(C?ca:la)(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+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(p??=s)||(a(),E=t,g=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=g=null,i(t)}),c,T,O(f),l,y,d)};exports.createPowerSyncPersister=(a,t,e,n,s,i=!1)=>Ta(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)A(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,t,"getPowerSync",i);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),f=O.entries,R=O.keys,S=O.freeze,b=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(f(a),(([a,e])=>t(e,a))),P=a=>O.values(a),M=a=>d(R(a)),_=a=>(a=>!o(a)&&l(N(a),(a=>a==O.prototype||o(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>o(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(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(y(a)||o(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,b(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,b(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!o(j(j(r,a),t)))(t,e)?b(m(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!_(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();D(c??{},(a=>v(R(a??{}),(a=>z(u,a)))));const d=T(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{h(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!y&&l?v(T(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(y)o(c)?await a(q+G(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,R(e),[n,...P(e)],i)})));else if(p(d))A(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(c,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,g=0;H(na,w,(()=>0)),H(sa,w,(()=>[]));const[v,p,m,A,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=>{(v&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=g&&(g=1,await b((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}g=0}))),L),N=()=>(d&&(s(d),d=void 0),L),f=async a=>(1!=g&&(g=2,await b((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),L),R=()=>(l(E,a.delListener),E=void 0,L),b=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(B(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,w,0)}var a})(),L),L={load:O,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,h(t??a),g=0):await O()})),L),stopAutoLoad:N,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f(a)})),L),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:b,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...c};return S(L)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,c,{[Y]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,g,v)=>{const[p,C,A,T]=aa(t,u,s,v),h=async(a,t)=>await E(x(c,(async([e,n,s,i],r)=>{t&&!I(a,r)||await A(e,n,a[r],s,i,t)}))),O=async(a,t)=>w?await A(y,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await p();const a=await(async()=>b(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(y,k))[Y]:{})();return _(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await p(),o(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,i,{[g]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",ga="rowId"+oa,va="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const c=u(P(L(t,w(a)?{[e]:a}:a)),0,M(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Ta="pragma_",ha="data_version",Oa="schema_version";exports.createPowerSyncPersister=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let g,v,p;const[m,C,h,O]=(a=>{const e=(a=>L(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(P(L(Ca,r)),0,M(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Aa(s,{[va]:null,[ga]:k},va,(a=>A(y,a)),(a=>z(l,a))),Aa(i,{[pa]:null,[ga]:k,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,t)),((a,t)=>z(l,t))),c],l]})(e);return(m?ra: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,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${ha} JOIN ${Ta}${Oa}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),g=v=p=null,i(t)}),o,l,h,T(O),y,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p="_",m="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",A=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),h=a=>0==d(a),T=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),b=Object,L=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,I=b.freeze,_=(a=[])=>b.fromEntries(a),M=(...a)=>b.assign({},...a),P=(a,t)=>t in a,F=(a,t)=>C(S(a),(([a,e])=>t(e,a))),j=a=>b.values(a),k=a=>d(D(a)),q=a=>(a=>!o(a)&&l(L(a),(a=>a==b.prototype||o(L(a))),(()=>!0)))(a)&&0==k(a),x=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>C([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>o(e)?(R(a,t),a):a?.set(t,e),$=(a,t,e,n)=>(N(a,t)||Y(a,t,e()),H(a,t)),G=(a,t,e,n=Y)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),J=a=>new Set(y(a)||o(a)?a:[a]),U=(a,t)=>a?.add(t),V="TABLE",z="ALTER "+V,K="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=x();return[async()=>G(r,_(await E(C(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,_(C(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(r,t,G($(r,t,x),e,((a,t,e)=>{e!=H(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(r,t))),async(t,e)=>((a,t)=>!o(H(H(r,a),t)))(t,e)?_(T(C(await a(Q+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!q(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=J();F(c??{},(a=>C(D(a??{}),(a=>U(u,a)))));const d=O(u);if(!y&&w&&h(d)&&N(r,t))return await a("DROP "+V+g(t)),void Y(r,t);if(h(d)||N(r,t)){const n=H(r,t),i=J(B(n));await E([...C(d,(async s=>{R(i,s)||(await a(z+g(t)+"ADD"+g(s)),Y(n,s,e))})),...!y&&l?C(O(i),(async e=>{e!=s&&(await a(z+g(t)+"DROP"+g(e)),Y(n,e))})):[]])}else await a("CREATE "+V+g(t)+"("+g(s)+` PRIMARY KEY ON CONFLICT REPLACE${A(C(d,(a=>n+g(a))))});`),Y(r,t,x([[s,e],...C(d,(a=>[a,e]))]));if(y)o(c)?await a(K+g(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(K+g(t)+Z+g(s)+"=?",[n]):h(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(h(d))N(r,t)&&await a(K+g(t)+Z+" 1");else{const e=T(B(H(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{f(n,t,...C(e,(t=>a?.[t]))),f(o,t)})),await ta(a,t,s,e,n,i),await a(K+g(t)+Z+g(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+A(C(r,(a=>n+g(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+g(s)+")DO UPDATE SET"+A(C(r,(a=>g(a)+"=excluded."+g(a))),n):e),C(c,(a=>a??null))),ea=a=>A(C(a,(()=>"?")),n),na=JSON.parse,sa=x(),ia=x(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,p=0;$(sa,w,(()=>0)),$(ia,w,(()=>[]));const[m,g,v,A,C]=((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=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await b((async()=>{try{h(await t())}catch(t){i?.(t),a&&C(a)}p=0}))),L),N=()=>(d&&(s(d),d=void 0),L),O=async a=>(1!=p&&(p=2,await b((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),L),R=()=>(l(E,a.delListener),E=void 0,L),b=async(...a)=>(f(H(ia,w),...a),await(async()=>{if(!H(sa,w)){for(Y(sa,w,1);!o((a=H(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(sa,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await T()})),L),stopAutoLoad:N,isAutoLoading:()=>!o(d),save:O,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();A(a)&&O(a)})),L),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:b,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...c};return I(L)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,m))[p]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,m,{[p]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,g)=>{const[v,A,C,h]=aa(t,y,s,g),f=async(a,t)=>await E(W(r,(async([e,n,s,i],r)=>{t&&!P(a,r)||await C(e,n,a[r],s,i,t)}))),N=async(a,t)=>l?await C(w,m,{[p]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await v();const a=await(async()=>_(T(await E(W(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>c?(await A(w,m))[p]:{})();return q(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),o(t)){const[t,e]=a();await f(t),await N(e)}else await f(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:wa,[ya]:1},ma={load:0,save:0,[Ea]:t+"_values"},ga=(a,t,e,n)=>{const s=x();return F(a,((a,i)=>{const r=u(j(M(t,w(a)?{[e]:a}:a)),0,k(t));o(r[0])||n(i,r[0])||Y(s,i,r)})),s},va="pragma ",Aa="data_version",Ca="schema_version",ha=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,p,g;const[A,C,h,T]=(a=>{const e=(a=>M(pa,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(M(ma,r)),0,k(ma)),o=c[2],l=J(o);return[0,n,[ga(s,{[da]:null,[ua]:m},da,(a=>U(l,a)&&a==o)),ga(i,{[Ea]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==o)),c],l]})(e);return(A?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Aa))[0][Aa],e=(await n(va+Ca))[0][Ca],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(g??=s)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=p=null,i(t)}),o,h,O(T),l,y,d)};exports.createSqliteWasmPersister=(a,t,e,n,s,i)=>ha(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);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(f(a)),P=a=>(a=>!o(a)&&l(N(a),(a=>a==T.prototype||o(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>o(e)?(h(a,t),a):a?.set(t,e),x=(a,t,e,n)=>(A(a,t)||q(a,t,e()),j(a,t)),B=(a,t,e,n=q)=>(D(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),H="_",J="_id",W=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",G=a=>new Set(y(a)||o(a)?a:[a]),U=(a,t)=>a?.add(t),V="TABLE",z="ALTER "+V,K="DELETE FROM",Q=Y+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>B(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(Y+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,B(x(r,t,$),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)=>!o(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+W(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!P(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=G();D(c??{},(a=>v(f(a??{}),(a=>U(u,a)))));const d=O(u);if(!y&&w&&g(d)&&A(r,t))return await a("DROP "+V+W(t)),void q(r,t);if(g(d)||A(r,t)){const n=j(r,t),i=G(F(n));await E([...v(d,(async s=>{h(i,s)||(await a(z+W(t)+"ADD"+W(s)),q(n,s,e))})),...!y&&l?v(O(i),(async e=>{e!=s&&(await a(z+W(t)+"DROP"+W(e)),q(n,e))})):[]])}else await a("CREATE "+V+W(t)+"("+W(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+W(a))))});`),q(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(y)o(c)?await a(K+W(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(K+W(t)+Z+W(s)+"=?",[n]):g(d)||await ta(a,t,s,f(e),[n,..._(e)],i)})));else if(g(d))A(r,t)&&await a(K+W(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(K+W(t)+Z+W(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+W(t)+"("+W(s)+p(v(r,(a=>n+W(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+W(s)+")DO UPDATE SET"+p(v(r,(a=>W(a)+"=excluded."+W(a))),n):e),v(c,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,p=0;x(na,w,(()=>0)),x(sa,w,(()=>[]));const[v,g,m,A,O]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:0)(r,a),h=t=>{(v&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await S((async()=>{try{h(await t())}catch(t){i?.(t),a&&O(a)}p=0}))),b),N=()=>(d&&(s(d),d=void 0),b),R=async a=>(1!=p&&(p=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),b),f=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(q(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}q(na,w,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await T()})),b),stopAutoLoad:N,isAutoLoading:()=>!o(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&R(a)})),b),stopAutoSave:f,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...c};return L(b)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,c))[H]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,c,{[H]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,p,v)=>{const[g,C,A,O]=aa(t,u,s,v),h=async(a,t)=>await E(k(c,(async([e,n,s,i],r)=>{t&&!I(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>w?await A(y,J,{[H]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await g();const a=await(async()=>S(m(await E(k(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await C(y,J))[H]:{})();return P(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),o(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",pa="rowId"+oa,va="tableId",ga="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const c=u(_(b(t,w(a)?{[e]:a}:a)),0,M(t));o(c[0])||n(r,c[0])||(s(r,c[0]),q(i,r,c))})),i},Oa="pragma_",ha="data_version",Ta="schema_version";exports.createSqliteWasmPersister=(a,e,n,s,i,r)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let p,v,g;const[m,C,h,T]=(a=>{const e=(a=>b(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??J,e[da]??la],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(_(b(Ca,r)),0,M(Ca)),o=c[2],l=G(o),y=G(o);return[0,n,[Aa(s,{[va]:null,[pa]:J},va,(a=>A(y,a)),(a=>U(l,a))),Aa(i,{[ga]:null,[pa]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>A(y,t)),((a,t)=>U(l,t))),c],l]})(e);return(m?ra: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,${Ta} s,TOTAL_CHANGES() c FROM ${Oa}${ha} JOIN ${Oa}${Ta}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=g=null,i(t)}),o,l,h,O(T),y,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",f=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==d(a),T=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),L=Object,S=a=>L.getPrototypeOf(a),b=L.entries,D=L.keys,I=L.freeze,M=(a=[])=>L.fromEntries(a),P=(...a)=>L.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>A(b(a),(([a,e])=>t(e,a))),j=a=>L.values(a),B=a=>d(D(a)),H=a=>(a=>!o(a)&&l(S(a),(a=>a==L.prototype||o(S(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),x=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>o(e)?(R(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(N(a,t)||G(a,t,e()),k(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=>_(t,e)?0:n(a,e))),a),W=a=>new Set(y(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=Y();return[async()=>U(r,M(await E(A(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(m+" name,type "+X+"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)=>!o(k(k(r,a),t)))(t,e)?M(T(A(await a(Q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!H(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();F(c??{},(a=>A(D(a??{}),(a=>q(u,a)))));const d=O(u);if(!y&&w&&C(d)&&N(r,t))return await a("DROP "+z+v(t)),void G(r,t);if(C(d)||N(r,t)){const n=k(r,t),i=W($(n));await E([...A(d,(async s=>{R(i,s)||(await a(K+v(t)+"ADD"+v(s)),G(n,s,e))})),...!y&&l?A(O(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),G(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${f(A(d,(a=>n+v(a))))});`),G(r,t,Y([[s,e],...A(d,(a=>[a,e]))]));if(y)o(c)?await a(V+v(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(V+v(t)+Z+v(s)+"=?",[n]):C(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(C(d))N(r,t)&&await a(V+v(t)+Z+" 1");else{const e=T($(k(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{h(n,t,...A(e,(t=>a?.[t]))),h(o,t)})),await ta(a,t,s,e,n,i),await a(V+v(t)+Z+v(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+f(A(r,(a=>n+v(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+v(s)+")DO UPDATE SET"+f(A(r,(a=>v(a)+"=excluded."+v(a))),n):e),A(c,(a=>a??null))),ea=a=>f(A(a,(()=>"?")),n),na=JSON.parse,sa=Y(),ia=Y(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,g=0;J(sa,w,(()=>0)),J(ia,w,(()=>[]));const[p,v,m,f,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)(r,a),C=t=>{(p&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=g&&(g=1,await L((async()=>{try{C(await t())}catch(t){i?.(t),a&&A(a)}g=0}))),S),N=()=>(d&&(s(d),d=void 0),S),O=async a=>(1!=g&&(g=2,await L((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),S),R=()=>(l(E,a.delListener),E=void 0,S),L=async(...a)=>(h(k(ia,w),...a),await(async()=>{if(!k(sa,w)){for(G(sa,w,1);!o((a=k(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,w,0)}var a})(),S),S={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,C(t??a),g=0):await T()})),S),stopAutoLoad:N,isAutoLoading:()=>!o(d),save:O,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();f(a)&&O(a)})),S),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:L,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...c};return I(S)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,p))[g]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,v)=>{const[m,f,A,C]=aa(t,y,s,v),h=async(a,t)=>await E(x(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>l?await A(w,p,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await m();const a=await(async()=>M(T(await E(x(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await f(w,p))[g]:{})();return H(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await m(),o(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},pa={load:0,save:0,[Ea]:t+"_values"},va=(a,t,e,n)=>{const s=Y();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,B(t));o(r[0])||n(i,r[0])||G(s,i,r)})),s},ma="pragma ",fa="data_version",Aa="schema_version",Ca=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,g,v;const[f,A,C,T]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(pa,r)),0,B(pa)),o=c[2],l=W(o);return[0,n,[va(s,{[da]:null,[ua]:p},da,(a=>q(l,a)&&a==o)),va(i,{[Ea]:null,[ua]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>q(l,t)&&t==o)),c],l]})(e);return(f?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+fa))[0][fa],e=(await n(ma+Aa))[0][Aa],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(v??=s)||(a(),E=t,g=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=null,i(t)}),o,C,O(T),l,y,d)},Ta="change";exports.createSqlite3Persister=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ta,e),e}),(a=>t.off(Ta,a)),n,s,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),N=f.entries,R=f.keys,L=f.freeze,S=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),b=(a,t)=>t in a,D=(a,t)=>g(N(a),(([a,e])=>t(e,a))),M=a=>f.values(a),P=a=>d(R(a)),$=a=>(a=>!o(a)&&l(h(a),(a=>a==f.prototype||o(h(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>o(e)?(T(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>b(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(y(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),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)=>!o(j(j(r,a),t)))(t,e)?S(m(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();D(c??{},(a=>g(R(a??{}),(a=>q(u,a)))));const d=O(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{T(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!y&&l?g(O(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(y)o(c)?await a(V+G(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(V+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,v=0;J(na,w,(()=>0)),J(sa,w,(()=>[]));const[g,p,m,A,O]=((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),T=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),I),h=()=>(d&&(s(d),d=void 0),I),N=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),I),R=()=>(l(E,a.delListener),E=void 0,I),S=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(H(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,w,0)}var a})(),I),I={load:f,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await f()})),I),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N(a)})),I),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return L(I)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,c))[k]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,c,{[k]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,v,g)=>{const[p,C,A,O]=aa(t,u,s,g),T=async(a,t)=>await E(B(c,(async([e,n,s,i],r)=>{t&&!b(a,r)||await A(e,n,a[r],s,i,t)}))),f=async(a,t)=>w?await A(y,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await p();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(y,x))[k]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),o(t)){const[t,e]=a();await T(t),await f(e)}else await T(t[0],!0),await f(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const c=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));o(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},Oa="pragma_",Ta="data_version",fa="schema_version",ha="change";exports.createSqlite3Persister=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let v,g,p;const[m,C,T,f]=(a=>{const e=(a=>I(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(I(Ca,r)),0,P(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Aa(s,{[ga]:null,[va]:x},ga,(a=>A(y,a)),(a=>q(l,a))),Aa(i,{[pa]:null,[va]:x,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,t)),((a,t)=>q(l,t))),c],l]})(e);return(m?ra: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 ${Ta} d,${fa} s,TOTAL_CHANGES() c FROM ${Oa}${Ta} JOIN ${Oa}${fa}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=p=null,i(t)}),o,l,T,O(f),y,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(ha,t),t}),(a=>e.off(ha,a)),s,i,3,e);
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,n="tinybase",l="",t=",",r=e(l),o=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==r,s=e=>Array.isArray(e),v=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return i.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},p="_",h="_id",m=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",b=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),g=e=>0==y(e),P=(e,n)=>e.filter(n),w=(e,...n)=>e.push(...n),C=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),N=Object,S=e=>N.getPrototypeOf(e),R=N.entries,x=N.keys,L=N.freeze,I=(e=[])=>N.fromEntries(e),D=(...e)=>N.assign({},...e),j=(e,n)=>n in e,M=(e,n)=>O(R(e),(([e,l])=>n(l,e))),_=e=>N.values(e),F=e=>y(x(e)),B=e=>(e=>!a(e)&&d(S(e),(e=>e==N.prototype||a(S(e))),(()=>!0)))(e)&&0==F(e),H=e=>new Map(e),U=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},W=(e,n)=>null==e?void 0:e.get(n),Y=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},$=(e,n,l)=>a(l)?(T(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l,t)=>(C(e,n)||$(e,n,l()),W(e,n)),G=(e,n,l,t=$)=>(M(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>j(n,l)?0:t(e,l))),e),J=e=>new Set(s(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Z=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&X(e,l,n[l]);if(K)for(var l of K(n))Q.call(n,l)&&X(e,l,n[l]);return e},ee=(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 ne="TABLE",le="ALTER "+ne,te="DELETE FROM",re=E+"*FROM",oe="FROM pragma_table_",ie="WHERE",ue=(e,n,r,o)=>{const i=H();return[()=>ee(void 0,null,(function*(){return G(i,I(yield f(O(yield e("SELECT name "+oe+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+de(n)+")ORDER BY name",n),(n=>ee(void 0,[n],(function*({name:n}){return[n,I(O(yield e(E+" name,type "+oe+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>$(i,n,G(k(i,n,H),l,((e,n,l)=>{l!=W(e,n)&&$(e,n,l)}),((e,n)=>$(e,n))))),((e,n)=>$(i,n)))})),(n,l)=>ee(void 0,null,(function*(){return((e,n)=>!a(W(W(i,e),n)))(n,l)?I(P(O(yield e(re+m(n)),(e=>{return[e[l],(n=Z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!B(n)))):{}})),(n,r,u,d,c,s=!1)=>ee(void 0,null,(function*(){const v=J();M(null!=u?u:{},(e=>O(x(null!=e?e:{}),(e=>q(v,e)))));const y=A(v);if(!s&&c&&g(y)&&C(i,n))return yield e("DROP "+ne+m(n)),void $(i,n);if(g(y)||C(i,n)){const t=W(i,n),o=J(U(t));yield f([...O(y,(r=>ee(void 0,null,(function*(){T(o,r)||(yield e(le+m(n)+"ADD"+m(r)),$(t,r,l))})))),...!s&&d?O(A(o),(l=>ee(void 0,null,(function*(){l!=r&&(yield e(le+m(n)+"DROP"+m(l)),$(t,l))})))):[]])}else yield e("CREATE "+ne+m(n)+"("+m(r)+` PRIMARY KEY ON CONFLICT REPLACE${b(O(y,(e=>t+m(e))))});`),$(i,n,H([[r,l],...O(y,(e=>[e,l]))]));if(s)a(u)?yield e(te+m(n)+ie+" 1"):yield f(M(u,((l,t)=>ee(void 0,null,(function*(){a(l)?yield e(te+m(n)+ie+m(r)+"=?",[t]):g(y)||(yield ae(e,n,r,x(l),[t,..._(l)],o))})))));else if(g(y))C(i,n)&&(yield e(te+m(n)+ie+" 1"));else{const l=P(U(W(i,n)),(e=>e!=r)),t=[],a=[];M(null!=u?u:{},((e,n)=>{w(t,n,...O(l,(n=>null==e?void 0:e[n]))),w(a,n)})),yield ae(e,n,r,l,t,o),yield e(te+m(n)+ie+m(r)+"NOT IN("+de(a)+")",a)}})),n=>ee(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==r||r(e)}return yield e("END"),l}))]},ae=(e,n,r,i,u,a=!0)=>ee(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+m(n)+"("+m(r)+b(O(i,(e=>t+m(e))))+")VALUES"+v(o(`,(?${o(",?",y(i))})`,y(u)/(y(i)+1)),1)+(a?"ON CONFLICT("+m(r)+")DO UPDATE SET"+b(O(i,(e=>m(e)+"=excluded."+m(e))),t):l),O(u,(e=>null!=e?e:null)))})),de=e=>b(O(e,(()=>"?")),t),ce=JSON.parse;var se=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,l)=>n in e?se(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=H(),Ee=H(),be=(e,n,l,t,r,o,i,u={},c=[])=>{let v,y,f,p=0;k(me,c,(()=>0)),k(Ee,c,(()=>[]));const[h,m,E,b,O]=((e=1,n)=>e>1&&"merge"in n?[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!B(e)||!B(n),n.setDefaultContent]:2!=e?[0,n.getContent,n.getTransactionChanges,([e,n])=>!B(e)||!B(n),n.setContent]:0)(i,e),g=n=>{(h&&s(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=>he(void 0,null,(function*(){return 2!=p&&(p=1,yield N((()=>he(void 0,null,(function*(){try{g(yield n())}catch(n){null==o||o(n),e&&O(e)}p=0}))))),S})),C=()=>(y&&(r(y),y=void 0),S),A=e=>he(void 0,null,(function*(){return 1!=p&&(p=2,yield N((()=>he(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==o||o(e)}p=0}))))),S})),T=()=>(d(f,e.delListener),f=void 0,S),N=(...e)=>he(void 0,null,(function*(){return w(W(Ee,c),...e),yield he(void 0,null,(function*(){if(!W(me,c)){for($(me,c,1);!a((e=W(Ee,c),v=e.shift()));)try{yield v()}catch(e){null==o||o(e)}$(me,c,0)}var e})),S})),S=((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:P,startAutoLoad:e=>he(void 0,null,(function*(){return yield C().load(e),y=t(((e,n)=>he(void 0,null,(function*(){n||e?2!=p&&(p=1,g(null!=n?n:e),p=0):yield P()})))),S})),stopAutoLoad:C,isAutoLoading:()=>!a(y),save:A,startAutoSave:()=>he(void 0,null,(function*(){return yield T().save(),f=e.addDidFinishTransactionListener((()=>{const e=E();b(e)&&A(e)})),S})),stopAutoSave:T,isAutoSaving:()=>!a(f),schedule:N,getStore:()=>e,destroy:()=>C().stopAutoSave(),getStats:()=>({})},u);return L(S)};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="store",Pe=(e,n,l,t,r,[o],i,u,a,d)=>{const[c,s,v,y]=ue(n,i,r,d);return be(e,(()=>Oe(void 0,null,(function*(){return yield y((()=>Oe(void 0,null,(function*(){var e,n;return yield c(),ce(null!=(n=null==(e=(yield s(o,h))[p])?void 0:e[ge])?n:"null")}))))}))),(e=>Oe(void 0,null,(function*(){return yield y((()=>Oe(void 0,null,(function*(){var n,l;yield c(),yield v(o,h,{[p]:{[ge]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?N.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,r,1,{[a]:()=>u},u)};var we=(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,d,c]],s,v,y,m)=>{const[E,b,O,g]=ue(n,s,r,m),w=(e,n)=>we(void 0,null,(function*(){return yield f(Y(i,((l,t)=>we(void 0,[l,t],(function*([l,t,r,o],i){n&&!j(e,i)||(yield O(l,t,e[i],r,o,n))})))))})),C=(e,n)=>we(void 0,null,(function*(){return d?yield O(c,h,{[p]:e},!0,!0,n):null}));return be(e,(()=>we(void 0,null,(function*(){return yield g((()=>we(void 0,null,(function*(){yield E();const e=yield we(void 0,null,(function*(){return I(P(yield f(Y(o,((e,n)=>we(void 0,[e,n],(function*([e,n],l){return[e,yield b(l,n)]}))))),(e=>!B(e[1]))))})),n=yield we(void 0,null,(function*(){return u?(yield b(c,h))[p]:{}}));return B(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>we(void 0,null,(function*(){return yield g((()=>we(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield w(n),yield C(l)}else yield w(n[0],!0),yield C(n[1],!0)}))))}))),l,t,r,1,{[y]:()=>v},v)},Ae="json",Te="autoLoadIntervalSeconds",Ne="rowIdColumnName",Se="tableId",Re="tableName",xe={mode:Ae,[Te]:1},Le={load:0,save:0,[Re]:n+"_values"},Ie=(e,n,l,t)=>{const r=H();return M(e,((e,o)=>{const i=v(_(D(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(o,i[0])||$(r,o,i)})),r};var De=(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 je="pragma ",Me="data_version",_e="schema_version",Fe=(e,l,t,r,o,i,a,d,s="getDb",y)=>{let f,p,m;const[b,O,g,P]=(e=>{const l=(e=>D(xe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Te];if(l.mode==Ae){const{storeTableName:e=n}=l;return[1,t,[e],J(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=l,u=v(_(D(Le,i)),0,F(Le)),a=u[2],d=J(a);return[0,t,[Ie(r,{[Se]:null,[Ne]:h},Se,(e=>q(d,e)&&e==a)),Ie(o,{[Re]:null,[Ne]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Re,((e,n)=>q(d,n)&&n==a)),u],d]})(l);return(b?Pe:Ce)(e,i?(e,n)=>De(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>De(void 0,null,(function*(){try{const n=(yield t(je+Me))[0][Me],l=(yield t(je+_e))[0][_e],r=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&r==(null!=m?m:m=r)||(e(),f=n,p=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),r((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,o(n)}),a,g,A(P),d,s,y)};exports.createCrSqliteWasmPersister=(e,n,l,t,r)=>Fe(e,l,((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()),t,r,n);
1
+ "use strict";const e=e=>typeof e,n="tinybase",l="",t=",",r=e(l),o=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==r,v=e=>Array.isArray(e),s=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return i.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},p=(e,n="")=>e.join(n),h=(e,n)=>e.map(n),m=e=>0==y(e),E=(e,n)=>e.filter(n),O=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),w=Object,C=e=>w.getPrototypeOf(e),A=w.entries,T=w.keys,N=w.freeze,S=(e=[])=>w.fromEntries(e),R=(...e)=>w.assign({},...e),L=(e,n)=>n in e,x=(e,n)=>h(A(e),(([e,l])=>n(l,e))),I=e=>w.values(e),D=e=>y(T(e)),j=e=>(e=>!a(e)&&d(C(e),(e=>e==w.prototype||a(C(e))),(()=>!0)))(e)&&0==D(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),F=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>a(l)?(P(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l,t)=>(b(e,n)||B(e,n,l()),_(e,n)),J=(e,n,l,t=B)=>(x(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="_",W="_id",Y=e=>`"${e.replace(/"/g,'""')}"`,k="SELECT",G=e=>new Set(v(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Z=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&X(e,l,n[l]);if(K)for(var l of K(n))Q.call(n,l)&&X(e,l,n[l]);return e},ee=(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 ne="TABLE",le="ALTER "+ne,te="DELETE FROM",re=k+"*FROM",oe="FROM pragma_table_",ie="WHERE",ue=(e,n,r,o)=>{const i=M();return[()=>ee(void 0,null,(function*(){return J(i,S(yield f(h(yield e("SELECT name "+oe+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+de(n)+")ORDER BY name",n),(n=>ee(void 0,[n],(function*({name:n}){return[n,S(h(yield e(k+" name,type "+oe+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(i,n,J(H(i,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(i,n)))})),(n,l)=>ee(void 0,null,(function*(){return((e,n)=>!a(_(_(i,e),n)))(n,l)?S(E(h(yield e(re+Y(n)),(e=>{return[e[l],(n=Z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!j(n)))):{}})),(n,r,u,d,c,v=!1)=>ee(void 0,null,(function*(){const s=G();x(null!=u?u:{},(e=>h(T(null!=e?e:{}),(e=>q(s,e)))));const y=g(s);if(!v&&c&&m(y)&&b(i,n))return yield e("DROP "+ne+Y(n)),void B(i,n);if(m(y)||b(i,n)){const t=_(i,n),o=G($(t));yield f([...h(y,(r=>ee(void 0,null,(function*(){P(o,r)||(yield e(le+Y(n)+"ADD"+Y(r)),B(t,r,l))})))),...!v&&d?h(g(o),(l=>ee(void 0,null,(function*(){l!=r&&(yield e(le+Y(n)+"DROP"+Y(l)),B(t,l))})))):[]])}else yield e("CREATE "+ne+Y(n)+"("+Y(r)+` PRIMARY KEY ON CONFLICT REPLACE${p(h(y,(e=>t+Y(e))))});`),B(i,n,M([[r,l],...h(y,(e=>[e,l]))]));if(v)a(u)?yield e(te+Y(n)+ie+" 1"):yield f(x(u,((l,t)=>ee(void 0,null,(function*(){a(l)?yield e(te+Y(n)+ie+Y(r)+"=?",[t]):m(y)||(yield ae(e,n,r,T(l),[t,...I(l)],o))})))));else if(m(y))b(i,n)&&(yield e(te+Y(n)+ie+" 1"));else{const l=E($(_(i,n)),(e=>e!=r)),t=[],a=[];x(null!=u?u:{},((e,n)=>{O(t,n,...h(l,(n=>null==e?void 0:e[n]))),O(a,n)})),yield ae(e,n,r,l,t,o),yield e(te+Y(n)+ie+Y(r)+"NOT IN("+de(a)+")",a)}})),n=>ee(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==r||r(e)}return yield e("END"),l}))]},ae=(e,n,r,i,u,a=!0)=>ee(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+Y(n)+"("+Y(r)+p(h(i,(e=>t+Y(e))))+")VALUES"+s(o(`,(?${o(",?",y(i))})`,y(u)/(y(i)+1)),1)+(a?"ON CONFLICT("+Y(r)+")DO UPDATE SET"+p(h(i,(e=>Y(e)+"=excluded."+Y(e))),t):l),h(u,(e=>null!=e?e:null)))})),de=e=>p(h(e,(()=>"?")),t);var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,n,l)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,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 he=M(),me=M(),Ee=(e,n,l,t,r,o,i,u={},c=[])=>{let s,y,f,p=0;H(he,c,(()=>0)),H(me,c,(()=>[]));const[h,m,E,b,g]=((e=1,n)=>e>1&&"merge"in n?[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!j(e)||!j(n),n.setDefaultContent]:2!=e?[0,n.getContent,n.getTransactionChanges,([e,n])=>!j(e)||!j(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)},w=e=>pe(void 0,null,(function*(){return 2!=p&&(p=1,yield S((()=>pe(void 0,null,(function*(){try{P(yield n())}catch(n){null==o||o(n),e&&g(e)}p=0}))))),R})),C=()=>(y&&(r(y),y=void 0),R),A=e=>pe(void 0,null,(function*(){return 1!=p&&(p=2,yield S((()=>pe(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==o||o(e)}p=0}))))),R})),T=()=>(d(f,e.delListener),f=void 0,R),S=(...e)=>pe(void 0,null,(function*(){return O(_(me,c),...e),yield pe(void 0,null,(function*(){if(!_(he,c)){for(B(he,c,1);!a((e=_(me,c),s=e.shift()));)try{yield s()}catch(e){null==o||o(e)}B(he,c,0)}var e})),R})),R=((e,n)=>{for(var l in n||(n={}))se.call(n,l)&&fe(e,l,n[l]);if(ve)for(var l of ve(n))ye.call(n,l)&&fe(e,l,n[l]);return e})({load:w,startAutoLoad:e=>pe(void 0,null,(function*(){return yield C().load(e),y=t(((e,n)=>pe(void 0,null,(function*(){n||e?2!=p&&(p=1,P(null!=n?n:e),p=0):yield w()})))),R})),stopAutoLoad:C,isAutoLoading:()=>!a(y),save:A,startAutoSave:()=>pe(void 0,null,(function*(){return yield T().save(),f=e.addDidFinishTransactionListener((()=>{const e=E();b(e)&&A(e)})),R})),stopAutoSave:T,isAutoSaving:()=>!a(f),schedule:S,getStore:()=>e,destroy:()=>C().stopAutoSave(),getStats:()=>({})},u);return N(R)};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 be=(e,n,l,t,r,o,[i,u,a],d,c,v,s)=>{const[y,f,p,h]=ue(n,d,r,s);return Ee(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,{[v]:()=>c},c)};var ge=(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 Pe=(e,n,l,t,r,o,[i,u,[d,c,v]],s,y,p,h)=>{const[m,O,b,g]=ue(n,s,r,h),P=(e,n)=>ge(void 0,null,(function*(){return yield f(F(u,((l,t)=>ge(void 0,[l,t],(function*([l,t,r,o],i){n&&!L(e,i)||(yield b(l,t,e[i],r,o,n))})))))})),w=(e,n)=>ge(void 0,null,(function*(){return c?yield b(v,W,{[U]:e},!0,!0,n):null}));return Ee(e,(()=>ge(void 0,null,(function*(){return yield g((()=>ge(void 0,null,(function*(){yield m();const e=yield ge(void 0,null,(function*(){return S(E(yield f(F(i,((e,n)=>ge(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!j(e[1]))))})),n=yield ge(void 0,null,(function*(){return d?(yield O(v,W))[U]:{}}));return j(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ge(void 0,null,(function*(){return yield g((()=>ge(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield P(n),yield w(l)}else yield P(n[0],!0),yield w(n[1],!0)}))))}))),l,t,r,o,{[p]:()=>y},y)},we="ColumnName",Ce="store",Ae="json",Te=Ce+"TableName",Ne=Ce+"Id"+we,Se=Ce+we,Re="autoLoadIntervalSeconds",Le="rowId"+we,xe="tableId",Ie="tableName",De={mode:Ae,[Re]:1},je={load:0,save:0,[Ie]:n+"_values"},Me=(e,n,l,t,r)=>{const o=M();return x(e,((e,i)=>{const u=s(I(R(n,c(e)?{[l]:e}:e)),0,D(n));a(u[0])||t(i,u[0])||(r(i,u[0]),B(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 _e="pragma_",Fe="data_version",Be="schema_version";exports.createCrSqliteWasmPersister=(e,l,t,r,o)=>((e,l,t,r,o,i,a,d,v,y="getDb",f)=>{let p,h,m;const[E,O,P,w]=(e=>{var l,t,r;const o=(e=>R(De,c(e)?{[Te]:e}:null!=e?e:{}))(e),i=o[Re];if(o.mode==Ae){const e=null!=(l=o[Te])?l:n;return[1,i,[e,null!=(t=o[Ne])?t:W,null!=(r=o[Se])?r:Ce],G(e)]}const{tables:{load:u={},save:a={}}={},values:d={}}=o,v=s(I(R(je,d)),0,D(je)),y=v[2],f=G(y),p=G(y);return[0,i,[Me(u,{[xe]:null,[Le]:W},xe,(e=>b(p,e)),(e=>q(f,e))),Me(a,{[Ie]:null,[Le]:W,deleteEmptyColumns:0,deleteEmptyTable:0},Ie,((e,n)=>b(p,n)),((e,n)=>q(f,n))),v],f]})(l);return(E?be:Pe)(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 ${Fe} d,${Be} s,TOTAL_CHANGES() c FROM ${_e}${Fe} JOIN ${_e}${Be}`);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=O,n(),setInterval(n,1e3*l)),r((n=>w.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),p=h=m=null,o(n)}),a,d,P,g(w),v,y,f)})(e,t,((e,...n)=>{return t=[e,...n],r=function*(e,n=[]){return yield l.execO(e,n)},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=>l.onUpdate(((n,l,t)=>e(t)))),(e=>e()),r,o,1,l);