tinybase 4.0.3 → 4.0.4

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 (165) 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-expo-sqlite.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-file.cjs +1 -1
  10. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  12. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  16. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  18. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  19. package/lib/cjs/persisters.cjs +1 -1
  20. package/lib/cjs/persisters.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-expo-sqlite.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  38. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  40. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  41. package/lib/cjs-es6/persisters.cjs +1 -1
  42. package/lib/cjs-es6/persisters.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 +56 -18
  46. package/lib/debug/persisters/persister-browser.js +55 -22
  47. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +106 -62
  48. package/lib/debug/persisters/persister-expo-sqlite.js +111 -62
  49. package/lib/debug/persisters/persister-file.js +51 -18
  50. package/lib/debug/persisters/persister-remote.js +51 -17
  51. package/lib/debug/persisters/persister-sqlite-wasm.js +106 -62
  52. package/lib/debug/persisters/persister-sqlite3.js +111 -62
  53. package/lib/debug/persisters/persister-yjs.js +63 -27
  54. package/lib/debug/persisters.js +49 -17
  55. package/lib/debug/tinybase.js +35 -17
  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-expo-sqlite.js +1 -1
  63. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  64. package/lib/es6/persisters/persister-file.js +1 -1
  65. package/lib/es6/persisters/persister-file.js.gz +0 -0
  66. package/lib/es6/persisters/persister-remote.js +1 -1
  67. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  68. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  69. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  70. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  71. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  72. package/lib/es6/persisters/persister-yjs.js +1 -1
  73. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  74. package/lib/es6/persisters.js +1 -1
  75. package/lib/es6/persisters.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-expo-sqlite.js +1 -1
  85. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  86. package/lib/persisters/persister-file.js +1 -1
  87. package/lib/persisters/persister-file.js.gz +0 -0
  88. package/lib/persisters/persister-remote.js +1 -1
  89. package/lib/persisters/persister-remote.js.gz +0 -0
  90. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  91. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  92. package/lib/persisters/persister-sqlite3.js +1 -1
  93. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  94. package/lib/persisters/persister-yjs.js +1 -1
  95. package/lib/persisters/persister-yjs.js.gz +0 -0
  96. package/lib/persisters.js +1 -1
  97. package/lib/persisters.js.gz +0 -0
  98. package/lib/tinybase.js +1 -1
  99. package/lib/tinybase.js.gz +0 -0
  100. package/lib/types/persisters/persister-automerge.d.ts +4 -0
  101. package/lib/types/persisters/persister-browser.d.ts +8 -0
  102. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +10 -2
  103. package/lib/types/persisters/persister-expo-sqlite.d.ts +8 -0
  104. package/lib/types/persisters/persister-file.d.ts +8 -1
  105. package/lib/types/persisters/persister-remote.d.ts +4 -0
  106. package/lib/types/persisters/persister-sqlite-wasm.d.ts +8 -0
  107. package/lib/types/persisters/persister-sqlite3.d.ts +8 -0
  108. package/lib/types/persisters/persister-yjs.d.ts +4 -0
  109. package/lib/types/persisters.d.ts +16 -3
  110. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +5 -0
  111. package/lib/types/with-schemas/persisters/persister-browser.d.ts +10 -0
  112. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +12 -2
  113. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +10 -0
  114. package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -1
  115. package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -0
  116. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +10 -0
  117. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +10 -0
  118. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +5 -0
  119. package/lib/types/with-schemas/persisters.d.ts +17 -3
  120. package/lib/umd/persisters/persister-automerge.js +1 -1
  121. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  122. package/lib/umd/persisters/persister-browser.js +1 -1
  123. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  124. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  125. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  126. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  127. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  128. package/lib/umd/persisters/persister-file.js +1 -1
  129. package/lib/umd/persisters/persister-file.js.gz +0 -0
  130. package/lib/umd/persisters/persister-remote.js +1 -1
  131. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  132. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  133. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  134. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  135. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  136. package/lib/umd/persisters/persister-yjs.js +1 -1
  137. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  138. package/lib/umd/persisters.js +1 -1
  139. package/lib/umd/persisters.js.gz +0 -0
  140. package/lib/umd/tinybase.js +1 -1
  141. package/lib/umd/tinybase.js.gz +0 -0
  142. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  143. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  144. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  145. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  146. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  147. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  148. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  149. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  150. package/lib/umd-es6/persisters/persister-file.js +1 -1
  151. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  152. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  153. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  154. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  155. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  156. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  157. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  158. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  159. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  160. package/lib/umd-es6/persisters.js +1 -1
  161. package/lib/umd-es6/persisters.js.gz +0 -0
  162. package/lib/umd-es6/tinybase.js +1 -1
  163. package/lib/umd-es6/tinybase.js.gz +0 -0
  164. package/package.json +5 -5
  165. package/readme.md +2 -2
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Ids",f="Table",g=f+"s",L=f+h,w="Row",S=w+h,T="Sorted"+w+h,v="Cell",R=v+h,y="Value",I=y+"s",p=y+h,C=e=>s+e,b=Math.max,V=Math.min,m=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),x=e=>e==n||e==a,D=e=>t(e)==r,J=e=>Array.isArray(e),A=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>W(e)===W(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),j=(e,t)=>e.sort(t),O=(e,t)=>e.forEach(t),P=(e,t)=>e.map(t),B=e=>q(e,((e,t)=>e+t),0),W=e=>e.length,$=e=>0==W(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>P(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>W(Y(e)))(e),oe=e=>e.size,re=(e,t)=>e?.has(t)??!1,le=e=>k(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),fe=e=>[...e?.keys()??[]],ge=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>k(s)?(ue(e,t),e):e?.set(t,s),Se=(e,t,s)=>(re(e,t)||we(e,t,s()),ge(e,t)),Te=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),ve=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Re=(e,t,s)=>ve(e,(e=>ve(e,t,s)),ae),ye=(e,t,s)=>ve(e,(e=>Re(e,t,s)),ae),Ie=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ie(e,Ie),Ce=e=>Ie(e,pe),be=(e,t,s,n,a=0)=>M((s?Se:ge)(e,t[a],a>W(t)-2?s:he),(o=>{if(a>W(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=e=>{const s=t(e);return x(s)||s==o&&m(e)?s:void 0},me=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(J(e)||k(e)?e:[e]),Me=(e,t)=>e?.add(t),xe=(e,t,s)=>{const n=e.hasRow,a=he(),o=he(),r=he(),l=he(),i=he(),c=(t,s,...n)=>{const a=Se(i,t,ke);return O(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>M(ge(i,t),(n=>{O($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(i,t)})),u=(e,s)=>{we(a,e,s),re(o,e)||(we(o,e,t()),we(r,e,he()),we(l,e,he()))},h=e=>{we(a,e),we(o,e),we(r,e),we(l,e),d(e)};return[()=>e,()=>fe(a),e=>Le(o,e),e=>re(o,e),e=>ge(a,e),e=>ge(o,e),(e,t)=>we(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const f=he(),g=he(),L=ge(r,t),w=ge(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=ge(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||J(r)&&J(l)&&z(r,l)||we(f,t,[r,l]),!k(h)){const e=ge(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&we(g,t,s)}},T=e=>{o((()=>{de(f,(([,e],t)=>we(L,t,e))),de(g,((e,t)=>we(w,t,e)))}),f,g,L,w,e),ce(f),ce(g)};Le(L,S),e.hasTable(a)&&O(e.getRowIds(a),(e=>{re(L,e)||S(e)})),T(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>T())))},h,()=>Le(i,h),c,d]},De=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let t=0;return[n=>(n?U(e):null)??s+t++,t=>{Ae.test(t)&&W(e)<1e3&&H(e,t)}]},Qe=e=>{let t;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),Me(be(r,l??[s],ke),d),d},(e,n,...a)=>O(((e,t=[s])=>{const n=[],a=(e,s)=>s==W(t)?H(n,e):null===t[s]?de(e,(e=>a(e,s+1))):O([t[s],null],(t=>a(ge(e,t),s+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>ge(o,e)[0](t,...n??[],...a))))),e=>M(ge(o,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>M(ge(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=W(r);l==W(s)?e(t,...r,...a(r)):k(s[l])?O(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},ze=Je((e=>{let t,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,f]=Qe((()=>Q)),g=he(),L=he(),w=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ge(g,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>Ee(e,n,s[t])))})),i=1},v=e=>{we(g,e),we(L,e),h(d,[e])},R=(e,t)=>O(((e,t)=>e.splice(0,t))(e,t??W(e)),v),y=()=>R(w,W(w)-o),I=()=>M(t,(()=>{H(w,t),y(),R(S),t=void 0,a=1})),p=()=>{t=K(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Se(r,t,he),l=Se(e,s,he),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&p(),x()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&p(),x()}})),V=(e="")=>(k(t)&&(t=s+n++,we(g,t,[r,l]),J(t,e),r=he(),l=he(),a=1),t),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(S,V()),T(0,t),t=K(w),a=1)},E=()=>{$(S)||(H(w,t),t=U(S),T(1,t),a=1)},x=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return x(),t},J=(e,t)=>(A(e)&&ge(L,e)!==t&&(we(L,e,t),h(d,[e])),Q),A=e=>re(g,e),Q={setSize:e=>(o=e,y(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...S]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:A,getCheckpoint:e=>ge(L,e),goBackward:()=>(m(),x(),Q),goForward:()=>(E(),x(),Q),goTo:e=>{const s=F(w,e)?m:F(S,e)?E:null;for(;!k(s)&&e!=t;)s();return x(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(R(w),R(S),k(t)||v(t),t=void 0,n=0,D(),Q),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>e<t?-1:1,je=Je((e=>{const t=he(),n=he(),[a,o,r,l,i,c,d,,u,h,f]=xe(e,he,(e=>k(e)?s:J(e)?P(e,C):C(e))),[g,L,w]=Qe((()=>T)),S=(t,s,n)=>{const a=i(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=Ne)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,f)=>{let g=0;const w=ke(),S=ke(),T=c(e);if(de(a,(([e,t],s)=>{const n=ke(e),a=ke(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{Me(w,e),M(ge(T,e),(t=>{ue(t,s),le(t)&&(we(T,e),g=1)}))})),de(a,(e=>{Me(w,e),re(T,e)||(we(T,e,ke()),g=1),Me(ge(T,e),s),k(o)||Me(S,e)}))})),s(),le(h)||(f?Le(T,(e=>Me(S,e))):Le(r,(e=>M(ge(u,e),(e=>Me(S,e))))),de(S,(e=>{const t=(t,s)=>l(ge(h,t),ge(h,s),e),s=[...ge(T,e)];N(s,t)||(we(T,e,ke(j(s,t))),Me(w,e))}))),(g||f)&&!k(i)){const t=[...T];N(t,i)||(d(e,he(j(t,i))),g=1)}g&&L(t,[e]),de(w,(t=>L(n,[e,t])))}),De(a),M(o,De)),T},delIndexDefinition:e=>(h(e),T),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)=>re(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ie(ge(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>g(s,n,[e,t]),delListener:e=>(w(e),T),destroy:f,getListenerStats:()=>({})};return _(T)})),Oe=he([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=k(e),de(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ie(s),oe(s)):e},Be=Je((e=>{const t=he(),[n,a,o,r,l,i,c,,d,u,h]=xe(e,A,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===s?void 0:1*e)),[f,g,L]=Qe((()=>w)),w={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=D(n)?[n,o,r,l]:ge(Oe,n)??ge(Oe,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=oe(o);l||=k(d),s();let f=Pe(d,h,o,n,u,l);m(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),De(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return _(w)})),We=Je((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,g,L,y]=xe(e,(()=>!0),A),I=t(),p=t(),C=he(),b=(e,t,...s)=>O(s,(s=>Me(Se(Se(C,t,he),e,ke),s))),V=e=>{M(ge(C,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),O([p,I],(t=>t.delTable(e)))},m=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,a)=>{i(t,n),V(t);const o=[],r=[[null,[n,null,null,[],he()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=D(e)?[W(o)+s,e]:[k(t)?e:t,s=>s(e,t)];return H(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||D(t)?null:t,a=k(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(l,D(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:ge(Oe,t)??[(e,t)=>t]]];return H(c,o),{as:e=>o[0]=e}},having:(e,t)=>H(d,D(e)?e:s=>s(e)===t)});const u=he(o);if(le(u))return E;const h=he(r);Le(h,((e,[,t])=>M(ge(h,t),(({3:t})=>k(e)?0:H(t,e)))));const f=he(c);let g=I;if(le(f)&&$(d))g=p;else{m(t,g,p);const e=he();Le(f,((t,[s,n])=>Me(Se(e,s,ke),[t,n])));const s=ke();Le(u,(t=>re(e,t)?0:Me(s,t)));const n=he(),a=(s,n,a,o)=>M(s,(([r,l,i,c])=>{Le(n,((t,[s])=>{const n=Se(r,t,he),l=ge(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=oe(n);we(n,a,i),de(ge(e,t),(([e,t])=>{const a=Pe(c[e],o,n,s,t);c[e]=k(Ve(a))?null:a}))}})),le(l)||!Q(d,(e=>e((e=>c[e]))))?p.delRow(t,i):k(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));b(g,t,g.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=he(),h=g.hasRow(t,l);let f=!h;de(s,(e=>{const[s,n,a]=i(t,l,e);H(c,n),H(d,a),f||=s})),Le(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&we(u,e,[n])})),f&&a(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&a(be(n,d,(()=>{const e={};return de(s,(s=>e[s]=g.getCell(t,l,s))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}m(t,e,g);const w=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);O(r,(n=>{const[a,,o,r,l]=ge(h,n),c=o?.(i,s),[d,u]=ge(l,s)??[];c!=d&&(k(u)||y(t,u),we(l,s,k(c)?null:[c,...L(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...k(a)?[n,s,t]:t===n?[n,s,a]:[ge(h,t)?.[0],ge(ge(h,t)?.[4],s)?.[0],a]);g.transaction((()=>Q(l,(e=>e(a)))?Le(u,((e,n)=>me(g,t,s,e,n(a,s)))):g.delRow(t,s)))})(s)},{3:S}=ge(h,null);return g.transaction((()=>L(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?w(o,n,o,S):(g.delRow(t,o),de(h,(({4:e})=>M(ge(e,o),(([,s])=>{y(t,s),we(e,o)})))))}))))),E},delQueryDefinition:e=>(V(e),h(e),E),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),E),destroy:g,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return ne({[f]:[1,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{O(e?["get","has","forEach"]:["get"],(e=>E[e+d+s]=(...t)=>p[e+s](...t))),E[u+d+s+c]=(...e)=>p[u+s+c](...G(e,0,t),((s,...n)=>e[t](E,...n)))})),_(E)})),$e=Je((e=>{const t=he(),n=he(),a=he(),o=he(),[r,l,i,c,d,u,,,h,f,g]=xe(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+s)),[L,w,S]=Qe((()=>y)),T=(e,t,s)=>M(u(e),(([n,,a])=>{if(!re(a,t)){const o=ke();if(d(e)!=R(e))Me(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)Me(o,e),e=ge(n,e)}if(s)return o;we(a,t,o)}return ge(a,t)})),v=(e,t)=>M(u(e),(([,,e])=>we(e,t))),R=e=>ge(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(we(t,e,r),h(e,s,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);de(s,(([t,s],n)=>{k(t)||(Me(l,t),M(ge(d,t),(e=>{ue(e,n),le(e)&&we(d,t)}))),k(s)||(Me(l,s),re(d,s)||we(d,s,ke()),Me(ge(d,s),n)),Me(r,n),we(c,n,s),Le(ge(o,e),(t=>{re(T(e,t),n)&&Me(i,t)}))})),t(),de(r,(t=>w(n,[e,t]))),de(l,(t=>w(a,[e,t]))),de(i,(t=>{v(e,t),w(o,[e,t])}))}),De(l)),y),delRelationshipDefinition:e=>(we(t,e),f(e),y),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>ge(u(e)?.[0],t),getLocalRowIds:(e,t)=>ie(ge(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(u(e))?[t]:ie(T(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)=>(T(e,t),L(s,o,[e,t])),delListener:e=>(v(...S(e)),y),destroy:g,getListenerStats:()=>({})};return _(y)})),qe=e=>[e,e],Ge=()=>[he(),he()],He=e=>[...e],Ke=([e,t])=>e===t,Ue=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),Xe=JSON.parse,Ye=(e,t,s)=>k(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),Ze=(e,t,s)=>we(e,t,ge(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,a=0;const r=he(),d=he(),h=he(),T=he(),b=he(),V=he(),m=he(),E=he(),J=he(),A=he(),Q=he(),N=he(),B=he(),W=ke(),$=he(),q=he(),K=he(),U=he(),X=Ge(),Y=Ge(),Z=Ge(),ee=Ge(),oe=Ge(),ie=Ge(),be=Ge(),xe=Ge(),De=Ge(),Je=Ge(),Ae=Ge(),ze=Ge(),je=Ge(),Oe=Ge(),Pe=he(),Be=Ge(),[We,$e,et,tt]=Qe((()=>gs)),st=e=>{if(!Ye(e,((e,t)=>F([l,i],t))))return!1;const t=e[l];return!(!x(t)&&t!=o||(Ve(e[i])!=t&&se(e,i),0))},nt=(t,s)=>(!e||re(A,s)||Jt(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>M(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?M(ge(ge(A,t),n),(e=>Ve(a)!=e[l]?Jt(t,s,n,a,e[i]):a),(()=>Jt(t,s,n,a))):k(Ve(a))?Jt(t,s,n,a):a,rt=(e,t)=>Ye(t?e:ct(e),((t,s)=>M(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?M(ge(N,e),(t=>Ve(s)!=t[l]?At(e,s,t[i]):s),(()=>At(e,s))):k(Ve(s))?At(e,s):s,it=(e,t,s)=>(M(ge(Q,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(de(B,((t,s)=>{te(e,s)||(e[s]=t)})),de(W,(t=>{te(e,t)||At(t)}))),e),dt=e=>Te(A,e,((e,t,s)=>{const n=he(),a=ke();Te(Se(A,t,he),s,((e,t,s)=>{we(e,t,s),M(s[i],(e=>we(n,t,e)),(()=>Me(a,t)))})),we(Q,t,[n,a])}),((e,t)=>{we(A,t),we(Q,t)})),ut=e=>Te(N,e,((e,t,s)=>{we(N,t,s),M(s[i],(e=>we(B,t,e)),(()=>Me(W,t)))}),((e,t)=>{we(N,t),we(B,t),ue(W,t)})),ht=e=>ae(e)?os():es(e),ft=e=>Te(K,e,((e,t,s)=>gt(t,s)),((e,t)=>pt(t))),gt=(e,t)=>Te(Se(K,e,(()=>(mt(e,1),we($,e,Fe()),we(q,e,he()),he()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>Ct(e,t,s))),Lt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Et(e,s,1),he()))),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)=>{re(s,n)||kt(e,t,n,1);const o=ge(s,n);a!==o&&(Mt(e,t,n,o,a),we(s,n,a))},St=(e,t,s,n,a)=>M(ge(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),Tt=e=>ae(e)?is():ts(e),vt=e=>Te(U,e,((e,t,s)=>Rt(t,s)),((e,t)=>Vt(t))),Rt=(e,t)=>{re(U,e)||xt(e,1);const s=ge(U,e);t!==s&&(Dt(e,s,t),we(U,e,t))},yt=(e,t)=>{const[s]=ge($,e),n=s(t);return re(ge(K,e),n)?yt(e,t):n},It=e=>ge(K,e)??gt(e,{}),pt=e=>gt(e,{}),Ct=(e,t,s)=>{const[,n]=ge($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=ge(ge(Q,e)?.[0],a);if(!k(r)&&!o)return wt(e,s,n,a,r);const l=t=>{Mt(e,s,t,ge(n,t)),kt(e,s,t,-1),we(n,t)};k(r)?l(a):Le(n,l),le(n)&&(Et(e,s,-1),le(we(t,s))&&(mt(e,-1),we(K,e),we($,e),we(q,e)))},Vt=e=>{const t=ge(B,e);if(!k(t))return Rt(e,t);Dt(e,ge(U,e)),xt(e,-1),we(U,e)},mt=(e,t)=>Ze(r,e,t),Et=(e,t,s)=>Ze(Se(h,e,he),t,s),kt=(e,t,s,n)=>{const a=ge(q,e),o=ge(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(Se(d,e,he),s,n),we(a,s,o!=-n?o+n:null),Ze(Se(Se(T,e,he),t,he),s,n)},Mt=(e,t,s,n,a)=>Se(Se(Se(b,e,he),t,he),s,(()=>[n,0]))[1]=a,xt=(e,t)=>Ze(V,e,t),Dt=(e,t,s)=>Se(m,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(H(Se(Se(Se(E,e,he),t,he),s,(()=>[])),n),a),At=(e,t,s)=>(H(Se(J,e,(()=>[])),t),s),Ft=(e,t,s)=>M(ge(ge(ge(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(Xt(e,t,s))])),Qt=e=>M(ge(m,e),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(_t(e))])),zt=e=>le(E)||le(Je[e])?0:de(e?Ce(E):E,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>$e(Je[e],[s,n,a],t))))))),Nt=e=>le(J)||le(Ae[e])?0:de(e?Ie(J):J,((t,s)=>$e(Ae[e],[s],t))),jt=(e,t,s)=>{if(!le(t))return $e(e,s,(()=>ve(t))),1},Ot=e=>{const t=le(ie[e]),s=le(xe[e])&&le(ee[e])&&le(oe[e])&&t&&le(Y[e]),n=le(De[e])&&le(be[e])&&le(Z[e])&&le(X[e]);if(!s||!n){const a=e?[Ie(r),pe(d),pe(h),Ce(T),Ce(b)]:[r,d,h,T,b];if(!s){jt(Y[e],a[0]),de(a[1],((t,s)=>jt(ee[e],t,[s])));const s=ke();de(a[2],((n,a)=>{jt(oe[e],n,[a])&&!t&&($e(ie[e],[a,null]),Me(s,a))})),t||de(a[4],((t,n)=>{if(!re(s,n)){const s=ke();de(t,(e=>de(e,(([t,n],a)=>n!==t?Me(s,a):ue(e,a))))),de(s,(t=>$e(ie[e],[n,t])))}})),de(a[3],((t,s)=>de(t,((t,n)=>jt(xe[e],t,[s,n])))))}if(!n){let t;de(a[4],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&($e(De[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&$e(be[e],[n,o],Ft)})),a&&$e(Z[e],[n],Ft)})),t&&$e(X[e],void 0,Ft)}}},Pt=e=>{const t=le(je[e]),s=le(Oe[e])&&le(ze[e]);if(!t||!s){const n=e?[Ie(V),Ie(m)]:[V,m];if(t||jt(je[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&($e(Oe[e],[a],n,s,Qt),t=1)})),t&&$e(ze[e],void 0,Qt)}}},Bt=(e,...t)=>(us((()=>e(...P(t,C)))),gs),Wt=()=>[ve(b,((e,t)=>-1===ge(r,t)?null:ve(e,((e,s)=>-1===ge(ge(h,t),s)?null:ve(e,(([,e])=>e??null),((e,t)=>Ke(t)))),ae)),ae),ve(m,(([,e])=>e??null),((e,t)=>Ke(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(b,He,Ke),invalidCells:ye(E),changedValues:ve(m,He,Ke),invalidValues:ve(J),changedTableIds:ve(r),changedRowIds:Re(h),changedCellIds:ye(T),changedValueIds:ve(V)}),qt=()=>ye(K),Gt=()=>fe(K),Ht=e=>fe(ge(K,C(e))),Kt=(e,t,s,n=0,a)=>{return P(G(j((o=ge(K,C(e)),r=(e,s)=>[k(t)?s:ge(e,C(t)),s],P([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(ge(ge(K,C(e)),C(t))),Xt=(e,t,s)=>ge(ge(ge(K,C(e)),C(t)),C(s)),Yt=()=>ve(U),Zt=()=>fe(U),_t=e=>ge(U,C(e)),es=e=>Bt((()=>(e=>Ye(e,nt,Jt))(e)?ft(e):0)),ts=e=>Bt((()=>rt(e)?vt(e):0)),ss=e=>{try{ht(Xe(e))}catch{}return gs},ns=t=>Bt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!le(K))){const e=qt();os(),es(e)}})),as=e=>Bt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Bt((()=>ft({}))),rs=e=>Bt((e=>re(K,e)?pt(e):0),e),ls=(e,t)=>Bt(((e,t)=>M(ge(K,e),(s=>re(s,t)?Ct(e,s,t):0))),e,t),is=()=>Bt((()=>vt({}))),cs=()=>Bt((()=>{dt({}),e=!1})),ds=()=>Bt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=a){hs();const s=e();return fs(t),s}},hs=()=>(-1!=a&&a++,1==a&&$e(Pe,void 0,Wt,$t),gs),fs=e=>(a>0&&(a--,0==a&&(s=!le(b),n=!le(m),a=1,zt(1),s&&Ot(1),Nt(1),n&&Pt(1),e?.(Wt,$t)&&(de(b,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(gs,t,s,n,e))))))),de(m,(([e],t)=>Ee(gs,t,e))),s=n=!1),$e(Be[0],void 0,Wt,$t),a=-1,zt(0),s&&Ot(0),Nt(0),n&&Pt(0),$e(Be[1],void 0,Wt,$t),a=0,s=n=!1,O([r,d,h,T,b,E,V,m,J],ce))),gs),gs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(K,C(e))),getTableCellIds:e=>fe(ge(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>ve(ge(ge(K,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!le(K),hasTable:e=>re(K,C(e)),hasTableCell:(e,t)=>re(ge(q,C(e)),C(t)),hasRow:(e,t)=>re(ge(K,C(e)),C(t)),hasCell:(e,t,s)=>re(ge(ge(K,C(e)),C(t)),C(s)),hasValues:()=>!le(U),hasValue:e=>re(U,C(e)),getTablesJson:()=>Ue(K),getValuesJson:()=>Ue(U),getJson:()=>Ue([K,U]),getTablesSchemaJson:()=>Ue(A),getValuesSchemaJson:()=>Ue(N),getSchemaJson:()=>Ue([A,N]),setContent:([e,t])=>Bt((()=>{(ae(e)?os:es)(e),(ae(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Bt((e=>nt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Bt(((e,t)=>at(e,t,s)?Lt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,It(e),n=yt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Bt(((e,t)=>{if(at(e,t,s,1)){const n=It(e);ne(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ot(e,t,s,D(n)?n(Xt(e,t,s)):n),(n=>St(e,It(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Bt((()=>rt(e,1)?ne(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>Bt((e=>M(lt(e,D(t)?t(_t(e)):t),(t=>Rt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{ne(e[0],((e,t)=>k(e)?rs(t):ne(e,((e,s)=>k(e)?ls(t,s):ne(e,((e,n)=>me(gs,t,s,n,e))))))),ne(e[1],((e,t)=>Ee(gs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{Tt(Xe(e))}catch{}return gs},setJson:e=>{try{const[t,s]=Xe(e);ht(t),Tt(s)}catch{ss(e)}return gs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Bt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ge(K,e),(a=>M(ge(a,t),(o=>re(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Bt((e=>re(U,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Bt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:fs,forEachTable:e=>de(K,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(q,C(e)),t),forEachRow:(e,t)=>de(ge(K,C(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(ge(ge(K,C(e)),C(t)),s),forEachValue:e=>Le(U,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return We((()=>{const r=Kt(e,t,s,n,a);z(r,l)||(l=r,o(gs,e,t,s,n,a,l))}),ie[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>We(e,Pe),addWillFinishTransactionListener:e=>We(e,Be[0]),addDidFinishTransactionListener:e=>We(e,Be[1]),callListener:e=>(tt(e),gs),delListener:e=>(et(e),gs),getListenerStats:()=>({}),createStore:_e};return ne({[g]:[0,X],[L]:[0,Y],[f]:[1,Z,[Gt]],[f+R]:[1,ee,[Gt]],[S]:[1,oe,[Gt]],[w]:[2,be,[Gt,Ht]],[R]:[2,xe,[Gt,Ht]],[v]:[3,De,[Gt,Ht,Ut],e=>qe(Xt(...e))],InvalidCell:[3,Je],[I]:[0,ze],[p]:[0,je],[y]:[1,Oe,[Zt],e=>qe(_t(e[0]))],InvalidValue:[1,Ae]},(([e,t,s,n],a)=>{gs[u+a+c]=(...a)=>We(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(gs)};e.createCheckpoints=ze,e.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 f.schedule((async()=>{await e(),i=0}))),f),f={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(f.stopAutoLoad(),await f.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{}})))),f),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),f),save:async t=>(1!=i&&(i=2,await f.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||f.save((()=>[s,n]))})),f),stopAutoSave:()=>(M(o,e.delListener),f),schedule:async(...e)=>(H(u,...e),await(async()=>{if(!c){for(c=1;!k(r=U(u));)try{await r()}catch{}c=0}})(),f),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(f)},e.createIndexes=je,e.createMetrics=Be,e.createQueries=We,e.createRelationships=$e,e.createStore=_e,e.defaultSorter=Ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Ids",f="Table",g=f+"s",w=f+h,L="Row",S=L+h,T="Sorted"+L+h,v="Cell",y=v+h,R="Value",I=R+"s",p=R+h,C=e=>s+e,b=Math.max,V=Math.min,m=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),x=e=>e==n||e==a,D=e=>t(e)==r,J=e=>Array.isArray(e),A=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>W(e)===W(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),j=(e,t)=>e.sort(t),O=(e,t)=>e.forEach(t),P=(e,t)=>e.map(t),B=e=>q(e,((e,t)=>e+t),0),W=e=>e.length,$=e=>0==W(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>P(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>W(Y(e)))(e),oe=e=>e.size,re=(e,t)=>e?.has(t)??!1,le=e=>k(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),fe=e=>[...e?.keys()??[]],ge=(e,t)=>e?.get(t),we=(e,t)=>de(e,((e,s)=>t(s,e))),Le=(e,t,s)=>k(s)?(ue(e,t),e):e?.set(t,s),Se=(e,t,s)=>(re(e,t)||Le(e,t,s()),ge(e,t)),Te=(e,t,s,n=Le)=>(ne(t,((t,n)=>s(e,n,t))),we(e,(s=>te(t,s)?0:n(e,s))),e),ve=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ye=(e,t,s)=>ve(e,(e=>ve(e,t,s)),ae),Re=(e,t,s)=>ve(e,(e=>ye(e,t,s)),ae),Ie=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ie(e,Ie),Ce=e=>Ie(e,pe),be=(e,t,s,n,a=0)=>M((s?Se:ge)(e,t[a],a>W(t)-2?s:he),(o=>{if(a>W(t)-2)return n?.(o)&&Le(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&Le(e,t[a]),r})),Ve=e=>{const s=t(e);return x(s)||s==o&&m(e)?s:void 0},me=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(J(e)||k(e)?e:[e]),Me=(e,t)=>e?.add(t),xe=(e,t,s)=>{const n=e.hasRow,a=he(),o=he(),r=he(),l=he(),i=he(),c=(t,s,...n)=>{const a=Se(i,t,ke);return O(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>M(ge(i,t),(n=>{O($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&Le(i,t)})),u=(e,s)=>{Le(a,e,s),re(o,e)||(Le(o,e,t()),Le(r,e,he()),Le(l,e,he()))},h=e=>{Le(a,e),Le(o,e),Le(r,e),Le(l,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>re(o,e),e=>ge(a,e),e=>ge(o,e),(e,t)=>Le(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const f=he(),g=he(),w=ge(r,t),L=ge(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=ge(w,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||J(r)&&J(l)&&z(r,l)||Le(f,t,[r,l]),!k(h)){const e=ge(L,t),s=n(a,t)?h(o,t):void 0;e!=s&&Le(g,t,s)}},T=e=>{o((()=>{de(f,(([,e],t)=>Le(w,t,e))),de(g,((e,t)=>Le(L,t,e)))}),f,g,w,L,e),ce(f),ce(g)};we(w,S),e.hasTable(a)&&O(e.getRowIds(a),(e=>{re(w,e)||S(e)})),T(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>T())))},h,()=>we(i,h),c,d]},De=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let t=0;return[n=>(n?U(e):null)??s+t++,t=>{Ae.test(t)&&W(e)<1e3&&H(e,t)}]},Qe=e=>{let t;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Le(o,d,[a,r,l,i,c]),Me(be(r,l??[s],ke),d),d},(e,n,...a)=>O(((e,t=[s])=>{const n=[],a=(e,s)=>s==W(t)?H(n,e):null===t[s]?de(e,(e=>a(e,s+1))):O([t[s],null],(t=>a(ge(e,t),s+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>ge(o,e)[0](t,...n??[],...a))))),e=>M(ge(o,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(ue(t,e),le(t)?1:0))),Le(o,e),a(e),n))),e=>M(ge(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=W(r);l==W(s)?e(t,...r,...a(r)):k(s[l])?O(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},ze=Je((e=>{let t,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,f]=Qe((()=>Q)),g=he(),w=he(),L=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ge(g,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>Ee(e,n,s[t])))})),i=1},v=e=>{Le(g,e),Le(w,e),h(d,[e])},y=(e,t)=>O(((e,t)=>e.splice(0,t))(e,t??W(e)),v),R=()=>y(L,W(L)-o),I=()=>M(t,(()=>{H(L,t),R(),y(S),t=void 0,a=1})),p=()=>{t=K(L),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Se(r,t,he),l=Se(e,s,he),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(Le(l,n))&&le(Le(e,s))&&le(Le(r,t))&&p(),x()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Le(l,t))&&p(),x()}})),V=(e="")=>(k(t)&&(t=s+n++,Le(g,t,[r,l]),J(t,e),r=he(),l=he(),a=1),t),m=()=>{$(L)||(((e,...t)=>{e.unshift(...t)})(S,V()),T(0,t),t=K(L),a=1)},E=()=>{$(S)||(H(L,t),t=U(S),T(1,t),a=1)},x=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return x(),t},J=(e,t)=>(A(e)&&ge(w,e)!==t&&(Le(w,e,t),h(d,[e])),Q),A=e=>re(g,e),Q={setSize:e=>(o=e,R(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...S]],forEachCheckpoint:e=>we(w,e),hasCheckpoint:A,getCheckpoint:e=>ge(w,e),goBackward:()=>(m(),x(),Q),goForward:()=>(E(),x(),Q),goTo:e=>{const s=F(L,e)?m:F(S,e)?E:null;for(;!k(s)&&e!=t;)s();return x(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(y(L),y(S),k(t)||v(t),t=void 0,n=0,D(),Q),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>e<t?-1:1,je=Je((e=>{const t=he(),n=he(),[a,o,r,l,i,c,d,,u,h,f]=xe(e,he,(e=>k(e)?s:J(e)?P(e,C):C(e))),[g,w,L]=Qe((()=>T)),S=(t,s,n)=>{const a=i(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=Ne)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,f)=>{let g=0;const L=ke(),S=ke(),T=c(e);if(de(a,(([e,t],s)=>{const n=ke(e),a=ke(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{Me(L,e),M(ge(T,e),(t=>{ue(t,s),le(t)&&(Le(T,e),g=1)}))})),de(a,(e=>{Me(L,e),re(T,e)||(Le(T,e,ke()),g=1),Me(ge(T,e),s),k(o)||Me(S,e)}))})),s(),le(h)||(f?we(T,(e=>Me(S,e))):we(r,(e=>M(ge(u,e),(e=>Me(S,e))))),de(S,(e=>{const t=(t,s)=>l(ge(h,t),ge(h,s),e),s=[...ge(T,e)];N(s,t)||(Le(T,e,ke(j(s,t))),Me(L,e))}))),(g||f)&&!k(i)){const t=[...T];N(t,i)||(d(e,he(j(t,i))),g=1)}g&&w(t,[e]),de(L,(t=>w(n,[e,t])))}),De(a),M(o,De)),T},delIndexDefinition:e=>(h(e),T),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)=>re(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ie(ge(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>g(s,n,[e,t]),delListener:e=>(L(e),T),destroy:f,getListenerStats:()=>({})};return _(T)})),Oe=he([["avg",[(e,t)=>B(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=k(e),de(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ie(s),oe(s)):e},Be=Je((e=>{const t=he(),[n,a,o,r,l,i,c,,d,u,h]=xe(e,A,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===s?void 0:1*e)),[f,g,w]=Qe((()=>L)),L={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=D(n)?[n,o,r,l]:ge(Oe,n)??ge(Oe,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=oe(o);l||=k(d),s();let f=Pe(d,h,o,n,u,l);m(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),De(a,1)),L},delMetricDefinition:e=>(u(e),L),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(w(e),L),destroy:h,getListenerStats:()=>({})};return _(L)})),We=he(),$e=he(),qe=Je((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,g,w,R]=xe(e,(()=>!0),A),I=t(),p=t(),C=he(),b=(e,t,...s)=>O(s,(s=>Me(Se(Se(C,t,he),e,ke),s))),V=e=>{M(ge(C,e),(e=>{we(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),O([p,I],(t=>t.delTable(e)))},m=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,a)=>{i(t,n),V(t);const o=[],r=[[null,[n,null,null,[],he()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=D(e)?[W(o)+s,e]:[k(t)?e:t,s=>s(e,t)];return H(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||D(t)?null:t,a=k(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(l,D(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:ge(Oe,t)??[(e,t)=>t]]];return H(c,o),{as:e=>o[0]=e}},having:(e,t)=>H(d,D(e)?e:s=>s(e)===t)});const u=he(o);if(le(u))return E;const h=he(r);we(h,((e,[,t])=>M(ge(h,t),(({3:t})=>k(e)?0:H(t,e)))));const f=he(c);let g=I;if(le(f)&&$(d))g=p;else{m(t,g,p);const e=he();we(f,((t,[s,n])=>Me(Se(e,s,ke),[t,n])));const s=ke();we(u,(t=>re(e,t)?0:Me(s,t)));const n=he(),a=(s,n,a,o)=>M(s,(([r,l,i,c])=>{we(n,((t,[s])=>{const n=Se(r,t,he),l=ge(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=oe(n);Le(n,a,i),de(ge(e,t),(([e,t])=>{const a=Pe(c[e],o,n,s,t);c[e]=k(Ve(a))?null:a}))}})),le(l)||!Q(d,(e=>e((e=>c[e]))))?p.delRow(t,i):k(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));b(g,t,g.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=he(),h=g.hasRow(t,l);let f=!h;de(s,(e=>{const[s,n,a]=i(t,l,e);H(c,n),H(d,a),f||=s})),we(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&Le(u,e,[n])})),f&&a(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&a(be(n,d,(()=>{const e={};return de(s,(s=>e[s]=g.getCell(t,l,s))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}m(t,e,g);const L=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);O(r,(n=>{const[a,,o,r,l]=ge(h,n),c=o?.(i,s),[d,u]=ge(l,s)??[];c!=d&&(k(u)||R(t,u),Le(l,s,k(c)?null:[c,...w(t,1,e.addRowListener(a,c,(()=>L(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...k(a)?[n,s,t]:t===n?[n,s,a]:[ge(h,t)?.[0],ge(ge(h,t)?.[4],s)?.[0],a]);g.transaction((()=>Q(l,(e=>e(a)))?we(u,((e,n)=>me(g,t,s,e,n(a,s)))):g.delRow(t,s)))})(s)},{3:S}=ge(h,null);return g.transaction((()=>w(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?L(o,n,o,S):(g.delRow(t,o),de(h,(({4:e})=>M(ge(e,o),(([,s])=>{R(t,s),Le(e,o)})))))}))))),E},delQueryDefinition:e=>(V(e),h(e),E),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),E),destroy:g,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return ne({[f]:[1,1],[S]:[0,1],[T]:[0,5],[L]:[1,2],[y]:[0,2],[v]:[1,3]},(([e,t],s)=>{O(e?["get","has","forEach"]:["get"],(e=>E[e+d+s]=(...t)=>p[e+s](...t))),E[u+d+s+c]=(...e)=>p[u+s+c](...G(e,0,t),((s,...n)=>e[t](E,...n)))})),_(E)})),Ge=Je((e=>{const t=he(),n=he(),a=he(),o=he(),[r,l,i,c,d,u,,,h,f,g]=xe(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+s)),[w,L,S]=Qe((()=>R)),T=(e,t,s)=>M(u(e),(([n,,a])=>{if(!re(a,t)){const o=ke();if(d(e)!=y(e))Me(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)Me(o,e),e=ge(n,e)}if(s)return o;Le(a,t,o)}return ge(a,t)})),v=(e,t)=>M(u(e),(([,,e])=>Le(e,t))),y=e=>ge(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Le(t,e,r),h(e,s,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);de(s,(([t,s],n)=>{k(t)||(Me(l,t),M(ge(d,t),(e=>{ue(e,n),le(e)&&Le(d,t)}))),k(s)||(Me(l,s),re(d,s)||Le(d,s,ke()),Me(ge(d,s),n)),Me(r,n),Le(c,n,s),we(ge(o,e),(t=>{re(T(e,t),n)&&Me(i,t)}))})),t(),de(r,(t=>L(n,[e,t]))),de(l,(t=>L(a,[e,t]))),de(i,(t=>{v(e,t),L(o,[e,t])}))}),De(l)),R),delRelationshipDefinition:e=>(Le(t,e),f(e),R),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:y,getRemoteRowId:(e,t)=>ge(u(e)?.[0],t),getLocalRowIds:(e,t)=>ie(ge(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(u(e))?[t]:ie(T(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>w(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),w(s,o,[e,t])),delListener:e=>(v(...S(e)),R),destroy:g,getListenerStats:()=>({})};return _(R)})),He=e=>[e,e],Ke=()=>[he(),he()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),Ze=JSON.parse,_e=(e,t,s)=>k(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),et=(e,t,s)=>Le(e,t,ge(e,t)==-s?void 0:s),tt=()=>{let e,t,s=!1,n=!1,a=0;const r=he(),d=he(),h=he(),T=he(),b=he(),V=he(),m=he(),E=he(),J=he(),A=he(),Q=he(),N=he(),B=he(),W=ke(),$=he(),q=he(),K=he(),U=he(),X=Ke(),Y=Ke(),Z=Ke(),ee=Ke(),oe=Ke(),ie=Ke(),be=Ke(),xe=Ke(),De=Ke(),Je=Ke(),Ae=Ke(),ze=Ke(),je=Ke(),Oe=Ke(),Pe=he(),Be=Ke(),[We,$e,qe,Ge]=Qe((()=>gs)),st=e=>{if(!_e(e,((e,t)=>F([l,i],t))))return!1;const t=e[l];return!(!x(t)&&t!=o||(Ve(e[i])!=t&&se(e,i),0))},nt=(t,s)=>(!e||re(A,s)||Jt(s))&&_e(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>_e(n?s:it(s,e,t),((n,a)=>M(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?M(ge(ge(A,t),n),(e=>Ve(a)!=e[l]?Jt(t,s,n,a,e[i]):a),(()=>Jt(t,s,n,a))):k(Ve(a))?Jt(t,s,n,a):a,rt=(e,t)=>_e(t?e:ct(e),((t,s)=>M(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?M(ge(N,e),(t=>Ve(s)!=t[l]?At(e,s,t[i]):s),(()=>At(e,s))):k(Ve(s))?At(e,s):s,it=(e,t,s)=>(M(ge(Q,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(de(B,((t,s)=>{te(e,s)||(e[s]=t)})),de(W,(t=>{te(e,t)||At(t)}))),e),dt=e=>Te(A,e,((e,t,s)=>{const n=he(),a=ke();Te(Se(A,t,he),s,((e,t,s)=>{Le(e,t,s),M(s[i],(e=>Le(n,t,e)),(()=>Me(a,t)))})),Le(Q,t,[n,a])}),((e,t)=>{Le(A,t),Le(Q,t)})),ut=e=>Te(N,e,((e,t,s)=>{Le(N,t,s),M(s[i],(e=>Le(B,t,e)),(()=>Me(W,t)))}),((e,t)=>{Le(N,t),Le(B,t),ue(W,t)})),ht=e=>ae(e)?os():es(e),ft=e=>Te(K,e,((e,t,s)=>gt(t,s)),((e,t)=>pt(t))),gt=(e,t)=>Te(Se(K,e,(()=>(mt(e,1),Le($,e,Fe()),Le(q,e,he()),he()))),t,((t,s,n)=>wt(e,t,s,n)),((t,s)=>Ct(e,t,s))),wt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Et(e,s,1),he()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),Lt=(e,t,s,n,a)=>{re(s,n)||kt(e,t,n,1);const o=ge(s,n);a!==o&&(Mt(e,t,n,o,a),Le(s,n,a))},St=(e,t,s,n,a)=>M(ge(t,s),(t=>Lt(e,s,t,n,a)),(()=>wt(e,t,s,it({[n]:a},e,s)))),Tt=e=>ae(e)?is():ts(e),vt=e=>Te(U,e,((e,t,s)=>yt(t,s)),((e,t)=>Vt(t))),yt=(e,t)=>{re(U,e)||xt(e,1);const s=ge(U,e);t!==s&&(Dt(e,s,t),Le(U,e,t))},Rt=(e,t)=>{const[s]=ge($,e),n=s(t);return re(ge(K,e),n)?Rt(e,t):n},It=e=>ge(K,e)??gt(e,{}),pt=e=>gt(e,{}),Ct=(e,t,s)=>{const[,n]=ge($,e);n(s),wt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=ge(ge(Q,e)?.[0],a);if(!k(r)&&!o)return Lt(e,s,n,a,r);const l=t=>{Mt(e,s,t,ge(n,t)),kt(e,s,t,-1),Le(n,t)};k(r)?l(a):we(n,l),le(n)&&(Et(e,s,-1),le(Le(t,s))&&(mt(e,-1),Le(K,e),Le($,e),Le(q,e)))},Vt=e=>{const t=ge(B,e);if(!k(t))return yt(e,t);Dt(e,ge(U,e)),xt(e,-1),Le(U,e)},mt=(e,t)=>et(r,e,t),Et=(e,t,s)=>et(Se(h,e,he),t,s),kt=(e,t,s,n)=>{const a=ge(q,e),o=ge(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&et(Se(d,e,he),s,n),Le(a,s,o!=-n?o+n:null),et(Se(Se(T,e,he),t,he),s,n)},Mt=(e,t,s,n,a)=>Se(Se(Se(b,e,he),t,he),s,(()=>[n,0]))[1]=a,xt=(e,t)=>et(V,e,t),Dt=(e,t,s)=>Se(m,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(H(Se(Se(Se(E,e,he),t,he),s,(()=>[])),n),a),At=(e,t,s)=>(H(Se(J,e,(()=>[])),t),s),Ft=(e,t,s)=>M(ge(ge(ge(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(Xt(e,t,s))])),Qt=e=>M(ge(m,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(_t(e))])),zt=e=>le(E)||le(Je[e])?0:de(e?Ce(E):E,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>$e(Je[e],[s,n,a],t))))))),Nt=e=>le(J)||le(Ae[e])?0:de(e?Ie(J):J,((t,s)=>$e(Ae[e],[s],t))),jt=(e,t,s)=>{if(!le(t))return $e(e,s,(()=>ve(t))),1},Ot=e=>{const t=le(ie[e]),s=le(xe[e])&&le(ee[e])&&le(oe[e])&&t&&le(Y[e]),n=le(De[e])&&le(be[e])&&le(Z[e])&&le(X[e]);if(!s||!n){const a=e?[Ie(r),pe(d),pe(h),Ce(T),Ce(b)]:[r,d,h,T,b];if(!s){jt(Y[e],a[0]),de(a[1],((t,s)=>jt(ee[e],t,[s])));const s=ke();de(a[2],((n,a)=>{jt(oe[e],n,[a])&&!t&&($e(ie[e],[a,null]),Me(s,a))})),t||de(a[4],((t,n)=>{if(!re(s,n)){const s=ke();de(t,(e=>de(e,(([t,n],a)=>n!==t?Me(s,a):ue(e,a))))),de(s,(t=>$e(ie[e],[n,t])))}})),de(a[3],((t,s)=>de(t,((t,n)=>jt(xe[e],t,[s,n])))))}if(!n){let t;de(a[4],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&($e(De[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&$e(be[e],[n,o],Ft)})),a&&$e(Z[e],[n],Ft)})),t&&$e(X[e],void 0,Ft)}}},Pt=e=>{const t=le(je[e]),s=le(Oe[e])&&le(ze[e]);if(!t||!s){const n=e?[Ie(V),Ie(m)]:[V,m];if(t||jt(je[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&($e(Oe[e],[a],n,s,Qt),t=1)})),t&&$e(ze[e],void 0,Qt)}}},Bt=(e,...t)=>(us((()=>e(...P(t,C)))),gs),Wt=()=>[ve(b,((e,t)=>-1===ge(r,t)?null:ve(e,((e,s)=>-1===ge(ge(h,t),s)?null:ve(e,(([,e])=>e??null),((e,t)=>Xe(t)))),ae)),ae),ve(m,(([,e])=>e??null),((e,t)=>Xe(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:Re(b,Ue,Xe),invalidCells:Re(E),changedValues:ve(m,Ue,Xe),invalidValues:ve(J),changedTableIds:ve(r),changedRowIds:ye(h),changedCellIds:Re(T),changedValueIds:ve(V)}),qt=()=>Re(K),Gt=()=>fe(K),Ht=e=>fe(ge(K,C(e))),Kt=(e,t,s,n=0,a)=>{return P(G(j((o=ge(K,C(e)),r=(e,s)=>[k(t)?s:ge(e,C(t)),s],P([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(ge(ge(K,C(e)),C(t))),Xt=(e,t,s)=>ge(ge(ge(K,C(e)),C(t)),C(s)),Yt=()=>ve(U),Zt=()=>fe(U),_t=e=>ge(U,C(e)),es=e=>Bt((()=>(e=>_e(e,nt,Jt))(e)?ft(e):0)),ts=e=>Bt((()=>rt(e)?vt(e):0)),ss=e=>{try{ht(Ze(e))}catch{}return gs},ns=t=>Bt((()=>{if((e=_e(t,(e=>_e(e,st))))&&(dt(t),!le(K))){const e=qt();os(),es(e)}})),as=e=>Bt((()=>{if(t=(e=>_e(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Bt((()=>ft({}))),rs=e=>Bt((e=>re(K,e)?pt(e):0),e),ls=(e,t)=>Bt(((e,t)=>M(ge(K,e),(s=>re(s,t)?Ct(e,s,t):0))),e,t),is=()=>Bt((()=>vt({}))),cs=()=>Bt((()=>{dt({}),e=!1})),ds=()=>Bt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=a){hs();const s=e();return fs(t),s}},hs=()=>(-1!=a&&a++,1==a&&$e(Pe,void 0,Wt,$t),gs),fs=e=>(a>0&&(a--,0==a&&(s=!le(b),n=!le(m),a=1,zt(1),s&&Ot(1),Nt(1),n&&Pt(1),e?.(Wt,$t)&&(de(b,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(gs,t,s,n,e))))))),de(m,(([e],t)=>Ee(gs,t,e))),s=n=!1),$e(Be[0],void 0,Wt,$t),a=-1,zt(0),s&&Ot(0),Nt(0),n&&Pt(0),$e(Be[1],void 0,Wt,$t),a=0,s=n=!1,O([r,d,h,T,b,E,V,m,J],ce))),gs),gs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>ye(ge(K,C(e))),getTableCellIds:e=>fe(ge(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>ve(ge(ge(K,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!le(K),hasTable:e=>re(K,C(e)),hasTableCell:(e,t)=>re(ge(q,C(e)),C(t)),hasRow:(e,t)=>re(ge(K,C(e)),C(t)),hasCell:(e,t,s)=>re(ge(ge(K,C(e)),C(t)),C(s)),hasValues:()=>!le(U),hasValue:e=>re(U,C(e)),getTablesJson:()=>Ye(K),getValuesJson:()=>Ye(U),getJson:()=>Ye([K,U]),getTablesSchemaJson:()=>Ye(A),getValuesSchemaJson:()=>Ye(N),getSchemaJson:()=>Ye([A,N]),setContent:([e,t])=>Bt((()=>{(ae(e)?os:es)(e),(ae(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Bt((e=>nt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Bt(((e,t)=>at(e,t,s)?wt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),wt(e,It(e),n=Rt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Bt(((e,t)=>{if(at(e,t,s,1)){const n=It(e);ne(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ot(e,t,s,D(n)?n(Xt(e,t,s)):n),(n=>St(e,It(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Bt((()=>rt(e,1)?ne(e,((e,t)=>yt(t,e))):0)),setValue:(e,t)=>Bt((e=>M(lt(e,D(t)?t(_t(e)):t),(t=>yt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{ne(e[0],((e,t)=>k(e)?rs(t):ne(e,((e,s)=>k(e)?ls(t,s):ne(e,((e,n)=>me(gs,t,s,n,e))))))),ne(e[1],((e,t)=>Ee(gs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{Tt(Ze(e))}catch{}return gs},setJson:e=>{try{const[t,s]=Ze(e);ht(t),Tt(s)}catch{ss(e)}return gs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Bt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ge(K,e),(a=>M(ge(a,t),(o=>re(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Bt((e=>re(U,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Bt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:fs,forEachTable:e=>de(K,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(ge(q,C(e)),t),forEachRow:(e,t)=>de(ge(K,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(ge(ge(K,C(e)),C(t)),s),forEachValue:e=>we(U,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return We((()=>{const r=Kt(e,t,s,n,a);z(r,l)||(l=r,o(gs,e,t,s,n,a,l))}),ie[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>We(e,Pe),addWillFinishTransactionListener:e=>We(e,Be[0]),addDidFinishTransactionListener:e=>We(e,Be[1]),callListener:e=>(Ge(e),gs),delListener:e=>(qe(e),gs),getListenerStats:()=>({}),createStore:tt};return ne({[g]:[0,X],[w]:[0,Y],[f]:[1,Z,[Gt]],[f+y]:[1,ee,[Gt]],[S]:[1,oe,[Gt]],[L]:[2,be,[Gt,Ht]],[y]:[2,xe,[Gt,Ht]],[v]:[3,De,[Gt,Ht,Ut],e=>He(Xt(...e))],InvalidCell:[3,Je],[I]:[0,ze],[p]:[0,je],[R]:[1,Oe,[Zt],e=>He(_t(e[0]))],InvalidValue:[1,Ae]},(([e,t,s,n],a)=>{gs[u+a+c]=(...a)=>We(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(gs)};e.createCheckpoints=ze,e.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let l,i,c,d=0,u=0;Se(We,r,(()=>0)),Se($e,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await f.schedule((async()=>{await e(),d=0}))),f),f={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(f.stopAutoLoad(),await f.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),f),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),f),save:async t=>(1!=d&&(d=2,await f.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),l=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||f.save((()=>[s,n]))})),f),stopAutoSave:()=>(M(l,e.delListener),f),schedule:async(...e)=>(H(ge($e,r),...e),await(async()=>{if(!ge(We,r)){for(Le(We,r,1);!k(i=U(ge($e,r)));)try{await i()}catch(e){o?.(e)}Le(We,r,0)}})(),f),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(f)},e.createIndexes=je,e.createMetrics=Be,e.createQueries=qe,e.createRelationships=Ge,e.createStore=tt,e.defaultSorter=Ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,o)=>t(e)?null==o?void 0:o():n(e),o=Object,i=o.keys,r=o.freeze,l=(e,t)=>n(e,(e=>e[t])),u=(e,n)=>!t(l(e,n)),s=(e,t)=>(delete e[t],e),d=(e,t)=>((e,t)=>e.map(t))(o.entries(e),(([e,n])=>t(n,e))),c=e=>i(e).length,a=e=>(e=>e instanceof o&&e.constructor==o)(e)&&0==c(e);var v=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{u(n.next(e))}catch(e){i(e)}},l=e=>{try{u(n.throw(e))}catch(e){i(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);u((n=n.apply(e,t)).next())})),f=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{u(n.next(e))}catch(e){i(e)}},l=e=>{try{u(n.throw(e))}catch(e){i(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);u((n=n.apply(e,t)).next())}));const y=(e,t)=>[e[t].t,e[t].v],h=(e,n,o,i)=>{const r=t(n)?e:((e,t,n)=>(u(e,t)||(e[t]={}),e[t]))(e,n);let l;return d(o,((e,t)=>{i(r,t,e)&&(l=1)})),d(r,((e,t)=>{u(o,t)||(s(r,t),l=1)})),!t(n)&&a(r)&&s(e,n),l};e.createAutomergePersister=(e,o,i="tinybase")=>(o.change((e=>e[i]={})),((e,u,c,p,g)=>{let m,A,x,L=0,P=0,S=0;const b=[],C=e=>v(void 0,null,(function*(){return 2!=L&&(L=1,yield T.schedule((()=>v(void 0,null,(function*(){yield e(),L=0}))))),T})),T={load:(t,n)=>v(void 0,null,(function*(){return yield C((()=>v(void 0,null,(function*(){try{e.setContent(yield u())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>v(void 0,[...t],(function*(t={},n={}){return T.stopAutoLoad(),yield T.load(t,n),S=1,x=(e=>{const t=({doc:t})=>e((()=>y(t,i)));return o.on("change",t),t})(((t,n)=>v(void 0,null,(function*(){return yield C((()=>v(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield u())}catch(e){}}))))})))),T})),stopAutoLoad:()=>{return S&&(e=x,o.removeListener("change",e),x=void 0,S=0),T;var e},save:r=>v(void 0,null,(function*(){return 1!=L&&(L=2,yield T.schedule((()=>v(void 0,null,(function*(){try{yield((e,r)=>f(void 0,null,(function*(){return o.change((o=>((e,o,i,r)=>{((e,t)=>{a(e[t])&&(e[t]={t:{},v:{}})})(e,o);const[u,c]=y(e,o),v=()=>{f=1};let f=1;if(n(null==r?void 0:r(),(([e,o])=>{f=0,d(e,((e,o)=>f?0:t(e)?s(u,o):n(u[o],(o=>d(e,((e,i)=>f?0:t(e)?s(o,i):n(l(o,i),(n=>d(e,((e,o)=>t(e)?s(n,o):n[o]=e))),v)))),v))),d(o,((e,n)=>f?0:t(e)?s(c,n):c[n]=e))})),f){const[e,t]=i();h(u,void 0,e,((e,t,n)=>h(u,t,n,((e,t,n)=>h(e,t,n,((e,t,n)=>{if(l(e,t)!==n)return e[t]=n,1})))))),h(c,void 0,t,((e,t,n)=>{l(c,t)!==n&&(c[t]=n)}))}})(o,i,e,r)))})))(e.getContent,r)}catch(e){}L=0}))))),T})),startAutoSave:()=>v(void 0,null,(function*(){return yield T.stopAutoSave().save(),m=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();a(n)&&a(o)||T.save((()=>[n,o]))})),T})),stopAutoSave:()=>(n(m,e.delListener),T),schedule:(...e)=>v(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(b,...e),yield v(void 0,null,(function*(){if(!P){for(P=1;!t((e=b,A=e.shift()));)try{yield A()}catch(e){}P=0}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(T)})(e,(()=>f(void 0,null,(function*(){return 2==c(o.doc[i])?y(o.doc,i):void 0})))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,o)=>t(e)?null==o?void 0:o():n(e),o=Object,l=o.keys,i=o.freeze,u=(e,t)=>n(e,(e=>e[t])),r=(e,n)=>!t(u(e,n)),d=(e,t)=>(delete e[t],e),s=(e,t)=>((e,t)=>e.map(t))(o.entries(e),(([e,n])=>t(n,e))),c=e=>l(e).length,a=e=>(e=>e instanceof o&&e.constructor==o)(e)&&0==c(e),v=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),y=(e,n,o)=>{return t(o)?(i=n,null==(l=e)||l.delete(i),e):null==e?void 0:e.set(n,o);var l,i},h=(e,t,n)=>{var o,l,i;return l=t,null!=(i=null==(o=e)?void 0:o.has(l))&&i||y(e,t,n()),f(e,t)};var p=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{r(n.next(e))}catch(e){l(e)}},u=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,u);r((n=n.apply(e,t)).next())}));const g=v(),m=v();var A=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{r(n.next(e))}catch(e){l(e)}},u=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,u);r((n=n.apply(e,t)).next())}));const x=(e,t)=>[e[t].t,e[t].v],L=(e,n,o,l)=>{const i=t(n)?e:((e,t,n)=>(r(e,t)||(e[t]={}),e[t]))(e,n);let u;return s(o,((e,t)=>{l(i,t,e)&&(u=1)})),s(i,((e,t)=>{r(o,t)||(d(i,t),u=1)})),!t(n)&&a(i)&&d(e,n),u};e.createAutomergePersister=(e,o,l="tinybase",r)=>(o.change((e=>e[l]={})),((e,o,l,u,r,d,s=[])=>{let c,v,A,x=0,L=0;h(g,s,(()=>0)),h(m,s,(()=>[]));const P=e=>p(void 0,null,(function*(){return 2!=x&&(x=1,yield S.schedule((()=>p(void 0,null,(function*(){yield e(),x=0}))))),S})),S={load:(t,n)=>p(void 0,null,(function*(){return yield P((()=>p(void 0,null,(function*(){try{e.setContent(yield o())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>p(void 0,[...t],(function*(t={},n={}){return S.stopAutoLoad(),yield S.load(t,n),L=1,A=u(((t,n)=>p(void 0,null,(function*(){if(n){const t=n();yield P((()=>p(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield P((()=>p(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield o())}catch(e){null==d||d(e)}}))))})))),S})),stopAutoLoad:()=>(L&&(r(A),A=void 0,L=0),S),save:t=>p(void 0,null,(function*(){return 1!=x&&(x=2,yield S.schedule((()=>p(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==d||d(e)}x=0}))))),S})),startAutoSave:()=>p(void 0,null,(function*(){return yield S.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();a(n)&&a(o)||S.save((()=>[n,o]))})),S})),stopAutoSave:()=>(n(c,e.delListener),S),schedule:(...e)=>p(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(f(m,s),...e),yield p(void 0,null,(function*(){if(!f(g,s)){for(y(g,s,1);!t((e=f(m,s),v=e.shift()));)try{yield v()}catch(e){null==d||d(e)}y(g,s,0)}var e})),S})),getStore:()=>e,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(S)})(e,(()=>A(void 0,null,(function*(){return 2==c(o.doc[l])?x(o.doc,l):void 0}))),((e,i)=>A(void 0,null,(function*(){return o.change((o=>((e,o,l,i)=>{((e,t)=>{a(e[t])&&(e[t]={t:{},v:{}})})(e,o);const[r,c]=x(e,o),v=()=>{f=1};let f=1;if(n(null==i?void 0:i(),(([e,o])=>{f=0,s(e,((e,o)=>f?0:t(e)?d(r,o):n(r[o],(o=>s(e,((e,l)=>f?0:t(e)?d(o,l):n(u(o,l),(n=>s(e,((e,o)=>t(e)?d(n,o):n[o]=e))),v)))),v))),s(o,((e,n)=>f?0:t(e)?d(c,n):c[n]=e))})),f){const[e,t]=l();L(r,void 0,e,((e,t,n)=>L(r,t,n,((e,t,n)=>L(e,t,n,((e,t,n)=>{if(u(e,t)!==n)return e[t]=n,1})))))),L(c,void 0,t,((e,t,n)=>{u(c,t)!==n&&(c[t]=n)}))}})(o,l,e,i)))}))),(e=>{const t=({doc:t})=>e((()=>x(t,l)));return o.on("change",t),t}),(e=>{o.removeListener("change",e)}),r))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e instanceof t,n=e=>null==e,o=Object,r=o.keys,i=o.freeze,s=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>r(e).length)(e),l=JSON.parse;var u=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{l(n.next(e))}catch(e){r(e)}},s=e=>{try{l(n.throw(e))}catch(e){r(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,s);l((n=n.apply(e,t)).next())})),a=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{l(n.next(e))}catch(e){r(e)}},s=e=>{try{l(n.throw(e))}catch(e){r(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,s);l((n=n.apply(e,t)).next())}));const d="storage",c=globalThis.window,v=(e,r,v)=>((e,f,y,h,p)=>{let g,S,m,A=0,L=0,w=0;const x=[],P=e=>u(void 0,null,(function*(){return 2!=A&&(A=1,yield T.schedule((()=>u(void 0,null,(function*(){yield e(),A=0}))))),T})),T={load:(t,n)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){try{e.setContent(yield f())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>u(void 0,[...t],(function*(t={},n={}){return T.stopAutoLoad(),yield T.load(t,n),w=1,m=(e=>{const t=t=>{t.storageArea===v&&t.key===r&&e((()=>l(t.newValue)))};return c.addEventListener(d,t),t})(((t,n)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield f())}catch(e){}}))))})))),T})),stopAutoLoad:()=>{return w&&(e=m,c.removeEventListener(d,e),m=void 0,w=0),T;var e},save:n=>u(void 0,null,(function*(){return 1!=A&&(A=2,yield T.schedule((()=>u(void 0,null,(function*(){try{yield(n=e.getContent,a(void 0,null,(function*(){return v.setItem(r,(e=n(),JSON.stringify(e,((e,n)=>t(n,Map)?o.fromEntries([...n]):n))));var e})))}catch(e){}var n;A=0}))))),T})),startAutoSave:()=>u(void 0,null,(function*(){return yield T.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();s(n)&&s(o)||T.save((()=>[n,o]))})),T})),stopAutoSave:()=>{var t,o;return t=g,o=e.delListener,!!n(t)||o(t),T},schedule:(...e)=>u(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(x,...e),yield u(void 0,null,(function*(){if(!L){for(L=1;!n((e=x,S=e.shift()));)try{yield S()}catch(e){}L=0}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(T)})(e,(()=>a(void 0,null,(function*(){return l(v.getItem(r))}))));e.createLocalPersister=(e,t)=>v(e,t,localStorage),e.createSessionPersister=(e,t)=>v(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e instanceof t,n=e=>null==e,o=Object,l=o.keys,r=o.freeze,i=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>l(e).length)(e),s=JSON.parse,u=e=>new Map(e),a=(e,t)=>null==e?void 0:e.get(t),d=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},c=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||d(e,t,n()),a(e,t)};var v=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{s(n.next(e))}catch(e){l(e)}},i=e=>{try{s(n.throw(e))}catch(e){l(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);s((n=n.apply(e,t)).next())}));const f=u(),y=u();var h=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{s(n.next(e))}catch(e){l(e)}},i=e=>{try{s(n.throw(e))}catch(e){l(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);s((n=n.apply(e,t)).next())}));const p="storage",g=globalThis.window,S=(e,l,u,S)=>((e,t,o,l,s,u,h=[])=>{let p,g,S,m=0,w=0;c(f,h,(()=>0)),c(y,h,(()=>[]));const A=e=>v(void 0,null,(function*(){return 2!=m&&(m=1,yield L.schedule((()=>v(void 0,null,(function*(){yield e(),m=0}))))),L})),L={load:(n,o)=>v(void 0,null,(function*(){return yield A((()=>v(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>v(void 0,[...n],(function*(n={},o={}){return L.stopAutoLoad(),yield L.load(n,o),w=1,S=l(((n,o)=>v(void 0,null,(function*(){if(o){const t=o();yield A((()=>v(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield A((()=>v(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==u||u(e)}}))))})))),L})),stopAutoLoad:()=>(w&&(s(S),S=void 0,w=0),L),save:t=>v(void 0,null,(function*(){return 1!=m&&(m=2,yield L.schedule((()=>v(void 0,null,(function*(){try{yield o(e.getContent,t)}catch(e){null==u||u(e)}m=0}))))),L})),startAutoSave:()=>v(void 0,null,(function*(){return yield L.stopAutoSave().save(),p=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();i(n)&&i(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>{var t,o;return t=p,o=e.delListener,!!n(t)||o(t),L},schedule:(...e)=>v(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(a(y,h),...e),yield v(void 0,null,(function*(){if(!a(f,h)){for(d(f,h,1);!n((e=a(y,h),g=e.shift()));)try{yield g()}catch(e){null==u||u(e)}d(f,h,0)}var e})),L})),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(L)})(e,(()=>h(void 0,null,(function*(){return s(u.getItem(l))}))),(e=>h(void 0,null,(function*(){return u.setItem(l,(n=e(),JSON.stringify(n,((e,n)=>t(n,Map)?o.fromEntries([...n]):n))));var n}))),(e=>{const t=t=>{t.storageArea===u&&t.key===l&&e((()=>s(t.newValue)))};return g.addEventListener(p,t),t}),(e=>g.removeEventListener(p,e)),S);e.createLocalPersister=(e,t,n)=>S(e,t,localStorage,n),e.createSessionPersister=(e,t,n)=>S(e,t,sessionStorage,n)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),a=e=>e.length,d=e=>0==a(e),s=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),E=e=>n(e)==o,m=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),A=Object,L=A.keys,b=A.freeze,w=(e=[])=>A.fromEntries(e),x=(...e)=>A.assign({},...e),R=(e,n)=>u(A.entries(e),(([e,t])=>n(t,e))),S=e=>A.values(e),C=e=>a(L(e)),N=e=>(e=>f(e,A)&&e.constructor==A)(e)&&0==C(e),g=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),F=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},M=(e,n,t)=>p(t)?(P(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=M)=>(R(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j=e=>new Set(Array.isArray(e)||p(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),W="_",B="_id",H=e=>`"${e.replace(/"/g,'""')}"`;var U=Object.defineProperty,k=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))q.call(n,t)&&Y(e,t,n[t]);if(k)for(var t of k(n))J.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const t=g();return[()=>K(void 0,null,(function*(){return $(t,w(yield m(u(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(u(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>{return M(t,n,$((i=g,T(o=t,r=n)||M(o,r,i()),I(o,r)),l,((e,n,t)=>{t!=I(e,n)&&M(e,n,t)}),((e,n)=>M(e,n))));var o,r,i}),((e,n)=>M(t,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!p(I(I(t,e),n)))(n,l)?w(s(u(yield e("SELECT*FROM"+H(n)),(e=>{return[e[l],(n=z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!p(e)&&!N(n)))):{}})),(n,o,r,a,c,y=!1)=>K(void 0,null,(function*(){const f=j();R(null!=r?r:{},(e=>u(L(null!=e?e:{}),(e=>_(f,e)))));const h=O(f);if(!y&&c&&d(h)&&T(t,n))return yield e("DROP TABLE"+H(n)),void M(t,n);if(d(h)||T(t,n)){const l=I(t,n),r=j(D(l));yield m([...u(h,(t=>K(void 0,null,(function*(){P(r,t)||(yield e(`ALTER TABLE${H(n)}ADD${H(t)}`),M(l,t,""))})))),...!y&&a?u(O(r),(t=>K(void 0,null,(function*(){t!=o&&(yield e(`ALTER TABLE${H(n)}DROP${H(t)}`),M(l,t))})))):[]])}else yield e(`CREATE TABLE${H(n)}(${H(o)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+H(e))))});`),M(t,n,g([[o,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+H(n)+"WHERE 1"):yield m(R(r,((t,l)=>K(void 0,null,(function*(){p(t)?yield e("DELETE FROM"+H(n)+G+H(o)+"=?",[l]):d(h)||(yield X(e,n,o,L(t),[l,...S(t)]))})))));else if(d(h))T(t,n)&&(yield e("DELETE FROM"+H(n)+"WHERE 1"));else{const l=s(D(I(t,n)),(e=>e!=o)),i=[],a=[];R(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(a,n)})),yield X(e,n,o,l,i),yield e("DELETE FROM"+H(n)+G+H(o)+"NOT IN("+Z(a)+")",a)}}))]},X=(e,n,t,o,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+H(n)+"("+H(t)+i(u(o,(e=>l+H(e))))+")VALUES"+r(`,(?${r(",?",a(o))})`,a(d)/(a(o)+1)).substring(1)+"ON CONFLICT("+H(t)+")DO UPDATE SET"+i(u(o,(e=>H(e)+"=excluded."+H(e))),l),d)})),Z=e=>i(u(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const c=[],y=e=>ne(void 0,null,(function*(){return 2!=a&&(a=1,yield f.schedule((()=>ne(void 0,null,(function*(){yield e(),a=0}))))),f})),f={load:(t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ne(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>ne(void 0,null,(function*(){return 1!=a&&(a=2,yield f.schedule((()=>ne(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),f})),startAutoSave:()=>ne(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();N(t)&&N(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>ne(void 0,null,(function*(){return v(c,...e),yield ne(void 0,null,(function*(){if(!d){for(d=1;!p((e=c,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return b(f)};var le=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const oe="store",re=(e,n,t,l,[o],r)=>{const[i,u,a]=Q(n,r),d=te(e,(()=>le(void 0,null,(function*(){var e;return yield i(),ee(null==(e=(yield u(o,B))[W])?void 0:e[oe])}))),(e=>le(void 0,null,(function*(){return d.schedule(i,(()=>le(void 0,null,(function*(){var n;yield a(o,B,{[W]:{[oe]:(n=e(),JSON.stringify(n,((e,n)=>f(n,Map)?A.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l);return d};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue=(e,n,t,l,[o,r,[i,u,a]],d)=>{const[c,v,y]=Q(n,d),f=(e,n)=>ie(void 0,null,(function*(){return yield m(F(r,((t,l)=>ie(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield y(t,l,u,o,r,n))})))))})),h=(e,n)=>ie(void 0,null,(function*(){return u?yield y(a,B,{[W]:e},!0,!0,n):null}));return te(e,(()=>ie(void 0,null,(function*(){yield c();const e=yield ie(void 0,null,(function*(){return w(s(yield m(F(o,((e,n)=>ie(void 0,[e,n],(function*([e,n],t){return[e,yield v(t,n)]}))))),(e=>!N(e[1]))))})),n=yield ie(void 0,null,(function*(){return i?(yield v(a,B))[W]:{}}));return N(e)&&p(n)?void 0:[e,n]}))),((e,n)=>ie(void 0,null,(function*(){if(yield c(),p(n)){const[n,t]=e();yield f(n),yield h(t)}else{const[e,t]=n();yield f(e,!0),yield h(t,!0)}}))),t,l)},ae="json",de="autoLoadIntervalSeconds",se="rowIdColumnName",ce="tableId",ve="tableName",ye={mode:ae,[de]:1},fe={load:0,save:0,[ve]:t+"_values"},pe=(e,n,t,l)=>{const o=g();return R(e,((e,r)=>{const i=c(S(x(n,E(e)?{[t]:e}:e)),0,C(n));p(i[0])||l(r,i[0])||M(o,r,i)})),o};var he=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ee="pragma ",me="data_version",Te="schema_version",Oe=(e,n,l,o,r,i)=>{let u,a;const[d,s,v,y]=(e=>{const n=(e=>x(ye,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[de];if(n.mode==ae){const{storeTableName:e=t}=n;return[1,l,[e],j(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(S(x(fe,i)),0,C(fe)),a=u[2],d=j(a);return[0,l,[pe(o,{[ce]:null,[se]:B},ce,(e=>_(d,e)&&e==a)),pe(r,{[ve]:null,[se]:B,deleteEmptyColumns:0,deleteEmptyTable:0},ve,((e,n)=>_(d,n)&&n==a)),u],d]})(n);return(d?re:ue)(e,i?(e,n)=>he(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>he(void 0,null,(function*(){try{const n=(yield l(Ee+me))[0][me],t=(yield l(Ee+Te))[0][Te];n==(null!=u?u:u=n)&&t==(null!=a?a:a=t)||(e(),u=n,a=t)}catch(e){}}))),1e3*s),o((n=>y.has(n)?e():0))]),(([e,n])=>{clearInterval(e),u=a=null,r(n)}),v,O(y))};e.createCrSqliteWasmPersister=(e,n,t,l)=>Oe(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),d=e=>e.length,a=e=>0==d(e),s=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),E=e=>n(e)==o,m=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),A=Object,L=A.keys,b=A.freeze,w=(e=[])=>A.fromEntries(e),x=(...e)=>A.assign({},...e),N=(e,n)=>u(A.entries(e),(([e,t])=>n(t,e))),R=e=>A.values(e),S=e=>d(L(e)),C=e=>(e=>f(e,A)&&e.constructor==A)(e)&&0==S(e),g=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),F=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},M=(e,n,t)=>p(t)?(P(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t)=>(T(e,n)||M(e,n,t()),I(e,n)),j=(e,n,t,l=M)=>(N(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),_=e=>new Set(Array.isArray(e)||p(e)?e:[e]),B=(e,n)=>null==e?void 0:e.add(n),W="_",H="_id",U=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,q=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,t)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,G=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&z(e,t,n[t]);if(q)for(var t of q(n))Y.call(n,t)&&z(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="FROM pragma_table_",Q="WHERE",X=(e,n,t)=>{const o=g();return[()=>K(void 0,null,(function*(){return j(o,w(yield m(u(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+ee(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(u(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>M(o,n,j($(o,n,g),t,((e,n,t)=>{t!=I(e,n)&&M(e,n,t)}),((e,n)=>M(e,n))))),((e,n)=>M(o,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!p(I(I(o,e),n)))(n,t)?w(s(u(yield e("SELECT*FROM"+U(n)),(e=>{return[e[t],(n=G({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!p(e)&&!C(n)))):{}})),(n,t,r,d,c,y=!1)=>K(void 0,null,(function*(){const f=_();N(null!=r?r:{},(e=>u(L(null!=e?e:{}),(e=>B(f,e)))));const h=O(f);if(!y&&c&&a(h)&&T(o,n))return yield e("DROP TABLE"+U(n)),void M(o,n);if(a(h)||T(o,n)){const l=I(o,n),r=_(D(l));yield m([...u(h,(t=>K(void 0,null,(function*(){P(r,t)||(yield e(`ALTER TABLE${U(n)}ADD${U(t)}`),M(l,t,""))})))),...!y&&d?u(O(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${U(n)}DROP${U(o)}`),M(l,o))})))):[]])}else yield e(`CREATE TABLE${U(n)}(${U(t)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+U(e))))});`),M(o,n,g([[t,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+U(n)+"WHERE 1"):yield m(N(r,((l,o)=>K(void 0,null,(function*(){p(l)?yield e("DELETE FROM"+U(n)+Q+U(t)+"=?",[o]):a(h)||(yield Z(e,n,t,L(l),[o,...R(l)]))})))));else if(a(h))T(o,n)&&(yield e("DELETE FROM"+U(n)+"WHERE 1"));else{const l=s(D(I(o,n)),(e=>e!=t)),i=[],d=[];N(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(d,n)})),yield Z(e,n,t,l,i),yield e("DELETE FROM"+U(n)+Q+U(t)+"NOT IN("+ee(d)+")",d)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},Z=(e,n,t,o,a)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+U(n)+"("+U(t)+i(u(o,(e=>l+U(e))))+")VALUES"+r(`,(?${r(",?",d(o))})`,d(a)/(d(o)+1)).substring(1)+"ON CONFLICT("+U(t)+")DO UPDATE SET"+i(u(o,(e=>U(e)+"=excluded."+U(e))),l),a)})),ee=e=>i(u(e,(()=>"?")),l),ne=JSON.parse;var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=g(),oe=g(),re=(e,n,t,l,o,r,i=[])=>{let u,d,a,s=0,c=0;$(le,i,(()=>0)),$(oe,i,(()=>[]));const y=e=>te(void 0,null,(function*(){return 2!=s&&(s=1,yield f.schedule((()=>te(void 0,null,(function*(){yield e(),s=0}))))),f})),f={load:(t,l)=>te(void 0,null,(function*(){return yield y((()=>te(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>te(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),c=1,a=l(((t,l)=>te(void 0,null,(function*(){if(l){const n=l();yield y((()=>te(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>te(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),f})),stopAutoLoad:()=>(c&&(o(a),a=void 0,c=0),f),save:n=>te(void 0,null,(function*(){return 1!=s&&(s=2,yield f.schedule((()=>te(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}s=0}))))),f})),startAutoSave:()=>te(void 0,null,(function*(){return yield f.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();C(t)&&C(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(u,e.delListener),f),schedule:(...e)=>te(void 0,null,(function*(){return v(I(oe,i),...e),yield te(void 0,null,(function*(){if(!I(le,i)){for(M(le,i,1);!p((e=I(oe,i),d=e.shift()));)try{yield d()}catch(e){null==r||r(e)}M(le,i,0)}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return b(f)};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue="store",de=(e,n,t,l,o,[r],i,u)=>{const[d,a,s,c]=X(n,i,o);return re(e,(()=>ie(void 0,null,(function*(){return yield c((()=>ie(void 0,null,(function*(){var e,n;return yield d(),ne(null!=(n=null==(e=(yield a(r,H))[W])?void 0:e[ue])?n:"null")}))))}))),(e=>ie(void 0,null,(function*(){return yield c((()=>ie(void 0,null,(function*(){var n,t;yield d(),yield s(r,H,{[W]:{[ue]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>f(n,Map)?A.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const se=(e,n,t,l,o,[r,i,[u,d,a]],c,v)=>{const[y,f,h,E]=X(n,c,o),T=(e,n)=>ae(void 0,null,(function*(){return yield m(F(i,((t,l)=>ae(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),O=(e,n)=>ae(void 0,null,(function*(){return d?yield h(a,H,{[W]:e},!0,!0,n):null}));return re(e,(()=>ae(void 0,null,(function*(){return yield E((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return w(s(yield m(F(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!C(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield f(a,H))[W]:{}}));return C(e)&&p(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield E((()=>ae(void 0,null,(function*(){if(yield y(),p(n)){const[n,t]=e();yield T(n),yield O(t)}else{const[e,t]=n();yield T(e,!0),yield O(t,!0)}}))))}))),t,l,o,v)},ce="json",ve="autoLoadIntervalSeconds",ye="rowIdColumnName",fe="tableId",pe="tableName",he={mode:ce,[ve]:1},Ee={load:0,save:0,[pe]:t+"_values"},me=(e,n,t,l)=>{const o=g();return N(e,((e,r)=>{const i=c(R(x(n,E(e)?{[t]:e}:e)),0,S(n));p(i[0])||l(r,i[0])||M(o,r,i)})),o};var Te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Oe="pragma ",Pe="data_version",Ae="schema_version",Le=(e,n,l,o,r,i,u,d)=>{let a,s;const[v,y,f,p]=(e=>{const n=(e=>x(he,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[ve];if(n.mode==ce){const{storeTableName:e=t}=n;return[1,l,[e],_(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(R(x(Ee,i)),0,S(Ee)),d=u[2],a=_(d);return[0,l,[me(o,{[fe]:null,[ye]:H},fe,(e=>B(a,e)&&e==d)),me(r,{[pe]:null,[ye]:H,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>B(a,n)&&n==d)),u],a]})(n);return(v?de:se)(e,i?(e,n)=>Te(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>Te(void 0,null,(function*(){try{const n=(yield l(Oe+Pe))[0][Pe],t=(yield l(Oe+Ae))[0][Ae];n==(null!=a?a:a=n)&&t==(null!=s?s:s=t)||(e(),a=n,s=t)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),a=s=null,r(n)}),u,f,O(p),d)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>Le(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),a=e=>e.length,d=e=>0==a(e),s=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),E=e=>n(e)==o,m=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),P=Object,L=P.keys,O=P.freeze,w=(e=[])=>P.fromEntries(e),x=(...e)=>P.assign({},...e),R=(e,n)=>u(P.entries(e),(([e,t])=>n(t,e))),S=e=>P.values(e),g=e=>a(L(e)),N=e=>(e=>f(e,P)&&e.constructor==P)(e)&&0==g(e),C=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),F=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},M=(e,n,t)=>p(t)?(A(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=M)=>(R(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j=e=>new Set(Array.isArray(e)||p(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var q=Object.defineProperty,k=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&Y(e,t,n[t]);if(k)for(var t of k(n))U.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const t=C();return[()=>K(void 0,null,(function*(){return $(t,w(yield m(u(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(u(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>{return M(t,n,$((i=C,T(o=t,r=n)||M(o,r,i()),I(o,r)),l,((e,n,t)=>{t!=I(e,n)&&M(e,n,t)}),((e,n)=>M(e,n))));var o,r,i}),((e,n)=>M(t,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!p(I(I(t,e),n)))(n,l)?w(s(u(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!p(e)&&!N(n)))):{}})),(n,o,r,a,c,y=!1)=>K(void 0,null,(function*(){const f=j();R(null!=r?r:{},(e=>u(L(null!=e?e:{}),(e=>_(f,e)))));const h=b(f);if(!y&&c&&d(h)&&T(t,n))return yield e("DROP TABLE"+W(n)),void M(t,n);if(d(h)||T(t,n)){const l=I(t,n),r=j(D(l));yield m([...u(h,(t=>K(void 0,null,(function*(){A(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),M(l,t,""))})))),...!y&&a?u(b(r),(t=>K(void 0,null,(function*(){t!=o&&(yield e(`ALTER TABLE${W(n)}DROP${W(t)}`),M(l,t))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(o)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+W(e))))});`),M(t,n,C([[o,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield m(R(r,((t,l)=>K(void 0,null,(function*(){p(t)?yield e("DELETE FROM"+W(n)+G+W(o)+"=?",[l]):d(h)||(yield X(e,n,o,L(t),[l,...S(t)]))})))));else if(d(h))T(t,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=s(D(I(t,n)),(e=>e!=o)),i=[],a=[];R(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(a,n)})),yield X(e,n,o,l,i),yield e("DELETE FROM"+W(n)+G+W(o)+"NOT IN("+Z(a)+")",a)}}))]},X=(e,n,t,o,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+i(u(o,(e=>l+W(e))))+")VALUES"+r(`,(?${r(",?",a(o))})`,a(d)/(a(o)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+i(u(o,(e=>W(e)+"=excluded."+W(e))),l),d)})),Z=e=>i(u(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const c=[],y=e=>ne(void 0,null,(function*(){return 2!=a&&(a=1,yield f.schedule((()=>ne(void 0,null,(function*(){yield e(),a=0}))))),f})),f={load:(t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ne(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>ne(void 0,null,(function*(){return 1!=a&&(a=2,yield f.schedule((()=>ne(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),f})),startAutoSave:()=>ne(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();N(t)&&N(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>ne(void 0,null,(function*(){return v(c,...e),yield ne(void 0,null,(function*(){if(!d){for(d=1;!p((e=c,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return O(f)};var le=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const oe="store",re=(e,n,t,l,[o],r)=>{const[i,u,a]=Q(n,r),d=te(e,(()=>le(void 0,null,(function*(){var e;return yield i(),ee(null==(e=(yield u(o,H))[B])?void 0:e[oe])}))),(e=>le(void 0,null,(function*(){return d.schedule(i,(()=>le(void 0,null,(function*(){var n;yield a(o,H,{[B]:{[oe]:(n=e(),JSON.stringify(n,((e,n)=>f(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l);return d};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue=(e,n,t,l,[o,r,[i,u,a]],d)=>{const[c,v,y]=Q(n,d),f=(e,n)=>ie(void 0,null,(function*(){return yield m(F(r,((t,l)=>ie(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield y(t,l,u,o,r,n))})))))})),h=(e,n)=>ie(void 0,null,(function*(){return u?yield y(a,H,{[B]:e},!0,!0,n):null}));return te(e,(()=>ie(void 0,null,(function*(){yield c();const e=yield ie(void 0,null,(function*(){return w(s(yield m(F(o,((e,n)=>ie(void 0,[e,n],(function*([e,n],t){return[e,yield v(t,n)]}))))),(e=>!N(e[1]))))})),n=yield ie(void 0,null,(function*(){return i?(yield v(a,H))[B]:{}}));return N(e)&&p(n)?void 0:[e,n]}))),((e,n)=>ie(void 0,null,(function*(){if(yield c(),p(n)){const[n,t]=e();yield f(n),yield h(t)}else{const[e,t]=n();yield f(e,!0),yield h(t,!0)}}))),t,l)},ae="json",de="autoLoadIntervalSeconds",se="rowIdColumnName",ce="tableId",ve="tableName",ye={mode:ae,[de]:1},fe={load:0,save:0,[ve]:t+"_values"},pe=(e,n,t,l)=>{const o=C();return R(e,((e,r)=>{const i=c(S(x(n,E(e)?{[t]:e}:e)),0,g(n));p(i[0])||l(r,i[0])||M(o,r,i)})),o};var he=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ee="pragma ",me="data_version",Te="schema_version",be=(e,n,l,o,r,i)=>{let u,a;const[d,s,v,y]=(e=>{const n=(e=>x(ye,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[de];if(n.mode==ae){const{storeTableName:e=t}=n;return[1,l,[e],j(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(S(x(fe,i)),0,g(fe)),a=u[2],d=j(a);return[0,l,[pe(o,{[ce]:null,[se]:H},ce,(e=>_(d,e)&&e==a)),pe(r,{[ve]:null,[se]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ve,((e,n)=>_(d,n)&&n==a)),u],d]})(n);return(d?re:ue)(e,i?(e,n)=>he(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>he(void 0,null,(function*(){try{const n=(yield l(Ee+me))[0][me],t=(yield l(Ee+Te))[0][Te];n==(null!=u?u:u=n)&&t==(null!=a?a:a=t)||(e(),u=n,a=t)}catch(e){}}))),1e3*s),o((n=>y.has(n)?e():0))]),(([e,n])=>{clearInterval(e),u=a=null,r(n)}),v,b(y))};e.createExpoSqlitePersister=(e,n,t,l)=>be(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return(yield n.execAsync([{sql:e,args:t}],!1))[0].rows},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),l)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqlite={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),a=e=>e.length,d=e=>0==a(e),s=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),E=e=>n(e)==o,m=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),P=Object,L=P.keys,O=P.freeze,w=(e=[])=>P.fromEntries(e),x=(...e)=>P.assign({},...e),N=(e,n)=>u(P.entries(e),(([e,t])=>n(t,e))),R=e=>P.values(e),S=e=>a(L(e)),g=e=>(e=>f(e,P)&&e.constructor==P)(e)&&0==S(e),C=e=>new Map(e),D=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),F=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},M=(e,n,t)=>p(t)?(A(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t)=>(T(e,n)||M(e,n,t()),I(e,n)),j=(e,n,t,l=M)=>(N(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),_=e=>new Set(Array.isArray(e)||p(e)?e:[e]),B=(e,n)=>null==e?void 0:e.add(n),H="_",W="_id",q=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,t)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,G=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&z(e,t,n[t]);if(J)for(var t of J(n))Y.call(n,t)&&z(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="FROM pragma_table_",Q="WHERE",X=(e,n,t)=>{const o=C();return[()=>K(void 0,null,(function*(){return j(o,w(yield m(u(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+ee(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(u(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>M(o,n,j($(o,n,C),t,((e,n,t)=>{t!=I(e,n)&&M(e,n,t)}),((e,n)=>M(e,n))))),((e,n)=>M(o,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!p(I(I(o,e),n)))(n,t)?w(s(u(yield e("SELECT*FROM"+q(n)),(e=>{return[e[t],(n=G({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!p(e)&&!g(n)))):{}})),(n,t,r,a,c,y=!1)=>K(void 0,null,(function*(){const f=_();N(null!=r?r:{},(e=>u(L(null!=e?e:{}),(e=>B(f,e)))));const h=b(f);if(!y&&c&&d(h)&&T(o,n))return yield e("DROP TABLE"+q(n)),void M(o,n);if(d(h)||T(o,n)){const l=I(o,n),r=_(D(l));yield m([...u(h,(t=>K(void 0,null,(function*(){A(r,t)||(yield e(`ALTER TABLE${q(n)}ADD${q(t)}`),M(l,t,""))})))),...!y&&a?u(b(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${q(n)}DROP${q(o)}`),M(l,o))})))):[]])}else yield e(`CREATE TABLE${q(n)}(${q(t)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+q(e))))});`),M(o,n,C([[t,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+q(n)+"WHERE 1"):yield m(N(r,((l,o)=>K(void 0,null,(function*(){p(l)?yield e("DELETE FROM"+q(n)+Q+q(t)+"=?",[o]):d(h)||(yield Z(e,n,t,L(l),[o,...R(l)]))})))));else if(d(h))T(o,n)&&(yield e("DELETE FROM"+q(n)+"WHERE 1"));else{const l=s(D(I(o,n)),(e=>e!=t)),i=[],a=[];N(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(a,n)})),yield Z(e,n,t,l,i),yield e("DELETE FROM"+q(n)+Q+q(t)+"NOT IN("+ee(a)+")",a)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},Z=(e,n,t,o,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+q(n)+"("+q(t)+i(u(o,(e=>l+q(e))))+")VALUES"+r(`,(?${r(",?",a(o))})`,a(d)/(a(o)+1)).substring(1)+"ON CONFLICT("+q(t)+")DO UPDATE SET"+i(u(o,(e=>q(e)+"=excluded."+q(e))),l),d)})),ee=e=>i(u(e,(()=>"?")),l),ne=JSON.parse;var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=C(),oe=C(),re=(e,n,t,l,o,r,i=[])=>{let u,a,d,s=0,c=0;$(le,i,(()=>0)),$(oe,i,(()=>[]));const y=e=>te(void 0,null,(function*(){return 2!=s&&(s=1,yield f.schedule((()=>te(void 0,null,(function*(){yield e(),s=0}))))),f})),f={load:(t,l)=>te(void 0,null,(function*(){return yield y((()=>te(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>te(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),c=1,d=l(((t,l)=>te(void 0,null,(function*(){if(l){const n=l();yield y((()=>te(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>te(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),f})),stopAutoLoad:()=>(c&&(o(d),d=void 0,c=0),f),save:n=>te(void 0,null,(function*(){return 1!=s&&(s=2,yield f.schedule((()=>te(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}s=0}))))),f})),startAutoSave:()=>te(void 0,null,(function*(){return yield f.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();g(t)&&g(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(u,e.delListener),f),schedule:(...e)=>te(void 0,null,(function*(){return v(I(oe,i),...e),yield te(void 0,null,(function*(){if(!I(le,i)){for(M(le,i,1);!p((e=I(oe,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}M(le,i,0)}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return O(f)};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue="store",ae=(e,n,t,l,o,[r],i,u)=>{const[a,d,s,c]=X(n,i,o);return re(e,(()=>ie(void 0,null,(function*(){return yield c((()=>ie(void 0,null,(function*(){var e,n;return yield a(),ne(null!=(n=null==(e=(yield d(r,W))[H])?void 0:e[ue])?n:"null")}))))}))),(e=>ie(void 0,null,(function*(){return yield c((()=>ie(void 0,null,(function*(){var n,t;yield a(),yield s(r,W,{[H]:{[ue]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>f(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};var de=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const se=(e,n,t,l,o,[r,i,[u,a,d]],c,v)=>{const[y,f,h,E]=X(n,c,o),T=(e,n)=>de(void 0,null,(function*(){return yield m(F(i,((t,l)=>de(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),b=(e,n)=>de(void 0,null,(function*(){return a?yield h(d,W,{[H]:e},!0,!0,n):null}));return re(e,(()=>de(void 0,null,(function*(){return yield E((()=>de(void 0,null,(function*(){yield y();const e=yield de(void 0,null,(function*(){return w(s(yield m(F(r,((e,n)=>de(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!g(e[1]))))})),n=yield de(void 0,null,(function*(){return u?(yield f(d,W))[H]:{}}));return g(e)&&p(n)?void 0:[e,n]}))))}))),((e,n)=>de(void 0,null,(function*(){return yield E((()=>de(void 0,null,(function*(){if(yield y(),p(n)){const[n,t]=e();yield T(n),yield b(t)}else{const[e,t]=n();yield T(e,!0),yield b(t,!0)}}))))}))),t,l,o,v)},ce="json",ve="autoLoadIntervalSeconds",ye="rowIdColumnName",fe="tableId",pe="tableName",he={mode:ce,[ve]:1},Ee={load:0,save:0,[pe]:t+"_values"},me=(e,n,t,l)=>{const o=C();return N(e,((e,r)=>{const i=c(R(x(n,E(e)?{[t]:e}:e)),0,S(n));p(i[0])||l(r,i[0])||M(o,r,i)})),o};var Te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const be="pragma ",Ae="data_version",Pe="schema_version",Le=(e,n,l,o,r,i,u,a)=>{let d,s;const[v,y,f,p]=(e=>{const n=(e=>x(he,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[ve];if(n.mode==ce){const{storeTableName:e=t}=n;return[1,l,[e],_(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(R(x(Ee,i)),0,S(Ee)),a=u[2],d=_(a);return[0,l,[me(o,{[fe]:null,[ye]:W},fe,(e=>B(d,e)&&e==a)),me(r,{[pe]:null,[ye]:W,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>B(d,n)&&n==a)),u],d]})(n);return(v?ae:se)(e,i?(e,n)=>Te(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>Te(void 0,null,(function*(){try{const n=(yield l(be+Ae))[0][Ae],t=(yield l(be+Pe))[0][Pe];n==(null!=d?d:d=n)&&t==(null!=s?s:s=t)||(e(),d=n,s=t)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,b(p),a)};e.createExpoSqlitePersister=(e,n,t,l,o)=>Le(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return(yield n.execAsync([{sql:e,args:t}],!1))[0].rows},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterExpoSqlite={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",i=(e,t)=>e instanceof t,r=e=>null==e,l=Object,s=l.keys,u=l.freeze,a=e=>(e=>i(e,l)&&e.constructor==l)(e)&&0==(e=>s(e).length)(e),d=JSON.parse;var c=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())})),f=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{s(n.next(e))}catch(e){i(e)}},l=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);s((n=n.apply(e,t)).next())}));e.createFilePersister=(e,s)=>((e,d,v,y,h)=>{let p,m,g,A=0,S=0,x=0;const w=[],L=e=>c(void 0,null,(function*(){return 2!=A&&(A=1,yield P.schedule((()=>c(void 0,null,(function*(){yield e(),A=0}))))),P})),P={load:(t,n)=>c(void 0,null,(function*(){return yield L((()=>c(void 0,null,(function*(){try{e.setContent(yield d())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...n)=>c(void 0,[...n],(function*(n={},o={}){return P.stopAutoLoad(),yield P.load(n,o),x=1,i=(t,n)=>c(void 0,null,(function*(){return yield L((()=>c(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield d())}catch(e){}}))))})),g=t.watch(s,(()=>i())),P;var i})),stopAutoLoad:()=>{return x&&(null==(e=g)||e.close(),g=void 0,x=0),P;var e},save:t=>c(void 0,null,(function*(){return 1!=A&&(A=2,yield P.schedule((()=>c(void 0,null,(function*(){try{yield(t=e.getContent,f(void 0,null,(function*(){return yield n.writeFile(s,(e=t(),JSON.stringify(e,((e,t)=>i(t,Map)?l.fromEntries([...t]):t))),o);var e})))}catch(e){}var t;A=0}))))),P})),startAutoSave:()=>c(void 0,null,(function*(){return yield P.stopAutoSave().save(),p=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();a(n)&&a(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var t,n;return t=p,n=e.delListener,!!r(t)||n(t),P},schedule:(...e)=>c(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(w,...e),yield c(void 0,null,(function*(){if(!S){for(S=1;!r((e=w,m=e.shift()));)try{yield m()}catch(e){}S=0}var e})),P})),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(P)})(e,(()=>f(void 0,null,(function*(){return d(yield n.readFile(s,o))}))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
1
+ var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",l=(e,t)=>e instanceof t,i=e=>null==e,r=Object,u=r.keys,s=r.freeze,d=e=>(e=>l(e,r)&&e.constructor==r)(e)&&0==(e=>u(e).length)(e),a=JSON.parse,c=e=>new Map(e),v=(e,t)=>null==e?void 0:e.get(t),f=(e,t,n)=>{return i(n)?(l=t,null==(o=e)||o.delete(l),e):null==e?void 0:e.set(t,n);var o,l},y=(e,t,n)=>{var o,l,i;return l=t,null!=(i=null==(o=e)?void 0:o.has(l))&&i||f(e,t,n()),v(e,t)};var h=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const p=c(),m=c();var g=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));e.createFilePersister=(e,u,c)=>((e,t,n,o,l,r,u=[])=>{let a,c,g,A=0,S=0;y(p,u,(()=>0)),y(m,u,(()=>[]));const w=e=>h(void 0,null,(function*(){return 2!=A&&(A=1,yield x.schedule((()=>h(void 0,null,(function*(){yield e(),A=0}))))),x})),x={load:(n,o)=>h(void 0,null,(function*(){return yield w((()=>h(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>h(void 0,[...n],(function*(n={},l={}){return x.stopAutoLoad(),yield x.load(n,l),S=1,g=o(((n,o)=>h(void 0,null,(function*(){if(o){const t=o();yield w((()=>h(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield w((()=>h(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==r||r(e)}}))))})))),x})),stopAutoLoad:()=>(S&&(l(g),g=void 0,S=0),x),save:t=>h(void 0,null,(function*(){return 1!=A&&(A=2,yield x.schedule((()=>h(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==r||r(e)}A=0}))))),x})),startAutoSave:()=>h(void 0,null,(function*(){return yield x.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();d(n)&&d(o)||x.save((()=>[n,o]))})),x})),stopAutoSave:()=>{var t,n;return t=a,n=e.delListener,!!i(t)||n(t),x},schedule:(...e)=>h(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(v(m,u),...e),yield h(void 0,null,(function*(){if(!v(p,u)){for(f(p,u,1);!i((e=v(m,u),c=e.shift()));)try{yield c()}catch(e){null==r||r(e)}f(p,u,0)}var e})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(x)})(e,(()=>g(void 0,null,(function*(){return a(yield n.readFile(u,o))}))),(e=>g(void 0,null,(function*(){return yield n.writeFile(u,(t=e(),JSON.stringify(t,((e,t)=>l(t,Map)?r.fromEntries([...t]):t))),o);var t}))),(e=>t.watch(u,(()=>e()))),(e=>null==e?void 0:e.close()),c)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e instanceof t,n=e=>null==e,o=Object,i=o.keys,r=o.freeze,l=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>i(e).length)(e),u=JSON.parse;var s=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{u(n.next(e))}catch(e){i(e)}},l=e=>{try{u(n.throw(e))}catch(e){i(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);u((n=n.apply(e,t)).next())})),d=(e,t,n)=>new Promise(((o,i)=>{var r=e=>{try{u(n.next(e))}catch(e){i(e)}},l=e=>{try{u(n.throw(e))}catch(e){i(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);u((n=n.apply(e,t)).next())}));const a=e=>e.headers.get("ETag");e.createRemotePersister=(e,i,c,v)=>{let f;return((e,u,y,h,p)=>{let m,g,A,S=0,x=0,T=0;const P=[],C=e=>s(void 0,null,(function*(){return 2!=S&&(S=1,yield L.schedule((()=>s(void 0,null,(function*(){yield e(),S=0}))))),L})),L={load:(t,n)=>s(void 0,null,(function*(){return yield C((()=>s(void 0,null,(function*(){try{e.setContent(yield u())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},o={}){return L.stopAutoLoad(),yield L.load(t,o),T=1,r=(t,n)=>s(void 0,null,(function*(){return yield C((()=>s(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield u())}catch(e){}}))))})),A=setInterval((()=>d(void 0,null,(function*(){const e=yield fetch(i,{method:"HEAD"}),t=a(e);n(f)||n(t)||t==f||(f=t,r())}))),1e3*v),L;var r})),stopAutoLoad:()=>(T&&(clearInterval(A),A=void 0,T=0),L),save:n=>s(void 0,null,(function*(){return 1!=S&&(S=2,yield L.schedule((()=>s(void 0,null,(function*(){try{yield(n=e.getContent,d(void 0,null,(function*(){return yield fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=n(),JSON.stringify(e,((e,n)=>t(n,Map)?o.fromEntries([...n]):n)))});var e})))}catch(e){}var n;S=0}))))),L})),startAutoSave:()=>s(void 0,null,(function*(){return yield L.stopAutoSave().save(),m=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();l(n)&&l(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>{var t,o;return t=m,o=e.delListener,!!n(t)||o(t),L},schedule:(...e)=>s(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(P,...e),yield s(void 0,null,(function*(){if(!x){for(x=1;!n((e=P,g=e.shift()));)try{yield g()}catch(e){}x=0}var e})),L})),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(L)})(e,(()=>d(void 0,null,(function*(){const e=yield fetch(i);return f=a(e),u(yield e.text())}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e instanceof t,n=e=>null==e,o=Object,l=o.keys,i=o.freeze,r=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>l(e).length)(e),u=JSON.parse,d=e=>new Map(e),s=(e,t)=>null==e?void 0:e.get(t),a=(e,t,o)=>{return n(o)?(i=t,null==(l=e)||l.delete(i),e):null==e?void 0:e.set(t,o);var l,i},c=(e,t,n)=>{var o,l,i;return l=t,null!=(i=null==(o=e)?void 0:o.has(l))&&i||a(e,t,n()),s(e,t)};var v=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const f=d(),y=d();var h=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const p=e=>e.headers.get("ETag");e.createRemotePersister=(e,l,d,g,m)=>{let A;return((e,t,o,l,u,d,h=[])=>{let p,g,m,A=0,S=0;c(f,h,(()=>0)),c(y,h,(()=>[]));const x=e=>v(void 0,null,(function*(){return 2!=A&&(A=1,yield T.schedule((()=>v(void 0,null,(function*(){yield e(),A=0}))))),T})),T={load:(n,o)=>v(void 0,null,(function*(){return yield x((()=>v(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>v(void 0,[...n],(function*(n={},o={}){return T.stopAutoLoad(),yield T.load(n,o),S=1,m=l(((n,o)=>v(void 0,null,(function*(){if(o){const t=o();yield x((()=>v(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield x((()=>v(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==d||d(e)}}))))})))),T})),stopAutoLoad:()=>(S&&(u(m),m=void 0,S=0),T),save:t=>v(void 0,null,(function*(){return 1!=A&&(A=2,yield T.schedule((()=>v(void 0,null,(function*(){try{yield o(e.getContent,t)}catch(e){null==d||d(e)}A=0}))))),T})),startAutoSave:()=>v(void 0,null,(function*(){return yield T.stopAutoSave().save(),p=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();r(n)&&r(o)||T.save((()=>[n,o]))})),T})),stopAutoSave:()=>{var t,o;return t=p,o=e.delListener,!!n(t)||o(t),T},schedule:(...e)=>v(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(s(y,h),...e),yield v(void 0,null,(function*(){if(!s(f,h)){for(a(f,h,1);!n((e=s(y,h),g=e.shift()));)try{yield g()}catch(e){null==d||d(e)}a(f,h,0)}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(T)})(e,(()=>h(void 0,null,(function*(){const e=yield fetch(l);return A=p(e),u(yield e.text())}))),(e=>h(void 0,null,(function*(){return yield fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:(n=e(),JSON.stringify(n,((e,n)=>t(n,Map)?o.fromEntries([...n]):n)))});var n}))),(e=>setInterval((()=>h(void 0,null,(function*(){const t=yield fetch(l,{method:"HEAD"}),o=p(t);n(A)||n(o)||o==A||(A=o,e())}))),1e3*g)),(e=>clearInterval(e)),m)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),a=e=>e.length,d=e=>0==a(e),s=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),m=e=>n(e)==o,E=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),P=Object,w=P.keys,A=P.freeze,L=(e=[])=>P.fromEntries(e),R=(...e)=>P.assign({},...e),S=(e,n)=>u(P.entries(e),(([e,t])=>n(t,e))),x=e=>P.values(e),g=e=>a(w(e)),N=e=>(e=>f(e,P)&&e.constructor==P)(e)&&0==g(e),C=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>p(t)?(T(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t,l=_)=>(S(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F=e=>new Set(Array.isArray(e)||p(e)?e:[e]),$=(e,n)=>null==e?void 0:e.add(n),W="_",B="_id",k=e=>`"${e.replace(/"/g,'""')}"`;var q=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Y=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(H)for(var t of H(n))U.call(n,t)&&V(e,t,n[t]);return e},z=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const K="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const t=C();return[()=>z(void 0,null,(function*(){return M(t,L(yield E(u(yield e("SELECT name "+K+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,L(u(yield e("SELECT name,type "+K+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>{return _(t,n,M((i=C,b(o=t,r=n)||_(o,r,i()),j(o,r)),l,((e,n,t)=>{t!=j(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var o,r,i}),((e,n)=>_(t,n)))})),(n,l)=>z(void 0,null,(function*(){return((e,n)=>!p(j(j(t,e),n)))(n,l)?L(s(u(yield e("SELECT*FROM"+k(n)),(e=>{return[e[l],(n=Y({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!p(e)&&!N(n)))):{}})),(n,o,r,a,c,y=!1)=>z(void 0,null,(function*(){const f=F();S(null!=r?r:{},(e=>u(w(null!=e?e:{}),(e=>$(f,e)))));const h=O(f);if(!y&&c&&d(h)&&b(t,n))return yield e("DROP TABLE"+k(n)),void _(t,n);if(d(h)||b(t,n)){const l=j(t,n),r=F(I(l));yield E([...u(h,(t=>z(void 0,null,(function*(){T(r,t)||(yield e(`ALTER TABLE${k(n)}ADD${k(t)}`),_(l,t,""))})))),...!y&&a?u(O(r),(t=>z(void 0,null,(function*(){t!=o&&(yield e(`ALTER TABLE${k(n)}DROP${k(t)}`),_(l,t))})))):[]])}else yield e(`CREATE TABLE${k(n)}(${k(o)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+k(e))))});`),_(t,n,C([[o,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+k(n)+"WHERE 1"):yield E(S(r,((t,l)=>z(void 0,null,(function*(){p(t)?yield e("DELETE FROM"+k(n)+G+k(o)+"=?",[l]):d(h)||(yield X(e,n,o,w(t),[l,...x(t)]))})))));else if(d(h))b(t,n)&&(yield e("DELETE FROM"+k(n)+"WHERE 1"));else{const l=s(I(j(t,n)),(e=>e!=o)),i=[],a=[];S(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(a,n)})),yield X(e,n,o,l,i),yield e("DELETE FROM"+k(n)+G+k(o)+"NOT IN("+Z(a)+")",a)}}))]},X=(e,n,t,o,d)=>z(void 0,null,(function*(){return yield e("INSERT INTO"+k(n)+"("+k(t)+i(u(o,(e=>l+k(e))))+")VALUES"+r(`,(?${r(",?",a(o))})`,a(d)/(a(o)+1)).substring(1)+"ON CONFLICT("+k(t)+")DO UPDATE SET"+i(u(o,(e=>k(e)+"=excluded."+k(e))),l),d)})),Z=e=>i(u(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const c=[],y=e=>ne(void 0,null,(function*(){return 2!=a&&(a=1,yield f.schedule((()=>ne(void 0,null,(function*(){yield e(),a=0}))))),f})),f={load:(t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ne(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>ne(void 0,null,(function*(){return 1!=a&&(a=2,yield f.schedule((()=>ne(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),f})),startAutoSave:()=>ne(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();N(t)&&N(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>ne(void 0,null,(function*(){return v(c,...e),yield ne(void 0,null,(function*(){if(!d){for(d=1;!p((e=c,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(f)};var le=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const oe="store",re=(e,n,t,l,[o],r)=>{const[i,u,a]=Q(n,r),d=te(e,(()=>le(void 0,null,(function*(){var e;return yield i(),ee(null==(e=(yield u(o,B))[W])?void 0:e[oe])}))),(e=>le(void 0,null,(function*(){return d.schedule(i,(()=>le(void 0,null,(function*(){var n;yield a(o,B,{[W]:{[oe]:(n=e(),JSON.stringify(n,((e,n)=>f(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l);return d};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue=(e,n,t,l,[o,r,[i,u,a]],d)=>{const[c,v,y]=Q(n,d),f=(e,n)=>ie(void 0,null,(function*(){return yield E(D(r,((t,l)=>ie(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield y(t,l,u,o,r,n))})))))})),h=(e,n)=>ie(void 0,null,(function*(){return u?yield y(a,B,{[W]:e},!0,!0,n):null}));return te(e,(()=>ie(void 0,null,(function*(){yield c();const e=yield ie(void 0,null,(function*(){return L(s(yield E(D(o,((e,n)=>ie(void 0,[e,n],(function*([e,n],t){return[e,yield v(t,n)]}))))),(e=>!N(e[1]))))})),n=yield ie(void 0,null,(function*(){return i?(yield v(a,B))[W]:{}}));return N(e)&&p(n)?void 0:[e,n]}))),((e,n)=>ie(void 0,null,(function*(){if(yield c(),p(n)){const[n,t]=e();yield f(n),yield h(t)}else{const[e,t]=n();yield f(e,!0),yield h(t,!0)}}))),t,l)},ae="json",de="autoLoadIntervalSeconds",se="rowIdColumnName",ce="tableId",ve="tableName",ye={mode:ae,[de]:1},fe={load:0,save:0,[ve]:t+"_values"},pe=(e,n,t,l)=>{const o=C();return S(e,((e,r)=>{const i=c(x(R(n,m(e)?{[t]:e}:e)),0,g(n));p(i[0])||l(r,i[0])||_(o,r,i)})),o};var he=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const me="pragma ",Ee="data_version",be="schema_version",Oe=(e,n,l,o,r,i)=>{let u,a;const[d,s,v,y]=(e=>{const n=(e=>R(ye,m(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[de];if(n.mode==ae){const{storeTableName:e=t}=n;return[1,l,[e],F(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(x(R(fe,i)),0,g(fe)),a=u[2],d=F(a);return[0,l,[pe(o,{[ce]:null,[se]:B},ce,(e=>$(d,e)&&e==a)),pe(r,{[ve]:null,[se]:B,deleteEmptyColumns:0,deleteEmptyTable:0},ve,((e,n)=>$(d,n)&&n==a)),u],d]})(n);return(d?re:ue)(e,i?(e,n)=>he(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>he(void 0,null,(function*(){try{const n=(yield l(me+Ee))[0][Ee],t=(yield l(me+be))[0][be];n==(null!=u?u:u=n)&&t==(null!=a?a:a=t)||(e(),u=n,a=t)}catch(e){}}))),1e3*s),o((n=>y.has(n)?e():0))]),(([e,n])=>{clearInterval(e),u=a=null,r(n)}),v,O(y))};var Te=Object.defineProperty,Pe=Object.getOwnPropertySymbols,we=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Le=(e,n,t)=>n in e?Te(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;e.createSqliteWasmPersister=(e,n,t,l,o)=>Oe(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))we.call(n,t)&&Le(e,t,n[t]);if(Pe)for(var t of Pe(n))Ae.call(n,t)&&Le(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqliteWasm={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),a=e=>e.length,d=e=>0==a(e),c=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),E=e=>n(e)==o,m=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),P=Object,w=P.keys,A=P.freeze,L=(e=[])=>P.fromEntries(e),R=(...e)=>P.assign({},...e),S=(e,n)=>u(P.entries(e),(([e,t])=>n(t,e))),x=e=>P.values(e),N=e=>a(w(e)),g=e=>(e=>f(e,P)&&e.constructor==P)(e)&&0==N(e),C=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>p(t)?(T(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t)=>(b(e,n)||_(e,n,t()),D(e,n)),F=(e,n,t,l=_)=>(S(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),$=e=>new Set(Array.isArray(e)||p(e)?e:[e]),B=(e,n)=>null==e?void 0:e.add(n),W="_",k="_id",q=e=>`"${e.replace(/"/g,'""')}"`;var H=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?H(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&Y(e,t,n[t]);if(J)for(var t of J(n))V.call(n,t)&&Y(e,t,n[t]);return e},G=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const K="FROM pragma_table_",Q="WHERE",X=(e,n,t)=>{const o=C();return[()=>G(void 0,null,(function*(){return F(o,L(yield m(u(yield e("SELECT name "+K+"list WHERE schema='main'AND type='table'AND name IN("+ee(n)+")",n),(n=>G(void 0,[n],(function*({name:n}){return[n,L(u(yield e("SELECT name,type "+K+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>_(o,n,F(M(o,n,C),t,((e,n,t)=>{t!=D(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))))),((e,n)=>_(o,n)))})),(n,t)=>G(void 0,null,(function*(){return((e,n)=>!p(D(D(o,e),n)))(n,t)?L(c(u(yield e("SELECT*FROM"+q(n)),(e=>{return[e[t],(n=z({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!p(e)&&!g(n)))):{}})),(n,t,r,a,s,y=!1)=>G(void 0,null,(function*(){const f=$();S(null!=r?r:{},(e=>u(w(null!=e?e:{}),(e=>B(f,e)))));const h=O(f);if(!y&&s&&d(h)&&b(o,n))return yield e("DROP TABLE"+q(n)),void _(o,n);if(d(h)||b(o,n)){const l=D(o,n),r=$(I(l));yield m([...u(h,(t=>G(void 0,null,(function*(){T(r,t)||(yield e(`ALTER TABLE${q(n)}ADD${q(t)}`),_(l,t,""))})))),...!y&&a?u(O(r),(o=>G(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${q(n)}DROP${q(o)}`),_(l,o))})))):[]])}else yield e(`CREATE TABLE${q(n)}(${q(t)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+q(e))))});`),_(o,n,C([[t,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+q(n)+"WHERE 1"):yield m(S(r,((l,o)=>G(void 0,null,(function*(){p(l)?yield e("DELETE FROM"+q(n)+Q+q(t)+"=?",[o]):d(h)||(yield Z(e,n,t,w(l),[o,...x(l)]))})))));else if(d(h))b(o,n)&&(yield e("DELETE FROM"+q(n)+"WHERE 1"));else{const l=c(I(D(o,n)),(e=>e!=t)),i=[],a=[];S(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(a,n)})),yield Z(e,n,t,l,i),yield e("DELETE FROM"+q(n)+Q+q(t)+"NOT IN("+ee(a)+")",a)}})),n=>G(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},Z=(e,n,t,o,d)=>G(void 0,null,(function*(){return yield e("INSERT INTO"+q(n)+"("+q(t)+i(u(o,(e=>l+q(e))))+")VALUES"+r(`,(?${r(",?",a(o))})`,a(d)/(a(o)+1)).substring(1)+"ON CONFLICT("+q(t)+")DO UPDATE SET"+i(u(o,(e=>q(e)+"=excluded."+q(e))),l),d)})),ee=e=>i(u(e,(()=>"?")),l),ne=JSON.parse;var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=C(),oe=C(),re=(e,n,t,l,o,r,i=[])=>{let u,a,d,c=0,s=0;M(le,i,(()=>0)),M(oe,i,(()=>[]));const y=e=>te(void 0,null,(function*(){return 2!=c&&(c=1,yield f.schedule((()=>te(void 0,null,(function*(){yield e(),c=0}))))),f})),f={load:(t,l)=>te(void 0,null,(function*(){return yield y((()=>te(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>te(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,d=l(((t,l)=>te(void 0,null,(function*(){if(l){const n=l();yield y((()=>te(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>te(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),f})),stopAutoLoad:()=>(s&&(o(d),d=void 0,s=0),f),save:n=>te(void 0,null,(function*(){return 1!=c&&(c=2,yield f.schedule((()=>te(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),f})),startAutoSave:()=>te(void 0,null,(function*(){return yield f.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();g(t)&&g(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(u,e.delListener),f),schedule:(...e)=>te(void 0,null,(function*(){return v(D(oe,i),...e),yield te(void 0,null,(function*(){if(!D(le,i)){for(_(le,i,1);!p((e=D(oe,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}_(le,i,0)}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(f)};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue="store",ae=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=X(n,i,o);return re(e,(()=>ie(void 0,null,(function*(){return yield s((()=>ie(void 0,null,(function*(){var e,n;return yield a(),ne(null!=(n=null==(e=(yield d(r,k))[W])?void 0:e[ue])?n:"null")}))))}))),(e=>ie(void 0,null,(function*(){return yield s((()=>ie(void 0,null,(function*(){var n,t;yield a(),yield c(r,k,{[W]:{[ue]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>f(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};var de=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ce=(e,n,t,l,o,[r,i,[u,a,d]],s,v)=>{const[y,f,h,E]=X(n,s,o),b=(e,n)=>de(void 0,null,(function*(){return yield m(j(i,((t,l)=>de(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),O=(e,n)=>de(void 0,null,(function*(){return a?yield h(d,k,{[W]:e},!0,!0,n):null}));return re(e,(()=>de(void 0,null,(function*(){return yield E((()=>de(void 0,null,(function*(){yield y();const e=yield de(void 0,null,(function*(){return L(c(yield m(j(r,((e,n)=>de(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!g(e[1]))))})),n=yield de(void 0,null,(function*(){return u?(yield f(d,k))[W]:{}}));return g(e)&&p(n)?void 0:[e,n]}))))}))),((e,n)=>de(void 0,null,(function*(){return yield E((()=>de(void 0,null,(function*(){if(yield y(),p(n)){const[n,t]=e();yield b(n),yield O(t)}else{const[e,t]=n();yield b(e,!0),yield O(t,!0)}}))))}))),t,l,o,v)},se="json",ve="autoLoadIntervalSeconds",ye="rowIdColumnName",fe="tableId",pe="tableName",he={mode:se,[ve]:1},Ee={load:0,save:0,[pe]:t+"_values"},me=(e,n,t,l)=>{const o=C();return S(e,((e,r)=>{const i=s(x(R(n,E(e)?{[t]:e}:e)),0,N(n));p(i[0])||l(r,i[0])||_(o,r,i)})),o};var be=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Oe="pragma ",Te="data_version",Pe="schema_version",we=(e,n,l,o,r,i,u,a)=>{let d,c;const[v,y,f,p]=(e=>{const n=(e=>R(he,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[ve];if(n.mode==se){const{storeTableName:e=t}=n;return[1,l,[e],$(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(x(R(Ee,i)),0,N(Ee)),a=u[2],d=$(a);return[0,l,[me(o,{[fe]:null,[ye]:k},fe,(e=>B(d,e)&&e==a)),me(r,{[pe]:null,[ye]:k,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>B(d,n)&&n==a)),u],d]})(n);return(v?ae:ce)(e,i?(e,n)=>be(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>be(void 0,null,(function*(){try{const n=(yield l(Oe+Te))[0][Te],t=(yield l(Oe+Pe))[0][Pe];n==(null!=d?d:d=n)&&t==(null!=c?c:c=t)||(e(),d=n,c=t)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=c=null,r(n)}),u,f,O(p),a)};var Ae=Object.defineProperty,Le=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,xe=(e,n,t)=>n in e?Ae(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;e.createSqliteWasmPersister=(e,n,t,l,o,r)=>we(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))Re.call(n,t)&&xe(e,t,n[t]);if(Le)for(var t of Le(n))Se.call(n,t)&&xe(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o,r,t)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),a=e=>e.length,d=e=>0==a(e),s=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),E=e=>n(e)==o,m=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),P=Object,w=P.keys,A=P.freeze,L=(e=[])=>P.fromEntries(e),S=(...e)=>P.assign({},...e),g=(e,n)=>u(P.entries(e),(([e,t])=>n(t,e))),R=e=>P.values(e),x=e=>a(w(e)),N=e=>(e=>f(e,P)&&e.constructor==P)(e)&&0==x(e),C=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},F=(e,n,t)=>p(t)?(T(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t,l=F)=>(g(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),$=e=>new Set(Array.isArray(e)||p(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,q=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&Y(e,t,n[t]);if(q)for(var t of q(n))U.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const t=C();return[()=>K(void 0,null,(function*(){return M(t,L(yield m(u(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,L(u(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>{return F(t,n,M((i=C,b(o=t,r=n)||F(o,r,i()),D(o,r)),l,((e,n,t)=>{t!=D(e,n)&&F(e,n,t)}),((e,n)=>F(e,n))));var o,r,i}),((e,n)=>F(t,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!p(D(D(t,e),n)))(n,l)?L(s(u(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!p(e)&&!N(n)))):{}})),(n,o,r,a,c,y=!1)=>K(void 0,null,(function*(){const f=$();g(null!=r?r:{},(e=>u(w(null!=e?e:{}),(e=>_(f,e)))));const h=O(f);if(!y&&c&&d(h)&&b(t,n))return yield e("DROP TABLE"+W(n)),void F(t,n);if(d(h)||b(t,n)){const l=D(t,n),r=$(I(l));yield m([...u(h,(t=>K(void 0,null,(function*(){T(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),F(l,t,""))})))),...!y&&a?u(O(r),(t=>K(void 0,null,(function*(){t!=o&&(yield e(`ALTER TABLE${W(n)}DROP${W(t)}`),F(l,t))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(o)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+W(e))))});`),F(t,n,C([[o,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield m(g(r,((t,l)=>K(void 0,null,(function*(){p(t)?yield e("DELETE FROM"+W(n)+G+W(o)+"=?",[l]):d(h)||(yield X(e,n,o,w(t),[l,...R(t)]))})))));else if(d(h))b(t,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=s(I(D(t,n)),(e=>e!=o)),i=[],a=[];g(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(a,n)})),yield X(e,n,o,l,i),yield e("DELETE FROM"+W(n)+G+W(o)+"NOT IN("+Z(a)+")",a)}}))]},X=(e,n,t,o,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+i(u(o,(e=>l+W(e))))+")VALUES"+r(`,(?${r(",?",a(o))})`,a(d)/(a(o)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+i(u(o,(e=>W(e)+"=excluded."+W(e))),l),d)})),Z=e=>i(u(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const c=[],y=e=>ne(void 0,null,(function*(){return 2!=a&&(a=1,yield f.schedule((()=>ne(void 0,null,(function*(){yield e(),a=0}))))),f})),f={load:(t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ne(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,u=l(((t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),f})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),f),save:n=>ne(void 0,null,(function*(){return 1!=a&&(a=2,yield f.schedule((()=>ne(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),f})),startAutoSave:()=>ne(void 0,null,(function*(){return yield f.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();N(t)&&N(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(r,e.delListener),f),schedule:(...e)=>ne(void 0,null,(function*(){return v(c,...e),yield ne(void 0,null,(function*(){if(!d){for(d=1;!p((e=c,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(f)};var le=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const oe="store",re=(e,n,t,l,[o],r)=>{const[i,u,a]=Q(n,r),d=te(e,(()=>le(void 0,null,(function*(){var e;return yield i(),ee(null==(e=(yield u(o,H))[B])?void 0:e[oe])}))),(e=>le(void 0,null,(function*(){return d.schedule(i,(()=>le(void 0,null,(function*(){var n;yield a(o,H,{[B]:{[oe]:(n=e(),JSON.stringify(n,((e,n)=>f(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l);return d};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue=(e,n,t,l,[o,r,[i,u,a]],d)=>{const[c,v,y]=Q(n,d),f=(e,n)=>ie(void 0,null,(function*(){return yield m(j(r,((t,l)=>ie(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield y(t,l,u,o,r,n))})))))})),h=(e,n)=>ie(void 0,null,(function*(){return u?yield y(a,H,{[B]:e},!0,!0,n):null}));return te(e,(()=>ie(void 0,null,(function*(){yield c();const e=yield ie(void 0,null,(function*(){return L(s(yield m(j(o,((e,n)=>ie(void 0,[e,n],(function*([e,n],t){return[e,yield v(t,n)]}))))),(e=>!N(e[1]))))})),n=yield ie(void 0,null,(function*(){return i?(yield v(a,H))[B]:{}}));return N(e)&&p(n)?void 0:[e,n]}))),((e,n)=>ie(void 0,null,(function*(){if(yield c(),p(n)){const[n,t]=e();yield f(n),yield h(t)}else{const[e,t]=n();yield f(e,!0),yield h(t,!0)}}))),t,l)},ae="json",de="autoLoadIntervalSeconds",se="rowIdColumnName",ce="tableId",ve="tableName",ye={mode:ae,[de]:1},fe={load:0,save:0,[ve]:t+"_values"},pe=(e,n,t,l)=>{const o=C();return g(e,((e,r)=>{const i=c(R(S(n,E(e)?{[t]:e}:e)),0,x(n));p(i[0])||l(r,i[0])||F(o,r,i)})),o};var he=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ee="pragma ",me="data_version",be="schema_version",Oe=(e,n,l,o,r,i)=>{let u,a;const[d,s,v,y]=(e=>{const n=(e=>S(ye,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[de];if(n.mode==ae){const{storeTableName:e=t}=n;return[1,l,[e],$(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=c(R(S(fe,i)),0,x(fe)),a=u[2],d=$(a);return[0,l,[pe(o,{[ce]:null,[se]:H},ce,(e=>_(d,e)&&e==a)),pe(r,{[ve]:null,[se]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ve,((e,n)=>_(d,n)&&n==a)),u],d]})(n);return(d?re:ue)(e,i?(e,n)=>he(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>he(void 0,null,(function*(){try{const n=(yield l(Ee+me))[0][me],t=(yield l(Ee+be))[0][be];n==(null!=u?u:u=n)&&t==(null!=a?a:a=t)||(e(),u=n,a=t)}catch(e){}}))),1e3*s),o((n=>y.has(n)?e():0))]),(([e,n])=>{clearInterval(e),u=a=null,r(n)}),v,O(y))};var Te=Object.defineProperty,Pe=Object.getOwnPropertySymbols,we=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Le=(e,n,t)=>n in e?Te(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Se="change";e.createSqlite3Persister=(e,n,t,l)=>Oe(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield(l=(l,o)=>n.all(e,t,((e,n)=>e?o(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))we.call(n,t)&&Le(e,t,n[t]);if(Pe)for(var t of Pe(n))Ae.call(n,t)&&Le(e,t,n[t]);return e})({},e)))))),new y(l));var l},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>{const t=(n,t,l)=>e(l);return n.on(Se,t),t}),(e=>n.off(Se,e)),l)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqlite3={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),r=(e,n)=>e.repeat(n),i=(e,n="")=>e.join(n),u=(e,n)=>e.map(n),a=e=>e.length,d=e=>0==a(e),c=(e,n)=>e.filter(n),s=(e,n,t)=>e.slice(n,t),v=(e,...n)=>e.push(...n),y=Promise,f=(e,n)=>e instanceof n,p=e=>null==e,h=(e,n,t)=>p(e)?null==t?void 0:t():n(e),E=e=>n(e)==o,m=e=>{return n=function*(){return y.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),P=Object,w=P.keys,A=P.freeze,L=(e=[])=>P.fromEntries(e),S=(...e)=>P.assign({},...e),g=(e,n)=>u(P.entries(e),(([e,t])=>n(t,e))),N=e=>P.values(e),R=e=>a(w(e)),x=e=>(e=>f(e,P)&&e.constructor==P)(e)&&0==R(e),C=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return u([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},F=(e,n,t)=>p(t)?(T(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t)=>(b(e,n)||F(e,n,t()),D(e,n)),$=(e,n,t,l=F)=>(g(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!p(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),_=e=>new Set(Array.isArray(e)||p(e)?e:[e]),B=(e,n)=>null==e?void 0:e.add(n),H="_",W="_id",k=e=>`"${e.replace(/"/g,'""')}"`;var q=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,G=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&z(e,t,n[t]);if(J)for(var t of J(n))Y.call(n,t)&&z(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="FROM pragma_table_",Q="WHERE",X=(e,n,t)=>{const o=C();return[()=>K(void 0,null,(function*(){return $(o,L(yield m(u(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+ee(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,L(u(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>F(o,n,$(M(o,n,C),t,((e,n,t)=>{t!=D(e,n)&&F(e,n,t)}),((e,n)=>F(e,n))))),((e,n)=>F(o,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!p(D(D(o,e),n)))(n,t)?L(c(u(yield e("SELECT*FROM"+k(n)),(e=>{return[e[t],(n=G({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!p(e)&&!x(n)))):{}})),(n,t,r,a,s,y=!1)=>K(void 0,null,(function*(){const f=_();g(null!=r?r:{},(e=>u(w(null!=e?e:{}),(e=>B(f,e)))));const h=O(f);if(!y&&s&&d(h)&&b(o,n))return yield e("DROP TABLE"+k(n)),void F(o,n);if(d(h)||b(o,n)){const l=D(o,n),r=_(I(l));yield m([...u(h,(t=>K(void 0,null,(function*(){T(r,t)||(yield e(`ALTER TABLE${k(n)}ADD${k(t)}`),F(l,t,""))})))),...!y&&a?u(O(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${k(n)}DROP${k(o)}`),F(l,o))})))):[]])}else yield e(`CREATE TABLE${k(n)}(${k(t)} PRIMARY KEY ON CONFLICT REPLACE${i(u(h,(e=>l+k(e))))});`),F(o,n,C([[t,""],...u(h,(e=>[e,""]))]));if(y)p(r)?yield e("DELETE FROM"+k(n)+"WHERE 1"):yield m(g(r,((l,o)=>K(void 0,null,(function*(){p(l)?yield e("DELETE FROM"+k(n)+Q+k(t)+"=?",[o]):d(h)||(yield Z(e,n,t,w(l),[o,...N(l)]))})))));else if(d(h))b(o,n)&&(yield e("DELETE FROM"+k(n)+"WHERE 1"));else{const l=c(I(D(o,n)),(e=>e!=t)),i=[],a=[];g(null!=r?r:{},((e,n)=>{v(i,n,...u(l,(n=>null==e?void 0:e[n]))),v(a,n)})),yield Z(e,n,t,l,i),yield e("DELETE FROM"+k(n)+Q+k(t)+"NOT IN("+ee(a)+")",a)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},Z=(e,n,t,o,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+k(n)+"("+k(t)+i(u(o,(e=>l+k(e))))+")VALUES"+r(`,(?${r(",?",a(o))})`,a(d)/(a(o)+1)).substring(1)+"ON CONFLICT("+k(t)+")DO UPDATE SET"+i(u(o,(e=>k(e)+"=excluded."+k(e))),l),d)})),ee=e=>i(u(e,(()=>"?")),l),ne=JSON.parse;var te=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const le=C(),oe=C(),re=(e,n,t,l,o,r,i=[])=>{let u,a,d,c=0,s=0;M(le,i,(()=>0)),M(oe,i,(()=>[]));const y=e=>te(void 0,null,(function*(){return 2!=c&&(c=1,yield f.schedule((()=>te(void 0,null,(function*(){yield e(),c=0}))))),f})),f={load:(t,l)=>te(void 0,null,(function*(){return yield y((()=>te(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>te(void 0,[...t],(function*(t={},o={}){return f.stopAutoLoad(),yield f.load(t,o),s=1,d=l(((t,l)=>te(void 0,null,(function*(){if(l){const n=l();yield y((()=>te(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>te(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),f})),stopAutoLoad:()=>(s&&(o(d),d=void 0,s=0),f),save:n=>te(void 0,null,(function*(){return 1!=c&&(c=2,yield f.schedule((()=>te(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),f})),startAutoSave:()=>te(void 0,null,(function*(){return yield f.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();x(t)&&x(l)||f.save((()=>[t,l]))})),f})),stopAutoSave:()=>(h(u,e.delListener),f),schedule:(...e)=>te(void 0,null,(function*(){return v(D(oe,i),...e),yield te(void 0,null,(function*(){if(!D(le,i)){for(F(le,i,1);!p((e=D(oe,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}F(le,i,0)}var e})),f})),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(f)};var ie=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ue="store",ae=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=X(n,i,o);return re(e,(()=>ie(void 0,null,(function*(){return yield s((()=>ie(void 0,null,(function*(){var e,n;return yield a(),ne(null!=(n=null==(e=(yield d(r,W))[H])?void 0:e[ue])?n:"null")}))))}))),(e=>ie(void 0,null,(function*(){return yield s((()=>ie(void 0,null,(function*(){var n,t;yield a(),yield c(r,W,{[H]:{[ue]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>f(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};var de=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ce=(e,n,t,l,o,[r,i,[u,a,d]],s,v)=>{const[y,f,h,E]=X(n,s,o),b=(e,n)=>de(void 0,null,(function*(){return yield m(j(i,((t,l)=>de(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),O=(e,n)=>de(void 0,null,(function*(){return a?yield h(d,W,{[H]:e},!0,!0,n):null}));return re(e,(()=>de(void 0,null,(function*(){return yield E((()=>de(void 0,null,(function*(){yield y();const e=yield de(void 0,null,(function*(){return L(c(yield m(j(r,((e,n)=>de(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!x(e[1]))))})),n=yield de(void 0,null,(function*(){return u?(yield f(d,W))[H]:{}}));return x(e)&&p(n)?void 0:[e,n]}))))}))),((e,n)=>de(void 0,null,(function*(){return yield E((()=>de(void 0,null,(function*(){if(yield y(),p(n)){const[n,t]=e();yield b(n),yield O(t)}else{const[e,t]=n();yield b(e,!0),yield O(t,!0)}}))))}))),t,l,o,v)},se="json",ve="autoLoadIntervalSeconds",ye="rowIdColumnName",fe="tableId",pe="tableName",he={mode:se,[ve]:1},Ee={load:0,save:0,[pe]:t+"_values"},me=(e,n,t,l)=>{const o=C();return g(e,((e,r)=>{const i=s(N(S(n,E(e)?{[t]:e}:e)),0,R(n));p(i[0])||l(r,i[0])||F(o,r,i)})),o};var be=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Oe="pragma ",Te="data_version",Pe="schema_version",we=(e,n,l,o,r,i,u,a)=>{let d,c;const[v,y,f,p]=(e=>{const n=(e=>S(he,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[ve];if(n.mode==se){const{storeTableName:e=t}=n;return[1,l,[e],_(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(N(S(Ee,i)),0,R(Ee)),a=u[2],d=_(a);return[0,l,[me(o,{[fe]:null,[ye]:W},fe,(e=>B(d,e)&&e==a)),me(r,{[pe]:null,[ye]:W,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>B(d,n)&&n==a)),u],d]})(n);return(v?ae:ce)(e,i?(e,n)=>be(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>be(void 0,null,(function*(){try{const n=(yield l(Oe+Te))[0][Te],t=(yield l(Oe+Pe))[0][Pe];n==(null!=d?d:d=n)&&t==(null!=c?c:c=t)||(e(),d=n,c=t)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=c=null,r(n)}),u,f,O(p),a)};var Ae=Object.defineProperty,Le=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,Ne=(e,n,t)=>n in e?Ae(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Re="change";e.createSqlite3Persister=(e,n,t,l,o)=>we(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield(l=(l,o)=>n.all(e,t,((e,n)=>e?o(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))Se.call(n,t)&&Ne(e,t,n[t]);if(Le)for(var t of Le(n))ge.call(n,t)&&Ne(e,t,n[t]);return e})({},e)))))),new y(l));var l},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>{const t=(n,t,l)=>e(l);return n.on(Re,t),t}),(e=>n.off(Re,e)),l,o,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=Object,s=i.keys,u=i.freeze,a=(e=[])=>i.fromEntries(e),d=(e,t)=>!r(((e,t)=>l(e,(e=>e[t])))(e,t)),c=(e,t)=>((e,t)=>e.map(t))(i.entries(e),(([e,n])=>t(n,e))),v=e=>(e=>e instanceof i&&e.constructor==i)(e)&&0==(e=>n(s(e)))(e),f=(e,t,n)=>(d(e,t)||(e[t]=n()),e[t]);var y=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const h=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var p=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const g="t",S="delete",m=e=>[e.get(g),e.get("v")],A=(e,n,o,l)=>{var i;const s=r(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let u;return c(o,((e,t)=>{l(s,t,e)&&(u=1)})),s.forEach(((e,t)=>{d(o,t)||(s.delete(t),u=1)})),r(n)||s.size||e.delete(n),u};e.createYjsPersister=(e,i,s="tinybase")=>{const d=i.getMap(s);return((e,s,b,j,w)=>{let x,O,J,L=0,N=0,P=0;const C=[],T=e=>y(void 0,null,(function*(){return 2!=L&&(L=1,yield z.schedule((()=>y(void 0,null,(function*(){yield e(),L=0}))))),z})),z={load:(t,n)=>y(void 0,null,(function*(){return yield T((()=>y(void 0,null,(function*(){try{e.setContent(yield s())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>y(void 0,[...t],(function*(t={},r={}){return z.stopAutoLoad(),yield z.load(t,r),P=1,J=(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==n(t)&&(r=t[0].path,0==n(r)))return[e.get("t").toJSON(),e.get("v").toJSON()];var r;const[i,s]=m(e),u={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>o(e)==g?l(o(e),(n=>{const r=f(u,n,a),s=i.get(n);l(o(e),(e=>{const n=f(r,e,a),o=s.get(e);h(t,((e,{action:t})=>n[e]=t==S?null:o.get(e)))}),(()=>h(t,((e,{action:t})=>{var n;return r[e]=t==S?null:null==(n=s.get(e))?void 0:n.toJSON()}))))}),(()=>h(t,((e,{action:t})=>{var n;return u[e]=t==S?null:null==(n=i.get(e))?void 0:n.toJSON()})))):h(t,((e,{action:t})=>d[e]=t==S?null:s.get(e)))))})(t),[u,d]})(d,t)));return d.observeDeep(t),t})(((t,n)=>y(void 0,null,(function*(){return yield T((()=>y(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield s())}catch(e){}}))))})))),z})),stopAutoLoad:()=>{return P&&(e=J,d.unobserveDeep(e),J=void 0,P=0),z;var e},save:n=>y(void 0,null,(function*(){return 1!=L&&(L=2,yield z.schedule((()=>y(void 0,null,(function*(){try{yield((e,n)=>p(void 0,null,(function*(){return i.transact((()=>((e,n,o)=>{(e=>{e.size||(e.set(g,new t.Map),e.set("v",new t.Map))})(e);const[i,s]=m(e),u=()=>{a=1};let a=1;if(l(null==o?void 0:o(),(([e,t])=>{a=0,c(e,((e,t)=>a?0:r(e)?i.delete(t):l(i.get(t),(t=>c(e,((e,n)=>a?0:r(e)?t.delete(n):l(t.get(n),(t=>c(e,((e,n)=>r(e)?t.delete(n):t.set(n,e)))),u)))),u))),c(t,((e,t)=>a?0:r(e)?s.delete(t):s.set(t,e)))})),a){const[e,t]=n();A(i,void 0,e,((e,t,n)=>A(i,t,n,((e,t,n)=>A(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),A(s,void 0,t,((e,t,n)=>{s.get(t)!==n&&s.set(t,n)}))}})(d,e,n)))})))(e.getContent,n)}catch(e){}L=0}))))),z})),startAutoSave:()=>y(void 0,null,(function*(){return yield z.stopAutoSave().save(),x=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||z.save((()=>[n,o]))})),z})),stopAutoSave:()=>(l(x,e.delListener),z),schedule:(...e)=>y(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(C,...e),yield y(void 0,null,(function*(){if(!N){for(N=1;!r(O=o(C));)try{yield O()}catch(e){}N=0}})),z})),getStore:()=>e,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(z)})(e,(()=>p(void 0,null,(function*(){return d.size?[d.get(g).toJSON(),d.get("v").toJSON()]:void 0}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),l=e=>null==e,i=(e,t,n)=>l(e)?null==n?void 0:n():t(e),r=Object,u=r.keys,s=r.freeze,d=(e=[])=>r.fromEntries(e),a=(e,t)=>!l(((e,t)=>i(e,(e=>e[t])))(e,t)),c=(e,t)=>((e,t)=>e.map(t))(r.entries(e),(([e,n])=>t(n,e))),v=e=>(e=>e instanceof r&&e.constructor==r)(e)&&0==(e=>n(u(e)))(e),f=(e,t,n)=>(a(e,t)||(e[t]=n()),e[t]),y=e=>new Map(e),h=(e,t)=>null==e?void 0:e.get(t),p=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e))),g=(e,t,n)=>{return l(n)?(i=t,null==(o=e)||o.delete(i),e):null==e?void 0:e.set(t,n);var o,i},S=(e,t,n)=>{var o,l,i;return l=t,null!=(i=null==(o=e)?void 0:o.has(l))&&i||g(e,t,n()),h(e,t)};var m=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const w=y(),A=y();var b=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const j="t",x="delete",O=e=>[e.get(j),e.get("v")],J=(e,n,o,i)=>{var r;const u=l(n)?e:null!=(r=e.get(n))?r:e.set(n,new t.Map);let s;return c(o,((e,t)=>{i(u,t,e)&&(s=1)})),u.forEach(((e,t)=>{a(o,t)||(u.delete(t),s=1)})),l(n)||u.size||e.delete(n),s};e.createYjsPersister=(e,r,u="tinybase",a)=>{const y=r.getMap(u);return((e,t,n,r,u,d,a=[])=>{let c,f,y,p=0,b=0;S(w,a,(()=>0)),S(A,a,(()=>[]));const j=e=>m(void 0,null,(function*(){return 2!=p&&(p=1,yield x.schedule((()=>m(void 0,null,(function*(){yield e(),p=0}))))),x})),x={load:(n,o)=>m(void 0,null,(function*(){return yield j((()=>m(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>m(void 0,[...n],(function*(n={},o={}){return x.stopAutoLoad(),yield x.load(n,o),b=1,y=r(((n,o)=>m(void 0,null,(function*(){if(o){const t=o();yield j((()=>m(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield j((()=>m(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==d||d(e)}}))))})))),x})),stopAutoLoad:()=>(b&&(u(y),y=void 0,b=0),x),save:t=>m(void 0,null,(function*(){return 1!=p&&(p=2,yield x.schedule((()=>m(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==d||d(e)}p=0}))))),x})),startAutoSave:()=>m(void 0,null,(function*(){return yield x.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||x.save((()=>[n,o]))})),x})),stopAutoSave:()=>(i(c,e.delListener),x),schedule:(...e)=>m(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(h(A,a),...e),yield m(void 0,null,(function*(){if(!h(w,a)){for(g(w,a,1);!l(f=o(h(A,a)));)try{yield f()}catch(e){null==d||d(e)}g(w,a,0)}})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(x)})(e,(()=>b(void 0,null,(function*(){return y.size?[y.get(j).toJSON(),y.get("v").toJSON()]:void 0}))),((e,n)=>b(void 0,null,(function*(){return r.transact((()=>((e,n,o)=>{(e=>{e.size||(e.set(j,new t.Map),e.set("v",new t.Map))})(e);const[r,u]=O(e),s=()=>{d=1};let d=1;if(i(null==o?void 0:o(),(([e,t])=>{d=0,c(e,((e,t)=>d?0:l(e)?r.delete(t):i(r.get(t),(t=>c(e,((e,n)=>d?0:l(e)?t.delete(n):i(t.get(n),(t=>c(e,((e,n)=>l(e)?t.delete(n):t.set(n,e)))),s)))),s))),c(t,((e,t)=>d?0:l(e)?u.delete(t):u.set(t,e)))})),d){const[e,t]=n();J(r,void 0,e,((e,t,n)=>J(r,t,n,((e,t,n)=>J(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),J(u,void 0,t,((e,t,n)=>{u.get(t)!==n&&u.set(t,n)}))}})(y,e,n)))}))),(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==n(t)&&(l=t[0].path,0==n(l)))return[e.get("t").toJSON(),e.get("v").toJSON()];var l;const[r,u]=O(e),s={},a={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>o(e)==j?i(o(e),(n=>{const l=f(s,n,d),u=r.get(n);i(o(e),(e=>{const n=f(l,e,d),o=u.get(e);p(t,((e,{action:t})=>n[e]=t==x?null:o.get(e)))}),(()=>p(t,((e,{action:t})=>{var n;return l[e]=t==x?null:null==(n=u.get(e))?void 0:n.toJSON()}))))}),(()=>p(t,((e,{action:t})=>{var n;return s[e]=t==x?null:null==(n=r.get(e))?void 0:n.toJSON()})))):p(t,((e,{action:t})=>a[e]=t==x?null:u.get(e)))))})(t),[s,a]})(y,t)));return y.observeDeep(t),t}),(e=>{y.unobserveDeep(e)}),a)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object,o=n.keys,i=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>o(t).length)(t);var u=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{r(n.next(t))}catch(t){i(t)}},u=t=>{try{r(n.throw(t))}catch(t){i(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,u);r((n=n.apply(t,e)).next())}));t.createCustomPersister=(t,n,o,r,s)=>{let d,a,c,f=0,v=0,y=0;const h=[],p=t=>u(void 0,null,(function*(){return 2!=f&&(f=1,yield A.schedule((()=>u(void 0,null,(function*(){yield t(),f=0}))))),A})),A={load:(e,o)=>u(void 0,null,(function*(){return yield p((()=>u(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},o={}){return A.stopAutoLoad(),yield A.load(e,o),y=1,c=r(((e,o)=>u(void 0,null,(function*(){return yield p((()=>u(void 0,null,(function*(){var i;if(o)t.setTransactionChanges(o());else try{t.setContent(null!=(i=null==e?void 0:e())?i:yield n())}catch(t){}}))))})))),A})),stopAutoLoad:()=>(y&&(s(c),c=void 0,y=0),A),save:e=>u(void 0,null,(function*(){return 1!=f&&(f=2,yield A.schedule((()=>u(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){}f=0}))))),A})),startAutoSave:()=>u(void 0,null,(function*(){return yield A.stopAutoSave().save(),d=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();l(n)&&l(o)||A.save((()=>[n,o]))})),A})),stopAutoSave:()=>{var n,o;return n=d,o=t.delListener,!!e(n)||o(n),A},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(h,...t),yield u(void 0,null,(function*(){if(!v){for(v=1;!e((t=h,a=t.shift()));)try{yield a()}catch(t){}v=0}var t})),A})),getStore:()=>t,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(A)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object,o=n.keys,l=n.freeze,i=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>o(t).length)(t),u=t=>new Map(t),r=(t,e)=>null==t?void 0:t.get(e),s=(t,n,o)=>{return e(o)?(i=n,null==(l=t)||l.delete(i),t):null==t?void 0:t.set(n,o);var l,i},d=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||s(t,e,n()),r(t,e)};var a=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const c=u(),v=u();t.createCustomPersister=(t,n,o,u,f,y,h=[])=>{let p,g,A,C=0,L=0;d(c,h,(()=>0)),d(v,h,(()=>[]));const S=t=>a(void 0,null,(function*(){return 2!=C&&(C=1,yield m.schedule((()=>a(void 0,null,(function*(){yield t(),C=0}))))),m})),m={load:(e,o)=>a(void 0,null,(function*(){return yield S((()=>a(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>a(void 0,[...e],(function*(e={},o={}){return m.stopAutoLoad(),yield m.load(e,o),L=1,A=u(((e,o)=>a(void 0,null,(function*(){if(o){const e=o();yield S((()=>a(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield S((()=>a(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==y||y(t)}}))))})))),m})),stopAutoLoad:()=>(L&&(f(A),A=void 0,L=0),m),save:e=>a(void 0,null,(function*(){return 1!=C&&(C=2,yield m.schedule((()=>a(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==y||y(t)}C=0}))))),m})),startAutoSave:()=>a(void 0,null,(function*(){return yield m.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||m.save((()=>[n,o]))})),m})),stopAutoSave:()=>{var n,o;return n=p,o=t.delListener,!!e(n)||o(n),m},schedule:(...t)=>a(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(r(v,h),...t),yield a(void 0,null,(function*(){if(!r(c,h)){for(s(c,h,1);!e((t=r(v,h),g=t.shift()));)try{yield g()}catch(t){null==y||y(t)}s(c,h,0)}var t})),m})),getStore:()=>t,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(m)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
Binary file