tinybase 5.0.0-beta.2 → 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 (274) 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-partykit-server.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  24. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  26. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  30. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  31. package/lib/cjs/persisters.cjs +1 -1
  32. package/lib/cjs/persisters.cjs.gz +0 -0
  33. package/lib/cjs/store.cjs +1 -1
  34. package/lib/cjs/store.cjs.gz +0 -0
  35. package/lib/cjs/tinybase.cjs +1 -1
  36. package/lib/cjs/tinybase.cjs.gz +0 -0
  37. package/lib/cjs/tools.cjs +1 -1
  38. package/lib/cjs/tools.cjs.gz +0 -0
  39. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  40. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  41. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  42. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  43. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  44. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters.cjs +1 -1
  72. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  73. package/lib/cjs-es6/store.cjs +1 -1
  74. package/lib/cjs-es6/store.cjs.gz +0 -0
  75. package/lib/cjs-es6/tinybase.cjs +1 -1
  76. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  77. package/lib/cjs-es6/tools.cjs +1 -1
  78. package/lib/cjs-es6/tools.cjs.gz +0 -0
  79. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  80. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  81. package/lib/debug/mergeable-store.js +223 -211
  82. package/lib/debug/persisters/persister-automerge.js +62 -41
  83. package/lib/debug/persisters/persister-browser.js +48 -16
  84. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +97 -52
  85. package/lib/debug/persisters/persister-electric-sql.js +97 -52
  86. package/lib/debug/persisters/persister-expo-sqlite-next.js +97 -52
  87. package/lib/debug/persisters/persister-expo-sqlite.js +97 -52
  88. package/lib/debug/persisters/persister-file.js +47 -16
  89. package/lib/debug/persisters/persister-indexed-db.js +48 -18
  90. package/lib/debug/persisters/persister-partykit-client.js +46 -21
  91. package/lib/debug/persisters/persister-partykit-server.js +8 -18
  92. package/lib/debug/persisters/persister-remote.js +48 -16
  93. package/lib/debug/persisters/persister-sqlite-wasm.js +97 -52
  94. package/lib/debug/persisters/persister-sqlite3.js +97 -52
  95. package/lib/debug/persisters/persister-yjs.js +64 -40
  96. package/lib/debug/persisters.js +47 -16
  97. package/lib/debug/store.js +61 -83
  98. package/lib/debug/tinybase.js +264 -227
  99. package/lib/debug/tools.js +9 -11
  100. package/lib/debug/ui-react-dom.js +104 -99
  101. package/lib/es6/mergeable-store.js +1 -1
  102. package/lib/es6/mergeable-store.js.gz +0 -0
  103. package/lib/es6/persisters/persister-automerge.js +1 -1
  104. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  105. package/lib/es6/persisters/persister-browser.js +1 -1
  106. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  107. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  108. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  109. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  110. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  111. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  112. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  113. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  114. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  115. package/lib/es6/persisters/persister-file.js +1 -1
  116. package/lib/es6/persisters/persister-file.js.gz +0 -0
  117. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  118. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  119. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  120. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  121. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  122. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  123. package/lib/es6/persisters/persister-remote.js +1 -1
  124. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  125. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  126. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  127. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  128. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  129. package/lib/es6/persisters/persister-yjs.js +1 -1
  130. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  131. package/lib/es6/persisters.js +1 -1
  132. package/lib/es6/persisters.js.gz +0 -0
  133. package/lib/es6/store.js +1 -1
  134. package/lib/es6/store.js.gz +0 -0
  135. package/lib/es6/tinybase.js +1 -1
  136. package/lib/es6/tinybase.js.gz +0 -0
  137. package/lib/es6/tools.js +1 -1
  138. package/lib/es6/tools.js.gz +0 -0
  139. package/lib/es6/ui-react-dom-debug.js +1 -1
  140. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  141. package/lib/mergeable-store.js +1 -1
  142. package/lib/mergeable-store.js.gz +0 -0
  143. package/lib/persisters/persister-automerge.js +1 -1
  144. package/lib/persisters/persister-automerge.js.gz +0 -0
  145. package/lib/persisters/persister-browser.js +1 -1
  146. package/lib/persisters/persister-browser.js.gz +0 -0
  147. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  148. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  149. package/lib/persisters/persister-electric-sql.js +1 -1
  150. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  151. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  152. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  153. package/lib/persisters/persister-expo-sqlite.js +1 -1
  154. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  155. package/lib/persisters/persister-file.js +1 -1
  156. package/lib/persisters/persister-file.js.gz +0 -0
  157. package/lib/persisters/persister-indexed-db.js +1 -1
  158. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  159. package/lib/persisters/persister-partykit-client.js +1 -1
  160. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  161. package/lib/persisters/persister-partykit-server.js +1 -1
  162. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  163. package/lib/persisters/persister-remote.js +1 -1
  164. package/lib/persisters/persister-remote.js.gz +0 -0
  165. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  166. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  167. package/lib/persisters/persister-sqlite3.js +1 -1
  168. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  169. package/lib/persisters/persister-yjs.js +1 -1
  170. package/lib/persisters/persister-yjs.js.gz +0 -0
  171. package/lib/persisters.js +1 -1
  172. package/lib/persisters.js.gz +0 -0
  173. package/lib/store.js +1 -1
  174. package/lib/store.js.gz +0 -0
  175. package/lib/tinybase.js +1 -1
  176. package/lib/tinybase.js.gz +0 -0
  177. package/lib/tools.js +1 -1
  178. package/lib/tools.js.gz +0 -0
  179. package/lib/types/mergeable-store.d.ts +43 -13
  180. package/lib/types/persisters/persister-browser.d.ts +2 -2
  181. package/lib/types/persisters/persister-file.d.ts +1 -1
  182. package/lib/types/persisters/persister-partykit-server.d.ts +7 -8
  183. package/lib/types/persisters.d.ts +61 -30
  184. package/lib/types/store.d.ts +153 -111
  185. package/lib/types/tools.d.ts +2 -2
  186. package/lib/types/with-schemas/mergeable-store.d.ts +46 -13
  187. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
  188. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
  189. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +10 -11
  190. package/lib/types/with-schemas/persisters.d.ts +88 -45
  191. package/lib/types/with-schemas/store.d.ts +165 -136
  192. package/lib/types/with-schemas/tools.d.ts +2 -2
  193. package/lib/umd/mergeable-store.js +1 -1
  194. package/lib/umd/mergeable-store.js.gz +0 -0
  195. package/lib/umd/persisters/persister-automerge.js +1 -1
  196. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  197. package/lib/umd/persisters/persister-browser.js +1 -1
  198. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  199. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  200. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  201. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  202. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  203. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  204. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  205. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  206. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  207. package/lib/umd/persisters/persister-file.js +1 -1
  208. package/lib/umd/persisters/persister-file.js.gz +0 -0
  209. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  210. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  211. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  212. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  213. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  214. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  215. package/lib/umd/persisters/persister-remote.js +1 -1
  216. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  217. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  218. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  219. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  220. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  221. package/lib/umd/persisters/persister-yjs.js +1 -1
  222. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  223. package/lib/umd/persisters.js +1 -1
  224. package/lib/umd/persisters.js.gz +0 -0
  225. package/lib/umd/store.js +1 -1
  226. package/lib/umd/store.js.gz +0 -0
  227. package/lib/umd/tinybase.js +1 -1
  228. package/lib/umd/tinybase.js.gz +0 -0
  229. package/lib/umd/tools.js +1 -1
  230. package/lib/umd/tools.js.gz +0 -0
  231. package/lib/umd/ui-react-dom-debug.js +1 -1
  232. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  233. package/lib/umd-es6/mergeable-store.js +1 -1
  234. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  235. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  236. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  237. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  238. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  239. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  240. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  241. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  242. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  243. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  244. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  245. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  246. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  247. package/lib/umd-es6/persisters/persister-file.js +1 -1
  248. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  249. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  250. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  251. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  252. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  253. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  254. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  255. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  256. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  257. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  258. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  259. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  260. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  261. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  262. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  263. package/lib/umd-es6/persisters.js +1 -1
  264. package/lib/umd-es6/persisters.js.gz +0 -0
  265. package/lib/umd-es6/store.js +1 -1
  266. package/lib/umd-es6/store.js.gz +0 -0
  267. package/lib/umd-es6/tinybase.js +1 -1
  268. package/lib/umd-es6/tinybase.js.gz +0 -0
  269. package/lib/umd-es6/tools.js +1 -1
  270. package/lib/umd-es6/tools.js.gz +0 -0
  271. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  272. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  273. package/package.json +29 -25
  274. package/readme.md +2 -2
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),a=e(e),r="type",o="default",c="Has",i="Ids",d="Table",u=d+"s",h=d+i,g="Row",C=g+"Count",T=g+i,f="Cell",b=f+i,V="Value",v=V+"s",S=V+i,w=e=>t+e,I=(e,t)=>e.startsWith(t),R=(e,t)=>e.endsWith(t),m=(e,t=0)=>e.charCodeAt(t),p=isFinite,y=e=>null==e,L=(e,t,s)=>y(e)?s?.():t(e),J=e=>e==s||e==n,M=t=>e(t)==a,E=(e,t,s)=>e.slice(t,s),H=e=>e.length,P=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),x=Object,z=e=>x.getPrototypeOf(e),A=x.entries,W=x.keys,k=x.isFrozen,D=x.freeze,N=e=>!y(e)&&L(z(e),(e=>e==x.prototype||y(z(e))),(()=>!0)),j=(e,t)=>!y(((e,t)=>L(e,(e=>e[t])))(e,t)),$=(e,t)=>(delete e[t],e),q=(e,t)=>F(A(e),(([e,s])=>t(s,e))),B=e=>N(e)&&0==(e=>H(W(e)))(e),G=e=>e?.size??0,K=(e,t)=>e?.has(t)??!1,Q=e=>y(e)||0==G(e),U=e=>e.clear(),X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),Z=e=>new Map(e),_=e=>[...e?.keys()??[]],ee=(e,t)=>e?.get(t),te=(e,t)=>X(e,((e,s)=>t(s,e))),se=(e,t,s)=>y(s)?(Y(e,t),e):e?.set(t,s),ne=(e,t,s)=>(K(e,t)||se(e,t,s()),ee(e,t)),le=(e,t,s,n=se)=>(q(t,((t,n)=>s(e,n,t))),te(e,(s=>j(t,s)?0:n(e,s))),e),ae=(e,t,s)=>{const n={};return X(e,((e,l)=>{const a=t?t(e,l):e;!s?.(a,e)&&(n[l]=a)})),n},re=(e,t,s)=>ae(e,(e=>ae(e,t,s)),B),oe=(e,t,s)=>ae(e,(e=>re(e,t,s)),B),ce=(e,t)=>{const s=Z();return X(e,((e,n)=>s.set(n,t?.(e)??e))),s},ie=e=>ce(e,ce),de=e=>ce(e,ie),ue=(e,t,s,n,l=0)=>L((s?ne:ee)(e,t[l],l>H(t)-2?s:Z),(a=>{if(l>H(t)-2)return n?.(a)&&se(e,t[l]),a;const r=ue(a,t,s,n,l+1);return Q(a)&&se(e,t[l]),r})),he=()=>[t,null],ge=()=>[t,Z()],Ce=(e,t)=>Te(e,((e,s)=>[s,y(e)?null:ae(e,t)])),Te=([e,t],s)=>s(t,e),fe=([e,t],s,n,l=0)=>{const a=e>s[0];return(!l&&null!==s[1]||a)&&(s[1]=n(t,s[1])),a&&(s[0]=e),s},be=(e,t,s,n)=>{var l;return l=(e,l)=>fe(e,ne(t,l,he),((e,t)=>!n||y(e)?s[l]=e??null:(t??=Z(),s[l]={},n(e,t,l),t)),n?0:1),P(A(e),(([e,t])=>l(t,e))),t},Ve=e=>new Set(Array.isArray(e)||y(e)?e:[e]),ve=(e,t)=>e?.add(t),Se=/^\d+$/,we=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{Se.test(t)&&H(e)<1e3&&O(e,t)}]},Ie=e=>[e,e],Re=()=>[Z(),Z()],me=e=>[...e],pe=([e,t])=>e===t,ye=t=>{const s=e(t);return J(s)||s==l&&p(t)?s:void 0},Le=(e,t,s,n,l)=>y(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),Je=(e,t,s)=>y(s)?e.delValue(t):e.setValue(t,s),Me=e=>JSON.stringify(e,((e,t)=>t instanceof Map?x.fromEntries([...t]):t)),Ee=JSON.parse,He=(e,t,s)=>y(e)||!N(e)||B(e)||k(e)?(s?.(),!1):(q(e,((s,n)=>{t(s,n)||$(e,n)})),!B(e)),Pe=(e,t,s)=>se(e,t,ee(e,t)==-s?void 0:s),Fe=()=>{let e,s,n,a=!1,i=!1,I=!1,R=!1,m=0;const p=Z(),x=Z(),z=Z(),A=Z(),W=Z(),k=Z(),N=Z(),he=Z(),ge=Z(),Ce=Z(),Te=Z(),fe=Z(),be=Z(),Se=Z(),Oe=Ve(),xe=Z(),ze=Z(),Ae=Z(),We=Z(),ke=Re(),De=Re(),Ne=Re(),je=Re(),$e=Re(),qe=Re(),Be=Re(),Ge=Re(),Ke=Re(),Qe=Re(),Ue=Re(),Xe=Re(),Ye=Re(),Ze=Re(),_e=Re(),et=Re(),tt=Re(),st=Re(),nt=Re(),lt=Re(),at=Re(),rt=Re(),ot=Z(),ct=Re(),[it,dt,ut,ht]=(e=>{let s;const[n,l]=we(),a=Z();return[(e,l,r,o=[],c=(()=>[]))=>{s??=Os;const i=n(1);return se(a,i,[e,l,r,o,c]),ve(ue(l,r??[t],Ve),i),i},(e,n,...l)=>P(((e,s=[t])=>{const n=[],l=(e,t)=>t==H(s)?O(n,e):null===s[t]?X(e,(e=>l(e,t+1))):P([s[t],null],(s=>l(ee(e,s),t+1)));return l(e,0),n})(e,n),(e=>X(e,(e=>ee(a,e)[0](s,...n??[],...l))))),e=>L(ee(a,e),(([,s,n])=>(ue(s,n??[t],void 0,(t=>(Y(t,e),Q(t)?1:0))),se(a,e),l(e),n))),e=>L(ee(a,e),(([e,,t=[],n,l])=>{const a=(...r)=>{const o=H(r);o==H(t)?e(s,...r,...l(r)):y(t[o])?P(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),gt=e=>{if(!He(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!J(t)&&t!=l||(ye(e[o])!=t&&$(e,o),0))},Ct=(t,s)=>(!e||K(Te,s)||qt(s))&&He(t,((e,t)=>Tt(s,t,e)),(()=>qt(s))),Tt=(e,t,s,n)=>He(n?s:vt(s,e,t),((n,l)=>L(ft(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>qt(e,t))),ft=(t,s,n,l)=>e?L(ee(ee(Te,t),n),(e=>ye(l)!=e[r]?qt(t,s,n,l,e[o]):l),(()=>qt(t,s,n,l))):y(ye(l))?qt(t,s,n,l):l,bt=(e,t)=>He(t?e:St(e),((t,s)=>L(Vt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Vt=(e,t)=>s?L(ee(be,e),(s=>ye(t)!=s[r]?Bt(e,t,s[o]):t),(()=>Bt(e,t))):y(ye(t))?Bt(e,t):t,vt=(e,t,s)=>(L(ee(fe,t),(([n,l])=>{X(n,((t,s)=>{j(e,s)||(e[s]=t)})),X(l,(n=>{j(e,n)||qt(t,s,n)}))})),e),St=e=>(s&&(X(Se,((t,s)=>{j(e,s)||(e[s]=t)})),X(Oe,(t=>{j(e,t)||Bt(t)}))),e),wt=e=>le(Te,e,((e,t,s)=>{const n=Z(),l=Ve();le(ne(Te,t,Z),s,((e,t,s)=>{se(e,t,s),L(s[o],(e=>se(n,t,e)),(()=>ve(l,t)))})),se(fe,t,[n,l])}),((e,t)=>{se(Te,t),se(fe,t)})),It=e=>le(be,e,((e,t,s)=>{se(be,t,s),L(s[o],(e=>se(Se,t,e)),(()=>ve(Oe,t)))}),((e,t)=>{se(be,t),se(Se,t),Y(Oe,t)})),Rt=e=>B(e)?ps():Ss(e),mt=e=>le(Ae,e,((e,t,s)=>pt(t,s)),((e,t)=>Ot(t))),pt=(e,t)=>le(ne(Ae,e,(()=>(Wt(e,1),se(xe,e,we()),se(ze,e,Z()),Z()))),t,((t,s,n)=>yt(e,t,s,n)),((t,s)=>xt(e,t,s))),yt=(e,t,s,n,l)=>le(ne(t,s,(()=>(kt(e,s,1),Z()))),n,((t,n,l)=>Lt(e,s,t,n,l)),((n,a)=>zt(e,t,s,n,a,l))),Lt=(e,t,s,n,l)=>{K(s,n)||Dt(e,t,n,1);const a=ee(s,n);l!==a&&(Nt(e,t,n,a,l),se(s,n,l))},Jt=(e,t,s,n,l)=>L(ee(t,s),(t=>Lt(e,s,t,n,l)),(()=>yt(e,t,s,vt({[n]:l},e,s)))),Mt=e=>B(e)?Js():ws(e),Et=e=>le(We,e,((e,t,s)=>Ht(t,s)),((e,t)=>At(t))),Ht=(e,t)=>{K(We,e)||jt(e,1);const s=ee(We,e);t!==s&&($t(e,s,t),se(We,e,t))},Pt=(e,t)=>{const[s]=ee(xe,e),n=s(t);return K(ee(Ae,e),n)?Pt(e,t):n},Ft=e=>ee(Ae,e)??pt(e,{}),Ot=e=>pt(e,{}),xt=(e,t,s)=>{const[,n]=ee(xe,e);n(s),yt(e,t,s,{},!0)},zt=(e,t,s,n,l,a)=>{const r=ee(ee(fe,e)?.[0],l);if(!y(r)&&!a)return Lt(e,s,n,l,r);const o=t=>{Nt(e,s,t,ee(n,t)),Dt(e,s,t,-1),se(n,t)};y(r)?o(l):te(n,o),Q(n)&&(kt(e,s,-1),Q(se(t,s))&&(Wt(e,-1),se(Ae,e),se(xe,e),se(ze,e)))},At=e=>{const t=ee(Se,e);if(!y(t))return Ht(e,t);$t(e,ee(We,e)),jt(e,-1),se(We,e)},Wt=(e,t)=>Pe(p,e,t),kt=(e,t,s)=>Pe(ne(A,e,Z),t,s)&&se(z,e,ne(z,e,(()=>0))+s),Dt=(e,t,s,n)=>{const l=ee(ze,e),a=ee(l,s)??0;(0==a&&1==n||1==a&&-1==n)&&Pe(ne(x,e,Z),s,n),se(l,s,a!=-n?a+n:null),Pe(ne(ne(W,e,Z),t,Z),s,n)},Nt=(e,t,s,n,l)=>ne(ne(ne(k,e,Z),t,Z),s,(()=>[n,0]))[1]=l,jt=(e,t)=>Pe(N,e,t),$t=(e,t,s)=>ne(he,e,(()=>[t,0]))[1]=s,qt=(e,t,s,n,l)=>(O(ne(ne(ne(ge,e,Z),t,Z),s,(()=>[])),n),l),Bt=(e,t,s)=>(O(ne(Ce,e,(()=>[])),t),s),Gt=(e,t,s)=>L(ee(ee(ee(k,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ie(is(e,t,s))])),Kt=e=>L(ee(he,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ie(hs(e))])),Qt=e=>Q(ge)||Q(et[e])?0:X(e?de(ge):ge,((t,s)=>X(t,((t,n)=>X(t,((t,l)=>dt(et[e],[s,n,l],t))))))),Ut=e=>Q(Ce)||Q(tt[e])?0:X(e?ce(Ce):Ce,((t,s)=>dt(tt[e],[s],t))),Xt=(e,t,s,n)=>{if(!Q(e))return dt(t,n,(()=>ae(e))),te(e,((e,t)=>dt(s,[...n??[],e],1==t))),1},Yt=e=>{const t=gs();t!=I&&dt(ke[e],void 0,t);const s=Q(Qe[e]),n=Q(Ye[e])&&Q(Ze[e])&&Q(Ke[e])&&Q(Ue[e])&&Q(qe[e])&&Q(Be[e])&&Q(Ge[e])&&s&&Q(Ne[e])&&Q(je[e]),l=Q(_e[e])&&Q(Xe[e])&&Q($e[e])&&Q(De[e]);if(!n||!l){const t=e?[ce(p),ie(x),ce(z),ie(A),de(W),de(k)]:[p,x,z,A,W,k];if(!n){Xt(t[0],Ne[e],je[e]),X(t[1],((t,s)=>Xt(t,qe[e],Be[e],[s]))),X(t[2],((t,s)=>{0!=t&&dt(Ge[e],[s],as(s))}));const n=Ve();X(t[3],((t,l)=>{Xt(t,Ke[e],Ue[e],[l])&&!s&&(dt(Qe[e],[l,null]),ve(n,l))})),s||X(t[5],((t,s)=>{if(!K(n,s)){const n=Ve();X(t,(e=>X(e,(([t,s],l)=>s!==t?ve(n,l):Y(e,l))))),X(n,(t=>dt(Qe[e],[s,t])))}})),X(t[4],((t,s)=>X(t,((t,n)=>Xt(t,Ye[e],Ze[e],[s,n])))))}if(!l){let s;X(t[5],((t,n)=>{let l;X(t,((t,a)=>{let r;X(t,(([t,o],c)=>{o!==t&&(dt(_e[e],[n,a,c],o,t,Gt),s=l=r=1)})),r&&dt(Xe[e],[n,a],Gt)})),l&&dt($e[e],[n],Gt)})),s&&dt(De[e],void 0,Gt)}}},Zt=e=>{const t=Vs();t!=R&&dt(st[e],void 0,t);const s=Q(lt[e])&&Q(at[e]),n=Q(rt[e])&&Q(nt[e]);if(!s||!n){const t=e?[ce(N),ce(he)]:[N,he];if(s||Xt(t[0],lt[e],at[e]),!n){let s;X(t[1],(([t,n],l)=>{n!==t&&(dt(rt[e],[l],n,t,Kt),s=1)})),s&&dt(nt[e],void 0,Kt)}}},_t=(e,...t)=>(Hs((()=>e(...F(t,w)))),Os),es=()=>[ae(k,((e,t)=>-1===ee(p,t)?null:ae(e,((e,s)=>-1===ee(ee(A,t),s)?null:ae(e,(([,e])=>e??null),((e,t)=>pe(t)))),B)),B),ae(he,(([,e])=>e??null),((e,t)=>pe(t)))],ts=()=>({cellsTouched:a,valuesTouched:i,changedCells:oe(k,me,pe),invalidCells:oe(ge),changedValues:ae(he,me,pe),invalidValues:ae(Ce),changedTableIds:ae(p),changedRowIds:re(A),changedCellIds:oe(W),changedValueIds:ae(N)}),ss=()=>oe(Ae),ns=()=>_(Ae),ls=e=>_(ee(ze,w(e))),as=e=>G(ee(Ae,w(e))),rs=e=>_(ee(Ae,w(e))),os=(e,t,s,n=0,l)=>{return F(E((r=ee(Ae,w(e)),o=(e,s)=>[y(t)?s:ee(e,w(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,y(l)?l:n+l),(([,e])=>e));var a,r,o},cs=(e,t)=>_(ee(ee(Ae,w(e)),w(t))),is=(e,t,s)=>ee(ee(ee(Ae,w(e)),w(t)),w(s)),ds=()=>ae(We),us=()=>_(We),hs=e=>ee(We,w(e)),gs=()=>!Q(Ae),Cs=e=>K(Ae,w(e)),Ts=(e,t)=>K(ee(ze,w(e)),w(t)),fs=(e,t)=>K(ee(Ae,w(e)),w(t)),bs=(e,t,s)=>K(ee(ee(Ae,w(e)),w(t)),w(s)),Vs=()=>!Q(We),vs=e=>K(We,w(e)),Ss=e=>_t((()=>(e=>He(e,Ct,qt))(e)?mt(e):0)),ws=e=>_t((()=>bt(e)?Et(e):0)),Is=e=>{try{Rt(Ee(e))}catch{}return Os},Rs=t=>_t((()=>{if((e=He(t,(e=>He(e,gt))))&&(wt(t),!Q(Ae))){const e=ss();ps(),Ss(e)}})),ms=e=>_t((()=>{if(s=(e=>He(e,gt))(e)){const t=ds();Es(),Js(),s=!0,It(e),ws(t)}})),ps=()=>_t((()=>mt({}))),ys=e=>_t((e=>K(Ae,e)?Ot(e):0),e),Ls=(e,t)=>_t(((e,t)=>L(ee(Ae,e),(s=>K(s,t)?xt(e,s,t):0))),e,t),Js=()=>_t((()=>Et({}))),Ms=()=>_t((()=>{wt({}),e=!1})),Es=()=>_t((()=>{It({}),s=!1})),Hs=(e,t)=>{if(-1!=m){Ps();const s=e();return Fs(t),s}},Ps=()=>(-1!=m&&m++,1==m&&dt(ot,void 0,es,ts),Os),Fs=e=>(m>0&&(m--,0==m&&(a=!Q(k),i=!Q(he),m=1,Qt(1),a&&Yt(1),Ut(1),i&&Zt(1),e?.(es,ts)&&(X(k,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>Le(Os,t,s,n,e))))))),X(he,(([e],t)=>Je(Os,t,e))),a=i=!1),dt(ct[0],void 0,es,ts),m=-1,Qt(0),a&&Yt(0),Ut(0),i&&Zt(0),dt(ct[1],void 0,es,ts),n?.(Os,es,ts),m=0,a=i=!1,I=gs(),R=Vs(),P([p,x,z,A,W,k,ge,N,he,Ce],U))),Os),Os={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>re(ee(Ae,w(e))),getTableCellIds:ls,getRowCount:as,getRowIds:rs,getSortedRowIds:os,getRow:(e,t)=>ae(ee(ee(Ae,w(e)),w(t))),getCellIds:cs,getCell:is,getValues:ds,getValueIds:us,getValue:hs,hasTables:gs,hasTable:Cs,hasTableCell:Ts,hasRow:fs,hasCell:bs,hasValues:Vs,hasValue:vs,getTablesJson:()=>Me(Ae),getValuesJson:()=>Me(We),getJson:()=>Me([Ae,We]),getTablesSchemaJson:()=>Me(Te),getValuesSchemaJson:()=>Me(be),getSchemaJson:()=>Me([Te,be]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>_t((()=>{(B(e)?ps:Ss)(e),(B(t)?Js:ws)(t)})),setTables:Ss,setTable:(e,t)=>_t((e=>Ct(t,e)?pt(e,t):0),e),setRow:(e,t,s)=>_t(((e,t)=>Tt(e,t,s)?yt(e,Ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Hs((()=>{let n;return Tt(e,n,t)&&(e=w(e),yt(e,Ft(e),n=Pt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>_t(((e,t)=>{if(Tt(e,t,s,1)){const n=Ft(e);q(s,((s,l)=>Jt(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>_t(((e,t,s)=>L(ft(e,t,s,M(n)?n(is(e,t,s)):n),(n=>Jt(e,Ft(e),t,s,n)))),e,t,s),setValues:ws,setPartialValues:e=>_t((()=>bt(e,1)?q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>_t((e=>L(Vt(e,M(t)?t(hs(e)):t),(t=>Ht(e,t)))),e),setTransactionChanges:e=>_t((()=>{q(e[0],((e,t)=>y(e)?ys(t):q(e,((e,s)=>y(e)?Ls(t,s):q(e,((e,n)=>Le(Os,t,s,n,e))))))),q(e[1],((e,t)=>Je(Os,t,e)))})),setTablesJson:Is,setValuesJson:e=>{try{Mt(Ee(e))}catch{}return Os},setJson:e=>_t((()=>{try{const[t,s]=Ee(e);Rt(t),Mt(s)}catch{Is(e)}})),setTablesSchema:Rs,setValuesSchema:ms,setSchema:(e,t)=>_t((()=>{Rs(e),ms(t)})),delTables:ps,delTable:ys,delRow:Ls,delCell:(e,t,s,n)=>_t(((e,t,s)=>L(ee(Ae,e),(l=>L(ee(l,t),(a=>K(a,s)?zt(e,l,t,a,s,n):0))))),e,t,s),delValues:Js,delValue:e=>_t((e=>K(We,e)?At(e):0),e),delTablesSchema:Ms,delValuesSchema:Es,delSchema:()=>_t((()=>{Ms(),Es()})),transaction:Hs,startTransaction:Ps,finishTransaction:Fs,forEachTable:e=>X(Ae,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>te(t,e))))))))),forEachTableCell:(e,t)=>te(ee(ze,w(e)),t),forEachRow:(e,t)=>X(ee(Ae,w(e)),((e,s)=>t(s,(t=>te(e,t))))),forEachCell:(e,t,s)=>te(ee(ee(Ae,w(e)),w(t)),s),forEachValue:e=>te(We,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=os(e,t,s,n,l);return it((()=>{const r=os(e,t,s,n,l);var c,i,d;i=o,H(c=r)===H(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(Os,e,t,s,n,l,o))}),Qe[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>it(e,ot),addWillFinishTransactionListener:e=>it(e,ct[0]),addDidFinishTransactionListener:e=>it(e,ct[1]),callListener:e=>(ht(e),Os),delListener:e=>(ut(e),Os),getListenerStats:()=>({}),createStore:Fe,addListener:it,callListeners:dt,addPostTransactionListener:e=>{n=e}};return q({[c+u]:[0,ke,[],()=>[gs()]],[u]:[0,De],[h]:[0,Ne],[c+d]:[1,je,[ns],e=>[Cs(...e)]],[d]:[1,$e,[ns]],[d+b]:[1,qe,[ns]],[c+d+f]:[2,Be,[ns,ls],e=>[Ts(...e)]],[C]:[1,Ge,[ns]],[T]:[1,Ke,[ns]],[c+g]:[2,Ue,[ns,rs],e=>[fs(...e)]],[g]:[2,Xe,[ns,rs]],[b]:[2,Ye,[ns,rs]],[c+f]:[3,Ze,[ns,rs,cs],e=>[bs(...e)]],[f]:[3,_e,[ns,rs,cs],e=>Ie(is(...e))],InvalidCell:[3,et],[c+v]:[0,st,[],()=>[Vs()]],[v]:[0,nt],[S]:[0,lt],[c+V]:[1,at,[us],e=>[vs(...e)]],[V]:[1,rt,[us],e=>Ie(hs(e[0]))],InvalidValue:[1,tt]},(([e,t,s,n],l)=>{Os["add"+l+"Listener"]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?E(l,0,e):void 0,s,n)})),D(Os)},Oe=2**36,xe=2**30,ze=2**24,Ae=2**18,We=4096,ke=64,De=e=>String.fromCharCode(48+(63&e)),Ne=(e,t)=>m(e,t)-48,je={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};exports.createMergeableStore=e=>{let s=1;const[n,l]=(e=>{let t=0,s=0;const n=(l=(e,t)=>(e<<5)+e^m(t),((e,t="",s)=>e.split(t,s))(e).reduce(l,5381)>>>0);var l;const a=e=>{const n=t,[l,a]=y(e)?[0,0]:[Ne(r=e,0)*Oe+Ne(r,1)*xe+Ne(r,2)*ze+Ne(r,3)*Ae+Ne(r,4)*We+Ne(r,5)*ke+Ne(r,6),Ne(r,7)*Ae+Ne(r,8)*We+Ne(r,9)*ke+Ne(r,10),Ne(r,11)*ze+Ne(r,12)*Ae+Ne(r,13)*We+Ne(r,14)*ke+Ne(r,15)];var r;t=Math.max(n,l,Date.now()),s=t==n?t==l?Math.max(s,a):s:t==l?a:-1};return[()=>{return a(),l=++s,r=n,De((e=t)/Oe)+De(e/xe)+De(e/ze)+De(e/Ae)+De(e/We)+De(e/ke)+De(e)+De(l/Ae)+De(l/We)+De(l/ke)+De(l)+De(r/ze)+De(r/Ae)+De(r/We)+De(r/ke)+De(r);var e,l,r},a]})(e),a=Fe(),r=[t,[ge(),ge()]],o=e=>{const t=[{},{}];return l(e[0]),fe(e,r,(([e,s],[n,l])=>[fe(e,n,((e,s)=>be(e,s,t[0],((e,s,n)=>be(e,s,t[0][n],((e,s,l)=>be(e,s,t[0][n][l]))))))),fe(s,l,((e,s)=>be(e,s,t[1])))])),s=0,a.setTransactionChanges(t),s=1,c},c={getMergeableContent:()=>Te(r,(([e,t],s)=>[s,[Ce(e,(e=>Ce(e,(e=>Ce(e,me))))),Ce(t,me)]])),applyMergeableContent:o,merge:e=>{const t=c.getMergeableContent(),s=e.getMergeableContent();return e.applyMergeableContent(t),o(s)}};return a.addPostTransactionListener(((e,t)=>{if(s){const e=n(),[s,l]=t(),[a,o]=r[1];r[0]=e,B(s)||(a[0]=e,q(s,((t,s)=>{const n=ne(a[1],s,he);if(n[0]=e,y(t))n[1]=null;else{const s=n[1]??=Z();q(t,((t,n)=>{const l=ne(s,n,he);if(l[0]=e,y(t))l[1]=null;else{const s=l[1]??=Z();q(t,((t,n)=>se(s,n,[e,t])))}}))}}))),B(l)||(o[0]=e,q(l,((t,s)=>{se(o[1],s,[e,t])})))}})),q(a,((e,t)=>c[t]=I(t,"set")||I(t,"del")||R(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),c):I(t,"add")&&R(t,"Listener")?(...s)=>{const n=je[E(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(c,...t),e(...s)}:e)),D(c)};
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),r="type",o="default",c="Has",i="Ids",d="Table",u=d+"s",g=d+i,h="Row",C=h+"Count",f=h+i,T="Cell",b=T+i,V="Value",v=V+"s",p=V+i,S=e=>t+e,w=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),I=(e,t=0)=>e.charCodeAt(t),m=Math.max,R=isFinite,L=e=>null==e,J=(e,t,s)=>L(e)?s?.():t(e),M=e=>e==s||e==n,E=t=>e(t)==l,H=(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),k=P.entries,x=P.keys,D=P.isFrozen,N=P.freeze,j=e=>!L(e)&&J(W(e),(e=>e==P.prototype||L(W(e))),(()=>!0)),$=(e=[])=>P.fromEntries(e),q=(e,t)=>t in e,B=(e,t)=>(delete e[t],e),G=(e,t)=>O(k(e),(([e,s])=>t(s,e))),K=(e,t)=>z(k(e),(([e,s])=>t(s,e))),Q=e=>j(e)&&0==(e=>F(x(e)))(e),U=e=>e?.size??0,X=(e,t)=>e?.has(t)??!1,Y=e=>L(e)||0==U(e),Z=e=>e.clear(),_=(e,t)=>e?.forEach(t),ee=(e,t)=>e?.delete(t),te=e=>new Map(e),se=e=>[...e?.keys()??[]],ne=(e,t)=>e?.get(t),ae=(e,t)=>_(e,((e,s)=>t(s,e))),le=(e,t,s)=>L(s)?(ee(e,t),e):e?.set(t,s),re=(e,t,s)=>(X(e,t)||le(e,t,s()),ne(e,t)),oe=(e,t,s,n=le)=>(K(t,((t,n)=>s(e,n,t))),ae(e,(s=>q(t,s)?0:n(e,s))),e),ce=(e,t,s)=>{const n={};return _(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},ie=(e,t,s)=>ce(e,(e=>ce(e,t,s)),Q),de=(e,t,s)=>ce(e,(e=>ie(e,t,s)),Q),ue=(e,t)=>{const s=te();return _(e,((e,n)=>s.set(n,t?.(e)??e))),s},ge=e=>ue(e,ue),he=e=>ue(e,ge),Ce=(e,t,s,n,a=0)=>J((s?re:ne)(e,t[a],a>F(t)-2?s:te),(l=>{if(a>F(t)-2)return n?.(l)&&le(e,t[a]),l;const r=Ce(l,t,s,n,a+1);return Y(l)&&le(e,t[a]),r})),fe=(e="",t)=>[e,t],Te=(e="")=>fe(e,te()),be=e=>fe(e,$()),Ve=([e,t],s)=>[e,s(t,e)],ve=([e,t])=>[e,t],pe=(e,t)=>Ve(e,(e=>ce(e,t))),Se=(e,t,s,n)=>G(e,((e,a)=>we(e,re(t,a,Te),s[a]=$(),n))),we=([e,t],s,n,a)=>{e>s[0]&&(s[0]=e),a(t,s[1],n)},ye=(e,t,s)=>G(e,(([e,n],a)=>{const l=re(t,a,fe);e>l[0]&&(l[0]=e,l[1]=s[a]=n)})),Ie=e=>new Set(Array.isArray(e)||L(e)?e:[e]),me=(e,t)=>e?.add(t),Re=/^\d+$/,Le=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{Re.test(t)&&F(e)<1e3&&A(e,t)}]},Je=e=>[e,e],Me=()=>[te(),te()],Ee=e=>[...e],He=([e,t])=>e===t,Fe=t=>{const s=e(t);return M(s)||s==a&&R(t)?s:void 0},Oe=(e,t,s,n,a)=>L(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ze=(e,t,s)=>L(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)=>L(e)||!j(e)||Q(e)||D(e)?(s?.(),!1):(K(e,((s,n)=>{t(s,n)||B(e,n)})),!Q(e)),ke=(e,t,s)=>le(e,t,ne(e,t)==-s?void 0:s),xe=()=>{let e,s,n=!1,l=!1,i=0,w=[];const y=te(),I=te(),m=te(),R=te(),P=te(),W=te(),k=te(),x=te(),D=te(),j=te(),$=te(),G=te(),fe=te(),Te=te(),be=Ie(),Ve=te(),ve=te(),pe=te(),Se=te(),we=Me(),ye=Me(),Re=Me(),De=Me(),Ne=Me(),je=Me(),$e=Me(),qe=Me(),Be=Me(),Ge=Me(),Ke=Me(),Qe=Me(),Ue=Me(),Xe=Me(),Ye=Me(),Ze=Me(),_e=Me(),et=Me(),tt=Me(),st=Me(),nt=Me(),at=Me(),lt=te(),rt=Me(),[ot,ct,it,dt]=(e=>{let s;const[n,a]=Le(),l=te();return[(e,a,r,o=[],c=(()=>[]))=>{s??=Es;const i=n(1);return le(l,i,[e,a,r,o,c]),me(Ce(a,r??[t],Ie),i),i},(e,n,...a)=>O(((e,s=[t])=>{const n=[],a=(e,t)=>t==F(s)?A(n,e):null===s[t]?_(e,(e=>a(e,t+1))):O([s[t],null],(s=>a(ne(e,s),t+1)));return a(e,0),n})(e,n),(e=>_(e,(e=>ne(l,e)[0](s,...n??[],...a))))),e=>J(ne(l,e),(([,s,n])=>(Ce(s,n??[t],void 0,(t=>(ee(t,e),Y(t)?1:0))),le(l,e),a(e),n))),e=>J(ne(l,e),(([e,,t=[],n,a])=>{const l=(...r)=>{const o=F(r);o==F(t)?e(s,...r,...a(r)):L(t[o])?O(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,t[o])};l()}))]})(),ut=e=>{if(!We(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(Fe(e[o])!=t&&B(e,o),0))},gt=(t,s)=>(!e||X($,s)||jt(s))&&We(t,((e,t)=>ht(s,t,e)),(()=>jt(s))),ht=(e,t,s,n)=>We(n?s:bt(s,e,t),((n,a)=>J(Ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>jt(e,t))),Ct=(t,s,n,a)=>e?J(ne(ne($,t),n),(e=>Fe(a)!=e[r]?jt(t,s,n,a,e[o]):a),(()=>jt(t,s,n,a))):L(Fe(a))?jt(t,s,n,a):a,ft=(e,t)=>We(t?e:Vt(e),((t,s)=>J(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Tt=(e,t)=>s?J(ne(fe,e),(s=>Fe(t)!=s[r]?$t(e,t,s[o]):t),(()=>$t(e,t))):L(Fe(t))?$t(e,t):t,bt=(e,t,s)=>(J(ne(G,t),(([n,a])=>{_(n,((t,s)=>{q(e,s)||(e[s]=t)})),_(a,(n=>{q(e,n)||jt(t,s,n)}))})),e),Vt=e=>(s&&(_(Te,((t,s)=>{q(e,s)||(e[s]=t)})),_(be,(t=>{q(e,t)||$t(t)}))),e),vt=e=>oe($,e,((e,t,s)=>{const n=te(),a=Ie();oe(re($,t,te),s,((e,t,s)=>{le(e,t,s),J(s[o],(e=>le(n,t,e)),(()=>me(a,t)))})),le(G,t,[n,a])}),((e,t)=>{le($,t),le(G,t)})),pt=e=>oe(fe,e,((e,t,s)=>{le(fe,t,s),J(s[o],(e=>le(Te,t,e)),(()=>me(be,t)))}),((e,t)=>{le(fe,t),le(Te,t),ee(be,t)})),St=e=>Q(e)?Ss():Ts(e),wt=e=>oe(pe,e,((e,t,s)=>yt(t,s)),((e,t)=>Ft(t))),yt=(e,t)=>oe(re(pe,e,(()=>(Pt(e,1),le(Ve,e,Le()),le(ve,e,te()),te()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Ot(e,t,s))),It=(e,t,s,n,a)=>oe(re(t,s,(()=>(Wt(e,s,1),te()))),n,((t,n,a)=>mt(e,s,t,n,a)),((n,l)=>zt(e,t,s,n,l,a))),mt=(e,t,s,n,a)=>{X(s,n)||kt(e,t,n,1);const l=ne(s,n);a!==l&&(xt(e,t,n,l,a),le(s,n,a))},Rt=(e,t,s,n,a)=>J(ne(t,s),(t=>mt(e,s,t,n,a)),(()=>It(e,t,s,bt({[n]:a},e,s)))),Lt=e=>Q(e)?Is():bs(e),Jt=e=>oe(Se,e,((e,t,s)=>Mt(t,s)),((e,t)=>At(t))),Mt=(e,t)=>{X(Se,e)||Dt(e,1);const s=ne(Se,e);t!==s&&(Nt(e,s,t),le(Se,e,t))},Et=(e,t)=>{const[s]=ne(Ve,e),n=s(t);return X(ne(pe,e),n)?Et(e,t):n},Ht=e=>ne(pe,e)??yt(e,{}),Ft=e=>yt(e,{}),Ot=(e,t,s)=>{const[,n]=ne(Ve,e);n(s),It(e,t,s,{},!0)},zt=(e,t,s,n,a,l)=>{const r=ne(ne(G,e)?.[0],a);if(!L(r)&&!l)return mt(e,s,n,a,r);const o=t=>{xt(e,s,t,ne(n,t)),kt(e,s,t,-1),le(n,t)};L(r)?o(a):ae(n,o),Y(n)&&(Wt(e,s,-1),Y(le(t,s))&&(Pt(e,-1),le(pe,e),le(Ve,e),le(ve,e)))},At=e=>{const t=ne(Te,e);if(!L(t))return Mt(e,t);Nt(e,ne(Se,e)),Dt(e,-1),le(Se,e)},Pt=(e,t)=>ke(y,e,t),Wt=(e,t,s)=>ke(re(R,e,te),t,s)&&le(m,e,re(m,e,(()=>0))+s),kt=(e,t,s,n)=>{const a=ne(ve,e),l=ne(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&ke(re(I,e,te),s,n),le(a,s,l!=-n?l+n:null),ke(re(re(P,e,te),t,te),s,n)},xt=(e,t,s,n,a)=>re(re(re(W,e,te),t,te),s,(()=>[n,0]))[1]=a,Dt=(e,t)=>ke(k,e,t),Nt=(e,t,s)=>re(x,e,(()=>[t,0]))[1]=s,jt=(e,t,s,n,a)=>(A(re(re(re(D,e,te),t,te),s,(()=>[])),n),a),$t=(e,t,s)=>(A(re(j,e,(()=>[])),t),s),qt=(e,t,s)=>J(ne(ne(ne(W,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(ls(e,t,s))])),Bt=e=>J(ne(x,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(cs(e))])),Gt=e=>Y(D)||Y(Ze[e])?0:_(e?he(D):D,((t,s)=>_(t,((t,n)=>_(t,((t,a)=>ct(Ze[e],[s,n,a],t))))))),Kt=e=>Y(j)||Y(_e[e])?0:_(e?ue(j):j,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!Y(e))return ct(t,n,(()=>ce(e))),ae(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Ut=e=>{const t=is();t!=n&&ct(we[e],void 0,t);const s=Y(Ge[e]),a=Y(Ue[e])&&Y(Xe[e])&&Y(Be[e])&&Y(Ke[e])&&Y(je[e])&&Y($e[e])&&Y(qe[e])&&s&&Y(Re[e])&&Y(De[e]),l=Y(Ye[e])&&Y(Qe[e])&&Y(Ne[e])&&Y(ye[e]);if(!a||!l){const t=e?[ue(y),ge(I),ue(m),ge(R),he(P),he(W)]:[y,I,m,R,P,W];if(!a){Qt(t[0],Re[e],De[e]),_(t[1],((t,s)=>Qt(t,je[e],$e[e],[s]))),_(t[2],((t,s)=>{0!=t&&ct(qe[e],[s],ts(s))}));const n=Ie();_(t[3],((t,a)=>{Qt(t,Be[e],Ke[e],[a])&&!s&&(ct(Ge[e],[a,null]),me(n,a))})),s||_(t[5],((t,s)=>{if(!X(n,s)){const n=Ie();_(t,(e=>_(e,(([t,s],a)=>s!==t?me(n,a):ee(e,a))))),_(n,(t=>ct(Ge[e],[s,t])))}})),_(t[4],((t,s)=>_(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;_(t[5],((t,n)=>{let a;_(t,((t,l)=>{let r;_(t,(([t,o],c)=>{o!==t&&(ct(Ye[e],[n,l,c],o,t,qt),s=a=r=1)})),r&&ct(Qe[e],[n,l],qt)})),a&&ct(Ne[e],[n],qt)})),s&&ct(ye[e],void 0,qt)}}},Xt=e=>{const t=Cs();t!=l&&ct(et[e],void 0,t);const s=Y(st[e])&&Y(nt[e]),n=Y(at[e])&&Y(tt[e]);if(!s||!n){const t=e?[ue(k),ue(x)]:[k,x];if(s||Qt(t[0],st[e],nt[e]),!n){let s;_(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Bt),s=1)})),s&&ct(tt[e],void 0,Bt)}}},Yt=(e,...t)=>(Ls((()=>e(...z(t,S)))),Es),Zt=()=>de(pe),_t=()=>se(pe),es=e=>se(ne(ve,S(e))),ts=e=>U(ne(pe,S(e))),ss=e=>se(ne(pe,S(e))),ns=(e,t,s,n=0,a)=>{return z(H((r=ne(pe,S(e)),o=(e,s)=>[L(t)?s:ne(e,S(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,L(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>se(ne(ne(pe,S(e)),S(t))),ls=(e,t,s)=>ne(ne(ne(pe,S(e)),S(t)),S(s)),rs=()=>ce(Se),os=()=>se(Se),cs=e=>ne(Se,S(e)),is=()=>!Y(pe),ds=e=>X(pe,S(e)),us=(e,t)=>X(ne(ve,S(e)),S(t)),gs=(e,t)=>X(ne(pe,S(e)),S(t)),hs=(e,t,s)=>X(ne(ne(pe,S(e)),S(t)),S(s)),Cs=()=>!Y(Se),fs=e=>X(Se,S(e)),Ts=e=>Yt((()=>(e=>We(e,gt,jt))(e)?wt(e):0)),bs=e=>Yt((()=>ft(e)?Jt(e):0)),Vs=e=>{try{St(Pe(e))}catch{}return Es},vs=t=>Yt((()=>{if((e=We(t,(e=>We(e,ut))))&&(vt(t),!Y(pe))){const e=Zt();Ss(),Ts(e)}})),ps=e=>Yt((()=>{if(s=(e=>We(e,ut))(e)){const t=rs();Rs(),Is(),s=!0,pt(e),bs(t)}})),Ss=()=>Yt((()=>wt({}))),ws=e=>Yt((e=>X(pe,e)?Ft(e):0),e),ys=(e,t)=>Yt(((e,t)=>J(ne(pe,e),(s=>X(s,t)?Ot(e,s,t):0))),e,t),Is=()=>Yt((()=>Jt({}))),ms=()=>Yt((()=>{vt({}),e=!1})),Rs=()=>Yt((()=>{pt({}),s=!1})),Ls=(e,t)=>{if(-1!=i){Js();const s=e();return Ms(t),s}},Js=()=>(-1!=i&&i++,1==i&&ct(lt,void 0),Es),Ms=e=>(i>0&&(i--,0==i&&(i=1,Gt(1),Y(W)||Ut(1),Kt(1),Y(x)||Xt(1),e?.(Es)&&(_(W,((e,t)=>_(e,((e,s)=>_(e,(([e],n)=>Oe(Es,t,s,n,e))))))),Z(W),_(x,(([e],t)=>ze(Es,t,e))),Z(x)),ct(rt[0],void 0),i=-1,Gt(0),Y(W)||Ut(0),Kt(0),Y(x)||Xt(0),w[0]?.(Es),ct(rt[1],void 0),w[1]?.(Es),i=0,n=is(),l=Cs(),O([y,I,m,R,P,W,D,k,x,j],Z))),Es),Es={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>ie(ne(pe,S(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ce(ne(ne(pe,S(e)),S(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:Cs,hasValue:fs,getTablesJson:()=>Ae(pe),getValuesJson:()=>Ae(Se),getJson:()=>Ae([pe,Se]),getTablesSchemaJson:()=>Ae($),getValuesSchemaJson:()=>Ae(fe),getSchemaJson:()=>Ae([$,fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Yt((()=>{(Q(e)?Ss:Ts)(e),(Q(t)?Is:bs)(t)})),setTables:Ts,setTable:(e,t)=>Yt((e=>gt(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Ht(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return ht(e,n,t)&&(e=S(e),It(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);K(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>J(Ct(e,t,s,E(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ht(e),t,s,n)))),e,t,s),setValues:bs,setPartialValues:e=>Yt((()=>ft(e,1)?K(e,((e,t)=>Mt(t,e))):0)),setValue:(e,t)=>Yt((e=>J(Tt(e,E(t)?t(cs(e)):t),(t=>Mt(e,t)))),e),applyChanges:e=>Yt((()=>{K(e[0],((e,t)=>L(e)?ws(t):K(e,((e,s)=>L(e)?ys(t,s):K(e,((e,n)=>Oe(Es,t,s,n,e))))))),K(e[1],((e,t)=>ze(Es,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{Lt(Pe(e))}catch{}return Es},setJson:e=>Yt((()=>{try{const[t,s]=Pe(e);St(t),Lt(s)}catch{Vs(e)}})),setTablesSchema:vs,setValuesSchema:ps,setSchema:(e,t)=>Yt((()=>{vs(e),ps(t)})),delTables:Ss,delTable:ws,delRow:ys,delCell:(e,t,s,n)=>Yt(((e,t,s)=>J(ne(pe,e),(a=>J(ne(a,t),(l=>X(l,s)?zt(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>X(Se,e)?At(e):0),e),delTablesSchema:ms,delValuesSchema:Rs,delSchema:()=>Yt((()=>{ms(),Rs()})),transaction:Ls,startTransaction:Js,getTransactionChanges:()=>[ce(W,((e,t)=>-1===ne(y,t)?void 0:ce(e,((e,s)=>-1===ne(ne(R,t),s)?void 0:ce(e,(([,e])=>e),((e,t)=>He(t)))),Q)),Q),ce(x,(([,e])=>e),((e,t)=>He(t)))],getTransactionLog:()=>[!Y(W),!Y(x),de(W,Ee,He),de(D),ce(x,Ee,He),ce(j),ce(y),ie(R),de(P),ce(k)],finishTransaction:Ms,forEachTable:e=>_(pe,((t,s)=>e(s,(e=>_(t,((t,s)=>e(s,(e=>ae(t,e))))))))),forEachTableCell:(e,t)=>ae(ne(ve,S(e)),t),forEachRow:(e,t)=>_(ne(pe,S(e)),((e,s)=>t(s,(t=>ae(e,t))))),forEachCell:(e,t,s)=>ae(ne(ne(pe,S(e)),S(t)),s),forEachValue:e=>ae(Se,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var c,i,d;i=o,F(c=r)===F(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,l(Es,e,t,s,n,a,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Es),delListener:e=>(it(e),Es),getListenerStats:()=>({}),createStore:xe,addListener:ot,callListeners:ct,setInternalListeners:(e,t)=>w=[e,t]};return K({[c+u]:[0,we,[],()=>[is()]],[u]:[0,ye],[g]:[0,Re],[c+d]:[1,De,[_t],e=>[ds(...e)]],[d]:[1,Ne,[_t]],[d+b]:[1,je,[_t]],[c+d+T]:[2,$e,[_t,es],e=>[us(...e)]],[C]:[1,qe,[_t]],[f]:[1,Be,[_t]],[c+h]:[2,Ke,[_t,ss],e=>[gs(...e)]],[h]:[2,Qe,[_t,ss]],[b]:[2,Ue,[_t,ss]],[c+T]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[T]:[3,Ye,[_t,ss,as],e=>Je(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[Cs()]],[v]:[0,tt],[p]:[0,st],[c+V]:[1,nt,[os],e=>[fs(...e)]],[V]:[1,at,[os],e=>Je(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Es["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?H(a,0,e):void 0,s,n)})),N(Es)},De=2**36,Ne=2**30,je=2**24,$e=2**18,qe=4096,Be=64,Ge=e=>String.fromCharCode(48+(63&e)),Ke=(e,t)=>I(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},Ue=(e="")=>[e,[Te(e),Te(e)]];exports.createMergeableStore=e=>{let s,n,a=1,l=Ue();const[r,o]=(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]=L(e)?[0,0]:[Ke(r=e,0)*De+Ke(r,1)*Ne+Ke(r,2)*je+Ke(r,3)*$e+Ke(r,4)*qe+Ke(r,5)*Be+Ke(r,6),Ke(r,7)*$e+Ke(r,8)*qe+Ke(r,9)*Be+Ke(r,10),Ke(r,11)*je+Ke(r,12)*$e+Ke(r,13)*qe+Ke(r,14)*Be+Ke(r,15)];var r;t=m(n,a,Date.now()),s=t==n?t==a?m(s,l):s:t==a?l:-1};return[()=>{return l(),a=++s,r=n,Ge((e=t)/De)+Ge(e/Ne)+Ge(e/je)+Ge(e/$e)+Ge(e/qe)+Ge(e/Be)+Ge(e)+Ge(a/$e)+Ge(a/qe)+Ge(a/Be)+Ge(a)+Ge(r/je)+Ge(r/$e)+Ge(r/qe)+Ge(r/Be)+Ge(r);var e,a,r},l]})(e),c=xe(),i=e=>{const t=a;a=0,e(),a=t},d=()=>{if(L(n)){const[,,e,,n]=c.getTransactionLog(),a=Q(e)&&Q(n)?t:s??(s=r()),l=fe(a,[be(Q(e)?t:a),be(Q(n)?t:a)]),[[,o],[,i]]=l[1];return K(e,((e,t)=>{const[,s]=o[t]=be(a);K(e,((e,t)=>{const[,n]=s[t]=be(a);K(e,(([,e],t)=>n[t]=fe(a,e)))}))})),K(n,(([,e],t)=>i[t]=fe(a,e))),l}return n},u=e=>{const t=[{},{}];return o(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,ye))))),we(t,n,l,ye)})),i((()=>c.applyChanges(t))),g},g={getMergeableContent:()=>Ve(l,(([e,t])=>[pe(e,(e=>pe(e,(e=>pe(e,ve))))),pe(t,ve)])),setMergeableContent:e=>(i((()=>c.transaction((()=>{c.delTables().delValues(),l=Ue()})))),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=!Q(t[1]),r=!Q(s[1]),[,[o,c]]=l;(a||r)&&(l[0]=e),a&&(o[0]=e,K(t[1],(([,t],s)=>{const n=re(o[1],s,Te);n[0]=e,K(t,(([,t],s)=>{const a=re(n[1],s,Te);a[0]=e,K(t,(([,t],s)=>le(a[1],s,fe(e,t))))}))}))),r&&(c[0]=e,K(s[1],(([,t],s)=>le(c[1],s,fe(e,t)))))}}),(()=>s=n=void 0)),K(c,((e,t)=>g[t]=w(t,"set")||w(t,"del")||w(t,"apply")||y(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),g):w(t,"add")&&y(t,"Listener")?(...s)=>{const n=Qe[H(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(g,...t),e(...s)}:e)),N(g)};
Binary file
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),n=a.entries,o=a.keys,c=a.freeze,r=(t,a)=>e(t,(t=>t[a])),i=(e,a)=>!t(r(e,a)),d=(t,e)=>(delete t[e],t),y=(t,e)=>((t,e)=>t.map(e))(n(t),(([t,a])=>e(a,t))),u=t=>o(t).length,v=n=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(n)&&0==u(n),h=t=>new Map(t),l=(t,e)=>t?.get(e),w=(e,a,s)=>{return t(s)?(n=e,o=a,n?.delete(o),e):e?.set(a,s);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||w(t,e,a()),l(t,e)},p=h(),A=h(),f=(t,e)=>[t[e].t,t[e].v],L=(e,a,s,n)=>{const o=t(a)?e:((t,e,a)=>(i(t,e)||(t[e]={}),t[e]))(e,a);let c;return y(s,((t,e)=>{n(o,e,t)&&(c=1)})),y(o,((t,e)=>{i(s,e)||(d(o,e),c=1)})),!t(a)&&v(o)&&d(e,a),c};exports.createAutomergePersister=(a,s,n="tinybase",o)=>(s.change((t=>t[n]={})),((a,s,n,o,r,i,[d,y]=[],u=[])=>{let h,f,L,S=0,C=0;g(p,u,(()=>0)),g(A,u,(()=>[]));const m=async t=>(2!=S&&(S=1,await b.schedule((async()=>{await t(),S=0}))),b),b={load:async(t,e)=>await m((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(b.stopAutoLoad(),await b.load(t,e),C=1,L=o((async(t,e)=>{if(e){const t=e();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(t?.()??await s())}catch(t){i?.(t)}}))})),b),stopAutoLoad:()=>(C&&(r(L),L=void 0,C=0),b),save:async t=>(1!=S&&(S=2,await b.schedule((async()=>{try{await n(a.getContent,t)}catch(t){i?.(t)}S=0}))),b),startAutoSave:async()=>(await b.stopAutoSave().save(),h=a.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();v(a)&&v(s)||b.save((()=>[a,s]))})),b),stopAutoSave:()=>(e(h,a.delListener),h=void 0,b),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(l(A,u),...e),await(async()=>{if(!l(p,u)){for(w(p,u,1);!t((e=l(A,u),f=e.shift()));)try{await f()}catch(t){i?.(t)}w(p,u,0)}var e})(),b),getStore:()=>a,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(b[d]=()=>y),c(b)})(a,(async()=>{const t=await s.doc();return 2==u(t[n])?f(t,n):void 0}),(async(a,o)=>s.change((s=>((a,s,n,o)=>{((t,e)=>{v(t[e])&&(t[e]={t:{},v:{}})})(a,s);const[c,i]=f(a,s),u=()=>{h=1};let h=1;if(e(o?.(),(([a,s])=>{h=0,y(a,((a,s)=>h?0:t(a)?d(c,s):e(c[s],(s=>y(a,((a,n)=>h?0:t(a)?d(s,n):e(r(s,n),(e=>y(a,((a,s)=>t(a)?d(e,s):e[s]=a))),u)))),u))),y(s,((e,a)=>h?0:t(e)?d(i,a):i[a]=e))})),h){const[t,e]=n();L(c,void 0,t,((t,e,a)=>L(c,e,a,((t,e,a)=>L(t,e,a,((t,e,a)=>{if(r(t,e)!==a)return t[e]=a,1})))))),L(i,void 0,e,((t,e,a)=>{r(i,e)!==a&&(i[e]=a)}))}})(s,n,a,o)))),(t=>{const e=({doc:e})=>t((()=>f(e,n)));return s.on("change",e),e}),(t=>{s.removeListener("change",t)}),o,["getDocHandle",s]));
1
+ "use strict";const t=t=>typeof t,e=t(""),a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),s=Object,o=t=>s.getPrototypeOf(t),r=s.entries,c=s.keys,i=s.freeze,y=(t,e)=>n(t,(t=>t[e])),g=(t,e)=>e in t,d=(t,e)=>(delete t[e],t),l=(t,e)=>((t,e)=>t.map(e))(r(t),(([t,a])=>e(a,t))),u=t=>c(t).length,h=t=>(t=>!a(t)&&n(o(t),(t=>t==s.prototype||a(o(t))),(()=>!0)))(t)&&0==u(t),v=t=>new Map(t),p=(t,e)=>t?.get(e),w=(t,e,n)=>{return a(n)?(s=t,o=e,s?.delete(o),t):t?.set(e,n);var s,o},C=(t,e,a)=>{var n,s;return n=t,s=e,n?.has(s)||w(t,e,a()),p(t,e)},f=v(),A=v(),b=a=>{return n=a?.[0],t(n)==e;var n},L=(t,e)=>[t[e].t,t[e].v],M=(t,e,n,s)=>{const o=a(e)?t:((t,e,a)=>(g(t,e)||(t[e]={}),t[e]))(t,e);let r;return l(n,((t,e)=>{s(o,e,t)&&(r=1)})),l(o,((t,e)=>{g(n,e)||(d(o,e),r=1)})),!a(e)&&h(o)&&d(t,e),r};exports.createAutomergePersister=(t,e,s="tinybase",o)=>(e.change((t=>t[s]={})),((t,e,s,o,r,c,y,[g,d]=[],l=[])=>{let u,v,L,M=0,S=0;C(f,l,(()=>0)),C(A,l,(()=>[]));const[m,T,D,O]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!h(t)||!h(e)])(y,t),P=async t=>(2!=M&&(M=1,await j.schedule((async()=>{await t(),M=0}))),j),j={load:async(a,n)=>await P((async()=>{try{const a=await e();(m&&b(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,n])}})),startAutoLoad:async(a={},n={})=>(j.stopAutoLoad(),await j.load(a,n),S=1,L=o((async(a,n)=>{if(n){const e=n();await P((async()=>(m&&b(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const n=a?.()??await e();(m&&b(n)?t.setMergeableContent:t.setContent)(n)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(S&&(r(L),L=void 0,S=0),j),save:async t=>(1!=M&&(M=2,await j.schedule((async()=>{try{await s(T,t)}catch(t){c?.(t)}M=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),u=t.addDidFinishTransactionListener((()=>{const t=D();O(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(u,t.delListener),u=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(A,l),...t),await(async()=>{if(!p(f,l)){for(w(f,l,1);!a((t=p(A,l),v=t.shift()));)try{await v()}catch(t){c?.(t)}w(f,l,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(j[g]=()=>d),i(j)})(t,(async()=>{const t=await e.doc();return 2==u(t[s])?L(t,s):void 0}),(async(t,o)=>e.change((e=>((t,e,s,o)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[r,c]=L(t,e),i=()=>{g=1};let g=1;if(n(o?.(),(([t,e])=>{g=0,l(t,((t,e)=>g?0:a(t)?d(r,e):n(r[e],(e=>l(t,((t,s)=>g?0:a(t)?d(e,s):n(y(e,s),(e=>l(t,((t,n)=>a(t)?d(e,n):e[n]=t))),i)))),i))),l(e,((t,e)=>g?0:a(t)?d(c,e):c[e]=t))})),g){const[t,e]=s();M(r,void 0,t,((t,e,a)=>M(r,e,a,((t,e,a)=>M(t,e,a,((t,e,a)=>{if(y(t,e)!==a)return t[e]=a,1})))))),M(c,void 0,e,((t,e,a)=>{y(c,e)!==a&&(c[e]=a)}))}})(e,s,t,o)))),(t=>{const a=({doc:e})=>t((()=>L(e,s)));return e.on("change",a),a}),(t=>{e.removeListener("change",t)}),o,!1,["getDocHandle",e]));
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),n=a.keys,o=a.freeze,r=o=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(o)&&0==(t=>n(t).length)(o),c=JSON.parse,i=t=>new Map(t),y=(t,e)=>t?.get(e),d=(e,a,s)=>{return t(s)?(n=e,o=a,n?.delete(o),e):e?.set(a,s);var n,o},u=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||d(t,e,a()),y(t,e)},l=i(),w=i(),g="storage",v=globalThis.window,p=(s,n,i,p)=>((a,s,n,c,i,g,[v,p]=[],h=[])=>{let S,f,A,L=0,m=0;u(l,h,(()=>0)),u(w,h,(()=>[]));const C=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(t,e)=>await C((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(O.stopAutoLoad(),await O.load(t,e),m=1,A=c((async(t,e)=>{if(e){const t=e();await C((async()=>a.setTransactionChanges(t)))}else await C((async()=>{try{a.setContent(t?.()??await s())}catch(t){g?.(t)}}))})),O),stopAutoLoad:()=>(m&&(i(A),A=void 0,m=0),O),save:async t=>(1!=L&&(L=2,await O.schedule((async()=>{try{await n(a.getContent,t)}catch(t){g?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),S=a.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();r(a)&&r(s)||O.save((()=>[a,s]))})),O),stopAutoSave:()=>(e(S,a.delListener),S=void 0,O),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(y(w,h),...e),await(async()=>{if(!y(l,h)){for(d(l,h,1);!t((e=y(w,h),f=e.shift()));)try{await f()}catch(t){g?.(t)}d(l,h,0)}var e})(),O),getStore:()=>a,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(O[v]=()=>p),o(O)})(s,(async()=>c(i.getItem(n))),(async t=>{return i.setItem(n,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?a.fromEntries([...e]):e))));var e}),(t=>{const e=e=>{e.storageArea===i&&e.key===n&&t((()=>c(e.newValue)))};return v.addEventListener(g,e),e}),(t=>v.removeEventListener(g,t)),p,["getStorageName",n]);exports.createLocalPersister=(t,e,a)=>p(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>p(t,e,sessionStorage,a);
1
+ "use strict";const t=t=>typeof t,e=t(""),a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,c=n.freeze,i=t=>(t=>!a(t)&&s(o(t),(t=>t==n.prototype||a(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),g=JSON.parse,y=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},d=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||u(t,e,a()),l(t,e)},p=y(),h=y(),v=a=>{return s=a?.[0],t(s)==e;var s},w="storage",C=globalThis.window,S=(t,e,o,r)=>((t,e,n,o,r,g,y,[w,C]=[],S=[])=>{let f,A,L,b=0,M=0;d(p,S,(()=>0)),d(h,S,(()=>[]));const[m,O,T,E]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!i(t)||!i(e)])(y,t),N=async t=>(2!=b&&(b=1,await P.schedule((async()=>{await t(),b=0}))),P),P={load:async(a,s)=>await N((async()=>{try{const a=await e();(m&&v(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(P.stopAutoLoad(),await P.load(a,s),M=1,L=o((async(a,s)=>{if(s){const e=s();await N((async()=>(m&&v(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await N((async()=>{try{const s=a?.()??await e();(m&&v(s)?t.setMergeableContent:t.setContent)(s)}catch(t){g?.(t)}}))})),P),stopAutoLoad:()=>(M&&(r(L),L=void 0,M=0),P),save:async t=>(1!=b&&(b=2,await P.schedule((async()=>{try{await n(O,t)}catch(t){g?.(t)}b=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),f=t.addDidFinishTransactionListener((()=>{const t=T();E(t)&&P.save((()=>t))})),P),stopAutoSave:()=>(s(f,t.delListener),f=void 0,P),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(h,S),...t),await(async()=>{if(!l(p,S)){for(u(p,S,1);!a((t=l(h,S),A=t.shift()));)try{await A()}catch(t){g?.(t)}u(p,S,0)}var t})(),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w&&(P[w]=()=>C),c(P)})(t,(async()=>g(o.getItem(e))),(async t=>{return o.setItem(e,(a=t(),JSON.stringify(a,((t,e)=>e instanceof Map?n.fromEntries([...e]):e))));var a}),(t=>{const a=a=>{a.storageArea===o&&a.key===e&&t((()=>g(a.newValue)))};return C.addEventListener(w,a),a}),(t=>C.removeEventListener(w,t)),r,!0,["getStorageName",e]);exports.createLocalPersister=(t,e,a)=>S(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>S(t,e,sessionStorage,a);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==y(a),L=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),h=Object,C=a=>h.getPrototypeOf(a),S=h.entries,D=h.keys,g=h.freeze,I=(a=[])=>h.fromEntries(a),b=(...a)=>h.assign({},...a),F=(a,t)=>p(S(a),(([a,e])=>t(e,a))),M=a=>h.values(a),$=a=>y(D(a)),P=a=>(a=>!o(a)&&r(C(a),(a=>a==h.prototype||o(C(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),x=(a,t,e)=>(R(a,t)||j(a,t,e()),H(a,t)),U=(a,t,e,s=j)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!o(((a,t)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),Y=a=>new Set(Array.isArray(a)||o(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",q="WHERE",z=(a,t,s)=>{const n=_();return[async()=>U(n,I(await E(p(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,I(p(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,U(x(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!o(H(H(n,a),t)))(t,e)?I(L(p(await a(G+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!P(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=Y();F(i??{},(a=>p(D(a??{}),(a=>k(l,a)))));const y=f(l);if(!w&&r&&A(y)&&R(n,t))return await a("DROP TABLE"+v(t)),void j(n,t);if(A(y)||R(n,t)){const e=H(n,t),i=Y(B(e));await E([...p(y,(async s=>{N(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),j(e,s,""))})),...!w&&c?p(f(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),j(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(p(y,(a=>e+v(a))))});`),j(n,t,_([[s,""],...p(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(F(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+q+v(s)+"=?",[n]):A(y)||await K(a,t,s,D(e),[n,...M(e)])})));else if(A(y))R(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],o=[];F(i??{},((a,t)=>{O(c,t,...p(e,(t=>a?.[t]))),O(o,t)})),await K(a,t,s,e,c),await a("DELETE FROM"+v(t)+q+v(s)+"NOT IN("+V(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},K=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(p(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(p(i,(a=>v(a)+"=excluded."+v(a))),e),c),V=a=>m(p(a,(()=>"?")),e),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;x(X,l,(()=>0)),x(Z,l,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(r(y,a.delListener),y=void 0,m),schedule:async(...a)=>(O(H(Z,l),...a),await(async()=>{if(!H(X,l)){for(j(X,l,1);!o((a=H(Z,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,l,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>w),g(m)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await w(),Q((await l(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[r,w,l]],y,v,T)=>{const[m,p,A,O]=z(t,y,n),R=async(a,t)=>await E(W(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),f=async(a,t)=>w?await A(l,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await O((async()=>{await m();const a=await(async()=>I(L(await E(W(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>r?(await p(l,d))[u]:{})();return P(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),o(t)){const[t,e]=a();await R(t),await f(e)}else{const[a,e]=t();await R(a,!0),await f(e,!0)}}))),e,s,n,[T,v],v)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",wa={mode:na,[ia]:1},la={load:0,save:0,[ra]:t+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=l(M(b(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||s(i,c[0])||j(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,m;const[p,A,L,O]=(a=>{const e=(a=>b(wa,w(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(M(b(la,c)),0,$(la)),r=o[2],y=Y(r);return[0,s,[ya(n,{[oa]:null,[ca]:d},oa,(a=>k(y,a)&&a==r)),ya(i,{[ra]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(y,t)&&t==r)),o],y]})(e);return(p?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(m??=n)||(a(),u=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,f(O),y,E)};exports.createCrSqliteWasmPersister=(a,t,e,s,n)=>va(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",p="_id",T=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",A=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),C=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),f=Object,N=a=>f.getPrototypeOf(a),b=f.entries,S=f.keys,D=f.freeze,M=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),F=(a,t)=>t in a,P=(a,t)=>g(b(a),(([a,e])=>t(e,a))),$=a=>f.values(a),_=a=>E(S(a)),B=a=>(a=>!r(a)&&l(N(a),(a=>a==f.prototype||r(N(a))),(()=>!0)))(a)&&0==_(a),H=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),U=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),Y=(a,t,e)=>(O(a,t)||U(a,t,e()),j(a,t)),k=(a,t,e,n=U)=>(P(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)||r(a)?a:[a]),J=(a,t)=>a?.add(t),q=v+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,s,i)=>{const c=H();return[async()=>k(c,M(await u(g(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(t)+")ORDER BY name",t),(async({name:t})=>[t,M(g(await a(v+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>U(c,t,k(Y(c,t,H),e,((a,t,e)=>{e!=j(a,t)&&U(a,t,e)}),((a,t)=>U(a,t))))),((a,t)=>U(c,t))),async(t,e)=>((a,t)=>!r(j(j(c,a),t)))(t,e)?M(C(g(await a(q+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,s,o,l,w,y=!1)=>{const E=G();P(o??{},(a=>g(S(a??{}),(a=>J(E,a)))));const d=R(E);if(!y&&w&&m(d)&&O(c,t))return await a("DROP TABLE"+T(t)),void U(c,t);if(m(d)||O(c,t)){const n=j(c,t),i=G(W(n));await u([...g(d,(async s=>{h(i,s)||(await a(`ALTER TABLE${T(t)}ADD${T(s)}`),U(n,s,e))})),...!y&&l?g(R(i),(async e=>{e!=s&&(await a(`ALTER TABLE${T(t)}DROP${T(e)}`),U(n,e))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(s)} PRIMARY KEY ON CONFLICT REPLACE${A(g(d,(a=>n+T(a))))});`),U(c,t,H([[s,e],...g(d,(a=>[a,e]))]));if(y)r(o)?await a("DELETE FROM"+T(t)+"WHERE 1"):await u(P(o,(async(e,n)=>{r(e)?await a("DELETE FROM"+T(t)+K+T(s)+"=?",[n]):m(d)||await Q(a,t,s,S(e),[n,...$(e)],i)})));else if(m(d))O(c,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const e=C(W(j(c,t)),(a=>a!=s)),n=[],i=[];P(o??{},((a,t)=>{L(n,t,...g(e,(t=>a?.[t]))),L(i,t)})),await Q(a,t,s,e,n),await a("DELETE FROM"+T(t)+K+T(s)+"NOT IN("+X(i)+")",i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Q=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+T(t)+"("+T(s)+A(g(c,(a=>n+T(a))))+")VALUES"+y(i(`,(?${i(",?",E(c))})`,E(o)/(E(c)+1)),1)+(r?"ON CONFLICT("+T(s)+")DO UPDATE SET"+A(g(c,(a=>T(a)+"=excluded."+T(a))),n):e),g(o,(a=>a??null))),X=a=>A(g(a,(()=>"?")),n),Z=JSON.parse,aa=H(),ta=H(),ea=a=>w(a?.[0]),na=(a,t,e,n,s,i,c,[o,w]=[],y=[])=>{let E,u,d,p=0,T=0;Y(aa,y,(()=>0)),Y(ta,y,(()=>[]));const[v,A,g,m]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),C=async a=>(2!=p&&(p=1,await O.schedule((async()=>{await a(),p=0}))),O),O={load:async(e,n)=>await C((async()=>{try{const e=await t();(v&&ea(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(O.stopAutoLoad(),await O.load(e,s),T=1,d=n((async(e,n)=>{if(n){const t=n();await C((async()=>(v&&ea(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await C((async()=>{try{const n=e?.()??await t();(v&&ea(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),O),stopAutoLoad:()=>(T&&(s(d),d=void 0,T=0),O),save:async a=>(1!=p&&(p=2,await O.schedule((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&O.save((()=>a))})),O),stopAutoSave:()=>(l(E,a.delListener),E=void 0,O),schedule:async(...a)=>(L(j(ta,y),...a),await(async()=>{if(!j(aa,y)){for(U(aa,y,1);!r((a=j(ta,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}U(aa,y,0)}var a})(),O),getStore:()=>a,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(O[o]=()=>w),D(O)},sa="store",ia=(a,t,e,n,s,[i],c,o,r)=>{const[l,w,y,E]=V(t,c,s);return na(a,(async()=>await E((async()=>(await l(),Z((await w(i,p))[d]?.[sa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,p,{[d]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,o],o)},ca=(a,t,e,n,s,[i,c,[o,l,w]],y,E,T,v)=>{const[A,g,m,L]=V(t,y,s,v),O=async(a,t)=>await u(x(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await m(e,n,a[c],s,i,t)}))),R=async(a,t)=>l?await m(w,p,{[d]:a},!0,!0,t):null;return na(a,(async()=>await L((async()=>{await A();const a=await(async()=>M(C(await u(x(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await g(w,p))[d]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await A(),r(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,n,s,!1,[T,E],E)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",Ea={mode:oa,[ra]:1},ua={load:0,save:0,[ya]:t+"_values"},da=(a,t,e,n)=>{const s=H();return P(a,((a,i)=>{const c=y($(I(t,w(a)?{[e]:a}:a)),0,_(t));r(c[0])||n(i,c[0])||U(s,i,c)})),s},pa="pragma ",Ta="data_version",va="schema_version",Aa=(a,e,n,s,i,c,r,l,E="getDb",u)=>{let d,T,A;const[g,m,C,L]=(a=>{const e=(a=>I(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y($(I(ua,c)),0,_(ua)),r=o[2],l=G(r);return[0,n,[da(s,{[wa]:null,[la]:p},wa,(a=>J(l,a)&&a==r)),da(i,{[ya]:null,[la]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==r)),o],l]})(e);return(g?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+Ta))[0][Ta],e=(await n(pa+va))[0][va],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(T??=e)&&s==(A??=s)||(a(),d=t,T=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),d=T=null,i(t)}),r,C,R(L),l,E,u)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>Aa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),N=Object,C=a=>N.getPrototypeOf(a),D=N.entries,S=N.keys,g=N.freeze,b=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),F=(a,t)=>A(D(a),(([a,e])=>t(e,a))),M=a=>N.values(a),$=a=>y(S(a)),P=a=>(a=>!r(a)&&o(C(a),(a=>a==N.prototype||r(C(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>r(e)?(R(a,t),a):a?.set(t,e),Y=(a,t,e)=>(h(a,t)||j(a,t,e()),H(a,t)),k=(a,t,e,s=j)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>o(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q=a=>new Set(Array.isArray(a)||r(a)?a:[a]),x=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,s)=>{const n=_();return[async()=>k(n,b(await E(A(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(A(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,k(Y(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?b(L(A(await a(G+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!P(t)))):{},async(t,s,i,c,o,l=!1)=>{const w=q();F(i??{},(a=>A(S(a??{}),(a=>x(w,a)))));const y=O(w);if(!l&&o&&p(y)&&h(n,t))return await a("DROP TABLE"+v(t)),void j(n,t);if(p(y)||h(n,t)){const e=H(n,t),i=q(B(e));await E([...A(y,(async s=>{R(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),j(e,s,""))})),...!l&&c?A(O(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),j(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(A(y,(a=>e+v(a))))});`),j(n,t,_([[s,""],...A(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(F(i,(async(e,n)=>{r(e)?await a("DELETE FROM"+v(t)+U+v(s)+"=?",[n]):p(y)||await K(a,t,s,S(e),[n,...M(e)])})));else if(p(y))h(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],r=[];F(i??{},((a,t)=>{f(c,t,...A(e,(t=>a?.[t]))),f(r,t)})),await K(a,t,s,e,c),await a("DELETE FROM"+v(t)+U+v(s)+"NOT IN("+V(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},K=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(A(i,(a=>e+v(a))))+")VALUES"+w(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(i,(a=>v(a)+"=excluded."+v(a))),e),c),V=a=>m(A(a,(()=>"?")),e),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,l]=[],w=[])=>{let y,E,u,d=0,v=0;Y(X,w,(()=>0)),Y(Z,w,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(o(y,a.delListener),y=void 0,m),schedule:async(...a)=>(f(H(Z,w),...a),await(async()=>{if(!H(X,w)){for(j(X,w,1);!r((a=H(Z,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>l),g(m)},ta="store",ea=(a,t,e,s,n,[i],c,r,o)=>{const[l,w,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await w(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[o,r],r)},sa=(a,t,e,s,n,[i,c,[o,l,w]],y,v,T)=>{const[m,A,p,f]=z(t,y,n),h=async(a,t)=>await E(W(c,(async([e,s,n,i],c)=>{const r=a[c];t&&void 0===r||await p(e,s,r,n,i,t)}))),O=async(a,t)=>l?await p(w,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await f((async()=>{await m();const a=await(async()=>b(L(await E(W(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await A(w,d))[u]:{})();return P(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),r(t)){const[t,e]=a();await h(t),await O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[T,v],v)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",oa="tableName",la={mode:na,[ia]:1},wa={load:0,save:0,[oa]:t+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=w(M(I(t,l(a)?{[e]:a}:a)),0,$(t));r(c[0])||s(i,c[0])||j(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,e,s,n,i,r,o,y,E="getDb")=>{let u,v,m;const[A,p,L,f]=(a=>{const e=(a=>I(la,l(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,r=w(M(I(wa,c)),0,$(wa)),o=r[2],y=q(o);return[0,s,[ya(n,{[ra]:null,[ca]:d},ra,(a=>x(y,a)&&a==o)),ya(i,{[oa]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>x(y,t)&&t==o)),r],y]})(e);return(A?ea:sa)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(m??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),o,L,O(f),y,E)};exports.createElectricSqlPersister=(a,t,e,s,n)=>va(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t,"getElectricClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),m=a=>0==E(a),C=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,D=O.keys,S=O.freeze,M=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),F=(a,t)=>t in a,P=(a,t)=>A(N(a),(([a,e])=>t(e,a))),$=a=>O.values(a),_=a=>E(D(a)),B=a=>(a=>!o(a)&&l(b(a),(a=>a==O.prototype||o(b(a))),(()=>!0)))(a)&&0==_(a),H=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),q=(a,t,e)=>(h(a,t)||k(a,t,e()),j(a,t)),x=(a,t,e,n=k)=>(P(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)||o(a)?a:[a]),J=(a,t)=>a?.add(t),U=T+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,s,i)=>{const c=H();return[async()=>x(c,M(await u(A(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(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)=>k(c,t,x(q(c,t,H),e,((a,t,e)=>{e!=j(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!o(j(j(c,a),t)))(t,e)?M(C(A(await a(U+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,r,l,w,y=!1)=>{const E=G();P(r??{},(a=>A(D(a??{}),(a=>J(E,a)))));const d=R(E);if(!y&&w&&m(d)&&h(c,t))return await a("DROP TABLE"+g(t)),void k(c,t);if(m(d)||h(c,t)){const n=j(c,t),i=G(W(n));await u([...A(d,(async s=>{f(i,s)||(await a(`ALTER TABLE${g(t)}ADD${g(s)}`),k(n,s,e))})),...!y&&l?A(R(i),(async e=>{e!=s&&(await a(`ALTER TABLE${g(t)}DROP${g(e)}`),k(n,e))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(s)} PRIMARY KEY ON CONFLICT REPLACE${v(A(d,(a=>n+g(a))))});`),k(c,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)o(r)?await a("DELETE FROM"+g(t)+"WHERE 1"):await u(P(r,(async(e,n)=>{o(e)?await a("DELETE FROM"+g(t)+K+g(s)+"=?",[n]):m(d)||await Q(a,t,s,D(e),[n,...$(e)],i)})));else if(m(d))h(c,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const e=C(W(j(c,t)),(a=>a!=s)),n=[],i=[];P(r??{},((a,t)=>{L(n,t,...A(e,(t=>a?.[t]))),L(i,t)})),await Q(a,t,s,e,n),await a("DELETE FROM"+g(t)+K+g(s)+"NOT IN("+X(i)+")",i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Q=async(a,t,s,c,r,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+v(A(c,(a=>n+g(a))))+")VALUES"+y(i(`,(?${i(",?",E(c))})`,E(r)/(E(c)+1)),1)+(o?"ON CONFLICT("+g(s)+")DO UPDATE SET"+v(A(c,(a=>g(a)+"=excluded."+g(a))),n):e),A(r,(a=>a??null))),X=a=>v(A(a,(()=>"?")),n),Z=JSON.parse,aa=H(),ta=H(),ea=a=>w(a?.[0]),na=(a,t,e,n,s,i,c,[r,w]=[],y=[])=>{let E,u,d,p=0,g=0;q(aa,y,(()=>0)),q(ta,y,(()=>[]));const[T,v,A,m]=((a,t)=>!a||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),C=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await C((async()=>{try{const e=await t();(T&&ea(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),g=1,d=n((async(e,n)=>{if(n){const t=n();await C((async()=>(T&&ea(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await C((async()=>{try{const n=e?.()??await t();(T&&ea(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(g&&(s(d),d=void 0,g=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();m(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(l(E,a.delListener),E=void 0,h),schedule:async(...a)=>(L(j(ta,y),...a),await(async()=>{if(!j(aa,y)){for(k(aa,y,1);!o((a=j(ta,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(aa,y,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(h[r]=()=>w),S(h)},sa="store",ia=(a,t,e,n,s,[i],c,r,o)=>{const[l,w,y,E]=V(t,c,s);return na(a,(async()=>await E((async()=>(await l(),Z((await w(i,p))[d]?.[sa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,p,{[d]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[o,r],r)},ca=(a,t,e,n,s,[i,c,[r,l,w]],y,E,g,T)=>{const[v,A,m,L]=V(t,y,s,T),h=async(a,t)=>await u(Y(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await m(e,n,a[c],s,i,t)}))),R=async(a,t)=>l?await m(w,p,{[d]:a},!0,!0,t):null;return na(a,(async()=>await L((async()=>{await v();const a=await(async()=>M(C(await u(Y(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>r?(await A(w,p))[d]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await v(),o(t)){const[t,e]=a();await h(t),await R(e)}else{const[a,e]=t();await h(a,!0),await R(e,!0)}}))),e,n,s,!1,[g,E],E)},ra="json",oa="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",Ea={mode:ra,[oa]:1},ua={load:0,save:0,[ya]:t+"_values"},da=(a,t,e,n)=>{const s=H();return P(a,((a,i)=>{const c=y($(I(t,w(a)?{[e]:a}:a)),0,_(t));o(c[0])||n(i,c[0])||k(s,i,c)})),s},pa="pragma ",ga="data_version",Ta="schema_version",va=(a,e,n,s,i,c,o,l,E="getDb",u)=>{let d,g,v;const[A,m,C,L]=(a=>{const e=(a=>I(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[oa];if(e.mode==ra){const{storeTableName:a=t}=e;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,r=y($(I(ua,c)),0,_(ua)),o=r[2],l=G(o);return[0,n,[da(s,{[wa]:null,[la]:p},wa,(a=>J(l,a)&&a==o)),da(i,{[ya]:null,[la]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==o)),r],l]})(e);return(A?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+ga))[0][ga],e=(await n(pa+Ta))[0][Ta],s=(await n(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&s==(v??=s)||(a(),d=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=g=null,i(t)}),o,C,R(L),l,E,u)};exports.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");
@@ -1 +1 @@
1
- "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=a=>t(a)==n,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",v="_id",A=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",p=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),L=a=>0==E(a),N=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),C=Object,D=a=>C.getPrototypeOf(a),S=C.entries,g=C.keys,b=C.freeze,I=(a=[])=>C.fromEntries(a),F=(...a)=>C.assign({},...a),M=(a,t)=>T(S(a),(([a,e])=>t(e,a))),$=a=>C.values(a),P=a=>E(g(a)),_=a=>(a=>!r(a)&&l(D(a),(a=>a==C.prototype||r(D(a))),(()=>!0)))(a)&&0==P(a),x=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),q=(a,t,e)=>(R(a,t)||j(a,t,e()),H(a,t)),Y=(a,t,e,s=j)=>(M(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),J=m+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e)=>{const n=x();return[async()=>Y(n,I(await u(T(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(T(await a(m+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,Y(q(n,t,x),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?I(N(T(await a(J+A(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!_(t)))):{},async(t,e,i,c,o,l=!1)=>{const w=k();M(i??{},(a=>T(g(a??{}),(a=>G(w,a)))));const y=f(w);if(!l&&o&&L(y)&&R(n,t))return await a("DROP TABLE"+A(t)),void j(n,t);if(L(y)||R(n,t)){const s=H(n,t),i=k(B(s));await u([...T(y,(async e=>{h(i,e)||(await a(`ALTER TABLE${A(t)}ADD${A(e)}`),j(s,e,""))})),...!l&&c?T(f(i),(async n=>{n!=e&&(await a(`ALTER TABLE${A(t)}DROP${A(n)}`),j(s,n))})):[]])}else await a(`CREATE TABLE${A(t)}(${A(e)} PRIMARY KEY ON CONFLICT REPLACE${p(T(y,(a=>s+A(a))))});`),j(n,t,x([[e,""],...T(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+A(t)+"WHERE 1"):await u(M(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+A(t)+z+A(e)+"=?",[n]):L(y)||await V(a,t,e,g(s),[n,...$(s)])})));else if(L(y))R(n,t)&&await a("DELETE FROM"+A(t)+"WHERE 1");else{const s=N(B(H(n,t)),(a=>a!=e)),c=[],o=[];M(i??{},((a,t)=>{O(c,t,...T(s,(t=>a?.[t]))),O(o,t)})),await V(a,t,e,s,c),await a("DELETE FROM"+A(t)+z+A(e)+"NOT IN("+Q(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,n,c)=>await a("INSERT INTO"+A(t)+"("+A(e)+p(T(n,(a=>s+A(a))))+")VALUES"+y(i(`,(?${i(",?",E(n))})`,E(c)/(E(n)+1)),1)+"ON CONFLICT("+A(e)+")DO UPDATE SET"+p(T(n,(a=>A(a)+"=excluded."+A(a))),s),c),Q=a=>p(T(a,(()=>"?")),s),X=JSON.parse,Z=x(),aa=x(),ta=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,E,u,d=0,v=0;q(Z,w,(()=>0)),q(aa,w,(()=>[]));const A=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await A((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await A((async()=>a.setTransactionChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(O(H(aa,w),...a),await(async()=>{if(!H(Z,w)){for(j(Z,w,1);!r((a=H(aa,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(Z,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),b(m)},ea="store",sa=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=K(t,c,n);return ta(a,(async()=>await E((async()=>(await l(),X((await w(i,v))[d]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,v,{[d]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?C.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},na=(a,t,e,s,n,[i,c,[o,l,w]],y,E,A)=>{const[m,p,T,L]=K(t,y,n),O=async(a,t)=>await u(W(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),R=async(a,t)=>l?await T(w,v,{[d]:a},!0,!0,t):null;return ta(a,(async()=>await L((async()=>{await m();const a=await(async()=>I(N(await u(W(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>o?(await p(w,v))[d]:{})();return _(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),r(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,[A,E],E)},ia="json",ca="autoLoadIntervalSeconds",oa="rowIdColumnName",ra="tableId",la="tableName",wa={mode:ia,[ca]:1},ya={load:0,save:0,[la]:e+"_values"},Ea=(a,t,e,s)=>{const n=x();return M(a,((a,i)=>{const c=y($(F(t,w(a)?{[e]:a}:a)),0,P(t));r(c[0])||s(i,c[0])||j(n,i,c)})),n},ua="pragma ",da="data_version",va="schema_version",Aa=(a,t,s,n,i,c,r,l,E="getDb")=>{let u,d,A;const[p,T,L,N]=(a=>{const t=(a=>F(wa,w(a)?{storeTableName:a}:a??{}))(a),s=t[ca];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=y($(F(ya,c)),0,P(ya)),r=o[2],l=k(r);return[0,s,[Ea(n,{[ra]:null,[oa]:v},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[oa]:v,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),o],l]})(t);return(p?sa:na)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+da))[0][da],e=(await s(ua+va))[0][va],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(d??=e)&&n==(A??=n)||(a(),u=t,d=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),u=d=null,i(t)}),r,L,f(N),l,E)};exports.createExpoSqliteNextPersister=(t,e,s,n,i)=>Aa(t,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),n,i,e);
1
+ "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),r=Promise,o=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=>r.all(a),p="_",v="_id",A=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",T=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),L=a=>0==u(a),C=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),f=Object,b=a=>f.getPrototypeOf(a),D=f.entries,S=f.keys,M=f.freeze,I=(a=[])=>f.fromEntries(a),F=(...a)=>f.assign({},...a),P=(a,t)=>t in a,$=(a,t)=>m(D(a),(([a,e])=>t(e,a))),_=a=>f.values(a),x=a=>u(S(a)),B=a=>(a=>!l(a)&&y(b(a),(a=>a==f.prototype||l(b(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),q=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),k=(a,t,e)=>(h(a,t)||Y(a,t,e()),j(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=>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),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const c=H();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,H),e,((a,t,e)=>{e!=j(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!l(j(j(c,a),t)))(t,e)?I(C(m(await a(z+A(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,r,o,y,w=!1)=>{const E=J();$(r??{},(a=>m(S(a??{}),(a=>U(E,a)))));const u=O(E);if(!w&&y&&L(u)&&h(c,t))return await a("DROP TABLE"+A(t)),void Y(c,t);if(L(u)||h(c,t)){const s=j(c,t),i=J(W(s));await d([...m(u,(async e=>{N(i,e)||(await a(`ALTER TABLE${A(t)}ADD${A(e)}`),Y(s,e,n))})),...!w&&o?m(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${A(t)}DROP${A(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${A(t)}(${A(e)} PRIMARY KEY ON CONFLICT REPLACE${T(m(u,(a=>s+A(a))))});`),Y(c,t,H([[e,n],...m(u,(a=>[a,n]))]));if(w)l(r)?await a("DELETE FROM"+A(t)+"WHERE 1"):await d($(r,(async(n,s)=>{l(n)?await a("DELETE FROM"+A(t)+V+A(e)+"=?",[s]):L(u)||await X(a,t,e,S(n),[s,..._(n)],i)})));else if(L(u))h(c,t)&&await a("DELETE FROM"+A(t)+"WHERE 1");else{const n=C(W(j(c,t)),(a=>a!=e)),s=[],i=[];$(r??{},((a,t)=>{R(s,t,...m(n,(t=>a?.[t]))),R(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+A(t)+V+A(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,r,o=!0)=>await a("INSERT "+(o?n:"OR REPLACE ")+"INTO"+A(t)+"("+A(e)+T(m(i,(a=>s+A(a))))+")VALUES"+E(c(`,(?${c(",?",u(i))})`,u(r)/(u(i)+1)),1)+(o?"ON CONFLICT("+A(e)+")DO UPDATE SET"+T(m(i,(a=>A(a)+"=excluded."+A(a))),s):n),m(r,(a=>a??null))),Z=a=>T(m(a,(()=>"?")),s),aa=JSON.parse,ta=H(),ea=H(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,c,[r,o]=[],w=[])=>{let E,u,d,p=0,v=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[A,g,T,m]=((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)])(c,a),L=async a=>(2!=p&&(p=1,await C.schedule((async()=>{await a(),p=0}))),C),C={load:async(e,n)=>await L((async()=>{try{const e=await t();(A&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),v=1,d=n((async(e,n)=>{if(n){const t=n();await L((async()=>(A&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await L((async()=>{try{const n=e?.()??await t();(A&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),C),stopAutoLoad:()=>(v&&(s(d),d=void 0,v=0),C),save:async a=>(1!=p&&(p=2,await C.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=T();m(a)&&C.save((()=>a))})),C),stopAutoSave:()=>(y(E,a.delListener),E=void 0,C),schedule:async(...a)=>(R(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 r&&(C[r]=()=>o),M(C)},ia="store",ca=(a,t,e,n,s,[i],c,r,o)=>{const[l,y,w,E]=Q(t,c,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,v))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,v,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[o,r],r)},ra=(a,t,e,n,s,[i,c,[r,o,y]],w,E,u,A)=>{const[g,T,m,L]=Q(t,w,s,A),R=async(a,t)=>await d(q(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await m(e,n,a[c],s,i,t)}))),h=async(a,t)=>o?await m(y,v,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await L((async()=>{await g();const a=await(async()=>I(C(await d(q(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>r?(await T(y,v))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await g(),l(t)){const[t,e]=a();await R(t),await h(e)}else{const[a,e]=t();await R(a,!0),await h(e,!0)}}))),e,n,s,!1,[u,E],E)},oa="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:oa,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const c=E(_(F(t,w(a)?{[e]:a}:a)),0,x(t));l(c[0])||n(i,c[0])||Y(s,i,c)})),s},va="pragma ",Aa="data_version",ga="schema_version",Ta=(a,t,n,s,i,c,r,l,y="getDb",u)=>{let d,p,A;const[T,m,L,C]=(a=>{const t=(a=>F(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==oa){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,r=E(_(F(da,c)),0,x(da)),o=r[2],l=J(o);return[0,n,[pa(s,{[wa]:null,[ya]:v},wa,(a=>U(l,a)&&a==o)),pa(i,{[Ea]:null,[ya]:v,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==o)),r],l]})(t);return(T?ca:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Aa))[0][Aa],e=(await n(va+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(A??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),d=p=null,i(t)}),r,L,O(C),l,y,u)};exports.createExpoSqliteNextPersister=(t,e,n,s,i)=>Ta(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),h=Object,C=a=>h.getPrototypeOf(a),D=h.entries,S=h.keys,g=h.freeze,b=(a=[])=>h.fromEntries(a),I=(...a)=>h.assign({},...a),F=(a,t)=>T(D(a),(([a,e])=>t(e,a))),M=a=>h.values(a),$=a=>y(S(a)),P=a=>(a=>!o(a)&&r(C(a),(a=>a==h.prototype||o(C(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),x=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||W(a,t,e()),H(a,t)),Y=(a,t,e,s=W)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!o(((a,t)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,s)=>{const n=_();return[async()=>Y(n,b(await E(T(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(T(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,Y(j(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!o(H(H(n,a),t)))(t,e)?b(L(T(await a(G+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!P(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=k();F(i??{},(a=>T(S(a??{}),(a=>q(l,a)))));const y=R(l);if(!w&&r&&p(y)&&O(n,t))return await a("DROP TABLE"+v(t)),void W(n,t);if(p(y)||O(n,t)){const e=H(n,t),i=k(B(e));await E([...T(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),W(e,s,""))})),...!w&&c?T(R(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${A(T(y,(a=>e+v(a))))});`),W(n,t,_([[s,""],...T(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(F(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+U+v(s)+"=?",[n]):p(y)||await K(a,t,s,S(e),[n,...M(e)])})));else if(p(y))O(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],o=[];F(i??{},((a,t)=>{N(c,t,...T(e,(t=>a?.[t]))),N(o,t)})),await K(a,t,s,e,c),await a("DELETE FROM"+v(t)+U+v(s)+"NOT IN("+V(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},K=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+A(T(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+A(T(i,(a=>v(a)+"=excluded."+v(a))),e),c),V=a=>A(T(a,(()=>"?")),e),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;j(X,l,(()=>0)),j(Z,l,(()=>[]));const m=async a=>(2!=d&&(d=1,await A.schedule((async()=>{await a(),d=0}))),A),A={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(A.stopAutoLoad(),await A.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),A),save:async t=>(1!=d&&(d=2,await A.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||A.save((()=>[e,s]))})),A),stopAutoSave:()=>(r(y,a.delListener),y=void 0,A),schedule:async(...a)=>(N(H(Z,l),...a),await(async()=>{if(!H(X,l)){for(W(X,l,1);!o((a=H(Z,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(X,l,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>w),g(A)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await w(),Q((await l(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[r,w,l]],y,v,m)=>{const[A,T,p,N]=z(t,y,n),O=async(a,t)=>await E(x(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),R=async(a,t)=>w?await p(l,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await N((async()=>{await A();const a=await(async()=>b(L(await E(x(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>r?(await T(l,d))[u]:{})();return P(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await A(),o(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,[m,v],v)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",wa={mode:na,[ia]:1},la={load:0,save:0,[ra]:t+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=l(M(I(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||s(i,c[0])||W(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,A;const[T,p,L,N]=(a=>{const e=(a=>I(wa,w(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(M(I(la,c)),0,$(la)),r=o[2],y=k(r);return[0,s,[ya(n,{[oa]:null,[ca]:d},oa,(a=>q(y,a)&&a==r)),ya(i,{[ra]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>q(y,t)&&t==r)),o],y]})(e);return(T?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(A??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,R(N),y,E)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>va(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);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),m=a=>0==E(a),C=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,f=a=>N.getPrototypeOf(a),b=N.entries,D=N.keys,S=N.freeze,M=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),F=(a,t)=>t in a,P=(a,t)=>T(b(a),(([a,e])=>t(e,a))),$=a=>N.values(a),_=a=>E(D(a)),B=a=>(a=>!r(a)&&l(f(a),(a=>a==N.prototype||r(f(a))),(()=>!0)))(a)&&0==_(a),H=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),j=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),k=(a,t,e)=>(R(a,t)||Y(a,t,e()),W(a,t)),q=(a,t,e,s=Y)=>(P(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)||r(a)?a:[a]),J=(a,t)=>a?.add(t),U=v+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,n,i)=>{const c=H();return[async()=>q(c,M(await u(T(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(t)+")ORDER BY name",t),(async({name:t})=>[t,M(T(await a(v+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,q(k(c,t,H),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)=>!r(W(W(c,a),t)))(t,e)?M(C(T(await a(U+g(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,n,o,l,w,y=!1)=>{const E=G();P(o??{},(a=>T(D(a??{}),(a=>J(E,a)))));const d=h(E);if(!y&&w&&m(d)&&R(c,t))return await a("DROP TABLE"+g(t)),void Y(c,t);if(m(d)||R(c,t)){const s=W(c,t),i=G(x(s));await u([...T(d,(async n=>{O(i,n)||(await a(`ALTER TABLE${g(t)}ADD${g(n)}`),Y(s,n,e))})),...!y&&l?T(h(i),(async e=>{e!=n&&(await a(`ALTER TABLE${g(t)}DROP${g(e)}`),Y(s,e))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(n)} PRIMARY KEY ON CONFLICT REPLACE${A(T(d,(a=>s+g(a))))});`),Y(c,t,H([[n,e],...T(d,(a=>[a,e]))]));if(y)r(o)?await a("DELETE FROM"+g(t)+"WHERE 1"):await u(P(o,(async(e,s)=>{r(e)?await a("DELETE FROM"+g(t)+K+g(n)+"=?",[s]):m(d)||await Q(a,t,n,D(e),[s,...$(e)],i)})));else if(m(d))R(c,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const e=C(x(W(c,t)),(a=>a!=n)),s=[],i=[];P(o??{},((a,t)=>{L(s,t,...T(e,(t=>a?.[t]))),L(i,t)})),await Q(a,t,n,e,s),await a("DELETE FROM"+g(t)+K+g(n)+"NOT IN("+X(i)+")",i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},Q=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(n)+A(T(c,(a=>s+g(a))))+")VALUES"+y(i(`,(?${i(",?",E(c))})`,E(o)/(E(c)+1)),1)+(r?"ON CONFLICT("+g(n)+")DO UPDATE SET"+A(T(c,(a=>g(a)+"=excluded."+g(a))),s):e),T(o,(a=>a??null))),X=a=>A(T(a,(()=>"?")),s),Z=JSON.parse,aa=H(),ta=H(),ea=a=>w(a?.[0]),sa=(a,t,e,s,n,i,c,[o,w]=[],y=[])=>{let E,u,d,p=0,g=0;k(aa,y,(()=>0)),k(ta,y,(()=>[]));const[v,A,T,m]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),C=async a=>(2!=p&&(p=1,await R.schedule((async()=>{await a(),p=0}))),R),R={load:async(e,s)=>await C((async()=>{try{const e=await t();(v&&ea(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(R.stopAutoLoad(),await R.load(e,n),g=1,d=s((async(e,s)=>{if(s){const t=s();await C((async()=>(v&&ea(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await C((async()=>{try{const s=e?.()??await t();(v&&ea(s)?a.setMergeableContent:a.setContent)(s)}catch(a){i?.(a)}}))})),R),stopAutoLoad:()=>(g&&(n(d),d=void 0,g=0),R),save:async a=>(1!=p&&(p=2,await R.schedule((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),R),startAutoSave:async()=>(await R.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=T();m(a)&&R.save((()=>a))})),R),stopAutoSave:()=>(l(E,a.delListener),E=void 0,R),schedule:async(...a)=>(L(W(ta,y),...a),await(async()=>{if(!W(aa,y)){for(Y(aa,y,1);!r((a=W(ta,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(aa,y,0)}var a})(),R),getStore:()=>a,destroy:()=>R.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(R[o]=()=>w),S(R)},na="store",ia=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=V(t,c,n);return sa(a,(async()=>await E((async()=>(await l(),Z((await w(i,p))[d]?.[na]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,p,{[d]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,E,g,v)=>{const[A,T,m,L]=V(t,y,n,v),R=async(a,t)=>await u(j(c,(async([e,s,n,i],c)=>{t&&!F(a,c)||await m(e,s,a[c],n,i,t)}))),h=async(a,t)=>l?await m(w,p,{[d]:a},!0,!0,t):null;return sa(a,(async()=>await L((async()=>{await A();const a=await(async()=>M(C(await u(j(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await T(w,p))[d]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await A(),r(t)){const[t,e]=a();await R(t),await h(e)}else{const[a,e]=t();await R(a,!0),await h(e,!0)}}))),e,s,n,!1,[g,E],E)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",Ea={mode:oa,[ra]:1},ua={load:0,save:0,[ya]:t+"_values"},da=(a,t,e,s)=>{const n=H();return P(a,((a,i)=>{const c=y($(I(t,w(a)?{[e]:a}:a)),0,_(t));r(c[0])||s(i,c[0])||Y(n,i,c)})),n},pa="pragma ",ga="data_version",va="schema_version",Aa=(a,e,s,n,i,c,r,l,E="getDb",u)=>{let d,g,A;const[T,m,C,L]=(a=>{const e=(a=>I(Ea,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y($(I(ua,c)),0,_(ua)),r=o[2],l=G(r);return[0,s,[da(n,{[wa]:null,[la]:p},wa,(a=>J(l,a)&&a==r)),da(i,{[ya]:null,[la]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==r)),o],l]})(e);return(T?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(pa+ga))[0][ga],e=(await s(pa+va))[0][va],n=(await s(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&n==(A??=n)||(a(),d=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),d=g=null,i(t)}),r,C,h(L),l,E,u)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>Aa(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);
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=t=>null==t,n=(t,a,e)=>s(t)?e?.():a(t),r=Object,o=t=>r.getPrototypeOf(t),i=r.keys,c=r.freeze,y=t=>(t=>!s(t)&&n(o(t),(t=>t==r.prototype||s(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),u=JSON.parse,d=t=>new Map(t),w=(t,a)=>t?.get(a),l=(t,a,e)=>{return s(e)?(n=t,r=a,n?.delete(r),t):t?.set(a,e);var n,r},h=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||l(t,a,e()),w(t,a)},p=d(),v=d();exports.createFilePersister=(o,i,d)=>((t,a,e,r,o,i,[u,d]=[],f=[])=>{let g,A,S,L=0,C=0;h(p,f,(()=>0)),h(v,f,(()=>[]));const F=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(e,s)=>await F((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(O.stopAutoLoad(),await O.load(e,s),C=1,S=r((async(e,s)=>{if(s){const a=s();await F((async()=>t.setTransactionChanges(a)))}else await F((async()=>{try{t.setContent(e?.()??await a())}catch(t){i?.(t)}}))})),O),stopAutoLoad:()=>(C&&(o(S),S=void 0,C=0),O),save:async a=>(1!=L&&(L=2,await O.schedule((async()=>{try{await e(t.getContent,a)}catch(t){i?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();y(e)&&y(s)||O.save((()=>[e,s]))})),O),stopAutoSave:()=>(n(g,t.delListener),g=void 0,O),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(w(v,f),...t),await(async()=>{if(!w(p,f)){for(l(p,f,1);!s((t=w(v,f),A=t.shift()));)try{await A()}catch(t){i?.(t)}l(p,f,0)}var t})(),O),getStore:()=>t,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(O[u]=()=>d),c(O)})(o,(async()=>u(await a.readFile(i,e))),(async t=>{return await a.writeFile(i,(s=t(),JSON.stringify(s,((t,a)=>a instanceof Map?r.fromEntries([...a]):a))),e);var s}),(a=>t.watch(i,(()=>a()))),(t=>t?.close()),d,["getFilePath",i]);
1
+ "use strict";var t=require("fs"),e=require("fs/promises");const a=t=>typeof t,s=a(""),n="utf8",r=t=>null==t,o=(t,e,a)=>r(t)?a?.():e(t),i=Object,c=t=>i.getPrototypeOf(t),y=i.keys,l=i.freeze,g=t=>(t=>!r(t)&&o(c(t),(t=>t==i.prototype||r(c(t))),(()=>!0)))(t)&&0==(t=>y(t).length)(t),u=JSON.parse,p=t=>new Map(t),d=(t,e)=>t?.get(e),h=(t,e,a)=>{return r(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},w=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||h(t,e,a()),d(t,e)},v=p(),f=p(),C=t=>{return e=t?.[0],a(e)==s;var e};exports.createFilePersister=(a,s,c)=>((t,e,a,s,n,i,c,[y,u]=[],p=[])=>{let A,M,S,b=0,L=0;w(v,p,(()=>0)),w(f,p,(()=>[]));const[F,O,P,T]=((t,e)=>!t||r(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!g(t)||!g(e)])(c,t),m=async t=>(2!=b&&(b=1,await q.schedule((async()=>{await t(),b=0}))),q),q={load:async(a,s)=>await m((async()=>{try{const a=await e();(F&&C(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(q.stopAutoLoad(),await q.load(a,n),L=1,S=s((async(a,s)=>{if(s){const e=s();await m((async()=>(F&&C(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await m((async()=>{try{const s=a?.()??await e();(F&&C(s)?t.setMergeableContent:t.setContent)(s)}catch(t){i?.(t)}}))})),q),stopAutoLoad:()=>(L&&(n(S),S=void 0,L=0),q),save:async t=>(1!=b&&(b=2,await q.schedule((async()=>{try{await a(O,t)}catch(t){i?.(t)}b=0}))),q),startAutoSave:async()=>(await q.stopAutoSave().save(),A=t.addDidFinishTransactionListener((()=>{const t=P();T(t)&&q.save((()=>t))})),q),stopAutoSave:()=>(o(A,t.delListener),A=void 0,q),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(d(f,p),...t),await(async()=>{if(!d(v,p)){for(h(v,p,1);!r((t=d(f,p),M=t.shift()));)try{await M()}catch(t){i?.(t)}h(v,p,0)}var t})(),q),getStore:()=>t,destroy:()=>q.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(q[y]=()=>u),l(q)})(a,(async()=>u(await e.readFile(s,n))),(async t=>{return await e.writeFile(s,(a=t(),JSON.stringify(a,((t,e)=>e instanceof Map?i.fromEntries([...e]):e))),n);var a}),(e=>t.watch(s,(()=>e()))),(t=>t?.close()),c,!0,["getFilePath",s]);
@@ -1 +1 @@
1
- "use strict";const t=Promise,e=clearInterval,a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=e=>new t(e),o=async e=>t.all(e),r=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),i=Object,y=t=>i.getPrototypeOf(t),d=i.entries,l=i.keys,u=i.freeze,w=t=>(t=>!a(t)&&s(y(t),(t=>t==i.prototype||a(y(t))),(()=>!0)))(t)&&0==(t=>l(t).length)(t),h=t=>new Map(t),p=(t,e)=>t?.get(e),v=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||v(t,e,a()),p(t,e)},A=h(),S=h(),b=globalThis.window,f=["t","v"],x={keyPath:"k"},D=async(t,e)=>{const n=((e,a)=>r(d(e),(([e,a])=>L(t,"put",{k:e,v:a}))))(e);r(await L(t,"getAllKeys"),(o=>((t,e)=>!a(((t,e)=>s(t,(t=>t[e])))(t,e)))(e,o)?0:c(n,L(t,"delete",o)))),await o(n)},L=async(t,e,a)=>n(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));exports.createIndexedDbPersister=(t,y,d=1,l)=>{const h=async(t,e=[],a=0)=>n(((s,n)=>{const c=(b?b.indexedDB:indexedDB).open(y,a?2:void 0);c.onupgradeneeded=()=>a&&r(f,(t=>{try{c.result.createObjectStore(t,x)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(f,"readwrite"),n=await o(r(f,(async(s,n)=>await t(a.objectStore(s),e[n]))));c.result.close(),s(n)}catch(t){c.result.close(),n(t)}},c.onerror=()=>n("indexedDB.open error")}));return((t,e,n,o,r,i,[y,d]=[],l=[])=>{let h,b,f,x=0,D=0;g(A,l,(()=>0)),g(S,l,(()=>[]));const L=async t=>(2!=x&&(x=1,await j.schedule((async()=>{await t(),x=0}))),j),j={load:async(a,s)=>await L((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),D=1,f=o((async(a,s)=>{if(s){const e=s();await L((async()=>t.setTransactionChanges(e)))}else await L((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),j),stopAutoLoad:()=>(D&&(r(f),f=void 0,D=0),j),save:async e=>(1!=x&&(x=2,await j.schedule((async()=>{try{await n(t.getContent,e)}catch(t){i?.(t)}x=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),h=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();w(a)&&w(s)||j.save((()=>[a,s]))})),j),stopAutoSave:()=>(s(h,t.delListener),h=void 0,j),schedule:async(...t)=>(c(p(S,l),...t),await(async()=>{if(!p(A,l)){for(v(A,l,1);!a((t=p(S,l),b=t.shift()));)try{await b()}catch(t){i?.(t)}v(A,l,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(j[y]=()=>d),u(j)})(t,(async()=>await h((async t=>((t=[])=>i.fromEntries(t))(r(await L(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await h((async(t,e)=>await D(t,e)),t(),1)),(t=>setInterval(t,1e3*d)),(t=>e(t)),l,["getDbName",y])},exports.objectStoreMatch=D;
1
+ "use strict";const t=t=>typeof t,e=t(""),a=Promise,s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=t=>new a(t),c=async t=>a.all(t),i=(t,e)=>t.map(e),l=(t,...e)=>t.push(...e),y=Object,d=t=>y.getPrototypeOf(t),u=y.entries,w=y.keys,g=y.freeze,p=t=>(t=>!n(t)&&o(d(t),(t=>t==y.prototype||n(d(t))),(()=>!0)))(t)&&0==(t=>w(t).length)(t),h=t=>new Map(t),v=(t,e)=>t?.get(e),b=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},C=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||b(t,e,a()),v(t,e)},A=h(),S=h(),f=a=>{return s=a?.[0],t(s)==e;var s},M=globalThis.window,x=["t","v"],D={keyPath:"k"},L=async(t,e)=>{const a=((e,a)=>i(u(e),(([e,a])=>j(t,"put",{k:e,v:a}))))(e);i(await j(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:l(a,j(t,"delete",s)))),await c(a)},j=async(t,e,a)=>r(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));exports.createIndexedDbPersister=(t,e,a=1,d)=>{const u=async(t,a=[],s=0)=>r(((n,o)=>{const r=(M?M.indexedDB:indexedDB).open(e,s?2:void 0);r.onupgradeneeded=()=>s&&i(x,(t=>{try{r.result.createObjectStore(t,D)}catch{}})),r.onsuccess=async()=>{try{const e=r.result.transaction(x,"readwrite"),s=await c(i(x,(async(s,n)=>await t(e.objectStore(s),a[n]))));r.result.close(),n(s)}catch(t){r.result.close(),o(t)}},r.onerror=()=>o("indexedDB.open error")}));return((t,e,a,s,r,c,i,[y,d]=[],u=[])=>{let w,h,M,x=0,D=0;C(A,u,(()=>0)),C(S,u,(()=>[]));const[L,j,k,m]=((t,e)=>!t||n(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e)])(i,t),P=async t=>(2!=x&&(x=1,await T.schedule((async()=>{await t(),x=0}))),T),T={load:async(a,s)=>await P((async()=>{try{const a=await e();(L&&f(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(T.stopAutoLoad(),await T.load(a,n),D=1,M=s((async(a,s)=>{if(s){const e=s();await P((async()=>(L&&f(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const s=a?.()??await e();(L&&f(s)?t.setMergeableContent:t.setContent)(s)}catch(t){c?.(t)}}))})),T),stopAutoLoad:()=>(D&&(r(M),M=void 0,D=0),T),save:async t=>(1!=x&&(x=2,await T.schedule((async()=>{try{await a(j,t)}catch(t){c?.(t)}x=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=t.addDidFinishTransactionListener((()=>{const t=k();m(t)&&T.save((()=>t))})),T),stopAutoSave:()=>(o(w,t.delListener),w=void 0,T),schedule:async(...t)=>(l(v(S,u),...t),await(async()=>{if(!v(A,u)){for(b(A,u,1);!n((t=v(S,u),h=t.shift()));)try{await h()}catch(t){c?.(t)}b(A,u,0)}var t})(),T),getStore:()=>t,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(T[y]=()=>d),g(T)})(t,(async()=>await u((async t=>((t=[])=>y.fromEntries(t))(i(await j(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await u((async(t,e)=>await L(t,e)),t(),1)),(t=>setInterval(t,1e3*a)),(t=>s(t)),d,!1,["getDbName",e])},exports.objectStoreMatch=L;
@@ -1 +1 @@
1
- "use strict";const t=t=>typeof t,a="",e=t(a),s=t=>null==t,o=(t,a,e)=>s(t)?e?.():a(t),n=a=>t(a)==e,r=t=>t.length,c=Object,i=t=>c.getPrototypeOf(t),y=c.keys,d=c.freeze,h=t=>(t=>!s(t)&&o(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),u=t=>JSON.stringify(t,((t,a)=>a instanceof Map?c.fromEntries([...a]):a)),v=JSON.parse,p="/store",w=t=>new Map(t),l=(t,a)=>t?.get(a),f=(t,a,e)=>{return s(e)?(o=t,n=a,o?.delete(n),t):t?.set(a,e);var o,n},g=(t,a,e)=>{var s,o;return s=t,o=a,s?.has(o)||f(t,a,e()),l(t,a)},S=w(),m=w(),A="message";exports.createPartyKitPersister=(t,e,c,i)=>{const{host:y,room:w}=e.partySocketOptions,{storeProtocol:L="https",storePath:P=p,messagePrefix:C=a}={...n(c)?{storeProtocol:c}:c},O=L+"://"+y+"/parties/"+e.name+"/"+w+P,E=async t=>await(await fetch(O,{...t?{method:"PUT",body:u(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,a,e,n,r,c,[i,y]=[],u=[])=>{let v,p,w,A=0,L=0;g(S,u,(()=>0)),g(m,u,(()=>[]));const P=async t=>(2!=A&&(A=1,await C.schedule((async()=>{await t(),A=0}))),C),C={load:async(e,s)=>await P((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),L=1,w=n((async(e,s)=>{if(s){const a=s();await P((async()=>t.setTransactionChanges(a)))}else await P((async()=>{try{t.setContent(e?.()??await a())}catch(t){c?.(t)}}))})),C),stopAutoLoad:()=>(L&&(r(w),w=void 0,L=0),C),save:async a=>(1!=A&&(A=2,await C.schedule((async()=>{try{await e(t.getContent,a)}catch(t){c?.(t)}A=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();h(e)&&h(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>(o(v,t.delListener),v=void 0,C),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(l(m,u),...t),await(async()=>{if(!l(S,u)){for(f(S,u,1);!s((t=l(m,u),p=t.shift()));)try{await p()}catch(t){c?.(t)}f(S,u,0)}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(C[i]=()=>y),d(C)})(t,(async()=>await E()),(async(t,a)=>{var s,o;a?e.send((s=C,o=a(),s+"s"+(n(o)?o:u(o)))):await E(t())}),(t=>{const a=a=>o(((t,a,e)=>{const s=r(t);return((t,a)=>t.startsWith(a))(a,t)?[a[s],v((o=a,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(C,a.data),(([a,e])=>{"s"==a&&t(void 0,(()=>e))}));return e.addEventListener(A,a),a}),(t=>{e.removeEventListener(A,t)}),i,["getConnection",e])};
1
+ "use strict";const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),n=e=>t(e)==a,r=t=>t.length,c=Object,i=t=>c.getPrototypeOf(t),y=c.keys,d=c.freeze,g=t=>(t=>!s(t)&&o(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),h=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),l=JSON.parse,p="/store",u=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(o=t,n=e,o?.delete(n),t):t?.set(e,a);var o,n},C=(t,e,a)=>{var s,o;return s=t,o=e,s?.has(o)||w(t,e,a()),v(t,e)},f=u(),S=u(),b=t=>n(t?.[0]),m="message";exports.createPartyKitPersister=(t,a,c,i)=>{const{host:y,room:u}=a.partySocketOptions,{storeProtocol:A="https",storePath:L=p,messagePrefix:M=e}={...n(c)?{storeProtocol:c}:c},P=A+"://"+y+"/parties/"+a.name+"/"+u+L,O=async t=>await(await fetch(P,{...t?{method:"PUT",body:h(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,n,r,c,i,[y,h]=[],l=[])=>{let p,u,m,A=0,L=0;C(f,l,(()=>0)),C(S,l,(()=>[]));const[M,P,O,T]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!g(t)||!g(e)])(i,t),E=async t=>(2!=A&&(A=1,await j.schedule((async()=>{await t(),A=0}))),j),j={load:async(a,s)=>await E((async()=>{try{const a=await e();(M&&b(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),L=1,m=n((async(a,s)=>{if(s){const e=s();await E((async()=>(M&&b(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await E((async()=>{try{const s=a?.()??await e();(M&&b(s)?t.setMergeableContent:t.setContent)(s)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(L&&(r(m),m=void 0,L=0),j),save:async t=>(1!=A&&(A=2,await j.schedule((async()=>{try{await a(P,t)}catch(t){c?.(t)}A=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),p=t.addDidFinishTransactionListener((()=>{const t=O();T(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(o(p,t.delListener),p=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(S,l),...t),await(async()=>{if(!v(f,l)){for(w(f,l,1);!s((t=v(S,l),u=t.shift()));)try{await u()}catch(t){c?.(t)}w(f,l,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(j[y]=()=>h),d(j)})(t,(async()=>await O()),(async(t,e)=>{var s,o;e?a.send((s=M,o=e(),s+"s"+(n(o)?o:h(o)))):await O(t())}),(t=>{const e=e=>o(((t,e,a)=>{const s=r(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],l((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(M,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return a.addEventListener(m,e),e}),(t=>{a.removeEventListener(m,t)}),i,!1,["getConnection",a])};
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t=a(""),e="t",s=(a,t)=>a.startsWith(t),n=Promise,r=a=>null==a,i=(a,t,e)=>r(a)?e?.():t(a),c=(a,t,e)=>a.slice(t,e),o=a=>a.length,l=async a=>n.all(a),w=(a,t)=>a.map(t),g=(a,...t)=>a.push(...t),h=Object,y=h.entries,f=(a=[])=>h.fromEntries(a),u=(a,t)=>w(y(a),(([a,e])=>t(e,a))),p=(a,t,e)=>(((a,t)=>!r(((a,t)=>i(a,(a=>a[t])))(a,t)))(a,t)||(a[t]=e()),a[t]),S=a=>JSON.stringify(a,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)),d=JSON.parse,x=(e,s,n)=>e+s+(a(n)==t?n:S(n)),P=(a,t,e)=>{const n=o(a);return s(t,a)?[t[n],(e?d:String)(c(t,n+1))]:void 0},m=(a,t)=>((a,t)=>a?.forEach(t))(a,((a,e)=>t(e,a))),D="hasStore",b=f(w(["Origin","Methods","Headers"],(a=>["Access-Control-Allow-"+a,"*"]))),R=async(a,t="")=>!!await a.get(t+D),T=async(a,t="")=>{const s={},n={};return m(await a.list(),((a,r)=>i(P(t,a),(([a,t])=>{if(a==e){const[a,e,n]=d("["+t+"]");p(p(s,a,f),e,f)[n]=r}else"v"==a&&(n[t]=r)})))),[s,n]},C=async(a,t,e)=>a.party.broadcast(x(a.config.messagePrefix,"s",t),e),v=async(a,t,n,i)=>{const c=a.party.storage,w=a.config.storagePrefix,h={[w+D]:1},y=[],f=[];await l(u(t[0],(async(t,s)=>r(t)?!n&&await a.canDelTable(s,i)&&((a,...t)=>a.unshift(...t))(f,O(w,e,s)):await a.canSetTable(s,n,i)&&await l(u(t,(async(t,o)=>r(t)?!n&&await a.canDelRow(s,o,i)&&g(f,O(w,e,s,o)):await a.canSetRow(s,o,n,i)&&await l(u(t,(async(t,l)=>{const f=[s,o,l],u=O(w,e,...f);r(t)?!n&&await a.canDelCell(...f,i)&&g(y,u):await a.canSetCell(...f,t,n,i,await c.get(u))&&(h[u]=t)}))))))))),await l(u(t[1],(async(t,e)=>{const s=w+"v"+e;r(t)?!n&&await a.canDelValue(e,i)&&g(y,s):await a.canSetValue(e,t,n,i,await c.get(s))&&(h[s]=t)}))),0!=o(f)&&m(await c.list(),(a=>f.every((t=>!s(a,t)||g(y,a)&&0)))),await c.delete(y),await c.put(h)},O=(a,t,...e)=>x(a,t,c(S(e),1,-1)),V=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});exports.TinyBasePartyKitServer=class{constructor(a){this.party=a,this.config={},this.config.storePath??="/store",this.config.messagePrefix??="",this.config.storagePrefix??="",this.config.responseHeaders??=b}async onRequest(a){const{party:{storage:t},config:{storePath:e,storagePrefix:s}}=this;if(new URL(a.url).pathname.endsWith(e)){const e=await R(t,s),n=await a.text();return"PUT"==a.method?e?V(this,205):(await v(this,d(n),!0,a),V(this,201)):V(this,200,e?S(await T(t,s)):"")}return V(this,404)}async onMessage(a,t){const{config:{messagePrefix:e,storagePrefix:s}}=this;await i(P(e,a,1),(async([a,e])=>{"s"==a&&await R(this.party.storage,s)&&(await v(this,e,!1,t),C(this,e,[t.id]))}))}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,r,i){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}},exports.broadcastTransactionChanges=C,exports.hasStoreInStorage=R,exports.loadStoreFromStorage=T;
1
+ "use strict";const a=a=>typeof a,t=a(""),e="t",s=(a,t)=>a.startsWith(t),n=Promise,r=a=>null==a,i=(a,t,e)=>r(a)?e?.():t(a),c=(a,t,e)=>a.slice(t,e),o=a=>a.length,l=async a=>n.all(a),w=(a,t)=>a.map(t),g=(a,...t)=>a.push(...t),h=Object,y=h.entries,f=(a=[])=>h.fromEntries(a),u=(a,t)=>w(y(a),(([a,e])=>t(e,a))),p=(a,t,e)=>(((a,t)=>t in a)(a,t)||(a[t]=e()),a[t]),S=a=>JSON.stringify(a,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)),d=JSON.parse,x=(e,s,n)=>e+s+(a(n)==t?n:S(n)),P=(a,t,e)=>{const n=o(a);return s(t,a)?[t[n],(e?d:String)(c(t,n+1))]:void 0},m=(a,t)=>((a,t)=>a?.forEach(t))(a,((a,e)=>t(e,a))),D="hasStore",b=f(w(["Origin","Methods","Headers"],(a=>["Access-Control-Allow-"+a,"*"]))),R=async(a,t="")=>!!await a.get(t+D),C=async(a,t="")=>{const s={},n={};return m(await a.list(),((a,r)=>i(P(t,a),(([a,t])=>{if(a==e){const[a,e,n]=d("["+t+"]");p(p(s,a,f),e,f)[n]=r}else"v"==a&&(n[t]=r)})))),[s,n]},T=async(a,t,e)=>a.party.broadcast(x(a.config.messagePrefix,"s",t),e),v=async(a,t,n,i)=>{const c=a.party.storage,w=a.config.storagePrefix,h={[w+D]:1},y=[],f=[];await l(u(t[0],(async(t,s)=>r(t)?!n&&await a.canDelTable(s,i)&&((a,...t)=>a.unshift(...t))(f,O(w,e,s)):await a.canSetTable(s,n,i)&&await l(u(t,(async(t,o)=>r(t)?!n&&await a.canDelRow(s,o,i)&&g(f,O(w,e,s,o)):await a.canSetRow(s,o,n,i)&&await l(u(t,(async(t,l)=>{const f=[s,o,l],u=O(w,e,...f);r(t)?!n&&await a.canDelCell(...f,i)&&g(y,u):await a.canSetCell(...f,t,n,i,await c.get(u))&&(h[u]=t)}))))))))),await l(u(t[1],(async(t,e)=>{const s=w+"v"+e;r(t)?!n&&await a.canDelValue(e,i)&&g(y,s):await a.canSetValue(e,t,n,i,await c.get(s))&&(h[s]=t)}))),0!=o(f)&&m(await c.list(),(a=>f.every((t=>!s(a,t)||g(y,a)&&0)))),await c.delete(y),await c.put(h)},O=(a,t,...e)=>x(a,t,c(S(e),1,-1)),V=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});exports.TinyBasePartyKitServer=class{constructor(a){this.party=a,this.config={},this.config.storePath??="/store",this.config.messagePrefix??="",this.config.storagePrefix??="",this.config.responseHeaders??=b}async onRequest(a){const{party:{storage:t},config:{storePath:e,storagePrefix:s}}=this;if(new URL(a.url).pathname.endsWith(e)){const e=await R(t,s),n=await a.text();return"PUT"==a.method?e?V(this,205):(await v(this,d(n),!0,a),V(this,201)):V(this,200,e?S(await C(t,s)):"")}return V(this,404)}async onMessage(a,t){const{config:{messagePrefix:e,storagePrefix:s}}=this;await i(P(e,a,1),(async([a,e])=>{"s"==a&&await R(this.party.storage,s)&&(await v(this,e,!1,t),T(this,e,[t.id]))}))}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,r,i){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}},exports.broadcastChanges=T,exports.hasStoreInStorage=R,exports.loadStoreFromStorage=C;
@@ -1 +1 @@
1
- "use strict";const t=clearInterval,a=t=>null==t,e=(t,e,s)=>a(t)?s?.():e(t),s=Object,n=t=>s.getPrototypeOf(t),o=s.keys,r=s.freeze,c=t=>(t=>!a(t)&&e(n(t),(t=>t==s.prototype||a(n(t))),(()=>!0)))(t)&&0==(t=>o(t).length)(t),i=JSON.parse,y=t=>new Map(t),d=(t,a)=>t?.get(a),h=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},u=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||h(t,a,e()),d(t,a)},l=y(),w=y(),p=t=>t.headers.get("ETag");exports.createRemotePersister=(n,o,y,v=5,f)=>{let g;return((t,s,n,o,i,y,[p,v]=[],f=[])=>{let g,A,S,C=0,L=0;u(l,f,(()=>0)),u(w,f,(()=>[]));const O=async t=>(2!=C&&(C=1,await T.schedule((async()=>{await t(),C=0}))),T),T={load:async(a,e)=>await O((async()=>{try{t.setContent(await s())}catch{t.setContent([a,e])}})),startAutoLoad:async(a={},e={})=>(T.stopAutoLoad(),await T.load(a,e),L=1,S=o((async(a,e)=>{if(e){const a=e();await O((async()=>t.setTransactionChanges(a)))}else await O((async()=>{try{t.setContent(a?.()??await s())}catch(t){y?.(t)}}))})),T),stopAutoLoad:()=>(L&&(i(S),S=void 0,L=0),T),save:async a=>(1!=C&&(C=2,await T.schedule((async()=>{try{await n(t.getContent,a)}catch(t){y?.(t)}C=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();c(e)&&c(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(e(g,t.delListener),g=void 0,T),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(d(w,f),...t),await(async()=>{if(!d(l,f)){for(h(l,f,1);!a((t=d(w,f),A=t.shift()));)try{await A()}catch(t){y?.(t)}h(l,f,0)}var t})(),T),getStore:()=>t,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return p&&(T[p]=()=>v),r(T)})(n,(async()=>{const t=await fetch(o);return g=p(t),i(await t.text())}),(async t=>{return await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>a instanceof Map?s.fromEntries([...a]):a)))});var a}),(t=>setInterval((async()=>{const e=await fetch(o,{method:"HEAD"}),s=p(e);a(g)||a(s)||s==g||(g=s,t())}),1e3*v)),(a=>t(a)),f,["getUrls",[o,y]])};
1
+ "use strict";const t=t=>typeof t,e=t(""),a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=t=>o.getPrototypeOf(t),c=o.keys,i=o.freeze,y=t=>(t=>!s(t)&&n(r(t),(t=>t==o.prototype||s(r(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=JSON.parse,g=t=>new Map(t),h=(t,e)=>t?.get(e),d=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},p=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||d(t,e,a()),h(t,e)},u=g(),w=g(),v=a=>{return s=a?.[0],t(s)==e;var s},f=t=>t.headers.get("ETag");exports.createRemotePersister=(t,e,r,c=5,g)=>{let C;return((t,e,a,o,r,c,l,[g,f]=[],C=[])=>{let A,S,b,M=0,L=0;p(u,C,(()=>0)),p(w,C,(()=>[]));const[T,O,m,E]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!y(t)||!y(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!y(t)||!y(e)])(l,t),P=async t=>(2!=M&&(M=1,await j.schedule((async()=>{await t(),M=0}))),j),j={load:async(a,s)=>await P((async()=>{try{const a=await e();(T&&v(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),L=1,b=o((async(a,s)=>{if(s){const e=s();await P((async()=>(T&&v(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const s=a?.()??await e();(T&&v(s)?t.setMergeableContent:t.setContent)(s)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(L&&(r(b),b=void 0,L=0),j),save:async t=>(1!=M&&(M=2,await j.schedule((async()=>{try{await a(O,t)}catch(t){c?.(t)}M=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),A=t.addDidFinishTransactionListener((()=>{const t=m();E(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(A,t.delListener),A=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(h(w,C),...t),await(async()=>{if(!h(u,C)){for(d(u,C,1);!s((t=h(w,C),S=t.shift()));)try{await S()}catch(t){c?.(t)}d(u,C,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(j[g]=()=>f),i(j)})(t,(async()=>{const t=await fetch(e);return C=f(t),l(await t.text())}),(async t=>{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?o.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(e,{method:"HEAD"}),n=f(a);s(C)||s(n)||n==C||(C=n,t())}),1e3*c)),(t=>a(t)),g,!1,["getUrls",[e,r]])};