tinybase 4.6.9 → 4.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  2. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  4. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  6. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  10. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  12. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  13. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  16. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  25. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +36 -19
  26. package/lib/debug/persisters/persister-electric-sql.js +36 -19
  27. package/lib/debug/persisters/persister-expo-sqlite-next.js +36 -19
  28. package/lib/debug/persisters/persister-expo-sqlite.js +36 -19
  29. package/lib/debug/persisters/persister-sqlite-wasm.js +36 -19
  30. package/lib/debug/persisters/persister-sqlite3.js +36 -19
  31. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  32. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  33. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  34. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  35. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  36. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  37. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  38. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  39. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  40. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  41. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  42. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  43. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  44. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  45. package/lib/persisters/persister-electric-sql.js +1 -1
  46. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  47. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  48. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  49. package/lib/persisters/persister-expo-sqlite.js +1 -1
  50. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  51. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  52. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  53. package/lib/persisters/persister-sqlite3.js +1 -1
  54. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  55. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  56. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  57. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  58. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  59. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  60. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  61. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  62. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  63. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  64. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  65. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  66. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  67. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  68. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  69. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  70. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  71. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  72. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  73. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  74. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  75. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  76. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  77. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  78. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  79. package/package.json +16 -16
  80. package/readme.md +1 -1
@@ -1 +1 @@
1
- "use strict";var e=require("expo-sqlite/next");const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=e=>n(e)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),A=(e,n)=>e.map(n),O=e=>0==v(e),T=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),P=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),x=R.keys,S=R.freeze,g=(e=[])=>R.fromEntries(e),C=(...e)=>R.assign({},...e),D=(e,n)=>A(R.entries(e),(([e,t])=>n(t,e))),I=e=>R.values(e),F=e=>v(x(e)),M=e=>(e=>!a(e)&&d(w(e),(e=>e==R.prototype||a(w(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return A([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(N(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(P(e,n)||H(e,n,t()),j(e,n)),q=(e,n,t,l=H)=>(D(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&K(e,t,n[t]);if(J)for(var t of J(n))z.call(n,t)&&K(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const X=h+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return q(o,g(yield y(A(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,g(A(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(o,n,q(W(o,n,$),t,((e,n,t)=>{t!=j(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(j(j(o,e),n)))(n,t)?g(T(A(yield e(X+E(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,t,r,i,u,d=!1)=>Q(void 0,null,(function*(){const c=Y();D(null!=r?r:{},(e=>A(x(null!=e?e:{}),(e=>k(c,e)))));const s=b(c);if(!d&&u&&O(s)&&P(o,n))return yield e("DROP TABLE"+E(n)),void H(o,n);if(O(s)||P(o,n)){const l=j(o,n),r=Y(_(l));yield y([...A(s,(t=>Q(void 0,null,(function*(){N(r,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),H(l,t,""))})))),...!d&&i?A(b(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${m(A(s,(e=>l+E(e))))});`),H(o,n,$([[t,""],...A(s,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(D(r,((l,o)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+E(n)+ee+E(t)+"=?",[o]):O(s)||(yield te(e,n,t,x(l),[o,...I(l)]))})))));else if(O(s))P(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const l=T(_(j(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{L(i,n,...A(l,(n=>null==e?void 0:e[n]))),L(u,n)})),yield te(e,n,t,l,i),yield e("DELETE FROM"+E(n)+ee+E(t)+"NOT IN("+le(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},te=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(t)+m(A(o,(e=>l+E(e))))+")VALUES"+s(r(`,(?${r(",?",v(o))})`,v(i)/(v(o)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+m(A(o,(e=>E(e)+"=excluded."+E(e))),l),i)})),le=e=>m(A(e,(()=>"?")),l),oe=JSON.parse;var re=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ie=$(),ue=$(),ae=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const E=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(t,l)=>re(void 0,null,(function*(){return yield E((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield E((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>re(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>re(void 0,null,(function*(){return yield h.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();M(t)&&M(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,h),schedule:(...e)=>re(void 0,null,(function*(){return L(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!a((e=j(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),S(h)};var de=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ce="store",se=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,t;yield d(),yield s(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var ve=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ye=(e,n,t,l,o,[r,i,[u,d,c]],s,v,E)=>{const[h,m,A,O]=ne(n,s,o),L=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield A(t,l,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return d?yield A(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){yield h();const e=yield ve(void 0,null,(function*(){return g(T(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){if(yield h(),a(n)){const[n,t]=e();yield L(n),yield P(t)}else{const[e,t]=n();yield L(e,!0),yield P(t,!0)}}))))}))),t,l,o,[E,v],v)},fe="json",pe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",me="tableName",Ae={mode:fe,[pe]:1},Oe={load:0,save:0,[me]:t+"_values"},Te=(e,n,t,l)=>{const o=$();return D(e,((e,r)=>{const i=s(I(C(n,c(e)?{[t]:e}:e)),0,F(n));a(i[0])||l(r,i[0])||H(o,r,i)})),o};var Le=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Pe="pragma ",be="data_version",Ne="schema_version",Re=(e,n,l,o,r,i,a,d,v="getDb")=>{let y,f,E;const[m,A,O,T]=(e=>{const n=(e=>C(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==fe){const{storeTableName:e=t}=n;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(I(C(Oe,i)),0,F(Oe)),a=u[2],d=Y(a);return[0,l,[Te(o,{[he]:null,[Ee]:p},he,(e=>k(d,e)&&e==a)),Te(r,{[me]:null,[Ee]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(d,n)&&n==a)),u],d]})(n);return(m?se:ye)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield l(Pe+be))[0][be],t=(yield l(Pe+Ne))[0][Ne],o=(yield l(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=f?f:f=t)&&o==(null!=E?E:E=o)||(e(),y=n,f=t)}catch(e){}})),t=A,n(),setInterval(n,1e3*t)),o((n=>T.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),y=f=null,r(n)}),a,O,b(T),d,v)};exports.createExpoSqliteNextPersister=(n,t,l,o,r)=>Re(n,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return yield t.getAllAsync(e,n)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(n=>e.addDatabaseChangeListener((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,t);
1
+ "use strict";var e=require("expo-sqlite/next");const n=e=>typeof e,t="tinybase",l="",o=",",r=n(l),i=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,c=(e,n,t)=>d(e)?null==t?void 0:t():n(e),s=e=>n(e)==r,v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},E="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",A=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),T=e=>0==y(e),L=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),R=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),w=Object,x=e=>w.getPrototypeOf(e),C=w.keys,S=w.freeze,g=(e=[])=>w.fromEntries(e),D=(...e)=>w.assign({},...e),I=(e,n)=>O(w.entries(e),(([e,t])=>n(t,e))),F=e=>w.values(e),M=e=>y(C(e)),$=e=>(e=>!d(e)&&c(x(e),(e=>e==w.prototype||d(x(e))),(()=>!0)))(e)&&0==M(e),_=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),H=(e,n)=>{var t;return O([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},W=(e,n,t)=>d(t)?(N(e,n),e):null==e?void 0:e.set(n,t),q=(e,n,t)=>(R(e,n)||W(e,n,t()),B(e,n)),Y=(e,n,t,l=W)=>(I(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!d(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),k=e=>new Set(Array.isArray(e)||d(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Q=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&V(e,t,n[t]);if(U)for(var t of U(n))K.call(n,t)&&V(e,t,n[t]);return e},X=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Z=m+"*FROM",ee="FROM pragma_table_",ne="WHERE",te=(e,n,t,r)=>{const i=_();return[()=>X(void 0,null,(function*(){return Y(i,g(yield f(O(yield e("SELECT name "+ee+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,g(O(yield e(m+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>W(i,n,Y(q(i,n,_),t,((e,n,t)=>{t!=B(e,n)&&W(e,n,t)}),((e,n)=>W(e,n))))),((e,n)=>W(i,n)))})),(n,t)=>X(void 0,null,(function*(){return((e,n)=>!d(B(B(i,e),n)))(n,t)?g(L(O(yield e(Z+h(n)),(e=>{return[e[t],(n=Q({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!d(e)&&!$(n)))):{}})),(n,t,u,a,c,s=!1)=>X(void 0,null,(function*(){const v=k();I(null!=u?u:{},(e=>O(C(null!=e?e:{}),(e=>G(v,e)))));const y=b(v);if(!s&&c&&T(y)&&R(i,n))return yield e("DROP TABLE"+h(n)),void W(i,n);if(T(y)||R(i,n)){const o=B(i,n),r=k(j(o));yield f([...O(y,(t=>X(void 0,null,(function*(){N(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),W(o,t,l))})))),...!s&&a?O(b(r),(l=>X(void 0,null,(function*(){l!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),W(o,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${A(O(y,(e=>o+h(e))))});`),W(i,n,_([[t,l],...O(y,(e=>[e,l]))]));if(s)d(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield f(I(u,((l,o)=>X(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+h(n)+ne+h(t)+"=?",[o]):T(y)||(yield le(e,n,t,C(l),[o,...F(l)],r))})))));else if(T(y))R(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=L(j(B(i,n)),(e=>e!=t)),o=[],r=[];I(null!=u?u:{},((e,n)=>{P(o,n,...O(l,(n=>null==e?void 0:e[n]))),P(r,n)})),yield le(e,n,t,l,o),yield e("DELETE FROM"+h(n)+ne+h(t)+"NOT IN("+oe(r)+")",r)}})),n=>X(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,r,u,a=!0)=>X(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(t)+A(O(r,(e=>o+h(e))))+")VALUES"+v(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(a?"ON CONFLICT("+h(t)+")DO UPDATE SET"+A(O(r,(e=>h(e)+"=excluded."+h(e))),o):l),u)})),oe=e=>A(O(e,(()=>"?")),o),re=JSON.parse;var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue=_(),ae=_(),de=(e,n,t,l,o,r,[i,u]=[],a=[])=>{let s,v,y,f=0,E=0;q(ue,a,(()=>0)),q(ae,a,(()=>[]));const p=e=>ie(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>ie(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(t,l)=>ie(void 0,null,(function*(){return yield p((()=>ie(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ie(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),E=1,y=l(((t,l)=>ie(void 0,null,(function*(){if(l){const n=l();yield p((()=>ie(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ie(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),h),save:n=>ie(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>ie(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>ie(void 0,null,(function*(){return yield h.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();$(t)&&$(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(c(s,e.delListener),s=void 0,h),schedule:(...e)=>ie(void 0,null,(function*(){return P(B(ae,a),...e),yield ie(void 0,null,(function*(){if(!B(ue,a)){for(W(ue,a,1);!d((e=B(ae,a),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}W(ue,a,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),S(h)};var ce=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const se="store",ve=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return de(e,(()=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var e,n;return yield d(),re(null!=(n=null==(e=(yield c(r,p))[E])?void 0:e[se])?n:"null")}))))}))),(e=>ce(void 0,null,(function*(){return yield v((()=>ce(void 0,null,(function*(){var n,t;yield d(),yield s(r,p,{[E]:{[se]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var ye=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const fe=(e,n,t,l,o,[r,i,[u,a,c]],s,v,y,h)=>{const[m,A,O,T]=te(n,s,o,h),P=(e,n)=>ye(void 0,null,(function*(){return yield f(H(i,((t,l)=>ye(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield O(t,l,u,o,r,n))})))))})),R=(e,n)=>ye(void 0,null,(function*(){return a?yield O(c,p,{[E]:e},!0,!0,n):null}));return de(e,(()=>ye(void 0,null,(function*(){return yield T((()=>ye(void 0,null,(function*(){yield m();const e=yield ye(void 0,null,(function*(){return g(L(yield f(H(r,((e,n)=>ye(void 0,[e,n],(function*([e,n],t){return[e,yield A(t,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield A(c,p))[E]:{}}));return $(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield T((()=>ye(void 0,null,(function*(){if(yield m(),d(n)){const[n,t]=e();yield P(n),yield R(t)}else{const[e,t]=n();yield P(e,!0),yield R(t,!0)}}))))}))),t,l,o,[y,v],v)},Ee="json",pe="autoLoadIntervalSeconds",he="rowIdColumnName",me="tableId",Ae="tableName",Oe={mode:Ee,[pe]:1},Te={load:0,save:0,[Ae]:t+"_values"},Le=(e,n,t,l)=>{const o=_();return I(e,((e,r)=>{const i=v(F(D(n,s(e)?{[t]:e}:e)),0,M(n));d(i[0])||l(r,i[0])||W(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Re="pragma ",be="data_version",Ne="schema_version",we=(e,n,l,o,r,i,u,d,c="getDb",y)=>{let f,E,h;const[A,O,T,L]=(e=>{const n=(e=>D(Oe,s(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[pe];if(n.mode==Ee){const{storeTableName:e=t}=n;return[1,l,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(F(D(Te,i)),0,M(Te)),a=u[2],d=k(a);return[0,l,[Le(o,{[me]:null,[he]:p},me,(e=>G(d,e)&&e==a)),Le(r,{[Ae]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>G(d,n)&&n==a)),u],d]})(n);return(A?ve:fe)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(Re+be))[0][be],t=(yield l(Re+Ne))[0][Ne],o=(yield l(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&t==(null!=E?E:E=t)&&o==(null!=h?h:h=o)||(e(),f=n,E=t)}catch(e){}})),t=O,n(),setInterval(n,1e3*t)),o((n=>L.has(n)?e():0))];var n,t}),(([e,n])=>{a(e),f=E=null,r(n)}),u,T,b(L),d,c,y)};exports.createExpoSqliteNextPersister=(n,t,l,o,r)=>we(n,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return yield t.getAllAsync(e,n)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(n=>e.addDatabaseChangeListener((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,t);
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.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},y="_",f="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),A=e=>0==s(e),O=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),R=w.keys,x=w.freeze,S=(e=[])=>w.fromEntries(e),g=(...e)=>w.assign({},...e),C=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),D=e=>w.values(e),I=e=>s(R(e)),F=e=>(e=>!u(e)&&a(N(e),(e=>e==w.prototype||u(N(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(P(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(C(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)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))J.call(n,l)&&z(e,l,n[l]);if(G)for(var l of G(n))U.call(n,l)&&z(e,l,n[l]);return e},V=(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 Q=h+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,S(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,S(m(yield e(h+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?S(O(m(yield e(Q+E(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();C(null!=r?r:{},(e=>m(R(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&a&&A(s)&&P(o,n))return yield e("DROP TABLE"+E(n)),void B(o,n);if(A(s)||P(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),B(l,t,""))})))),...!d&&i?m(L(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+E(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield v(C(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+E(n)+Z+E(t)+"=?",[o]):A(s)||(yield ne(e,n,t,R(l),[o,...D(l)]))})))));else if(A(s))P(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const l=O($(_(o,n)),(e=>e!=t)),i=[],u=[];C(null!=r?r:{},((e,n)=>{T(i,n,...m(l,(n=>null==e?void 0:e[n]))),T(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+E(n)+Z+E(t)+"NOT IN("+le(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(t)+p(m(r,(e=>l+E(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+p(m(r,(e=>E(e)+"=excluded."+E(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(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 re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,E=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const h=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield h((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),E=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>oe(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)}}))))})))),p})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return T(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),x(p)};var ae=(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 de="store",ce=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,l;yield d(),yield s(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var se=(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 ve=(e,n,l,t,o,[r,i,[a,d,c]],s,E,h)=>{const[p,m,A,T]=ee(n,s,o),P=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield A(l,t,u,o,r,n))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield A(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){yield p();const e=yield se(void 0,null,(function*(){return S(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){if(yield p(),u(n)){const[n,l]=e();yield P(n),yield L(l)}else{const[e,l]=n();yield P(e,!0),yield L(l,!0)}}))))}))),l,t,o,[h,E],E)},ye="json",fe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",pe="tableName",me={mode:ye,[fe]:1},Ae={load:0,save:0,[pe]:n+"_values"},Oe=(e,n,l,t)=>{const o=M();return C(e,((e,r)=>{const i=c(D(g(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(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 Pe="pragma ",Le="data_version",be="schema_version",we=(e,l,t,o,r,u,a,s,v="getDb")=>{let y,E,p;const[m,A,O,T]=(e=>{const l=(e=>g(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(D(g(Ae,i)),0,I(Ae)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[he]:null,[Ee]:f},he,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[Ee]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(m?ce:ve)(e,u?(e,n)=>Te(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const n=(yield t(Pe+Le))[0][Le],l=(yield t(Pe+be))[0][be],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=E?E:E=l)&&o==(null!=p?p:p=o)||(e(),y=n,E=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=E=null,r(n)}),a,O,L(T),s,v)};exports.createExpoSqlitePersister=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},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.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),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,a=e=>null==e,d=(e,n,l)=>a(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="_id",p=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),A=e=>0==v(e),T=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),x=w.keys,C=w.freeze,S=(e=[])=>w.fromEntries(e),g=(...e)=>w.assign({},...e),D=(e,n)=>O(w.entries(e),(([e,l])=>n(l,e))),I=e=>w.values(e),F=e=>v(x(e)),M=e=>(e=>!a(e)&&d(N(e),(e=>e==w.prototype||a(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>a(l)?(b(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(L(e,n)||H(e,n,l()),j(e,n)),Y=(e,n,l,t=H)=>(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),k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=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={}))U.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=h+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,o,r)=>{const i=$();return[()=>Q(void 0,null,(function*(){return Y(i,S(yield y(O(yield e("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(O(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(i,n,Y(W(i,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(j(j(i,e),n)))(n,l)?S(T(O(yield e(X+p(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=k();D(null!=u?u:{},(e=>O(x(null!=e?e:{}),(e=>q(v,e)))));const f=R(v);if(!s&&c&&A(f)&&L(i,n))return yield e("DROP TABLE"+p(n)),void H(i,n);if(A(f)||L(i,n)){const t=j(i,n),r=k(_(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){b(r,o)||(yield e(`ALTER TABLE${p(n)}ADD${p(o)}`),H(t,o,l))})))),...!s&&d?O(R(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${p(n)}DROP${p(l)}`),H(t,l))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+p(e))))});`),H(i,n,$([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield y(D(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+p(n)+ee+p(o)+"=?",[t]):A(f)||(yield le(e,n,o,x(l),[t,...I(l)],r))})))));else if(A(f))L(i,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=T(_(j(i,n)),(e=>e!=o)),t=[],r=[];D(null!=u?u:{},((e,n)=>{P(t,n,...O(l,(n=>null==e?void 0:e[n]))),P(r,n)})),yield le(e,n,o,l,t),yield e("DELETE FROM"+p(n)+ee+p(o)+"NOT IN("+te(r)+")",r)}})),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}))]},le=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+p(n)+"("+p(o)+m(O(i,(e=>t+p(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+p(o)+")DO UPDATE SET"+m(O(i,(e=>p(e)+"=excluded."+p(e))),t):l),u)})),te=e=>m(O(e,(()=>"?")),t),oe=JSON.parse;var re=(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 ie=$(),ue=$(),ae=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,E=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const p=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>re(void 0,null,(function*(){return yield p((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),E=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield p((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>re(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)}}))))})))),h})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),h),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>re(void 0,null,(function*(){return yield h.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,h),schedule:(...e)=>re(void 0,null,(function*(){return P(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!a((e=j(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),C(h)};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 ce="store",se=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,E))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield d(),yield s(r,E,{[f]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,p,h)=>{const[m,O,A,P]=ne(n,s,o,h),L=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield A(l,t,u,o,r,n))})))))})),R=(e,n)=>ve(void 0,null,(function*(){return d?yield A(c,E,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield P((()=>ve(void 0,null,(function*(){yield m();const e=yield ve(void 0,null,(function*(){return S(T(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield O(c,E))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield P((()=>ve(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield L(n),yield R(l)}else{const[e,l]=n();yield L(e,!0),yield R(l,!0)}}))))}))),l,t,o,[p,v],v)},fe="json",Ee="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",me="tableName",Oe={mode:fe,[Ee]:1},Ae={load:0,save:0,[me]:n+"_values"},Te=(e,n,l,t)=>{const o=$();return D(e,((e,r)=>{const i=s(I(g(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(r,i[0])||H(o,r,i)})),o};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 Le="pragma ",Re="data_version",be="schema_version",we=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,p,m;const[O,A,T,P]=(e=>{const l=(e=>g(Oe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==fe){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(I(g(Ae,i)),0,F(Ae)),a=u[2],d=k(a);return[0,t,[Te(o,{[he]:null,[pe]:E},he,(e=>q(d,e)&&e==a)),Te(r,{[me]:null,[pe]:E,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>q(d,n)&&n==a)),u],d]})(l);return(O?se:ye)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(Le+Re))[0][Re],l=(yield t(Le+be))[0][be],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=m?m:m=o)||(e(),f=n,p=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,T,R(P),d,v,y)};exports.createExpoSqlitePersister=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},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.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=n=>e(n)==l,c=(e,n,t)=>e.slice(n,t),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",p=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",E=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==s(e),b=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),L=Object,R=e=>L.getPrototypeOf(e),N=L.keys,S=L.freeze,g=(e=[])=>L.fromEntries(e),x=(...e)=>L.assign({},...e),C=(e,n)=>m(L.entries(e),(([e,t])=>n(t,e))),D=e=>L.values(e),I=e=>s(N(e)),j=e=>(e=>!u(e)&&a(R(e),(e=>e==L.prototype||u(R(e))),(()=>!0)))(e)&&0==I(e),_=e=>new Map(e),M=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return m([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},B=(e,n,t)=>u(t)?(w(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(T(e,n)||B(e,n,t()),F(e,n)),W=(e,n,t,l=B)=>(C(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),k=e=>new Set(Array.isArray(e)||u(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var Y=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?Y(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(G)for(var t of G(n))U.call(n,t)&&V(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Q=h+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,l)=>{const o=_();return[()=>K(void 0,null,(function*(){return W(o,g(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>K(void 0,[n],(function*({name:n}){return[n,g(m(yield e(h+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>B(o,n,W(H(o,n,_),t,((e,n,t)=>{t!=F(e,n)&&B(e,n,t)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!u(F(F(o,e),n)))(n,t)?g(b(m(yield e(Q+p(n)),(e=>{return[e[t],(n=z({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!u(e)&&!j(n)))):{}})),(n,l,r,i,a,d=!1)=>K(void 0,null,(function*(){const c=k();C(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>q(c,e)))));const s=A(c);if(!d&&a&&O(s)&&T(o,n))return yield e("DROP TABLE"+p(n)),void B(o,n);if(O(s)||T(o,n)){const t=F(o,n),r=k(M(t));yield v([...m(s,(l=>K(void 0,null,(function*(){w(r,l)||(yield e(`ALTER TABLE${p(n)}ADD${p(l)}`),B(t,l,""))})))),...!d&&i?m(A(r),(o=>K(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${p(n)}DROP${p(o)}`),B(t,o))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(l)} PRIMARY KEY ON CONFLICT REPLACE${E(m(s,(e=>t+p(e))))});`),B(o,n,_([[l,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield v(C(r,((t,o)=>K(void 0,null,(function*(){u(t)?yield e("DELETE FROM"+p(n)+Z+p(l)+"=?",[o]):O(s)||(yield ne(e,n,l,N(t),[o,...D(t)]))})))));else if(O(s))T(o,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const t=b(M(F(o,n)),(e=>e!=l)),i=[],u=[];C(null!=r?r:{},((e,n)=>{P(i,n,...m(t,(n=>null==e?void 0:e[n]))),P(u,n)})),yield ne(e,n,l,t,i),yield e("DELETE FROM"+p(n)+Z+p(l)+"NOT IN("+te(u)+")",u)}})),n=>K(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},ne=(e,n,l,r,i)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+p(n)+"("+p(l)+E(m(r,(e=>t+p(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+p(l)+")DO UPDATE SET"+E(m(r,(e=>p(e)+"=excluded."+p(e))),t),i)})),te=e=>E(m(e,(()=>"?")),t),le=JSON.parse;var oe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const re=_(),ie=_(),ue=(e,n,t,l,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,p=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const h=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>oe(void 0,null,(function*(){return yield h((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>oe(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>oe(void 0,null,(function*(){if(l){const n=l();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>oe(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>oe(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>oe(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();j(t)&&j(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,E),schedule:(...e)=>oe(void 0,null,(function*(){return P(F(ie,c),...e),yield oe(void 0,null,(function*(){if(!F(re,c)){for(B(re,c,1);!u((e=F(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>d),S(E)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const de="store",ce=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield d(),le(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,t;yield d(),yield s(r,f,{[y]:{[de]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var se=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ve=(e,n,t,l,o,[r,i,[a,d,c]],s,p,h)=>{const[E,m,O,P]=ee(n,s,o),T=(e,n)=>se(void 0,null,(function*(){return yield v($(i,((t,l)=>se(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield O(t,l,u,o,r,n))})))))})),A=(e,n)=>se(void 0,null,(function*(){return d?yield O(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield P((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return g(b(yield v($(r,((e,n)=>se(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!j(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return j(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield P((()=>se(void 0,null,(function*(){if(yield E(),u(n)){const[n,t]=e();yield T(n),yield A(t)}else{const[e,t]=n();yield T(e,!0),yield A(t,!0)}}))))}))),t,l,o,[h,p],p)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",Ee="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[Ee]:n+"_values"},be=(e,n,t,l)=>{const o=_();return C(e,((e,r)=>{const i=c(D(x(n,d(e)?{[t]:e}:e)),0,I(n));u(i[0])||l(r,i[0])||B(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Te="pragma ",Ae="data_version",we="schema_version",Le=(e,t,l,o,r,u,a,s,v="getDb")=>{let y,p,E;const[m,O,b,P]=(e=>{const t=(e=>x(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[fe];if(t.mode==ye){const{storeTableName:e=n}=t;return[1,l,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(D(x(Oe,i)),0,I(Oe)),a=u[2],s=k(a);return[0,l,[be(o,{[he]:null,[pe]:f},he,(e=>q(s,e)&&e==a)),be(r,{[Ee]:null,[pe]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>q(s,n)&&n==a)),u],s]})(t);return(m?ce:ve)(e,u?(e,n)=>Pe(void 0,null,(function*(){return u(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(Te+Ae))[0][Ae],t=(yield l(Te+we))[0][we],o=(yield l(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=p?p:p=t)&&o==(null!=E?E:E=o)||(e(),y=n,p=t)}catch(e){}})),t=O,n(),setInterval(n,1e3*t)),o((n=>P.has(n)?e():0))];var n,t}),(([e,n])=>{i(e),y=p=null,r(n)}),a,b,A(P),s,v)};var Re=Object.defineProperty,Ne=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,xe=(e,n,t)=>n in e?Re(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;exports.createSqliteWasmPersister=(e,n,t,l,o,r)=>Le(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))Se.call(n,t)&&xe(e,t,n[t]);if(Ne)for(var t of Ne(n))ge.call(n,t)&&xe(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o,r,t);
1
+ "use strict";const e=e=>typeof e,n="tinybase",t="",l=",",o=e(t),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),c=n=>e(n)==o,s=(e,n,t)=>e.slice(n,t),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),b=e=>0==v(e),P=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=(e,n)=>null==e?void 0:e.delete(n),R=Object,N=e=>R.getPrototypeOf(e),S=R.keys,g=R.freeze,x=(e=[])=>R.fromEntries(e),C=(...e)=>R.assign({},...e),D=(e,n)=>O(R.entries(e),(([e,t])=>n(t,e))),I=e=>R.values(e),j=e=>v(S(e)),_=e=>(e=>!a(e)&&d(N(e),(e=>e==R.prototype||a(N(e))),(()=>!0)))(e)&&0==j(e),M=e=>new Map(e),F=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var t;return O([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},H=(e,n,t)=>a(t)?(L(e,n),e):null==e?void 0:e.set(n,t),W=(e,n,t)=>(T(e,n)||H(e,n,t()),$(e,n)),k=(e,n,t,l=H)=>(D(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),q=e=>new Set(Array.isArray(e)||a(e)?e:[e]),Y=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,z=(e,n,t)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,K=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&z(e,t,n[t]);if(J)for(var t of J(n))V.call(n,t)&&z(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const X=h+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,o,r)=>{const i=M();return[()=>Q(void 0,null,(function*(){return k(i,x(yield y(O(yield e("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+le(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,x(O(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>H(i,n,k(W(i,n,M),t,((e,n,t)=>{t!=$(e,n)&&H(e,n,t)}),((e,n)=>H(e,n))))),((e,n)=>H(i,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a($($(i,e),n)))(n,t)?x(P(O(yield e(X+E(n)),(e=>{return[e[t],(n=K({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=q();D(null!=u?u:{},(e=>O(S(null!=e?e:{}),(e=>Y(v,e)))));const f=w(v);if(!s&&c&&b(f)&&T(i,n))return yield e("DROP TABLE"+E(n)),void H(i,n);if(b(f)||T(i,n)){const l=$(i,n),r=q(F(l));yield y([...O(f,(o=>Q(void 0,null,(function*(){L(r,o)||(yield e(`ALTER TABLE${E(n)}ADD${E(o)}`),H(l,o,t))})))),...!s&&d?O(w(r),(t=>Q(void 0,null,(function*(){t!=o&&(yield e(`ALTER TABLE${E(n)}DROP${E(t)}`),H(l,t))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>l+E(e))))});`),H(i,n,M([[o,t],...O(f,(e=>[e,t]))]));if(s)a(u)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(D(u,((t,l)=>Q(void 0,null,(function*(){a(t)?yield e("DELETE FROM"+E(n)+ee+E(o)+"=?",[l]):b(f)||(yield te(e,n,o,S(t),[l,...I(t)],r))})))));else if(b(f))T(i,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const t=P(F($(i,n)),(e=>e!=o)),l=[],r=[];D(null!=u?u:{},((e,n)=>{A(l,n,...O(t,(n=>null==e?void 0:e[n]))),A(r,n)})),yield te(e,n,o,t,l),yield e("DELETE FROM"+E(n)+ee+E(o)+"NOT IN("+le(r)+")",r)}})),n=>Q(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==o||o(e)}return yield e("END"),t}))]},te=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?t:"OR REPLACE ")+"INTO"+E(n)+"("+E(o)+m(O(i,(e=>l+E(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+E(o)+")DO UPDATE SET"+m(O(i,(e=>E(e)+"=excluded."+E(e))),l):t),u)})),le=e=>m(O(e,(()=>"?")),l),oe=JSON.parse;var re=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ie=M(),ue=M(),ae=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const E=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(t,l)=>re(void 0,null,(function*(){return yield E((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>re(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),p=1,y=l(((t,l)=>re(void 0,null,(function*(){if(l){const n=l();yield E((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>re(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>re(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>re(void 0,null,(function*(){return yield h.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();_(t)&&_(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,h),schedule:(...e)=>re(void 0,null,(function*(){return A($(ue,c),...e),yield re(void 0,null,(function*(){if(!$(ie,c)){for(H(ie,c,1);!a((e=$(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),g(h)};var de=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ce="store",se=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,t;yield d(),yield s(r,p,{[f]:{[ce]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var ve=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ye=(e,n,t,l,o,[r,i,[u,d,c]],s,v,E,h)=>{const[m,O,b,A]=ne(n,s,o,h),T=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((t,l)=>ve(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield b(t,l,u,o,r,n))})))))})),w=(e,n)=>ve(void 0,null,(function*(){return d?yield b(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){yield m();const e=yield ve(void 0,null,(function*(){return x(P(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],t){return[e,yield O(t,n)]}))))),(e=>!_(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){if(yield m(),a(n)){const[n,t]=e();yield T(n),yield w(t)}else{const[e,t]=n();yield T(e,!0),yield w(t,!0)}}))))}))),t,l,o,[E,v],v)},fe="json",pe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",me="tableName",Oe={mode:fe,[pe]:1},be={load:0,save:0,[me]:n+"_values"},Pe=(e,n,t,l)=>{const o=M();return D(e,((e,r)=>{const i=s(I(C(n,c(e)?{[t]:e}:e)),0,j(n));a(i[0])||l(r,i[0])||H(o,r,i)})),o};var Ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Te="pragma ",we="data_version",Le="schema_version",Re=(e,t,l,o,r,i,a,d,v="getDb",y)=>{let f,E,m;const[O,b,P,A]=(e=>{const t=(e=>C(Oe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[pe];if(t.mode==fe){const{storeTableName:e=n}=t;return[1,l,[e],q(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=s(I(C(be,i)),0,j(be)),a=u[2],d=q(a);return[0,l,[Pe(o,{[he]:null,[Ee]:p},he,(e=>Y(d,e)&&e==a)),Pe(r,{[me]:null,[Ee]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>Y(d,n)&&n==a)),u],d]})(t);return(O?se:ye)(e,i?(e,n)=>Ae(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield l(Te+we))[0][we],t=(yield l(Te+Le))[0][Le],o=(yield l(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&t==(null!=E?E:E=t)&&o==(null!=m?m:m=o)||(e(),f=n,E=t)}catch(e){}})),t=b,n(),setInterval(n,1e3*t)),o((n=>A.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),f=E=null,r(n)}),a,P,w(A),d,v,y)};var Ne=Object.defineProperty,Se=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable,Ce=(e,n,t)=>n in e?Ne(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;exports.createSqliteWasmPersister=(e,n,t,l,o,r)=>Re(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))ge.call(n,t)&&Ce(e,t,n[t]);if(Se)for(var t of Se(n))xe.call(n,t)&&Ce(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o,r,t);
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.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},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==s(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),R=Object,b=e=>R.getPrototypeOf(e),N=R.keys,S=R.freeze,g=(e=[])=>R.fromEntries(e),x=(...e)=>R.assign({},...e),C=(e,n)=>m(R.entries(e),(([e,l])=>n(l,e))),D=e=>R.values(e),I=e=>s(N(e)),F=e=>(e=>!u(e)&&a(b(e),(e=>e==R.prototype||u(b(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(w(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(P(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(C(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)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))q.call(n,l)&&z(e,l,n[l]);return e},V=(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 Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,g(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,g(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?g(T(m(yield e(Q+h(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();C(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&a&&O(s)&&P(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(O(s)||P(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(L(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield v(C(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):O(s)||(yield ne(e,n,t,N(l),[o,...D(l)]))})))));else if(O(s))P(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T($(_(o,n)),(e=>e!=t)),i=[],u=[];C(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(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 re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(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)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),S(p)};var ae=(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 de="store",ce=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,l;yield d(),yield s(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var se=(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 ve=(e,n,l,t,o,[r,i,[a,d,c]],s,h,E)=>{const[p,m,O,A]=ee(n,s,o),P=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(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))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield O(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){yield p();const e=yield se(void 0,null,(function*(){return g(T(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){if(yield p(),u(n)){const[n,l]=e();yield P(n),yield L(l)}else{const[e,l]=n();yield P(e,!0),yield L(l,!0)}}))))}))),l,t,o,[E,h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[pe]:n+"_values"},Te=(e,n,l,t)=>{const o=M();return C(e,((e,r)=>{const i=c(D(x(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Ae=(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 Pe="pragma ",Le="data_version",we="schema_version",Re=(e,l,t,o,r,u,a,s,v="getDb")=>{let y,h,p;const[m,O,T,A]=(e=>{const l=(e=>x(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(D(x(Oe,i)),0,I(Oe)),a=u[2],s=Y(a);return[0,t,[Te(o,{[Ee]:null,[he]:f},Ee,(e=>k(s,e)&&e==a)),Te(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(m?ce:ve)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(Pe+Le))[0][Le],l=(yield t(Pe+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),y=n,h=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=h=null,r(n)}),a,T,L(A),s,v)},be="change";exports.createSqlite3Persister=(e,n,l,t,o)=>Re(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield(t=(t,o)=>n.all(e,l,((e,n)=>e?o(e):t(n))),new r(t));var t},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=>{const l=(n,l,t)=>e(t);return n.on(be,l),l}),(e=>n.off(be,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,a=e=>null==e,d=(e,n,l)=>a(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="_id",h=e=>`"${e.replace(/"/g,'""')}"`,p="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),A=e=>0==v(e),T=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),b=Object,N=e=>b.getPrototypeOf(e),S=b.keys,C=b.freeze,g=(e=[])=>b.fromEntries(e),x=(...e)=>b.assign({},...e),D=(e,n)=>O(b.entries(e),(([e,l])=>n(l,e))),I=e=>b.values(e),F=e=>v(S(e)),M=e=>(e=>!a(e)&&d(N(e),(e=>e==b.prototype||a(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>a(l)?(w(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(L(e,n)||H(e,n,l()),j(e,n)),Y=(e,n,l,t=H)=>(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),k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,q=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={}))q.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,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=p+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,o,r)=>{const i=$();return[()=>Q(void 0,null,(function*(){return Y(i,g(yield y(O(yield e("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,g(O(yield e(p+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(i,n,Y(W(i,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(j(j(i,e),n)))(n,l)?g(T(O(yield e(X+h(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=k();D(null!=u?u:{},(e=>O(S(null!=e?e:{}),(e=>G(v,e)))));const f=R(v);if(!s&&c&&A(f)&&L(i,n))return yield e("DROP TABLE"+h(n)),void H(i,n);if(A(f)||L(i,n)){const t=j(i,n),r=k(_(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){w(r,o)||(yield e(`ALTER TABLE${h(n)}ADD${h(o)}`),H(t,o,l))})))),...!s&&d?O(R(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),H(t,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+h(e))))});`),H(i,n,$([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(D(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(o)+"=?",[t]):A(f)||(yield le(e,n,o,S(l),[t,...I(l)],r))})))));else if(A(f))L(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T(_(j(i,n)),(e=>e!=o)),t=[],r=[];D(null!=u?u:{},((e,n)=>{P(t,n,...O(l,(n=>null==e?void 0:e[n]))),P(r,n)})),yield le(e,n,o,l,t),yield e("DELETE FROM"+h(n)+ee+h(o)+"NOT IN("+te(r)+")",r)}})),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}))]},le=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+m(O(i,(e=>t+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+h(o)+")DO UPDATE SET"+m(O(i,(e=>h(e)+"=excluded."+h(e))),t):l),u)})),te=e=>m(O(e,(()=>"?")),t),oe=JSON.parse;var re=(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 ie=$(),ue=$(),ae=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,E=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),E=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(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)}}))))})))),p})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),p),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>re(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,p),schedule:(...e)=>re(void 0,null,(function*(){return P(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!a((e=j(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>u),C(p)};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 ce="store",se=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,E))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield d(),yield s(r,E,{[f]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,h,p)=>{const[m,O,A,P]=ne(n,s,o,p),L=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield A(l,t,u,o,r,n))})))))})),R=(e,n)=>ve(void 0,null,(function*(){return d?yield A(c,E,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield P((()=>ve(void 0,null,(function*(){yield m();const e=yield ve(void 0,null,(function*(){return g(T(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield O(c,E))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield P((()=>ve(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield L(n),yield R(l)}else{const[e,l]=n();yield L(e,!0),yield R(l,!0)}}))))}))),l,t,o,[h,v],v)},fe="json",Ee="autoLoadIntervalSeconds",he="rowIdColumnName",pe="tableId",me="tableName",Oe={mode:fe,[Ee]:1},Ae={load:0,save:0,[me]:n+"_values"},Te=(e,n,l,t)=>{const o=$();return D(e,((e,r)=>{const i=s(I(x(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(r,i[0])||H(o,r,i)})),o};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 Le="pragma ",Re="data_version",we="schema_version",be=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,m;const[O,A,T,P]=(e=>{const l=(e=>x(Oe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==fe){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(I(x(Ae,i)),0,F(Ae)),a=u[2],d=k(a);return[0,t,[Te(o,{[pe]:null,[he]:E},pe,(e=>G(d,e)&&e==a)),Te(r,{[me]:null,[he]:E,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(O?se:ye)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(Le+Re))[0][Re],l=(yield t(Le+we))[0][we],o=(yield t(p+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=m?m:m=o)||(e(),f=n,h=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),a,T,R(P),d,v,y)},Ne="change";exports.createSqlite3Persister=(e,n,l,t,o)=>be(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield(t=(t,o)=>n.all(e,l,((e,n)=>e?o(e):t(n))),new i(t));var t},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=>{const l=(n,l,t)=>e(t);return n.on(Ne,l),l}),(e=>n.off(Ne,e)),t,o,n);
@@ -97,7 +97,12 @@ const setAdd = (set, value) => set?.add(value);
97
97
  const SELECT_STAR_FROM = SELECT + '*FROM';
98
98
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
99
99
  const WHERE = 'WHERE';
100
- const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
100
+ const getCommandFunctions = (
101
+ cmd,
102
+ managedTableNames,
103
+ onIgnoredError,
104
+ useOnConflict,
105
+ ) => {
101
106
  const schemaMap = mapNew();
102
107
  const canSelect = (tableName, rowIdColumnName) =>
103
108
  !isUndefined(mapGet(mapGet(schemaMap, tableName), rowIdColumnName));
@@ -110,7 +115,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
110
115
  await cmd(
111
116
  'SELECT name ' +
112
117
  FROM_PRAGMA_TABLE +
113
- `list WHERE schema='main'AND type='table'AND name IN(` +
118
+ `list WHERE schema='main'AND(type='table'OR type='view')AND name IN(` +
114
119
  getPlaceholders(managedTableNames) +
115
120
  `)ORDER BY name`,
116
121
  managedTableNames,
@@ -247,10 +252,14 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
247
252
  [rowId],
248
253
  );
249
254
  } else if (!arrayIsEmpty(tableColumnNames)) {
250
- await upsert(cmd, tableName, rowIdColumnName, objIds(row), [
251
- rowId,
252
- ...objValues(row),
253
- ]);
255
+ await upsert(
256
+ cmd,
257
+ tableName,
258
+ rowIdColumnName,
259
+ objIds(row),
260
+ [rowId, ...objValues(row)],
261
+ useOnConflict,
262
+ );
254
263
  }
255
264
  }),
256
265
  );
@@ -312,9 +321,12 @@ const upsert = async (
312
321
  rowIdColumnName,
313
322
  changingColumnNames,
314
323
  args,
324
+ useOnConflict = true,
315
325
  ) =>
316
326
  await cmd(
317
- 'INSERT INTO' +
327
+ 'INSERT ' +
328
+ (useOnConflict ? EMPTY_STRING : 'OR REPLACE ') +
329
+ 'INTO' +
318
330
  escapeId(tableName) +
319
331
  '(' +
320
332
  escapeId(rowIdColumnName) +
@@ -332,17 +344,19 @@ const upsert = async (
332
344
  ),
333
345
  1,
334
346
  ) +
335
- 'ON CONFLICT(' +
336
- escapeId(rowIdColumnName) +
337
- ')DO UPDATE SET' +
338
- arrayJoin(
339
- arrayMap(
340
- changingColumnNames,
341
- (columnName) =>
342
- escapeId(columnName) + '=excluded.' + escapeId(columnName),
343
- ),
344
- COMMA,
345
- ),
347
+ (useOnConflict
348
+ ? 'ON CONFLICT(' +
349
+ escapeId(rowIdColumnName) +
350
+ ')DO UPDATE SET' +
351
+ arrayJoin(
352
+ arrayMap(
353
+ changingColumnNames,
354
+ (columnName) =>
355
+ escapeId(columnName) + '=excluded.' + escapeId(columnName),
356
+ ),
357
+ COMMA,
358
+ )
359
+ : EMPTY_STRING),
346
360
  args,
347
361
  );
348
362
  const getPlaceholders = (array) =>
@@ -564,9 +578,10 @@ const createTabularSqlitePersister = (
564
578
  managedTableNames,
565
579
  db,
566
580
  getThing,
581
+ useOnConflict,
567
582
  ) => {
568
583
  const [refreshSchema, loadTable, saveTable, transaction] =
569
- getCommandFunctions(cmd, managedTableNames, onIgnoredError);
584
+ getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
570
585
  const saveTables = async (tables, partial) =>
571
586
  await promiseAll(
572
587
  mapMap(
@@ -762,6 +777,7 @@ const createSqlitePersister = (
762
777
  onIgnoredError,
763
778
  db,
764
779
  getThing = 'getDb',
780
+ useOnConflict,
765
781
  ) => {
766
782
  let dataVersion;
767
783
  let schemaVersion;
@@ -824,6 +840,7 @@ const createSqlitePersister = (
824
840
  collValues(managedTableNamesSet),
825
841
  db,
826
842
  getThing,
843
+ useOnConflict,
827
844
  );
828
845
  };
829
846
 
@@ -98,7 +98,12 @@ const setAdd = (set, value) => set?.add(value);
98
98
  const SELECT_STAR_FROM = SELECT + '*FROM';
99
99
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
100
100
  const WHERE = 'WHERE';
101
- const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
101
+ const getCommandFunctions = (
102
+ cmd,
103
+ managedTableNames,
104
+ onIgnoredError,
105
+ useOnConflict,
106
+ ) => {
102
107
  const schemaMap = mapNew();
103
108
  const canSelect = (tableName, rowIdColumnName) =>
104
109
  !isUndefined(mapGet(mapGet(schemaMap, tableName), rowIdColumnName));
@@ -111,7 +116,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
111
116
  await cmd(
112
117
  'SELECT name ' +
113
118
  FROM_PRAGMA_TABLE +
114
- `list WHERE schema='main'AND type='table'AND name IN(` +
119
+ `list WHERE schema='main'AND(type='table'OR type='view')AND name IN(` +
115
120
  getPlaceholders(managedTableNames) +
116
121
  `)ORDER BY name`,
117
122
  managedTableNames,
@@ -248,10 +253,14 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
248
253
  [rowId],
249
254
  );
250
255
  } else if (!arrayIsEmpty(tableColumnNames)) {
251
- await upsert(cmd, tableName, rowIdColumnName, objIds(row), [
252
- rowId,
253
- ...objValues(row),
254
- ]);
256
+ await upsert(
257
+ cmd,
258
+ tableName,
259
+ rowIdColumnName,
260
+ objIds(row),
261
+ [rowId, ...objValues(row)],
262
+ useOnConflict,
263
+ );
255
264
  }
256
265
  }),
257
266
  );
@@ -313,9 +322,12 @@ const upsert = async (
313
322
  rowIdColumnName,
314
323
  changingColumnNames,
315
324
  args,
325
+ useOnConflict = true,
316
326
  ) =>
317
327
  await cmd(
318
- 'INSERT INTO' +
328
+ 'INSERT ' +
329
+ (useOnConflict ? EMPTY_STRING : 'OR REPLACE ') +
330
+ 'INTO' +
319
331
  escapeId(tableName) +
320
332
  '(' +
321
333
  escapeId(rowIdColumnName) +
@@ -333,17 +345,19 @@ const upsert = async (
333
345
  ),
334
346
  1,
335
347
  ) +
336
- 'ON CONFLICT(' +
337
- escapeId(rowIdColumnName) +
338
- ')DO UPDATE SET' +
339
- arrayJoin(
340
- arrayMap(
341
- changingColumnNames,
342
- (columnName) =>
343
- escapeId(columnName) + '=excluded.' + escapeId(columnName),
344
- ),
345
- COMMA,
346
- ),
348
+ (useOnConflict
349
+ ? 'ON CONFLICT(' +
350
+ escapeId(rowIdColumnName) +
351
+ ')DO UPDATE SET' +
352
+ arrayJoin(
353
+ arrayMap(
354
+ changingColumnNames,
355
+ (columnName) =>
356
+ escapeId(columnName) + '=excluded.' + escapeId(columnName),
357
+ ),
358
+ COMMA,
359
+ )
360
+ : EMPTY_STRING),
347
361
  args,
348
362
  );
349
363
  const getPlaceholders = (array) =>
@@ -565,9 +579,10 @@ const createTabularSqlitePersister = (
565
579
  managedTableNames,
566
580
  db,
567
581
  getThing,
582
+ useOnConflict,
568
583
  ) => {
569
584
  const [refreshSchema, loadTable, saveTable, transaction] =
570
- getCommandFunctions(cmd, managedTableNames, onIgnoredError);
585
+ getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
571
586
  const saveTables = async (tables, partial) =>
572
587
  await promiseAll(
573
588
  mapMap(
@@ -763,6 +778,7 @@ const createSqlitePersister = (
763
778
  onIgnoredError,
764
779
  db,
765
780
  getThing = 'getDb',
781
+ useOnConflict,
766
782
  ) => {
767
783
  let dataVersion;
768
784
  let schemaVersion;
@@ -825,6 +841,7 @@ const createSqlitePersister = (
825
841
  collValues(managedTableNamesSet),
826
842
  db,
827
843
  getThing,
844
+ useOnConflict,
828
845
  );
829
846
  };
830
847
 
@@ -99,7 +99,12 @@ const setAdd = (set, value) => set?.add(value);
99
99
  const SELECT_STAR_FROM = SELECT + '*FROM';
100
100
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
101
101
  const WHERE = 'WHERE';
102
- const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
102
+ const getCommandFunctions = (
103
+ cmd,
104
+ managedTableNames,
105
+ onIgnoredError,
106
+ useOnConflict,
107
+ ) => {
103
108
  const schemaMap = mapNew();
104
109
  const canSelect = (tableName, rowIdColumnName) =>
105
110
  !isUndefined(mapGet(mapGet(schemaMap, tableName), rowIdColumnName));
@@ -112,7 +117,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
112
117
  await cmd(
113
118
  'SELECT name ' +
114
119
  FROM_PRAGMA_TABLE +
115
- `list WHERE schema='main'AND type='table'AND name IN(` +
120
+ `list WHERE schema='main'AND(type='table'OR type='view')AND name IN(` +
116
121
  getPlaceholders(managedTableNames) +
117
122
  `)ORDER BY name`,
118
123
  managedTableNames,
@@ -249,10 +254,14 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
249
254
  [rowId],
250
255
  );
251
256
  } else if (!arrayIsEmpty(tableColumnNames)) {
252
- await upsert(cmd, tableName, rowIdColumnName, objIds(row), [
253
- rowId,
254
- ...objValues(row),
255
- ]);
257
+ await upsert(
258
+ cmd,
259
+ tableName,
260
+ rowIdColumnName,
261
+ objIds(row),
262
+ [rowId, ...objValues(row)],
263
+ useOnConflict,
264
+ );
256
265
  }
257
266
  }),
258
267
  );
@@ -314,9 +323,12 @@ const upsert = async (
314
323
  rowIdColumnName,
315
324
  changingColumnNames,
316
325
  args,
326
+ useOnConflict = true,
317
327
  ) =>
318
328
  await cmd(
319
- 'INSERT INTO' +
329
+ 'INSERT ' +
330
+ (useOnConflict ? EMPTY_STRING : 'OR REPLACE ') +
331
+ 'INTO' +
320
332
  escapeId(tableName) +
321
333
  '(' +
322
334
  escapeId(rowIdColumnName) +
@@ -334,17 +346,19 @@ const upsert = async (
334
346
  ),
335
347
  1,
336
348
  ) +
337
- 'ON CONFLICT(' +
338
- escapeId(rowIdColumnName) +
339
- ')DO UPDATE SET' +
340
- arrayJoin(
341
- arrayMap(
342
- changingColumnNames,
343
- (columnName) =>
344
- escapeId(columnName) + '=excluded.' + escapeId(columnName),
345
- ),
346
- COMMA,
347
- ),
349
+ (useOnConflict
350
+ ? 'ON CONFLICT(' +
351
+ escapeId(rowIdColumnName) +
352
+ ')DO UPDATE SET' +
353
+ arrayJoin(
354
+ arrayMap(
355
+ changingColumnNames,
356
+ (columnName) =>
357
+ escapeId(columnName) + '=excluded.' + escapeId(columnName),
358
+ ),
359
+ COMMA,
360
+ )
361
+ : EMPTY_STRING),
348
362
  args,
349
363
  );
350
364
  const getPlaceholders = (array) =>
@@ -566,9 +580,10 @@ const createTabularSqlitePersister = (
566
580
  managedTableNames,
567
581
  db,
568
582
  getThing,
583
+ useOnConflict,
569
584
  ) => {
570
585
  const [refreshSchema, loadTable, saveTable, transaction] =
571
- getCommandFunctions(cmd, managedTableNames, onIgnoredError);
586
+ getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
572
587
  const saveTables = async (tables, partial) =>
573
588
  await promiseAll(
574
589
  mapMap(
@@ -764,6 +779,7 @@ const createSqlitePersister = (
764
779
  onIgnoredError,
765
780
  db,
766
781
  getThing = 'getDb',
782
+ useOnConflict,
767
783
  ) => {
768
784
  let dataVersion;
769
785
  let schemaVersion;
@@ -826,6 +842,7 @@ const createSqlitePersister = (
826
842
  collValues(managedTableNamesSet),
827
843
  db,
828
844
  getThing,
845
+ useOnConflict,
829
846
  );
830
847
  };
831
848