tinybase 4.8.15 → 4.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/lib/cjs/metrics.cjs +1 -1
  2. package/lib/cjs/metrics.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  4. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  6. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  10. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  12. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-powersync.cjs +1 -1
  14. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  16. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  18. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  19. package/lib/cjs/queries.cjs +1 -1
  20. package/lib/cjs/queries.cjs.gz +0 -0
  21. package/lib/cjs-es6/metrics.cjs +1 -1
  22. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  38. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  39. package/lib/cjs-es6/queries.cjs +1 -1
  40. package/lib/cjs-es6/queries.cjs.gz +0 -0
  41. package/lib/es6/metrics.js +1 -1
  42. package/lib/es6/metrics.js.gz +0 -0
  43. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  44. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  45. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  46. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  47. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  48. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  49. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  50. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  51. package/lib/es6/persisters/persister-libsql.js +1 -1
  52. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  53. package/lib/es6/persisters/persister-powersync.js +1 -1
  54. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  55. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  56. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  57. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  58. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  59. package/lib/es6/queries.js +1 -1
  60. package/lib/es6/queries.js.gz +0 -0
  61. package/lib/metrics.js +1 -1
  62. package/lib/metrics.js.gz +0 -0
  63. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  64. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  65. package/lib/persisters/persister-electric-sql.js +1 -1
  66. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  67. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  68. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  69. package/lib/persisters/persister-expo-sqlite.js +1 -1
  70. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  71. package/lib/persisters/persister-libsql.js +1 -1
  72. package/lib/persisters/persister-libsql.js.gz +0 -0
  73. package/lib/persisters/persister-powersync.js +1 -1
  74. package/lib/persisters/persister-powersync.js.gz +0 -0
  75. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  76. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  77. package/lib/persisters/persister-sqlite3.js +1 -1
  78. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  79. package/lib/queries.js +1 -1
  80. package/lib/queries.js.gz +0 -0
  81. package/lib/umd/metrics.js +1 -1
  82. package/lib/umd/metrics.js.gz +0 -0
  83. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  84. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  85. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  86. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  87. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  88. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  89. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  90. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  91. package/lib/umd/persisters/persister-libsql.js +1 -1
  92. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  93. package/lib/umd/persisters/persister-powersync.js +1 -1
  94. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  95. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  96. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  97. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  98. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  99. package/lib/umd/queries.js +1 -1
  100. package/lib/umd/queries.js.gz +0 -0
  101. package/lib/umd-es6/metrics.js +1 -1
  102. package/lib/umd-es6/metrics.js.gz +0 -0
  103. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  104. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  105. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  106. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  107. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  108. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  109. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  110. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  111. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  112. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  113. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  114. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  115. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  116. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  117. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  118. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  119. package/lib/umd-es6/queries.js +1 -1
  120. package/lib/umd-es6/queries.js.gz +0 -0
  121. package/package.json +13 -14
  122. package/readme.md +2 -2
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t="",o=",",r=n(t),i=(e,n)=>e.repeat(n),u=Promise,d=clearInterval,a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),s=e=>n(e)==r,v=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return u.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},p=(e,n="")=>e.join(n),h=(e,n)=>e.map(n),m=e=>0==y(e),E=(e,n)=>e.filter(n),O=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=e=>b.getPrototypeOf(e),T=b.keys,L=b.freeze,R=(e=[])=>b.fromEntries(e),x=(...e)=>b.assign({},...e),C=(e,n)=>h(b.entries(e),(([e,l])=>n(l,e))),S=e=>b.values(e),g=e=>y(T(e)),I=e=>(e=>!a(e)&&c(w(e),(e=>e==b.prototype||a(w(e))),(()=>!0)))(e)&&0==g(e),D=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 h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},F=(e,n,l)=>a(l)?(N(e,n),e):null==e?void 0:e.set(n,l),M=(e,n,l)=>(A(e,n)||F(e,n,l()),_(e,n)),B=(e,n,l,t=F)=>(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)=>!a(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),H="_",J="_id",Y=e=>`"${e.replace(/"/g,'""')}"`,k="SELECT",G=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var W=Object.defineProperty,q=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?W(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(q)for(var l of q(n))K.call(n,l)&&V(e,l,n[l]);return e},X=(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 Z="TABLE",ee="ALTER "+Z,ne="DELETE FROM",le=k+"*FROM",te="FROM pragma_table_",oe="WHERE",re=(e,n,l,r)=>{const i=D();return[()=>X(void 0,null,(function*(){return B(i,R(yield f(h(yield e("SELECT name "+te+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ue(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,R(h(yield e(k+" name,type "+te+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>F(i,n,B(M(i,n,D),l,((e,n,l)=>{l!=_(e,n)&&F(e,n,l)}),((e,n)=>F(e,n))))),((e,n)=>F(i,n)))})),(n,l)=>X(void 0,null,(function*(){return((e,n)=>!a(_(_(i,e),n)))(n,l)?R(E(h(yield e(le+Y(n)),(e=>{return[e[l],(n=Q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!I(n)))):{}})),(n,l,u,d,c,s=!1)=>X(void 0,null,(function*(){const v=G();C(null!=u?u:{},(e=>h(T(null!=e?e:{}),(e=>U(v,e)))));const y=P(v);if(!s&&c&&m(y)&&A(i,n))return yield e("DROP "+Z+Y(n)),void F(i,n);if(m(y)||A(i,n)){const o=_(i,n),r=G($(o));yield f([...h(y,(l=>X(void 0,null,(function*(){N(r,l)||(yield e(ee+Y(n)+"ADD"+Y(l)),F(o,l,t))})))),...!s&&d?h(P(r),(t=>X(void 0,null,(function*(){t!=l&&(yield e(ee+Y(n)+"DROP"+Y(t)),F(o,t))})))):[]])}else yield e("CREATE "+Z+Y(n)+"("+Y(l)+` PRIMARY KEY ON CONFLICT REPLACE${p(h(y,(e=>o+Y(e))))});`),F(i,n,D([[l,t],...h(y,(e=>[e,t]))]));if(s)a(u)?yield e(ne+Y(n)+oe+" 1"):yield f(C(u,((t,o)=>X(void 0,null,(function*(){a(t)?yield e(ne+Y(n)+oe+Y(l)+"=?",[o]):m(y)||(yield ie(e,n,l,T(t),[o,...S(t)],r))})))));else if(m(y))A(i,n)&&(yield e(ne+Y(n)+oe+" 1"));else{const t=E($(_(i,n)),(e=>e!=l)),o=[],d=[];C(null!=u?u:{},((e,n)=>{O(o,n,...h(t,(n=>null==e?void 0:e[n]))),O(d,n)})),yield ie(e,n,l,t,o,r),yield e(ne+Y(n)+oe+Y(l)+"NOT IN("+ue(d)+")",d)}})),n=>X(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},ie=(e,n,l,r,u,d=!0)=>X(void 0,null,(function*(){return yield e("INSERT "+(d?t:"OR REPLACE ")+"INTO"+Y(n)+"("+Y(l)+p(h(r,(e=>o+Y(e))))+")VALUES"+v(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(d?"ON CONFLICT("+Y(l)+")DO UPDATE SET"+p(h(r,(e=>Y(e)+"=excluded."+Y(e))),o):t),h(u,(e=>null!=e?e:null)))})),ue=e=>p(h(e,(()=>"?")),o),de=JSON.parse;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 ce=D(),se=D(),ve=(e,n,l,t,o,r,[i,u]=[],d=[])=>{let s,v,y,f=0,p=0;M(ce,d,(()=>0)),M(se,d,(()=>[]));const h=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield h((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),p=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield h((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();I(l)&&I(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(c(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return O(_(se,d),...e),yield ae(void 0,null,(function*(){if(!_(ce,d)){for(F(ce,d,1);!a((e=_(se,d),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}F(ce,d,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),L(m)};var ye=(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 fe="store",pe=(e,n,l,t,o,[r],i,u,d,a)=>{const[c,s,v,y]=re(n,i,o,a);return ve(e,(()=>ye(void 0,null,(function*(){return yield y((()=>ye(void 0,null,(function*(){var e,n;return yield c(),de(null!=(n=null==(e=(yield s(r,J))[H])?void 0:e[fe])?n:"null")}))))}))),(e=>ye(void 0,null,(function*(){return yield y((()=>ye(void 0,null,(function*(){var n,l;yield c(),yield v(r,J,{[H]:{[fe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var he=(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 me=(e,n,l,t,o,[r,i,[u,d,c]],s,v,y,p)=>{const[h,m,O,A]=re(n,s,o,p),P=(e,n)=>he(void 0,null,(function*(){return yield f(j(i,((l,t)=>he(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))})))))})),N=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,J,{[H]:e},!0,!0,n):null}));return ve(e,(()=>he(void 0,null,(function*(){return yield A((()=>he(void 0,null,(function*(){yield h();const e=yield he(void 0,null,(function*(){return R(E(yield f(j(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!I(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield m(c,J))[H]:{}}));return I(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield A((()=>he(void 0,null,(function*(){if(yield h(),a(n)){const[n,l]=e();yield P(n),yield N(l)}else{const[e,l]=n();yield P(e,!0),yield N(l,!0)}}))))}))),l,t,o,[y,v],v)},Ee="json",Oe="autoLoadIntervalSeconds",Ae="rowIdColumnName",Pe="tableId",Ne="tableName",be={mode:Ee,[Oe]:1},we={load:0,save:0,[Ne]:l+"_values"},Te=(e,n,l,t)=>{const o=D();return C(e,((e,r)=>{const i=v(S(x(n,s(e)?{[l]:e}:e)),0,g(n));a(i[0])||t(r,i[0])||F(o,r,i)})),o};var Le=(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="pragma_",xe="data_version",Ce="schema_version",Se=(e,n,t,o,r,i,u,a,c="getDb",y)=>{let f,p,h;const[m,E,O,A]=(e=>{const n=(e=>x(be,s(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[Oe];if(n.mode==Ee){const{storeTableName:e=l}=n;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(S(x(we,i)),0,g(we)),d=u[2],a=G(d);return[0,t,[Te(o,{[Pe]:null,[Ae]:J},Pe,(e=>U(a,e)&&e==d)),Te(r,{[Ne]:null,[Ae]:J,deleteEmptyColumns:0,deleteEmptyTable:0},Ne,((e,n)=>U(a,n)&&n==d)),u],a]})(n);return(m?pe:me)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${xe} d,${Ce} s,TOTAL_CHANGES() c FROM ${Re}${xe} JOIN ${Re}${Ce}`);n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),f=n,p=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{d(e),f=p=h=null,r(n)}),u,O,P(A),a,c,y)},ge=(n,l,t,o,r)=>Se(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(e,n)},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}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{ge as createExpoSqliteNextPersister};
1
+ import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t="",o=",",r=n(t),i=(e,n)=>e.repeat(n),u=Promise,d=clearInterval,a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),s=e=>n(e)==r,v=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return u.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},p=(e,n="")=>e.join(n),h=(e,n)=>e.map(n),m=e=>0==y(e),E=(e,n)=>e.filter(n),O=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=e=>b.getPrototypeOf(e),T=b.keys,L=b.freeze,R=(e=[])=>b.fromEntries(e),x=(...e)=>b.assign({},...e),C=(e,n)=>h(b.entries(e),(([e,l])=>n(l,e))),S=e=>b.values(e),g=e=>y(T(e)),I=e=>(e=>!a(e)&&c(w(e),(e=>e==b.prototype||a(w(e))),(()=>!0)))(e)&&0==g(e),D=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 h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},F=(e,n,l)=>a(l)?(N(e,n),e):null==e?void 0:e.set(n,l),M=(e,n,l)=>(A(e,n)||F(e,n,l()),_(e,n)),B=(e,n,l,t=F)=>(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)=>!a(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),H="_",J="_id",Y=e=>`"${e.replace(/"/g,'""')}"`,k="SELECT",G=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var W=Object.defineProperty,q=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?W(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(q)for(var l of q(n))K.call(n,l)&&V(e,l,n[l]);return e},X=(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 Z="TABLE",ee="ALTER "+Z,ne="DELETE FROM",le=k+"*FROM",te="FROM pragma_table_",oe="WHERE",re=(e,n,l,r)=>{const i=D();return[()=>X(void 0,null,(function*(){return B(i,R(yield f(h(yield e("SELECT name "+te+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ue(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,R(h(yield e(k+" name,type "+te+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>F(i,n,B(M(i,n,D),l,((e,n,l)=>{l!=_(e,n)&&F(e,n,l)}),((e,n)=>F(e,n))))),((e,n)=>F(i,n)))})),(n,l)=>X(void 0,null,(function*(){return((e,n)=>!a(_(_(i,e),n)))(n,l)?R(E(h(yield e(le+Y(n)),(e=>{return[e[l],(n=Q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!I(n)))):{}})),(n,l,u,d,c,s=!1)=>X(void 0,null,(function*(){const v=G();C(null!=u?u:{},(e=>h(T(null!=e?e:{}),(e=>U(v,e)))));const y=P(v);if(!s&&c&&m(y)&&A(i,n))return yield e("DROP "+Z+Y(n)),void F(i,n);if(m(y)||A(i,n)){const o=_(i,n),r=G($(o));yield f([...h(y,(l=>X(void 0,null,(function*(){N(r,l)||(yield e(ee+Y(n)+"ADD"+Y(l)),F(o,l,t))})))),...!s&&d?h(P(r),(t=>X(void 0,null,(function*(){t!=l&&(yield e(ee+Y(n)+"DROP"+Y(t)),F(o,t))})))):[]])}else yield e("CREATE "+Z+Y(n)+"("+Y(l)+` PRIMARY KEY ON CONFLICT REPLACE${p(h(y,(e=>o+Y(e))))});`),F(i,n,D([[l,t],...h(y,(e=>[e,t]))]));if(s)a(u)?yield e(ne+Y(n)+oe+" 1"):yield f(C(u,((t,o)=>X(void 0,null,(function*(){a(t)?yield e(ne+Y(n)+oe+Y(l)+"=?",[o]):m(y)||(yield ie(e,n,l,T(t),[o,...S(t)],r))})))));else if(m(y))A(i,n)&&(yield e(ne+Y(n)+oe+" 1"));else{const t=E($(_(i,n)),(e=>e!=l)),o=[],d=[];C(null!=u?u:{},((e,n)=>{O(o,n,...h(t,(n=>null==e?void 0:e[n]))),O(d,n)})),yield ie(e,n,l,t,o,r),yield e(ne+Y(n)+oe+Y(l)+"NOT IN("+ue(d)+")",d)}})),n=>X(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},ie=(e,n,l,r,u,d=!0)=>X(void 0,null,(function*(){return yield e("INSERT "+(d?t:"OR REPLACE ")+"INTO"+Y(n)+"("+Y(l)+p(h(r,(e=>o+Y(e))))+")VALUES"+v(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(d?"ON CONFLICT("+Y(l)+")DO UPDATE SET"+p(h(r,(e=>Y(e)+"=excluded."+Y(e))),o):t),h(u,(e=>null!=e?e:null)))})),ue=e=>p(h(e,(()=>"?")),o),de=JSON.parse;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 ce=D(),se=D(),ve=(e,n,l,t,o,r,[i,u]=[],d=[])=>{let s,v,y,f=0,p=0;M(ce,d,(()=>0)),M(se,d,(()=>[]));const h=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield h((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),p=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield h((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();I(l)&&I(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(c(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return O(_(se,d),...e),yield ae(void 0,null,(function*(){if(!_(ce,d)){for(F(ce,d,1);!a((e=_(se,d),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}F(ce,d,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),L(m)};var ye=(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 fe="store",pe=(e,n,l,t,o,[r],i,u,d,a)=>{const[c,s,v,y]=re(n,i,o,a);return ve(e,(()=>ye(void 0,null,(function*(){return yield y((()=>ye(void 0,null,(function*(){var e,n;return yield c(),de(null!=(n=null==(e=(yield s(r,J))[H])?void 0:e[fe])?n:"null")}))))}))),(e=>ye(void 0,null,(function*(){return yield y((()=>ye(void 0,null,(function*(){var n,l;yield c(),yield v(r,J,{[H]:{[fe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var he=(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 me=(e,n,l,t,o,[r,i,[u,d,c]],s,v,y,p)=>{const[h,m,O,A]=re(n,s,o,p),P=(e,n)=>he(void 0,null,(function*(){return yield f(j(i,((l,t)=>he(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))})))))})),N=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,J,{[H]:e},!0,!0,n):null}));return ve(e,(()=>he(void 0,null,(function*(){return yield A((()=>he(void 0,null,(function*(){yield h();const e=yield he(void 0,null,(function*(){return R(E(yield f(j(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!I(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield m(c,J))[H]:{}}));return I(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield A((()=>he(void 0,null,(function*(){if(yield h(),a(n)){const[n,l]=e();yield P(n),yield N(l)}else{const[e,l]=n();yield P(e,!0),yield N(l,!0)}}))))}))),l,t,o,[y,v],v)},Ee="json",Oe="autoLoadIntervalSeconds",Ae="storeTableName",Pe="rowIdColumnName",Ne="tableId",be="tableName",we="deleteEmptyColumns",Te="deleteEmptyTable",Le={mode:Ee,[Oe]:1},Re={load:0,save:0,[be]:l+"_values"},xe=(e,n,l,t)=>{const o=D();return C(e,((e,r)=>{const i=v(S(x(n,s(e)?{[l]:e}:e)),0,g(n));a(i[0])||t(r,i[0])||F(o,r,i)})),o};var Ce=(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 Se="pragma_",ge="data_version",Ie="schema_version",De=(e,n,t,o,r,i,u,a,c="getDb",y)=>{let f,p,h;const[m,E,O,A]=(e=>{const n=(e=>x(Le,s(e)?{[Ae]:e}:null!=e?e:{}))(e),t=n[Oe];if(n.mode==Ee){const{storeTableName:e=l}=n;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(S(x(Re,i)),0,g(Re)),d=u[2],a=G(d);return[0,t,[xe(o,{[Ne]:null,[Pe]:J},Ne,(e=>U(a,e)&&e==d)),xe(r,{[be]:null,[Pe]:J,[we]:0,[Te]:0},be,((e,n)=>U(a,n)&&n==d)),u],a]})(n);return(m?pe:me)(e,i?(e,n)=>Ce(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ce(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${ge} d,${Ie} s,TOTAL_CHANGES() c FROM ${Se}${ge} JOIN ${Se}${Ie}`);n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),f=n,p=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{d(e),f=p=h=null,r(n)}),u,O,P(A),a,c,y)},$e=(n,l,t,o,r)=>De(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(e,n)},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}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{$e as createExpoSqliteNextPersister};
@@ -1 +1 @@
1
- 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,n="")=>e.join(n),h=(e,n)=>e.map(n),p=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=e=>b.getPrototypeOf(e),N=b.keys,T=b.freeze,C=(e=[])=>b.fromEntries(e),L=(...e)=>b.assign({},...e),R=(e,n)=>h(b.entries(e),(([e,l])=>n(l,e))),S=e=>b.values(e),g=e=>v(N(e)),x=e=>(e=>!a(e)&&d(w(e),(e=>e==b.prototype||a(w(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>a(l)?(A(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),$(e,n)),M=(e,n,l,t=j)=>(R(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?U(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(W)for(var l of W(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,C(yield y(h(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(h(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=$(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a($($(i,e),n)))(n,l)?C(m(h(yield e(ne+J(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!x(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=k();R(null!=u?u:{},(e=>h(N(null!=e?e:{}),(e=>G(v,e)))));const b=P(v);if(!s&&c&&p(b)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(p(b)||O(i,n)){const t=$(i,n),r=k(D(t));yield y([...h(b,(o=>Q(void 0,null,(function*(){A(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!s&&d?h(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(h(b,(e=>t+J(e))))});`),j(i,n,I([[o,l],...h(b,(e=>[e,l]))]));if(s)a(u)?yield e(ee+J(n)+te+" 1"):yield y(R(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):p(b)||(yield re(e,n,o,N(l),[t,...S(l)],r))})))));else if(p(b))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D($(i,n)),(e=>e!=o)),t=[],a=[];R(null!=u?u:{},((e,n)=>{E(t,n,...h(l,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(a)+")",a)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(h(i,(e=>t+J(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(h(i,(e=>J(e)+"=excluded."+J(e))),t):l),h(u,(e=>null!=e?e:null)))})),ie=e=>f(h(e,(()=>"?")),t),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,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=I(),ce=I(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;F(de,c,(()=>0)),F(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();x(l)&&x(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E($(ce,c),...e),yield ae(void 0,null,(function*(){if(!$(de,c)){for(j(de,c,1);!a((e=$(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}j(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),T(m)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,f,h)=>{const[p,E,O,P]=oe(n,s,o,h),A=(e,n)=>he(void 0,null,(function*(){return yield y(_(i,((l,t)=>he(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))})))))})),b=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,H,{[B]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){yield p();const e=yield he(void 0,null,(function*(){return C(m(yield y(_(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!x(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return x(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){if(yield p(),a(n)){const[n,l]=e();yield A(n),yield b(l)}else{const[e,l]=n();yield A(e,!0),yield b(l,!0)}}))))}))),l,t,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",Ae="tableName",be={mode:me,[Ee]:1},we={load:0,save:0,[Ae]:n+"_values"},Ne=(e,n,l,t)=>{const o=I();return R(e,((e,r)=>{const i=s(S(L(n,c(e)?{[l]:e}:e)),0,g(n));a(i[0])||t(r,i[0])||j(o,r,i)})),o};var Te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ce="pragma_",Le="data_version",Re="schema_version",Se=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,p;const[m,E,O,A]=(e=>{const l=(e=>L(be,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(S(L(we,i)),0,g(we)),a=u[2],d=k(a);return[0,t,[Ne(o,{[Pe]:null,[Oe]:H},Pe,(e=>G(d,e)&&e==a)),Ne(r,{[Ae]:null,[Oe]:H,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(m?fe:pe)(e,i?(e,n)=>Te(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${Le} d,${Re} s,TOTAL_CHANGES() c FROM ${Ce}${Le} JOIN ${Ce}${Re}`);n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),f=n,h=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=p=null,r(n)}),a,O,P(A),d,v,y)},ge=(e,n,l,t,o)=>Se(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);export{ge as createExpoSqlitePersister};
1
+ 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,n="")=>e.join(n),h=(e,n)=>e.map(n),p=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=e=>b.getPrototypeOf(e),N=b.keys,T=b.freeze,C=(e=[])=>b.fromEntries(e),L=(...e)=>b.assign({},...e),R=(e,n)=>h(b.entries(e),(([e,l])=>n(l,e))),S=e=>b.values(e),g=e=>v(N(e)),x=e=>(e=>!a(e)&&d(w(e),(e=>e==b.prototype||a(w(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>a(l)?(A(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),$(e,n)),M=(e,n,l,t=j)=>(R(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?U(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(W)for(var l of W(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,C(yield y(h(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(h(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=$(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a($($(i,e),n)))(n,l)?C(m(h(yield e(ne+J(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!x(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=k();R(null!=u?u:{},(e=>h(N(null!=e?e:{}),(e=>G(v,e)))));const b=P(v);if(!s&&c&&p(b)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(p(b)||O(i,n)){const t=$(i,n),r=k(D(t));yield y([...h(b,(o=>Q(void 0,null,(function*(){A(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!s&&d?h(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(h(b,(e=>t+J(e))))});`),j(i,n,I([[o,l],...h(b,(e=>[e,l]))]));if(s)a(u)?yield e(ee+J(n)+te+" 1"):yield y(R(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):p(b)||(yield re(e,n,o,N(l),[t,...S(l)],r))})))));else if(p(b))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D($(i,n)),(e=>e!=o)),t=[],a=[];R(null!=u?u:{},((e,n)=>{E(t,n,...h(l,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(a)+")",a)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(h(i,(e=>t+J(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(h(i,(e=>J(e)+"=excluded."+J(e))),t):l),h(u,(e=>null!=e?e:null)))})),ie=e=>f(h(e,(()=>"?")),t),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,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=I(),ce=I(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;F(de,c,(()=>0)),F(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();x(l)&&x(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E($(ce,c),...e),yield ae(void 0,null,(function*(){if(!$(de,c)){for(j(de,c,1);!a((e=$(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}j(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),T(m)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,f,h)=>{const[p,E,O,P]=oe(n,s,o,h),A=(e,n)=>he(void 0,null,(function*(){return yield y(_(i,((l,t)=>he(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))})))))})),b=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,H,{[B]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){yield p();const e=yield he(void 0,null,(function*(){return C(m(yield y(_(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!x(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return x(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){if(yield p(),a(n)){const[n,l]=e();yield A(n),yield b(l)}else{const[e,l]=n();yield A(e,!0),yield b(l,!0)}}))))}))),l,t,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="storeTableName",Pe="rowIdColumnName",Ae="tableId",be="tableName",we="deleteEmptyColumns",Ne="deleteEmptyTable",Te={mode:me,[Ee]:1},Ce={load:0,save:0,[be]:n+"_values"},Le=(e,n,l,t)=>{const o=I();return R(e,((e,r)=>{const i=s(S(L(n,c(e)?{[l]:e}:e)),0,g(n));a(i[0])||t(r,i[0])||j(o,r,i)})),o};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 Se="pragma_",ge="data_version",xe="schema_version",Ie=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,p;const[m,E,O,A]=(e=>{const l=(e=>L(Te,c(e)?{[Oe]:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(S(L(Ce,i)),0,g(Ce)),a=u[2],d=k(a);return[0,t,[Le(o,{[Ae]:null,[Pe]:H},Ae,(e=>G(d,e)&&e==a)),Le(r,{[be]:null,[Pe]:H,[we]:0,[Ne]:0},be,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(m?fe:pe)(e,i?(e,n)=>Re(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Re(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${ge} d,${xe} s,TOTAL_CHANGES() c FROM ${Se}${ge} JOIN ${Se}${xe}`);n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),f=n,h=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=p=null,r(n)}),a,O,P(A),d,v,y)},De=(e,n,l,t,o)=>Ie(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);export{De as createExpoSqlitePersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,l)=>d(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),p=(e,n)=>e.map(n),h=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),T=w.keys,b=w.freeze,C=(e=[])=>w.fromEntries(e),L=(...e)=>w.assign({},...e),R=(e,n)=>p(w.entries(e),(([e,l])=>n(l,e))),S=e=>w.values(e),g=e=>v(T(e)),x=e=>(e=>!d(e)&&a(N(e),(e=>e==w.prototype||d(N(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var l;return p([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>d(l)?(A(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),$(e,n)),M=(e,n,l,t=j)=>(R(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||d(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?U(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(W)for(var l of W(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,C(yield y(p(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(p(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=$(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!d($($(i,e),n)))(n,l)?C(m(p(yield e(ne+J(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!x(n)))):{}})),(n,o,u,a,c,s=!1)=>Q(void 0,null,(function*(){const v=k();R(null!=u?u:{},(e=>p(T(null!=e?e:{}),(e=>G(v,e)))));const w=P(v);if(!s&&c&&h(w)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(h(w)||O(i,n)){const t=$(i,n),r=k(D(t));yield y([...p(w,(o=>Q(void 0,null,(function*(){A(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!s&&a?p(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(e=>t+J(e))))});`),j(i,n,I([[o,l],...p(w,(e=>[e,l]))]));if(s)d(u)?yield e(ee+J(n)+te+" 1"):yield y(R(u,((l,t)=>Q(void 0,null,(function*(){d(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):h(w)||(yield re(e,n,o,T(l),[t,...S(l)],r))})))));else if(h(w))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D($(i,n)),(e=>e!=o)),t=[],d=[];R(null!=u?u:{},((e,n)=>{E(t,n,...p(l,(n=>null==e?void 0:e[n]))),E(d,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(d)+")",d)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,d=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(d?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(p(i,(e=>t+J(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(d?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(p(i,(e=>J(e)+"=excluded."+J(e))),t):l),p(u,(e=>null!=e?e:null)))})),ie=e=>f(p(e,(()=>"?")),t),ue=JSON.parse;var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=I(),ce=I(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;F(ae,c,(()=>0)),F(ce,c,(()=>[]));const h=e=>de(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>de(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>de(void 0,null,(function*(){return yield h((()=>de(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>de(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),p=1,y=t(((l,t)=>de(void 0,null,(function*(){if(t){const n=t();yield h((()=>de(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>de(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>de(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>de(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>de(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();x(l)&&x(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,m),schedule:(...e)=>de(void 0,null,(function*(){return E($(ce,c),...e),yield de(void 0,null,(function*(){if(!$(ae,c)){for(j(ae,c,1);!d((e=$(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}j(ae,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),b(m)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,d,a)=>{const[c,s,v,y]=oe(n,i,o,a);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const he=(e,n,l,t,o,[r,i,[u,a,c]],s,v,f,p)=>{const[h,E,O,P]=oe(n,s,o,p),A=(e,n)=>pe(void 0,null,(function*(){return yield y(_(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),w=(e,n)=>pe(void 0,null,(function*(){return a?yield O(c,H,{[B]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield P((()=>pe(void 0,null,(function*(){yield h();const e=yield pe(void 0,null,(function*(){return C(m(yield y(_(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!x(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return x(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield P((()=>pe(void 0,null,(function*(){if(yield h(),d(n)){const[n,l]=e();yield A(n),yield w(l)}else{const[e,l]=n();yield A(e,!0),yield w(l,!0)}}))))}))),l,t,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",Ae="tableName",we={mode:me,[Ee]:1},Ne={load:0,save:0,[Ae]:n+"_values"},Te=(e,n,l,t)=>{const o=I();return R(e,((e,r)=>{const i=s(S(L(n,c(e)?{[l]:e}:e)),0,g(n));d(i[0])||t(r,i[0])||j(o,r,i)})),o};var be=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ce="pragma_",Le="data_version",Re="schema_version",Se=(e,l,t,o,r,i,d,a,v="getDb",y)=>{let f,p,h;const[m,E,O,A]=(e=>{const l=(e=>L(we,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(S(L(Ne,i)),0,g(Ne)),d=u[2],a=k(d);return[0,t,[Te(o,{[Pe]:null,[Oe]:H},Pe,(e=>G(a,e)&&e==d)),Te(r,{[Ae]:null,[Oe]:H,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>G(a,n)&&n==d)),u],a]})(l);return(m?fe:he)(e,i?(e,n)=>be(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>be(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${Le} d,${Re} s,TOTAL_CHANGES() c FROM ${Ce}${Le} JOIN ${Ce}${Re}`);n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),f=n,p=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=h=null,r(n)}),d,O,P(A),a,v,y)},ge=(e,n,l,t,o)=>Se(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execute({sql:e,args:l})).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}),(()=>()=>0),(e=>e()),t,o,n,"getClient");export{ge as createLibSqlPersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,l)=>d(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),p=(e,n)=>e.map(n),h=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),T=w.keys,b=w.freeze,C=(e=[])=>w.fromEntries(e),L=(...e)=>w.assign({},...e),R=(e,n)=>p(w.entries(e),(([e,l])=>n(l,e))),S=e=>w.values(e),g=e=>v(T(e)),x=e=>(e=>!d(e)&&a(N(e),(e=>e==w.prototype||d(N(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var l;return p([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>d(l)?(A(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),$(e,n)),M=(e,n,l,t=j)=>(R(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||d(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?U(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(W)for(var l of W(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,C(yield y(p(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(p(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=$(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!d($($(i,e),n)))(n,l)?C(m(p(yield e(ne+J(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!x(n)))):{}})),(n,o,u,a,c,s=!1)=>Q(void 0,null,(function*(){const v=k();R(null!=u?u:{},(e=>p(T(null!=e?e:{}),(e=>G(v,e)))));const w=P(v);if(!s&&c&&h(w)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(h(w)||O(i,n)){const t=$(i,n),r=k(D(t));yield y([...p(w,(o=>Q(void 0,null,(function*(){A(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!s&&a?p(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(e=>t+J(e))))});`),j(i,n,I([[o,l],...p(w,(e=>[e,l]))]));if(s)d(u)?yield e(ee+J(n)+te+" 1"):yield y(R(u,((l,t)=>Q(void 0,null,(function*(){d(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):h(w)||(yield re(e,n,o,T(l),[t,...S(l)],r))})))));else if(h(w))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D($(i,n)),(e=>e!=o)),t=[],d=[];R(null!=u?u:{},((e,n)=>{E(t,n,...p(l,(n=>null==e?void 0:e[n]))),E(d,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(d)+")",d)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,d=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(d?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(p(i,(e=>t+J(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(d?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(p(i,(e=>J(e)+"=excluded."+J(e))),t):l),p(u,(e=>null!=e?e:null)))})),ie=e=>f(p(e,(()=>"?")),t),ue=JSON.parse;var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=I(),ce=I(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;F(ae,c,(()=>0)),F(ce,c,(()=>[]));const h=e=>de(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>de(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>de(void 0,null,(function*(){return yield h((()=>de(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>de(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),p=1,y=t(((l,t)=>de(void 0,null,(function*(){if(t){const n=t();yield h((()=>de(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>de(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>de(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>de(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>de(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();x(l)&&x(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,m),schedule:(...e)=>de(void 0,null,(function*(){return E($(ce,c),...e),yield de(void 0,null,(function*(){if(!$(ae,c)){for(j(ae,c,1);!d((e=$(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}j(ae,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),b(m)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,d,a)=>{const[c,s,v,y]=oe(n,i,o,a);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const he=(e,n,l,t,o,[r,i,[u,a,c]],s,v,f,p)=>{const[h,E,O,P]=oe(n,s,o,p),A=(e,n)=>pe(void 0,null,(function*(){return yield y(_(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),w=(e,n)=>pe(void 0,null,(function*(){return a?yield O(c,H,{[B]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield P((()=>pe(void 0,null,(function*(){yield h();const e=yield pe(void 0,null,(function*(){return C(m(yield y(_(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!x(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return x(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield P((()=>pe(void 0,null,(function*(){if(yield h(),d(n)){const[n,l]=e();yield A(n),yield w(l)}else{const[e,l]=n();yield A(e,!0),yield w(l,!0)}}))))}))),l,t,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="storeTableName",Pe="rowIdColumnName",Ae="tableId",we="tableName",Ne="deleteEmptyColumns",Te="deleteEmptyTable",be={mode:me,[Ee]:1},Ce={load:0,save:0,[we]:n+"_values"},Le=(e,n,l,t)=>{const o=I();return R(e,((e,r)=>{const i=s(S(L(n,c(e)?{[l]:e}:e)),0,g(n));d(i[0])||t(r,i[0])||j(o,r,i)})),o};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 Se="pragma_",ge="data_version",xe="schema_version",Ie=(e,l,t,o,r,i,d,a,v="getDb",y)=>{let f,p,h;const[m,E,O,A]=(e=>{const l=(e=>L(be,c(e)?{[Oe]:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(S(L(Ce,i)),0,g(Ce)),d=u[2],a=k(d);return[0,t,[Le(o,{[Ae]:null,[Pe]:H},Ae,(e=>G(a,e)&&e==d)),Le(r,{[we]:null,[Pe]:H,[Ne]:0,[Te]:0},we,((e,n)=>G(a,n)&&n==d)),u],a]})(l);return(m?fe:he)(e,i?(e,n)=>Re(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Re(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${ge} d,${xe} s,TOTAL_CHANGES() c FROM ${Se}${ge} JOIN ${Se}${xe}`);n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),f=n,p=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=h=null,r(n)}),d,O,P(A),a,v,y)},De=(e,n,l,t,o)=>Ie(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execute({sql:e,args:l})).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}),(()=>()=>0),(e=>e()),t,o,n,"getClient");export{De as createLibSqlPersister};
@@ -1 +1 @@
1
- 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,n="")=>e.join(n),h=(e,n)=>e.map(n),p=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,A=e=>w.getPrototypeOf(e),T=w.keys,N=w.freeze,S=(e=[])=>w.fromEntries(e),g=(...e)=>w.assign({},...e),C=(e,n)=>h(w.entries(e),(([e,l])=>n(l,e))),x=e=>w.values(e),L=e=>v(T(e)),R=e=>(e=>!a(e)&&d(A(e),(e=>e==w.prototype||a(A(e))),(()=>!0)))(e)&&0==L(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>a(l)?(b(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),_(e,n)),M=(e,n,l,t=j)=>(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)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(W)for(var l of W(n))K.call(n,l)&&V(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,S(yield y(h(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(h(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=_(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(i,e),n)))(n,l)?S(m(h(yield e(ne+J(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!R(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=k();C(null!=u?u:{},(e=>h(T(null!=e?e:{}),(e=>G(v,e)))));const w=P(v);if(!s&&c&&p(w)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(p(w)||O(i,n)){const t=_(i,n),r=k(D(t));yield y([...h(w,(o=>Q(void 0,null,(function*(){b(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!s&&d?h(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(h(w,(e=>t+J(e))))});`),j(i,n,I([[o,l],...h(w,(e=>[e,l]))]));if(s)a(u)?yield e(ee+J(n)+te+" 1"):yield y(C(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):p(w)||(yield re(e,n,o,T(l),[t,...x(l)],r))})))));else if(p(w))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D(_(i,n)),(e=>e!=o)),t=[],a=[];C(null!=u?u:{},((e,n)=>{E(t,n,...h(l,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(a)+")",a)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(h(i,(e=>t+J(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(h(i,(e=>J(e)+"=excluded."+J(e))),t):l),h(u,(e=>null!=e?e:null)))})),ie=e=>f(h(e,(()=>"?")),t),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,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=I(),ce=I(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;F(de,c,(()=>0)),F(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();R(l)&&R(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E(_(ce,c),...e),yield ae(void 0,null,(function*(){if(!_(de,c)){for(j(de,c,1);!a((e=_(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}j(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),N(m)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,f,h)=>{const[p,E,O,P]=oe(n,s,o,h),b=(e,n)=>he(void 0,null,(function*(){return yield y($(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),w=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,H,{[B]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){yield p();const e=yield he(void 0,null,(function*(){return S(m(yield y($(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!R(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return R(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){if(yield p(),a(n)){const[n,l]=e();yield b(n),yield w(l)}else{const[e,l]=n();yield b(e,!0),yield w(l,!0)}}))))}))),l,t,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",be="tableName",we={mode:me,[Ee]:1},Ae={load:0,save:0,[be]:n+"_values"},Te=(e,n,l,t)=>{const o=I();return C(e,((e,r)=>{const i=s(x(g(n,c(e)?{[l]:e}:e)),0,L(n));a(i[0])||t(r,i[0])||j(o,r,i)})),o};var Ne=(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 Se="pragma_",ge="data_version",Ce="schema_version",xe=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,p;const[m,E,O,b]=(e=>{const l=(e=>g(we,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(x(g(Ae,i)),0,L(Ae)),a=u[2],d=k(a);return[0,t,[Te(o,{[Pe]:null,[Oe]:H},Pe,(e=>G(d,e)&&e==a)),Te(r,{[be]:null,[Oe]:H,deleteEmptyColumns:0,deleteEmptyTable:0},be,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(m?fe:pe)(e,i?(e,n)=>Ne(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ne(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${ge} d,${Ce} s,TOTAL_CHANGES() c FROM ${Se}${ge} JOIN ${Se}${Ce}`);n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),f=n,h=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>b.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=p=null,r(n)}),a,O,P(b),d,v,y)};var Le=(e,n)=>(n=Symbol[e])?n:Symbol.for("Symbol."+e),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=(e,n,l,t,o,r=!1)=>xe(e,l,((e,...l)=>Re(void 0,[e,...l],(function*(e,l=[]){return n.execute(e,l).then((e=>{var n,l;return null!=(l=null==(n=e.rows)?void 0:n._array)?l:[]}))}))),(e=>{const l=new AbortController,t=n.onChange({rawTableNames:!0,signal:l.signal});return Re(void 0,null,(function*(){try{for(var n,l,o,r=((e,n,l)=>(n=e[Le("asyncIterator")])?n.call(e):(e=e[Le("iterator")](),n={},(l=(l,t)=>(t=e[l])&&(n[l]=n=>new Promise(((l,o,r)=>(n=t.call(e,n),r=n.done,Promise.resolve(n.value).then((e=>l({value:e,done:r})),o))))))("next"),l("return"),n))(t);n=!(l=yield r.next()).done;n=!1){const n=l.value;h(n.changedTables,e)}}catch(l){o=[l]}finally{try{n&&(l=r.return)&&(yield l.call(r))}finally{if(o)throw o[0]}}})),l}),(e=>e.abort()),t,o,n,"getPowerSync",r);export{Ie as createPowerSyncPersister};
1
+ 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,n="")=>e.join(n),h=(e,n)=>e.map(n),p=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,A=e=>w.getPrototypeOf(e),T=w.keys,N=w.freeze,S=(e=[])=>w.fromEntries(e),g=(...e)=>w.assign({},...e),C=(e,n)=>h(w.entries(e),(([e,l])=>n(l,e))),x=e=>w.values(e),L=e=>v(T(e)),R=e=>(e=>!a(e)&&d(A(e),(e=>e==w.prototype||a(A(e))),(()=>!0)))(e)&&0==L(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>a(l)?(b(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),_(e,n)),M=(e,n,l,t=j)=>(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)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(W)for(var l of W(n))K.call(n,l)&&V(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,S(yield y(h(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(h(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=_(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(i,e),n)))(n,l)?S(m(h(yield e(ne+J(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!R(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=k();C(null!=u?u:{},(e=>h(T(null!=e?e:{}),(e=>G(v,e)))));const w=P(v);if(!s&&c&&p(w)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(p(w)||O(i,n)){const t=_(i,n),r=k(D(t));yield y([...h(w,(o=>Q(void 0,null,(function*(){b(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!s&&d?h(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(h(w,(e=>t+J(e))))});`),j(i,n,I([[o,l],...h(w,(e=>[e,l]))]));if(s)a(u)?yield e(ee+J(n)+te+" 1"):yield y(C(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):p(w)||(yield re(e,n,o,T(l),[t,...x(l)],r))})))));else if(p(w))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D(_(i,n)),(e=>e!=o)),t=[],a=[];C(null!=u?u:{},((e,n)=>{E(t,n,...h(l,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(a)+")",a)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(h(i,(e=>t+J(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(h(i,(e=>J(e)+"=excluded."+J(e))),t):l),h(u,(e=>null!=e?e:null)))})),ie=e=>f(h(e,(()=>"?")),t),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,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=I(),ce=I(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;F(de,c,(()=>0)),F(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();R(l)&&R(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E(_(ce,c),...e),yield ae(void 0,null,(function*(){if(!_(de,c)){for(j(de,c,1);!a((e=_(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}j(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),N(m)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,f,h)=>{const[p,E,O,P]=oe(n,s,o,h),b=(e,n)=>he(void 0,null,(function*(){return yield y($(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),w=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,H,{[B]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){yield p();const e=yield he(void 0,null,(function*(){return S(m(yield y($(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!R(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return R(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){if(yield p(),a(n)){const[n,l]=e();yield b(n),yield w(l)}else{const[e,l]=n();yield b(e,!0),yield w(l,!0)}}))))}))),l,t,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="storeTableName",Pe="rowIdColumnName",be="tableId",we="tableName",Ae="deleteEmptyColumns",Te="deleteEmptyTable",Ne={mode:me,[Ee]:1},Se={load:0,save:0,[we]:n+"_values"},ge=(e,n,l,t)=>{const o=I();return C(e,((e,r)=>{const i=s(x(g(n,c(e)?{[l]:e}:e)),0,L(n));a(i[0])||t(r,i[0])||j(o,r,i)})),o};var Ce=(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 xe="pragma_",Le="data_version",Re="schema_version",Ie=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,p;const[m,E,O,b]=(e=>{const l=(e=>g(Ne,c(e)?{[Oe]:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(x(g(Se,i)),0,L(Se)),a=u[2],d=k(a);return[0,t,[ge(o,{[be]:null,[Pe]:H},be,(e=>G(d,e)&&e==a)),ge(r,{[we]:null,[Pe]:H,[Ae]:0,[Te]:0},we,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(m?fe:pe)(e,i?(e,n)=>Ce(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ce(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${Le} d,${Re} s,TOTAL_CHANGES() c FROM ${xe}${Le} JOIN ${xe}${Re}`);n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),f=n,h=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>b.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=p=null,r(n)}),a,O,P(b),d,v,y)};var De=(e,n)=>(n=Symbol[e])?n:Symbol.for("Symbol."+e),_e=(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 $e=(e,n,l,t,o,r=!1)=>Ie(e,l,((e,...l)=>_e(void 0,[e,...l],(function*(e,l=[]){return n.execute(e,l).then((e=>{var n,l;return null!=(l=null==(n=e.rows)?void 0:n._array)?l:[]}))}))),(e=>{const l=new AbortController,t=n.onChange({rawTableNames:!0,signal:l.signal});return _e(void 0,null,(function*(){try{for(var n,l,o,r=((e,n,l)=>(n=e[De("asyncIterator")])?n.call(e):(e=e[De("iterator")](),n={},(l=(l,t)=>(t=e[l])&&(n[l]=n=>new Promise(((l,o,r)=>(n=t.call(e,n),r=n.done,Promise.resolve(n.value).then((e=>l({value:e,done:r})),o))))))("next"),l("return"),n))(t);n=!(l=yield r.next()).done;n=!1){const n=l.value;h(n.changedTables,e)}}catch(l){o=[l]}finally{try{n&&(l=r.return)&&(yield l.call(r))}finally{if(o)throw o[0]}}})),l}),(e=>e.abort()),t,o,n,"getPowerSync",r);export{$e as createPowerSyncPersister};
@@ -1 +1 @@
1
- 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=(e,n="")=>e.join(n),p=(e,n)=>e.map(n),h=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var 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:[]]},P=(e,n)=>null==e?void 0:e.delete(n),w=Object,A=e=>w.getPrototypeOf(e),N=w.keys,T=w.freeze,R=(e=[])=>w.fromEntries(e),L=(...e)=>w.assign({},...e),S=(e,n)=>p(w.entries(e),(([e,t])=>n(t,e))),C=e=>w.values(e),g=e=>v(N(e)),x=e=>(e=>!a(e)&&d(A(e),(e=>e==w.prototype||a(A(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return p([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>a(t)?(P(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t)=>(O(e,n)||$(e,n,t()),_(e,n)),F=(e,n,t,l=$)=>(S(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),k="_",B="_id",H=e=>`"${e.replace(/"/g,'""')}"`,J="SELECT",Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,U=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,W=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={}))V.call(n,t)&&z(e,t,n[t]);if(U)for(var t of U(n))W.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="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=J+"*FROM",te="FROM pragma_table_",le="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return F(i,R(yield y(p(yield e("SELECT name "+te+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,R(p(yield e(J+" name,type "+te+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>$(i,n,F(M(i,n,I),t,((e,n,t)=>{t!=_(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))))),((e,n)=>$(i,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(i,e),n)))(n,t)?R(m(p(yield e(ne+H(n)),(e=>{return[e[t],(n=K({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!x(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=Y();S(null!=u?u:{},(e=>p(N(null!=e?e:{}),(e=>q(v,e)))));const w=b(v);if(!s&&c&&h(w)&&O(i,n))return yield e("DROP "+X+H(n)),void $(i,n);if(h(w)||O(i,n)){const l=_(i,n),r=Y(D(l));yield y([...p(w,(o=>Q(void 0,null,(function*(){P(r,o)||(yield e(Z+H(n)+"ADD"+H(o)),$(l,o,t))})))),...!s&&d?p(b(r),(t=>Q(void 0,null,(function*(){t!=o&&(yield e(Z+H(n)+"DROP"+H(t)),$(l,t))})))):[]])}else yield e("CREATE "+X+H(n)+"("+H(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(e=>l+H(e))))});`),$(i,n,I([[o,t],...p(w,(e=>[e,t]))]));if(s)a(u)?yield e(ee+H(n)+le+" 1"):yield y(S(u,((t,l)=>Q(void 0,null,(function*(){a(t)?yield e(ee+H(n)+le+H(o)+"=?",[l]):h(w)||(yield re(e,n,o,N(t),[l,...C(t)],r))})))));else if(h(w))O(i,n)&&(yield e(ee+H(n)+le+" 1"));else{const t=m(D(_(i,n)),(e=>e!=o)),l=[],a=[];S(null!=u?u:{},((e,n)=>{E(l,n,...p(t,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,t,l,r),yield e(ee+H(n)+le+H(o)+"NOT IN("+ie(a)+")",a)}})),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}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?t:"OR REPLACE ")+"INTO"+H(n)+"("+H(o)+f(p(i,(e=>l+H(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+H(o)+")DO UPDATE SET"+f(p(i,(e=>H(e)+"=excluded."+H(e))),l):t),p(u,(e=>null!=e?e:null)))})),ie=e=>f(p(e,(()=>"?")),l),ue=JSON.parse;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=I(),ce=I(),se=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;M(de,c,(()=>0)),M(ce,c,(()=>[]));const h=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(t,l)=>ae(void 0,null,(function*(){return yield h((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ae(void 0,[...t],(function*(t={},o={}){return m.stopAutoLoad(),yield m.load(t,o),p=1,y=l(((t,l)=>ae(void 0,null,(function*(){if(l){const n=l();yield h((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>ae(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)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();x(t)&&x(l)||m.save((()=>[t,l]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E(_(ce,c),...e),yield ae(void 0,null,(function*(){if(!_(de,c)){for($(de,c,1);!a((e=_(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}$(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),T(m)};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="store",fe=(e,n,t,l,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,B))[k])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,t;yield c(),yield v(r,B,{[k]:{[ye]:(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 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 he=(e,n,t,l,o,[r,i,[u,d,c]],s,v,f,p)=>{const[h,E,O,b]=oe(n,s,o,p),P=(e,n)=>pe(void 0,null,(function*(){return yield y(j(i,((t,l)=>pe(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))})))))})),w=(e,n)=>pe(void 0,null,(function*(){return d?yield O(c,B,{[k]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield b((()=>pe(void 0,null,(function*(){yield h();const e=yield pe(void 0,null,(function*(){return R(m(yield y(j(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!x(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield E(c,B))[k]:{}}));return x(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield b((()=>pe(void 0,null,(function*(){if(yield h(),a(n)){const[n,t]=e();yield P(n),yield w(t)}else{const[e,t]=n();yield P(e,!0),yield w(t,!0)}}))))}))),t,l,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",be="tableId",Pe="tableName",we={mode:me,[Ee]:1},Ae={load:0,save:0,[Pe]:n+"_values"},Ne=(e,n,t,l)=>{const o=I();return S(e,((e,r)=>{const i=s(C(L(n,c(e)?{[t]:e}:e)),0,g(n));a(i[0])||l(r,i[0])||$(o,r,i)})),o};var Te=(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_",Le="data_version",Se="schema_version",Ce=(e,t,l,o,r,i,a,d,v="getDb",y)=>{let f,p,h;const[m,E,O,P]=(e=>{const t=(e=>L(we,c(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[Ee];if(t.mode==me){const{storeTableName:e=n}=t;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=s(C(L(Ae,i)),0,g(Ae)),a=u[2],d=Y(a);return[0,l,[Ne(o,{[be]:null,[Oe]:B},be,(e=>q(d,e)&&e==a)),Ne(r,{[Pe]:null,[Oe]:B,deleteEmptyColumns:0,deleteEmptyTable:0},Pe,((e,n)=>q(d,n)&&n==a)),u],d]})(t);return(m?fe:he)(e,i?(e,n)=>Te(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const[{d:n,s:t,c:o}]=yield l(`SELECT ${Le} d,${Se} s,TOTAL_CHANGES() c FROM ${Re}${Le} JOIN ${Re}${Se}`);n==(null!=f?f:f=n)&&t==(null!=p?p:p=t)&&o==(null!=h?h:h=o)||(e(),f=n,p=t)}catch(e){}})),t=E,n(),setInterval(n,1e3*t)),o((n=>P.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),f=p=h=null,r(n)}),a,O,b(P),d,v,y)};var ge=Object.defineProperty,xe=Object.getOwnPropertySymbols,Ie=Object.prototype.hasOwnProperty,De=Object.prototype.propertyIsEnumerable,_e=(e,n,t)=>n in e?ge(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const je=(e,n,t,l,o,r)=>Ce(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={}))Ie.call(n,t)&&_e(e,t,n[t]);if(xe)for(var t of xe(n))De.call(n,t)&&_e(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);export{je as createSqliteWasmPersister};
1
+ 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=(e,n="")=>e.join(n),p=(e,n)=>e.map(n),h=e=>0==v(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var 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:[]]},P=(e,n)=>null==e?void 0:e.delete(n),w=Object,A=e=>w.getPrototypeOf(e),N=w.keys,T=w.freeze,R=(e=[])=>w.fromEntries(e),L=(...e)=>w.assign({},...e),S=(e,n)=>p(w.entries(e),(([e,t])=>n(t,e))),C=e=>w.values(e),g=e=>v(N(e)),x=e=>(e=>!a(e)&&d(A(e),(e=>e==w.prototype||a(A(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return p([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>a(t)?(P(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t)=>(O(e,n)||$(e,n,t()),_(e,n)),F=(e,n,t,l=$)=>(S(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),k="_",B="_id",H=e=>`"${e.replace(/"/g,'""')}"`,J="SELECT",Y=e=>new Set(Array.isArray(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,U=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,W=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={}))V.call(n,t)&&z(e,t,n[t]);if(U)for(var t of U(n))W.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="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=J+"*FROM",te="FROM pragma_table_",le="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return F(i,R(yield y(p(yield e("SELECT name "+te+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,R(p(yield e(J+" name,type "+te+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>$(i,n,F(M(i,n,I),t,((e,n,t)=>{t!=_(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))))),((e,n)=>$(i,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!a(_(_(i,e),n)))(n,t)?R(m(p(yield e(ne+H(n)),(e=>{return[e[t],(n=K({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!a(e)&&!x(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=Y();S(null!=u?u:{},(e=>p(N(null!=e?e:{}),(e=>q(v,e)))));const w=b(v);if(!s&&c&&h(w)&&O(i,n))return yield e("DROP "+X+H(n)),void $(i,n);if(h(w)||O(i,n)){const l=_(i,n),r=Y(D(l));yield y([...p(w,(o=>Q(void 0,null,(function*(){P(r,o)||(yield e(Z+H(n)+"ADD"+H(o)),$(l,o,t))})))),...!s&&d?p(b(r),(t=>Q(void 0,null,(function*(){t!=o&&(yield e(Z+H(n)+"DROP"+H(t)),$(l,t))})))):[]])}else yield e("CREATE "+X+H(n)+"("+H(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(w,(e=>l+H(e))))});`),$(i,n,I([[o,t],...p(w,(e=>[e,t]))]));if(s)a(u)?yield e(ee+H(n)+le+" 1"):yield y(S(u,((t,l)=>Q(void 0,null,(function*(){a(t)?yield e(ee+H(n)+le+H(o)+"=?",[l]):h(w)||(yield re(e,n,o,N(t),[l,...C(t)],r))})))));else if(h(w))O(i,n)&&(yield e(ee+H(n)+le+" 1"));else{const t=m(D(_(i,n)),(e=>e!=o)),l=[],a=[];S(null!=u?u:{},((e,n)=>{E(l,n,...p(t,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,t,l,r),yield e(ee+H(n)+le+H(o)+"NOT IN("+ie(a)+")",a)}})),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}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?t:"OR REPLACE ")+"INTO"+H(n)+"("+H(o)+f(p(i,(e=>l+H(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+H(o)+")DO UPDATE SET"+f(p(i,(e=>H(e)+"=excluded."+H(e))),l):t),p(u,(e=>null!=e?e:null)))})),ie=e=>f(p(e,(()=>"?")),l),ue=JSON.parse;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=I(),ce=I(),se=(e,n,t,l,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;M(de,c,(()=>0)),M(ce,c,(()=>[]));const h=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(t,l)=>ae(void 0,null,(function*(){return yield h((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ae(void 0,[...t],(function*(t={},o={}){return m.stopAutoLoad(),yield m.load(t,o),p=1,y=l(((t,l)=>ae(void 0,null,(function*(){if(l){const n=l();yield h((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>ae(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)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();x(t)&&x(l)||m.save((()=>[t,l]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E(_(ce,c),...e),yield ae(void 0,null,(function*(){if(!_(de,c)){for($(de,c,1);!a((e=_(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}$(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),T(m)};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="store",fe=(e,n,t,l,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,B))[k])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,t;yield c(),yield v(r,B,{[k]:{[ye]:(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 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 he=(e,n,t,l,o,[r,i,[u,d,c]],s,v,f,p)=>{const[h,E,O,b]=oe(n,s,o,p),P=(e,n)=>pe(void 0,null,(function*(){return yield y(j(i,((t,l)=>pe(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))})))))})),w=(e,n)=>pe(void 0,null,(function*(){return d?yield O(c,B,{[k]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield b((()=>pe(void 0,null,(function*(){yield h();const e=yield pe(void 0,null,(function*(){return R(m(yield y(j(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!x(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield E(c,B))[k]:{}}));return x(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield b((()=>pe(void 0,null,(function*(){if(yield h(),a(n)){const[n,t]=e();yield P(n),yield w(t)}else{const[e,t]=n();yield P(e,!0),yield w(t,!0)}}))))}))),t,l,o,[f,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="storeTableName",be="rowIdColumnName",Pe="tableId",we="tableName",Ae="deleteEmptyColumns",Ne="deleteEmptyTable",Te={mode:me,[Ee]:1},Re={load:0,save:0,[we]:n+"_values"},Le=(e,n,t,l)=>{const o=I();return S(e,((e,r)=>{const i=s(C(L(n,c(e)?{[t]:e}:e)),0,g(n));a(i[0])||l(r,i[0])||$(o,r,i)})),o};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 Ce="pragma_",ge="data_version",xe="schema_version",Ie=(e,t,l,o,r,i,a,d,v="getDb",y)=>{let f,p,h;const[m,E,O,P]=(e=>{const t=(e=>L(Te,c(e)?{[Oe]:e}:null!=e?e:{}))(e),l=t[Ee];if(t.mode==me){const{storeTableName:e=n}=t;return[1,l,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=s(C(L(Re,i)),0,g(Re)),a=u[2],d=Y(a);return[0,l,[Le(o,{[Pe]:null,[be]:B},Pe,(e=>q(d,e)&&e==a)),Le(r,{[we]:null,[be]:B,[Ae]:0,[Ne]:0},we,((e,n)=>q(d,n)&&n==a)),u],d]})(t);return(m?fe:he)(e,i?(e,n)=>Se(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Se(void 0,null,(function*(){try{const[{d:n,s:t,c:o}]=yield l(`SELECT ${ge} d,${xe} s,TOTAL_CHANGES() c FROM ${Ce}${ge} JOIN ${Ce}${xe}`);n==(null!=f?f:f=n)&&t==(null!=p?p:p=t)&&o==(null!=h?h:h=o)||(e(),f=n,p=t)}catch(e){}})),t=E,n(),setInterval(n,1e3*t)),o((n=>P.has(n)?e():0))];var n,t}),(([e,n])=>{u(e),f=p=h=null,r(n)}),a,O,b(P),d,v,y)};var De=Object.defineProperty,_e=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,$e=Object.prototype.propertyIsEnumerable,Me=(e,n,t)=>n in e?De(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Fe=(e,n,t,l,o,r)=>Ie(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={}))je.call(n,t)&&Me(e,t,n[t]);if(_e)for(var t of _e(n))$e.call(n,t)&&Me(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);export{Fe as createSqliteWasmPersister};
@@ -1 +1 @@
1
- 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,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),h=(e,n)=>e.map(n),p=e=>0==s(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),T=w.keys,b=w.freeze,L=(e=[])=>w.fromEntries(e),R=(...e)=>w.assign({},...e),C=(e,n)=>h(w.entries(e),(([e,l])=>n(l,e))),S=e=>w.values(e),g=e=>s(T(e)),x=e=>(e=>!a(e)&&d(N(e),(e=>e==w.prototype||a(N(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>a(l)?(A(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),$(e,n)),M=(e,n,l,t=j)=>(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)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(W)for(var l of W(n))K.call(n,l)&&V(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,L(yield y(h(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,L(h(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=$(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a($($(i,e),n)))(n,l)?L(m(h(yield e(ne+J(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!x(n)))):{}})),(n,o,u,d,c,v=!1)=>Q(void 0,null,(function*(){const s=k();C(null!=u?u:{},(e=>h(T(null!=e?e:{}),(e=>G(s,e)))));const w=P(s);if(!v&&c&&p(w)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(p(w)||O(i,n)){const t=$(i,n),r=k(D(t));yield y([...h(w,(o=>Q(void 0,null,(function*(){A(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!v&&d?h(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(h(w,(e=>t+J(e))))});`),j(i,n,I([[o,l],...h(w,(e=>[e,l]))]));if(v)a(u)?yield e(ee+J(n)+te+" 1"):yield y(C(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):p(w)||(yield re(e,n,o,T(l),[t,...S(l)],r))})))));else if(p(w))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D($(i,n)),(e=>e!=o)),t=[],a=[];C(null!=u?u:{},((e,n)=>{E(t,n,...h(l,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(a)+")",a)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(h(i,(e=>t+J(e))))+")VALUES"+v(r(`,(?${r(",?",s(i))})`,s(u)/(s(i)+1)),1)+(a?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(h(i,(e=>J(e)+"=excluded."+J(e))),t):l),h(u,(e=>null!=e?e:null)))})),ie=e=>f(h(e,(()=>"?")),t),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,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=I(),ce=I(),ve=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,h=0;F(de,c,(()=>0)),F(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();x(l)&&x(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E($(ce,c),...e),yield ae(void 0,null,(function*(){if(!$(de,c)){for(j(de,c,1);!a((e=$(ce,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}j(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),b(m)};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 ye="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,v,s,y]=oe(n,i,o,d);return ve(e,(()=>se(void 0,null,(function*(){return yield y((()=>se(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield v(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield y((()=>se(void 0,null,(function*(){var n,l;yield c(),yield s(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],v,s,f,h)=>{const[p,E,O,P]=oe(n,v,o,h),A=(e,n)=>he(void 0,null,(function*(){return yield y(_(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),w=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,H,{[B]:e},!0,!0,n):null}));return ve(e,(()=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){yield p();const e=yield he(void 0,null,(function*(){return L(m(yield y(_(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!x(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return x(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){if(yield p(),a(n)){const[n,l]=e();yield A(n),yield w(l)}else{const[e,l]=n();yield A(e,!0),yield w(l,!0)}}))))}))),l,t,o,[f,s],s)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",Ae="tableName",we={mode:me,[Ee]:1},Ne={load:0,save:0,[Ae]:n+"_values"},Te=(e,n,l,t)=>{const o=I();return C(e,((e,r)=>{const i=v(S(R(n,c(e)?{[l]:e}:e)),0,g(n));a(i[0])||t(r,i[0])||j(o,r,i)})),o};var be=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma_",Re="data_version",Ce="schema_version",Se=(e,l,t,o,r,i,a,d,s="getDb",y)=>{let f,h,p;const[m,E,O,A]=(e=>{const l=(e=>R(we,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(S(R(Ne,i)),0,g(Ne)),a=u[2],d=k(a);return[0,t,[Te(o,{[Pe]:null,[Oe]:H},Pe,(e=>G(d,e)&&e==a)),Te(r,{[Ae]:null,[Oe]:H,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(m?fe:pe)(e,i?(e,n)=>be(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>be(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${Re} d,${Ce} s,TOTAL_CHANGES() c FROM ${Le}${Re} JOIN ${Le}${Ce}`);n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),f=n,h=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=p=null,r(n)}),a,O,P(A),d,s,y)},ge="change",xe=(e,n,l,t,o)=>Se(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(ge,l),l}),(e=>n.off(ge,e)),t,o,n);export{xe as createSqlite3Persister};
1
+ 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,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),h=(e,n)=>e.map(n),p=e=>0==s(e),m=(e,n)=>e.filter(n),E=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),T=w.keys,b=w.freeze,L=(e=[])=>w.fromEntries(e),R=(...e)=>w.assign({},...e),C=(e,n)=>h(w.entries(e),(([e,l])=>n(l,e))),S=e=>w.values(e),g=e=>s(T(e)),x=e=>(e=>!a(e)&&d(N(e),(e=>e==w.prototype||a(N(e))),(()=>!0)))(e)&&0==g(e),I=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>a(l)?(A(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(O(e,n)||j(e,n,l()),$(e,n)),M=(e,n,l,t=j)=>(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)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B="_",H="_id",J=e=>`"${e.replace(/"/g,'""')}"`,Y="SELECT",k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(W)for(var l of W(n))K.call(n,l)&&V(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=Y+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=I();return[()=>Q(void 0,null,(function*(){return M(i,L(yield y(h(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,L(h(yield e(Y+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(i,n,M(F(i,n,I),l,((e,n,l)=>{l!=$(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a($($(i,e),n)))(n,l)?L(m(h(yield e(ne+J(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!x(n)))):{}})),(n,o,u,d,c,v=!1)=>Q(void 0,null,(function*(){const s=k();C(null!=u?u:{},(e=>h(T(null!=e?e:{}),(e=>G(s,e)))));const w=P(s);if(!v&&c&&p(w)&&O(i,n))return yield e("DROP "+X+J(n)),void j(i,n);if(p(w)||O(i,n)){const t=$(i,n),r=k(D(t));yield y([...h(w,(o=>Q(void 0,null,(function*(){A(r,o)||(yield e(Z+J(n)+"ADD"+J(o)),j(t,o,l))})))),...!v&&d?h(P(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+J(n)+"DROP"+J(l)),j(t,l))})))):[]])}else yield e("CREATE "+X+J(n)+"("+J(o)+` PRIMARY KEY ON CONFLICT REPLACE${f(h(w,(e=>t+J(e))))});`),j(i,n,I([[o,l],...h(w,(e=>[e,l]))]));if(v)a(u)?yield e(ee+J(n)+te+" 1"):yield y(C(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+J(n)+te+J(o)+"=?",[t]):p(w)||(yield re(e,n,o,T(l),[t,...S(l)],r))})))));else if(p(w))O(i,n)&&(yield e(ee+J(n)+te+" 1"));else{const l=m(D($(i,n)),(e=>e!=o)),t=[],a=[];C(null!=u?u:{},((e,n)=>{E(t,n,...h(l,(n=>null==e?void 0:e[n]))),E(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+J(n)+te+J(o)+"NOT IN("+ie(a)+")",a)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+J(n)+"("+J(o)+f(h(i,(e=>t+J(e))))+")VALUES"+v(r(`,(?${r(",?",s(i))})`,s(u)/(s(i)+1)),1)+(a?"ON CONFLICT("+J(o)+")DO UPDATE SET"+f(h(i,(e=>J(e)+"=excluded."+J(e))),t):l),h(u,(e=>null!=e?e:null)))})),ie=e=>f(h(e,(()=>"?")),t),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,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=I(),ce=I(),ve=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,h=0;F(de,c,(()=>0)),F(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();x(l)&&x(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return E($(ce,c),...e),yield ae(void 0,null,(function*(){if(!$(de,c)){for(j(de,c,1);!a((e=$(ce,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}j(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),b(m)};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 ye="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,v,s,y]=oe(n,i,o,d);return ve(e,(()=>se(void 0,null,(function*(){return yield y((()=>se(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield v(r,H))[B])?void 0:e[ye])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield y((()=>se(void 0,null,(function*(){var n,l;yield c(),yield s(r,H,{[B]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],v,s,f,h)=>{const[p,E,O,P]=oe(n,v,o,h),A=(e,n)=>he(void 0,null,(function*(){return yield y(_(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),w=(e,n)=>he(void 0,null,(function*(){return d?yield O(c,H,{[B]:e},!0,!0,n):null}));return ve(e,(()=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){yield p();const e=yield he(void 0,null,(function*(){return L(m(yield y(_(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!x(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return x(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){if(yield p(),a(n)){const[n,l]=e();yield A(n),yield w(l)}else{const[e,l]=n();yield A(e,!0),yield w(l,!0)}}))))}))),l,t,o,[f,s],s)},me="json",Ee="autoLoadIntervalSeconds",Oe="storeTableName",Pe="rowIdColumnName",Ae="tableId",we="tableName",Ne="deleteEmptyColumns",Te="deleteEmptyTable",be={mode:me,[Ee]:1},Le={load:0,save:0,[we]:n+"_values"},Re=(e,n,l,t)=>{const o=I();return C(e,((e,r)=>{const i=v(S(R(n,c(e)?{[l]:e}:e)),0,g(n));a(i[0])||t(r,i[0])||j(o,r,i)})),o};var Ce=(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 Se="pragma_",ge="data_version",xe="schema_version",Ie=(e,l,t,o,r,i,a,d,s="getDb",y)=>{let f,h,p;const[m,E,O,A]=(e=>{const l=(e=>R(be,c(e)?{[Oe]:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(S(R(Le,i)),0,g(Le)),a=u[2],d=k(a);return[0,t,[Re(o,{[Ae]:null,[Pe]:H},Ae,(e=>G(d,e)&&e==a)),Re(r,{[we]:null,[Pe]:H,[Ne]:0,[Te]:0},we,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(m?fe:pe)(e,i?(e,n)=>Ce(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ce(void 0,null,(function*(){try{const[{d:n,s:l,c:o}]=yield t(`SELECT ${ge} d,${xe} s,TOTAL_CHANGES() c FROM ${Se}${ge} JOIN ${Se}${xe}`);n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),f=n,h=l)}catch(e){}})),l=E,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=p=null,r(n)}),a,O,P(A),d,s,y)},De="change",$e=(e,n,l,t,o)=>Ie(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(De,l),l}),(e=>n.off(De,e)),t,o,n);export{$e as createSqlite3Persister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),t=e(!0),r=e(0),l=e(e),o="Listener",s="Result",a="Ids",i="Table",d="Row",u=d+"Count",c=d+a,v="Sorted"+d+a,f="Cell",h=f+a,w=Math.max,g=Math.min,y=isFinite,L=e=>null==e,p=(e,n,t)=>L(e)?void 0:n(e),R=n=>e(n)==l,b=e=>Array.isArray(e),T=e=>e.length,m=()=>{},C=(e,n)=>e.every(n),O=(e,n)=>e.forEach(n),S=e=>Q(e,((e,n)=>e+n),0),I=e=>0==T(e),Q=(e,n,t)=>e.reduce(n,t),j=(e,...n)=>e.push(...n),x=Object,E=x.freeze,M=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},D=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},k=e=>L(e)||0==M(e),z=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=e=>e.clear(),F=(e,n)=>null==e?void 0:e.forEach(n),P=(e,n)=>null==e?void 0:e.delete(n),W=e=>new Map(e),q=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>F(e,((e,t)=>n(t,e))),G=(e,n,t)=>L(t)?(P(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(D(e,n)||G(e,n,t()),q(e,n)),J=(e,n,t,r,l=0)=>p((t?H:q)(e,n[l],l>T(n)-2?t:W),(o=>{if(l>T(n)-2)return(null==r?void 0:r(o))&&G(e,n[l]),o;const s=J(o,n,t,r,l+1);return k(o)&&G(e,n[l]),s})),K=e=>new Set(b(e)||L(e)?e:[e]),N=(e,n)=>null==e?void 0:e.add(n),U=W([["avg",[(e,n)=>S(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,r)=>e+(n-t)/r]],["max",[e=>w(...e),(e,n)=>w(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:w(n,e)]],["min",[e=>g(...e),(e,n)=>g(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:g(n,e)]],["sum",[e=>S(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]);var V=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;const Z=(l=>{const a=new WeakMap;return l=>(a.has(l)||a.set(l,(l=>{const a=l.createStore,w=a(),g=a(),S=W(),{addListener:Q,callListeners:Z,delListener:$}=g,[_,ee,ne,te,re,,,le,,oe,se,ae,ie,de]=((e,n,t,r,l)=>{const o=e.hasRow,s=W(),a=W(),i=W(),d=W(),u=W(),c=W(),v=(n,t,...r)=>{const l=H(c,n,K);return O(r,(n=>N(l,n)&&t&&e.callListener(n))),r},f=(n,...t)=>p(q(c,n),(r=>{O(I(t)?z(r):t,(n=>{e.delListener(n),P(r,n)})),k(r)&&G(c,n)})),h=(e,n)=>{G(s,e,n),D(a,e)||(G(a,e,!0),G(d,e,W()),G(u,e,W()),l(i))},w=e=>{G(s,e),G(a,e),G(d,e),G(u,e),f(e),l(i)};return[()=>e,()=>{return[...null!=(n=null==(e=s)?void 0:e.keys())?n:[]];var e,n},e=>B(a,e),e=>D(a,e),e=>q(s,e),e=>q(a,e),(e,n)=>G(a,e,n),h,(n,r,l,s,a)=>{h(n,r);const i=W(),c=W(),w=q(d,n),g=q(u,n),y=n=>{const l=t=>e.getCell(r,n,t),d=q(w,n),u=o(r,n)?t(s(l,n)):void 0;var v,f;if(d===u||b(d)&&b(u)&&(f=u,T(v=d)===T(f)&&C(v,((e,n)=>f[n]===e)))||G(i,n,[d,u]),!L(a)){const e=q(g,n),t=o(r,n)?a(l,n):void 0;e!=t&&G(c,n,t)}},p=e=>{l((()=>{F(i,(([,e],n)=>G(w,n,e))),F(c,((e,n)=>G(g,n,e)))}),i,c,w,g,e),A(i),A(c)};B(w,y),e.hasTable(r)&&O(e.getRowIds(r),(e=>{D(w,e)||y(e)})),p(!0),f(n),v(n,0,e.addRowListener(r,null,((e,n,t)=>y(t))),e.addTableListener(r,(()=>p())))},w,e=>r(e,i),()=>B(c,w),v,f]})(l,0,m,Q,Z),ue=(e,n,...t)=>O(t,(t=>N(H(H(S,n,W),e,K),t))),ce=e=>{p(q(S,e),(e=>{B(e,((e,n)=>F(n,(n=>e.delListener(n))))),A(e)})),O([g,w],(n=>n.delTable(e)))},ve=(e,n,t)=>ue(n,e,n.addStartTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),fe={setQueryDefinition:(o,s,a)=>{le(o,s),ce(o);const i=[],d=[[null,[s,null,null,[],W()]]],u=[],c=[],v=[];a({select:(e,n)=>{const t=R(e)?[T(i)+"",e]:[L(n)?e:n,t=>t(e,n)];return j(i,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const r=L(t)||R(n)?null:n,l=L(r)?n:t,o=[e,[e,r,R(l)?l:e=>e(l),[],W()]];return j(d,o),{as:e=>o[0]=e}},where:(e,n,t)=>j(u,R(e)?e:L(t)?t=>t(e)===n:r=>r(e,n)===t),group:(e,n,t,r,l)=>{var o;const s=[e,[e,R(n)?[n,t,r,l]:null!=(o=q(U,n))?o:[(e,n)=>n]]];return j(c,s),{as:e=>s[0]=e}},having:(e,n)=>j(v,R(e)?e:t=>t(e)===n)});const f=W(i);if(k(f))return fe;const h=W(d);B(h,((e,[,n])=>p(q(h,n),(({3:n})=>L(e)?0:j(n,e)))));const b=W(c);let m=w;if(k(b)&&I(v))m=g;else{ve(o,m,g);const l=W();B(b,((e,[n,t])=>N(H(l,n,K),[e,t])));const s=K();B(f,(e=>D(l,e)?0:N(s,e)));const a=W(),i=(s,a,i,d)=>p(s,(([u,c,f,h])=>{B(a,((o,[s])=>{const a=H(u,o,W),c=q(a,i),v=d?void 0:s;if(c!==v){const s=K([[c,v]]),d=M(a);G(a,i,v),F(q(l,o),(([l,o])=>{const i=((e,n,t,r,l,o=!1)=>{if(k(t))return;const[s,a,i,d]=l;return o||(o=L(e)),F(r,(([t,r])=>{o||(e=L(t)?null==a?void 0:a(e,r,n++):L(r)?null==i?void 0:i(e,t,n--):null==d?void 0:d(e,r,t,n),o||(o=L(e)))})),o?s(z(t),M(t)):e})(h[l],d,a,s,o);h[l]=L((l=>{const o=e(l);return(e=>e==n||e==t)(o)||o==r&&y(l)?o:void 0})(i))?null:i}))}})),k(c)||!C(v,(e=>e((e=>h[e]))))?g.delRow(o,f):L(f)?s[2]=g.addRow(o,h):g.setRow(o,f,h)}));ue(m,o,m.addRowListener(o,null,((e,n,t,r)=>{const d=[],u=[],c=W(),v=m.hasRow(o,t);let f=!v;F(s,(e=>{const[n,l,s]=r(o,t,e);j(d,l),j(u,s),f||(f=n)})),B(l,(e=>{const[n,,l]=r(o,t,e);(f||n)&&G(c,e,[l])})),f&&i(J(a,d,void 0,(([,e])=>(P(e,t),k(e)))),c,t,1),v&&i(J(a,u,(()=>{const e={};return F(s,(n=>e[n]=m.getCell(o,t,n))),[W(),K(),void 0,e]}),(([,e])=>{N(e,t)})),c,t)})))}ve(o,l,m);const S=(e,n,t,r)=>{const a=e=>l.getCell(n,t,e);O(r,(n=>{var t;const[r,,s,i,d]=q(h,n),u=null==s?void 0:s(a,e),[c,v]=null!=(t=q(d,e))?t:[];u!=c&&(L(v)||de(o,v),G(d,e,L(u)?null:[u,...ie(o,1,l.addRowListener(r,u,(()=>S(e,r,u,i))))]))})),(e=>{const n=(n,t)=>{var r,o,a;return l.getCell(...L(t)?[s,e,n]:n===s?[s,e,t]:[null==(r=q(h,n))?void 0:r[0],null==(a=q(null==(o=q(h,n))?void 0:o[4],e))?void 0:a[0],t])};m.transaction((()=>C(u,(e=>e(n)))?B(f,((t,r)=>((e,n,t,r,l)=>L(l)?e.delCell(n,t,r,!0):e.setCell(n,t,r,l))(m,o,e,t,r(n,e)))):m.delRow(o,e)))})(e)},{3:Q}=q(h,null);return m.transaction((()=>ie(o,1,l.addRowListener(s,null,((e,n,t)=>{l.hasRow(s,t)?S(t,s,t,Q):(m.delRow(o,t),F(h,(({4:e})=>p(q(e,t),(([,n])=>{de(o,n),G(e,t)})))))}))))),fe},delQueryDefinition:e=>(ce(e),oe(e),fe),getStore:_,getQueryIds:ee,forEachQuery:ne,hasQuery:te,getTableId:re,addQueryIdsListener:e=>se((()=>e(fe))),delListener:e=>($(e),fe),destroy:ae,getListenerStats:()=>((e,n)=>{var t={};for(var r in e)X.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&V)for(var r of V(e))n.indexOf(r)<0&&Y.call(e,r)&&(t[r]=e[r]);return t})(g.getListenerStats(),["tables","tableIds","transaction"])};var he,we;return he={[i]:[1,1],[i+h]:[0,1],[u]:[0,1],[c]:[0,1],[v]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},we=([e,n],t)=>{O(e?["get","has","forEach"]:["get"],(e=>fe[e+s+t]=(...n)=>g[e+t](...n))),fe["add"+s+t+o]=(...e)=>{return g["add"+t+o](...(r=e,0,l=n,r.slice(0,l)),((t,...r)=>e[n](fe,...r)),!0);var r,l}},((e,n)=>{e.map(n)})(x.entries(he),(([e,n])=>we(n,e))),E(fe)})(l)),a.get(l))})();export{Z as createQueries};
1
+ const e=e=>typeof e,n=e(""),t=e(!0),r=e(0),l=e(e),o="Listener",s="Result",a="Ids",i="Table",d="Row",u=d+"Count",c=d+a,v="Sorted"+d+a,f="Cell",h=f+a,w=Math.max,g=Math.min,y=isFinite,L=e=>null==e,p=(e,n,t)=>L(e)?void 0:n(e),R=n=>e(n)==l,b=e=>Array.isArray(e),T=e=>e.length,m=()=>{},C=(e,n)=>e.every(n),O=(e,n)=>e.forEach(n),S=e=>Q(e,((e,n)=>e+n),0),I=e=>0==T(e),Q=(e,n,t)=>e.reduce(n,t),j=(e,...n)=>e.push(...n),x=Object,E=x.freeze,M=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},D=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},k=e=>L(e)||0==M(e),z=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=e=>e.clear(),F=(e,n)=>null==e?void 0:e.forEach(n),P=(e,n)=>null==e?void 0:e.delete(n),W=e=>new Map(e),q=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>F(e,((e,t)=>n(t,e))),G=(e,n,t)=>L(t)?(P(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(D(e,n)||G(e,n,t()),q(e,n)),J=(e,n,t,r,l=0)=>p((t?H:q)(e,n[l],l>T(n)-2?t:W),(o=>{if(l>T(n)-2)return(null==r?void 0:r(o))&&G(e,n[l]),o;const s=J(o,n,t,r,l+1);return k(o)&&G(e,n[l]),s})),K=e=>new Set(b(e)||L(e)?e:[e]),N=(e,n)=>null==e?void 0:e.add(n),U=W([["avg",[(e,n)=>S(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,r)=>e+(n-t)/r]],["max",[e=>w(...e),(e,n)=>w(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:w(n,e)]],["min",[e=>g(...e),(e,n)=>g(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:g(n,e)]],["sum",[e=>S(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]);var V=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;const Z=(l=>{const a=new WeakMap;return l=>(a.has(l)||a.set(l,(l=>{const a=l.createStore,w=a(),g=a(),S=W(),{addListener:Q,callListeners:Z,delListener:$}=g,[_,ee,ne,te,re,,,le,,oe,se,ae,ie,de]=((e,n,t,r,l)=>{const o=e.hasRow,s=W(),a=W(),i=W(),d=W(),u=W(),c=W(),v=(n,t,...r)=>{const l=H(c,n,K);return O(r,(n=>N(l,n)&&t&&e.callListener(n))),r},f=(n,...t)=>p(q(c,n),(r=>{O(I(t)?z(r):t,(n=>{e.delListener(n),P(r,n)})),k(r)&&G(c,n)})),h=(e,n)=>{G(s,e,n),D(a,e)||(G(a,e,!0),G(d,e,W()),G(u,e,W()),l(i))},w=e=>{G(s,e),G(a,e),G(d,e),G(u,e),f(e),l(i)};return[()=>e,()=>{return[...null!=(n=null==(e=s)?void 0:e.keys())?n:[]];var e,n},e=>B(a,e),e=>D(a,e),e=>q(s,e),e=>q(a,e),(e,n)=>G(a,e,n),h,(n,r,l,s,a)=>{h(n,r);const i=W(),c=W(),w=q(d,n),g=q(u,n),y=n=>{const l=t=>e.getCell(r,n,t),d=q(w,n),u=o(r,n)?t(s(l,n)):void 0;var v,f;if(d===u||b(d)&&b(u)&&(f=u,T(v=d)===T(f)&&C(v,((e,n)=>f[n]===e)))||G(i,n,[d,u]),!L(a)){const e=q(g,n),t=o(r,n)?a(l,n):void 0;e!=t&&G(c,n,t)}},p=e=>{l((()=>{F(i,(([,e],n)=>G(w,n,e))),F(c,((e,n)=>G(g,n,e)))}),i,c,w,g,e),A(i),A(c)};B(w,y),e.hasTable(r)&&O(e.getRowIds(r),(e=>{D(w,e)||y(e)})),p(!0),f(n),v(n,0,e.addRowListener(r,null,((e,n,t)=>y(t))),e.addTableListener(r,(()=>p())))},w,e=>r(e,i),()=>B(c,w),v,f]})(l,0,m,Q,Z),ue=(e,n,...t)=>O(t,(t=>N(H(H(S,n,W),e,K),t))),ce=e=>{p(q(S,e),(e=>{B(e,((e,n)=>F(n,(n=>e.delListener(n))))),A(e)})),O([g,w],(n=>n.delTable(e)))},ve=(e,n,t)=>ue(n,e,n.addStartTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),fe={setQueryDefinition:(o,s,a)=>{le(o,s),ce(o);const i=[],d=[[null,[s,null,null,[],W()]]],u=[],c=[],v=[];a({select:(e,n)=>{const t=R(e)?[T(i)+"",e]:[L(n)?e:n,t=>t(e,n)];return j(i,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const r=L(t)||R(n)?null:n,l=L(r)?n:t,o=[e,[e,r,R(l)?l:e=>e(l),[],W()]];return j(d,o),{as:e=>o[0]=e}},where:(e,n,t)=>j(u,R(e)?e:L(t)?t=>t(e)===n:r=>r(e,n)===t),group:(e,n,t,r,l)=>{var o;const s=[e,[e,R(n)?[n,t,r,l]:null!=(o=q(U,n))?o:[(e,n)=>n]]];return j(c,s),{as:e=>s[0]=e}},having:(e,n)=>j(v,R(e)?e:t=>t(e)===n)});const f=W(i);if(k(f))return fe;const h=W(d);B(h,((e,[,n])=>p(q(h,n),(({3:n})=>L(e)?0:j(n,e)))));const b=W(c);let m=w;if(k(b)&&I(v))m=g;else{ve(o,m,g);const l=W();B(b,((e,[n,t])=>N(H(l,n,K),[e,t])));const s=K();B(f,(e=>D(l,e)?0:N(s,e)));const a=W(),i=(s,a,i,d)=>p(s,(([u,c,f,h])=>{B(a,((o,[s])=>{const a=H(u,o,W),c=q(a,i),v=d?void 0:s;if(c!==v){const s=K([[c,v]]),d=M(a);G(a,i,v),F(q(l,o),(([l,o])=>{const i=((e,n,t,r,l,o=!1)=>{if(k(t))return;const[s,a,i,d]=l;return o||(o=L(e)),F(r,(([t,r])=>{o||(e=L(t)?null==a?void 0:a(e,r,n++):L(r)?null==i?void 0:i(e,t,n--):null==d?void 0:d(e,r,t,n),o||(o=L(e)))})),o?s(z(t),M(t)):e})(h[l],d,a,s,o);h[l]=L((l=>{const o=e(l);return(e=>e==n||e==t)(o)||o==r&&y(l)?o:void 0})(i))?null:i}))}})),k(c)||!C(v,(e=>e((e=>h[e]))))?g.delRow(o,f):L(f)?s[2]=g.addRow(o,h):g.setRow(o,f,h)}));ue(m,o,m.addRowListener(o,null,((e,n,t,r)=>{const d=[],u=[],c=W(),v=m.hasRow(o,t);let f=!v;F(s,(e=>{const[n,l,s]=r(o,t,e);j(d,l),j(u,s),f||(f=n)})),B(l,(e=>{const[n,,l]=r(o,t,e);(f||n)&&G(c,e,[l])})),f&&i(J(a,d,void 0,(([,e])=>(P(e,t),k(e)))),c,t,1),v&&i(J(a,u,(()=>{const e={};return F(s,(n=>e[n]=m.getCell(o,t,n))),[W(),K(),void 0,e]}),(([,e])=>{N(e,t)})),c,t)})))}ve(o,l,m);const S=(e,n,t,r)=>{const a=e=>l.getCell(n,t,e);O(r,(n=>{var t;const[r,,s,i,d]=q(h,n),u=null==s?void 0:s(a,e),[c,v]=null!=(t=q(d,e))?t:[];u!=c&&(L(v)||de(o,v),G(d,e,L(u)?null:[u,...ie(o,1,l.addRowListener(r,u,(()=>S(e,r,u,i))))]))})),(e=>{const n=(n,t)=>{var r,o,a;return l.getCell(...L(t)?[s,e,n]:n===s?[s,e,t]:[null==(r=q(h,n))?void 0:r[0],null==(a=q(null==(o=q(h,n))?void 0:o[4],e))?void 0:a[0],t])};m.transaction((()=>C(u,(e=>e(n)))?B(f,((t,r)=>((e,n,t,r,l)=>L(l)?e.delCell(n,t,r,!0):e.setCell(n,t,r,l))(m,o,e,t,r(n,e)))):m.delRow(o,e)))})(e)},{3:Q}=q(h,null);return m.transaction((()=>ie(o,1,l.addRowListener(s,null,((e,n,t)=>{l.hasRow(s,t)?S(t,s,t,Q):(m.delRow(o,t),F(h,(({4:e})=>p(q(e,t),(([,n])=>{de(o,n),G(e,t)})))))}))))),fe},delQueryDefinition:e=>(ce(e),oe(e),fe),getStore:_,getQueryIds:ee,forEachQuery:ne,hasQuery:te,getTableId:re,addQueryIdsListener:e=>se((()=>e(fe))),delListener:e=>($(e),fe),destroy:ae,getListenerStats:()=>((e,n)=>{var t={};for(var r in e)X.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&V)for(var r of V(e))n.indexOf(r)<0&&Y.call(e,r)&&(t[r]=e[r]);return t})(g.getListenerStats(),["tables","tableIds","transaction"])};var he,we;return he={[i]:[1,1],[i+h]:[0,1],[u]:[0,1],[c]:[0,1],[v]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},we=([e,n],t)=>{O(e?["get","has","forEach"]:["get"],(e=>fe[e+s+t]=(...n)=>g[e+t](...n))),fe["add"+s+t+o]=(...e)=>{return g["add"+t+o](...(r=e,l=n,r.slice(0,l)),((t,...r)=>e[n](fe,...r)),!0);var r,l}},((e,n)=>{e.map(n)})(x.entries(he),(([e,n])=>we(n,e))),E(fe)})(l)),a.get(l))})();export{Z as createQueries};
Binary file
package/lib/metrics.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",r=e(t),n=e(e),s=Math.max,i=Math.min,o=isFinite,a=e=>null==e,c=(e,t,r)=>a(e)?r?.():t(e),d=e=>Array.isArray(e),l=e=>e.length,u=()=>{},v=(e,t)=>e.forEach(t),h=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),f=(e,...t)=>e.push(...t),g=Object.freeze,L=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,w=e=>a(e)||0==L(e),y=e=>[...e?.values()??[]],p=e=>e.clear(),b=(e,t)=>e?.forEach(t),I=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>b(e,((e,r)=>t(r,e))),S=(e,t,r)=>a(r)?(I(e,t),e):e?.set(t,r),T=(e,t,r)=>(m(e,t)||S(e,t,r()),E(e,t)),k=(e,t,r,n,s=0)=>c((r?T:E)(e,t[s],s>l(t)-2?r:x),(i=>{if(s>l(t)-2)return n?.(i)&&S(e,t[s]),i;const o=k(i,t,r,n,s+1);return w(i)&&S(e,t[s]),o})),z=x([["avg",[(e,t)=>h(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>s(...e),(e,t)=>s(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:s(t,e)]],["min",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:i(t,e)]],["sum",[e=>h(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),A=e=>new Set(d(e)||a(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,j=(s=>{const i=new WeakMap;return s=>(i.has(s)||i.set(s,(s=>{const i=x(),[h,M,j]=(e=>{let r;const[n,s]=(()=>{const e=[];let r=0;return[n=>(n?e.shift():null)??t+r++,t=>{N.test(t)&&l(e)<1e3&&f(e,t)}]})(),i=x();return[(e,s,o,a=[],c=(()=>[]))=>{r??=P;const d=n(1);return S(i,d,[e,s,o,a,c]),D(k(s,o??[t],A),d),d},(e,n,...s)=>v(((e,r=[t])=>{const n=[],s=(e,t)=>t==l(r)?f(n,e):null===r[t]?b(e,(e=>s(e,t+1))):v([r[t],null],(r=>s(E(e,r),t+1)));return s(e,0),n})(e,n),(e=>b(e,(e=>E(i,e)[0](r,...n??[],...s))))),e=>c(E(i,e),(([,r,n])=>(k(r,n??[t],void 0,(t=>(I(t,e),w(t)?1:0))),S(i,e),s(e),n))),e=>c(E(i,e),(([e,,t=[],n,s])=>{const i=(...o)=>{const c=l(o);c==l(t)?e(r,...o,...s(o)):a(t[c])?v(n[c]?.(...o)??[],(e=>i(...o,e))):i(...o,t[c])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,r,n,s,i)=>{const o=e.hasRow,u=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(t,r,...n)=>{const s=T(L,t,A);return v(n,(t=>D(s,t)&&r&&e.callListener(t))),n},z=(t,...r)=>c(E(L,t),(n=>{v(0==l(r)?y(n):r,(t=>{e.delListener(t),I(n,t)})),w(n)&&S(L,t)})),N=(e,t)=>{S(u,e,t),m(h,e)||(S(h,e,r()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(u,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return e=u,[...e?.keys()??[]];var e},e=>R(h,e),e=>m(h,e),e=>E(u,e),e=>E(h,e),(e,t)=>S(h,e,t),N,(r,n,s,i,c)=>{N(r,n);const u=x(),h=x(),M=E(f,r),L=E(g,r),w=r=>{const s=t=>e.getCell(n,r,t),v=E(M,r),f=o(n,r)?(g=i(s,r),isNaN(g)||a(g)||!0===g||!1===g||g===t?void 0:1*g):void 0;var g,m,w,y;if(v===f||d(v)&&d(f)&&(w=f,l(m=v)===l(w)&&(y=(e,t)=>w[t]===e,m.every(y)))||S(u,r,[v,f]),!a(c)){const e=E(L,r),t=o(n,r)?c(s,r):void 0;e!=t&&S(h,r,t)}},y=e=>{s((()=>{b(u,(([,e],t)=>S(M,t,e))),b(h,((e,t)=>S(L,t,e)))}),u,h,M,L,e),p(u),p(h)};R(M,w),e.hasTable(n)&&v(e.getRowIds(n),(e=>{m(M,e)||w(e)})),y(!0),z(r),k(r,0,e.addRowListener(n,null,((e,t,r)=>w(r))),e.addTableListener(n,(()=>y())))},j,e=>s(e,M),()=>R(L,j),k,z]})(s,u,0,h,M),P={setMetricDefinition:(t,s,c,d,l,u,v)=>{const h=e(c)==n?[c,l,u,v]:E(z,c)??E(z,"sum");return G(t,s,((e,r,n,s,c,d)=>{const l=q(t),u=L(s);d||=a(l),e();let v=((e,t,r,n,s,i=!1)=>{if(w(r))return;const[o,c,d,l]=s;return i||=a(e),b(n,(([r,n])=>{i||(e=a(r)?c?.(e,n,t++):a(n)?d?.(e,r,t--):l?.(e,n,r,t),i||=a(e))})),i?o(y(r),L(r)):e})(l,u,s,r,h,d);o(v)||(v=void 0),v!=l&&(B(t,v),M(i,[t],v,l))}),(1,e(f=d)==r?e=>e(f):f??(()=>1))),P;var f},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,t)=>h(t,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(s)),i.get(s))})();export{j as createMetrics};
1
+ const e=e=>typeof e,t="",r=e(t),n=e(e),s=Math.max,i=Math.min,o=isFinite,a=e=>null==e,c=(e,t,r)=>a(e)?r?.():t(e),d=e=>Array.isArray(e),l=e=>e.length,u=()=>{},v=(e,t)=>e.forEach(t),h=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),f=(e,...t)=>e.push(...t),g=Object.freeze,L=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,w=e=>a(e)||0==L(e),y=e=>[...e?.values()??[]],p=e=>e.clear(),b=(e,t)=>e?.forEach(t),I=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>b(e,((e,r)=>t(r,e))),S=(e,t,r)=>a(r)?(I(e,t),e):e?.set(t,r),T=(e,t,r)=>(m(e,t)||S(e,t,r()),E(e,t)),k=(e,t,r,n,s=0)=>c((r?T:E)(e,t[s],s>l(t)-2?r:x),(i=>{if(s>l(t)-2)return n?.(i)&&S(e,t[s]),i;const o=k(i,t,r,n,s+1);return w(i)&&S(e,t[s]),o})),z=x([["avg",[(e,t)=>h(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>s(...e),(e,t)=>s(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:s(t,e)]],["min",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:i(t,e)]],["sum",[e=>h(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),A=e=>new Set(d(e)||a(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,j=(s=>{const i=new WeakMap;return s=>(i.has(s)||i.set(s,(s=>{const i=x(),[h,M,j]=(e=>{let r;const[n,s]=(()=>{const e=[];let r=0;return[n=>(n?e.shift():null)??t+r++,t=>{N.test(t)&&l(e)<1e3&&f(e,t)}]})(),i=x();return[(e,s,o,a=[],c=(()=>[]))=>{r??=P;const d=n(1);return S(i,d,[e,s,o,a,c]),D(k(s,o??[t],A),d),d},(e,n,...s)=>v(((e,r=[t])=>{const n=[],s=(e,t)=>t==l(r)?f(n,e):null===r[t]?b(e,(e=>s(e,t+1))):v([r[t],null],(r=>s(E(e,r),t+1)));return s(e,0),n})(e,n),(e=>b(e,(e=>E(i,e)[0](r,...n??[],...s))))),e=>c(E(i,e),(([,r,n])=>(k(r,n??[t],void 0,(t=>(I(t,e),w(t)?1:0))),S(i,e),s(e),n))),e=>c(E(i,e),(([e,,t=[],n,s])=>{const i=(...o)=>{const c=l(o);c==l(t)?e(r,...o,...s(o)):a(t[c])?v(n[c]?.(...o)??[],(e=>i(...o,e))):i(...o,t[c])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,r,n,s,i)=>{const o=e.hasRow,u=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(t,r,...n)=>{const s=T(L,t,A);return v(n,(t=>D(s,t)&&r&&e.callListener(t))),n},z=(t,...r)=>c(E(L,t),(n=>{v(0==l(r)?y(n):r,(t=>{e.delListener(t),I(n,t)})),w(n)&&S(L,t)})),N=(e,t)=>{S(u,e,t),m(h,e)||(S(h,e,r()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(u,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return e=u,[...e?.keys()??[]];var e},e=>R(h,e),e=>m(h,e),e=>E(u,e),e=>E(h,e),(e,t)=>S(h,e,t),N,(r,n,s,i,c)=>{N(r,n);const u=x(),h=x(),M=E(f,r),L=E(g,r),w=r=>{const s=t=>e.getCell(n,r,t),v=E(M,r),f=o(n,r)?(g=i(s,r),isNaN(g)||a(g)||!0===g||!1===g||g===t?void 0:1*g):void 0;var g,m,w,y;if(v===f||d(v)&&d(f)&&(w=f,l(m=v)===l(w)&&(y=(e,t)=>w[t]===e,m.every(y)))||S(u,r,[v,f]),!a(c)){const e=E(L,r),t=o(n,r)?c(s,r):void 0;e!=t&&S(h,r,t)}},y=e=>{s((()=>{b(u,(([,e],t)=>S(M,t,e))),b(h,((e,t)=>S(L,t,e)))}),u,h,M,L,e),p(u),p(h)};R(M,w),e.hasTable(n)&&v(e.getRowIds(n),(e=>{m(M,e)||w(e)})),y(!0),z(r),k(r,0,e.addRowListener(n,null,((e,t,r)=>w(r))),e.addTableListener(n,(()=>y())))},j,e=>s(e,M),()=>R(L,j),k,z]})(s,u,0,h,M),P={setMetricDefinition:(t,s,c,d,l,u,v)=>{const h=e(c)==n?[c,l,u,v]:E(z,c)??E(z,"sum");return G(t,s,((e,r,n,s,c,d)=>{const l=q(t),u=L(s);d||=a(l),e();let v=((e,t,r,n,s,i=!1)=>{if(w(r))return;const[o,c,d,l]=s;return i||=a(e),b(n,(([r,n])=>{i||(e=a(r)?c?.(e,n,t++):a(n)?d?.(e,r,t--):l?.(e,n,r,t),i||=a(e))})),i?o(y(r),L(r)):e})(l,u,s,r,h,d);o(v)||(v=void 0),v!=l&&(B(t,v),M(i,[t],v,l))}),e(f=d)==r?e=>e(f):f??(()=>1)),P;var f},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,t)=>h(t,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(s)),i.get(s))})();export{j as createMetrics};
package/lib/metrics.js.gz CHANGED
Binary file
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),L=f.keys,R=f.freeze,C=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),I=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),g=a=>f.values(a),D=a=>u(L(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||M(a,t,e()),P(a,t)),x=(a,t,e,s=M)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G="TABLE",W="ALTER "+G,z="DELETE FROM",K=U+"*FROM",V="FROM pragma_table_",q="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>x(c,C(await d(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,C(v(await a(U+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?C(m(v(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=Y();I(o??{},(a=>v(L(a??{}),(a=>k(u,a)))));const f=N(u);if(!y&&w&&p(f)&&O(c,t))return await a("DROP "+G+J(t)),void M(c,t);if(p(f)||O(c,t)){const s=P(c,t),i=Y(_(s));await d([...v(f,(async n=>{T(i,n)||(await a(W+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(N(i),(async e=>{e!=n&&(await a(W+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+G+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,$([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(z+J(t)+q+" 1"):await d(I(o,(async(e,s)=>{r(e)?await a(z+J(t)+q+J(n)+"=?",[s]):p(f)||await X(a,t,n,L(e),[s,...g(e)],i)})));else if(p(f))O(c,t)&&await a(z+J(t)+q+" 1");else{const e=m(_(P(c,t)),(a=>a!=n)),s=[],r=[];I(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(z+J(t)+q+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,O,N]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),f=async(a,t)=>l?await O(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await N((async()=>{await p();const a=await(async()=>C(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await p(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=$();return I(a,((a,i)=>{const c=y(g(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",pa="data_version",ma="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,p;const[m,A,O,T]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(g(S(da,c)),0,D(da)),r=o[2],l=Y(r);return[0,s,[Ea(n,{[wa]:null,[la]:H},wa,(a=>k(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>k(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${pa} d,${ma} s,TOTAL_CHANGES() c FROM ${va}${pa} JOIN ${va}${ma}`);t==(E??=t)&&e==(v??=e)&&n==(p??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=p=null,i(t)}),r,O,N(T),l,u,d)},Oa=(a,t,e,s,n)=>Aa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);export{Oa as createCrSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),L=f.keys,R=f.freeze,C=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),I=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),g=a=>f.values(a),D=a=>u(L(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||M(a,t,e()),P(a,t)),x=(a,t,e,s=M)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G="TABLE",W="ALTER "+G,z="DELETE FROM",K=U+"*FROM",V="FROM pragma_table_",q="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>x(c,C(await d(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,C(v(await a(U+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?C(m(v(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=Y();I(o??{},(a=>v(L(a??{}),(a=>k(u,a)))));const f=N(u);if(!y&&w&&p(f)&&O(c,t))return await a("DROP "+G+J(t)),void M(c,t);if(p(f)||O(c,t)){const s=P(c,t),i=Y(_(s));await d([...v(f,(async n=>{T(i,n)||(await a(W+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(N(i),(async e=>{e!=n&&(await a(W+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+G+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,$([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(z+J(t)+q+" 1"):await d(I(o,(async(e,s)=>{r(e)?await a(z+J(t)+q+J(n)+"=?",[s]):p(f)||await X(a,t,n,L(e),[s,...g(e)],i)})));else if(p(f))O(c,t)&&await a(z+J(t)+q+" 1");else{const e=m(_(P(c,t)),(a=>a!=n)),s=[],r=[];I(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(z+J(t)+q+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,O,N]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),f=async(a,t)=>l?await O(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await N((async()=>{await p();const a=await(async()=>C(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await p(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="storeTableName",wa="rowIdColumnName",ya="tableId",ua="tableName",da="deleteEmptyColumns",Ea="deleteEmptyTable",va={mode:oa,[ra]:1},pa={load:0,save:0,[ua]:t+"_values"},ma=(a,t,e,s)=>{const n=$();return I(a,((a,i)=>{const c=y(g(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},Aa="pragma_",Oa="data_version",Na="schema_version",Ta=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,p;const[m,A,O,T]=(a=>{const e=(a=>S(va,w(a)?{[la]:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(g(S(pa,c)),0,D(pa)),r=o[2],l=Y(r);return[0,s,[ma(n,{[ya]:null,[wa]:H},ya,(a=>k(l,a)&&a==r)),ma(i,{[ua]:null,[wa]:H,[da]:0,[Ea]:0},ua,((a,t)=>k(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(p??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=p=null,i(t)}),r,O,N(T),l,u,d)},fa=(a,t,e,s,n)=>Ta(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);export{fa as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),h=Object,N=a=>h.getPrototypeOf(a),C=h.keys,L=h.freeze,R=(a=[])=>h.fromEntries(a),S=(...a)=>h.assign({},...a),g=(a,t)=>v(h.entries(a),(([a,e])=>t(e,a))),b=a=>h.values(a),D=a=>u(C(a)),I=a=>(a=>!r(a)&&l(N(a),(a=>a==h.prototype||r(N(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(A(a,t)||M(a,t,e()),P(a,t)),B=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",x=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,q="DELETE FROM",z=k+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>B(c,R(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(k+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,B(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?R(p(v(await a(z+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!I(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=x();g(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const h=O(u);if(!y&&w&&m(h)&&A(c,t))return await a("DROP "+U+Y(t)),void M(c,t);if(m(h)||A(c,t)){const s=P(c,t),i=x(_(s));await d([...v(h,(async n=>{T(i,n)||(await a(W+Y(t)+"ADD"+Y(n)),M(s,n,e))})),...!y&&l?v(O(i),(async e=>{e!=n&&(await a(W+Y(t)+"DROP"+Y(e)),M(s,e))})):[]])}else await a("CREATE "+U+Y(t)+"("+Y(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(h,(a=>s+Y(a))))});`),M(c,t,$([[n,e],...v(h,(a=>[a,e]))]));if(y)r(o)?await a(q+Y(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(q+Y(t)+V+Y(n)+"=?",[s]):m(h)||await X(a,t,n,C(e),[s,...b(e)],i)})));else if(m(h))A(c,t)&&await a(q+Y(t)+V+" 1");else{const e=p(_(P(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{f(s,t,...v(e,(t=>a?.[t]))),f(r,t)})),await X(a,t,n,e,s,i),await a(q+Y(t)+V+Y(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(n)+E(v(c,(a=>s+Y(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+Y(n)+")DO UPDATE SET"+E(v(c,(a=>Y(a)+"=excluded."+Y(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(f(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,J))[H]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,J,{[H]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[m,f,A,O]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),h=async(a,t)=>l?await A(w,J,{[H]:a},!0,!0,t):null;return sa(a,(async()=>await O((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>o?(await f(w,J))[H]:{})();return I(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await h(e)}else{const[a,e]=t();await T(a,!0),await h(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=$();return g(a,((a,i)=>{const c=y(b(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",ma="data_version",pa="schema_version",fa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,m;const[p,f,A,T]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],x(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(b(S(da,c)),0,D(da)),r=o[2],l=x(r);return[0,s,[Ea(n,{[wa]:null,[la]:J},wa,(a=>G(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ma} d,${pa} s,TOTAL_CHANGES() c FROM ${va}${ma} JOIN ${va}${pa}`);t==(E??=t)&&e==(v??=e)&&n==(m??=n)||(a(),E=t,v=e)}catch{}},e=f,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=m=null,i(t)}),r,A,O(T),l,u,d)},Aa=(a,t,e,s,n)=>fa(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t,"getElectricClient");export{Aa as createElectricSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),h=Object,N=a=>h.getPrototypeOf(a),C=h.keys,L=h.freeze,R=(a=[])=>h.fromEntries(a),S=(...a)=>h.assign({},...a),g=(a,t)=>v(h.entries(a),(([a,e])=>t(e,a))),b=a=>h.values(a),D=a=>u(C(a)),I=a=>(a=>!r(a)&&l(N(a),(a=>a==h.prototype||r(N(a))),(()=>!0)))(a)&&0==D(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(A(a,t)||M(a,t,e()),P(a,t)),B=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",x=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,q="DELETE FROM",z=k+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>B(c,R(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(k+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,B(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?R(p(v(await a(z+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!I(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=x();g(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const h=O(u);if(!y&&w&&m(h)&&A(c,t))return await a("DROP "+U+Y(t)),void M(c,t);if(m(h)||A(c,t)){const s=P(c,t),i=x(_(s));await d([...v(h,(async n=>{T(i,n)||(await a(W+Y(t)+"ADD"+Y(n)),M(s,n,e))})),...!y&&l?v(O(i),(async e=>{e!=n&&(await a(W+Y(t)+"DROP"+Y(e)),M(s,e))})):[]])}else await a("CREATE "+U+Y(t)+"("+Y(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(h,(a=>s+Y(a))))});`),M(c,t,$([[n,e],...v(h,(a=>[a,e]))]));if(y)r(o)?await a(q+Y(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(q+Y(t)+V+Y(n)+"=?",[s]):m(h)||await X(a,t,n,C(e),[s,...b(e)],i)})));else if(m(h))A(c,t)&&await a(q+Y(t)+V+" 1");else{const e=p(_(P(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{f(s,t,...v(e,(t=>a?.[t]))),f(r,t)})),await X(a,t,n,e,s,i),await a(q+Y(t)+V+Y(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(n)+E(v(c,(a=>s+Y(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+Y(n)+")DO UPDATE SET"+E(v(c,(a=>Y(a)+"=excluded."+Y(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(f(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,J))[H]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,J,{[H]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[m,f,A,O]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),h=async(a,t)=>l?await A(w,J,{[H]:a},!0,!0,t):null;return sa(a,(async()=>await O((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>o?(await f(w,J))[H]:{})();return I(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await h(e)}else{const[a,e]=t();await T(a,!0),await h(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="storeTableName",wa="rowIdColumnName",ya="tableId",ua="tableName",da="deleteEmptyColumns",Ea="deleteEmptyTable",va={mode:oa,[ra]:1},ma={load:0,save:0,[ua]:t+"_values"},pa=(a,t,e,s)=>{const n=$();return g(a,((a,i)=>{const c=y(b(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},fa="pragma_",Aa="data_version",Oa="schema_version",Ta=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,m;const[p,f,A,T]=(a=>{const e=(a=>S(va,w(a)?{[la]:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],x(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(b(S(ma,c)),0,D(ma)),r=o[2],l=x(r);return[0,s,[pa(n,{[ya]:null,[wa]:J},ya,(a=>G(l,a)&&a==r)),pa(i,{[ua]:null,[wa]:J,[da]:0,[Ea]:0},ua,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${fa}${Aa} JOIN ${fa}${Oa}`);t==(E??=t)&&e==(v??=e)&&n==(m??=n)||(a(),E=t,v=e)}catch{}},e=f,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=m=null,i(t)}),r,A,O(T),l,u,d)},ha=(a,t,e,s,n)=>Ta(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t,"getElectricClient");export{ha as createElectricSqlPersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as a}from"expo-sqlite/next";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>o.all(a),m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),h=Object,L=a=>h.getPrototypeOf(a),R=h.keys,C=h.freeze,S=(a=[])=>h.fromEntries(a),g=(...a)=>h.assign({},...a),I=(a,t)=>v(h.entries(a),(([a,e])=>t(e,a))),D=a=>h.values(a),b=a=>d(R(a)),$=a=>(a=>!l(a)&&y(L(a),(a=>a==h.prototype||l(L(a))),(()=>!0)))(a)&&0==b(a),_=a=>new Map(a),P=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",q="ALTER "+W,z="DELETE FROM",K=k+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const c=_();return[async()=>B(c,S(await E(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(k+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(c,t,B(j(c,t,_),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(c,t))),async(t,e)=>((a,t)=>!l(F(F(c,a),t)))(t,e)?S(A(v(await a(K+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,r,y,w=!1)=>{const u=G();I(o??{},(a=>v(R(a??{}),(a=>U(u,a)))));const d=f(u);if(!w&&y&&p(d)&&O(c,t))return await a("DROP "+W+Y(t)),void x(c,t);if(p(d)||O(c,t)){const n=F(c,t),i=G(P(n));await E([...v(d,(async e=>{T(i,e)||(await a(q+Y(t)+"ADD"+Y(e)),x(n,e,s))})),...!w&&r?v(f(i),(async s=>{s!=e&&(await a(q+Y(t)+"DROP"+Y(s)),x(n,s))})):[]])}else await a("CREATE "+W+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${m(v(d,(a=>n+Y(a))))});`),x(c,t,_([[e,s],...v(d,(a=>[a,s]))]));if(w)l(o)?await a(z+Y(t)+Q+" 1"):await E(I(o,(async(s,n)=>{l(s)?await a(z+Y(t)+Q+Y(e)+"=?",[n]):p(d)||await Z(a,t,e,R(s),[n,...D(s)],i)})));else if(p(d))O(c,t)&&await a(z+Y(t)+Q+" 1");else{const s=A(P(F(c,t)),(a=>a!=e)),n=[],r=[];I(o??{},((a,t)=>{N(n,t,...v(s,(t=>a?.[t]))),N(r,t)})),await Z(a,t,e,s,n,i),await a(z+Y(t)+Q+Y(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+m(v(i,(a=>n+Y(a))))+")VALUES"+u(c(`,(?${c(",?",d(i))})`,d(o)/(d(i)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+m(v(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),v(o,(a=>a??null))),aa=a=>m(v(a,(()=>"?")),n),ta=JSON.parse,ea=_(),sa=_(),na=(a,t,e,s,n,i,[c,o]=[],r=[])=>{let w,u,d,E=0,m=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const v=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await v((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),m=1,d=s((async(e,s)=>{if(s){const t=s();await v((async()=>a.setTransactionChanges(t)))}else await v((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(m&&(n(d),d=void 0,m=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(y(w,a.delListener),w=void 0,p),schedule:async(...a)=>(N(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(ea,r,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),C(p)},ia="store",ca=(a,t,e,s,n,[i],c,o,r,l)=>{const[y,w,u,d]=X(t,c,n,l);return na(a,(async()=>await d((async()=>(await y(),ta((await w(i,J))[H]?.[ia]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,J,{[H]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},oa=(a,t,e,s,n,[i,c,[o,r,y]],w,u,d,m)=>{const[v,p,N,O]=X(t,w,n,m),f=async(a,t)=>await E(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await N(e,s,o,n,i,t)}))),T=async(a,t)=>r?await N(y,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await O((async()=>{await v();const a=await(async()=>S(A(await E(M(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>o?(await p(y,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await v(),l(t)){const[t,e]=a();await f(t),await T(e)}else{const[a,e]=t();await f(a,!0),await T(e,!0)}}))),e,s,n,[d,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",ua="tableName",da={mode:ra,[la]:1},Ea={load:0,save:0,[ua]:e+"_values"},ma=(a,t,e,s)=>{const n=_();return I(a,((a,i)=>{const c=u(D(g(t,w(a)?{[e]:a}:a)),0,b(t));l(c[0])||s(i,c[0])||x(n,i,c)})),n},va="pragma_",pa="data_version",Aa="schema_version",Na=(a,t,s,n,i,c,o,l,y="getDb",d)=>{let E,m,v;const[p,A,N,O]=(a=>{const t=(a=>g(da,w(a)?{storeTableName:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=u(D(g(Ea,c)),0,b(Ea)),r=o[2],l=G(r);return[0,s,[ma(n,{[wa]:null,[ya]:J},wa,(a=>U(l,a)&&a==r)),ma(i,{[ua]:null,[ya]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>U(l,t)&&t==r)),o],l]})(t);return(p?ca:oa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${pa} d,${Aa} s,TOTAL_CHANGES() c FROM ${va}${pa} JOIN ${va}${Aa}`);t==(E??=t)&&e==(m??=e)&&n==(v??=n)||(a(),E=t,m=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=m=v=null,i(t)}),o,N,f(O),l,y,d)},Oa=(t,e,s,n,i)=>Na(t,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),n,i,e);export{Oa as createExpoSqliteNextPersister};
1
+ import{addDatabaseChangeListener as a}from"expo-sqlite/next";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>o.all(a),m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),h=Object,L=a=>h.getPrototypeOf(a),R=h.keys,C=h.freeze,S=(a=[])=>h.fromEntries(a),g=(...a)=>h.assign({},...a),I=(a,t)=>v(h.entries(a),(([a,e])=>t(e,a))),D=a=>h.values(a),b=a=>d(R(a)),$=a=>(a=>!l(a)&&y(L(a),(a=>a==h.prototype||l(L(a))),(()=>!0)))(a)&&0==b(a),_=a=>new Map(a),P=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||x(a,t,e()),F(a,t)),B=(a,t,e,s=x)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",q="ALTER "+W,z="DELETE FROM",K=k+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const c=_();return[async()=>B(c,S(await E(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(k+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(c,t,B(j(c,t,_),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(c,t))),async(t,e)=>((a,t)=>!l(F(F(c,a),t)))(t,e)?S(A(v(await a(K+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,r,y,w=!1)=>{const u=G();I(o??{},(a=>v(R(a??{}),(a=>U(u,a)))));const d=f(u);if(!w&&y&&p(d)&&O(c,t))return await a("DROP "+W+Y(t)),void x(c,t);if(p(d)||O(c,t)){const n=F(c,t),i=G(P(n));await E([...v(d,(async e=>{T(i,e)||(await a(q+Y(t)+"ADD"+Y(e)),x(n,e,s))})),...!w&&r?v(f(i),(async s=>{s!=e&&(await a(q+Y(t)+"DROP"+Y(s)),x(n,s))})):[]])}else await a("CREATE "+W+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${m(v(d,(a=>n+Y(a))))});`),x(c,t,_([[e,s],...v(d,(a=>[a,s]))]));if(w)l(o)?await a(z+Y(t)+Q+" 1"):await E(I(o,(async(s,n)=>{l(s)?await a(z+Y(t)+Q+Y(e)+"=?",[n]):p(d)||await Z(a,t,e,R(s),[n,...D(s)],i)})));else if(p(d))O(c,t)&&await a(z+Y(t)+Q+" 1");else{const s=A(P(F(c,t)),(a=>a!=e)),n=[],r=[];I(o??{},((a,t)=>{N(n,t,...v(s,(t=>a?.[t]))),N(r,t)})),await Z(a,t,e,s,n,i),await a(z+Y(t)+Q+Y(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+m(v(i,(a=>n+Y(a))))+")VALUES"+u(c(`,(?${c(",?",d(i))})`,d(o)/(d(i)+1)),1)+(r?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+m(v(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),v(o,(a=>a??null))),aa=a=>m(v(a,(()=>"?")),n),ta=JSON.parse,ea=_(),sa=_(),na=(a,t,e,s,n,i,[c,o]=[],r=[])=>{let w,u,d,E=0,m=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const v=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await v((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),m=1,d=s((async(e,s)=>{if(s){const t=s();await v((async()=>a.setTransactionChanges(t)))}else await v((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(m&&(n(d),d=void 0,m=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(y(w,a.delListener),w=void 0,p),schedule:async(...a)=>(N(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(ea,r,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),C(p)},ia="store",ca=(a,t,e,s,n,[i],c,o,r,l)=>{const[y,w,u,d]=X(t,c,n,l);return na(a,(async()=>await d((async()=>(await y(),ta((await w(i,J))[H]?.[ia]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,J,{[H]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},oa=(a,t,e,s,n,[i,c,[o,r,y]],w,u,d,m)=>{const[v,p,N,O]=X(t,w,n,m),f=async(a,t)=>await E(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await N(e,s,o,n,i,t)}))),T=async(a,t)=>r?await N(y,J,{[H]:a},!0,!0,t):null;return na(a,(async()=>await O((async()=>{await v();const a=await(async()=>S(A(await E(M(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>o?(await p(y,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await v(),l(t)){const[t,e]=a();await f(t),await T(e)}else{const[a,e]=t();await f(a,!0),await T(e,!0)}}))),e,s,n,[d,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="storeTableName",wa="rowIdColumnName",ua="tableId",da="tableName",Ea="deleteEmptyColumns",ma="deleteEmptyTable",va={mode:ra,[la]:1},pa={load:0,save:0,[da]:e+"_values"},Aa=(a,t,e,s)=>{const n=_();return I(a,((a,i)=>{const c=u(D(g(t,w(a)?{[e]:a}:a)),0,b(t));l(c[0])||s(i,c[0])||x(n,i,c)})),n},Na="pragma_",Oa="data_version",fa="schema_version",Ta=(a,t,s,n,i,c,o,l,y="getDb",d)=>{let E,m,v;const[p,A,N,O]=(a=>{const t=(a=>g(va,w(a)?{[ya]:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=u(D(g(pa,c)),0,b(pa)),r=o[2],l=G(r);return[0,s,[Aa(n,{[ua]:null,[wa]:J},ua,(a=>U(l,a)&&a==r)),Aa(i,{[da]:null,[wa]:J,[Ea]:0,[ma]:0},da,((a,t)=>U(l,t)&&t==r)),o],l]})(t);return(p?ca:oa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Oa} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${Oa} JOIN ${Na}${fa}`);t==(E??=t)&&e==(m??=e)&&n==(v??=n)||(a(),E=t,m=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=m=v=null,i(t)}),o,N,f(O),l,y,d)},ha=(t,e,s,n,i)=>Ta(t,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),n,i,e);export{ha as createExpoSqliteNextPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),C=f.keys,L=f.freeze,R=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),g=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),D=a=>f.values(a),I=a=>u(C(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(N(a,t)||M(a,t,e()),P(a,t)),x=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,q="DELETE FROM",z=Y+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>x(c,R(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(Y+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?R(p(v(await a(z+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=k();g(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const f=O(u);if(!y&&w&&m(f)&&N(c,t))return await a("DROP "+U+J(t)),void M(c,t);if(m(f)||N(c,t)){const s=P(c,t),i=k(_(s));await d([...v(f,(async n=>{T(i,n)||(await a(W+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(O(i),(async e=>{e!=n&&(await a(W+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+U+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,$([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(q+J(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(q+J(t)+V+J(n)+"=?",[s]):m(f)||await X(a,t,n,C(e),[s,...D(e)],i)})));else if(m(f))N(c,t)&&await a(q+J(t)+V+" 1");else{const e=p(_(P(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(q+J(t)+V+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[m,A,N,O]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await N(e,s,o,n,i,t)}))),f=async(a,t)=>l?await N(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await O((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=$();return g(a,((a,i)=>{const c=y(D(S(t,w(a)?{[e]:a}:a)),0,I(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",ma="data_version",pa="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,m;const[p,A,N,T]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(D(S(da,c)),0,I(da)),r=o[2],l=k(r);return[0,s,[Ea(n,{[wa]:null,[la]:H},wa,(a=>G(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ma} d,${pa} s,TOTAL_CHANGES() c FROM ${va}${ma} JOIN ${va}${pa}`);t==(E??=t)&&e==(v??=e)&&n==(m??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=m=null,i(t)}),r,N,O(T),l,u,d)},Na=(a,t,e,s,n)=>Aa(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t);export{Na as createExpoSqlitePersister};
1
+ const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),C=f.keys,L=f.freeze,R=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),g=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),D=a=>f.values(a),I=a=>u(C(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==I(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],P=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(N(a,t)||M(a,t,e()),P(a,t)),x=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,q="DELETE FROM",z=Y+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=$();return[async()=>x(c,R(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(Y+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,$),e,((a,t,e)=>{e!=P(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(P(P(c,a),t)))(t,e)?R(p(v(await a(z+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=k();g(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const f=O(u);if(!y&&w&&m(f)&&N(c,t))return await a("DROP "+U+J(t)),void M(c,t);if(m(f)||N(c,t)){const s=P(c,t),i=k(_(s));await d([...v(f,(async n=>{T(i,n)||(await a(W+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(O(i),(async e=>{e!=n&&(await a(W+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+U+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,$([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(q+J(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(q+J(t)+V+J(n)+"=?",[s]):m(f)||await X(a,t,n,C(e),[s,...D(e)],i)})));else if(m(f))N(c,t)&&await a(q+J(t)+V+" 1");else{const e=p(_(P(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(q+J(t)+V+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=$(),ea=$(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(A(P(ea,w),...a),await(async()=>{if(!P(ta,w)){for(M(ta,w,1);!r((a=P(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[m,A,N,O]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await N(e,s,o,n,i,t)}))),f=async(a,t)=>l?await N(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await O((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="storeTableName",wa="rowIdColumnName",ya="tableId",ua="tableName",da="deleteEmptyColumns",Ea="deleteEmptyTable",va={mode:oa,[ra]:1},ma={load:0,save:0,[ua]:t+"_values"},pa=(a,t,e,s)=>{const n=$();return g(a,((a,i)=>{const c=y(D(S(t,w(a)?{[e]:a}:a)),0,I(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},Aa="pragma_",Na="data_version",Oa="schema_version",Ta=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,m;const[p,A,N,T]=(a=>{const e=(a=>S(va,w(a)?{[la]:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(D(S(ma,c)),0,I(ma)),r=o[2],l=k(r);return[0,s,[pa(n,{[ya]:null,[wa]:H},ya,(a=>G(l,a)&&a==r)),pa(i,{[ua]:null,[wa]:H,[da]:0,[Ea]:0},ua,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Na} d,${Oa} s,TOTAL_CHANGES() c FROM ${Aa}${Na} JOIN ${Aa}${Oa}`);t==(E??=t)&&e==(v??=e)&&n==(m??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=m=null,i(t)}),r,N,O(T),l,u,d)},fa=(a,t,e,s,n)=>Ta(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t);export{fa as createExpoSqlitePersister};