tinybase 5.0.0-beta.3 → 5.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  20. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  22. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  24. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  26. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  28. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  29. package/lib/cjs/persisters.cjs +1 -1
  30. package/lib/cjs/persisters.cjs.gz +0 -0
  31. package/lib/cjs/store.cjs +1 -1
  32. package/lib/cjs/store.cjs.gz +0 -0
  33. package/lib/cjs/tinybase.cjs +1 -1
  34. package/lib/cjs/tinybase.cjs.gz +0 -0
  35. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  36. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  37. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  38. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  40. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  41. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  42. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  43. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  44. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters.cjs +1 -1
  66. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  67. package/lib/cjs-es6/store.cjs +1 -1
  68. package/lib/cjs-es6/store.cjs.gz +0 -0
  69. package/lib/cjs-es6/tinybase.cjs +1 -1
  70. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  71. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  72. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  73. package/lib/debug/mergeable-store.js +93 -52
  74. package/lib/debug/persisters/persister-automerge.js +33 -11
  75. package/lib/debug/persisters/persister-browser.js +34 -12
  76. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +33 -11
  77. package/lib/debug/persisters/persister-electric-sql.js +33 -11
  78. package/lib/debug/persisters/persister-expo-sqlite-next.js +33 -11
  79. package/lib/debug/persisters/persister-expo-sqlite.js +33 -11
  80. package/lib/debug/persisters/persister-file.js +34 -12
  81. package/lib/debug/persisters/persister-indexed-db.js +33 -11
  82. package/lib/debug/persisters/persister-partykit-client.js +33 -11
  83. package/lib/debug/persisters/persister-remote.js +33 -11
  84. package/lib/debug/persisters/persister-sqlite-wasm.js +33 -11
  85. package/lib/debug/persisters/persister-sqlite3.js +33 -11
  86. package/lib/debug/persisters/persister-yjs.js +33 -11
  87. package/lib/debug/persisters.js +33 -11
  88. package/lib/debug/store.js +14 -18
  89. package/lib/debug/tinybase.js +125 -63
  90. package/lib/debug/ui-react-dom.js +48 -30
  91. package/lib/es6/mergeable-store.js +1 -1
  92. package/lib/es6/mergeable-store.js.gz +0 -0
  93. package/lib/es6/persisters/persister-automerge.js +1 -1
  94. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  95. package/lib/es6/persisters/persister-browser.js +1 -1
  96. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  97. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  98. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  99. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  100. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  101. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  102. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  103. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  104. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  105. package/lib/es6/persisters/persister-file.js +1 -1
  106. package/lib/es6/persisters/persister-file.js.gz +0 -0
  107. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  108. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  109. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  110. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  111. package/lib/es6/persisters/persister-remote.js +1 -1
  112. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  113. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  114. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  115. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  116. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  117. package/lib/es6/persisters/persister-yjs.js +1 -1
  118. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  119. package/lib/es6/persisters.js +1 -1
  120. package/lib/es6/persisters.js.gz +0 -0
  121. package/lib/es6/store.js +1 -1
  122. package/lib/es6/store.js.gz +0 -0
  123. package/lib/es6/tinybase.js +1 -1
  124. package/lib/es6/tinybase.js.gz +0 -0
  125. package/lib/es6/ui-react-dom-debug.js +1 -1
  126. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  127. package/lib/mergeable-store.js +1 -1
  128. package/lib/mergeable-store.js.gz +0 -0
  129. package/lib/persisters/persister-automerge.js +1 -1
  130. package/lib/persisters/persister-automerge.js.gz +0 -0
  131. package/lib/persisters/persister-browser.js +1 -1
  132. package/lib/persisters/persister-browser.js.gz +0 -0
  133. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  134. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  135. package/lib/persisters/persister-electric-sql.js +1 -1
  136. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  137. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  138. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  139. package/lib/persisters/persister-expo-sqlite.js +1 -1
  140. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  141. package/lib/persisters/persister-file.js +1 -1
  142. package/lib/persisters/persister-file.js.gz +0 -0
  143. package/lib/persisters/persister-indexed-db.js +1 -1
  144. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  145. package/lib/persisters/persister-partykit-client.js +1 -1
  146. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  147. package/lib/persisters/persister-remote.js +1 -1
  148. package/lib/persisters/persister-remote.js.gz +0 -0
  149. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  150. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  151. package/lib/persisters/persister-sqlite3.js +1 -1
  152. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  153. package/lib/persisters/persister-yjs.js +1 -1
  154. package/lib/persisters/persister-yjs.js.gz +0 -0
  155. package/lib/persisters.js +1 -1
  156. package/lib/persisters.js.gz +0 -0
  157. package/lib/store.js +1 -1
  158. package/lib/store.js.gz +0 -0
  159. package/lib/tinybase.js +1 -1
  160. package/lib/tinybase.js.gz +0 -0
  161. package/lib/types/mergeable-store.d.ts +6 -0
  162. package/lib/types/persisters/persister-browser.d.ts +2 -2
  163. package/lib/types/persisters/persister-file.d.ts +1 -1
  164. package/lib/types/persisters.d.ts +18 -7
  165. package/lib/types/with-schemas/mergeable-store.d.ts +6 -0
  166. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
  167. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
  168. package/lib/types/with-schemas/persisters.d.ts +13 -6
  169. package/lib/umd/mergeable-store.js +1 -1
  170. package/lib/umd/mergeable-store.js.gz +0 -0
  171. package/lib/umd/persisters/persister-automerge.js +1 -1
  172. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  173. package/lib/umd/persisters/persister-browser.js +1 -1
  174. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  175. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  176. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  177. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  178. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  179. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  180. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  181. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  182. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  183. package/lib/umd/persisters/persister-file.js +1 -1
  184. package/lib/umd/persisters/persister-file.js.gz +0 -0
  185. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  186. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  187. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  188. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  189. package/lib/umd/persisters/persister-remote.js +1 -1
  190. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  191. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  192. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  193. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  194. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  195. package/lib/umd/persisters/persister-yjs.js +1 -1
  196. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  197. package/lib/umd/persisters.js +1 -1
  198. package/lib/umd/persisters.js.gz +0 -0
  199. package/lib/umd/store.js +1 -1
  200. package/lib/umd/store.js.gz +0 -0
  201. package/lib/umd/tinybase.js +1 -1
  202. package/lib/umd/tinybase.js.gz +0 -0
  203. package/lib/umd/ui-react-dom-debug.js +1 -1
  204. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  205. package/lib/umd-es6/mergeable-store.js +1 -1
  206. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  207. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  208. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  209. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  210. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  211. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  212. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  213. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  214. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  215. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  216. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  217. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  218. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  219. package/lib/umd-es6/persisters/persister-file.js +1 -1
  220. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  221. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  222. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  223. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  224. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  225. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  226. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  227. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  228. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  229. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  230. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  231. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  232. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  233. package/lib/umd-es6/persisters.js +1 -1
  234. package/lib/umd-es6/persisters.js.gz +0 -0
  235. package/lib/umd-es6/store.js +1 -1
  236. package/lib/umd-es6/store.js.gz +0 -0
  237. package/lib/umd-es6/tinybase.js +1 -1
  238. package/lib/umd-es6/tinybase.js.gz +0 -0
  239. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  240. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  241. package/package.json +14 -14
  242. package/readme.md +2 -2
@@ -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),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",h=u+"s",g=u+d,f="Row",T=f+"Count",b=f+d,C="Cell",p=C+d,v="Value",V=v+"s",y=v+d,S=e=>s+e,m=(e,t)=>e.startsWith(t),w=(e,t)=>e.endsWith(t),R=(e,t=0)=>e.charCodeAt(t),I=isFinite,L=e=>null==e,M=(e,t,s)=>L(e)?s?.():t(e),J=e=>e==n||e==a,E=e=>t(e)==o,H=(e,t,s)=>e.slice(t,s),x=e=>e.length,P=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),z=Object,A=e=>z.getPrototypeOf(e),W=z.entries,j=z.keys,k=z.isFrozen,D=z.freeze,N=e=>!L(e)&&M(A(e),(e=>e==z.prototype||L(A(e))),(()=>!0)),B=(e,t)=>t in e,$=(e,t)=>(delete e[t],e),q=(e,t)=>P(W(e),(([e,s])=>t(s,e))),G=(e,t)=>F(W(e),(([e,s])=>t(s,e))),K=e=>N(e)&&0==(e=>x(j(e)))(e),Q=e=>e?.size??0,U=(e,t)=>e?.has(t)??!1,X=e=>L(e)||0==Q(e),Y=e=>e.clear(),Z=(e,t)=>e?.forEach(t),_=(e,t)=>e?.delete(t),ee=e=>new Map(e),te=e=>[...e?.keys()??[]],se=(e,t)=>e?.get(t),ne=(e,t)=>Z(e,((e,s)=>t(s,e))),ae=(e,t,s)=>L(s)?(_(e,t),e):e?.set(t,s),le=(e,t,s)=>(U(e,t)||ae(e,t,s()),se(e,t)),oe=(e,t,s,n=ae)=>(G(t,((t,n)=>s(e,n,t))),ne(e,(s=>B(t,s)?0:n(e,s))),e),re=(e,t,s)=>{const n={};return Z(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},ie=(e,t,s)=>re(e,(e=>re(e,t,s)),K),ce=(e,t,s)=>re(e,(e=>ie(e,t,s)),K),de=(e,t)=>{const s=ee();return Z(e,((e,n)=>s.set(n,t?.(e)??e))),s},ue=e=>de(e,de),he=e=>de(e,ue),ge=(e,t,s,n,a=0)=>M((s?le:se)(e,t[a],a>x(t)-2?s:ee),(l=>{if(a>x(t)-2)return n?.(l)&&ae(e,t[a]),l;const o=ge(l,t,s,n,a+1);return X(l)&&ae(e,t[a]),o})),fe=()=>[s,void 0],Te=()=>[s,ee()],be=([e,t],s)=>[e,s(t,e)],Ce=(e,t)=>be(e,(e=>re(e,t))),pe=(e,t,s,n)=>q(e,((e,a)=>ve(e,le(t,a,Te),s[a]=((e=[])=>z.fromEntries(e))(),n))),ve=([e,t],s,n,a)=>{e>s[0]&&(s[0]=e),a(t,s[1],n)},Ve=(e,t,s)=>q(e,(([e,n],a)=>{const l=le(t,a,fe);e>l[0]&&(l[0]=e,l[1]=s[a]=n)})),ye=e=>new Set(Array.isArray(e)||L(e)?e:[e]),Se=(e,t)=>e?.add(t),me=/^\d+$/,we=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{me.test(t)&&x(e)<1e3&&O(e,t)}]},Re=e=>[e,e],Ie=()=>[ee(),ee()],Le=e=>[...e],Me=([e,t])=>e===t,Je=e=>{const s=t(e);return J(s)||s==l&&I(e)?s:void 0},Ee=(e,t,s,n,a)=>L(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),He=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),xe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),Pe=JSON.parse,Fe=(e,t,s)=>L(e)||!N(e)||K(e)||k(e)?(s?.(),!1):(G(e,((s,n)=>{t(s,n)||$(e,n)})),!K(e)),Oe=(e,t,s)=>ae(e,t,se(e,t)==-s?void 0:s),ze=()=>{let e,t,n,a=!1,o=!1,d=!1,m=!1,w=0;const R=ee(),I=ee(),z=ee(),A=ee(),W=ee(),j=ee(),k=ee(),N=ee(),q=ee(),fe=ee(),Te=ee(),be=ee(),Ce=ee(),pe=ee(),ve=ye(),Ve=ee(),me=ee(),Ae=ee(),We=ee(),je=Ie(),ke=Ie(),De=Ie(),Ne=Ie(),Be=Ie(),$e=Ie(),qe=Ie(),Ge=Ie(),Ke=Ie(),Qe=Ie(),Ue=Ie(),Xe=Ie(),Ye=Ie(),Ze=Ie(),_e=Ie(),et=Ie(),tt=Ie(),st=Ie(),nt=Ie(),at=Ie(),lt=Ie(),ot=Ie(),rt=ee(),it=Ie(),[ct,dt,ut,ht]=(e=>{let t;const[n,a]=we(),l=ee();return[(e,a,o,r=[],i=(()=>[]))=>{t??=xs;const c=n(1);return ae(l,c,[e,a,o,r,i]),Se(ge(a,o??[s],ye),c),c},(e,n,...a)=>P(((e,t=[s])=>{const n=[],a=(e,s)=>s==x(t)?O(n,e):null===t[s]?Z(e,(e=>a(e,s+1))):P([t[s],null],(t=>a(se(e,t),s+1)));return a(e,0),n})(e,n),(e=>Z(e,(e=>se(l,e)[0](t,...n??[],...a))))),e=>M(se(l,e),(([,t,n])=>(ge(t,n??[s],void 0,(t=>(_(t,e),X(t)?1:0))),ae(l,e),a(e),n))),e=>M(se(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=x(o);r==x(s)?e(t,...o,...a(o)):L(s[r])?P(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),gt=e=>{if(!Fe(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!J(t)&&t!=l||(Je(e[i])!=t&&$(e,i),0))},ft=(t,s)=>(!e||U(Te,s)||$t(s))&&Fe(t,((e,t)=>Tt(s,t,e)),(()=>$t(s))),Tt=(e,t,s,n)=>Fe(n?s:vt(s,e,t),((n,a)=>M(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>$t(e,t))),bt=(t,s,n,a)=>e?M(se(se(Te,t),n),(e=>Je(a)!=e[r]?$t(t,s,n,a,e[i]):a),(()=>$t(t,s,n,a))):L(Je(a))?$t(t,s,n,a):a,Ct=(e,t)=>Fe(t?e:Vt(e),((t,s)=>M(pt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),pt=(e,s)=>t?M(se(Ce,e),(t=>Je(s)!=t[r]?qt(e,s,t[i]):s),(()=>qt(e,s))):L(Je(s))?qt(e,s):s,vt=(e,t,s)=>(M(se(be,t),(([n,a])=>{Z(n,((t,s)=>{B(e,s)||(e[s]=t)})),Z(a,(n=>{B(e,n)||$t(t,s,n)}))})),e),Vt=e=>(t&&(Z(pe,((t,s)=>{B(e,s)||(e[s]=t)})),Z(ve,(t=>{B(e,t)||qt(t)}))),e),yt=e=>oe(Te,e,((e,t,s)=>{const n=ee(),a=ye();oe(le(Te,t,ee),s,((e,t,s)=>{ae(e,t,s),M(s[i],(e=>ae(n,t,e)),(()=>Se(a,t)))})),ae(be,t,[n,a])}),((e,t)=>{ae(Te,t),ae(be,t)})),St=e=>oe(Ce,e,((e,t,s)=>{ae(Ce,t,s),M(s[i],(e=>ae(pe,t,e)),(()=>Se(ve,t)))}),((e,t)=>{ae(Ce,t),ae(pe,t),_(ve,t)})),mt=e=>K(e)?ms():ps(e),wt=e=>oe(Ae,e,((e,t,s)=>Rt(t,s)),((e,t)=>Ft(t))),Rt=(e,t)=>oe(le(Ae,e,(()=>(Wt(e,1),ae(Ve,e,we()),ae(me,e,ee()),ee()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Ot(e,t,s))),It=(e,t,s,n,a)=>oe(le(t,s,(()=>(jt(e,s,1),ee()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>zt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{U(s,n)||kt(e,t,n,1);const l=se(s,n);a!==l&&(Dt(e,t,n,l,a),ae(s,n,a))},Mt=(e,t,s,n,a)=>M(se(t,s),(t=>Lt(e,s,t,n,a)),(()=>It(e,t,s,vt({[n]:a},e,s)))),Jt=e=>K(e)?Is():vs(e),Et=e=>oe(We,e,((e,t,s)=>Ht(t,s)),((e,t)=>At(t))),Ht=(e,t)=>{U(We,e)||Nt(e,1);const s=se(We,e);t!==s&&(Bt(e,s,t),ae(We,e,t))},xt=(e,t)=>{const[s]=se(Ve,e),n=s(t);return U(se(Ae,e),n)?xt(e,t):n},Pt=e=>se(Ae,e)??Rt(e,{}),Ft=e=>Rt(e,{}),Ot=(e,t,s)=>{const[,n]=se(Ve,e);n(s),It(e,t,s,{},!0)},zt=(e,t,s,n,a,l)=>{const o=se(se(be,e)?.[0],a);if(!L(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{Dt(e,s,t,se(n,t)),kt(e,s,t,-1),ae(n,t)};L(o)?r(a):ne(n,r),X(n)&&(jt(e,s,-1),X(ae(t,s))&&(Wt(e,-1),ae(Ae,e),ae(Ve,e),ae(me,e)))},At=e=>{const t=se(pe,e);if(!L(t))return Ht(e,t);Bt(e,se(We,e)),Nt(e,-1),ae(We,e)},Wt=(e,t)=>Oe(R,e,t),jt=(e,t,s)=>Oe(le(A,e,ee),t,s)&&ae(z,e,le(z,e,(()=>0))+s),kt=(e,t,s,n)=>{const a=se(me,e),l=se(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&Oe(le(I,e,ee),s,n),ae(a,s,l!=-n?l+n:null),Oe(le(le(W,e,ee),t,ee),s,n)},Dt=(e,t,s,n,a)=>le(le(le(j,e,ee),t,ee),s,(()=>[n,0]))[1]=a,Nt=(e,t)=>Oe(k,e,t),Bt=(e,t,s)=>le(N,e,(()=>[t,0]))[1]=s,$t=(e,t,s,n,a)=>(O(le(le(le(q,e,ee),t,ee),s,(()=>[])),n),a),qt=(e,t,s)=>(O(le(fe,e,(()=>[])),t),s),Gt=(e,t,s)=>M(se(se(se(j,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Re(rs(e,t,s))])),Kt=e=>M(se(N,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Re(ds(e))])),Qt=e=>X(q)||X(et[e])?0:Z(e?he(q):q,((t,s)=>Z(t,((t,n)=>Z(t,((t,a)=>dt(et[e],[s,n,a],t))))))),Ut=e=>X(fe)||X(tt[e])?0:Z(e?de(fe):fe,((t,s)=>dt(tt[e],[s],t))),Xt=(e,t,s,n)=>{if(!X(e))return dt(t,n,(()=>re(e))),ne(e,((e,t)=>dt(s,[...n??[],e],1==t))),1},Yt=e=>{const t=us();t!=d&&dt(je[e],void 0,t);const s=X(Qe[e]),n=X(Ye[e])&&X(Ze[e])&&X(Ke[e])&&X(Ue[e])&&X($e[e])&&X(qe[e])&&X(Ge[e])&&s&&X(De[e])&&X(Ne[e]),a=X(_e[e])&&X(Xe[e])&&X(Be[e])&&X(ke[e]);if(!n||!a){const t=e?[de(R),ue(I),de(z),ue(A),he(W),he(j)]:[R,I,z,A,W,j];if(!n){Xt(t[0],De[e],Ne[e]),Z(t[1],((t,s)=>Xt(t,$e[e],qe[e],[s]))),Z(t[2],((t,s)=>{0!=t&&dt(Ge[e],[s],ns(s))}));const n=ye();Z(t[3],((t,a)=>{Xt(t,Ke[e],Ue[e],[a])&&!s&&(dt(Qe[e],[a,null]),Se(n,a))})),s||Z(t[5],((t,s)=>{if(!U(n,s)){const n=ye();Z(t,(e=>Z(e,(([t,s],a)=>s!==t?Se(n,a):_(e,a))))),Z(n,(t=>dt(Qe[e],[s,t])))}})),Z(t[4],((t,s)=>Z(t,((t,n)=>Xt(t,Ye[e],Ze[e],[s,n])))))}if(!a){let s;Z(t[5],((t,n)=>{let a;Z(t,((t,l)=>{let o;Z(t,(([t,r],i)=>{r!==t&&(dt(_e[e],[n,l,i],r,t,Gt),s=a=o=1)})),o&&dt(Xe[e],[n,l],Gt)})),a&&dt(Be[e],[n],Gt)})),s&&dt(ke[e],void 0,Gt)}}},Zt=e=>{const t=bs();t!=m&&dt(st[e],void 0,t);const s=X(at[e])&&X(lt[e]),n=X(ot[e])&&X(nt[e]);if(!s||!n){const t=e?[de(k),de(N)]:[k,N];if(s||Xt(t[0],at[e],lt[e]),!n){let s;Z(t[1],(([t,n],a)=>{n!==t&&(dt(ot[e],[a],n,t,Kt),s=1)})),s&&dt(nt[e],void 0,Kt)}}},_t=(e,...t)=>(Js((()=>e(...F(t,S)))),xs),es=()=>ce(Ae),ts=()=>te(Ae),ss=e=>te(se(me,S(e))),ns=e=>Q(se(Ae,S(e))),as=e=>te(se(Ae,S(e))),ls=(e,t,s,n=0,a)=>{return F(H((o=se(Ae,S(e)),r=(e,s)=>[L(t)?s:se(e,S(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,L(a)?a:n+a),(([,e])=>e));var l,o,r},os=(e,t)=>te(se(se(Ae,S(e)),S(t))),rs=(e,t,s)=>se(se(se(Ae,S(e)),S(t)),S(s)),is=()=>re(We),cs=()=>te(We),ds=e=>se(We,S(e)),us=()=>!X(Ae),hs=e=>U(Ae,S(e)),gs=(e,t)=>U(se(me,S(e)),S(t)),fs=(e,t)=>U(se(Ae,S(e)),S(t)),Ts=(e,t,s)=>U(se(se(Ae,S(e)),S(t)),S(s)),bs=()=>!X(We),Cs=e=>U(We,S(e)),ps=e=>_t((()=>(e=>Fe(e,ft,$t))(e)?wt(e):0)),vs=e=>_t((()=>Ct(e)?Et(e):0)),Vs=e=>{try{mt(Pe(e))}catch{}return xs},ys=t=>_t((()=>{if((e=Fe(t,(e=>Fe(e,gt))))&&(yt(t),!X(Ae))){const e=es();ms(),ps(e)}})),Ss=e=>_t((()=>{if(t=(e=>Fe(e,gt))(e)){const s=is();Ms(),Is(),t=!0,St(e),vs(s)}})),ms=()=>_t((()=>wt({}))),ws=e=>_t((e=>U(Ae,e)?Ft(e):0),e),Rs=(e,t)=>_t(((e,t)=>M(se(Ae,e),(s=>U(s,t)?Ot(e,s,t):0))),e,t),Is=()=>_t((()=>Et({}))),Ls=()=>_t((()=>{yt({}),e=!1})),Ms=()=>_t((()=>{St({}),t=!1})),Js=(e,t)=>{if(-1!=w){Es();const s=e();return Hs(t),s}},Es=()=>(-1!=w&&w++,1==w&&dt(rt,void 0),xs),Hs=e=>(w>0&&(w--,0==w&&(a=!X(j),o=!X(N),w=1,Qt(1),a&&Yt(1),Ut(1),o&&Zt(1),e?.(xs)&&(Z(j,((e,t)=>Z(e,((e,s)=>Z(e,(([e],n)=>Ee(xs,t,s,n,e))))))),Z(N,(([e],t)=>He(xs,t,e))),a=o=!1),dt(it[0],void 0),w=-1,Qt(0),a&&Yt(0),Ut(0),o&&Zt(0),n?.(xs),dt(it[1],void 0),w=0,a=o=!1,d=us(),m=bs(),P([R,I,z,A,W,j,q,k,N,fe],Y))),xs),xs={getContent:()=>[es(),is()],getTables:es,getTableIds:ts,getTable:e=>ie(se(Ae,S(e))),getTableCellIds:ss,getRowCount:ns,getRowIds:as,getSortedRowIds:ls,getRow:(e,t)=>re(se(se(Ae,S(e)),S(t))),getCellIds:os,getCell:rs,getValues:is,getValueIds:cs,getValue:ds,hasTables:us,hasTable:hs,hasTableCell:gs,hasRow:fs,hasCell:Ts,hasValues:bs,hasValue:Cs,getTablesJson:()=>xe(Ae),getValuesJson:()=>xe(We),getJson:()=>xe([Ae,We]),getTablesSchemaJson:()=>xe(Te),getValuesSchemaJson:()=>xe(Ce),getSchemaJson:()=>xe([Te,Ce]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>_t((()=>{(K(e)?ms:ps)(e),(K(t)?Is:vs)(t)})),setTables:ps,setTable:(e,t)=>_t((e=>ft(t,e)?Rt(e,t):0),e),setRow:(e,t,s)=>_t(((e,t)=>Tt(e,t,s)?It(e,Pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Js((()=>{let n;return Tt(e,n,t)&&(e=S(e),It(e,Pt(e),n=xt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>_t(((e,t)=>{if(Tt(e,t,s,1)){const n=Pt(e);G(s,((s,a)=>Mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>_t(((e,t,s)=>M(bt(e,t,s,E(n)?n(rs(e,t,s)):n),(n=>Mt(e,Pt(e),t,s,n)))),e,t,s),setValues:vs,setPartialValues:e=>_t((()=>Ct(e,1)?G(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>_t((e=>M(pt(e,E(t)?t(ds(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>_t((()=>{G(e[0],((e,t)=>L(e)?ws(t):G(e,((e,s)=>L(e)?Rs(t,s):G(e,((e,n)=>Ee(xs,t,s,n,e))))))),G(e[1],((e,t)=>He(xs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{Jt(Pe(e))}catch{}return xs},setJson:e=>_t((()=>{try{const[t,s]=Pe(e);mt(t),Jt(s)}catch{Vs(e)}})),setTablesSchema:ys,setValuesSchema:Ss,setSchema:(e,t)=>_t((()=>{ys(e),Ss(t)})),delTables:ms,delTable:ws,delRow:Rs,delCell:(e,t,s,n)=>_t(((e,t,s)=>M(se(Ae,e),(a=>M(se(a,t),(l=>U(l,s)?zt(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>_t((e=>U(We,e)?At(e):0),e),delTablesSchema:Ls,delValuesSchema:Ms,delSchema:()=>_t((()=>{Ls(),Ms()})),transaction:Js,startTransaction:Es,getTransactionChanges:()=>[re(j,((e,t)=>-1===se(R,t)?void 0:re(e,((e,s)=>-1===se(se(A,t),s)?void 0:re(e,(([,e])=>e),((e,t)=>Me(t)))),K)),K),re(N,(([,e])=>e),((e,t)=>Me(t)))],getTransactionLog:()=>[a,o,ce(j,Le,Me),ce(q),re(N,Le,Me),re(fe),re(R),ie(A),ce(W),re(k)],finishTransaction:Hs,forEachTable:e=>Z(Ae,((t,s)=>e(s,(e=>Z(t,((t,s)=>e(s,(e=>ne(t,e))))))))),forEachTableCell:(e,t)=>ne(se(me,S(e)),t),forEachRow:(e,t)=>Z(se(Ae,S(e)),((e,s)=>t(s,(t=>ne(e,t))))),forEachCell:(e,t,s)=>ne(se(se(Ae,S(e)),S(t)),s),forEachValue:e=>ne(We,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ls(e,t,s,n,a);return ct((()=>{const o=ls(e,t,s,n,a);var i,c,d;c=r,x(i=o)===x(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(xs,e,t,s,n,a,r))}),Qe[o?1:0],[e,t],[ts])},addStartTransactionListener:e=>ct(e,rt),addWillFinishTransactionListener:e=>ct(e,it[0]),addDidFinishTransactionListener:e=>ct(e,it[1]),callListener:e=>(ht(e),xs),delListener:e=>(ut(e),xs),getListenerStats:()=>({}),createStore:ze,addListener:ct,callListeners:dt,addPostTransactionListener:e=>{n=e}};return G({[c+h]:[0,je,[],()=>[us()]],[h]:[0,ke],[g]:[0,De],[c+u]:[1,Ne,[ts],e=>[hs(...e)]],[u]:[1,Be,[ts]],[u+p]:[1,$e,[ts]],[c+u+C]:[2,qe,[ts,ss],e=>[gs(...e)]],[T]:[1,Ge,[ts]],[b]:[1,Ke,[ts]],[c+f]:[2,Ue,[ts,as],e=>[fs(...e)]],[f]:[2,Xe,[ts,as]],[p]:[2,Ye,[ts,as]],[c+C]:[3,Ze,[ts,as,os],e=>[Ts(...e)]],[C]:[3,_e,[ts,as,os],e=>Re(rs(...e))],InvalidCell:[3,et],[c+V]:[0,st,[],()=>[bs()]],[V]:[0,nt],[y]:[0,at],[c+v]:[1,lt,[cs],e=>[Cs(...e)]],[v]:[1,ot,[cs],e=>Re(ds(e[0]))],InvalidValue:[1,tt]},(([e,t,s,n],a)=>{xs["add"+a+"Listener"]=(...a)=>ct(a[e],t[a[e+1]?1:0],e>0?H(a,0,e):void 0,s,n)})),D(xs)},Ae=2**36,We=2**30,je=2**24,ke=2**18,De=4096,Ne=64,Be=e=>String.fromCharCode(48+(63&e)),$e=(e,t)=>R(e,t)-48,qe={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Ge=()=>[s,[Te(),Te()]];e.createMergeableStore=e=>{let t=1,s=Ge();const[n,a]=(e=>{let t=0,s=0;const n=(a=(e,t)=>(e<<5)+e^R(t),((e,t="",s)=>e.split(t,s))(e).reduce(a,5381)>>>0);var a;const l=e=>{const n=t,[a,l]=L(e)?[0,0]:[$e(o=e,0)*Ae+$e(o,1)*We+$e(o,2)*je+$e(o,3)*ke+$e(o,4)*De+$e(o,5)*Ne+$e(o,6),$e(o,7)*ke+$e(o,8)*De+$e(o,9)*Ne+$e(o,10),$e(o,11)*je+$e(o,12)*ke+$e(o,13)*De+$e(o,14)*Ne+$e(o,15)];var o;t=Math.max(n,a,Date.now()),s=t==n?t==a?Math.max(s,l):s:t==a?l:-1};return[()=>{return l(),a=++s,o=n,Be((e=t)/Ae)+Be(e/We)+Be(e/je)+Be(e/ke)+Be(e/De)+Be(e/Ne)+Be(e)+Be(a/ke)+Be(a/De)+Be(a/Ne)+Be(a)+Be(o/je)+Be(o/ke)+Be(o/De)+Be(o/Ne)+Be(o);var e,a,o},l]})(e),l=ze(),o=e=>{const s=t;t=0,e(),t=s},r=e=>{const t=[{},{}];return a(e[0]),ve(e,s,t,(([e,t],[s,n],[a,l])=>{ve(e,s,a,((e,t,s)=>pe(e,t,s,((e,t,s)=>pe(e,t,s,Ve))))),ve(t,n,l,Ve)})),o((()=>l.applyChanges(t))),i},i={getMergeableContent:()=>be(s,(([e,t])=>[Ce(e,(e=>Ce(e,(e=>Ce(e,Le))))),Ce(t,Le)])),setMergeableContent:e=>(o((()=>l.transaction((()=>{l.delTables().delValues(),s=Ge()})))),r(e),i),applyMergeableChanges:r,merge:e=>{const t=i.getMergeableContent(),s=e.getMergeableContent();return e.applyMergeableChanges(t),r(s)}};return l.addPostTransactionListener((()=>{if(t){const e=n(),[t,a,o,,r]=l.getTransactionLog(),[i,c]=s[1];s[0]=e,t&&(i[0]=e,G(o,((t,s)=>{const n=le(i[1],s,fe),a=n[1]??=ee();n[0]=e,G(t,((t,s)=>{const n=le(a,s,fe),l=n[1]??=ee();n[0]=e,G(t,(([,t],s)=>ae(l,s,[e,t])))}))}))),a&&(c[0]=e,G(r,(([,t],s)=>{ae(c[1],s,[e,t])})))}})),G(l,((e,t)=>i[t]=m(t,"set")||m(t,"del")||m(t,"apply")||w(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),i):m(t,"add")&&w(t,"Listener")?(...s)=>{const n=qe[H(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(i,...t),e(...s)}:e)),D(i)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",c="default",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",b=f+"Count",T=f+d,C="Cell",p=C+d,v="Value",V=v+"s",y=v+d,S=e=>s+e,w=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),I=(e,t=0)=>e.charCodeAt(t),R=Math.max,L=isFinite,M=e=>null==e,J=(e,t,s)=>M(e)?s?.():t(e),E=e=>e==n||e==a,H=e=>t(e)==o,x=(e,t,s)=>e.slice(t,s),F=e=>e.length,O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),A=(e,...t)=>e.push(...t),P=Object,W=e=>P.getPrototypeOf(e),j=P.entries,k=P.keys,D=P.isFrozen,N=P.freeze,B=e=>!M(e)&&J(W(e),(e=>e==P.prototype||M(W(e))),(()=>!0)),$=(e=[])=>P.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>O(j(e),(([e,s])=>t(s,e))),Q=(e,t)=>z(j(e),(([e,s])=>t(s,e))),U=e=>B(e)&&0==(e=>F(k(e)))(e),X=e=>e?.size??0,Y=(e,t)=>e?.has(t)??!1,Z=e=>M(e)||0==X(e),_=e=>e.clear(),ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),se=e=>new Map(e),ne=e=>[...e?.keys()??[]],ae=(e,t)=>e?.get(t),le=(e,t)=>ee(e,((e,s)=>t(s,e))),oe=(e,t,s)=>M(s)?(te(e,t),e):e?.set(t,s),re=(e,t,s)=>(Y(e,t)||oe(e,t,s()),ae(e,t)),ce=(e,t,s,n=oe)=>(Q(t,((t,n)=>s(e,n,t))),le(e,(s=>q(t,s)?0:n(e,s))),e),ie=(e,t,s)=>{const n={};return ee(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},de=(e,t,s)=>ie(e,(e=>ie(e,t,s)),U),ue=(e,t,s)=>ie(e,(e=>de(e,t,s)),U),ge=(e,t)=>{const s=se();return ee(e,((e,n)=>s.set(n,t?.(e)??e))),s},he=e=>ge(e,ge),fe=e=>ge(e,he),be=(e,t,s,n,a=0)=>J((s?re:ae)(e,t[a],a>F(t)-2?s:se),(l=>{if(a>F(t)-2)return n?.(l)&&oe(e,t[a]),l;const o=be(l,t,s,n,a+1);return Z(l)&&oe(e,t[a]),o})),Te=(e="",t)=>[e,t],Ce=(e="")=>Te(e,se()),pe=e=>Te(e,$()),ve=([e,t],s)=>[e,s(t,e)],Ve=([e,t])=>[e,t],ye=(e,t)=>ve(e,(e=>ie(e,t))),Se=(e,t,s,n)=>K(e,((e,a)=>we(e,re(t,a,Ce),s[a]=$(),n))),we=([e,t],s,n,a)=>{e>s[0]&&(s[0]=e),a(t,s[1],n)},me=(e,t,s)=>K(e,(([e,n],a)=>{const l=re(t,a,Te);e>l[0]&&(l[0]=e,l[1]=s[a]=n)})),Ie=e=>new Set(Array.isArray(e)||M(e)?e:[e]),Re=(e,t)=>e?.add(t),Le=/^\d+$/,Me=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{Le.test(t)&&F(e)<1e3&&A(e,t)}]},Je=e=>[e,e],Ee=()=>[se(),se()],He=e=>[...e],xe=([e,t])=>e===t,Fe=e=>{const s=t(e);return E(s)||s==l&&L(e)?s:void 0},Oe=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ze=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),Ae=e=>JSON.stringify(e,((e,t)=>t instanceof Map?P.fromEntries([...t]):t)),Pe=JSON.parse,We=(e,t,s)=>M(e)||!B(e)||U(e)||D(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!U(e)),je=(e,t,s)=>oe(e,t,ae(e,t)==-s?void 0:s),ke=()=>{let e,t,n=!1,a=!1,o=0,d=[];const w=se(),m=se(),I=se(),R=se(),L=se(),P=se(),W=se(),j=se(),k=se(),D=se(),B=se(),$=se(),K=se(),Te=se(),Ce=Ie(),pe=se(),ve=se(),Ve=se(),ye=se(),Se=Ee(),we=Ee(),me=Ee(),Le=Ee(),De=Ee(),Ne=Ee(),Be=Ee(),$e=Ee(),qe=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),nt=Ee(),at=Ee(),lt=se(),ot=Ee(),[rt,ct,it,dt]=(e=>{let t;const[n,a]=Me(),l=se();return[(e,a,o,r=[],c=(()=>[]))=>{t??=Es;const i=n(1);return oe(l,i,[e,a,o,r,c]),Re(be(a,o??[s],Ie),i),i},(e,n,...a)=>O(((e,t=[s])=>{const n=[],a=(e,s)=>s==F(t)?A(n,e):null===t[s]?ee(e,(e=>a(e,s+1))):O([t[s],null],(t=>a(ae(e,t),s+1)));return a(e,0),n})(e,n),(e=>ee(e,(e=>ae(l,e)[0](t,...n??[],...a))))),e=>J(ae(l,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(te(t,e),Z(t)?1:0))),oe(l,e),a(e),n))),e=>J(ae(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=F(o);r==F(s)?e(t,...o,...a(o)):M(s[r])?O(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!We(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!E(t)&&t!=l||(Fe(e[c])!=t&&G(e,c),0))},gt=(t,s)=>(!e||Y(B,s)||Nt(s))&&We(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>We(n?s:Ct(s,e,t),((n,a)=>J(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?J(ae(ae(B,t),n),(e=>Fe(a)!=e[r]?Nt(t,s,n,a,e[c]):a),(()=>Nt(t,s,n,a))):M(Fe(a))?Nt(t,s,n,a):a,bt=(e,t)=>We(t?e:pt(e),((t,s)=>J(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Tt=(e,s)=>t?J(ae(K,e),(t=>Fe(s)!=t[r]?Bt(e,s,t[c]):s),(()=>Bt(e,s))):M(Fe(s))?Bt(e,s):s,Ct=(e,t,s)=>(J(ae($,t),(([n,a])=>{ee(n,((t,s)=>{q(e,s)||(e[s]=t)})),ee(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),pt=e=>(t&&(ee(Te,((t,s)=>{q(e,s)||(e[s]=t)})),ee(Ce,(t=>{q(e,t)||Bt(t)}))),e),vt=e=>ce(B,e,((e,t,s)=>{const n=se(),a=Ie();ce(re(B,t,se),s,((e,t,s)=>{oe(e,t,s),J(s[c],(e=>oe(n,t,e)),(()=>Re(a,t)))})),oe($,t,[n,a])}),((e,t)=>{oe(B,t),oe($,t)})),Vt=e=>ce(K,e,((e,t,s)=>{oe(K,t,s),J(s[c],(e=>oe(Te,t,e)),(()=>Re(Ce,t)))}),((e,t)=>{oe(K,t),oe(Te,t),te(Ce,t)})),yt=e=>U(e)?ys():Ts(e),St=e=>ce(Ve,e,((e,t,s)=>wt(t,s)),((e,t)=>xt(t))),wt=(e,t)=>ce(re(Ve,e,(()=>(At(e,1),oe(pe,e,Me()),oe(ve,e,se()),se()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>Ft(e,t,s))),mt=(e,t,s,n,a)=>ce(re(t,s,(()=>(Pt(e,s,1),se()))),n,((t,n,a)=>It(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),It=(e,t,s,n,a)=>{Y(s,n)||Wt(e,t,n,1);const l=ae(s,n);a!==l&&(jt(e,t,n,l,a),oe(s,n,a))},Rt=(e,t,s,n,a)=>J(ae(t,s),(t=>It(e,s,t,n,a)),(()=>mt(e,t,s,Ct({[n]:a},e,s)))),Lt=e=>U(e)?ms():Cs(e),Mt=e=>ce(ye,e,((e,t,s)=>Jt(t,s)),((e,t)=>zt(t))),Jt=(e,t)=>{Y(ye,e)||kt(e,1);const s=ae(ye,e);t!==s&&(Dt(e,s,t),oe(ye,e,t))},Et=(e,t)=>{const[s]=ae(pe,e),n=s(t);return Y(ae(Ve,e),n)?Et(e,t):n},Ht=e=>ae(Ve,e)??wt(e,{}),xt=e=>wt(e,{}),Ft=(e,t,s)=>{const[,n]=ae(pe,e);n(s),mt(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const o=ae(ae($,e)?.[0],a);if(!M(o)&&!l)return It(e,s,n,a,o);const r=t=>{jt(e,s,t,ae(n,t)),Wt(e,s,t,-1),oe(n,t)};M(o)?r(a):le(n,r),Z(n)&&(Pt(e,s,-1),Z(oe(t,s))&&(At(e,-1),oe(Ve,e),oe(pe,e),oe(ve,e)))},zt=e=>{const t=ae(Te,e);if(!M(t))return Jt(e,t);Dt(e,ae(ye,e)),kt(e,-1),oe(ye,e)},At=(e,t)=>je(w,e,t),Pt=(e,t,s)=>je(re(R,e,se),t,s)&&oe(I,e,re(I,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ae(ve,e),l=ae(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&je(re(m,e,se),s,n),oe(a,s,l!=-n?l+n:null),je(re(re(L,e,se),t,se),s,n)},jt=(e,t,s,n,a)=>re(re(re(P,e,se),t,se),s,(()=>[n,0]))[1]=a,kt=(e,t)=>je(W,e,t),Dt=(e,t,s)=>re(j,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(A(re(re(re(k,e,se),t,se),s,(()=>[])),n),a),Bt=(e,t,s)=>(A(re(D,e,(()=>[])),t),s),$t=(e,t,s)=>J(ae(ae(ae(P,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(ls(e,t,s))])),qt=e=>J(ae(j,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(cs(e))])),Gt=e=>Z(k)||Z(Ze[e])?0:ee(e?fe(k):k,((t,s)=>ee(t,((t,n)=>ee(t,((t,a)=>ct(Ze[e],[s,n,a],t))))))),Kt=e=>Z(D)||Z(_e[e])?0:ee(e?ge(D):D,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!Z(e))return ct(t,n,(()=>ie(e))),le(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Ut=e=>{const t=is();t!=n&&ct(Se[e],void 0,t);const s=Z(Ge[e]),a=Z(Ue[e])&&Z(Xe[e])&&Z(qe[e])&&Z(Ke[e])&&Z(Ne[e])&&Z(Be[e])&&Z($e[e])&&s&&Z(me[e])&&Z(Le[e]),l=Z(Ye[e])&&Z(Qe[e])&&Z(De[e])&&Z(we[e]);if(!a||!l){const t=e?[ge(w),he(m),ge(I),he(R),fe(L),fe(P)]:[w,m,I,R,L,P];if(!a){Qt(t[0],me[e],Le[e]),ee(t[1],((t,s)=>Qt(t,Ne[e],Be[e],[s]))),ee(t[2],((t,s)=>{0!=t&&ct($e[e],[s],ts(s))}));const n=Ie();ee(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(ct(Ge[e],[a,null]),Re(n,a))})),s||ee(t[5],((t,s)=>{if(!Y(n,s)){const n=Ie();ee(t,(e=>ee(e,(([t,s],a)=>s!==t?Re(n,a):te(e,a))))),ee(n,(t=>ct(Ge[e],[s,t])))}})),ee(t[4],((t,s)=>ee(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ee(t[5],((t,n)=>{let a;ee(t,((t,l)=>{let o;ee(t,(([t,r],c)=>{r!==t&&(ct(Ye[e],[n,l,c],r,t,$t),s=a=o=1)})),o&&ct(Qe[e],[n,l],$t)})),a&&ct(De[e],[n],$t)})),s&&ct(we[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&ct(et[e],void 0,t);const s=Z(st[e])&&Z(nt[e]),n=Z(at[e])&&Z(tt[e]);if(!s||!n){const t=e?[ge(W),ge(j)]:[W,j];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ee(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,qt),s=1)})),s&&ct(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Ls((()=>e(...z(t,S)))),Es),Zt=()=>ue(Ve),_t=()=>ne(Ve),es=e=>ne(ae(ve,S(e))),ts=e=>X(ae(Ve,S(e))),ss=e=>ne(ae(Ve,S(e))),ns=(e,t,s,n=0,a)=>{return z(x((o=ae(Ve,S(e)),r=(e,s)=>[M(t)?s:ae(e,S(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,M(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>ne(ae(ae(Ve,S(e)),S(t))),ls=(e,t,s)=>ae(ae(ae(Ve,S(e)),S(t)),S(s)),os=()=>ie(ye),rs=()=>ne(ye),cs=e=>ae(ye,S(e)),is=()=>!Z(Ve),ds=e=>Y(Ve,S(e)),us=(e,t)=>Y(ae(ve,S(e)),S(t)),gs=(e,t)=>Y(ae(Ve,S(e)),S(t)),hs=(e,t,s)=>Y(ae(ae(Ve,S(e)),S(t)),S(s)),fs=()=>!Z(ye),bs=e=>Y(ye,S(e)),Ts=e=>Yt((()=>(e=>We(e,gt,Nt))(e)?St(e):0)),Cs=e=>Yt((()=>bt(e)?Mt(e):0)),ps=e=>{try{yt(Pe(e))}catch{}return Es},vs=t=>Yt((()=>{if((e=We(t,(e=>We(e,ut))))&&(vt(t),!Z(Ve))){const e=Zt();ys(),Ts(e)}})),Vs=e=>Yt((()=>{if(t=(e=>We(e,ut))(e)){const s=os();Rs(),ms(),t=!0,Vt(e),Cs(s)}})),ys=()=>Yt((()=>St({}))),Ss=e=>Yt((e=>Y(Ve,e)?xt(e):0),e),ws=(e,t)=>Yt(((e,t)=>J(ae(Ve,e),(s=>Y(s,t)?Ft(e,s,t):0))),e,t),ms=()=>Yt((()=>Mt({}))),Is=()=>Yt((()=>{vt({}),e=!1})),Rs=()=>Yt((()=>{Vt({}),t=!1})),Ls=(e,t)=>{if(-1!=o){Ms();const s=e();return Js(t),s}},Ms=()=>(-1!=o&&o++,1==o&&ct(lt,void 0),Es),Js=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),Z(P)||Ut(1),Kt(1),Z(j)||Xt(1),e?.(Es)&&(ee(P,((e,t)=>ee(e,((e,s)=>ee(e,(([e],n)=>Oe(Es,t,s,n,e))))))),_(P),ee(j,(([e],t)=>ze(Es,t,e))),_(j)),ct(ot[0],void 0),o=-1,Gt(0),Z(P)||Ut(0),Kt(0),Z(j)||Xt(0),d[0]?.(Es),ct(ot[1],void 0),d[1]?.(Es),o=0,n=is(),a=fs(),O([w,m,I,R,L,P,k,W,j,D],_))),Es),Es={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>de(ae(Ve,S(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ie(ae(ae(Ve,S(e)),S(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:bs,getTablesJson:()=>Ae(Ve),getValuesJson:()=>Ae(ye),getJson:()=>Ae([Ve,ye]),getTablesSchemaJson:()=>Ae(B),getValuesSchemaJson:()=>Ae(K),getSchemaJson:()=>Ae([B,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(U(e)?ys:Ts)(e),(U(t)?ms:Cs)(t)})),setTables:Ts,setTable:(e,t)=>Yt((e=>gt(t,e)?wt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?mt(e,Ht(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return ht(e,n,t)&&(e=S(e),mt(e,Ht(e),n=Et(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Ht(e);Q(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>J(ft(e,t,s,H(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ht(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Yt((()=>bt(e,1)?Q(e,((e,t)=>Jt(t,e))):0)),setValue:(e,t)=>Yt((e=>J(Tt(e,H(t)?t(cs(e)):t),(t=>Jt(e,t)))),e),applyChanges:e=>Yt((()=>{Q(e[0],((e,t)=>M(e)?Ss(t):Q(e,((e,s)=>M(e)?ws(t,s):Q(e,((e,n)=>Oe(Es,t,s,n,e))))))),Q(e[1],((e,t)=>ze(Es,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{Lt(Pe(e))}catch{}return Es},setJson:e=>Yt((()=>{try{const[t,s]=Pe(e);yt(t),Lt(s)}catch{ps(e)}})),setTablesSchema:vs,setValuesSchema:Vs,setSchema:(e,t)=>Yt((()=>{vs(e),Vs(t)})),delTables:ys,delTable:Ss,delRow:ws,delCell:(e,t,s,n)=>Yt(((e,t,s)=>J(ae(Ve,e),(a=>J(ae(a,t),(l=>Y(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:ms,delValue:e=>Yt((e=>Y(ye,e)?zt(e):0),e),delTablesSchema:Is,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Is(),Rs()})),transaction:Ls,startTransaction:Ms,getTransactionChanges:()=>[ie(P,((e,t)=>-1===ae(w,t)?void 0:ie(e,((e,s)=>-1===ae(ae(R,t),s)?void 0:ie(e,(([,e])=>e),((e,t)=>xe(t)))),U)),U),ie(j,(([,e])=>e),((e,t)=>xe(t)))],getTransactionLog:()=>[!Z(P),!Z(j),ue(P,He,xe),ue(k),ie(j,He,xe),ie(D),ie(w),de(R),ue(L),ie(W)],finishTransaction:Js,forEachTable:e=>ee(Ve,((t,s)=>e(s,(e=>ee(t,((t,s)=>e(s,(e=>le(t,e))))))))),forEachTableCell:(e,t)=>le(ae(ve,S(e)),t),forEachRow:(e,t)=>ee(ae(Ve,S(e)),((e,s)=>t(s,(t=>le(e,t))))),forEachCell:(e,t,s)=>le(ae(ae(Ve,S(e)),S(t)),s),forEachValue:e=>le(ye,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var c,i,d;i=r,F(c=o)===F(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,l(Es,e,t,s,n,a,r))}),Ge[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Es),delListener:e=>(it(e),Es),getListenerStats:()=>({}),createStore:ke,addListener:rt,callListeners:ct,setInternalListeners:(e,t)=>d=[e,t]};return Q({[i+g]:[0,Se,[],()=>[is()]],[g]:[0,we],[h]:[0,me],[i+u]:[1,Le,[_t],e=>[ds(...e)]],[u]:[1,De,[_t]],[u+p]:[1,Ne,[_t]],[i+u+C]:[2,Be,[_t,es],e=>[us(...e)]],[b]:[1,$e,[_t]],[T]:[1,qe,[_t]],[i+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[p]:[2,Ue,[_t,ss]],[i+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Je(ls(...e))],InvalidCell:[3,Ze],[i+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[i+v]:[1,nt,[rs],e=>[bs(...e)]],[v]:[1,at,[rs],e=>Je(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Es["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),N(Es)},De=2**36,Ne=2**30,Be=2**24,$e=2**18,qe=4096,Ge=64,Ke=e=>String.fromCharCode(48+(63&e)),Qe=(e,t)=>I(e,t)-48,Ue={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Xe=(e="")=>[e,[Ce(e),Ce(e)]];e.createMergeableStore=e=>{let t,n,a=1,l=Xe();const[o,r]=(e=>{let t=0,s=-1;const n=(a=(e,t)=>(e<<5)+e^I(t),((e,t="",s)=>e.split(t,s))(e).reduce(a,5381)>>>0);var a;const l=e=>{const n=t,[a,l]=M(e)?[0,0]:[Qe(o=e,0)*De+Qe(o,1)*Ne+Qe(o,2)*Be+Qe(o,3)*$e+Qe(o,4)*qe+Qe(o,5)*Ge+Qe(o,6),Qe(o,7)*$e+Qe(o,8)*qe+Qe(o,9)*Ge+Qe(o,10),Qe(o,11)*Be+Qe(o,12)*$e+Qe(o,13)*qe+Qe(o,14)*Ge+Qe(o,15)];var o;t=R(n,a,Date.now()),s=t==n?t==a?R(s,l):s:t==a?l:-1};return[()=>{return l(),a=++s,o=n,Ke((e=t)/De)+Ke(e/Ne)+Ke(e/Be)+Ke(e/$e)+Ke(e/qe)+Ke(e/Ge)+Ke(e)+Ke(a/$e)+Ke(a/qe)+Ke(a/Ge)+Ke(a)+Ke(o/Be)+Ke(o/$e)+Ke(o/qe)+Ke(o/Ge)+Ke(o);var e,a,o},l]})(e),c=ke(),i=e=>{const t=a;a=0,e(),a=t},d=()=>{if(M(n)){const[,,e,,n]=c.getTransactionLog(),a=U(e)&&U(n)?s:t??(t=o()),l=Te(a,[pe(U(e)?s:a),pe(U(n)?s:a)]),[[,r],[,i]]=l[1];return Q(e,((e,t)=>{const[,s]=r[t]=pe(a);Q(e,((e,t)=>{const[,n]=s[t]=pe(a);Q(e,(([,e],t)=>n[t]=Te(a,e)))}))})),Q(n,(([,e],t)=>i[t]=Te(a,e))),l}return n},u=e=>{const t=[{},{}];return r(e[0]),we(e,l,t,(([e,t],[s,n],[a,l])=>{we(e,s,a,((e,t,s)=>Se(e,t,s,((e,t,s)=>Se(e,t,s,me))))),we(t,n,l,me)})),i((()=>c.applyChanges(t))),g},g={getMergeableContent:()=>ve(l,(([e,t])=>[ye(e,(e=>ye(e,(e=>ye(e,Ve))))),ye(t,Ve)])),setMergeableContent:e=>(i((()=>c.transaction((()=>{c.delTables().delValues(),l=Xe()})))),u(e),g),getTransactionMergeableChanges:d,applyMergeableChanges:u,merge:e=>{const t=g.getMergeableContent(),s=e.getMergeableContent();return e.applyMergeableChanges(t),u(s)}};return c.setInternalListeners((()=>{if(a){n=d();const[e,[t,s]]=n,a=!U(t[1]),o=!U(s[1]),[,[r,c]]=l;(a||o)&&(l[0]=e),a&&(r[0]=e,Q(t[1],(([,t],s)=>{const n=re(r[1],s,Ce);n[0]=e,Q(t,(([,t],s)=>{const a=re(n[1],s,Ce);a[0]=e,Q(t,(([,t],s)=>oe(a[1],s,Te(e,t))))}))}))),o&&(c[0]=e,Q(s[1],(([,t],s)=>oe(c[1],s,Te(e,t)))))}}),(()=>t=n=void 0)),Q(c,((e,t)=>g[t]=w(t,"set")||w(t,"del")||w(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),g):w(t,"add")&&m(t,"Listener")?(...s)=>{const n=Ue[x(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(g,...t),e(...s)}:e)),N(g)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
Binary file
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=Object,c=t=>o.getPrototypeOf(t),r=o.entries,i=o.keys,d=o.freeze,y=(t,e)=>s(t,(t=>t[e])),u=(t,e)=>e in t,l=(t,e)=>(delete t[e],t),p=(t,e)=>((t,e)=>t.map(e))(r(t),(([t,a])=>e(a,t))),g=t=>i(t).length,h=t=>(t=>!n(t)&&s(c(t),(t=>t==o.prototype||n(c(t))),(()=>!0)))(t)&&0==g(t),f=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},A=(t,e,a)=>{var n,s;return n=t,s=e,n?.has(s)||w(t,e,a()),v(t,e)},C=f(),b=f(),L=(t,e)=>[t[e].t,t[e].v],m=(t,e,a,s)=>{const o=n(e)?t:((t,e,a)=>(u(t,e)||(t[e]={}),t[e]))(t,e);let c;return p(a,((t,e)=>{s(o,e,t)&&(c=1)})),p(o,((t,e)=>{u(a,e)||(l(o,e),c=1)})),!n(e)&&h(o)&&l(t,e),c};t.createAutomergePersister=(t,o,c="tinybase",r)=>(o.change((t=>t[c]={})),((t,o,c,r,i,y,u,[l,p]=[],g=[])=>{let f,L,m,S=0,T=0;A(C,g,(()=>0)),A(b,g,(()=>[]));const x=(u?t.getMergeableContent:null)??t.getContent,M=t.getTransactionChanges,P=async t=>(2!=S&&(S=1,await j.schedule((async()=>{await t(),S=0}))),j),j={load:async(n,s)=>await P((async()=>{try{const n=await o();(u&&(t=>e(t)==a)(n[0])?t.applyMergeableChanges:t.setContent)(n)}catch{t.setContent([n,s])}})),startAutoLoad:async(e={},a={})=>(j.stopAutoLoad(),await j.load(e,a),T=1,m=r((async(e,a)=>{if(a){const e=a();await P((async()=>t.applyChanges(e)))}else await P((async()=>{try{t.setContent(e?.()??await o())}catch(t){y?.(t)}}))})),j),stopAutoLoad:()=>(T&&(i(m),m=void 0,T=0),j),save:async t=>(1!=S&&(S=2,await j.schedule((async()=>{try{await c(x,t)}catch(t){y?.(t)}S=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),f=t.addDidFinishTransactionListener((()=>{const[t,e]=M();h(t)&&h(e)||j.save((()=>[t,e]))})),j),stopAutoSave:()=>(s(f,t.delListener),f=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(b,g),...t),await(async()=>{if(!v(C,g)){for(w(C,g,1);!n((t=v(b,g),L=t.shift()));)try{await L()}catch(t){y?.(t)}w(C,g,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(j[l]=()=>p),d(j)})(t,(async()=>{const t=await o.doc();return 2==g(t[c])?L(t,c):void 0}),(async(t,e)=>o.change((a=>((t,e,a,o)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[c,r]=L(t,e),i=()=>{d=1};let d=1;if(s(o?.(),(([t,e])=>{d=0,p(t,((t,e)=>d?0:n(t)?l(c,e):s(c[e],(e=>p(t,((t,a)=>d?0:n(t)?l(e,a):s(y(e,a),(e=>p(t,((t,a)=>n(t)?l(e,a):e[a]=t))),i)))),i))),p(e,((t,e)=>d?0:n(t)?l(r,e):r[e]=t))})),d){const[t,e]=a();m(c,void 0,t,((t,e,a)=>m(c,e,a,((t,e,a)=>m(t,e,a,((t,e,a)=>{if(y(t,e)!==a)return t[e]=a,1})))))),m(r,void 0,e,((t,e,a)=>{y(r,e)!==a&&(r[e]=a)}))}})(a,c,t,e)))),(t=>{const e=({doc:e})=>t((()=>L(e,c)));return o.on("change",e),e}),(t=>{o.removeListener("change",t)}),r,!1,["getDocHandle",o]))},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),c=o.entries,i=o.keys,d=o.freeze,y=(e,t)=>s(e,(e=>e[t])),l=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),u=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,a])=>t(a,e))),p=e=>i(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},C=(e,t,a)=>{var n,s;return n=e,s=t,n?.has(s)||w(e,t,a()),v(e,t)},b=f(),A=f(),L=e=>{return n=e?.[0],t(n)==a;var n},M=(e,t)=>[e[t].t,e[t].v],m=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(l(e,t)||(e[t]={}),e[t]))(e,t);let r;return u(a,((e,t)=>{s(o,t,e)&&(r=1)})),u(o,((e,t)=>{l(a,t)||(g(o,t),r=1)})),!n(t)&&h(o)&&g(e,t),r};e.createAutomergePersister=(e,t,a="tinybase",o)=>(t.change((e=>e[a]={})),((e,t,a,o,r,c,i,[y,l]=[],g=[])=>{let u,p,f,M=0,m=0;C(b,g,(()=>0)),C(A,g,(()=>[]));const[S,T,x,P]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(i,e),j=async e=>(2!=M&&(M=1,await D.schedule((async()=>{await e(),M=0}))),D),D={load:async(a,n)=>await j((async()=>{try{const a=await t();(S&&L(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,n])}})),startAutoLoad:async(a={},n={})=>(D.stopAutoLoad(),await D.load(a,n),m=1,f=o((async(a,n)=>{if(n){const t=n();await j((async()=>(S&&L(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await j((async()=>{try{const n=a?.()??await t();(S&&L(n)?e.setMergeableContent:e.setContent)(n)}catch(e){c?.(e)}}))})),D),stopAutoLoad:()=>(m&&(r(f),f=void 0,m=0),D),save:async e=>(1!=M&&(M=2,await D.schedule((async()=>{try{await a(T,e)}catch(e){c?.(e)}M=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=x();P(e)&&D.save((()=>e))})),D),stopAutoSave:()=>(s(u,e.delListener),u=void 0,D),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(b,g)){for(w(b,g,1);!n((e=v(A,g),p=e.shift()));)try{await p()}catch(e){c?.(e)}w(b,g,0)}var e})(),D),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(D[y]=()=>l),d(D)})(e,(async()=>{const e=await t.doc();return 2==p(e[a])?M(e,a):void 0}),(async(e,o)=>t.change((t=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,c]=M(e,t),i=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,u(e,((e,t)=>d?0:n(e)?g(r,t):s(r[t],(t=>u(e,((e,a)=>d?0:n(e)?g(t,a):s(y(t,a),(t=>u(e,((e,a)=>n(e)?g(t,a):t[a]=e))),i)))),i))),u(t,((e,t)=>d?0:n(e)?g(c,t):c[t]=e))})),d){const[e,t]=a();m(r,void 0,e,((e,t,a)=>m(r,t,a,((e,t,a)=>m(e,t,a,((e,t,a)=>{if(y(e,t)!==a)return e[t]=a,1})))))),m(c,void 0,t,((e,t,a)=>{y(c,t)!==a&&(c[t]=a)}))}})(t,a,e,o)))),(e=>{const n=({doc:t})=>e((()=>M(t,a)));return t.on("change",n),n}),(e=>{t.removeListener("change",e)}),o,!1,["getDocHandle",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).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,y=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),l=JSON.parse,d=e=>new Map(e),u=(e,t)=>e?.get(t),p=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},g=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||p(e,t,a()),u(e,t)},f=d(),h=d(),w="storage",v=globalThis.window,S=(e,r,i,d)=>((e,o,r,i,l,d,w,[v,S]=[],A=[])=>{let L,C,b,m=0,T=0;g(f,A,(()=>0)),g(h,A,(()=>[]));const M=(w?e.getMergeableContent:null)??e.getContent,O=e.getTransactionChanges,P=async e=>(2!=m&&(m=1,await x.schedule((async()=>{await e(),m=0}))),x),x={load:async(s,n)=>await P((async()=>{try{const s=await o();(w&&(e=>t(e)==a)(s[0])?e.applyMergeableChanges:e.setContent)(s)}catch{e.setContent([s,n])}})),startAutoLoad:async(t={},a={})=>(x.stopAutoLoad(),await x.load(t,a),T=1,b=i((async(t,a)=>{if(a){const t=a();await P((async()=>e.applyChanges(t)))}else await P((async()=>{try{e.setContent(t?.()??await o())}catch(e){d?.(e)}}))})),x),stopAutoLoad:()=>(T&&(l(b),b=void 0,T=0),x),save:async e=>(1!=m&&(m=2,await x.schedule((async()=>{try{await r(M,e)}catch(e){d?.(e)}m=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),L=e.addDidFinishTransactionListener((()=>{const[e,t]=O();y(e)&&y(t)||x.save((()=>[e,t]))})),x),stopAutoSave:()=>(n(L,e.delListener),L=void 0,x),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(u(h,A),...e),await(async()=>{if(!u(f,A)){for(p(f,A,1);!s((e=u(h,A),C=e.shift()));)try{await C()}catch(e){d?.(e)}p(f,A,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(x[v]=()=>S),c(x)})(e,(async()=>l(i.getItem(r))),(async e=>{return i.setItem(r,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var t}),(e=>{const t=t=>{t.storageArea===i&&t.key===r&&e((()=>l(t.newValue)))};return v.addEventListener(w,t),t}),(e=>v.removeEventListener(w,e)),d,!1,["getStorageName",r]);e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"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=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,y=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),l=JSON.parse,g=e=>new Map(e),d=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||u(e,t,a()),d(e,t)},f=g(),h=g(),v=e=>{return s=e?.[0],t(s)==a;var s},w="storage",C=globalThis.window,S=(e,t,a,r)=>((e,t,a,o,r,i,l,[g,w]=[],C=[])=>{let S,b,A,L=0,M=0;p(f,C,(()=>0)),p(h,C,(()=>[]));const[m,T,O,P]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!y(e)||!y(t)])(l,e),x=async e=>(2!=L&&(L=1,await E.schedule((async()=>{await e(),L=0}))),E),E={load:async(a,s)=>await x((async()=>{try{const a=await t();(m&&v(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(E.stopAutoLoad(),await E.load(a,s),M=1,A=o((async(a,s)=>{if(s){const t=s();await x((async()=>(m&&v(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await x((async()=>{try{const s=a?.()??await t();(m&&v(s)?e.setMergeableContent:e.setContent)(s)}catch(e){i?.(e)}}))})),E),stopAutoLoad:()=>(M&&(r(A),A=void 0,M=0),E),save:async e=>(1!=L&&(L=2,await E.schedule((async()=>{try{await a(T,e)}catch(e){i?.(e)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=e.addDidFinishTransactionListener((()=>{const e=O();P(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(n(S,e.delListener),S=void 0,E),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,C),...e),await(async()=>{if(!d(f,C)){for(u(f,C,1);!s((e=d(h,C),b=e.shift()));)try{await b()}catch(e){i?.(e)}u(f,C,0)}var e})(),E),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(E[g]=()=>w),c(E)})(e,(async()=>l(a.getItem(t))),(async e=>{return a.setItem(t,(s=e(),JSON.stringify(s,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var s}),(e=>{const s=s=>{s.storageArea===a&&s.key===t&&e((()=>l(s.newValue)))};return C.addEventListener(w,s),s}),(e=>C.removeEventListener(w,e)),r,!0,["getStorageName",t]);e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"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 a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==u(a),h=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],g=(a,t)=>a?.delete(t),N=Object,S=a=>N.getPrototypeOf(a),b=N.entries,D=N.keys,I=N.freeze,M=(a=[])=>N.fromEntries(a),P=(...a)=>N.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(b(a),(([a,e])=>t(e,a))),_=a=>N.values(a),B=a=>u(D(a)),W=a=>(a=>!l(a)&&y(S(a),(a=>a==N.prototype||l(S(a))),(()=>!0)))(a)&&0==B(a),x=a=>new Map(a),H=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),U=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(g(a,t),a):a?.set(t,e),k=(a,t,e)=>(R(a,t)||Y(a,t,e()),j(a,t)),q=(a,t,e,s=Y)=>($(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:s(a,e))),a),G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),J=(a,t)=>a?.add(t),z=m+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=x();return[async()=>q(o,M(await d(A(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(m+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,q(k(o,t,x),e,((a,t,e)=>{e!=j(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?M(h(A(await a(z+T(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=G();$(c??{},(a=>A(D(a??{}),(a=>J(E,a)))));const u=C(E);if(!w&&y&&L(u)&&R(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(L(u)||R(o,t)){const n=j(o,t),i=G(H(n));await d([...A(u,(async e=>{g(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(n,e,s))})),...!w&&r?A(C(i),(async s=>{s!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(s)}`),Y(n,s))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(u,(a=>n+T(a))))});`),Y(o,t,x([[e,s],...A(u,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[n]):L(u)||await X(a,t,e,D(s),[n,..._(s)],i)})));else if(L(u))R(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const s=h(H(j(o,t)),(a=>a!=e)),n=[],i=[];$(c??{},((a,t)=>{O(n,t,...A(s,(t=>a?.[t]))),O(i,t)})),await X(a,t,e,s,n),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(A(i,(a=>n+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(A(i,(a=>T(a)+"=excluded."+T(a))),n):s),A(c,(a=>a??null))),Z=a=>v(A(a,(()=>"?")),n),aa=JSON.parse,ta=x(),ea=x(),sa=(a,t,e,s,n,i,o,[c,r]=[],E=[])=>{let u,d,p,f=0,T=0;k(ta,E,(()=>0)),k(ea,E,(()=>[]));const m=(o?a.getMergeableContent:null)??a.getContent,v=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await L.schedule((async()=>{await a(),f=0}))),L),L={load:async(e,s)=>await A((async()=>{try{const e=await t();(o&&w(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(L.stopAutoLoad(),await L.load(e,n),T=1,p=s((async(e,s)=>{if(s){const t=s();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),L),stopAutoLoad:()=>(T&&(n(p),p=void 0,T=0),L),save:async a=>(1!=f&&(f=2,await L.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}f=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),u=a.addDidFinishTransactionListener((()=>{const[a,t]=v();W(a)&&W(t)||L.save((()=>[a,t]))})),L),stopAutoSave:()=>(y(u,a.delListener),u=void 0,L),schedule:async(...a)=>(O(j(ea,E),...a),await(async()=>{if(!j(ta,E)){for(Y(ta,E,1);!l((a=j(ea,E),d=a.shift()));)try{await d()}catch(a){i?.(a)}Y(ta,E,0)}var a})(),L),getStore:()=>a,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(L[c]=()=>r),I(L)},na="store",ia=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,n);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[na]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,[r,c],c)},oa=(a,t,e,s,n,[i,o,[c,r,y]],w,E,u,T)=>{const[m,v,A,L]=Q(t,w,n,T),O=async(a,t)=>await d(U(o,(async([e,s,n,i],o)=>{t&&!F(a,o)||await A(e,s,a[o],n,i,t)}))),R=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await L((async()=>{await m();const a=await(async()=>M(h(await d(U(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),l(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,!1,[u,E],E)},ca="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",ya="tableId",wa="tableName",Ea={mode:ca,[ra]:1},ua={load:0,save:0,[wa]:e+"_values"},da=(a,t,e,s)=>{const n=x();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||s(i,o[0])||Y(n,i,o)})),n},pa="pragma ",fa="data_version",Ta="schema_version",ma=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let d,p,T;const[v,A,L,h]=(a=>{const t=(a=>P(Ea,w(a)?{storeTableName:a}:a??{}))(a),s=t[ra];if(t.mode==ca){const{storeTableName:a=e}=t;return[1,s,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(_(P(ua,o)),0,B(ua)),r=c[2],l=G(r);return[0,s,[da(n,{[ya]:null,[la]:f},ya,(a=>J(l,a)&&a==r)),da(i,{[wa]:null,[la]:f,deleteEmptyColumns:0,deleteEmptyTable:0},wa,((a,t)=>J(l,t)&&t==r)),c],l]})(t);return(v?ia:oa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(pa+fa))[0][fa],e=(await s(pa+Ta))[0][Ta],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&n==(T??=n)||(a(),d=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,L,C(h),l,y,u)};a.createCrSqliteWasmPersister=(a,t,e,s,n)=>ma(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>v(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),W=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),x=a=>new Map(a),H=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),U=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),k=(a,t,e)=>(L(a,t)||Y(a,t,e()),j(a,t)),q=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),J=(a,t)=>a?.add(t),z=m+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=x();return[async()=>q(o,I(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(m+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,q(k(o,t,x),e,((a,t,e)=>{e!=j(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?I(C(v(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=G();$(c??{},(a=>v(D(a??{}),(a=>J(E,a)))));const u=O(E);if(!w&&y&&A(u)&&L(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(A(u)||L(o,t)){const s=j(o,t),i=G(H(s));await d([...v(u,(async e=>{R(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${g(v(u,(a=>s+T(a))))});`),Y(o,t,x([[e,n],...v(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))L(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=C(H(j(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{h(s,t,...v(n,(t=>a?.[t]))),h(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+g(v(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+g(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>g(v(a,(()=>"?")),s),aa=JSON.parse,ta=x(),ea=x(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,m,g,v]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!W(a)||!W(t)])(o,a),A=async a=>(2!=p&&(p=1,await C.schedule((async()=>{await a(),p=0}))),C),C={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),C),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),C),save:async a=>(1!=p&&(p=2,await C.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&C.save((()=>a))})),C),stopAutoSave:()=>(y(E,a.delListener),E=void 0,C),schedule:async(...a)=>(h(j(ea,w),...a),await(async()=>{if(!j(ta,w)){for(Y(ta,w,1);!l((a=j(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),C),getStore:()=>a,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(C[c]=()=>r),M(C)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[m,g,v,A]=Q(t,w,s,T),h=async(a,t)=>await d(U(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),L=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await m();const a=await(async()=>I(C(await d(U(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await g(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),l(t)){const[t,e]=a();await h(t),await L(e)}else{const[a,e]=t();await h(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=x();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||Y(s,i,o)})),s},fa="pragma ",Ta="data_version",ma="schema_version",ga=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[g,v,A,C]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,B(da)),r=c[2],l=G(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>J(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>J(l,t)&&t==r)),c],l]})(t);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ma))[0][ma],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,O(C),l,y,u)};a.createCrSqliteWasmPersister=(a,t,e,n,s)=>ga(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),L=(a,t)=>a.filter(t),g=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,I=b.freeze,M=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),H=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),k=(a,t,e)=>(R(a,t)||Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=v+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const c=j();return[async()=>G(c,M(await d(A(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(v+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,G(k(c,t,j),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!l(W(W(c,a),t)))(t,e)?M(L(A(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,o,r,y,w=!1)=>{const E=J();$(o??{},(a=>A(D(a??{}),(a=>U(E,a)))));const u=O(E);if(!w&&y&&h(u)&&R(c,t))return await a("DROP TABLE"+T(t)),void Y(c,t);if(h(u)||R(c,t)){const s=W(c,t),i=J(x(s));await d([...A(u,(async e=>{C(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?A(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${m(A(u,(a=>s+T(a))))});`),Y(c,t,j([[e,n],...A(u,(a=>[a,n]))]));if(w)l(o)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(o,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):h(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(h(u))R(c,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=L(x(W(c,t)),(a=>a!=e)),s=[],i=[];$(o??{},((a,t)=>{g(s,t,...A(n,(t=>a?.[t]))),g(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+m(A(i,(a=>s+T(a))))+")VALUES"+E(c(`,(?${c(",?",u(i))})`,u(o)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+m(A(i,(a=>T(a)+"=excluded."+T(a))),s):n),A(o,(a=>a??null))),Z=a=>m(A(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=(a,t,e,n,s,i,c,[o,r]=[],E=[])=>{let u,d,p,f=0,T=0;k(ta,E,(()=>0)),k(ea,E,(()=>[]));const v=(c?a.getMergeableContent:null)??a.getContent,m=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await h.schedule((async()=>{await a(),f=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(c&&w(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),T=1,p=n((async(e,n)=>{if(n){const t=n();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(T&&(s(p),p=void 0,T=0),h),save:async a=>(1!=f&&(f=2,await h.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}f=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),u=a.addDidFinishTransactionListener((()=>{const[a,t]=m();H(a)&&H(t)||h.save((()=>[a,t]))})),h),stopAutoSave:()=>(y(u,a.delListener),u=void 0,h),schedule:async(...a)=>(g(W(ea,E),...a),await(async()=>{if(!W(ta,E)){for(Y(ta,E,1);!l((a=W(ea,E),d=a.shift()));)try{await d()}catch(a){i?.(a)}Y(ta,E,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(h[o]=()=>r),I(h)},sa="store",ia=(a,t,e,n,s,[i],c,o,r)=>{const[l,y,w,E]=Q(t,c,s);return na(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[sa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,o],o)},ca=(a,t,e,n,s,[i,c,[o,r,y]],w,E,u,T)=>{const[v,m,A,h]=Q(t,w,s,T),g=async(a,t)=>await d(q(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await A(e,n,a[c],s,i,t)}))),R=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await v();const a=await(async()=>M(L(await d(q(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await m(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),l(t)){const[t,e]=a();await g(t),await R(e)}else{const[a,e]=t();await g(a,!0),await R(e,!0)}}))),e,n,s,!1,[u,E],E)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",ya="tableId",wa="tableName",Ea={mode:oa,[ra]:1},ua={load:0,save:0,[wa]:e+"_values"},da=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const c=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(c[0])||n(i,c[0])||Y(s,i,c)})),s},pa="pragma ",fa="data_version",Ta="schema_version",va=(a,t,n,s,i,c,o,l,y="getDb",u)=>{let d,p,T;const[m,A,h,L]=(a=>{const t=(a=>P(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=t[ra];if(t.mode==oa){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,o=E(_(P(ua,c)),0,B(ua)),r=o[2],l=J(r);return[0,n,[da(s,{[ya]:null,[la]:f},ya,(a=>U(l,a)&&a==r)),da(i,{[wa]:null,[la]:f,deleteEmptyColumns:0,deleteEmptyTable:0},wa,((a,t)=>U(l,t)&&t==r)),o],l]})(t);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(pa+fa))[0][fa],e=(await n(pa+Ta))[0][Ta],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),o,h,O(L),l,y,u)};a.createElectricSqlPersister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),h=a=>0==u(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),S=O.entries,D=O.keys,M=O.freeze,I=(a=[])=>O.fromEntries(a),P=(...a)=>O.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>m(S(a),(([a,e])=>t(e,a))),_=a=>O.values(a),B=a=>u(D(a)),H=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),k=(a,t,e)=>(L(a,t)||Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const c=j();return[async()=>G(c,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,G(k(c,t,j),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!l(W(W(c,a),t)))(t,e)?I(A(m(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,o,r,y,w=!1)=>{const E=J();$(o??{},(a=>m(D(a??{}),(a=>U(E,a)))));const u=b(E);if(!w&&y&&h(u)&&L(c,t))return await a("DROP TABLE"+T(t)),void Y(c,t);if(h(u)||L(c,t)){const s=W(c,t),i=J(x(s));await d([...m(u,(async e=>{R(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?m(b(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(u,(a=>s+T(a))))});`),Y(c,t,j([[e,n],...m(u,(a=>[a,n]))]));if(w)l(o)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(o,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):h(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(h(u))L(c,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=A(x(W(c,t)),(a=>a!=e)),s=[],i=[];$(o??{},((a,t)=>{C(s,t,...m(n,(t=>a?.[t]))),C(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(m(i,(a=>s+T(a))))+")VALUES"+E(c(`,(?${c(",?",u(i))})`,u(o)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(m(i,(a=>T(a)+"=excluded."+T(a))),s):n),m(o,(a=>a??null))),Z=a=>v(m(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,c,[o,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,g,v,m]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!H(a)||!H(t)])(c,a),h=async a=>(2!=p&&(p=1,await A.schedule((async()=>{await a(),p=0}))),A),A={load:async(e,n)=>await h((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(A.stopAutoLoad(),await A.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await h((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await h((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),A),save:async a=>(1!=p&&(p=2,await A.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&A.save((()=>a))})),A),stopAutoSave:()=>(y(E,a.delListener),E=void 0,A),schedule:async(...a)=>(C(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(Y(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(A[o]=()=>r),M(A)},ia="store",ca=(a,t,e,n,s,[i],c,o,r)=>{const[l,y,w,E]=Q(t,c,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,o],o)},oa=(a,t,e,n,s,[i,c,[o,r,y]],w,E,u,T)=>{const[g,v,m,h]=Q(t,w,s,T),C=async(a,t)=>await d(q(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await m(e,n,a[c],s,i,t)}))),L=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await g();const a=await(async()=>I(A(await d(q(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await v(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await g(),l(t)){const[t,e]=a();await C(t),await L(e)}else{const[a,e]=t();await C(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const c=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(c[0])||n(i,c[0])||Y(s,i,c)})),s},fa="pragma ",Ta="data_version",ga="schema_version",va=(a,t,n,s,i,c,o,l,y="getDb",u)=>{let d,p,T;const[v,m,h,A]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,o=E(_(P(da,c)),0,B(da)),r=o[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),o],l]})(t);return(v?ca:oa)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),o,h,b(A),l,y,u)};a.createElectricSqlPersister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,n="tinybase",s="",i=",",o=e(s),c=(a,t)=>a.repeat(t),r=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>e(a)==o,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),f="_",T="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",A=(a,t="")=>a.join(t),L=(a,t)=>a.map(t),h=a=>0==d(a),R=(a,t)=>a.filter(t),g=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),b=Object,S=a=>b.getPrototypeOf(a),D=b.entries,x=b.keys,I=b.freeze,M=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>L(D(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>d(x(a)),q=a=>(a=>!y(a)&&w(S(a),(a=>a==b.prototype||y(S(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>L([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>y(e)?(C(a,t),a):a?.set(t,e),G=(a,t,e)=>(N(a,t)||k(a,t,e()),W(a,t)),J=(a,t,e,n=k)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||y(a)?a:[a]),z=(a,t)=>a?.add(t),K=v+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,n)=>{const o=H();return[async()=>J(o,M(await p(L(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,M(L(await a(v+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!y(W(W(o,a),t)))(t,e)?M(R(L(await a(K+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!q(t)))):{},async(t,e,c,r,l,w=!1)=>{const E=U();$(c??{},(a=>L(x(a??{}),(a=>z(E,a)))));const u=O(E);if(!w&&l&&h(u)&&N(o,t))return await a("DROP TABLE"+m(t)),void k(o,t);if(h(u)||N(o,t)){const n=W(o,t),i=U(j(n));await p([...L(u,(async e=>{C(i,e)||(await a(`ALTER TABLE${m(t)}ADD${m(e)}`),k(n,e,s))})),...!w&&r?L(O(i),(async s=>{s!=e&&(await a(`ALTER TABLE${m(t)}DROP${m(s)}`),k(n,s))})):[]])}else await a(`CREATE TABLE${m(t)}(${m(e)} PRIMARY KEY ON CONFLICT REPLACE${A(L(u,(a=>i+m(a))))});`),k(o,t,H([[e,s],...L(u,(a=>[a,s]))]));if(w)y(c)?await a("DELETE FROM"+m(t)+"WHERE 1"):await p($(c,(async(s,i)=>{y(s)?await a("DELETE FROM"+m(t)+Q+m(e)+"=?",[i]):h(u)||await Z(a,t,e,x(s),[i,..._(s)],n)})));else if(h(u))N(o,t)&&await a("DELETE FROM"+m(t)+"WHERE 1");else{const n=R(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{g(s,t,...L(n,(t=>a?.[t]))),g(i,t)})),await Z(a,t,e,n,s),await a("DELETE FROM"+m(t)+Q+m(e)+"NOT IN("+aa(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},Z=async(a,t,e,n,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+A(L(n,(a=>i+m(a))))+")VALUES"+u(c(`,(?${c(",?",d(n))})`,d(o)/(d(n)+1)),1)+(r?"ON CONFLICT("+m(e)+")DO UPDATE SET"+A(L(n,(a=>m(a)+"=excluded."+m(a))),i):s),L(o,(a=>a??null))),aa=a=>A(L(a,(()=>"?")),i),ta=JSON.parse,ea=H(),na=H(),sa=(a,t,e,n,s,i,o,[c,r]=[],l=[])=>{let u,d,p,f=0,T=0;G(ea,l,(()=>0)),G(na,l,(()=>[]));const m=(o?a.getMergeableContent:null)??a.getContent,v=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await L.schedule((async()=>{await a(),f=0}))),L),L={load:async(e,n)=>await A((async()=>{try{const e=await t();(o&&E(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(L.stopAutoLoad(),await L.load(e,s),T=1,p=n((async(e,n)=>{if(n){const t=n();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),L),stopAutoLoad:()=>(T&&(s(p),p=void 0,T=0),L),save:async a=>(1!=f&&(f=2,await L.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}f=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),u=a.addDidFinishTransactionListener((()=>{const[a,t]=v();q(a)&&q(t)||L.save((()=>[a,t]))})),L),stopAutoSave:()=>(w(u,a.delListener),u=void 0,L),schedule:async(...a)=>(g(W(na,l),...a),await(async()=>{if(!W(ea,l)){for(k(ea,l,1);!y((a=W(na,l),d=a.shift()));)try{await d()}catch(a){i?.(a)}k(ea,l,0)}var a})(),L),getStore:()=>a,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(L[c]=()=>r),I(L)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=X(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),ta((await y(i,T))[f]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,T,{[f]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,l]],w,E,u,d)=>{const[m,v,A,L]=X(t,w,s,d),h=async(a,t)=>await p(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await A(e,n,a[o],s,i,t)}))),g=async(a,t)=>r?await A(l,T,{[f]:a},!0,!0,t):null;return sa(a,(async()=>await L((async()=>{await m();const a=await(async()=>M(R(await p(Y(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>c?(await v(l,T))[f]:{})();return q(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),y(t)){const[t,e]=a();await h(t),await g(e)}else{const[a,e]=t();await h(a,!0),await g(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:n+"_values"},pa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=u(_(P(t,E(a)?{[e]:a}:a)),0,B(t));y(o[0])||n(i,o[0])||k(s,i,o)})),s},fa="pragma ",Ta="data_version",ma="schema_version",va=(a,t,e,s,i,o,c,r,y="getDb",w)=>{let d,p,f;const[m,A,L,h]=(a=>{const t=(a=>P(ua,E(a)?{storeTableName:a}:a??{}))(a),e=t[la];if(t.mode==ra){const{storeTableName:a=n}=t;return[1,e,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(_(P(da,o)),0,B(da)),r=c[2],l=U(r);return[0,e,[pa(s,{[wa]:null,[ya]:T},wa,(a=>z(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:T,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>z(l,t)&&t==r)),c],l]})(t);return(m?oa:ca)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(fa+Ta))[0][Ta],n=(await e(fa+ma))[0][ma],s=(await e(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&n==(p??=n)&&s==(f??=s)||(a(),d=t,p=n)}catch{}},n=A,t(),setInterval(t,1e3*n)),s((t=>h.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),d=p=null,i(t)}),c,L,O(h),r,y,w)};a.createExpoSqliteNextPersister=(a,e,n,s,i)=>va(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
1
+ var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,n="tinybase",s="",i=",",o=e(s),c=(a,t)=>a.repeat(t),r=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>e(a)==o,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),f="_",T="_id",g=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==d(a),L=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,S=a=>b.getPrototypeOf(a),D=b.entries,M=b.keys,x=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(D(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>d(M(a)),q=a=>(a=>!y(a)&&w(S(a),(a=>a==b.prototype||y(S(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e)=>(R(a,t)||k(a,t,e()),W(a,t)),J=(a,t,e,n=k)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||y(a)?a:[a]),z=(a,t)=>a?.add(t),K=m+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,n)=>{const o=H();return[async()=>J(o,I(await p(A(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(m+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!y(W(W(o,a),t)))(t,e)?I(L(A(await a(K+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!q(t)))):{},async(t,e,c,r,l,w=!1)=>{const E=U();$(c??{},(a=>A(M(a??{}),(a=>z(E,a)))));const u=N(E);if(!w&&l&&h(u)&&R(o,t))return await a("DROP TABLE"+g(t)),void k(o,t);if(h(u)||R(o,t)){const n=W(o,t),i=U(j(n));await p([...A(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${g(t)}ADD${g(e)}`),k(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${g(t)}DROP${g(s)}`),k(n,s))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(u,(a=>i+g(a))))});`),k(o,t,H([[e,s],...A(u,(a=>[a,s]))]));if(w)y(c)?await a("DELETE FROM"+g(t)+"WHERE 1"):await p($(c,(async(s,i)=>{y(s)?await a("DELETE FROM"+g(t)+Q+g(e)+"=?",[i]):h(u)||await Z(a,t,e,M(s),[i,..._(s)],n)})));else if(h(u))R(o,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const n=L(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{C(s,t,...A(n,(t=>a?.[t]))),C(i,t)})),await Z(a,t,e,n,s),await a("DELETE FROM"+g(t)+Q+g(e)+"NOT IN("+aa(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},Z=async(a,t,e,n,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+v(A(n,(a=>i+g(a))))+")VALUES"+u(c(`,(?${c(",?",d(n))})`,d(o)/(d(n)+1)),1)+(r?"ON CONFLICT("+g(e)+")DO UPDATE SET"+v(A(n,(a=>g(a)+"=excluded."+g(a))),i):s),A(o,(a=>a??null))),aa=a=>v(A(a,(()=>"?")),i),ta=JSON.parse,ea=H(),na=H(),sa=a=>E(a?.[0]),ia=(a,t,e,n,s,i,o,[c,r]=[],l=[])=>{let E,u,d,p=0,f=0;G(ea,l,(()=>0)),G(na,l,(()=>[]));const[T,g,m,v]=((a,t)=>!a||y(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!q(a)||!q(t)])(o,a),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&sa(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&sa(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&sa(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(w(E,a.delListener),E=void 0,h),schedule:async(...a)=>(C(W(na,l),...a),await(async()=>{if(!W(ea,l)){for(k(ea,l,1);!y((a=W(na,l),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(ea,l,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),x(h)},oa="store",ca=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=X(t,o,s);return ia(a,(async()=>await E((async()=>(await l(),ta((await y(i,T))[f]?.[oa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,T,{[f]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ra=(a,t,e,n,s,[i,o,[c,r,l]],w,E,u,d)=>{const[g,m,v,A]=X(t,w,s,d),h=async(a,t)=>await p(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),C=async(a,t)=>r?await v(l,T,{[f]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(L(await p(Y(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>c?(await m(l,T))[f]:{})();return q(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),y(t)){const[t,e]=a();await h(t),await C(e)}else{const[a,e]=t();await h(a,!0),await C(e,!0)}}))),e,n,s,!1,[u,E],E)},la="json",ya="autoLoadIntervalSeconds",wa="rowIdColumnName",Ea="tableId",ua="tableName",da={mode:la,[ya]:1},pa={load:0,save:0,[ua]:n+"_values"},fa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=u(_(P(t,E(a)?{[e]:a}:a)),0,B(t));y(o[0])||n(i,o[0])||k(s,i,o)})),s},Ta="pragma ",ga="data_version",ma="schema_version",va=(a,t,e,s,i,o,c,r,y="getDb",w)=>{let d,p,f;const[g,v,A,h]=(a=>{const t=(a=>P(da,E(a)?{storeTableName:a}:a??{}))(a),e=t[ya];if(t.mode==la){const{storeTableName:a=n}=t;return[1,e,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(_(P(pa,o)),0,B(pa)),r=c[2],l=U(r);return[0,e,[fa(s,{[Ea]:null,[wa]:T},Ea,(a=>z(l,a)&&a==r)),fa(i,{[ua]:null,[wa]:T,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>z(l,t)&&t==r)),c],l]})(t);return(g?ca:ra)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(Ta+ga))[0][ga],n=(await e(Ta+ma))[0][ma],s=(await e(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&n==(p??=n)&&s==(f??=s)||(a(),d=t,p=n)}catch{}},n=v,t(),setInterval(t,1e3*n)),s((t=>h.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),d=p=null,i(t)}),c,A,N(h),r,y,w)};a.createExpoSqliteNextPersister=(a,e,n,s,i)=>va(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),L=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),g=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),N=Object,b=a=>N.getPrototypeOf(a),S=N.entries,D=N.keys,I=N.freeze,M=(a=[])=>N.fromEntries(a),P=(...a)=>N.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(S(a),(([a,e])=>t(e,a))),_=a=>N.values(a),x=a=>u(D(a)),B=a=>(a=>!l(a)&&y(b(a),(a=>a==N.prototype||l(b(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),k=(a,t,e)=>(g(a,t)||Y(a,t,e()),W(a,t)),G=(a,t,e,s=Y)=>($(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:s(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=m+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=H();return[async()=>G(o,M(await d(A(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(m+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,G(k(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?M(L(A(await a(z+T(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!B(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=J();$(c??{},(a=>A(D(a??{}),(a=>U(E,a)))));const u=O(E);if(!w&&y&&h(u)&&g(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(h(u)||g(o,t)){const n=W(o,t),i=J(j(n));await d([...A(u,(async e=>{C(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(n,e,s))})),...!w&&r?A(O(i),(async s=>{s!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(s)}`),Y(n,s))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(u,(a=>n+T(a))))});`),Y(o,t,H([[e,s],...A(u,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[n]):h(u)||await X(a,t,e,D(s),[n,..._(s)],i)})));else if(h(u))g(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const s=L(j(W(o,t)),(a=>a!=e)),n=[],i=[];$(c??{},((a,t)=>{R(n,t,...A(s,(t=>a?.[t]))),R(i,t)})),await X(a,t,e,s,n),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(A(i,(a=>n+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(A(i,(a=>T(a)+"=excluded."+T(a))),n):s),A(c,(a=>a??null))),Z=a=>v(A(a,(()=>"?")),n),aa=JSON.parse,ta=H(),ea=H(),sa=(a,t,e,s,n,i,o,[c,r]=[],E=[])=>{let u,d,p,f=0,T=0;k(ta,E,(()=>0)),k(ea,E,(()=>[]));const m=(o?a.getMergeableContent:null)??a.getContent,v=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await h.schedule((async()=>{await a(),f=0}))),h),h={load:async(e,s)=>await A((async()=>{try{const e=await t();(o&&w(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(h.stopAutoLoad(),await h.load(e,n),T=1,p=s((async(e,s)=>{if(s){const t=s();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(T&&(n(p),p=void 0,T=0),h),save:async a=>(1!=f&&(f=2,await h.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}f=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),u=a.addDidFinishTransactionListener((()=>{const[a,t]=v();B(a)&&B(t)||h.save((()=>[a,t]))})),h),stopAutoSave:()=>(y(u,a.delListener),u=void 0,h),schedule:async(...a)=>(R(W(ea,E),...a),await(async()=>{if(!W(ta,E)){for(Y(ta,E,1);!l((a=W(ea,E),d=a.shift()));)try{await d()}catch(a){i?.(a)}Y(ta,E,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),I(h)},na="store",ia=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,n);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[na]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,[r,c],c)},oa=(a,t,e,s,n,[i,o,[c,r,y]],w,E,u,T)=>{const[m,v,A,h]=Q(t,w,n,T),R=async(a,t)=>await d(q(o,(async([e,s,n,i],o)=>{t&&!F(a,o)||await A(e,s,a[o],n,i,t)}))),g=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await m();const a=await(async()=>M(L(await d(q(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await R(t),await g(e)}else{const[a,e]=t();await R(a,!0),await g(e,!0)}}))),e,s,n,!1,[u,E],E)},ca="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",ya="tableId",wa="tableName",Ea={mode:ca,[ra]:1},ua={load:0,save:0,[wa]:e+"_values"},da=(a,t,e,s)=>{const n=H();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,x(t));l(o[0])||s(i,o[0])||Y(n,i,o)})),n},pa="pragma ",fa="data_version",Ta="schema_version",ma=(a,t,s,n,i,o,c,l,y="getDb",u)=>{let d,p,T;const[v,A,h,L]=(a=>{const t=(a=>P(Ea,w(a)?{storeTableName:a}:a??{}))(a),s=t[ra];if(t.mode==ca){const{storeTableName:a=e}=t;return[1,s,[a],J(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=E(_(P(ua,o)),0,x(ua)),r=c[2],l=J(r);return[0,s,[da(n,{[ya]:null,[la]:f},ya,(a=>U(l,a)&&a==r)),da(i,{[wa]:null,[la]:f,deleteEmptyColumns:0,deleteEmptyTable:0},wa,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?ia:oa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(pa+fa))[0][fa],e=(await s(pa+Ta))[0][Ta],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&n==(T??=n)||(a(),d=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,O(L),l,y,u)};a.createExpoSqlitePersister=(a,t,e,s,n)=>ma(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>v(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),x=a=>u(D(a)),B=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),k=(a,t,e)=>(L(a,t)||Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=H();return[async()=>G(o,I(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,G(k(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?I(h(v(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!B(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=J();$(c??{},(a=>v(D(a??{}),(a=>U(E,a)))));const u=R(E);if(!w&&y&&A(u)&&L(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(A(u)||L(o,t)){const s=W(o,t),i=J(j(s));await d([...v(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?v(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${m(v(u,(a=>s+T(a))))});`),Y(o,t,H([[e,n],...v(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))L(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{C(s,t,...v(n,(t=>a?.[t]))),C(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+m(v(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+m(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>m(v(a,(()=>"?")),s),aa=JSON.parse,ta=H(),ea=H(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,g,m,v]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(o,a),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(C(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(Y(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),M(h)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[g,m,v,A]=Q(t,w,s,T),C=async(a,t)=>await d(q(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),L=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(h(await d(q(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await C(t),await L(e)}else{const[a,e]=t();await C(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,x(t));l(o[0])||n(i,o[0])||Y(s,i,o)})),s},fa="pragma ",Ta="data_version",ga="schema_version",ma=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[m,v,A,h]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,x(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(m?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,R(h),l,y,u)};a.createExpoSqlitePersister=(a,t,e,n,s)=>ma(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t,e,a){"use strict";const s=t=>typeof t,n=s(""),o="utf8",i=t=>null==t,r=(t,e,a)=>i(t)?a?.():e(t),c=Object,y=t=>c.getPrototypeOf(t),l=c.keys,f=c.freeze,p=t=>(t=>!i(t)&&r(y(t),(t=>t==c.prototype||i(y(t))),(()=>!0)))(t)&&0==(t=>l(t).length)(t),d=JSON.parse,u=t=>new Map(t),h=(t,e)=>t?.get(e),w=(t,e,a)=>{return i(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||w(t,e,a()),h(t,e)},v=u(),A=u();t.createFilePersister=(t,y,l)=>((t,e,a,o,c,y,l,[d,u]=[],C=[])=>{let S,b,m,F=0,L=0;g(v,C,(()=>0)),g(A,C,(()=>[]));const T=(l?t.getMergeableContent:null)??t.getContent,M=t.getTransactionChanges,O=async t=>(2!=F&&(F=1,await P.schedule((async()=>{await t(),F=0}))),P),P={load:async(a,o)=>await O((async()=>{try{const a=await e();(l&&(t=>s(t)==n)(a[0])?t.applyMergeableChanges:t.setContent)(a)}catch{t.setContent([a,o])}})),startAutoLoad:async(a={},s={})=>(P.stopAutoLoad(),await P.load(a,s),L=1,m=o((async(a,s)=>{if(s){const e=s();await O((async()=>t.applyChanges(e)))}else await O((async()=>{try{t.setContent(a?.()??await e())}catch(t){y?.(t)}}))})),P),stopAutoLoad:()=>(L&&(c(m),m=void 0,L=0),P),save:async t=>(1!=F&&(F=2,await P.schedule((async()=>{try{await a(T,t)}catch(t){y?.(t)}F=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),S=t.addDidFinishTransactionListener((()=>{const[t,e]=M();p(t)&&p(e)||P.save((()=>[t,e]))})),P),stopAutoSave:()=>(r(S,t.delListener),S=void 0,P),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(h(A,C),...t),await(async()=>{if(!h(v,C)){for(w(v,C,1);!i((t=h(A,C),b=t.shift()));)try{await b()}catch(t){y?.(t)}w(v,C,0)}var t})(),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(P[d]=()=>u),f(P)})(t,(async()=>d(await a.readFile(y,o))),(async t=>{return await a.writeFile(y,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?c.fromEntries([...e]):e))),o);var e}),(t=>e.watch(y,(()=>t()))),(t=>t?.close()),l,!1,["getFilePath",y])},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterFile={},t.fs,t["fs/promises"]);
1
+ var e,t;e=this,t=function(e,t,a){"use strict";const s=e=>typeof e,n=s(""),o="utf8",r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=Object,l=e=>c.getPrototypeOf(e),y=c.keys,f=c.freeze,p=e=>(e=>!r(e)&&i(l(e),(e=>e==c.prototype||r(l(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),d=JSON.parse,u=e=>new Map(e),g=(e,t)=>e?.get(t),h=(e,t,a)=>{return r(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},w=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||h(e,t,a()),g(e,t)},v=u(),C=u(),b=e=>{return t=e?.[0],s(t)==n;var t};e.createFilePersister=(e,s,n)=>((e,t,a,s,n,o,c,[l,y]=[],d=[])=>{let u,A,M,S=0,m=0;w(v,d,(()=>0)),w(C,d,(()=>[]));const[F,L,T,O]=((e,t)=>!e||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!p(e)||!p(t)])(c,e),P=async e=>(2!=S&&(S=1,await x.schedule((async()=>{await e(),S=0}))),x),x={load:async(a,s)=>await P((async()=>{try{const a=await t();(F&&b(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(x.stopAutoLoad(),await x.load(a,n),m=1,M=s((async(a,s)=>{if(s){const t=s();await P((async()=>(F&&b(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await P((async()=>{try{const s=a?.()??await t();(F&&b(s)?e.setMergeableContent:e.setContent)(s)}catch(e){o?.(e)}}))})),x),stopAutoLoad:()=>(m&&(n(M),M=void 0,m=0),x),save:async e=>(1!=S&&(S=2,await x.schedule((async()=>{try{await a(L,e)}catch(e){o?.(e)}S=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=T();O(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(i(u,e.delListener),u=void 0,x),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(g(C,d),...e),await(async()=>{if(!g(v,d)){for(h(v,d,1);!r((e=g(C,d),A=e.shift()));)try{await A()}catch(e){o?.(e)}h(v,d,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(x[l]=()=>y),f(x)})(e,(async()=>d(await a.readFile(s,o))),(async e=>{return await a.writeFile(s,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?c.fromEntries([...t]):t))),o);var t}),(e=>t.watch(s,(()=>e()))),(e=>e?.close()),n,!0,["getFilePath",s])},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=Promise,n=clearInterval,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),c=e=>new s(e),i=async e=>s.all(e),d=(e,t)=>e.map(t),l=(e,...t)=>e.push(...t),y=Object,u=e=>y.getPrototypeOf(e),p=y.entries,w=y.keys,h=y.freeze,f=e=>(e=>!o(e)&&r(u(e),(e=>e==y.prototype||o(u(e))),(()=>!0)))(e)&&0==(e=>w(e).length)(e),g=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>{return o(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},A=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||b(e,t,a()),v(e,t)},S=g(),x=g(),C=globalThis.window,D=["t","v"],j={keyPath:"k"},m=async(e,t)=>{const a=((t,a)=>d(p(t),(([t,a])=>L(e,"put",{k:t,v:a}))))(t);d(await L(e,"getAllKeys"),(s=>((e,t)=>t in e)(t,s)?0:l(a,L(e,"delete",s)))),await i(a)},L=async(e,t,a)=>c(((s,n)=>{const o=e[t](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${t} error`)}));e.createIndexedDbPersister=(e,s,u=1,p)=>{const w=async(e,t=[],a=0)=>c(((n,o)=>{const r=(C?C.indexedDB:indexedDB).open(s,a?2:void 0);r.onupgradeneeded=()=>a&&d(D,(e=>{try{r.result.createObjectStore(e,j)}catch{}})),r.onsuccess=async()=>{try{const a=r.result.transaction(D,"readwrite"),s=await i(d(D,(async(s,n)=>await e(a.objectStore(s),t[n]))));r.result.close(),n(s)}catch(e){r.result.close(),o(e)}},r.onerror=()=>o("indexedDB.open error")}));return((e,s,n,c,i,d,y,[u,p]=[],w=[])=>{let g,C,D,j=0,m=0;A(S,w,(()=>0)),A(x,w,(()=>[]));const L=(y?e.getMergeableContent:null)??e.getContent,T=e.getTransactionChanges,k=async e=>(2!=j&&(j=1,await P.schedule((async()=>{await e(),j=0}))),P),P={load:async(n,o)=>await k((async()=>{try{const n=await s();(y&&(e=>t(e)==a)(n[0])?e.applyMergeableChanges:e.setContent)(n)}catch{e.setContent([n,o])}})),startAutoLoad:async(t={},a={})=>(P.stopAutoLoad(),await P.load(t,a),m=1,D=c((async(t,a)=>{if(a){const t=a();await k((async()=>e.applyChanges(t)))}else await k((async()=>{try{e.setContent(t?.()??await s())}catch(e){d?.(e)}}))})),P),stopAutoLoad:()=>(m&&(i(D),D=void 0,m=0),P),save:async e=>(1!=j&&(j=2,await P.schedule((async()=>{try{await n(L,e)}catch(e){d?.(e)}j=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),g=e.addDidFinishTransactionListener((()=>{const[e,t]=T();f(e)&&f(t)||P.save((()=>[e,t]))})),P),stopAutoSave:()=>(r(g,e.delListener),g=void 0,P),schedule:async(...e)=>(l(v(x,w),...e),await(async()=>{if(!v(S,w)){for(b(S,w,1);!o((e=v(x,w),C=e.shift()));)try{await C()}catch(e){d?.(e)}b(S,w,0)}var e})(),P),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(P[u]=()=>p),h(P)})(e,(async()=>await w((async e=>((e=[])=>y.fromEntries(e))(d(await L(e,"getAll"),(({k:e,v:t})=>[e,t])))))),(async e=>await w((async(e,t)=>await m(e,t)),e(),1)),(e=>setInterval(e,1e3*u)),(e=>n(e)),p,!1,["getDbName",s])},e.objectStoreMatch=m},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=Promise,s=clearInterval,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),c=e=>new n(e),i=async e=>n.all(e),l=(e,t)=>e.map(t),d=(e,...t)=>e.push(...t),y=Object,u=e=>y.getPrototypeOf(e),p=y.entries,g=y.keys,w=y.freeze,h=e=>(e=>!o(e)&&r(u(e),(e=>e==y.prototype||o(u(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>{return o(a)?(n=e,s=t,n?.delete(s),e):e?.set(t,a);var n,s},C=(e,t,a)=>{var n,s;return n=e,s=t,n?.has(s)||b(e,t,a()),v(e,t)},A=f(),S=f(),x=e=>{return n=e?.[0],t(n)==a;var n},M=globalThis.window,D=["t","v"],T={keyPath:"k"},j=async(e,t)=>{const a=((t,a)=>l(p(t),(([t,a])=>m(e,"put",{k:t,v:a}))))(t);l(await m(e,"getAllKeys"),(n=>((e,t)=>t in e)(t,n)?0:d(a,m(e,"delete",n)))),await i(a)},m=async(e,t,a)=>c(((n,s)=>{const o=e[t](a);o.onsuccess=()=>n(o.result),o.onerror=()=>s(`objectStore.${t} error`)}));e.createIndexedDbPersister=(e,t,a=1,n)=>{const u=async(e,a=[],n=0)=>c(((s,o)=>{const r=(M?M.indexedDB:indexedDB).open(t,n?2:void 0);r.onupgradeneeded=()=>n&&l(D,(e=>{try{r.result.createObjectStore(e,T)}catch{}})),r.onsuccess=async()=>{try{const t=r.result.transaction(D,"readwrite"),n=await i(l(D,(async(n,s)=>await e(t.objectStore(n),a[s]))));r.result.close(),s(n)}catch(e){r.result.close(),o(e)}},r.onerror=()=>o("indexedDB.open error")}));return((e,t,a,n,s,c,i,[l,y]=[],u=[])=>{let p,g,f,M=0,D=0;C(A,u,(()=>0)),C(S,u,(()=>[]));const[T,j,m,L]=((e,t)=>!e||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(i,e),k=async e=>(2!=M&&(M=1,await P.schedule((async()=>{await e(),M=0}))),P),P={load:async(a,n)=>await k((async()=>{try{const a=await t();(T&&x(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,n])}})),startAutoLoad:async(a={},s={})=>(P.stopAutoLoad(),await P.load(a,s),D=1,f=n((async(a,n)=>{if(n){const t=n();await k((async()=>(T&&x(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await k((async()=>{try{const n=a?.()??await t();(T&&x(n)?e.setMergeableContent:e.setContent)(n)}catch(e){c?.(e)}}))})),P),stopAutoLoad:()=>(D&&(s(f),f=void 0,D=0),P),save:async e=>(1!=M&&(M=2,await P.schedule((async()=>{try{await a(j,e)}catch(e){c?.(e)}M=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),p=e.addDidFinishTransactionListener((()=>{const e=m();L(e)&&P.save((()=>e))})),P),stopAutoSave:()=>(r(p,e.delListener),p=void 0,P),schedule:async(...e)=>(d(v(S,u),...e),await(async()=>{if(!v(A,u)){for(b(A,u,1);!o((e=v(S,u),g=e.shift()));)try{await g()}catch(e){c?.(e)}b(A,u,0)}var e})(),P),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(P[l]=()=>y),w(P)})(e,(async()=>await u((async e=>((e=[])=>y.fromEntries(e))(l(await m(e,"getAll"),(({k:e,v:t})=>[e,t])))))),(async e=>await u((async(e,t)=>await j(e,t)),e(),1)),(e=>setInterval(e,1e3*a)),(e=>s(e)),n,!1,["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 t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a="",s=e(a),o=t=>null==t,n=(t,e,a)=>o(t)?a?.():e(t),r=t=>e(t)==s,i=t=>t.length,c=Object,y=t=>c.getPrototypeOf(t),d=c.keys,p=c.freeze,l=t=>(t=>!o(t)&&n(y(t),(t=>t==c.prototype||o(y(t))),(()=>!0)))(t)&&0==(t=>i(d(t)))(t),u=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),h=JSON.parse,f="/store",v=t=>new Map(t),g=(t,e)=>t?.get(e),w=(t,e,a)=>{return o(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},m=(t,e,a)=>{var s,o;return s=t,o=e,s?.has(o)||w(t,e,a()),g(t,e)},C=v(),P=v(),S="message";t.createPartyKitPersister=(t,e,s,c)=>{const{host:y,room:d}=e.partySocketOptions,{storeProtocol:v="https",storePath:A=f,messagePrefix:L=a}={...r(s)?{storeProtocol:s}:s},b=v+"://"+y+"/parties/"+e.name+"/"+d+A,T=async t=>await(await fetch(b,{...t?{method:"PUT",body:u(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,i,c,y,[d,u]=[],h=[])=>{let f,v,S,A=0,L=0;m(C,h,(()=>0)),m(P,h,(()=>[]));const b=(y?t.getMergeableContent:null)??t.getContent,T=t.getTransactionChanges,O=async t=>(2!=A&&(A=1,await x.schedule((async()=>{await t(),A=0}))),x),x={load:async(a,s)=>await O((async()=>{try{const a=await e();(y&&r(a[0])?t.applyMergeableChanges:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},o={})=>(x.stopAutoLoad(),await x.load(a,o),L=1,S=s((async(a,s)=>{if(s){const e=s();await O((async()=>t.applyChanges(e)))}else await O((async()=>{try{t.setContent(a?.()??await e())}catch(t){c?.(t)}}))})),x),stopAutoLoad:()=>(L&&(i(S),S=void 0,L=0),x),save:async t=>(1!=A&&(A=2,await x.schedule((async()=>{try{await a(b,t)}catch(t){c?.(t)}A=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),f=t.addDidFinishTransactionListener((()=>{const[t,e]=T();l(t)&&l(e)||x.save((()=>[t,e]))})),x),stopAutoSave:()=>(n(f,t.delListener),f=void 0,x),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(g(P,h),...t),await(async()=>{if(!g(C,h)){for(w(C,h,1);!o((t=g(P,h),v=t.shift()));)try{await v()}catch(t){c?.(t)}w(C,h,0)}var t})(),x),getStore:()=>t,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(x[d]=()=>u),p(x)})(t,(async()=>await T()),(async(t,a)=>{var s,o;a?e.send((s=L,o=a(),s+"s"+(r(o)?o:u(o)))):await T(t())}),(t=>{const a=e=>n(((t,e,a)=>{const s=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],h((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(L,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return e.addEventListener(S,a),a}),(t=>{e.removeEventListener(S,t)}),c,!1,["getConnection",e])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a="",s=e(a),o=t=>null==t,n=(t,e,a)=>o(t)?a?.():e(t),r=t=>e(t)==s,i=t=>t.length,c=Object,y=t=>c.getPrototypeOf(t),d=c.keys,l=c.freeze,p=t=>(t=>!o(t)&&n(y(t),(t=>t==c.prototype||o(y(t))),(()=>!0)))(t)&&0==(t=>i(d(t)))(t),g=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),h=JSON.parse,u="/store",f=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return o(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},C=(t,e,a)=>{var s,o;return s=t,o=e,s?.has(o)||w(t,e,a()),v(t,e)},b=f(),m=f(),P=t=>r(t?.[0]),S="message";t.createPartyKitPersister=(t,e,s,c)=>{const{host:y,room:d}=e.partySocketOptions,{storeProtocol:f="https",storePath:A=u,messagePrefix:L=a}={...r(s)?{storeProtocol:s}:s},M=f+"://"+y+"/parties/"+e.name+"/"+d+A,T=async t=>await(await fetch(M,{...t?{method:"PUT",body:g(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,r,i,c,[y,d]=[],g=[])=>{let h,u,f,S=0,A=0;C(b,g,(()=>0)),C(m,g,(()=>[]));const[L,M,T,O]=((t,e)=>!t||o(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e)])(c,t),x=async t=>(2!=S&&(S=1,await j.schedule((async()=>{await t(),S=0}))),j),j={load:async(a,s)=>await x((async()=>{try{const a=await e();(L&&P(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},o={})=>(j.stopAutoLoad(),await j.load(a,o),A=1,f=s((async(a,s)=>{if(s){const e=s();await x((async()=>(L&&P(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await x((async()=>{try{const s=a?.()??await e();(L&&P(s)?t.setMergeableContent:t.setContent)(s)}catch(t){i?.(t)}}))})),j),stopAutoLoad:()=>(A&&(r(f),f=void 0,A=0),j),save:async t=>(1!=S&&(S=2,await j.schedule((async()=>{try{await a(M,t)}catch(t){i?.(t)}S=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),h=t.addDidFinishTransactionListener((()=>{const t=T();O(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(h,t.delListener),h=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(m,g),...t),await(async()=>{if(!v(b,g)){for(w(b,g,1);!o((t=v(m,g),u=t.shift()));)try{await u()}catch(t){i?.(t)}w(b,g,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(j[y]=()=>d),l(j)})(t,(async()=>await T()),(async(t,a)=>{var s,o;a?e.send((s=L,o=a(),s+"s"+(r(o)?o:g(o)))):await T(t())}),(t=>{const a=e=>n(((t,e,a)=>{const s=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],h((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(L,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return e.addEventListener(S,a),a}),(t=>{e.removeEventListener(S,t)}),c,!1,["getConnection",e])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=Object,i=t=>r.getPrototypeOf(t),c=r.keys,y=r.freeze,d=t=>(t=>!n(t)&&o(i(t),(t=>t==r.prototype||n(i(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=JSON.parse,p=t=>new Map(t),u=(t,e)=>t?.get(e),f=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},h=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||f(t,e,a()),u(t,e)},g=p(),w=p(),v=t=>t.headers.get("ETag");t.createRemotePersister=(t,i,c,p=5,A)=>{let C;return((t,s,r,i,c,l,p,[v,A]=[],C=[])=>{let S,T,b,m=0,L=0;h(g,C,(()=>0)),h(w,C,(()=>[]));const O=(p?t.getMergeableContent:null)??t.getContent,x=t.getTransactionChanges,M=async t=>(2!=m&&(m=1,await P.schedule((async()=>{await t(),m=0}))),P),P={load:async(n,o)=>await M((async()=>{try{const n=await s();(p&&(t=>e(t)==a)(n[0])?t.applyMergeableChanges:t.setContent)(n)}catch{t.setContent([n,o])}})),startAutoLoad:async(e={},a={})=>(P.stopAutoLoad(),await P.load(e,a),L=1,b=i((async(e,a)=>{if(a){const e=a();await M((async()=>t.applyChanges(e)))}else await M((async()=>{try{t.setContent(e?.()??await s())}catch(t){l?.(t)}}))})),P),stopAutoLoad:()=>(L&&(c(b),b=void 0,L=0),P),save:async t=>(1!=m&&(m=2,await P.schedule((async()=>{try{await r(O,t)}catch(t){l?.(t)}m=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),S=t.addDidFinishTransactionListener((()=>{const[t,e]=x();d(t)&&d(e)||P.save((()=>[t,e]))})),P),stopAutoSave:()=>(o(S,t.delListener),S=void 0,P),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(u(w,C),...t),await(async()=>{if(!u(g,C)){for(f(g,C,1);!n((t=u(w,C),T=t.shift()));)try{await T()}catch(t){l?.(t)}f(g,C,0)}var t})(),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(P[v]=()=>A),y(P)})(t,(async()=>{const t=await fetch(i);return C=v(t),l(await t.text())}),(async t=>{return await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const e=await fetch(i,{method:"HEAD"}),a=v(e);n(C)||n(a)||a==C||(C=a,t())}),1e3*p)),(t=>s(t)),A,!1,["getUrls",[i,c]])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),n=clearInterval,s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),r=Object,c=t=>r.getPrototypeOf(t),i=r.keys,y=r.freeze,l=t=>(t=>!s(t)&&o(c(t),(t=>t==r.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),d=JSON.parse,p=t=>new Map(t),g=(t,e)=>t?.get(e),h=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},u=(t,e,a)=>{var n,s;return n=t,s=e,n?.has(s)||h(t,e,a()),g(t,e)},f=p(),w=p(),v=t=>{return n=t?.[0],e(n)==a;var n},C=t=>t.headers.get("ETag");t.createRemotePersister=(t,e,a,c=5,i)=>{let p;return((t,e,a,n,r,c,i,[d,p]=[],C=[])=>{let b,A,S,T=0,M=0;u(f,C,(()=>0)),u(w,C,(()=>[]));const[m,L,O,x]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!l(t)||!l(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!l(t)||!l(e)])(i,t),P=async t=>(2!=T&&(T=1,await j.schedule((async()=>{await t(),T=0}))),j),j={load:async(a,n)=>await P((async()=>{try{const a=await e();(m&&v(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,n])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),M=1,S=n((async(a,n)=>{if(n){const e=n();await P((async()=>(m&&v(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const n=a?.()??await e();(m&&v(n)?t.setMergeableContent:t.setContent)(n)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(M&&(r(S),S=void 0,M=0),j),save:async t=>(1!=T&&(T=2,await j.schedule((async()=>{try{await a(L,t)}catch(t){c?.(t)}T=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),b=t.addDidFinishTransactionListener((()=>{const t=O();x(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(o(b,t.delListener),b=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(g(w,C),...t),await(async()=>{if(!g(f,C)){for(h(f,C,1);!s((t=g(w,C),A=t.shift()));)try{await A()}catch(t){c?.(t)}h(f,C,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(j[d]=()=>p),y(j)})(t,(async()=>{const t=await fetch(e);return p=C(t),d(await t.text())}),(async t=>{return await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(e,{method:"HEAD"}),n=C(a);s(p)||s(n)||n==p||(p=n,t())}),1e3*c)),(t=>n(t)),i,!1,["getUrls",[e,a]])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>c.all(a),p="_",f="_id",m=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==E(a),L=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,g=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),N=Object,b=a=>N.getPrototypeOf(a),S=N.entries,D=N.keys,I=N.freeze,M=(a=[])=>N.fromEntries(a),_=(...a)=>N.assign({},...a),P=(a,t)=>t in a,F=(a,t)=>A(S(a),(([a,e])=>t(e,a))),$=a=>N.values(a),B=a=>E(D(a)),W=a=>(a=>!l(a)&&y(b(a),(a=>a==N.prototype||l(b(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),Y=(a,t,e)=>(O(a,t)||q(a,t,e()),H(a,t)),G=(a,t,e,s=q)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:s(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),V=T+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,M(await d(A(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(T+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,G(Y(o,t,j),e,((a,t,e)=>{e!=H(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?M(L(A(await a(V+m(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=J();F(c??{},(a=>A(D(a??{}),(a=>U(u,a)))));const E=g(u);if(!w&&y&&h(E)&&O(o,t))return await a("DROP TABLE"+m(t)),void q(o,t);if(h(E)||O(o,t)){const n=H(o,t),i=J(x(n));await d([...A(E,(async e=>{C(i,e)||(await a(`ALTER TABLE${m(t)}ADD${m(e)}`),q(n,e,s))})),...!w&&r?A(g(i),(async s=>{s!=e&&(await a(`ALTER TABLE${m(t)}DROP${m(s)}`),q(n,s))})):[]])}else await a(`CREATE TABLE${m(t)}(${m(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(E,(a=>n+m(a))))});`),q(o,t,j([[e,s],...A(E,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+m(t)+"WHERE 1"):await d(F(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+m(t)+K+m(e)+"=?",[n]):h(E)||await X(a,t,e,D(s),[n,...$(s)],i)})));else if(h(E))O(o,t)&&await a("DELETE FROM"+m(t)+"WHERE 1");else{const s=L(x(H(o,t)),(a=>a!=e)),n=[],i=[];F(c??{},((a,t)=>{R(n,t,...A(s,(t=>a?.[t]))),R(i,t)})),await X(a,t,e,s,n),await a("DELETE FROM"+m(t)+K+m(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+v(A(i,(a=>n+m(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(c)/(E(i)+1)),1)+(r?"ON CONFLICT("+m(e)+")DO UPDATE SET"+v(A(i,(a=>m(a)+"=excluded."+m(a))),n):s),A(c,(a=>a??null))),Z=a=>v(A(a,(()=>"?")),n),aa=JSON.parse,ta=j(),ea=j(),sa=(a,t,e,s,n,i,o,[c,r]=[],u=[])=>{let E,d,p,f=0,m=0;Y(ta,u,(()=>0)),Y(ea,u,(()=>[]));const T=(o?a.getMergeableContent:null)??a.getContent,v=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await h.schedule((async()=>{await a(),f=0}))),h),h={load:async(e,s)=>await A((async()=>{try{const e=await t();(o&&w(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(h.stopAutoLoad(),await h.load(e,n),m=1,p=s((async(e,s)=>{if(s){const t=s();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(m&&(n(p),p=void 0,m=0),h),save:async a=>(1!=f&&(f=2,await h.schedule((async()=>{try{await e(T,a)}catch(a){i?.(a)}f=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const[a,t]=v();W(a)&&W(t)||h.save((()=>[a,t]))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(R(H(ea,u),...a),await(async()=>{if(!H(ta,u)){for(q(ta,u,1);!l((a=H(ea,u),d=a.shift()));)try{await d()}catch(a){i?.(a)}q(ta,u,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),I(h)},na="store",ia=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=Q(t,o,n);return sa(a,(async()=>await u((async()=>(await l(),aa((await y(i,f))[p]?.[na]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,[r,c],c)},oa=(a,t,e,s,n,[i,o,[c,r,y]],w,u,E,m)=>{const[T,v,A,h]=Q(t,w,n,m),R=async(a,t)=>await d(k(o,(async([e,s,n,i],o)=>{t&&!P(a,o)||await A(e,s,a[o],n,i,t)}))),O=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await T();const a=await(async()=>M(L(await d(k(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await T(),l(t)){const[t,e]=a();await R(t),await O(e)}else{const[a,e]=t();await R(a,!0),await O(e,!0)}}))),e,s,n,!1,[E,u],u)},ca="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",ya="tableId",wa="tableName",ua={mode:ca,[ra]:1},Ea={load:0,save:0,[wa]:e+"_values"},da=(a,t,e,s)=>{const n=j();return F(a,((a,i)=>{const o=u($(_(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||s(i,o[0])||q(n,i,o)})),n},pa="pragma ",fa="data_version",ma="schema_version",Ta=(a,t,s,n,i,o,c,l,y="getDb",E)=>{let d,p,m;const[v,A,h,L]=(a=>{const t=(a=>_(ua,w(a)?{storeTableName:a}:a??{}))(a),s=t[ra];if(t.mode==ca){const{storeTableName:a=e}=t;return[1,s,[a],J(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=u($(_(Ea,o)),0,B(Ea)),r=c[2],l=J(r);return[0,s,[da(n,{[ya]:null,[la]:f},ya,(a=>U(l,a)&&a==r)),da(i,{[wa]:null,[la]:f,deleteEmptyColumns:0,deleteEmptyTable:0},wa,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?ia:oa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(pa+fa))[0][fa],e=(await s(pa+ma))[0][ma],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&n==(m??=n)||(a(),d=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,g(L),l,y,E)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>Ta(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),h=a=>0==E(a),A=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),_=(...a)=>b.assign({},...a),P=(a,t)=>t in a,F=(a,t)=>v(S(a),(([a,e])=>t(e,a))),$=a=>b.values(a),B=a=>E(D(a)),W=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),Y=(a,t,e)=>(R(a,t)||q(a,t,e()),H(a,t)),G=(a,t,e,n=q)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),V=m+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,I(await d(v(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(m+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,G(Y(o,t,j),e,((a,t,e)=>{e!=H(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?I(A(v(await a(V+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=J();F(c??{},(a=>v(D(a??{}),(a=>U(u,a)))));const E=C(u);if(!w&&y&&h(E)&&R(o,t))return await a("DROP TABLE"+T(t)),void q(o,t);if(h(E)||R(o,t)){const s=H(o,t),i=J(x(s));await d([...v(E,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),q(s,e,n))})),...!w&&r?v(C(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),q(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${g(v(E,(a=>s+T(a))))});`),q(o,t,j([[e,n],...v(E,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d(F(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+K+T(e)+"=?",[s]):h(E)||await X(a,t,e,D(n),[s,...$(n)],i)})));else if(h(E))R(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=A(x(H(o,t)),(a=>a!=e)),s=[],i=[];F(c??{},((a,t)=>{L(s,t,...v(n,(t=>a?.[t]))),L(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+K+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+g(v(i,(a=>s+T(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(c)/(E(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+g(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>g(v(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let u,E,d,p=0,f=0;Y(ta,w,(()=>0)),Y(ea,w,(()=>[]));const[T,m,g,v]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!W(a)||!W(t)])(o,a),h=async a=>(2!=p&&(p=1,await A.schedule((async()=>{await a(),p=0}))),A),A={load:async(e,n)=>await h((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(A.stopAutoLoad(),await A.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await h((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await h((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),A),save:async a=>(1!=p&&(p=2,await A.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),u=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&A.save((()=>a))})),A),stopAutoSave:()=>(y(u,a.delListener),u=void 0,A),schedule:async(...a)=>(L(H(ea,w),...a),await(async()=>{if(!H(ta,w)){for(q(ta,w,1);!l((a=H(ea,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}q(ta,w,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>r),M(A)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,u]=Q(t,o,s);return sa(a,(async()=>await u((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,u,E,T)=>{const[m,g,v,h]=Q(t,w,s,T),L=async(a,t)=>await d(k(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await v(e,n,a[o],s,i,t)}))),R=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await m();const a=await(async()=>I(A(await d(k(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await g(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await L(t),await R(e)}else{const[a,e]=t();await L(a,!0),await R(e,!0)}}))),e,n,s,!1,[E,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",ua="tableName",Ea={mode:ra,[la]:1},da={load:0,save:0,[ua]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return F(a,((a,i)=>{const o=u($(_(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||q(s,i,o)})),s},fa="pragma ",Ta="data_version",ma="schema_version",ga=(a,t,n,s,i,o,c,l,y="getDb",E)=>{let d,p,T;const[g,v,h,A]=(a=>{const t=(a=>_(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u($(_(da,o)),0,B(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[ua]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ma))[0][ma],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,C(A),l,y,E)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>ga(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==E(a),L=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,g=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),N=Object,S=a=>N.getPrototypeOf(a),b=N.entries,D=N.keys,I=N.freeze,M=(a=[])=>N.fromEntries(a),P=(...a)=>N.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(b(a),(([a,e])=>t(e,a))),_=a=>N.values(a),B=a=>E(D(a)),H=a=>(a=>!l(a)&&y(S(a),(a=>a==N.prototype||l(S(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),q=(a,t,e)=>(O(a,t)||k(a,t,e()),W(a,t)),G=(a,t,e,n=k)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=v+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,M(await d(A(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(v+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,G(q(o,t,j),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?M(L(A(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=J();$(c??{},(a=>A(D(a??{}),(a=>U(u,a)))));const E=g(u);if(!w&&y&&h(E)&&O(o,t))return await a("DROP TABLE"+T(t)),void k(o,t);if(h(E)||O(o,t)){const s=W(o,t),i=J(x(s));await d([...A(E,(async e=>{C(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),k(s,e,n))})),...!w&&r?A(g(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),k(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>s+T(a))))});`),k(o,t,j([[e,n],...A(E,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):h(E)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(h(E))O(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=L(x(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{R(s,t,...A(n,(t=>a?.[t]))),R(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+m(A(i,(a=>s+T(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(c)/(E(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+m(A(i,(a=>T(a)+"=excluded."+T(a))),s):n),A(c,(a=>a??null))),Z=a=>m(A(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=(a,t,e,n,s,i,o,[c,r]=[],u=[])=>{let E,d,p,f=0,T=0;q(ta,u,(()=>0)),q(ea,u,(()=>[]));const v=(o?a.getMergeableContent:null)??a.getContent,m=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await h.schedule((async()=>{await a(),f=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(o&&w(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),T=1,p=n((async(e,n)=>{if(n){const t=n();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(T&&(s(p),p=void 0,T=0),h),save:async a=>(1!=f&&(f=2,await h.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}f=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const[a,t]=m();H(a)&&H(t)||h.save((()=>[a,t]))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(R(W(ea,u),...a),await(async()=>{if(!W(ta,u)){for(k(ta,u,1);!l((a=W(ea,u),d=a.shift()));)try{await d()}catch(a){i?.(a)}k(ta,u,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),I(h)},sa="store",ia=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,u]=Q(t,o,s);return na(a,(async()=>await u((async()=>(await l(),aa((await y(i,f))[p]?.[sa]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},oa=(a,t,e,n,s,[i,o,[c,r,y]],w,u,E,T)=>{const[v,m,A,h]=Q(t,w,s,T),R=async(a,t)=>await d(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await A(e,n,a[o],s,i,t)}))),O=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await v();const a=await(async()=>M(L(await d(Y(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),l(t)){const[t,e]=a();await R(t),await O(e)}else{const[a,e]=t();await R(a,!0),await O(e,!0)}}))),e,n,s,!1,[E,u],u)},ca="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",ya="tableId",wa="tableName",ua={mode:ca,[ra]:1},Ea={load:0,save:0,[wa]:e+"_values"},da=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const o=u(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||k(s,i,o)})),s},pa="pragma ",fa="data_version",Ta="schema_version",va=(a,t,n,s,i,o,c,l,y="getDb",E)=>{let d,p,T;const[m,A,h,L]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[ra];if(t.mode==ca){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(_(P(Ea,o)),0,B(Ea)),r=c[2],l=J(r);return[0,n,[da(s,{[ya]:null,[la]:f},ya,(a=>U(l,a)&&a==r)),da(i,{[wa]:null,[la]:f,deleteEmptyColumns:0,deleteEmptyTable:0},wa,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(m?ia:oa)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(pa+fa))[0][fa],e=(await n(pa+Ta))[0][Ta],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,g(L),l,y,E)},ma="change";a.createSqlite3Persister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new c(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ma,e),e}),(a=>t.off(ma,a)),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>m(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),H=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),q=(a,t,e)=>(C(a,t)||k(a,t,e()),W(a,t)),G=(a,t,e,n=k)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,G(q(o,t,j),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?I(h(m(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=J();$(c??{},(a=>m(D(a??{}),(a=>U(E,a)))));const u=R(E);if(!w&&y&&A(u)&&C(o,t))return await a("DROP TABLE"+T(t)),void k(o,t);if(A(u)||C(o,t)){const s=W(o,t),i=J(x(s));await d([...m(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),k(s,e,n))})),...!w&&r?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),k(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(u,(a=>s+T(a))))});`),k(o,t,j([[e,n],...m(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))C(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(x(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{L(s,t,...m(n,(t=>a?.[t]))),L(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(m(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(m(i,(a=>T(a)+"=excluded."+T(a))),s):n),m(c,(a=>a??null))),Z=a=>v(m(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;q(ta,w,(()=>0)),q(ea,w,(()=>[]));const[T,g,v,m]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!H(a)||!H(t)])(o,a),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(L(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(k(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(ta,w,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),M(h)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[g,v,m,A]=Q(t,w,s,T),L=async(a,t)=>await d(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await m(e,n,a[o],s,i,t)}))),C=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(h(await d(Y(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await L(t),await C(e)}else{const[a,e]=t();await L(a,!0),await C(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||k(s,i,o)})),s},fa="pragma ",Ta="data_version",ga="schema_version",va=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[v,m,A,h]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,B(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,R(h),l,y,u)},ma="change";a.createSqlite3Persister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new c(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ma,e),e}),(a=>t.off(ma,a)),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});