tinybase 4.0.0-beta.5 → 4.0.0-beta.5.1

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 (145) 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/store.cjs +1 -1
  20. package/lib/cjs/store.cjs.gz +0 -0
  21. package/lib/cjs/tinybase.cjs +1 -1
  22. package/lib/cjs/tinybase.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  38. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters.cjs +1 -1
  40. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  41. package/lib/cjs-es6/store.cjs +1 -1
  42. package/lib/cjs-es6/store.cjs.gz +0 -0
  43. package/lib/cjs-es6/tinybase.cjs +1 -1
  44. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  45. package/lib/debug/persisters/persister-automerge.js +1 -1
  46. package/lib/debug/persisters/persister-browser.js +1 -1
  47. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +3 -3
  48. package/lib/debug/persisters/persister-file.js +1 -1
  49. package/lib/debug/persisters/persister-remote.js +1 -1
  50. package/lib/debug/persisters/persister-sqlite-wasm.js +3 -3
  51. package/lib/debug/persisters/persister-sqlite3.js +3 -3
  52. package/lib/debug/persisters/persister-yjs.js +1 -1
  53. package/lib/debug/persisters.js +1 -1
  54. package/lib/debug/store.js +2 -2
  55. package/lib/debug/tinybase.js +3 -3
  56. package/lib/es6/persisters/persister-automerge.js +1 -1
  57. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  58. package/lib/es6/persisters/persister-browser.js +1 -1
  59. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  60. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  61. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  62. package/lib/es6/persisters/persister-file.js +1 -1
  63. package/lib/es6/persisters/persister-file.js.gz +0 -0
  64. package/lib/es6/persisters/persister-remote.js +1 -1
  65. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  66. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  67. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  68. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  69. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  70. package/lib/es6/persisters/persister-yjs.js +1 -1
  71. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  72. package/lib/es6/persisters.js +1 -1
  73. package/lib/es6/persisters.js.gz +0 -0
  74. package/lib/es6/store.js +1 -1
  75. package/lib/es6/store.js.gz +0 -0
  76. package/lib/es6/tinybase.js +1 -1
  77. package/lib/es6/tinybase.js.gz +0 -0
  78. package/lib/persisters/persister-automerge.js +1 -1
  79. package/lib/persisters/persister-automerge.js.gz +0 -0
  80. package/lib/persisters/persister-browser.js +1 -1
  81. package/lib/persisters/persister-browser.js.gz +0 -0
  82. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  83. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  84. package/lib/persisters/persister-file.js +1 -1
  85. package/lib/persisters/persister-file.js.gz +0 -0
  86. package/lib/persisters/persister-remote.js +1 -1
  87. package/lib/persisters/persister-remote.js.gz +0 -0
  88. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  89. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  90. package/lib/persisters/persister-sqlite3.js +1 -1
  91. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  92. package/lib/persisters/persister-yjs.js +1 -1
  93. package/lib/persisters/persister-yjs.js.gz +0 -0
  94. package/lib/persisters.js +1 -1
  95. package/lib/persisters.js.gz +0 -0
  96. package/lib/store.js +1 -1
  97. package/lib/store.js.gz +0 -0
  98. package/lib/tinybase.js +1 -1
  99. package/lib/tinybase.js.gz +0 -0
  100. package/lib/umd/persisters/persister-automerge.js +1 -1
  101. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  102. package/lib/umd/persisters/persister-browser.js +1 -1
  103. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  104. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  105. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  106. package/lib/umd/persisters/persister-file.js +1 -1
  107. package/lib/umd/persisters/persister-file.js.gz +0 -0
  108. package/lib/umd/persisters/persister-remote.js +1 -1
  109. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  110. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  111. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  112. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  113. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  114. package/lib/umd/persisters/persister-yjs.js +1 -1
  115. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  116. package/lib/umd/persisters.js +1 -1
  117. package/lib/umd/persisters.js.gz +0 -0
  118. package/lib/umd/store.js +1 -1
  119. package/lib/umd/store.js.gz +0 -0
  120. package/lib/umd/tinybase.js +1 -1
  121. package/lib/umd/tinybase.js.gz +0 -0
  122. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  123. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  124. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  125. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  126. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  127. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  128. package/lib/umd-es6/persisters/persister-file.js +1 -1
  129. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  130. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  131. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  132. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  133. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  134. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  135. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  136. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  137. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  138. package/lib/umd-es6/persisters.js +1 -1
  139. package/lib/umd-es6/persisters.js.gz +0 -0
  140. package/lib/umd-es6/store.js +1 -1
  141. package/lib/umd-es6/store.js.gz +0 -0
  142. package/lib/umd-es6/tinybase.js +1 -1
  143. package/lib/umd-es6/tinybase.js.gz +0 -0
  144. package/package.json +5 -5
  145. package/readme.md +1 -1
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),v=Promise,y=JSON.parse,f=(e,n)=>e instanceof n,h=e=>null==e,p=(e,n,t)=>h(e)?null==t?void 0:t():n(e),m=e=>n(e)==o,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=Object,A=T.keys,L=T.freeze,P=(e=[])=>T.fromEntries(e),x=(...e)=>T.assign({},...e),w=(e,n)=>(delete e[n],e),S=(e,n)=>i(T.entries(e),(([e,t])=>n(t,e))),C=e=>T.values(e),N=e=>u(A(e)),O=e=>(e=>f(e,T)&&e.constructor==T)(e)&&0==N(e),R=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=(e,n)=>null==e?void 0:e.delete(n),I=e=>new Map(e),_=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>h(t)?(g(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t,l=$)=>(S(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!h(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F="_id",B=e=>`"${e.replace(/"/g,'""')}"`,j=e=>new Set(Array.isArray(e)||h(e)?e:[e]);var q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const W="SELECT*FROM",k="FROM pragma_table_",J="WHERE",U=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=e=>{const n=I(),t=(e,t)=>!h(_(_(n,e),t)),o=(t,o,d,s,v)=>q(void 0,null,(function*(){const y=j();S(null!=v?v:{},(e=>i(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=b(y);if(a(f)&&R(n,t)&&s)return yield e("DROP TABLE"+B(t)),void $(n,t);if(a(f)||R(n,t)){const l=_(n,t),r=j([...null!=(p=null==(h=l)?void 0:h.keys())?p:[]]);yield E([...i(f,(n=>q(void 0,null,(function*(){g(r,n)||(yield e(`ALTER TABLE${B(t)}ADD${B(n)}`),$(l,n,""))})))),...d?i(b(r),(n=>q(void 0,null,(function*(){n!=o&&(yield e(`ALTER TABLE${B(t)}DROP${B(n)}`),$(l,n))})))):[]])}else yield e(`CREATE TABLE${B(t)}(${B(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(f,(e=>l+B(e))))});`),$(n,t,I([[o,""],...i(f,(e=>[e,""]))]));var h,p;if(a(f))yield e("DELETE FROM"+B(t));else{const n=[],a=[],d=[];S(v,((e,t)=>{var l;c(n,`(?${l=u(f),",?".repeat(l)})`),c(a,t,...i(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+B(t)+"("+B(o)+r(i(f,(e=>l+B(e))))+")VALUES"+r(n,l),a),yield e("DELETE FROM"+B(t)+J+B(o)+"NOT IN("+r(i(d,(()=>"?")),l)+")",d)}}));return[()=>q(void 0,null,(function*(){return M(n,P(yield E(i(yield e("SELECT name "+k+"list "+U),(n=>q(void 0,[n],(function*({name:n}){return[n,P(i(yield e("SELECT name,type "+k+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return $(n,t,M((i=I,R(o=n,r=t)||$(o,r,i()),_(o,r)),l,((e,n,t)=>{t!=_(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var o,r,i}),((e,t)=>$(n,t)))})),(n,l)=>q(void 0,null,(function*(){const o=t(n,l)?yield e(W+B(n)+J+B(l)+"=?",["_"]):[];return a(o)?null:w(o[0],l)})),(e,n,t,l)=>q(void 0,null,(function*(){return yield o(e,n,!0,!0,{[t]:l})})),(n,l)=>q(void 0,null,(function*(){return t(n,l)?P(d(i(yield e(W+B(n)),(e=>[e[l],w(e,l)])),(([e,n])=>!h(e)&&!O(n)))):null})),o]};var z=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const H=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>z(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),f={load:(...t)=>z(void 0,[...t],(function*(t={},l={}){return yield y((()=>z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),f})),startAutoLoad:(...t)=>z(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>z(void 0,null,(function*(){yield y((()=>z(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>z(void 0,null,(function*(){return yield f.schedule((()=>z(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),f})),startAutoSave:()=>z(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const t=n();f.save((()=>t))})),f})),stopAutoSave:()=>(p(r,e.delListener),f),schedule:(...e)=>z(void 0,null,(function*(){return c(v,...e),yield z(void 0,null,(function*(){if(!d){for(d=1;!h((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(f)};var K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="store",G=(e,n,l,o,{storeTableName:r=t})=>{const[i,u,a]=Y(n),d=H(e,(()=>K(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,F))?e:{})[V])}))),(e=>K(void 0,null,(function*(){return d.schedule(i,(()=>K(void 0,null,(function*(){var n;yield a(r,F,"_",{[V]:(n=e(),JSON.stringify(n,((e,n)=>{return f(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,o);return d},Q="rowIdColumnName",X="tableId",Z="tableName",ee={load:0,save:0,[Z]:t+"_values"},ne=(e,n,t,l)=>{const o=I();return S(e,((e,r)=>{const i=s(C(x(n,m(e)?{[t]:e}:e)),0,N(n));h(i[0])||l(r,i[0])||$(o,r,i)})),o};var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=(e,n,t,l,o)=>{const[r,i,[u,a,c]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=s(C(x(ee,t)),0,N(ee)),o=l[2];return[ne(e,{[X]:null,[Q]:F},X,(e=>e==o)),ne(n,{[Z]:null,[Q]:F,deleteEmptyColumns:0,deleteEmptyTable:0},Z,((e,n)=>n==o)),l]})(o),[v,y,f,p,m]=Y(n),T=H(e,(()=>te(void 0,null,(function*(){yield v();const e=yield te(void 0,null,(function*(){return P(d(yield E(D(r,((e,n)=>te(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>e[1])))})),n=yield te(void 0,null,(function*(){return u?yield y(c,F):{}}));return O(e)&&h(n)?void 0:[e,n]}))),(e=>te(void 0,null,(function*(){const[n,t]=e();T.schedule(v,...(e=>D(i,(([n,t,l,o],r)=>()=>te(void 0,null,(function*(){return yield m(n,t,l,o,e[r])})))))(n),(e=>a?()=>te(void 0,null,(function*(){return yield f(c,F,"_",e)})):null)(t))}))),t,l);return T},oe="json",re="autoLoadIntervalSeconds",ie={mode:oe,[re]:1},ue="pragma ",ae="data_version",de="schema_version",se=(e,n,t,l,o)=>{const r=x(ie,m(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(r.mode==oe?G:le)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ue+ae))[0][ae],l=(yield t(ue+de))[0][de];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{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n}),1e3*r[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),r)};e.createCrSqliteWasmPersister=(e,n,t)=>se(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate((()=>e()))),(e=>e()))},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),v=Promise,y=JSON.parse,f=(e,n)=>e instanceof n,h=e=>null==e,p=(e,n,t)=>h(e)?null==t?void 0:t():n(e),m=e=>n(e)==o,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=Object,A=T.keys,L=T.freeze,P=(e=[])=>T.fromEntries(e),x=(...e)=>T.assign({},...e),w=(e,n)=>(delete e[n],e),S=(e,n)=>i(T.entries(e),(([e,t])=>n(t,e))),C=e=>T.values(e),N=e=>u(A(e)),O=e=>(e=>f(e,T)&&e.constructor==T)(e)&&0==N(e),R=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=(e,n)=>null==e?void 0:e.delete(n),I=e=>new Map(e),_=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>h(t)?(g(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t,l=$)=>(S(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!h(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F="_id",B=e=>`"${e.replace(/"/g,'""')}"`,j=e=>new Set(Array.isArray(e)||h(e)?e:[e]);var q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const W="SELECT*FROM",k="FROM pragma_table_",J="WHERE",U=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=e=>{const n=I(),t=(e,t)=>!h(_(_(n,e),t)),o=(t,o,d,s,v)=>q(void 0,null,(function*(){const y=j();S(null!=v?v:{},(e=>i(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=b(y);if(a(f)&&R(n,t)&&s)return yield e("DROP TABLE"+B(t)),void $(n,t);if(a(f)||R(n,t)){const l=_(n,t),r=j([...null!=(p=null==(h=l)?void 0:h.keys())?p:[]]);yield E([...i(f,(n=>q(void 0,null,(function*(){g(r,n)||(yield e(`ALTER TABLE${B(t)}ADD${B(n)}`),$(l,n,""))})))),...d?i(b(r),(n=>q(void 0,null,(function*(){n!=o&&(yield e(`ALTER TABLE${B(t)}DROP${B(n)}`),$(l,n))})))):[]])}else yield e(`CREATE TABLE${B(t)}(${B(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(f,(e=>l+B(e))))});`),$(n,t,I([[o,""],...i(f,(e=>[e,""]))]));var h,p;if(a(f))yield e("DELETE FROM"+B(t));else{const n=[],a=[],d=[];S(v,((e,t)=>{var l;c(n,`(?${l=u(f),",?".repeat(l)})`),c(a,t,...i(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+B(t)+"("+B(o)+r(i(f,(e=>l+B(e))))+")VALUES"+r(n,l),a),yield e("DELETE FROM"+B(t)+J+B(o)+"NOT IN("+r(i(d,(()=>"?")),l)+")",d)}}));return[()=>q(void 0,null,(function*(){return M(n,P(yield E(i(yield e("SELECT name "+k+"list "+U),(n=>q(void 0,[n],(function*({name:n}){return[n,P(i(yield e("SELECT name,type "+k+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return $(n,t,M((i=I,R(o=n,r=t)||$(o,r,i()),_(o,r)),l,((e,n,t)=>{t!=_(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var o,r,i}),((e,t)=>$(n,t)))})),(n,l)=>q(void 0,null,(function*(){const o=t(n,l)?yield e(W+B(n)+J+B(l)+"=?",["_"]):[];return a(o)?null:w(o[0],l)})),(e,n,t,l)=>q(void 0,null,(function*(){return yield o(e,n,!0,!0,{[t]:l})})),(n,l)=>q(void 0,null,(function*(){return t(n,l)?P(d(i(yield e(W+B(n)),(e=>[e[l],w(e,l)])),(([e,n])=>!h(e)&&!O(n)))):{}})),o]};var z=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const H=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>z(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),f={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])}})))),f})),startAutoLoad:(...t)=>z(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>z(void 0,null,(function*(){yield y((()=>z(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>z(void 0,null,(function*(){return yield f.schedule((()=>z(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),f})),startAutoSave:()=>z(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const t=n();f.save((()=>t))})),f})),stopAutoSave:()=>(p(r,e.delListener),f),schedule:(...e)=>z(void 0,null,(function*(){return c(v,...e),yield z(void 0,null,(function*(){if(!d){for(d=1;!h((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(f)};var K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="store",G=(e,n,l,o,{storeTableName:r=t})=>{const[i,u,a]=Y(n),d=H(e,(()=>K(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,F))?e:{})[V])}))),(e=>K(void 0,null,(function*(){return d.schedule(i,(()=>K(void 0,null,(function*(){var n;yield a(r,F,"_",{[V]:(n=e(),JSON.stringify(n,((e,n)=>{return f(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,o);return d},Q="rowIdColumnName",X="tableId",Z="tableName",ee={load:0,save:0,[Z]:t+"_values"},ne=(e,n,t,l)=>{const o=I();return S(e,((e,r)=>{const i=s(C(x(n,m(e)?{[t]:e}:e)),0,N(n));h(i[0])||l(r,i[0])||$(o,r,i)})),o};var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=(e,n,t,l,o)=>{const[r,i,[u,a,c]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=s(C(x(ee,t)),0,N(ee)),o=l[2];return[ne(e,{[X]:null,[Q]:F},X,(e=>e==o)),ne(n,{[Z]:null,[Q]:F,deleteEmptyColumns:0,deleteEmptyTable:0},Z,((e,n)=>n==o)),l]})(o),[v,y,f,p,m]=Y(n),T=H(e,(()=>te(void 0,null,(function*(){yield v();const e=yield te(void 0,null,(function*(){return P(d(yield E(D(r,((e,n)=>te(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!O(e[1]))))})),n=yield te(void 0,null,(function*(){return u?yield y(c,F):{}}));return O(e)&&h(n)?void 0:[e,n]}))),(e=>te(void 0,null,(function*(){const[n,t]=e();T.schedule(v,...(e=>D(i,(([n,t,l,o],r)=>()=>te(void 0,null,(function*(){return yield m(n,t,l,o,e[r])})))))(n),(e=>a?()=>te(void 0,null,(function*(){return yield f(c,F,"_",e)})):null)(t))}))),t,l);return T},oe="json",re="autoLoadIntervalSeconds",ie={mode:oe,[re]:1},ue="pragma ",ae="data_version",de="schema_version",se=(e,n,t,l,o)=>{const r=x(ie,m(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(r.mode==oe?G:le)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ue+ae))[0][ae],l=(yield t(ue+de))[0][de];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{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n}),1e3*r[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),r)};e.createCrSqliteWasmPersister=(e,n,t)=>se(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate((()=>e()))),(e=>e()))},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",i=JSON.parse,r=e=>null==e,l=Object.freeze;var s=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())})),u=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())}));e.createFilePersister=(e,a)=>((e,i,d,c,f)=>{let v,y,p,h=0,m=0,A=0;const S=[],g=e=>s(void 0,null,(function*(){2!=h&&(h=1,yield e(),h=0)})),x={load:(...t)=>s(void 0,[...t],(function*(t={},n={}){return yield g((()=>s(void 0,null,(function*(){try{e.setContent(yield i())}catch(o){e.setContent([t,n])}})))),x})),startAutoLoad:(...n)=>s(void 0,[...n],(function*(n={},o={}){return x.stopAutoLoad(),yield x.load(n,o),A=1,r=(t,n)=>s(void 0,null,(function*(){yield g((()=>s(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield i())}catch(e){}}))))})),p=t.watch(a,(()=>r())),x;var r})),stopAutoLoad:()=>{return A&&(null==(e=p)||e.close(),p=void 0,A=0),x;var e},save:t=>s(void 0,null,(function*(){return yield x.schedule((()=>s(void 0,null,(function*(){if(1!=h){h=2;try{yield(t=e.getContent,u(void 0,null,(function*(){return yield n.writeFile(a,(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))),o);var e})))}catch(e){}h=0}var t})))),x})),startAutoSave:()=>s(void 0,null,(function*(){return yield x.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,t)=>{const n=t();x.save((()=>n))})),x})),stopAutoSave:()=>{var t,n;return t=v,n=e.delListener,!!r(t)||n(t),x},schedule:(...e)=>s(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S,...e),yield s(void 0,null,(function*(){if(!m){for(m=1;!r((e=S,y=e.shift()));)try{yield y()}catch(e){}m=0}var e})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(x)})(e,(()=>u(void 0,null,(function*(){return i(yield n.readFile(a,o))}))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
1
+ var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",i=JSON.parse,r=e=>null==e,l=Object.freeze;var s=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())})),u=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())}));e.createFilePersister=(e,a)=>((e,i,d,c,f)=>{let v,y,p,h=0,m=0,A=0;const S=[],g=e=>s(void 0,null,(function*(){2!=h&&(h=1,yield e(),h=0)})),x={load:(t,n)=>s(void 0,null,(function*(){return yield g((()=>s(void 0,null,(function*(){try{e.setContent(yield i())}catch(o){e.setContent([t,n])}})))),x})),startAutoLoad:(...n)=>s(void 0,[...n],(function*(n={},o={}){return x.stopAutoLoad(),yield x.load(n,o),A=1,r=(t,n)=>s(void 0,null,(function*(){yield g((()=>s(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield i())}catch(e){}}))))})),p=t.watch(a,(()=>r())),x;var r})),stopAutoLoad:()=>{return A&&(null==(e=p)||e.close(),p=void 0,A=0),x;var e},save:t=>s(void 0,null,(function*(){return yield x.schedule((()=>s(void 0,null,(function*(){if(1!=h){h=2;try{yield(t=e.getContent,u(void 0,null,(function*(){return yield n.writeFile(a,(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))),o);var e})))}catch(e){}h=0}var t})))),x})),startAutoSave:()=>s(void 0,null,(function*(){return yield x.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,t)=>{const n=t();x.save((()=>n))})),x})),stopAutoSave:()=>{var t,n;return t=v,n=e.delListener,!!r(t)||n(t),x},schedule:(...e)=>s(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S,...e),yield s(void 0,null,(function*(){if(!m){for(m=1;!r((e=S,y=e.shift()));)try{yield y()}catch(e){}m=0}var e})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(x)})(e,(()=>u(void 0,null,(function*(){return i(yield n.readFile(a,o))}))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=JSON.parse,n=e=>null==e,o=Object.freeze;var i=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{a(n.next(e))}catch(e){i(e)}},l=e=>{try{a(n.throw(e))}catch(e){i(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);a((n=n.apply(e,t)).next())})),r=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{a(n.next(e))}catch(e){i(e)}},l=e=>{try{a(n.throw(e))}catch(e){i(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);a((n=n.apply(e,t)).next())}));const l=e=>e.headers.get("ETag");e.createRemotePersister=(e,a,u,d)=>{let s;return((e,t,c,v,f)=>{let y,h,p,m=0,g=0,A=0;const S=[],x=e=>i(void 0,null,(function*(){2!=m&&(m=1,yield e(),m=0)})),T={load:(...n)=>i(void 0,[...n],(function*(n={},o={}){return yield x((()=>i(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}})))),T})),startAutoLoad:(...o)=>i(void 0,[...o],(function*(o={},u={}){return T.stopAutoLoad(),yield T.load(o,u),A=1,c=(n,o)=>i(void 0,null,(function*(){yield x((()=>i(void 0,null,(function*(){var i;if(o)e.setTransactionChanges(o());else try{e.setContent(null!=(i=null==n?void 0:n())?i:yield t())}catch(e){}}))))})),p=setInterval((()=>r(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),t=l(e);n(s)||n(t)||t==s||(s=t,c())}))),1e3*d),T;var c})),stopAutoLoad:()=>(A&&(clearInterval(p),p=void 0,A=0),T),save:t=>i(void 0,null,(function*(){return yield T.schedule((()=>i(void 0,null,(function*(){if(1!=m){m=2;try{yield(t=e.getContent,r(void 0,null,(function*(){return yield fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o})))});var e})))}catch(e){}m=0}var t})))),T})),startAutoSave:()=>i(void 0,null,(function*(){return yield T.stopAutoSave().save(),y=e.addDidFinishTransactionListener(((e,t)=>{const n=t();T.save((()=>n))})),T})),stopAutoSave:()=>{var t,o;return t=y,o=e.delListener,!!n(t)||o(t),T},schedule:(...e)=>i(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S,...e),yield i(void 0,null,(function*(){if(!g){for(g=1;!n((e=S,h=e.shift()));)try{yield h()}catch(e){}g=0}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(T)})(e,(()=>r(void 0,null,(function*(){const e=yield fetch(a);return s=l(e),t(yield e.text())}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=JSON.parse,n=e=>null==e,o=Object.freeze;var i=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{a(n.next(e))}catch(e){i(e)}},l=e=>{try{a(n.throw(e))}catch(e){i(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);a((n=n.apply(e,t)).next())})),r=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{a(n.next(e))}catch(e){i(e)}},l=e=>{try{a(n.throw(e))}catch(e){i(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);a((n=n.apply(e,t)).next())}));const l=e=>e.headers.get("ETag");e.createRemotePersister=(e,a,u,d)=>{let s;return((e,t,c,v,f)=>{let y,h,p,m=0,g=0,A=0;const S=[],x=e=>i(void 0,null,(function*(){2!=m&&(m=1,yield e(),m=0)})),T={load:(n,o)=>i(void 0,null,(function*(){return yield x((()=>i(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}})))),T})),startAutoLoad:(...o)=>i(void 0,[...o],(function*(o={},u={}){return T.stopAutoLoad(),yield T.load(o,u),A=1,c=(n,o)=>i(void 0,null,(function*(){yield x((()=>i(void 0,null,(function*(){var i;if(o)e.setTransactionChanges(o());else try{e.setContent(null!=(i=null==n?void 0:n())?i:yield t())}catch(e){}}))))})),p=setInterval((()=>r(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),t=l(e);n(s)||n(t)||t==s||(s=t,c())}))),1e3*d),T;var c})),stopAutoLoad:()=>(A&&(clearInterval(p),p=void 0,A=0),T),save:t=>i(void 0,null,(function*(){return yield T.schedule((()=>i(void 0,null,(function*(){if(1!=m){m=2;try{yield(t=e.getContent,r(void 0,null,(function*(){return yield fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o})))});var e})))}catch(e){}m=0}var t})))),T})),startAutoSave:()=>i(void 0,null,(function*(){return yield T.stopAutoSave().save(),y=e.addDidFinishTransactionListener(((e,t)=>{const n=t();T.save((()=>n))})),T})),stopAutoSave:()=>{var t,o;return t=y,o=e.delListener,!!n(t)||o(t),T},schedule:(...e)=>i(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(S,...e),yield i(void 0,null,(function*(){if(!g){for(g=1;!n((e=S,h=e.shift()));)try{yield h()}catch(e){}g=0}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(T)})(e,(()=>r(void 0,null,(function*(){const e=yield fetch(a);return s=l(e),t(yield e.text())}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="tinybase",l=",",o=t(""),r=(e,t="")=>e.join(t),i=(e,t)=>e.map(t),u=e=>e.length,a=e=>0==u(e),d=(e,t)=>e.filter(t),s=(e,t,n)=>e.slice(t,n),c=(e,...t)=>e.push(...t),v=Promise,y=JSON.parse,f=(e,t)=>e instanceof t,p=e=>null==e,h=(e,t,n)=>p(e)?null==n?void 0:n():t(e),m=e=>t(e)==o,E=e=>{return t=function*(){return v.all(e)},new Promise(((e,n)=>{var l=e=>{try{r(t.next(e))}catch(e){n(e)}},o=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,o);r((t=t.apply(void 0,null)).next())}));var t},b=Object,P=b.keys,T=b.freeze,A=(e=[])=>b.fromEntries(e),w=(...e)=>b.assign({},...e),L=(e,t)=>(delete e[t],e),O=(e,t)=>i(b.entries(e),(([e,n])=>t(n,e))),x=e=>b.values(e),S=e=>u(P(e)),g=e=>(e=>f(e,b)&&e.constructor==b)(e)&&0==S(e),R=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},C=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},N=(e,t)=>null==e?void 0:e.delete(t),_=e=>new Map(e),I=(e,t)=>null==e?void 0:e.get(t),j=(e,t)=>{var n;return i([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},D=(e,t,n)=>p(n)?(N(e,t),e):null==e?void 0:e.set(t,n),$=(e,t,n,l=D)=>(O(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)=>!p(((e,t)=>h(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),M="_id",F=e=>`"${e.replace(/"/g,'""')}"`,q=e=>new Set(Array.isArray(e)||p(e)?e:[e]);var B=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const k="SELECT*FROM",W="FROM pragma_table_",J="WHERE",V=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=e=>{const t=_(),n=(e,n)=>!p(I(I(t,e),n)),o=(n,o,d,s,v)=>B(void 0,null,(function*(){const y=q();O(null!=v?v:{},(e=>i(P(e),(e=>{return n=e,null==(t=y)?void 0:t.add(n);var t,n}))));const f=C(y);if(a(f)&&R(t,n)&&s)return yield e("DROP TABLE"+F(n)),void D(t,n);if(a(f)||R(t,n)){const l=I(t,n),r=q([...null!=(h=null==(p=l)?void 0:p.keys())?h:[]]);yield E([...i(f,(t=>B(void 0,null,(function*(){N(r,t)||(yield e(`ALTER TABLE${F(n)}ADD${F(t)}`),D(l,t,""))})))),...d?i(C(r),(t=>B(void 0,null,(function*(){t!=o&&(yield e(`ALTER TABLE${F(n)}DROP${F(t)}`),D(l,t))})))):[]])}else yield e(`CREATE TABLE${F(n)}(${F(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(f,(e=>l+F(e))))});`),D(t,n,_([[o,""],...i(f,(e=>[e,""]))]));var p,h;if(a(f))yield e("DELETE FROM"+F(n));else{const t=[],a=[],d=[];O(v,((e,n)=>{var l;c(t,`(?${l=u(f),",?".repeat(l)})`),c(a,n,...i(f,(t=>e[t]))),c(d,n)})),yield e("INSERT INTO"+F(n)+"("+F(o)+r(i(f,(e=>l+F(e))))+")VALUES"+r(t,l),a),yield e("DELETE FROM"+F(n)+J+F(o)+"NOT IN("+r(i(d,(()=>"?")),l)+")",d)}}));return[()=>B(void 0,null,(function*(){return $(t,A(yield E(i(yield e("SELECT name "+W+"list "+V),(t=>B(void 0,[t],(function*({name:t}){return[t,A(i(yield e("SELECT name,type "+W+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,n,l)=>{return D(t,n,$((i=_,R(o=t,r=n)||D(o,r,i()),I(o,r)),l,((e,t,n)=>{n!=I(e,t)&&D(e,t,n)}),((e,t)=>D(e,t))));var o,r,i}),((e,n)=>D(t,n)))})),(t,l)=>B(void 0,null,(function*(){const o=n(t,l)?yield e(k+F(t)+J+F(l)+"=?",["_"]):[];return a(o)?null:L(o[0],l)})),(e,t,n,l)=>B(void 0,null,(function*(){return yield o(e,t,!0,!0,{[n]:l})})),(t,l)=>B(void 0,null,(function*(){return n(t,l)?A(d(i(yield e(k+F(t)),(e=>[e[l],L(e,l)])),(([e,t])=>!p(e)&&!g(t)))):null})),o]};var z=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const H=(e,t,n,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>z(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),f={load:(...n)=>z(void 0,[...n],(function*(n={},l={}){return yield y((()=>z(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),f})),startAutoLoad:(...n)=>z(void 0,[...n],(function*(n={},o={}){return f.stopAutoLoad(),yield f.load(n,o),s=1,u=l(((n,l)=>z(void 0,null,(function*(){yield y((()=>z(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:t=>z(void 0,null,(function*(){return yield f.schedule((()=>z(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),f})),startAutoSave:()=>z(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,t)=>{const n=t();f.save((()=>n))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>z(void 0,null,(function*(){return c(v,...e),yield z(void 0,null,(function*(){if(!d){for(d=1;!p((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(f)};var K=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const U="store",G=(e,t,l,o,{storeTableName:r=n})=>{const[i,u,a]=Y(t),d=H(e,(()=>K(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,M))?e:{})[U])}))),(e=>K(void 0,null,(function*(){return d.schedule(i,(()=>K(void 0,null,(function*(){var t;yield a(r,M,"_",{[U]:(t=e(),JSON.stringify(t,((e,t)=>{return f(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),l,o);return d},Q="rowIdColumnName",X="tableId",Z="tableName",ee={load:0,save:0,[Z]:n+"_values"},te=(e,t,n,l)=>{const o=_();return O(e,((e,r)=>{const i=s(x(w(t,m(e)?{[n]:e}:e)),0,S(t));p(i[0])||l(r,i[0])||D(o,r,i)})),o};var ne=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const le=(e,t,n,l,o)=>{const[r,i,[u,a,c]]=(({tables:{load:e={},save:t={}}={},values:n={}})=>{const l=s(x(w(ee,n)),0,S(ee)),o=l[2];return[te(e,{[X]:null,[Q]:M},X,(e=>e==o)),te(t,{[Z]:null,[Q]:M,deleteEmptyColumns:0,deleteEmptyTable:0},Z,((e,t)=>t==o)),l]})(o),[v,y,f,h,m]=Y(t),b=H(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return A(d(yield E(j(r,((e,t)=>ne(void 0,[e,t],(function*([e,t],n){return[e,yield h(n,t)]}))))),(e=>e[1])))})),t=yield ne(void 0,null,(function*(){return u?yield y(c,M):{}}));return g(e)&&p(t)?void 0:[e,t]}))),(e=>ne(void 0,null,(function*(){const[t,n]=e();b.schedule(v,...(e=>j(i,(([t,n,l,o],r)=>()=>ne(void 0,null,(function*(){return yield m(t,n,l,o,e[r])})))))(t),(e=>a?()=>ne(void 0,null,(function*(){return yield f(c,M,"_",e)})):null)(n))}))),n,l);return b},oe="json",re="autoLoadIntervalSeconds",ie={mode:oe,[re]:1},ue="pragma ",ae="data_version",de="schema_version",se=(e,t,n,l,o)=>{const r=w(ie,m(t)?{storeTableName:t}:null!=t?t:{});let i,u;return(r.mode==oe?G:le)(e,n,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield n(ue+ae))[0][ae],l=(yield n(ue+de))[0][de];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{r(t.next(e))}catch(e){n(e)}},o=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,o);r((t=t.apply(void 0,null)).next())}));var t}),1e3*r[re]),l(e)]),(([e,t])=>{clearInterval(e),i=u=null,o(t)}),r)};var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,t,n)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;e.createSqliteWasmPersister=(e,t,n,l)=>se(e,l,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))ye.call(t,n)&&pe(e,n,t[n]);if(ve)for(var n of ve(t))fe.call(t,n)&&pe(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(o.next(e))}catch(e){t(e)}},r=e=>{try{i(o.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>t.capi.sqlite3_update_hook(n,(()=>e()),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqliteWasm={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="tinybase",l=",",o=t(""),r=(e,t="")=>e.join(t),i=(e,t)=>e.map(t),u=e=>e.length,a=e=>0==u(e),d=(e,t)=>e.filter(t),s=(e,t,n)=>e.slice(t,n),c=(e,...t)=>e.push(...t),v=Promise,y=JSON.parse,f=(e,t)=>e instanceof t,p=e=>null==e,h=(e,t,n)=>p(e)?null==n?void 0:n():t(e),m=e=>t(e)==o,E=e=>{return t=function*(){return v.all(e)},new Promise(((e,n)=>{var l=e=>{try{r(t.next(e))}catch(e){n(e)}},o=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,o);r((t=t.apply(void 0,null)).next())}));var t},b=Object,P=b.keys,T=b.freeze,A=(e=[])=>b.fromEntries(e),w=(...e)=>b.assign({},...e),L=(e,t)=>(delete e[t],e),O=(e,t)=>i(b.entries(e),(([e,n])=>t(n,e))),x=e=>b.values(e),S=e=>u(P(e)),g=e=>(e=>f(e,b)&&e.constructor==b)(e)&&0==S(e),R=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},C=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},N=(e,t)=>null==e?void 0:e.delete(t),_=e=>new Map(e),I=(e,t)=>null==e?void 0:e.get(t),j=(e,t)=>{var n;return i([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},D=(e,t,n)=>p(n)?(N(e,t),e):null==e?void 0:e.set(t,n),$=(e,t,n,l=D)=>(O(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)=>!p(((e,t)=>h(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),M="_id",F=e=>`"${e.replace(/"/g,'""')}"`,q=e=>new Set(Array.isArray(e)||p(e)?e:[e]);var B=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const k="SELECT*FROM",W="FROM pragma_table_",J="WHERE",V=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=e=>{const t=_(),n=(e,n)=>!p(I(I(t,e),n)),o=(n,o,d,s,v)=>B(void 0,null,(function*(){const y=q();O(null!=v?v:{},(e=>i(P(e),(e=>{return n=e,null==(t=y)?void 0:t.add(n);var t,n}))));const f=C(y);if(a(f)&&R(t,n)&&s)return yield e("DROP TABLE"+F(n)),void D(t,n);if(a(f)||R(t,n)){const l=I(t,n),r=q([...null!=(h=null==(p=l)?void 0:p.keys())?h:[]]);yield E([...i(f,(t=>B(void 0,null,(function*(){N(r,t)||(yield e(`ALTER TABLE${F(n)}ADD${F(t)}`),D(l,t,""))})))),...d?i(C(r),(t=>B(void 0,null,(function*(){t!=o&&(yield e(`ALTER TABLE${F(n)}DROP${F(t)}`),D(l,t))})))):[]])}else yield e(`CREATE TABLE${F(n)}(${F(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(f,(e=>l+F(e))))});`),D(t,n,_([[o,""],...i(f,(e=>[e,""]))]));var p,h;if(a(f))yield e("DELETE FROM"+F(n));else{const t=[],a=[],d=[];O(v,((e,n)=>{var l;c(t,`(?${l=u(f),",?".repeat(l)})`),c(a,n,...i(f,(t=>e[t]))),c(d,n)})),yield e("INSERT INTO"+F(n)+"("+F(o)+r(i(f,(e=>l+F(e))))+")VALUES"+r(t,l),a),yield e("DELETE FROM"+F(n)+J+F(o)+"NOT IN("+r(i(d,(()=>"?")),l)+")",d)}}));return[()=>B(void 0,null,(function*(){return $(t,A(yield E(i(yield e("SELECT name "+W+"list "+V),(t=>B(void 0,[t],(function*({name:t}){return[t,A(i(yield e("SELECT name,type "+W+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,n,l)=>{return D(t,n,$((i=_,R(o=t,r=n)||D(o,r,i()),I(o,r)),l,((e,t,n)=>{n!=I(e,t)&&D(e,t,n)}),((e,t)=>D(e,t))));var o,r,i}),((e,n)=>D(t,n)))})),(t,l)=>B(void 0,null,(function*(){const o=n(t,l)?yield e(k+F(t)+J+F(l)+"=?",["_"]):[];return a(o)?null:L(o[0],l)})),(e,t,n,l)=>B(void 0,null,(function*(){return yield o(e,t,!0,!0,{[n]:l})})),(t,l)=>B(void 0,null,(function*(){return n(t,l)?A(d(i(yield e(k+F(t)),(e=>[e[l],L(e,l)])),(([e,t])=>!p(e)&&!g(t)))):{}})),o]};var z=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const H=(e,t,n,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>z(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),f={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])}})))),f})),startAutoLoad:(...n)=>z(void 0,[...n],(function*(n={},o={}){return f.stopAutoLoad(),yield f.load(n,o),s=1,u=l(((n,l)=>z(void 0,null,(function*(){yield y((()=>z(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:t=>z(void 0,null,(function*(){return yield f.schedule((()=>z(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),f})),startAutoSave:()=>z(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,t)=>{const n=t();f.save((()=>n))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>z(void 0,null,(function*(){return c(v,...e),yield z(void 0,null,(function*(){if(!d){for(d=1;!p((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(f)};var K=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const U="store",G=(e,t,l,o,{storeTableName:r=n})=>{const[i,u,a]=Y(t),d=H(e,(()=>K(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,M))?e:{})[U])}))),(e=>K(void 0,null,(function*(){return d.schedule(i,(()=>K(void 0,null,(function*(){var t;yield a(r,M,"_",{[U]:(t=e(),JSON.stringify(t,((e,t)=>{return f(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),l,o);return d},Q="rowIdColumnName",X="tableId",Z="tableName",ee={load:0,save:0,[Z]:n+"_values"},te=(e,t,n,l)=>{const o=_();return O(e,((e,r)=>{const i=s(x(w(t,m(e)?{[n]:e}:e)),0,S(t));p(i[0])||l(r,i[0])||D(o,r,i)})),o};var ne=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const le=(e,t,n,l,o)=>{const[r,i,[u,a,c]]=(({tables:{load:e={},save:t={}}={},values:n={}})=>{const l=s(x(w(ee,n)),0,S(ee)),o=l[2];return[te(e,{[X]:null,[Q]:M},X,(e=>e==o)),te(t,{[Z]:null,[Q]:M,deleteEmptyColumns:0,deleteEmptyTable:0},Z,((e,t)=>t==o)),l]})(o),[v,y,f,h,m]=Y(t),b=H(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return A(d(yield E(j(r,((e,t)=>ne(void 0,[e,t],(function*([e,t],n){return[e,yield h(n,t)]}))))),(e=>!g(e[1]))))})),t=yield ne(void 0,null,(function*(){return u?yield y(c,M):{}}));return g(e)&&p(t)?void 0:[e,t]}))),(e=>ne(void 0,null,(function*(){const[t,n]=e();b.schedule(v,...(e=>j(i,(([t,n,l,o],r)=>()=>ne(void 0,null,(function*(){return yield m(t,n,l,o,e[r])})))))(t),(e=>a?()=>ne(void 0,null,(function*(){return yield f(c,M,"_",e)})):null)(n))}))),n,l);return b},oe="json",re="autoLoadIntervalSeconds",ie={mode:oe,[re]:1},ue="pragma ",ae="data_version",de="schema_version",se=(e,t,n,l,o)=>{const r=w(ie,m(t)?{storeTableName:t}:null!=t?t:{});let i,u;return(r.mode==oe?G:le)(e,n,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield n(ue+ae))[0][ae],l=(yield n(ue+de))[0][de];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{r(t.next(e))}catch(e){n(e)}},o=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,o);r((t=t.apply(void 0,null)).next())}));var t}),1e3*r[re]),l(e)]),(([e,t])=>{clearInterval(e),i=u=null,o(t)}),r)};var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,t,n)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;e.createSqliteWasmPersister=(e,t,n,l)=>se(e,l,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))ye.call(t,n)&&pe(e,n,t[n]);if(ve)for(var n of ve(t))fe.call(t,n)&&pe(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(o.next(e))}catch(e){t(e)}},r=e=>{try{i(o.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>t.capi.sqlite3_update_hook(n,(()=>e()),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),v=Promise,y=JSON.parse,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),m=e=>n(e)==o,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=Object,A=T.keys,b=T.freeze,P=(e=[])=>T.fromEntries(e),L=(...e)=>T.assign({},...e),w=(e,n)=>(delete e[n],e),O=(e,n)=>i(T.entries(e),(([e,t])=>n(t,e))),S=e=>T.values(e),g=e=>u(A(e)),x=e=>(e=>f(e,T)&&e.constructor==T)(e)&&0==g(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),I=e=>new Map(e),_=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>p(t)?(R(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t,l=$)=>(O(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)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),M="_id",F=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||p(e)?e:[e]);var q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",z=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",H=e=>{const n=I(),t=(e,t)=>!p(_(_(n,e),t)),o=(t,o,d,s,v)=>q(void 0,null,(function*(){const y=B();O(null!=v?v:{},(e=>i(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(a(f)&&C(n,t)&&s)return yield e("DROP TABLE"+F(t)),void $(n,t);if(a(f)||C(n,t)){const l=_(n,t),r=B([...null!=(h=null==(p=l)?void 0:p.keys())?h:[]]);yield E([...i(f,(n=>q(void 0,null,(function*(){R(r,n)||(yield e(`ALTER TABLE${F(t)}ADD${F(n)}`),$(l,n,""))})))),...d?i(N(r),(n=>q(void 0,null,(function*(){n!=o&&(yield e(`ALTER TABLE${F(t)}DROP${F(n)}`),$(l,n))})))):[]])}else yield e(`CREATE TABLE${F(t)}(${F(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(f,(e=>l+F(e))))});`),$(n,t,I([[o,""],...i(f,(e=>[e,""]))]));var p,h;if(a(f))yield e("DELETE FROM"+F(t));else{const n=[],a=[],d=[];O(v,((e,t)=>{var l;c(n,`(?${l=u(f),",?".repeat(l)})`),c(a,t,...i(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+F(t)+"("+F(o)+r(i(f,(e=>l+F(e))))+")VALUES"+r(n,l),a),yield e("DELETE FROM"+F(t)+Y+F(o)+"NOT IN("+r(i(d,(()=>"?")),l)+")",d)}}));return[()=>q(void 0,null,(function*(){return j(n,P(yield E(i(yield e("SELECT name "+J+"list "+z),(n=>q(void 0,[n],(function*({name:n}){return[n,P(i(yield e("SELECT name,type "+J+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return $(n,t,j((i=I,C(o=n,r=t)||$(o,r,i()),_(o,r)),l,((e,n,t)=>{t!=_(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var o,r,i}),((e,t)=>$(n,t)))})),(n,l)=>q(void 0,null,(function*(){const o=t(n,l)?yield e(k+F(n)+Y+F(l)+"=?",["_"]):[];return a(o)?null:w(o[0],l)})),(e,n,t,l)=>q(void 0,null,(function*(){return yield o(e,n,!0,!0,{[t]:l})})),(n,l)=>q(void 0,null,(function*(){return t(n,l)?P(d(i(yield e(k+F(n)),(e=>[e[l],w(e,l)])),(([e,n])=>!p(e)&&!x(n)))):null})),o]};var K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const U=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>K(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),f={load:(...t)=>K(void 0,[...t],(function*(t={},l={}){return yield y((()=>K(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),f})),startAutoLoad:(...t)=>K(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>K(void 0,null,(function*(){yield y((()=>K(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>K(void 0,null,(function*(){return yield f.schedule((()=>K(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),f})),startAutoSave:()=>K(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const t=n();f.save((()=>t))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>K(void 0,null,(function*(){return c(v,...e),yield K(void 0,null,(function*(){if(!d){for(d=1;!p((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return b(f)};var V=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const W="store",G=(e,n,l,o,{storeTableName:r=t})=>{const[i,u,a]=H(n),d=U(e,(()=>V(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,M))?e:{})[W])}))),(e=>V(void 0,null,(function*(){return d.schedule(i,(()=>V(void 0,null,(function*(){var n;yield a(r,M,"_",{[W]:(n=e(),JSON.stringify(n,((e,n)=>{return f(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,o);return d},Q="rowIdColumnName",X="tableId",Z="tableName",ee={load:0,save:0,[Z]:t+"_values"},ne=(e,n,t,l)=>{const o=I();return O(e,((e,r)=>{const i=s(S(L(n,m(e)?{[t]:e}:e)),0,g(n));p(i[0])||l(r,i[0])||$(o,r,i)})),o};var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=(e,n,t,l,o)=>{const[r,i,[u,a,c]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=s(S(L(ee,t)),0,g(ee)),o=l[2];return[ne(e,{[X]:null,[Q]:M},X,(e=>e==o)),ne(n,{[Z]:null,[Q]:M,deleteEmptyColumns:0,deleteEmptyTable:0},Z,((e,n)=>n==o)),l]})(o),[v,y,f,h,m]=H(n),T=U(e,(()=>te(void 0,null,(function*(){yield v();const e=yield te(void 0,null,(function*(){return P(d(yield E(D(r,((e,n)=>te(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>e[1])))})),n=yield te(void 0,null,(function*(){return u?yield y(c,M):{}}));return x(e)&&p(n)?void 0:[e,n]}))),(e=>te(void 0,null,(function*(){const[n,t]=e();T.schedule(v,...(e=>D(i,(([n,t,l,o],r)=>()=>te(void 0,null,(function*(){return yield m(n,t,l,o,e[r])})))))(n),(e=>a?()=>te(void 0,null,(function*(){return yield f(c,M,"_",e)})):null)(t))}))),t,l);return T},oe="json",re="autoLoadIntervalSeconds",ie={mode:oe,[re]:1},ue="pragma ",ae="data_version",de="schema_version",se=(e,n,t,l,o)=>{const r=L(ie,m(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(r.mode==oe?G:le)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ue+ae))[0][ae],l=(yield t(ue+de))[0][de];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{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n}),1e3*r[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),r)};var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const he="change";e.createSqlite3Persister=(e,n,t)=>se(e,t,((e,t=[])=>new v(((l,o)=>n.all(e,t,((e,n)=>e?o(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))ye.call(n,t)&&pe(e,t,n[t]);if(ve)for(var t of ve(n))fe.call(n,t)&&pe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=()=>e();return n.on(he,t),t}),(e=>n.off(he,e)))},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqlite3={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),v=Promise,y=JSON.parse,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),m=e=>n(e)==o,E=e=>{return n=function*(){return v.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=Object,A=T.keys,b=T.freeze,P=(e=[])=>T.fromEntries(e),L=(...e)=>T.assign({},...e),w=(e,n)=>(delete e[n],e),O=(e,n)=>i(T.entries(e),(([e,t])=>n(t,e))),S=e=>T.values(e),g=e=>u(A(e)),x=e=>(e=>f(e,T)&&e.constructor==T)(e)&&0==g(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),I=e=>new Map(e),_=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>p(t)?(R(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t,l=$)=>(O(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)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),M="_id",F=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||p(e)?e:[e]);var q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",z=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",H=e=>{const n=I(),t=(e,t)=>!p(_(_(n,e),t)),o=(t,o,d,s,v)=>q(void 0,null,(function*(){const y=B();O(null!=v?v:{},(e=>i(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(a(f)&&C(n,t)&&s)return yield e("DROP TABLE"+F(t)),void $(n,t);if(a(f)||C(n,t)){const l=_(n,t),r=B([...null!=(h=null==(p=l)?void 0:p.keys())?h:[]]);yield E([...i(f,(n=>q(void 0,null,(function*(){R(r,n)||(yield e(`ALTER TABLE${F(t)}ADD${F(n)}`),$(l,n,""))})))),...d?i(N(r),(n=>q(void 0,null,(function*(){n!=o&&(yield e(`ALTER TABLE${F(t)}DROP${F(n)}`),$(l,n))})))):[]])}else yield e(`CREATE TABLE${F(t)}(${F(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(f,(e=>l+F(e))))});`),$(n,t,I([[o,""],...i(f,(e=>[e,""]))]));var p,h;if(a(f))yield e("DELETE FROM"+F(t));else{const n=[],a=[],d=[];O(v,((e,t)=>{var l;c(n,`(?${l=u(f),",?".repeat(l)})`),c(a,t,...i(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+F(t)+"("+F(o)+r(i(f,(e=>l+F(e))))+")VALUES"+r(n,l),a),yield e("DELETE FROM"+F(t)+Y+F(o)+"NOT IN("+r(i(d,(()=>"?")),l)+")",d)}}));return[()=>q(void 0,null,(function*(){return j(n,P(yield E(i(yield e("SELECT name "+J+"list "+z),(n=>q(void 0,[n],(function*({name:n}){return[n,P(i(yield e("SELECT name,type "+J+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return $(n,t,j((i=I,C(o=n,r=t)||$(o,r,i()),_(o,r)),l,((e,n,t)=>{t!=_(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var o,r,i}),((e,t)=>$(n,t)))})),(n,l)=>q(void 0,null,(function*(){const o=t(n,l)?yield e(k+F(n)+Y+F(l)+"=?",["_"]):[];return a(o)?null:w(o[0],l)})),(e,n,t,l)=>q(void 0,null,(function*(){return yield o(e,n,!0,!0,{[t]:l})})),(n,l)=>q(void 0,null,(function*(){return t(n,l)?P(d(i(yield e(k+F(n)),(e=>[e[l],w(e,l)])),(([e,n])=>!p(e)&&!x(n)))):{}})),o]};var K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const U=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>K(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),f={load:(t,l)=>K(void 0,null,(function*(){return yield y((()=>K(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),f})),startAutoLoad:(...t)=>K(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>K(void 0,null,(function*(){yield y((()=>K(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>K(void 0,null,(function*(){return yield f.schedule((()=>K(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),f})),startAutoSave:()=>K(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const t=n();f.save((()=>t))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>K(void 0,null,(function*(){return c(v,...e),yield K(void 0,null,(function*(){if(!d){for(d=1;!p((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return b(f)};var V=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const W="store",G=(e,n,l,o,{storeTableName:r=t})=>{const[i,u,a]=H(n),d=U(e,(()=>V(void 0,null,(function*(){var e;return yield i(),y((null!=(e=yield u(r,M))?e:{})[W])}))),(e=>V(void 0,null,(function*(){return d.schedule(i,(()=>V(void 0,null,(function*(){var n;yield a(r,M,"_",{[W]:(n=e(),JSON.stringify(n,((e,n)=>{return f(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,o);return d},Q="rowIdColumnName",X="tableId",Z="tableName",ee={load:0,save:0,[Z]:t+"_values"},ne=(e,n,t,l)=>{const o=I();return O(e,((e,r)=>{const i=s(S(L(n,m(e)?{[t]:e}:e)),0,g(n));p(i[0])||l(r,i[0])||$(o,r,i)})),o};var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=(e,n,t,l,o)=>{const[r,i,[u,a,c]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=s(S(L(ee,t)),0,g(ee)),o=l[2];return[ne(e,{[X]:null,[Q]:M},X,(e=>e==o)),ne(n,{[Z]:null,[Q]:M,deleteEmptyColumns:0,deleteEmptyTable:0},Z,((e,n)=>n==o)),l]})(o),[v,y,f,h,m]=H(n),T=U(e,(()=>te(void 0,null,(function*(){yield v();const e=yield te(void 0,null,(function*(){return P(d(yield E(D(r,((e,n)=>te(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!x(e[1]))))})),n=yield te(void 0,null,(function*(){return u?yield y(c,M):{}}));return x(e)&&p(n)?void 0:[e,n]}))),(e=>te(void 0,null,(function*(){const[n,t]=e();T.schedule(v,...(e=>D(i,(([n,t,l,o],r)=>()=>te(void 0,null,(function*(){return yield m(n,t,l,o,e[r])})))))(n),(e=>a?()=>te(void 0,null,(function*(){return yield f(c,M,"_",e)})):null)(t))}))),t,l);return T},oe="json",re="autoLoadIntervalSeconds",ie={mode:oe,[re]:1},ue="pragma ",ae="data_version",de="schema_version",se=(e,n,t,l,o)=>{const r=L(ie,m(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(r.mode==oe?G:le)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ue+ae))[0][ae],l=(yield t(ue+de))[0][de];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{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n}),1e3*r[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),r)};var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const he="change";e.createSqlite3Persister=(e,n,t)=>se(e,t,((e,t=[])=>new v(((l,o)=>n.all(e,t,((e,n)=>e?o(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))ye.call(n,t)&&pe(e,t,n[t]);if(ve)for(var t of ve(n))fe.call(n,t)&&pe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=()=>e();return n.on(he,t),t}),(e=>n.off(he,e)))},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),i=e=>null==e,r=(e,t,n)=>i(e)?null==n?void 0:n():t(e),l=Object,s=l.freeze,u=(e=[])=>l.fromEntries(e),a=(e,t)=>!i(((e,t)=>r(e,(e=>e[t])))(e,t)),d=(e,t)=>((e,t)=>e.map(t))(l.entries(e),(([e,n])=>t(n,e))),c=(e,t,n)=>(a(e,t)||(e[t]=n()),e[t]);var v=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())}));const f=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var y=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())}));const h="t",p="delete",g=e=>[e.get(h),e.get("v")],S=(e,n,o,r)=>{var l;const s=i(n)?e:null!=(l=e.get(n))?l:e.set(n,new t.Map);let u;return d(o,((e,t)=>{r(s,t,e)&&(u=1)})),s.forEach(((e,t)=>{a(o,t)||(s.delete(t),u=1)})),i(n)||s.size||e.delete(n),u};e.createYjsPersister=(e,l,a="tinybase")=>{const m=l.getMap(a);return((e,a,A,b,j)=>{let w,x,O,J=0,L=0,N=0;const P=[],C=e=>v(void 0,null,(function*(){2!=J&&(J=1,yield e(),J=0)})),T={load:(...t)=>v(void 0,[...t],(function*(t={},n={}){return yield C((()=>v(void 0,null,(function*(){try{e.setContent(yield a())}catch(o){e.setContent([t,n])}})))),T})),startAutoLoad:(...t)=>v(void 0,[...t],(function*(t={},i={}){return T.stopAutoLoad(),yield T.load(t,i),N=1,O=(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==n(t)&&(i=t[0].path,0==n(i)))return[e.get("t").toJSON(),e.get("v").toJSON()];var i;const[l,s]=g(e),a={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>o(e)==h?r(o(e),(n=>{const i=c(a,n,u),s=l.get(n);r(o(e),(e=>{const n=c(i,e,u),o=s.get(e);f(t,((e,{action:t})=>n[e]=t==p?null:o.get(e)))}),(()=>f(t,((e,{action:t})=>{var n;return i[e]=t==p?null:null==(n=s.get(e))?void 0:n.toJSON()}))))}),(()=>f(t,((e,{action:t})=>{var n;return a[e]=t==p?null:null==(n=l.get(e))?void 0:n.toJSON()})))):f(t,((e,{action:t})=>d[e]=t==p?null:s.get(e)))))})(t),[a,d]})(m,t)));return m.observeDeep(t),t})(((t,n)=>v(void 0,null,(function*(){yield C((()=>v(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield a())}catch(e){}}))))})))),T})),stopAutoLoad:()=>{return N&&(e=O,m.unobserveDeep(e),O=void 0,N=0),T;var e},save:n=>v(void 0,null,(function*(){return yield T.schedule((()=>v(void 0,null,(function*(){if(1!=J){J=2;try{yield((e,n)=>y(void 0,null,(function*(){return l.transact((()=>((e,n,o)=>{(e=>{e.size||(e.set(h,new t.Map),e.set("v",new t.Map))})(e);const[l,s]=g(e),u=()=>{a=1};let a=1;if(r(null==o?void 0:o(),(([e,t])=>{a=0,d(e,((e,t)=>a?0:i(e)?l.delete(t):r(l.get(t),(t=>d(e,((e,n)=>a?0:i(e)?t.delete(n):r(t.get(n),(t=>d(e,((e,n)=>i(e)?t.delete(n):t.set(n,e)))),u)))),u))),d(t,((e,t)=>a?0:i(e)?s.delete(t):s.set(t,e)))})),a){const[e,t]=n();S(l,void 0,e,((e,t,n)=>S(l,t,n,((e,t,n)=>S(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),S(s,void 0,t,((e,t,n)=>{s.get(t)!==n&&s.set(t,n)}))}})(m,e,n)))})))(e.getContent,n)}catch(e){}J=0}})))),T})),startAutoSave:()=>v(void 0,null,(function*(){return yield T.stopAutoSave().save(),w=e.addDidFinishTransactionListener(((e,t)=>{const n=t();T.save((()=>n))})),T})),stopAutoSave:()=>(r(w,e.delListener),T),schedule:(...e)=>v(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(P,...e),yield v(void 0,null,(function*(){if(!L){for(L=1;!i(x=o(P));)try{yield x()}catch(e){}L=0}})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(T)})(e,(()=>y(void 0,null,(function*(){return m.size?[m.get(h).toJSON(),m.get("v").toJSON()]:void 0}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),l=e=>null==e,i=(e,t,n)=>l(e)?null==n?void 0:n():t(e),r=Object,s=r.freeze,u=(e=[])=>r.fromEntries(e),a=(e,t)=>!l(((e,t)=>i(e,(e=>e[t])))(e,t)),d=(e,t)=>((e,t)=>e.map(t))(r.entries(e),(([e,n])=>t(n,e))),c=(e,t,n)=>(a(e,t)||(e[t]=n()),e[t]);var v=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{s(n.next(e))}catch(e){l(e)}},r=e=>{try{s(n.throw(e))}catch(e){l(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);s((n=n.apply(e,t)).next())}));const f=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var y=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{s(n.next(e))}catch(e){l(e)}},r=e=>{try{s(n.throw(e))}catch(e){l(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);s((n=n.apply(e,t)).next())}));const h="t",p="delete",g=e=>[e.get(h),e.get("v")],S=(e,n,o,i)=>{var r;const s=l(n)?e:null!=(r=e.get(n))?r:e.set(n,new t.Map);let u;return d(o,((e,t)=>{i(s,t,e)&&(u=1)})),s.forEach(((e,t)=>{a(o,t)||(s.delete(t),u=1)})),l(n)||s.size||e.delete(n),u};e.createYjsPersister=(e,r,a="tinybase")=>{const m=r.getMap(a);return((e,a,A,b,j)=>{let w,x,O,J=0,L=0,N=0;const P=[],C=e=>v(void 0,null,(function*(){2!=J&&(J=1,yield e(),J=0)})),T={load:(t,n)=>v(void 0,null,(function*(){return yield C((()=>v(void 0,null,(function*(){try{e.setContent(yield a())}catch(o){e.setContent([t,n])}})))),T})),startAutoLoad:(...t)=>v(void 0,[...t],(function*(t={},l={}){return T.stopAutoLoad(),yield T.load(t,l),N=1,O=(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==n(t)&&(l=t[0].path,0==n(l)))return[e.get("t").toJSON(),e.get("v").toJSON()];var l;const[r,s]=g(e),a={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>o(e)==h?i(o(e),(n=>{const l=c(a,n,u),s=r.get(n);i(o(e),(e=>{const n=c(l,e,u),o=s.get(e);f(t,((e,{action:t})=>n[e]=t==p?null:o.get(e)))}),(()=>f(t,((e,{action:t})=>{var n;return l[e]=t==p?null:null==(n=s.get(e))?void 0:n.toJSON()}))))}),(()=>f(t,((e,{action:t})=>{var n;return a[e]=t==p?null:null==(n=r.get(e))?void 0:n.toJSON()})))):f(t,((e,{action:t})=>d[e]=t==p?null:s.get(e)))))})(t),[a,d]})(m,t)));return m.observeDeep(t),t})(((t,n)=>v(void 0,null,(function*(){yield C((()=>v(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield a())}catch(e){}}))))})))),T})),stopAutoLoad:()=>{return N&&(e=O,m.unobserveDeep(e),O=void 0,N=0),T;var e},save:n=>v(void 0,null,(function*(){return yield T.schedule((()=>v(void 0,null,(function*(){if(1!=J){J=2;try{yield((e,n)=>y(void 0,null,(function*(){return r.transact((()=>((e,n,o)=>{(e=>{e.size||(e.set(h,new t.Map),e.set("v",new t.Map))})(e);const[r,s]=g(e),u=()=>{a=1};let a=1;if(i(null==o?void 0:o(),(([e,t])=>{a=0,d(e,((e,t)=>a?0:l(e)?r.delete(t):i(r.get(t),(t=>d(e,((e,n)=>a?0:l(e)?t.delete(n):i(t.get(n),(t=>d(e,((e,n)=>l(e)?t.delete(n):t.set(n,e)))),u)))),u))),d(t,((e,t)=>a?0:l(e)?s.delete(t):s.set(t,e)))})),a){const[e,t]=n();S(r,void 0,e,((e,t,n)=>S(r,t,n,((e,t,n)=>S(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),S(s,void 0,t,((e,t,n)=>{s.get(t)!==n&&s.set(t,n)}))}})(m,e,n)))})))(e.getContent,n)}catch(e){}J=0}})))),T})),startAutoSave:()=>v(void 0,null,(function*(){return yield T.stopAutoSave().save(),w=e.addDidFinishTransactionListener(((e,t)=>{const n=t();T.save((()=>n))})),T})),stopAutoSave:()=>(i(w,e.delListener),T),schedule:(...e)=>v(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(P,...e),yield v(void 0,null,(function*(){if(!L){for(L=1;!l(x=o(P));)try{yield x()}catch(e){}L=0}})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(T)})(e,(()=>y(void 0,null,(function*(){return m.size?[m.get(h).toJSON(),m.get("v").toJSON()]:void 0}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{u(n.next(t))}catch(t){i(t)}},s=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,s);u((n=n.apply(t,e)).next())}));t.createCustomPersister=(t,i,l,s,u)=>{let r,d,a,c=0,f=0,v=0;const y=[],h=t=>o(void 0,null,(function*(){2!=c&&(c=1,yield t(),c=0)})),p={load:(...e)=>o(void 0,[...e],(function*(e={},n={}){return yield h((()=>o(void 0,null,(function*(){try{t.setContent(yield i())}catch(o){t.setContent([e,n])}})))),p})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return p.stopAutoLoad(),yield p.load(e,n),v=1,a=s(((e,n)=>o(void 0,null,(function*(){yield h((()=>o(void 0,null,(function*(){var o;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(o=null==e?void 0:e())?o:yield i())}catch(t){}}))))})))),p})),stopAutoLoad:()=>(v&&(u(a),a=void 0,v=0),p),save:e=>o(void 0,null,(function*(){return yield p.schedule((()=>o(void 0,null,(function*(){if(1!=c){c=2;try{yield l(t.getContent,e)}catch(t){}c=0}})))),p})),startAutoSave:()=>o(void 0,null,(function*(){return yield p.stopAutoSave().save(),r=t.addDidFinishTransactionListener(((t,e)=>{const n=e();p.save((()=>n))})),p})),stopAutoSave:()=>{var n,o;return n=r,o=t.delListener,!!e(n)||o(n),p},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(y,...t),yield o(void 0,null,(function*(){if(!f){for(f=1;!e((t=y,d=t.shift()));)try{yield d()}catch(t){}f=0}var t})),p})),getStore:()=>t,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(p)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{s(n.next(t))}catch(t){i(t)}},u=t=>{try{s(n.throw(t))}catch(t){i(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,u);s((n=n.apply(t,e)).next())}));t.createCustomPersister=(t,i,l,u,s)=>{let r,d,a,c=0,f=0,v=0;const y=[],h=t=>o(void 0,null,(function*(){2!=c&&(c=1,yield t(),c=0)})),p={load:(e,n)=>o(void 0,null,(function*(){return yield h((()=>o(void 0,null,(function*(){try{t.setContent(yield i())}catch(o){t.setContent([e,n])}})))),p})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return p.stopAutoLoad(),yield p.load(e,n),v=1,a=u(((e,n)=>o(void 0,null,(function*(){yield h((()=>o(void 0,null,(function*(){var o;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(o=null==e?void 0:e())?o:yield i())}catch(t){}}))))})))),p})),stopAutoLoad:()=>(v&&(s(a),a=void 0,v=0),p),save:e=>o(void 0,null,(function*(){return yield p.schedule((()=>o(void 0,null,(function*(){if(1!=c){c=2;try{yield l(t.getContent,e)}catch(t){}c=0}})))),p})),startAutoSave:()=>o(void 0,null,(function*(){return yield p.stopAutoSave().save(),r=t.addDidFinishTransactionListener(((t,e)=>{const n=e();p.save((()=>n))})),p})),stopAutoSave:()=>{var n,o;return n=r,o=t.delListener,!!e(n)||o(n),p},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(y,...t),yield o(void 0,null,(function*(){if(!f){for(f=1;!e((t=y,d=t.shift()));)try{yield d()}catch(t){}f=0}var t})),p})),getStore:()=>t,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(p)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
Binary file
@@ -1 +1 @@
1
- var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="",n=l(t),s=l(!0),a=l(0),r=l(l),o="type",u="default",i="Ids",d="Table",c=d+"s",h=d+i,v="Row"+i,f="Cell",g=f+i,T="Value",b=T+"s",V=T+i,C=e=>t+e,S=(e,l)=>e.forEach(l),y=(e,l)=>e.map(l),w=e=>e.length,p=(e,l,t)=>e.slice(l,t),I=(e,...l)=>e.push(...l),R=e=>JSON.stringify(e,((e,l)=>{return L(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),m=JSON.parse,J=isFinite,L=(e,l)=>e instanceof l,E=e=>null==e,F=(e,l,t)=>E(e)?null==t?void 0:t():l(e),x=e=>e==n||e==s,z=e=>l(e)==r,O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>L(e,O)&&e.constructor==O,N=(e,l)=>!E(((e,l)=>F(e,(e=>e[l])))(e,l)),P=(e,l)=>(delete e[l],e),B=(e,l)=>y(O.entries(e),(([e,t])=>l(t,e))),D=e=>M(e)&&0==(e=>w(j(e)))(e),W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>E(e)||0==(e=>e.size)(e),q=e=>e.clear(),G=(e,l)=>null==e?void 0:e.forEach(l),H=(e,l)=>null==e?void 0:e.delete(l),K=e=>new Map(e),Q=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},U=(e,l)=>null==e?void 0:e.get(l),X=(e,l)=>G(e,((e,t)=>l(t,e))),Y=(e,l,t)=>E(t)?(H(e,l),e):null==e?void 0:e.set(l,t),Z=(e,l,t)=>(W(e,l)||Y(e,l,t()),U(e,l)),_=(e,l,t,n=Y)=>(B(l,((l,n)=>t(e,n,l))),X(e,(t=>N(l,t)?0:n(e,t))),e),ee=(e,l,t)=>{const n={};return G(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},le=(e,l,t)=>ee(e,(e=>ee(e,l,t)),D),te=(e,l,t)=>ee(e,(e=>le(e,l,t)),D),ne=(e,l)=>{const t=K();return G(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},se=e=>ne(e,ne),ae=e=>ne(e,se),re=(e,l,t,n,s=0)=>F((t?Z:U)(e,l[s],s>w(l)-2?t:K),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&Y(e,l[s]),a;const r=re(a,l,t,n,s+1);return $(a)&&Y(e,l[s]),r})),oe=e=>new Set(Array.isArray(e)||E(e)?e:[e]),ue=(e,l)=>null==e?void 0:e.add(l),ie=/^\d+$/,de=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},l=>{ie.test(l)&&w(e)<1e3&&I(e,l)}]},ce=e=>[e,e],he=()=>[K(),K()],ve=e=>[...e],fe=([e,l])=>e===l,ge=e=>{const t=l(e);return x(t)||t==a&&J(e)?t:void 0},Te=(e,l,t,n,s)=>E(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),be=(e,l,t)=>E(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t)=>E(e)||!M(e)||D(e)||k(e)?(null==t||t(),!1):(B(e,((t,n)=>{l(t,n)||P(e,n)})),!D(e)),Ce=(e,l,t)=>Y(e,l,U(e,l)==-t?void 0:t),Se=()=>{let e,l,n=!1,s=!1,r=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ie=K(),ye=K(),we=K(),pe=K(),Ie=K(),Re=K(),me=oe(),Je=K(),Le=K(),Ee=K(),Fe=K(),xe=he(),ze=he(),Oe=he(),je=he(),ke=he(),Ae=he(),Me=he(),Ne=he(),Pe=he(),Be=he(),De=he(),We=he(),$e=he(),qe=he(),Ge=K(),He=he(),[Ke,Qe,Ue,Xe]=(e=>{let l;const[n,s]=de(),a=K();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=it);const i=n(1);return Y(a,i,[e,s,r,o,u]),ue(re(s,null!=r?r:[t],oe),i),i},(e,n,...s)=>S(((e,l=[t])=>{const n=[],s=(e,t)=>t==w(l)?I(n,e):null===l[t]?G(e,(e=>s(e,t+1))):S([l[t],null],(l=>s(U(e,l),t+1)));return s(e,0),n})(e,n),(e=>G(e,(e=>U(a,e)[0](l,...null!=n?n:[],...s))))),e=>F(U(a,e),(([,l,n])=>(re(l,null!=n?n:[t],void 0,(l=>(H(l,e),$(l)?1:0))),Y(a,e),s(e),n))),e=>F(U(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=w(r);i==w(t)?e(l,...r,...s(r)):E(t[i])?S(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),Ye=e=>{if(!Ve(e,((e,l)=>[o,u].includes(l))))return!1;const l=e[o];return!(!x(l)&&l!=a||(ge(e[u])!=l&&P(e,u),0))},Ze=(l,t)=>(!e||W(we,t)||Ll(t))&&Ve(l,((e,l)=>_e(t,l,e)),(()=>Ll(t))),_e=(e,l,t,n)=>Ve(n?t:nl(t,e,l),((n,s)=>F(el(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Ll(e,l))),el=(l,t,n,s)=>e?F(U(U(we,l),n),(e=>ge(s)!=e[o]?Ll(l,t,n,s,e[u]):s),(()=>Ll(l,t,n,s))):E(ge(s))?Ll(l,t,n,s):s,ll=(e,l)=>Ve(l?e:sl(e),((l,t)=>F(tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>El())),tl=(e,t)=>l?F(U(Ie,e),(l=>ge(t)!=l[o]?El(e,t,l[u]):t),(()=>El(e,t))):E(ge(t))?El(e,t):t,nl=(e,l,t)=>(F(U(pe,l),(([n,s])=>{G(n,((l,t)=>{N(e,t)||(e[t]=l)})),G(s,(n=>{N(e,n)||Ll(l,t,n)}))})),e),sl=e=>(l&&(G(Re,((l,t)=>{N(e,t)||(e[t]=l)})),G(me,(l=>{N(e,l)||El(l)}))),e),al=e=>_(we,e,((e,l,t)=>{const n=K(),s=oe();_(Z(we,l,K),t,((e,l,t)=>{Y(e,l,t),F(t[u],(e=>Y(n,l,e)),(()=>ue(s,l)))})),Y(pe,l,[n,s])}),((e,l)=>{Y(we,l),Y(pe,l)})),rl=e=>_(Ie,e,((e,l,t)=>{Y(Ie,l,t),F(t[u],(e=>Y(Re,l,e)),(()=>ue(me,l)))}),((e,l)=>{Y(Ie,l),Y(Re,l),H(me,l)})),ol=e=>D(e)?et():Ul(e),ul=e=>_(Ee,e,((e,l,t)=>il(l,t)),((e,l)=>Vl(l))),il=(e,l)=>_(Z(Ee,e,(()=>(wl(e,1),Y(Je,e,de()),Y(Le,e,K()),K()))),l,((l,t,n)=>dl(e,l,t,n)),((l,t)=>Cl(e,l,t))),dl=(e,l,t,n,s)=>_(Z(l,t,(()=>(pl(e,t,1),K()))),n,((l,n,s)=>cl(e,t,l,n,s)),((n,a)=>Sl(e,l,t,n,a,s))),cl=(e,l,t,n,s)=>{W(t,n)||Il(e,l,n,1);const a=U(t,n);s!==a&&(Rl(e,l,n,a,s),Y(t,n,s))},hl=(e,l,t,n,s)=>F(U(l,t),(l=>cl(e,t,l,n,s)),(()=>dl(e,l,t,nl({[n]:s},e,t)))),vl=e=>D(e)?nt():Xl(e),fl=e=>_(Fe,e,((e,l,t)=>gl(l,t)),((e,l)=>yl(l))),gl=(e,l)=>{W(Fe,e)||ml(e,1);const t=U(Fe,e);l!==t&&(Jl(e,t,l),Y(Fe,e,l))},Tl=(e,l)=>{const[t]=U(Je,e),n=t(l);return W(U(Ee,e),n)?Tl(e,l):n},bl=e=>{var l;return null!=(l=U(Ee,e))?l:il(e,{})},Vl=e=>il(e,{}),Cl=(e,l,t)=>{const[,n]=U(Je,e);n(t),dl(e,l,t,{},!0)},Sl=(e,l,t,n,s,a)=>{var r;const o=U(null==(r=U(pe,e))?void 0:r[0],s);if(!E(o)&&!a)return cl(e,t,n,s,o);const u=l=>{Rl(e,t,l,U(n,l)),Il(e,t,l,-1),Y(n,l)};E(o)?u(s):X(n,u),$(n)&&(pl(e,t,-1),$(Y(l,t))&&(wl(e,-1),Y(Ee,e),Y(Je,e),Y(Le,e)))},yl=e=>{const l=U(Re,e);if(!E(l))return gl(e,l);Jl(e,U(Fe,e)),ml(e,-1),Y(Fe,e)},wl=(e,l)=>Ce(i,e,l),pl=(e,l,t)=>Ce(Z(L,e,K),l,t),Il=(e,l,t,n)=>{var s;const a=U(Le,e),r=null!=(s=U(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&Ce(Z(J,e,K),t,n),Y(a,t,r!=-n?r+n:null),Ce(Z(Z(O,e,K),l,K),t,n)},Rl=(e,l,t,n,s)=>Z(Z(Z(j,e,K),l,K),t,(()=>[n,0]))[1]=s,ml=(e,l)=>Ce(k,e,l),Jl=(e,l,t)=>Z(M,e,(()=>[l,0]))[1]=t,Ll=(e,l,t,n,s)=>(I(Z(Z(Z(ie,e,K),l,K),t,(()=>[])),n),s),El=(e,l,t)=>(I(Z(ye,e,(()=>[])),l),t),Fl=(e,l,t)=>F(U(U(U(j,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ce(Gl(e,l,t))])),xl=e=>F(U(M,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ce(Ql(e))])),zl=e=>$(ie)||$(Be[e])?0:G(e?ae(ie):ie,((l,t)=>G(l,((l,n)=>G(l,((l,s)=>Qe(Be[e],[t,n,s],l))))))),Ol=e=>$(ye)||$(De[e])?0:G(e?ne(ye):ye,((l,t)=>Qe(De[e],[t],l))),jl=(e,l,t)=>{if(!$(l))return Qe(e,t,(()=>ee(l))),1},kl=e=>{const l=$(Ae[e]),t=$(Ne[e])&&$(je[e])&&$(ke[e])&&l&&$(ze[e]),n=$(Pe[e])&&$(Me[e])&&$(Oe[e])&&$(xe[e]);if(!t||!n){const s=e?[ne(i),se(J),se(L),ae(O),ae(j)]:[i,J,L,O,j];if(!t){jl(ze[e],s[0]),G(s[1],((l,t)=>jl(je[e],l,[t])));const t=oe();G(s[2],((n,s)=>{jl(ke[e],n,[s])&&!l&&(Qe(Ae[e],[s,null]),ue(t,s))})),l||G(s[4],((l,n)=>{if(!W(t,n)){const t=oe();G(l,(e=>G(e,(([l,n],s)=>n!==l?ue(t,s):H(e,s))))),G(t,(l=>Qe(Ae[e],[n,l])))}})),G(s[3],((l,t)=>G(l,((l,n)=>jl(Ne[e],l,[t,n])))))}if(!n){let l;G(s[4],((t,n)=>{let s;G(t,((t,a)=>{let r;G(t,(([t,o],u)=>{o!==t&&(Qe(Pe[e],[n,a,u],o,t,Fl),l=s=r=1)})),r&&Qe(Me[e],[n,a],Fl)})),s&&Qe(Oe[e],[n],Fl)})),l&&Qe(xe[e],void 0,Fl)}}},Al=e=>{const l=$($e[e]),t=$(qe[e])&&$(We[e]);if(!l||!t){const n=e?[ne(k),ne(M)]:[k,M];if(l||jl($e[e],n[0]),!t){let l;G(n[1],(([t,n],s)=>{n!==t&&(Qe(qe[e],[s],n,t,xl),l=1)})),l&&Qe(We[e],void 0,xl)}}},Ml=(e,...l)=>(rt((()=>e(...y(l,C)))),it),Nl=()=>[ee(j,((e,l)=>-1===U(i,l)?null:ee(e,((e,t)=>-1===U(U(L,l),t)?null:ee(e,(([,e])=>null!=e?e:null),((e,l)=>fe(l)))),D)),D),ee(M,(([,e])=>null!=e?e:null),((e,l)=>fe(l)))],Pl=()=>({cellsTouched:n,valuesTouched:s,changedCells:te(j,ve,fe),invalidCells:te(ie),changedValues:ee(M,ve,fe),invalidValues:ee(ye),changedTableIds:ee(i),changedRowIds:le(L),changedCellIds:te(O),changedValueIds:ee(k)}),Bl=()=>te(Ee),Dl=()=>Q(Ee),Wl=e=>Q(U(Ee,C(e))),$l=(e,l,t,n=0,s)=>{return y(p((r=U(Ee,C(e)),o=(e,t)=>[E(l)?t:U(e,C(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),y([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,E(s)?s:n+s),(([,e])=>e));var a,r,o,u},ql=(e,l)=>Q(U(U(Ee,C(e)),C(l))),Gl=(e,l,t)=>U(U(U(Ee,C(e)),C(l)),C(t)),Hl=()=>ee(Fe),Kl=()=>Q(Fe),Ql=e=>U(Fe,C(e)),Ul=e=>Ml((()=>(e=>Ve(e,Ze,Ll))(e)?ul(e):0)),Xl=e=>Ml((()=>ll(e)?fl(e):0)),Yl=e=>{try{ol(m(e))}catch(e){}return it},Zl=l=>Ml((()=>{if((e=Ve(l,(e=>Ve(e,Ye))))&&(al(l),!$(Ee))){const e=Bl();et(),Ul(e)}})),_l=e=>Ml((()=>{if(l=(e=>Ve(e,Ye))(e)){const t=Hl();at(),nt(),l=!0,rl(e),Xl(t)}})),et=()=>Ml((()=>ul({}))),lt=e=>Ml((e=>W(Ee,e)?Vl(e):0),e),tt=(e,l)=>Ml(((e,l)=>F(U(Ee,e),(t=>W(t,l)?Cl(e,t,l):0))),e,l),nt=()=>Ml((()=>fl({}))),st=()=>Ml((()=>{al({}),e=!1})),at=()=>Ml((()=>{rl({}),l=!1})),rt=(e,l)=>{if(-1!=r){ot();const t=e();return ut(l),t}},ot=()=>(-1!=r&&r++,1==r&&Qe(Ge,void 0,Nl,Pl),it),ut=e=>(r>0&&(r--,0==r&&(n=!$(j),s=!$(M),r=1,zl(1),n&&kl(1),Ol(1),s&&Al(1),(null==e?void 0:e(Nl,Pl))&&(G(j,((e,l)=>G(e,((e,t)=>G(e,(([e],n)=>Te(it,l,t,n,e))))))),G(M,(([e],l)=>be(it,l,e))),n=s=!1),Qe(He[0],void 0,Nl,Pl),r=-1,zl(0),n&&kl(0),Ol(0),s&&Al(0),Qe(He[1],void 0,Nl,Pl),r=0,n=s=!1,S([i,J,L,O,j,ie,k,M,ye],q))),it),it={getContent:()=>[Bl(),Hl()],getTables:Bl,getTableIds:Dl,getTable:e=>le(U(Ee,C(e))),getTableCellIds:e=>Q(U(Le,C(e))),getRowIds:Wl,getSortedRowIds:$l,getRow:(e,l)=>ee(U(U(Ee,C(e)),C(l))),getCellIds:ql,getCell:Gl,getValues:Hl,getValueIds:Kl,getValue:Ql,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,l)=>W(U(Le,C(e)),C(l)),hasRow:(e,l)=>W(U(Ee,C(e)),C(l)),hasCell:(e,l,t)=>W(U(U(Ee,C(e)),C(l)),C(t)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>R(Ee),getValuesJson:()=>R(Fe),getJson:()=>R([Ee,Fe]),getTablesSchemaJson:()=>R(we),getValuesSchemaJson:()=>R(Ie),getSchemaJson:()=>R([we,Ie]),setContent:([e,l])=>Ml((()=>{Ul(e),Xl(l)})),setTables:Ul,setTable:(e,l)=>Ml((e=>Ze(l,e)?il(e,l):0),e),setRow:(e,l,t)=>Ml(((e,l)=>_e(e,l,t)?dl(e,bl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>rt((()=>{let n;return _e(e,n,l)&&(e=C(e),dl(e,bl(e),n=Tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Ml(((e,l)=>{if(_e(e,l,t,1)){const n=bl(e);B(t,((t,s)=>hl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Ml(((e,l,t)=>F(el(e,l,t,z(n)?n(Gl(e,l,t)):n),(n=>hl(e,bl(e),l,t,n)))),e,l,t),setValues:Xl,setPartialValues:e=>Ml((()=>ll(e,1)?B(e,((e,l)=>gl(l,e))):0)),setValue:(e,l)=>Ml((e=>F(tl(e,z(l)?l(Ql(e)):l),(l=>gl(e,l)))),e),setTransactionChanges:e=>Ml((()=>{B(e[0],((e,l)=>E(e)?lt(l):B(e,((e,t)=>E(e)?tt(l,t):B(e,((e,n)=>Te(it,l,t,n,e))))))),B(e[1],((e,l)=>be(it,l,e)))})),setTablesJson:Yl,setValuesJson:e=>{try{vl(m(e))}catch(e){}return it},setJson:e=>{try{const[l,t]=m(e);ol(l),vl(t)}catch(l){Yl(e)}return it},setTablesSchema:Zl,setValuesSchema:_l,setSchema:(e,l)=>Ml((()=>{Zl(e),_l(l)})),delTables:et,delTable:lt,delRow:tt,delCell:(e,l,t,n)=>Ml(((e,l,t)=>F(U(Ee,e),(s=>F(U(s,l),(a=>W(a,t)?Sl(e,s,l,a,t,n):0))))),e,l,t),delValues:nt,delValue:e=>Ml((e=>W(Fe,e)?yl(e):0),e),delTablesSchema:st,delValuesSchema:at,delSchema:()=>Ml((()=>{st(),at()})),transaction:rt,startTransaction:ot,finishTransaction:ut,forEachTable:e=>G(Ee,((l,t)=>e(t,(e=>G(l,((l,t)=>e(t,(e=>X(l,e))))))))),forEachTableCell:(e,l)=>X(U(Le,C(e)),l),forEachRow:(e,l)=>G(U(Ee,C(e)),((e,t)=>l(t,(l=>X(e,l))))),forEachCell:(e,l,t)=>X(U(U(Ee,C(e)),C(l)),t),forEachValue:e=>X(Fe,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=$l(e,l,t,n,s);return Ke((()=>{const r=$l(e,l,t,n,s);var u,i,d;i=o,w(u=r)===w(i)&&(d=(e,l)=>i[l]===e,u.every(d))||(o=r,a(it,e,l,t,n,s,o))}),Ae[r?1:0],[e,l],[Dl])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),it),delListener:e=>(Ue(e),it),getListenerStats:()=>({}),createStore:Se};return B({[c]:[0,xe],[h]:[0,ze],[d]:[1,Oe,[Dl]],[d+g]:[1,je,[Dl]],[v]:[1,ke,[Dl]],Row:[2,Me,[Dl,Wl]],[g]:[2,Ne,[Dl,Wl]],[f]:[3,Pe,[Dl,Wl,ql],e=>ce(Gl(...e))],InvalidCell:[3,Be],[b]:[0,We],[V]:[0,$e],[T]:[1,qe,[Kl],e=>ce(Ql(e[0]))],InvalidValue:[1,De]},(([e,l,t,n],s)=>{it["add"+s+"Listener"]=(...s)=>Ke(s[e],l[s[e+1]?1:0],e>0?p(s,0,e):void 0,t,n)})),A(it)};e.createStore=Se},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="",n=l(t),s=l(!0),a=l(0),r=l(l),o="type",u="default",i="Ids",d="Table",c=d+"s",h=d+i,v="Row"+i,f="Cell",g=f+i,T="Value",b=T+"s",V=T+i,C=e=>t+e,S=(e,l)=>e.forEach(l),y=(e,l)=>e.map(l),w=e=>e.length,p=(e,l,t)=>e.slice(l,t),I=(e,...l)=>e.push(...l),R=e=>JSON.stringify(e,((e,l)=>{return L(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),m=JSON.parse,J=isFinite,L=(e,l)=>e instanceof l,E=e=>null==e,F=(e,l,t)=>E(e)?null==t?void 0:t():l(e),x=e=>e==n||e==s,z=e=>l(e)==r,O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>L(e,O)&&e.constructor==O,N=(e,l)=>!E(((e,l)=>F(e,(e=>e[l])))(e,l)),P=(e,l)=>(delete e[l],e),B=(e,l)=>y(O.entries(e),(([e,t])=>l(t,e))),D=e=>M(e)&&0==(e=>w(j(e)))(e),W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>E(e)||0==(e=>e.size)(e),q=e=>e.clear(),G=(e,l)=>null==e?void 0:e.forEach(l),H=(e,l)=>null==e?void 0:e.delete(l),K=e=>new Map(e),Q=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},U=(e,l)=>null==e?void 0:e.get(l),X=(e,l)=>G(e,((e,t)=>l(t,e))),Y=(e,l,t)=>E(t)?(H(e,l),e):null==e?void 0:e.set(l,t),Z=(e,l,t)=>(W(e,l)||Y(e,l,t()),U(e,l)),_=(e,l,t,n=Y)=>(B(l,((l,n)=>t(e,n,l))),X(e,(t=>N(l,t)?0:n(e,t))),e),ee=(e,l,t)=>{const n={};return G(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},le=(e,l,t)=>ee(e,(e=>ee(e,l,t)),D),te=(e,l,t)=>ee(e,(e=>le(e,l,t)),D),ne=(e,l)=>{const t=K();return G(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},se=e=>ne(e,ne),ae=e=>ne(e,se),re=(e,l,t,n,s=0)=>F((t?Z:U)(e,l[s],s>w(l)-2?t:K),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&Y(e,l[s]),a;const r=re(a,l,t,n,s+1);return $(a)&&Y(e,l[s]),r})),oe=e=>new Set(Array.isArray(e)||E(e)?e:[e]),ue=(e,l)=>null==e?void 0:e.add(l),ie=/^\d+$/,de=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},l=>{ie.test(l)&&w(e)<1e3&&I(e,l)}]},ce=e=>[e,e],he=()=>[K(),K()],ve=e=>[...e],fe=([e,l])=>e===l,ge=e=>{const t=l(e);return x(t)||t==a&&J(e)?t:void 0},Te=(e,l,t,n,s)=>E(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),be=(e,l,t)=>E(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t)=>E(e)||!M(e)||D(e)||k(e)?(null==t||t(),!1):(B(e,((t,n)=>{l(t,n)||P(e,n)})),!D(e)),Ce=(e,l,t)=>Y(e,l,U(e,l)==-t?void 0:t),Se=()=>{let e,l,n=!1,s=!1,r=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ie=K(),ye=K(),we=K(),pe=K(),Ie=K(),Re=K(),me=oe(),Je=K(),Le=K(),Ee=K(),Fe=K(),xe=he(),ze=he(),Oe=he(),je=he(),ke=he(),Ae=he(),Me=he(),Ne=he(),Pe=he(),Be=he(),De=he(),We=he(),$e=he(),qe=he(),Ge=K(),He=he(),[Ke,Qe,Ue,Xe]=(e=>{let l;const[n,s]=de(),a=K();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=it);const i=n(1);return Y(a,i,[e,s,r,o,u]),ue(re(s,null!=r?r:[t],oe),i),i},(e,n,...s)=>S(((e,l=[t])=>{const n=[],s=(e,t)=>t==w(l)?I(n,e):null===l[t]?G(e,(e=>s(e,t+1))):S([l[t],null],(l=>s(U(e,l),t+1)));return s(e,0),n})(e,n),(e=>G(e,(e=>U(a,e)[0](l,...null!=n?n:[],...s))))),e=>F(U(a,e),(([,l,n])=>(re(l,null!=n?n:[t],void 0,(l=>(H(l,e),$(l)?1:0))),Y(a,e),s(e),n))),e=>F(U(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=w(r);i==w(t)?e(l,...r,...s(r)):E(t[i])?S(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),Ye=e=>{if(!Ve(e,((e,l)=>[o,u].includes(l))))return!1;const l=e[o];return!(!x(l)&&l!=a||(ge(e[u])!=l&&P(e,u),0))},Ze=(l,t)=>(!e||W(we,t)||Ll(t))&&Ve(l,((e,l)=>_e(t,l,e)),(()=>Ll(t))),_e=(e,l,t,n)=>Ve(n?t:nl(t,e,l),((n,s)=>F(el(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Ll(e,l))),el=(l,t,n,s)=>e?F(U(U(we,l),n),(e=>ge(s)!=e[o]?Ll(l,t,n,s,e[u]):s),(()=>Ll(l,t,n,s))):E(ge(s))?Ll(l,t,n,s):s,ll=(e,l)=>Ve(l?e:sl(e),((l,t)=>F(tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>El())),tl=(e,t)=>l?F(U(Ie,e),(l=>ge(t)!=l[o]?El(e,t,l[u]):t),(()=>El(e,t))):E(ge(t))?El(e,t):t,nl=(e,l,t)=>(F(U(pe,l),(([n,s])=>{G(n,((l,t)=>{N(e,t)||(e[t]=l)})),G(s,(n=>{N(e,n)||Ll(l,t,n)}))})),e),sl=e=>(l&&(G(Re,((l,t)=>{N(e,t)||(e[t]=l)})),G(me,(l=>{N(e,l)||El(l)}))),e),al=e=>_(we,e,((e,l,t)=>{const n=K(),s=oe();_(Z(we,l,K),t,((e,l,t)=>{Y(e,l,t),F(t[u],(e=>Y(n,l,e)),(()=>ue(s,l)))})),Y(pe,l,[n,s])}),((e,l)=>{Y(we,l),Y(pe,l)})),rl=e=>_(Ie,e,((e,l,t)=>{Y(Ie,l,t),F(t[u],(e=>Y(Re,l,e)),(()=>ue(me,l)))}),((e,l)=>{Y(Ie,l),Y(Re,l),H(me,l)})),ol=e=>D(e)?et():Ul(e),ul=e=>_(Ee,e,((e,l,t)=>il(l,t)),((e,l)=>Vl(l))),il=(e,l)=>_(Z(Ee,e,(()=>(wl(e,1),Y(Je,e,de()),Y(Le,e,K()),K()))),l,((l,t,n)=>dl(e,l,t,n)),((l,t)=>Cl(e,l,t))),dl=(e,l,t,n,s)=>_(Z(l,t,(()=>(pl(e,t,1),K()))),n,((l,n,s)=>cl(e,t,l,n,s)),((n,a)=>Sl(e,l,t,n,a,s))),cl=(e,l,t,n,s)=>{W(t,n)||Il(e,l,n,1);const a=U(t,n);s!==a&&(Rl(e,l,n,a,s),Y(t,n,s))},hl=(e,l,t,n,s)=>F(U(l,t),(l=>cl(e,t,l,n,s)),(()=>dl(e,l,t,nl({[n]:s},e,t)))),vl=e=>D(e)?nt():Xl(e),fl=e=>_(Fe,e,((e,l,t)=>gl(l,t)),((e,l)=>yl(l))),gl=(e,l)=>{W(Fe,e)||ml(e,1);const t=U(Fe,e);l!==t&&(Jl(e,t,l),Y(Fe,e,l))},Tl=(e,l)=>{const[t]=U(Je,e),n=t(l);return W(U(Ee,e),n)?Tl(e,l):n},bl=e=>{var l;return null!=(l=U(Ee,e))?l:il(e,{})},Vl=e=>il(e,{}),Cl=(e,l,t)=>{const[,n]=U(Je,e);n(t),dl(e,l,t,{},!0)},Sl=(e,l,t,n,s,a)=>{var r;const o=U(null==(r=U(pe,e))?void 0:r[0],s);if(!E(o)&&!a)return cl(e,t,n,s,o);const u=l=>{Rl(e,t,l,U(n,l)),Il(e,t,l,-1),Y(n,l)};E(o)?u(s):X(n,u),$(n)&&(pl(e,t,-1),$(Y(l,t))&&(wl(e,-1),Y(Ee,e),Y(Je,e),Y(Le,e)))},yl=e=>{const l=U(Re,e);if(!E(l))return gl(e,l);Jl(e,U(Fe,e)),ml(e,-1),Y(Fe,e)},wl=(e,l)=>Ce(i,e,l),pl=(e,l,t)=>Ce(Z(L,e,K),l,t),Il=(e,l,t,n)=>{var s;const a=U(Le,e),r=null!=(s=U(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&Ce(Z(J,e,K),t,n),Y(a,t,r!=-n?r+n:null),Ce(Z(Z(O,e,K),l,K),t,n)},Rl=(e,l,t,n,s)=>Z(Z(Z(j,e,K),l,K),t,(()=>[n,0]))[1]=s,ml=(e,l)=>Ce(k,e,l),Jl=(e,l,t)=>Z(M,e,(()=>[l,0]))[1]=t,Ll=(e,l,t,n,s)=>(I(Z(Z(Z(ie,e,K),l,K),t,(()=>[])),n),s),El=(e,l,t)=>(I(Z(ye,e,(()=>[])),l),t),Fl=(e,l,t)=>F(U(U(U(j,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ce(Gl(e,l,t))])),xl=e=>F(U(M,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ce(Ql(e))])),zl=e=>$(ie)||$(Be[e])?0:G(e?ae(ie):ie,((l,t)=>G(l,((l,n)=>G(l,((l,s)=>Qe(Be[e],[t,n,s],l))))))),Ol=e=>$(ye)||$(De[e])?0:G(e?ne(ye):ye,((l,t)=>Qe(De[e],[t],l))),jl=(e,l,t)=>{if(!$(l))return Qe(e,t,(()=>ee(l))),1},kl=e=>{const l=$(Ae[e]),t=$(Ne[e])&&$(je[e])&&$(ke[e])&&l&&$(ze[e]),n=$(Pe[e])&&$(Me[e])&&$(Oe[e])&&$(xe[e]);if(!t||!n){const s=e?[ne(i),se(J),se(L),ae(O),ae(j)]:[i,J,L,O,j];if(!t){jl(ze[e],s[0]),G(s[1],((l,t)=>jl(je[e],l,[t])));const t=oe();G(s[2],((n,s)=>{jl(ke[e],n,[s])&&!l&&(Qe(Ae[e],[s,null]),ue(t,s))})),l||G(s[4],((l,n)=>{if(!W(t,n)){const t=oe();G(l,(e=>G(e,(([l,n],s)=>n!==l?ue(t,s):H(e,s))))),G(t,(l=>Qe(Ae[e],[n,l])))}})),G(s[3],((l,t)=>G(l,((l,n)=>jl(Ne[e],l,[t,n])))))}if(!n){let l;G(s[4],((t,n)=>{let s;G(t,((t,a)=>{let r;G(t,(([t,o],u)=>{o!==t&&(Qe(Pe[e],[n,a,u],o,t,Fl),l=s=r=1)})),r&&Qe(Me[e],[n,a],Fl)})),s&&Qe(Oe[e],[n],Fl)})),l&&Qe(xe[e],void 0,Fl)}}},Al=e=>{const l=$($e[e]),t=$(qe[e])&&$(We[e]);if(!l||!t){const n=e?[ne(k),ne(M)]:[k,M];if(l||jl($e[e],n[0]),!t){let l;G(n[1],(([t,n],s)=>{n!==t&&(Qe(qe[e],[s],n,t,xl),l=1)})),l&&Qe(We[e],void 0,xl)}}},Ml=(e,...l)=>(rt((()=>e(...y(l,C)))),it),Nl=()=>[ee(j,((e,l)=>-1===U(i,l)?null:ee(e,((e,t)=>-1===U(U(L,l),t)?null:ee(e,(([,e])=>null!=e?e:null),((e,l)=>fe(l)))),D)),D),ee(M,(([,e])=>null!=e?e:null),((e,l)=>fe(l)))],Pl=()=>({cellsTouched:n,valuesTouched:s,changedCells:te(j,ve,fe),invalidCells:te(ie),changedValues:ee(M,ve,fe),invalidValues:ee(ye),changedTableIds:ee(i),changedRowIds:le(L),changedCellIds:te(O),changedValueIds:ee(k)}),Bl=()=>te(Ee),Dl=()=>Q(Ee),Wl=e=>Q(U(Ee,C(e))),$l=(e,l,t,n=0,s)=>{return y(p((r=U(Ee,C(e)),o=(e,t)=>[E(l)?t:U(e,C(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),y([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,E(s)?s:n+s),(([,e])=>e));var a,r,o,u},ql=(e,l)=>Q(U(U(Ee,C(e)),C(l))),Gl=(e,l,t)=>U(U(U(Ee,C(e)),C(l)),C(t)),Hl=()=>ee(Fe),Kl=()=>Q(Fe),Ql=e=>U(Fe,C(e)),Ul=e=>Ml((()=>(e=>Ve(e,Ze,Ll))(e)?ul(e):0)),Xl=e=>Ml((()=>ll(e)?fl(e):0)),Yl=e=>{try{ol(m(e))}catch(e){}return it},Zl=l=>Ml((()=>{if((e=Ve(l,(e=>Ve(e,Ye))))&&(al(l),!$(Ee))){const e=Bl();et(),Ul(e)}})),_l=e=>Ml((()=>{if(l=(e=>Ve(e,Ye))(e)){const t=Hl();at(),nt(),l=!0,rl(e),Xl(t)}})),et=()=>Ml((()=>ul({}))),lt=e=>Ml((e=>W(Ee,e)?Vl(e):0),e),tt=(e,l)=>Ml(((e,l)=>F(U(Ee,e),(t=>W(t,l)?Cl(e,t,l):0))),e,l),nt=()=>Ml((()=>fl({}))),st=()=>Ml((()=>{al({}),e=!1})),at=()=>Ml((()=>{rl({}),l=!1})),rt=(e,l)=>{if(-1!=r){ot();const t=e();return ut(l),t}},ot=()=>(-1!=r&&r++,1==r&&Qe(Ge,void 0,Nl,Pl),it),ut=e=>(r>0&&(r--,0==r&&(n=!$(j),s=!$(M),r=1,zl(1),n&&kl(1),Ol(1),s&&Al(1),(null==e?void 0:e(Nl,Pl))&&(G(j,((e,l)=>G(e,((e,t)=>G(e,(([e],n)=>Te(it,l,t,n,e))))))),G(M,(([e],l)=>be(it,l,e))),n=s=!1),Qe(He[0],void 0,Nl,Pl),r=-1,zl(0),n&&kl(0),Ol(0),s&&Al(0),Qe(He[1],void 0,Nl,Pl),r=0,n=s=!1,S([i,J,L,O,j,ie,k,M,ye],q))),it),it={getContent:()=>[Bl(),Hl()],getTables:Bl,getTableIds:Dl,getTable:e=>le(U(Ee,C(e))),getTableCellIds:e=>Q(U(Le,C(e))),getRowIds:Wl,getSortedRowIds:$l,getRow:(e,l)=>ee(U(U(Ee,C(e)),C(l))),getCellIds:ql,getCell:Gl,getValues:Hl,getValueIds:Kl,getValue:Ql,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,l)=>W(U(Le,C(e)),C(l)),hasRow:(e,l)=>W(U(Ee,C(e)),C(l)),hasCell:(e,l,t)=>W(U(U(Ee,C(e)),C(l)),C(t)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>R(Ee),getValuesJson:()=>R(Fe),getJson:()=>R([Ee,Fe]),getTablesSchemaJson:()=>R(we),getValuesSchemaJson:()=>R(Ie),getSchemaJson:()=>R([we,Ie]),setContent:([e,l])=>Ml((()=>{(D(e)?et:Ul)(e),(D(l)?nt:Xl)(l)})),setTables:Ul,setTable:(e,l)=>Ml((e=>Ze(l,e)?il(e,l):0),e),setRow:(e,l,t)=>Ml(((e,l)=>_e(e,l,t)?dl(e,bl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>rt((()=>{let n;return _e(e,n,l)&&(e=C(e),dl(e,bl(e),n=Tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Ml(((e,l)=>{if(_e(e,l,t,1)){const n=bl(e);B(t,((t,s)=>hl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Ml(((e,l,t)=>F(el(e,l,t,z(n)?n(Gl(e,l,t)):n),(n=>hl(e,bl(e),l,t,n)))),e,l,t),setValues:Xl,setPartialValues:e=>Ml((()=>ll(e,1)?B(e,((e,l)=>gl(l,e))):0)),setValue:(e,l)=>Ml((e=>F(tl(e,z(l)?l(Ql(e)):l),(l=>gl(e,l)))),e),setTransactionChanges:e=>Ml((()=>{B(e[0],((e,l)=>E(e)?lt(l):B(e,((e,t)=>E(e)?tt(l,t):B(e,((e,n)=>Te(it,l,t,n,e))))))),B(e[1],((e,l)=>be(it,l,e)))})),setTablesJson:Yl,setValuesJson:e=>{try{vl(m(e))}catch(e){}return it},setJson:e=>{try{const[l,t]=m(e);ol(l),vl(t)}catch(l){Yl(e)}return it},setTablesSchema:Zl,setValuesSchema:_l,setSchema:(e,l)=>Ml((()=>{Zl(e),_l(l)})),delTables:et,delTable:lt,delRow:tt,delCell:(e,l,t,n)=>Ml(((e,l,t)=>F(U(Ee,e),(s=>F(U(s,l),(a=>W(a,t)?Sl(e,s,l,a,t,n):0))))),e,l,t),delValues:nt,delValue:e=>Ml((e=>W(Fe,e)?yl(e):0),e),delTablesSchema:st,delValuesSchema:at,delSchema:()=>Ml((()=>{st(),at()})),transaction:rt,startTransaction:ot,finishTransaction:ut,forEachTable:e=>G(Ee,((l,t)=>e(t,(e=>G(l,((l,t)=>e(t,(e=>X(l,e))))))))),forEachTableCell:(e,l)=>X(U(Le,C(e)),l),forEachRow:(e,l)=>G(U(Ee,C(e)),((e,t)=>l(t,(l=>X(e,l))))),forEachCell:(e,l,t)=>X(U(U(Ee,C(e)),C(l)),t),forEachValue:e=>X(Fe,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=$l(e,l,t,n,s);return Ke((()=>{const r=$l(e,l,t,n,s);var u,i,d;i=o,w(u=r)===w(i)&&(d=(e,l)=>i[l]===e,u.every(d))||(o=r,a(it,e,l,t,n,s,o))}),Ae[r?1:0],[e,l],[Dl])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),it),delListener:e=>(Ue(e),it),getListenerStats:()=>({}),createStore:Se};return B({[c]:[0,xe],[h]:[0,ze],[d]:[1,Oe,[Dl]],[d+g]:[1,je,[Dl]],[v]:[1,ke,[Dl]],Row:[2,Me,[Dl,Wl]],[g]:[2,Ne,[Dl,Wl]],[f]:[3,Pe,[Dl,Wl,ql],e=>ce(Gl(...e))],InvalidCell:[3,Be],[b]:[0,We],[V]:[0,$e],[T]:[1,qe,[Kl],e=>ce(Ql(e[0]))],InvalidValue:[1,De]},(([e,l,t,n],s)=>{it["add"+s+"Listener"]=(...s)=>Ke(s[e],l[s[e+1]?1:0],e>0?p(s,0,e):void 0,t,n)})),A(it)};e.createStore=Se},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",c="Result",u="add",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+v,p="Sorted"+L+v,S="Cell",T=S+v,w="Value",I=w+"s",R=w+v,C=e=>n+e,b=(e,t)=>e.includes(t),m=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&m(e,((e,n)=>t[n]===e)),E=(e,t)=>m(e,((n,l)=>0==l||t(e[l-1],n)<=0)),k=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>O(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),O=(e,t,n)=>e.reduce(t,n),F=(e,t,n)=>e.slice(t,n),P=(e,...t)=>e.push(...t),j=e=>e.pop(),Q=e=>e.shift(),z=e=>JSON.stringify(e,((e,t)=>q(t,Map)?O([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),N=JSON.parse,B=Math.max,W=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,n)=>G(e)?null==n?void 0:n():t(e),K=e=>e==l||e==s,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,ne=e=>q(e,Z)&&e.constructor==Z,le=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),oe=(e,t)=>M(Z.entries(e),(([e,n])=>t(n,e))),re=e=>ne(e)&&0==(e=>J(_(e)))(e),ie=e=>e.size,ae=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},de=e=>G(e)||0==ie(e),ce=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ve=(e,t)=>null==e?void 0:e.forEach(t),he=(e,t)=>null==e?void 0:e.delete(t),fe=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Le=(e,t)=>null==e?void 0:e.get(t),ye=(e,t)=>ve(e,((e,n)=>t(n,e))),pe=(e,t,n)=>G(n)?(he(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ae(e,t)||pe(e,t,n()),Le(e,t)),Te=(e,t,n,l=pe)=>(oe(t,((t,l)=>n(e,l,t))),ye(e,(n=>le(t,n)?0:l(e,n))),e),we=(e,t,n)=>{const l={};return ve(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)),re),Re=(e,t,n)=>we(e,(e=>Ie(e,t,n)),re),Ce=(e,t)=>{const n=fe();return ve(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,n,l,s=0)=>H((n?Se:Le)(e,t[s],s>J(t)-2?n:fe),(o=>{if(s>J(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return de(o)&&pe(e,t[s]),r})),Ee=e=>{const n=t(e);return K(n)||n==o&&$(e)?n:void 0},ke=(e,t,n,l,s)=>G(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>G(n)?e.delValue(t):e.setValue(t,n),Me=e=>new Set(X(e)||G(e)?e:[e]),De=(e,t)=>null==e?void 0:e.add(t),Je=(e,t,n)=>{const l=e.hasRow,s=fe(),o=fe(),r=fe(),i=fe(),a=fe(),d=(t,n,...l)=>{const s=Se(a,t,Me);return x(l,(t=>De(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>H(Le(a,t),(l=>{x(A(n)?ce(l):n,(t=>{e.delListener(t),he(l,t)})),de(l)&&pe(a,t)})),u=(e,n)=>{pe(s,e,n),ae(o,e)||(pe(o,e,t()),pe(r,e,fe()),pe(i,e,fe()))},v=e=>{pe(s,e),pe(o,e),pe(r,e),pe(i,e),c(e)};return[()=>e,()=>ge(s),e=>ye(o,e),e=>ae(o,e),e=>Le(s,e),e=>Le(o,e),(e,t)=>pe(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=fe(),f=fe(),g=Le(r,t),L=Le(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=Le(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||X(r)&&X(i)&&V(r,i)||pe(h,t,[r,i]),!G(v)){const e=Le(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&pe(f,t,n)}},p=e=>{o((()=>{ve(h,(([,e],t)=>pe(g,t,e))),ve(f,((e,t)=>pe(L,t,e)))}),h,f,g,L,e),ue(h),ue(f)};ye(g,y),e.hasTable(s)&&x(e.getRowIds(s),(e=>{ae(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>p())))},v,()=>ye(a,v),d,c]},Ae=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Oe=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Fe=/^\d+$/,Pe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?Q(e):null)?s:n+t++},t=>{Fe.test(t)&&J(e)<1e3&&P(e,t)}]},je=e=>{let t;const[l,s]=Pe(),o=fe();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const c=l(1);return pe(o,c,[s,r,i,a,d]),De(Ve(r,null!=i?i:[n],Me),c),c},(e,l,...s)=>x(((e,t=[n])=>{const l=[],s=(e,n)=>n==J(t)?P(l,e):null===t[n]?ve(e,(e=>s(e,n+1))):x([t[n],null],(t=>s(Le(e,t),n+1)));return s(e,0),l})(e,l),(e=>ve(e,(e=>Le(o,e)[0](t,...null!=l?l:[],...s))))),e=>H(Le(o,e),(([,t,l])=>(Ve(t,null!=l?l:[n],void 0,(t=>(he(t,e),de(t)?1:0))),pe(o,e),s(e),l))),e=>H(Le(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=J(r);d==J(n)?e(t,...r,...s(r)):G(n[d])?x(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},Qe=Oe((e=>{let t,l,s,o=100,r=fe(),i=fe(),a=1;const d=fe(),c=fe(),[u,v,h]=je((()=>z)),f=fe(),g=fe(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=Le(f,n);ve(l,((n,l)=>ve(n,((n,s)=>ve(n,((n,o)=>ke(e,l,s,o,n[t]))))))),ve(s,((n,l)=>xe(e,l,n[t])))})),a=1},S=e=>{pe(f,e),pe(g,e),v(c,[e])},T=(e,t)=>x(((e,t)=>e.splice(0,t))(e,null!=t?t:J(e)),S),w=()=>T(L,J(L)-o),I=()=>H(t,(()=>{P(L,t),w(),T(y),t=void 0,s=1})),R=()=>{t=j(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){I();const e=Se(r,t,fe),i=Se(e,n,fe),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&de(pe(i,l))&&de(pe(e,n))&&de(pe(r,t))&&R(),M()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(a){I();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&de(pe(i,t))&&R(),M()}})),V=(e="")=>(G(t)&&(t=n+l++,pe(f,t,[r,i]),O(t,e),r=fe(),i=fe(),s=1),t),E=()=>{A(L)||(((e,...t)=>{e.unshift(...t)})(y,V()),p(0,t),t=j(L),s=1)},k=()=>{A(y)||(P(L,t),t=Q(y),p(1,t),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=V(e);return M(),t},O=(e,t)=>(F(e)&&Le(g,e)!==t&&(pe(g,e,t),v(c,[e])),z),F=e=>ae(f,e),z={setSize:e=>(o=e,w(),z),addCheckpoint:D,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ye(g,e),hasCheckpoint:F,getCheckpoint:e=>Le(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(k(),M(),z),goTo:e=>{const n=b(L,e)?E:b(y,e)?k:null;for(;!G(n)&&e!=t;)n();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(T(L),T(y),G(t)||S(t),t=void 0,l=0,D(),z),destroy:()=>{e.delListener(C),e.delListener(m)},getListenerStats:()=>({})};return te(z.clear())})),ze=(e,t)=>e<t?-1:1,Ne=Oe((e=>{const t=fe(),l=fe(),[s,o,r,i,a,d,c,,u,v,h]=Je(e,fe,(e=>G(e)?n:X(e)?M(e,C):C(e))),[f,g,L]=je((()=>p)),y=(t,n,l)=>{const s=a(t);ve(l,((t,l)=>n(l,(n=>ve(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},p={setIndexDefinition:(e,n,s,o,r,i=ze)=>{const a=G(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,s,r,u,v,h)=>{let f=0;const L=Me(),y=Me(),p=d(e);if(ve(s,(([e,t],n)=>{const l=Me(e),s=Me(t);ve(l,(e=>he(s,e)?he(l,e):0)),ve(l,(e=>{De(L,e),H(Le(p,e),(t=>{he(t,n),de(t)&&(pe(p,e),f=1)}))})),ve(s,(e=>{De(L,e),ae(p,e)||(pe(p,e,Me()),f=1),De(Le(p,e),n),G(o)||De(y,e)}))})),n(),de(v)||(h?ye(p,(e=>De(y,e))):ye(r,(e=>H(Le(u,e),(e=>De(y,e))))),ve(y,(e=>{const t=(t,n)=>i(Le(v,t),Le(v,n),e),n=[...Le(p,e)];E(n,t)||(pe(p,e,Me(k(n,t))),De(L,e))}))),(f||h)&&!G(a)){const t=[...p];E(t,a)||(c(e,fe(k(t,a))),f=1)}f&&g(t,[e]),ve(L,(t=>g(l,[e,t])))}),Ae(s),H(o,Ae)),p},delIndexDefinition:e=>(v(e),p),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ae(d(e),t),getTableId:a,getSliceIds:e=>ge(d(e)),getSliceRowIds:(e,t)=>ce(Le(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return te(p)})),Be=fe([["avg",[(e,t)=>D(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=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:B(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=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(de(n))return;const[r,i,a,d]=s;return o||(o=G(e)),ve(l,(([n,l])=>{o||(e=G(n)?null==i?void 0:i(e,l,t++):G(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=G(e)))})),o?r(ce(n),ie(n)):e},$e=Oe((e=>{const t=fe(),[l,s,o,r,i,a,d,,c,u,v]=Je(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,f,g]=je((()=>L)),L={setMetricDefinition:(e,n,l,s,o,r,i)=>{var u;const v=U(l)?[l,o,r,i]:null!=(u=Le(Be,l))?u:Le(Be,"sum");return c(e,n,((n,l,s,o,r,i)=>{const c=a(e),u=ie(o);i||(i=G(c)),n();let h=We(c,u,o,l,v,i);$(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Ae(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return te(L)}));var qe=(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())})),Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Oe((e=>{const t=e.createStore,[l,s,o,r,i,,,a,,v,f,g,w]=Je(e,(()=>!0),Y),I=t(),R=t(),C=fe(),b=(e,t,...n)=>x(n,(n=>De(Se(Se(C,t,fe),e,Me),n))),V=e=>{H(Le(C,e),(e=>{ye(e,((e,t)=>ve(t,(t=>e.delListener(t))))),ue(e)})),x([R,I],(t=>t.delTable(e)))},E=(e,t,n)=>b(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(t,l,s)=>{a(t,l),V(t);const o=[],r=[[null,[l,null,null,[],fe()]]],i=[],d=[],c=[];s({select:(e,t)=>{const l=U(e)?[J(o)+n,e]:[G(t)?e:t,n=>n(e,t)];return P(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=G(n)||U(t)?null:t,s=G(l)?t:n,o=[e,[e,l,U(s)?s:e=>e(s),[],fe()]];return P(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>P(i,U(e)?e:G(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,U(t)?[t,n,l,s]:null!=(o=Le(Be,t))?o:[(e,t)=>t]]];return P(d,r),{as:e=>r[0]=e}},having:(e,t)=>P(c,U(e)?e:n=>n(e)===t)});const u=fe(o);if(de(u))return k;const v=fe(r);ye(v,((e,[,t])=>H(Le(v,t),(({3:t})=>G(e)?0:P(t,e)))));const h=fe(d);let f=I;if(de(h)&&A(c))f=R;else{E(t,f,R);const e=fe();ye(h,((t,[n,l])=>De(Se(e,n,Me),[t,l])));const n=Me();ye(u,(t=>ae(e,t)?0:De(n,t)));const l=fe(),s=(n,l,s,o)=>H(n,(([r,i,a,d])=>{ye(l,((t,[n])=>{const l=Se(r,t,fe),i=Le(l,s),a=o?void 0:n;if(i!==a){const n=Me([[i,a]]),o=ie(l);pe(l,s,a),ve(Le(e,t),(([e,t])=>{const s=We(d[e],o,l,n,t);d[e]=G(Ee(s))?null:s}))}})),de(i)||!m(c,(e=>e((e=>d[e]))))?R.delRow(t,a):G(a)?n[2]=R.addRow(t,d):R.setRow(t,a,d)}));b(f,t,f.addRowListener(t,null,((o,r,i,a)=>{const d=[],c=[],u=fe(),v=f.hasRow(t,i);let h=!v;ve(n,(e=>{const[n,l,s]=a(t,i,e);P(d,l),P(c,s),h||(h=n)})),ye(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&pe(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(he(e,i),de(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ve(n,(n=>e[n]=f.getCell(t,i,n))),[fe(),Me(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}E(t,e,f);const L=(n,s,o,r)=>{const a=t=>e.getCell(s,o,t);x(r,(l=>{var s;const[o,,r,i,d]=Le(v,l),c=null==r?void 0:r(a,n),[u,h]=null!=(s=Le(d,n))?s:[];c!=u&&(G(h)||w(t,h),pe(d,n,G(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>L(n,o,c,i))))]))})),(n=>{const s=(t,s)=>{var o,r,i;return e.getCell(...G(s)?[l,n,t]:t===l?[l,n,s]:[null==(o=Le(v,t))?void 0:o[0],null==(i=Le(null==(r=Le(v,t))?void 0:r[4],n))?void 0:i[0],s])};f.transaction((()=>m(i,(e=>e(s)))?ye(u,((e,l)=>ke(f,t,n,e,l(s,n)))):f.delRow(t,n)))})(n)},{3:y}=Le(v,null);return f.transaction((()=>g(t,1,e.addRowListener(l,null,((n,s,o)=>{e.hasRow(l,o)?L(o,l,o,y):(f.delRow(t,o),ve(v,(({4:e})=>H(Le(e,o),(([,n])=>{w(t,n),pe(e,o)})))))}))))),k},delQueryDefinition:e=>(V(e),v(e),k),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(R.delListener(e),k),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(R.getListenerStats(),["tables","tableIds","transaction"])};return oe({[h]:[1,1],[y]:[0,1],[p]:[0,5],[L]:[1,2],[T]:[0,2],[S]:[1,3]},(([e,t],n)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+c+n]=(...t)=>R[e+n](...t))),k[u+c+n+d]=(...e)=>R[u+n+d](...F(e,0,t),((n,...l)=>e[t](k,...l)))})),te(k)})),Xe=Oe((e=>{const t=fe(),l=fe(),s=fe(),o=fe(),[r,i,a,d,c,u,,,v,h,f]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+n)),[g,L,y]=je((()=>w)),p=(e,t,n)=>H(u(e),(([l,,s])=>{if(!ae(s,t)){const o=Me();if(c(e)!=T(e))De(o,t);else{let e=t;for(;!G(e)&&!ae(o,e);)De(o,e),e=Le(l,e)}if(n)return o;pe(s,t,o)}return Le(s,t)})),S=(e,t)=>H(u(e),(([,,e])=>pe(e,t))),T=e=>Le(t,e),w={setRelationshipDefinition:(e,n,r,i)=>(pe(t,e,r),v(e,n,((t,n)=>{const r=Me(),i=Me(),a=Me(),[d,c]=u(e);ve(n,(([t,n],l)=>{G(t)||(De(i,t),H(Le(c,t),(e=>{he(e,l),de(e)&&pe(c,t)}))),G(n)||(De(i,n),ae(c,n)||pe(c,n,Me()),De(Le(c,n),l)),De(r,l),pe(d,l,n),ye(Le(o,e),(t=>{ae(p(e,t),l)&&De(a,t)}))})),t(),ve(r,(t=>L(l,[e,t]))),ve(i,(t=>L(s,[e,t]))),ve(a,(t=>{S(e,t),L(o,[e,t])}))}),Ae(i)),w),delRelationshipDefinition:e=>(pe(t,e),h(e),w),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return Le(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ce(Le(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>G(u(e))?[t]:ce(p(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)=>(p(e,t),g(n,o,[e,t])),delListener:e=>(S(...y(e)),w),destroy:f,getListenerStats:()=>({})};return te(w)})),Ye=e=>[e,e],Ze=()=>[fe(),fe()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>G(e)||!ne(e)||re(e)||ee(e)?(null==n||n(),!1):(oe(e,((n,l)=>{t(n,l)||se(e,l)})),!re(e)),nt=(e,t,n)=>pe(e,t,Le(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,s=0;const r=fe(),c=fe(),v=fe(),p=fe(),m=fe(),E=fe(),D=fe(),J=fe(),A=fe(),O=fe(),j=fe(),Q=fe(),B=fe(),W=Me(),$=fe(),q=fe(),X=fe(),Y=fe(),Z=Ze(),_=Ze(),ee=Ze(),ne=Ze(),ie=Ze(),ce=Ze(),Ve=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),Fe=Ze(),Qe=Ze(),Ne=Ze(),Be=Ze(),We=fe(),$e=Ze(),[qe,Ge,He,Ke]=je((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>b([i,a],t))))return!1;const t=e[i];return!(!K(t)&&t!=o||(Ee(e[a])!=t&&se(e,a),0))},Xe=(t,n)=>(!e||ae(O,n)||Jt(n))&&tt(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,s)=>H(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?H(Le(Le(O,t),l),(e=>Ee(s)!=e[i]?Jt(t,n,l,s,e[a]):s),(()=>Jt(t,n,l,s))):G(Ee(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>H(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?H(Le(Q,e),(t=>Ee(n)!=t[i]?At(e,n,t[a]):n),(()=>At(e,n))):G(Ee(n))?At(e,n):n,at=(e,t,n)=>(H(Le(j,t),(([l,s])=>{ve(l,((t,n)=>{le(e,n)||(e[n]=t)})),ve(s,(l=>{le(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ve(B,((t,n)=>{le(e,n)||(e[n]=t)})),ve(W,(t=>{le(e,t)||At(t)}))),e),ct=e=>Te(O,e,((e,t,n)=>{const l=fe(),s=Me();Te(Se(O,t,fe),n,((e,t,n)=>{pe(e,t,n),H(n[a],(e=>pe(l,t,e)),(()=>De(s,t)))})),pe(j,t,[l,s])}),((e,t)=>{pe(O,t),pe(j,t)})),ut=e=>Te(Q,e,((e,t,n)=>{pe(Q,t,n),H(n[a],(e=>pe(B,t,e)),(()=>De(W,t)))}),((e,t)=>{pe(Q,t),pe(B,t),he(W,t)})),vt=e=>re(e)?on():en(e),ht=e=>Te(X,e,((e,t,n)=>ft(t,n)),((e,t)=>Rt(t))),ft=(e,t)=>Te(Se(X,e,(()=>(Vt(e,1),pe($,e,Pe()),pe(q,e,fe()),fe()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>Te(Se(t,n,(()=>(Et(e,n,1),fe()))),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)=>{ae(n,l)||kt(e,t,l,1);const o=Le(n,l);s!==o&&(xt(e,t,l,o,s),pe(n,l,s))},yt=(e,t,n,l,s)=>H(Le(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),pt=e=>re(e)?dn():tn(e),St=e=>Te(Y,e,((e,t,n)=>Tt(t,n)),((e,t)=>mt(t))),Tt=(e,t)=>{ae(Y,e)||Mt(e,1);const n=Le(Y,e);t!==n&&(Dt(e,n,t),pe(Y,e,t))},wt=(e,t)=>{const[n]=Le($,e),l=n(t);return ae(Le(X,e),l)?wt(e,t):l},It=e=>{var t;return null!=(t=Le(X,e))?t:ft(e,{})},Rt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=Le($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=Le(null==(r=Le(j,e))?void 0:r[0],s);if(!G(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,Le(l,t)),kt(e,n,t,-1),pe(l,t)};G(i)?a(s):ye(l,a),de(l)&&(Et(e,n,-1),de(pe(t,n))&&(Vt(e,-1),pe(X,e),pe($,e),pe(q,e)))},mt=e=>{const t=Le(B,e);if(!G(t))return Tt(e,t);Dt(e,Le(Y,e)),Mt(e,-1),pe(Y,e)},Vt=(e,t)=>nt(r,e,t),Et=(e,t,n)=>nt(Se(v,e,fe),t,n),kt=(e,t,n,l)=>{var s;const o=Le(q,e),r=null!=(s=Le(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(c,e,fe),n,l),pe(o,n,r!=-l?r+l:null),nt(Se(Se(p,e,fe),t,fe),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,fe),t,fe),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(E,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(P(Se(Se(Se(J,e,fe),t,fe),n,(()=>[])),l),s),At=(e,t,n)=>(P(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>H(Le(Le(Le(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>H(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>de(J)||de(Oe[e])?0:ve(e?me(J):J,((t,n)=>ve(t,((t,l)=>ve(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>de(A)||de(Fe[e])?0:ve(e?Ce(A):A,((t,n)=>Ge(Fe[e],[n],t))),Qt=(e,t,n)=>{if(!de(t))return Ge(e,n,(()=>we(t))),1},zt=e=>{const t=de(ce[e]),n=de(Je[e])&&de(ne[e])&&de(ie[e])&&t&&de(_[e]),l=de(Ae[e])&&de(Ve[e])&&de(ee[e])&&de(Z[e]);if(!n||!l){const s=e?[Ce(r),be(c),be(v),me(p),me(m)]:[r,c,v,p,m];if(!n){Qt(_[e],s[0]),ve(s[1],((t,n)=>Qt(ne[e],t,[n])));const n=Me();ve(s[2],((l,s)=>{Qt(ie[e],l,[s])&&!t&&(Ge(ce[e],[s,null]),De(n,s))})),t||ve(s[4],((t,l)=>{if(!ae(n,l)){const n=Me();ve(t,(e=>ve(e,(([t,l],s)=>l!==t?De(n,s):he(e,s))))),ve(n,(t=>Ge(ce[e],[l,t])))}})),ve(s[3],((t,n)=>ve(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ve(s[4],((n,l)=>{let s;ve(n,((n,o)=>{let r;ve(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(Ve[e],[l,o],Ot)})),s&&Ge(ee[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=de(Ne[e]),n=de(Be[e])&&de(Qe[e]);if(!t||!n){const l=e?[Ce(E),Ce(D)]:[E,D];if(t||Qt(Ne[e],l[0]),!n){let t;ve(l[1],(([n,l],s)=>{l!==n&&(Ge(Be[e],[s],l,n,Ft),t=1)})),t&&Ge(Qe[e],void 0,Ft)}}},Bt=(e,...t)=>(vn((()=>e(...M(t,C)))),gn),Wt=()=>[we(m,((e,t)=>-1===Le(r,t)?null:we(e,((e,n)=>-1===Le(Le(v,t),n)?null:we(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),re)),re),we(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(m,_e,et),invalidCells:Re(J),changedValues:we(D,_e,et),invalidValues:we(A),changedTableIds:we(r),changedRowIds:Ie(v),changedCellIds:Re(p),changedValueIds:we(E)}),qt=()=>Re(X),Gt=()=>ge(X),Ht=e=>ge(Le(X,C(e))),Kt=(e,t,n,l=0,s)=>{return M(F(k((o=Le(X,C(e)),r=(e,n)=>[G(t)?n:Le(e,C(t)),n],M([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>ze(e,t)*(n?-1:1))),l,G(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>ge(Le(Le(X,C(e)),C(t))),Xt=(e,t,n)=>Le(Le(Le(X,C(e)),C(t)),C(n)),Yt=()=>we(Y),Zt=()=>ge(Y),_t=e=>Le(Y,C(e)),en=e=>Bt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Bt((()=>rt(e)?St(e):0)),nn=e=>{try{vt(N(e))}catch(e){}return gn},ln=t=>Bt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!de(X))){const e=qt();on(),en(e)}})),sn=e=>Bt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Bt((()=>ht({}))),rn=e=>Bt((e=>ae(X,e)?Rt(e):0),e),an=(e,t)=>Bt(((e,t)=>H(Le(X,e),(n=>ae(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Bt((()=>St({}))),cn=()=>Bt((()=>{ct({}),e=!1})),un=()=>Bt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=s){hn();const n=e();return fn(t),n}},hn=()=>(-1!=s&&s++,1==s&&Ge(We,void 0,Wt,$t),gn),fn=e=>(s>0&&(s--,0==s&&(n=!de(m),l=!de(D),s=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Wt,$t))&&(ve(m,((e,t)=>ve(e,((e,n)=>ve(e,(([e],l)=>ke(gn,t,n,l,e))))))),ve(D,(([e],t)=>xe(gn,t,e))),n=l=!1),Ge($e[0],void 0,Wt,$t),s=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Wt,$t),s=0,n=l=!1,x([r,c,v,p,m,J,E,D,A],ue))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(Le(X,C(e))),getTableCellIds:e=>ge(Le(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>we(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!de(X),hasTable:e=>ae(X,C(e)),hasTableCell:(e,t)=>ae(Le(q,C(e)),C(t)),hasRow:(e,t)=>ae(Le(X,C(e)),C(t)),hasCell:(e,t,n)=>ae(Le(Le(X,C(e)),C(t)),C(n)),hasValues:()=>!de(Y),hasValue:e=>ae(Y,C(e)),getTablesJson:()=>z(X),getValuesJson:()=>z(Y),getJson:()=>z([X,Y]),getTablesSchemaJson:()=>z(O),getValuesSchemaJson:()=>z(Q),getSchemaJson:()=>z([O,Q]),setContent:([e,t])=>Bt((()=>{en(e),tn(t)})),setTables:en,setTable:(e,t)=>Bt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Bt(((e,t)=>st(e,t,n)?gt(e,It(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=C(e),gt(e,It(e),l=wt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Bt(((e,t)=>{if(st(e,t,n,1)){const l=It(e);oe(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Bt(((e,t,n)=>H(ot(e,t,n,U(l)?l(Xt(e,t,n)):l),(l=>yt(e,It(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Bt((()=>rt(e,1)?oe(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Bt((e=>H(it(e,U(t)?t(_t(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{oe(e[0],((e,t)=>G(e)?rn(t):oe(e,((e,n)=>G(e)?an(t,n):oe(e,((e,l)=>ke(gn,t,n,l,e))))))),oe(e[1],((e,t)=>xe(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{pt(N(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=N(e);vt(t),pt(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Bt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Bt(((e,t,n)=>H(Le(X,e),(s=>H(Le(s,t),(o=>ae(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Bt((e=>ae(Y,e)?mt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Bt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ve(X,((t,n)=>e(n,(e=>ve(t,((t,n)=>e(n,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Le(q,C(e)),t),forEachRow:(e,t)=>ve(Le(X,C(e)),((e,n)=>t(n,(t=>ye(e,t))))),forEachCell:(e,t,n)=>ye(Le(Le(X,C(e)),C(t)),n),forEachValue:e=>ye(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);V(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),ce[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:lt};return oe({[f]:[0,Z],[g]:[0,_],[h]:[1,ee,[Gt]],[h+T]:[1,ne,[Gt]],[y]:[1,ie,[Gt]],[L]:[2,Ve,[Gt,Ht]],[T]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[I]:[0,Qe],[R]:[0,Ne],[w]:[1,Be,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,Fe]},(([e,t,n,l],s)=>{gn[u+s+d]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?F(s,0,e):void 0,n,l)})),te(gn)};e.createCheckpoints=Qe,e.createCustomPersister=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>qe(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(...n)=>qe(void 0,[...n],(function*(n={},l={}){return yield v((()=>qe(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>qe(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>qe(void 0,null,(function*(){yield v((()=>qe(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=>qe(void 0,null,(function*(){return yield h.schedule((()=>qe(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>qe(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(H(o,e.delListener),h),schedule:(...e)=>qe(void 0,null,(function*(){return P(u,...e),yield qe(void 0,null,(function*(){if(!d){for(d=1;!G(r=Q(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(h)},e.createIndexes=Ne,e.createMetrics=$e,e.createQueries=Ue,e.createRelationships=Xe,e.createStore=lt,e.defaultSorter=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",c="Result",u="add",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+v,p="Sorted"+L+v,S="Cell",T=S+v,w="Value",I=w+"s",R=w+v,C=e=>n+e,b=(e,t)=>e.includes(t),m=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&m(e,((e,n)=>t[n]===e)),E=(e,t)=>m(e,((n,l)=>0==l||t(e[l-1],n)<=0)),k=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>O(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),O=(e,t,n)=>e.reduce(t,n),F=(e,t,n)=>e.slice(t,n),P=(e,...t)=>e.push(...t),j=e=>e.pop(),Q=e=>e.shift(),z=e=>JSON.stringify(e,((e,t)=>q(t,Map)?O([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),N=JSON.parse,B=Math.max,W=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,n)=>G(e)?null==n?void 0:n():t(e),K=e=>e==l||e==s,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,ne=e=>q(e,Z)&&e.constructor==Z,le=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),oe=(e,t)=>M(Z.entries(e),(([e,n])=>t(n,e))),re=e=>ne(e)&&0==(e=>J(_(e)))(e),ie=e=>e.size,ae=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},de=e=>G(e)||0==ie(e),ce=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ve=(e,t)=>null==e?void 0:e.forEach(t),he=(e,t)=>null==e?void 0:e.delete(t),fe=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Le=(e,t)=>null==e?void 0:e.get(t),ye=(e,t)=>ve(e,((e,n)=>t(n,e))),pe=(e,t,n)=>G(n)?(he(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ae(e,t)||pe(e,t,n()),Le(e,t)),Te=(e,t,n,l=pe)=>(oe(t,((t,l)=>n(e,l,t))),ye(e,(n=>le(t,n)?0:l(e,n))),e),we=(e,t,n)=>{const l={};return ve(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)),re),Re=(e,t,n)=>we(e,(e=>Ie(e,t,n)),re),Ce=(e,t)=>{const n=fe();return ve(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,n,l,s=0)=>H((n?Se:Le)(e,t[s],s>J(t)-2?n:fe),(o=>{if(s>J(t)-2)return(null==l?void 0:l(o))&&pe(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return de(o)&&pe(e,t[s]),r})),Ee=e=>{const n=t(e);return K(n)||n==o&&$(e)?n:void 0},ke=(e,t,n,l,s)=>G(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>G(n)?e.delValue(t):e.setValue(t,n),Me=e=>new Set(X(e)||G(e)?e:[e]),De=(e,t)=>null==e?void 0:e.add(t),Je=(e,t,n)=>{const l=e.hasRow,s=fe(),o=fe(),r=fe(),i=fe(),a=fe(),d=(t,n,...l)=>{const s=Se(a,t,Me);return x(l,(t=>De(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>H(Le(a,t),(l=>{x(A(n)?ce(l):n,(t=>{e.delListener(t),he(l,t)})),de(l)&&pe(a,t)})),u=(e,n)=>{pe(s,e,n),ae(o,e)||(pe(o,e,t()),pe(r,e,fe()),pe(i,e,fe()))},v=e=>{pe(s,e),pe(o,e),pe(r,e),pe(i,e),c(e)};return[()=>e,()=>ge(s),e=>ye(o,e),e=>ae(o,e),e=>Le(s,e),e=>Le(o,e),(e,t)=>pe(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=fe(),f=fe(),g=Le(r,t),L=Le(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=Le(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||X(r)&&X(i)&&V(r,i)||pe(h,t,[r,i]),!G(v)){const e=Le(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&pe(f,t,n)}},p=e=>{o((()=>{ve(h,(([,e],t)=>pe(g,t,e))),ve(f,((e,t)=>pe(L,t,e)))}),h,f,g,L,e),ue(h),ue(f)};ye(g,y),e.hasTable(s)&&x(e.getRowIds(s),(e=>{ae(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>p())))},v,()=>ye(a,v),d,c]},Ae=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Oe=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Fe=/^\d+$/,Pe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?Q(e):null)?s:n+t++},t=>{Fe.test(t)&&J(e)<1e3&&P(e,t)}]},je=e=>{let t;const[l,s]=Pe(),o=fe();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const c=l(1);return pe(o,c,[s,r,i,a,d]),De(Ve(r,null!=i?i:[n],Me),c),c},(e,l,...s)=>x(((e,t=[n])=>{const l=[],s=(e,n)=>n==J(t)?P(l,e):null===t[n]?ve(e,(e=>s(e,n+1))):x([t[n],null],(t=>s(Le(e,t),n+1)));return s(e,0),l})(e,l),(e=>ve(e,(e=>Le(o,e)[0](t,...null!=l?l:[],...s))))),e=>H(Le(o,e),(([,t,l])=>(Ve(t,null!=l?l:[n],void 0,(t=>(he(t,e),de(t)?1:0))),pe(o,e),s(e),l))),e=>H(Le(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=J(r);d==J(n)?e(t,...r,...s(r)):G(n[d])?x(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},Qe=Oe((e=>{let t,l,s,o=100,r=fe(),i=fe(),a=1;const d=fe(),c=fe(),[u,v,h]=je((()=>z)),f=fe(),g=fe(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=Le(f,n);ve(l,((n,l)=>ve(n,((n,s)=>ve(n,((n,o)=>ke(e,l,s,o,n[t]))))))),ve(s,((n,l)=>xe(e,l,n[t])))})),a=1},S=e=>{pe(f,e),pe(g,e),v(c,[e])},T=(e,t)=>x(((e,t)=>e.splice(0,t))(e,null!=t?t:J(e)),S),w=()=>T(L,J(L)-o),I=()=>H(t,(()=>{P(L,t),w(),T(y),t=void 0,s=1})),R=()=>{t=j(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){I();const e=Se(r,t,fe),i=Se(e,n,fe),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&de(pe(i,l))&&de(pe(e,n))&&de(pe(r,t))&&R(),M()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(a){I();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&de(pe(i,t))&&R(),M()}})),V=(e="")=>(G(t)&&(t=n+l++,pe(f,t,[r,i]),O(t,e),r=fe(),i=fe(),s=1),t),E=()=>{A(L)||(((e,...t)=>{e.unshift(...t)})(y,V()),p(0,t),t=j(L),s=1)},k=()=>{A(y)||(P(L,t),t=Q(y),p(1,t),s=1)},M=()=>{s&&(v(d),s=0)},D=e=>{const t=V(e);return M(),t},O=(e,t)=>(F(e)&&Le(g,e)!==t&&(pe(g,e,t),v(c,[e])),z),F=e=>ae(f,e),z={setSize:e=>(o=e,w(),z),addCheckpoint:D,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ye(g,e),hasCheckpoint:F,getCheckpoint:e=>Le(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(k(),M(),z),goTo:e=>{const n=b(L,e)?E:b(y,e)?k:null;for(;!G(n)&&e!=t;)n();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(T(L),T(y),G(t)||S(t),t=void 0,l=0,D(),z),destroy:()=>{e.delListener(C),e.delListener(m)},getListenerStats:()=>({})};return te(z.clear())})),ze=(e,t)=>e<t?-1:1,Ne=Oe((e=>{const t=fe(),l=fe(),[s,o,r,i,a,d,c,,u,v,h]=Je(e,fe,(e=>G(e)?n:X(e)?M(e,C):C(e))),[f,g,L]=je((()=>p)),y=(t,n,l)=>{const s=a(t);ve(l,((t,l)=>n(l,(n=>ve(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},p={setIndexDefinition:(e,n,s,o,r,i=ze)=>{const a=G(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,s,r,u,v,h)=>{let f=0;const L=Me(),y=Me(),p=d(e);if(ve(s,(([e,t],n)=>{const l=Me(e),s=Me(t);ve(l,(e=>he(s,e)?he(l,e):0)),ve(l,(e=>{De(L,e),H(Le(p,e),(t=>{he(t,n),de(t)&&(pe(p,e),f=1)}))})),ve(s,(e=>{De(L,e),ae(p,e)||(pe(p,e,Me()),f=1),De(Le(p,e),n),G(o)||De(y,e)}))})),n(),de(v)||(h?ye(p,(e=>De(y,e))):ye(r,(e=>H(Le(u,e),(e=>De(y,e))))),ve(y,(e=>{const t=(t,n)=>i(Le(v,t),Le(v,n),e),n=[...Le(p,e)];E(n,t)||(pe(p,e,Me(k(n,t))),De(L,e))}))),(f||h)&&!G(a)){const t=[...p];E(t,a)||(c(e,fe(k(t,a))),f=1)}f&&g(t,[e]),ve(L,(t=>g(l,[e,t])))}),Ae(s),H(o,Ae)),p},delIndexDefinition:e=>(v(e),p),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ae(d(e),t),getTableId:a,getSliceIds:e=>ge(d(e)),getSliceRowIds:(e,t)=>ce(Le(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return te(p)})),Be=fe([["avg",[(e,t)=>D(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=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:B(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=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(de(n))return;const[r,i,a,d]=s;return o||(o=G(e)),ve(l,(([n,l])=>{o||(e=G(n)?null==i?void 0:i(e,l,t++):G(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=G(e)))})),o?r(ce(n),ie(n)):e},$e=Oe((e=>{const t=fe(),[l,s,o,r,i,a,d,,c,u,v]=Je(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,f,g]=je((()=>L)),L={setMetricDefinition:(e,n,l,s,o,r,i)=>{var u;const v=U(l)?[l,o,r,i]:null!=(u=Le(Be,l))?u:Le(Be,"sum");return c(e,n,((n,l,s,o,r,i)=>{const c=a(e),u=ie(o);i||(i=G(c)),n();let h=We(c,u,o,l,v,i);$(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Ae(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return te(L)}));var qe=(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())})),Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Oe((e=>{const t=e.createStore,[l,s,o,r,i,,,a,,v,f,g,w]=Je(e,(()=>!0),Y),I=t(),R=t(),C=fe(),b=(e,t,...n)=>x(n,(n=>De(Se(Se(C,t,fe),e,Me),n))),V=e=>{H(Le(C,e),(e=>{ye(e,((e,t)=>ve(t,(t=>e.delListener(t))))),ue(e)})),x([R,I],(t=>t.delTable(e)))},E=(e,t,n)=>b(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),k={setQueryDefinition:(t,l,s)=>{a(t,l),V(t);const o=[],r=[[null,[l,null,null,[],fe()]]],i=[],d=[],c=[];s({select:(e,t)=>{const l=U(e)?[J(o)+n,e]:[G(t)?e:t,n=>n(e,t)];return P(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=G(n)||U(t)?null:t,s=G(l)?t:n,o=[e,[e,l,U(s)?s:e=>e(s),[],fe()]];return P(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>P(i,U(e)?e:G(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,U(t)?[t,n,l,s]:null!=(o=Le(Be,t))?o:[(e,t)=>t]]];return P(d,r),{as:e=>r[0]=e}},having:(e,t)=>P(c,U(e)?e:n=>n(e)===t)});const u=fe(o);if(de(u))return k;const v=fe(r);ye(v,((e,[,t])=>H(Le(v,t),(({3:t})=>G(e)?0:P(t,e)))));const h=fe(d);let f=I;if(de(h)&&A(c))f=R;else{E(t,f,R);const e=fe();ye(h,((t,[n,l])=>De(Se(e,n,Me),[t,l])));const n=Me();ye(u,(t=>ae(e,t)?0:De(n,t)));const l=fe(),s=(n,l,s,o)=>H(n,(([r,i,a,d])=>{ye(l,((t,[n])=>{const l=Se(r,t,fe),i=Le(l,s),a=o?void 0:n;if(i!==a){const n=Me([[i,a]]),o=ie(l);pe(l,s,a),ve(Le(e,t),(([e,t])=>{const s=We(d[e],o,l,n,t);d[e]=G(Ee(s))?null:s}))}})),de(i)||!m(c,(e=>e((e=>d[e]))))?R.delRow(t,a):G(a)?n[2]=R.addRow(t,d):R.setRow(t,a,d)}));b(f,t,f.addRowListener(t,null,((o,r,i,a)=>{const d=[],c=[],u=fe(),v=f.hasRow(t,i);let h=!v;ve(n,(e=>{const[n,l,s]=a(t,i,e);P(d,l),P(c,s),h||(h=n)})),ye(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&pe(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(he(e,i),de(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ve(n,(n=>e[n]=f.getCell(t,i,n))),[fe(),Me(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}E(t,e,f);const L=(n,s,o,r)=>{const a=t=>e.getCell(s,o,t);x(r,(l=>{var s;const[o,,r,i,d]=Le(v,l),c=null==r?void 0:r(a,n),[u,h]=null!=(s=Le(d,n))?s:[];c!=u&&(G(h)||w(t,h),pe(d,n,G(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>L(n,o,c,i))))]))})),(n=>{const s=(t,s)=>{var o,r,i;return e.getCell(...G(s)?[l,n,t]:t===l?[l,n,s]:[null==(o=Le(v,t))?void 0:o[0],null==(i=Le(null==(r=Le(v,t))?void 0:r[4],n))?void 0:i[0],s])};f.transaction((()=>m(i,(e=>e(s)))?ye(u,((e,l)=>ke(f,t,n,e,l(s,n)))):f.delRow(t,n)))})(n)},{3:y}=Le(v,null);return f.transaction((()=>g(t,1,e.addRowListener(l,null,((n,s,o)=>{e.hasRow(l,o)?L(o,l,o,y):(f.delRow(t,o),ve(v,(({4:e})=>H(Le(e,o),(([,n])=>{w(t,n),pe(e,o)})))))}))))),k},delQueryDefinition:e=>(V(e),v(e),k),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(R.delListener(e),k),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(R.getListenerStats(),["tables","tableIds","transaction"])};return oe({[h]:[1,1],[y]:[0,1],[p]:[0,5],[L]:[1,2],[T]:[0,2],[S]:[1,3]},(([e,t],n)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+c+n]=(...t)=>R[e+n](...t))),k[u+c+n+d]=(...e)=>R[u+n+d](...F(e,0,t),((n,...l)=>e[t](k,...l)))})),te(k)})),Xe=Oe((e=>{const t=fe(),l=fe(),s=fe(),o=fe(),[r,i,a,d,c,u,,,v,h,f]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+n)),[g,L,y]=je((()=>w)),p=(e,t,n)=>H(u(e),(([l,,s])=>{if(!ae(s,t)){const o=Me();if(c(e)!=T(e))De(o,t);else{let e=t;for(;!G(e)&&!ae(o,e);)De(o,e),e=Le(l,e)}if(n)return o;pe(s,t,o)}return Le(s,t)})),S=(e,t)=>H(u(e),(([,,e])=>pe(e,t))),T=e=>Le(t,e),w={setRelationshipDefinition:(e,n,r,i)=>(pe(t,e,r),v(e,n,((t,n)=>{const r=Me(),i=Me(),a=Me(),[d,c]=u(e);ve(n,(([t,n],l)=>{G(t)||(De(i,t),H(Le(c,t),(e=>{he(e,l),de(e)&&pe(c,t)}))),G(n)||(De(i,n),ae(c,n)||pe(c,n,Me()),De(Le(c,n),l)),De(r,l),pe(d,l,n),ye(Le(o,e),(t=>{ae(p(e,t),l)&&De(a,t)}))})),t(),ve(r,(t=>L(l,[e,t]))),ve(i,(t=>L(s,[e,t]))),ve(a,(t=>{S(e,t),L(o,[e,t])}))}),Ae(i)),w),delRelationshipDefinition:e=>(pe(t,e),h(e),w),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return Le(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ce(Le(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>G(u(e))?[t]:ce(p(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)=>(p(e,t),g(n,o,[e,t])),delListener:e=>(S(...y(e)),w),destroy:f,getListenerStats:()=>({})};return te(w)})),Ye=e=>[e,e],Ze=()=>[fe(),fe()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>G(e)||!ne(e)||re(e)||ee(e)?(null==n||n(),!1):(oe(e,((n,l)=>{t(n,l)||se(e,l)})),!re(e)),nt=(e,t,n)=>pe(e,t,Le(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,s=0;const r=fe(),c=fe(),v=fe(),p=fe(),m=fe(),E=fe(),D=fe(),J=fe(),A=fe(),O=fe(),j=fe(),Q=fe(),B=fe(),W=Me(),$=fe(),q=fe(),X=fe(),Y=fe(),Z=Ze(),_=Ze(),ee=Ze(),ne=Ze(),ie=Ze(),ce=Ze(),Ve=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),Fe=Ze(),Qe=Ze(),Ne=Ze(),Be=Ze(),We=fe(),$e=Ze(),[qe,Ge,He,Ke]=je((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>b([i,a],t))))return!1;const t=e[i];return!(!K(t)&&t!=o||(Ee(e[a])!=t&&se(e,a),0))},Xe=(t,n)=>(!e||ae(O,n)||Jt(n))&&tt(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,s)=>H(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?H(Le(Le(O,t),l),(e=>Ee(s)!=e[i]?Jt(t,n,l,s,e[a]):s),(()=>Jt(t,n,l,s))):G(Ee(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>H(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?H(Le(Q,e),(t=>Ee(n)!=t[i]?At(e,n,t[a]):n),(()=>At(e,n))):G(Ee(n))?At(e,n):n,at=(e,t,n)=>(H(Le(j,t),(([l,s])=>{ve(l,((t,n)=>{le(e,n)||(e[n]=t)})),ve(s,(l=>{le(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ve(B,((t,n)=>{le(e,n)||(e[n]=t)})),ve(W,(t=>{le(e,t)||At(t)}))),e),ct=e=>Te(O,e,((e,t,n)=>{const l=fe(),s=Me();Te(Se(O,t,fe),n,((e,t,n)=>{pe(e,t,n),H(n[a],(e=>pe(l,t,e)),(()=>De(s,t)))})),pe(j,t,[l,s])}),((e,t)=>{pe(O,t),pe(j,t)})),ut=e=>Te(Q,e,((e,t,n)=>{pe(Q,t,n),H(n[a],(e=>pe(B,t,e)),(()=>De(W,t)))}),((e,t)=>{pe(Q,t),pe(B,t),he(W,t)})),vt=e=>re(e)?on():en(e),ht=e=>Te(X,e,((e,t,n)=>ft(t,n)),((e,t)=>Rt(t))),ft=(e,t)=>Te(Se(X,e,(()=>(Vt(e,1),pe($,e,Pe()),pe(q,e,fe()),fe()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>Te(Se(t,n,(()=>(Et(e,n,1),fe()))),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)=>{ae(n,l)||kt(e,t,l,1);const o=Le(n,l);s!==o&&(xt(e,t,l,o,s),pe(n,l,s))},yt=(e,t,n,l,s)=>H(Le(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),pt=e=>re(e)?dn():tn(e),St=e=>Te(Y,e,((e,t,n)=>Tt(t,n)),((e,t)=>mt(t))),Tt=(e,t)=>{ae(Y,e)||Mt(e,1);const n=Le(Y,e);t!==n&&(Dt(e,n,t),pe(Y,e,t))},wt=(e,t)=>{const[n]=Le($,e),l=n(t);return ae(Le(X,e),l)?wt(e,t):l},It=e=>{var t;return null!=(t=Le(X,e))?t:ft(e,{})},Rt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=Le($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=Le(null==(r=Le(j,e))?void 0:r[0],s);if(!G(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,Le(l,t)),kt(e,n,t,-1),pe(l,t)};G(i)?a(s):ye(l,a),de(l)&&(Et(e,n,-1),de(pe(t,n))&&(Vt(e,-1),pe(X,e),pe($,e),pe(q,e)))},mt=e=>{const t=Le(B,e);if(!G(t))return Tt(e,t);Dt(e,Le(Y,e)),Mt(e,-1),pe(Y,e)},Vt=(e,t)=>nt(r,e,t),Et=(e,t,n)=>nt(Se(v,e,fe),t,n),kt=(e,t,n,l)=>{var s;const o=Le(q,e),r=null!=(s=Le(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(c,e,fe),n,l),pe(o,n,r!=-l?r+l:null),nt(Se(Se(p,e,fe),t,fe),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,fe),t,fe),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(E,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(P(Se(Se(Se(J,e,fe),t,fe),n,(()=>[])),l),s),At=(e,t,n)=>(P(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>H(Le(Le(Le(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>H(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>de(J)||de(Oe[e])?0:ve(e?me(J):J,((t,n)=>ve(t,((t,l)=>ve(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>de(A)||de(Fe[e])?0:ve(e?Ce(A):A,((t,n)=>Ge(Fe[e],[n],t))),Qt=(e,t,n)=>{if(!de(t))return Ge(e,n,(()=>we(t))),1},zt=e=>{const t=de(ce[e]),n=de(Je[e])&&de(ne[e])&&de(ie[e])&&t&&de(_[e]),l=de(Ae[e])&&de(Ve[e])&&de(ee[e])&&de(Z[e]);if(!n||!l){const s=e?[Ce(r),be(c),be(v),me(p),me(m)]:[r,c,v,p,m];if(!n){Qt(_[e],s[0]),ve(s[1],((t,n)=>Qt(ne[e],t,[n])));const n=Me();ve(s[2],((l,s)=>{Qt(ie[e],l,[s])&&!t&&(Ge(ce[e],[s,null]),De(n,s))})),t||ve(s[4],((t,l)=>{if(!ae(n,l)){const n=Me();ve(t,(e=>ve(e,(([t,l],s)=>l!==t?De(n,s):he(e,s))))),ve(n,(t=>Ge(ce[e],[l,t])))}})),ve(s[3],((t,n)=>ve(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ve(s[4],((n,l)=>{let s;ve(n,((n,o)=>{let r;ve(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(Ve[e],[l,o],Ot)})),s&&Ge(ee[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=de(Ne[e]),n=de(Be[e])&&de(Qe[e]);if(!t||!n){const l=e?[Ce(E),Ce(D)]:[E,D];if(t||Qt(Ne[e],l[0]),!n){let t;ve(l[1],(([n,l],s)=>{l!==n&&(Ge(Be[e],[s],l,n,Ft),t=1)})),t&&Ge(Qe[e],void 0,Ft)}}},Bt=(e,...t)=>(vn((()=>e(...M(t,C)))),gn),Wt=()=>[we(m,((e,t)=>-1===Le(r,t)?null:we(e,((e,n)=>-1===Le(Le(v,t),n)?null:we(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),re)),re),we(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(m,_e,et),invalidCells:Re(J),changedValues:we(D,_e,et),invalidValues:we(A),changedTableIds:we(r),changedRowIds:Ie(v),changedCellIds:Re(p),changedValueIds:we(E)}),qt=()=>Re(X),Gt=()=>ge(X),Ht=e=>ge(Le(X,C(e))),Kt=(e,t,n,l=0,s)=>{return M(F(k((o=Le(X,C(e)),r=(e,n)=>[G(t)?n:Le(e,C(t)),n],M([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>ze(e,t)*(n?-1:1))),l,G(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>ge(Le(Le(X,C(e)),C(t))),Xt=(e,t,n)=>Le(Le(Le(X,C(e)),C(t)),C(n)),Yt=()=>we(Y),Zt=()=>ge(Y),_t=e=>Le(Y,C(e)),en=e=>Bt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Bt((()=>rt(e)?St(e):0)),nn=e=>{try{vt(N(e))}catch(e){}return gn},ln=t=>Bt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!de(X))){const e=qt();on(),en(e)}})),sn=e=>Bt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Bt((()=>ht({}))),rn=e=>Bt((e=>ae(X,e)?Rt(e):0),e),an=(e,t)=>Bt(((e,t)=>H(Le(X,e),(n=>ae(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Bt((()=>St({}))),cn=()=>Bt((()=>{ct({}),e=!1})),un=()=>Bt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=s){hn();const n=e();return fn(t),n}},hn=()=>(-1!=s&&s++,1==s&&Ge(We,void 0,Wt,$t),gn),fn=e=>(s>0&&(s--,0==s&&(n=!de(m),l=!de(D),s=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Wt,$t))&&(ve(m,((e,t)=>ve(e,((e,n)=>ve(e,(([e],l)=>ke(gn,t,n,l,e))))))),ve(D,(([e],t)=>xe(gn,t,e))),n=l=!1),Ge($e[0],void 0,Wt,$t),s=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Wt,$t),s=0,n=l=!1,x([r,c,v,p,m,J,E,D,A],ue))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(Le(X,C(e))),getTableCellIds:e=>ge(Le(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>we(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!de(X),hasTable:e=>ae(X,C(e)),hasTableCell:(e,t)=>ae(Le(q,C(e)),C(t)),hasRow:(e,t)=>ae(Le(X,C(e)),C(t)),hasCell:(e,t,n)=>ae(Le(Le(X,C(e)),C(t)),C(n)),hasValues:()=>!de(Y),hasValue:e=>ae(Y,C(e)),getTablesJson:()=>z(X),getValuesJson:()=>z(Y),getJson:()=>z([X,Y]),getTablesSchemaJson:()=>z(O),getValuesSchemaJson:()=>z(Q),getSchemaJson:()=>z([O,Q]),setContent:([e,t])=>Bt((()=>{(re(e)?on:en)(e),(re(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Bt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Bt(((e,t)=>st(e,t,n)?gt(e,It(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=C(e),gt(e,It(e),l=wt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Bt(((e,t)=>{if(st(e,t,n,1)){const l=It(e);oe(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Bt(((e,t,n)=>H(ot(e,t,n,U(l)?l(Xt(e,t,n)):l),(l=>yt(e,It(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Bt((()=>rt(e,1)?oe(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Bt((e=>H(it(e,U(t)?t(_t(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{oe(e[0],((e,t)=>G(e)?rn(t):oe(e,((e,n)=>G(e)?an(t,n):oe(e,((e,l)=>ke(gn,t,n,l,e))))))),oe(e[1],((e,t)=>xe(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{pt(N(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=N(e);vt(t),pt(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Bt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Bt(((e,t,n)=>H(Le(X,e),(s=>H(Le(s,t),(o=>ae(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Bt((e=>ae(Y,e)?mt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Bt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ve(X,((t,n)=>e(n,(e=>ve(t,((t,n)=>e(n,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Le(q,C(e)),t),forEachRow:(e,t)=>ve(Le(X,C(e)),((e,n)=>t(n,(t=>ye(e,t))))),forEachCell:(e,t,n)=>ye(Le(Le(X,C(e)),C(t)),n),forEachValue:e=>ye(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);V(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),ce[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:lt};return oe({[f]:[0,Z],[g]:[0,_],[h]:[1,ee,[Gt]],[h+T]:[1,ne,[Gt]],[y]:[1,ie,[Gt]],[L]:[2,Ve,[Gt,Ht]],[T]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[I]:[0,Qe],[R]:[0,Ne],[w]:[1,Be,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,Fe]},(([e,t,n,l],s)=>{gn[u+s+d]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?F(s,0,e):void 0,n,l)})),te(gn)};e.createCheckpoints=Qe,e.createCustomPersister=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>qe(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>qe(void 0,null,(function*(){return yield v((()=>qe(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>qe(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>qe(void 0,null,(function*(){yield v((()=>qe(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=>qe(void 0,null,(function*(){return yield h.schedule((()=>qe(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>qe(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(H(o,e.delListener),h),schedule:(...e)=>qe(void 0,null,(function*(){return P(u,...e),yield qe(void 0,null,(function*(){if(!d){for(d=1;!G(r=Q(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(h)},e.createIndexes=Ne,e.createMetrics=$e,e.createQueries=Ue,e.createRelationships=Xe,e.createStore=lt,e.defaultSorter=ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinybase",
3
- "version": "4.0.0-beta.5",
3
+ "version": "4.0.0-beta.5.1",
4
4
  "author": "jamesgpearce",
5
5
  "repository": "github:tinyplex/tinybase",
6
6
  "license": "MIT",
@@ -210,7 +210,7 @@
210
210
  "publishPackage": "gulp publishPackage"
211
211
  },
212
212
  "devDependencies": {
213
- "@automerge/automerge": "^2.1.0-alpha.5",
213
+ "@automerge/automerge": "^2.1.0-alpha.6",
214
214
  "@babel/cli": "^7.22.5",
215
215
  "@babel/core": "^7.22.5",
216
216
  "@babel/preset-env": "^7.22.5",
@@ -243,7 +243,7 @@
243
243
  "buffer-replace": "^1.0.0",
244
244
  "country-flag-emoji-json": "^2.0.0",
245
245
  "cspell": "^6.31.1",
246
- "esbuild": "^0.18.6",
246
+ "esbuild": "^0.18.7",
247
247
  "eslint": "^8.43.0",
248
248
  "eslint-config-prettier": "^8.8.0",
249
249
  "eslint-plugin-jest": "^27.2.2",
@@ -273,13 +273,13 @@
273
273
  "tinybase": "file:./",
274
274
  "tinydocs": "^0.1.27",
275
275
  "tmp": "^0.2.1",
276
- "ts-unused-exports": "^9.0.4",
276
+ "ts-unused-exports": "^9.0.5",
277
277
  "typescript": "5.1.3",
278
278
  "yjs": "^13.6.5"
279
279
  },
280
280
  "peerDependencies": {
281
281
  "@sqlite.org/sqlite-wasm": "^3.42.0-build1",
282
- "@vlcn.io/crsqlite-wasm": "^0.12.0",
282
+ "@vlcn.io/crsqlite-wasm": "^0.13.0",
283
283
  "automerge-repo": "^0.0.54",
284
284
  "prettier": ">=2.0.0",
285
285
  "react": ">=17.0.0",
package/readme.md CHANGED
@@ -266,4 +266,4 @@ export const createShop: typeof createShopDecl = () => {
266
266
  };
267
267
  ```
268
268
 
269
- <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>4.7kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>8.9kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>3.4kB</em>, the auxiliary <a href="https://beta.tinybase.org/api/tools/"><code>tools</code></a> module is <em>10.3kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">store</a></th><td>4.7kB</td><td>11.1kB</td><td>47.7kB</td><td>212.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.6kB</td><td>14.9kB</td><td>29.2kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.7kB</td><td>16.7kB</td><td>33.8kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/relationships/">relationships</a></th><td>1.8kB</td><td>3.7kB</td><td>16.8kB</td><td>42.1kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/queries/">queries</a></th><td>2.7kB</td><td>5.5kB</td><td>25.0kB</td><td>112.7kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.5kB</td><td>3.1kB</td><td>12.5kB</td><td>33.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/persisters/">persisters</a></th><td>0.5kB</td><td>1.1kB</td><td>3.4kB</td><td>41.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>8.9kB</td><td>21.9kB</td><td>94.8kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible to get up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>1,815</td><td>1,815</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>1,957</td><td>1,957</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>776</td><td>776</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>663</td><td>663</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">3,081</td></tr><tr><th class="right">Assertions</th><td colspan="3">14,322</td></tr></tbody></table></div><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="follow">Follow</h2><ul><li>News and updates on <a href="https://twitter.com/tinybasejs">Twitter</a>, <a href="https://discord.com/invite/mGz3mevwP8">Discord</a>, and <a href="https://facebook.com/tinybasejs">Facebook</a>.</li><li><a href="https://github.com/tinyplex/tinybase/discussions">Discussions</a> and <a href="https://github.com/tinyplex/tinybase/issues">issues</a> on <a href="https://github.com/tinyplex/tinybase">GitHub</a>.</li><li><a href="https://beta.tinybase.org/guides/releases/">Release notes</a> for each version.</li><li>Packages on <a href="https://www.npmjs.com/package/tinybase/v/4.0.0-beta.5">NPM</a>.</li></ul></section><section><h2 id="about">About</h2><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://hachyderm.io/@jamesgpearce">me</a> in API design, minification, and documentation. It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it!</p></section>
269
+ <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>4.7kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>8.9kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>3.4kB</em>, the auxiliary <a href="https://beta.tinybase.org/api/tools/"><code>tools</code></a> module is <em>10.3kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">store</a></th><td>4.7kB</td><td>11.1kB</td><td>47.8kB</td><td>212.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.6kB</td><td>14.9kB</td><td>29.2kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.7kB</td><td>16.7kB</td><td>33.8kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/relationships/">relationships</a></th><td>1.8kB</td><td>3.7kB</td><td>16.8kB</td><td>42.1kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/queries/">queries</a></th><td>2.7kB</td><td>5.5kB</td><td>25.0kB</td><td>112.7kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.5kB</td><td>3.1kB</td><td>12.5kB</td><td>33.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/persisters/">persisters</a></th><td>0.5kB</td><td>1.0kB</td><td>3.4kB</td><td>41.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>8.9kB</td><td>21.9kB</td><td>94.8kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible to get up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>1,815</td><td>1,815</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>1,957</td><td>1,957</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>776</td><td>776</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>665</td><td>665</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">3,090</td></tr><tr><th class="right">Assertions</th><td colspan="3">14,334</td></tr></tbody></table></div><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="follow">Follow</h2><ul><li>News and updates on <a href="https://twitter.com/tinybasejs">Twitter</a>, <a href="https://discord.com/invite/mGz3mevwP8">Discord</a>, and <a href="https://facebook.com/tinybasejs">Facebook</a>.</li><li><a href="https://github.com/tinyplex/tinybase/discussions">Discussions</a> and <a href="https://github.com/tinyplex/tinybase/issues">issues</a> on <a href="https://github.com/tinyplex/tinybase">GitHub</a>.</li><li><a href="https://beta.tinybase.org/guides/releases/">Release notes</a> for each version.</li><li>Packages on <a href="https://www.npmjs.com/package/tinybase/v/4.0.0-beta.5.1">NPM</a>.</li></ul></section><section><h2 id="about">About</h2><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://hachyderm.io/@jamesgpearce">me</a> in API design, minification, and documentation. It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it!</p></section>