tinybase 4.8.7 → 4.8.8

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