tinybase 4.0.0-beta.5.2 → 4.0.0

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 (138) hide show
  1. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  2. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  4. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  6. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-file.cjs +1 -1
  8. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  10. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  12. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  16. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  17. package/lib/cjs/persisters.cjs +1 -1
  18. package/lib/cjs/persisters.cjs.gz +0 -0
  19. package/lib/cjs/tinybase.cjs +1 -1
  20. package/lib/cjs/tinybase.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters.cjs +1 -1
  38. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  39. package/lib/cjs-es6/tinybase.cjs +1 -1
  40. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  41. package/lib/debug/persisters/persister-automerge.js +22 -20
  42. package/lib/debug/persisters/persister-browser.js +28 -20
  43. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +199 -150
  44. package/lib/debug/persisters/persister-file.js +28 -20
  45. package/lib/debug/persisters/persister-remote.js +28 -20
  46. package/lib/debug/persisters/persister-sqlite-wasm.js +204 -150
  47. package/lib/debug/persisters/persister-sqlite3.js +199 -150
  48. package/lib/debug/persisters/persister-yjs.js +28 -20
  49. package/lib/debug/persisters.js +29 -20
  50. package/lib/debug/tinybase.js +22 -20
  51. package/lib/es6/persisters/persister-automerge.js +1 -1
  52. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  53. package/lib/es6/persisters/persister-browser.js +1 -1
  54. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  55. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  56. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  57. package/lib/es6/persisters/persister-file.js +1 -1
  58. package/lib/es6/persisters/persister-file.js.gz +0 -0
  59. package/lib/es6/persisters/persister-remote.js +1 -1
  60. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  61. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  62. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  63. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  64. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  65. package/lib/es6/persisters/persister-yjs.js +1 -1
  66. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  67. package/lib/es6/persisters.js +1 -1
  68. package/lib/es6/persisters.js.gz +0 -0
  69. package/lib/es6/tinybase.js +1 -1
  70. package/lib/es6/tinybase.js.gz +0 -0
  71. package/lib/persisters/persister-automerge.js +1 -1
  72. package/lib/persisters/persister-automerge.js.gz +0 -0
  73. package/lib/persisters/persister-browser.js +1 -1
  74. package/lib/persisters/persister-browser.js.gz +0 -0
  75. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  76. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  77. package/lib/persisters/persister-file.js +1 -1
  78. package/lib/persisters/persister-file.js.gz +0 -0
  79. package/lib/persisters/persister-remote.js +1 -1
  80. package/lib/persisters/persister-remote.js.gz +0 -0
  81. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  82. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  83. package/lib/persisters/persister-sqlite3.js +1 -1
  84. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  85. package/lib/persisters/persister-yjs.js +1 -1
  86. package/lib/persisters/persister-yjs.js.gz +0 -0
  87. package/lib/persisters.js +1 -1
  88. package/lib/persisters.js.gz +0 -0
  89. package/lib/tinybase.js +1 -1
  90. package/lib/tinybase.js.gz +0 -0
  91. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
  92. package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
  93. package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
  94. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
  95. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
  96. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
  97. package/lib/umd/persisters/persister-automerge.js +1 -1
  98. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  99. package/lib/umd/persisters/persister-browser.js +1 -1
  100. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  101. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  102. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  103. package/lib/umd/persisters/persister-file.js +1 -1
  104. package/lib/umd/persisters/persister-file.js.gz +0 -0
  105. package/lib/umd/persisters/persister-remote.js +1 -1
  106. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  107. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  108. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  109. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  110. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  111. package/lib/umd/persisters/persister-yjs.js +1 -1
  112. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  113. package/lib/umd/persisters.js +1 -1
  114. package/lib/umd/persisters.js.gz +0 -0
  115. package/lib/umd/tinybase.js +1 -1
  116. package/lib/umd/tinybase.js.gz +0 -0
  117. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  118. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  119. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  120. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  121. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  122. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  123. package/lib/umd-es6/persisters/persister-file.js +1 -1
  124. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  125. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  126. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  127. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  128. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  129. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  130. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  131. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  132. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  133. package/lib/umd-es6/persisters.js +1 -1
  134. package/lib/umd-es6/persisters.js.gz +0 -0
  135. package/lib/umd-es6/tinybase.js +1 -1
  136. package/lib/umd-es6/tinybase.js.gz +0 -0
  137. package/package.json +16 -16
  138. package/readme.md +14 -14
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="tinybase",n=",",l=e(""),r=(e,t="")=>e.join(t),o=(e,t)=>e.map(t),i=e=>e.length,u=e=>0==i(e),a=(e,t)=>e.filter(t),c=(e,t,n)=>e.slice(t,n),s=(e,...t)=>e.push(...t),d=Promise,v=JSON.parse,y=(e,t)=>e instanceof t,f=e=>null==e,p=(e,t,n)=>f(e)?null==n?void 0:n():t(e),h=t=>e(t)==l,m=e=>{return t=function*(){return d.all(e)},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t},E=Object,b=E.keys,P=E.freeze,w=(e=[])=>E.fromEntries(e),O=(...e)=>E.assign({},...e),A=(e,t)=>(delete e[t],e),L=(e,t)=>o(E.entries(e),(([e,n])=>t(n,e))),T=e=>E.values(e),S=e=>i(b(e)),x=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==S(e),g=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},R=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},C=(e,t)=>null==e?void 0:e.delete(t),N=e=>new Map(e),_=(e,t)=>null==e?void 0:e.get(t),j=(e,t)=>{var n;return o([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},I=(e,t,n)=>f(n)?(C(e,t),e):null==e?void 0:e.set(t,n),D=(e,t,n,l=I)=>(L(t,((t,l)=>n(e,l,t))),((e,t)=>{((e,t)=>{null==e||e.forEach(t)})(e,((e,n)=>t(n)))})(e,(n=>((e,t)=>!f(((e,t)=>p(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),$="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var k=Object.defineProperty,q=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,V=(e,t,n)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,W=(e,t)=>{for(var n in t||(t={}))B.call(t,n)&&V(e,n,t[n]);if(q)for(var n of q(t))J.call(t,n)&&V(e,n,t[n]);return e},Y=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const z="SELECT*FROM",H="FROM pragma_table_",K="WHERE",U=K+" schema='main'AND type='table'AND name!='sqlite_schema'",G=e=>{const t=N(),l=(e,n)=>!f(_(_(t,e),n)),c=(l,a,c,d,v)=>Y(void 0,null,(function*(){const y=F();L(null!=v?v:{},(e=>o(b(e),(e=>{return n=e,null==(t=y)?void 0:t.add(n);var t,n}))));const f=R(y);if(u(f)&&g(t,l)&&d)return yield e("DROP TABLE"+M(l)),void I(t,l);if(u(f)||g(t,l)){const n=_(t,l),r=F([...null!=(h=null==(p=n)?void 0:p.keys())?h:[]]);yield m([...o(f,(t=>Y(void 0,null,(function*(){C(r,t)||(yield e(`ALTER TABLE${M(l)}ADD${M(t)}`),I(n,t,""))})))),...c?o(R(r),(t=>Y(void 0,null,(function*(){t!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(t)}`),I(n,t))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>n+M(e))))});`),I(t,l,N([[a,""],...o(f,(e=>[e,""]))]));var p,h;if(u(f))yield e("DELETE FROM"+M(l));else{const t=[],u=[],c=[];L(v,((e,n)=>{var l;s(t,`(?${l=i(f),",?".repeat(l)})`),s(u,n,...o(f,(t=>e[t]))),s(c,n)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>n+M(e))))+")VALUES"+r(t,n),u),yield e("DELETE FROM"+M(l)+K+M(a)+"NOT IN("+r(o(c,(()=>"?")),n)+")",c)}}));return[()=>Y(void 0,null,(function*(){return D(t,w(yield m(o(yield e("SELECT name "+H+"list "+U),(t=>Y(void 0,[t],(function*({name:t}){return[t,w(o(yield e("SELECT name,type "+H+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,n,l)=>{return I(t,n,D((i=N,g(r=t,o=n)||I(r,o,i()),_(r,o)),l,((e,t,n)=>{n!=_(e,t)&&I(e,t,n)}),((e,t)=>I(e,t))));var r,o,i}),((e,n)=>I(t,n)))})),(t,n)=>Y(void 0,null,(function*(){const r=l(t,n)?yield e(z+M(t)+K+M(n)+"=?",["_"]):[];return u(r)?null:A(r[0],n)})),(e,t,n,l)=>Y(void 0,null,(function*(){return yield c(e,t,!0,!0,{[n]:l})})),(t,n)=>Y(void 0,null,(function*(){return l(t,n)?w(a(o(yield e(z+M(t)),(e=>[e[n],A(W({},e),n)])),(([e,t])=>!f(e)&&!x(t)))):{}})),c]};var Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const X=(e,t,n,l,r)=>{let o,i,u,a=0,c=0,d=0;const v=[],y=e=>Q(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>Q(void 0,null,(function*(){return yield y((()=>Q(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>Q(void 0,[...n],(function*(n={},r={}){return h.stopAutoLoad(),yield h.load(n,r),d=1,u=l(((n,l)=>Q(void 0,null,(function*(){yield y((()=>Q(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==n?void 0:n())?r:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(d&&(r(u),u=void 0,d=0),h),save:t=>Q(void 0,null,(function*(){return yield h.schedule((()=>Q(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>Q(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Q(void 0,null,(function*(){return s(v,...e),yield Q(void 0,null,(function*(){if(!c){for(c=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}c=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(h)};var Z=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ee="store",te=(e,n,l,r,{storeTableName:o=t})=>{const[i,u,a]=G(n),c=X(e,(()=>Z(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,$))?e:{})[ee])}))),(e=>Z(void 0,null,(function*(){return c.schedule(i,(()=>Z(void 0,null,(function*(){var t;yield a(o,$,"_",{[ee]:(t=e(),JSON.stringify(t,((e,t)=>{return y(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),l,r);return c},ne="rowIdColumnName",le="tableId",re="tableName",oe={load:0,save:0,[re]:t+"_values"},ie=(e,t,n,l)=>{const r=N();return L(e,((e,o)=>{const i=c(T(O(t,h(e)?{[n]:e}:e)),0,S(t));f(i[0])||l(o,i[0])||I(r,o,i)})),r};var ue=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ae=(e,t,n,l,r)=>{const[o,i,[u,s,d]]=(({tables:{load:e={},save:t={}}={},values:n={}})=>{const l=c(T(O(oe,n)),0,S(oe)),r=l[2];return[ie(e,{[le]:null,[ne]:$},le,(e=>e==r)),ie(t,{[re]:null,[ne]:$,deleteEmptyColumns:0,deleteEmptyTable:0},re,((e,t)=>t==r)),l]})(r),[v,y,p,h,E]=G(t),b=X(e,(()=>ue(void 0,null,(function*(){yield v();const e=yield ue(void 0,null,(function*(){return w(a(yield m(j(o,((e,t)=>ue(void 0,[e,t],(function*([e,t],n){return[e,yield h(n,t)]}))))),(e=>!x(e[1]))))})),t=yield ue(void 0,null,(function*(){return u?yield y(d,$):{}}));return x(e)&&f(t)?void 0:[e,t]}))),(e=>ue(void 0,null,(function*(){const[t,n]=e();b.schedule(v,...(e=>j(i,(([t,n,l,r],o)=>()=>ue(void 0,null,(function*(){return yield E(t,n,l,r,e[o])})))))(t),(e=>s?()=>ue(void 0,null,(function*(){return yield p(d,$,"_",e)})):null)(n))}))),n,l);return b},ce="json",se="autoLoadIntervalSeconds",de={mode:ce,[se]:1},ve="pragma ",ye="data_version",fe="schema_version",pe=(e,t,n,l,r)=>{const o=O(de,h(t)?{storeTableName:t}:null!=t?t:{});let i,u;return(o.mode==ce?te:ae)(e,n,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield n(ve+ye))[0][ye],l=(yield n(ve+fe))[0][fe];t==(null!=i?i:i=t)&&l==(null!=u?u:u=l)||(e(),i=t,u=l)}catch(e){}},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t}),1e3*o[se]),l(e)]),(([e,t])=>{clearInterval(e),i=u=null,r(t)}),o)};var he=Object.defineProperty,me=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,Pe=(e,t,n)=>t in e?he(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;exports.createSqliteWasmPersister=(e,t,n,l)=>pe(e,l,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))Ee.call(t,n)&&Pe(e,n,t[n]);if(me)for(var n of me(t))be.call(t,n)&&Pe(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>t.capi.sqlite3_update_hook(n,(()=>e()),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)));
1
+ "use strict";const e=e=>typeof e,t="tinybase",n=",",l=e(""),r=(e,t="")=>e.join(t),o=(e,t)=>e.map(t),i=e=>e.length,u=e=>0==i(e),a=(e,t)=>e.filter(t),d=(e,t,n)=>e.slice(t,n),c=(e,...t)=>e.push(...t),s=Promise,v=JSON.parse,y=(e,t)=>e instanceof t,f=e=>null==e,p=(e,t,n)=>f(e)?null==n?void 0:n():t(e),h=t=>e(t)==l,m=e=>{return t=function*(){return s.all(e)},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t},E=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},b=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},O=(e,t)=>null==e?void 0:e.delete(t),P=Object,w=P.keys,A=P.freeze,T=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),S=(e,t)=>(delete e[t],e),x=(e,t)=>o(P.entries(e),(([e,n])=>t(n,e))),N=e=>P.values(e),C=e=>i(w(e)),R=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==C(e),g=e=>new Map(e),I=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},_=(e,t)=>null==e?void 0:e.get(t),j=(e,t)=>{var n;return o([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},D=(e,t,n)=>f(n)?(O(e,t),e):null==e?void 0:e.set(t,n),$=(e,t,n,l=D)=>(x(t,((t,l)=>n(e,l,t))),((e,t)=>{((e,t)=>{null==e||e.forEach(t)})(e,((e,n)=>t(n)))})(e,(n=>((e,t)=>!f(((e,t)=>p(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),M="_id",F=e=>`"${e.replace(/"/g,'""')}"`,k=e=>new Set(Array.isArray(e)||f(e)?e:[e]),B=(e,t)=>null==e?void 0:e.add(t);var q=Object.defineProperty,W=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,U=(e,t,n)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V=(e,t)=>{for(var n in t||(t={}))H.call(t,n)&&U(e,n,t[n]);if(W)for(var n of W(t))J.call(t,n)&&U(e,n,t[n]);return e},Y=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const z="SELECT*FROM",K="FROM pragma_table_",G="WHERE",Q=(e,t)=>{const l=g(),d=(e,t)=>!f(_(_(l,e),t)),s=(t,d,s,v,y)=>Y(void 0,null,(function*(){const f=k();x(null!=y?y:{},(e=>o(w(e),(e=>B(f,e)))));const p=b(f);if(u(p)&&E(l,t)&&v)return yield e("DROP TABLE"+F(t)),void D(l,t);if(u(p)||E(l,t)){const n=_(l,t),r=k(I(n));yield m([...o(p,(l=>Y(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${F(t)}ADD${F(l)}`),D(n,l,""))})))),...s?o(b(r),(l=>Y(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${F(t)}DROP${F(l)}`),D(n,l))})))):[]])}else yield e(`CREATE TABLE${F(t)}(${F(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(p,(e=>n+F(e))))});`),D(l,t,g([[d,""],...o(p,(e=>[e,""]))]));if(u(p))E(l,t)&&(yield e("DELETE FROM"+F(t)));else{const u=[],s=[],v=[],f=a(I(_(l,t)),(e=>e!=d));x(y,((e,t)=>{var n;c(u,`(?${n=i(f),",?".repeat(n)})`),c(s,t,...o(f,(t=>e[t]))),c(v,t)})),yield e("INSERT INTO"+F(t)+"("+F(d)+r(o(f,(e=>n+F(e))))+")VALUES"+r(u,n)+"ON CONFLICT("+F(d)+")DO UPDATE SET"+r(o(f,(e=>F(e)+"=excluded."+F(e))),n),s),yield e("DELETE FROM"+F(t)+G+F(d)+"NOT IN("+X(v)+")",v)}}));return[()=>Y(void 0,null,(function*(){return $(l,T(yield m(o(yield e("SELECT name "+K+"list WHERE schema='main'AND type='table'AND name IN("+X(t)+")",t),(t=>Y(void 0,[t],(function*({name:t}){return[t,T(o(yield e("SELECT name,type "+K+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,t,n)=>{return D(l,t,$((i=g,E(r=l,o=t)||D(r,o,i()),_(r,o)),n,((e,t,n)=>{n!=_(e,t)&&D(e,t,n)}),((e,t)=>D(e,t))));var r,o,i}),((e,t)=>D(l,t)))})),(t,n)=>Y(void 0,null,(function*(){const l=d(t,n)?yield e(z+F(t)+G+F(n)+"=?",["_"]):[];return u(l)?null:S(l[0],n)})),(e,t,n,l)=>Y(void 0,null,(function*(){return yield s(e,t,!0,!0,{[n]:l})})),(t,n)=>Y(void 0,null,(function*(){return d(t,n)?T(a(o(yield e(z+F(t)),(e=>[e[n],S(V({},e),n)])),(([e,t])=>!f(e)&&!R(t)))):{}})),s]},X=e=>r(o(e,(()=>"?")),n);var Z=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ee=(e,t,n,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(n,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>Z(void 0,[...n],(function*(n={},r={}){return h.stopAutoLoad(),yield h.load(n,r),s=1,u=l(((n,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==n?void 0:n())?r:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:t=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>Z(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){}a=0}))))),h})),startAutoSave:()=>Z(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();R(n)&&R(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(h)};var te=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ne="store",le=(e,t,n,l,[r],o)=>{const[i,u,a]=Q(t,o),d=ee(e,(()=>te(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,M))?e:{})[ne])}))),(e=>te(void 0,null,(function*(){return d.schedule(i,(()=>te(void 0,null,(function*(){var t;yield a(r,M,"_",{[ne]:(t=e(),JSON.stringify(t,((e,t)=>{return y(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),n,l);return d};var re=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const oe=(e,t,n,l,[r,o,[i,u,d]],c)=>{const[s,v,y,p,h]=Q(t,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return T(a(yield m(j(r,((e,t)=>re(void 0,[e,t],(function*([e,t],n){return[e,yield p(n,t)]}))))),(e=>!R(e[1]))))})),t=yield re(void 0,null,(function*(){return i?yield v(d,M):{}}));return R(e)&&f(t)?void 0:[e,t]}))),(e=>re(void 0,null,(function*(){const[t,n]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m(j(o,((t,n)=>re(void 0,[t,n],(function*([t,n,l,r],o){return yield h(t,n,l,r,e[o])})))))})))(t),yield(e=>re(void 0,null,(function*(){return u?yield y(d,M,"_",e):null})))(n)}))),n,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:t+"_values"},ye=(e,t,n,l)=>{const r=g();return x(e,((e,o)=>{const i=d(N(L(t,h(e)?{[n]:e}:e)),0,C(t));f(i[0])||l(o,i[0])||D(r,o,i)})),r},fe="pragma ",pe="data_version",he="schema_version",me=(e,n,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const n=(e=>L(se,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[ue];if(n.mode==ie){const{storeTableName:e=t}=n;return[1,l,[e],k(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=n,u=d(N(L(ve,i)),0,C(ve)),a=u[2],c=k(a);return[0,l,[ye(r,{[de]:null,[ae]:M},de,(e=>B(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:M,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,t)=>B(c,t)&&t==a)),u],c]})(n);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield l(fe+pe))[0][pe],n=(yield l(fe+he))[0][he];t==(null!=i?i:i=t)&&n==(null!=u?u:u=n)||(e(),i=t,u=n)}catch(e){}},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t}),1e3*c),r((t=>v.has(t)?e():0))]),(([e,t])=>{clearInterval(e),i=u=null,o(t)}),s,b(v))};var Ee=Object.defineProperty,be=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,we=(e,t,n)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;exports.createSqliteWasmPersister=(e,t,n,l)=>me(e,l,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))Oe.call(t,n)&&we(e,n,t[n]);if(be)for(var n of be(t))Pe.call(t,n)&&we(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>t.capi.sqlite3_update_hook(n,((t,n,l,r)=>e(r)),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)));
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),d=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,m=e=>{return n=function*(){return d.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=Object,b=E.keys,O=E.freeze,P=(e=[])=>E.fromEntries(e),A=(...e)=>E.assign({},...e),w=(e,n)=>(delete e[n],e),L=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),T=e=>E.values(e),S=e=>i(b(e)),g=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==S(e),C=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>f(t)?(R(e,n),e):null==e?void 0:e.set(n,t),D=(e,n,t,l=_)=>(L(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)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),$="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var B=Object.defineProperty,k=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?B(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))q.call(n,t)&&Y(e,t,n[t]);if(k)for(var t of k(n))J.call(n,t)&&Y(e,t,n[t]);return e},H=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const K="SELECT*FROM",U="FROM pragma_table_",V="WHERE",W=V+" schema='main'AND type='table'AND name!='sqlite_schema'",G=e=>{const n=x(),l=(e,t)=>!f(I(I(n,e),t)),c=(l,a,c,d,v)=>H(void 0,null,(function*(){const y=F();L(null!=v?v:{},(e=>o(b(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(u(f)&&C(n,l)&&d)return yield e("DROP TABLE"+M(l)),void _(n,l);if(u(f)||C(n,l)){const t=I(n,l),r=F([...null!=(h=null==(p=t)?void 0:p.keys())?h:[]]);yield m([...o(f,(n=>H(void 0,null,(function*(){R(r,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),_(t,n,""))})))),...c?o(N(r),(n=>H(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),_(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+M(e))))});`),_(n,l,x([[a,""],...o(f,(e=>[e,""]))]));var p,h;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],c=[];L(v,((e,t)=>{var l;s(n,`(?${l=i(f),",?".repeat(l)})`),s(u,t,...o(f,(n=>e[n]))),s(c,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>t+M(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+M(l)+V+M(a)+"NOT IN("+r(o(c,(()=>"?")),t)+")",c)}}));return[()=>H(void 0,null,(function*(){return D(n,P(yield m(o(yield e("SELECT name "+U+"list "+W),(n=>H(void 0,[n],(function*({name:n}){return[n,P(o(yield e("SELECT name,type "+U+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return _(n,t,D((i=x,C(r=n,o=t)||_(r,o,i()),I(r,o)),l,((e,n,t)=>{t!=I(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,t)=>_(n,t)))})),(n,t)=>H(void 0,null,(function*(){const r=l(n,t)?yield e(K+M(n)+V+M(t)+"=?",["_"]):[];return u(r)?null:w(r[0],t)})),(e,n,t,l)=>H(void 0,null,(function*(){return yield c(e,n,!0,!0,{[t]:l})})),(n,t)=>H(void 0,null,(function*(){return l(n,t)?P(a(o(yield e(K+M(n)),(e=>[e[t],w(z({},e),t)])),(([e,n])=>!f(e)&&!g(n)))):{}})),c]};var Q=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const X=(e,n,t,l,r)=>{let o,i,u,a=0,c=0,d=0;const v=[],y=e=>Q(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(t,l)=>Q(void 0,null,(function*(){return yield y((()=>Q(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),h})),startAutoLoad:(...t)=>Q(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),d=1,u=l(((t,l)=>Q(void 0,null,(function*(){yield y((()=>Q(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(d&&(r(u),u=void 0,d=0),h),save:n=>Q(void 0,null,(function*(){return yield h.schedule((()=>Q(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),h})),startAutoSave:()=>Q(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const t=n();h.save((()=>t))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Q(void 0,null,(function*(){return s(v,...e),yield Q(void 0,null,(function*(){if(!c){for(c=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}c=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return O(h)};var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee="store",ne=(e,t,l,r,{storeTableName:o=n})=>{const[i,u,a]=G(t),c=X(e,(()=>Z(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,$))?e:{})[ee])}))),(e=>Z(void 0,null,(function*(){return c.schedule(i,(()=>Z(void 0,null,(function*(){var n;yield a(o,$,"_",{[ee]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,r);return c},te="rowIdColumnName",le="tableId",re="tableName",oe={load:0,save:0,[re]:n+"_values"},ie=(e,n,t,l)=>{const r=x();return L(e,((e,o)=>{const i=c(T(A(n,h(e)?{[t]:e}:e)),0,S(n));f(i[0])||l(o,i[0])||_(r,o,i)})),r};var ue=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ae=(e,n,t,l,r)=>{const[o,i,[u,s,d]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=c(T(A(oe,t)),0,S(oe)),r=l[2];return[ie(e,{[le]:null,[te]:$},le,(e=>e==r)),ie(n,{[re]:null,[te]:$,deleteEmptyColumns:0,deleteEmptyTable:0},re,((e,n)=>n==r)),l]})(r),[v,y,p,h,E]=G(n),b=X(e,(()=>ue(void 0,null,(function*(){yield v();const e=yield ue(void 0,null,(function*(){return P(a(yield m(j(o,((e,n)=>ue(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!g(e[1]))))})),n=yield ue(void 0,null,(function*(){return u?yield y(d,$):{}}));return g(e)&&f(n)?void 0:[e,n]}))),(e=>ue(void 0,null,(function*(){const[n,t]=e();b.schedule(v,...(e=>j(i,(([n,t,l,r],o)=>()=>ue(void 0,null,(function*(){return yield E(n,t,l,r,e[o])})))))(n),(e=>s?()=>ue(void 0,null,(function*(){return yield p(d,$,"_",e)})):null)(t))}))),t,l);return b},ce="json",se="autoLoadIntervalSeconds",de={mode:ce,[se]:1},ve="pragma ",ye="data_version",fe="schema_version",pe=(e,n,t,l,r)=>{const o=A(de,h(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(o.mode==ce?ne:ae)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ve+ye))[0][ye],l=(yield t(ve+fe))[0][fe];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*o[se]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,r(n)}),o)};var he=Object.defineProperty,me=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,Oe=(e,n,t)=>n in e?he(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Pe="change";exports.createSqlite3Persister=(e,n,t)=>pe(e,t,((e,t=[])=>new d(((l,r)=>n.all(e,t,((e,n)=>e?r(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))Ee.call(n,t)&&Oe(e,t,n[t]);if(me)for(var t of me(n))be.call(n,t)&&Oe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=()=>e();return n.on(Pe,t),t}),(e=>n.off(Pe,e)));
1
+ "use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(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:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,A=P.keys,T=P.freeze,w=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),S=(e,n)=>(delete e[n],e),N=(e,n)=>o(P.entries(e),(([e,t])=>n(t,e))),g=e=>P.values(e),C=e=>i(A(e)),R=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==C(e),x=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t,l=$)=>(N(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)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var H=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?H(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,q=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&Y(e,t,n[t]);if(J)for(var t of J(n))W.call(n,t)&&Y(e,t,n[t]);return e},z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const K="SELECT*FROM",V="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=x(),d=(e,n)=>!f(j(j(l,e),n)),s=(n,d,s,v,y)=>z(void 0,null,(function*(){const f=B();N(null!=y?y:{},(e=>o(A(e),(e=>k(f,e)))));const p=b(f);if(u(p)&&E(l,n)&&v)return yield e("DROP TABLE"+M(n)),void $(l,n);if(u(p)||E(l,n)){const t=j(l,n),r=B(I(t));yield m([...o(p,(l=>z(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${M(n)}ADD${M(l)}`),$(t,l,""))})))),...s?o(b(r),(l=>z(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${M(n)}DROP${M(l)}`),$(t,l))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(p,(e=>t+M(e))))});`),$(l,n,x([[d,""],...o(p,(e=>[e,""]))]));if(u(p))E(l,n)&&(yield e("DELETE FROM"+M(n)));else{const u=[],s=[],v=[],f=a(I(j(l,n)),(e=>e!=d));N(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(d)+r(o(f,(e=>t+M(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+M(d)+")DO UPDATE SET"+r(o(f,(e=>M(e)+"=excluded."+M(e))),t),s),yield e("DELETE FROM"+M(n)+G+M(d)+"NOT IN("+X(v)+")",v)}}));return[()=>z(void 0,null,(function*(){return _(l,w(yield m(o(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,w(o(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return $(l,n,_((i=x,E(r=l,o=n)||$(r,o,i()),j(r,o)),t,((e,n,t)=>{t!=j(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var r,o,i}),((e,n)=>$(l,n)))})),(n,t)=>z(void 0,null,(function*(){const l=d(n,t)?yield e(K+M(n)+G+M(t)+"=?",["_"]):[];return u(l)?null:S(l[0],t)})),(e,n,t,l)=>z(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>z(void 0,null,(function*(){return d(n,t)?w(a(o(yield e(K+M(n)),(e=>[e[t],S(q({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),h})),startAutoSave:()=>Z(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(h)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,F))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,F,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,p,h]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return w(a(yield m(D(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,F):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m(D(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield h(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,F,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=x();return N(e,((e,o)=>{const i=d(g(L(n,h(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||$(r,o,i)})),r},fe="pragma ",pe="data_version",he="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>L(se,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(g(L(ve,i)),0,C(ve)),a=u[2],c=B(a);return[0,l,[ye(r,{[de]:null,[ae]:F},de,(e=>k(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>k(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+pe))[0][pe],t=(yield l(fe+he))[0][he];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,b(v))};var Ee=Object.defineProperty,be=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,Ae=(e,n,t)=>n in e?Ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Te="change";exports.createSqlite3Persister=(e,n,t)=>me(e,t,((e,t=[])=>new s(((l,r)=>n.all(e,t,((e,n)=>e?r(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))Oe.call(n,t)&&Ae(e,t,n[t]);if(be)for(var t of be(n))Pe.call(n,t)&&Ae(e,t,n[t]);return e})({},e))))))))),(e=>{const t=(n,t,l)=>e(l);return n.on(Te,t),t}),(e=>n.off(Te,e)));
@@ -1 +1 @@
1
- "use strict";var t=require("yjs");const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,r=(t,e,n)=>o(t)?null==n?void 0:n():e(t),l=Object,i=l.freeze,u=(t=[])=>l.fromEntries(t),s=(t,e)=>!o(((t,e)=>r(t,(t=>t[e])))(t,e)),a=(t,e)=>((t,e)=>t.map(e))(l.entries(t),(([t,n])=>e(n,t))),c=(t,e,n)=>(s(t,e)||(t[e]=n()),t[e]);var d=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const v=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var f=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const h="t",y="delete",g=t=>[t.get(h),t.get("v")],p=(e,n,r,l)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let c;return a(r,((t,e)=>{l(u,e,t)&&(c=1)})),u.forEach(((t,e)=>{s(r,e)||(u.delete(e),c=1)})),o(n)||u.size||e.delete(n),c};exports.createYjsPersister=(l,s,S="tinybase")=>{const A=s.getMap(S);return((l,S,w,O,m)=>{let J,L,N,x=0,C=0,P=0;const b=[],z=t=>d(void 0,null,(function*(){2!=x&&(x=1,yield t(),x=0)})),E={load:(t,e)=>d(void 0,null,(function*(){return yield z((()=>d(void 0,null,(function*(){try{l.setContent(yield S())}catch(n){l.setContent([t,e])}})))),E})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),P=1,N=(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==e(o)&&(l=o[0].path,0==e(l)))return[t.get("t").toJSON(),t.get("v").toJSON()];var l;const[i,s]=g(t),a={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==h?r(n(t),(o=>{const l=c(a,o,u),s=i.get(o);r(n(t),(t=>{const n=c(l,t,u),o=s.get(t);v(e,((t,{action:e})=>n[t]=e==y?null:o.get(t)))}),(()=>v(e,((t,{action:e})=>{var n;return l[t]=e==y?null:null==(n=s.get(t))?void 0:n.toJSON()}))))}),(()=>v(e,((t,{action:e})=>{var n;return a[t]=e==y?null:null==(n=i.get(t))?void 0:n.toJSON()})))):v(e,((t,{action:e})=>d[t]=e==y?null:s.get(t)))))})(o),[a,d]})(A,o)));return A.observeDeep(o),o})(((t,e)=>d(void 0,null,(function*(){yield z((()=>d(void 0,null,(function*(){var n;if(e)l.setTransactionChanges(e());else try{l.setContent(null!=(n=null==t?void 0:t())?n:yield S())}catch(t){}}))))})))),E})),stopAutoLoad:()=>{return P&&(t=N,A.unobserveDeep(t),N=void 0,P=0),E;var t},save:e=>d(void 0,null,(function*(){return yield E.schedule((()=>d(void 0,null,(function*(){if(1!=x){x=2;try{yield((e,n)=>f(void 0,null,(function*(){return s.transact((()=>((e,n,l)=>{(e=>{e.size||(e.set(h,new t.Map),e.set("v",new t.Map))})(e);const[i,u]=g(e),s=()=>{c=1};let c=1;if(r(null==l?void 0:l(),(([t,e])=>{c=0,a(t,((t,e)=>c?0:o(t)?i.delete(e):r(i.get(e),(e=>a(t,((t,n)=>c?0:o(t)?e.delete(n):r(e.get(n),(e=>a(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),a(e,((t,e)=>c?0:o(t)?u.delete(e):u.set(e,t)))})),c){const[t,e]=n();p(i,void 0,t,((t,e,n)=>p(i,e,n,((t,e,n)=>p(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),p(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(A,e,n)))})))(l.getContent,e)}catch(t){}x=0}})))),E})),startAutoSave:()=>d(void 0,null,(function*(){return yield E.stopAutoSave().save(),J=l.addDidFinishTransactionListener(((t,e)=>{const n=e();E.save((()=>n))})),E})),stopAutoSave:()=>(r(J,l.delListener),E),schedule:(...t)=>d(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(b,...t),yield d(void 0,null,(function*(){if(!C){for(C=1;!o(L=n(b));)try{yield L()}catch(t){}C=0}})),E})),getStore:()=>l,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(E)})(l,(()=>f(void 0,null,(function*(){return A.size?[A.get(h).toJSON(),A.get("v").toJSON()]:void 0}))))};
1
+ "use strict";var t=require("yjs");const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,r=(t,e,n)=>o(t)?null==n?void 0:n():e(t),l=Object,i=l.keys,u=l.freeze,s=(t=[])=>l.fromEntries(t),a=(t,e)=>!o(((t,e)=>r(t,(t=>t[e])))(t,e)),c=(t,e)=>((t,e)=>t.map(e))(l.entries(t),(([t,n])=>e(n,t))),d=t=>(t=>t instanceof l&&t.constructor==l)(t)&&0==(t=>e(i(t)))(t),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]);var f=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const y=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var h=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const g="t",p="delete",S=t=>[t.get(g),t.get("v")],A=(e,n,r,l)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let s;return c(r,((t,e)=>{l(u,e,t)&&(s=1)})),u.forEach(((t,e)=>{a(r,e)||(u.delete(e),s=1)})),o(n)||u.size||e.delete(n),s};exports.createYjsPersister=(l,i,a="tinybase")=>{const w=i.getMap(a);return((l,a,O,m,J)=>{let L,N,x,C=0,P=0,b=0;const z=[],E=t=>f(void 0,null,(function*(){return 2!=C&&(C=1,yield M.schedule((()=>f(void 0,null,(function*(){yield t(),C=0}))))),M})),M={load:(t,e)=>f(void 0,null,(function*(){return yield E((()=>f(void 0,null,(function*(){try{l.setContent(yield a())}catch(n){l.setContent([t,e])}}))))})),startAutoLoad:(...t)=>f(void 0,[...t],(function*(t={},o={}){return M.stopAutoLoad(),yield M.load(t,o),b=1,x=(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==e(o)&&(l=o[0].path,0==e(l)))return[t.get("t").toJSON(),t.get("v").toJSON()];var l;const[i,u]=S(t),a={},c={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==g?r(n(t),(o=>{const l=v(a,o,s),u=i.get(o);r(n(t),(t=>{const n=v(l,t,s),o=u.get(t);y(e,((t,{action:e})=>n[t]=e==p?null:o.get(t)))}),(()=>y(e,((t,{action:e})=>{var n;return l[t]=e==p?null:null==(n=u.get(t))?void 0:n.toJSON()}))))}),(()=>y(e,((t,{action:e})=>{var n;return a[t]=e==p?null:null==(n=i.get(t))?void 0:n.toJSON()})))):y(e,((t,{action:e})=>c[t]=e==p?null:u.get(t)))))})(o),[a,c]})(w,o)));return w.observeDeep(o),o})(((t,e)=>f(void 0,null,(function*(){return yield E((()=>f(void 0,null,(function*(){var n;if(e)l.setTransactionChanges(e());else try{l.setContent(null!=(n=null==t?void 0:t())?n:yield a())}catch(t){}}))))})))),M})),stopAutoLoad:()=>{return b&&(t=x,w.unobserveDeep(t),x=void 0,b=0),M;var t},save:e=>f(void 0,null,(function*(){return 1!=C&&(C=2,yield M.schedule((()=>f(void 0,null,(function*(){try{yield((e,n)=>h(void 0,null,(function*(){return i.transact((()=>((e,n,l)=>{(e=>{e.size||(e.set(g,new t.Map),e.set("v",new t.Map))})(e);const[i,u]=S(e),s=()=>{a=1};let a=1;if(r(null==l?void 0:l(),(([t,e])=>{a=0,c(t,((t,e)=>a?0:o(t)?i.delete(e):r(i.get(e),(e=>c(t,((t,n)=>a?0:o(t)?e.delete(n):r(e.get(n),(e=>c(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),c(e,((t,e)=>a?0:o(t)?u.delete(e):u.set(e,t)))})),a){const[t,e]=n();A(i,void 0,t,((t,e,n)=>A(i,e,n,((t,e,n)=>A(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),A(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(w,e,n)))})))(l.getContent,e)}catch(t){}C=0}))))),M})),startAutoSave:()=>f(void 0,null,(function*(){return yield M.stopAutoSave().save(),L=l.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();d(n)&&d(o)||M.save((()=>[n,o]))})),M})),stopAutoSave:()=>(r(L,l.delListener),M),schedule:(...t)=>f(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(z,...t),yield f(void 0,null,(function*(){if(!P){for(P=1;!o(N=n(z));)try{yield N()}catch(t){}P=0}})),M})),getStore:()=>l,destroy:()=>M.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(M)})(l,(()=>h(void 0,null,(function*(){return w.size?[w.get(g).toJSON(),w.get("v").toJSON()]:void 0}))))};
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,e=Object.freeze;var n=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{r(n.next(t))}catch(t){i(t)}},u=t=>{try{r(n.throw(t))}catch(t){i(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,u);r((n=n.apply(t,e)).next())}));exports.createCustomPersister=(o,i,l,u,r)=>{let s,d,a,c=0,v=0,y=0;const f=[],h=t=>n(void 0,null,(function*(){2!=c&&(c=1,yield t(),c=0)})),p={load:(t,e)=>n(void 0,null,(function*(){return yield h((()=>n(void 0,null,(function*(){try{o.setContent(yield i())}catch(n){o.setContent([t,e])}})))),p})),startAutoLoad:(...t)=>n(void 0,[...t],(function*(t={},e={}){return p.stopAutoLoad(),yield p.load(t,e),y=1,a=u(((t,e)=>n(void 0,null,(function*(){yield h((()=>n(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield i())}catch(t){}}))))})))),p})),stopAutoLoad:()=>(y&&(r(a),a=void 0,y=0),p),save:t=>n(void 0,null,(function*(){return yield p.schedule((()=>n(void 0,null,(function*(){if(1!=c){c=2;try{yield l(o.getContent,t)}catch(t){}c=0}})))),p})),startAutoSave:()=>n(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=o.addDidFinishTransactionListener(((t,e)=>{const n=e();p.save((()=>n))})),p})),stopAutoSave:()=>{var e,n;return e=s,n=o.delListener,!!t(e)||n(e),p},schedule:(...e)=>n(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(f,...e),yield n(void 0,null,(function*(){if(!v){for(v=1;!t((e=f,d=e.shift()));)try{yield d()}catch(t){}v=0}var e})),p})),getStore:()=>o,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(p)};
1
+ "use strict";const t=t=>null==t,e=Object,n=e.keys,o=e.freeze,i=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==(t=>n(t).length)(t);var l=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{r(n.next(t))}catch(t){i(t)}},u=t=>{try{r(n.throw(t))}catch(t){i(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,u);r((n=n.apply(t,e)).next())}));exports.createCustomPersister=(e,n,u,r,s)=>{let d,a,c,v=0,y=0,f=0;const h=[],p=t=>l(void 0,null,(function*(){return 2!=v&&(v=1,yield A.schedule((()=>l(void 0,null,(function*(){yield t(),v=0}))))),A})),A={load:(t,o)=>l(void 0,null,(function*(){return yield p((()=>l(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,o])}}))))})),startAutoLoad:(...t)=>l(void 0,[...t],(function*(t={},o={}){return A.stopAutoLoad(),yield A.load(t,o),f=1,c=r(((t,o)=>l(void 0,null,(function*(){return yield p((()=>l(void 0,null,(function*(){var i;if(o)e.setTransactionChanges(o());else try{e.setContent(null!=(i=null==t?void 0:t())?i:yield n())}catch(t){}}))))})))),A})),stopAutoLoad:()=>(f&&(s(c),c=void 0,f=0),A),save:t=>l(void 0,null,(function*(){return 1!=v&&(v=2,yield A.schedule((()=>l(void 0,null,(function*(){try{yield u(e.getContent,t)}catch(t){}v=0}))))),A})),startAutoSave:()=>l(void 0,null,(function*(){return yield A.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||A.save((()=>[n,o]))})),A})),stopAutoSave:()=>{var n,o;return n=d,o=e.delListener,!!t(n)||o(n),A},schedule:(...e)=>l(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(h,...e),yield l(void 0,null,(function*(){if(!y){for(y=1;!t((e=h,a=e.shift()));)try{yield a()}catch(t){}y=0}var e})),A})),getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(A)};
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",f=v+u,g="Row",L=g+u,p="Sorted"+g+u,S="Cell",y=S+u,w="Value",I=w+"s",R=w+u,T=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),m=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),V=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),x=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),k=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),Q=e=>e.shift(),j=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>k(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),pe=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ie(e,t)||pe(e,t,n()),ge(e,t)),ye=(e,t,n,l=pe)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),we=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Ie=(e,t,n)=>we(e,(e=>we(e,t,n)),oe),Re=(e,t,n)=>we(e,(e=>Ie(e,t,n)),oe),Te=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>Te(e,Te),be=e=>Te(e,Ce),me=(e,t,n,l,s=0)=>G((n?Se:ge)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=me(o,t,n,l,s+1);return ae(o)&&pe(e,t[s]),r})),Ve=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},xe=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Ee=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=Se(a,t,ke);return E(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(ge(a,t),(l=>{E(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&pe(a,t)})),u=(e,n)=>{pe(s,e,n),ie(o,e)||(pe(o,e,t()),pe(r,e,he()),pe(i,e,he()))},v=e=>{pe(s,e),pe(o,e),pe(r,e),pe(i,e),c(e)};return[()=>e,()=>fe(s),e=>Le(o,e),e=>ie(o,e),e=>ge(s,e),e=>ge(o,e),(e,t)=>pe(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=he(),f=he(),g=ge(r,t),L=ge(i,t),p=t=>{const o=n=>e.getCell(s,t,n),r=ge(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&m(r,i)||pe(h,t,[r,i]),!q(v)){const e=ge(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&pe(f,t,n)}},S=e=>{o((()=>{ue(h,(([,e],t)=>pe(g,t,e))),ue(f,((e,t)=>pe(L,t,e)))}),h,f,g,L,e),ce(h),ce(f)};Le(g,p),e.hasTable(s)&&E(e.getRowIds(s),(e=>{ie(g,e)||p(e)})),S(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>p(n))),e.addTableListener(s,(()=>S())))},v,()=>Le(a,v),d,c]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?Q(e):null)?s:t+n++},t=>{Oe.test(t)&&D(e)<1e3&&F(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return pe(o,c,[s,r,i,a,d]),Me(me(r,null!=i?i:[t],ke),c),c},(e,l,...s)=>E(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):E([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(ge(o,e),(([,n,l])=>(me(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),pe(o,e),s(e),l))),e=>G(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?E(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Qe=Ae((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Pe((()=>z)),f=he(),g=he(),L=[],p=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>xe(e,l,s,o,n[t]))))))),ue(s,((n,l)=>Ee(e,l,n[t])))})),a=1},y=e=>{pe(f,e),pe(g,e),v(c,[e])},w=(e,t)=>E(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),y),I=()=>w(L,D(L)-o),R=()=>G(n,(()=>{F(L,n),I(),w(p),n=void 0,s=1})),T=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){R();const e=Se(r,t,he),i=Se(e,n,he),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(pe(i,l))&&ae(pe(e,n))&&ae(pe(r,t))&&T(),M()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(a){R();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(pe(i,t))&&T(),M()}})),V=(e="")=>(q(n)&&(n=t+l++,pe(f,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),x=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(p,V()),S(0,n),n=P(L),s=1)},k=()=>{J(p)||(F(L,n),n=Q(p),S(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=V(e);return M(),t},O=(e,t)=>(j(e)&&ge(g,e)!==t&&(pe(g,e,t),v(c,[e])),z),j=e=>ie(f,e),z={setSize:e=>(o=e,I(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...p]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:j,getCheckpoint:e=>ge(g,e),goBackward:()=>(x(),M(),z),goForward:()=>(k(),M(),z),goTo:e=>{const t=C(L,e)?x:C(p,e)?k:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(w(L),w(p),q(n)||y(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return ee(z.clear())})),je=(e,t)=>e<t?-1:1,ze=Ae((e=>{const n=he(),l=he(),[s,o,r,i,a,d,c,,u,v,h]=De(e,he,(e=>q(e)?t:U(e)?k(e,T):T(e))),[f,g,L]=Pe((()=>S)),p=(t,n,l)=>{const s=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,o,r,i=je)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let f=0;const L=ke(),p=ke(),S=d(e);if(ue(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{Me(L,e),G(ge(S,e),(t=>{ve(t,n),ae(t)&&(pe(S,e),f=1)}))})),ue(s,(e=>{Me(L,e),ie(S,e)||(pe(S,e,ke()),f=1),Me(ge(S,e),n),q(o)||Me(p,e)}))})),t(),ae(v)||(h?Le(S,(e=>Me(p,e))):Le(r,(e=>G(ge(u,e),(e=>Me(p,e))))),ue(p,(e=>{const t=(t,n)=>i(ge(v,t),ge(v,n),e),n=[...ge(S,e)];V(n,t)||(pe(S,e,ke(x(n,t))),Me(L,e))}))),(f||h)&&!q(a)){const t=[...S];V(t,a)||(c(e,he(x(t,a))),f=1)}f&&g(n,[e]),ue(L,(t=>g(l,[e,t])))}),Je(s),G(o,Je)),S},delIndexDefinition:e=>(v(e),S),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ie(d(e),t),getTableId:a,getSliceIds:e=>fe(d(e)),getSliceRowIds:(e,t)=>de(ge(d(e),t)),addSliceIdsListener:(e,t)=>f(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),S),destroy:h,getListenerStats:()=>({})};return ee(S)})),Ne=he([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},Be=Ae((e=>{const n=he(),[l,s,o,r,i,a,d,,c,u,v]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Pe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var u;const v=K(l)?[l,o,r,i]:null!=(u=ge(Ne,l))?u:ge(Ne,"sum");return c(e,t,((t,l,s,o,r,i)=>{const c=a(e),u=re(o);i||(i=q(c)),t();let h=We(c,u,o,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Je(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())})),qe=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;const Ke=Ae((e=>{const n=e.createStore,[l,s,o,r,i,,,u,,h,f,w,I]=De(e,(()=>!0),X),R=n(),T=n(),C=he(),m=(e,t,...n)=>E(n,(n=>Me(Se(Se(C,t,he),e,ke),n))),V=e=>{G(ge(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),E([T,R],(t=>t.delTable(e)))},x=(e,t,n)=>m(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(n,l,s)=>{u(n,l),V(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ae(c))return k;const v=he(r);Le(v,((e,[,t])=>G(ge(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let f=R;if(ae(h)&&J(d))f=T;else{x(n,f,T);const e=he();Le(h,((t,[n,l])=>Me(Se(e,n,ke),[t,l])));const t=ke();Le(c,(n=>ie(e,n)?0:Me(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=Se(r,t,he),i=ge(l,s),a=o?void 0:n;if(i!==a){const n=ke([[i,a]]),o=re(l);pe(l,s,a),ue(ge(e,t),(([e,t])=>{const s=We(c[e],o,l,n,t);c[e]=q(Ve(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?T.delRow(n,a):q(a)?t[2]=T.addRow(n,c):T.setRow(n,a,c)}));m(f,n,f.addRowListener(n,null,((o,r,i,a)=>{const d=[],c=[],u=he(),v=f.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&pe(u,e,[l])})),h&&s(me(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&s(me(l,c,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(n,i,t))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,i)})),u,i)})))}x(n,e,f);const g=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);E(r,(l=>{var s;const[o,,r,i,d]=ge(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(s=ge(d,t))?s:[];c!=u&&(q(h)||I(n,h),pe(d,t,q(c)?null:[c,...w(n,1,e.addRowListener(o,c,(()=>g(t,o,c,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=ge(v,n))?void 0:o[0],null==(i=ge(null==(r=ge(v,n))?void 0:r[4],t))?void 0:i[0],s])};f.transaction((()=>b(i,(e=>e(s)))?Le(c,((e,l)=>xe(f,n,t,e,l(s,t)))):f.delRow(n,t)))})(t)},{3:L}=ge(v,null);return f.transaction((()=>w(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?g(o,l,o,L):(f.delRow(n,o),ue(v,(({4:e})=>G(ge(e,o),(([,t])=>{I(n,t),pe(e,o)})))))}))))),k},delQueryDefinition:e=>(V(e),h(e),k),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(T.delListener(e),k),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ge.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&qe)for(var l of qe(e))t.indexOf(l)<0&&He.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return se({[v]:[1,1],[L]:[0,1],[p]:[0,5],[g]:[1,2],[y]:[0,2],[S]:[1,3]},(([e,t],n)=>{E(e?["get","has","forEach"]:["get"],(e=>k[e+d+n]=(...t)=>T[e+n](...t))),k[c+d+n+a]=(...e)=>T[c+n+a](...O(e,0,t),((n,...l)=>e[t](k,...l)))})),ee(k)})),Ue=Ae((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,c,u,,,v,h,f]=De(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[g,L,p]=Pe((()=>I)),S=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ie(s,t)){const o=ke();if(c(e)!=w(e))Me(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;pe(s,t,o)}return ge(s,t)})),y=(e,t)=>G(u(e),(([,,e])=>pe(e,t))),w=e=>ge(n,e),I={setRelationshipDefinition:(e,t,r,i)=>(pe(n,e,r),v(e,t,((t,n)=>{const r=ke(),i=ke(),a=ke(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(Me(i,t),G(ge(c,t),(e=>{ve(e,l),ae(e)&&pe(c,t)}))),q(n)||(Me(i,n),ie(c,n)||pe(c,n,ke()),Me(ge(c,n),l)),Me(r,l),pe(d,l,n),Le(ge(o,e),(t=>{ie(S(e,t),l)&&Me(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(s,[e,t]))),ue(a,(t=>{y(e,t),L(o,[e,t])}))}),Je(i)),I),delRelationshipDefinition:e=>(pe(n,e),h(e),I),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),g(n,o,[e,t])),delListener:e=>(y(...p(e)),I),destroy:f,getListenerStats:()=>({})};return ee(I)})),Xe=e=>[e,e],Ye=()=>[he(),he()],Ze=e=>[...e],_e=([e,t])=>e===t,et=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),tt=(e,t,n)=>pe(e,t,ge(e,t)==-n?void 0:n),nt=()=>{let e,t,n=!1,l=!1,o=0;const d=he(),u=he(),p=he(),b=he(),V=he(),M=he(),D=he(),J=he(),A=he(),P=he(),Q=he(),N=he(),W=he(),B=ke(),$=he(),U=he(),X=he(),Y=he(),Z=Ye(),_=Ye(),te=Ye(),re=Ye(),de=Ye(),me=Ye(),De=Ye(),Je=Ye(),Ae=Ye(),Oe=Ye(),Qe=Ye(),ze=Ye(),Ne=Ye(),We=Ye(),Be=he(),$e=Ye(),[qe,Ge,He,Ke]=Pe((()=>gn)),Ue=e=>{if(!et(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(Ve(e[i])!=t&&le(e,i),0))},lt=(t,n)=>(!e||ie(P,n)||Jt(n))&&et(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>et(l?n:at(n,e,t),((l,s)=>G(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?G(ge(ge(P,t),l),(e=>Ve(s)!=e[r]?Jt(t,n,l,s,e[i]):s),(()=>Jt(t,n,l,s))):q(Ve(s))?Jt(t,n,l,s):s,rt=(e,t)=>et(t?e:dt(e),((t,n)=>G(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?G(ge(N,e),(t=>Ve(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):q(Ve(n))?At(e,n):n,at=(e,t,n)=>(G(ge(Q,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ue(W,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(B,(t=>{ne(e,t)||At(t)}))),e),ct=e=>ye(P,e,((e,t,n)=>{const l=he(),s=ke();ye(Se(P,t,he),n,((e,t,n)=>{pe(e,t,n),G(n[i],(e=>pe(l,t,e)),(()=>Me(s,t)))})),pe(Q,t,[l,s])}),((e,t)=>{pe(P,t),pe(Q,t)})),ut=e=>ye(N,e,((e,t,n)=>{pe(N,t,n),G(n[i],(e=>pe(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{pe(N,t),pe(W,t),ve(B,t)})),vt=e=>oe(e)?on():en(e),ht=e=>ye(X,e,((e,t,n)=>ft(t,n)),((e,t)=>Tt(t))),ft=(e,t)=>ye(Se(X,e,(()=>(Vt(e,1),pe($,e,Fe()),pe(U,e,he()),he()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>ye(Se(t,n,(()=>(xt(e,n,1),he()))),l,((t,l,s)=>Lt(e,n,t,l,s)),((l,o)=>bt(e,t,n,l,o,s))),Lt=(e,t,n,l,s)=>{ie(n,l)||Et(e,t,l,1);const o=ge(n,l);s!==o&&(kt(e,t,l,o,s),pe(n,l,s))},pt=(e,t,n,l,s)=>G(ge(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),St=e=>oe(e)?dn():tn(e),yt=e=>ye(Y,e,((e,t,n)=>wt(t,n)),((e,t)=>mt(t))),wt=(e,t)=>{ie(Y,e)||Mt(e,1);const n=ge(Y,e);t!==n&&(Dt(e,n,t),pe(Y,e,t))},It=(e,t)=>{const[n]=ge($,e),l=n(t);return ie(ge(X,e),l)?It(e,t):l},Rt=e=>{var t;return null!=(t=ge(X,e))?t:ft(e,{})},Tt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=ge($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(Q,e))?void 0:r[0],s);if(!q(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{kt(e,n,t,ge(l,t)),Et(e,n,t,-1),pe(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(xt(e,n,-1),ae(pe(t,n))&&(Vt(e,-1),pe(X,e),pe($,e),pe(U,e)))},mt=e=>{const t=ge(W,e);if(!q(t))return wt(e,t);Dt(e,ge(Y,e)),Mt(e,-1),pe(Y,e)},Vt=(e,t)=>tt(d,e,t),xt=(e,t,n)=>tt(Se(p,e,he),t,n),Et=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&tt(Se(u,e,he),n,l),pe(o,n,r!=-l?r+l:null),tt(Se(Se(b,e,he),t,he),n,l)},kt=(e,t,n,l,s)=>Se(Se(Se(V,e,he),t,he),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>tt(M,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(F(Se(Se(Se(J,e,he),t,he),n,(()=>[])),l),s),At=(e,t,n)=>(F(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>G(ge(ge(ge(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Xt(e,t,n))])),Ft=e=>G(ge(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(_t(e))])),Pt=e=>ae(J)||ae(Oe[e])?0:ue(e?be(J):J,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),Qt=e=>ae(A)||ae(Qe[e])?0:ue(e?Te(A):A,((t,n)=>Ge(Qe[e],[n],t))),jt=(e,t,n)=>{if(!ae(t))return Ge(e,n,(()=>we(t))),1},zt=e=>{const t=ae(me[e]),n=ae(Je[e])&&ae(re[e])&&ae(de[e])&&t&&ae(_[e]),l=ae(Ae[e])&&ae(De[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[Te(d),Ce(u),Ce(p),be(b),be(V)]:[d,u,p,b,V];if(!n){jt(_[e],s[0]),ue(s[1],((t,n)=>jt(re[e],t,[n])));const n=ke();ue(s[2],((l,s)=>{jt(de[e],l,[s])&&!t&&(Ge(me[e],[s,null]),Me(n,s))})),t||ue(s[4],((t,l)=>{if(!ie(n,l)){const n=ke();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ue(n,(t=>Ge(me[e],[l,t])))}})),ue(s[3],((t,n)=>ue(t,((t,l)=>jt(Je[e],t,[n,l])))))}if(!l){let t;ue(s[4],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(De[e],[l,o],Ot)})),s&&Ge(te[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=ae(Ne[e]),n=ae(We[e])&&ae(ze[e]);if(!t||!n){const l=e?[Te(M),Te(D)]:[M,D];if(t||jt(Ne[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ge(We[e],[s],l,n,Ft),t=1)})),t&&Ge(ze[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...k(t,T)))),gn),Bt=()=>[we(V,((e,t)=>-1===ge(d,t)?null:we(e,((e,n)=>-1===ge(ge(p,t),n)?null:we(e,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))),oe)),oe),we(D,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,Ze,_e),invalidCells:Re(J),changedValues:we(D,Ze,_e),invalidValues:we(A),changedTableIds:we(d),changedRowIds:Ie(p),changedCellIds:Re(b),changedValueIds:we(M)}),qt=()=>Re(X),Gt=()=>fe(X),Ht=e=>fe(ge(X,T(e))),Kt=(e,t,n,l=0,s)=>{return k(O(x((o=ge(X,T(e)),r=(e,n)=>[q(t)?n:ge(e,T(t)),n],k([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>fe(ge(ge(X,T(e)),T(t))),Xt=(e,t,n)=>ge(ge(ge(X,T(e)),T(t)),T(n)),Yt=()=>we(Y),Zt=()=>fe(Y),_t=e=>ge(Y,T(e)),en=e=>Wt((()=>(e=>et(e,lt,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?yt(e):0)),nn=e=>{try{vt(z(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=et(t,(e=>et(e,Ue))))&&(ct(t),!ae(X))){const e=qt();on(),en(e)}})),sn=e=>Wt((()=>{if(t=(e=>et(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>ie(X,e)?Tt(e):0),e),an=(e,t)=>Wt(((e,t)=>G(ge(X,e),(n=>ie(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Wt((()=>yt({}))),cn=()=>Wt((()=>{ct({}),e=!1})),un=()=>Wt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=o){hn();const n=e();return fn(t),n}},hn=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),gn),fn=e=>(o>0&&(o--,0==o&&(n=!ae(V),l=!ae(D),o=1,Pt(1),n&&zt(1),Qt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(ue(V,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>xe(gn,t,n,l,e))))))),ue(D,(([e],t)=>Ee(gn,t,e))),n=l=!1),Ge($e[0],void 0,Bt,$t),o=-1,Pt(0),n&&zt(0),Qt(0),l&&Nt(0),Ge($e[1],void 0,Bt,$t),o=0,n=l=!1,E([d,u,p,b,V,J,M,D,A],ce))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(ge(X,T(e))),getTableCellIds:e=>fe(ge(U,T(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>we(ge(ge(X,T(e)),T(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ae(X),hasTable:e=>ie(X,T(e)),hasTableCell:(e,t)=>ie(ge(U,T(e)),T(t)),hasRow:(e,t)=>ie(ge(X,T(e)),T(t)),hasCell:(e,t,n)=>ie(ge(ge(X,T(e)),T(t)),T(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,T(e)),getTablesJson:()=>j(X),getValuesJson:()=>j(Y),getJson:()=>j([X,Y]),getTablesSchemaJson:()=>j(P),getValuesSchemaJson:()=>j(N),getSchemaJson:()=>j([P,N]),setContent:([e,t])=>Wt((()=>{(oe(e)?on:en)(e),(oe(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>lt(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>st(e,t,n)?gt(e,Rt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=T(e),gt(e,Rt(e),l=It(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Wt(((e,t)=>{if(st(e,t,n,1)){const l=Rt(e);se(n,((n,s)=>pt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ot(e,t,n,K(l)?l(Xt(e,t,n)):l),(l=>pt(e,Rt(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Wt((()=>rt(e,1)?se(e,((e,t)=>wt(t,e))):0)),setValue:(e,t)=>Wt((e=>G(it(e,K(t)?t(_t(e)):t),(t=>wt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{se(e[0],((e,t)=>q(e)?rn(t):se(e,((e,n)=>q(e)?an(t,n):se(e,((e,l)=>xe(gn,t,n,l,e))))))),se(e[1],((e,t)=>Ee(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(z(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=z(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Wt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ge(X,e),(s=>G(ge(s,t),(o=>ie(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>ie(Y,e)?mt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,T(e)),t),forEachRow:(e,t)=>ue(ge(X,T(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,T(e)),T(t)),n),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=Kt(e,t,n,l,s);return qe((()=>{const r=Kt(e,t,n,l,s);m(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),me[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:nt};return se({[h]:[0,Z],[f]:[0,_],[v]:[1,te,[Gt]],[v+y]:[1,re,[Gt]],[L]:[1,de,[Gt]],[g]:[2,De,[Gt,Ht]],[y]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Xe(Xt(...e))],InvalidCell:[3,Oe],[I]:[0,ze],[R]:[0,Ne],[w]:[1,We,[Zt],e=>Xe(_t(e[0]))],InvalidValue:[1,Qe]},(([e,t,n,l],s)=>{gn[c+s+a]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(gn)};exports.createCheckpoints=Qe,exports.createCustomPersister=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>$e(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>$e(void 0,null,(function*(){yield v((()=>$e(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(s(i),i=void 0,c=0),h),save:t=>$e(void 0,null,(function*(){return yield h.schedule((()=>$e(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(G(o,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return F(u,...e),yield $e(void 0,null,(function*(){if(!d){for(d=1;!q(r=Q(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)},exports.createIndexes=ze,exports.createMetrics=Be,exports.createQueries=Ke,exports.createRelationships=Ue,exports.createStore=nt,exports.defaultSorter=je;
1
+ "use strict";const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",f=v+u,g="Row",L=g+u,p="Sorted"+g+u,y="Cell",S=y+u,w="Value",I=w+"s",R=w+u,T=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),m=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),V=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),x=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),k=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),Q=e=>e.shift(),j=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>k(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),pe=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),ye=(e,t,n)=>(ie(e,t)||pe(e,t,n()),ge(e,t)),Se=(e,t,n,l=pe)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),we=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Ie=(e,t,n)=>we(e,(e=>we(e,t,n)),oe),Re=(e,t,n)=>we(e,(e=>Ie(e,t,n)),oe),Te=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>Te(e,Te),be=e=>Te(e,Ce),me=(e,t,n,l,s=0)=>G((n?ye:ge)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=me(o,t,n,l,s+1);return ae(o)&&pe(e,t[s]),r})),Ve=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},xe=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Ee=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=ye(a,t,ke);return E(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(ge(a,t),(l=>{E(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&pe(a,t)})),u=(e,n)=>{pe(s,e,n),ie(o,e)||(pe(o,e,t()),pe(r,e,he()),pe(i,e,he()))},v=e=>{pe(s,e),pe(o,e),pe(r,e),pe(i,e),c(e)};return[()=>e,()=>fe(s),e=>Le(o,e),e=>ie(o,e),e=>ge(s,e),e=>ge(o,e),(e,t)=>pe(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=he(),f=he(),g=ge(r,t),L=ge(i,t),p=t=>{const o=n=>e.getCell(s,t,n),r=ge(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&m(r,i)||pe(h,t,[r,i]),!q(v)){const e=ge(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&pe(f,t,n)}},y=e=>{o((()=>{ue(h,(([,e],t)=>pe(g,t,e))),ue(f,((e,t)=>pe(L,t,e)))}),h,f,g,L,e),ce(h),ce(f)};Le(g,p),e.hasTable(s)&&E(e.getRowIds(s),(e=>{ie(g,e)||p(e)})),y(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>p(n))),e.addTableListener(s,(()=>y())))},v,()=>Le(a,v),d,c]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?Q(e):null)?s:t+n++},t=>{Oe.test(t)&&D(e)<1e3&&F(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return pe(o,c,[s,r,i,a,d]),Me(me(r,null!=i?i:[t],ke),c),c},(e,l,...s)=>E(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):E([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(ge(o,e),(([,n,l])=>(me(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),pe(o,e),s(e),l))),e=>G(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?E(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Qe=Ae((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Pe((()=>z)),f=he(),g=he(),L=[],p=[],y=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>xe(e,l,s,o,n[t]))))))),ue(s,((n,l)=>Ee(e,l,n[t])))})),a=1},S=e=>{pe(f,e),pe(g,e),v(c,[e])},w=(e,t)=>E(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),S),I=()=>w(L,D(L)-o),R=()=>G(n,(()=>{F(L,n),I(),w(p),n=void 0,s=1})),T=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){R();const e=ye(r,t,he),i=ye(e,n,he),a=ye(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(pe(i,l))&&ae(pe(e,n))&&ae(pe(r,t))&&T(),M()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(a){R();const e=ye(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(pe(i,t))&&T(),M()}})),V=(e="")=>(q(n)&&(n=t+l++,pe(f,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),x=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(p,V()),y(0,n),n=P(L),s=1)},k=()=>{J(p)||(F(L,n),n=Q(p),y(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=V(e);return M(),t},O=(e,t)=>(j(e)&&ge(g,e)!==t&&(pe(g,e,t),v(c,[e])),z),j=e=>ie(f,e),z={setSize:e=>(o=e,I(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...p]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:j,getCheckpoint:e=>ge(g,e),goBackward:()=>(x(),M(),z),goForward:()=>(k(),M(),z),goTo:e=>{const t=C(L,e)?x:C(p,e)?k:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(w(L),w(p),q(n)||S(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return ee(z.clear())})),je=(e,t)=>e<t?-1:1,ze=Ae((e=>{const n=he(),l=he(),[s,o,r,i,a,d,c,,u,v,h]=De(e,he,(e=>q(e)?t:U(e)?k(e,T):T(e))),[f,g,L]=Pe((()=>y)),p=(t,n,l)=>{const s=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},y={setIndexDefinition:(e,t,s,o,r,i=je)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let f=0;const L=ke(),p=ke(),y=d(e);if(ue(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{Me(L,e),G(ge(y,e),(t=>{ve(t,n),ae(t)&&(pe(y,e),f=1)}))})),ue(s,(e=>{Me(L,e),ie(y,e)||(pe(y,e,ke()),f=1),Me(ge(y,e),n),q(o)||Me(p,e)}))})),t(),ae(v)||(h?Le(y,(e=>Me(p,e))):Le(r,(e=>G(ge(u,e),(e=>Me(p,e))))),ue(p,(e=>{const t=(t,n)=>i(ge(v,t),ge(v,n),e),n=[...ge(y,e)];V(n,t)||(pe(y,e,ke(x(n,t))),Me(L,e))}))),(f||h)&&!q(a)){const t=[...y];V(t,a)||(c(e,he(x(t,a))),f=1)}f&&g(n,[e]),ue(L,(t=>g(l,[e,t])))}),Je(s),G(o,Je)),y},delIndexDefinition:e=>(v(e),y),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ie(d(e),t),getTableId:a,getSliceIds:e=>fe(d(e)),getSliceRowIds:(e,t)=>de(ge(d(e),t)),addSliceIdsListener:(e,t)=>f(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),y),destroy:h,getListenerStats:()=>({})};return ee(y)})),Ne=he([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},Be=Ae((e=>{const n=he(),[l,s,o,r,i,a,d,,c,u,v]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Pe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var u;const v=K(l)?[l,o,r,i]:null!=(u=ge(Ne,l))?u:ge(Ne,"sum");return c(e,t,((t,l,s,o,r,i)=>{const c=a(e),u=re(o);i||(i=q(c)),t();let h=We(c,u,o,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Je(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())})),qe=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;const Ke=Ae((e=>{const n=e.createStore,[l,s,o,r,i,,,u,,h,f,w,I]=De(e,(()=>!0),X),R=n(),T=n(),C=he(),m=(e,t,...n)=>E(n,(n=>Me(ye(ye(C,t,he),e,ke),n))),V=e=>{G(ge(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),E([T,R],(t=>t.delTable(e)))},x=(e,t,n)=>m(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(n,l,s)=>{u(n,l),V(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ae(c))return k;const v=he(r);Le(v,((e,[,t])=>G(ge(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let f=R;if(ae(h)&&J(d))f=T;else{x(n,f,T);const e=he();Le(h,((t,[n,l])=>Me(ye(e,n,ke),[t,l])));const t=ke();Le(c,(n=>ie(e,n)?0:Me(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=ye(r,t,he),i=ge(l,s),a=o?void 0:n;if(i!==a){const n=ke([[i,a]]),o=re(l);pe(l,s,a),ue(ge(e,t),(([e,t])=>{const s=We(c[e],o,l,n,t);c[e]=q(Ve(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?T.delRow(n,a):q(a)?t[2]=T.addRow(n,c):T.setRow(n,a,c)}));m(f,n,f.addRowListener(n,null,((o,r,i,a)=>{const d=[],c=[],u=he(),v=f.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&pe(u,e,[l])})),h&&s(me(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&s(me(l,c,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(n,i,t))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,i)})),u,i)})))}x(n,e,f);const g=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);E(r,(l=>{var s;const[o,,r,i,d]=ge(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(s=ge(d,t))?s:[];c!=u&&(q(h)||I(n,h),pe(d,t,q(c)?null:[c,...w(n,1,e.addRowListener(o,c,(()=>g(t,o,c,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=ge(v,n))?void 0:o[0],null==(i=ge(null==(r=ge(v,n))?void 0:r[4],t))?void 0:i[0],s])};f.transaction((()=>b(i,(e=>e(s)))?Le(c,((e,l)=>xe(f,n,t,e,l(s,t)))):f.delRow(n,t)))})(t)},{3:L}=ge(v,null);return f.transaction((()=>w(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?g(o,l,o,L):(f.delRow(n,o),ue(v,(({4:e})=>G(ge(e,o),(([,t])=>{I(n,t),pe(e,o)})))))}))))),k},delQueryDefinition:e=>(V(e),h(e),k),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(T.delListener(e),k),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ge.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&qe)for(var l of qe(e))t.indexOf(l)<0&&He.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return se({[v]:[1,1],[L]:[0,1],[p]:[0,5],[g]:[1,2],[S]:[0,2],[y]:[1,3]},(([e,t],n)=>{E(e?["get","has","forEach"]:["get"],(e=>k[e+d+n]=(...t)=>T[e+n](...t))),k[c+d+n+a]=(...e)=>T[c+n+a](...O(e,0,t),((n,...l)=>e[t](k,...l)))})),ee(k)})),Ue=Ae((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,c,u,,,v,h,f]=De(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[g,L,p]=Pe((()=>I)),y=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ie(s,t)){const o=ke();if(c(e)!=w(e))Me(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;pe(s,t,o)}return ge(s,t)})),S=(e,t)=>G(u(e),(([,,e])=>pe(e,t))),w=e=>ge(n,e),I={setRelationshipDefinition:(e,t,r,i)=>(pe(n,e,r),v(e,t,((t,n)=>{const r=ke(),i=ke(),a=ke(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(Me(i,t),G(ge(c,t),(e=>{ve(e,l),ae(e)&&pe(c,t)}))),q(n)||(Me(i,n),ie(c,n)||pe(c,n,ke()),Me(ge(c,n),l)),Me(r,l),pe(d,l,n),Le(ge(o,e),(t=>{ie(y(e,t),l)&&Me(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(s,[e,t]))),ue(a,(t=>{S(e,t),L(o,[e,t])}))}),Je(i)),I),delRelationshipDefinition:e=>(pe(n,e),h(e),I),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:w,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(y(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),g(n,o,[e,t])),delListener:e=>(S(...p(e)),I),destroy:f,getListenerStats:()=>({})};return ee(I)})),Xe=e=>[e,e],Ye=()=>[he(),he()],Ze=e=>[...e],_e=([e,t])=>e===t,et=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),tt=(e,t,n)=>pe(e,t,ge(e,t)==-n?void 0:n),nt=()=>{let e,t,n=!1,l=!1,o=0;const d=he(),u=he(),p=he(),b=he(),V=he(),M=he(),D=he(),J=he(),A=he(),P=he(),Q=he(),N=he(),W=he(),B=ke(),$=he(),U=he(),X=he(),Y=he(),Z=Ye(),_=Ye(),te=Ye(),re=Ye(),de=Ye(),me=Ye(),De=Ye(),Je=Ye(),Ae=Ye(),Oe=Ye(),Qe=Ye(),ze=Ye(),Ne=Ye(),We=Ye(),Be=he(),$e=Ye(),[qe,Ge,He,Ke]=Pe((()=>gn)),Ue=e=>{if(!et(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(Ve(e[i])!=t&&le(e,i),0))},lt=(t,n)=>(!e||ie(P,n)||Jt(n))&&et(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>et(l?n:at(n,e,t),((l,s)=>G(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?G(ge(ge(P,t),l),(e=>Ve(s)!=e[r]?Jt(t,n,l,s,e[i]):s),(()=>Jt(t,n,l,s))):q(Ve(s))?Jt(t,n,l,s):s,rt=(e,t)=>et(t?e:dt(e),((t,n)=>G(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?G(ge(N,e),(t=>Ve(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):q(Ve(n))?At(e,n):n,at=(e,t,n)=>(G(ge(Q,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ue(W,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(B,(t=>{ne(e,t)||At(t)}))),e),ct=e=>Se(P,e,((e,t,n)=>{const l=he(),s=ke();Se(ye(P,t,he),n,((e,t,n)=>{pe(e,t,n),G(n[i],(e=>pe(l,t,e)),(()=>Me(s,t)))})),pe(Q,t,[l,s])}),((e,t)=>{pe(P,t),pe(Q,t)})),ut=e=>Se(N,e,((e,t,n)=>{pe(N,t,n),G(n[i],(e=>pe(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{pe(N,t),pe(W,t),ve(B,t)})),vt=e=>oe(e)?on():en(e),ht=e=>Se(X,e,((e,t,n)=>ft(t,n)),((e,t)=>Tt(t))),ft=(e,t)=>Se(ye(X,e,(()=>(Vt(e,1),pe($,e,Fe()),pe(U,e,he()),he()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>Se(ye(t,n,(()=>(xt(e,n,1),he()))),l,((t,l,s)=>Lt(e,n,t,l,s)),((l,o)=>bt(e,t,n,l,o,s))),Lt=(e,t,n,l,s)=>{ie(n,l)||Et(e,t,l,1);const o=ge(n,l);s!==o&&(kt(e,t,l,o,s),pe(n,l,s))},pt=(e,t,n,l,s)=>G(ge(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),yt=e=>oe(e)?dn():tn(e),St=e=>Se(Y,e,((e,t,n)=>wt(t,n)),((e,t)=>mt(t))),wt=(e,t)=>{ie(Y,e)||Mt(e,1);const n=ge(Y,e);t!==n&&(Dt(e,n,t),pe(Y,e,t))},It=(e,t)=>{const[n]=ge($,e),l=n(t);return ie(ge(X,e),l)?It(e,t):l},Rt=e=>{var t;return null!=(t=ge(X,e))?t:ft(e,{})},Tt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=ge($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(Q,e))?void 0:r[0],s);if(!q(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{kt(e,n,t,ge(l,t)),Et(e,n,t,-1),pe(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(xt(e,n,-1),ae(pe(t,n))&&(Vt(e,-1),pe(X,e),pe($,e),pe(U,e)))},mt=e=>{const t=ge(W,e);if(!q(t))return wt(e,t);Dt(e,ge(Y,e)),Mt(e,-1),pe(Y,e)},Vt=(e,t)=>tt(d,e,t),xt=(e,t,n)=>tt(ye(p,e,he),t,n),Et=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&tt(ye(u,e,he),n,l),pe(o,n,r!=-l?r+l:null),tt(ye(ye(b,e,he),t,he),n,l)},kt=(e,t,n,l,s)=>ye(ye(ye(V,e,he),t,he),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>tt(M,e,t),Dt=(e,t,n)=>ye(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(F(ye(ye(ye(J,e,he),t,he),n,(()=>[])),l),s),At=(e,t,n)=>(F(ye(A,e,(()=>[])),t),n),Ot=(e,t,n)=>G(ge(ge(ge(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Xt(e,t,n))])),Ft=e=>G(ge(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(_t(e))])),Pt=e=>ae(J)||ae(Oe[e])?0:ue(e?be(J):J,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),Qt=e=>ae(A)||ae(Qe[e])?0:ue(e?Te(A):A,((t,n)=>Ge(Qe[e],[n],t))),jt=(e,t,n)=>{if(!ae(t))return Ge(e,n,(()=>we(t))),1},zt=e=>{const t=ae(me[e]),n=ae(Je[e])&&ae(re[e])&&ae(de[e])&&t&&ae(_[e]),l=ae(Ae[e])&&ae(De[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[Te(d),Ce(u),Ce(p),be(b),be(V)]:[d,u,p,b,V];if(!n){jt(_[e],s[0]),ue(s[1],((t,n)=>jt(re[e],t,[n])));const n=ke();ue(s[2],((l,s)=>{jt(de[e],l,[s])&&!t&&(Ge(me[e],[s,null]),Me(n,s))})),t||ue(s[4],((t,l)=>{if(!ie(n,l)){const n=ke();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ue(n,(t=>Ge(me[e],[l,t])))}})),ue(s[3],((t,n)=>ue(t,((t,l)=>jt(Je[e],t,[n,l])))))}if(!l){let t;ue(s[4],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(De[e],[l,o],Ot)})),s&&Ge(te[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=ae(Ne[e]),n=ae(We[e])&&ae(ze[e]);if(!t||!n){const l=e?[Te(M),Te(D)]:[M,D];if(t||jt(Ne[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ge(We[e],[s],l,n,Ft),t=1)})),t&&Ge(ze[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...k(t,T)))),gn),Bt=()=>[we(V,((e,t)=>-1===ge(d,t)?null:we(e,((e,n)=>-1===ge(ge(p,t),n)?null:we(e,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))),oe)),oe),we(D,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,Ze,_e),invalidCells:Re(J),changedValues:we(D,Ze,_e),invalidValues:we(A),changedTableIds:we(d),changedRowIds:Ie(p),changedCellIds:Re(b),changedValueIds:we(M)}),qt=()=>Re(X),Gt=()=>fe(X),Ht=e=>fe(ge(X,T(e))),Kt=(e,t,n,l=0,s)=>{return k(O(x((o=ge(X,T(e)),r=(e,n)=>[q(t)?n:ge(e,T(t)),n],k([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>fe(ge(ge(X,T(e)),T(t))),Xt=(e,t,n)=>ge(ge(ge(X,T(e)),T(t)),T(n)),Yt=()=>we(Y),Zt=()=>fe(Y),_t=e=>ge(Y,T(e)),en=e=>Wt((()=>(e=>et(e,lt,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?St(e):0)),nn=e=>{try{vt(z(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=et(t,(e=>et(e,Ue))))&&(ct(t),!ae(X))){const e=qt();on(),en(e)}})),sn=e=>Wt((()=>{if(t=(e=>et(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>ie(X,e)?Tt(e):0),e),an=(e,t)=>Wt(((e,t)=>G(ge(X,e),(n=>ie(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Wt((()=>St({}))),cn=()=>Wt((()=>{ct({}),e=!1})),un=()=>Wt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=o){hn();const n=e();return fn(t),n}},hn=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),gn),fn=e=>(o>0&&(o--,0==o&&(n=!ae(V),l=!ae(D),o=1,Pt(1),n&&zt(1),Qt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(ue(V,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>xe(gn,t,n,l,e))))))),ue(D,(([e],t)=>Ee(gn,t,e))),n=l=!1),Ge($e[0],void 0,Bt,$t),o=-1,Pt(0),n&&zt(0),Qt(0),l&&Nt(0),Ge($e[1],void 0,Bt,$t),o=0,n=l=!1,E([d,u,p,b,V,J,M,D,A],ce))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(ge(X,T(e))),getTableCellIds:e=>fe(ge(U,T(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>we(ge(ge(X,T(e)),T(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ae(X),hasTable:e=>ie(X,T(e)),hasTableCell:(e,t)=>ie(ge(U,T(e)),T(t)),hasRow:(e,t)=>ie(ge(X,T(e)),T(t)),hasCell:(e,t,n)=>ie(ge(ge(X,T(e)),T(t)),T(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,T(e)),getTablesJson:()=>j(X),getValuesJson:()=>j(Y),getJson:()=>j([X,Y]),getTablesSchemaJson:()=>j(P),getValuesSchemaJson:()=>j(N),getSchemaJson:()=>j([P,N]),setContent:([e,t])=>Wt((()=>{(oe(e)?on:en)(e),(oe(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>lt(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>st(e,t,n)?gt(e,Rt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=T(e),gt(e,Rt(e),l=It(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Wt(((e,t)=>{if(st(e,t,n,1)){const l=Rt(e);se(n,((n,s)=>pt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ot(e,t,n,K(l)?l(Xt(e,t,n)):l),(l=>pt(e,Rt(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Wt((()=>rt(e,1)?se(e,((e,t)=>wt(t,e))):0)),setValue:(e,t)=>Wt((e=>G(it(e,K(t)?t(_t(e)):t),(t=>wt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{se(e[0],((e,t)=>q(e)?rn(t):se(e,((e,n)=>q(e)?an(t,n):se(e,((e,l)=>xe(gn,t,n,l,e))))))),se(e[1],((e,t)=>Ee(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{yt(z(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=z(e);vt(t),yt(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Wt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ge(X,e),(s=>G(ge(s,t),(o=>ie(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>ie(Y,e)?mt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,T(e)),t),forEachRow:(e,t)=>ue(ge(X,T(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,T(e)),T(t)),n),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=Kt(e,t,n,l,s);return qe((()=>{const r=Kt(e,t,n,l,s);m(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),me[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:nt};return se({[h]:[0,Z],[f]:[0,_],[v]:[1,te,[Gt]],[v+S]:[1,re,[Gt]],[L]:[1,de,[Gt]],[g]:[2,De,[Gt,Ht]],[S]:[2,Je,[Gt,Ht]],[y]:[3,Ae,[Gt,Ht,Ut],e=>Xe(Xt(...e))],InvalidCell:[3,Oe],[I]:[0,ze],[R]:[0,Ne],[w]:[1,We,[Zt],e=>Xe(_t(e[0]))],InvalidValue:[1,Qe]},(([e,t,n,l],s)=>{gn[c+s+a]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(gn)};exports.createCheckpoints=Qe,exports.createCustomPersister=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>$e(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>$e(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(s(i),i=void 0,c=0),h),save:t=>$e(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>$e(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){}a=0}))))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();oe(n)&&oe(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(G(o,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return F(u,...e),yield $e(void 0,null,(function*(){if(!d){for(d=1;!q(r=Q(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)},exports.createIndexes=ze,exports.createMetrics=Be,exports.createQueries=Ke,exports.createRelationships=Ue,exports.createStore=nt,exports.defaultSorter=je;
Binary file
@@ -67,27 +67,28 @@ const createCustomPersister = (
67
67
  {
68
68
  loads++;
69
69
  }
70
- await actions();
71
- loadSave = 0;
70
+ await persister.schedule(async () => {
71
+ await actions();
72
+ loadSave = 0;
73
+ });
72
74
  }
75
+ return persister;
73
76
  };
74
77
  const persister = {
75
- load: async (initialTables, initialValues) => {
78
+ load: async (initialTables, initialValues) =>
76
79
  await loadLock(async () => {
77
80
  try {
78
81
  store.setContent(await getPersisted());
79
82
  } catch {
80
83
  store.setContent([initialTables, initialValues]);
81
84
  }
82
- });
83
- return persister;
84
- },
85
+ }),
85
86
  startAutoLoad: async (initialTables = {}, initialValues = {}) => {
86
87
  persister.stopAutoLoad();
87
88
  await persister.load(initialTables, initialValues);
88
89
  listening = 1;
89
90
  listeningHandle = addPersisterListener(
90
- async (getContent, getTransactionChanges) => {
91
+ async (getContent, getTransactionChanges) =>
91
92
  await loadLock(async () => {
92
93
  if (getTransactionChanges) {
93
94
  store.setTransactionChanges(getTransactionChanges());
@@ -96,8 +97,7 @@ const createCustomPersister = (
96
97
  store.setContent(getContent?.() ?? (await getPersisted()));
97
98
  } catch {}
98
99
  }
99
- });
100
- },
100
+ }),
101
101
  );
102
102
  return persister;
103
103
  },
@@ -110,27 +110,29 @@ const createCustomPersister = (
110
110
  return persister;
111
111
  },
112
112
  save: async (getTransactionChanges) => {
113
- await persister.schedule(async () => {
114
- /* istanbul ignore else */
115
- if (loadSave != 1) {
116
- loadSave = 2;
117
- {
118
- saves++;
119
- }
113
+ /* istanbul ignore else */
114
+ if (loadSave != 1) {
115
+ loadSave = 2;
116
+ {
117
+ saves++;
118
+ }
119
+ await persister.schedule(async () => {
120
120
  try {
121
121
  await setPersisted(store.getContent, getTransactionChanges);
122
122
  } catch {}
123
123
  loadSave = 0;
124
- }
125
- });
124
+ });
125
+ }
126
126
  return persister;
127
127
  },
128
128
  startAutoSave: async () => {
129
129
  await persister.stopAutoSave().save();
130
130
  listenerId = store.addDidFinishTransactionListener(
131
131
  (_store, getTransactionChanges) => {
132
- const transactionChanges = getTransactionChanges();
133
- persister.save(() => transactionChanges);
132
+ const [tableChanges, valueChanges] = getTransactionChanges();
133
+ if (!objIsEmpty(tableChanges) || !objIsEmpty(valueChanges)) {
134
+ persister.save(() => [tableChanges, valueChanges]);
135
+ }
134
136
  },
135
137
  );
136
138
  return persister;
@@ -1,3 +1,4 @@
1
+ const arrayLength = (array) => array.length;
1
2
  const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
2
3
  const arrayPush = (array, ...values) => array.push(...values);
3
4
  const arrayShift = (array) => array.shift();
@@ -22,7 +23,12 @@ const ifNotUndefined = (value, then, otherwise) =>
22
23
  isUndefined(value) ? otherwise?.() : then(value);
23
24
 
24
25
  const object = Object;
26
+ const objIds = object.keys;
25
27
  const objFreeze = object.freeze;
28
+ const isObject = (obj) =>
29
+ isInstanceOf(obj, object) && obj.constructor == object;
30
+ const objSize = (obj) => arrayLength(objIds(obj));
31
+ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
26
32
 
27
33
  const createCustomPersister = (
28
34
  store,
@@ -59,27 +65,28 @@ const createCustomPersister = (
59
65
  {
60
66
  loads++;
61
67
  }
62
- await actions();
63
- loadSave = 0;
68
+ await persister.schedule(async () => {
69
+ await actions();
70
+ loadSave = 0;
71
+ });
64
72
  }
73
+ return persister;
65
74
  };
66
75
  const persister = {
67
- load: async (initialTables, initialValues) => {
76
+ load: async (initialTables, initialValues) =>
68
77
  await loadLock(async () => {
69
78
  try {
70
79
  store.setContent(await getPersisted());
71
80
  } catch {
72
81
  store.setContent([initialTables, initialValues]);
73
82
  }
74
- });
75
- return persister;
76
- },
83
+ }),
77
84
  startAutoLoad: async (initialTables = {}, initialValues = {}) => {
78
85
  persister.stopAutoLoad();
79
86
  await persister.load(initialTables, initialValues);
80
87
  listening = 1;
81
88
  listeningHandle = addPersisterListener(
82
- async (getContent, getTransactionChanges) => {
89
+ async (getContent, getTransactionChanges) =>
83
90
  await loadLock(async () => {
84
91
  if (getTransactionChanges) {
85
92
  store.setTransactionChanges(getTransactionChanges());
@@ -88,8 +95,7 @@ const createCustomPersister = (
88
95
  store.setContent(getContent?.() ?? (await getPersisted()));
89
96
  } catch {}
90
97
  }
91
- });
92
- },
98
+ }),
93
99
  );
94
100
  return persister;
95
101
  },
@@ -102,27 +108,29 @@ const createCustomPersister = (
102
108
  return persister;
103
109
  },
104
110
  save: async (getTransactionChanges) => {
105
- await persister.schedule(async () => {
106
- /* istanbul ignore else */
107
- if (loadSave != 1) {
108
- loadSave = 2;
109
- {
110
- saves++;
111
- }
111
+ /* istanbul ignore else */
112
+ if (loadSave != 1) {
113
+ loadSave = 2;
114
+ {
115
+ saves++;
116
+ }
117
+ await persister.schedule(async () => {
112
118
  try {
113
119
  await setPersisted(store.getContent, getTransactionChanges);
114
120
  } catch {}
115
121
  loadSave = 0;
116
- }
117
- });
122
+ });
123
+ }
118
124
  return persister;
119
125
  },
120
126
  startAutoSave: async () => {
121
127
  await persister.stopAutoSave().save();
122
128
  listenerId = store.addDidFinishTransactionListener(
123
129
  (_store, getTransactionChanges) => {
124
- const transactionChanges = getTransactionChanges();
125
- persister.save(() => transactionChanges);
130
+ const [tableChanges, valueChanges] = getTransactionChanges();
131
+ if (!objIsEmpty(tableChanges) || !objIsEmpty(valueChanges)) {
132
+ persister.save(() => [tableChanges, valueChanges]);
133
+ }
126
134
  },
127
135
  );
128
136
  return persister;