tinybase 4.3.13 → 4.3.15

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 (206) 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-indexed-db.cjs +1 -1
  12. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  14. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  16. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  18. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  20. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  22. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  23. package/lib/cjs/persisters.cjs +1 -1
  24. package/lib/cjs/persisters.cjs.gz +0 -0
  25. package/lib/cjs/tinybase.cjs +1 -1
  26. package/lib/cjs/tinybase.cjs.gz +0 -0
  27. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  28. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  38. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  40. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  41. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  42. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  43. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  44. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters.cjs +1 -1
  52. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  53. package/lib/cjs-es6/tinybase.cjs +1 -1
  54. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  55. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  56. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  57. package/lib/debug/persisters/persister-automerge.js +6 -0
  58. package/lib/debug/persisters/persister-browser.js +6 -0
  59. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +13 -6
  60. package/lib/debug/persisters/persister-expo-sqlite.js +13 -6
  61. package/lib/debug/persisters/persister-file.js +6 -0
  62. package/lib/debug/persisters/persister-indexed-db.js +6 -0
  63. package/lib/debug/persisters/persister-partykit-client.js +7 -1
  64. package/lib/debug/persisters/persister-remote.js +6 -0
  65. package/lib/debug/persisters/persister-sqlite-wasm.js +13 -6
  66. package/lib/debug/persisters/persister-sqlite3.js +13 -6
  67. package/lib/debug/persisters/persister-yjs.js +6 -0
  68. package/lib/debug/persisters.js +5 -0
  69. package/lib/debug/tinybase.js +5 -0
  70. package/lib/debug/ui-react-dom.js +6 -0
  71. package/lib/es6/persisters/persister-automerge.js +1 -1
  72. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  73. package/lib/es6/persisters/persister-browser.js +1 -1
  74. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  75. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  76. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  77. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  78. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  79. package/lib/es6/persisters/persister-file.js +1 -1
  80. package/lib/es6/persisters/persister-file.js.gz +0 -0
  81. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  82. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  83. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  84. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  85. package/lib/es6/persisters/persister-remote.js +1 -1
  86. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  87. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  88. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  89. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  90. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  91. package/lib/es6/persisters/persister-yjs.js +1 -1
  92. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  93. package/lib/es6/persisters.js +1 -1
  94. package/lib/es6/persisters.js.gz +0 -0
  95. package/lib/es6/tinybase.js +1 -1
  96. package/lib/es6/tinybase.js.gz +0 -0
  97. package/lib/es6/ui-react-dom-debug.js +1 -1
  98. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  99. package/lib/persisters/persister-automerge.js +1 -1
  100. package/lib/persisters/persister-automerge.js.gz +0 -0
  101. package/lib/persisters/persister-browser.js +1 -1
  102. package/lib/persisters/persister-browser.js.gz +0 -0
  103. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  104. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  105. package/lib/persisters/persister-expo-sqlite.js +1 -1
  106. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  107. package/lib/persisters/persister-file.js +1 -1
  108. package/lib/persisters/persister-file.js.gz +0 -0
  109. package/lib/persisters/persister-indexed-db.js +1 -1
  110. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  111. package/lib/persisters/persister-partykit-client.js +1 -1
  112. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  113. package/lib/persisters/persister-remote.js +1 -1
  114. package/lib/persisters/persister-remote.js.gz +0 -0
  115. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  116. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  117. package/lib/persisters/persister-sqlite3.js +1 -1
  118. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  119. package/lib/persisters/persister-yjs.js +1 -1
  120. package/lib/persisters/persister-yjs.js.gz +0 -0
  121. package/lib/persisters.js +1 -1
  122. package/lib/persisters.js.gz +0 -0
  123. package/lib/tinybase.js +1 -1
  124. package/lib/tinybase.js.gz +0 -0
  125. package/lib/types/persisters/persister-automerge.d.ts +36 -3
  126. package/lib/types/persisters/persister-browser.d.ts +71 -8
  127. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +42 -8
  128. package/lib/types/persisters/persister-expo-sqlite.d.ts +40 -7
  129. package/lib/types/persisters/persister-file.d.ts +34 -3
  130. package/lib/types/persisters/persister-indexed-db.d.ts +36 -4
  131. package/lib/types/persisters/persister-partykit-client.d.ts +39 -3
  132. package/lib/types/persisters/persister-remote.d.ts +40 -4
  133. package/lib/types/persisters/persister-sqlite-wasm.d.ts +46 -7
  134. package/lib/types/persisters/persister-sqlite3.d.ts +40 -7
  135. package/lib/types/persisters/persister-yjs.d.ts +37 -5
  136. package/lib/types/persisters.d.ts +10 -10
  137. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +38 -4
  138. package/lib/types/with-schemas/persisters/persister-browser.d.ts +75 -10
  139. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +44 -9
  140. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +42 -8
  141. package/lib/types/with-schemas/persisters/persister-file.d.ts +36 -4
  142. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +38 -5
  143. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +41 -4
  144. package/lib/types/with-schemas/persisters/persister-remote.d.ts +42 -5
  145. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +48 -8
  146. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +41 -7
  147. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +39 -6
  148. package/lib/types/with-schemas/persisters.d.ts +10 -10
  149. package/lib/umd/persisters/persister-automerge.js +1 -1
  150. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  151. package/lib/umd/persisters/persister-browser.js +1 -1
  152. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  153. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  154. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  155. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  156. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  157. package/lib/umd/persisters/persister-file.js +1 -1
  158. package/lib/umd/persisters/persister-file.js.gz +0 -0
  159. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  160. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  161. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  162. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  163. package/lib/umd/persisters/persister-remote.js +1 -1
  164. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  165. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  166. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  167. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  168. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  169. package/lib/umd/persisters/persister-yjs.js +1 -1
  170. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  171. package/lib/umd/persisters.js +1 -1
  172. package/lib/umd/persisters.js.gz +0 -0
  173. package/lib/umd/tinybase.js +1 -1
  174. package/lib/umd/tinybase.js.gz +0 -0
  175. package/lib/umd/ui-react-dom-debug.js +1 -1
  176. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  177. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  178. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  179. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  180. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  181. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  182. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  183. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  184. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  185. package/lib/umd-es6/persisters/persister-file.js +1 -1
  186. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  187. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  188. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  189. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  190. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  191. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  192. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  193. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  194. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  195. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  196. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  197. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  198. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  199. package/lib/umd-es6/persisters.js +1 -1
  200. package/lib/umd-es6/persisters.js.gz +0 -0
  201. package/lib/umd-es6/tinybase.js +1 -1
  202. package/lib/umd-es6/tinybase.js.gz +0 -0
  203. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  204. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  205. package/package.json +20 -20
  206. package/readme.md +2 -2
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=Object,s=a.keys,n=a.freeze,o=t=>(t=>t instanceof a&&t.constructor==a)(t)&&0==(t=>s(t).length)(t),c=t=>new Map(t),i=(t,e)=>t?.get(e),r=(t,a,s)=>{return e(s)?(n=t,o=a,n?.delete(o),t):t?.set(a,s);var n,o},d=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||r(t,e,a()),i(t,e)},u=c(),y=c();t.createCustomPersister=(t,a,s,c,f,l,h=[])=>{let p,w,v,g=0,A=0;d(u,h,(()=>0)),d(y,h,(()=>[]));const C=async t=>(2!=g&&(g=1,await L.schedule((async()=>{await t(),g=0}))),L),L={load:async(e,s)=>await C((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(L.stopAutoLoad(),await L.load(e,s),A=1,v=c((async(e,s)=>{if(s){const e=s();await C((async()=>t.setTransactionChanges(e)))}else await C((async()=>{try{t.setContent(e?.()??await a())}catch(t){l?.(t)}}))})),L),stopAutoLoad:()=>(A&&(f(v),v=void 0,A=0),L),save:async e=>(1!=g&&(g=2,await L.schedule((async()=>{try{await s(t.getContent,e)}catch(t){l?.(t)}g=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();o(a)&&o(s)||L.save((()=>[a,s]))})),L),stopAutoSave:()=>{var a,s;return a=p,s=t.delListener,e(a)||s(a),L},schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(i(y,h),...t),await(async()=>{if(!i(u,h)){for(r(u,h,1);!e((t=i(y,h),w=t.shift()));)try{await w()}catch(t){l?.(t)}r(u,h,0)}var t})(),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(L)}},"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,a=Object,s=a.keys,n=a.freeze,o=t=>(t=>t instanceof a&&t.constructor==a)(t)&&0==(t=>s(t).length)(t),i=t=>new Map(t),c=(t,e)=>t?.get(e),r=(t,a,s)=>{return e(s)?(n=t,o=a,n?.delete(o),t):t?.set(a,s);var n,o},d=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||r(t,e,a()),c(t,e)},u=i(),y=i();t.createCustomPersister=(t,a,s,i,f,l,[h,p]=[],v=[])=>{let w,g,A,C=0,L=0;d(u,v,(()=>0)),d(y,v,(()=>[]));const S=async t=>(2!=C&&(C=1,await T.schedule((async()=>{await t(),C=0}))),T),T={load:async(e,s)=>await S((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(T.stopAutoLoad(),await T.load(e,s),L=1,A=i((async(e,s)=>{if(s){const e=s();await S((async()=>t.setTransactionChanges(e)))}else await S((async()=>{try{t.setContent(e?.()??await a())}catch(t){l?.(t)}}))})),T),stopAutoLoad:()=>(L&&(f(A),A=void 0,L=0),T),save:async e=>(1!=C&&(C=2,await T.schedule((async()=>{try{await s(t.getContent,e)}catch(t){l?.(t)}C=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();o(a)&&o(s)||T.save((()=>[a,s]))})),T),stopAutoSave:()=>{var a,s;return a=w,s=t.delListener,e(a)||s(a),w=void 0,T},schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(c(y,v),...t),await(async()=>{if(!c(u,v)){for(r(u,v,1);!e((t=c(y,v),g=t.shift()));)try{await g()}catch(t){l?.(t)}r(u,v,0)}var t})(),T),getStore:()=>t,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return h&&(T[h]=()=>p),n(T)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
Binary file
@@ -1 +1 @@
1
- var e,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),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",I=w+"Count",S=w+h,T="Sorted"+w+h,R="Cell",v=R+h,y="Value",C=y+"s",p=y+h,b=e=>s+e,m=Math.max,V=Math.min,E=isFinite,k=(e,t)=>e instanceof t,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),O=(e,t)=>Q(e)===Q(t)&&j(e,((e,s)=>t[s]===e)),P=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),q=e=>H(e,((e,t)=>e+t),0),G=e=>0==Q(e),H=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>k(e,Y)&&e.constructor==Y,se=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>$(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>Q(Z(e)))(e),re=e=>e?.size??0,ie=(e,t)=>e?.has(t)??!1,le=e=>M(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(ie(e,t)||Ie(e,t,s()),Le(e,t)),Te=(e,t,s,n=Ie)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),ye=(e,t,s)=>Re(e,(e=>ve(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),me=(e,t,s,n,a=0)=>x((s?Se:Le)(e,t[a],a>Q(t)-2?s:ge),(o=>{if(a>Q(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=me(o,t,s,n,a+1);return le(o)&&Ie(e,t[a]),r})),Ve=e=>{const s=t(e);return D(s)||s==o&&E(e)?s:void 0},Ee=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(A(e)||M(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s,n,a)=>{const o=e.hasRow,r=ge(),i=ge(),l=ge(),c=ge(),d=ge(),u=ge(),h=(t,s,...n)=>{const a=Se(u,t,Me);return W(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(Le(u,t),(n=>{W(G(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),le(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),ie(i,e)||(Ie(i,e,t()),Ie(c,e,ge()),Ie(d,e,ge()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>fe(r),e=>we(i,e),e=>ie(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=ge(),u=ge(),L=Le(c,t),w=Le(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=Le(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&O(c,d)||Ie(l,t,[c,d]),!M(i)){const e=Le(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},S=e=>{a((()=>{ue(l,(([,e],t)=>Ie(L,t,e))),ue(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),de(l),de(u)};we(L,I),e.hasTable(n)&&W(e.getRowIds(n),(e=>{ie(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,l),()=>we(u,L),h,g]},Je=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Fe.test(t)&&Q(e)<1e3&&K(e,t)}]},ze=e=>{let t;const[n,a]=Qe(),o=ge();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),xe(me(r,i??[s],Me),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?K(n,e):null===t[s]?ue(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(Le(e,t),s+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](t,...n??[],...a))))),e=>x(Le(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(he(t,e),le(t)?1:0))),Ie(o,e),a(e),n))),e=>x(Le(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Ne=Ae((e=>{let t,n,a,o=100,r=ge(),i=ge(),l=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>F)),f=ge(),L=ge(),w=[],I=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),l=1},T=e=>{Ie(f,e),Ie(L,e),h(d,[e])},R=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),T),v=()=>R(w,Q(w)-o),y=()=>x(t,(()=>{K(w,t),v(),R(I),t=void 0,a=1})),C=()=>{t=U(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){y();const e=Se(r,t,ge),i=Se(e,s,ge),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&le(Ie(i,n))&&le(Ie(e,s))&&le(Ie(r,t))&&C(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Ie(i,t))&&C(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=ge(),i=ge(),a=1),t),V=()=>{G(w)||(((e,...t)=>{e.unshift(...t)})(I,m()),S(0,t),t=U(w),a=1)},E=()=>{G(I)||(K(w,t),t=X(I),S(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&Le(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>ie(f,e),F={setSize:e=>(o=e,v(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...I]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:A,getCheckpoint:e=>Le(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(I,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(R(w),R(I),M(t)||T(t),t=void 0,n=0,D(),F),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return ee(F.clear())})),je=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Ae((e=>{const t=ge(),n=ge(),[a,o,r]=ze((()=>T)),[i,l,c,d,u,h,g,,f,L,w,I]=De(e,ge,(e=>M(e)?s:A(e)?$(e,b):b(e)),a,o),S=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=Me(),I=Me(),S=h(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{xe(w,e),x(Le(S,e),(t=>{he(t,s),le(t)&&(Ie(S,e),L=1)}))})),ue(a,(e=>{xe(w,e),ie(S,e)||(Ie(S,e,Me()),L=1),xe(Le(S,e),s),M(r)||xe(I,e)}))})),s(),le(u)||(f?we(S,(e=>xe(I,e))):we(i,(e=>x(Le(d,e),(e=>xe(I,e))))),ue(I,(e=>{const t=(t,s)=>l(Le(u,t),Le(u,s),e),s=[...Le(S,e)];P(s,t)||(Ie(S,e,Me(B(s,t))),xe(w,e))}))),(L||f)&&!M(c)){const t=[...S];P(t,c)||(g(e,ge(B(t,c))),L=1)}L&&o(t,[e]),ue(w,(t=>o(n,[e,t])))}),Je(a),x(r,Je)),T},delIndexDefinition:e=>(L(e),T),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ie(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>ce(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),T),destroy:I,getListenerStats:()=>({})};return ee(T)})),Pe=ge([["avg",[(e,t)=>q(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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(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=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Be=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,i,l,c]=a;return o||=M(e),ue(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(ce(s),re(s)):e},We=Ae((e=>{const t=ge(),[n,a,o]=ze((()=>I)),[r,i,l,c,d,u,h,,g,f,L,w]=De(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),I={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:Le(Pe,n)??Le(Pe,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=re(r);l||=M(d),s();let f=Be(d,g,r,n,c,l);E(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return ee(I)})),$e=ge(),qe=ge(),Ge=Ae((e=>{const t=e.createStore,n=t(),a=t(),o=ge(),{addListener:r,callListeners:i,delListener:l}=a,[h,f,L,y,C,,,p,,b,m,V,E,k]=De(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>xe(Se(Se(o,t,ge),e,Me),s))),A=e=>{x(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),O={setQueryDefinition:(t,o,r)=>{p(t,o),A(t);const i=[],l=[[null,[o,null,null,[],ge()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],ge()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:Le(Pe,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=ge(i);if(le(h))return O;const g=ge(l);we(g,((e,[,t])=>x(Le(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=ge(d);let L=n;if(le(f)&&G(u))L=a;else{N(t,L,a);const e=ge();we(f,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();we(h,(t=>ie(e,t)?0:xe(s,t)));const n=ge(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{we(n,((t,[s])=>{const n=Se(i,t,ge),a=Le(n,o),l=r?void 0:s;if(a!==l){const s=Me([[a,l]]),r=re(n);Ie(n,o,l),ue(Le(e,t),(([e,t])=>{const a=Be(d[e],r,n,s,t);d[e]=M(Ve(a))?null:a}))}})),le(l)||!j(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ge(),h=L.hasRow(t,i);let g=!h;ue(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),we(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(me(n,c,void 0,(([,e])=>(he(e,i),le(e)))),u,i,1),h&&o(me(n,d,(()=>{const e={};return ue(s,(s=>e[s]=L.getCell(t,i,s))),[ge(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=Le(g,n),c=o?.(i,s),[d,u]=Le(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[Le(g,t)?.[0],Le(Le(g,t)?.[4],s)?.[0],n]);L.transaction((()=>j(c,(e=>e(n)))?we(h,((e,a)=>Ee(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:I}=Le(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(t,a),ue(g,(({4:e})=>x(Le(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),O},delQueryDefinition:e=>(A(e),b(e),O),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>m((()=>e(O))),delListener:e=>(l(e),O),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+v]:[0,1],[I]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>O[e+d+s]=(...t)=>a[e+s](...t))),O[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](O,...n)),!0)})),ee(O)})),He=Ae((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,i,l]=ze((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>M(e)?void 0:e+s),r,i),T=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ie(a,t)){const o=Me();if(g(e)!=v(e))xe(o,t);else{let e=t;for(;!M(e)&&!ie(o,e);)xe(o,e),e=Le(n,e)}if(s)return o;Ie(a,t,o)}return Le(a,t)})),R=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),v=e=>Le(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=Me(),l=Me(),c=Me(),[d,u]=f(e);ue(s,(([t,s],n)=>{M(t)||(xe(l,t),x(Le(u,t),(e=>{he(e,n),le(e)&&Ie(u,t)}))),M(s)||(xe(l,s),ie(u,s)||Ie(u,s,Me()),xe(Le(u,s),n)),xe(r,n),Ie(d,n,s),we(Le(o,e),(t=>{ie(T(e,t),n)&&xe(c,t)}))})),t(),ue(r,(t=>i(n,[e,t]))),ue(l,(t=>i(a,[e,t]))),ue(c,(t=>{R(e,t),i(o,[e,t])}))}),Je(l)),y),delRelationshipDefinition:e=>(Ie(t,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:v,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ce(T(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),r(s,o,[e,t])),delListener:e=>(R(...l(e)??[]),y),destroy:S,getListenerStats:()=>({})};return ee(y)})),Ke=e=>[e,e],Ue=()=>[ge(),ge()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>k(t,Map)?Y.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>M(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),tt=(e,t,s)=>Ie(e,t,Le(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),T=ge(),m=ge(),V=ge(),E=ge(),k=ge(),A=ge(),Q=ge(),z=ge(),j=ge(),P=ge(),q=ge(),G=Me(),H=ge(),U=ge(),X=ge(),Y=ge(),Z=Ue(),_=Ue(),te=Ue(),ce=Ue(),me=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),Fe=Ue(),Ne=Ue(),Oe=Ue(),Pe=Ue(),Be=Ue(),We=Ue(),$e=Ue(),qe=ge(),Ge=Ue(),[He,nt,at,ot]=ze((()=>Ts)),rt=e=>{if(!et(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},it=(t,s)=>(!e||ie(z,s)||zt(s))&&et(t,((e,t)=>lt(s,t,e)),(()=>zt(s))),lt=(e,t,s,n)=>et(n?s:ht(s,e,t),((n,a)=>x(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?x(Le(Le(z,t),n),(e=>Ve(a)!=e[i]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):M(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>x(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?x(Le(P,e),(t=>Ve(s)!=t[i]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):M(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(x(Le(j,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(ue(q,((t,s)=>{se(e,s)||(e[s]=t)})),ue(G,(t=>{se(e,t)||Nt(t)}))),e),ft=e=>Te(z,e,((e,t,s)=>{const n=ge(),a=Me();Te(Se(z,t,ge),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>xe(a,t)))})),Ie(j,t,[n,a])}),((e,t)=>{Ie(z,t),Ie(j,t)})),Lt=e=>Te(P,e,((e,t,s)=>{Ie(P,t,s),x(s[l],(e=>Ie(q,t,e)),(()=>xe(G,t)))}),((e,t)=>{Ie(P,t),Ie(q,t),he(G,t)})),wt=e=>oe(e)?ds():os(e),It=e=>Te(X,e,((e,t,s)=>St(t,s)),((e,t)=>Vt(t))),St=(e,t)=>Te(Se(X,e,(()=>(xt(e,1),Ie(H,e,Qe()),Ie(U,e,ge()),ge()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>Et(e,t,s))),Tt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Dt(e,s,1),ge()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,o)=>kt(e,t,s,n,o,a))),Rt=(e,t,s,n,a)=>{ie(s,n)||Jt(e,t,n,1);const o=Le(s,n);a!==o&&(At(e,t,n,o,a),Ie(s,n,a))},vt=(e,t,s,n,a)=>x(Le(t,s),(t=>Rt(e,s,t,n,a)),(()=>Tt(e,t,s,ht({[n]:a},e,s)))),yt=e=>oe(e)?gs():rs(e),Ct=e=>Te(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{ie(Y,e)||Ft(e,1);const s=Le(Y,e);t!==s&&(Qt(e,s,t),Ie(Y,e,t))},bt=(e,t)=>{const[s]=Le(H,e),n=s(t);return ie(Le(X,e),n)?bt(e,t):n},mt=e=>Le(X,e)??St(e,{}),Vt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=Le(H,e);n(s),Tt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=Le(Le(j,e)?.[0],a);if(!M(r)&&!o)return Rt(e,s,n,a,r);const i=t=>{At(e,s,t,Le(n,t)),Jt(e,s,t,-1),Ie(n,t)};M(r)?i(a):we(n,i),le(n)&&(Dt(e,s,-1),le(Ie(t,s))&&(xt(e,-1),Ie(X,e),Ie(H,e),Ie(U,e)))},Mt=e=>{const t=Le(q,e);if(!M(t))return pt(e,t);Qt(e,Le(Y,e)),Ft(e,-1),Ie(Y,e)},xt=(e,t)=>tt(r,e,t),Dt=(e,t,s)=>tt(Se(T,e,ge),t,s)&&Ie(h,e,Se(h,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Se(d,e,ge),s,n),Ie(a,s,o!=-n?o+n:null),tt(Se(Se(m,e,ge),t,ge),s,n)},At=(e,t,s,n,a)=>Se(Se(Se(V,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(K(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),Nt=(e,t,s)=>(K(Se(Q,e,(()=>[])),t),s),jt=(e,t,s)=>x(Le(Le(Le(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),Ot=e=>x(Le(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(A)||le(Oe[e])?0:ue(e?be(A):A,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>nt(Oe[e],[s,n,a],t))))))),Bt=e=>le(Q)||le(Pe[e])?0:ue(e?Ce(Q):Q,((t,s)=>nt(Pe[e],[s],t))),Wt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(Fe[e])&&le(ce[e])&&le(me[e])&&le(De[e])&&t&&le(_[e]),n=le(Ne[e])&&le(Ae[e])&&le(te[e])&&le(Z[e]);if(!s||!n){const a=e?[Ce(r),pe(d),Ce(h),pe(T),be(m),be(V)]:[r,d,h,T,m,V];if(!s){Wt(_[e],a[0]),ue(a[1],((t,s)=>Wt(ce[e],t,[s]))),ue(a[2],((t,s)=>{0!=t&&nt(me[e],[s],Yt(s))}));const s=Me();ue(a[3],((n,a)=>{Wt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),xe(s,a))})),t||ue(a[5],((t,n)=>{if(!ie(s,n)){const s=Me();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?xe(s,a):he(e,a))))),ue(s,(t=>nt(Je[e],[n,t])))}})),ue(a[4],((t,s)=>ue(t,((t,n)=>Wt(Fe[e],t,[s,n])))))}if(!n){let t;ue(a[5],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,i],l)=>{i!==s&&(nt(Ne[e],[n,o,l],i,s,jt),t=a=r=1)})),r&&nt(Ae[e],[n,o],jt)})),a&&nt(te[e],[n],jt)})),t&&nt(Z[e],void 0,jt)}}},qt=e=>{const t=le(We[e]),s=le($e[e])&&le(Be[e]);if(!t||!s){const n=e?[Ce(E),Ce(k)]:[E,k];if(t||Wt(We[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Ot),t=1)})),t&&nt(Be[e],void 0,Ot)}}},Gt=(e,...t)=>(ws((()=>e(...$(t,b)))),Ts),Ht=()=>[Re(V,((e,t)=>-1===Le(r,t)?null:Re(e,((e,s)=>-1===Le(Le(T,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),oe)),oe),Re(k,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(V,Xe,Ye),invalidCells:ye(A),changedValues:Re(k,Xe,Ye),invalidValues:Re(Q),changedTableIds:Re(r),changedRowIds:ve(T),changedCellIds:ye(m),changedValueIds:Re(E)}),Ut=()=>ye(X),Xt=()=>fe(X),Yt=e=>re(Le(X,b(e))),Zt=e=>fe(Le(X,b(e))),_t=(e,t,s,n=0,a)=>{return $(F(B((o=Le(X,b(e)),r=(e,s)=>[M(t)?s:Le(e,b(t)),s],$([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>fe(Le(Le(X,b(e)),b(t))),ts=(e,t,s)=>Le(Le(Le(X,b(e)),b(t)),b(s)),ss=()=>Re(Y),ns=()=>fe(Y),as=e=>Le(Y,b(e)),os=e=>Gt((()=>(e=>et(e,it,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),is=e=>{try{wt(_e(e))}catch{}return Ts},ls=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hs=(e,t)=>Gt(((e,t)=>x(Le(X,e),(s=>ie(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=a){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=a&&a++,1==a&&nt(qe,void 0,Ht,Kt),Ts),Ss=e=>(a>0&&(a--,0==a&&(s=!le(V),n=!le(k),a=1,Pt(1),s&&$t(1),Bt(1),n&&qt(1),e?.(Ht,Kt)&&(ue(V,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(Ts,t,s,n,e))))))),ue(k,(([e],t)=>ke(Ts,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),a=-1,Pt(0),s&&$t(0),Bt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),a=0,s=n=!1,W([r,d,h,T,m,V,A,E,k,Q],de))),Ts),Ts={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(Le(X,b(e))),getTableCellIds:e=>fe(Le(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(Le(Le(X,b(e)),b(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(Le(U,b(e)),b(t)),hasRow:(e,t)=>ie(Le(X,b(e)),b(t)),hasCell:(e,t,s)=>ie(Le(Le(X,b(e)),b(t)),b(s)),hasValues:()=>!le(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(z),getValuesSchemaJson:()=>Ze(P),getSchemaJson:()=>Ze([z,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?ds:os)(e),(oe(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>it(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>lt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return lt(e,n,t)&&(e=b(e),Tt(e,mt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(lt(e,t,s,1)){const n=mt(e);ae(s,((s,a)=>vt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>x(ct(e,t,s,J(n)?n(ts(e,t,s)):n),(n=>vt(e,mt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ae(e,((e,t)=>pt(t,e))):0)),setValue:(e,t)=>Gt((e=>x(ut(e,J(t)?t(as(e)):t),(t=>pt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ae(e[0],((e,t)=>M(e)?us(t):ae(e,((e,s)=>M(e)?hs(t,s):ae(e,((e,n)=>Ee(Ts,t,s,n,e))))))),ae(e[1],((e,t)=>ke(Ts,t,e)))})),setTablesJson:is,setValuesJson:e=>{try{yt(_e(e))}catch{}return Ts},setJson:e=>Gt((()=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{is(e)}})),setTablesSchema:ls,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{ls(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>x(Le(X,e),(a=>x(Le(a,t),(o=>ie(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>ie(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,b(e)),t),forEachRow:(e,t)=>ue(Le(X,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,b(e)),b(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);O(r,i)||(i=r,o(Ts,e,t,s,n,a,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Ts),delListener:e=>(at(e),Ts),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ae({[f]:[0,Z],[L]:[0,_],[g]:[1,te,[Xt]],[g+v]:[1,ce,[Xt]],[I]:[1,me,[Xt]],[S]:[1,De,[Xt]],[w]:[2,Ae,[Xt,Zt]],[v]:[2,Fe,[Xt,Zt]],[R]:[3,Ne,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,Oe],[C]:[0,Be],[p]:[0,We],[y]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Ts[u+a+c]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(Ts)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let i,l,c,d=0,u=0;Se($e,r,(()=>0)),Se(qe,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.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)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(x(i,e.delListener),g),schedule:async(...e)=>(K(Le(qe,r),...e),await(async()=>{if(!Le($e,r)){for(Ie($e,r,1);!M(l=X(Le(qe,r)));)try{await l()}catch(e){o?.(e)}Ie($e,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=Ge,e.createRelationships=He,e.createStore=st,e.defaultSorter=je},"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),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",I=w+"Count",S=w+h,T="Sorted"+w+h,v="Cell",R=v+h,y="Value",C=y+"s",p=y+h,b=e=>s+e,m=Math.max,V=Math.min,E=isFinite,k=(e,t)=>e instanceof t,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),O=(e,t)=>Q(e)===Q(t)&&j(e,((e,s)=>t[s]===e)),P=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),q=e=>H(e,((e,t)=>e+t),0),G=e=>0==Q(e),H=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>k(e,Y)&&e.constructor==Y,se=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>$(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>Q(Z(e)))(e),re=e=>e?.size??0,ie=(e,t)=>e?.has(t)??!1,le=e=>M(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(ie(e,t)||Ie(e,t,s()),Le(e,t)),Te=(e,t,s,n=Ie)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),ve=(e,t,s)=>{const n={};return ue(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)),oe),ye=(e,t,s)=>ve(e,(e=>Re(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),me=(e,t,s,n,a=0)=>x((s?Se:Le)(e,t[a],a>Q(t)-2?s:ge),(o=>{if(a>Q(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=me(o,t,s,n,a+1);return le(o)&&Ie(e,t[a]),r})),Ve=e=>{const s=t(e);return D(s)||s==o&&E(e)?s:void 0},Ee=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(A(e)||M(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s,n,a)=>{const o=e.hasRow,r=ge(),i=ge(),l=ge(),c=ge(),d=ge(),u=ge(),h=(t,s,...n)=>{const a=Se(u,t,Me);return W(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(Le(u,t),(n=>{W(G(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),le(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),ie(i,e)||(Ie(i,e,t()),Ie(c,e,ge()),Ie(d,e,ge()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>fe(r),e=>we(i,e),e=>ie(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=ge(),u=ge(),L=Le(c,t),w=Le(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=Le(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&O(c,d)||Ie(l,t,[c,d]),!M(i)){const e=Le(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},S=e=>{a((()=>{ue(l,(([,e],t)=>Ie(L,t,e))),ue(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),de(l),de(u)};we(L,I),e.hasTable(n)&&W(e.getRowIds(n),(e=>{ie(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,l),()=>we(u,L),h,g]},Je=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Fe.test(t)&&Q(e)<1e3&&K(e,t)}]},ze=e=>{let t;const[n,a]=Qe(),o=ge();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),xe(me(r,i??[s],Me),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?K(n,e):null===t[s]?ue(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(Le(e,t),s+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](t,...n??[],...a))))),e=>x(Le(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(he(t,e),le(t)?1:0))),Ie(o,e),a(e),n))),e=>x(Le(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Ne=Ae((e=>{let t,n,a,o=100,r=ge(),i=ge(),l=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>F)),f=ge(),L=ge(),w=[],I=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),l=1},T=e=>{Ie(f,e),Ie(L,e),h(d,[e])},v=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),T),R=()=>v(w,Q(w)-o),y=()=>x(t,(()=>{K(w,t),R(),v(I),t=void 0,a=1})),C=()=>{t=U(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){y();const e=Se(r,t,ge),i=Se(e,s,ge),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&le(Ie(i,n))&&le(Ie(e,s))&&le(Ie(r,t))&&C(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Ie(i,t))&&C(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=ge(),i=ge(),a=1),t),V=()=>{G(w)||(((e,...t)=>{e.unshift(...t)})(I,m()),S(0,t),t=U(w),a=1)},E=()=>{G(I)||(K(w,t),t=X(I),S(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&Le(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>ie(f,e),F={setSize:e=>(o=e,R(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...I]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:A,getCheckpoint:e=>Le(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(I,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(v(w),v(I),M(t)||T(t),t=void 0,n=0,D(),F),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return ee(F.clear())})),je=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Ae((e=>{const t=ge(),n=ge(),[a,o,r]=ze((()=>T)),[i,l,c,d,u,h,g,,f,L,w,I]=De(e,ge,(e=>M(e)?s:A(e)?$(e,b):b(e)),a,o),S=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=Me(),I=Me(),S=h(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{xe(w,e),x(Le(S,e),(t=>{he(t,s),le(t)&&(Ie(S,e),L=1)}))})),ue(a,(e=>{xe(w,e),ie(S,e)||(Ie(S,e,Me()),L=1),xe(Le(S,e),s),M(r)||xe(I,e)}))})),s(),le(u)||(f?we(S,(e=>xe(I,e))):we(i,(e=>x(Le(d,e),(e=>xe(I,e))))),ue(I,(e=>{const t=(t,s)=>l(Le(u,t),Le(u,s),e),s=[...Le(S,e)];P(s,t)||(Ie(S,e,Me(B(s,t))),xe(w,e))}))),(L||f)&&!M(c)){const t=[...S];P(t,c)||(g(e,ge(B(t,c))),L=1)}L&&o(t,[e]),ue(w,(t=>o(n,[e,t])))}),Je(a),x(r,Je)),T},delIndexDefinition:e=>(L(e),T),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ie(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>ce(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),T),destroy:I,getListenerStats:()=>({})};return ee(T)})),Pe=ge([["avg",[(e,t)=>q(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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(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=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Be=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,i,l,c]=a;return o||=M(e),ue(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(ce(s),re(s)):e},We=Ae((e=>{const t=ge(),[n,a,o]=ze((()=>I)),[r,i,l,c,d,u,h,,g,f,L,w]=De(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),I={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:Le(Pe,n)??Le(Pe,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=re(r);l||=M(d),s();let f=Be(d,g,r,n,c,l);E(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return ee(I)})),$e=ge(),qe=ge(),Ge=Ae((e=>{const t=e.createStore,n=t(),a=t(),o=ge(),{addListener:r,callListeners:i,delListener:l}=a,[h,f,L,y,C,,,p,,b,m,V,E,k]=De(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>xe(Se(Se(o,t,ge),e,Me),s))),A=e=>{x(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),O={setQueryDefinition:(t,o,r)=>{p(t,o),A(t);const i=[],l=[[null,[o,null,null,[],ge()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],ge()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:Le(Pe,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=ge(i);if(le(h))return O;const g=ge(l);we(g,((e,[,t])=>x(Le(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=ge(d);let L=n;if(le(f)&&G(u))L=a;else{N(t,L,a);const e=ge();we(f,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();we(h,(t=>ie(e,t)?0:xe(s,t)));const n=ge(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{we(n,((t,[s])=>{const n=Se(i,t,ge),a=Le(n,o),l=r?void 0:s;if(a!==l){const s=Me([[a,l]]),r=re(n);Ie(n,o,l),ue(Le(e,t),(([e,t])=>{const a=Be(d[e],r,n,s,t);d[e]=M(Ve(a))?null:a}))}})),le(l)||!j(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ge(),h=L.hasRow(t,i);let g=!h;ue(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),we(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(me(n,c,void 0,(([,e])=>(he(e,i),le(e)))),u,i,1),h&&o(me(n,d,(()=>{const e={};return ue(s,(s=>e[s]=L.getCell(t,i,s))),[ge(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=Le(g,n),c=o?.(i,s),[d,u]=Le(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[Le(g,t)?.[0],Le(Le(g,t)?.[4],s)?.[0],n]);L.transaction((()=>j(c,(e=>e(n)))?we(h,((e,a)=>Ee(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:I}=Le(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(t,a),ue(g,(({4:e})=>x(Le(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),O},delQueryDefinition:e=>(A(e),b(e),O),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>m((()=>e(O))),delListener:e=>(l(e),O),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+R]:[0,1],[I]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>O[e+d+s]=(...t)=>a[e+s](...t))),O[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](O,...n)),!0)})),ee(O)})),He=Ae((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,i,l]=ze((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>M(e)?void 0:e+s),r,i),T=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ie(a,t)){const o=Me();if(g(e)!=R(e))xe(o,t);else{let e=t;for(;!M(e)&&!ie(o,e);)xe(o,e),e=Le(n,e)}if(s)return o;Ie(a,t,o)}return Le(a,t)})),v=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),R=e=>Le(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=Me(),l=Me(),c=Me(),[d,u]=f(e);ue(s,(([t,s],n)=>{M(t)||(xe(l,t),x(Le(u,t),(e=>{he(e,n),le(e)&&Ie(u,t)}))),M(s)||(xe(l,s),ie(u,s)||Ie(u,s,Me()),xe(Le(u,s),n)),xe(r,n),Ie(d,n,s),we(Le(o,e),(t=>{ie(T(e,t),n)&&xe(c,t)}))})),t(),ue(r,(t=>i(n,[e,t]))),ue(l,(t=>i(a,[e,t]))),ue(c,(t=>{v(e,t),i(o,[e,t])}))}),Je(l)),y),delRelationshipDefinition:e=>(Ie(t,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:R,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ce(T(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),r(s,o,[e,t])),delListener:e=>(v(...l(e)??[]),y),destroy:S,getListenerStats:()=>({})};return ee(y)})),Ke=e=>[e,e],Ue=()=>[ge(),ge()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>k(t,Map)?Y.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>M(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),tt=(e,t,s)=>Ie(e,t,Le(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),T=ge(),m=ge(),V=ge(),E=ge(),k=ge(),A=ge(),Q=ge(),z=ge(),j=ge(),P=ge(),q=ge(),G=Me(),H=ge(),U=ge(),X=ge(),Y=ge(),Z=Ue(),_=Ue(),te=Ue(),ce=Ue(),me=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),Fe=Ue(),Ne=Ue(),Oe=Ue(),Pe=Ue(),Be=Ue(),We=Ue(),$e=Ue(),qe=ge(),Ge=Ue(),[He,nt,at,ot]=ze((()=>Ts)),rt=e=>{if(!et(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},it=(t,s)=>(!e||ie(z,s)||zt(s))&&et(t,((e,t)=>lt(s,t,e)),(()=>zt(s))),lt=(e,t,s,n)=>et(n?s:ht(s,e,t),((n,a)=>x(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?x(Le(Le(z,t),n),(e=>Ve(a)!=e[i]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):M(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>x(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?x(Le(P,e),(t=>Ve(s)!=t[i]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):M(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(x(Le(j,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(ue(q,((t,s)=>{se(e,s)||(e[s]=t)})),ue(G,(t=>{se(e,t)||Nt(t)}))),e),ft=e=>Te(z,e,((e,t,s)=>{const n=ge(),a=Me();Te(Se(z,t,ge),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>xe(a,t)))})),Ie(j,t,[n,a])}),((e,t)=>{Ie(z,t),Ie(j,t)})),Lt=e=>Te(P,e,((e,t,s)=>{Ie(P,t,s),x(s[l],(e=>Ie(q,t,e)),(()=>xe(G,t)))}),((e,t)=>{Ie(P,t),Ie(q,t),he(G,t)})),wt=e=>oe(e)?ds():os(e),It=e=>Te(X,e,((e,t,s)=>St(t,s)),((e,t)=>Vt(t))),St=(e,t)=>Te(Se(X,e,(()=>(xt(e,1),Ie(H,e,Qe()),Ie(U,e,ge()),ge()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>Et(e,t,s))),Tt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Dt(e,s,1),ge()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>kt(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{ie(s,n)||Jt(e,t,n,1);const o=Le(s,n);a!==o&&(At(e,t,n,o,a),Ie(s,n,a))},Rt=(e,t,s,n,a)=>x(Le(t,s),(t=>vt(e,s,t,n,a)),(()=>Tt(e,t,s,ht({[n]:a},e,s)))),yt=e=>oe(e)?gs():rs(e),Ct=e=>Te(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{ie(Y,e)||Ft(e,1);const s=Le(Y,e);t!==s&&(Qt(e,s,t),Ie(Y,e,t))},bt=(e,t)=>{const[s]=Le(H,e),n=s(t);return ie(Le(X,e),n)?bt(e,t):n},mt=e=>Le(X,e)??St(e,{}),Vt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=Le(H,e);n(s),Tt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=Le(Le(j,e)?.[0],a);if(!M(r)&&!o)return vt(e,s,n,a,r);const i=t=>{At(e,s,t,Le(n,t)),Jt(e,s,t,-1),Ie(n,t)};M(r)?i(a):we(n,i),le(n)&&(Dt(e,s,-1),le(Ie(t,s))&&(xt(e,-1),Ie(X,e),Ie(H,e),Ie(U,e)))},Mt=e=>{const t=Le(q,e);if(!M(t))return pt(e,t);Qt(e,Le(Y,e)),Ft(e,-1),Ie(Y,e)},xt=(e,t)=>tt(r,e,t),Dt=(e,t,s)=>tt(Se(T,e,ge),t,s)&&Ie(h,e,Se(h,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Se(d,e,ge),s,n),Ie(a,s,o!=-n?o+n:null),tt(Se(Se(m,e,ge),t,ge),s,n)},At=(e,t,s,n,a)=>Se(Se(Se(V,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(K(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),Nt=(e,t,s)=>(K(Se(Q,e,(()=>[])),t),s),jt=(e,t,s)=>x(Le(Le(Le(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),Ot=e=>x(Le(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(A)||le(Oe[e])?0:ue(e?be(A):A,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>nt(Oe[e],[s,n,a],t))))))),Bt=e=>le(Q)||le(Pe[e])?0:ue(e?Ce(Q):Q,((t,s)=>nt(Pe[e],[s],t))),Wt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>ve(t))),1},$t=e=>{const t=le(Je[e]),s=le(Fe[e])&&le(ce[e])&&le(me[e])&&le(De[e])&&t&&le(_[e]),n=le(Ne[e])&&le(Ae[e])&&le(te[e])&&le(Z[e]);if(!s||!n){const a=e?[Ce(r),pe(d),Ce(h),pe(T),be(m),be(V)]:[r,d,h,T,m,V];if(!s){Wt(_[e],a[0]),ue(a[1],((t,s)=>Wt(ce[e],t,[s]))),ue(a[2],((t,s)=>{0!=t&&nt(me[e],[s],Yt(s))}));const s=Me();ue(a[3],((n,a)=>{Wt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),xe(s,a))})),t||ue(a[5],((t,n)=>{if(!ie(s,n)){const s=Me();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?xe(s,a):he(e,a))))),ue(s,(t=>nt(Je[e],[n,t])))}})),ue(a[4],((t,s)=>ue(t,((t,n)=>Wt(Fe[e],t,[s,n])))))}if(!n){let t;ue(a[5],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,i],l)=>{i!==s&&(nt(Ne[e],[n,o,l],i,s,jt),t=a=r=1)})),r&&nt(Ae[e],[n,o],jt)})),a&&nt(te[e],[n],jt)})),t&&nt(Z[e],void 0,jt)}}},qt=e=>{const t=le(We[e]),s=le($e[e])&&le(Be[e]);if(!t||!s){const n=e?[Ce(E),Ce(k)]:[E,k];if(t||Wt(We[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Ot),t=1)})),t&&nt(Be[e],void 0,Ot)}}},Gt=(e,...t)=>(ws((()=>e(...$(t,b)))),Ts),Ht=()=>[ve(V,((e,t)=>-1===Le(r,t)?null:ve(e,((e,s)=>-1===Le(Le(T,t),s)?null:ve(e,(([,e])=>e??null),((e,t)=>Ye(t)))),oe)),oe),ve(k,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(V,Xe,Ye),invalidCells:ye(A),changedValues:ve(k,Xe,Ye),invalidValues:ve(Q),changedTableIds:ve(r),changedRowIds:Re(T),changedCellIds:ye(m),changedValueIds:ve(E)}),Ut=()=>ye(X),Xt=()=>fe(X),Yt=e=>re(Le(X,b(e))),Zt=e=>fe(Le(X,b(e))),_t=(e,t,s,n=0,a)=>{return $(F(B((o=Le(X,b(e)),r=(e,s)=>[M(t)?s:Le(e,b(t)),s],$([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>fe(Le(Le(X,b(e)),b(t))),ts=(e,t,s)=>Le(Le(Le(X,b(e)),b(t)),b(s)),ss=()=>ve(Y),ns=()=>fe(Y),as=e=>Le(Y,b(e)),os=e=>Gt((()=>(e=>et(e,it,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),is=e=>{try{wt(_e(e))}catch{}return Ts},ls=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hs=(e,t)=>Gt(((e,t)=>x(Le(X,e),(s=>ie(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=a){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=a&&a++,1==a&&nt(qe,void 0,Ht,Kt),Ts),Ss=e=>(a>0&&(a--,0==a&&(s=!le(V),n=!le(k),a=1,Pt(1),s&&$t(1),Bt(1),n&&qt(1),e?.(Ht,Kt)&&(ue(V,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(Ts,t,s,n,e))))))),ue(k,(([e],t)=>ke(Ts,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),a=-1,Pt(0),s&&$t(0),Bt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),a=0,s=n=!1,W([r,d,h,T,m,V,A,E,k,Q],de))),Ts),Ts={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>Re(Le(X,b(e))),getTableCellIds:e=>fe(Le(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>ve(Le(Le(X,b(e)),b(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(Le(U,b(e)),b(t)),hasRow:(e,t)=>ie(Le(X,b(e)),b(t)),hasCell:(e,t,s)=>ie(Le(Le(X,b(e)),b(t)),b(s)),hasValues:()=>!le(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(z),getValuesSchemaJson:()=>Ze(P),getSchemaJson:()=>Ze([z,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?ds:os)(e),(oe(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>it(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>lt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return lt(e,n,t)&&(e=b(e),Tt(e,mt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(lt(e,t,s,1)){const n=mt(e);ae(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>x(ct(e,t,s,J(n)?n(ts(e,t,s)):n),(n=>Rt(e,mt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ae(e,((e,t)=>pt(t,e))):0)),setValue:(e,t)=>Gt((e=>x(ut(e,J(t)?t(as(e)):t),(t=>pt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ae(e[0],((e,t)=>M(e)?us(t):ae(e,((e,s)=>M(e)?hs(t,s):ae(e,((e,n)=>Ee(Ts,t,s,n,e))))))),ae(e[1],((e,t)=>ke(Ts,t,e)))})),setTablesJson:is,setValuesJson:e=>{try{yt(_e(e))}catch{}return Ts},setJson:e=>Gt((()=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{is(e)}})),setTablesSchema:ls,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{ls(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>x(Le(X,e),(a=>x(Le(a,t),(o=>ie(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>ie(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,b(e)),t),forEachRow:(e,t)=>ue(Le(X,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,b(e)),b(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);O(r,i)||(i=r,o(Ts,e,t,s,n,a,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Ts),delListener:e=>(at(e),Ts),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ae({[f]:[0,Z],[L]:[0,_],[g]:[1,te,[Xt]],[g+R]:[1,ce,[Xt]],[I]:[1,me,[Xt]],[S]:[1,De,[Xt]],[w]:[2,Ae,[Xt,Zt]],[R]:[2,Fe,[Xt,Zt]],[v]:[3,Ne,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,Oe],[C]:[0,Be],[p]:[0,We],[y]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Ts[u+a+c]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(Ts)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;Se($e,l,(()=>0)),Se(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(K(Le(qe,l),...e),await(async()=>{if(!Le($e,l)){for(Ie($e,l,1);!M(d=X(Le(qe,l)));)try{await d()}catch(e){o?.(e)}Ie($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),ee(L)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=Ge,e.createRelationships=He,e.createStore=st,e.defaultSorter=je},"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,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),o=l(!0),r=l(0),i=l(l),d="type",u="default",c="Ids",h="Table",m=h+"s",b=h+c,g="Row",p=g+"Count",I=g+c,f="Cell",w=f+c,y="Value",C=y+"s",v=y+c,k="currentTarget",T="value",S=e=>a+e,x=Math.floor,V=isFinite,R=(e,t)=>e instanceof t,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==o,M=e=>l(e)==i,E=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),$=e=>e.length,{PureComponent:O,Fragment:A,createElement:F,useCallback:J,useLayoutEffect:P,useRef:B,useState:H}=t,D=(e,...t)=>q(e)?{}:e(...t),Q=(e,t)=>e.forEach(t),j=(e,t)=>e.map(t),W=e=>0==$(e),U=(e,...t)=>e.push(...t),G=e=>e.shift(),K=Object,X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>R(e,K)&&e.constructor==K,ee=(e=[])=>K.fromEntries(e),te=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),le=(e,t)=>j(K.entries(e),(([e,s])=>t(s,e))),ae=e=>_(e)&&0==(e=>$(X(e)))(e),ne=e=>JSON.stringify(e,((e,t)=>R(t,Map)?K.fromEntries([...t]):t)),oe=JSON.parse,re="tinybaseStoreInspector",ie="TinyBase Store Inspector",de=["left","top","bottom","right","full"],ue="state",ce="sort",he="open",me="position",be=he,ge="editable",pe=(...e)=>ne(e),Ie=(e,t)=>j(e.sort(),t),fe=(e,t)=>[!!s.useCell(ue,e,ge,t),J((s=>{t.setCell(ue,e,ge,(e=>!e)),s.preventDefault()}),[t,e])],we="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',Ce=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",ve='</svg>")',ke=ye+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Te=j([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Ce+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+ve)),Se=Ce+"<path d='M20 20l60 60M20 80l60-60' />"+ve,xe=Ce+`<path d='${we}' />`+ve,Ve=Ce+`<path d='${we}M20 20l60 60' />`+ve,Re="*::-webkit-scrollbar",qe=`#${re}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,t="")=>e.join(t))(le({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Re]:"width:0.5rem;height:0.5rem;",[Re+"-track"]:"background:#111",[Re+"-thumb"]:"background:#999;border:1px solid #111",[Re+"-thumb:hover"]:"background:#fff",[Re+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ke,...ee(j(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...ee(j(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":ke,"header>img:nth-of-type(6)":Se,...ee(j(Te,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":xe,"details[open]>summary img.done":Ve,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`& ${t}{${e}}`:"")))}`,Ne=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!0),[],e);return s.useValue(be,e)?null:F("img",{onClick:l,title:ie,"data-position":t})},Le=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:o})=>{const r=!!s.useCell(ue,e,he,o),i=s.useSetCellCallback(ue,e,he,(e=>e[k].open),[],o);return F("details",{open:r,onToggle:i},F("summary",null,t,a?F("img",{onClick:a,className:l?"done":"edit"}):null),n)},Me=e=>{const t=l(e);return L(t)||t==r&&V(e)?t:void 0},Ee=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),ze=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),$e=(e,t,s,l)=>e==n?t:e==r?s:l,{useCallback:Oe,useMemo:Ae,useState:Fe}=t,Je="editable",Pe=(e,t)=>j(s.useTableCellIds(e,t),(t=>e+"."+t)),Be=(e,t,s)=>{const l=Oe(e,t);return s?l:void 0},He=(...e)=>Ae((()=>e),e),De=(e,t)=>Ae((()=>({store:e,tableId:t})),[e,t]),Qe=(e,t)=>Ae((()=>({queries:e,queryId:t})),[e,t]),je=(e,t=!1,s,l=0,a,n,o,r)=>{const[[i,d,u],c]=Fe([e,t,l]),h=Oe((e=>{c(e),r?.(e)}),[r]),m=Be((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Oe((e=>h([i,d,e])),[h,i,d]),g=!0===o?at:o;return[[i,d,u],m,Ae((()=>!1===o?null:F(g,{offset:u,limit:a,total:n,onChange:b})),[o,g,u,a,n,b])]},We=(e,t,s)=>Ae((()=>{const a=t??e;return ee(le(E(a)?ee(j(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)}];var a})))}),[t,s,e]),Ue=({className:e,headerRow:t,idColumn:s,params:[l,a,n,o,r,i]})=>F("table",{className:e},i?F("caption",null,i):null,!1===t?null:F("thead",null,F("tr",null,!1===s?null:F(Ge,{sort:o??[],label:"Id",onClick:r}),le(l,(({label:e},t)=>F(Ge,{key:t,cellId:t,label:e,sort:o??[],onClick:r}))))),F("tbody",null,j(n,(e=>F("tr",{key:e},!1===s?null:F("th",null,e),le(l,(({component:t,getComponentProps:s},l)=>F("td",{key:l},F(t,{...D(s,e,l),...a,rowId:e,cellId:l}))))))))),Ge=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>F("th",{onClick:Be((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ke=({localRowId:e,params:[l,a,n,o,r,i,d]})=>{const u=s.useRemoteRowId(r,e,i);return F("tr",null,!1===l?null:F(t.Fragment,null,F("th",null,e),F("th",null,u)),le(a,(({component:t,getComponentProps:s},l)=>{const[a,r]=l.split(".",2),i=a===n?e:a===o?u:null;return q(i)?null:F("td",{key:l},F(t,{...D(s,i,r),store:d,tableId:a,rowId:i,cellId:r}))})))},Xe=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:a=!0})=>{const[i,d]=Fe(),[u,c]=Fe(),[h,m]=Fe(),[b,g]=Fe(),[p,I]=Fe();u!==e&&(d(Me(e)),c(e),m(e+""),g(Number(e)||0),I(!!e));const f=Oe(((e,s)=>{s(e),c(e),t(e)}),[t]),w=Oe((()=>{if(!l?.()){const e=$e(i,r,o,n),s=$e(e,h,b,p);d(e),c(s),t(s)}}),[l,t,h,b,p,i]);return F("div",{className:s},a?F("button",{className:i,onClick:w},i):null,$e(i,F("input",{key:i,value:h,onChange:Oe((e=>f(e[k][T]+"",m)),[f])}),F("input",{key:i,type:"number",value:b,onChange:Oe((e=>f(Number(e[k][T]||0),g)),[f])}),F("input",{key:i,type:"checkbox",checked:p,onChange:Oe((e=>f(!!e[k].checked,I)),[f])})))},Ye=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=je(t,l,i,a,n,s.useRowCount(e,o),d,u);return F(Ue,{...h,params:He(We(s.useTableCellIds(e,o),c,r?st:s.CellView),De(o,e),s.useSortedRowIds(e,...m,n,o),m,b,g)})},Ze=({store:e,editable:t=!1,valueComponent:l=(t?lt:s.ValueView),getValueComponentProps:a,className:n,headerRow:o,idColumn:r})=>F("table",{className:n},!1===o?null:F("thead",null,F("tr",null,!1===r?null:F("th",null,"Id"),F("th",null,y))),F("tbody",null,j(s.useValueIds(e),(t=>F("tr",{key:t},!1===r?null:F("th",null,t),F("td",null,F(l,{...D(a,t),valueId:t,store:e}))))))),_e=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...o})=>{const[r,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return F(Ue,{...o,params:He(We(s.useTableCellIds(d,i),n,a?st:s.CellView),De(i,d),s.useSliceRowIds(e,t,r))})},et=({relationshipId:e,relationships:l,editable:a,customCells:n,className:o,headerRow:r,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=We([...Pe(c,u),...Pe(h,u)],n,a?st:s.CellView),b=He(i,m,c,h,e,d,u);return F("table",{className:o},!1===r?null:F("thead",null,F("tr",null,!1===i?null:F(t.Fragment,null,F("th",null,c,".Id"),F("th",null,h,".Id")),le(m,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,j(s.useRowIds(c,u),(e=>F(Ke,{key:e,localRowId:e,params:b})))))},tt=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=je(t,l,r,a,n,s.useResultRowCount(e,o),i,u);return F(Ue,{...c,params:He(We(s.useResultTableCellIds(e,o),d,s.ResultCellView),Qe(o,e),s.useResultSortedRowIds(e,...h,n,o),h,m,b)})},st=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(Xe,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??Je+f,showType:o,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),lt=({valueId:e,store:t,className:l,showType:a})=>F(Xe,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??Je+y,showType:a,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),at=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:o=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const r=Be((()=>e(l-a)),[e,l,a],l>0),i=Be((()=>e(l+a)),[e,l,a],l+a<s);return F(t.Fragment,null,s>a&&F(t.Fragment,null,F("button",{className:"previous",disabled:0==l,onClick:r},"←"),F("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?o:n)},nt=({indexes:e,indexesId:t,indexId:l,s:a})=>F(Le,{uniqueId:pe("i",t,l),summary:"Index: "+l,s:a},j(s.useSliceIds(l,e),(s=>F(ot,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),ot=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=pe("i",t,s,l),[o,r]=fe(n,a);return F(Le,{uniqueId:n,summary:"Slice: "+l,editable:o,handleEditable:r,s:a},F(_e,{sliceId:l,indexId:s,indexes:e,editable:o}))},rt=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:F(Le,{uniqueId:pe("i",e),summary:"Indexes: "+(e??u),s:t},W(a)?"No indexes defined":Ie(a,(s=>F(nt,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},it=({metrics:e,metricId:t})=>F("tr",null,F("th",null,t),F("td",null,e?.getTableId(t)),F("td",null,s.useMetric(t,e))),dt=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:F(Le,{uniqueId:pe("m",e),summary:"Metrics: "+(e??u),s:t},W(a)?"No metrics defined":F("table",null,F("thead",null,F("th",null,"Metric Id"),F("th",null,"Table Id"),F("th",null,"Metric")),F("tbody",null,j(a,(e=>F(it,{metrics:l,metricId:e,key:e}))))))},ut=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=pe("q",t,l),[o,r,i]=oe(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a);return F(Le,{uniqueId:n,summary:"Query: "+l,s:a},F(tt,{queryId:l,queries:e,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ct=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:F(Le,{uniqueId:pe("q",e),summary:"Queries: "+(e??u),s:t},W(a)?"No queries defined":Ie(a,(s=>F(ut,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},ht=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=pe("r",t,s),[n,o]=fe(a,l);return F(Le,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:o,s:l},F(et,{relationshipId:s,relationships:e,editable:n}))},mt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:F(Le,{uniqueId:pe("r",e),summary:"Relationships: "+(e??u),s:t},W(a)?"No relationships defined":Ie(a,(s=>F(ht,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},bt=({tableId:e,store:t,storeId:l,s:a})=>{const n=pe("t",l,e),[o,r,i]=oe(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a),[u,c]=fe(n,a);return F(Le,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},F(Ye,{tableId:e,store:t,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},gt=({store:e,storeId:t,s:l})=>{const a=pe("v",t),[n,o]=fe(a,l);return W(s.useValueIds(e))?null:F(Le,{uniqueId:a,summary:C,editable:n,handleEditable:o,s:l},F(Ze,{store:e,editable:n}))},pt=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:F(Le,{uniqueId:pe("s",e),summary:"Store: "+(e??u),s:t},F(gt,{storeId:e,store:l,s:t}),Ie(a,(s=>F(bt,{store:l,storeId:e,tableId:s,s:t,key:s}))))},It=({s:e})=>{const t=B(null),l=B(0),[a,n]=H(!1),{scrollLeft:o,scrollTop:r}=s.useValues(e);P((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=x(o)+e.clientWidth&&e.scrollHeight>=x(r)+e.clientHeight&&e.scrollTo(o,r)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,o,r]);const i=J((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),p=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return q(d)&&W(u)&&q(c)&&W(h)&&q(m)&&W(b)&&q(g)&&W(p)&&q(I)&&W(f)?F("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):F("article",{ref:t,onScroll:i},F(pt,{s:e}),j(u,(t=>F(pt,{storeId:t,s:e,key:t}))),F(dt,{s:e}),j(h,(t=>F(dt,{metricsId:t,s:e,key:t}))),F(rt,{s:e}),j(b,(t=>F(rt,{indexesId:t,s:e,key:t}))),F(mt,{s:e}),j(p,(t=>F(mt,{relationshipsId:t,s:e,key:t}))),F(ct,{s:e}),j(f,(t=>F(ct,{queriesId:t,s:e,key:t}))))};class ft extends O{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static{this.getDerivedStateFromError=()=>({e:1})}render(){return this.state.e?F("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const wt=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!1),[],e),a=s.useSetValueCallback(me,(e=>Number(e[k].dataset.id)),[],e);return F("header",null,F("img",{title:ie}),F("span",null,ie),j(de,((e,s)=>s==t?null:F("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),F("img",{onClick:l,title:"Close"}))},yt=({s:e})=>{const t=s.useValue(me,e)??1;return s.useValue(be,e)?F("main",{"data-position":t},F(wt,{s:e}),F(ft,null,F(It,{s:e}))):null},Ct=e=>t=>{return s=(t,s)=>t+e(s),Rt(t).reduce(s,0);var s},vt=e=>e?.size??0,kt=Ct(vt),Tt=Ct(kt),St=Ct(Tt),xt=(e,t)=>e?.has(t)??!1,Vt=e=>q(e)||0==vt(e),Rt=e=>[...e?.values()??[]],qt=e=>e.clear(),Nt=(e,t)=>e?.forEach(t),Lt=(e,t)=>e?.delete(t),Mt=e=>new Map(e),Et=e=>[...e?.keys()??[]],zt=(e,t)=>e?.get(t),$t=(e,t)=>Nt(e,((e,s)=>t(s,e))),Ot=(e,t,s)=>q(s)?(Lt(e,t),e):e?.set(t,s),At=(e,t,s)=>(xt(e,t)||Ot(e,t,s()),zt(e,t)),Ft=(e,t,s,l=Ot)=>(le(t,((t,l)=>s(e,l,t))),$t(e,(s=>te(t,s)?0:l(e,s))),e),Jt=(e,t,s)=>{const l={};return Nt(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Pt=(e,t,s)=>Jt(e,(e=>Jt(e,t,s)),ae),Bt=(e,t,s)=>Jt(e,(e=>Pt(e,t,s)),ae),Ht=(e,t)=>{const s=Mt();return Nt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Dt=e=>Ht(e,Ht),Qt=e=>Ht(e,Dt),jt=(e,t,s,l,a=0)=>N((s?At:zt)(e,t[a],a>$(t)-2?s:Mt),(n=>{if(a>$(t)-2)return l?.(n)&&Ot(e,t[a]),n;const o=jt(n,t,s,l,a+1);return Vt(n)&&Ot(e,t[a]),o})),Wt=Mt(),Ut=Mt(),Gt="storage",Kt=globalThis.window,Xt=e=>new Set(E(e)||q(e)?e:[e]),Yt=(e,t)=>e?.add(t),Zt=/^\d+$/,_t=()=>{const e=[];let t=0;return[s=>(s?G(e):null)??a+t++,t=>{Zt.test(t)&&$(e)<1e3&&U(e,t)}]},es=e=>[e,e],ts=(e,t=kt)=>t(e[0])+t(e[1]),ss=()=>[Mt(),Mt()],ls=e=>[...e],as=([e,t])=>e===t,ns=(e,t,s)=>q(e)||!_(e)||ae(e)||Y(e)?(s?.(),!1):(le(e,((s,l)=>{t(s,l)||se(e,l)})),!ae(e)),os=(e,t,s)=>Ot(e,t,zt(e,t)==-s?void 0:s),rs=()=>{let e,t,s=!1,l=!1,n=0;const o=Mt(),i=Mt(),c=Mt(),k=Mt(),T=Mt(),x=Mt(),V=Mt(),R=Mt(),E=Mt(),O=Mt(),A=Mt(),F=Mt(),J=Mt(),P=Mt(),B=Xt(),H=Mt(),D=Mt(),W=Mt(),G=Mt(),K=ss(),X=ss(),Y=ss(),_=ss(),ee=ss(),re=ss(),ie=ss(),de=ss(),ue=ss(),ce=ss(),he=ss(),me=ss(),be=ss(),ge=ss(),pe=ss(),Ie=Mt(),fe=ss(),[we,ye,Ce,ve]=(e=>{let t;const[s,l]=_t(),n=Mt();return[(e,l,o,r=[],i=(()=>[]))=>{t??=ws;const d=s(1);return Ot(n,d,[e,l,o,r,i]),Yt(jt(l,o??[a],Xt),d),d},(e,s,...l)=>Q(((e,t=[a])=>{const s=[],l=(e,a)=>a==$(t)?U(s,e):null===t[a]?Nt(e,(e=>l(e,a+1))):Q([t[a],null],(t=>l(zt(e,t),a+1)));return l(e,0),s})(e,s),(e=>Nt(e,(e=>zt(n,e)[0](t,...s??[],...l))))),e=>N(zt(n,e),(([,t,s])=>(jt(t,s??[a],void 0,(t=>(Lt(t,e),Vt(t)?1:0))),Ot(n,e),l(e),s))),e=>N(zt(n,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const r=$(o);r==$(s)?e(t,...o,...a(o)):q(s[r])?Q(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),ke=e=>{if(!ns(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=r||(Me(e[u])!=t&&se(e,u),0))},Te=(t,s)=>(!e||xt(A,s)||lt(s))&&ns(t,((e,t)=>Se(s,t,e)),(()=>lt(s))),Se=(e,t,s,l)=>ns(l?s:qe(s,e,t),((l,a)=>N(xe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>lt(e,t))),xe=(t,s,l,a)=>e?N(zt(zt(A,t),l),(e=>Me(a)!=e[d]?lt(t,s,l,a,e[u]):a),(()=>lt(t,s,l,a))):q(Me(a))?lt(t,s,l,a):a,Ve=(e,t)=>ns(t?e:Ne(e),((t,s)=>N(Re(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>at())),Re=(e,s)=>t?N(zt(J,e),(t=>Me(s)!=t[d]?at(e,s,t[u]):s),(()=>at(e,s))):q(Me(s))?at(e,s):s,qe=(e,t,s)=>(N(zt(F,t),(([l,a])=>{Nt(l,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(a,(l=>{te(e,l)||lt(t,s,l)}))})),e),Ne=e=>(t&&(Nt(P,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(B,(t=>{te(e,t)||at(t)}))),e),Le=e=>Ft(A,e,((e,t,s)=>{const l=Mt(),a=Xt();Ft(At(A,t,Mt),s,((e,t,s)=>{Ot(e,t,s),N(s[u],(e=>Ot(l,t,e)),(()=>Yt(a,t)))})),Ot(F,t,[l,a])}),((e,t)=>{Ot(A,t),Ot(F,t)})),$e=e=>Ft(J,e,((e,t,s)=>{Ot(J,t,s),N(s[u],(e=>Ot(P,t,e)),(()=>Yt(B,t)))}),((e,t)=>{Ot(J,t),Ot(P,t),Lt(B,t)})),Oe=e=>ae(e)?us():Gt(e),Ae=e=>Ft(W,e,((e,t,s)=>Fe(t,s)),((e,t)=>Ue(t))),Fe=(e,t)=>Ft(At(W,e,(()=>(Ye(e,1),Ot(H,e,_t()),Ot(D,e,Mt()),Mt()))),t,((t,s,l)=>Je(e,t,s,l)),((t,s)=>Ge(e,t,s))),Je=(e,t,s,l,a)=>Ft(At(t,s,(()=>(Ze(e,s,1),Mt()))),l,((t,l,a)=>Pe(e,s,t,l,a)),((l,n)=>Ke(e,t,s,l,n,a))),Pe=(e,t,s,l,a)=>{xt(s,l)||_e(e,t,l,1);const n=zt(s,l);a!==n&&(et(e,t,l,n,a),Ot(s,l,a))},Be=(e,t,s,l,a)=>N(zt(t,s),(t=>Pe(e,s,t,l,a)),(()=>Je(e,t,s,qe({[l]:a},e,s)))),He=e=>ae(e)?ms():Kt(e),De=e=>Ft(G,e,((e,t,s)=>Qe(t,s)),((e,t)=>Xe(t))),Qe=(e,t)=>{xt(G,e)||tt(e,1);const s=zt(G,e);t!==s&&(st(e,s,t),Ot(G,e,t))},je=(e,t)=>{const[s]=zt(H,e),l=s(t);return xt(zt(W,e),l)?je(e,t):l},We=e=>zt(W,e)??Fe(e,{}),Ue=e=>Fe(e,{}),Ge=(e,t,s)=>{const[,l]=zt(H,e);l(s),Je(e,t,s,{},!0)},Ke=(e,t,s,l,a,n)=>{const o=zt(zt(F,e)?.[0],a);if(!q(o)&&!n)return Pe(e,s,l,a,o);const r=t=>{et(e,s,t,zt(l,t)),_e(e,s,t,-1),Ot(l,t)};q(o)?r(a):$t(l,r),Vt(l)&&(Ze(e,s,-1),Vt(Ot(t,s))&&(Ye(e,-1),Ot(W,e),Ot(H,e),Ot(D,e)))},Xe=e=>{const t=zt(P,e);if(!q(t))return Qe(e,t);st(e,zt(G,e)),tt(e,-1),Ot(G,e)},Ye=(e,t)=>os(o,e,t),Ze=(e,t,s)=>os(At(k,e,Mt),t,s)&&Ot(c,e,At(c,e,(()=>0))+s),_e=(e,t,s,l)=>{const a=zt(D,e),n=zt(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&os(At(i,e,Mt),s,l),Ot(a,s,n!=-l?n+l:null),os(At(At(T,e,Mt),t,Mt),s,l)},et=(e,t,s,l,a)=>At(At(At(x,e,Mt),t,Mt),s,(()=>[l,0]))[1]=a,tt=(e,t)=>os(V,e,t),st=(e,t,s)=>At(R,e,(()=>[t,0]))[1]=s,lt=(e,t,s,l,a)=>(U(At(At(At(E,e,Mt),t,Mt),s,(()=>[])),l),a),at=(e,t,s)=>(U(At(O,e,(()=>[])),t),s),nt=(e,t,s)=>N(zt(zt(zt(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ct(e,t,s))])),ot=e=>N(zt(R,e),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ut(e))])),rt=e=>Vt(E)||Vt(he[e])?0:Nt(e?Qt(E):E,((t,s)=>Nt(t,((t,l)=>Nt(t,((t,a)=>ye(he[e],[s,l,a],t))))))),it=e=>Vt(O)||Vt(me[e])?0:Nt(e?Ht(O):O,((t,s)=>ye(me[e],[s],t))),dt=(e,t,s)=>{if(!Vt(t))return ye(e,s,(()=>Jt(t))),1},ut=e=>{const t=Vt(ie[e]),s=Vt(ue[e])&&Vt(_[e])&&Vt(ee[e])&&Vt(re[e])&&t&&Vt(X[e]),l=Vt(ce[e])&&Vt(de[e])&&Vt(Y[e])&&Vt(K[e]);if(!s||!l){const a=e?[Ht(o),Dt(i),Ht(c),Dt(k),Qt(T),Qt(x)]:[o,i,c,k,T,x];if(!s){dt(X[e],a[0]),Nt(a[1],((t,s)=>dt(_[e],t,[s]))),Nt(a[2],((t,s)=>{0!=t&&ye(ee[e],[s],It(s))}));const s=Xt();Nt(a[3],((l,a)=>{dt(re[e],l,[a])&&!t&&(ye(ie[e],[a,null]),Yt(s,a))})),t||Nt(a[5],((t,l)=>{if(!xt(s,l)){const s=Xt();Nt(t,(e=>Nt(e,(([t,l],a)=>l!==t?Yt(s,a):Lt(e,a))))),Nt(s,(t=>ye(ie[e],[l,t])))}})),Nt(a[4],((t,s)=>Nt(t,((t,l)=>dt(ue[e],t,[s,l])))))}if(!l){let t;Nt(a[5],((s,l)=>{let a;Nt(s,((s,n)=>{let o;Nt(s,(([s,r],i)=>{r!==s&&(ye(ce[e],[l,n,i],r,s,nt),t=a=o=1)})),o&&ye(de[e],[l,n],nt)})),a&&ye(Y[e],[l],nt)})),t&&ye(K[e],void 0,nt)}}},ct=e=>{const t=Vt(ge[e]),s=Vt(pe[e])&&Vt(be[e]);if(!t||!s){const l=e?[Ht(V),Ht(R)]:[V,R];if(t||dt(ge[e],l[0]),!s){let t;Nt(l[1],(([s,l],a)=>{l!==s&&(ye(pe[e],[a],l,s,ot),t=1)})),t&&ye(be[e],void 0,ot)}}},ht=(e,...t)=>(ps((()=>e(...j(t,S)))),ws),mt=()=>[Jt(x,((e,t)=>-1===zt(o,t)?null:Jt(e,((e,s)=>-1===zt(zt(k,t),s)?null:Jt(e,(([,e])=>e??null),((e,t)=>as(t)))),ae)),ae),Jt(R,(([,e])=>e??null),((e,t)=>as(t)))],bt=()=>({cellsTouched:s,valuesTouched:l,changedCells:Bt(x,ls,as),invalidCells:Bt(E),changedValues:Jt(R,ls,as),invalidValues:Jt(O),changedTableIds:Jt(o),changedRowIds:Pt(k),changedCellIds:Bt(T),changedValueIds:Jt(V)}),gt=()=>Bt(W),pt=()=>Et(W),It=e=>vt(zt(W,S(e))),ft=e=>Et(zt(W,S(e))),wt=(e,t,s,l=0,a)=>{return j(z((o=zt(W,S(e)),r=(e,s)=>[q(t)?s:zt(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),j([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),l,q(a)?a:l+a),(([,e])=>e));var n,o,r},yt=(e,t)=>Et(zt(zt(W,S(e)),S(t))),Ct=(e,t,s)=>zt(zt(zt(W,S(e)),S(t)),S(s)),Rt=()=>Jt(G),Wt=()=>Et(G),Ut=e=>zt(G,S(e)),Gt=e=>ht((()=>(e=>ns(e,Te,lt))(e)?Ae(e):0)),Kt=e=>ht((()=>Ve(e)?De(e):0)),Zt=e=>{try{Oe(oe(e))}catch{}return ws},is=t=>ht((()=>{if((e=ns(t,(e=>ns(e,ke))))&&(Le(t),!Vt(W))){const e=gt();us(),Gt(e)}})),ds=e=>ht((()=>{if(t=(e=>ns(e,ke))(e)){const s=Rt();gs(),ms(),t=!0,$e(e),Kt(s)}})),us=()=>ht((()=>Ae({}))),cs=e=>ht((e=>xt(W,e)?Ue(e):0),e),hs=(e,t)=>ht(((e,t)=>N(zt(W,e),(s=>xt(s,t)?Ge(e,s,t):0))),e,t),ms=()=>ht((()=>De({}))),bs=()=>ht((()=>{Le({}),e=!1})),gs=()=>ht((()=>{$e({}),t=!1})),ps=(e,t)=>{if(-1!=n){Is();const s=e();return fs(t),s}},Is=()=>(-1!=n&&n++,1==n&&ye(Ie,void 0,mt,bt),ws),fs=e=>(n>0&&(n--,0==n&&(s=!Vt(x),l=!Vt(R),n=1,rt(1),s&&ut(1),it(1),l&&ct(1),e?.(mt,bt)&&(Nt(x,((e,t)=>Nt(e,((e,s)=>Nt(e,(([e],l)=>Ee(ws,t,s,l,e))))))),Nt(R,(([e],t)=>ze(ws,t,e))),s=l=!1),ye(fe[0],void 0,mt,bt),n=-1,rt(0),s&&ut(0),it(0),l&&ct(0),ye(fe[1],void 0,mt,bt),n=0,s=l=!1,Q([o,i,c,k,T,x,E,V,R,O],qt))),ws),ws={getContent:()=>[gt(),Rt()],getTables:gt,getTableIds:pt,getTable:e=>Pt(zt(W,S(e))),getTableCellIds:e=>Et(zt(D,S(e))),getRowCount:It,getRowIds:ft,getSortedRowIds:wt,getRow:(e,t)=>Jt(zt(zt(W,S(e)),S(t))),getCellIds:yt,getCell:Ct,getValues:Rt,getValueIds:Wt,getValue:Ut,hasTables:()=>!Vt(W),hasTable:e=>xt(W,S(e)),hasTableCell:(e,t)=>xt(zt(D,S(e)),S(t)),hasRow:(e,t)=>xt(zt(W,S(e)),S(t)),hasCell:(e,t,s)=>xt(zt(zt(W,S(e)),S(t)),S(s)),hasValues:()=>!Vt(G),hasValue:e=>xt(G,S(e)),getTablesJson:()=>ne(W),getValuesJson:()=>ne(G),getJson:()=>ne([W,G]),getTablesSchemaJson:()=>ne(A),getValuesSchemaJson:()=>ne(J),getSchemaJson:()=>ne([A,J]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ht((()=>{(ae(e)?us:Gt)(e),(ae(t)?ms:Kt)(t)})),setTables:Gt,setTable:(e,t)=>ht((e=>Te(t,e)?Fe(e,t):0),e),setRow:(e,t,s)=>ht(((e,t)=>Se(e,t,s)?Je(e,We(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ps((()=>{let l;return Se(e,l,t)&&(e=S(e),Je(e,We(e),l=je(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ht(((e,t)=>{if(Se(e,t,s,1)){const l=We(e);le(s,((s,a)=>Be(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ht(((e,t,s)=>N(xe(e,t,s,M(l)?l(Ct(e,t,s)):l),(l=>Be(e,We(e),t,s,l)))),e,t,s),setValues:Kt,setPartialValues:e=>ht((()=>Ve(e,1)?le(e,((e,t)=>Qe(t,e))):0)),setValue:(e,t)=>ht((e=>N(Re(e,M(t)?t(Ut(e)):t),(t=>Qe(e,t)))),e),setTransactionChanges:e=>ht((()=>{le(e[0],((e,t)=>q(e)?cs(t):le(e,((e,s)=>q(e)?hs(t,s):le(e,((e,l)=>Ee(ws,t,s,l,e))))))),le(e[1],((e,t)=>ze(ws,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{He(oe(e))}catch{}return ws},setJson:e=>ht((()=>{try{const[t,s]=oe(e);Oe(t),He(s)}catch{Zt(e)}})),setTablesSchema:is,setValuesSchema:ds,setSchema:(e,t)=>ht((()=>{is(e),ds(t)})),delTables:us,delTable:cs,delRow:hs,delCell:(e,t,s,l)=>ht(((e,t,s)=>N(zt(W,e),(a=>N(zt(a,t),(n=>xt(n,s)?Ke(e,a,t,n,s,l):0))))),e,t,s),delValues:ms,delValue:e=>ht((e=>xt(G,e)?Xe(e):0),e),delTablesSchema:bs,delValuesSchema:gs,delSchema:()=>ht((()=>{bs(),gs()})),transaction:ps,startTransaction:Is,finishTransaction:fs,forEachTable:e=>Nt(W,((t,s)=>e(s,(e=>Nt(t,((t,s)=>e(s,(e=>$t(t,e))))))))),forEachTableCell:(e,t)=>$t(zt(D,S(e)),t),forEachRow:(e,t)=>Nt(zt(W,S(e)),((e,s)=>t(s,(t=>$t(e,t))))),forEachCell:(e,t,s)=>$t(zt(zt(W,S(e)),S(t)),s),forEachValue:e=>$t(G,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>{let r=wt(e,t,s,l,a);return we((()=>{const o=wt(e,t,s,l,a);var i,d,u;d=r,$(i=o)===$(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(ws,e,t,s,l,a,r))}),ie[o?1:0],[e,t],[pt])},addStartTransactionListener:e=>we(e,Ie),addWillFinishTransactionListener:e=>we(e,fe[0]),addDidFinishTransactionListener:e=>we(e,fe[1]),callListener:e=>(ve(e),ws),delListener:e=>(Ce(e),ws),getListenerStats:()=>({tables:ts(K),tableIds:ts(X),tableCellIds:ts(_),table:ts(Y),rowCount:ts(ee),rowIds:ts(re),sortedRowIds:ts(ie),row:ts(de,Tt),cellIds:ts(ue,Tt),cell:ts(ce,St),invalidCell:ts(he,St),values:ts(be),valueIds:ts(ge),value:ts(pe),invalidValue:ts(me),transaction:kt(Ie)+ts(fe)}),createStore:rs,addListener:we,callListeners:ye};return le({[m]:[0,K],[b]:[0,X],[h]:[1,Y,[pt]],[h+w]:[1,_,[pt]],[p]:[1,ee,[pt]],[I]:[1,re,[pt]],[g]:[2,de,[pt,ft]],[w]:[2,ue,[pt,ft]],[f]:[3,ce,[pt,ft,yt],e=>es(Ct(...e))],InvalidCell:[3,he],[C]:[0,be],[v]:[0,ge],[y]:[1,pe,[Wt],e=>es(Ut(e[0]))],InvalidValue:[1,me]},(([e,t,s,l],a)=>{ws["add"+a+"Listener"]=(...a)=>we(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),Z(ws)},is=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(rs),a=de.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,o=[])=>{let r,i,d,u=0,c=0,h=0,m=0;At(Wt,o,(()=>0)),At(Ut,o,(()=>[]));const b=async e=>(2!=u&&(u=1,c++,await g.schedule((async()=>{await e(),u=0}))),g),g={load:async(s,l)=>await b((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),m=1,d=l((async(s,l)=>{if(l){const t=l();await b((async()=>e.setTransactionChanges(t)))}else await b((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),g),stopAutoLoad:()=>(m&&(a(d),d=void 0,m=0),g),save:async t=>(1!=u&&(u=2,h++,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}u=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();ae(s)&&ae(l)||g.save((()=>[s,l]))})),g),stopAutoSave:()=>(N(r,e.delListener),g),schedule:async(...e)=>(U(zt(Ut,o),...e),await(async()=>{if(!zt(Wt,o)){for(Ot(Wt,o,1);!q(i=G(zt(Ut,o)));)try{await i()}catch(e){n?.(e)}Ot(Wt,o,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return Z(g)})(e,(async()=>oe(s.getItem(t))),(async e=>s.setItem(t,ne(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>oe(l.newValue)))};return Kt.addEventListener(Gt,l),l}),(e=>Kt.removeEventListener(Gt,e)),l))(e,re,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),F(A,null,F("aside",{id:re},F(Ne,{s:l}),F(yt,{s:l})),F("style",null,qe))};e.EditableCellView=st,e.EditableValueView=lt,e.RelationshipInHtmlTable=et,e.ResultSortedTableInHtmlTable=tt,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>F(Ue,{...a,params:He(We(s.useResultTableCellIds(e,t),l,s.ResultCellView),Qe(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=_e,e.SortedTableInHtmlTable=Ye,e.SortedTablePaginator=at,e.StoreInspector=e=>F(is,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>F(Ue,{...n,params:He(We(s.useTableCellIds(e,t),a,l?st:s.CellView),De(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=Ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
1
+ var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),o=l(!0),r=l(0),i=l(l),d="type",u="default",c="Ids",h="Table",m=h+"s",b=h+c,g="Row",p=g+"Count",I=g+c,f="Cell",w=f+c,y="Value",C=y+"s",v=y+c,k="currentTarget",T="value",S=e=>a+e,x=Math.floor,V=isFinite,R=(e,t)=>e instanceof t,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==o,M=e=>l(e)==i,E=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),$=e=>e.length,{PureComponent:O,Fragment:A,createElement:F,useCallback:J,useLayoutEffect:P,useRef:B,useState:H}=t,D=(e,...t)=>q(e)?{}:e(...t),Q=(e,t)=>e.forEach(t),j=(e,t)=>e.map(t),W=e=>0==$(e),U=(e,...t)=>e.push(...t),G=e=>e.shift(),K=Object,X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>R(e,K)&&e.constructor==K,ee=(e=[])=>K.fromEntries(e),te=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),le=(e,t)=>j(K.entries(e),(([e,s])=>t(s,e))),ae=e=>_(e)&&0==(e=>$(X(e)))(e),ne=e=>JSON.stringify(e,((e,t)=>R(t,Map)?K.fromEntries([...t]):t)),oe=JSON.parse,re="tinybaseStoreInspector",ie="TinyBase Store Inspector",de=["left","top","bottom","right","full"],ue="state",ce="sort",he="open",me="position",be=he,ge="editable",pe=(...e)=>ne(e),Ie=(e,t)=>j(e.sort(),t),fe=(e,t)=>[!!s.useCell(ue,e,ge,t),J((s=>{t.setCell(ue,e,ge,(e=>!e)),s.preventDefault()}),[t,e])],we="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',Ce=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",ve='</svg>")',ke=ye+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Te=j([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Ce+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+ve)),Se=Ce+"<path d='M20 20l60 60M20 80l60-60' />"+ve,xe=Ce+`<path d='${we}' />`+ve,Ve=Ce+`<path d='${we}M20 20l60 60' />`+ve,Re="*::-webkit-scrollbar",qe=`#${re}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,t="")=>e.join(t))(le({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Re]:"width:0.5rem;height:0.5rem;",[Re+"-track"]:"background:#111",[Re+"-thumb"]:"background:#999;border:1px solid #111",[Re+"-thumb:hover"]:"background:#fff",[Re+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ke,...ee(j(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...ee(j(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":ke,"header>img:nth-of-type(6)":Se,...ee(j(Te,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":xe,"details[open]>summary img.done":Ve,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`& ${t}{${e}}`:"")))}`,Ne=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!0),[],e);return s.useValue(be,e)?null:F("img",{onClick:l,title:ie,"data-position":t})},Le=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:o})=>{const r=!!s.useCell(ue,e,he,o),i=s.useSetCellCallback(ue,e,he,(e=>e[k].open),[],o);return F("details",{open:r,onToggle:i},F("summary",null,t,a?F("img",{onClick:a,className:l?"done":"edit"}):null),n)},Me=e=>{const t=l(e);return L(t)||t==r&&V(e)?t:void 0},Ee=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),ze=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),$e=(e,t,s,l)=>e==n?t:e==r?s:l,{useCallback:Oe,useMemo:Ae,useState:Fe}=t,Je="editable",Pe=(e,t)=>j(s.useTableCellIds(e,t),(t=>e+"."+t)),Be=(e,t,s)=>{const l=Oe(e,t);return s?l:void 0},He=(...e)=>Ae((()=>e),e),De=(e,t)=>Ae((()=>({store:e,tableId:t})),[e,t]),Qe=(e,t)=>Ae((()=>({queries:e,queryId:t})),[e,t]),je=(e,t=!1,s,l=0,a,n,o,r)=>{const[[i,d,u],c]=Fe([e,t,l]),h=Oe((e=>{c(e),r?.(e)}),[r]),m=Be((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Oe((e=>h([i,d,e])),[h,i,d]),g=!0===o?at:o;return[[i,d,u],m,Ae((()=>!1===o?null:F(g,{offset:u,limit:a,total:n,onChange:b})),[o,g,u,a,n,b])]},We=(e,t,s)=>Ae((()=>{const a=t??e;return ee(le(E(a)?ee(j(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)}];var a})))}),[t,s,e]),Ue=({className:e,headerRow:t,idColumn:s,params:[l,a,n,o,r,i]})=>F("table",{className:e},i?F("caption",null,i):null,!1===t?null:F("thead",null,F("tr",null,!1===s?null:F(Ge,{sort:o??[],label:"Id",onClick:r}),le(l,(({label:e},t)=>F(Ge,{key:t,cellId:t,label:e,sort:o??[],onClick:r}))))),F("tbody",null,j(n,(e=>F("tr",{key:e},!1===s?null:F("th",null,e),le(l,(({component:t,getComponentProps:s},l)=>F("td",{key:l},F(t,{...D(s,e,l),...a,rowId:e,cellId:l}))))))))),Ge=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>F("th",{onClick:Be((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ke=({localRowId:e,params:[l,a,n,o,r,i,d]})=>{const u=s.useRemoteRowId(r,e,i);return F("tr",null,!1===l?null:F(t.Fragment,null,F("th",null,e),F("th",null,u)),le(a,(({component:t,getComponentProps:s},l)=>{const[a,r]=l.split(".",2),i=a===n?e:a===o?u:null;return q(i)?null:F("td",{key:l},F(t,{...D(s,i,r),store:d,tableId:a,rowId:i,cellId:r}))})))},Xe=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:a=!0})=>{const[i,d]=Fe(),[u,c]=Fe(),[h,m]=Fe(),[b,g]=Fe(),[p,I]=Fe();u!==e&&(d(Me(e)),c(e),m(e+""),g(Number(e)||0),I(!!e));const f=Oe(((e,s)=>{s(e),c(e),t(e)}),[t]),w=Oe((()=>{if(!l?.()){const e=$e(i,r,o,n),s=$e(e,h,b,p);d(e),c(s),t(s)}}),[l,t,h,b,p,i]);return F("div",{className:s},a?F("button",{className:i,onClick:w},i):null,$e(i,F("input",{key:i,value:h,onChange:Oe((e=>f(e[k][T]+"",m)),[f])}),F("input",{key:i,type:"number",value:b,onChange:Oe((e=>f(Number(e[k][T]||0),g)),[f])}),F("input",{key:i,type:"checkbox",checked:p,onChange:Oe((e=>f(!!e[k].checked,I)),[f])})))},Ye=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=je(t,l,i,a,n,s.useRowCount(e,o),d,u);return F(Ue,{...h,params:He(We(s.useTableCellIds(e,o),c,r?st:s.CellView),De(o,e),s.useSortedRowIds(e,...m,n,o),m,b,g)})},Ze=({store:e,editable:t=!1,valueComponent:l=(t?lt:s.ValueView),getValueComponentProps:a,className:n,headerRow:o,idColumn:r})=>F("table",{className:n},!1===o?null:F("thead",null,F("tr",null,!1===r?null:F("th",null,"Id"),F("th",null,y))),F("tbody",null,j(s.useValueIds(e),(t=>F("tr",{key:t},!1===r?null:F("th",null,t),F("td",null,F(l,{...D(a,t),valueId:t,store:e}))))))),_e=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...o})=>{const[r,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return F(Ue,{...o,params:He(We(s.useTableCellIds(d,i),n,a?st:s.CellView),De(i,d),s.useSliceRowIds(e,t,r))})},et=({relationshipId:e,relationships:l,editable:a,customCells:n,className:o,headerRow:r,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=We([...Pe(c,u),...Pe(h,u)],n,a?st:s.CellView),b=He(i,m,c,h,e,d,u);return F("table",{className:o},!1===r?null:F("thead",null,F("tr",null,!1===i?null:F(t.Fragment,null,F("th",null,c,".Id"),F("th",null,h,".Id")),le(m,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,j(s.useRowIds(c,u),(e=>F(Ke,{key:e,localRowId:e,params:b})))))},tt=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=je(t,l,r,a,n,s.useResultRowCount(e,o),i,u);return F(Ue,{...c,params:He(We(s.useResultTableCellIds(e,o),d,s.ResultCellView),Qe(o,e),s.useResultSortedRowIds(e,...h,n,o),h,m,b)})},st=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(Xe,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??Je+f,showType:o,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),lt=({valueId:e,store:t,className:l,showType:a})=>F(Xe,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??Je+y,showType:a,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),at=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:o=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const r=Be((()=>e(l-a)),[e,l,a],l>0),i=Be((()=>e(l+a)),[e,l,a],l+a<s);return F(t.Fragment,null,s>a&&F(t.Fragment,null,F("button",{className:"previous",disabled:0==l,onClick:r},"←"),F("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?o:n)},nt=({indexes:e,indexesId:t,indexId:l,s:a})=>F(Le,{uniqueId:pe("i",t,l),summary:"Index: "+l,s:a},j(s.useSliceIds(l,e),(s=>F(ot,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),ot=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=pe("i",t,s,l),[o,r]=fe(n,a);return F(Le,{uniqueId:n,summary:"Slice: "+l,editable:o,handleEditable:r,s:a},F(_e,{sliceId:l,indexId:s,indexes:e,editable:o}))},rt=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:F(Le,{uniqueId:pe("i",e),summary:"Indexes: "+(e??u),s:t},W(a)?"No indexes defined":Ie(a,(s=>F(nt,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},it=({metrics:e,metricId:t})=>F("tr",null,F("th",null,t),F("td",null,e?.getTableId(t)),F("td",null,s.useMetric(t,e))),dt=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:F(Le,{uniqueId:pe("m",e),summary:"Metrics: "+(e??u),s:t},W(a)?"No metrics defined":F("table",null,F("thead",null,F("th",null,"Metric Id"),F("th",null,"Table Id"),F("th",null,"Metric")),F("tbody",null,j(a,(e=>F(it,{metrics:l,metricId:e,key:e}))))))},ut=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=pe("q",t,l),[o,r,i]=oe(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a);return F(Le,{uniqueId:n,summary:"Query: "+l,s:a},F(tt,{queryId:l,queries:e,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ct=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:F(Le,{uniqueId:pe("q",e),summary:"Queries: "+(e??u),s:t},W(a)?"No queries defined":Ie(a,(s=>F(ut,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},ht=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=pe("r",t,s),[n,o]=fe(a,l);return F(Le,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:o,s:l},F(et,{relationshipId:s,relationships:e,editable:n}))},mt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:F(Le,{uniqueId:pe("r",e),summary:"Relationships: "+(e??u),s:t},W(a)?"No relationships defined":Ie(a,(s=>F(ht,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},bt=({tableId:e,store:t,storeId:l,s:a})=>{const n=pe("t",l,e),[o,r,i]=oe(s.useCell(ue,n,ce,a)??"[]"),d=s.useSetCellCallback(ue,n,ce,ne,[],a),[u,c]=fe(n,a);return F(Le,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},F(Ye,{tableId:e,store:t,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},gt=({store:e,storeId:t,s:l})=>{const a=pe("v",t),[n,o]=fe(a,l);return W(s.useValueIds(e))?null:F(Le,{uniqueId:a,summary:C,editable:n,handleEditable:o,s:l},F(Ze,{store:e,editable:n}))},pt=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:F(Le,{uniqueId:pe("s",e),summary:"Store: "+(e??u),s:t},F(gt,{storeId:e,store:l,s:t}),Ie(a,(s=>F(bt,{store:l,storeId:e,tableId:s,s:t,key:s}))))},It=({s:e})=>{const t=B(null),l=B(0),[a,n]=H(!1),{scrollLeft:o,scrollTop:r}=s.useValues(e);P((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=x(o)+e.clientWidth&&e.scrollHeight>=x(r)+e.clientHeight&&e.scrollTo(o,r)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,o,r]);const i=J((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),p=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return q(d)&&W(u)&&q(c)&&W(h)&&q(m)&&W(b)&&q(g)&&W(p)&&q(I)&&W(f)?F("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):F("article",{ref:t,onScroll:i},F(pt,{s:e}),j(u,(t=>F(pt,{storeId:t,s:e,key:t}))),F(dt,{s:e}),j(h,(t=>F(dt,{metricsId:t,s:e,key:t}))),F(rt,{s:e}),j(b,(t=>F(rt,{indexesId:t,s:e,key:t}))),F(mt,{s:e}),j(p,(t=>F(mt,{relationshipsId:t,s:e,key:t}))),F(ct,{s:e}),j(f,(t=>F(ct,{queriesId:t,s:e,key:t}))))};class ft extends O{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static{this.getDerivedStateFromError=()=>({e:1})}render(){return this.state.e?F("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const wt=({s:e})=>{const t=s.useValue(me,e)??1,l=s.useSetValueCallback(be,(()=>!1),[],e),a=s.useSetValueCallback(me,(e=>Number(e[k].dataset.id)),[],e);return F("header",null,F("img",{title:ie}),F("span",null,ie),j(de,((e,s)=>s==t?null:F("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),F("img",{onClick:l,title:"Close"}))},yt=({s:e})=>{const t=s.useValue(me,e)??1;return s.useValue(be,e)?F("main",{"data-position":t},F(wt,{s:e}),F(ft,null,F(It,{s:e}))):null},Ct=e=>t=>{return s=(t,s)=>t+e(s),Rt(t).reduce(s,0);var s},vt=e=>e?.size??0,kt=Ct(vt),Tt=Ct(kt),St=Ct(Tt),xt=(e,t)=>e?.has(t)??!1,Vt=e=>q(e)||0==vt(e),Rt=e=>[...e?.values()??[]],qt=e=>e.clear(),Nt=(e,t)=>e?.forEach(t),Lt=(e,t)=>e?.delete(t),Mt=e=>new Map(e),Et=e=>[...e?.keys()??[]],zt=(e,t)=>e?.get(t),$t=(e,t)=>Nt(e,((e,s)=>t(s,e))),Ot=(e,t,s)=>q(s)?(Lt(e,t),e):e?.set(t,s),At=(e,t,s)=>(xt(e,t)||Ot(e,t,s()),zt(e,t)),Ft=(e,t,s,l=Ot)=>(le(t,((t,l)=>s(e,l,t))),$t(e,(s=>te(t,s)?0:l(e,s))),e),Jt=(e,t,s)=>{const l={};return Nt(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Pt=(e,t,s)=>Jt(e,(e=>Jt(e,t,s)),ae),Bt=(e,t,s)=>Jt(e,(e=>Pt(e,t,s)),ae),Ht=(e,t)=>{const s=Mt();return Nt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Dt=e=>Ht(e,Ht),Qt=e=>Ht(e,Dt),jt=(e,t,s,l,a=0)=>N((s?At:zt)(e,t[a],a>$(t)-2?s:Mt),(n=>{if(a>$(t)-2)return l?.(n)&&Ot(e,t[a]),n;const o=jt(n,t,s,l,a+1);return Vt(n)&&Ot(e,t[a]),o})),Wt=Mt(),Ut=Mt(),Gt="storage",Kt=globalThis.window,Xt=e=>new Set(E(e)||q(e)?e:[e]),Yt=(e,t)=>e?.add(t),Zt=/^\d+$/,_t=()=>{const e=[];let t=0;return[s=>(s?G(e):null)??a+t++,t=>{Zt.test(t)&&$(e)<1e3&&U(e,t)}]},es=e=>[e,e],ts=(e,t=kt)=>t(e[0])+t(e[1]),ss=()=>[Mt(),Mt()],ls=e=>[...e],as=([e,t])=>e===t,ns=(e,t,s)=>q(e)||!_(e)||ae(e)||Y(e)?(s?.(),!1):(le(e,((s,l)=>{t(s,l)||se(e,l)})),!ae(e)),os=(e,t,s)=>Ot(e,t,zt(e,t)==-s?void 0:s),rs=()=>{let e,t,s=!1,l=!1,n=0;const o=Mt(),i=Mt(),c=Mt(),k=Mt(),T=Mt(),x=Mt(),V=Mt(),R=Mt(),E=Mt(),O=Mt(),A=Mt(),F=Mt(),J=Mt(),P=Mt(),B=Xt(),H=Mt(),D=Mt(),W=Mt(),G=Mt(),K=ss(),X=ss(),Y=ss(),_=ss(),ee=ss(),re=ss(),ie=ss(),de=ss(),ue=ss(),ce=ss(),he=ss(),me=ss(),be=ss(),ge=ss(),pe=ss(),Ie=Mt(),fe=ss(),[we,ye,Ce,ve]=(e=>{let t;const[s,l]=_t(),n=Mt();return[(e,l,o,r=[],i=(()=>[]))=>{t??=ws;const d=s(1);return Ot(n,d,[e,l,o,r,i]),Yt(jt(l,o??[a],Xt),d),d},(e,s,...l)=>Q(((e,t=[a])=>{const s=[],l=(e,a)=>a==$(t)?U(s,e):null===t[a]?Nt(e,(e=>l(e,a+1))):Q([t[a],null],(t=>l(zt(e,t),a+1)));return l(e,0),s})(e,s),(e=>Nt(e,(e=>zt(n,e)[0](t,...s??[],...l))))),e=>N(zt(n,e),(([,t,s])=>(jt(t,s??[a],void 0,(t=>(Lt(t,e),Vt(t)?1:0))),Ot(n,e),l(e),s))),e=>N(zt(n,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const r=$(o);r==$(s)?e(t,...o,...a(o)):q(s[r])?Q(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),ke=e=>{if(!ns(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=r||(Me(e[u])!=t&&se(e,u),0))},Te=(t,s)=>(!e||xt(A,s)||lt(s))&&ns(t,((e,t)=>Se(s,t,e)),(()=>lt(s))),Se=(e,t,s,l)=>ns(l?s:qe(s,e,t),((l,a)=>N(xe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>lt(e,t))),xe=(t,s,l,a)=>e?N(zt(zt(A,t),l),(e=>Me(a)!=e[d]?lt(t,s,l,a,e[u]):a),(()=>lt(t,s,l,a))):q(Me(a))?lt(t,s,l,a):a,Ve=(e,t)=>ns(t?e:Ne(e),((t,s)=>N(Re(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>at())),Re=(e,s)=>t?N(zt(J,e),(t=>Me(s)!=t[d]?at(e,s,t[u]):s),(()=>at(e,s))):q(Me(s))?at(e,s):s,qe=(e,t,s)=>(N(zt(F,t),(([l,a])=>{Nt(l,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(a,(l=>{te(e,l)||lt(t,s,l)}))})),e),Ne=e=>(t&&(Nt(P,((t,s)=>{te(e,s)||(e[s]=t)})),Nt(B,(t=>{te(e,t)||at(t)}))),e),Le=e=>Ft(A,e,((e,t,s)=>{const l=Mt(),a=Xt();Ft(At(A,t,Mt),s,((e,t,s)=>{Ot(e,t,s),N(s[u],(e=>Ot(l,t,e)),(()=>Yt(a,t)))})),Ot(F,t,[l,a])}),((e,t)=>{Ot(A,t),Ot(F,t)})),$e=e=>Ft(J,e,((e,t,s)=>{Ot(J,t,s),N(s[u],(e=>Ot(P,t,e)),(()=>Yt(B,t)))}),((e,t)=>{Ot(J,t),Ot(P,t),Lt(B,t)})),Oe=e=>ae(e)?us():Gt(e),Ae=e=>Ft(W,e,((e,t,s)=>Fe(t,s)),((e,t)=>Ue(t))),Fe=(e,t)=>Ft(At(W,e,(()=>(Ye(e,1),Ot(H,e,_t()),Ot(D,e,Mt()),Mt()))),t,((t,s,l)=>Je(e,t,s,l)),((t,s)=>Ge(e,t,s))),Je=(e,t,s,l,a)=>Ft(At(t,s,(()=>(Ze(e,s,1),Mt()))),l,((t,l,a)=>Pe(e,s,t,l,a)),((l,n)=>Ke(e,t,s,l,n,a))),Pe=(e,t,s,l,a)=>{xt(s,l)||_e(e,t,l,1);const n=zt(s,l);a!==n&&(et(e,t,l,n,a),Ot(s,l,a))},Be=(e,t,s,l,a)=>N(zt(t,s),(t=>Pe(e,s,t,l,a)),(()=>Je(e,t,s,qe({[l]:a},e,s)))),He=e=>ae(e)?ms():Kt(e),De=e=>Ft(G,e,((e,t,s)=>Qe(t,s)),((e,t)=>Xe(t))),Qe=(e,t)=>{xt(G,e)||tt(e,1);const s=zt(G,e);t!==s&&(st(e,s,t),Ot(G,e,t))},je=(e,t)=>{const[s]=zt(H,e),l=s(t);return xt(zt(W,e),l)?je(e,t):l},We=e=>zt(W,e)??Fe(e,{}),Ue=e=>Fe(e,{}),Ge=(e,t,s)=>{const[,l]=zt(H,e);l(s),Je(e,t,s,{},!0)},Ke=(e,t,s,l,a,n)=>{const o=zt(zt(F,e)?.[0],a);if(!q(o)&&!n)return Pe(e,s,l,a,o);const r=t=>{et(e,s,t,zt(l,t)),_e(e,s,t,-1),Ot(l,t)};q(o)?r(a):$t(l,r),Vt(l)&&(Ze(e,s,-1),Vt(Ot(t,s))&&(Ye(e,-1),Ot(W,e),Ot(H,e),Ot(D,e)))},Xe=e=>{const t=zt(P,e);if(!q(t))return Qe(e,t);st(e,zt(G,e)),tt(e,-1),Ot(G,e)},Ye=(e,t)=>os(o,e,t),Ze=(e,t,s)=>os(At(k,e,Mt),t,s)&&Ot(c,e,At(c,e,(()=>0))+s),_e=(e,t,s,l)=>{const a=zt(D,e),n=zt(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&os(At(i,e,Mt),s,l),Ot(a,s,n!=-l?n+l:null),os(At(At(T,e,Mt),t,Mt),s,l)},et=(e,t,s,l,a)=>At(At(At(x,e,Mt),t,Mt),s,(()=>[l,0]))[1]=a,tt=(e,t)=>os(V,e,t),st=(e,t,s)=>At(R,e,(()=>[t,0]))[1]=s,lt=(e,t,s,l,a)=>(U(At(At(At(E,e,Mt),t,Mt),s,(()=>[])),l),a),at=(e,t,s)=>(U(At(O,e,(()=>[])),t),s),nt=(e,t,s)=>N(zt(zt(zt(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ct(e,t,s))])),ot=e=>N(zt(R,e),(([e,t])=>[!0,e,t]),(()=>[!1,...es(Ut(e))])),rt=e=>Vt(E)||Vt(he[e])?0:Nt(e?Qt(E):E,((t,s)=>Nt(t,((t,l)=>Nt(t,((t,a)=>ye(he[e],[s,l,a],t))))))),it=e=>Vt(O)||Vt(me[e])?0:Nt(e?Ht(O):O,((t,s)=>ye(me[e],[s],t))),dt=(e,t,s)=>{if(!Vt(t))return ye(e,s,(()=>Jt(t))),1},ut=e=>{const t=Vt(ie[e]),s=Vt(ue[e])&&Vt(_[e])&&Vt(ee[e])&&Vt(re[e])&&t&&Vt(X[e]),l=Vt(ce[e])&&Vt(de[e])&&Vt(Y[e])&&Vt(K[e]);if(!s||!l){const a=e?[Ht(o),Dt(i),Ht(c),Dt(k),Qt(T),Qt(x)]:[o,i,c,k,T,x];if(!s){dt(X[e],a[0]),Nt(a[1],((t,s)=>dt(_[e],t,[s]))),Nt(a[2],((t,s)=>{0!=t&&ye(ee[e],[s],It(s))}));const s=Xt();Nt(a[3],((l,a)=>{dt(re[e],l,[a])&&!t&&(ye(ie[e],[a,null]),Yt(s,a))})),t||Nt(a[5],((t,l)=>{if(!xt(s,l)){const s=Xt();Nt(t,(e=>Nt(e,(([t,l],a)=>l!==t?Yt(s,a):Lt(e,a))))),Nt(s,(t=>ye(ie[e],[l,t])))}})),Nt(a[4],((t,s)=>Nt(t,((t,l)=>dt(ue[e],t,[s,l])))))}if(!l){let t;Nt(a[5],((s,l)=>{let a;Nt(s,((s,n)=>{let o;Nt(s,(([s,r],i)=>{r!==s&&(ye(ce[e],[l,n,i],r,s,nt),t=a=o=1)})),o&&ye(de[e],[l,n],nt)})),a&&ye(Y[e],[l],nt)})),t&&ye(K[e],void 0,nt)}}},ct=e=>{const t=Vt(ge[e]),s=Vt(pe[e])&&Vt(be[e]);if(!t||!s){const l=e?[Ht(V),Ht(R)]:[V,R];if(t||dt(ge[e],l[0]),!s){let t;Nt(l[1],(([s,l],a)=>{l!==s&&(ye(pe[e],[a],l,s,ot),t=1)})),t&&ye(be[e],void 0,ot)}}},ht=(e,...t)=>(ps((()=>e(...j(t,S)))),ws),mt=()=>[Jt(x,((e,t)=>-1===zt(o,t)?null:Jt(e,((e,s)=>-1===zt(zt(k,t),s)?null:Jt(e,(([,e])=>e??null),((e,t)=>as(t)))),ae)),ae),Jt(R,(([,e])=>e??null),((e,t)=>as(t)))],bt=()=>({cellsTouched:s,valuesTouched:l,changedCells:Bt(x,ls,as),invalidCells:Bt(E),changedValues:Jt(R,ls,as),invalidValues:Jt(O),changedTableIds:Jt(o),changedRowIds:Pt(k),changedCellIds:Bt(T),changedValueIds:Jt(V)}),gt=()=>Bt(W),pt=()=>Et(W),It=e=>vt(zt(W,S(e))),ft=e=>Et(zt(W,S(e))),wt=(e,t,s,l=0,a)=>{return j(z((o=zt(W,S(e)),r=(e,s)=>[q(t)?s:zt(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),j([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),l,q(a)?a:l+a),(([,e])=>e));var n,o,r},yt=(e,t)=>Et(zt(zt(W,S(e)),S(t))),Ct=(e,t,s)=>zt(zt(zt(W,S(e)),S(t)),S(s)),Rt=()=>Jt(G),Wt=()=>Et(G),Ut=e=>zt(G,S(e)),Gt=e=>ht((()=>(e=>ns(e,Te,lt))(e)?Ae(e):0)),Kt=e=>ht((()=>Ve(e)?De(e):0)),Zt=e=>{try{Oe(oe(e))}catch{}return ws},is=t=>ht((()=>{if((e=ns(t,(e=>ns(e,ke))))&&(Le(t),!Vt(W))){const e=gt();us(),Gt(e)}})),ds=e=>ht((()=>{if(t=(e=>ns(e,ke))(e)){const s=Rt();gs(),ms(),t=!0,$e(e),Kt(s)}})),us=()=>ht((()=>Ae({}))),cs=e=>ht((e=>xt(W,e)?Ue(e):0),e),hs=(e,t)=>ht(((e,t)=>N(zt(W,e),(s=>xt(s,t)?Ge(e,s,t):0))),e,t),ms=()=>ht((()=>De({}))),bs=()=>ht((()=>{Le({}),e=!1})),gs=()=>ht((()=>{$e({}),t=!1})),ps=(e,t)=>{if(-1!=n){Is();const s=e();return fs(t),s}},Is=()=>(-1!=n&&n++,1==n&&ye(Ie,void 0,mt,bt),ws),fs=e=>(n>0&&(n--,0==n&&(s=!Vt(x),l=!Vt(R),n=1,rt(1),s&&ut(1),it(1),l&&ct(1),e?.(mt,bt)&&(Nt(x,((e,t)=>Nt(e,((e,s)=>Nt(e,(([e],l)=>Ee(ws,t,s,l,e))))))),Nt(R,(([e],t)=>ze(ws,t,e))),s=l=!1),ye(fe[0],void 0,mt,bt),n=-1,rt(0),s&&ut(0),it(0),l&&ct(0),ye(fe[1],void 0,mt,bt),n=0,s=l=!1,Q([o,i,c,k,T,x,E,V,R,O],qt))),ws),ws={getContent:()=>[gt(),Rt()],getTables:gt,getTableIds:pt,getTable:e=>Pt(zt(W,S(e))),getTableCellIds:e=>Et(zt(D,S(e))),getRowCount:It,getRowIds:ft,getSortedRowIds:wt,getRow:(e,t)=>Jt(zt(zt(W,S(e)),S(t))),getCellIds:yt,getCell:Ct,getValues:Rt,getValueIds:Wt,getValue:Ut,hasTables:()=>!Vt(W),hasTable:e=>xt(W,S(e)),hasTableCell:(e,t)=>xt(zt(D,S(e)),S(t)),hasRow:(e,t)=>xt(zt(W,S(e)),S(t)),hasCell:(e,t,s)=>xt(zt(zt(W,S(e)),S(t)),S(s)),hasValues:()=>!Vt(G),hasValue:e=>xt(G,S(e)),getTablesJson:()=>ne(W),getValuesJson:()=>ne(G),getJson:()=>ne([W,G]),getTablesSchemaJson:()=>ne(A),getValuesSchemaJson:()=>ne(J),getSchemaJson:()=>ne([A,J]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ht((()=>{(ae(e)?us:Gt)(e),(ae(t)?ms:Kt)(t)})),setTables:Gt,setTable:(e,t)=>ht((e=>Te(t,e)?Fe(e,t):0),e),setRow:(e,t,s)=>ht(((e,t)=>Se(e,t,s)?Je(e,We(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ps((()=>{let l;return Se(e,l,t)&&(e=S(e),Je(e,We(e),l=je(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ht(((e,t)=>{if(Se(e,t,s,1)){const l=We(e);le(s,((s,a)=>Be(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ht(((e,t,s)=>N(xe(e,t,s,M(l)?l(Ct(e,t,s)):l),(l=>Be(e,We(e),t,s,l)))),e,t,s),setValues:Kt,setPartialValues:e=>ht((()=>Ve(e,1)?le(e,((e,t)=>Qe(t,e))):0)),setValue:(e,t)=>ht((e=>N(Re(e,M(t)?t(Ut(e)):t),(t=>Qe(e,t)))),e),setTransactionChanges:e=>ht((()=>{le(e[0],((e,t)=>q(e)?cs(t):le(e,((e,s)=>q(e)?hs(t,s):le(e,((e,l)=>Ee(ws,t,s,l,e))))))),le(e[1],((e,t)=>ze(ws,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{He(oe(e))}catch{}return ws},setJson:e=>ht((()=>{try{const[t,s]=oe(e);Oe(t),He(s)}catch{Zt(e)}})),setTablesSchema:is,setValuesSchema:ds,setSchema:(e,t)=>ht((()=>{is(e),ds(t)})),delTables:us,delTable:cs,delRow:hs,delCell:(e,t,s,l)=>ht(((e,t,s)=>N(zt(W,e),(a=>N(zt(a,t),(n=>xt(n,s)?Ke(e,a,t,n,s,l):0))))),e,t,s),delValues:ms,delValue:e=>ht((e=>xt(G,e)?Xe(e):0),e),delTablesSchema:bs,delValuesSchema:gs,delSchema:()=>ht((()=>{bs(),gs()})),transaction:ps,startTransaction:Is,finishTransaction:fs,forEachTable:e=>Nt(W,((t,s)=>e(s,(e=>Nt(t,((t,s)=>e(s,(e=>$t(t,e))))))))),forEachTableCell:(e,t)=>$t(zt(D,S(e)),t),forEachRow:(e,t)=>Nt(zt(W,S(e)),((e,s)=>t(s,(t=>$t(e,t))))),forEachCell:(e,t,s)=>$t(zt(zt(W,S(e)),S(t)),s),forEachValue:e=>$t(G,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>{let r=wt(e,t,s,l,a);return we((()=>{const o=wt(e,t,s,l,a);var i,d,u;d=r,$(i=o)===$(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(ws,e,t,s,l,a,r))}),ie[o?1:0],[e,t],[pt])},addStartTransactionListener:e=>we(e,Ie),addWillFinishTransactionListener:e=>we(e,fe[0]),addDidFinishTransactionListener:e=>we(e,fe[1]),callListener:e=>(ve(e),ws),delListener:e=>(Ce(e),ws),getListenerStats:()=>({tables:ts(K),tableIds:ts(X),tableCellIds:ts(_),table:ts(Y),rowCount:ts(ee),rowIds:ts(re),sortedRowIds:ts(ie),row:ts(de,Tt),cellIds:ts(ue,Tt),cell:ts(ce,St),invalidCell:ts(he,St),values:ts(be),valueIds:ts(ge),value:ts(pe),invalidValue:ts(me),transaction:kt(Ie)+ts(fe)}),createStore:rs,addListener:we,callListeners:ye};return le({[m]:[0,K],[b]:[0,X],[h]:[1,Y,[pt]],[h+w]:[1,_,[pt]],[p]:[1,ee,[pt]],[I]:[1,re,[pt]],[g]:[2,de,[pt,ft]],[w]:[2,ue,[pt,ft]],[f]:[3,ce,[pt,ft,yt],e=>es(Ct(...e))],InvalidCell:[3,he],[C]:[0,be],[v]:[0,ge],[y]:[1,pe,[Wt],e=>es(Ut(e[0]))],InvalidValue:[1,me]},(([e,t,s,l],a)=>{ws["add"+a+"Listener"]=(...a)=>we(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),Z(ws)},is=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(rs),a=de.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,[o,r]=[],i=[])=>{let d,u,c,h=0,m=0,b=0,g=0;At(Wt,i,(()=>0)),At(Ut,i,(()=>[]));const p=async e=>(2!=h&&(h=1,m++,await I.schedule((async()=>{await e(),h=0}))),I),I={load:async(s,l)=>await p((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(I.stopAutoLoad(),await I.load(s,a),g=1,c=l((async(s,l)=>{if(l){const t=l();await p((async()=>e.setTransactionChanges(t)))}else await p((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),I),stopAutoLoad:()=>(g&&(a(c),c=void 0,g=0),I),save:async t=>(1!=h&&(h=2,b++,await I.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}h=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();ae(s)&&ae(l)||I.save((()=>[s,l]))})),I),stopAutoSave:()=>(N(d,e.delListener),d=void 0,I),schedule:async(...e)=>(U(zt(Ut,i),...e),await(async()=>{if(!zt(Wt,i)){for(Ot(Wt,i,1);!q(u=G(zt(Ut,i)));)try{await u()}catch(e){n?.(e)}Ot(Wt,i,0)}})(),I),getStore:()=>e,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(I[o]=()=>r),Z(I)})(e,(async()=>oe(s.getItem(t))),(async e=>s.setItem(t,ne(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>oe(l.newValue)))};return Kt.addEventListener(Gt,l),l}),(e=>Kt.removeEventListener(Gt,e)),l,["getStorageName",t]))(e,re,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),F(A,null,F("aside",{id:re},F(Ne,{s:l}),F(yt,{s:l})),F("style",null,qe))};e.EditableCellView=st,e.EditableValueView=lt,e.RelationshipInHtmlTable=et,e.ResultSortedTableInHtmlTable=tt,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>F(Ue,{...a,params:He(We(s.useResultTableCellIds(e,t),l,s.ResultCellView),Qe(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=_e,e.SortedTableInHtmlTable=Ye,e.SortedTablePaginator=at,e.StoreInspector=e=>F(is,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>F(Ue,{...n,params:He(We(s.useTableCellIds(e,t),a,l?st:s.CellView),De(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=Ze},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
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,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
+ 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,c]=[],v=[])=>{let A,x,L,P=0,S=0;h(g,v,(()=>0)),h(m,v,(()=>[]));const b=e=>p(void 0,null,(function*(){return 2!=P&&(P=1,yield w.schedule((()=>p(void 0,null,(function*(){yield e(),P=0}))))),w})),w={load:(t,n)=>p(void 0,null,(function*(){return yield b((()=>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 w.stopAutoLoad(),yield w.load(t,n),S=1,L=u(((t,n)=>p(void 0,null,(function*(){if(n){const t=n();yield b((()=>p(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield b((()=>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)}}))))})))),w})),stopAutoLoad:()=>(S&&(r(L),L=void 0,S=0),w),save:t=>p(void 0,null,(function*(){return 1!=P&&(P=2,yield w.schedule((()=>p(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==d||d(e)}P=0}))))),w})),startAutoSave:()=>p(void 0,null,(function*(){return yield w.stopAutoSave().save(),A=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();a(n)&&a(o)||w.save((()=>[n,o]))})),w})),stopAutoSave:()=>(n(A,e.delListener),A=void 0,w),schedule:(...e)=>p(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(f(m,v),...e),yield p(void 0,null,(function*(){if(!f(g,v)){for(y(g,v,1);!t((e=f(m,v),x=e.shift()));)try{yield x()}catch(e){null==d||d(e)}y(g,v,0)}var e})),w})),getStore:()=>e,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s&&(w[s]=()=>c),i(w)})(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,["getDocHandle",o]))},"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,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
+ 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,l=o.freeze,i=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>r(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)?(l=t,null==(r=e)||r.delete(l),e):null==e?void 0:e.set(t,o);var r,l},c=(e,t,n)=>{var o,r,l;return r=t,null!=(l=null==(o=e)?void 0:o.has(r))&&l||d(e,t,n()),a(e,t)};var v=(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 f=u(),y=u();var h=(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 p="storage",g=globalThis.window,S=(e,r,u,S)=>((e,t,o,r,s,u,[h,p]=[],g=[])=>{let S,m,w,A=0,L=0;c(f,g,(()=>0)),c(y,g,(()=>[]));const x=e=>v(void 0,null,(function*(){return 2!=A&&(A=1,yield P.schedule((()=>v(void 0,null,(function*(){yield e(),A=0}))))),P})),P={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 P.stopAutoLoad(),yield P.load(n,o),L=1,w=r(((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==u||u(e)}}))))})))),P})),stopAutoLoad:()=>(L&&(s(w),w=void 0,L=0),P),save:t=>v(void 0,null,(function*(){return 1!=A&&(A=2,yield P.schedule((()=>v(void 0,null,(function*(){try{yield o(e.getContent,t)}catch(e){null==u||u(e)}A=0}))))),P})),startAutoSave:()=>v(void 0,null,(function*(){return yield P.stopAutoSave().save(),S=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();i(n)&&i(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var t,o;return t=S,o=e.delListener,!!n(t)||o(t),S=void 0,P},schedule:(...e)=>v(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(a(y,g),...e),yield v(void 0,null,(function*(){if(!a(f,g)){for(d(f,g,1);!n((e=a(y,g),m=e.shift()));)try{yield m()}catch(e){null==u||u(e)}d(f,g,0)}var e})),P})),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return h&&(P[h]=()=>p),l(P)})(e,(()=>h(void 0,null,(function*(){return s(u.getItem(r))}))),(e=>h(void 0,null,(function*(){return u.setItem(r,(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===r&&e((()=>s(t.newValue)))};return g.addEventListener(p,t),t}),(e=>g.removeEventListener(p,e)),S,["getStorageName",r]);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=Promise,u=setInterval,d=clearInterval,a=(e,n)=>e instanceof n,s=e=>null==e,c=(e,n,t)=>s(e)?null==t?void 0:t():n(e),v=e=>n(e)==o,y=(e,n,t)=>e.slice(n,t),f=e=>e.length,p=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},h=(e,n="")=>e.join(n),E=(e,n)=>e.map(n),m=e=>0==f(e),T=(e,n)=>e.filter(n),O=(e,...n)=>e.push(...n),P=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=b.keys,x=b.freeze,N=(e=[])=>b.fromEntries(e),R=(...e)=>b.assign({},...e),S=(e,n)=>E(b.entries(e),(([e,t])=>n(t,e))),C=e=>b.values(e),g=e=>f(w(e)),D=e=>(e=>a(e,b)&&e.constructor==b)(e)&&0==g(e),I=e=>new Map(e),F=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},M=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return E([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>s(t)?(L(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t)=>(P(e,n)||j(e,n,t()),M(e,n)),B=(e,n,t,l=j)=>(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)=>!s(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),W=e=>new Set(Array.isArray(e)||s(e)?e:[e]),H=(e,n)=>null==e?void 0:e.add(n),U="_",k="_id",q=e=>`"${e.replace(/"/g,'""')}"`;var J=Object.defineProperty,Y=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&K(e,t,n[t]);if(Y)for(var t of Y(n))G.call(n,t)&&K(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=I();return[()=>Q(void 0,null,(function*(){return B(o,N(yield p(E(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,N(E(yield e("SELECT name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>j(o,n,B(_(o,n,I),t,((e,n,t)=>{t!=M(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!s(M(M(o,e),n)))(n,t)?N(T(E(yield e("SELECT*FROM"+q(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!s(e)&&!D(n)))):{}})),(n,t,r,i,u,d=!1)=>Q(void 0,null,(function*(){const a=W();S(null!=r?r:{},(e=>E(w(null!=e?e:{}),(e=>H(a,e)))));const c=A(a);if(!d&&u&&m(c)&&P(o,n))return yield e("DROP TABLE"+q(n)),void j(o,n);if(m(c)||P(o,n)){const l=M(o,n),r=W(F(l));yield p([...E(c,(t=>Q(void 0,null,(function*(){L(r,t)||(yield e(`ALTER TABLE${q(n)}ADD${q(t)}`),j(l,t,""))})))),...!d&&i?E(A(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${q(n)}DROP${q(o)}`),j(l,o))})))):[]])}else yield e(`CREATE TABLE${q(n)}(${q(t)} PRIMARY KEY ON CONFLICT REPLACE${h(E(c,(e=>l+q(e))))});`),j(o,n,I([[t,""],...E(c,(e=>[e,""]))]));if(d)s(r)?yield e("DELETE FROM"+q(n)+"WHERE 1"):yield p(S(r,((l,o)=>Q(void 0,null,(function*(){s(l)?yield e("DELETE FROM"+q(n)+Z+q(t)+"=?",[o]):m(c)||(yield ne(e,n,t,w(l),[o,...C(l)]))})))));else if(m(c))P(o,n)&&(yield e("DELETE FROM"+q(n)+"WHERE 1"));else{const l=T(F(M(o,n)),(e=>e!=t)),i=[],u=[];S(null!=r?r:{},((e,n)=>{O(i,n,...E(l,(n=>null==e?void 0:e[n]))),O(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+q(n)+Z+q(t)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+q(n)+"("+q(t)+h(E(o,(e=>l+q(e))))+")VALUES"+y(r(`,(?${r(",?",f(o))})`,f(i)/(f(o)+1)),1)+"ON CONFLICT("+q(t)+")DO UPDATE SET"+h(E(o,(e=>q(e)+"=excluded."+q(e))),l),i)})),te=e=>h(E(e,(()=>"?")),l),le=JSON.parse;var oe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const re=I(),ie=I(),ue=(e,n,t,l,o,r,i=[])=>{let u,d,a,v=0,y=0;_(re,i,(()=>0)),_(ie,i,(()=>[]));const f=e=>oe(void 0,null,(function*(){return 2!=v&&(v=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),v=0}))))),p})),p={load:(t,l)=>oe(void 0,null,(function*(){return yield f((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>oe(void 0,[...t],(function*(t={},o={}){return p.stopAutoLoad(),yield p.load(t,o),y=1,a=l(((t,l)=>oe(void 0,null,(function*(){if(l){const n=l();yield f((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield f((()=>oe(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)}}))))})))),p})),stopAutoLoad:()=>(y&&(o(a),a=void 0,y=0),p),save:n=>oe(void 0,null,(function*(){return 1!=v&&(v=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}v=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();D(t)&&D(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(c(u,e.delListener),p),schedule:(...e)=>oe(void 0,null,(function*(){return O(M(ie,i),...e),yield oe(void 0,null,(function*(){if(!M(re,i)){for(j(re,i,1);!s((e=M(ie,i),d=e.shift()));)try{yield d()}catch(e){null==r||r(e)}j(re,i,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return x(p)};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 ae="store",se=(e,n,t,l,o,[r],i,u)=>{const[d,s,c,v]=ee(n,i,o);return ue(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),le(null!=(n=null==(e=(yield s(r,k))[U])?void 0:e[ae])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,t;yield d(),yield c(r,k,{[U]:{[ae]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>a(n,Map)?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};var ce=(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 ve=(e,n,t,l,o,[r,i,[u,d,a]],c,v)=>{const[y,f,h,E]=ee(n,c,o),m=(e,n)=>ce(void 0,null,(function*(){return yield p($(i,((t,l)=>ce(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)=>ce(void 0,null,(function*(){return d?yield h(a,k,{[U]:e},!0,!0,n):null}));return ue(e,(()=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){yield y();const e=yield ce(void 0,null,(function*(){return N(T(yield p($(r,((e,n)=>ce(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!D(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield f(a,k))[U]:{}}));return D(e)&&s(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){if(yield y(),s(n)){const[n,t]=e();yield m(n),yield O(t)}else{const[e,t]=n();yield m(e,!0),yield O(t,!0)}}))))}))),t,l,o,v)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",Ee="tableName",me={mode:ye,[fe]:1},Te={load:0,save:0,[Ee]:t+"_values"},Oe=(e,n,t,l)=>{const o=I();return S(e,((e,r)=>{const i=y(C(R(n,v(e)?{[t]:e}:e)),0,g(n));s(i[0])||l(r,i[0])||j(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ae="pragma ",Le="data_version",be="schema_version",we=(e,n,l,o,r,i,a,s)=>{let c,f;const[p,h,E,m]=(e=>{const n=(e=>R(me,v(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[fe];if(n.mode==ye){const{storeTableName:e=t}=n;return[1,l,[e],W(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=y(C(R(Te,i)),0,g(Te)),d=u[2],a=W(d);return[0,l,[Oe(o,{[he]:null,[pe]:k},he,(e=>H(a,e)&&e==d)),Oe(r,{[Ee]:null,[pe]:k,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>H(a,n)&&n==d)),u],a]})(n);return(p?se:ve)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[u((()=>Pe(void 0,null,(function*(){try{const n=(yield l(Ae+Le))[0][Le],t=(yield l(Ae+be))[0][be];n==(null!=c?c:c=n)&&t==(null!=f?f:f=t)||(e(),c=n,f=t)}catch(e){}}))),1e3*h),o((n=>m.has(n)?e():0))]),(([e,n])=>{d(e),c=f=null,r(n)}),a,E,A(m),s)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>we(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
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l=",",o=n(""),i=(e,n)=>e.repeat(n),r=Promise,u=setInterval,d=clearInterval,a=(e,n)=>e instanceof n,s=e=>null==e,c=(e,n,t)=>s(e)?null==t?void 0:t():n(e),v=e=>n(e)==o,y=(e,n,t)=>e.slice(n,t),f=e=>e.length,p=e=>{return n=function*(){return r.all(e)},new Promise(((e,t)=>{var l=e=>{try{i(n.next(e))}catch(e){t(e)}},o=e=>{try{i(n.throw(e))}catch(e){t(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);i((n=n.apply(void 0,null)).next())}));var n},h=(e,n="")=>e.join(n),E=(e,n)=>e.map(n),m=e=>0==f(e),T=(e,n)=>e.filter(n),O=(e,...n)=>e.push(...n),P=(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),L=Object,w=L.keys,x=L.freeze,N=(e=[])=>L.fromEntries(e),R=(...e)=>L.assign({},...e),S=(e,n)=>E(L.entries(e),(([e,t])=>n(t,e))),C=e=>L.values(e),g=e=>f(w(e)),D=e=>(e=>a(e,L)&&e.constructor==L)(e)&&0==g(e),I=e=>new Map(e),F=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},M=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return E([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>s(t)?(A(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t)=>(P(e,n)||j(e,n,t()),M(e,n)),B=(e,n,t,l=j)=>(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)=>!s(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),W=e=>new Set(Array.isArray(e)||s(e)?e:[e]),H=(e,n)=>null==e?void 0:e.add(n),U="_",k="_id",q=e=>`"${e.replace(/"/g,'""')}"`;var J=Object.defineProperty,Y=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&K(e,t,n[t]);if(Y)for(var t of Y(n))G.call(n,t)&&K(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=I();return[()=>Q(void 0,null,(function*(){return B(o,N(yield p(E(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,N(E(yield e("SELECT name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>j(o,n,B(_(o,n,I),t,((e,n,t)=>{t!=M(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!s(M(M(o,e),n)))(n,t)?N(T(E(yield e("SELECT*FROM"+q(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!s(e)&&!D(n)))):{}})),(n,t,i,r,u,d=!1)=>Q(void 0,null,(function*(){const a=W();S(null!=i?i:{},(e=>E(w(null!=e?e:{}),(e=>H(a,e)))));const c=b(a);if(!d&&u&&m(c)&&P(o,n))return yield e("DROP TABLE"+q(n)),void j(o,n);if(m(c)||P(o,n)){const l=M(o,n),i=W(F(l));yield p([...E(c,(t=>Q(void 0,null,(function*(){A(i,t)||(yield e(`ALTER TABLE${q(n)}ADD${q(t)}`),j(l,t,""))})))),...!d&&r?E(b(i),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${q(n)}DROP${q(o)}`),j(l,o))})))):[]])}else yield e(`CREATE TABLE${q(n)}(${q(t)} PRIMARY KEY ON CONFLICT REPLACE${h(E(c,(e=>l+q(e))))});`),j(o,n,I([[t,""],...E(c,(e=>[e,""]))]));if(d)s(i)?yield e("DELETE FROM"+q(n)+"WHERE 1"):yield p(S(i,((l,o)=>Q(void 0,null,(function*(){s(l)?yield e("DELETE FROM"+q(n)+Z+q(t)+"=?",[o]):m(c)||(yield ne(e,n,t,w(l),[o,...C(l)]))})))));else if(m(c))P(o,n)&&(yield e("DELETE FROM"+q(n)+"WHERE 1"));else{const l=T(F(M(o,n)),(e=>e!=t)),r=[],u=[];S(null!=i?i:{},((e,n)=>{O(r,n,...E(l,(n=>null==e?void 0:e[n]))),O(u,n)})),yield ne(e,n,t,l,r),yield e("DELETE FROM"+q(n)+Z+q(t)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,o,r)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+q(n)+"("+q(t)+h(E(o,(e=>l+q(e))))+")VALUES"+y(i(`,(?${i(",?",f(o))})`,f(r)/(f(o)+1)),1)+"ON CONFLICT("+q(t)+")DO UPDATE SET"+h(E(o,(e=>q(e)+"=excluded."+q(e))),l),r)})),te=e=>h(E(e,(()=>"?")),l),le=JSON.parse;var oe=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ie=I(),re=I(),ue=(e,n,t,l,o,i,[r,u]=[],d=[])=>{let a,v,y,f=0,p=0;_(ie,d,(()=>0)),_(re,d,(()=>[]));const h=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>oe(void 0,null,(function*(){return yield h((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>oe(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>oe(void 0,null,(function*(){if(l){const n=l();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>oe(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==i||i(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>oe(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==i||i(e)}f=0}))))),E})),startAutoSave:()=>oe(void 0,null,(function*(){return yield E.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();D(t)&&D(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(c(a,e.delListener),a=void 0,E),schedule:(...e)=>oe(void 0,null,(function*(){return O(M(re,d),...e),yield oe(void 0,null,(function*(){if(!M(ie,d)){for(j(ie,d,1);!s((e=M(re,d),v=e.shift()));)try{yield v()}catch(e){null==i||i(e)}j(ie,d,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(E[r]=()=>u),x(E)};var de=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ae="store",se=(e,n,t,l,o,[i],r,u)=>{const[d,s,c,v]=ee(n,r,o);return ue(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),le(null!=(n=null==(e=(yield s(i,k))[U])?void 0:e[ae])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,t;yield d(),yield c(i,k,{[U]:{[ae]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>a(n,Map)?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var ce=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const ve=(e,n,t,l,o,[i,r,[u,d,a]],c,v)=>{const[y,f,h,E]=ee(n,c,o),m=(e,n)=>ce(void 0,null,(function*(){return yield p($(r,((t,l)=>ce(void 0,[t,l],(function*([t,l,o,i],r){const u=e[r];n&&void 0===u||(yield h(t,l,u,o,i,n))})))))})),O=(e,n)=>ce(void 0,null,(function*(){return d?yield h(a,k,{[U]:e},!0,!0,n):null}));return ue(e,(()=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){yield y();const e=yield ce(void 0,null,(function*(){return N(T(yield p($(i,((e,n)=>ce(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!D(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield f(a,k))[U]:{}}));return D(e)&&s(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){if(yield y(),s(n)){const[n,t]=e();yield m(n),yield O(t)}else{const[e,t]=n();yield m(e,!0),yield O(t,!0)}}))))}))),t,l,o,["getDb",v],v)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",Ee="tableName",me={mode:ye,[fe]:1},Te={load:0,save:0,[Ee]:t+"_values"},Oe=(e,n,t,l)=>{const o=I();return S(e,((e,i)=>{const r=y(C(R(n,v(e)?{[t]:e}:e)),0,g(n));s(r[0])||l(i,r[0])||j(o,i,r)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var i=e=>{try{u(t.next(e))}catch(e){o(e)}},r=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(i,r);u((t=t.apply(e,n)).next())}));const be="pragma ",Ae="data_version",Le="schema_version",we=(e,n,l,o,i,r,a,s)=>{let c,f;const[p,h,E,m]=(e=>{const n=(e=>R(me,v(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[fe];if(n.mode==ye){const{storeTableName:e=t}=n;return[1,l,[e],W(e)]}const{tables:{load:o={},save:i={}}={},values:r={}}=n,u=y(C(R(Te,r)),0,g(Te)),d=u[2],a=W(d);return[0,l,[Oe(o,{[he]:null,[pe]:k},he,(e=>H(a,e)&&e==d)),Oe(i,{[Ee]:null,[pe]:k,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>H(a,n)&&n==d)),u],a]})(n);return(p?se:ve)(e,r?(e,n)=>Pe(void 0,null,(function*(){return r(e,n),yield l(e,n)})):l,(e=>[u((()=>Pe(void 0,null,(function*(){try{const n=(yield l(be+Ae))[0][Ae],t=(yield l(be+Le))[0][Le];n==(null!=c?c:c=n)&&t==(null!=f?f:f=t)||(e(),c=n,f=t)}catch(e){}}))),1e3*h),o((n=>m.has(n)?e():0))]),(([e,n])=>{d(e),c=f=null,i(n)}),a,E,b(m),s)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>we(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{r(o.next(e))}catch(e){n(e)}},i=e=>{try{r(o.throw(e))}catch(e){n(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,i);r((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=Promise,u=setInterval,a=clearInterval,d=(e,n)=>e instanceof n,s=e=>null==e,c=(e,n,t)=>s(e)?null==t?void 0:t():n(e),v=e=>n(e)==o,y=(e,n,t)=>e.slice(n,t),f=e=>e.length,p=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},h=(e,n="")=>e.join(n),E=(e,n)=>e.map(n),m=e=>0==f(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),P=(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:[]]},L=(e,n)=>null==e?void 0:e.delete(n),O=Object,w=O.keys,x=O.freeze,N=(e=[])=>O.fromEntries(e),R=(...e)=>O.assign({},...e),S=(e,n)=>E(O.entries(e),(([e,t])=>n(t,e))),g=e=>O.values(e),C=e=>f(w(e)),D=e=>(e=>d(e,O)&&e.constructor==O)(e)&&0==C(e),I=e=>new Map(e),F=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},M=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return E([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>s(t)?(L(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t)=>(P(e,n)||j(e,n,t()),M(e,n)),B=(e,n,t,l=j)=>(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)=>!s(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),H=e=>new Set(Array.isArray(e)||s(e)?e:[e]),W=(e,n)=>null==e?void 0:e.add(n),q="_",k="_id",J=e=>`"${e.replace(/"/g,'""')}"`;var U=Object.defineProperty,Y=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&K(e,t,n[t]);if(Y)for(var t of Y(n))G.call(n,t)&&K(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=I();return[()=>Q(void 0,null,(function*(){return B(o,N(yield p(E(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,N(E(yield e("SELECT name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>j(o,n,B(_(o,n,I),t,((e,n,t)=>{t!=M(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!s(M(M(o,e),n)))(n,t)?N(T(E(yield e("SELECT*FROM"+J(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!s(e)&&!D(n)))):{}})),(n,t,r,i,u,a=!1)=>Q(void 0,null,(function*(){const d=H();S(null!=r?r:{},(e=>E(w(null!=e?e:{}),(e=>W(d,e)))));const c=b(d);if(!a&&u&&m(c)&&P(o,n))return yield e("DROP TABLE"+J(n)),void j(o,n);if(m(c)||P(o,n)){const l=M(o,n),r=H(F(l));yield p([...E(c,(t=>Q(void 0,null,(function*(){L(r,t)||(yield e(`ALTER TABLE${J(n)}ADD${J(t)}`),j(l,t,""))})))),...!a&&i?E(b(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${J(n)}DROP${J(o)}`),j(l,o))})))):[]])}else yield e(`CREATE TABLE${J(n)}(${J(t)} PRIMARY KEY ON CONFLICT REPLACE${h(E(c,(e=>l+J(e))))});`),j(o,n,I([[t,""],...E(c,(e=>[e,""]))]));if(a)s(r)?yield e("DELETE FROM"+J(n)+"WHERE 1"):yield p(S(r,((l,o)=>Q(void 0,null,(function*(){s(l)?yield e("DELETE FROM"+J(n)+Z+J(t)+"=?",[o]):m(c)||(yield ne(e,n,t,w(l),[o,...g(l)]))})))));else if(m(c))P(o,n)&&(yield e("DELETE FROM"+J(n)+"WHERE 1"));else{const l=T(F(M(o,n)),(e=>e!=t)),i=[],u=[];S(null!=r?r:{},((e,n)=>{A(i,n,...E(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+J(n)+Z+J(t)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+J(n)+"("+J(t)+h(E(o,(e=>l+J(e))))+")VALUES"+y(r(`,(?${r(",?",f(o))})`,f(i)/(f(o)+1)),1)+"ON CONFLICT("+J(t)+")DO UPDATE SET"+h(E(o,(e=>J(e)+"=excluded."+J(e))),l),i)})),te=e=>h(E(e,(()=>"?")),l),le=JSON.parse;var oe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const re=I(),ie=I(),ue=(e,n,t,l,o,r,i=[])=>{let u,a,d,v=0,y=0;_(re,i,(()=>0)),_(ie,i,(()=>[]));const f=e=>oe(void 0,null,(function*(){return 2!=v&&(v=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),v=0}))))),p})),p={load:(t,l)=>oe(void 0,null,(function*(){return yield f((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>oe(void 0,[...t],(function*(t={},o={}){return p.stopAutoLoad(),yield p.load(t,o),y=1,d=l(((t,l)=>oe(void 0,null,(function*(){if(l){const n=l();yield f((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield f((()=>oe(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)}}))))})))),p})),stopAutoLoad:()=>(y&&(o(d),d=void 0,y=0),p),save:n=>oe(void 0,null,(function*(){return 1!=v&&(v=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}v=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();D(t)&&D(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(c(u,e.delListener),p),schedule:(...e)=>oe(void 0,null,(function*(){return A(M(ie,i),...e),yield oe(void 0,null,(function*(){if(!M(re,i)){for(j(re,i,1);!s((e=M(ie,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}j(re,i,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return x(p)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const de="store",se=(e,n,t,l,o,[r],i,u)=>{const[a,s,c,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield a(),le(null!=(n=null==(e=(yield s(r,k))[q])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,t;yield a(),yield c(r,k,{[q]:{[de]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>d(n,Map)?O.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};var ce=(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 ve=(e,n,t,l,o,[r,i,[u,a,d]],c,v)=>{const[y,f,h,E]=ee(n,c,o),m=(e,n)=>ce(void 0,null,(function*(){return yield p($(i,((t,l)=>ce(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))})))))})),A=(e,n)=>ce(void 0,null,(function*(){return a?yield h(d,k,{[q]:e},!0,!0,n):null}));return ue(e,(()=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){yield y();const e=yield ce(void 0,null,(function*(){return N(T(yield p($(r,((e,n)=>ce(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!D(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield f(d,k))[q]:{}}));return D(e)&&s(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){if(yield y(),s(n)){const[n,t]=e();yield m(n),yield A(t)}else{const[e,t]=n();yield m(e,!0),yield A(t,!0)}}))))}))),t,l,o,v)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",Ee="tableName",me={mode:ye,[fe]:1},Te={load:0,save:0,[Ee]:t+"_values"},Ae=(e,n,t,l)=>{const o=I();return S(e,((e,r)=>{const i=y(g(R(n,v(e)?{[t]:e}:e)),0,C(n));s(i[0])||l(r,i[0])||j(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const be="pragma ",Le="data_version",Oe="schema_version",we=(e,n,l,o,r,i,d,s)=>{let c,f;const[p,h,E,m]=(e=>{const n=(e=>R(me,v(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[fe];if(n.mode==ye){const{storeTableName:e=t}=n;return[1,l,[e],H(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=y(g(R(Te,i)),0,C(Te)),a=u[2],d=H(a);return[0,l,[Ae(o,{[he]:null,[pe]:k},he,(e=>W(d,e)&&e==a)),Ae(r,{[Ee]:null,[pe]:k,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>W(d,n)&&n==a)),u],d]})(n);return(p?se:ve)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[u((()=>Pe(void 0,null,(function*(){try{const n=(yield l(be+Le))[0][Le],t=(yield l(be+Oe))[0][Oe];n==(null!=c?c:c=n)&&t==(null!=f?f:f=t)||(e(),c=n,f=t)}catch(e){}}))),1e3*h),o((n=>m.has(n)?e():0))]),(([e,n])=>{a(e),c=f=null,r(n)}),d,E,b(m),s)};e.createExpoSqlitePersister=(e,n,t,l,o)=>we(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
+ 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=Promise,u=setInterval,a=clearInterval,d=(e,n)=>e instanceof n,s=e=>null==e,c=(e,n,t)=>s(e)?null==t?void 0:t():n(e),v=e=>n(e)==o,y=(e,n,t)=>e.slice(n,t),f=e=>e.length,p=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},h=(e,n="")=>e.join(n),E=(e,n)=>e.map(n),m=e=>0==f(e),T=(e,n)=>e.filter(n),b=(e,...n)=>e.push(...n),A=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=(e,n)=>null==e?void 0:e.delete(n),O=Object,w=O.keys,x=O.freeze,N=(e=[])=>O.fromEntries(e),g=(...e)=>O.assign({},...e),R=(e,n)=>E(O.entries(e),(([e,t])=>n(t,e))),S=e=>O.values(e),C=e=>f(w(e)),D=e=>(e=>d(e,O)&&e.constructor==O)(e)&&0==C(e),I=e=>new Map(e),F=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},M=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return E([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>s(t)?(L(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t)=>(A(e,n)||j(e,n,t()),M(e,n)),B=(e,n,t,l=j)=>(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)=>!s(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),H=e=>new Set(Array.isArray(e)||s(e)?e:[e]),W=(e,n)=>null==e?void 0:e.add(n),q="_",k="_id",J=e=>`"${e.replace(/"/g,'""')}"`;var U=Object.defineProperty,Y=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,n,t)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))z.call(n,t)&&K(e,t,n[t]);if(Y)for(var t of Y(n))G.call(n,t)&&K(e,t,n[t]);return e},Q=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=I();return[()=>Q(void 0,null,(function*(){return B(o,N(yield p(E(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,N(E(yield e("SELECT name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>j(o,n,B(_(o,n,I),t,((e,n,t)=>{t!=M(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,t)=>Q(void 0,null,(function*(){return((e,n)=>!s(M(M(o,e),n)))(n,t)?N(T(E(yield e("SELECT*FROM"+J(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!s(e)&&!D(n)))):{}})),(n,t,r,i,u,a=!1)=>Q(void 0,null,(function*(){const d=H();R(null!=r?r:{},(e=>E(w(null!=e?e:{}),(e=>W(d,e)))));const c=P(d);if(!a&&u&&m(c)&&A(o,n))return yield e("DROP TABLE"+J(n)),void j(o,n);if(m(c)||A(o,n)){const l=M(o,n),r=H(F(l));yield p([...E(c,(t=>Q(void 0,null,(function*(){L(r,t)||(yield e(`ALTER TABLE${J(n)}ADD${J(t)}`),j(l,t,""))})))),...!a&&i?E(P(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${J(n)}DROP${J(o)}`),j(l,o))})))):[]])}else yield e(`CREATE TABLE${J(n)}(${J(t)} PRIMARY KEY ON CONFLICT REPLACE${h(E(c,(e=>l+J(e))))});`),j(o,n,I([[t,""],...E(c,(e=>[e,""]))]));if(a)s(r)?yield e("DELETE FROM"+J(n)+"WHERE 1"):yield p(R(r,((l,o)=>Q(void 0,null,(function*(){s(l)?yield e("DELETE FROM"+J(n)+Z+J(t)+"=?",[o]):m(c)||(yield ne(e,n,t,w(l),[o,...S(l)]))})))));else if(m(c))A(o,n)&&(yield e("DELETE FROM"+J(n)+"WHERE 1"));else{const l=T(F(M(o,n)),(e=>e!=t)),i=[],u=[];R(null!=r?r:{},((e,n)=>{b(i,n,...E(l,(n=>null==e?void 0:e[n]))),b(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+J(n)+Z+J(t)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+J(n)+"("+J(t)+h(E(o,(e=>l+J(e))))+")VALUES"+y(r(`,(?${r(",?",f(o))})`,f(i)/(f(o)+1)),1)+"ON CONFLICT("+J(t)+")DO UPDATE SET"+h(E(o,(e=>J(e)+"=excluded."+J(e))),l),i)})),te=e=>h(E(e,(()=>"?")),l),le=JSON.parse;var oe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const re=I(),ie=I(),ue=(e,n,t,l,o,r,[i,u]=[],a=[])=>{let d,v,y,f=0,p=0;_(re,a,(()=>0)),_(ie,a,(()=>[]));const h=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>oe(void 0,null,(function*(){return yield h((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>oe(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>oe(void 0,null,(function*(){if(l){const n=l();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>oe(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)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>oe(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>oe(void 0,null,(function*(){return yield E.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();D(t)&&D(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(c(d,e.delListener),d=void 0,E),schedule:(...e)=>oe(void 0,null,(function*(){return b(M(ie,a),...e),yield oe(void 0,null,(function*(){if(!M(re,a)){for(j(re,a,1);!s((e=M(ie,a),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}j(re,a,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>u),x(E)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const de="store",se=(e,n,t,l,o,[r],i,u)=>{const[a,s,c,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield a(),le(null!=(n=null==(e=(yield s(r,k))[q])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,t;yield a(),yield c(r,k,{[q]:{[de]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>d(n,Map)?O.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var ce=(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 ve=(e,n,t,l,o,[r,i,[u,a,d]],c,v)=>{const[y,f,h,E]=ee(n,c,o),m=(e,n)=>ce(void 0,null,(function*(){return yield p($(i,((t,l)=>ce(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)=>ce(void 0,null,(function*(){return a?yield h(d,k,{[q]:e},!0,!0,n):null}));return ue(e,(()=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){yield y();const e=yield ce(void 0,null,(function*(){return N(T(yield p($(r,((e,n)=>ce(void 0,[e,n],(function*([e,n],t){return[e,yield f(t,n)]}))))),(e=>!D(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield f(d,k))[q]:{}}));return D(e)&&s(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield E((()=>ce(void 0,null,(function*(){if(yield y(),s(n)){const[n,t]=e();yield m(n),yield b(t)}else{const[e,t]=n();yield m(e,!0),yield b(t,!0)}}))))}))),t,l,o,["getDb",v],v)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",Ee="tableName",me={mode:ye,[fe]:1},Te={load:0,save:0,[Ee]:t+"_values"},be=(e,n,t,l)=>{const o=I();return R(e,((e,r)=>{const i=y(S(g(n,v(e)?{[t]:e}:e)),0,C(n));s(i[0])||l(r,i[0])||j(o,r,i)})),o};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 Pe="pragma ",Le="data_version",Oe="schema_version",we=(e,n,l,o,r,i,d,s)=>{let c,f;const[p,h,E,m]=(e=>{const n=(e=>g(me,v(e)?{storeTableName:e}:null!=e?e:{}))(e),l=n[fe];if(n.mode==ye){const{storeTableName:e=t}=n;return[1,l,[e],H(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=y(S(g(Te,i)),0,C(Te)),a=u[2],d=H(a);return[0,l,[be(o,{[he]:null,[pe]:k},he,(e=>W(d,e)&&e==a)),be(r,{[Ee]:null,[pe]:k,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>W(d,n)&&n==a)),u],d]})(n);return(p?se:ve)(e,i?(e,n)=>Ae(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[u((()=>Ae(void 0,null,(function*(){try{const n=(yield l(Pe+Le))[0][Le],t=(yield l(Pe+Oe))[0][Oe];n==(null!=c?c:c=n)&&t==(null!=f?f:f=t)||(e(),c=n,f=t)}catch(e){}}))),1e3*h),o((n=>m.has(n)?e():0))]),(([e,n])=>{a(e),c=f=null,r(n)}),d,E,P(m),s)};e.createExpoSqlitePersister=(e,n,t,l,o)=>we(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",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
+ 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(),g=c();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())}));e.createFilePersister=(e,u,c)=>((e,t,n,o,l,r,[u,a]=[],c=[])=>{let m,A,S,w=0,x=0;y(p,c,(()=>0)),y(g,c,(()=>[]));const P=e=>h(void 0,null,(function*(){return 2!=w&&(w=1,yield F.schedule((()=>h(void 0,null,(function*(){yield e(),w=0}))))),F})),F={load:(n,o)=>h(void 0,null,(function*(){return yield P((()=>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 F.stopAutoLoad(),yield F.load(n,l),x=1,S=o(((n,o)=>h(void 0,null,(function*(){if(o){const t=o();yield P((()=>h(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield P((()=>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)}}))))})))),F})),stopAutoLoad:()=>(x&&(l(S),S=void 0,x=0),F),save:t=>h(void 0,null,(function*(){return 1!=w&&(w=2,yield F.schedule((()=>h(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==r||r(e)}w=0}))))),F})),startAutoSave:()=>h(void 0,null,(function*(){return yield F.stopAutoSave().save(),m=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();d(n)&&d(o)||F.save((()=>[n,o]))})),F})),stopAutoSave:()=>{var t,n;return t=m,n=e.delListener,!!i(t)||n(t),m=void 0,F},schedule:(...e)=>h(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(v(g,c),...e),yield h(void 0,null,(function*(){if(!v(p,c)){for(f(p,c,1);!i((e=v(g,c),A=e.shift()));)try{yield A()}catch(e){null==r||r(e)}f(p,c,0)}var e})),F})),getStore:()=>e,destroy:()=>F.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(F[u]=()=>a),s(F)})(e,(()=>m(void 0,null,(function*(){return a(yield n.readFile(u,o))}))),(e=>m(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,["getFilePath",u])},"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=Promise,n=setInterval,o=clearInterval,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),i=e=>new t(e),u=e=>{return n=function*(){return t.all(e)},new Promise(((e,t)=>{var o=e=>{try{r(n.next(e))}catch(e){t(e)}},l=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((n=n.apply(void 0,null)).next())}));var n},d=(e,t)=>e.map(t),s=(e,...t)=>e.push(...t),c=Object,a=c.keys,v=c.freeze,y=e=>(e=>e instanceof c&&e.constructor==c)(e)&&0==(e=>a(e).length)(e),f=e=>new Map(e),h=(e,t)=>null==e?void 0:e.get(t),p=(e,t,n)=>{return l(n)?(r=t,null==(o=e)||o.delete(r),e):null==e?void 0:e.set(t,n);var o,r},x=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||p(e,t,n()),h(e,t)};var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const b=f(),m=f();var w=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const A=globalThis.window,P=["t","v"],S={keyPath:"k"},j=(e,t)=>w(void 0,null,(function*(){const n=((t,n)=>d(c.entries(t),(([t,n])=>L(e,"put",{k:t,v:n}))))(t);d(yield L(e,"getAllKeys"),(o=>((e,t)=>!l(((e,t)=>r(e,(e=>e[t])))(e,t)))(t,o)?0:s(n,L(e,"delete",o)))),yield u(n)})),L=(e,t,n)=>w(void 0,null,(function*(){return i(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))}));e.createIndexedDbPersister=(e,t,a=1,f)=>{const T=(e,...n)=>w(void 0,[e,...n],(function*(e,n=[],o=0){return i(((l,r)=>{const i=A.indexedDB.open(t,o?2:void 0);i.onupgradeneeded=()=>o&&d(P,(e=>{try{i.result.createObjectStore(e,S)}catch(e){}})),i.onsuccess=()=>w(void 0,null,(function*(){try{const t=i.result.transaction(P,"readwrite"),o=yield u(d(P,((o,l)=>w(void 0,null,(function*(){return yield e(t.objectStore(o),n[l])})))));i.result.close(),l(o)}catch(e){r(e)}})),i.onerror=()=>r("indexedDB.open error")}))}));return((e,t,n,o,i,u,d=[])=>{let c,a,f,w=0,A=0;x(b,d,(()=>0)),x(m,d,(()=>[]));const P=e=>g(void 0,null,(function*(){return 2!=w&&(w=1,yield S.schedule((()=>g(void 0,null,(function*(){yield e(),w=0}))))),S})),S={load:(n,o)=>g(void 0,null,(function*(){return yield P((()=>g(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},l={}){return S.stopAutoLoad(),yield S.load(n,l),A=1,f=o(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield P((()=>g(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield P((()=>g(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)}}))))})))),S})),stopAutoLoad:()=>(A&&(i(f),f=void 0,A=0),S),save:t=>g(void 0,null,(function*(){return 1!=w&&(w=2,yield S.schedule((()=>g(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==u||u(e)}w=0}))))),S})),startAutoSave:()=>g(void 0,null,(function*(){return yield S.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();y(n)&&y(o)||S.save((()=>[n,o]))})),S})),stopAutoSave:()=>(r(c,e.delListener),S),schedule:(...e)=>g(void 0,null,(function*(){return s(h(m,d),...e),yield g(void 0,null,(function*(){if(!h(b,d)){for(p(b,d,1);!l((e=h(m,d),a=e.shift()));)try{yield a()}catch(e){null==u||u(e)}p(b,d,0)}var e})),S})),getStore:()=>e,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v(S)})(e,(()=>w(void 0,null,(function*(){return yield T((e=>w(void 0,null,(function*(){return((e=[])=>c.fromEntries(e))(d(yield L(e,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>w(void 0,null,(function*(){return yield T(((e,t)=>w(void 0,null,(function*(){return yield j(e,t)}))),e(),1)}))),(e=>n(e,1e3*a)),(e=>o(e)),f)},e.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,n=setInterval,o=clearInterval,l=e=>null==e,r=(e,t,n)=>l(e)?null==n?void 0:n():t(e),i=e=>new t(e),u=e=>{return n=function*(){return t.all(e)},new Promise(((e,t)=>{var o=e=>{try{r(n.next(e))}catch(e){t(e)}},l=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((n=n.apply(void 0,null)).next())}));var n},d=(e,t)=>e.map(t),s=(e,...t)=>e.push(...t),c=Object,a=c.keys,v=c.freeze,y=e=>(e=>e instanceof c&&e.constructor==c)(e)&&0==(e=>a(e).length)(e),f=e=>new Map(e),h=(e,t)=>null==e?void 0:e.get(t),p=(e,t,n)=>{return l(n)?(r=t,null==(o=e)||o.delete(r),e):null==e?void 0:e.set(t,n);var o,r},g=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||p(e,t,n()),h(e,t)};var x=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const b=f(),m=f();var w=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const A=globalThis.window,P=["t","v"],S={keyPath:"k"},j=(e,t)=>w(void 0,null,(function*(){const n=((t,n)=>d(c.entries(t),(([t,n])=>D(e,"put",{k:t,v:n}))))(t);d(yield D(e,"getAllKeys"),(o=>((e,t)=>!l(((e,t)=>r(e,(e=>e[t])))(e,t)))(t,o)?0:s(n,D(e,"delete",o)))),yield u(n)})),D=(e,t,n)=>w(void 0,null,(function*(){return i(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))}));e.createIndexedDbPersister=(e,t,a=1,f)=>{const L=(e,...n)=>w(void 0,[e,...n],(function*(e,n=[],o=0){return i(((l,r)=>{const i=A.indexedDB.open(t,o?2:void 0);i.onupgradeneeded=()=>o&&d(P,(e=>{try{i.result.createObjectStore(e,S)}catch(e){}})),i.onsuccess=()=>w(void 0,null,(function*(){try{const t=i.result.transaction(P,"readwrite"),o=yield u(d(P,((o,l)=>w(void 0,null,(function*(){return yield e(t.objectStore(o),n[l])})))));i.result.close(),l(o)}catch(e){r(e)}})),i.onerror=()=>r("indexedDB.open error")}))}));return((e,t,n,o,i,u,[d,c]=[],a=[])=>{let f,w,A,P=0,S=0;g(b,a,(()=>0)),g(m,a,(()=>[]));const j=e=>x(void 0,null,(function*(){return 2!=P&&(P=1,yield D.schedule((()=>x(void 0,null,(function*(){yield e(),P=0}))))),D})),D={load:(n,o)=>x(void 0,null,(function*(){return yield j((()=>x(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>x(void 0,[...n],(function*(n={},l={}){return D.stopAutoLoad(),yield D.load(n,l),S=1,A=o(((n,o)=>x(void 0,null,(function*(){if(o){const t=o();yield j((()=>x(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield j((()=>x(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)}}))))})))),D})),stopAutoLoad:()=>(S&&(i(A),A=void 0,S=0),D),save:t=>x(void 0,null,(function*(){return 1!=P&&(P=2,yield D.schedule((()=>x(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==u||u(e)}P=0}))))),D})),startAutoSave:()=>x(void 0,null,(function*(){return yield D.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();y(n)&&y(o)||D.save((()=>[n,o]))})),D})),stopAutoSave:()=>(r(f,e.delListener),f=void 0,D),schedule:(...e)=>x(void 0,null,(function*(){return s(h(m,a),...e),yield x(void 0,null,(function*(){if(!h(b,a)){for(p(b,a,1);!l((e=h(m,a),w=e.shift()));)try{yield w()}catch(e){null==u||u(e)}p(b,a,0)}var e})),D})),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(D[d]=()=>c),v(D)})(e,(()=>w(void 0,null,(function*(){return yield L((e=>w(void 0,null,(function*(){return((e=[])=>c.fromEntries(e))(d(yield D(e,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>w(void 0,null,(function*(){return yield L(((e,t)=>w(void 0,null,(function*(){return yield j(e,t)}))),e(),1)}))),(e=>n(e,1e3*a)),(e=>o(e)),f,["getDbName",t])},e.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",o=t(n),r=(e,t)=>e instanceof t,l=e=>null==e,i=(e,t,n)=>l(e)?null==n?void 0:n():t(e),s=e=>t(e)==o,u=e=>e.length,a=Object,d=a.keys,c=a.freeze,v=e=>(e=>r(e,a)&&e.constructor==a)(e)&&0==(e=>u(d(e)))(e),y=e=>JSON.stringify(e,((e,t)=>r(t,Map)?a.fromEntries([...t]):t)),f=JSON.parse,p="/store",h=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),P=(e,t,n)=>{return l(n)?(r=t,null==(o=e)||o.delete(r),e):null==e?void 0:e.set(t,n);var o,r},b=(e,t,n)=>{var o,r,l;return r=t,null!=(l=null==(o=e)?void 0:o.has(r))&&l||P(e,t,n()),m(e,t)};var g=(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 O=h(),S=h();var j=Object.defineProperty,w=Object.defineProperties,x=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,T=(e,t,n)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t)=>{for(var n in t||(t={}))L.call(t,n)&&T(e,n,t[n]);if(A)for(var n of A(t))C.call(t,n)&&T(e,n,t[n]);return e},k=(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 D="message";e.createPartyKitPersister=(e,t,o,r)=>{var a;const{host:d,room:h}=t.partySocketOptions,{storeProtocol:j="https",storePath:A=p,messagePrefix:L=n}=E({},s(o)?{storeProtocol:o}:o),C=j+"://"+d+"/parties/"+(null!=(a=t.name)?a:"main")+"/"+h+A,T=e=>k(void 0,null,(function*(){return yield(yield fetch(C,(t=E({},e?{method:"PUT",body:y(e)}:{}),n={mode:"cors",cache:"no-store"},w(t,x(n))))).json();var t,n}));return((e,t,n,o,r,s,u=[])=>{let a,d,y,f=0,p=0;b(O,u,(()=>0)),b(S,u,(()=>[]));const h=e=>g(void 0,null,(function*(){return 2!=f&&(f=1,yield j.schedule((()=>g(void 0,null,(function*(){yield e(),f=0}))))),j})),j={load:(n,o)=>g(void 0,null,(function*(){return yield h((()=>g(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},r={}){return j.stopAutoLoad(),yield j.load(n,r),p=1,y=o(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield h((()=>g(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield h((()=>g(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==s||s(e)}}))))})))),j})),stopAutoLoad:()=>(p&&(r(y),y=void 0,p=0),j),save:t=>g(void 0,null,(function*(){return 1!=f&&(f=2,yield j.schedule((()=>g(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==s||s(e)}f=0}))))),j})),startAutoSave:()=>g(void 0,null,(function*(){return yield j.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||j.save((()=>[n,o]))})),j})),stopAutoSave:()=>(i(a,e.delListener),j),schedule:(...e)=>g(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(m(S,u),...e),yield g(void 0,null,(function*(){if(!m(O,u)){for(P(O,u,1);!l((e=m(S,u),d=e.shift()));)try{yield d()}catch(e){null==s||s(e)}P(O,u,0)}var e})),j})),getStore:()=>e,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c(j)})(e,(()=>k(void 0,null,(function*(){return yield T()}))),((e,n)=>k(void 0,null,(function*(){var o,r;n?t.send((o=L,r=n(),o+"s"+(s(r)?r:y(r)))):yield T(e())}))),(e=>{const n=t=>i(((e,t,n)=>{const o=u(e);return((e,t)=>e.startsWith(t))(t,e)?[t[o],f((r=t,l=o+1,r.slice(l,void 0)))]:void 0;var r,l})(L,t.data),(([t,n])=>{"s"==t&&e(void 0,(()=>n))}));return t.addEventListener(D,n),n}),(e=>{t.removeEventListener(D,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).TinyBasePersisterPartyKitClient={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",o=t(n),r=(e,t)=>e instanceof t,i=e=>null==e,l=(e,t,n)=>i(e)?null==n?void 0:n():t(e),s=e=>t(e)==o,u=e=>e.length,a=Object,d=a.keys,c=a.freeze,v=e=>(e=>r(e,a)&&e.constructor==a)(e)&&0==(e=>u(d(e)))(e),y=e=>JSON.stringify(e,((e,t)=>r(t,Map)?a.fromEntries([...t]):t)),f=JSON.parse,p="/store",h=e=>new Map(e),P=(e,t)=>null==e?void 0:e.get(t),m=(e,t,n)=>{return i(n)?(r=t,null==(o=e)||o.delete(r),e):null==e?void 0:e.set(t,n);var o,r},b=(e,t,n)=>{var o,r,i;return r=t,null!=(i=null==(o=e)?void 0:o.has(r))&&i||m(e,t,n()),P(e,t)};var g=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())}));const O=h(),S=h();var j=Object.defineProperty,w=Object.defineProperties,x=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,T=(e,t,n)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t)=>{for(var n in t||(t={}))L.call(t,n)&&T(e,n,t[n]);if(A)for(var n of A(t))C.call(t,n)&&T(e,n,t[n]);return e},k=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())}));const D="message";e.createPartyKitPersister=(e,t,o,r)=>{const{host:a,room:d}=t.partySocketOptions,{storeProtocol:h="https",storePath:j=p,messagePrefix:A=n}=E({},s(o)?{storeProtocol:o}:o),L=h+"://"+a+"/parties/"+t.name+"/"+d+j,C=e=>k(void 0,null,(function*(){return yield(yield fetch(L,(t=E({},e?{method:"PUT",body:y(e)}:{}),n={mode:"cors",cache:"no-store"},w(t,x(n))))).json();var t,n}));return((e,t,n,o,r,s,[u,a]=[],d=[])=>{let y,f,p,h=0,j=0;b(O,d,(()=>0)),b(S,d,(()=>[]));const w=e=>g(void 0,null,(function*(){return 2!=h&&(h=1,yield x.schedule((()=>g(void 0,null,(function*(){yield e(),h=0}))))),x})),x={load:(n,o)=>g(void 0,null,(function*(){return yield w((()=>g(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},r={}){return x.stopAutoLoad(),yield x.load(n,r),j=1,p=o(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield w((()=>g(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield w((()=>g(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==s||s(e)}}))))})))),x})),stopAutoLoad:()=>(j&&(r(p),p=void 0,j=0),x),save:t=>g(void 0,null,(function*(){return 1!=h&&(h=2,yield x.schedule((()=>g(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==s||s(e)}h=0}))))),x})),startAutoSave:()=>g(void 0,null,(function*(){return yield x.stopAutoSave().save(),y=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||x.save((()=>[n,o]))})),x})),stopAutoSave:()=>(l(y,e.delListener),y=void 0,x),schedule:(...e)=>g(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(P(S,d),...e),yield g(void 0,null,(function*(){if(!P(O,d)){for(m(O,d,1);!i((e=P(S,d),f=e.shift()));)try{yield f()}catch(e){null==s||s(e)}m(O,d,0)}var e})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(x[u]=()=>a),c(x)})(e,(()=>k(void 0,null,(function*(){return yield C()}))),((e,n)=>k(void 0,null,(function*(){var o,r;n?t.send((o=A,r=n(),o+"s"+(s(r)?r:y(r)))):yield C(e())}))),(e=>{const n=t=>l(((e,t,n)=>{const o=u(e);return((e,t)=>e.startsWith(t))(t,e)?[t[o],f((r=t,i=o+1,r.slice(i,void 0)))]:void 0;var r,i})(A,t.data),(([t,n])=>{"s"==t&&e(void 0,(()=>n))}));return t.addEventListener(D,n),n}),(e=>{t.removeEventListener(D,e)}),r,["getConnection",t])}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterPartyKitClient={});