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
- "use strict";const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=e.keys,n=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),r=(t,a)=>(delete t[a],t),i=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>s(t).length,u=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),y=(t,a)=>[t[a].t,t[a].v],v=(a,e,s,n)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return i(s,((t,a)=>{n(o,a,t)&&(d=1)})),i(o,((t,a)=>{c(s,a)||(r(o,a),d=1)})),!t(e)&&u(o)&&r(a,e),d};exports.createAutomergePersister=(e,s,c="tinybase")=>(s.change((t=>t[c]={})),((e,d,h,l,w)=>{let g,f,p,A=0,L=0,S=0;const C=[],m=async t=>{2!=A&&(A=1,await t(),A=0)},b={load:async(t={},a={})=>(await m((async()=>{try{e.setContent(await d())}catch{e.setContent([t,a])}})),b),startAutoLoad:async(t={},a={})=>(b.stopAutoLoad(),await b.load(t,a),S=1,p=(t=>{const a=({doc:a})=>t((()=>y(a,c)));return s.on("change",a),a})((async(t,a)=>{await m((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await d())}catch{}}))})),b),stopAutoLoad:()=>{return S&&(t=p,s.removeListener("change",t),p=void 0,S=0),b;var t},save:async n=>(await b.schedule((async()=>{if(1!=A){A=2;try{await(async(e,n)=>s.change((s=>((e,s,n,c)=>{((t,a)=>{u(t[a])&&(t[a]={t:{},v:{}})})(e,s);const[d,h]=y(e,s),l=()=>{w=1};let w=1;if(a(c?.(),(([e,s])=>{w=0,i(e,((e,s)=>w?0:t(e)?r(d,s):a(d[s],(s=>i(e,((e,n)=>w?0:t(e)?r(s,n):a(o(s,n),(a=>i(e,((e,s)=>t(e)?r(a,s):a[s]=e))),l)))),l))),i(s,((a,e)=>w?0:t(a)?r(h,e):h[e]=a))})),w){const[t,a]=n();v(d,void 0,t,((t,a,e)=>v(d,a,e,((t,a,e)=>v(t,a,e,((t,a,e)=>{if(o(t,a)!==e)return t[a]=e,1})))))),v(h,void 0,a,((t,a,e)=>{o(h,a)!==e&&(h[a]=e)}))}})(s,c,e,n))))(e.getContent,n)}catch{}A=0}})),b),startAutoSave:async()=>(await b.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((t,a)=>{const e=a();b.save((()=>e))})),b),stopAutoSave:()=>(a(g,e.delListener),b),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(C,...a),await(async()=>{if(!L){for(L=1;!t((a=C,f=a.shift()));)try{await f()}catch{}L=0}var a})(),b),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(b)})(e,(async()=>2==d(s.doc[c])?y(s.doc,c):void 0)));
1
+ "use strict";const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=e.keys,n=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),r=(t,a)=>(delete t[a],t),i=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>s(t).length,u=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),y=(t,a)=>[t[a].t,t[a].v],v=(a,e,s,n)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return i(s,((t,a)=>{n(o,a,t)&&(d=1)})),i(o,((t,a)=>{c(s,a)||(r(o,a),d=1)})),!t(e)&&u(o)&&r(a,e),d};exports.createAutomergePersister=(e,s,c="tinybase")=>(s.change((t=>t[c]={})),((e,d,h,l,w)=>{let g,f,p,A=0,L=0,S=0;const C=[],m=async t=>{2!=A&&(A=1,await t(),A=0)},b={load:async(t,a)=>(await m((async()=>{try{e.setContent(await d())}catch{e.setContent([t,a])}})),b),startAutoLoad:async(t={},a={})=>(b.stopAutoLoad(),await b.load(t,a),S=1,p=(t=>{const a=({doc:a})=>t((()=>y(a,c)));return s.on("change",a),a})((async(t,a)=>{await m((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await d())}catch{}}))})),b),stopAutoLoad:()=>{return S&&(t=p,s.removeListener("change",t),p=void 0,S=0),b;var t},save:async n=>(await b.schedule((async()=>{if(1!=A){A=2;try{await(async(e,n)=>s.change((s=>((e,s,n,c)=>{((t,a)=>{u(t[a])&&(t[a]={t:{},v:{}})})(e,s);const[d,h]=y(e,s),l=()=>{w=1};let w=1;if(a(c?.(),(([e,s])=>{w=0,i(e,((e,s)=>w?0:t(e)?r(d,s):a(d[s],(s=>i(e,((e,n)=>w?0:t(e)?r(s,n):a(o(s,n),(a=>i(e,((e,s)=>t(e)?r(a,s):a[s]=e))),l)))),l))),i(s,((a,e)=>w?0:t(a)?r(h,e):h[e]=a))})),w){const[t,a]=n();v(d,void 0,t,((t,a,e)=>v(d,a,e,((t,a,e)=>v(t,a,e,((t,a,e)=>{if(o(t,a)!==e)return t[a]=e,1})))))),v(h,void 0,a,((t,a,e)=>{o(h,a)!==e&&(h[a]=e)}))}})(s,c,e,n))))(e.getContent,n)}catch{}A=0}})),b),startAutoSave:async()=>(await b.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((t,a)=>{const e=a();b.save((()=>e))})),b),stopAutoSave:()=>(a(g,e.delListener),b),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(C,...a),await(async()=>{if(!L){for(L=1;!t((a=C,f=a.shift()));)try{await f()}catch{}L=0}var a})(),b),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(b)})(e,(async()=>2==d(s.doc[c])?y(s.doc,c):void 0)));
@@ -1 +1 @@
1
- "use strict";const t=JSON.parse,a=t=>null==t,e=Object.freeze,s="storage",n=globalThis.window,r=(r,o,c)=>((r,i,u,y,d)=>{let v,l,w,g=0,h=0,p=0;const S=[],A=async t=>{2!=g&&(g=1,await t(),g=0)},L={load:async(t={},a={})=>(await A((async()=>{try{r.setContent(await i())}catch{r.setContent([t,a])}})),L),startAutoLoad:async(a={},e={})=>(L.stopAutoLoad(),await L.load(a,e),p=1,w=(a=>{const e=e=>{e.storageArea===c&&e.key===o&&a((()=>t(e.newValue)))};return n.addEventListener(s,e),e})((async(t,a)=>{await A((async()=>{if(a)r.setTransactionChanges(a());else try{r.setContent(t?.()??await i())}catch{}}))})),L),stopAutoLoad:()=>{return p&&(t=w,n.removeEventListener(s,t),w=void 0,p=0),L;var t},save:async t=>(await L.schedule((async()=>{if(1!=g){g=2;try{await(async t=>{return c.setItem(o,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))));var a})(r.getContent)}catch{}g=0}})),L),startAutoSave:async()=>(await L.stopAutoSave().save(),v=r.addDidFinishTransactionListener(((t,a)=>{const e=a();L.save((()=>e))})),L),stopAutoSave:()=>{var t,e;return t=v,e=r.delListener,a(t)||e(t),L},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(S,...t),await(async()=>{if(!h){for(h=1;!a((t=S,l=t.shift()));)try{await l()}catch{}h=0}var t})(),L),getStore:()=>r,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(L)})(r,(async()=>t(c.getItem(o))));exports.createLocalPersister=(t,a)=>r(t,a,localStorage),exports.createSessionPersister=(t,a)=>r(t,a,sessionStorage);
1
+ "use strict";const t=JSON.parse,a=t=>null==t,e=Object.freeze,s="storage",n=globalThis.window,r=(r,o,c)=>((r,i,u,y,d)=>{let v,l,w,g=0,h=0,p=0;const S=[],A=async t=>{2!=g&&(g=1,await t(),g=0)},L={load:async(t,a)=>(await A((async()=>{try{r.setContent(await i())}catch{r.setContent([t,a])}})),L),startAutoLoad:async(a={},e={})=>(L.stopAutoLoad(),await L.load(a,e),p=1,w=(a=>{const e=e=>{e.storageArea===c&&e.key===o&&a((()=>t(e.newValue)))};return n.addEventListener(s,e),e})((async(t,a)=>{await A((async()=>{if(a)r.setTransactionChanges(a());else try{r.setContent(t?.()??await i())}catch{}}))})),L),stopAutoLoad:()=>{return p&&(t=w,n.removeEventListener(s,t),w=void 0,p=0),L;var t},save:async t=>(await L.schedule((async()=>{if(1!=g){g=2;try{await(async t=>{return c.setItem(o,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))));var a})(r.getContent)}catch{}g=0}})),L),startAutoSave:async()=>(await L.stopAutoSave().save(),v=r.addDidFinishTransactionListener(((t,a)=>{const e=a();L.save((()=>e))})),L),stopAutoSave:()=>{var t,e;return t=v,e=r.delListener,a(t)||e(t),L},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(S,...t),await(async()=>{if(!h){for(h=1;!a((t=S,l=t.shift()));)try{await l()}catch{}h=0}var t})(),L),getStore:()=>r,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(L)})(r,(async()=>t(c.getItem(o))));exports.createLocalPersister=(t,a)=>r(t,a,localStorage),exports.createSessionPersister=(t,a)=>r(t,a,sessionStorage);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,i=a=>0==c(a),o=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>u.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),O=a=>c(L(a)),R=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==O(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",q="FROM pragma_table_",x="WHERE",J=x+" schema='main'AND type='table'AND name!='sqlite_schema'",U=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,o,l,u,w)=>{const d=j();C(w??{},(a=>r(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(i(E)&&g(t,s)&&u)return await a("DROP TABLE"+B(s)),void M(t,s);if(i(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...r(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=o&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(o)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+B(a))))});`),M(t,s,_([[o,""],...r(E,(a=>[a,""]))]));var v;if(i(E))await a("DELETE FROM"+B(s));else{const t=[],i=[],l=[];C(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(i,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(o)+n(r(E,(a=>e+B(a))))+")VALUES"+n(t,e),i),await a("DELETE FROM"+B(s)+x+B(o)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(r(await a("SELECT name "+q+"list "+J),(async({name:t})=>[t,h(r(await a("SELECT name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=_,g(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+x+B(e)+"=?",["_"]):[];return i(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(o(r(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!R(t)))):null,l]},W=(a,t,e,s,n)=>{let r,c,i,o=0,l=0,u=0;const w=[],d=async a=>{2!=o&&(o=1,await a(),o=0)},m={load:async(e={},s={})=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),u=1,i=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(u&&(n(i),i=void 0,u=0),m),save:async t=>(await m.schedule((async()=>{if(1!=o){o=2;try{await e(a.getContent,t)}catch{}o=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(r,a.delListener),m),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},Y="store",z=(a,e,s,n,{storeTableName:r=t})=>{const[c,i,o]=U(e),l=W(a,(async()=>(await c(),w((await i(r,P)??{})[Y]))),(async a=>l.schedule(c,(async()=>{var t;await o(r,P,"_",{[Y]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},H="rowIdColumnName",K="tableId",V="tableName",G={load:0,save:0,[V]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,r)=>{const c=l(N(f(t,m(a)?{[e]:a}:a)),0,O(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[i,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,O(G)),n=s[2];return[Q(a,{[K]:null,[H]:P},K,(a=>a==n)),Q(t,{[V]:null,[H]:P,deleteEmptyColumns:0,deleteEmptyTable:0},V,((a,t)=>t==n)),s]})(n),[w,d,v,m,A]=U(t),L=W(a,(async()=>{await w();const a=await(async()=>h(o(await p($(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>a[1]))))(),t=await(async()=>i?await d(u,P):{})();return R(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,m(t)?{storeTableName:t}:t??{});let c,i;return(r.mode==Z?z:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(i??=s)||(a(),c=t,i=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=i=null,n(t)}),r)};exports.createCrSqliteWasmPersister=(a,t,e)=>ra(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate((()=>a()))),(a=>a()));
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,i=a=>0==c(a),o=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>u.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),O=a=>c(L(a)),R=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==O(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",q="FROM pragma_table_",x="WHERE",J=x+" schema='main'AND type='table'AND name!='sqlite_schema'",U=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,o,l,u,w)=>{const d=j();C(w??{},(a=>r(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(i(E)&&g(t,s)&&u)return await a("DROP TABLE"+B(s)),void M(t,s);if(i(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...r(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=o&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(o)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+B(a))))});`),M(t,s,_([[o,""],...r(E,(a=>[a,""]))]));var v;if(i(E))await a("DELETE FROM"+B(s));else{const t=[],i=[],l=[];C(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(i,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(o)+n(r(E,(a=>e+B(a))))+")VALUES"+n(t,e),i),await a("DELETE FROM"+B(s)+x+B(o)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(r(await a("SELECT name "+q+"list "+J),(async({name:t})=>[t,h(r(await a("SELECT name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=_,g(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+x+B(e)+"=?",["_"]):[];return i(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(o(r(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!R(t)))):{},l]},W=(a,t,e,s,n)=>{let r,c,i,o=0,l=0,u=0;const w=[],d=async a=>{2!=o&&(o=1,await a(),o=0)},m={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),u=1,i=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(u&&(n(i),i=void 0,u=0),m),save:async t=>(await m.schedule((async()=>{if(1!=o){o=2;try{await e(a.getContent,t)}catch{}o=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(r,a.delListener),m),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},Y="store",z=(a,e,s,n,{storeTableName:r=t})=>{const[c,i,o]=U(e),l=W(a,(async()=>(await c(),w((await i(r,P)??{})[Y]))),(async a=>l.schedule(c,(async()=>{var t;await o(r,P,"_",{[Y]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},H="rowIdColumnName",K="tableId",V="tableName",G={load:0,save:0,[V]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,r)=>{const c=l(N(f(t,m(a)?{[e]:a}:a)),0,O(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[i,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,O(G)),n=s[2];return[Q(a,{[K]:null,[H]:P},K,(a=>a==n)),Q(t,{[V]:null,[H]:P,deleteEmptyColumns:0,deleteEmptyTable:0},V,((a,t)=>t==n)),s]})(n),[w,d,v,m,A]=U(t),L=W(a,(async()=>{await w();const a=await(async()=>h(o(await p($(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!R(a[1])))))(),t=await(async()=>i?await d(u,P):{})();return R(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,m(t)?{storeTableName:t}:t??{});let c,i;return(r.mode==Z?z:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(i??=s)||(a(),c=t,i=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=i=null,n(t)}),r)};exports.createCrSqliteWasmPersister=(a,t,e)=>ra(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate((()=>a()))),(a=>a()));
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=JSON.parse,r=t=>null==t,n=Object.freeze;exports.createFilePersister=(i,o)=>((s,i,c,u,y)=>{let d,v,w,l=0,f=0,h=0;const p=[],A=async t=>{2!=l&&(l=1,await t(),l=0)},S={load:async(t={},a={})=>(await A((async()=>{try{s.setContent(await i())}catch{s.setContent([t,a])}})),S),startAutoLoad:async(a={},e={})=>{return S.stopAutoLoad(),await S.load(a,e),h=1,r=async(t,a)=>{await A((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await i())}catch{}}))},w=t.watch(o,(()=>r())),S;var r},stopAutoLoad:()=>{return h&&(t=w,t?.close(),w=void 0,h=0),S;var t},save:async t=>(await S.schedule((async()=>{if(1!=l){l=2;try{await(async t=>{return await a.writeFile(o,(s=t(),JSON.stringify(s,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),e);var s})(s.getContent)}catch{}l=0}})),S),startAutoSave:async()=>(await S.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,a)=>{const e=a();S.save((()=>e))})),S),stopAutoSave:()=>{var t,a;return t=d,a=s.delListener,r(t)||a(t),S},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(p,...t),await(async()=>{if(!f){for(f=1;!r((t=p,v=t.shift()));)try{await v()}catch{}f=0}var t})(),S),getStore:()=>s,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(S)})(i,(async()=>s(await a.readFile(o,e))));
1
+ "use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=JSON.parse,r=t=>null==t,n=Object.freeze;exports.createFilePersister=(i,o)=>((s,i,c,u,y)=>{let d,v,w,l=0,f=0,h=0;const p=[],A=async t=>{2!=l&&(l=1,await t(),l=0)},S={load:async(t,a)=>(await A((async()=>{try{s.setContent(await i())}catch{s.setContent([t,a])}})),S),startAutoLoad:async(a={},e={})=>{return S.stopAutoLoad(),await S.load(a,e),h=1,r=async(t,a)=>{await A((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await i())}catch{}}))},w=t.watch(o,(()=>r())),S;var r},stopAutoLoad:()=>{return h&&(t=w,t?.close(),w=void 0,h=0),S;var t},save:async t=>(await S.schedule((async()=>{if(1!=l){l=2;try{await(async t=>{return await a.writeFile(o,(s=t(),JSON.stringify(s,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),e);var s})(s.getContent)}catch{}l=0}})),S),startAutoSave:async()=>(await S.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,a)=>{const e=a();S.save((()=>e))})),S),stopAutoSave:()=>{var t,a;return t=d,a=s.delListener,r(t)||a(t),S},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(p,...t),await(async()=>{if(!f){for(f=1;!r((t=p,v=t.shift()));)try{await v()}catch{}f=0}var t})(),S),getStore:()=>s,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(S)})(i,(async()=>s(await a.readFile(o,e))));
@@ -1 +1 @@
1
- "use strict";const t=JSON.parse,a=t=>null==t,e=Object.freeze,s=t=>t.headers.get("ETag");exports.createRemotePersister=(n,r,o,c)=>{let i;return((t,n,y,u,d)=>{let h,v,w,l=0,p=0,f=0;const A=[],S=async t=>{2!=l&&(l=1,await t(),l=0)},g={load:async(a={},e={})=>(await S((async()=>{try{t.setContent(await n())}catch{t.setContent([a,e])}})),g),startAutoLoad:async(e={},o={})=>{return g.stopAutoLoad(),await g.load(e,o),f=1,y=async(a,e)=>{await S((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await n())}catch{}}))},w=setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),e=s(t);a(i)||a(e)||e==i||(i=e,y())}),1e3*c),g;var y},stopAutoLoad:()=>(f&&(clearInterval(w),w=void 0,f=0),g),save:async a=>(await g.schedule((async()=>{if(1!=l){l=2;try{await(async t=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s})))});var a})(t.getContent)}catch{}l=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),h=t.addDidFinishTransactionListener(((t,a)=>{const e=a();g.save((()=>e))})),g),stopAutoSave:()=>{var e,s;return e=h,s=t.delListener,a(e)||s(e),g},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(A,...t),await(async()=>{if(!p){for(p=1;!a((t=A,v=t.shift()));)try{await v()}catch{}p=0}var t})(),g),getStore:()=>t,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(n,(async()=>{const a=await fetch(r);return i=s(a),t(await a.text())}))};
1
+ "use strict";const t=JSON.parse,a=t=>null==t,e=Object.freeze,s=t=>t.headers.get("ETag");exports.createRemotePersister=(n,r,o,c)=>{let i;return((t,n,y,u,d)=>{let h,v,w,l=0,p=0,f=0;const A=[],S=async t=>{2!=l&&(l=1,await t(),l=0)},g={load:async(a,e)=>(await S((async()=>{try{t.setContent(await n())}catch{t.setContent([a,e])}})),g),startAutoLoad:async(e={},o={})=>{return g.stopAutoLoad(),await g.load(e,o),f=1,y=async(a,e)=>{await S((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await n())}catch{}}))},w=setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),e=s(t);a(i)||a(e)||e==i||(i=e,y())}),1e3*c),g;var y},stopAutoLoad:()=>(f&&(clearInterval(w),w=void 0,f=0),g),save:async a=>(await g.schedule((async()=>{if(1!=l){l=2;try{await(async t=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s})))});var a})(t.getContent)}catch{}l=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),h=t.addDidFinishTransactionListener(((t,a)=>{const e=a();g.save((()=>e))})),g),stopAutoSave:()=>{var e,s;return e=h,s=t.delListener,a(e)||s(e),g},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(A,...t),await(async()=>{if(!p){for(p=1;!a((t=A,v=t.shift()));)try{await v()}catch{}p=0}var t})(),g),getStore:()=>t,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(n,(async()=>{const a=await fetch(r);return i=s(a),t(await a.text())}))};
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,o=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),p=t=>a(t)==s,m=async a=>u.all(a),A=Object,h=A.keys,L=A.freeze,T=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),R=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),C=a=>A.values(a),N=a=>c(h(a)),_=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==N(a),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],g=(a,t)=>a?.delete(t),I=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(g(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",j=a=>`"${a.replace(/"/g,'""')}"`,k=a=>new Set(Array.isArray(a)||E(a)?a:[a]),q="SELECT*FROM",B="FROM pragma_table_",x="WHERE",J=x+" schema='main'AND type='table'AND name!='sqlite_schema'",V=a=>{const t=I(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=k();R(w??{},(a=>r(h(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&O(t,s)&&u)return await a("DROP TABLE"+j(s)),void M(t,s);if(o(E)||O(t,s)){const e=D(t,s),n=k((v=e,[...v?.keys()??[]]));await m([...r(E,(async t=>{g(n,t)||(await a(`ALTER TABLE${j(s)}ADD${j(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${j(s)}DROP${j(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${j(s)}(${j(i)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+j(a))))});`),M(t,s,I([[i,""],...r(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+j(s));else{const t=[],o=[],l=[];R(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(o,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+j(s)+"("+j(i)+n(r(E,(a=>e+j(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+j(s)+x+j(i)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,T(await m(r(await a("SELECT name "+B+"list "+J),(async({name:t})=>[t,T(r(await a("SELECT name,type "+B+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=I,O(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(q+j(t)+x+j(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?T(i(r(await a(q+j(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!_(t)))):null,l]},W=(a,t,e,s,n)=>{let r,c,o,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},p={load:async(e={},s={})=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),p),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),u=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),p),stopAutoLoad:()=>(u&&(n(o),o=void 0,u=0),p),save:async t=>(await p.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),p),startAutoSave:async()=>(await p.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();p.save((()=>e))})),p),stopAutoSave:()=>(v(r,a.delListener),p),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)},Y="store",z=(a,e,s,n,{storeTableName:r=t})=>{const[c,o,i]=V(e),l=W(a,(async()=>(await c(),w((await o(r,P)??{})[Y]))),(async a=>l.schedule(c,(async()=>{var t;await i(r,P,"_",{[Y]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},H="rowIdColumnName",K="tableId",U="tableName",G={load:0,save:0,[U]:t+"_values"},Q=(a,t,e,s)=>{const n=I();return R(a,((a,r)=>{const c=l(C(f(t,p(a)?{[e]:a}:a)),0,N(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[o,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(C(f(G,e)),0,N(G)),n=s[2];return[Q(a,{[K]:null,[H]:P},K,(a=>a==n)),Q(t,{[U]:null,[H]:P,deleteEmptyColumns:0,deleteEmptyTable:0},U,((a,t)=>t==n)),s]})(n),[w,d,v,p,A]=V(t),h=W(a,(async()=>{await w();const a=await(async()=>T(i(await m($(r,(async([a,t],e)=>[a,await p(e,t)]))),(a=>a[1]))))(),t=await(async()=>o?await d(u,P):{})();return _(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();h.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return h},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,p(t)?{storeTableName:t}:t??{});let c,o;return(r.mode==Z?z:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(o??=s)||(a(),c=t,o=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=o=null,n(t)}),r)};exports.createSqliteWasmPersister=(a,t,e,s)=>ra(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,(()=>a()),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)));
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,o=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),p=t=>a(t)==s,m=async a=>u.all(a),A=Object,h=A.keys,L=A.freeze,T=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),R=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),C=a=>A.values(a),N=a=>c(h(a)),_=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==N(a),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],g=(a,t)=>a?.delete(t),I=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(g(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",j=a=>`"${a.replace(/"/g,'""')}"`,k=a=>new Set(Array.isArray(a)||E(a)?a:[a]),q="SELECT*FROM",B="FROM pragma_table_",x="WHERE",J=x+" schema='main'AND type='table'AND name!='sqlite_schema'",V=a=>{const t=I(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=k();R(w??{},(a=>r(h(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&O(t,s)&&u)return await a("DROP TABLE"+j(s)),void M(t,s);if(o(E)||O(t,s)){const e=D(t,s),n=k((v=e,[...v?.keys()??[]]));await m([...r(E,(async t=>{g(n,t)||(await a(`ALTER TABLE${j(s)}ADD${j(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${j(s)}DROP${j(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${j(s)}(${j(i)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+j(a))))});`),M(t,s,I([[i,""],...r(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+j(s));else{const t=[],o=[],l=[];R(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(o,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+j(s)+"("+j(i)+n(r(E,(a=>e+j(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+j(s)+x+j(i)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,T(await m(r(await a("SELECT name "+B+"list "+J),(async({name:t})=>[t,T(r(await a("SELECT name,type "+B+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=I,O(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(q+j(t)+x+j(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?T(i(r(await a(q+j(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!_(t)))):{},l]},W=(a,t,e,s,n)=>{let r,c,o,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},p={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),p),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),u=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),p),stopAutoLoad:()=>(u&&(n(o),o=void 0,u=0),p),save:async t=>(await p.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),p),startAutoSave:async()=>(await p.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();p.save((()=>e))})),p),stopAutoSave:()=>(v(r,a.delListener),p),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)},Y="store",z=(a,e,s,n,{storeTableName:r=t})=>{const[c,o,i]=V(e),l=W(a,(async()=>(await c(),w((await o(r,P)??{})[Y]))),(async a=>l.schedule(c,(async()=>{var t;await i(r,P,"_",{[Y]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},H="rowIdColumnName",K="tableId",U="tableName",G={load:0,save:0,[U]:t+"_values"},Q=(a,t,e,s)=>{const n=I();return R(a,((a,r)=>{const c=l(C(f(t,p(a)?{[e]:a}:a)),0,N(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[o,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(C(f(G,e)),0,N(G)),n=s[2];return[Q(a,{[K]:null,[H]:P},K,(a=>a==n)),Q(t,{[U]:null,[H]:P,deleteEmptyColumns:0,deleteEmptyTable:0},U,((a,t)=>t==n)),s]})(n),[w,d,v,p,A]=V(t),h=W(a,(async()=>{await w();const a=await(async()=>T(i(await m($(r,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>o?await d(u,P):{})();return _(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();h.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return h},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,p(t)?{storeTableName:t}:t??{});let c,o;return(r.mode==Z?z:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(o??=s)||(a(),c=t,o=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=o=null,n(t)}),r)};exports.createSqliteWasmPersister=(a,t,e,s)=>ra(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,(()=>a()),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)));
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,o=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>u.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),R=a=>c(L(a)),O=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==R(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",q="FROM pragma_table_",J="WHERE",Y=J+" schema='main'AND type='table'AND name!='sqlite_schema'",x=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=j();C(w??{},(a=>r(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&g(t,s)&&u)return await a("DROP TABLE"+B(s)),void M(t,s);if(o(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...r(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(i)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+B(a))))});`),M(t,s,_([[i,""],...r(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+B(s));else{const t=[],o=[],l=[];C(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(o,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(i)+n(r(E,(a=>e+B(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+B(s)+J+B(i)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(r(await a("SELECT name "+q+"list "+Y),(async({name:t})=>[t,h(r(await a("SELECT name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=_,g(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+J+B(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(i(r(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!O(t)))):null,l]},z=(a,t,e,s,n)=>{let r,c,o,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},m={load:async(e={},s={})=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),u=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(u&&(n(o),o=void 0,u=0),m),save:async t=>(await m.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(r,a.delListener),m),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},H="store",K=(a,e,s,n,{storeTableName:r=t})=>{const[c,o,i]=x(e),l=z(a,(async()=>(await c(),w((await o(r,P)??{})[H]))),(async a=>l.schedule(c,(async()=>{var t;await i(r,P,"_",{[H]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},U="rowIdColumnName",V="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,r)=>{const c=l(N(f(t,m(a)?{[e]:a}:a)),0,R(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[o,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,R(G)),n=s[2];return[Q(a,{[V]:null,[U]:P},V,(a=>a==n)),Q(t,{[W]:null,[U]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[w,d,v,m,A]=x(t),L=z(a,(async()=>{await w();const a=await(async()=>h(i(await p($(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>a[1]))))(),t=await(async()=>o?await d(u,P):{})();return O(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,m(t)?{storeTableName:t}:t??{});let c,o;return(r.mode==Z?K:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(o??=s)||(a(),c=t,o=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=o=null,n(t)}),r)},ca="change";exports.createSqlite3Persister=(a,t,e)=>ra(a,e,((a,e=[])=>new u(((s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a}))))))))),(a=>{const e=()=>a();return t.on(ca,e),e}),(a=>t.off(ca,a)));
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,o=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>u.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),R=a=>c(L(a)),O=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==R(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",q="FROM pragma_table_",J="WHERE",Y=J+" schema='main'AND type='table'AND name!='sqlite_schema'",x=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=j();C(w??{},(a=>r(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&g(t,s)&&u)return await a("DROP TABLE"+B(s)),void M(t,s);if(o(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...r(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(i)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+B(a))))});`),M(t,s,_([[i,""],...r(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+B(s));else{const t=[],o=[],l=[];C(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(o,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(i)+n(r(E,(a=>e+B(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+B(s)+J+B(i)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(r(await a("SELECT name "+q+"list "+Y),(async({name:t})=>[t,h(r(await a("SELECT name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=_,g(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+J+B(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(i(r(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!O(t)))):{},l]},z=(a,t,e,s,n)=>{let r,c,o,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},m={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),u=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(u&&(n(o),o=void 0,u=0),m),save:async t=>(await m.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(r,a.delListener),m),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},H="store",K=(a,e,s,n,{storeTableName:r=t})=>{const[c,o,i]=x(e),l=z(a,(async()=>(await c(),w((await o(r,P)??{})[H]))),(async a=>l.schedule(c,(async()=>{var t;await i(r,P,"_",{[H]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},U="rowIdColumnName",V="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,r)=>{const c=l(N(f(t,m(a)?{[e]:a}:a)),0,R(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[o,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,R(G)),n=s[2];return[Q(a,{[V]:null,[U]:P},V,(a=>a==n)),Q(t,{[W]:null,[U]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[w,d,v,m,A]=x(t),L=z(a,(async()=>{await w();const a=await(async()=>h(i(await p($(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!O(a[1])))))(),t=await(async()=>o?await d(u,P):{})();return O(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,m(t)?{storeTableName:t}:t??{});let c,o;return(r.mode==Z?K:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(o??=s)||(a(),c=t,o=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=o=null,n(t)}),r)},ca="change";exports.createSqlite3Persister=(a,t,e)=>ra(a,e,((a,e=[])=>new u(((s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a}))))))))),(a=>{const e=()=>a();return t.on(ca,e),e}),(a=>t.off(ca,a)));
@@ -1 +1 @@
1
- "use strict";var t=require("yjs");const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=o.freeze,c=(t=[])=>o.fromEntries(t),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),u=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),d=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),g="t",v="delete",y=t=>[t.get(g),t.get("v")],h=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);let c;return l(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{i(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c};exports.createYjsPersister=(o,i,p="tinybase")=>{const w=i.getMap(p);return((o,p,f,S,A)=>{let O,J,L,N=0,C=0,b=0;const z=[],E=async t=>{2!=N&&(N=1,await t(),N=0)},M={load:async(t={},e={})=>(await E((async()=>{try{o.setContent(await p())}catch{o.setContent([t,e])}})),M),startAutoLoad:async(t={},s={})=>(M.stopAutoLoad(),await M.load(t,s),b=1,L=(t=>{const s=s=>t(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[r,i]=y(t),l={},h={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==g?n(a(t),(s=>{const o=u(l,s,c),i=r.get(s);n(a(t),(t=>{const a=u(o,t,c),s=i.get(t);d(e,((t,{action:e})=>a[t]=e==v?null:s.get(t)))}),(()=>d(e,((t,{action:e})=>o[t]=e==v?null:i.get(t)?.toJSON()))))}),(()=>d(e,((t,{action:e})=>l[t]=e==v?null:r.get(t)?.toJSON())))):d(e,((t,{action:e})=>h[t]=e==v?null:i.get(t)))))})(s),[l,h]})(w,s)));return w.observeDeep(s),s})((async(t,e)=>{await E((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await p())}catch{}}))})),M),stopAutoLoad:()=>{return b&&(t=L,w.unobserveDeep(t),L=void 0,b=0),M;var t},save:async e=>(await M.schedule((async()=>{if(1!=N){N=2;try{await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(g,new t.Map),e.set("v",new t.Map))})(e);const[r,c]=y(e),i=()=>{u=1};let u=1;if(n(o?.(),(([t,e])=>{u=0,l(t,((t,e)=>u?0:s(t)?r.delete(e):n(r.get(e),(e=>l(t,((t,a)=>u?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>u?0:s(t)?c.delete(e):c.set(e,t)))})),u){const[t,e]=a();h(r,void 0,t,((t,e,a)=>h(r,e,a,((t,e,a)=>h(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),h(c,void 0,e,((t,e,a)=>{c.get(e)!==a&&c.set(e,a)}))}})(w,e,a))))(o.getContent,e)}catch{}N=0}})),M),startAutoSave:async()=>(await M.stopAutoSave().save(),O=o.addDidFinishTransactionListener(((t,e)=>{const a=e();M.save((()=>a))})),M),stopAutoSave:()=>(n(O,o.delListener),M),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(z,...t),await(async()=>{if(!C){for(C=1;!s(J=a(z));)try{await J()}catch{}C=0}})(),M),getStore:()=>o,destroy:()=>M.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(M)})(o,(async()=>w.size?[w.get(g).toJSON(),w.get("v").toJSON()]:void 0))};
1
+ "use strict";var t=require("yjs");const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=o.freeze,c=(t=[])=>o.fromEntries(t),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),u=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),d=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),g="t",v="delete",y=t=>[t.get(g),t.get("v")],h=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);let c;return l(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{i(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c};exports.createYjsPersister=(o,i,p="tinybase")=>{const w=i.getMap(p);return((o,p,f,S,A)=>{let O,J,L,N=0,C=0,b=0;const z=[],E=async t=>{2!=N&&(N=1,await t(),N=0)},M={load:async(t,e)=>(await E((async()=>{try{o.setContent(await p())}catch{o.setContent([t,e])}})),M),startAutoLoad:async(t={},s={})=>(M.stopAutoLoad(),await M.load(t,s),b=1,L=(t=>{const s=s=>t(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[r,i]=y(t),l={},h={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==g?n(a(t),(s=>{const o=u(l,s,c),i=r.get(s);n(a(t),(t=>{const a=u(o,t,c),s=i.get(t);d(e,((t,{action:e})=>a[t]=e==v?null:s.get(t)))}),(()=>d(e,((t,{action:e})=>o[t]=e==v?null:i.get(t)?.toJSON()))))}),(()=>d(e,((t,{action:e})=>l[t]=e==v?null:r.get(t)?.toJSON())))):d(e,((t,{action:e})=>h[t]=e==v?null:i.get(t)))))})(s),[l,h]})(w,s)));return w.observeDeep(s),s})((async(t,e)=>{await E((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await p())}catch{}}))})),M),stopAutoLoad:()=>{return b&&(t=L,w.unobserveDeep(t),L=void 0,b=0),M;var t},save:async e=>(await M.schedule((async()=>{if(1!=N){N=2;try{await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(g,new t.Map),e.set("v",new t.Map))})(e);const[r,c]=y(e),i=()=>{u=1};let u=1;if(n(o?.(),(([t,e])=>{u=0,l(t,((t,e)=>u?0:s(t)?r.delete(e):n(r.get(e),(e=>l(t,((t,a)=>u?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>u?0:s(t)?c.delete(e):c.set(e,t)))})),u){const[t,e]=a();h(r,void 0,t,((t,e,a)=>h(r,e,a,((t,e,a)=>h(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),h(c,void 0,e,((t,e,a)=>{c.get(e)!==a&&c.set(e,a)}))}})(w,e,a))))(o.getContent,e)}catch{}N=0}})),M),startAutoSave:async()=>(await M.stopAutoSave().save(),O=o.addDidFinishTransactionListener(((t,e)=>{const a=e();M.save((()=>a))})),M),stopAutoSave:()=>(n(O,o.delListener),M),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(z,...t),await(async()=>{if(!C){for(C=1;!s(J=a(z));)try{await J()}catch{}C=0}})(),M),getStore:()=>o,destroy:()=>M.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(M)})(o,(async()=>w.size?[w.get(g).toJSON(),w.get("v").toJSON()]:void 0))};
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,a=Object.freeze;exports.createCustomPersister=(s,e,o,n,c)=>{let i,r,u,y=0,d=0,w=0;const h=[],v=async t=>{2!=y&&(y=1,await t(),y=0)},l={load:async(t={},a={})=>(await v((async()=>{try{s.setContent(await e())}catch{s.setContent([t,a])}})),l),startAutoLoad:async(t={},a={})=>(l.stopAutoLoad(),await l.load(t,a),w=1,u=n((async(t,a)=>{await v((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await e())}catch{}}))})),l),stopAutoLoad:()=>(w&&(c(u),u=void 0,w=0),l),save:async t=>(await l.schedule((async()=>{if(1!=y){y=2;try{await o(s.getContent,t)}catch{}y=0}})),l),startAutoSave:async()=>(await l.stopAutoSave().save(),i=s.addDidFinishTransactionListener(((t,a)=>{const s=a();l.save((()=>s))})),l),stopAutoSave:()=>{var a,e;return a=i,e=s.delListener,t(a)||e(a),l},schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(h,...a),await(async()=>{if(!d){for(d=1;!t((a=h,r=a.shift()));)try{await r()}catch{}d=0}var a})(),l),getStore:()=>s,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(l)};
1
+ "use strict";const t=t=>null==t,a=Object.freeze;exports.createCustomPersister=(s,e,o,n,c)=>{let i,r,u,y=0,d=0,w=0;const h=[],v=async t=>{2!=y&&(y=1,await t(),y=0)},l={load:async(t,a)=>(await v((async()=>{try{s.setContent(await e())}catch{s.setContent([t,a])}})),l),startAutoLoad:async(t={},a={})=>(l.stopAutoLoad(),await l.load(t,a),w=1,u=n((async(t,a)=>{await v((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await e())}catch{}}))})),l),stopAutoLoad:()=>(w&&(c(u),u=void 0,w=0),l),save:async t=>(await l.schedule((async()=>{if(1!=y){y=2;try{await o(s.getContent,t)}catch{}y=0}})),l),startAutoSave:async()=>(await l.stopAutoSave().save(),i=s.addDidFinishTransactionListener(((t,a)=>{const s=a();l.save((()=>s))})),l),stopAutoSave:()=>{var a,e;return a=i,e=s.delListener,t(a)||e(a),l},schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(h,...a),await(async()=>{if(!d){for(d=1;!t((a=h,r=a.shift()));)try{await r()}catch{}d=0}var a})(),l),getStore:()=>s,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(l)};
Binary file
package/lib/cjs/store.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",d=i+"s",u=i+c,h="Row"+c,g="Cell",f=g+c,T="Value",V=T+"s",b=T+c,C=e=>t+e,v=(e,t)=>e.forEach(t),S=(e,t)=>e.map(t),w=e=>e.length,I=(e,t,s)=>e.slice(t,s),R=(e,...t)=>e.push(...t),y=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),J=JSON.parse,m=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==l,z=t=>e(t)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>S(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,t)=>e?.has(t)??!1,$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),H=e=>new Map(e),K=e=>[...e?.keys()??[]],Q=(e,t)=>e?.get(t),U=(e,t)=>B(e,((e,s)=>t(s,e))),X=(e,t,s)=>L(s)?(G(e,t),e):e?.set(t,s),Y=(e,t,s)=>(W(e,t)||X(e,t,s()),Q(e,t)),Z=(e,t,s,l=X)=>(x(t,((t,l)=>s(e,l,t))),U(e,(s=>P(t,s)?0:l(e,s))),e),_=(e,t,s)=>{const l={};return B(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},ee=(e,t,s)=>_(e,(e=>_(e,t,s)),D),te=(e,t,s)=>_(e,(e=>ee(e,t,s)),D),se=(e,t)=>{const s=H();return B(e,((e,l)=>s.set(l,t?.(e)??e))),s},le=e=>se(e,se),ne=e=>se(e,le),ae=(e,t,s,l,n=0)=>E((s?Y:Q)(e,t[n],n>w(t)-2?s:H),(a=>{if(n>w(t)-2)return l?.(a)&&X(e,t[n]),a;const r=ae(a,t,s,l,n+1);return $(a)&&X(e,t[n]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,t)=>e?.add(t),ce=/^\d+$/,ie=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ce.test(t)&&w(e)<1e3&&R(e,t)}]},de=e=>[e,e],ue=()=>[H(),H()],he=e=>[...e],ge=([e,t])=>e===t,fe=t=>{const s=e(t);return F(s)||s==n&&m(t)?s:void 0},Te=(e,t,s,l,n)=>L(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ve=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),be=(e,t,s)=>L(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),Ce=(e,t,s)=>X(e,t,Q(e,t)==-s?void 0:s),ve=()=>{let e,s,l=!1,a=!1,c=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ce=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=ue(),Oe=ue(),ke=ue(),Ae=ue(),Me=ue(),Ne=ue(),Pe=ue(),je=ue(),xe=ue(),De=ue(),We=ue(),$e=ue(),qe=ue(),Be=ue(),Ge=H(),He=ue(),[Ke,Qe,Ue,Xe]=(e=>{let s;const[l,n]=ie(),a=H();return[(e,n,r,o=[],c=(()=>[]))=>{s??=is;const i=l(1);return X(a,i,[e,n,r,o,c]),oe(ae(n,r??[t],re),i),i},(e,l,...n)=>v(((e,s=[t])=>{const l=[],n=(e,t)=>t==w(s)?R(l,e):null===s[t]?B(e,(e=>n(e,t+1))):v([s[t],null],(s=>n(Q(e,s),t+1)));return n(e,0),l})(e,l),(e=>B(e,(e=>Q(a,e)[0](s,...l??[],...n))))),e=>E(Q(a,e),(([,s,l])=>(ae(s,l??[t],void 0,(t=>(G(t,e),$(t)?1:0))),X(a,e),n(e),l))),e=>E(Q(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=w(r);o==w(t)?e(s,...r,...n(r)):L(t[o])?v(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),Ye=e=>{if(!be(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=n||(fe(e[o])!=t&&j(e,o),0))},Ze=(t,s)=>(!e||W(Ie,s)||Lt(s))&&be(t,((e,t)=>_e(s,t,e)),(()=>Lt(s))),_e=(e,t,s,l)=>be(l?s:lt(s,e,t),((l,n)=>E(et(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Lt(e,t))),et=(t,s,l,n)=>e?E(Q(Q(Ie,t),l),(e=>fe(n)!=e[r]?Lt(t,s,l,n,e[o]):n),(()=>Lt(t,s,l,n))):L(fe(n))?Lt(t,s,l,n):n,tt=(e,t)=>be(t?e:nt(e),((t,s)=>E(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Et())),st=(e,t)=>s?E(Q(ye,e),(s=>fe(t)!=s[r]?Et(e,t,s[o]):t),(()=>Et(e,t))):L(fe(t))?Et(e,t):t,lt=(e,t,s)=>(E(Q(Re,t),(([l,n])=>{B(l,((t,s)=>{P(e,s)||(e[s]=t)})),B(n,(l=>{P(e,l)||Lt(t,s,l)}))})),e),nt=e=>(s&&(B(Je,((t,s)=>{P(e,s)||(e[s]=t)})),B(me,(t=>{P(e,t)||Et(t)}))),e),at=e=>Z(Ie,e,((e,t,s)=>{const l=H(),n=re();Z(Y(Ie,t,H),s,((e,t,s)=>{X(e,t,s),E(s[o],(e=>X(l,t,e)),(()=>oe(n,t)))})),X(Re,t,[l,n])}),((e,t)=>{X(Ie,t),X(Re,t)})),rt=e=>Z(ye,e,((e,t,s)=>{X(ye,t,s),E(s[o],(e=>X(Je,t,e)),(()=>oe(me,t)))}),((e,t)=>{X(ye,t),X(Je,t),G(me,t)})),ot=e=>D(e)?es():Ut(e),ct=e=>Z(Ee,e,((e,t,s)=>it(t,s)),((e,t)=>Ct(t))),it=(e,t)=>Z(Y(Ee,e,(()=>(It(e,1),X(pe,e,ie()),X(Le,e,H()),H()))),t,((t,s,l)=>dt(e,t,s,l)),((t,s)=>vt(e,t,s))),dt=(e,t,s,l,n)=>Z(Y(t,s,(()=>(Rt(e,s,1),H()))),l,((t,l,n)=>ut(e,s,t,l,n)),((l,a)=>St(e,t,s,l,a,n))),ut=(e,t,s,l,n)=>{W(s,l)||yt(e,t,l,1);const a=Q(s,l);n!==a&&(Jt(e,t,l,a,n),X(s,l,n))},ht=(e,t,s,l,n)=>E(Q(t,s),(t=>ut(e,s,t,l,n)),(()=>dt(e,t,s,lt({[l]:n},e,s)))),gt=e=>D(e)?ls():Xt(e),ft=e=>Z(Fe,e,((e,t,s)=>Tt(t,s)),((e,t)=>wt(t))),Tt=(e,t)=>{W(Fe,e)||mt(e,1);const s=Q(Fe,e);t!==s&&(pt(e,s,t),X(Fe,e,t))},Vt=(e,t)=>{const[s]=Q(pe,e),l=s(t);return W(Q(Ee,e),l)?Vt(e,t):l},bt=e=>Q(Ee,e)??it(e,{}),Ct=e=>it(e,{}),vt=(e,t,s)=>{const[,l]=Q(pe,e);l(s),dt(e,t,s,{},!0)},St=(e,t,s,l,n,a)=>{const r=Q(Q(Re,e)?.[0],n);if(!L(r)&&!a)return ut(e,s,l,n,r);const o=t=>{Jt(e,s,t,Q(l,t)),yt(e,s,t,-1),X(l,t)};L(r)?o(n):U(l,o),$(l)&&(Rt(e,s,-1),$(X(t,s))&&(It(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wt=e=>{const t=Q(Je,e);if(!L(t))return Tt(e,t);pt(e,Q(Fe,e)),mt(e,-1),X(Fe,e)},It=(e,t)=>Ce(m,e,t),Rt=(e,t,s)=>Ce(Y(O,e,H),t,s),yt=(e,t,s,l)=>{const n=Q(Le,e),a=Q(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Ce(Y(p,e,H),s,l),X(n,s,a!=-l?a+l:null),Ce(Y(Y(k,e,H),t,H),s,l)},Jt=(e,t,s,l,n)=>Y(Y(Y(A,e,H),t,H),s,(()=>[l,0]))[1]=n,mt=(e,t)=>Ce(N,e,t),pt=(e,t,s)=>Y(ce,e,(()=>[t,0]))[1]=s,Lt=(e,t,s,l,n)=>(R(Y(Y(Y(Se,e,H),t,H),s,(()=>[])),l),n),Et=(e,t,s)=>(R(Y(we,e,(()=>[])),t),s),Ft=(e,t,s)=>E(Q(Q(Q(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Gt(e,t,s))])),zt=e=>E(Q(ce,e),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Qt(e))])),Ot=e=>$(Se)||$(De[e])?0:B(e?ne(Se):Se,((t,s)=>B(t,((t,l)=>B(t,((t,n)=>Qe(De[e],[s,l,n],t))))))),kt=e=>$(we)||$(We[e])?0:B(e?se(we):we,((t,s)=>Qe(We[e],[s],t))),At=(e,t,s)=>{if(!$(t))return Qe(e,s,(()=>_(t))),1},Mt=e=>{const t=$(Ne[e]),s=$(je[e])&&$(Ae[e])&&$(Me[e])&&t&&$(Oe[e]),l=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!s||!l){const n=e?[se(m),le(p),le(O),ne(k),ne(A)]:[m,p,O,k,A];if(!s){At(Oe[e],n[0]),B(n[1],((t,s)=>At(Ae[e],t,[s])));const s=re();B(n[2],((l,n)=>{At(Me[e],l,[n])&&!t&&(Qe(Ne[e],[n,null]),oe(s,n))})),t||B(n[4],((t,l)=>{if(!W(s,l)){const s=re();B(t,(e=>B(e,(([t,l],n)=>l!==t?oe(s,n):G(e,n))))),B(s,(t=>Qe(Ne[e],[l,t])))}})),B(n[3],((t,s)=>B(t,((t,l)=>At(je[e],t,[s,l])))))}if(!l){let t;B(n[4],((s,l)=>{let n;B(s,((s,a)=>{let r;B(s,(([s,o],c)=>{o!==s&&(Qe(xe[e],[l,a,c],o,s,Ft),t=n=r=1)})),r&&Qe(Pe[e],[l,a],Ft)})),n&&Qe(ke[e],[l],Ft)})),t&&Qe(ze[e],void 0,Ft)}}},Nt=e=>{const t=$(qe[e]),s=$(Be[e])&&$($e[e]);if(!t||!s){const l=e?[se(N),se(ce)]:[N,ce];if(t||At(qe[e],l[0]),!s){let t;B(l[1],(([s,l],n)=>{l!==s&&(Qe(Be[e],[n],l,s,zt),t=1)})),t&&Qe($e[e],void 0,zt)}}},Pt=(e,...t)=>(rs((()=>e(...S(t,C)))),is),jt=()=>[_(A,((e,t)=>-1===Q(m,t)?null:_(e,((e,s)=>-1===Q(Q(O,t),s)?null:_(e,(([,e])=>e??null),((e,t)=>ge(t)))),D)),D),_(ce,(([,e])=>e??null),((e,t)=>ge(t)))],xt=()=>({cellsTouched:l,valuesTouched:a,changedCells:te(A,he,ge),invalidCells:te(Se),changedValues:_(ce,he,ge),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:te(k),changedValueIds:_(N)}),Dt=()=>te(Ee),Wt=()=>K(Ee),$t=e=>K(Q(Ee,C(e))),qt=(e,t,s,l=0,n)=>{return S(I((r=Q(Ee,C(e)),o=(e,s)=>[L(t)?s:Q(e,C(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),S([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,L(n)?n:l+n),(([,e])=>e));var a,r,o},Bt=(e,t)=>K(Q(Q(Ee,C(e)),C(t))),Gt=(e,t,s)=>Q(Q(Q(Ee,C(e)),C(t)),C(s)),Ht=()=>_(Fe),Kt=()=>K(Fe),Qt=e=>Q(Fe,C(e)),Ut=e=>Pt((()=>(e=>be(e,Ze,Lt))(e)?ct(e):0)),Xt=e=>Pt((()=>tt(e)?ft(e):0)),Yt=e=>{try{ot(J(e))}catch{}return is},Zt=t=>Pt((()=>{if((e=be(t,(e=>be(e,Ye))))&&(at(t),!$(Ee))){const e=Dt();es(),Ut(e)}})),_t=e=>Pt((()=>{if(s=(e=>be(e,Ye))(e)){const t=Ht();as(),ls(),s=!0,rt(e),Xt(t)}})),es=()=>Pt((()=>ct({}))),ts=e=>Pt((e=>W(Ee,e)?Ct(e):0),e),ss=(e,t)=>Pt(((e,t)=>E(Q(Ee,e),(s=>W(s,t)?vt(e,s,t):0))),e,t),ls=()=>Pt((()=>ft({}))),ns=()=>Pt((()=>{at({}),e=!1})),as=()=>Pt((()=>{rt({}),s=!1})),rs=(e,t)=>{if(-1!=c){os();const s=e();return cs(t),s}},os=()=>(-1!=c&&c++,1==c&&Qe(Ge,void 0,jt,xt),is),cs=e=>(c>0&&(c--,0==c&&(l=!$(A),a=!$(ce),c=1,Ot(1),l&&Mt(1),kt(1),a&&Nt(1),e?.(jt,xt)&&(B(A,((e,t)=>B(e,((e,s)=>B(e,(([e],l)=>Te(is,t,s,l,e))))))),B(ce,(([e],t)=>Ve(is,t,e))),l=a=!1),Qe(He[0],void 0,jt,xt),c=-1,Ot(0),l&&Mt(0),kt(0),a&&Nt(0),Qe(He[1],void 0,jt,xt),c=0,l=a=!1,v([m,p,O,k,A,Se,N,ce,we],q))),is),is={getContent:()=>[Dt(),Ht()],getTables:Dt,getTableIds:Wt,getTable:e=>ee(Q(Ee,C(e))),getTableCellIds:e=>K(Q(Le,C(e))),getRowIds:$t,getSortedRowIds:qt,getRow:(e,t)=>_(Q(Q(Ee,C(e)),C(t))),getCellIds:Bt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Qt,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,t)=>W(Q(Le,C(e)),C(t)),hasRow:(e,t)=>W(Q(Ee,C(e)),C(t)),hasCell:(e,t,s)=>W(Q(Q(Ee,C(e)),C(t)),C(s)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,t])=>Pt((()=>{Ut(e),Xt(t)})),setTables:Ut,setTable:(e,t)=>Pt((e=>Ze(t,e)?it(e,t):0),e),setRow:(e,t,s)=>Pt(((e,t)=>_e(e,t,s)?dt(e,bt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>rs((()=>{let l;return _e(e,l,t)&&(e=C(e),dt(e,bt(e),l=Vt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Pt(((e,t)=>{if(_e(e,t,s,1)){const l=bt(e);x(s,((s,n)=>ht(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Pt(((e,t,s)=>E(et(e,t,s,z(l)?l(Gt(e,t,s)):l),(l=>ht(e,bt(e),t,s,l)))),e,t,s),setValues:Xt,setPartialValues:e=>Pt((()=>tt(e,1)?x(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Pt((e=>E(st(e,z(t)?t(Qt(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Pt((()=>{x(e[0],((e,t)=>L(e)?ts(t):x(e,((e,s)=>L(e)?ss(t,s):x(e,((e,l)=>Te(is,t,s,l,e))))))),x(e[1],((e,t)=>Ve(is,t,e)))})),setTablesJson:Yt,setValuesJson:e=>{try{gt(J(e))}catch{}return is},setJson:e=>{try{const[t,s]=J(e);ot(t),gt(s)}catch{Yt(e)}return is},setTablesSchema:Zt,setValuesSchema:_t,setSchema:(e,t)=>Pt((()=>{Zt(e),_t(t)})),delTables:es,delTable:ts,delRow:ss,delCell:(e,t,s,l)=>Pt(((e,t,s)=>E(Q(Ee,e),(n=>E(Q(n,t),(a=>W(a,s)?St(e,n,t,a,s,l):0))))),e,t,s),delValues:ls,delValue:e=>Pt((e=>W(Fe,e)?wt(e):0),e),delTablesSchema:ns,delValuesSchema:as,delSchema:()=>Pt((()=>{ns(),as()})),transaction:rs,startTransaction:os,finishTransaction:cs,forEachTable:e=>B(Ee,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>U(t,e))))))))),forEachTableCell:(e,t)=>U(Q(Le,C(e)),t),forEachRow:(e,t)=>B(Q(Ee,C(e)),((e,s)=>t(s,(t=>U(e,t))))),forEachCell:(e,t,s)=>U(Q(Q(Ee,C(e)),C(t)),s),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=qt(e,t,s,l,n);return Ke((()=>{const r=qt(e,t,s,l,n);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(is,e,t,s,l,n,o))}),Ne[r?1:0],[e,t],[Wt])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),is),delListener:e=>(Ue(e),is),getListenerStats:()=>({}),createStore:ve};return x({[d]:[0,ze],[u]:[0,Oe],[i]:[1,ke,[Wt]],[i+f]:[1,Ae,[Wt]],[h]:[1,Me,[Wt]],Row:[2,Pe,[Wt,$t]],[f]:[2,je,[Wt,$t]],[g]:[3,xe,[Wt,$t,Bt],e=>de(Gt(...e))],InvalidCell:[3,De],[V]:[0,$e],[b]:[0,qe],[T]:[1,Be,[Kt],e=>de(Qt(e[0]))],InvalidValue:[1,We]},(([e,t,s,l],n)=>{is["add"+n+"Listener"]=(...n)=>Ke(n[e],t[n[e+1]?1:0],e>0?I(n,0,e):void 0,s,l)})),M(is)};exports.createStore=ve;
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",d=i+"s",u=i+c,h="Row"+c,g="Cell",f=g+c,T="Value",V=T+"s",b=T+c,C=e=>t+e,v=(e,t)=>e.forEach(t),S=(e,t)=>e.map(t),w=e=>e.length,I=(e,t,s)=>e.slice(t,s),R=(e,...t)=>e.push(...t),y=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),J=JSON.parse,m=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==l,z=t=>e(t)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>S(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,t)=>e?.has(t)??!1,$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),H=e=>new Map(e),K=e=>[...e?.keys()??[]],Q=(e,t)=>e?.get(t),U=(e,t)=>B(e,((e,s)=>t(s,e))),X=(e,t,s)=>L(s)?(G(e,t),e):e?.set(t,s),Y=(e,t,s)=>(W(e,t)||X(e,t,s()),Q(e,t)),Z=(e,t,s,l=X)=>(x(t,((t,l)=>s(e,l,t))),U(e,(s=>P(t,s)?0:l(e,s))),e),_=(e,t,s)=>{const l={};return B(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},ee=(e,t,s)=>_(e,(e=>_(e,t,s)),D),te=(e,t,s)=>_(e,(e=>ee(e,t,s)),D),se=(e,t)=>{const s=H();return B(e,((e,l)=>s.set(l,t?.(e)??e))),s},le=e=>se(e,se),ne=e=>se(e,le),ae=(e,t,s,l,n=0)=>E((s?Y:Q)(e,t[n],n>w(t)-2?s:H),(a=>{if(n>w(t)-2)return l?.(a)&&X(e,t[n]),a;const r=ae(a,t,s,l,n+1);return $(a)&&X(e,t[n]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,t)=>e?.add(t),ce=/^\d+$/,ie=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ce.test(t)&&w(e)<1e3&&R(e,t)}]},de=e=>[e,e],ue=()=>[H(),H()],he=e=>[...e],ge=([e,t])=>e===t,fe=t=>{const s=e(t);return F(s)||s==n&&m(t)?s:void 0},Te=(e,t,s,l,n)=>L(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ve=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),be=(e,t,s)=>L(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),Ce=(e,t,s)=>X(e,t,Q(e,t)==-s?void 0:s),ve=()=>{let e,s,l=!1,a=!1,c=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ce=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=ue(),Oe=ue(),ke=ue(),Ae=ue(),Me=ue(),Ne=ue(),Pe=ue(),je=ue(),xe=ue(),De=ue(),We=ue(),$e=ue(),qe=ue(),Be=ue(),Ge=H(),He=ue(),[Ke,Qe,Ue,Xe]=(e=>{let s;const[l,n]=ie(),a=H();return[(e,n,r,o=[],c=(()=>[]))=>{s??=is;const i=l(1);return X(a,i,[e,n,r,o,c]),oe(ae(n,r??[t],re),i),i},(e,l,...n)=>v(((e,s=[t])=>{const l=[],n=(e,t)=>t==w(s)?R(l,e):null===s[t]?B(e,(e=>n(e,t+1))):v([s[t],null],(s=>n(Q(e,s),t+1)));return n(e,0),l})(e,l),(e=>B(e,(e=>Q(a,e)[0](s,...l??[],...n))))),e=>E(Q(a,e),(([,s,l])=>(ae(s,l??[t],void 0,(t=>(G(t,e),$(t)?1:0))),X(a,e),n(e),l))),e=>E(Q(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=w(r);o==w(t)?e(s,...r,...n(r)):L(t[o])?v(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),Ye=e=>{if(!be(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=n||(fe(e[o])!=t&&j(e,o),0))},Ze=(t,s)=>(!e||W(Ie,s)||Lt(s))&&be(t,((e,t)=>_e(s,t,e)),(()=>Lt(s))),_e=(e,t,s,l)=>be(l?s:lt(s,e,t),((l,n)=>E(et(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Lt(e,t))),et=(t,s,l,n)=>e?E(Q(Q(Ie,t),l),(e=>fe(n)!=e[r]?Lt(t,s,l,n,e[o]):n),(()=>Lt(t,s,l,n))):L(fe(n))?Lt(t,s,l,n):n,tt=(e,t)=>be(t?e:nt(e),((t,s)=>E(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Et())),st=(e,t)=>s?E(Q(ye,e),(s=>fe(t)!=s[r]?Et(e,t,s[o]):t),(()=>Et(e,t))):L(fe(t))?Et(e,t):t,lt=(e,t,s)=>(E(Q(Re,t),(([l,n])=>{B(l,((t,s)=>{P(e,s)||(e[s]=t)})),B(n,(l=>{P(e,l)||Lt(t,s,l)}))})),e),nt=e=>(s&&(B(Je,((t,s)=>{P(e,s)||(e[s]=t)})),B(me,(t=>{P(e,t)||Et(t)}))),e),at=e=>Z(Ie,e,((e,t,s)=>{const l=H(),n=re();Z(Y(Ie,t,H),s,((e,t,s)=>{X(e,t,s),E(s[o],(e=>X(l,t,e)),(()=>oe(n,t)))})),X(Re,t,[l,n])}),((e,t)=>{X(Ie,t),X(Re,t)})),rt=e=>Z(ye,e,((e,t,s)=>{X(ye,t,s),E(s[o],(e=>X(Je,t,e)),(()=>oe(me,t)))}),((e,t)=>{X(ye,t),X(Je,t),G(me,t)})),ot=e=>D(e)?es():Ut(e),ct=e=>Z(Ee,e,((e,t,s)=>it(t,s)),((e,t)=>Ct(t))),it=(e,t)=>Z(Y(Ee,e,(()=>(It(e,1),X(pe,e,ie()),X(Le,e,H()),H()))),t,((t,s,l)=>dt(e,t,s,l)),((t,s)=>vt(e,t,s))),dt=(e,t,s,l,n)=>Z(Y(t,s,(()=>(Rt(e,s,1),H()))),l,((t,l,n)=>ut(e,s,t,l,n)),((l,a)=>St(e,t,s,l,a,n))),ut=(e,t,s,l,n)=>{W(s,l)||yt(e,t,l,1);const a=Q(s,l);n!==a&&(Jt(e,t,l,a,n),X(s,l,n))},ht=(e,t,s,l,n)=>E(Q(t,s),(t=>ut(e,s,t,l,n)),(()=>dt(e,t,s,lt({[l]:n},e,s)))),gt=e=>D(e)?ls():Xt(e),ft=e=>Z(Fe,e,((e,t,s)=>Tt(t,s)),((e,t)=>wt(t))),Tt=(e,t)=>{W(Fe,e)||mt(e,1);const s=Q(Fe,e);t!==s&&(pt(e,s,t),X(Fe,e,t))},Vt=(e,t)=>{const[s]=Q(pe,e),l=s(t);return W(Q(Ee,e),l)?Vt(e,t):l},bt=e=>Q(Ee,e)??it(e,{}),Ct=e=>it(e,{}),vt=(e,t,s)=>{const[,l]=Q(pe,e);l(s),dt(e,t,s,{},!0)},St=(e,t,s,l,n,a)=>{const r=Q(Q(Re,e)?.[0],n);if(!L(r)&&!a)return ut(e,s,l,n,r);const o=t=>{Jt(e,s,t,Q(l,t)),yt(e,s,t,-1),X(l,t)};L(r)?o(n):U(l,o),$(l)&&(Rt(e,s,-1),$(X(t,s))&&(It(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wt=e=>{const t=Q(Je,e);if(!L(t))return Tt(e,t);pt(e,Q(Fe,e)),mt(e,-1),X(Fe,e)},It=(e,t)=>Ce(m,e,t),Rt=(e,t,s)=>Ce(Y(O,e,H),t,s),yt=(e,t,s,l)=>{const n=Q(Le,e),a=Q(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Ce(Y(p,e,H),s,l),X(n,s,a!=-l?a+l:null),Ce(Y(Y(k,e,H),t,H),s,l)},Jt=(e,t,s,l,n)=>Y(Y(Y(A,e,H),t,H),s,(()=>[l,0]))[1]=n,mt=(e,t)=>Ce(N,e,t),pt=(e,t,s)=>Y(ce,e,(()=>[t,0]))[1]=s,Lt=(e,t,s,l,n)=>(R(Y(Y(Y(Se,e,H),t,H),s,(()=>[])),l),n),Et=(e,t,s)=>(R(Y(we,e,(()=>[])),t),s),Ft=(e,t,s)=>E(Q(Q(Q(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Gt(e,t,s))])),zt=e=>E(Q(ce,e),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Qt(e))])),Ot=e=>$(Se)||$(De[e])?0:B(e?ne(Se):Se,((t,s)=>B(t,((t,l)=>B(t,((t,n)=>Qe(De[e],[s,l,n],t))))))),kt=e=>$(we)||$(We[e])?0:B(e?se(we):we,((t,s)=>Qe(We[e],[s],t))),At=(e,t,s)=>{if(!$(t))return Qe(e,s,(()=>_(t))),1},Mt=e=>{const t=$(Ne[e]),s=$(je[e])&&$(Ae[e])&&$(Me[e])&&t&&$(Oe[e]),l=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!s||!l){const n=e?[se(m),le(p),le(O),ne(k),ne(A)]:[m,p,O,k,A];if(!s){At(Oe[e],n[0]),B(n[1],((t,s)=>At(Ae[e],t,[s])));const s=re();B(n[2],((l,n)=>{At(Me[e],l,[n])&&!t&&(Qe(Ne[e],[n,null]),oe(s,n))})),t||B(n[4],((t,l)=>{if(!W(s,l)){const s=re();B(t,(e=>B(e,(([t,l],n)=>l!==t?oe(s,n):G(e,n))))),B(s,(t=>Qe(Ne[e],[l,t])))}})),B(n[3],((t,s)=>B(t,((t,l)=>At(je[e],t,[s,l])))))}if(!l){let t;B(n[4],((s,l)=>{let n;B(s,((s,a)=>{let r;B(s,(([s,o],c)=>{o!==s&&(Qe(xe[e],[l,a,c],o,s,Ft),t=n=r=1)})),r&&Qe(Pe[e],[l,a],Ft)})),n&&Qe(ke[e],[l],Ft)})),t&&Qe(ze[e],void 0,Ft)}}},Nt=e=>{const t=$(qe[e]),s=$(Be[e])&&$($e[e]);if(!t||!s){const l=e?[se(N),se(ce)]:[N,ce];if(t||At(qe[e],l[0]),!s){let t;B(l[1],(([s,l],n)=>{l!==s&&(Qe(Be[e],[n],l,s,zt),t=1)})),t&&Qe($e[e],void 0,zt)}}},Pt=(e,...t)=>(rs((()=>e(...S(t,C)))),is),jt=()=>[_(A,((e,t)=>-1===Q(m,t)?null:_(e,((e,s)=>-1===Q(Q(O,t),s)?null:_(e,(([,e])=>e??null),((e,t)=>ge(t)))),D)),D),_(ce,(([,e])=>e??null),((e,t)=>ge(t)))],xt=()=>({cellsTouched:l,valuesTouched:a,changedCells:te(A,he,ge),invalidCells:te(Se),changedValues:_(ce,he,ge),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:te(k),changedValueIds:_(N)}),Dt=()=>te(Ee),Wt=()=>K(Ee),$t=e=>K(Q(Ee,C(e))),qt=(e,t,s,l=0,n)=>{return S(I((r=Q(Ee,C(e)),o=(e,s)=>[L(t)?s:Q(e,C(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),S([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,L(n)?n:l+n),(([,e])=>e));var a,r,o},Bt=(e,t)=>K(Q(Q(Ee,C(e)),C(t))),Gt=(e,t,s)=>Q(Q(Q(Ee,C(e)),C(t)),C(s)),Ht=()=>_(Fe),Kt=()=>K(Fe),Qt=e=>Q(Fe,C(e)),Ut=e=>Pt((()=>(e=>be(e,Ze,Lt))(e)?ct(e):0)),Xt=e=>Pt((()=>tt(e)?ft(e):0)),Yt=e=>{try{ot(J(e))}catch{}return is},Zt=t=>Pt((()=>{if((e=be(t,(e=>be(e,Ye))))&&(at(t),!$(Ee))){const e=Dt();es(),Ut(e)}})),_t=e=>Pt((()=>{if(s=(e=>be(e,Ye))(e)){const t=Ht();as(),ls(),s=!0,rt(e),Xt(t)}})),es=()=>Pt((()=>ct({}))),ts=e=>Pt((e=>W(Ee,e)?Ct(e):0),e),ss=(e,t)=>Pt(((e,t)=>E(Q(Ee,e),(s=>W(s,t)?vt(e,s,t):0))),e,t),ls=()=>Pt((()=>ft({}))),ns=()=>Pt((()=>{at({}),e=!1})),as=()=>Pt((()=>{rt({}),s=!1})),rs=(e,t)=>{if(-1!=c){os();const s=e();return cs(t),s}},os=()=>(-1!=c&&c++,1==c&&Qe(Ge,void 0,jt,xt),is),cs=e=>(c>0&&(c--,0==c&&(l=!$(A),a=!$(ce),c=1,Ot(1),l&&Mt(1),kt(1),a&&Nt(1),e?.(jt,xt)&&(B(A,((e,t)=>B(e,((e,s)=>B(e,(([e],l)=>Te(is,t,s,l,e))))))),B(ce,(([e],t)=>Ve(is,t,e))),l=a=!1),Qe(He[0],void 0,jt,xt),c=-1,Ot(0),l&&Mt(0),kt(0),a&&Nt(0),Qe(He[1],void 0,jt,xt),c=0,l=a=!1,v([m,p,O,k,A,Se,N,ce,we],q))),is),is={getContent:()=>[Dt(),Ht()],getTables:Dt,getTableIds:Wt,getTable:e=>ee(Q(Ee,C(e))),getTableCellIds:e=>K(Q(Le,C(e))),getRowIds:$t,getSortedRowIds:qt,getRow:(e,t)=>_(Q(Q(Ee,C(e)),C(t))),getCellIds:Bt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Qt,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,t)=>W(Q(Le,C(e)),C(t)),hasRow:(e,t)=>W(Q(Ee,C(e)),C(t)),hasCell:(e,t,s)=>W(Q(Q(Ee,C(e)),C(t)),C(s)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,t])=>Pt((()=>{(D(e)?es:Ut)(e),(D(t)?ls:Xt)(t)})),setTables:Ut,setTable:(e,t)=>Pt((e=>Ze(t,e)?it(e,t):0),e),setRow:(e,t,s)=>Pt(((e,t)=>_e(e,t,s)?dt(e,bt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>rs((()=>{let l;return _e(e,l,t)&&(e=C(e),dt(e,bt(e),l=Vt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Pt(((e,t)=>{if(_e(e,t,s,1)){const l=bt(e);x(s,((s,n)=>ht(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Pt(((e,t,s)=>E(et(e,t,s,z(l)?l(Gt(e,t,s)):l),(l=>ht(e,bt(e),t,s,l)))),e,t,s),setValues:Xt,setPartialValues:e=>Pt((()=>tt(e,1)?x(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Pt((e=>E(st(e,z(t)?t(Qt(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Pt((()=>{x(e[0],((e,t)=>L(e)?ts(t):x(e,((e,s)=>L(e)?ss(t,s):x(e,((e,l)=>Te(is,t,s,l,e))))))),x(e[1],((e,t)=>Ve(is,t,e)))})),setTablesJson:Yt,setValuesJson:e=>{try{gt(J(e))}catch{}return is},setJson:e=>{try{const[t,s]=J(e);ot(t),gt(s)}catch{Yt(e)}return is},setTablesSchema:Zt,setValuesSchema:_t,setSchema:(e,t)=>Pt((()=>{Zt(e),_t(t)})),delTables:es,delTable:ts,delRow:ss,delCell:(e,t,s,l)=>Pt(((e,t,s)=>E(Q(Ee,e),(n=>E(Q(n,t),(a=>W(a,s)?St(e,n,t,a,s,l):0))))),e,t,s),delValues:ls,delValue:e=>Pt((e=>W(Fe,e)?wt(e):0),e),delTablesSchema:ns,delValuesSchema:as,delSchema:()=>Pt((()=>{ns(),as()})),transaction:rs,startTransaction:os,finishTransaction:cs,forEachTable:e=>B(Ee,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>U(t,e))))))))),forEachTableCell:(e,t)=>U(Q(Le,C(e)),t),forEachRow:(e,t)=>B(Q(Ee,C(e)),((e,s)=>t(s,(t=>U(e,t))))),forEachCell:(e,t,s)=>U(Q(Q(Ee,C(e)),C(t)),s),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=qt(e,t,s,l,n);return Ke((()=>{const r=qt(e,t,s,l,n);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(is,e,t,s,l,n,o))}),Ne[r?1:0],[e,t],[Wt])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),is),delListener:e=>(Ue(e),is),getListenerStats:()=>({}),createStore:ve};return x({[d]:[0,ze],[u]:[0,Oe],[i]:[1,ke,[Wt]],[i+f]:[1,Ae,[Wt]],[h]:[1,Me,[Wt]],Row:[2,Pe,[Wt,$t]],[f]:[2,je,[Wt,$t]],[g]:[3,xe,[Wt,$t,Bt],e=>de(Gt(...e))],InvalidCell:[3,De],[V]:[0,$e],[b]:[0,qe],[T]:[1,Be,[Kt],e=>de(Qt(e[0]))],InvalidValue:[1,We]},(([e,t,s,l],n)=>{is["add"+n+"Listener"]=(...n)=>Ke(n[e],t[n[e+1]?1:0],e>0?I(n,0,e):void 0,s,l)})),M(is)};exports.createStore=ve;
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,S="Sorted"+L+u,v="Cell",R=v+u,I="Value",T=I+"s",p=I+u,C=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),x=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),k=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,j=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>k(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Se=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),ve=(e,t,s)=>(le(e,t)||Se(e,t,s()),Le(e,t)),Re=(e,t,s,n=Se)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Ie=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Te=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),oe),pe=(e,t,s)=>Ie(e,(e=>Te(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},ye=e=>Ce(e,Ce),be=e=>Ce(e,ye),Ve=(e,t,s,n,a=0)=>G((s?ve:Le)(e,t[a],a>D(t)-2?s:ge),(o=>{if(a>D(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&Se(e,t[a]),r})),me=t=>{const s=e(t);return H(s)||s==a&&B(t)?s:void 0},xe=(e,t,s,n,a)=>q(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=ve(i,t,ke);return E(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{E(J(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Se(i,t)})),u=(e,s)=>{Se(a,e,s),le(o,e)||(Se(o,e,t()),Se(r,e,ge()),Se(l,e,ge()))},h=e=>{Se(a,e),Se(o,e),Se(r,e),Se(l,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>le(o,e),e=>Le(a,e),e=>Le(o,e),(e,t)=>Se(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=Le(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||Se(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Se(f,t,s)}},v=e=>{o((()=>{ue(g,(([,e],t)=>Se(L,t,e))),ue(f,((e,t)=>Se(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,S),e.hasTable(a)&&E(e.getRowIds(a),(e=>{le(L,e)||S(e)})),v(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>v())))},h,()=>we(i,h),c,d]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{Fe.test(t)&&D(e)<1e3&&Q(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Se(o,d,[a,r,l,i,c]),Me(Ve(r,l??[t],ke),d),d},(e,n,...a)=>E(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?Q(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):E([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>G(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),Se(o,e),a(e),n))),e=>G(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=D(r);l==D(t)?e(s,...r,...a(r)):q(t[l])?E(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=Ae((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>P)),f=ge(),L=ge(),w=[],S=[],v=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>xe(e,n,a,o,s[t]))))))),ue(a,((s,n)=>Ee(e,n,s[t])))})),i=1},R=e=>{Se(f,e),Se(L,e),h(d,[e])},I=(e,t)=>E(((e,t)=>e.splice(0,t))(e,t??D(e)),R),T=()=>I(w,D(w)-o),p=()=>G(s,(()=>{Q(w,s),T(),I(S),s=void 0,a=1})),C=()=>{s=z(w),a=1},b=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=ve(r,t,ge),l=ve(e,s,ge),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(Se(l,n))&&ie(Se(e,s))&&ie(Se(r,t))&&C(),M()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Se(l,t))&&C(),M()}})),m=(e="")=>(q(s)&&(s=t+n++,Se(f,s,[r,l]),F(s,e),r=ge(),l=ge(),a=1),s),x=()=>{J(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),v(0,s),s=z(w),a=1)},k=()=>{J(S)||(Q(w,s),s=N(S),v(1,s),a=1)},M=()=>{a&&(h(c),a=0)},A=e=>{const t=m(e);return M(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(Se(L,e,t),h(d,[e])),P),O=e=>le(f,e),P={setSize:e=>(o=e,T(),P),addCheckpoint:A,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...S]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(x(),M(),P),goForward:()=>(k(),M(),P),goTo:e=>{const t=y(w,e)?x:y(S,e)?k:null;for(;!q(t)&&e!=s;)t();return M(),P},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),P),clear:()=>(I(w),I(S),q(s)||R(s),s=void 0,n=0,A(),P),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(P.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Ae((e=>{const s=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>q(e)?t:U(e)?k(e,C):C(e))),[f,L,w]=ze((()=>v)),S=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,o,r,l=Oe)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,a,r,u,h,g)=>{let f=0;const w=ke(),S=ke(),v=c(e);if(ue(a,(([e,t],s)=>{const n=ke(e),a=ke(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),G(Le(v,e),(t=>{he(t,s),ie(t)&&(Se(v,e),f=1)}))})),ue(a,(e=>{Me(w,e),le(v,e)||(Se(v,e,ke()),f=1),Me(Le(v,e),s),q(o)||Me(S,e)}))})),t(),ie(h)||(g?we(v,(e=>Me(S,e))):we(r,(e=>G(Le(u,e),(e=>Me(S,e))))),ue(S,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(v,e)];m(s,t)||(Se(v,e,ke(x(s,t))),Me(w,e))}))),(f||g)&&!q(i)){const t=[...v];m(t,i)||(d(e,ge(x(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Je(a),G(o,Je)),v},delIndexDefinition:e=>(h(e),v),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),v),destroy:g,getListenerStats:()=>({})};return ee(v)})),je=ge([["avg",[(e,t)=>M(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=q(e),ue(n,(([s,n])=>{o||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=q(e))})),o?r(ce(s),re(s)):e},Be=Ae((e=>{const s=ge(),[n,a,o,r,l,i,c,,d,u,h]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,t,n,a,o,r,l)=>{const u=K(n)?[n,o,r,l]:Le(je,n)??Le(je,"sum");return d(e,t,((t,n,a,o,r,l)=>{const d=i(e),h=re(o);l||=q(d),t();let g=We(d,h,o,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Je(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),$e=Ae((e=>{const s=e.createStore,[n,a,o,r,l,,,u,,g,f,I,T]=De(e,(()=>!0),X),p=s(),C=s(),y=ge(),V=(e,t,...s)=>E(s,(s=>Me(ve(ve(y,t,ge),e,ke),s))),m=e=>{G(Le(y,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),E([C,p],(t=>t.delTable(e)))},x=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];a({select:(e,s)=>{const n=K(e)?[D(o)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,a=q(n)?t:s,o=[e,[e,n,K(a)?a:e=>e(a),[],ge()]];return Q(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,K(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return Q(i,o),{as:e=>o[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(o);if(ie(d))return k;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=p;if(ie(g)&&J(c))f=C;else{x(s,f,C);const e=ge();we(g,((t,[s,n])=>Me(ve(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Me(t,s)));const n=ge(),a=(t,n,a,o)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=ve(r,t,ge),l=Le(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=re(n);Se(n,a,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],o,n,s,t);d[e]=q(me(a))?null:a}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);Q(c,n),Q(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&Se(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&a(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}x(s,e,f);const L=(t,a,o,r)=>{const i=t=>e.getCell(a,o,t);E(r,(n=>{const[a,,o,r,l]=Le(h,n),c=o?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||T(s,u),Se(l,t,q(c)?null:[c,...I(s,1,e.addRowListener(a,c,(()=>L(t,a,c,r))))]))})),(t=>{const a=(s,a)=>e.getCell(...q(a)?[n,t,s]:s===n?[n,t,a]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],a]);f.transaction((()=>b(l,(e=>e(a)))?we(d,((e,n)=>xe(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>I(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?L(o,n,o,w):(f.delRow(s,o),ue(h,(({4:e})=>G(Le(e,o),(([,t])=>{T(s,t),Se(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),g(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(C.delListener(e),k),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return ae({[h]:[1,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{E(e?["get","has","forEach"]:["get"],(e=>k[e+c+s]=(...t)=>C[e+s](...t))),k[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](k,...n)))})),ee(k)})),qe=Ae((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,S]=ze((()=>T)),v=(e,t,s)=>G(u(e),(([n,,a])=>{if(!le(a,t)){const o=ke();if(d(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!le(o,e);)Me(o,e),e=Le(n,e)}if(s)return o;Se(a,t,o)}return Le(a,t)})),R=(e,t)=>G(u(e),(([,,e])=>Se(e,t))),I=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(Se(s,e,r),h(e,t,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(Me(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&Se(d,t)}))),q(s)||(Me(l,s),le(d,s)||Se(d,s,ke()),Me(Le(d,s),n)),Me(r,n),Se(c,n,s),we(Le(o,e),(t=>{le(v(e,t),n)&&Me(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(a,[e,t]))),ue(i,(t=>{R(e,t),w(o,[e,t])}))}),Je(l)),T),delRelationshipDefinition:e=>(Se(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,o,[e,t])),delListener:e=>(R(...S(e)),T),destroy:f,getListenerStats:()=>({})};return ee(T)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),Ye=(e,t,s)=>Se(e,t,Le(e,t)==-s?void 0:s),Ze=()=>{let e,t,s=!1,n=!1,o=0;const c=ge(),u=ge(),S=ge(),b=ge(),m=ge(),M=ge(),D=ge(),J=ge(),A=ge(),z=ge(),N=ge(),j=ge(),W=ge(),B=ke(),$=ge(),U=ge(),X=ge(),Y=ge(),Z=He(),_=He(),te=He(),re=He(),ce=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),Pe=He(),je=He(),We=He(),Be=ge(),$e=He(),[qe,_e,et,tt]=ze((()=>fs)),st=e=>{if(!Xe(e,((e,t)=>y([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},nt=(t,s)=>(!e||le(z,s)||Jt(s))&&Xe(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Xe(n?s:it(s,e,t),((n,a)=>G(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?G(Le(Le(z,t),n),(e=>me(a)!=e[r]?Jt(t,s,n,a,e[l]):a),(()=>Jt(t,s,n,a))):q(me(a))?Jt(t,s,n,a):a,rt=(e,t)=>Xe(t?e:ct(e),((t,s)=>G(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?G(Le(j,e),(t=>me(s)!=t[r]?At(e,s,t[l]):s),(()=>At(e,s))):q(me(s))?At(e,s):s,it=(e,t,s)=>(G(Le(N,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(ue(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(B,(t=>{se(e,t)||At(t)}))),e),dt=e=>Re(z,e,((e,t,s)=>{const n=ge(),a=ke();Re(ve(z,t,ge),s,((e,t,s)=>{Se(e,t,s),G(s[l],(e=>Se(n,t,e)),(()=>Me(a,t)))})),Se(N,t,[n,a])}),((e,t)=>{Se(z,t),Se(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Se(j,t,s),G(s[l],(e=>Se(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{Se(j,t),Se(W,t),he(B,t)})),ht=e=>oe(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>Ct(t))),ft=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Se($,e,Qe()),Se(U,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>yt(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(xt(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{le(s,n)||Et(e,t,n,1);const o=Le(s,n);a!==o&&(kt(e,t,n,o,a),Se(s,n,a))},St=(e,t,s,n,a)=>G(Le(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),vt=e=>oe(e)?is():ts(e),Rt=e=>Re(Y,e,((e,t,s)=>It(t,s)),((e,t)=>Vt(t))),It=(e,t)=>{le(Y,e)||Mt(e,1);const s=Le(Y,e);t!==s&&(Dt(e,s,t),Se(Y,e,t))},Tt=(e,t)=>{const[s]=Le($,e),n=s(t);return le(Le(X,e),n)?Tt(e,t):n},pt=e=>Le(X,e)??ft(e,{}),Ct=e=>ft(e,{}),yt=(e,t,s)=>{const[,n]=Le($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=Le(Le(N,e)?.[0],a);if(!q(r)&&!o)return wt(e,s,n,a,r);const l=t=>{kt(e,s,t,Le(n,t)),Et(e,s,t,-1),Se(n,t)};q(r)?l(a):we(n,l),ie(n)&&(xt(e,s,-1),ie(Se(t,s))&&(mt(e,-1),Se(X,e),Se($,e),Se(U,e)))},Vt=e=>{const t=Le(W,e);if(!q(t))return It(e,t);Dt(e,Le(Y,e)),Mt(e,-1),Se(Y,e)},mt=(e,t)=>Ye(c,e,t),xt=(e,t,s)=>Ye(ve(S,e,ge),t,s),Et=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ye(ve(u,e,ge),s,n),Se(a,s,o!=-n?o+n:null),Ye(ve(ve(b,e,ge),t,ge),s,n)},kt=(e,t,s,n,a)=>ve(ve(ve(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Mt=(e,t)=>Ye(M,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(Q(ve(ve(ve(J,e,ge),t,ge),s,(()=>[])),n),a),At=(e,t,s)=>(Q(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>G(Le(Le(Le(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Xt(e,t,s))])),Qt=e=>G(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(_t(e))])),zt=e=>ie(J)||ie(Fe[e])?0:ue(e?be(J):J,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>_e(Fe[e],[s,n,a],t))))))),Nt=e=>ie(A)||ie(Ne[e])?0:ue(e?Ce(A):A,((t,s)=>_e(Ne[e],[s],t))),Ot=(e,t,s)=>{if(!ie(t))return _e(e,s,(()=>Ie(t))),1},Pt=e=>{const t=ie(Ve[e]),s=ie(Je[e])&&ie(re[e])&&ie(ce[e])&&t&&ie(_[e]),n=ie(Ae[e])&&ie(De[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[Ce(c),ye(u),ye(S),be(b),be(m)]:[c,u,S,b,m];if(!s){Ot(_[e],a[0]),ue(a[1],((t,s)=>Ot(re[e],t,[s])));const s=ke();ue(a[2],((n,a)=>{Ot(ce[e],n,[a])&&!t&&(_e(Ve[e],[a,null]),Me(s,a))})),t||ue(a[4],((t,n)=>{if(!le(s,n)){const s=ke();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?Me(s,a):he(e,a))))),ue(s,(t=>_e(Ve[e],[n,t])))}})),ue(a[3],((t,s)=>ue(t,((t,n)=>Ot(Je[e],t,[s,n])))))}if(!n){let t;ue(a[4],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(_e(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&_e(De[e],[n,o],Ft)})),a&&_e(te[e],[n],Ft)})),t&&_e(Z[e],void 0,Ft)}}},jt=e=>{const t=ie(je[e]),s=ie(We[e])&&ie(Pe[e]);if(!t||!s){const n=e?[Ce(M),Ce(D)]:[M,D];if(t||Ot(je[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(_e(We[e],[a],n,s,Qt),t=1)})),t&&_e(Pe[e],void 0,Qt)}}},Wt=(e,...t)=>(us((()=>e(...k(t,C)))),fs),Bt=()=>[Ie(m,((e,t)=>-1===Le(c,t)?null:Ie(e,((e,s)=>-1===Le(Le(S,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Ue(t)))),oe)),oe),Ie(D,(([,e])=>e??null),((e,t)=>Ue(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(m,Ke,Ue),invalidCells:pe(J),changedValues:Ie(D,Ke,Ue),invalidValues:Ie(A),changedTableIds:Ie(c),changedRowIds:Te(S),changedCellIds:pe(b),changedValueIds:Ie(M)}),qt=()=>pe(X),Gt=()=>fe(X),Ht=e=>fe(Le(X,C(e))),Kt=(e,t,s,n=0,a)=>{return k(F(x((o=Le(X,C(e)),r=(e,s)=>[q(t)?s:Le(e,C(t)),s],k([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,q(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(Le(Le(X,C(e)),C(t))),Xt=(e,t,s)=>Le(Le(Le(X,C(e)),C(t)),C(s)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>Le(Y,C(e)),es=e=>Wt((()=>(e=>Xe(e,nt,Jt))(e)?gt(e):0)),ts=e=>Wt((()=>rt(e)?Rt(e):0)),ss=e=>{try{ht(P(e))}catch{}return fs},ns=t=>Wt((()=>{if((e=Xe(t,(e=>Xe(e,st))))&&(dt(t),!ie(X))){const e=qt();os(),es(e)}})),as=e=>Wt((()=>{if(t=(e=>Xe(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Wt((()=>gt({}))),rs=e=>Wt((e=>le(X,e)?Ct(e):0),e),ls=(e,t)=>Wt(((e,t)=>G(Le(X,e),(s=>le(s,t)?yt(e,s,t):0))),e,t),is=()=>Wt((()=>Rt({}))),cs=()=>Wt((()=>{dt({}),e=!1})),ds=()=>Wt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=o){hs();const s=e();return gs(t),s}},hs=()=>(-1!=o&&o++,1==o&&_e(Be,void 0,Bt,$t),fs),gs=e=>(o>0&&(o--,0==o&&(s=!ie(m),n=!ie(D),o=1,zt(1),s&&Pt(1),Nt(1),n&&jt(1),e?.(Bt,$t)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>xe(fs,t,s,n,e))))))),ue(D,(([e],t)=>Ee(fs,t,e))),s=n=!1),_e($e[0],void 0,Bt,$t),o=-1,zt(0),s&&Pt(0),Nt(0),n&&jt(0),_e($e[1],void 0,Bt,$t),o=0,s=n=!1,E([c,u,S,b,m,J,M,D,A],de))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Te(Le(X,C(e))),getTableCellIds:e=>fe(Le(U,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ie(X),hasTable:e=>le(X,C(e)),hasTableCell:(e,t)=>le(Le(U,C(e)),C(t)),hasRow:(e,t)=>le(Le(X,C(e)),C(t)),hasCell:(e,t,s)=>le(Le(Le(X,C(e)),C(t)),C(s)),hasValues:()=>!ie(Y),hasValue:e=>le(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(z),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([z,j]),setContent:([e,t])=>Wt((()=>{es(e),ts(t)})),setTables:es,setTable:(e,t)=>Wt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>at(e,t,s)?Lt(e,pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,pt(e),n=Tt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(at(e,t,s,1)){const n=pt(e);ae(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Wt(((e,t,s)=>G(ot(e,t,s,K(n)?n(Xt(e,t,s)):n),(n=>St(e,pt(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Wt((()=>rt(e,1)?ae(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(lt(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ae(e[0],((e,t)=>q(e)?rs(t):ae(e,((e,s)=>q(e)?ls(t,s):ae(e,((e,n)=>xe(fs,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{vt(P(e))}catch{}return fs},setJson:e=>{try{const[t,s]=P(e);ht(t),vt(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Wt(((e,t,s)=>G(Le(X,e),(a=>G(Le(a,t),(o=>le(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>le(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Wt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,C(e)),t),forEachRow:(e,t)=>ue(Le(X,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,C(e)),C(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);V(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:Ze};return ae({[g]:[0,Z],[f]:[0,_],[h]:[1,te,[Gt]],[h+R]:[1,re,[Gt]],[w]:[1,ce,[Gt]],[L]:[2,De,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>Ge(Xt(...e))],InvalidCell:[3,Fe],[T]:[0,Pe],[p]:[0,je],[I]:[1,We,[Zt],e=>Ge(_t(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],a)=>{fs[d+a+i]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(fs)};exports.createCheckpoints=Ne,exports.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>{2!=i&&(i=1,await e(),i=0)},g={load:async(s={},n={})=>(await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),g),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>{await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(await g.schedule((async()=>{if(1!=i){i=2;try{await s(e.getContent,t)}catch{}i=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const s=t();g.save((()=>s))})),g),stopAutoSave:()=>(G(o,e.delListener),g),schedule:async(...e)=>(Q(u,...e),await(async()=>{if(!c){for(c=1;!q(r=N(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},exports.createIndexes=Pe,exports.createMetrics=Be,exports.createQueries=$e,exports.createRelationships=qe,exports.createStore=Ze,exports.defaultSorter=Oe;
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,S="Sorted"+L+u,v="Cell",R=v+u,I="Value",T=I+"s",p=I+u,C=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),x=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),k=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,j=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>k(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Se=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),ve=(e,t,s)=>(le(e,t)||Se(e,t,s()),Le(e,t)),Re=(e,t,s,n=Se)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Ie=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Te=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),oe),pe=(e,t,s)=>Ie(e,(e=>Te(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},ye=e=>Ce(e,Ce),be=e=>Ce(e,ye),Ve=(e,t,s,n,a=0)=>G((s?ve:Le)(e,t[a],a>D(t)-2?s:ge),(o=>{if(a>D(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&Se(e,t[a]),r})),me=t=>{const s=e(t);return H(s)||s==a&&B(t)?s:void 0},xe=(e,t,s,n,a)=>q(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=ve(i,t,ke);return E(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{E(J(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Se(i,t)})),u=(e,s)=>{Se(a,e,s),le(o,e)||(Se(o,e,t()),Se(r,e,ge()),Se(l,e,ge()))},h=e=>{Se(a,e),Se(o,e),Se(r,e),Se(l,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>le(o,e),e=>Le(a,e),e=>Le(o,e),(e,t)=>Se(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=Le(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||Se(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Se(f,t,s)}},v=e=>{o((()=>{ue(g,(([,e],t)=>Se(L,t,e))),ue(f,((e,t)=>Se(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,S),e.hasTable(a)&&E(e.getRowIds(a),(e=>{le(L,e)||S(e)})),v(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>v())))},h,()=>we(i,h),c,d]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{Fe.test(t)&&D(e)<1e3&&Q(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Se(o,d,[a,r,l,i,c]),Me(Ve(r,l??[t],ke),d),d},(e,n,...a)=>E(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?Q(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):E([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>G(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),Se(o,e),a(e),n))),e=>G(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=D(r);l==D(t)?e(s,...r,...a(r)):q(t[l])?E(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=Ae((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>P)),f=ge(),L=ge(),w=[],S=[],v=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>xe(e,n,a,o,s[t]))))))),ue(a,((s,n)=>Ee(e,n,s[t])))})),i=1},R=e=>{Se(f,e),Se(L,e),h(d,[e])},I=(e,t)=>E(((e,t)=>e.splice(0,t))(e,t??D(e)),R),T=()=>I(w,D(w)-o),p=()=>G(s,(()=>{Q(w,s),T(),I(S),s=void 0,a=1})),C=()=>{s=z(w),a=1},b=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=ve(r,t,ge),l=ve(e,s,ge),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(Se(l,n))&&ie(Se(e,s))&&ie(Se(r,t))&&C(),M()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Se(l,t))&&C(),M()}})),m=(e="")=>(q(s)&&(s=t+n++,Se(f,s,[r,l]),F(s,e),r=ge(),l=ge(),a=1),s),x=()=>{J(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),v(0,s),s=z(w),a=1)},k=()=>{J(S)||(Q(w,s),s=N(S),v(1,s),a=1)},M=()=>{a&&(h(c),a=0)},A=e=>{const t=m(e);return M(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(Se(L,e,t),h(d,[e])),P),O=e=>le(f,e),P={setSize:e=>(o=e,T(),P),addCheckpoint:A,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...S]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(x(),M(),P),goForward:()=>(k(),M(),P),goTo:e=>{const t=y(w,e)?x:y(S,e)?k:null;for(;!q(t)&&e!=s;)t();return M(),P},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),P),clear:()=>(I(w),I(S),q(s)||R(s),s=void 0,n=0,A(),P),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(P.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Ae((e=>{const s=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>q(e)?t:U(e)?k(e,C):C(e))),[f,L,w]=ze((()=>v)),S=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,o,r,l=Oe)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,a,r,u,h,g)=>{let f=0;const w=ke(),S=ke(),v=c(e);if(ue(a,(([e,t],s)=>{const n=ke(e),a=ke(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),G(Le(v,e),(t=>{he(t,s),ie(t)&&(Se(v,e),f=1)}))})),ue(a,(e=>{Me(w,e),le(v,e)||(Se(v,e,ke()),f=1),Me(Le(v,e),s),q(o)||Me(S,e)}))})),t(),ie(h)||(g?we(v,(e=>Me(S,e))):we(r,(e=>G(Le(u,e),(e=>Me(S,e))))),ue(S,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(v,e)];m(s,t)||(Se(v,e,ke(x(s,t))),Me(w,e))}))),(f||g)&&!q(i)){const t=[...v];m(t,i)||(d(e,ge(x(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Je(a),G(o,Je)),v},delIndexDefinition:e=>(h(e),v),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),v),destroy:g,getListenerStats:()=>({})};return ee(v)})),je=ge([["avg",[(e,t)=>M(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=q(e),ue(n,(([s,n])=>{o||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=q(e))})),o?r(ce(s),re(s)):e},Be=Ae((e=>{const s=ge(),[n,a,o,r,l,i,c,,d,u,h]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,t,n,a,o,r,l)=>{const u=K(n)?[n,o,r,l]:Le(je,n)??Le(je,"sum");return d(e,t,((t,n,a,o,r,l)=>{const d=i(e),h=re(o);l||=q(d),t();let g=We(d,h,o,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Je(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),$e=Ae((e=>{const s=e.createStore,[n,a,o,r,l,,,u,,g,f,I,T]=De(e,(()=>!0),X),p=s(),C=s(),y=ge(),V=(e,t,...s)=>E(s,(s=>Me(ve(ve(y,t,ge),e,ke),s))),m=e=>{G(Le(y,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),E([C,p],(t=>t.delTable(e)))},x=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];a({select:(e,s)=>{const n=K(e)?[D(o)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,a=q(n)?t:s,o=[e,[e,n,K(a)?a:e=>e(a),[],ge()]];return Q(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,K(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return Q(i,o),{as:e=>o[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(o);if(ie(d))return k;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=p;if(ie(g)&&J(c))f=C;else{x(s,f,C);const e=ge();we(g,((t,[s,n])=>Me(ve(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Me(t,s)));const n=ge(),a=(t,n,a,o)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=ve(r,t,ge),l=Le(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=re(n);Se(n,a,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],o,n,s,t);d[e]=q(me(a))?null:a}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);Q(c,n),Q(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&Se(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&a(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}x(s,e,f);const L=(t,a,o,r)=>{const i=t=>e.getCell(a,o,t);E(r,(n=>{const[a,,o,r,l]=Le(h,n),c=o?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||T(s,u),Se(l,t,q(c)?null:[c,...I(s,1,e.addRowListener(a,c,(()=>L(t,a,c,r))))]))})),(t=>{const a=(s,a)=>e.getCell(...q(a)?[n,t,s]:s===n?[n,t,a]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],a]);f.transaction((()=>b(l,(e=>e(a)))?we(d,((e,n)=>xe(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>I(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?L(o,n,o,w):(f.delRow(s,o),ue(h,(({4:e})=>G(Le(e,o),(([,t])=>{T(s,t),Se(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),g(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(C.delListener(e),k),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return ae({[h]:[1,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{E(e?["get","has","forEach"]:["get"],(e=>k[e+c+s]=(...t)=>C[e+s](...t))),k[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](k,...n)))})),ee(k)})),qe=Ae((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,S]=ze((()=>T)),v=(e,t,s)=>G(u(e),(([n,,a])=>{if(!le(a,t)){const o=ke();if(d(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!le(o,e);)Me(o,e),e=Le(n,e)}if(s)return o;Se(a,t,o)}return Le(a,t)})),R=(e,t)=>G(u(e),(([,,e])=>Se(e,t))),I=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(Se(s,e,r),h(e,t,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(Me(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&Se(d,t)}))),q(s)||(Me(l,s),le(d,s)||Se(d,s,ke()),Me(Le(d,s),n)),Me(r,n),Se(c,n,s),we(Le(o,e),(t=>{le(v(e,t),n)&&Me(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(a,[e,t]))),ue(i,(t=>{R(e,t),w(o,[e,t])}))}),Je(l)),T),delRelationshipDefinition:e=>(Se(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,o,[e,t])),delListener:e=>(R(...S(e)),T),destroy:f,getListenerStats:()=>({})};return ee(T)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),Ye=(e,t,s)=>Se(e,t,Le(e,t)==-s?void 0:s),Ze=()=>{let e,t,s=!1,n=!1,o=0;const c=ge(),u=ge(),S=ge(),b=ge(),m=ge(),M=ge(),D=ge(),J=ge(),A=ge(),z=ge(),N=ge(),j=ge(),W=ge(),B=ke(),$=ge(),U=ge(),X=ge(),Y=ge(),Z=He(),_=He(),te=He(),re=He(),ce=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),Pe=He(),je=He(),We=He(),Be=ge(),$e=He(),[qe,_e,et,tt]=ze((()=>fs)),st=e=>{if(!Xe(e,((e,t)=>y([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},nt=(t,s)=>(!e||le(z,s)||Jt(s))&&Xe(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Xe(n?s:it(s,e,t),((n,a)=>G(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?G(Le(Le(z,t),n),(e=>me(a)!=e[r]?Jt(t,s,n,a,e[l]):a),(()=>Jt(t,s,n,a))):q(me(a))?Jt(t,s,n,a):a,rt=(e,t)=>Xe(t?e:ct(e),((t,s)=>G(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?G(Le(j,e),(t=>me(s)!=t[r]?At(e,s,t[l]):s),(()=>At(e,s))):q(me(s))?At(e,s):s,it=(e,t,s)=>(G(Le(N,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(ue(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(B,(t=>{se(e,t)||At(t)}))),e),dt=e=>Re(z,e,((e,t,s)=>{const n=ge(),a=ke();Re(ve(z,t,ge),s,((e,t,s)=>{Se(e,t,s),G(s[l],(e=>Se(n,t,e)),(()=>Me(a,t)))})),Se(N,t,[n,a])}),((e,t)=>{Se(z,t),Se(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Se(j,t,s),G(s[l],(e=>Se(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{Se(j,t),Se(W,t),he(B,t)})),ht=e=>oe(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>Ct(t))),ft=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Se($,e,Qe()),Se(U,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>yt(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(xt(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{le(s,n)||Et(e,t,n,1);const o=Le(s,n);a!==o&&(kt(e,t,n,o,a),Se(s,n,a))},St=(e,t,s,n,a)=>G(Le(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),vt=e=>oe(e)?is():ts(e),Rt=e=>Re(Y,e,((e,t,s)=>It(t,s)),((e,t)=>Vt(t))),It=(e,t)=>{le(Y,e)||Mt(e,1);const s=Le(Y,e);t!==s&&(Dt(e,s,t),Se(Y,e,t))},Tt=(e,t)=>{const[s]=Le($,e),n=s(t);return le(Le(X,e),n)?Tt(e,t):n},pt=e=>Le(X,e)??ft(e,{}),Ct=e=>ft(e,{}),yt=(e,t,s)=>{const[,n]=Le($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=Le(Le(N,e)?.[0],a);if(!q(r)&&!o)return wt(e,s,n,a,r);const l=t=>{kt(e,s,t,Le(n,t)),Et(e,s,t,-1),Se(n,t)};q(r)?l(a):we(n,l),ie(n)&&(xt(e,s,-1),ie(Se(t,s))&&(mt(e,-1),Se(X,e),Se($,e),Se(U,e)))},Vt=e=>{const t=Le(W,e);if(!q(t))return It(e,t);Dt(e,Le(Y,e)),Mt(e,-1),Se(Y,e)},mt=(e,t)=>Ye(c,e,t),xt=(e,t,s)=>Ye(ve(S,e,ge),t,s),Et=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ye(ve(u,e,ge),s,n),Se(a,s,o!=-n?o+n:null),Ye(ve(ve(b,e,ge),t,ge),s,n)},kt=(e,t,s,n,a)=>ve(ve(ve(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Mt=(e,t)=>Ye(M,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(Q(ve(ve(ve(J,e,ge),t,ge),s,(()=>[])),n),a),At=(e,t,s)=>(Q(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>G(Le(Le(Le(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Xt(e,t,s))])),Qt=e=>G(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(_t(e))])),zt=e=>ie(J)||ie(Fe[e])?0:ue(e?be(J):J,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>_e(Fe[e],[s,n,a],t))))))),Nt=e=>ie(A)||ie(Ne[e])?0:ue(e?Ce(A):A,((t,s)=>_e(Ne[e],[s],t))),Ot=(e,t,s)=>{if(!ie(t))return _e(e,s,(()=>Ie(t))),1},Pt=e=>{const t=ie(Ve[e]),s=ie(Je[e])&&ie(re[e])&&ie(ce[e])&&t&&ie(_[e]),n=ie(Ae[e])&&ie(De[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[Ce(c),ye(u),ye(S),be(b),be(m)]:[c,u,S,b,m];if(!s){Ot(_[e],a[0]),ue(a[1],((t,s)=>Ot(re[e],t,[s])));const s=ke();ue(a[2],((n,a)=>{Ot(ce[e],n,[a])&&!t&&(_e(Ve[e],[a,null]),Me(s,a))})),t||ue(a[4],((t,n)=>{if(!le(s,n)){const s=ke();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?Me(s,a):he(e,a))))),ue(s,(t=>_e(Ve[e],[n,t])))}})),ue(a[3],((t,s)=>ue(t,((t,n)=>Ot(Je[e],t,[s,n])))))}if(!n){let t;ue(a[4],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(_e(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&_e(De[e],[n,o],Ft)})),a&&_e(te[e],[n],Ft)})),t&&_e(Z[e],void 0,Ft)}}},jt=e=>{const t=ie(je[e]),s=ie(We[e])&&ie(Pe[e]);if(!t||!s){const n=e?[Ce(M),Ce(D)]:[M,D];if(t||Ot(je[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(_e(We[e],[a],n,s,Qt),t=1)})),t&&_e(Pe[e],void 0,Qt)}}},Wt=(e,...t)=>(us((()=>e(...k(t,C)))),fs),Bt=()=>[Ie(m,((e,t)=>-1===Le(c,t)?null:Ie(e,((e,s)=>-1===Le(Le(S,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Ue(t)))),oe)),oe),Ie(D,(([,e])=>e??null),((e,t)=>Ue(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(m,Ke,Ue),invalidCells:pe(J),changedValues:Ie(D,Ke,Ue),invalidValues:Ie(A),changedTableIds:Ie(c),changedRowIds:Te(S),changedCellIds:pe(b),changedValueIds:Ie(M)}),qt=()=>pe(X),Gt=()=>fe(X),Ht=e=>fe(Le(X,C(e))),Kt=(e,t,s,n=0,a)=>{return k(F(x((o=Le(X,C(e)),r=(e,s)=>[q(t)?s:Le(e,C(t)),s],k([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,q(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(Le(Le(X,C(e)),C(t))),Xt=(e,t,s)=>Le(Le(Le(X,C(e)),C(t)),C(s)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>Le(Y,C(e)),es=e=>Wt((()=>(e=>Xe(e,nt,Jt))(e)?gt(e):0)),ts=e=>Wt((()=>rt(e)?Rt(e):0)),ss=e=>{try{ht(P(e))}catch{}return fs},ns=t=>Wt((()=>{if((e=Xe(t,(e=>Xe(e,st))))&&(dt(t),!ie(X))){const e=qt();os(),es(e)}})),as=e=>Wt((()=>{if(t=(e=>Xe(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Wt((()=>gt({}))),rs=e=>Wt((e=>le(X,e)?Ct(e):0),e),ls=(e,t)=>Wt(((e,t)=>G(Le(X,e),(s=>le(s,t)?yt(e,s,t):0))),e,t),is=()=>Wt((()=>Rt({}))),cs=()=>Wt((()=>{dt({}),e=!1})),ds=()=>Wt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=o){hs();const s=e();return gs(t),s}},hs=()=>(-1!=o&&o++,1==o&&_e(Be,void 0,Bt,$t),fs),gs=e=>(o>0&&(o--,0==o&&(s=!ie(m),n=!ie(D),o=1,zt(1),s&&Pt(1),Nt(1),n&&jt(1),e?.(Bt,$t)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>xe(fs,t,s,n,e))))))),ue(D,(([e],t)=>Ee(fs,t,e))),s=n=!1),_e($e[0],void 0,Bt,$t),o=-1,zt(0),s&&Pt(0),Nt(0),n&&jt(0),_e($e[1],void 0,Bt,$t),o=0,s=n=!1,E([c,u,S,b,m,J,M,D,A],de))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Te(Le(X,C(e))),getTableCellIds:e=>fe(Le(U,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ie(X),hasTable:e=>le(X,C(e)),hasTableCell:(e,t)=>le(Le(U,C(e)),C(t)),hasRow:(e,t)=>le(Le(X,C(e)),C(t)),hasCell:(e,t,s)=>le(Le(Le(X,C(e)),C(t)),C(s)),hasValues:()=>!ie(Y),hasValue:e=>le(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(z),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([z,j]),setContent:([e,t])=>Wt((()=>{(oe(e)?os:es)(e),(oe(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Wt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>at(e,t,s)?Lt(e,pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,pt(e),n=Tt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(at(e,t,s,1)){const n=pt(e);ae(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Wt(((e,t,s)=>G(ot(e,t,s,K(n)?n(Xt(e,t,s)):n),(n=>St(e,pt(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Wt((()=>rt(e,1)?ae(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(lt(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ae(e[0],((e,t)=>q(e)?rs(t):ae(e,((e,s)=>q(e)?ls(t,s):ae(e,((e,n)=>xe(fs,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{vt(P(e))}catch{}return fs},setJson:e=>{try{const[t,s]=P(e);ht(t),vt(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Wt(((e,t,s)=>G(Le(X,e),(a=>G(Le(a,t),(o=>le(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>le(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Wt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,C(e)),t),forEachRow:(e,t)=>ue(Le(X,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,C(e)),C(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);V(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:Ze};return ae({[g]:[0,Z],[f]:[0,_],[h]:[1,te,[Gt]],[h+R]:[1,re,[Gt]],[w]:[1,ce,[Gt]],[L]:[2,De,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>Ge(Xt(...e))],InvalidCell:[3,Fe],[T]:[0,Pe],[p]:[0,je],[I]:[1,We,[Zt],e=>Ge(_t(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],a)=>{fs[d+a+i]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(fs)};exports.createCheckpoints=Ne,exports.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>{2!=i&&(i=1,await e(),i=0)},g={load:async(s,n)=>(await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),g),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>{await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(await g.schedule((async()=>{if(1!=i){i=2;try{await s(e.getContent,t)}catch{}i=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const s=t();g.save((()=>s))})),g),stopAutoSave:()=>(G(o,e.delListener),g),schedule:async(...e)=>(Q(u,...e),await(async()=>{if(!c){for(c=1;!q(r=N(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},exports.createIndexes=Pe,exports.createMetrics=Be,exports.createQueries=$e,exports.createRelationships=qe,exports.createStore=Ze,exports.defaultSorter=Oe;
Binary file
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,i=n.freeze,r=(t,n)=>e(t,(t=>t[n])),l=(e,n)=>!t(r(e,n)),u=(t,e)=>(delete t[e],t),c=(t,e)=>((t,e)=>t.map(e))(n.entries(t),(([t,n])=>e(n,t))),s=t=>o(t).length,a=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==s(t);var d=(t,e,n)=>new Promise(((o,i)=>{var r=t=>{try{u(n.next(t))}catch(t){i(t)}},l=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,l);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,i)=>{var r=t=>{try{u(n.next(t))}catch(t){i(t)}},l=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,l);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(e,n,o,i)=>{const r=t(n)?e:((t,e,n)=>(l(t,e)||(t[e]={}),t[e]))(e,n);let s;return c(o,((t,e)=>{i(r,e,t)&&(s=1)})),c(r,((t,e)=>{l(o,e)||(u(r,e),s=1)})),!t(n)&&a(r)&&u(e,n),s};exports.createAutomergePersister=(n,o,l="tinybase")=>(o.change((t=>t[l]={})),((n,s,f,p,g)=>{let A,m,L,S=0,x=0,C=0;const P=[],w=t=>d(void 0,null,(function*(){2!=S&&(S=1,yield t(),S=0)})),b={load:(...t)=>d(void 0,[...t],(function*(t={},e={}){return yield w((()=>d(void 0,null,(function*(){try{n.setContent(yield s())}catch(o){n.setContent([t,e])}})))),b})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},e={}){return b.stopAutoLoad(),yield b.load(t,e),C=1,L=(t=>{const e=({doc:e})=>t((()=>y(e,l)));return o.on("change",e),e})(((t,e)=>d(void 0,null,(function*(){yield w((()=>d(void 0,null,(function*(){var o;if(e)n.setTransactionChanges(e());else try{n.setContent(null!=(o=null==t?void 0:t())?o:yield s())}catch(t){}}))))})))),b})),stopAutoLoad:()=>{return C&&(t=L,o.removeListener("change",t),L=void 0,C=0),b;var t},save:i=>d(void 0,null,(function*(){return yield b.schedule((()=>d(void 0,null,(function*(){if(1!=S){S=2;try{yield((n,i)=>v(void 0,null,(function*(){return o.change((o=>((n,o,i,l)=>{((t,e)=>{a(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[s,d]=y(n,o),v=()=>{f=1};let f=1;if(e(null==l?void 0:l(),(([n,o])=>{f=0,c(n,((n,o)=>f?0:t(n)?u(s,o):e(s[o],(o=>c(n,((n,i)=>f?0:t(n)?u(o,i):e(r(o,i),(e=>c(n,((n,o)=>t(n)?u(e,o):e[o]=n))),v)))),v))),c(o,((e,n)=>f?0:t(e)?u(d,n):d[n]=e))})),f){const[t,e]=i();h(s,void 0,t,((t,e,n)=>h(s,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(r(t,e)!==n)return t[e]=n,1})))))),h(d,void 0,e,((t,e,n)=>{r(d,e)!==n&&(d[e]=n)}))}})(o,l,n,i)))})))(n.getContent,i)}catch(t){}S=0}})))),b})),startAutoSave:()=>d(void 0,null,(function*(){return yield b.stopAutoSave().save(),A=n.addDidFinishTransactionListener(((t,e)=>{const n=e();b.save((()=>n))})),b})),stopAutoSave:()=>(e(A,n.delListener),b),schedule:(...e)=>d(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(P,...e),yield d(void 0,null,(function*(){if(!x){for(x=1;!t((e=P,m=e.shift()));)try{yield m()}catch(t){}x=0}var e})),b})),getStore:()=>n,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(b)})(n,(()=>v(void 0,null,(function*(){return 2==s(o.doc[l])?y(o.doc,l):void 0})))));
1
+ "use strict";const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,i=n.freeze,r=(t,n)=>e(t,(t=>t[n])),l=(e,n)=>!t(r(e,n)),u=(t,e)=>(delete t[e],t),c=(t,e)=>((t,e)=>t.map(e))(n.entries(t),(([t,n])=>e(n,t))),s=t=>o(t).length,a=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==s(t);var d=(t,e,n)=>new Promise(((o,i)=>{var r=t=>{try{u(n.next(t))}catch(t){i(t)}},l=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,l);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,i)=>{var r=t=>{try{u(n.next(t))}catch(t){i(t)}},l=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,l);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(e,n,o,i)=>{const r=t(n)?e:((t,e,n)=>(l(t,e)||(t[e]={}),t[e]))(e,n);let s;return c(o,((t,e)=>{i(r,e,t)&&(s=1)})),c(r,((t,e)=>{l(o,e)||(u(r,e),s=1)})),!t(n)&&a(r)&&u(e,n),s};exports.createAutomergePersister=(n,o,l="tinybase")=>(o.change((t=>t[l]={})),((n,s,f,p,g)=>{let A,m,L,S=0,x=0,C=0;const P=[],w=t=>d(void 0,null,(function*(){2!=S&&(S=1,yield t(),S=0)})),b={load:(t,e)=>d(void 0,null,(function*(){return yield w((()=>d(void 0,null,(function*(){try{n.setContent(yield s())}catch(o){n.setContent([t,e])}})))),b})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},e={}){return b.stopAutoLoad(),yield b.load(t,e),C=1,L=(t=>{const e=({doc:e})=>t((()=>y(e,l)));return o.on("change",e),e})(((t,e)=>d(void 0,null,(function*(){yield w((()=>d(void 0,null,(function*(){var o;if(e)n.setTransactionChanges(e());else try{n.setContent(null!=(o=null==t?void 0:t())?o:yield s())}catch(t){}}))))})))),b})),stopAutoLoad:()=>{return C&&(t=L,o.removeListener("change",t),L=void 0,C=0),b;var t},save:i=>d(void 0,null,(function*(){return yield b.schedule((()=>d(void 0,null,(function*(){if(1!=S){S=2;try{yield((n,i)=>v(void 0,null,(function*(){return o.change((o=>((n,o,i,l)=>{((t,e)=>{a(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[s,d]=y(n,o),v=()=>{f=1};let f=1;if(e(null==l?void 0:l(),(([n,o])=>{f=0,c(n,((n,o)=>f?0:t(n)?u(s,o):e(s[o],(o=>c(n,((n,i)=>f?0:t(n)?u(o,i):e(r(o,i),(e=>c(n,((n,o)=>t(n)?u(e,o):e[o]=n))),v)))),v))),c(o,((e,n)=>f?0:t(e)?u(d,n):d[n]=e))})),f){const[t,e]=i();h(s,void 0,t,((t,e,n)=>h(s,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(r(t,e)!==n)return t[e]=n,1})))))),h(d,void 0,e,((t,e,n)=>{r(d,e)!==n&&(d[e]=n)}))}})(o,l,n,i)))})))(n.getContent,i)}catch(t){}S=0}})))),b})),startAutoSave:()=>d(void 0,null,(function*(){return yield b.stopAutoSave().save(),A=n.addDidFinishTransactionListener(((t,e)=>{const n=e();b.save((()=>n))})),b})),stopAutoSave:()=>(e(A,n.delListener),b),schedule:(...e)=>d(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(P,...e),yield d(void 0,null,(function*(){if(!x){for(x=1;!t((e=P,m=e.shift()));)try{yield m()}catch(t){}x=0}var e})),b})),getStore:()=>n,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(b)})(n,(()=>v(void 0,null,(function*(){return 2==s(o.doc[l])?y(o.doc,l):void 0})))));
@@ -1 +1 @@
1
- "use strict";const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{s(n.next(t))}catch(t){r(t)}},a=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,a);s((n=n.apply(t,e)).next())})),r=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{s(n.next(t))}catch(t){r(t)}},a=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,a);s((n=n.apply(t,e)).next())}));const i="storage",a=globalThis.window,s=(s,l,u)=>((s,c,d,v,y)=>{let f,h,p,g=0,S=0,A=0;const L=[],m=t=>o(void 0,null,(function*(){2!=g&&(g=1,yield t(),g=0)})),w={load:(...t)=>o(void 0,[...t],(function*(t={},e={}){return yield m((()=>o(void 0,null,(function*(){try{s.setContent(yield c())}catch(n){s.setContent([t,e])}})))),w})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return w.stopAutoLoad(),yield w.load(e,n),A=1,p=(e=>{const n=n=>{n.storageArea===u&&n.key===l&&e((()=>t(n.newValue)))};return a.addEventListener(i,n),n})(((t,e)=>o(void 0,null,(function*(){yield m((()=>o(void 0,null,(function*(){var n;if(e)s.setTransactionChanges(e());else try{s.setContent(null!=(n=null==t?void 0:t())?n:yield c())}catch(t){}}))))})))),w})),stopAutoLoad:()=>{return A&&(t=p,a.removeEventListener(i,t),p=void 0,A=0),w;var t},save:t=>o(void 0,null,(function*(){return yield w.schedule((()=>o(void 0,null,(function*(){if(1!=g){g=2;try{yield(t=s.getContent,r(void 0,null,(function*(){return u.setItem(l,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))));var e})))}catch(t){}g=0}var t})))),w})),startAutoSave:()=>o(void 0,null,(function*(){return yield w.stopAutoSave().save(),f=s.addDidFinishTransactionListener(((t,e)=>{const n=e();w.save((()=>n))})),w})),stopAutoSave:()=>{var t,n;return t=f,n=s.delListener,!!e(t)||n(t),w},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(L,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=L,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),w})),getStore:()=>s,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(w)})(s,(()=>r(void 0,null,(function*(){return t(u.getItem(l))}))));exports.createLocalPersister=(t,e)=>s(t,e,localStorage),exports.createSessionPersister=(t,e)=>s(t,e,sessionStorage);
1
+ "use strict";const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())})),r=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())}));const i="storage",l=globalThis.window,a=(a,s,u)=>((a,c,d,v,y)=>{let f,h,p,g=0,S=0,A=0;const L=[],m=t=>o(void 0,null,(function*(){2!=g&&(g=1,yield t(),g=0)})),w={load:(t,e)=>o(void 0,null,(function*(){return yield m((()=>o(void 0,null,(function*(){try{a.setContent(yield c())}catch(n){a.setContent([t,e])}})))),w})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return w.stopAutoLoad(),yield w.load(e,n),A=1,p=(e=>{const n=n=>{n.storageArea===u&&n.key===s&&e((()=>t(n.newValue)))};return l.addEventListener(i,n),n})(((t,e)=>o(void 0,null,(function*(){yield m((()=>o(void 0,null,(function*(){var n;if(e)a.setTransactionChanges(e());else try{a.setContent(null!=(n=null==t?void 0:t())?n:yield c())}catch(t){}}))))})))),w})),stopAutoLoad:()=>{return A&&(t=p,l.removeEventListener(i,t),p=void 0,A=0),w;var t},save:t=>o(void 0,null,(function*(){return yield w.schedule((()=>o(void 0,null,(function*(){if(1!=g){g=2;try{yield(t=a.getContent,r(void 0,null,(function*(){return u.setItem(s,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))));var e})))}catch(t){}g=0}var t})))),w})),startAutoSave:()=>o(void 0,null,(function*(){return yield w.stopAutoSave().save(),f=a.addDidFinishTransactionListener(((t,e)=>{const n=e();w.save((()=>n))})),w})),stopAutoSave:()=>{var t,n;return t=f,n=a.delListener,!!e(t)||n(t),w},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(L,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=L,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),w})),getStore:()=>a,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(w)})(a,(()=>r(void 0,null,(function*(){return t(u.getItem(s))}))));exports.createLocalPersister=(t,e)=>a(t,e,localStorage),exports.createSessionPersister=(t,e)=>a(t,e,sessionStorage);
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),c=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),m=n=>e(n)==l,p=e=>{return n=function*(){return c.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=Object,A=E.keys,L=E.freeze,T=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),w=(e,n)=>(delete e[n],e),x=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),S=e=>E.values(e),C=e=>i(A(e)),N=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==C(e),O=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=(e,n)=>null==e?void 0:e.delete(n),b=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(g(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(x(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>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)||f(e)?e:[e]);var j=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const k="SELECT*FROM",q="FROM pragma_table_",J="WHERE",U=J+" schema='main'AND type='table'AND name!='sqlite_schema'",W=e=>{const n=b(),l=(e,t)=>!f(I(I(n,e),t)),d=(l,a,d,c,v)=>j(void 0,null,(function*(){const y=B();x(null!=v?v:{},(e=>o(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=R(y);if(u(f)&&O(n,l)&&c)return yield e("DROP TABLE"+F(l)),void D(n,l);if(u(f)||O(n,l)){const t=I(n,l),r=B([...null!=(m=null==(h=t)?void 0:h.keys())?m:[]]);yield p([...o(f,(n=>j(void 0,null,(function*(){g(r,n)||(yield e(`ALTER TABLE${F(l)}ADD${F(n)}`),D(t,n,""))})))),...d?o(R(r),(n=>j(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${F(l)}DROP${F(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${F(l)}(${F(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+F(e))))});`),D(n,l,b([[a,""],...o(f,(e=>[e,""]))]));var h,m;if(u(f))yield e("DELETE FROM"+F(l));else{const n=[],u=[],d=[];x(v,((e,t)=>{var l;s(n,`(?${l=i(f),",?".repeat(l)})`),s(u,t,...o(f,(n=>e[n]))),s(d,t)})),yield e("INSERT INTO"+F(l)+"("+F(a)+r(o(f,(e=>t+F(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+F(l)+J+F(a)+"NOT IN("+r(o(d,(()=>"?")),t)+")",d)}}));return[()=>j(void 0,null,(function*(){return $(n,T(yield p(o(yield e("SELECT name "+q+"list "+U),(n=>j(void 0,[n],(function*({name:n}){return[n,T(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=b,O(r=n,o=t)||D(r,o,i()),I(r,o)),l,((e,n,t)=>{t!=I(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,t)=>D(n,t)))})),(n,t)=>j(void 0,null,(function*(){const r=l(n,t)?yield e(k+F(n)+J+F(t)+"=?",["_"]):[];return u(r)?null:w(r[0],t)})),(e,n,t,l)=>j(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>j(void 0,null,(function*(){return l(n,t)?T(a(o(yield e(k+F(n)),(e=>[e[t],w(e,t)])),(([e,n])=>!f(e)&&!N(n)))):null})),d]};var Y=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const z=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,c=0;const v=[],y=e=>Y(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),m={load:(...t)=>Y(void 0,[...t],(function*(t={},l={}){return yield y((()=>Y(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),m})),startAutoLoad:(...t)=>Y(void 0,[...t],(function*(t={},r={}){return m.stopAutoLoad(),yield m.load(t,r),c=1,u=l(((t,l)=>Y(void 0,null,(function*(){yield y((()=>Y(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),m})),stopAutoLoad:()=>(c&&(r(u),u=void 0,c=0),m),save:n=>Y(void 0,null,(function*(){return yield m.schedule((()=>Y(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),m})),startAutoSave:()=>Y(void 0,null,(function*(){return yield m.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const t=n();m.save((()=>t))})),m})),stopAutoSave:()=>(h(o,e.delListener),m),schedule:(...e)=>Y(void 0,null,(function*(){return s(v,...e),yield Y(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(m)};var H=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const K="store",V=(e,t,l,r,{storeTableName:o=n})=>{const[i,u,a]=W(t),d=z(e,(()=>H(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,M))?e:{})[K])}))),(e=>H(void 0,null,(function*(){return d.schedule(i,(()=>H(void 0,null,(function*(){var n;yield a(o,M,"_",{[K]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,r);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:n+"_values"},ee=(e,n,t,l)=>{const r=b();return x(e,((e,o)=>{const i=d(S(P(n,m(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||D(r,o,i)})),r};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,r)=>{const[o,i,[u,s,c]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(S(P(Z,t)),0,C(Z)),r=l[2];return[ee(e,{[Q]:null,[G]:M},Q,(e=>e==r)),ee(n,{[X]:null,[G]:M,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,n)=>n==r)),l]})(r),[v,y,h,m,E]=W(n),A=z(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return T(a(yield p(_(o,((e,n)=>ne(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>e[1])))})),n=yield ne(void 0,null,(function*(){return u?yield y(c,M):{}}));return N(e)&&f(n)?void 0:[e,n]}))),(e=>ne(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>_(i,(([n,t,l,r],o)=>()=>ne(void 0,null,(function*(){return yield E(n,t,l,r,e[o])})))))(n),(e=>s?()=>ne(void 0,null,(function*(){return yield h(c,M,"_",e)})):null)(t))}))),t,l);return A},le="json",re="autoLoadIntervalSeconds",oe={mode:le,[re]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,n,t,l,r)=>{const o=P(oe,m(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(o.mode==le?V:te)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ie+ue))[0][ue],l=(yield t(ie+ae))[0][ae];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*o[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,r(n)}),o)};exports.createCrSqliteWasmPersister=(e,n,t)=>de(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate((()=>e()))),(e=>e()));
1
+ "use strict";const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),c=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),m=n=>e(n)==l,p=e=>{return n=function*(){return c.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=Object,A=E.keys,L=E.freeze,T=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),w=(e,n)=>(delete e[n],e),x=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),S=e=>E.values(e),C=e=>i(A(e)),N=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==C(e),O=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=(e,n)=>null==e?void 0:e.delete(n),b=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(g(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(x(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>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)||f(e)?e:[e]);var j=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const k="SELECT*FROM",q="FROM pragma_table_",J="WHERE",U=J+" schema='main'AND type='table'AND name!='sqlite_schema'",W=e=>{const n=b(),l=(e,t)=>!f(I(I(n,e),t)),d=(l,a,d,c,v)=>j(void 0,null,(function*(){const y=B();x(null!=v?v:{},(e=>o(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=R(y);if(u(f)&&O(n,l)&&c)return yield e("DROP TABLE"+F(l)),void D(n,l);if(u(f)||O(n,l)){const t=I(n,l),r=B([...null!=(m=null==(h=t)?void 0:h.keys())?m:[]]);yield p([...o(f,(n=>j(void 0,null,(function*(){g(r,n)||(yield e(`ALTER TABLE${F(l)}ADD${F(n)}`),D(t,n,""))})))),...d?o(R(r),(n=>j(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${F(l)}DROP${F(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${F(l)}(${F(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+F(e))))});`),D(n,l,b([[a,""],...o(f,(e=>[e,""]))]));var h,m;if(u(f))yield e("DELETE FROM"+F(l));else{const n=[],u=[],d=[];x(v,((e,t)=>{var l;s(n,`(?${l=i(f),",?".repeat(l)})`),s(u,t,...o(f,(n=>e[n]))),s(d,t)})),yield e("INSERT INTO"+F(l)+"("+F(a)+r(o(f,(e=>t+F(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+F(l)+J+F(a)+"NOT IN("+r(o(d,(()=>"?")),t)+")",d)}}));return[()=>j(void 0,null,(function*(){return $(n,T(yield p(o(yield e("SELECT name "+q+"list "+U),(n=>j(void 0,[n],(function*({name:n}){return[n,T(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=b,O(r=n,o=t)||D(r,o,i()),I(r,o)),l,((e,n,t)=>{t!=I(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,t)=>D(n,t)))})),(n,t)=>j(void 0,null,(function*(){const r=l(n,t)?yield e(k+F(n)+J+F(t)+"=?",["_"]):[];return u(r)?null:w(r[0],t)})),(e,n,t,l)=>j(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>j(void 0,null,(function*(){return l(n,t)?T(a(o(yield e(k+F(n)),(e=>[e[t],w(e,t)])),(([e,n])=>!f(e)&&!N(n)))):{}})),d]};var Y=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const z=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,c=0;const v=[],y=e=>Y(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),m={load:(t,l)=>Y(void 0,null,(function*(){return yield y((()=>Y(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),m})),startAutoLoad:(...t)=>Y(void 0,[...t],(function*(t={},r={}){return m.stopAutoLoad(),yield m.load(t,r),c=1,u=l(((t,l)=>Y(void 0,null,(function*(){yield y((()=>Y(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),m})),stopAutoLoad:()=>(c&&(r(u),u=void 0,c=0),m),save:n=>Y(void 0,null,(function*(){return yield m.schedule((()=>Y(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),m})),startAutoSave:()=>Y(void 0,null,(function*(){return yield m.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const t=n();m.save((()=>t))})),m})),stopAutoSave:()=>(h(o,e.delListener),m),schedule:(...e)=>Y(void 0,null,(function*(){return s(v,...e),yield Y(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(m)};var H=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const K="store",V=(e,t,l,r,{storeTableName:o=n})=>{const[i,u,a]=W(t),d=z(e,(()=>H(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,M))?e:{})[K])}))),(e=>H(void 0,null,(function*(){return d.schedule(i,(()=>H(void 0,null,(function*(){var n;yield a(o,M,"_",{[K]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,r);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:n+"_values"},ee=(e,n,t,l)=>{const r=b();return x(e,((e,o)=>{const i=d(S(P(n,m(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||D(r,o,i)})),r};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,r)=>{const[o,i,[u,s,c]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(S(P(Z,t)),0,C(Z)),r=l[2];return[ee(e,{[Q]:null,[G]:M},Q,(e=>e==r)),ee(n,{[X]:null,[G]:M,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,n)=>n==r)),l]})(r),[v,y,h,m,E]=W(n),A=z(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return T(a(yield p(_(o,((e,n)=>ne(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!N(e[1]))))})),n=yield ne(void 0,null,(function*(){return u?yield y(c,M):{}}));return N(e)&&f(n)?void 0:[e,n]}))),(e=>ne(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>_(i,(([n,t,l,r],o)=>()=>ne(void 0,null,(function*(){return yield E(n,t,l,r,e[o])})))))(n),(e=>s?()=>ne(void 0,null,(function*(){return yield h(c,M,"_",e)})):null)(t))}))),t,l);return A},le="json",re="autoLoadIntervalSeconds",oe={mode:le,[re]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,n,t,l,r)=>{const o=P(oe,m(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(o.mode==le?V:te)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ie+ue))[0][ue],l=(yield t(ie+ae))[0][ae];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*o[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,r(n)}),o)};exports.createCrSqliteWasmPersister=(e,n,t)=>de(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate((()=>e()))),(e=>e()));
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),e=require("fs/promises");const n="utf8",r=JSON.parse,o=t=>null==t,i=Object.freeze;var l=(t,e,n)=>new Promise(((r,o)=>{var i=t=>{try{u(n.next(t))}catch(t){o(t)}},l=t=>{try{u(n.throw(t))}catch(t){o(t)}},u=t=>t.done?r(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())})),u=(t,e,n)=>new Promise(((r,o)=>{var i=t=>{try{u(n.next(t))}catch(t){o(t)}},l=t=>{try{u(n.throw(t))}catch(t){o(t)}},u=t=>t.done?r(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())}));exports.createFilePersister=(a,s)=>((r,a,d,c,v)=>{let y,f,h,p=0,A=0,S=0;const w=[],L=t=>l(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(...t)=>l(void 0,[...t],(function*(t={},e={}){return yield L((()=>l(void 0,null,(function*(){try{r.setContent(yield a())}catch(n){r.setContent([t,e])}})))),g})),startAutoLoad:(...e)=>l(void 0,[...e],(function*(e={},n={}){return g.stopAutoLoad(),yield g.load(e,n),S=1,o=(t,e)=>l(void 0,null,(function*(){yield L((()=>l(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield a())}catch(t){}}))))})),h=t.watch(s,(()=>o())),g;var o})),stopAutoLoad:()=>{return S&&(null==(t=h)||t.close(),h=void 0,S=0),g;var t},save:t=>l(void 0,null,(function*(){return yield g.schedule((()=>l(void 0,null,(function*(){if(1!=p){p=2;try{yield(t=r.getContent,u(void 0,null,(function*(){return yield e.writeFile(s,(r=t(),JSON.stringify(r,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),r={},[...e].reduce(n,r)):e;var n,r}))),n);var r})))}catch(t){}p=0}var t})))),g})),startAutoSave:()=>l(void 0,null,(function*(){return yield g.stopAutoSave().save(),y=r.addDidFinishTransactionListener(((t,e)=>{const n=e();g.save((()=>n))})),g})),stopAutoSave:()=>{var t,e;return t=y,e=r.delListener,!!o(t)||e(t),g},schedule:(...t)=>l(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...t),yield l(void 0,null,(function*(){if(!A){for(A=1;!o((t=w,f=t.shift()));)try{yield f()}catch(t){}A=0}var t})),g})),getStore:()=>r,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(g)})(a,(()=>u(void 0,null,(function*(){return r(yield e.readFile(s,n))}))));
1
+ "use strict";var t=require("fs"),e=require("fs/promises");const n="utf8",r=JSON.parse,o=t=>null==t,i=Object.freeze;var l=(t,e,n)=>new Promise(((r,o)=>{var i=t=>{try{u(n.next(t))}catch(t){o(t)}},l=t=>{try{u(n.throw(t))}catch(t){o(t)}},u=t=>t.done?r(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())})),u=(t,e,n)=>new Promise(((r,o)=>{var i=t=>{try{u(n.next(t))}catch(t){o(t)}},l=t=>{try{u(n.throw(t))}catch(t){o(t)}},u=t=>t.done?r(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())}));exports.createFilePersister=(a,s)=>((r,a,d,c,v)=>{let y,f,h,p=0,A=0,S=0;const w=[],L=t=>l(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(t,e)=>l(void 0,null,(function*(){return yield L((()=>l(void 0,null,(function*(){try{r.setContent(yield a())}catch(n){r.setContent([t,e])}})))),g})),startAutoLoad:(...e)=>l(void 0,[...e],(function*(e={},n={}){return g.stopAutoLoad(),yield g.load(e,n),S=1,o=(t,e)=>l(void 0,null,(function*(){yield L((()=>l(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield a())}catch(t){}}))))})),h=t.watch(s,(()=>o())),g;var o})),stopAutoLoad:()=>{return S&&(null==(t=h)||t.close(),h=void 0,S=0),g;var t},save:t=>l(void 0,null,(function*(){return yield g.schedule((()=>l(void 0,null,(function*(){if(1!=p){p=2;try{yield(t=r.getContent,u(void 0,null,(function*(){return yield e.writeFile(s,(r=t(),JSON.stringify(r,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),r={},[...e].reduce(n,r)):e;var n,r}))),n);var r})))}catch(t){}p=0}var t})))),g})),startAutoSave:()=>l(void 0,null,(function*(){return yield g.stopAutoSave().save(),y=r.addDidFinishTransactionListener(((t,e)=>{const n=e();g.save((()=>n))})),g})),stopAutoSave:()=>{var t,e;return t=y,e=r.delListener,!!o(t)||e(t),g},schedule:(...t)=>l(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...t),yield l(void 0,null,(function*(){if(!A){for(A=1;!o((t=w,f=t.shift()));)try{yield f()}catch(t){}A=0}var t})),g})),getStore:()=>r,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(g)})(a,(()=>u(void 0,null,(function*(){return r(yield e.readFile(s,n))}))));
@@ -1 +1 @@
1
- "use strict";const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())})),r=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())}));const i=t=>t.headers.get("ETag");exports.createRemotePersister=(l,a,u,d)=>{let s;return((t,l,c,v,y)=>{let f,h,p,A=0,S=0,g=0;const m=[],x=t=>o(void 0,null,(function*(){2!=A&&(A=1,yield t(),A=0)})),C={load:(...e)=>o(void 0,[...e],(function*(e={},n={}){return yield x((()=>o(void 0,null,(function*(){try{t.setContent(yield l())}catch(o){t.setContent([e,n])}})))),C})),startAutoLoad:(...n)=>o(void 0,[...n],(function*(n={},u={}){return C.stopAutoLoad(),yield C.load(n,u),g=1,c=(e,n)=>o(void 0,null,(function*(){yield x((()=>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 l())}catch(t){}}))))})),p=setInterval((()=>r(void 0,null,(function*(){const t=yield fetch(a,{method:"HEAD"}),n=i(t);e(s)||e(n)||n==s||(s=n,c())}))),1e3*d),C;var c})),stopAutoLoad:()=>(g&&(clearInterval(p),p=void 0,g=0),C),save:e=>o(void 0,null,(function*(){return yield C.schedule((()=>o(void 0,null,(function*(){if(1!=A){A=2;try{yield(e=t.getContent,r(void 0,null,(function*(){return yield fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var t})))}catch(t){}A=0}var e})))),C})),startAutoSave:()=>o(void 0,null,(function*(){return yield C.stopAutoSave().save(),f=t.addDidFinishTransactionListener(((t,e)=>{const n=e();C.save((()=>n))})),C})),stopAutoSave:()=>{var n,o;return n=f,o=t.delListener,!!e(n)||o(n),C},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(m,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=m,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(C)})(l,(()=>r(void 0,null,(function*(){const e=yield fetch(a);return s=i(e),t(yield e.text())}))))};
1
+ "use strict";const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())})),r=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())}));const i=t=>t.headers.get("ETag");exports.createRemotePersister=(l,a,u,d)=>{let s;return((t,l,c,v,y)=>{let f,h,p,A=0,S=0,g=0;const m=[],x=t=>o(void 0,null,(function*(){2!=A&&(A=1,yield t(),A=0)})),C={load:(e,n)=>o(void 0,null,(function*(){return yield x((()=>o(void 0,null,(function*(){try{t.setContent(yield l())}catch(o){t.setContent([e,n])}})))),C})),startAutoLoad:(...n)=>o(void 0,[...n],(function*(n={},u={}){return C.stopAutoLoad(),yield C.load(n,u),g=1,c=(e,n)=>o(void 0,null,(function*(){yield x((()=>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 l())}catch(t){}}))))})),p=setInterval((()=>r(void 0,null,(function*(){const t=yield fetch(a,{method:"HEAD"}),n=i(t);e(s)||e(n)||n==s||(s=n,c())}))),1e3*d),C;var c})),stopAutoLoad:()=>(g&&(clearInterval(p),p=void 0,g=0),C),save:e=>o(void 0,null,(function*(){return yield C.schedule((()=>o(void 0,null,(function*(){if(1!=A){A=2;try{yield(e=t.getContent,r(void 0,null,(function*(){return yield fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var t})))}catch(t){}A=0}var e})))),C})),startAutoSave:()=>o(void 0,null,(function*(){return yield C.stopAutoSave().save(),f=t.addDidFinishTransactionListener(((t,e)=>{const n=e();C.save((()=>n))})),C})),stopAutoSave:()=>{var n,o;return n=f,o=t.delListener,!!e(n)||o(n),C},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(m,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=m,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(C)})(l,(()=>r(void 0,null,(function*(){const e=yield fetch(a);return s=i(e),t(yield e.text())}))))};
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="tinybase",n=",",l=e(""),r=(e,t="")=>e.join(t),o=(e,t)=>e.map(t),i=e=>e.length,u=e=>0==i(e),a=(e,t)=>e.filter(t),d=(e,t,n)=>e.slice(t,n),s=(e,...t)=>e.push(...t),c=Promise,v=JSON.parse,y=(e,t)=>e instanceof t,f=e=>null==e,h=(e,t,n)=>f(e)?null==n?void 0:n():t(e),p=t=>e(t)==l,m=e=>{return t=function*(){return c.all(e)},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t},E=Object,A=E.keys,P=E.freeze,w=(e=[])=>E.fromEntries(e),b=(...e)=>E.assign({},...e),L=(e,t)=>(delete e[t],e),T=(e,t)=>o(E.entries(e),(([e,n])=>t(n,e))),O=e=>E.values(e),S=e=>i(A(e)),x=e=>(e=>y(e,E)&&e.constructor==E)(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),g=(e,t)=>null==e?void 0:e.get(t),I=(e,t)=>{var n;return o([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},D=(e,t,n)=>f(n)?(N(e,t),e):null==e?void 0:e.set(t,n),$=(e,t,n,l=D)=>(T(t,((t,l)=>n(e,l,t))),((e,t)=>{((e,t)=>{null==e||e.forEach(t)})(e,((e,n)=>t(n)))})(e,(n=>((e,t)=>!f(((e,t)=>h(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var k=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const q="SELECT*FROM",B="FROM pragma_table_",J="WHERE",V=J+" schema='main'AND type='table'AND name!='sqlite_schema'",W=e=>{const t=_(),l=(e,n)=>!f(g(g(t,e),n)),d=(l,a,d,c,v)=>k(void 0,null,(function*(){const y=F();T(null!=v?v:{},(e=>o(A(e),(e=>{return n=e,null==(t=y)?void 0:t.add(n);var t,n}))));const f=C(y);if(u(f)&&R(t,l)&&c)return yield e("DROP TABLE"+M(l)),void D(t,l);if(u(f)||R(t,l)){const n=g(t,l),r=F([...null!=(p=null==(h=n)?void 0:h.keys())?p:[]]);yield m([...o(f,(t=>k(void 0,null,(function*(){N(r,t)||(yield e(`ALTER TABLE${M(l)}ADD${M(t)}`),D(n,t,""))})))),...d?o(C(r),(t=>k(void 0,null,(function*(){t!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(t)}`),D(n,t))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>n+M(e))))});`),D(t,l,_([[a,""],...o(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const t=[],u=[],d=[];T(v,((e,n)=>{var l;s(t,`(?${l=i(f),",?".repeat(l)})`),s(u,n,...o(f,(t=>e[t]))),s(d,n)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>n+M(e))))+")VALUES"+r(t,n),u),yield e("DELETE FROM"+M(l)+J+M(a)+"NOT IN("+r(o(d,(()=>"?")),n)+")",d)}}));return[()=>k(void 0,null,(function*(){return $(t,w(yield m(o(yield e("SELECT name "+B+"list "+V),(t=>k(void 0,[t],(function*({name:t}){return[t,w(o(yield e("SELECT name,type "+B+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,n,l)=>{return D(t,n,$((i=_,R(r=t,o=n)||D(r,o,i()),g(r,o)),l,((e,t,n)=>{n!=g(e,t)&&D(e,t,n)}),((e,t)=>D(e,t))));var r,o,i}),((e,n)=>D(t,n)))})),(t,n)=>k(void 0,null,(function*(){const r=l(t,n)?yield e(q+M(t)+J+M(n)+"=?",["_"]):[];return u(r)?null:L(r[0],n)})),(e,t,n,l)=>k(void 0,null,(function*(){return yield d(e,t,!0,!0,{[n]:l})})),(t,n)=>k(void 0,null,(function*(){return l(t,n)?w(a(o(yield e(q+M(t)),(e=>[e[n],L(e,n)])),(([e,t])=>!f(e)&&!x(t)))):null})),d]};var Y=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const z=(e,t,n,l,r)=>{let o,i,u,a=0,d=0,c=0;const v=[],y=e=>Y(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),p={load:(...n)=>Y(void 0,[...n],(function*(n={},l={}){return yield y((()=>Y(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),p})),startAutoLoad:(...n)=>Y(void 0,[...n],(function*(n={},r={}){return p.stopAutoLoad(),yield p.load(n,r),c=1,u=l(((n,l)=>Y(void 0,null,(function*(){yield y((()=>Y(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==n?void 0:n())?r:yield t())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(c&&(r(u),u=void 0,c=0),p),save:t=>Y(void 0,null,(function*(){return yield p.schedule((()=>Y(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),p})),startAutoSave:()=>Y(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();p.save((()=>n))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>Y(void 0,null,(function*(){return s(v,...e),yield Y(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(p)};var H=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const K="store",U=(e,n,l,r,{storeTableName:o=t})=>{const[i,u,a]=W(n),d=z(e,(()=>H(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,j))?e:{})[K])}))),(e=>H(void 0,null,(function*(){return d.schedule(i,(()=>H(void 0,null,(function*(){var t;yield a(o,j,"_",{[K]:(t=e(),JSON.stringify(t,((e,t)=>{return y(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),l,r);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:t+"_values"},ee=(e,t,n,l)=>{const r=_();return T(e,((e,o)=>{const i=d(O(b(t,p(e)?{[n]:e}:e)),0,S(t));f(i[0])||l(o,i[0])||D(r,o,i)})),r};var te=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ne=(e,t,n,l,r)=>{const[o,i,[u,s,c]]=(({tables:{load:e={},save:t={}}={},values:n={}})=>{const l=d(O(b(Z,n)),0,S(Z)),r=l[2];return[ee(e,{[Q]:null,[G]:j},Q,(e=>e==r)),ee(t,{[X]:null,[G]:j,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,t)=>t==r)),l]})(r),[v,y,h,p,E]=W(t),A=z(e,(()=>te(void 0,null,(function*(){yield v();const e=yield te(void 0,null,(function*(){return w(a(yield m(I(o,((e,t)=>te(void 0,[e,t],(function*([e,t],n){return[e,yield p(n,t)]}))))),(e=>e[1])))})),t=yield te(void 0,null,(function*(){return u?yield y(c,j):{}}));return x(e)&&f(t)?void 0:[e,t]}))),(e=>te(void 0,null,(function*(){const[t,n]=e();A.schedule(v,...(e=>I(i,(([t,n,l,r],o)=>()=>te(void 0,null,(function*(){return yield E(t,n,l,r,e[o])})))))(t),(e=>s?()=>te(void 0,null,(function*(){return yield h(c,j,"_",e)})):null)(n))}))),n,l);return A},le="json",re="autoLoadIntervalSeconds",oe={mode:le,[re]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,t,n,l,r)=>{const o=b(oe,p(t)?{storeTableName:t}:null!=t?t:{});let i,u;return(o.mode==le?U:ne)(e,n,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield n(ie+ue))[0][ue],l=(yield n(ie+ae))[0][ae];t==(null!=i?i:i=t)&&l==(null!=u?u:u=l)||(e(),i=t,u=l)}catch(e){}},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t}),1e3*o[re]),l(e)]),(([e,t])=>{clearInterval(e),i=u=null,r(t)}),o)};var se=Object.defineProperty,ce=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;exports.createSqliteWasmPersister=(e,t,n,l)=>de(e,l,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))ve.call(t,n)&&fe(e,n,t[n]);if(ce)for(var n of ce(t))ye.call(t,n)&&fe(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>t.capi.sqlite3_update_hook(n,(()=>e()),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)));
1
+ "use strict";const e=e=>typeof e,t="tinybase",n=",",l=e(""),r=(e,t="")=>e.join(t),o=(e,t)=>e.map(t),i=e=>e.length,u=e=>0==i(e),a=(e,t)=>e.filter(t),d=(e,t,n)=>e.slice(t,n),s=(e,...t)=>e.push(...t),c=Promise,v=JSON.parse,y=(e,t)=>e instanceof t,f=e=>null==e,h=(e,t,n)=>f(e)?null==n?void 0:n():t(e),p=t=>e(t)==l,m=e=>{return t=function*(){return c.all(e)},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t},E=Object,A=E.keys,P=E.freeze,w=(e=[])=>E.fromEntries(e),b=(...e)=>E.assign({},...e),L=(e,t)=>(delete e[t],e),T=(e,t)=>o(E.entries(e),(([e,n])=>t(n,e))),O=e=>E.values(e),S=e=>i(A(e)),x=e=>(e=>y(e,E)&&e.constructor==E)(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),g=(e,t)=>null==e?void 0:e.get(t),I=(e,t)=>{var n;return o([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},D=(e,t,n)=>f(n)?(N(e,t),e):null==e?void 0:e.set(t,n),$=(e,t,n,l=D)=>(T(t,((t,l)=>n(e,l,t))),((e,t)=>{((e,t)=>{null==e||e.forEach(t)})(e,((e,n)=>t(n)))})(e,(n=>((e,t)=>!f(((e,t)=>h(e,(e=>e[t])))(e,t)))(t,n)?0:l(e,n))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var k=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const q="SELECT*FROM",B="FROM pragma_table_",J="WHERE",V=J+" schema='main'AND type='table'AND name!='sqlite_schema'",W=e=>{const t=_(),l=(e,n)=>!f(g(g(t,e),n)),d=(l,a,d,c,v)=>k(void 0,null,(function*(){const y=F();T(null!=v?v:{},(e=>o(A(e),(e=>{return n=e,null==(t=y)?void 0:t.add(n);var t,n}))));const f=C(y);if(u(f)&&R(t,l)&&c)return yield e("DROP TABLE"+M(l)),void D(t,l);if(u(f)||R(t,l)){const n=g(t,l),r=F([...null!=(p=null==(h=n)?void 0:h.keys())?p:[]]);yield m([...o(f,(t=>k(void 0,null,(function*(){N(r,t)||(yield e(`ALTER TABLE${M(l)}ADD${M(t)}`),D(n,t,""))})))),...d?o(C(r),(t=>k(void 0,null,(function*(){t!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(t)}`),D(n,t))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>n+M(e))))});`),D(t,l,_([[a,""],...o(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const t=[],u=[],d=[];T(v,((e,n)=>{var l;s(t,`(?${l=i(f),",?".repeat(l)})`),s(u,n,...o(f,(t=>e[t]))),s(d,n)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>n+M(e))))+")VALUES"+r(t,n),u),yield e("DELETE FROM"+M(l)+J+M(a)+"NOT IN("+r(o(d,(()=>"?")),n)+")",d)}}));return[()=>k(void 0,null,(function*(){return $(t,w(yield m(o(yield e("SELECT name "+B+"list "+V),(t=>k(void 0,[t],(function*({name:t}){return[t,w(o(yield e("SELECT name,type "+B+"info(?)",[t]),(({name:e,type:t})=>[e,t])))]})))))),((e,n,l)=>{return D(t,n,$((i=_,R(r=t,o=n)||D(r,o,i()),g(r,o)),l,((e,t,n)=>{n!=g(e,t)&&D(e,t,n)}),((e,t)=>D(e,t))));var r,o,i}),((e,n)=>D(t,n)))})),(t,n)=>k(void 0,null,(function*(){const r=l(t,n)?yield e(q+M(t)+J+M(n)+"=?",["_"]):[];return u(r)?null:L(r[0],n)})),(e,t,n,l)=>k(void 0,null,(function*(){return yield d(e,t,!0,!0,{[n]:l})})),(t,n)=>k(void 0,null,(function*(){return l(t,n)?w(a(o(yield e(q+M(t)),(e=>[e[n],L(e,n)])),(([e,t])=>!f(e)&&!x(t)))):{}})),d]};var Y=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const z=(e,t,n,l,r)=>{let o,i,u,a=0,d=0,c=0;const v=[],y=e=>Y(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),p={load:(n,l)=>Y(void 0,null,(function*(){return yield y((()=>Y(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),p})),startAutoLoad:(...n)=>Y(void 0,[...n],(function*(n={},r={}){return p.stopAutoLoad(),yield p.load(n,r),c=1,u=l(((n,l)=>Y(void 0,null,(function*(){yield y((()=>Y(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==n?void 0:n())?r:yield t())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(c&&(r(u),u=void 0,c=0),p),save:t=>Y(void 0,null,(function*(){return yield p.schedule((()=>Y(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),p})),startAutoSave:()=>Y(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();p.save((()=>n))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>Y(void 0,null,(function*(){return s(v,...e),yield Y(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(p)};var H=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const K="store",U=(e,n,l,r,{storeTableName:o=t})=>{const[i,u,a]=W(n),d=z(e,(()=>H(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,j))?e:{})[K])}))),(e=>H(void 0,null,(function*(){return d.schedule(i,(()=>H(void 0,null,(function*(){var t;yield a(o,j,"_",{[K]:(t=e(),JSON.stringify(t,((e,t)=>{return y(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})))})}))))}))),l,r);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:t+"_values"},ee=(e,t,n,l)=>{const r=_();return T(e,((e,o)=>{const i=d(O(b(t,p(e)?{[n]:e}:e)),0,S(t));f(i[0])||l(o,i[0])||D(r,o,i)})),r};var te=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{u(n.next(e))}catch(e){r(e)}},i=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((n=n.apply(e,t)).next())}));const ne=(e,t,n,l,r)=>{const[o,i,[u,s,c]]=(({tables:{load:e={},save:t={}}={},values:n={}})=>{const l=d(O(b(Z,n)),0,S(Z)),r=l[2];return[ee(e,{[Q]:null,[G]:j},Q,(e=>e==r)),ee(t,{[X]:null,[G]:j,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,t)=>t==r)),l]})(r),[v,y,h,p,E]=W(t),A=z(e,(()=>te(void 0,null,(function*(){yield v();const e=yield te(void 0,null,(function*(){return w(a(yield m(I(o,((e,t)=>te(void 0,[e,t],(function*([e,t],n){return[e,yield p(n,t)]}))))),(e=>!x(e[1]))))})),t=yield te(void 0,null,(function*(){return u?yield y(c,j):{}}));return x(e)&&f(t)?void 0:[e,t]}))),(e=>te(void 0,null,(function*(){const[t,n]=e();A.schedule(v,...(e=>I(i,(([t,n,l,r],o)=>()=>te(void 0,null,(function*(){return yield E(t,n,l,r,e[o])})))))(t),(e=>s?()=>te(void 0,null,(function*(){return yield h(c,j,"_",e)})):null)(n))}))),n,l);return A},le="json",re="autoLoadIntervalSeconds",oe={mode:le,[re]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,t,n,l,r)=>{const o=b(oe,p(t)?{storeTableName:t}:null!=t?t:{});let i,u;return(o.mode==le?U:ne)(e,n,(e=>[setInterval((()=>{return t=function*(){try{const t=(yield n(ie+ue))[0][ue],l=(yield n(ie+ae))[0][ae];t==(null!=i?i:i=t)&&l==(null!=u?u:u=l)||(e(),i=t,u=l)}catch(e){}},new Promise(((e,n)=>{var l=e=>{try{o(t.next(e))}catch(e){n(e)}},r=e=>{try{o(t.throw(e))}catch(e){n(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);o((t=t.apply(void 0,null)).next())}));var t}),1e3*o[re]),l(e)]),(([e,t])=>{clearInterval(e),i=u=null,r(t)}),o)};var se=Object.defineProperty,ce=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;exports.createSqliteWasmPersister=(e,t,n,l)=>de(e,l,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,t)=>{for(var n in t||(t={}))ve.call(t,n)&&fe(e,n,t[n]);if(ce)for(var n of ce(t))ye.call(t,n)&&fe(e,n,t[n]);return e})({},e)))},new Promise(((e,t)=>{var n=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>t.capi.sqlite3_update_hook(n,(()=>e()),0)),(()=>t.capi.sqlite3_update_hook(n,(()=>0),0)));