tinybase 5.0.0-beta.5 → 5.0.0-beta.6

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 (353) 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-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-sync.cjs +1 -0
  32. package/lib/cjs/persisters/persister-sync.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  34. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  35. package/lib/cjs/persisters.cjs +1 -1
  36. package/lib/cjs/persisters.cjs.gz +0 -0
  37. package/lib/cjs/store.cjs +1 -1
  38. package/lib/cjs/store.cjs.gz +0 -0
  39. package/lib/cjs/tinybase.cjs +1 -1
  40. package/lib/cjs/tinybase.cjs.gz +0 -0
  41. package/lib/cjs/tools.cjs +1 -1
  42. package/lib/cjs/tools.cjs.gz +0 -0
  43. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  44. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  45. package/lib/cjs/ui-react.cjs +1 -1
  46. package/lib/cjs/ui-react.cjs.gz +0 -0
  47. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  48. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  70. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-sync.cjs +1 -0
  78. package/lib/cjs-es6/persisters/persister-sync.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters.cjs +1 -1
  82. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  83. package/lib/cjs-es6/store.cjs +1 -1
  84. package/lib/cjs-es6/store.cjs.gz +0 -0
  85. package/lib/cjs-es6/tinybase.cjs +1 -1
  86. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  87. package/lib/cjs-es6/tools.cjs +1 -1
  88. package/lib/cjs-es6/tools.cjs.gz +0 -0
  89. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  90. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  91. package/lib/cjs-es6/ui-react.cjs +1 -1
  92. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  93. package/lib/debug/mergeable-store.js +287 -130
  94. package/lib/debug/persisters/persister-automerge.js +39 -46
  95. package/lib/debug/persisters/persister-browser.js +39 -46
  96. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +64 -60
  97. package/lib/debug/persisters/persister-electric-sql.js +64 -60
  98. package/lib/debug/persisters/persister-expo-sqlite-next.js +64 -60
  99. package/lib/debug/persisters/persister-expo-sqlite.js +64 -60
  100. package/lib/debug/persisters/persister-file.js +39 -46
  101. package/lib/debug/persisters/persister-indexed-db.js +39 -46
  102. package/lib/debug/persisters/persister-libsql.js +64 -60
  103. package/lib/debug/persisters/persister-partykit-client.js +39 -46
  104. package/lib/debug/persisters/persister-powersync.js +917 -0
  105. package/lib/debug/persisters/persister-remote.js +39 -46
  106. package/lib/debug/persisters/persister-sqlite-wasm.js +64 -60
  107. package/lib/debug/persisters/persister-sqlite3.js +64 -60
  108. package/lib/debug/persisters/persister-sync.js +594 -0
  109. package/lib/debug/persisters/persister-yjs.js +41 -48
  110. package/lib/debug/persisters.js +38 -45
  111. package/lib/debug/store.js +44 -32
  112. package/lib/debug/tinybase.js +322 -173
  113. package/lib/debug/tools.js +2 -2
  114. package/lib/debug/ui-react-dom.js +81 -76
  115. package/lib/debug/ui-react.js +1 -1
  116. package/lib/es6/mergeable-store.js +1 -1
  117. package/lib/es6/mergeable-store.js.gz +0 -0
  118. package/lib/es6/persisters/persister-automerge.js +1 -1
  119. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  120. package/lib/es6/persisters/persister-browser.js +1 -1
  121. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  122. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  123. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  124. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  125. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  126. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  127. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  128. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  129. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  130. package/lib/es6/persisters/persister-file.js +1 -1
  131. package/lib/es6/persisters/persister-file.js.gz +0 -0
  132. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  133. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  134. package/lib/es6/persisters/persister-libsql.js +1 -1
  135. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  136. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  137. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  138. package/lib/es6/persisters/persister-powersync.js +1 -0
  139. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  140. package/lib/es6/persisters/persister-remote.js +1 -1
  141. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  142. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  143. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  144. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  145. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  146. package/lib/es6/persisters/persister-sync.js +1 -0
  147. package/lib/es6/persisters/persister-sync.js.gz +0 -0
  148. package/lib/es6/persisters/persister-yjs.js +1 -1
  149. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  150. package/lib/es6/persisters.js +1 -1
  151. package/lib/es6/persisters.js.gz +0 -0
  152. package/lib/es6/store.js +1 -1
  153. package/lib/es6/store.js.gz +0 -0
  154. package/lib/es6/tinybase.js +1 -1
  155. package/lib/es6/tinybase.js.gz +0 -0
  156. package/lib/es6/tools.js +1 -1
  157. package/lib/es6/tools.js.gz +0 -0
  158. package/lib/es6/ui-react-dom-debug.js +1 -1
  159. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  160. package/lib/es6/ui-react.js +1 -1
  161. package/lib/es6/ui-react.js.gz +0 -0
  162. package/lib/mergeable-store.js +1 -1
  163. package/lib/mergeable-store.js.gz +0 -0
  164. package/lib/persisters/persister-automerge.js +1 -1
  165. package/lib/persisters/persister-automerge.js.gz +0 -0
  166. package/lib/persisters/persister-browser.js +1 -1
  167. package/lib/persisters/persister-browser.js.gz +0 -0
  168. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  169. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  170. package/lib/persisters/persister-electric-sql.js +1 -1
  171. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  172. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  173. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  174. package/lib/persisters/persister-expo-sqlite.js +1 -1
  175. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  176. package/lib/persisters/persister-file.js +1 -1
  177. package/lib/persisters/persister-file.js.gz +0 -0
  178. package/lib/persisters/persister-indexed-db.js +1 -1
  179. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  180. package/lib/persisters/persister-libsql.js +1 -1
  181. package/lib/persisters/persister-libsql.js.gz +0 -0
  182. package/lib/persisters/persister-partykit-client.js +1 -1
  183. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  184. package/lib/persisters/persister-powersync.js +1 -0
  185. package/lib/persisters/persister-powersync.js.gz +0 -0
  186. package/lib/persisters/persister-remote.js +1 -1
  187. package/lib/persisters/persister-remote.js.gz +0 -0
  188. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  189. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  190. package/lib/persisters/persister-sqlite3.js +1 -1
  191. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  192. package/lib/persisters/persister-sync.js +1 -0
  193. package/lib/persisters/persister-sync.js.gz +0 -0
  194. package/lib/persisters/persister-yjs.js +1 -1
  195. package/lib/persisters/persister-yjs.js.gz +0 -0
  196. package/lib/persisters.js +1 -1
  197. package/lib/persisters.js.gz +0 -0
  198. package/lib/store.js +1 -1
  199. package/lib/store.js.gz +0 -0
  200. package/lib/tinybase.js +1 -1
  201. package/lib/tinybase.js.gz +0 -0
  202. package/lib/tools.js +1 -1
  203. package/lib/tools.js.gz +0 -0
  204. package/lib/types/checkpoints.d.ts +2 -2
  205. package/lib/types/indexes.d.ts +2 -2
  206. package/lib/types/mergeable-store.d.ts +121 -59
  207. package/lib/types/metrics.d.ts +2 -2
  208. package/lib/types/persisters/persister-automerge.d.ts +3 -0
  209. package/lib/types/persisters/persister-browser.d.ts +9 -2
  210. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
  211. package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
  212. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
  213. package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
  214. package/lib/types/persisters/persister-file.d.ts +5 -1
  215. package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
  216. package/lib/types/persisters/persister-libsql.d.ts +3 -0
  217. package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
  218. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  219. package/lib/types/persisters/persister-remote.d.ts +3 -0
  220. package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
  221. package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
  222. package/lib/types/persisters/persister-sync.d.ts +182 -0
  223. package/lib/types/persisters/persister-yjs.d.ts +5 -2
  224. package/lib/types/persisters.d.ts +60 -3
  225. package/lib/types/queries.d.ts +2 -2
  226. package/lib/types/relationships.d.ts +2 -2
  227. package/lib/types/store.d.ts +36 -3
  228. package/lib/types/tinybase.d.ts +9 -9
  229. package/lib/types/tools.d.ts +2 -2
  230. package/lib/types/ui-react.d.ts +8 -8
  231. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  232. package/lib/types/with-schemas/indexes.d.ts +2 -2
  233. package/lib/types/with-schemas/mergeable-store.d.ts +185 -87
  234. package/lib/types/with-schemas/metrics.d.ts +2 -2
  235. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
  236. package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
  237. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
  238. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
  239. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
  240. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
  241. package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
  242. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
  243. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +4 -1
  244. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
  245. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  246. package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
  247. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
  248. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
  249. package/lib/types/with-schemas/persisters/persister-sync.d.ts +195 -0
  250. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
  251. package/lib/types/with-schemas/persisters.d.ts +79 -7
  252. package/lib/types/with-schemas/queries.d.ts +3 -3
  253. package/lib/types/with-schemas/relationships.d.ts +2 -2
  254. package/lib/types/with-schemas/store.d.ts +100 -3
  255. package/lib/types/with-schemas/tinybase.d.ts +9 -9
  256. package/lib/types/with-schemas/tools.d.ts +2 -2
  257. package/lib/types/with-schemas/ui-react.d.ts +8 -8
  258. package/lib/ui-react.js +1 -1
  259. package/lib/ui-react.js.gz +0 -0
  260. package/lib/umd/mergeable-store.js +1 -1
  261. package/lib/umd/mergeable-store.js.gz +0 -0
  262. package/lib/umd/persisters/persister-automerge.js +1 -1
  263. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  264. package/lib/umd/persisters/persister-browser.js +1 -1
  265. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  266. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  267. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  268. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  269. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  270. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  271. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  272. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  273. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  274. package/lib/umd/persisters/persister-file.js +1 -1
  275. package/lib/umd/persisters/persister-file.js.gz +0 -0
  276. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  277. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  278. package/lib/umd/persisters/persister-libsql.js +1 -1
  279. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  280. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  281. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  282. package/lib/umd/persisters/persister-powersync.js +1 -0
  283. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  284. package/lib/umd/persisters/persister-remote.js +1 -1
  285. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  286. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  287. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  288. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  289. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  290. package/lib/umd/persisters/persister-sync.js +1 -0
  291. package/lib/umd/persisters/persister-sync.js.gz +0 -0
  292. package/lib/umd/persisters/persister-yjs.js +1 -1
  293. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  294. package/lib/umd/persisters.js +1 -1
  295. package/lib/umd/persisters.js.gz +0 -0
  296. package/lib/umd/store.js +1 -1
  297. package/lib/umd/store.js.gz +0 -0
  298. package/lib/umd/tinybase.js +1 -1
  299. package/lib/umd/tinybase.js.gz +0 -0
  300. package/lib/umd/tools.js +1 -1
  301. package/lib/umd/tools.js.gz +0 -0
  302. package/lib/umd/ui-react-dom-debug.js +1 -1
  303. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  304. package/lib/umd/ui-react.js +1 -1
  305. package/lib/umd/ui-react.js.gz +0 -0
  306. package/lib/umd-es6/mergeable-store.js +1 -1
  307. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  308. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  309. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  310. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  311. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  313. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  314. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  315. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  316. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  317. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  318. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  319. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  320. package/lib/umd-es6/persisters/persister-file.js +1 -1
  321. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  322. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  323. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  324. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  325. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  326. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  327. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  328. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  329. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  330. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  331. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  332. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  333. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  334. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  335. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  336. package/lib/umd-es6/persisters/persister-sync.js +1 -0
  337. package/lib/umd-es6/persisters/persister-sync.js.gz +0 -0
  338. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  339. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  340. package/lib/umd-es6/persisters.js +1 -1
  341. package/lib/umd-es6/persisters.js.gz +0 -0
  342. package/lib/umd-es6/store.js +1 -1
  343. package/lib/umd-es6/store.js.gz +0 -0
  344. package/lib/umd-es6/tinybase.js +1 -1
  345. package/lib/umd-es6/tinybase.js.gz +0 -0
  346. package/lib/umd-es6/tools.js +1 -1
  347. package/lib/umd-es6/tools.js.gz +0 -0
  348. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  349. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  350. package/lib/umd-es6/ui-react.js +1 -1
  351. package/lib/umd-es6/ui-react.js.gz +0 -0
  352. package/package.json +37 -26
  353. package/readme.md +2 -2
@@ -58,8 +58,6 @@ const arrayShift = (array) => array.shift();
58
58
  const object = Object;
59
59
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
60
60
  const objEntries = object.entries;
61
- const objIds = object.keys;
62
- const objFreeze = object.freeze;
63
61
  const isObject = (obj) =>
64
62
  !isUndefined(obj) &&
65
63
  ifNotUndefined(
@@ -70,6 +68,8 @@ const isObject = (obj) =>
70
68
  /* istanbul ignore next */
71
69
  () => true,
72
70
  );
71
+ const objIds = object.keys;
72
+ const objFreeze = object.freeze;
73
73
  const objToArray = (obj, cb) =>
74
74
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
75
75
  const objSize = (obj) => size(objIds(obj));
@@ -124,9 +124,7 @@ const arrayShift = (array) => array.shift();
124
124
  const object = Object;
125
125
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
126
126
  const objEntries = object.entries;
127
- const objIds = object.keys;
128
127
  const objFrozen = object.isFrozen;
129
- const objFreeze = object.freeze;
130
128
  const isObject = (obj) =>
131
129
  !isUndefined(obj) &&
132
130
  ifNotUndefined(
@@ -137,6 +135,8 @@ const isObject = (obj) =>
137
135
  /* istanbul ignore next */
138
136
  () => true,
139
137
  );
138
+ const objIds = object.keys;
139
+ const objFreeze = object.freeze;
140
140
  const objNew = (entries = []) => object.fromEntries(entries);
141
141
  const objHas = (obj, id) => id in obj;
142
142
  const objDel = (obj, id) => {
@@ -149,6 +149,23 @@ const objMap = (obj, cb) =>
149
149
  objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
150
150
  const objSize = (obj) => size(objIds(obj));
151
151
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
152
+ const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
153
+ if (
154
+ isUndefined(obj) ||
155
+ !isObject(obj) ||
156
+ (!emptyIsValid && objIsEmpty(obj)) ||
157
+ objFrozen(obj)
158
+ ) {
159
+ onInvalidObj?.();
160
+ return false;
161
+ }
162
+ objToArray(obj, (child, id) => {
163
+ if (!validateChild(child, id)) {
164
+ objDel(obj, id);
165
+ }
166
+ });
167
+ return emptyIsValid ? true : !objIsEmpty(obj);
168
+ };
152
169
 
153
170
  const jsonString = (obj) =>
154
171
  JSON.stringify(obj, (_key, value) =>
@@ -1543,24 +1560,28 @@ const mapMatch = (map, obj, set, del = mapSet) => {
1543
1560
  mapForEach(map, (id) => (objHas(obj, id) ? 0 : del(map, id)));
1544
1561
  return map;
1545
1562
  };
1546
- const mapToObj = (map, mapValue, excludeValue) => {
1563
+ const mapToObj = (map, valueMapper, excludeMapValue, excludeObjValue) => {
1547
1564
  const obj = {};
1548
- collForEach(map, (value, id) => {
1549
- const mappedValue = mapValue ? mapValue(value, id) : value;
1550
- excludeValue?.(mappedValue, value) ? 0 : (obj[id] = mappedValue);
1565
+ collForEach(map, (mapValue, id) => {
1566
+ if (!excludeMapValue?.(mapValue, id)) {
1567
+ const objValue = valueMapper ? valueMapper(mapValue, id) : mapValue;
1568
+ excludeObjValue?.(objValue) ? 0 : (obj[id] = objValue);
1569
+ }
1551
1570
  });
1552
1571
  return obj;
1553
1572
  };
1554
- const mapToObj2 = (map, mapValue, excludeValue) =>
1573
+ const mapToObj2 = (map, valueMapper, excludeMapValue) =>
1555
1574
  mapToObj(
1556
1575
  map,
1557
- (childMap) => mapToObj(childMap, mapValue, excludeValue),
1576
+ (childMap) => mapToObj(childMap, valueMapper, excludeMapValue),
1577
+ collIsEmpty,
1558
1578
  objIsEmpty,
1559
1579
  );
1560
- const mapToObj3 = (map, mapValue, excludeValue) =>
1580
+ const mapToObj3 = (map, valueMapper, excludeMapValue) =>
1561
1581
  mapToObj(
1562
1582
  map,
1563
- (childMap) => mapToObj2(childMap, mapValue, excludeValue),
1583
+ (childMap) => mapToObj2(childMap, valueMapper, excludeMapValue),
1584
+ collIsEmpty,
1564
1585
  objIsEmpty,
1565
1586
  );
1566
1587
  const mapClone = (map, mapValue) => {
@@ -1594,7 +1615,6 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
1594
1615
 
1595
1616
  const scheduleRunning = mapNew();
1596
1617
  const scheduleActions = mapNew();
1597
- const isMergeable = (contentOrChanges) => isString(contentOrChanges?.[0]);
1598
1618
  const getStoreFunctions = (supportsMergeableStore, store) =>
1599
1619
  !supportsMergeableStore || isUndefined(store.getMergeableContent)
1600
1620
  ? [
@@ -1619,16 +1639,15 @@ const createCustomPersister = (
1619
1639
  delPersisterListener,
1620
1640
  onIgnoredError,
1621
1641
  supportsMergeableStore,
1622
- [getThing, thing] = [],
1642
+ extra = {},
1623
1643
  scheduleId = [],
1624
1644
  ) => {
1625
- let listenerId;
1626
1645
  let loadSave = 0;
1627
1646
  let loads = 0;
1628
1647
  let saves = 0;
1629
- let listening = 0;
1630
1648
  let action;
1631
- let listeningHandle;
1649
+ let autoLoadHandle;
1650
+ let autoSaveListenerId;
1632
1651
  mapEnsure(scheduleRunning, scheduleId, () => 0);
1633
1652
  mapEnsure(scheduleActions, scheduleId, () => []);
1634
1653
  const [isMergeableStore, getContent, getChanges, hasChanges] =
@@ -1664,55 +1683,51 @@ const createCustomPersister = (
1664
1683
  }
1665
1684
  return persister;
1666
1685
  };
1686
+ const setContentOrChanges = (contentOrChanges) => {
1687
+ (isMergeableStore && isString(contentOrChanges?.[0])
1688
+ ? contentOrChanges?.[1][2] === 1
1689
+ ? store.applyMergeableChanges
1690
+ : store.setMergeableContent
1691
+ : contentOrChanges?.[2] === 1
1692
+ ? store.applyChanges
1693
+ : store.setContent)(contentOrChanges);
1694
+ };
1667
1695
  const persister = {
1668
1696
  load: async (initialTables, initialValues) =>
1669
1697
  await loadLock(async () => {
1670
1698
  try {
1671
- const content = await getPersisted();
1672
- (isMergeableStore && isMergeable(content)
1673
- ? store.setMergeableContent
1674
- : store.setContent)(content);
1675
- } catch {
1699
+ setContentOrChanges(await getPersisted());
1700
+ } catch (error) {
1701
+ onIgnoredError?.(error);
1676
1702
  store.setContent([initialTables, initialValues]);
1677
1703
  }
1678
1704
  }),
1679
1705
  startAutoLoad: async (initialTables = {}, initialValues = {}) => {
1680
- persister.stopAutoLoad();
1681
- await persister.load(initialTables, initialValues);
1682
- listening = 1;
1683
- listeningHandle = addPersisterListener(
1706
+ await persister.stopAutoLoad().load(initialTables, initialValues);
1707
+ autoLoadHandle = addPersisterListener(
1684
1708
  async (getContent2, getChanges2) => {
1685
- if (getChanges2) {
1686
- const changes = getChanges2();
1687
- await loadLock(async () =>
1688
- (isMergeableStore && isMergeable(changes)
1689
- ? store.applyMergeableChanges
1690
- : store.applyChanges)(changes),
1691
- );
1692
- } else {
1693
- await loadLock(async () => {
1694
- try {
1695
- const content = getContent2?.() ?? (await getPersisted());
1696
- (isMergeableStore && isMergeable(content)
1697
- ? store.setMergeableContent
1698
- : store.setContent)(content);
1699
- } catch (error) {
1700
- onIgnoredError?.(error);
1701
- }
1702
- });
1703
- }
1709
+ const changes = getChanges2?.();
1710
+ await loadLock(async () => {
1711
+ try {
1712
+ setContentOrChanges(
1713
+ changes ?? getContent2?.() ?? (await getPersisted()),
1714
+ );
1715
+ } catch (error) {
1716
+ onIgnoredError?.(error);
1717
+ }
1718
+ });
1704
1719
  },
1705
1720
  );
1706
1721
  return persister;
1707
1722
  },
1708
1723
  stopAutoLoad: () => {
1709
- if (listening) {
1710
- delPersisterListener(listeningHandle);
1711
- listeningHandle = void 0;
1712
- listening = 0;
1724
+ if (autoLoadHandle) {
1725
+ delPersisterListener(autoLoadHandle);
1726
+ autoLoadHandle = void 0;
1713
1727
  }
1714
1728
  return persister;
1715
1729
  },
1730
+ isAutoLoading: () => !isUndefined(autoLoadHandle),
1716
1731
  save: async (getChanges2) => {
1717
1732
  /* istanbul ignore else */
1718
1733
  if (loadSave != 1) {
@@ -1734,7 +1749,7 @@ const createCustomPersister = (
1734
1749
  },
1735
1750
  startAutoSave: async () => {
1736
1751
  await persister.stopAutoSave().save();
1737
- listenerId = store.addDidFinishTransactionListener(() => {
1752
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
1738
1753
  const changes = getChanges();
1739
1754
  if (hasChanges(changes)) {
1740
1755
  persister.save(() => changes);
@@ -1743,10 +1758,11 @@ const createCustomPersister = (
1743
1758
  return persister;
1744
1759
  },
1745
1760
  stopAutoSave: () => {
1746
- ifNotUndefined(listenerId, store.delListener);
1747
- listenerId = void 0;
1761
+ ifNotUndefined(autoSaveListenerId, store.delListener);
1762
+ autoSaveListenerId = void 0;
1748
1763
  return persister;
1749
1764
  },
1765
+ isAutoSaving: () => !isUndefined(autoSaveListenerId),
1750
1766
  schedule: async (...actions) => {
1751
1767
  arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
1752
1768
  await run();
@@ -1755,10 +1771,8 @@ const createCustomPersister = (
1755
1771
  getStore: () => store,
1756
1772
  destroy: () => persister.stopAutoLoad().stopAutoSave(),
1757
1773
  getStats: () => ({loads, saves}),
1774
+ ...extra,
1758
1775
  };
1759
- if (getThing) {
1760
- persister[getThing] = () => thing;
1761
- }
1762
1776
  return objFreeze(persister);
1763
1777
  };
1764
1778
 
@@ -1792,7 +1806,7 @@ const createStoragePersister = (
1792
1806
  delPersisterListener,
1793
1807
  onIgnoredError,
1794
1808
  true,
1795
- ['getStorageName', storageName],
1809
+ {getStorageName: () => storageName},
1796
1810
  );
1797
1811
  };
1798
1812
  const createSessionPersister = (store, storageName, onIgnoredError) =>
@@ -1899,18 +1913,6 @@ const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
1899
1913
  const defaultSorter = (sortKey1, sortKey2) =>
1900
1914
  (sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
1901
1915
 
1902
- const validate = (obj, validateChild, onInvalidObj) => {
1903
- if (isUndefined(obj) || !isObject(obj) || objIsEmpty(obj) || objFrozen(obj)) {
1904
- onInvalidObj?.();
1905
- return false;
1906
- }
1907
- objToArray(obj, (child, id2) => {
1908
- if (!validateChild(child, id2)) {
1909
- objDel(obj, id2);
1910
- }
1911
- });
1912
- return !objIsEmpty(obj);
1913
- };
1914
1916
  const idsChanged = (changedIds, id2, addedOrRemoved) =>
1915
1917
  mapSet(
1916
1918
  changedIds,
@@ -1970,13 +1972,13 @@ const createStore = () => {
1970
1972
  const [addListener, callListeners, delListenerImpl, callListenerImpl] =
1971
1973
  getListenerFunctions(() => store);
1972
1974
  const validateTablesSchema = (tableSchema) =>
1973
- validate(tableSchema, (tableSchema2) =>
1974
- validate(tableSchema2, validateCellOrValueSchema),
1975
+ objValidate(tableSchema, (tableSchema2) =>
1976
+ objValidate(tableSchema2, validateCellOrValueSchema),
1975
1977
  );
1976
1978
  const validateValuesSchema = (valuesSchema) =>
1977
- validate(valuesSchema, validateCellOrValueSchema);
1979
+ objValidate(valuesSchema, validateCellOrValueSchema);
1978
1980
  const validateCellOrValueSchema = (schema) => {
1979
- if (!validate(schema, (_child, id2) => arrayHas([TYPE, DEFAULT], id2))) {
1981
+ if (!objValidate(schema, (_child, id2) => arrayHas([TYPE, DEFAULT], id2))) {
1980
1982
  return false;
1981
1983
  }
1982
1984
  const type = schema[TYPE];
@@ -1989,18 +1991,18 @@ const createStore = () => {
1989
1991
  return true;
1990
1992
  };
1991
1993
  const validateTables = (tables) =>
1992
- validate(tables, validateTable, cellInvalid);
1994
+ objValidate(tables, validateTable, cellInvalid);
1993
1995
  const validateTable = (table, tableId) =>
1994
1996
  (!hasTablesSchema ||
1995
1997
  collHas(tablesSchemaMap, tableId) ||
1996
1998
  cellInvalid(tableId)) &&
1997
- validate(
1999
+ objValidate(
1998
2000
  table,
1999
2001
  (row, rowId) => validateRow(tableId, rowId, row),
2000
2002
  () => cellInvalid(tableId),
2001
2003
  );
2002
2004
  const validateRow = (tableId, rowId, row, skipDefaults) =>
2003
- validate(
2005
+ objValidate(
2004
2006
  skipDefaults ? row : addDefaultsToRow(row, tableId, rowId),
2005
2007
  (cell, cellId) =>
2006
2008
  ifNotUndefined(
@@ -2027,7 +2029,7 @@ const createStore = () => {
2027
2029
  ? cellInvalid(tableId, rowId, cellId, cell)
2028
2030
  : cell;
2029
2031
  const validateValues = (values, skipDefaults) =>
2030
- validate(
2032
+ objValidate(
2031
2033
  skipDefaults ? values : addDefaultsToValues(values),
2032
2034
  (value, valueId) =>
2033
2035
  ifNotUndefined(
@@ -2870,17 +2872,20 @@ const createStore = () => {
2870
2872
  : mapToObj(
2871
2873
  row,
2872
2874
  ([, newCell]) => newCell,
2873
- (_, changedCell) => pairIsEqual(changedCell),
2875
+ (changedCell) => pairIsEqual(changedCell),
2874
2876
  ),
2877
+ collIsEmpty,
2875
2878
  objIsEmpty,
2876
2879
  ),
2880
+ collIsEmpty,
2877
2881
  objIsEmpty,
2878
2882
  ),
2879
2883
  mapToObj(
2880
2884
  changedValues,
2881
2885
  ([, newValue]) => newValue,
2882
- (_, changedValue) => pairIsEqual(changedValue),
2886
+ (changedValue) => pairIsEqual(changedValue),
2883
2887
  ),
2888
+ 1,
2884
2889
  ];
2885
2890
  const getTransactionLog = () => [
2886
2891
  !collIsEmpty(changedCells),
@@ -43,7 +43,6 @@ const arrayIsEmpty = (array) => size(array) == 0;
43
43
  const object = Object;
44
44
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
45
45
  const objEntries = object.entries;
46
- const objIds = object.keys;
47
46
  const isObject = (obj) =>
48
47
  !isUndefined(obj) &&
49
48
  ifNotUndefined(
@@ -54,6 +53,7 @@ const isObject = (obj) =>
54
53
  /* istanbul ignore next */
55
54
  () => true,
56
55
  );
56
+ const objIds = object.keys;
57
57
  const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
58
58
  const objDel = (obj, id) => {
59
59
  delete obj[id];
@@ -1 +1 @@
1
- const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",v=c+i,h="Row",g=h+"Count",C=h+i,T="Cell",f=T+i,b="Value",V=b+"s",p=b+i,w=e=>l+e,S=(e,l)=>e.startsWith(l),y=(e,l)=>e.endsWith(l),I=Math.max,R=isFinite,m=e=>null==e,L=(e,l,t)=>m(e)?null==t?void 0:t():l(e),H=e=>e==t||e==n,J=l=>e(l)==a,E=(e,l,t)=>e.slice(l,t),M=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),x=(e,...l)=>e.push(...l),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.keys,k=z.isFrozen,D=z.freeze,N=e=>!m(e)&&L(A(e),(e=>e==z.prototype||m(A(e))),(()=>!0)),j=(e=[])=>z.fromEntries(e),$=(e,l)=>l in e,q=(e,l)=>(delete e[l],e),B=(e,l)=>F(P(e),(([e,t])=>l(t,e))),G=(e,l)=>O(P(e),(([e,t])=>l(t,e))),K=e=>N(e)&&0==(e=>M(W(e)))(e),Q=(e,l,t)=>($(e,l)||(e[l]=t()),e[l]),U=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},X=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},Y=e=>m(e)||0==U(e),Z=e=>e.clear(),_=(e,l)=>null==e?void 0:e.forEach(l),ee=(e,l)=>null==e?void 0:e.delete(l),le=e=>new Map(e),te=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},ne=(e,l)=>null==e?void 0:e.get(l),se=(e,l)=>_(e,((e,t)=>l(t,e))),ae=(e,l,t)=>m(t)?(ee(e,l),e):null==e?void 0:e.set(l,t),re=(e,l,t,n)=>(X(e,l)?null==n||n(ne(e,l)):ae(e,l,t()),ne(e,l)),oe=(e,l,t,n=ae)=>(G(l,((l,n)=>t(e,n,l))),se(e,(t=>$(l,t)?0:n(e,t))),e),ue=(e,l,t)=>{const n={};return _(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},ie=(e,l,t)=>ue(e,(e=>ue(e,l,t)),K),ce=(e,l,t)=>ue(e,(e=>ie(e,l,t)),K),de=(e,l)=>{const t=le();return _(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ve=e=>de(e,de),he=e=>de(e,ve),ge=(e,l,t,n,s=0)=>L((t?re:ne)(e,l[s],s>M(l)-2?t:le),(a=>{if(s>M(l)-2)return(null==n?void 0:n(a))&&ae(e,l[s]),a;const r=ge(a,l,t,n,s+1);return Y(a)&&ae(e,l[s]),r})),Ce=new globalThis.TextEncoder,Te=e=>{let l=2166136261;return F(Ce.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},fe=([e,l,t])=>[e,l,t],be=(e,l)=>[e,l],Ve=(e,l)=>Te(e+":"+l),pe=(e,l,t)=>{e[2]=l>>>0,t>e[0]&&(e[0]=t)},we=e=>be(e,j()),Se=(e="")=>[e,le(),0],ye=()=>[l,void 0,0],Ie=([e,l,t],n)=>[e,n(l,e),t],Re=(e,l=fe)=>Ie(e,(e=>ue(e,l))),me=e=>new Set(Array.isArray(e)||m(e)?e:[e]),Le=(e,l)=>null==e?void 0:e.add(l),He=/^\d+$/,Je=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{He.test(l)&&M(e)<1e3&&x(e,l)}]},Ee=e=>[e,e],Me=()=>[le(),le()],Fe=e=>[...e],Oe=([e,l])=>e===l,xe=l=>{const t=e(l);return H(t)||t==s&&R(l)?t:void 0},ze=(e,l,t,n,s)=>m(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Ae=(e,l,t)=>m(t)?e.delValue(l):e.setValue(l,t),Pe=e=>JSON.stringify(e,((e,l)=>l instanceof Map?z.fromEntries([...l]):l)),We=JSON.parse,ke=(e,l,t)=>m(e)||!N(e)||K(e)||k(e)?(null==t||t(),!1):(G(e,((t,n)=>{l(t,n)||q(e,n)})),!K(e)),De=(e,l,t)=>ae(e,l,ne(e,l)==-t?void 0:t),Ne=()=>{let e,t,n=!1,a=!1,i=0,S=[];const y=le(),I=le(),R=le(),z=le(),A=le(),P=le(),W=le(),k=le(),N=le(),j=le(),B=le(),Q=le(),Ce=le(),Te=le(),fe=me(),be=le(),Ve=le(),pe=le(),we=le(),Se=Me(),ye=Me(),Ie=Me(),Re=Me(),He=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(),el=Me(),ll=Me(),tl=Me(),nl=Me(),sl=Me(),al=le(),rl=Me(),[ol,ul,il,cl]=(e=>{let t;const[n,s]=Je(),a=le();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=Et);const i=n(1);return ae(a,i,[e,s,r,o,u]),Le(ge(s,null!=r?r:[l],me),i),i},(e,n,...s)=>F(((e,t=[l])=>{const n=[],s=(e,l)=>l==M(t)?x(n,e):null===t[l]?_(e,(e=>s(e,l+1))):F([t[l],null],(t=>s(ne(e,t),l+1)));return s(e,0),n})(e,n),(e=>_(e,(e=>ne(a,e)[0](t,...null!=n?n:[],...s))))),e=>L(ne(a,e),(([,t,n])=>(ge(t,null!=n?n:[l],void 0,(l=>(ee(l,e),Y(l)?1:0))),ae(a,e),s(e),n))),e=>L(ne(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=M(r);i==M(l)?e(t,...r,...s(r)):m(l[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),dl=e=>{if(!ke(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!H(l)&&l!=s||(xe(e[o])!=l&&q(e,o),0))},vl=(l,t)=>(!e||X(B,t)||jl(t))&&ke(l,((e,l)=>hl(t,l,e)),(()=>jl(t))),hl=(e,l,t,n)=>ke(n?t:fl(t,e,l),((n,s)=>L(gl(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>jl(e,l))),gl=(l,t,n,s)=>e?L(ne(ne(B,l),n),(e=>xe(s)!=e[r]?jl(l,t,n,s,e[o]):s),(()=>jl(l,t,n,s))):m(xe(s))?jl(l,t,n,s):s,Cl=(e,l)=>ke(l?e:bl(e),((l,t)=>L(Tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>$l())),Tl=(e,l)=>t?L(ne(Ce,e),(t=>xe(l)!=t[r]?$l(e,l,t[o]):l),(()=>$l(e,l))):m(xe(l))?$l(e,l):l,fl=(e,l,t)=>(L(ne(Q,l),(([n,s])=>{_(n,((l,t)=>{$(e,t)||(e[t]=l)})),_(s,(n=>{$(e,n)||jl(l,t,n)}))})),e),bl=e=>(t&&(_(Te,((l,t)=>{$(e,t)||(e[t]=l)})),_(fe,(l=>{$(e,l)||$l(l)}))),e),Vl=e=>oe(B,e,((e,l,t)=>{const n=le(),s=me();oe(re(B,l,le),t,((e,l,t)=>{ae(e,l,t),L(t[o],(e=>ae(n,l,e)),(()=>Le(s,l)))})),ae(Q,l,[n,s])}),((e,l)=>{ae(B,l),ae(Q,l)})),pl=e=>oe(Ce,e,((e,l,t)=>{ae(Ce,l,t),L(t[o],(e=>ae(Te,l,e)),(()=>Le(fe,l)))}),((e,l)=>{ae(Ce,l),ae(Te,l),ee(fe,l)})),wl=e=>K(e)?wt():Tt(e),Sl=e=>oe(pe,e,((e,l,t)=>yl(l,t)),((e,l)=>Fl(l))),yl=(e,l)=>oe(re(pe,e,(()=>(Al(e,1),ae(be,e,Je()),ae(Ve,e,le()),le()))),l,((l,t,n)=>Il(e,l,t,n)),((l,t)=>Ol(e,l,t))),Il=(e,l,t,n,s)=>oe(re(l,t,(()=>(Pl(e,t,1),le()))),n,((l,n,s)=>Rl(e,t,l,n,s)),((n,a)=>xl(e,l,t,n,a,s))),Rl=(e,l,t,n,s)=>{X(t,n)||Wl(e,l,n,1);const a=ne(t,n);s!==a&&(kl(e,l,n,a,s),ae(t,n,s))},ml=(e,l,t,n,s)=>L(ne(l,t),(l=>Rl(e,t,l,n,s)),(()=>Il(e,l,t,fl({[n]:s},e,t)))),Ll=e=>K(e)?It():ft(e),Hl=e=>oe(we,e,((e,l,t)=>Jl(l,t)),((e,l)=>zl(l))),Jl=(e,l)=>{X(we,e)||Dl(e,1);const t=ne(we,e);l!==t&&(Nl(e,t,l),ae(we,e,l))},El=(e,l)=>{const[t]=ne(be,e),n=t(l);return X(ne(pe,e),n)?El(e,l):n},Ml=e=>{var l;return null!=(l=ne(pe,e))?l:yl(e,{})},Fl=e=>yl(e,{}),Ol=(e,l,t)=>{const[,n]=ne(be,e);n(t),Il(e,l,t,{},!0)},xl=(e,l,t,n,s,a)=>{var r;const o=ne(null==(r=ne(Q,e))?void 0:r[0],s);if(!m(o)&&!a)return Rl(e,t,n,s,o);const u=l=>{kl(e,t,l,ne(n,l)),Wl(e,t,l,-1),ae(n,l)};m(o)?u(s):se(n,u),Y(n)&&(Pl(e,t,-1),Y(ae(l,t))&&(Al(e,-1),ae(pe,e),ae(be,e),ae(Ve,e)))},zl=e=>{const l=ne(Te,e);if(!m(l))return Jl(e,l);Nl(e,ne(we,e)),Dl(e,-1),ae(we,e)},Al=(e,l)=>De(y,e,l),Pl=(e,l,t)=>De(re(z,e,le),l,t)&&ae(R,e,re(R,e,(()=>0))+t),Wl=(e,l,t,n)=>{var s;const a=ne(Ve,e),r=null!=(s=ne(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&De(re(I,e,le),t,n),ae(a,t,r!=-n?r+n:null),De(re(re(A,e,le),l,le),t,n)},kl=(e,l,t,n,s)=>re(re(re(P,e,le),l,le),t,(()=>[n,0]))[1]=s,Dl=(e,l)=>De(W,e,l),Nl=(e,l,t)=>re(k,e,(()=>[l,0]))[1]=t,jl=(e,l,t,n,s)=>(x(re(re(re(N,e,le),l,le),t,(()=>[])),n),s),$l=(e,l,t)=>(x(re(j,e,(()=>[])),l),t),ql=(e,l,t)=>L(ne(ne(ne(P,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...Ee(at(e,l,t))])),Bl=e=>L(ne(k,e),(([e,l])=>[!0,e,l]),(()=>[!1,...Ee(ut(e))])),Gl=e=>Y(N)||Y(Ze[e])?0:_(e?he(N):N,((l,t)=>_(l,((l,n)=>_(l,((l,s)=>ul(Ze[e],[t,n,s],l))))))),Kl=e=>Y(j)||Y(_e[e])?0:_(e?de(j):j,((l,t)=>ul(_e[e],[t],l))),Ql=(e,l,t,n)=>{if(!Y(e))return ul(l,n,(()=>ue(e))),se(e,((e,l)=>ul(t,[...null!=n?n:[],e],1==l))),1},Ul=e=>{const l=it();l!=n&&ul(Se[e],void 0,l);const t=Y(Ge[e]),s=Y(Ue[e])&&Y(Xe[e])&&Y(Be[e])&&Y(Ke[e])&&Y(je[e])&&Y($e[e])&&Y(qe[e])&&t&&Y(Ie[e])&&Y(Re[e]),a=Y(Ye[e])&&Y(Qe[e])&&Y(He[e])&&Y(ye[e]);if(!s||!a){const l=e?[de(y),ve(I),de(R),ve(z),he(A),he(P)]:[y,I,R,z,A,P];if(!s){Ql(l[0],Ie[e],Re[e]),_(l[1],((l,t)=>Ql(l,je[e],$e[e],[t]))),_(l[2],((l,t)=>{0!=l&&ul(qe[e],[t],lt(t))}));const n=me();_(l[3],((l,s)=>{Ql(l,Be[e],Ke[e],[s])&&!t&&(ul(Ge[e],[s,null]),Le(n,s))})),t||_(l[5],((l,t)=>{if(!X(n,t)){const n=me();_(l,(e=>_(e,(([l,t],s)=>t!==l?Le(n,s):ee(e,s))))),_(n,(l=>ul(Ge[e],[t,l])))}})),_(l[4],((l,t)=>_(l,((l,n)=>Ql(l,Ue[e],Xe[e],[t,n])))))}if(!a){let t;_(l[5],((l,n)=>{let s;_(l,((l,a)=>{let r;_(l,(([l,o],u)=>{o!==l&&(ul(Ye[e],[n,a,u],o,l,ql),t=s=r=1)})),r&&ul(Qe[e],[n,a],ql)})),s&&ul(He[e],[n],ql)})),t&&ul(ye[e],void 0,ql)}}},Xl=e=>{const l=gt();l!=a&&ul(el[e],void 0,l);const t=Y(tl[e])&&Y(nl[e]),n=Y(sl[e])&&Y(ll[e]);if(!t||!n){const l=e?[de(W),de(k)]:[W,k];if(t||Ql(l[0],tl[e],nl[e]),!n){let t;_(l[1],(([l,n],s)=>{n!==l&&(ul(sl[e],[s],n,l,Bl),t=1)})),t&&ul(ll[e],void 0,Bl)}}},Yl=(e,...l)=>(Lt((()=>e(...O(l,w)))),Et),Zl=()=>ce(pe),_l=()=>te(pe),et=e=>te(ne(Ve,w(e))),lt=e=>U(ne(pe,w(e))),tt=e=>te(ne(pe,w(e))),nt=(e,l,t,n=0,s)=>{return O(E((r=ne(pe,w(e)),o=(e,t)=>[m(l)?t:ne(e,w(l)),t],a=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,m(s)?s:n+s),(([,e])=>e));var a,r,o,u},st=(e,l)=>te(ne(ne(pe,w(e)),w(l))),at=(e,l,t)=>ne(ne(ne(pe,w(e)),w(l)),w(t)),rt=()=>ue(we),ot=()=>te(we),ut=e=>ne(we,w(e)),it=()=>!Y(pe),ct=e=>X(pe,w(e)),dt=(e,l)=>X(ne(Ve,w(e)),w(l)),vt=(e,l)=>X(ne(pe,w(e)),w(l)),ht=(e,l,t)=>X(ne(ne(pe,w(e)),w(l)),w(t)),gt=()=>!Y(we),Ct=e=>X(we,w(e)),Tt=e=>Yl((()=>(e=>ke(e,vl,jl))(e)?Sl(e):0)),ft=e=>Yl((()=>Cl(e)?Hl(e):0)),bt=e=>{try{wl(We(e))}catch(e){}return Et},Vt=l=>Yl((()=>{if((e=ke(l,(e=>ke(e,dl))))&&(Vl(l),!Y(pe))){const e=Zl();wt(),Tt(e)}})),pt=e=>Yl((()=>{if(t=(e=>ke(e,dl))(e)){const l=rt();mt(),It(),t=!0,pl(e),ft(l)}})),wt=()=>Yl((()=>Sl({}))),St=e=>Yl((e=>X(pe,e)?Fl(e):0),e),yt=(e,l)=>Yl(((e,l)=>L(ne(pe,e),(t=>X(t,l)?Ol(e,t,l):0))),e,l),It=()=>Yl((()=>Hl({}))),Rt=()=>Yl((()=>{Vl({}),e=!1})),mt=()=>Yl((()=>{pl({}),t=!1})),Lt=(e,l)=>{if(-1!=i){Ht();const t=e();return Jt(l),t}},Ht=()=>(-1!=i&&i++,1==i&&ul(al,void 0),Et),Jt=e=>{var l,t;return i>0&&(i--,0==i&&(i=1,Gl(1),Y(P)||Ul(1),Kl(1),Y(k)||Xl(1),(null==e?void 0:e(Et))&&(_(P,((e,l)=>_(e,((e,t)=>_(e,(([e],n)=>ze(Et,l,t,n,e))))))),Z(P),_(k,(([e],l)=>Ae(Et,l,e))),Z(k)),ul(rl[0],void 0),i=-1,Gl(0),Y(P)||Ul(0),Kl(0),Y(k)||Xl(0),null==(l=S[0])||l.call(S,Et),ul(rl[1],void 0),null==(t=S[1])||t.call(S,Et),i=0,n=it(),a=gt(),F([y,I,R,z,A,P,N,W,k,j],Z))),Et},Et={getContent:()=>[Zl(),rt()],getTables:Zl,getTableIds:_l,getTable:e=>ie(ne(pe,w(e))),getTableCellIds:et,getRowCount:lt,getRowIds:tt,getSortedRowIds:nt,getRow:(e,l)=>ue(ne(ne(pe,w(e)),w(l))),getCellIds:st,getCell:at,getValues:rt,getValueIds:ot,getValue:ut,hasTables:it,hasTable:ct,hasTableCell:dt,hasRow:vt,hasCell:ht,hasValues:gt,hasValue:Ct,getTablesJson:()=>Pe(pe),getValuesJson:()=>Pe(we),getJson:()=>Pe([pe,we]),getTablesSchemaJson:()=>Pe(B),getValuesSchemaJson:()=>Pe(Ce),getSchemaJson:()=>Pe([B,Ce]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,l])=>Yl((()=>{(K(e)?wt:Tt)(e),(K(l)?It:ft)(l)})),setTables:Tt,setTable:(e,l)=>Yl((e=>vl(l,e)?yl(e,l):0),e),setRow:(e,l,t)=>Yl(((e,l)=>hl(e,l,t)?Il(e,Ml(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Lt((()=>{let n;return hl(e,n,l)&&(e=w(e),Il(e,Ml(e),n=El(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Yl(((e,l)=>{if(hl(e,l,t,1)){const n=Ml(e);G(t,((t,s)=>ml(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Yl(((e,l,t)=>L(gl(e,l,t,J(n)?n(at(e,l,t)):n),(n=>ml(e,Ml(e),l,t,n)))),e,l,t),setValues:ft,setPartialValues:e=>Yl((()=>Cl(e,1)?G(e,((e,l)=>Jl(l,e))):0)),setValue:(e,l)=>Yl((e=>L(Tl(e,J(l)?l(ut(e)):l),(l=>Jl(e,l)))),e),applyChanges:e=>Yl((()=>{G(e[0],((e,l)=>m(e)?St(l):G(e,((e,t)=>m(e)?yt(l,t):G(e,((e,n)=>ze(Et,l,t,n,e))))))),G(e[1],((e,l)=>Ae(Et,l,e)))})),setTablesJson:bt,setValuesJson:e=>{try{Ll(We(e))}catch(e){}return Et},setJson:e=>Yl((()=>{try{const[l,t]=We(e);wl(l),Ll(t)}catch(l){bt(e)}})),setTablesSchema:Vt,setValuesSchema:pt,setSchema:(e,l)=>Yl((()=>{Vt(e),pt(l)})),delTables:wt,delTable:St,delRow:yt,delCell:(e,l,t,n)=>Yl(((e,l,t)=>L(ne(pe,e),(s=>L(ne(s,l),(a=>X(a,t)?xl(e,s,l,a,t,n):0))))),e,l,t),delValues:It,delValue:e=>Yl((e=>X(we,e)?zl(e):0),e),delTablesSchema:Rt,delValuesSchema:mt,delSchema:()=>Yl((()=>{Rt(),mt()})),transaction:Lt,startTransaction:Ht,getTransactionChanges:()=>[ue(P,((e,l)=>-1===ne(y,l)?void 0:ue(e,((e,t)=>-1===ne(ne(z,l),t)?void 0:ue(e,(([,e])=>e),((e,l)=>Oe(l)))),K)),K),ue(k,(([,e])=>e),((e,l)=>Oe(l)))],getTransactionLog:()=>[!Y(P),!Y(k),ce(P,Fe,Oe),ce(N),ue(k,Fe,Oe),ue(j),ue(y),ie(z),ce(A),ue(W)],finishTransaction:Jt,forEachTable:e=>_(pe,((l,t)=>e(t,(e=>_(l,((l,t)=>e(t,(e=>se(l,e))))))))),forEachTableCell:(e,l)=>se(ne(Ve,w(e)),l),forEachRow:(e,l)=>_(ne(pe,w(e)),((e,t)=>l(t,(l=>se(e,l))))),forEachCell:(e,l,t)=>se(ne(ne(pe,w(e)),w(l)),t),forEachValue:e=>se(we,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=nt(e,l,t,n,s);return ol((()=>{const r=nt(e,l,t,n,s);var u,i,c;i=o,M(u=r)===M(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,a(Et,e,l,t,n,s,o))}),Ge[r?1:0],[e,l],[_l])},addStartTransactionListener:e=>ol(e,al),addWillFinishTransactionListener:e=>ol(e,rl[0]),addDidFinishTransactionListener:e=>ol(e,rl[1]),callListener:e=>(cl(e),Et),delListener:e=>(il(e),Et),getListenerStats:()=>({}),createStore:Ne,addListener:ol,callListeners:ul,setInternalListeners:(e,l)=>S=[e,l]};return G({[u+d]:[0,Se,[],()=>[it()]],[d]:[0,ye],[v]:[0,Ie],[u+c]:[1,Re,[_l],e=>[ct(...e)]],[c]:[1,He,[_l]],[c+f]:[1,je,[_l]],[u+c+T]:[2,$e,[_l,et],e=>[dt(...e)]],[g]:[1,qe,[_l]],[C]:[1,Be,[_l]],[u+h]:[2,Ke,[_l,tt],e=>[vt(...e)]],[h]:[2,Qe,[_l,tt]],[f]:[2,Ue,[_l,tt]],[u+T]:[3,Xe,[_l,tt,st],e=>[ht(...e)]],[T]:[3,Ye,[_l,tt,st],e=>Ee(at(...e))],InvalidCell:[3,Ze],[u+V]:[0,el,[],()=>[gt()]],[V]:[0,ll],[p]:[0,tl],[u+b]:[1,nl,[ot],e=>[Ct(...e)]],[b]:[1,sl,[ot],e=>Ee(ut(e[0]))],InvalidValue:[1,_e]},(([e,l,t,n],s)=>{Et["add"+s+"Listener"]=(...s)=>ol(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),D(Et)};var je=Math.pow;const $e=je(2,36),qe=je(2,30),Be=je(2,24),Ge=je(2,18),Ke=je(2,12),Qe=je(2,6),Ue=e=>String.fromCharCode(48+(63&e)),Xe=(e,l)=>((e,l)=>e.charCodeAt(l))(e,l)-48,Ye={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},Ze=(e="")=>[e,[Se(e),Se(e)],0],_e=e=>{let t,n,s=1,a=Ze();const[r,o]=(e=>{let l=0,t=-1;const n=Te(e),s=e=>{const n=l,[s,a]=m(e)?[0,0]:[Xe(r=e,0)*$e+Xe(r,1)*qe+Xe(r,2)*Be+Xe(r,3)*Ge+Xe(r,4)*Ke+Xe(r,5)*Qe+Xe(r,6),Xe(r,7)*Ge+Xe(r,8)*Ke+Xe(r,9)*Qe+Xe(r,10),Xe(r,11)*Be+Xe(r,12)*Ge+Xe(r,13)*Ke+Xe(r,14)*Qe+Xe(r,15)];var r;l=I(n,s,Date.now()),t=l==n?l==s?I(t,a):t:l==s?a:-1};return[()=>{return s(),a=++t,r=n,Ue((e=l)/$e)+Ue(e/qe)+Ue(e/Be)+Ue(e/Ge)+Ue(e/Ke)+Ue(e/Qe)+Ue(e)+Ue(a/Ge)+Ue(a/Ke)+Ue(a/Qe)+Ue(a)+Ue(r/Be)+Ue(r/Ge)+Ue(r/Ke)+Ue(r/Qe)+Ue(r);var e,a,r},s]})(e),u=Ne(),i=e=>{const l=s;s=0,e(),s=l},c=(e,l=0)=>{const t={},n={},[s,[[r,o,u],i],c]=e,[,[v,h]]=a,[g,C,T]=v;if(r){let e=l?u:T^(r>g?(g?Te(g):0)^Te(r):0);B(o,(([n,s,a],r)=>{const o=re(C,r,Se),[u,i,c]=o;let v=l?a:c^(n>u?(u?Te(u):0)^Te(n):0);B(s,((e,n)=>{const[s,a]=d(e,re(i,n,Se),Q(Q(t,r,j),n,j),l);v^=l?0:(s?Ve(n,s):0)^Ve(n,a)})),pe(o,v,n),e^=l?0:(c?Ve(r,c):0)^Ve(r,o[2])})),pe(v,e,r)}return d(i,h,n,l),pe(a,l?c:v[2]^h[2],s),[t,n]},d=(e,l,t,n)=>{const[s,a,r]=e,[o,u,i]=l;if(s){let e=n?r:i^(s>o?(o?Te(o):0)^Te(s):0);B(a,(([l,s,a],r)=>{const o=re(u,r,ye),[i,,c]=o;l>i&&(pe(o,n?a:Te(Pe(null!=s?s:null)+":"+l),l),o[1]=s,t[r]=s,e^=n?0:Ve(r,c)^Ve(r,o[2]))})),pe(l,e,s)}return[i,l[2]]},v=()=>Ie(a,(([e,l])=>[Re(e,(e=>Re(e,(e=>Re(e))))),Re(l)])),h=()=>{if(m(n)){const[,,e,,n]=u.getTransactionLog(),s=K(e)&&K(n)?l:null!=t?t:t=r(),a=be(s,[we(K(e)?l:s),we(K(n)?l:s)]),[[,o],[,i]]=a[1];return G(e,((e,l)=>{const[,t]=o[l]=we(s);G(e,((e,l)=>{const[,n]=t[l]=we(s);G(e,(([,e],l)=>n[l]=be(s,e)))}))})),G(n,(([,e],l)=>i[l]=be(s,e))),a}return n},g=e=>(o(e[0]),i((()=>u.applyChanges(c(e)))),C),C={getMergeableContent:v,setMergeableContent:e=>(i((()=>u.transaction((()=>{u.delTables().delValues(),a=Ze()})))),o(e[0]),i((()=>u.applyChanges(c(e,1)))),C),getTransactionMergeableChanges:h,applyMergeableChanges:g,merge:e=>{const l=v(),t=e.getMergeableContent();return e.applyMergeableChanges(l),g(t)},getContentHash:()=>a[2],getTablesHash:()=>a[1][0][2],getTableHash:e=>{var l,t;return null!=(t=null==(l=ne(a[1][0][1],e))?void 0:l[2])?t:0},getRowHash:(e,l)=>{var t,n,s;return null!=(s=null==(n=ne(null==(t=ne(a[1][0][1],e))?void 0:t[1],l))?void 0:n[2])?s:0},getCellHash:(e,l,t)=>{var n,s,r,o;return null!=(o=null==(r=ne(null==(s=ne(null==(n=ne(a[1][0][1],e))?void 0:n[1],l))?void 0:s[1],t))?void 0:r[2])?o:0},getValuesHash:()=>a[1][1][2],getValueHash:e=>{var l,t;return null!=(t=null==(l=ne(a[1][1][1],e))?void 0:l[2])?t:0}};return u.setInternalListeners((()=>{s&&(n=h(),c(n))}),(()=>t=n=void 0)),G(u,((e,l)=>C[l]=S(l,"set")||S(l,"del")||S(l,"apply")||y(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),C):S(l,"add")&&y(l,"Listener")?(...t)=>{var n;const s=null!=(n=Ye[E(l,3,-8)])?n:0,a=t[s];return t[s]=(e,...l)=>a(C,...l),e(...t)}:e)),D(C)};export{_e as createMergeableStore};
1
+ const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",d="Table",c=d+"s",g=d+i,v="Row",h=v+"Count",b=v+i,f="Cell",C=f+i,T="Value",V=T+"s",p=T+i,w=e=>l+e,I=(e,l)=>e.startsWith(l),S=(e,l)=>e.endsWith(l),y=Math.max,M=isFinite,R=e=>null==e,m=(e,l,t)=>R(e)?null==t?void 0:t():l(e),L=e=>e==t||e==n,H=l=>e(l)==a,J=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),D=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),x=(e,...l)=>e.push(...l),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!R(e)&&m(A(e),(e=>e==z.prototype||R(A(e))),(()=>!0)),N=z.keys,j=z.freeze,$=(e=[])=>z.fromEntries(e),q=(e,l)=>l in e,B=(e,l)=>(delete e[l],e),G=(e,l)=>F(P(e),(([e,t])=>l(t,e))),K=(e,l)=>O(P(e),(([e,t])=>l(t,e))),Q=(e,l)=>$(K(e,((e,t)=>[t,l(e,t)]))),U=e=>k(e)&&0==(e=>D(N(e)))(e),X=(e,l,t)=>(q(e,l)||(e[l]=t()),e[l]),Y=(e,l,t,n=0)=>R(e)||!k(e)||!n&&U(e)||W(e)?(null==t||t(),!1):(K(e,((t,n)=>{l(t,n)||B(e,n)})),!!n||!U(e)),Z=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},_=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},ee=e=>R(e)||0==Z(e),le=e=>e.clear(),te=(e,l)=>null==e?void 0:e.forEach(l),ne=(e,l)=>null==e?void 0:e.delete(l),se=e=>new Map(e),ae=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},re=(e,l)=>null==e?void 0:e.get(l),oe=(e,l)=>te(e,((e,t)=>l(t,e))),ue=(e,l,t)=>R(t)?(ne(e,l),e):null==e?void 0:e.set(l,t),ie=(e,l,t,n)=>(_(e,l)?null==n||n(re(e,l)):ue(e,l,t()),re(e,l)),de=(e,l,t,n=ue)=>(K(l,((l,n)=>t(e,n,l))),oe(e,(t=>q(l,t)?0:n(e,t))),e),ce=(e,l,t,n)=>{const s={};return te(e,((e,a)=>{if(!(null==t?void 0:t(e,a))){const t=l?l(e,a):e;!(null==n?void 0:n(t))&&(s[a]=t)}})),s},ge=(e,l,t)=>ce(e,(e=>ce(e,l,t)),ee,U),ve=(e,l,t)=>ce(e,(e=>ge(e,l,t)),ee,U),he=(e,l)=>{const t=se();return te(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},be=e=>he(e,he),fe=e=>he(e,be),Ce=(e,l,t,n,s=0)=>m((t?ie:re)(e,l[s],s>D(l)-2?t:se),(a=>{if(s>D(l)-2)return(null==n?void 0:n(a))&&ue(e,l[s]),a;const r=Ce(a,l,t,n,s+1);return ee(a)&&ue(e,l[s]),r})),Te=new globalThis.TextEncoder,Ve=e=>{let l=2166136261;return F(Te.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},pe=([e,l,t])=>[e,l,t],we=([e,l])=>[e,l],Ie=e=>e[2],Se=(e,l)=>Ve(e+":"+l),ye=(e,l,t)=>{e[2]=l>>>0,t>e[0]&&(e[0]=t)},Me=e=>[e,$()],Re=(e="")=>[e,se(),0],me=([e,l,t],n=pe)=>[e,ce(l,n),t],Le=(l,n)=>{return J(l)&&3==D(l)&&(a=l[0],e(a)==t)&&n(l[1])&&e(l[2])==s&&M(l[2]);var a},He=e=>new Set(J(e)||R(e)?e:[e]),Je=(e,l)=>null==e?void 0:e.add(l),Ee=/^\d+$/,De=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{Ee.test(l)&&D(e)<1e3&&x(e,l)}]},Fe=e=>[e,e],Oe=()=>[se(),se()],xe=e=>[...e],ze=([e,l])=>e===l,Ae=l=>{const t=e(l);return L(t)||t==s&&M(l)?t:void 0},Pe=e=>null===e||!R(Ae(e)),We=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),ke=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),Ne=e=>JSON.stringify(e,((e,l)=>l instanceof Map?z.fromEntries([...l]):l)),je=JSON.parse,$e=(e,l,t)=>ue(e,l,re(e,l)==-t?void 0:t),qe=()=>{let e,t,n=!1,a=!1,i=0,I=[];const S=se(),y=se(),M=se(),J=se(),z=se(),A=se(),P=se(),W=se(),k=se(),N=se(),$=se(),G=se(),Q=se(),X=se(),Te=He(),Ve=se(),pe=se(),we=se(),Ie=se(),Se=Oe(),ye=Oe(),Me=Oe(),Re=Oe(),me=Oe(),Le=Oe(),Ee=Oe(),Pe=Oe(),Be=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),el=Oe(),ll=Oe(),tl=Oe(),nl=Oe(),sl=Oe(),al=se(),rl=Oe(),[ol,ul,il,dl]=(e=>{let t;const[n,s]=De(),a=se();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=Jt);const i=n(1);return ue(a,i,[e,s,r,o,u]),Je(Ce(s,null!=r?r:[l],He),i),i},(e,n,...s)=>F(((e,t=[l])=>{const n=[],s=(e,l)=>l==D(t)?x(n,e):null===t[l]?te(e,(e=>s(e,l+1))):F([t[l],null],(t=>s(re(e,t),l+1)));return s(e,0),n})(e,n),(e=>te(e,(e=>re(a,e)[0](t,...null!=n?n:[],...s))))),e=>m(re(a,e),(([,t,n])=>(Ce(t,null!=n?n:[l],void 0,(l=>(ne(l,e),ee(l)?1:0))),ue(a,e),s(e),n))),e=>m(re(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=D(r);i==D(l)?e(t,...r,...s(r)):R(l[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),cl=e=>{if(!Y(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!L(l)&&l!=s||(Ae(e[o])!=l&&B(e,o),0))},gl=(l,t)=>(!e||_($,t)||jl(t))&&Y(l,((e,l)=>vl(t,l,e)),(()=>jl(t))),vl=(e,l,t,n)=>Y(n?t:Cl(t,e,l),((n,s)=>m(hl(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>jl(e,l))),hl=(l,t,n,s)=>e?m(re(re($,l),n),(e=>Ae(s)!=e[r]?jl(l,t,n,s,e[o]):s),(()=>jl(l,t,n,s))):R(Ae(s))?jl(l,t,n,s):s,bl=(e,l)=>Y(l?e:Tl(e),((l,t)=>m(fl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>$l())),fl=(e,l)=>t?m(re(Q,e),(t=>Ae(l)!=t[r]?$l(e,l,t[o]):l),(()=>$l(e,l))):R(Ae(l))?$l(e,l):l,Cl=(e,l,t)=>(m(re(G,l),(([n,s])=>{te(n,((l,t)=>{q(e,t)||(e[t]=l)})),te(s,(n=>{q(e,n)||jl(l,t,n)}))})),e),Tl=e=>(t&&(te(X,((l,t)=>{q(e,t)||(e[t]=l)})),te(Te,(l=>{q(e,l)||$l(l)}))),e),Vl=e=>de($,e,((e,l,t)=>{const n=se(),s=He();de(ie($,l,se),t,((e,l,t)=>{ue(e,l,t),m(t[o],(e=>ue(n,l,e)),(()=>Je(s,l)))})),ue(G,l,[n,s])}),((e,l)=>{ue($,l),ue(G,l)})),pl=e=>de(Q,e,((e,l,t)=>{ue(Q,l,t),m(t[o],(e=>ue(X,l,e)),(()=>Je(Te,l)))}),((e,l)=>{ue(Q,l),ue(X,l),ne(Te,l)})),wl=e=>U(e)?wt():ft(e),Il=e=>de(we,e,((e,l,t)=>Sl(l,t)),((e,l)=>Dl(l))),Sl=(e,l)=>de(ie(we,e,(()=>(zl(e,1),ue(Ve,e,De()),ue(pe,e,se()),se()))),l,((l,t,n)=>yl(e,l,t,n)),((l,t)=>Fl(e,l,t))),yl=(e,l,t,n,s)=>de(ie(l,t,(()=>(Al(e,t,1),se()))),n,((l,n,s)=>Ml(e,t,l,n,s)),((n,a)=>Ol(e,l,t,n,a,s))),Ml=(e,l,t,n,s)=>{_(t,n)||Pl(e,l,n,1);const a=re(t,n);s!==a&&(Wl(e,l,n,a,s),ue(t,n,s))},Rl=(e,l,t,n,s)=>m(re(l,t),(l=>Ml(e,t,l,n,s)),(()=>yl(e,l,t,Cl({[n]:s},e,t)))),ml=e=>U(e)?yt():Ct(e),Ll=e=>de(Ie,e,((e,l,t)=>Hl(l,t)),((e,l)=>xl(l))),Hl=(e,l)=>{_(Ie,e)||kl(e,1);const t=re(Ie,e);l!==t&&(Nl(e,t,l),ue(Ie,e,l))},Jl=(e,l)=>{const[t]=re(Ve,e),n=t(l);return _(re(we,e),n)?Jl(e,l):n},El=e=>{var l;return null!=(l=re(we,e))?l:Sl(e,{})},Dl=e=>Sl(e,{}),Fl=(e,l,t)=>{const[,n]=re(Ve,e);n(t),yl(e,l,t,{},!0)},Ol=(e,l,t,n,s,a)=>{var r;const o=re(null==(r=re(G,e))?void 0:r[0],s);if(!R(o)&&!a)return Ml(e,t,n,s,o);const u=l=>{Wl(e,t,l,re(n,l)),Pl(e,t,l,-1),ue(n,l)};R(o)?u(s):oe(n,u),ee(n)&&(Al(e,t,-1),ee(ue(l,t))&&(zl(e,-1),ue(we,e),ue(Ve,e),ue(pe,e)))},xl=e=>{const l=re(X,e);if(!R(l))return Hl(e,l);Nl(e,re(Ie,e)),kl(e,-1),ue(Ie,e)},zl=(e,l)=>$e(S,e,l),Al=(e,l,t)=>$e(ie(J,e,se),l,t)&&ue(M,e,ie(M,e,(()=>0))+t),Pl=(e,l,t,n)=>{var s;const a=re(pe,e),r=null!=(s=re(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&$e(ie(y,e,se),t,n),ue(a,t,r!=-n?r+n:null),$e(ie(ie(z,e,se),l,se),t,n)},Wl=(e,l,t,n,s)=>ie(ie(ie(A,e,se),l,se),t,(()=>[n,0]))[1]=s,kl=(e,l)=>$e(P,e,l),Nl=(e,l,t)=>ie(W,e,(()=>[l,0]))[1]=t,jl=(e,l,t,n,s)=>(x(ie(ie(ie(k,e,se),l,se),t,(()=>[])),n),s),$l=(e,l,t)=>(x(ie(N,e,(()=>[])),l),t),ql=(e,l,t)=>m(re(re(re(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...Fe(at(e,l,t))])),Bl=e=>m(re(W,e),(([e,l])=>[!0,e,l]),(()=>[!1,...Fe(ut(e))])),Gl=e=>ee(k)||ee(Ze[e])?0:te(e?fe(k):k,((l,t)=>te(l,((l,n)=>te(l,((l,s)=>ul(Ze[e],[t,n,s],l))))))),Kl=e=>ee(N)||ee(_e[e])?0:te(e?he(N):N,((l,t)=>ul(_e[e],[t],l))),Ql=(e,l,t,n)=>{if(!ee(e))return ul(l,n,(()=>ce(e))),oe(e,((e,l)=>ul(t,[...null!=n?n:[],e],1==l))),1},Ul=e=>{const l=it();l!=n&&ul(Se[e],void 0,l);const t=ee(Ge[e]),s=ee(Ue[e])&&ee(Xe[e])&&ee(Be[e])&&ee(Ke[e])&&ee(Le[e])&&ee(Ee[e])&&ee(Pe[e])&&t&&ee(Me[e])&&ee(Re[e]),a=ee(Ye[e])&&ee(Qe[e])&&ee(me[e])&&ee(ye[e]);if(!s||!a){const l=e?[he(S),be(y),he(M),be(J),fe(z),fe(A)]:[S,y,M,J,z,A];if(!s){Ql(l[0],Me[e],Re[e]),te(l[1],((l,t)=>Ql(l,Le[e],Ee[e],[t]))),te(l[2],((l,t)=>{0!=l&&ul(Pe[e],[t],lt(t))}));const n=He();te(l[3],((l,s)=>{Ql(l,Be[e],Ke[e],[s])&&!t&&(ul(Ge[e],[s,null]),Je(n,s))})),t||te(l[5],((l,t)=>{if(!_(n,t)){const n=He();te(l,(e=>te(e,(([l,t],s)=>t!==l?Je(n,s):ne(e,s))))),te(n,(l=>ul(Ge[e],[t,l])))}})),te(l[4],((l,t)=>te(l,((l,n)=>Ql(l,Ue[e],Xe[e],[t,n])))))}if(!a){let t;te(l[5],((l,n)=>{let s;te(l,((l,a)=>{let r;te(l,(([l,o],u)=>{o!==l&&(ul(Ye[e],[n,a,u],o,l,ql),t=s=r=1)})),r&&ul(Qe[e],[n,a],ql)})),s&&ul(me[e],[n],ql)})),t&&ul(ye[e],void 0,ql)}}},Xl=e=>{const l=ht();l!=a&&ul(el[e],void 0,l);const t=ee(tl[e])&&ee(nl[e]),n=ee(sl[e])&&ee(ll[e]);if(!t||!n){const l=e?[he(P),he(W)]:[P,W];if(t||Ql(l[0],tl[e],nl[e]),!n){let t;te(l[1],(([l,n],s)=>{n!==l&&(ul(sl[e],[s],n,l,Bl),t=1)})),t&&ul(ll[e],void 0,Bl)}}},Yl=(e,...l)=>(mt((()=>e(...O(l,w)))),Jt),Zl=()=>ve(we),_l=()=>ae(we),et=e=>ae(re(pe,w(e))),lt=e=>Z(re(we,w(e))),tt=e=>ae(re(we,w(e))),nt=(e,l,t,n=0,s)=>{return O(E((r=re(we,w(e)),o=(e,t)=>[R(l)?t:re(e,w(l)),t],a=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,R(s)?s:n+s),(([,e])=>e));var a,r,o,u},st=(e,l)=>ae(re(re(we,w(e)),w(l))),at=(e,l,t)=>re(re(re(we,w(e)),w(l)),w(t)),rt=()=>ce(Ie),ot=()=>ae(Ie),ut=e=>re(Ie,w(e)),it=()=>!ee(we),dt=e=>_(we,w(e)),ct=(e,l)=>_(re(pe,w(e)),w(l)),gt=(e,l)=>_(re(we,w(e)),w(l)),vt=(e,l,t)=>_(re(re(we,w(e)),w(l)),w(t)),ht=()=>!ee(Ie),bt=e=>_(Ie,w(e)),ft=e=>Yl((()=>(e=>Y(e,gl,jl))(e)?Il(e):0)),Ct=e=>Yl((()=>bl(e)?Ll(e):0)),Tt=e=>{try{wl(je(e))}catch(e){}return Jt},Vt=l=>Yl((()=>{if((e=Y(l,(e=>Y(e,cl))))&&(Vl(l),!ee(we))){const e=Zl();wt(),ft(e)}})),pt=e=>Yl((()=>{if(t=(e=>Y(e,cl))(e)){const l=rt();Rt(),yt(),t=!0,pl(e),Ct(l)}})),wt=()=>Yl((()=>Il({}))),It=e=>Yl((e=>_(we,e)?Dl(e):0),e),St=(e,l)=>Yl(((e,l)=>m(re(we,e),(t=>_(t,l)?Fl(e,t,l):0))),e,l),yt=()=>Yl((()=>Ll({}))),Mt=()=>Yl((()=>{Vl({}),e=!1})),Rt=()=>Yl((()=>{pl({}),t=!1})),mt=(e,l)=>{if(-1!=i){Lt();const t=e();return Ht(l),t}},Lt=()=>(-1!=i&&i++,1==i&&ul(al,void 0),Jt),Ht=e=>{var l,t;return i>0&&(i--,0==i&&(i=1,Gl(1),ee(A)||Ul(1),Kl(1),ee(W)||Xl(1),(null==e?void 0:e(Jt))&&(te(A,((e,l)=>te(e,((e,t)=>te(e,(([e],n)=>We(Jt,l,t,n,e))))))),le(A),te(W,(([e],l)=>ke(Jt,l,e))),le(W)),ul(rl[0],void 0),i=-1,Gl(0),ee(A)||Ul(0),Kl(0),ee(W)||Xl(0),null==(l=I[0])||l.call(I,Jt),ul(rl[1],void 0),null==(t=I[1])||t.call(I,Jt),i=0,n=it(),a=ht(),F([S,y,M,J,z,A,k,P,W,N],le))),Jt},Jt={getContent:()=>[Zl(),rt()],getTables:Zl,getTableIds:_l,getTable:e=>ge(re(we,w(e))),getTableCellIds:et,getRowCount:lt,getRowIds:tt,getSortedRowIds:nt,getRow:(e,l)=>ce(re(re(we,w(e)),w(l))),getCellIds:st,getCell:at,getValues:rt,getValueIds:ot,getValue:ut,hasTables:it,hasTable:dt,hasTableCell:ct,hasRow:gt,hasCell:vt,hasValues:ht,hasValue:bt,getTablesJson:()=>Ne(we),getValuesJson:()=>Ne(Ie),getJson:()=>Ne([we,Ie]),getTablesSchemaJson:()=>Ne($),getValuesSchemaJson:()=>Ne(Q),getSchemaJson:()=>Ne([$,Q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,l])=>Yl((()=>{(U(e)?wt:ft)(e),(U(l)?yt:Ct)(l)})),setTables:ft,setTable:(e,l)=>Yl((e=>gl(l,e)?Sl(e,l):0),e),setRow:(e,l,t)=>Yl(((e,l)=>vl(e,l,t)?yl(e,El(e),l,t):0),e,l),addRow:(e,l,t=!0)=>mt((()=>{let n;return vl(e,n,l)&&(e=w(e),yl(e,El(e),n=Jl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Yl(((e,l)=>{if(vl(e,l,t,1)){const n=El(e);K(t,((t,s)=>Rl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Yl(((e,l,t)=>m(hl(e,l,t,H(n)?n(at(e,l,t)):n),(n=>Rl(e,El(e),l,t,n)))),e,l,t),setValues:Ct,setPartialValues:e=>Yl((()=>bl(e,1)?K(e,((e,l)=>Hl(l,e))):0)),setValue:(e,l)=>Yl((e=>m(fl(e,H(l)?l(ut(e)):l),(l=>Hl(e,l)))),e),applyChanges:e=>Yl((()=>{K(e[0],((e,l)=>R(e)?It(l):K(e,((e,t)=>R(e)?St(l,t):K(e,((e,n)=>We(Jt,l,t,n,e))))))),K(e[1],((e,l)=>ke(Jt,l,e)))})),setTablesJson:Tt,setValuesJson:e=>{try{ml(je(e))}catch(e){}return Jt},setJson:e=>Yl((()=>{try{const[l,t]=je(e);wl(l),ml(t)}catch(l){Tt(e)}})),setTablesSchema:Vt,setValuesSchema:pt,setSchema:(e,l)=>Yl((()=>{Vt(e),pt(l)})),delTables:wt,delTable:It,delRow:St,delCell:(e,l,t,n)=>Yl(((e,l,t)=>m(re(we,e),(s=>m(re(s,l),(a=>_(a,t)?Ol(e,s,l,a,t,n):0))))),e,l,t),delValues:yt,delValue:e=>Yl((e=>_(Ie,e)?xl(e):0),e),delTablesSchema:Mt,delValuesSchema:Rt,delSchema:()=>Yl((()=>{Mt(),Rt()})),transaction:mt,startTransaction:Lt,getTransactionChanges:()=>[ce(A,((e,l)=>-1===re(S,l)?void 0:ce(e,((e,t)=>-1===re(re(J,l),t)?void 0:ce(e,(([,e])=>e),(e=>ze(e)))),ee,U)),ee,U),ce(W,(([,e])=>e),(e=>ze(e))),1],getTransactionLog:()=>[!ee(A),!ee(W),ve(A,xe,ze),ve(k),ce(W,xe,ze),ce(N),ce(S),ge(J),ve(z),ce(P)],finishTransaction:Ht,forEachTable:e=>te(we,((l,t)=>e(t,(e=>te(l,((l,t)=>e(t,(e=>oe(l,e))))))))),forEachTableCell:(e,l)=>oe(re(pe,w(e)),l),forEachRow:(e,l)=>te(re(we,w(e)),((e,t)=>l(t,(l=>oe(e,l))))),forEachCell:(e,l,t)=>oe(re(re(we,w(e)),w(l)),t),forEachValue:e=>oe(Ie,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=nt(e,l,t,n,s);return ol((()=>{const r=nt(e,l,t,n,s);var u,i,d;i=o,D(u=r)===D(i)&&(d=(e,l)=>i[l]===e,u.every(d))||(o=r,a(Jt,e,l,t,n,s,o))}),Ge[r?1:0],[e,l],[_l])},addStartTransactionListener:e=>ol(e,al),addWillFinishTransactionListener:e=>ol(e,rl[0]),addDidFinishTransactionListener:e=>ol(e,rl[1]),callListener:e=>(dl(e),Jt),delListener:e=>(il(e),Jt),getListenerStats:()=>({}),createStore:qe,addListener:ol,callListeners:ul,setInternalListeners:(e,l)=>I=[e,l]};return K({[u+c]:[0,Se,[],()=>[it()]],[c]:[0,ye],[g]:[0,Me],[u+d]:[1,Re,[_l],e=>[dt(...e)]],[d]:[1,me,[_l]],[d+C]:[1,Le,[_l]],[u+d+f]:[2,Ee,[_l,et],e=>[ct(...e)]],[h]:[1,Pe,[_l]],[b]:[1,Be,[_l]],[u+v]:[2,Ke,[_l,tt],e=>[gt(...e)]],[v]:[2,Qe,[_l,tt]],[C]:[2,Ue,[_l,tt]],[u+f]:[3,Xe,[_l,tt,st],e=>[vt(...e)]],[f]:[3,Ye,[_l,tt,st],e=>Fe(at(...e))],InvalidCell:[3,Ze],[u+V]:[0,el,[],()=>[ht()]],[V]:[0,ll],[p]:[0,tl],[u+T]:[1,nl,[ot],e=>[bt(...e)]],[T]:[1,sl,[ot],e=>Fe(ut(e[0]))],InvalidValue:[1,_e]},(([e,l,t,n],s)=>{Jt["add"+s+"Listener"]=(...s)=>ol(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),j(Jt)};var Be=Math.pow;const Ge=Be(2,36),Ke=Be(2,30),Qe=Be(2,24),Ue=Be(2,18),Xe=Be(2,12),Ye=Be(2,6),Ze=e=>String.fromCharCode(48+(63&e)),_e=(e,l)=>((e,l)=>e.charCodeAt(l))(e,l)-48,el={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},ll=(e="")=>[e,[Re(e),Re(e)],0],tl=e=>{let t,n,s=1,a=ll();const[r,o]=(e=>{let l=0,t=-1;const n=Ve(e),s=e=>{const n=l,[s,a]=R(e)||""==e?[0,0]:[_e(r=e,0)*Ge+_e(r,1)*Ke+_e(r,2)*Qe+_e(r,3)*Ue+_e(r,4)*Xe+_e(r,5)*Ye+_e(r,6),_e(r,7)*Ue+_e(r,8)*Xe+_e(r,9)*Ye+_e(r,10),_e(r,11)*Qe+_e(r,12)*Ue+_e(r,13)*Xe+_e(r,14)*Ye+_e(r,15)];var r;l=y(n,s,Date.now()),t=l==n?l==s?y(t,a):t:l==s?a:-1};return[()=>{return s(),a=++t,r=n,Ze((e=l)/Ge)+Ze(e/Ke)+Ze(e/Qe)+Ze(e/Ue)+Ze(e/Xe)+Ze(e/Ye)+Ze(e)+Ze(a/Ue)+Ze(a/Xe)+Ze(a/Ye)+Ze(a)+Ze(r/Qe)+Ze(r/Ue)+Ze(r/Xe)+Ze(r/Ye)+Ze(r);var e,a,r},s]})(e),u=qe(),i=e=>{const l=s;return s=0,e(),s=l,b},d=(e,l=0)=>{const t={},n={},[s,[[r,o,u],i],d]=e,[,[g,v]]=a,[h,b,f]=g;if(r){let e=l?u:f^(r>h?(h?Ve(h):0)^Ve(r):0);G(o,(([n,s,a],r)=>{const o=ie(b,r,Re),[u,i,d]=o;let g=l?a:d^(n>u?(u?Ve(u):0)^Ve(n):0);G(s,((e,n)=>{const[s,a]=c(e,ie(i,n,Re),X(X(t,r,$),n,$),l);g^=l?0:(s?Se(n,s):0)^Se(n,a)})),ye(o,g,n),e^=l?0:(d?Se(r,d):0)^Se(r,o[2])})),ye(g,e,r)}return c(i,v,n,l),ye(a,l?d:g[2]^v[2],s),[t,n,1]},c=(e,t,n,s)=>{const[a,r,o]=e,[u,i,d]=t;if(a){let e=s?o:d^(a>u?(u?Ve(u):0)^Ve(a):0);G(r,(([t,a,r],o)=>{const u=ie(i,o,(()=>[l,void 0,0])),[d,,c]=u;t>d&&(ye(u,s?r:Ve(Ne(null!=a?a:null)+":"+t),t),u[1]=a,n[o]=a,e^=s?0:Se(o,c)^Se(o,u[2]))})),ye(t,e,a)}return[d,t[2]]},g=()=>[a[0],[me(a[1][0],(e=>me(e,(e=>me(e))))),me(a[1][1])],a[2]],v=()=>{if(R(n)){const[,,e,,n]=u.getTransactionLog(),s=U(e)&&U(n)?l:null!=t?t:t=r(),a=[s,[Me(U(e)?l:s),Me(U(n)?l:s),1]],[[,o],[,i]]=a[1];return K(e,((e,l)=>{const[,t]=o[l]=Me(s);K(e,((e,l)=>{const[,n]=t[l]=Me(s);K(e,(([,e],l)=>n[l]=[s,e]))}))})),K(n,(([,e],l)=>i[l]=[s,e])),a}return n},h=e=>i((()=>{o(e[0]),u.applyChanges(d(e))})),b={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[a[0],[a[1][0][2],a[1][1][2]]],getMergeableTableHashes:()=>ce(a[1][0][1],Ie),getMergeableTableIdsDiff:e=>{const l=[];return oe(a[1][0][1],((t,[,,n])=>{n!==(null==e?void 0:e[t])&&x(l,t)})),l},getMergeableRowHashes:e=>$(O(e,(e=>{var l;return[e,ce(null==(l=re(a[1][0][1],e))?void 0:l[1],Ie)]}))),getMergeableRowIdsDiff:e=>Q(e,((e,l)=>{var t;const n=[];return oe(null==(t=re(a[1][0][1],l))?void 0:t[1],((l,[,,t])=>{t!==(null==e?void 0:e[l])&&x(n,l)})),n})),getMergeableCellHashes:e=>Q(e,((e,l)=>$(O(e,(e=>{var t,n;return[e,ce(null==(n=re(null==(t=re(a[1][0][1],l))?void 0:t[1],e))?void 0:n[1],Ie)]}))))),getMergeableTablesChanges:e=>{const[,[[l,t]]]=a,n={};return G(e,((e,l)=>m(re(t,l),(([t,s])=>{const a={};G(e,((e,l)=>m(re(s,l),(([t,n])=>{const s=ce(n,we,(([,,l],t)=>l==(null==e?void 0:e[t])));U(s)||(a[l]=[t,s])})))),U(a)||(n[l]=[t,a])})))),[l,n]},getMergeableValuesHashes:()=>ce(a[1][1][1],Ie),getMergeableValuesChanges:e=>[a[1][1][0],ce(a[1][1][1],we,(([,,l],t)=>l==(null==e?void 0:e[t])))],setMergeableContent:e=>i((()=>(e=>Le(e,(e=>J(e)&&2==D(e)&&Le(e[0],(e=>Y(e,(e=>Le(e,(e=>Y(e,(e=>Le(e,(e=>Y(e,(e=>Le(e,Pe)),void 0,1)))),void 0,1)))),void 0,1)))&&Le(e[1],(e=>Y(e,(e=>Le(e,Pe)),void 0,1))))))(e)?u.transaction((()=>{u.delTables().delValues(),a=ll(),o(e[0]),u.applyChanges(d(e,1))})):0)),getTransactionMergeableChanges:v,applyMergeableChanges:h,merge:e=>{const l=g(),t=e.getMergeableContent();return e.applyMergeableChanges(l),h(t)}};return u.setInternalListeners((()=>{s&&(n=v(),d(n))}),(()=>t=n=void 0)),K(u,((e,l)=>b[l]=I(l,"set")||I(l,"del")||I(l,"apply")||S(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),b):I(l,"add")&&S(l,"Listener")?(...t)=>{var n;const s=null!=(n=el[E(l,3,-8)])?n:0,a=t[s];return t[s]=(e,...l)=>a(b,...l),e(...t)}:e)),j(b)};export{tl as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),i=l.entries,u=l.keys,a=l.freeze,d=(e,t)=>o(e,(e=>e[t])),s=(e,t)=>t in e,c=(e,t)=>(delete e[t],e),v=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,n])=>t(n,e))),y=e=>u(e).length,h=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==y(e),g=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),p=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},C=(e,t,n,o)=>{var l,r,i;return r=t,null!=(i=null==(l=e)?void 0:l.has(r))&&i?null==o||o(f(e,t)):p(e,t,n()),f(e,t)};var b=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const A=g(),L=g(),M=n=>{return o=null==n?void 0:n[0],e(o)==t;var o};var m=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const S=(e,t)=>[e[t].t,e[t].v],w=(e,t,o,l)=>{const r=n(t)?e:((e,t,n)=>(s(e,t)||(e[t]={}),e[t]))(e,t);let i;return v(o,((e,t)=>{l(r,t,e)&&(i=1)})),v(r,((e,t)=>{s(o,t)||(c(r,t),i=1)})),!n(t)&&h(r)&&c(e,t),i},x=(e,t,l="tinybase",r)=>(t.change((e=>e[l]={})),((e,t,l,r,i,u,d,[s,c]=[],v=[])=>{let y,g,m,S=0,w=0;C(A,v,(()=>0)),C(L,v,(()=>[]));const[x,P,T,D]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(d,e),O=e=>b(void 0,null,(function*(){return 2!=S&&(S=1,yield j.schedule((()=>b(void 0,null,(function*(){yield e(),S=0}))))),j})),j={load:(n,o)=>b(void 0,null,(function*(){return yield O((()=>b(void 0,null,(function*(){try{const n=yield t();(x&&M(n)?e.setMergeableContent:e.setContent)(n)}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>b(void 0,[...n],(function*(n={},o={}){return j.stopAutoLoad(),yield j.load(n,o),w=1,m=r(((n,o)=>b(void 0,null,(function*(){if(o){const t=o();yield O((()=>b(void 0,null,(function*(){return(x&&M(t)?e.applyMergeableChanges:e.applyChanges)(t)}))))}else yield O((()=>b(void 0,null,(function*(){var o;try{const l=null!=(o=null==n?void 0:n())?o:yield t();(x&&M(l)?e.setMergeableContent:e.setContent)(l)}catch(e){null==u||u(e)}}))))})))),j})),stopAutoLoad:()=>(w&&(i(m),m=void 0,w=0),j),save:e=>b(void 0,null,(function*(){return 1!=S&&(S=2,yield j.schedule((()=>b(void 0,null,(function*(){try{yield l(P,e)}catch(e){null==u||u(e)}S=0}))))),j})),startAutoSave:()=>b(void 0,null,(function*(){return yield j.stopAutoSave().save(),y=e.addDidFinishTransactionListener((()=>{const e=T();D(e)&&j.save((()=>e))})),j})),stopAutoSave:()=>(o(y,e.delListener),y=void 0,j),schedule:(...e)=>b(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(f(L,v),...e),yield b(void 0,null,(function*(){if(!f(A,v)){for(p(A,v,1);!n((e=f(L,v),g=e.shift()));)try{yield g()}catch(e){null==u||u(e)}p(A,v,0)}var e})),j})),getStore:()=>e,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s&&(j[s]=()=>c),a(j)})(e,(()=>m(void 0,null,(function*(){const e=yield t.doc();return 2==y(e[l])?S(e,l):void 0}))),((e,r)=>m(void 0,null,(function*(){return t.change((t=>((e,t,l,r)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[i,u]=S(e,t),a=()=>{s=1};let s=1;if(o(null==r?void 0:r(),(([e,t])=>{s=0,v(e,((e,t)=>s?0:n(e)?c(i,t):o(i[t],(t=>v(e,((e,l)=>s?0:n(e)?c(t,l):o(d(t,l),(t=>v(e,((e,o)=>n(e)?c(t,o):t[o]=e))),a)))),a))),v(t,((e,t)=>s?0:n(e)?c(u,t):u[t]=e))})),s){const[e,t]=l();w(i,void 0,e,((e,t,n)=>w(i,t,n,((e,t,n)=>w(e,t,n,((e,t,n)=>{if(d(e,t)!==n)return e[t]=n,1})))))),w(u,void 0,t,((e,t,n)=>{d(u,t)!==n&&(u[t]=n)}))}})(t,l,e,r)))}))),(e=>{const n=({doc:t})=>e((()=>S(t,l)));return t.on("change",n),n}),(e=>{t.removeListener("change",e)}),r,!1,["getDocHandle",t]));export{x as createAutomergePersister};
1
+ const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),i=l.entries,u=l.keys,a=l.freeze,d=(e,t)=>o(e,(e=>e[t])),c=(e,t)=>t in e,s=(e,t)=>(delete e[t],e),v=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,n])=>t(n,e))),y=e=>u(e).length,p=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==y(e),h=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),g=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},b=(e,t,n,o)=>{var l,r,i;return r=t,null!=(i=null==(l=e)?void 0:l.has(r))&&i?null==o||o(f(e,t)):g(e,t,n()),f(e,t)};var A=Object.defineProperty,C=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,L=(e,t,n)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,O=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const P=h(),S=h();var M=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const j=(e,t)=>[e[t].t,e[t].v],x=(e,t,o,l)=>{const r=n(t)?e:((e,t,n)=>(c(e,t)||(e[t]={}),e[t]))(e,t);let i;return v(o,((e,t)=>{l(r,t,e)&&(i=1)})),v(r,((e,t)=>{c(o,t)||(s(r,t),i=1)})),!n(t)&&p(r)&&s(e,t),i},T=(l,r,i="tinybase",u)=>(r.change((e=>e[i]={})),((l,r,i,u,d,c,s,v={},y=[])=>{let h,A,M,j=0;b(P,y,(()=>0)),b(S,y,(()=>[]));const[x,T,D,k]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!p(e)||!p(t)])(s,l),z=e=>O(void 0,null,(function*(){return 2!=j&&(j=1,yield F.schedule((()=>O(void 0,null,(function*(){yield e(),j=0}))))),F})),E=n=>{var o;(x&&(o=null==n?void 0:n[0],e(o)==t)?1===(null==n?void 0:n[1][2])?l.applyMergeableChanges:l.setMergeableContent:1===(null==n?void 0:n[2])?l.applyChanges:l.setContent)(n)},F=((e,t)=>{for(var n in t||(t={}))m.call(t,n)&&L(e,n,t[n]);if(C)for(var n of C(t))w.call(t,n)&&L(e,n,t[n]);return e})({load:(e,t)=>O(void 0,null,(function*(){return yield z((()=>O(void 0,null,(function*(){try{E(yield r())}catch(n){null==c||c(n),l.setContent([e,t])}}))))})),startAutoLoad:(...e)=>O(void 0,[...e],(function*(e={},t={}){return yield F.stopAutoLoad().load(e,t),A=u(((e,t)=>O(void 0,null,(function*(){const n=null==t?void 0:t();yield z((()=>O(void 0,null,(function*(){var t;try{E(null!=(t=null!=n?n:null==e?void 0:e())?t:yield r())}catch(e){null==c||c(e)}}))))})))),F})),stopAutoLoad:()=>(A&&(d(A),A=void 0),F),isAutoLoading:()=>!n(A),save:e=>O(void 0,null,(function*(){return 1!=j&&(j=2,yield F.schedule((()=>O(void 0,null,(function*(){try{yield i(T,e)}catch(e){null==c||c(e)}j=0}))))),F})),startAutoSave:()=>O(void 0,null,(function*(){return yield F.stopAutoSave().save(),M=l.addDidFinishTransactionListener((()=>{const e=D();k(e)&&F.save((()=>e))})),F})),stopAutoSave:()=>(o(M,l.delListener),M=void 0,F),isAutoSaving:()=>!n(M),schedule:(...e)=>O(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(f(S,y),...e),yield O(void 0,null,(function*(){if(!f(P,y)){for(g(P,y,1);!n((e=f(S,y),h=e.shift()));)try{yield h()}catch(e){null==c||c(e)}g(P,y,0)}var e})),F})),getStore:()=>l,destroy:()=>F.stopAutoLoad().stopAutoSave(),getStats:()=>({})},v);return a(F)})(l,(()=>M(void 0,null,(function*(){const e=yield r.doc();return 2==y(e[i])?j(e,i):void 0}))),((e,t)=>M(void 0,null,(function*(){return r.change((l=>((e,t,l,r)=>{((e,t)=>{p(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[i,u]=j(e,t),a=()=>{c=1};let c=1;if(o(null==r?void 0:r(),(([e,t])=>{c=0,v(e,((e,t)=>c?0:n(e)?s(i,t):o(i[t],(t=>v(e,((e,l)=>c?0:n(e)?s(t,l):o(d(t,l),(t=>v(e,((e,o)=>n(e)?s(t,o):t[o]=e))),a)))),a))),v(t,((e,t)=>c?0:n(e)?s(u,t):u[t]=e))})),c){const[e,t]=l();x(i,void 0,e,((e,t,n)=>x(i,t,n,((e,t,n)=>x(e,t,n,((e,t,n)=>{if(d(e,t)!==n)return e[t]=n,1})))))),x(u,void 0,t,((e,t,n)=>{d(u,t)!==n&&(u[t]=n)}))}})(l,i,e,t)))}))),(e=>{const t=({doc:t})=>e((()=>j(t,i)));return r.on("change",t),t}),(e=>{r.removeListener("change",e)}),u,!1,{getDocHandle:()=>r}));export{T as createAutomergePersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),a=l.keys,i=l.freeze,u=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),s=JSON.parse,d=e=>new Map(e),c=(e,t)=>null==e?void 0:e.get(t),v=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},y=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(c(e,t)):v(e,t,n()),c(e,t)};var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const f=d(),h=d(),p=n=>{return o=null==n?void 0:n[0],e(o)==t;var o};var C=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const S="storage",m=globalThis.window,A=(e,t,r,a)=>((e,t,l,r,a,s,d,[C,S]=[],m=[])=>{let A,b,w,L=0,M=0;y(f,m,(()=>0)),y(h,m,(()=>[]));const[x,P,O,T]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!u(e)||!u(t)])(d,e),E=e=>g(void 0,null,(function*(){return 2!=L&&(L=1,yield N.schedule((()=>g(void 0,null,(function*(){yield e(),L=0}))))),N})),N={load:(n,o)=>g(void 0,null,(function*(){return yield E((()=>g(void 0,null,(function*(){try{const n=yield t();(x&&p(n)?e.setMergeableContent:e.setContent)(n)}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},o={}){return N.stopAutoLoad(),yield N.load(n,o),M=1,w=r(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield E((()=>g(void 0,null,(function*(){return(x&&p(t)?e.applyMergeableChanges:e.applyChanges)(t)}))))}else yield E((()=>g(void 0,null,(function*(){var o;try{const l=null!=(o=null==n?void 0:n())?o:yield t();(x&&p(l)?e.setMergeableContent:e.setContent)(l)}catch(e){null==s||s(e)}}))))})))),N})),stopAutoLoad:()=>(M&&(a(w),w=void 0,M=0),N),save:e=>g(void 0,null,(function*(){return 1!=L&&(L=2,yield N.schedule((()=>g(void 0,null,(function*(){try{yield l(P,e)}catch(e){null==s||s(e)}L=0}))))),N})),startAutoSave:()=>g(void 0,null,(function*(){return yield N.stopAutoSave().save(),A=e.addDidFinishTransactionListener((()=>{const e=O();T(e)&&N.save((()=>e))})),N})),stopAutoSave:()=>(o(A,e.delListener),A=void 0,N),schedule:(...e)=>g(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(c(h,m),...e),yield g(void 0,null,(function*(){if(!c(f,m)){for(v(f,m,1);!n((e=c(h,m),b=e.shift()));)try{yield b()}catch(e){null==s||s(e)}v(f,m,0)}var e})),N})),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return C&&(N[C]=()=>S),i(N)})(e,(()=>C(void 0,null,(function*(){return s(r.getItem(t))}))),(e=>C(void 0,null,(function*(){return r.setItem(t,(n=e(),JSON.stringify(n,((e,t)=>t instanceof Map?l.fromEntries([...t]):t))));var n}))),(e=>{const n=n=>{n.storageArea===r&&n.key===t&&e((()=>s(n.newValue)))};return m.addEventListener(S,n),n}),(e=>m.removeEventListener(S,e)),a,!0,["getStorageName",t]),b=(e,t,n)=>A(e,t,localStorage,n),w=(e,t,n)=>A(e,t,sessionStorage,n);export{b as createLocalPersister,w as createSessionPersister};
1
+ const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),a=l.keys,i=l.freeze,u=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),s=JSON.parse,d=e=>new Map(e),v=(e,t)=>null==e?void 0:e.get(t),c=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},y=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(v(e,t)):c(e,t,n()),v(e,t)};var g=Object.defineProperty,p=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,b=(e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const m=d(),w=d();var A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const C="storage",O=globalThis.window,L=(r,a,d,g)=>((l,r,a,s,d,g,A,C={},O=[])=>{let L,P,M,j=0;y(m,O,(()=>0)),y(w,O,(()=>[]));const[x,E,T,I]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!u(e)||!u(t)])(A,l),N=e=>S(void 0,null,(function*(){return 2!=j&&(j=1,yield J.schedule((()=>S(void 0,null,(function*(){yield e(),j=0}))))),J})),k=n=>{var o;(x&&(o=null==n?void 0:n[0],e(o)==t)?1===(null==n?void 0:n[1][2])?l.applyMergeableChanges:l.setMergeableContent:1===(null==n?void 0:n[2])?l.applyChanges:l.setContent)(n)},J=((e,t)=>{for(var n in t||(t={}))f.call(t,n)&&b(e,n,t[n]);if(p)for(var n of p(t))h.call(t,n)&&b(e,n,t[n]);return e})({load:(e,t)=>S(void 0,null,(function*(){return yield N((()=>S(void 0,null,(function*(){try{k(yield r())}catch(n){null==g||g(n),l.setContent([e,t])}}))))})),startAutoLoad:(...e)=>S(void 0,[...e],(function*(e={},t={}){return yield J.stopAutoLoad().load(e,t),P=s(((e,t)=>S(void 0,null,(function*(){const n=null==t?void 0:t();yield N((()=>S(void 0,null,(function*(){var t;try{k(null!=(t=null!=n?n:null==e?void 0:e())?t:yield r())}catch(e){null==g||g(e)}}))))})))),J})),stopAutoLoad:()=>(P&&(d(P),P=void 0),J),isAutoLoading:()=>!n(P),save:e=>S(void 0,null,(function*(){return 1!=j&&(j=2,yield J.schedule((()=>S(void 0,null,(function*(){try{yield a(E,e)}catch(e){null==g||g(e)}j=0}))))),J})),startAutoSave:()=>S(void 0,null,(function*(){return yield J.stopAutoSave().save(),M=l.addDidFinishTransactionListener((()=>{const e=T();I(e)&&J.save((()=>e))})),J})),stopAutoSave:()=>(o(M,l.delListener),M=void 0,J),isAutoSaving:()=>!n(M),schedule:(...e)=>S(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(v(w,O),...e),yield S(void 0,null,(function*(){if(!v(m,O)){for(c(m,O,1);!n((e=v(w,O),L=e.shift()));)try{yield L()}catch(e){null==g||g(e)}c(m,O,0)}var e})),J})),getStore:()=>l,destroy:()=>J.stopAutoLoad().stopAutoSave(),getStats:()=>({})},C);return i(J)})(r,(()=>A(void 0,null,(function*(){return s(d.getItem(a))}))),(e=>A(void 0,null,(function*(){return d.setItem(a,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?l.fromEntries([...t]):t))));var t}))),(e=>{const t=t=>{t.storageArea===d&&t.key===a&&e((()=>s(t.newValue)))};return O.addEventListener(C,t),t}),(e=>O.removeEventListener(C,e)),g,!0,{getStorageName:()=>a}),P=(e,t,n)=>L(e,t,localStorage,n),M=(e,t,n)=>L(e,t,sessionStorage,n);export{P as createLocalPersister,M as createSessionPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),g=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),C=Object,R=e=>C.getPrototypeOf(e),w=C.entries,N=C.keys,x=C.freeze,S=(e=[])=>C.fromEntries(e),D=(...e)=>C.assign({},...e),M=(e,n)=>n in e,I=(e,n)=>O(w(e),(([e,l])=>n(l,e))),F=e=>C.values(e),$=e=>v(N(e)),_=e=>(e=>!a(e)&&d(R(e),(e=>e==C.prototype||a(R(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},U=(e,n,l)=>a(l)?(P(e,n),e):null==e?void 0:e.set(n,l),Y=(e,n,l,t)=>(b(e,n)?null==t||t(H(e,n)):U(e,n,l()),H(e,n)),k=(e,n,l,t=U)=>(I(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>M(n,l)?0:t(e,l))),e),G=e=>new Set(Array.isArray(e)||a(e)?e:[e]),J=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&Q(e,l,n[l]);if(K)for(var l of K(n))q.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=E+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return k(i,S(yield y(O(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,S(O(yield e(E+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>U(i,n,k(Y(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&U(e,n,l)}),((e,n)=>U(e,n))))),((e,n)=>U(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?S(T(O(yield e(ee+h(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=G();I(null!=u?u:{},(e=>O(N(null!=e?e:{}),(e=>J(v,e)))));const f=L(v);if(!s&&c&&g(f)&&b(i,n))return yield e("DROP TABLE"+h(n)),void U(i,n);if(g(f)||b(i,n)){const t=H(i,n),r=G(B(t));yield y([...O(f,(o=>Z(void 0,null,(function*(){P(r,o)||(yield e(`ALTER TABLE${h(n)}ADD${h(o)}`),U(t,o,l))})))),...!s&&d?O(L(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),U(t,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+h(e))))});`),U(i,n,j([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(I(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+le+h(o)+"=?",[t]):g(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(g(f))b(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T(B(H(i,n)),(e=>e!=o)),t=[],r=[];I(null!=u?u:{},((e,n)=>{A(t,n,...O(l,(n=>null==e?void 0:e[n]))),A(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+h(n)+le+h(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+m(O(i,(e=>t+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+h(o)+")DO UPDATE SET"+m(O(i,(e=>h(e)+"=excluded."+h(e))),t):l),O(u,(e=>null!=e?e:null)))})),re=e=>m(O(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=e=>c(null==e?void 0:e[0]),se=(e,n,l,t,o,r,i,[u,c]=[],s=[])=>{let v,y,f,p=0,h=0;Y(ae,s,(()=>0)),Y(de,s,(()=>[]));const[E,m,O,g]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!_(e)||!_(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!_(e)||!_(n)])(i,e),T=e=>ue(void 0,null,(function*(){return 2!=p&&(p=1,yield b.schedule((()=>ue(void 0,null,(function*(){yield e(),p=0}))))),b})),b={load:(l,t)=>ue(void 0,null,(function*(){return yield T((()=>ue(void 0,null,(function*(){try{const l=yield n();(E&&ce(l)?e.setMergeableContent:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return b.stopAutoLoad(),yield b.load(l,o),h=1,f=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield T((()=>ue(void 0,null,(function*(){return(E&&ce(n)?e.applyMergeableChanges:e.applyChanges)(n)}))))}else yield T((()=>ue(void 0,null,(function*(){var t;try{const o=null!=(t=null==l?void 0:l())?t:yield n();(E&&ce(o)?e.setMergeableContent:e.setContent)(o)}catch(e){null==r||r(e)}}))))})))),b})),stopAutoLoad:()=>(h&&(o(f),f=void 0,h=0),b),save:e=>ue(void 0,null,(function*(){return 1!=p&&(p=2,yield b.schedule((()=>ue(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),b})),startAutoSave:()=>ue(void 0,null,(function*(){return yield b.stopAutoSave().save(),v=e.addDidFinishTransactionListener((()=>{const e=O();g(e)&&b.save((()=>e))})),b})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,b),schedule:(...e)=>ue(void 0,null,(function*(){return A(H(de,s),...e),yield ue(void 0,null,(function*(){if(!H(ae,s)){for(U(ae,s,1);!a((e=H(de,s),y=e.shift()));)try{yield y()}catch(e){null==r||r(e)}U(ae,s,0)}var e})),b})),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(b[u]=()=>c),x(b)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return se(e,(()=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var n,l;yield d(),yield s(r,p,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?C.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const he=(e,n,l,t,o,[r,i,[u,d,c]],s,v,h,E)=>{const[m,O,g,A]=te(n,s,o,E),b=(e,n)=>pe(void 0,null,(function*(){return yield y(W(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){n&&!M(e,i)||(yield g(l,t,e[i],o,r,n))})))))})),L=(e,n)=>pe(void 0,null,(function*(){return d?yield g(c,p,{[f]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield A((()=>pe(void 0,null,(function*(){yield m();const e=yield pe(void 0,null,(function*(){return S(T(yield y(W(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!_(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield A((()=>pe(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield b(n),yield L(l)}else{const[e,l]=n();yield b(e,!0),yield L(l,!0)}}))))}))),l,t,o,!1,[h,v],v)},Ee="json",me="autoLoadIntervalSeconds",Oe="rowIdColumnName",ge="tableId",Te="tableName",Ae={mode:Ee,[me]:1},be={load:0,save:0,[Te]:n+"_values"},Le=(e,n,l,t)=>{const o=j();return I(e,((e,r)=>{const i=s(F(D(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||U(o,r,i)})),o};var Pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ce="pragma ",Re="data_version",we="schema_version",Ne=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,m;const[O,g,T,A]=(e=>{const l=(e=>D(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[me];if(l.mode==Ee){const{storeTableName:e=n}=l;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(F(D(be,i)),0,$(be)),a=u[2],d=G(a);return[0,t,[Le(o,{[ge]:null,[Oe]:p},ge,(e=>J(d,e)&&e==a)),Le(r,{[Te]:null,[Oe]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>J(d,n)&&n==a)),u],d]})(l);return(O?fe:he)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(Ce+Re))[0][Re],l=(yield t(Ce+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=m?m:m=o)||(e(),f=n,h=l)}catch(e){}})),l=g,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),a,T,L(A),d,v,y)},xe=(e,n,l,t,o)=>Ne(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{xe as createCrSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",E=(e,n="")=>e.join(n),b=(e,n)=>e.map(n),O=e=>0==s(e),g=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},w=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},C=(e,n)=>null==e?void 0:e.delete(n),T=Object,N=e=>T.getPrototypeOf(e),L=T.entries,S=T.keys,R=T.freeze,x=(e=[])=>T.fromEntries(e),I=(...e)=>T.assign({},...e),D=(e,n)=>n in e,j=(e,n)=>b(L(e),(([e,l])=>n(l,e))),M=e=>T.values(e),_=e=>s(S(e)),F=e=>(e=>!a(e)&&d(N(e),(e=>e==T.prototype||a(N(e))),(()=>!0)))(e)&&0==_(e),B=e=>new Map(e),H=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},U=(e,n)=>null==e?void 0:e.get(n),Y=(e,n)=>{var l;return b([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},$=(e,n,l)=>a(l)?(C(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l,t)=>(A(e,n)?null==t||t(U(e,n)):$(e,n,l()),U(e,n)),G=(e,n,l,t=$)=>(j(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>D(n,l)?0:t(e,l))),e),J=e=>new Set(Array.isArray(e)||a(e)?e:[e]),W=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&Q(e,l,n[l]);if(K)for(var l of K(n))q.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee="TABLE",ne="ALTER "+ee,le="DELETE FROM",te=m+"*FROM",oe="FROM pragma_table_",re="WHERE",ie=(e,n,o,r)=>{const i=B();return[()=>Z(void 0,null,(function*(){return G(i,x(yield y(b(yield e("SELECT name "+oe+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ae(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,x(b(yield e(m+" name,type "+oe+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>$(i,n,G(k(i,n,B),l,((e,n,l)=>{l!=U(e,n)&&$(e,n,l)}),((e,n)=>$(e,n))))),((e,n)=>$(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(U(U(i,e),n)))(n,l)?x(g(b(yield e(te+h(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!F(n)))):{}})),(n,o,u,d,c,v=!1)=>Z(void 0,null,(function*(){const s=J();j(null!=u?u:{},(e=>b(S(null!=e?e:{}),(e=>W(s,e)))));const f=w(s);if(!v&&c&&O(f)&&A(i,n))return yield e("DROP "+ee+h(n)),void $(i,n);if(O(f)||A(i,n)){const t=U(i,n),r=J(H(t));yield y([...b(f,(o=>Z(void 0,null,(function*(){C(r,o)||(yield e(ne+h(n)+"ADD"+h(o)),$(t,o,l))})))),...!v&&d?b(w(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(ne+h(n)+"DROP"+h(l)),$(t,l))})))):[]])}else yield e("CREATE "+ee+h(n)+"("+h(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(b(f,(e=>t+h(e))))});`),$(i,n,B([[o,l],...b(f,(e=>[e,l]))]));if(v)a(u)?yield e(le+h(n)+re+" 1"):yield y(j(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e(le+h(n)+re+h(o)+"=?",[t]):O(f)||(yield ue(e,n,o,S(l),[t,...M(l)],r))})))));else if(O(f))A(i,n)&&(yield e(le+h(n)+re+" 1"));else{const l=g(H(U(i,n)),(e=>e!=o)),t=[],a=[];j(null!=u?u:{},((e,n)=>{P(t,n,...b(l,(n=>null==e?void 0:e[n]))),P(a,n)})),yield ue(e,n,o,l,t,r),yield e(le+h(n)+re+h(o)+"NOT IN("+ae(a)+")",a)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},ue=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+E(b(i,(e=>t+h(e))))+")VALUES"+v(r(`,(?${r(",?",s(i))})`,s(u)/(s(i)+1)),1)+(a?"ON CONFLICT("+h(o)+")DO UPDATE SET"+E(b(i,(e=>h(e)+"=excluded."+h(e))),t):l),b(u,(e=>null!=e?e:null)))})),ae=e=>E(b(e,(()=>"?")),t),de=JSON.parse;var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,n,l)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const he=B(),me=B(),Ee=(e,n,l,t,o,r,i,u={},v=[])=>{let s,y,f,p=0;k(he,v,(()=>0)),k(me,v,(()=>[]));const[h,m,E,b]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!F(e)||!F(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!F(e)||!F(n)])(i,e),O=e=>pe(void 0,null,(function*(){return 2!=p&&(p=1,yield A.schedule((()=>pe(void 0,null,(function*(){yield e(),p=0}))))),A})),g=n=>{(h&&c(null==n?void 0:n[0])?1===(null==n?void 0:n[1][2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},A=((e,n)=>{for(var l in n||(n={}))se.call(n,l)&&fe(e,l,n[l]);if(ve)for(var l of ve(n))ye.call(n,l)&&fe(e,l,n[l]);return e})({load:(l,t)=>pe(void 0,null,(function*(){return yield O((()=>pe(void 0,null,(function*(){try{g(yield n())}catch(n){null==r||r(n),e.setContent([l,t])}}))))})),startAutoLoad:(...e)=>pe(void 0,[...e],(function*(e={},l={}){return yield A.stopAutoLoad().load(e,l),y=t(((e,l)=>pe(void 0,null,(function*(){const t=null==l?void 0:l();yield O((()=>pe(void 0,null,(function*(){var l;try{g(null!=(l=null!=t?t:null==e?void 0:e())?l:yield n())}catch(e){null==r||r(e)}}))))})))),A})),stopAutoLoad:()=>(y&&(o(y),y=void 0),A),isAutoLoading:()=>!a(y),save:e=>pe(void 0,null,(function*(){return 1!=p&&(p=2,yield A.schedule((()=>pe(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),A})),startAutoSave:()=>pe(void 0,null,(function*(){return yield A.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=E();b(e)&&A.save((()=>e))})),A})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,A),isAutoSaving:()=>!a(f),schedule:(...e)=>pe(void 0,null,(function*(){return P(U(me,v),...e),yield pe(void 0,null,(function*(){if(!U(he,v)){for($(he,v,1);!a((e=U(me,v),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}$(he,v,0)}var e})),A})),getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})},u);return R(A)};var be=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Oe="store",ge=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,v,s,y]=ie(n,i,o,d);return Ee(e,(()=>be(void 0,null,(function*(){return yield y((()=>be(void 0,null,(function*(){var e,n;return yield c(),de(null!=(n=null==(e=(yield v(r,p))[f])?void 0:e[Oe])?n:"null")}))))}))),(e=>be(void 0,null,(function*(){return yield y((()=>be(void 0,null,(function*(){var n,l;yield c(),yield s(r,p,{[f]:{[Oe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?T.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,{[a]:()=>u},u)};var Pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ae=(e,n,l,t,o,[r,i,[u,d,c]],v,s,h,m)=>{const[E,b,O,P]=ie(n,v,o,m),A=(e,n)=>Pe(void 0,null,(function*(){return yield y(Y(i,((l,t)=>Pe(void 0,[l,t],(function*([l,t,o,r],i){n&&!D(e,i)||(yield O(l,t,e[i],o,r,n))})))))})),w=(e,n)=>Pe(void 0,null,(function*(){return d?yield O(c,p,{[f]:e},!0,!0,n):null}));return Ee(e,(()=>Pe(void 0,null,(function*(){return yield P((()=>Pe(void 0,null,(function*(){yield E();const e=yield Pe(void 0,null,(function*(){return x(g(yield y(Y(r,((e,n)=>Pe(void 0,[e,n],(function*([e,n],l){return[e,yield b(l,n)]}))))),(e=>!F(e[1]))))})),n=yield Pe(void 0,null,(function*(){return u?(yield b(c,p))[f]:{}}));return F(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>Pe(void 0,null,(function*(){return yield P((()=>Pe(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield A(n),yield w(l)}else{const[e,l]=n();yield A(e,!0),yield w(l,!0)}}))))}))),l,t,o,!1,{[h]:()=>s},s)},we="json",Ce="autoLoadIntervalSeconds",Te="rowIdColumnName",Ne="tableId",Le="tableName",Se={mode:we,[Ce]:1},Re={load:0,save:0,[Le]:n+"_values"},xe=(e,n,l,t)=>{const o=B();return j(e,((e,r)=>{const i=v(M(I(n,c(e)?{[l]:e}:e)),0,_(n));a(i[0])||t(r,i[0])||$(o,r,i)})),o};var Ie=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const De="pragma ",je="data_version",Me="schema_version",_e=(e,l,t,o,r,i,a,d,s="getDb",y)=>{let f,h,E;const[b,O,g,P]=(e=>{const l=(e=>I(Se,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ce];if(l.mode==we){const{storeTableName:e=n}=l;return[1,t,[e],J(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(M(I(Re,i)),0,_(Re)),a=u[2],d=J(a);return[0,t,[xe(o,{[Ne]:null,[Te]:p},Ne,(e=>W(d,e)&&e==a)),xe(r,{[Le]:null,[Te]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Le,((e,n)=>W(d,n)&&n==a)),u],d]})(l);return(b?ge:Ae)(e,i?(e,n)=>Ie(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ie(void 0,null,(function*(){try{const n=(yield t(De+je))[0][je],l=(yield t(De+Me))[0][Me],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=E?E:E=o)||(e(),f=n,h=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),a,g,w(P),d,s,y)},Fe=(e,n,l,t,o)=>_e(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{Fe as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",h="_id",p=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),b=e=>0==v(e),O=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=(e,n)=>null==e?void 0:e.delete(n),P=Object,R=e=>P.getPrototypeOf(e),w=P.entries,N=P.keys,D=P.freeze,S=(e=[])=>P.fromEntries(e),x=(...e)=>P.assign({},...e),M=(e,n)=>n in e,I=(e,n)=>g(w(e),(([e,l])=>n(l,e))),F=e=>P.values(e),$=e=>v(N(e)),_=e=>(e=>!a(e)&&d(R(e),(e=>e==P.prototype||a(R(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return g([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},Y=(e,n,l)=>a(l)?(L(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l,t)=>(A(e,n)?null==t||t(H(e,n)):Y(e,n,l()),H(e,n)),G=(e,n,l,t=Y)=>(I(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>M(n,l)?0:t(e,l))),e),J=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,z=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))K.call(n,l)&&Q(e,l,n[l]);if(z)for(var l of z(n))V.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=E+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return G(i,S(yield y(g(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,S(g(yield e(E+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,G(k(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?S(O(g(yield e(ee+p(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=J();I(null!=u?u:{},(e=>g(N(null!=e?e:{}),(e=>U(v,e)))));const f=C(v);if(!s&&c&&b(f)&&A(i,n))return yield e("DROP TABLE"+p(n)),void Y(i,n);if(b(f)||A(i,n)){const t=H(i,n),r=J(B(t));yield y([...g(f,(o=>Z(void 0,null,(function*(){L(r,o)||(yield e(`ALTER TABLE${p(n)}ADD${p(o)}`),Y(t,o,l))})))),...!s&&d?g(C(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${p(n)}DROP${p(l)}`),Y(t,l))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(o)} PRIMARY KEY ON CONFLICT REPLACE${m(g(f,(e=>t+p(e))))});`),Y(i,n,j([[o,l],...g(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield y(I(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+p(n)+le+p(o)+"=?",[t]):b(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(b(f))A(i,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=O(B(H(i,n)),(e=>e!=o)),t=[],r=[];I(null!=u?u:{},((e,n)=>{T(t,n,...g(l,(n=>null==e?void 0:e[n]))),T(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+p(n)+le+p(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+p(n)+"("+p(o)+m(g(i,(e=>t+p(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+p(o)+")DO UPDATE SET"+m(g(i,(e=>p(e)+"=excluded."+p(e))),t):l),g(u,(e=>null!=e?e:null)))})),re=e=>m(g(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=e=>c(null==e?void 0:e[0]),se=(e,n,l,t,o,r,i,[u,c]=[],s=[])=>{let v,y,f,h=0,p=0;k(ae,s,(()=>0)),k(de,s,(()=>[]));const[E,m,g,b]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!_(e)||!_(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!_(e)||!_(n)])(i,e),O=e=>ue(void 0,null,(function*(){return 2!=h&&(h=1,yield A.schedule((()=>ue(void 0,null,(function*(){yield e(),h=0}))))),A})),A={load:(l,t)=>ue(void 0,null,(function*(){return yield O((()=>ue(void 0,null,(function*(){try{const l=yield n();(E&&ce(l)?e.setMergeableContent:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return A.stopAutoLoad(),yield A.load(l,o),p=1,f=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield O((()=>ue(void 0,null,(function*(){return(E&&ce(n)?e.applyMergeableChanges:e.applyChanges)(n)}))))}else yield O((()=>ue(void 0,null,(function*(){var t;try{const o=null!=(t=null==l?void 0:l())?t:yield n();(E&&ce(o)?e.setMergeableContent:e.setContent)(o)}catch(e){null==r||r(e)}}))))})))),A})),stopAutoLoad:()=>(p&&(o(f),f=void 0,p=0),A),save:e=>ue(void 0,null,(function*(){return 1!=h&&(h=2,yield A.schedule((()=>ue(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}h=0}))))),A})),startAutoSave:()=>ue(void 0,null,(function*(){return yield A.stopAutoSave().save(),v=e.addDidFinishTransactionListener((()=>{const e=g();b(e)&&A.save((()=>e))})),A})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,A),schedule:(...e)=>ue(void 0,null,(function*(){return T(H(de,s),...e),yield ue(void 0,null,(function*(){if(!H(ae,s)){for(Y(ae,s,1);!a((e=H(de,s),y=e.shift()));)try{yield y()}catch(e){null==r||r(e)}Y(ae,s,0)}var e})),A})),getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(A[u]=()=>c),D(A)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return se(e,(()=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,h))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var n,l;yield d(),yield s(r,h,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var he=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const pe=(e,n,l,t,o,[r,i,[u,d,c]],s,v,p,E)=>{const[m,g,b,T]=te(n,s,o,E),A=(e,n)=>he(void 0,null,(function*(){return yield y(W(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){n&&!M(e,i)||(yield b(l,t,e[i],o,r,n))})))))})),C=(e,n)=>he(void 0,null,(function*(){return d?yield b(c,h,{[f]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield T((()=>he(void 0,null,(function*(){yield m();const e=yield he(void 0,null,(function*(){return S(O(yield y(W(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield g(l,n)]}))))),(e=>!_(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield g(c,h))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield T((()=>he(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield A(n),yield C(l)}else{const[e,l]=n();yield A(e,!0),yield C(l,!0)}}))))}))),l,t,o,!1,[p,v],v)},Ee="json",me="autoLoadIntervalSeconds",ge="rowIdColumnName",be="tableId",Oe="tableName",Te={mode:Ee,[me]:1},Ae={load:0,save:0,[Oe]:n+"_values"},Ce=(e,n,l,t)=>{const o=j();return I(e,((e,r)=>{const i=s(F(x(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Le=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="pragma ",Re="data_version",we="schema_version",Ne=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,p,m;const[g,b,O,T]=(e=>{const l=(e=>x(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[me];if(l.mode==Ee){const{storeTableName:e=n}=l;return[1,t,[e],J(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(F(x(Ae,i)),0,$(Ae)),a=u[2],d=J(a);return[0,t,[Ce(o,{[be]:null,[ge]:h},be,(e=>U(d,e)&&e==a)),Ce(r,{[Oe]:null,[ge]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Oe,((e,n)=>U(d,n)&&n==a)),u],d]})(l);return(g?fe:pe)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+Re))[0][Re],l=(yield t(Pe+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=m?m:m=o)||(e(),f=n,p=l)}catch(e){}})),l=b,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,O,C(T),d,v,y)},De=(e,n,l,t,o)=>Ne(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n,"getElectricClient");export{De as createElectricSqlPersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",r=e(l),o=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==r,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{o(n.next(e))}catch(e){l(e)}},r=e=>{try{o(n.throw(e))}catch(e){l(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);o((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",b=(e,n="")=>e.join(n),E=(e,n)=>e.map(n),g=e=>0==v(e),O=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),w=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},C=(e,n)=>null==e?void 0:e.delete(n),T=Object,N=e=>T.getPrototypeOf(e),L=T.entries,S=T.keys,R=T.freeze,x=(e=[])=>T.fromEntries(e),I=(...e)=>T.assign({},...e),D=(e,n)=>n in e,j=(e,n)=>E(L(e),(([e,l])=>n(l,e))),M=e=>T.values(e),_=e=>v(S(e)),F=e=>(e=>!a(e)&&d(N(e),(e=>e==T.prototype||a(N(e))),(()=>!0)))(e)&&0==_(e),B=e=>new Map(e),H=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},Y=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var l;return E([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},k=(e,n,l)=>a(l)?(C(e,n),e):null==e?void 0:e.set(n,l),G=(e,n,l,t)=>(w(e,n)?null==t||t(Y(e,n)):k(e,n,l()),Y(e,n)),J=(e,n,l,t=k)=>(j(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>D(n,l)?0:t(e,l))),e),U=e=>new Set(Array.isArray(e)||a(e)?e:[e]),W=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,z=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))K.call(n,l)&&Q(e,l,n[l]);if(z)for(var l of z(n))V.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const ee="TABLE",ne="ALTER "+ee,le="DELETE FROM",te=m+"*FROM",re="FROM pragma_table_",oe="WHERE",ie=(e,n,r,o)=>{const i=B();return[()=>Z(void 0,null,(function*(){return J(i,x(yield y(E(yield e("SELECT name "+re+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ae(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,x(E(yield e(m+" name,type "+re+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>k(i,n,J(G(i,n,B),l,((e,n,l)=>{l!=Y(e,n)&&k(e,n,l)}),((e,n)=>k(e,n))))),((e,n)=>k(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(Y(Y(i,e),n)))(n,l)?x(O(E(yield e(te+h(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!F(n)))):{}})),(n,r,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=U();j(null!=u?u:{},(e=>E(S(null!=e?e:{}),(e=>W(v,e)))));const f=A(v);if(!s&&c&&g(f)&&w(i,n))return yield e("DROP "+ee+h(n)),void k(i,n);if(g(f)||w(i,n)){const t=Y(i,n),o=U(H(t));yield y([...E(f,(r=>Z(void 0,null,(function*(){C(o,r)||(yield e(ne+h(n)+"ADD"+h(r)),k(t,r,l))})))),...!s&&d?E(A(o),(l=>Z(void 0,null,(function*(){l!=r&&(yield e(ne+h(n)+"DROP"+h(l)),k(t,l))})))):[]])}else yield e("CREATE "+ee+h(n)+"("+h(r)+` PRIMARY KEY ON CONFLICT REPLACE${b(E(f,(e=>t+h(e))))});`),k(i,n,B([[r,l],...E(f,(e=>[e,l]))]));if(s)a(u)?yield e(le+h(n)+oe+" 1"):yield y(j(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e(le+h(n)+oe+h(r)+"=?",[t]):g(f)||(yield ue(e,n,r,S(l),[t,...M(l)],o))})))));else if(g(f))w(i,n)&&(yield e(le+h(n)+oe+" 1"));else{const l=O(H(Y(i,n)),(e=>e!=r)),t=[],a=[];j(null!=u?u:{},((e,n)=>{P(t,n,...E(l,(n=>null==e?void 0:e[n]))),P(a,n)})),yield ue(e,n,r,l,t,o),yield e(le+h(n)+oe+h(r)+"NOT IN("+ae(a)+")",a)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==r||r(e)}return yield e("END"),l}))]},ue=(e,n,r,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(r)+b(E(i,(e=>t+h(e))))+")VALUES"+s(o(`,(?${o(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+h(r)+")DO UPDATE SET"+b(E(i,(e=>h(e)+"=excluded."+h(e))),t):l),E(u,(e=>null!=e?e:null)))})),ae=e=>b(E(e,(()=>"?")),t),de=JSON.parse;var ce=Object.defineProperty,se=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,n,l)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,pe=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const he=B(),me=B(),be=(e,n,l,t,r,o,i,u={},s=[])=>{let v,y,f,p=0;G(he,s,(()=>0)),G(me,s,(()=>[]));const[h,m,b,E]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!F(e)||!F(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!F(e)||!F(n)])(i,e),g=e=>pe(void 0,null,(function*(){return 2!=p&&(p=1,yield w.schedule((()=>pe(void 0,null,(function*(){yield e(),p=0}))))),w})),O=n=>{(h&&c(null==n?void 0:n[0])?1===(null==n?void 0:n[1][2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},w=((e,n)=>{for(var l in n||(n={}))ve.call(n,l)&&fe(e,l,n[l]);if(se)for(var l of se(n))ye.call(n,l)&&fe(e,l,n[l]);return e})({load:(l,t)=>pe(void 0,null,(function*(){return yield g((()=>pe(void 0,null,(function*(){try{O(yield n())}catch(n){null==o||o(n),e.setContent([l,t])}}))))})),startAutoLoad:(...e)=>pe(void 0,[...e],(function*(e={},l={}){return yield w.stopAutoLoad().load(e,l),y=t(((e,l)=>pe(void 0,null,(function*(){const t=null==l?void 0:l();yield g((()=>pe(void 0,null,(function*(){var l;try{O(null!=(l=null!=t?t:null==e?void 0:e())?l:yield n())}catch(e){null==o||o(e)}}))))})))),w})),stopAutoLoad:()=>(y&&(r(y),y=void 0),w),isAutoLoading:()=>!a(y),save:e=>pe(void 0,null,(function*(){return 1!=p&&(p=2,yield w.schedule((()=>pe(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==o||o(e)}p=0}))))),w})),startAutoSave:()=>pe(void 0,null,(function*(){return yield w.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=b();E(e)&&w.save((()=>e))})),w})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,w),isAutoSaving:()=>!a(f),schedule:(...e)=>pe(void 0,null,(function*(){return P(Y(me,s),...e),yield pe(void 0,null,(function*(){if(!Y(he,s)){for(k(he,s,1);!a((e=Y(me,s),v=e.shift()));)try{yield v()}catch(e){null==o||o(e)}k(he,s,0)}var e})),w})),getStore:()=>e,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})},u);return R(w)};var Ee=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const ge="store",Oe=(e,n,l,t,r,[o],i,u,a,d)=>{const[c,s,v,y]=ie(n,i,r,d);return be(e,(()=>Ee(void 0,null,(function*(){return yield y((()=>Ee(void 0,null,(function*(){var e,n;return yield c(),de(null!=(n=null==(e=(yield s(o,p))[f])?void 0:e[ge])?n:"null")}))))}))),(e=>Ee(void 0,null,(function*(){return yield y((()=>Ee(void 0,null,(function*(){var n,l;yield c(),yield v(o,p,{[f]:{[ge]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?T.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,r,!1,{[a]:()=>u},u)};var Pe=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const we=(e,n,l,t,r,[o,i,[u,d,c]],s,v,h,m)=>{const[b,E,g,P]=ie(n,s,r,m),w=(e,n)=>Pe(void 0,null,(function*(){return yield y($(i,((l,t)=>Pe(void 0,[l,t],(function*([l,t,r,o],i){n&&!D(e,i)||(yield g(l,t,e[i],r,o,n))})))))})),A=(e,n)=>Pe(void 0,null,(function*(){return d?yield g(c,p,{[f]:e},!0,!0,n):null}));return be(e,(()=>Pe(void 0,null,(function*(){return yield P((()=>Pe(void 0,null,(function*(){yield b();const e=yield Pe(void 0,null,(function*(){return x(O(yield y($(o,((e,n)=>Pe(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!F(e[1]))))})),n=yield Pe(void 0,null,(function*(){return u?(yield E(c,p))[f]:{}}));return F(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>Pe(void 0,null,(function*(){return yield P((()=>Pe(void 0,null,(function*(){if(yield b(),a(n)){const[n,l]=e();yield w(n),yield A(l)}else{const[e,l]=n();yield w(e,!0),yield A(l,!0)}}))))}))),l,t,r,!1,{[h]:()=>v},v)},Ae="json",Ce="autoLoadIntervalSeconds",Te="rowIdColumnName",Ne="tableId",Le="tableName",Se={mode:Ae,[Ce]:1},Re={load:0,save:0,[Le]:n+"_values"},xe=(e,n,l,t)=>{const r=B();return j(e,((e,o)=>{const i=s(M(I(n,c(e)?{[l]:e}:e)),0,_(n));a(i[0])||t(o,i[0])||k(r,o,i)})),r};var Ie=(e,n,l)=>new Promise(((t,r)=>{var o=e=>{try{u(l.next(e))}catch(e){r(e)}},i=e=>{try{u(l.throw(e))}catch(e){r(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);u((l=l.apply(e,n)).next())}));const De="pragma ",je="data_version",Me="schema_version",_e=(e,l,t,r,o,i,a,d,v="getDb",y)=>{let f,h,b;const[E,g,O,P]=(e=>{const l=(e=>I(Se,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ce];if(l.mode==Ae){const{storeTableName:e=n}=l;return[1,t,[e],U(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=l,u=s(M(I(Re,i)),0,_(Re)),a=u[2],d=U(a);return[0,t,[xe(r,{[Ne]:null,[Te]:p},Ne,(e=>W(d,e)&&e==a)),xe(o,{[Le]:null,[Te]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Le,((e,n)=>W(d,n)&&n==a)),u],d]})(l);return(E?Oe:we)(e,i?(e,n)=>Ie(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ie(void 0,null,(function*(){try{const n=(yield t(De+je))[0][je],l=(yield t(De+Me))[0][Me],r=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&r==(null!=b?b:b=r)||(e(),f=n,h=l)}catch(e){}})),l=g,n(),setInterval(n,1e3*l)),r((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,o(n)}),a,O,A(P),d,v,y)},Fe=(e,n,l,t,r)=>_e(e,l,((e,...l)=>{return t=[e,...l],r=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);i((r=r.apply(void 0,t)).next())}));var t,r}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,r,n,"getElectricClient");export{Fe as createElectricSqlPersister};