tinybase 5.4.6 → 5.4.7

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 (627) hide show
  1. package/cjs/es6/index.cjs +13 -11
  2. package/cjs/es6/mergeable-store/index.cjs +12 -10
  3. package/cjs/es6/mergeable-store/with-schemas/index.cjs +12 -10
  4. package/cjs/es6/min/index.cjs +1 -1
  5. package/cjs/es6/min/index.cjs.gz +0 -0
  6. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  7. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  8. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  9. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  10. package/cjs/es6/min/persisters/index.cjs +1 -1
  11. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  12. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  13. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  14. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  15. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  16. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  17. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  18. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  19. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  20. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  21. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  22. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  23. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  24. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  25. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  26. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  27. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  28. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  29. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  30. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  31. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/es6/min/queries/index.cjs +1 -1
  59. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  60. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  61. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  62. package/cjs/es6/min/store/index.cjs +1 -1
  63. package/cjs/es6/min/store/index.cjs.gz +0 -0
  64. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  65. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  66. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  67. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  68. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/persisters/index.cjs +3 -3
  73. package/cjs/es6/persisters/persister-automerge/index.cjs +8 -6
  74. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +8 -6
  75. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +3 -3
  76. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +3 -3
  77. package/cjs/es6/persisters/persister-electric-sql/index.cjs +3 -3
  78. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +3 -3
  79. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +3 -3
  80. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +3 -3
  81. package/cjs/es6/persisters/persister-libsql/index.cjs +3 -3
  82. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +3 -3
  83. package/cjs/es6/persisters/persister-pglite/index.cjs +3 -3
  84. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +3 -3
  85. package/cjs/es6/persisters/persister-postgres/index.cjs +3 -3
  86. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +3 -3
  87. package/cjs/es6/persisters/persister-powersync/index.cjs +3 -3
  88. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +3 -3
  89. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +3 -3
  90. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +3 -3
  91. package/cjs/es6/persisters/persister-sqlite3/index.cjs +3 -3
  92. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +3 -3
  93. package/cjs/es6/persisters/persister-yjs/index.cjs +7 -5
  94. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +7 -5
  95. package/cjs/es6/persisters/with-schemas/index.cjs +3 -3
  96. package/cjs/es6/queries/index.cjs +4 -1
  97. package/cjs/es6/queries/with-schemas/index.cjs +4 -1
  98. package/cjs/es6/store/index.cjs +14 -9
  99. package/cjs/es6/store/with-schemas/index.cjs +14 -9
  100. package/cjs/es6/tools/index.cjs +4 -4
  101. package/cjs/es6/tools/with-schemas/index.cjs +4 -4
  102. package/cjs/es6/ui-react-inspector/index.cjs +11 -9
  103. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +11 -9
  104. package/cjs/es6/with-schemas/index.cjs +13 -11
  105. package/cjs/index.cjs +13 -11
  106. package/cjs/mergeable-store/index.cjs +12 -10
  107. package/cjs/mergeable-store/with-schemas/index.cjs +12 -10
  108. package/cjs/min/index.cjs +1 -1
  109. package/cjs/min/index.cjs.gz +0 -0
  110. package/cjs/min/mergeable-store/index.cjs +1 -1
  111. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  112. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  113. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  114. package/cjs/min/persisters/index.cjs +1 -1
  115. package/cjs/min/persisters/index.cjs.gz +0 -0
  116. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  117. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  118. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  119. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  121. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  122. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  123. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  124. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  125. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  126. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  127. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  128. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  129. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  130. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  131. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  132. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  133. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  134. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  135. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  136. package/cjs/min/persisters/persister-pglite/index.cjs +1 -1
  137. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  138. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  139. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  140. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  141. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  142. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  143. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  145. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  146. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  147. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  149. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  150. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  151. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  152. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  153. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  154. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  155. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  156. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  157. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  158. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  159. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  160. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  161. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/min/queries/index.cjs +1 -1
  163. package/cjs/min/queries/index.cjs.gz +0 -0
  164. package/cjs/min/queries/with-schemas/index.cjs +1 -1
  165. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/min/store/index.cjs +1 -1
  167. package/cjs/min/store/index.cjs.gz +0 -0
  168. package/cjs/min/store/with-schemas/index.cjs +1 -1
  169. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  171. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  172. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  173. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/min/with-schemas/index.cjs +1 -1
  175. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  176. package/cjs/persisters/index.cjs +3 -3
  177. package/cjs/persisters/persister-automerge/index.cjs +8 -6
  178. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +8 -6
  179. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +3 -3
  180. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +3 -3
  181. package/cjs/persisters/persister-electric-sql/index.cjs +3 -3
  182. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +3 -3
  183. package/cjs/persisters/persister-expo-sqlite/index.cjs +3 -3
  184. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +3 -3
  185. package/cjs/persisters/persister-libsql/index.cjs +3 -3
  186. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +3 -3
  187. package/cjs/persisters/persister-pglite/index.cjs +3 -3
  188. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +3 -3
  189. package/cjs/persisters/persister-postgres/index.cjs +3 -3
  190. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +3 -3
  191. package/cjs/persisters/persister-powersync/index.cjs +3 -3
  192. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +3 -3
  193. package/cjs/persisters/persister-sqlite-wasm/index.cjs +3 -3
  194. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +3 -3
  195. package/cjs/persisters/persister-sqlite3/index.cjs +3 -3
  196. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +3 -3
  197. package/cjs/persisters/persister-yjs/index.cjs +7 -5
  198. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +7 -5
  199. package/cjs/persisters/with-schemas/index.cjs +3 -3
  200. package/cjs/queries/index.cjs +4 -1
  201. package/cjs/queries/with-schemas/index.cjs +4 -1
  202. package/cjs/store/index.cjs +14 -9
  203. package/cjs/store/with-schemas/index.cjs +14 -9
  204. package/cjs/tools/index.cjs +4 -4
  205. package/cjs/tools/with-schemas/index.cjs +4 -4
  206. package/cjs/ui-react-inspector/index.cjs +11 -9
  207. package/cjs/ui-react-inspector/with-schemas/index.cjs +11 -9
  208. package/cjs/with-schemas/index.cjs +13 -11
  209. package/cli/index.js +4 -1
  210. package/es6/index.js +13 -11
  211. package/es6/mergeable-store/index.js +12 -10
  212. package/es6/mergeable-store/with-schemas/index.js +12 -10
  213. package/es6/min/index.js +1 -1
  214. package/es6/min/index.js.gz +0 -0
  215. package/es6/min/mergeable-store/index.js +1 -1
  216. package/es6/min/mergeable-store/index.js.gz +0 -0
  217. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  218. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  219. package/es6/min/persisters/index.js +1 -1
  220. package/es6/min/persisters/index.js.gz +0 -0
  221. package/es6/min/persisters/persister-automerge/index.js +1 -1
  222. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  223. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  224. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  225. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  226. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  227. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  228. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  229. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  230. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  231. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  232. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  233. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  234. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  235. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  236. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  237. package/es6/min/persisters/persister-libsql/index.js +1 -1
  238. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  239. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  240. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  241. package/es6/min/persisters/persister-pglite/index.js +1 -1
  242. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  243. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  244. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  245. package/es6/min/persisters/persister-postgres/index.js +1 -1
  246. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  247. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  248. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  249. package/es6/min/persisters/persister-powersync/index.js +1 -1
  250. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  251. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  252. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  253. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  254. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  255. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  256. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  257. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  258. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  259. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  260. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  261. package/es6/min/persisters/persister-yjs/index.js +1 -1
  262. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  263. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  264. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  265. package/es6/min/persisters/with-schemas/index.js +1 -1
  266. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  267. package/es6/min/queries/index.js +1 -1
  268. package/es6/min/queries/index.js.gz +0 -0
  269. package/es6/min/queries/with-schemas/index.js +1 -1
  270. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  271. package/es6/min/store/index.js +1 -1
  272. package/es6/min/store/index.js.gz +0 -0
  273. package/es6/min/store/with-schemas/index.js +1 -1
  274. package/es6/min/store/with-schemas/index.js.gz +0 -0
  275. package/es6/min/ui-react-inspector/index.js +1 -1
  276. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  277. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  278. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  279. package/es6/min/with-schemas/index.js +1 -1
  280. package/es6/min/with-schemas/index.js.gz +0 -0
  281. package/es6/persisters/index.js +3 -3
  282. package/es6/persisters/persister-automerge/index.js +8 -6
  283. package/es6/persisters/persister-automerge/with-schemas/index.js +8 -6
  284. package/es6/persisters/persister-cr-sqlite-wasm/index.js +3 -3
  285. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +3 -3
  286. package/es6/persisters/persister-electric-sql/index.js +3 -3
  287. package/es6/persisters/persister-electric-sql/with-schemas/index.js +3 -3
  288. package/es6/persisters/persister-expo-sqlite/index.js +3 -3
  289. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +3 -3
  290. package/es6/persisters/persister-libsql/index.js +3 -3
  291. package/es6/persisters/persister-libsql/with-schemas/index.js +3 -3
  292. package/es6/persisters/persister-pglite/index.js +3 -3
  293. package/es6/persisters/persister-pglite/with-schemas/index.js +3 -3
  294. package/es6/persisters/persister-postgres/index.js +3 -3
  295. package/es6/persisters/persister-postgres/with-schemas/index.js +3 -3
  296. package/es6/persisters/persister-powersync/index.js +3 -3
  297. package/es6/persisters/persister-powersync/with-schemas/index.js +3 -3
  298. package/es6/persisters/persister-sqlite-wasm/index.js +3 -3
  299. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +3 -3
  300. package/es6/persisters/persister-sqlite3/index.js +3 -3
  301. package/es6/persisters/persister-sqlite3/with-schemas/index.js +3 -3
  302. package/es6/persisters/persister-yjs/index.js +7 -5
  303. package/es6/persisters/persister-yjs/with-schemas/index.js +7 -5
  304. package/es6/persisters/with-schemas/index.js +3 -3
  305. package/es6/queries/index.js +4 -1
  306. package/es6/queries/with-schemas/index.js +4 -1
  307. package/es6/store/index.js +14 -9
  308. package/es6/store/with-schemas/index.js +14 -9
  309. package/es6/tools/index.js +4 -4
  310. package/es6/tools/with-schemas/index.js +4 -4
  311. package/es6/ui-react-inspector/index.js +11 -9
  312. package/es6/ui-react-inspector/with-schemas/index.js +11 -9
  313. package/es6/with-schemas/index.js +13 -11
  314. package/index.js +13 -11
  315. package/mergeable-store/index.js +12 -10
  316. package/mergeable-store/with-schemas/index.js +12 -10
  317. package/min/index.js +1 -1
  318. package/min/index.js.gz +0 -0
  319. package/min/mergeable-store/index.js +1 -1
  320. package/min/mergeable-store/index.js.gz +0 -0
  321. package/min/mergeable-store/with-schemas/index.js +1 -1
  322. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  323. package/min/persisters/index.js +1 -1
  324. package/min/persisters/index.js.gz +0 -0
  325. package/min/persisters/persister-automerge/index.js +1 -1
  326. package/min/persisters/persister-automerge/index.js.gz +0 -0
  327. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  328. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  329. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  330. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  331. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  332. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  333. package/min/persisters/persister-electric-sql/index.js +1 -1
  334. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  335. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  336. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  337. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  338. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  339. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  340. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  341. package/min/persisters/persister-libsql/index.js +1 -1
  342. package/min/persisters/persister-libsql/index.js.gz +0 -0
  343. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  344. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  345. package/min/persisters/persister-pglite/index.js +1 -1
  346. package/min/persisters/persister-pglite/index.js.gz +0 -0
  347. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  348. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  349. package/min/persisters/persister-postgres/index.js +1 -1
  350. package/min/persisters/persister-postgres/index.js.gz +0 -0
  351. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  352. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  353. package/min/persisters/persister-powersync/index.js +1 -1
  354. package/min/persisters/persister-powersync/index.js.gz +0 -0
  355. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  356. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  357. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  358. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  359. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  360. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  361. package/min/persisters/persister-sqlite3/index.js +1 -1
  362. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  363. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  364. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  365. package/min/persisters/persister-yjs/index.js +1 -1
  366. package/min/persisters/persister-yjs/index.js.gz +0 -0
  367. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  368. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  369. package/min/persisters/with-schemas/index.js +1 -1
  370. package/min/persisters/with-schemas/index.js.gz +0 -0
  371. package/min/queries/index.js +1 -1
  372. package/min/queries/index.js.gz +0 -0
  373. package/min/queries/with-schemas/index.js +1 -1
  374. package/min/queries/with-schemas/index.js.gz +0 -0
  375. package/min/store/index.js +1 -1
  376. package/min/store/index.js.gz +0 -0
  377. package/min/store/with-schemas/index.js +1 -1
  378. package/min/store/with-schemas/index.js.gz +0 -0
  379. package/min/ui-react-inspector/index.js +1 -1
  380. package/min/ui-react-inspector/index.js.gz +0 -0
  381. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  382. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  383. package/min/with-schemas/index.js +1 -1
  384. package/min/with-schemas/index.js.gz +0 -0
  385. package/package.json +7 -7
  386. package/persisters/index.js +3 -3
  387. package/persisters/persister-automerge/index.js +8 -6
  388. package/persisters/persister-automerge/with-schemas/index.js +8 -6
  389. package/persisters/persister-cr-sqlite-wasm/index.js +3 -3
  390. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +3 -3
  391. package/persisters/persister-electric-sql/index.js +3 -3
  392. package/persisters/persister-electric-sql/with-schemas/index.js +3 -3
  393. package/persisters/persister-expo-sqlite/index.js +3 -3
  394. package/persisters/persister-expo-sqlite/with-schemas/index.js +3 -3
  395. package/persisters/persister-libsql/index.js +3 -3
  396. package/persisters/persister-libsql/with-schemas/index.js +3 -3
  397. package/persisters/persister-pglite/index.js +3 -3
  398. package/persisters/persister-pglite/with-schemas/index.js +3 -3
  399. package/persisters/persister-postgres/index.js +3 -3
  400. package/persisters/persister-postgres/with-schemas/index.js +3 -3
  401. package/persisters/persister-powersync/index.js +3 -3
  402. package/persisters/persister-powersync/with-schemas/index.js +3 -3
  403. package/persisters/persister-sqlite-wasm/index.js +3 -3
  404. package/persisters/persister-sqlite-wasm/with-schemas/index.js +3 -3
  405. package/persisters/persister-sqlite3/index.js +3 -3
  406. package/persisters/persister-sqlite3/with-schemas/index.js +3 -3
  407. package/persisters/persister-yjs/index.js +7 -5
  408. package/persisters/persister-yjs/with-schemas/index.js +7 -5
  409. package/persisters/with-schemas/index.js +3 -3
  410. package/queries/index.js +4 -1
  411. package/queries/with-schemas/index.js +4 -1
  412. package/readme.md +2 -2
  413. package/store/index.js +14 -9
  414. package/store/with-schemas/index.js +14 -9
  415. package/tools/index.js +4 -4
  416. package/tools/with-schemas/index.js +4 -4
  417. package/ui-react-inspector/index.js +11 -9
  418. package/ui-react-inspector/with-schemas/index.js +11 -9
  419. package/umd/es6/index.js +13 -11
  420. package/umd/es6/mergeable-store/index.js +12 -10
  421. package/umd/es6/mergeable-store/with-schemas/index.js +12 -10
  422. package/umd/es6/min/index.js +1 -1
  423. package/umd/es6/min/index.js.gz +0 -0
  424. package/umd/es6/min/mergeable-store/index.js +1 -1
  425. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  426. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  427. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  428. package/umd/es6/min/persisters/index.js +1 -1
  429. package/umd/es6/min/persisters/index.js.gz +0 -0
  430. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  431. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  432. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  433. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  434. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  435. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  436. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  437. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  438. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  439. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  440. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  441. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  442. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  443. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  444. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  445. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  446. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  447. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  448. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  449. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  450. package/umd/es6/min/persisters/persister-pglite/index.js +1 -1
  451. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  452. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  453. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  454. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  455. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  456. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  457. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  458. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  459. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  460. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  461. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  462. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  463. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  464. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  465. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  466. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  467. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  468. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  469. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  470. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  471. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  472. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  473. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  474. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  475. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  476. package/umd/es6/min/queries/index.js +1 -1
  477. package/umd/es6/min/queries/index.js.gz +0 -0
  478. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  479. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  480. package/umd/es6/min/store/index.js +1 -1
  481. package/umd/es6/min/store/index.js.gz +0 -0
  482. package/umd/es6/min/store/with-schemas/index.js +1 -1
  483. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  484. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  485. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  486. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  487. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  488. package/umd/es6/min/with-schemas/index.js +1 -1
  489. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  490. package/umd/es6/persisters/index.js +3 -3
  491. package/umd/es6/persisters/persister-automerge/index.js +8 -6
  492. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +8 -6
  493. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +3 -3
  494. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +3 -3
  495. package/umd/es6/persisters/persister-electric-sql/index.js +3 -3
  496. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +3 -3
  497. package/umd/es6/persisters/persister-expo-sqlite/index.js +3 -3
  498. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +3 -3
  499. package/umd/es6/persisters/persister-libsql/index.js +3 -3
  500. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +3 -3
  501. package/umd/es6/persisters/persister-pglite/index.js +3 -3
  502. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +3 -3
  503. package/umd/es6/persisters/persister-postgres/index.js +3 -3
  504. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +3 -3
  505. package/umd/es6/persisters/persister-powersync/index.js +3 -3
  506. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +3 -3
  507. package/umd/es6/persisters/persister-sqlite-wasm/index.js +3 -3
  508. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +3 -3
  509. package/umd/es6/persisters/persister-sqlite3/index.js +3 -3
  510. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +3 -3
  511. package/umd/es6/persisters/persister-yjs/index.js +7 -5
  512. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +7 -5
  513. package/umd/es6/persisters/with-schemas/index.js +3 -3
  514. package/umd/es6/queries/index.js +4 -1
  515. package/umd/es6/queries/with-schemas/index.js +4 -1
  516. package/umd/es6/store/index.js +14 -9
  517. package/umd/es6/store/with-schemas/index.js +14 -9
  518. package/umd/es6/tools/index.js +4 -4
  519. package/umd/es6/tools/with-schemas/index.js +4 -4
  520. package/umd/es6/ui-react-inspector/index.js +11 -9
  521. package/umd/es6/ui-react-inspector/with-schemas/index.js +11 -9
  522. package/umd/es6/with-schemas/index.js +13 -11
  523. package/umd/index.js +13 -11
  524. package/umd/mergeable-store/index.js +12 -10
  525. package/umd/mergeable-store/with-schemas/index.js +12 -10
  526. package/umd/min/index.js +1 -1
  527. package/umd/min/index.js.gz +0 -0
  528. package/umd/min/mergeable-store/index.js +1 -1
  529. package/umd/min/mergeable-store/index.js.gz +0 -0
  530. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  531. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  532. package/umd/min/persisters/index.js +1 -1
  533. package/umd/min/persisters/index.js.gz +0 -0
  534. package/umd/min/persisters/persister-automerge/index.js +1 -1
  535. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  536. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  537. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  538. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  539. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  540. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  541. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  542. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  543. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  544. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  545. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  546. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  547. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  548. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  549. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  550. package/umd/min/persisters/persister-libsql/index.js +1 -1
  551. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  552. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  553. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  554. package/umd/min/persisters/persister-pglite/index.js +1 -1
  555. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  556. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  557. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  558. package/umd/min/persisters/persister-postgres/index.js +1 -1
  559. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  560. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  561. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  562. package/umd/min/persisters/persister-powersync/index.js +1 -1
  563. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  564. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  565. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  566. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  567. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  568. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  569. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  570. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  571. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  572. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  573. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  574. package/umd/min/persisters/persister-yjs/index.js +1 -1
  575. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  576. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  577. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  578. package/umd/min/persisters/with-schemas/index.js +1 -1
  579. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  580. package/umd/min/queries/index.js +1 -1
  581. package/umd/min/queries/index.js.gz +0 -0
  582. package/umd/min/queries/with-schemas/index.js +1 -1
  583. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  584. package/umd/min/store/index.js +1 -1
  585. package/umd/min/store/index.js.gz +0 -0
  586. package/umd/min/store/with-schemas/index.js +1 -1
  587. package/umd/min/store/with-schemas/index.js.gz +0 -0
  588. package/umd/min/ui-react-inspector/index.js +1 -1
  589. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  590. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  591. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  592. package/umd/min/with-schemas/index.js +1 -1
  593. package/umd/min/with-schemas/index.js.gz +0 -0
  594. package/umd/persisters/index.js +3 -3
  595. package/umd/persisters/persister-automerge/index.js +8 -6
  596. package/umd/persisters/persister-automerge/with-schemas/index.js +8 -6
  597. package/umd/persisters/persister-cr-sqlite-wasm/index.js +3 -3
  598. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +3 -3
  599. package/umd/persisters/persister-electric-sql/index.js +3 -3
  600. package/umd/persisters/persister-electric-sql/with-schemas/index.js +3 -3
  601. package/umd/persisters/persister-expo-sqlite/index.js +3 -3
  602. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +3 -3
  603. package/umd/persisters/persister-libsql/index.js +3 -3
  604. package/umd/persisters/persister-libsql/with-schemas/index.js +3 -3
  605. package/umd/persisters/persister-pglite/index.js +3 -3
  606. package/umd/persisters/persister-pglite/with-schemas/index.js +3 -3
  607. package/umd/persisters/persister-postgres/index.js +3 -3
  608. package/umd/persisters/persister-postgres/with-schemas/index.js +3 -3
  609. package/umd/persisters/persister-powersync/index.js +3 -3
  610. package/umd/persisters/persister-powersync/with-schemas/index.js +3 -3
  611. package/umd/persisters/persister-sqlite-wasm/index.js +3 -3
  612. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +3 -3
  613. package/umd/persisters/persister-sqlite3/index.js +3 -3
  614. package/umd/persisters/persister-sqlite3/with-schemas/index.js +3 -3
  615. package/umd/persisters/persister-yjs/index.js +7 -5
  616. package/umd/persisters/persister-yjs/with-schemas/index.js +7 -5
  617. package/umd/persisters/with-schemas/index.js +3 -3
  618. package/umd/queries/index.js +4 -1
  619. package/umd/queries/with-schemas/index.js +4 -1
  620. package/umd/store/index.js +14 -9
  621. package/umd/store/with-schemas/index.js +14 -9
  622. package/umd/tools/index.js +4 -4
  623. package/umd/tools/with-schemas/index.js +4 -4
  624. package/umd/ui-react-inspector/index.js +11 -9
  625. package/umd/ui-react-inspector/with-schemas/index.js +11 -9
  626. package/umd/with-schemas/index.js +13 -11
  627. package/with-schemas/index.js +13 -11
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",C=b+"Count",f=b+d,T="Cell",v=T+d,V="Value",w=V+"s",p=V+d,I=e=>t+e,y=(e,t)=>e.startsWith(t),R=(e,t)=>e.endsWith(t),M=(e,s=t,a)=>e.split(s,a),S=globalThis,m=Math,L=m.max,H=m.floor,E=isFinite,J=e=>null==e,D=(e,t,s)=>J(e)?s?.():t(e),F=e=>e==s||e==a,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),k=(e,t,s)=>e.reduce(t,s),N=(e,...t)=>e.push(...t),j=Object,U=e=>j.getPrototypeOf(e),_=j.entries,q=j.isFrozen,B=e=>!J(e)&&D(U(e),(e=>e==j.prototype||J(U(e))),(()=>!0)),G=j.keys,K=j.freeze,Q=(e=[])=>j.fromEntries(e),X=(e,t)=>t in e,Y=(e,t)=>(delete e[t],e),Z=(e,t)=>P(_(e),(([e,s])=>t(s,e))),$=(e,t)=>W(_(e),(([e,s])=>t(s,e))),ee=e=>B(e)&&0==(e=>A(G(e)))(e),te=(e,t,s)=>(X(e,t)||(e[t]=s()),e[t]),se=(e,t,s,a=0)=>J(e)||!B(e)||!a&&ee(e)||q(e)?(s?.(),!1):($(e,((s,a)=>{t(s,a)||Y(e,a)})),!!a||!ee(e)),ae=e=>new Set(x(e)||J(e)?e:[e]),le=(e,t)=>e?.add(t),ne=e=>t=>k(ge(t),((t,s)=>t+e(s)),0),re=e=>e?.size??0,oe=ne(re),ce=ne(oe),ie=ne(ce),de=(e,t)=>e?.has(t)??!1,ue=e=>J(e)||0==re(e),ge=e=>[...e?.values()??[]],he=e=>e.clear(),be=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),fe=e=>new Map(e),Te=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Ve=(e,t)=>be(e,((e,s)=>t(s,e))),we=(e,t,s)=>J(s)?(Ce(e,t),e):e?.set(t,s),pe=(e,t,s,a)=>(de(e,t)?a?.(ve(e,t)):we(e,t,s()),ve(e,t)),Ie=(e,t,s,a=we)=>($(t,((t,a)=>s(e,a,t))),Ve(e,(s=>X(t,s)?0:a(e,s))),e),ye=(e,t,s,a)=>{const l={};return be(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Re=(e,t,s)=>ye(e,(e=>ye(e,t,s)),ue,ee),Me=(e,t,s)=>ye(e,(e=>Re(e,t,s)),ue,ee),Se=(e,t)=>{const s=fe();return be(e,((e,a)=>s.set(a,t?.(e)??e))),s},me=e=>Se(e,Se),Le=e=>Se(e,me),He=(e,t,s,a,l=0)=>D((s?pe:ve)(e,t[l],l>A(t)-2?s:fe),(n=>{if(l>A(t)-2)return a?.(n)&&we(e,t[l]),n;const r=He(n,t,s,a,l+1);return ue(n)&&we(e,t[l]),r})),Ee=new S.TextEncoder,Je=e=>{let t=2166136261;return P(Ee.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},De=([e,t])=>Oe(e,t),Fe=([e,t,s])=>[e,t,s],Oe=(e,t)=>t?[e,t]:[e],xe=(e,t,s)=>[e,t,s],ze=e=>e[2],Ae=(e,t)=>Je(e+":"+t),Pe=(e,t)=>t>e?(e?Je(e):0)^Je(t):0,We=(e,t)=>((e??"")>(t??"")?e:t)??"",ke=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Ne=(e=t)=>Oe(Q(),e),je=(e=t)=>[fe(),e,0],Ue=([e,t,s],a=Fe)=>[ye(e,a),t,s],_e=([e,t],s=De)=>Oe(ye(e,s),t),qe=(t,a)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==l&&E(t[2])&&a(t[0]);var n},Be=/^\d+$/,Ge=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Be.test(t)&&A(e)<1e3&&N(e,t)}]},Ke=e=>[e,e],Qe=(e,t=oe)=>t(e[0])+t(e[1]),Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,$e=t=>{const s=e(t);return F(s)||s==l&&E(t)?s:void 0},et=e=>J(e)||!J($e(e)),tt=(e,t,s,a,l)=>J(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),st=(e,t,s)=>J(s)?e.delValue(t):e.setValue(t,s),at=JSON.stringify,lt=JSON.parse,nt=e=>at(e,((e,t)=>t instanceof Map?j.fromEntries([...t]):t)),rt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=fe(W(rt,((e,t)=>[e,t]))),ct=e=>rt[63&e],it=(e,t)=>ve(ot,e[t])??0,dt=S.crypto?e=>S.crypto.getRandomValues(e):e=>W(e,(()=>H(256*m.random()))),ut=(e,t,s)=>we(e,t,ve(e,t)==-s?void 0:s),gt=()=>{let e,s,a=!1,n=!1,d=0,y=[];const R=fe(),M=fe(),S=fe(),m=fe(),L=fe(),H=fe(),E=fe(),k=fe(),j=fe(),U=fe(),_=fe(),q=fe(),B=fe(),G=fe(),Q=ae(),Z=fe(),te=fe(),ne=fe(),ge=fe(),Ee=Xe(),Je=Xe(),De=Xe(),Fe=Xe(),Oe=Xe(),xe=Xe(),ze=Xe(),Ae=Xe(),Pe=Xe(),We=Xe(),ke=Xe(),Ne=Xe(),je=Xe(),Ue=Xe(),_e=Xe(),qe=Xe(),Be=Xe(),et=Xe(),at=Xe(),rt=Xe(),ot=Xe(),ct=Xe(),it=fe(),dt=Xe(),[ht,bt,Ct,ft]=(()=>{let e;const[s,a]=Ge(),l=fe();return[(a,n,r,o=[],c=()=>[])=>{e??=zs;const i=s(1);return we(l,i,[a,n,r,o,c]),le(He(n,r??[t],ae),i),i},(s,a,...n)=>P(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?N(a,e):null===s[t]?be(e,(e=>l(e,t+1))):P([s[t],null],(s=>l(ve(e,s),t+1)));return l(e,0),a})(s,a),(t=>be(t,(t=>ve(l,t)[0](e,...a??[],...n))))),e=>D(ve(l,e),(([,s,n])=>(He(s,n??[t],void 0,(t=>(Ce(t,e),ue(t)?1:0))),we(l,e),a(e),n))),t=>D(ve(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):J(s[o])?P(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),Tt=e=>{if(!se(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||($e(e[o])!=t&&Y(e,o),0))},vt=x,Vt=(t,s)=>(!e||de(_,s)||Kt(s))&&se(t,((e,t)=>wt(s,t,e)),(()=>Kt(s))),wt=(e,t,s,a)=>se(a?s:Rt(s,e,t),((a,l)=>D(pt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),pt=(t,s,a,l)=>e?D(ve(ve(_,t),a),(e=>$e(l)!=e[r]?Kt(t,s,a,l,e[o]):l),(()=>Kt(t,s,a,l))):J($e(l))?Kt(t,s,a,l):l,It=(e,t)=>se(t?e:Mt(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),yt=(e,t)=>s?D(ve(B,e),(s=>$e(t)!=s[r]?Qt(e,t,s[o]):t),(()=>Qt(e,t))):J($e(t))?Qt(e,t):t,Rt=(e,t,s)=>(D(ve(q,t),(([a,l])=>{be(a,((t,s)=>{X(e,s)||(e[s]=t)})),be(l,(a=>{X(e,a)||Kt(t,s,a)}))})),e),Mt=e=>(s&&(be(G,((t,s)=>{X(e,s)||(e[s]=t)})),be(Q,(t=>{X(e,t)||Qt(t)}))),e),St=e=>Ie(_,e,((e,t,s)=>{const a=fe(),l=ae();Ie(pe(_,t,fe),s,((e,t,s)=>{we(e,t,s),D(s[o],(e=>we(a,t,e)),(()=>le(l,t)))})),we(q,t,[a,l])}),((e,t)=>{we(_,t),we(q,t)})),mt=e=>Ie(B,e,((e,t,s)=>{we(B,t,s),D(s[o],(e=>we(G,t,e)),(()=>le(Q,t)))}),((e,t)=>{we(B,t),we(G,t),Ce(Q,t)})),Lt=e=>ee(e)?ms():Is(e),Ht=e=>Ie(ne,e,((e,t,s)=>Et(t,s)),((e,t)=>Pt(t))),Et=(e,t)=>Ie(pe(ne,e,(()=>(jt(e,1),we(Z,e,Ge()),we(te,e,fe()),fe()))),t,((t,s,a)=>Jt(e,t,s,a)),((t,s)=>Wt(e,t,s))),Jt=(e,t,s,a,l)=>Ie(pe(t,s,(()=>(Ut(e,s,1),fe()))),a,((t,a,l)=>Dt(e,s,t,a,l)),((a,n)=>kt(e,t,s,a,n,l))),Dt=(e,t,s,a,l)=>{de(s,a)||_t(e,t,a,1);const n=ve(s,a);l!==n&&(qt(e,t,a,n,l),we(s,a,l))},Ft=(e,t,s,a,l)=>D(ve(t,s),(t=>Dt(e,s,t,a,l)),(()=>Jt(e,t,s,Rt({[a]:l},e,s)))),Ot=e=>ee(e)?Es():ys(e),xt=e=>Ie(ge,e,((e,t,s)=>zt(t,s)),((e,t)=>Nt(t))),zt=(e,t)=>{de(ge,e)||Bt(e,1);const s=ve(ge,e);t!==s&&(Gt(e,s,t),we(ge,e,t))},At=e=>ve(ne,e)??Et(e,{}),Pt=e=>Et(e,{}),Wt=(e,t,s)=>{const[,a]=ve(Z,e);a(s),Jt(e,t,s,{},!0)},kt=(e,t,s,a,l,n)=>{const r=ve(ve(q,e)?.[0],l);if(!J(r)&&!n)return Dt(e,s,a,l,r);const o=t=>{qt(e,s,t,ve(a,t)),_t(e,s,t,-1),we(a,t)};J(r)?o(l):Ve(a,o),ue(a)&&(Ut(e,s,-1),ue(we(t,s))&&(jt(e,-1),we(ne,e),we(Z,e),we(te,e)))},Nt=e=>{const t=ve(G,e);if(!J(t))return zt(e,t);Gt(e,ve(ge,e)),Bt(e,-1),we(ge,e)},jt=(e,t)=>ut(R,e,t),Ut=(e,t,s)=>ut(pe(m,e,fe),t,s)&&we(S,e,pe(S,e,(()=>0))+s),_t=(e,t,s,a)=>{const l=ve(te,e),n=ve(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ut(pe(M,e,fe),s,a),we(l,s,n!=-a?n+a:null),ut(pe(pe(L,e,fe),t,fe),s,a)},qt=(e,t,s,a,l)=>{pe(pe(pe(H,e,fe),t,fe),s,(()=>[a,0]))[1]=l,y[3]?.(e,t,s,l)},Bt=(e,t)=>ut(E,e,t),Gt=(e,t,s)=>{pe(k,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},Kt=(e,t,s,a,l)=>(N(pe(pe(pe(j,e,fe),t,fe),s,(()=>[])),a),l),Qt=(e,t,s)=>(N(pe(U,e,(()=>[])),t),s),Xt=(e,t,s)=>D(ve(ve(ve(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(us(e,t,s))])),Yt=e=>D(ve(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(bs(e))])),Zt=e=>ue(j)||ue(qe[e])?0:be(e?Le(j):j,((t,s)=>be(t,((t,a)=>be(t,((t,l)=>bt(qe[e],[s,a,l],t))))))),$t=e=>ue(U)||ue(Be[e])?0:be(e?Se(U):U,((t,s)=>bt(Be[e],[s],t))),es=(e,t,s,a)=>{if(!ue(e))return bt(t,a,(()=>ye(e))),Ve(e,((e,t)=>bt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Cs();t!=a&&bt(Ee[e],void 0,t);const s=ue(We[e]),l=ue(je[e])&&ue(Ue[e])&&ue(Pe[e])&&ue(ke[e])&&ue(xe[e])&&ue(ze[e])&&ue(Ae[e])&&s&&ue(De[e])&&ue(Fe[e]),n=ue(_e[e])&&ue(Ne[e])&&ue(Oe[e])&&ue(Je[e]);if(!l||!n){const t=e?[Se(R),me(M),Se(S),me(m),Le(L),Le(H)]:[R,M,S,m,L,H];if(!l){es(t[0],De[e],Fe[e]),be(t[1],((t,s)=>es(t,xe[e],ze[e],[s]))),be(t[2],((t,s)=>{0!=t&&bt(Ae[e],[s],os(s))}));const a=ae();be(t[3],((t,l)=>{es(t,Pe[e],ke[e],[l])&&!s&&(bt(We[e],[l,null]),le(a,l))})),s||be(t[5],((t,s)=>{if(!de(a,s)){const a=ae();be(t,(e=>be(e,(([t,s],l)=>s!==t?le(a,l):Ce(e,l))))),be(a,(t=>bt(We[e],[s,t])))}})),be(t[4],((t,s)=>be(t,((t,a)=>es(t,je[e],Ue[e],[s,a])))))}if(!n){let s;be(t[5],((t,a)=>{let l;be(t,((t,n)=>{let r;be(t,(([t,o],c)=>{o!==t&&(bt(_e[e],[a,n,c],o,t,Xt),s=l=r=1)})),r&&bt(Ne[e],[a,n],Xt)})),l&&bt(Oe[e],[a],Xt)})),s&&bt(Je[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&&bt(et[e],void 0,t);const s=ue(rt[e])&&ue(ot[e]),a=ue(ct[e])&&ue(at[e]);if(!s||!a){const t=e?[Se(E),Se(k)]:[E,k];if(s||es(t[0],rt[e],ot[e]),!a){let s;be(t[1],(([t,a],l)=>{a!==t&&(bt(ct[e],[l],a,t,Yt),s=1)})),s&&bt(at[e],void 0,Yt)}}},as=(e,...t)=>(Fs((()=>e(...W(t,I)))),zs),ls=()=>Me(ne),ns=()=>Te(ne),rs=e=>Te(ve(te,I(e))),os=e=>re(ve(ne,I(e))),cs=e=>Te(ve(ne,I(e))),is=(e,t,s,a=0,l)=>{return W(z((r=ve(ne,I(e)),o=(e,s)=>[J(t)?s:ve(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),W([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,J(l)?l:a+l),(([,e])=>e));var n,r,o},ds=(e,t)=>Te(ve(ve(ne,I(e)),I(t))),us=(e,t,s)=>ve(ve(ve(ne,I(e)),I(t)),I(s)),gs=()=>ye(ge),hs=()=>Te(ge),bs=e=>ve(ge,I(e)),Cs=()=>!ue(ne),fs=e=>de(ne,I(e)),Ts=(e,t)=>de(ve(te,I(e)),I(t)),vs=(e,t)=>de(ve(ne,I(e)),I(t)),Vs=(e,t,s)=>de(ve(ve(ne,I(e)),I(t)),I(s)),ws=()=>!ue(ge),ps=e=>de(ge,I(e)),Is=e=>as((()=>(e=>se(e,Vt,Kt))(e)?Ht(e):0)),ys=e=>as((()=>It(e)?xt(e):0)),Rs=e=>{try{Lt(lt(e))}catch{}return zs},Ms=t=>as((()=>{if((e=se(t,(e=>se(e,Tt))))&&(St(t),!ue(ne))){const e=ls();ms(),Is(e)}})),Ss=e=>as((()=>{if(s=(e=>se(e,Tt))(e)){const t=gs();Ds(),Es(),s=!0,mt(e),ys(t)}})),ms=()=>as((()=>Ht({}))),Ls=e=>as((e=>de(ne,e)?Pt(e):0),e),Hs=(e,t)=>as(((e,t)=>D(ve(ne,e),(s=>de(s,t)?Wt(e,s,t):0))),e,t),Es=()=>as((()=>xt({}))),Js=()=>as((()=>{St({}),e=!1})),Ds=()=>as((()=>{mt({}),s=!1})),Fs=(e,t)=>{if(-1!=d){Os();const s=e();return xs(t),s}},Os=()=>(-1!=d&&d++,1==d&&(y[0]?.(),bt(it)),zs),xs=e=>(d>0&&(d--,0==d&&(d=1,Zt(1),ue(H)||ts(1),$t(1),ue(k)||ss(1),e?.(zs)&&(be(H,((e,t)=>be(e,((e,s)=>be(e,(([e],a)=>tt(zs,t,s,a,e))))))),he(H),be(k,(([e],t)=>st(zs,t,e))),he(k)),bt(dt[0],void 0),d=-1,Zt(0),ue(H)||ts(0),$t(0),ue(k)||ss(0),y[1]?.(),bt(dt[1],void 0),y[2]?.(),d=0,a=Cs(),n=ws(),P([R,M,S,m,L,H,j,E,k,U],he))),zs),zs={getContent:()=>[ls(),gs()],getTables:ls,getTableIds:ns,getTable:e=>Re(ve(ne,I(e))),getTableCellIds:rs,getRowCount:os,getRowIds:cs,getSortedRowIds:is,getRow:(e,t)=>ye(ve(ve(ne,I(e)),I(t))),getCellIds:ds,getCell:us,getValues:gs,getValueIds:hs,getValue:bs,hasTables:Cs,hasTable:fs,hasTableCell:Ts,hasRow:vs,hasCell:Vs,hasValues:ws,hasValue:ps,getTablesJson:()=>nt(ne),getValuesJson:()=>nt(ge),getJson:()=>nt([ne,ge]),getTablesSchemaJson:()=>nt(_),getValuesSchemaJson:()=>nt(B),getSchemaJson:()=>nt([_,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=O(e)?e():e;vt(t)&&(([e,t])=>{(ee(e)?ms:Is)(e),(ee(t)?Es:ys)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Jt(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let a;return wt(e,a,t)&&(e=I(e),Jt(e,At(e),a=((e,t)=>{const[s]=ve(Z,e);let a;do{a=s(t)}while(de(ve(ne,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=At(e);$(s,((s,l)=>Ft(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>D(pt(e,t,s,O(a)?a(us(e,t,s)):a),(a=>Ft(e,At(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>as((()=>It(e,1)?$(e,((e,t)=>zt(t,e))):0)),setValue:(e,t)=>as((e=>D(yt(e,O(t)?t(bs(e)):t),(t=>zt(e,t)))),e),applyChanges:e=>as((()=>{$(e[0],((e,t)=>J(e)?Ls(t):$(e,((e,s)=>J(e)?Hs(t,s):$(e,((e,a)=>tt(zs,t,s,a,e))))))),$(e[1],((e,t)=>st(zs,t,e)))})),setTablesJson:Rs,setValuesJson:e=>{try{Ot(lt(e))}catch{}return zs},setJson:e=>as((()=>{try{const[t,s]=lt(e);Lt(t),Ot(s)}catch{Rs(e)}})),setTablesSchema:Ms,setValuesSchema:Ss,setSchema:(e,t)=>as((()=>{Ms(e),Ss(t)})),delTables:ms,delTable:Ls,delRow:Hs,delCell:(e,t,s,a)=>as(((e,t,s)=>D(ve(ne,e),(l=>D(ve(l,t),(n=>de(n,s)?kt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>as((e=>de(ge,e)?Nt(e):0),e),delTablesSchema:Js,delValuesSchema:Ds,delSchema:()=>as((()=>{Js(),Ds()})),transaction:Fs,startTransaction:Os,getTransactionChanges:()=>[ye(H,((e,t)=>-1===ve(R,t)?void 0:ye(e,((e,s)=>-1===ve(ve(m,t),s)?void 0:ye(e,(([,e])=>e),(e=>Ze(e)))),ue,ee)),ue,ee),ye(k,(([,e])=>e),(e=>Ze(e))),1],getTransactionLog:()=>[!ue(H),!ue(k),Me(H,Ye,Ze),Me(j),ye(k,Ye,Ze),ye(U),ye(R),Re(m),Me(L),ye(E)],finishTransaction:xs,forEachTable:e=>be(ne,((t,s)=>e(s,(e=>be(t,((t,s)=>e(s,(e=>Ve(t,e))))))))),forEachTableCell:(e,t)=>Ve(ve(te,I(e)),t),forEachRow:(e,t)=>be(ve(ne,I(e)),((e,s)=>t(s,(t=>Ve(e,t))))),forEachCell:(e,t,s)=>Ve(ve(ve(ne,I(e)),I(t)),s),forEachValue:e=>Ve(ge,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=is(e,t,s,a,l);return ht((()=>{const r=is(e,t,s,a,l);var c,i,d;i=o,A(c=r)===A(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,n(zs,e,t,s,a,l,o))}),We[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>ht(e,it),addWillFinishTransactionListener:e=>ht(e,dt[0]),addDidFinishTransactionListener:e=>ht(e,dt[1]),callListener:e=>(ft(e),zs),delListener:e=>(Ct(e),zs),getListenerStats:()=>({hasTables:Qe(Ee),tables:Qe(Je),tableIds:Qe(De),hasTable:Qe(Fe),table:Qe(Oe),tableCellIds:Qe(xe),hasTableCell:Qe(ze,ce),rowCount:Qe(Ae),rowIds:Qe(Pe),sortedRowIds:Qe(We),hasRow:Qe(ke,ce),row:Qe(Ne,ce),cellIds:Qe(je,ce),hasCell:Qe(Ue,ie),cell:Qe(_e,ie),invalidCell:Qe(qe,ie),hasValues:Qe(et),values:Qe(at),valueIds:Qe(rt),hasValue:Qe(ot),value:Qe(ct),invalidValue:Qe(Be),transaction:oe(it)+Qe(dt)}),isMergeable:()=>!1,createStore:gt,addListener:ht,callListeners:bt,setInternalListeners:(e,t,s,a,l)=>y=[e,t,s,a,l]};return $({[i+g]:[0,Ee,[],()=>[Cs()]],[g]:[0,Je],[h]:[0,De],[i+u]:[1,Fe,[ns],e=>[fs(...e)]],[u]:[1,Oe,[ns]],[u+v]:[1,xe,[ns]],[i+u+T]:[2,ze,[ns,rs],e=>[Ts(...e)]],[C]:[1,Ae,[ns]],[f]:[1,Pe,[ns]],[i+b]:[2,ke,[ns,cs],e=>[vs(...e)]],[b]:[2,Ne,[ns,cs]],[v]:[2,je,[ns,cs]],[i+T]:[3,Ue,[ns,cs,ds],e=>[Vs(...e)]],[T]:[3,_e,[ns,cs,ds],e=>Ke(us(...e))],InvalidCell:[3,qe],[i+w]:[0,et,[],()=>[ws()]],[w]:[0,at],[p]:[0,rt],[i+V]:[1,ot,[hs],e=>[ps(...e)]],[V]:[1,ct,[hs],e=>Ke(bs(e[0]))],InvalidValue:[1,Be]},(([e,t,s,a],l)=>{zs["add"+l+c]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),K(zs)},ht=2**36,bt=2**30,Ct=2**24,ft=2**18,Tt=4096,vt={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},Vt=(e=t)=>[je(e),je(e)],wt=e=>{let s=1,a=Vt(),l=0;const n=fe(),r=ae(),[o,i]=(e=>{let t=0,s=-1;const a=D(e,(e=>{const t=Je(e);return ct(t/Ct)+ct(t/ft)+ct(t/Tt)+ct(t/64)+ct(t)}),(()=>((e=16)=>k(dt(new Uint8Array(e)),((e,t)=>e+ct(t)),""))(5))),l=e=>{const a=t,[l,n]=J(e)||""==e?[0,0]:[it(r=e,0)*ht+it(r,1)*bt+it(r,2)*Ct+it(r,3)*ft+it(r,4)*Tt+64*it(r,5)+it(r,6),it(r,7)*ft+it(r,8)*Tt+64*it(r,9)+it(r,10)];var r;t=L(a,l,S.HLC_TIME??Date.now()),s=t==a?t==l?L(s,n):s:t==l?n:-1};return[()=>{return l(),n=++s,ct((e=t)/ht)+ct(e/bt)+ct(e/Ct)+ct(e/ft)+ct(e/Tt)+ct(e/64)+ct(e)+ct(n/ft)+ct(n/Tt)+ct(n/64)+ct(n)+a;var e,n},l]})(e),d=gt(),u=e=>{const t=s;return s=0,e(),s=t,f},g=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],d]=e,[u,g]=a,[b,C,f]=u;let T=s?c:f,v=o;Z(r,(([e,a=t,n=0],r)=>{const o=pe(b,r,je),[c,i,d]=o;let u=s?n:d,g=a;Z(e,((e,t)=>{const[a,n,o]=h(e,pe(c,t,je),te(te(l,r,Q),t,Q),s);u^=s?0:(n?Ae(t,n):0)^Ae(t,o),g=We(g,a)})),u^=s?0:Pe(i,a),ke(o,a,u),T^=s?0:(d?Ae(r,d):0)^Ae(r,o[2]),v=We(v,g)})),T^=s?0:Pe(C,o),ke(u,o,T);const[V]=h(d,g,n,s);return i(We(v,V)),[l,n,1]},h=(e,s,a,l)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=l?o:d;return Z(n,(([e,s,n=0],r)=>{const o=pe(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(ke(o,s,l?n:Je(nt(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:Ae(r,d)^Ae(r,o[2]),u=We(u,s))})),g^=l?0:Pe(i,r),ke(s,r,g),[u,d,s[2]]},b=()=>[Ue(a[0],(e=>Ue(e,(e=>Ue(e))))),Ue(a[1])],C=e=>u((()=>d.applyChanges(g(e)))),f={getMergeableContent:b,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>ye(a[0][0],ze),getMergeableTableDiff:e=>{const t=Ne(a[0][1]),s={};return Ve(a[0][0],((a,[l,n,r])=>X(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=_e([l,n],(e=>_e(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a,,l])=>l!=e?Ve(a,((e,[,,a])=>te(t,s,Q)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=Ne(a[0][1]),s={};return Z(e,((e,l)=>Ve(ve(a[0][0],l)?.[0],((a,[n,r,o])=>X(e,a)?o!==e[a]?te(s,l,Q)[a]=o:0:te(t[0],l,Ne)[0][a]=_e([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a])=>Z(e,((e,l)=>D(ve(a,l),(([a,,n])=>n!==e?Ve(a,((e,[,,a])=>te(te(t,s,Q),l,Q)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Z(e,((e,s)=>Z(e,((e,a)=>D(ve(t,s),(([t,n])=>D(ve(t,a),(([t,r])=>Ve(t,((t,[o,c,i])=>i!==e[t]?te(te(l,s,(()=>Ne(n)))[0],a,(()=>Ne(r)))[0][t]=[o,c]:0)))))))))),Oe(l,s)},getMergeableValueHashes:()=>ye(a[1][0],ze),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=ye(t,De,(([,,t],s)=>t==e?.[s]));return Oe(l,s)},setMergeableContent:e=>u((()=>(e=>x(e)&&2==A(e)&&qe(e[0],(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,et)),void 0,1)))),void 0,1)))),void 0,1)))&&qe(e[1],(e=>se(e,(e=>qe(e,et)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),a=Vt(),d.applyChanges(g(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{l=1,d.setContent(e),l=0})),f),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[o,c,i]]=a,d=e?xe:Oe,u={};be(n,((e,s)=>D(ve(t,s),(([t,a,l])=>{const n={};be(e,((e,s)=>D(ve(t,s),(([t,a,l])=>{const r={};be(e,(e=>{D(ve(t,e),(([t,s,a])=>r[e]=d(t,s,a)))})),n[s]=d(r,a,l)})))),u[s]=d(n,a,l)}))));const g={};return be(r,(e=>D(ve(o,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:C,merge:e=>{const t=b(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{he(n),he(r)}),((e,a,r,c)=>{le(pe(pe(n,e,fe),a,ae),r),s&&g([[{[e]:[{[a]:[{[r]:[c,l?t:o()]}]}]}],[{}],1])}),((e,a)=>{le(r,e),s&&g([[{}],[{[e]:[a,l?t:o()]}],1])})),$(d,((e,t)=>f[t]=y(t,"set")||y(t,"del")||y(t,"apply")||R(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),f):y(t,"add")&&R(t,c)?(...s)=>{const a=vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(f,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),K(f)};export{wt as createMergeableStore};
1
+ const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",C=b+"Count",f=b+d,T="Cell",v=T+d,V="Value",w=V+"s",p=V+d,I=e=>t+e,y=(e,t)=>e.startsWith(t),R=(e,t)=>e.endsWith(t),M=(e,s=t,a)=>e.split(s,a),S=globalThis,m=Math,L=m.max,H=m.floor,E=isFinite,J=e=>null==e,D=(e,t,s)=>J(e)?s?.():t(e),F=e=>e==s||e==a,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),k=(e,t,s)=>e.reduce(t,s),N=(e,...t)=>e.push(...t),j=Object,U=e=>j.getPrototypeOf(e),_=j.entries,q=j.isFrozen,B=e=>!J(e)&&D(U(e),(e=>e==j.prototype||J(U(e))),(()=>!0)),G=j.keys,K=j.freeze,Q=(e=[])=>j.fromEntries(e),X=(e,t)=>t in e,Y=(e,t)=>(delete e[t],e),Z=(e,t)=>P(_(e),(([e,s])=>t(s,e))),$=(e,t)=>Q(((e,t)=>W(_(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ee=e=>B(e)&&0==(e=>A(G(e)))(e),te=(e,t,s)=>(X(e,t)||(e[t]=s()),e[t]),se=(e,t,s,a=0)=>J(e)||!B(e)||!a&&ee(e)||q(e)?(s?.(),!1):(Z(e,((s,a)=>{t(s,a)||Y(e,a)})),!!a||!ee(e)),ae=e=>new Set(x(e)||J(e)?e:[e]),le=(e,t)=>e?.add(t),ne=e=>t=>k(ge(t),((t,s)=>t+e(s)),0),re=e=>e?.size??0,oe=ne(re),ce=ne(oe),ie=ne(ce),de=(e,t)=>e?.has(t)??!1,ue=e=>J(e)||0==re(e),ge=e=>[...e?.values()??[]],he=e=>e.clear(),be=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),fe=e=>new Map(e),Te=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Ve=(e,t)=>be(e,((e,s)=>t(s,e))),we=(e,t,s)=>J(s)?(Ce(e,t),e):e?.set(t,s),pe=(e,t,s,a)=>(de(e,t)?a?.(ve(e,t)):we(e,t,s()),ve(e,t)),Ie=(e,t,s,a=we)=>($(t,((t,a)=>s(e,a,t))),Ve(e,(s=>X(t,s)?0:a(e,s))),e),ye=(e,t,s,a)=>{const l={};return be(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Re=(e,t,s)=>ye(e,(e=>ye(e,t,s)),ue,ee),Me=(e,t,s)=>ye(e,(e=>Re(e,t,s)),ue,ee),Se=(e,t)=>{const s=fe();return be(e,((e,a)=>s.set(a,t?.(e)??e))),s},me=e=>Se(e,Se),Le=e=>Se(e,me),He=(e,t,s,a,l=0)=>D((s?pe:ve)(e,t[l],l>A(t)-2?s:fe),(n=>{if(l>A(t)-2)return a?.(n)&&we(e,t[l]),n;const r=He(n,t,s,a,l+1);return ue(n)&&we(e,t[l]),r})),Ee=new S.TextEncoder,Je=e=>{let t=2166136261;return P(Ee.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},De=([e,t])=>Oe(e,t),Fe=([e,t,s])=>[e,t,s],Oe=(e,t)=>t?[e,t]:[e],xe=(e,t,s)=>[e,t,s],ze=e=>e[2],Ae=(e,t)=>Je(e+":"+t),Pe=(e,t)=>t>e?(e?Je(e):0)^Je(t):0,We=(e,t)=>((e??"")>(t??"")?e:t)??"",ke=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Ne=(e=t)=>Oe(Q(),e),je=(e=t)=>[fe(),e,0],Ue=([e,t,s],a=Fe)=>[ye(e,a),t,s],_e=([e,t],s=De)=>Oe(ye(e,s),t),qe=(t,a)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==l&&E(t[2])&&a(t[0]);var n},Be=/^\d+$/,Ge=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Be.test(t)&&A(e)<1e3&&N(e,t)}]},Ke=e=>[e,e],Qe=(e,t=oe)=>t(e[0])+t(e[1]),Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,$e=t=>{const s=e(t);return F(s)||s==l&&E(t)?s:void 0},et=e=>J(e)||!J($e(e)),tt=(e,t,s,a,l)=>J(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),st=(e,t,s)=>J(s)?e.delValue(t):e.setValue(t,s),at=JSON.stringify,lt=JSON.parse,nt=e=>at(e,((e,t)=>t instanceof Map?j.fromEntries([...t]):t)),rt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=fe(W(rt,((e,t)=>[e,t]))),ct=e=>rt[63&e],it=(e,t)=>ve(ot,e[t])??0,dt=S.crypto?e=>S.crypto.getRandomValues(e):e=>W(e,(()=>H(256*m.random()))),ut=(e,t,s)=>we(e,t,ve(e,t)==-s?void 0:s),gt=()=>{let e,s,a=!1,n=!1,d=0,y=[];const R=fe(),M=fe(),S=fe(),m=fe(),L=fe(),H=fe(),E=fe(),k=fe(),j=fe(),U=fe(),_=fe(),q=fe(),B=fe(),G=fe(),Q=ae(),Z=fe(),te=fe(),ne=fe(),ge=fe(),Ee=Xe(),Je=Xe(),De=Xe(),Fe=Xe(),Oe=Xe(),xe=Xe(),ze=Xe(),Ae=Xe(),Pe=Xe(),We=Xe(),ke=Xe(),Ne=Xe(),je=Xe(),Ue=Xe(),_e=Xe(),qe=Xe(),Be=Xe(),et=Xe(),at=Xe(),rt=Xe(),ot=Xe(),ct=Xe(),it=fe(),dt=Xe(),[ht,bt,Ct,ft]=(()=>{let e;const[s,a]=Ge(),l=fe();return[(a,n,r,o=[],c=()=>[])=>{e??=zs;const i=s(1);return we(l,i,[a,n,r,o,c]),le(He(n,r??[t],ae),i),i},(s,a,...n)=>P(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?N(a,e):null===s[t]?be(e,(e=>l(e,t+1))):P([s[t],null],(s=>l(ve(e,s),t+1)));return l(e,0),a})(s,a),(t=>be(t,(t=>ve(l,t)[0](e,...a??[],...n))))),e=>D(ve(l,e),(([,s,n])=>(He(s,n??[t],void 0,(t=>(Ce(t,e),ue(t)?1:0))),we(l,e),a(e),n))),t=>D(ve(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):J(s[o])?P(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),Tt=e=>{if(!se(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||($e(e[o])!=t&&Y(e,o),0))},vt=x,Vt=(t,s)=>(!e||de(_,s)||Kt(s))&&se(t,((e,t)=>wt(s,t,e)),(()=>Kt(s))),wt=(e,t,s,a)=>se(a?s:Rt(s,e,t),((a,l)=>D(pt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),pt=(t,s,a,l)=>e?D(ve(ve(_,t),a),(e=>$e(l)!=e[r]?Kt(t,s,a,l,e[o]):l),(()=>Kt(t,s,a,l))):J($e(l))?Kt(t,s,a,l):l,It=(e,t)=>se(t?e:Mt(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),yt=(e,t)=>s?D(ve(B,e),(s=>$e(t)!=s[r]?Qt(e,t,s[o]):t),(()=>Qt(e,t))):J($e(t))?Qt(e,t):t,Rt=(e,t,s)=>(D(ve(q,t),(([a,l])=>{be(a,((t,s)=>{X(e,s)||(e[s]=t)})),be(l,(a=>{X(e,a)||Kt(t,s,a)}))})),e),Mt=e=>(s&&(be(G,((t,s)=>{X(e,s)||(e[s]=t)})),be(Q,(t=>{X(e,t)||Qt(t)}))),e),St=e=>Ie(_,e,((e,t,s)=>{const a=fe(),l=ae();Ie(pe(_,t,fe),s,((e,t,s)=>{we(e,t,s),D(s[o],(e=>we(a,t,e)),(()=>le(l,t)))})),we(q,t,[a,l])}),((e,t)=>{we(_,t),we(q,t)})),mt=e=>Ie(B,e,((e,t,s)=>{we(B,t,s),D(s[o],(e=>we(G,t,e)),(()=>le(Q,t)))}),((e,t)=>{we(B,t),we(G,t),Ce(Q,t)})),Lt=e=>ee(e)?ms():Is(e),Ht=e=>Ie(ne,e,((e,t,s)=>Et(t,s)),((e,t)=>Pt(t))),Et=(e,t)=>Ie(pe(ne,e,(()=>(jt(e,1),we(Z,e,Ge()),we(te,e,fe()),fe()))),t,((t,s,a)=>Jt(e,t,s,a)),((t,s)=>Wt(e,t,s))),Jt=(e,t,s,a,l)=>Ie(pe(t,s,(()=>(Ut(e,s,1),fe()))),a,((t,a,l)=>Dt(e,s,t,a,l)),((a,n)=>kt(e,t,s,a,n,l))),Dt=(e,t,s,a,l)=>{de(s,a)||_t(e,t,a,1);const n=ve(s,a);l!==n&&(qt(e,t,a,n,l),we(s,a,l))},Ft=(e,t,s,a,l)=>D(ve(t,s),(t=>Dt(e,s,t,a,l)),(()=>Jt(e,t,s,Rt({[a]:l},e,s)))),Ot=e=>ee(e)?Es():ys(e),xt=e=>Ie(ge,e,((e,t,s)=>zt(t,s)),((e,t)=>Nt(t))),zt=(e,t)=>{de(ge,e)||Bt(e,1);const s=ve(ge,e);t!==s&&(Gt(e,s,t),we(ge,e,t))},At=e=>ve(ne,e)??Et(e,{}),Pt=e=>Et(e,{}),Wt=(e,t,s)=>{const[,a]=ve(Z,e);a(s),Jt(e,t,s,{},!0)},kt=(e,t,s,a,l,n)=>{const r=ve(ve(q,e)?.[0],l);if(!J(r)&&!n)return Dt(e,s,a,l,r);const o=t=>{qt(e,s,t,ve(a,t)),_t(e,s,t,-1),we(a,t)};J(r)?o(l):Ve(a,o),ue(a)&&(Ut(e,s,-1),ue(we(t,s))&&(jt(e,-1),we(ne,e),we(Z,e),we(te,e)))},Nt=e=>{const t=ve(G,e);if(!J(t))return zt(e,t);Gt(e,ve(ge,e)),Bt(e,-1),we(ge,e)},jt=(e,t)=>ut(R,e,t),Ut=(e,t,s)=>ut(pe(m,e,fe),t,s)&&we(S,e,pe(S,e,(()=>0))+s),_t=(e,t,s,a)=>{const l=ve(te,e),n=ve(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ut(pe(M,e,fe),s,a),we(l,s,n!=-a?n+a:null),ut(pe(pe(L,e,fe),t,fe),s,a)},qt=(e,t,s,a,l)=>{pe(pe(pe(H,e,fe),t,fe),s,(()=>[a,0]))[1]=l,y[3]?.(e,t,s,l)},Bt=(e,t)=>ut(E,e,t),Gt=(e,t,s)=>{pe(k,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},Kt=(e,t,s,a,l)=>(N(pe(pe(pe(j,e,fe),t,fe),s,(()=>[])),a),l),Qt=(e,t,s)=>(N(pe(U,e,(()=>[])),t),s),Xt=(e,t,s)=>D(ve(ve(ve(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(us(e,t,s))])),Yt=e=>D(ve(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(bs(e))])),Zt=e=>ue(j)||ue(qe[e])?0:be(e?Le(j):j,((t,s)=>be(t,((t,a)=>be(t,((t,l)=>bt(qe[e],[s,a,l],t))))))),$t=e=>ue(U)||ue(Be[e])?0:be(e?Se(U):U,((t,s)=>bt(Be[e],[s],t))),es=(e,t,s,a)=>{if(!ue(e))return bt(t,a,(()=>ye(e))),Ve(e,((e,t)=>bt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Cs();t!=a&&bt(Ee[e],void 0,t);const s=ue(We[e]),l=ue(je[e])&&ue(Ue[e])&&ue(Pe[e])&&ue(ke[e])&&ue(xe[e])&&ue(ze[e])&&ue(Ae[e])&&s&&ue(De[e])&&ue(Fe[e]),n=ue(_e[e])&&ue(Ne[e])&&ue(Oe[e])&&ue(Je[e]);if(!l||!n){const t=e?[Se(R),me(M),Se(S),me(m),Le(L),Le(H)]:[R,M,S,m,L,H];if(!l){es(t[0],De[e],Fe[e]),be(t[1],((t,s)=>es(t,xe[e],ze[e],[s]))),be(t[2],((t,s)=>{0!=t&&bt(Ae[e],[s],os(s))}));const a=ae();be(t[3],((t,l)=>{es(t,Pe[e],ke[e],[l])&&!s&&(bt(We[e],[l,null]),le(a,l))})),s||be(t[5],((t,s)=>{if(!de(a,s)){const a=ae();be(t,(e=>be(e,(([t,s],l)=>s!==t?le(a,l):Ce(e,l))))),be(a,(t=>bt(We[e],[s,t])))}})),be(t[4],((t,s)=>be(t,((t,a)=>es(t,je[e],Ue[e],[s,a])))))}if(!n){let s;be(t[5],((t,a)=>{let l;be(t,((t,n)=>{let r;be(t,(([t,o],c)=>{o!==t&&(bt(_e[e],[a,n,c],o,t,Xt),s=l=r=1)})),r&&bt(Ne[e],[a,n],Xt)})),l&&bt(Oe[e],[a],Xt)})),s&&bt(Je[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&&bt(et[e],void 0,t);const s=ue(rt[e])&&ue(ot[e]),a=ue(ct[e])&&ue(at[e]);if(!s||!a){const t=e?[Se(E),Se(k)]:[E,k];if(s||es(t[0],rt[e],ot[e]),!a){let s;be(t[1],(([t,a],l)=>{a!==t&&(bt(ct[e],[l],a,t,Yt),s=1)})),s&&bt(at[e],void 0,Yt)}}},as=(e,...t)=>(Fs((()=>e(...W(t,I)))),zs),ls=()=>Me(ne),ns=()=>Te(ne),rs=e=>Te(ve(te,I(e))),os=e=>re(ve(ne,I(e))),cs=e=>Te(ve(ne,I(e))),is=(e,t,s,a=0,l)=>{return W(z((r=ve(ne,I(e)),o=(e,s)=>[J(t)?s:ve(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),W([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,J(l)?l:a+l),(([,e])=>e));var n,r,o},ds=(e,t)=>Te(ve(ve(ne,I(e)),I(t))),us=(e,t,s)=>ve(ve(ve(ne,I(e)),I(t)),I(s)),gs=()=>ye(ge),hs=()=>Te(ge),bs=e=>ve(ge,I(e)),Cs=()=>!ue(ne),fs=e=>de(ne,I(e)),Ts=(e,t)=>de(ve(te,I(e)),I(t)),vs=(e,t)=>de(ve(ne,I(e)),I(t)),Vs=(e,t,s)=>de(ve(ve(ne,I(e)),I(t)),I(s)),ws=()=>!ue(ge),ps=e=>de(ge,I(e)),Is=e=>as((()=>(e=>se(e,Vt,Kt))(e)?Ht(e):0)),ys=e=>as((()=>It(e)?xt(e):0)),Rs=e=>{try{Lt(lt(e))}catch{}return zs},Ms=t=>as((()=>{if((e=se(t,(e=>se(e,Tt))))&&(St(t),!ue(ne))){const e=ls();ms(),Is(e)}})),Ss=e=>as((()=>{if(s=(e=>se(e,Tt))(e)){const t=gs();Ds(),Es(),s=!0,mt(e),ys(t)}})),ms=()=>as((()=>Ht({}))),Ls=e=>as((e=>de(ne,e)?Pt(e):0),e),Hs=(e,t)=>as(((e,t)=>D(ve(ne,e),(s=>de(s,t)?Wt(e,s,t):0))),e,t),Es=()=>as((()=>xt({}))),Js=()=>as((()=>{St({}),e=!1})),Ds=()=>as((()=>{mt({}),s=!1})),Fs=(e,t)=>{if(-1!=d){Os();const s=e();return xs(t),s}},Os=()=>(-1!=d&&d++,1==d&&(y[0]?.(),bt(it)),zs),xs=e=>(d>0&&(d--,0==d&&(d=1,Zt(1),ue(H)||ts(1),$t(1),ue(k)||ss(1),e?.(zs)&&(be(H,((e,t)=>be(e,((e,s)=>be(e,(([e],a)=>tt(zs,t,s,a,e))))))),he(H),be(k,(([e],t)=>st(zs,t,e))),he(k)),bt(dt[0],void 0),d=-1,Zt(0),ue(H)||ts(0),$t(0),ue(k)||ss(0),y[1]?.(),bt(dt[1],void 0),y[2]?.(),d=0,a=Cs(),n=ws(),P([R,M,S,m,L,H,j,E,k,U],he))),zs),zs={getContent:()=>[ls(),gs()],getTables:ls,getTableIds:ns,getTable:e=>Re(ve(ne,I(e))),getTableCellIds:rs,getRowCount:os,getRowIds:cs,getSortedRowIds:is,getRow:(e,t)=>ye(ve(ve(ne,I(e)),I(t))),getCellIds:ds,getCell:us,getValues:gs,getValueIds:hs,getValue:bs,hasTables:Cs,hasTable:fs,hasTableCell:Ts,hasRow:vs,hasCell:Vs,hasValues:ws,hasValue:ps,getTablesJson:()=>nt(ne),getValuesJson:()=>nt(ge),getJson:()=>nt([ne,ge]),getTablesSchemaJson:()=>nt(_),getValuesSchemaJson:()=>nt(B),getSchemaJson:()=>nt([_,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=O(e)?e():e;vt(t)&&(([e,t])=>{(ee(e)?ms:Is)(e),(ee(t)?Es:ys)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Jt(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let a;return wt(e,a,t)&&(e=I(e),Jt(e,At(e),a=((e,t)=>{const[s]=ve(Z,e);let a;do{a=s(t)}while(de(ve(ne,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=At(e);$(s,((s,l)=>Ft(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>D(pt(e,t,s,O(a)?a(us(e,t,s)):a),(a=>Ft(e,At(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>as((()=>It(e,1)?$(e,((e,t)=>zt(t,e))):0)),setValue:(e,t)=>as((e=>D(yt(e,O(t)?t(bs(e)):t),(t=>zt(e,t)))),e),applyChanges:e=>as((()=>{$(e[0],((e,t)=>J(e)?Ls(t):$(e,((e,s)=>J(e)?Hs(t,s):$(e,((e,a)=>tt(zs,t,s,a,e))))))),$(e[1],((e,t)=>st(zs,t,e)))})),setTablesJson:Rs,setValuesJson:e=>{try{Ot(lt(e))}catch{}return zs},setJson:e=>as((()=>{try{const[t,s]=lt(e);Lt(t),Ot(s)}catch{Rs(e)}})),setTablesSchema:Ms,setValuesSchema:Ss,setSchema:(e,t)=>as((()=>{Ms(e),Ss(t)})),delTables:ms,delTable:Ls,delRow:Hs,delCell:(e,t,s,a)=>as(((e,t,s)=>D(ve(ne,e),(l=>D(ve(l,t),(n=>de(n,s)?kt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>as((e=>de(ge,e)?Nt(e):0),e),delTablesSchema:Js,delValuesSchema:Ds,delSchema:()=>as((()=>{Js(),Ds()})),transaction:Fs,startTransaction:Os,getTransactionChanges:()=>[ye(H,((e,t)=>-1===ve(R,t)?void 0:ye(e,((e,s)=>-1===ve(ve(m,t),s)?void 0:ye(e,(([,e])=>e),(e=>Ze(e)))),ue,ee)),ue,ee),ye(k,(([,e])=>e),(e=>Ze(e))),1],getTransactionLog:()=>[!ue(H),!ue(k),Me(H,Ye,Ze),Me(j),ye(k,Ye,Ze),ye(U),ye(R),Re(m),Me(L),ye(E)],finishTransaction:xs,forEachTable:e=>be(ne,((t,s)=>e(s,(e=>be(t,((t,s)=>e(s,(e=>Ve(t,e))))))))),forEachTableCell:(e,t)=>Ve(ve(te,I(e)),t),forEachRow:(e,t)=>be(ve(ne,I(e)),((e,s)=>t(s,(t=>Ve(e,t))))),forEachCell:(e,t,s)=>Ve(ve(ve(ne,I(e)),I(t)),s),forEachValue:e=>Ve(ge,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=is(e,t,s,a,l);return ht((()=>{const r=is(e,t,s,a,l);var c,i,d;i=o,A(c=r)===A(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,n(zs,e,t,s,a,l,o))}),We[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>ht(e,it),addWillFinishTransactionListener:e=>ht(e,dt[0]),addDidFinishTransactionListener:e=>ht(e,dt[1]),callListener:e=>(ft(e),zs),delListener:e=>(Ct(e),zs),getListenerStats:()=>({hasTables:Qe(Ee),tables:Qe(Je),tableIds:Qe(De),hasTable:Qe(Fe),table:Qe(Oe),tableCellIds:Qe(xe),hasTableCell:Qe(ze,ce),rowCount:Qe(Ae),rowIds:Qe(Pe),sortedRowIds:Qe(We),hasRow:Qe(ke,ce),row:Qe(Ne,ce),cellIds:Qe(je,ce),hasCell:Qe(Ue,ie),cell:Qe(_e,ie),invalidCell:Qe(qe,ie),hasValues:Qe(et),values:Qe(at),valueIds:Qe(rt),hasValue:Qe(ot),value:Qe(ct),invalidValue:Qe(Be),transaction:oe(it)+Qe(dt)}),isMergeable:()=>!1,createStore:gt,addListener:ht,callListeners:bt,setInternalListeners:(e,t,s,a,l)=>y=[e,t,s,a,l]};return $({[i+g]:[0,Ee,[],()=>[Cs()]],[g]:[0,Je],[h]:[0,De],[i+u]:[1,Fe,[ns],e=>[fs(...e)]],[u]:[1,Oe,[ns]],[u+v]:[1,xe,[ns]],[i+u+T]:[2,ze,[ns,rs],e=>[Ts(...e)]],[C]:[1,Ae,[ns]],[f]:[1,Pe,[ns]],[i+b]:[2,ke,[ns,cs],e=>[vs(...e)]],[b]:[2,Ne,[ns,cs]],[v]:[2,je,[ns,cs]],[i+T]:[3,Ue,[ns,cs,ds],e=>[Vs(...e)]],[T]:[3,_e,[ns,cs,ds],e=>Ke(us(...e))],InvalidCell:[3,qe],[i+w]:[0,et,[],()=>[ws()]],[w]:[0,at],[p]:[0,rt],[i+V]:[1,ot,[hs],e=>[ps(...e)]],[V]:[1,ct,[hs],e=>Ke(bs(e[0]))],InvalidValue:[1,Be]},(([e,t,s,a],l)=>{zs["add"+l+c]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),K(zs)},ht=2**36,bt=2**30,Ct=2**24,ft=2**18,Tt=4096,vt={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},Vt=(e=t)=>[je(e),je(e)],wt=e=>{let s=1,a=Vt(),l=0;const n=fe(),r=ae(),[o,i]=(e=>{let t=0,s=-1;const a=D(e,(e=>{const t=Je(e);return ct(t/Ct)+ct(t/ft)+ct(t/Tt)+ct(t/64)+ct(t)}),(()=>((e=16)=>k(dt(new Uint8Array(e)),((e,t)=>e+ct(t)),""))(5))),l=e=>{const a=t,[l,n]=J(e)||""==e?[0,0]:[it(r=e,0)*ht+it(r,1)*bt+it(r,2)*Ct+it(r,3)*ft+it(r,4)*Tt+64*it(r,5)+it(r,6),it(r,7)*ft+it(r,8)*Tt+64*it(r,9)+it(r,10)];var r;t=L(a,l,S.HLC_TIME??Date.now()),s=t==a?t==l?L(s,n):s:t==l?n:-1};return[()=>{return l(),n=++s,ct((e=t)/ht)+ct(e/bt)+ct(e/Ct)+ct(e/ft)+ct(e/Tt)+ct(e/64)+ct(e)+ct(n/ft)+ct(n/Tt)+ct(n/64)+ct(n)+a;var e,n},l]})(e),d=gt(),u=e=>{const t=s;return s=0,e(),s=t,f},g=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],d]=e,[u,g]=a,[b,C,f]=u;let T=s?c:f,v=o;Z(r,(([e,a=t,n=0],r)=>{const o=pe(b,r,je),[c,i,d]=o;let u=s?n:d,g=a;Z(e,((e,t)=>{const[a,n,o]=h(e,pe(c,t,je),te(te(l,r,Q),t,Q),s);u^=s?0:(n?Ae(t,n):0)^Ae(t,o),g=We(g,a)})),u^=s?0:Pe(i,a),ke(o,a,u),T^=s?0:(d?Ae(r,d):0)^Ae(r,o[2]),v=We(v,g)})),T^=s?0:Pe(C,o),ke(u,o,T);const[V]=h(d,g,n,s);return i(We(v,V)),[l,n,1]},h=(e,s,a,l)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=l?o:d;return Z(n,(([e,s,n=0],r)=>{const o=pe(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(ke(o,s,l?n:Je(nt(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:Ae(r,d)^Ae(r,o[2]),u=We(u,s))})),g^=l?0:Pe(i,r),ke(s,r,g),[u,d,s[2]]},b=()=>[Ue(a[0],(e=>Ue(e,(e=>Ue(e))))),Ue(a[1])],C=e=>u((()=>d.applyChanges(g(e)))),f={getMergeableContent:b,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>ye(a[0][0],ze),getMergeableTableDiff:e=>{const t=Ne(a[0][1]),s={};return Ve(a[0][0],((a,[l,n,r])=>X(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=_e([l,n],(e=>_e(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a,,l])=>l!=e?Ve(a,((e,[,,a])=>te(t,s,Q)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=Ne(a[0][1]),s={};return Z(e,((e,l)=>Ve(ve(a[0][0],l)?.[0],((a,[n,r,o])=>X(e,a)?o!==e[a]?te(s,l,Q)[a]=o:0:te(t[0],l,Ne)[0][a]=_e([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a])=>Z(e,((e,l)=>D(ve(a,l),(([a,,n])=>n!==e?Ve(a,((e,[,,a])=>te(te(t,s,Q),l,Q)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Z(e,((e,s)=>Z(e,((e,a)=>D(ve(t,s),(([t,n])=>D(ve(t,a),(([t,r])=>Ve(t,((t,[o,c,i])=>i!==e[t]?te(te(l,s,(()=>Ne(n)))[0],a,(()=>Ne(r)))[0][t]=[o,c]:0)))))))))),Oe(l,s)},getMergeableValueHashes:()=>ye(a[1][0],ze),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=ye(t,De,(([,,t],s)=>t==e?.[s]));return Oe(l,s)},setMergeableContent:e=>u((()=>(e=>x(e)&&2==A(e)&&qe(e[0],(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,et)),void 0,1)))),void 0,1)))),void 0,1)))&&qe(e[1],(e=>se(e,(e=>qe(e,et)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),a=Vt(),d.applyChanges(g(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{l=1,d.setContent(e),l=0})),f),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[o,c,i]]=a,d=e?xe:Oe,u={};be(n,((e,s)=>D(ve(t,s),(([t,a,l])=>{const n={};be(e,((e,s)=>D(ve(t,s),(([t,a,l])=>{const r={};be(e,(e=>{D(ve(t,e),(([t,s,a])=>r[e]=d(t,s,a)))})),n[s]=d(r,a,l)})))),u[s]=d(n,a,l)}))));const g={};return be(r,(e=>D(ve(o,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:C,merge:e=>{const t=b(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{he(n),he(r)}),((e,a,r,c)=>{le(pe(pe(n,e,fe),a,ae),r),s&&g([[{[e]:[{[a]:[{[r]:[c,l?t:o()]}]}]}],[{}],1])}),((e,a)=>{le(r,e),s&&g([[{}],[{[e]:[a,l?t:o()]}],1])})),$(d,((e,t)=>f[t]=y(t,"set")||y(t,"del")||y(t,"apply")||R(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),f):y(t,"add")&&R(t,c)?(...s)=>{const a=vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(f,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),K(f)};export{wt as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",C=b+"Count",f=b+d,T="Cell",v=T+d,V="Value",w=V+"s",p=V+d,I=e=>t+e,y=(e,t)=>e.startsWith(t),R=(e,t)=>e.endsWith(t),M=(e,s=t,a)=>e.split(s,a),S=globalThis,m=Math,L=m.max,H=m.floor,E=isFinite,J=e=>null==e,D=(e,t,s)=>J(e)?s?.():t(e),F=e=>e==s||e==a,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),k=(e,t,s)=>e.reduce(t,s),N=(e,...t)=>e.push(...t),j=Object,U=e=>j.getPrototypeOf(e),_=j.entries,q=j.isFrozen,B=e=>!J(e)&&D(U(e),(e=>e==j.prototype||J(U(e))),(()=>!0)),G=j.keys,K=j.freeze,Q=(e=[])=>j.fromEntries(e),X=(e,t)=>t in e,Y=(e,t)=>(delete e[t],e),Z=(e,t)=>P(_(e),(([e,s])=>t(s,e))),$=(e,t)=>W(_(e),(([e,s])=>t(s,e))),ee=e=>B(e)&&0==(e=>A(G(e)))(e),te=(e,t,s)=>(X(e,t)||(e[t]=s()),e[t]),se=(e,t,s,a=0)=>J(e)||!B(e)||!a&&ee(e)||q(e)?(s?.(),!1):($(e,((s,a)=>{t(s,a)||Y(e,a)})),!!a||!ee(e)),ae=e=>new Set(x(e)||J(e)?e:[e]),le=(e,t)=>e?.add(t),ne=e=>t=>k(ge(t),((t,s)=>t+e(s)),0),re=e=>e?.size??0,oe=ne(re),ce=ne(oe),ie=ne(ce),de=(e,t)=>e?.has(t)??!1,ue=e=>J(e)||0==re(e),ge=e=>[...e?.values()??[]],he=e=>e.clear(),be=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),fe=e=>new Map(e),Te=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Ve=(e,t)=>be(e,((e,s)=>t(s,e))),we=(e,t,s)=>J(s)?(Ce(e,t),e):e?.set(t,s),pe=(e,t,s,a)=>(de(e,t)?a?.(ve(e,t)):we(e,t,s()),ve(e,t)),Ie=(e,t,s,a=we)=>($(t,((t,a)=>s(e,a,t))),Ve(e,(s=>X(t,s)?0:a(e,s))),e),ye=(e,t,s,a)=>{const l={};return be(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Re=(e,t,s)=>ye(e,(e=>ye(e,t,s)),ue,ee),Me=(e,t,s)=>ye(e,(e=>Re(e,t,s)),ue,ee),Se=(e,t)=>{const s=fe();return be(e,((e,a)=>s.set(a,t?.(e)??e))),s},me=e=>Se(e,Se),Le=e=>Se(e,me),He=(e,t,s,a,l=0)=>D((s?pe:ve)(e,t[l],l>A(t)-2?s:fe),(n=>{if(l>A(t)-2)return a?.(n)&&we(e,t[l]),n;const r=He(n,t,s,a,l+1);return ue(n)&&we(e,t[l]),r})),Ee=new S.TextEncoder,Je=e=>{let t=2166136261;return P(Ee.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},De=([e,t])=>Oe(e,t),Fe=([e,t,s])=>[e,t,s],Oe=(e,t)=>t?[e,t]:[e],xe=(e,t,s)=>[e,t,s],ze=e=>e[2],Ae=(e,t)=>Je(e+":"+t),Pe=(e,t)=>t>e?(e?Je(e):0)^Je(t):0,We=(e,t)=>((e??"")>(t??"")?e:t)??"",ke=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Ne=(e=t)=>Oe(Q(),e),je=(e=t)=>[fe(),e,0],Ue=([e,t,s],a=Fe)=>[ye(e,a),t,s],_e=([e,t],s=De)=>Oe(ye(e,s),t),qe=(t,a)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==l&&E(t[2])&&a(t[0]);var n},Be=/^\d+$/,Ge=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Be.test(t)&&A(e)<1e3&&N(e,t)}]},Ke=e=>[e,e],Qe=(e,t=oe)=>t(e[0])+t(e[1]),Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,$e=t=>{const s=e(t);return F(s)||s==l&&E(t)?s:void 0},et=e=>J(e)||!J($e(e)),tt=(e,t,s,a,l)=>J(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),st=(e,t,s)=>J(s)?e.delValue(t):e.setValue(t,s),at=JSON.stringify,lt=JSON.parse,nt=e=>at(e,((e,t)=>t instanceof Map?j.fromEntries([...t]):t)),rt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=fe(W(rt,((e,t)=>[e,t]))),ct=e=>rt[63&e],it=(e,t)=>ve(ot,e[t])??0,dt=S.crypto?e=>S.crypto.getRandomValues(e):e=>W(e,(()=>H(256*m.random()))),ut=(e,t,s)=>we(e,t,ve(e,t)==-s?void 0:s),gt=()=>{let e,s,a=!1,n=!1,d=0,y=[];const R=fe(),M=fe(),S=fe(),m=fe(),L=fe(),H=fe(),E=fe(),k=fe(),j=fe(),U=fe(),_=fe(),q=fe(),B=fe(),G=fe(),Q=ae(),Z=fe(),te=fe(),ne=fe(),ge=fe(),Ee=Xe(),Je=Xe(),De=Xe(),Fe=Xe(),Oe=Xe(),xe=Xe(),ze=Xe(),Ae=Xe(),Pe=Xe(),We=Xe(),ke=Xe(),Ne=Xe(),je=Xe(),Ue=Xe(),_e=Xe(),qe=Xe(),Be=Xe(),et=Xe(),at=Xe(),rt=Xe(),ot=Xe(),ct=Xe(),it=fe(),dt=Xe(),[ht,bt,Ct,ft]=(()=>{let e;const[s,a]=Ge(),l=fe();return[(a,n,r,o=[],c=()=>[])=>{e??=zs;const i=s(1);return we(l,i,[a,n,r,o,c]),le(He(n,r??[t],ae),i),i},(s,a,...n)=>P(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?N(a,e):null===s[t]?be(e,(e=>l(e,t+1))):P([s[t],null],(s=>l(ve(e,s),t+1)));return l(e,0),a})(s,a),(t=>be(t,(t=>ve(l,t)[0](e,...a??[],...n))))),e=>D(ve(l,e),(([,s,n])=>(He(s,n??[t],void 0,(t=>(Ce(t,e),ue(t)?1:0))),we(l,e),a(e),n))),t=>D(ve(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):J(s[o])?P(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),Tt=e=>{if(!se(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||($e(e[o])!=t&&Y(e,o),0))},vt=x,Vt=(t,s)=>(!e||de(_,s)||Kt(s))&&se(t,((e,t)=>wt(s,t,e)),(()=>Kt(s))),wt=(e,t,s,a)=>se(a?s:Rt(s,e,t),((a,l)=>D(pt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),pt=(t,s,a,l)=>e?D(ve(ve(_,t),a),(e=>$e(l)!=e[r]?Kt(t,s,a,l,e[o]):l),(()=>Kt(t,s,a,l))):J($e(l))?Kt(t,s,a,l):l,It=(e,t)=>se(t?e:Mt(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),yt=(e,t)=>s?D(ve(B,e),(s=>$e(t)!=s[r]?Qt(e,t,s[o]):t),(()=>Qt(e,t))):J($e(t))?Qt(e,t):t,Rt=(e,t,s)=>(D(ve(q,t),(([a,l])=>{be(a,((t,s)=>{X(e,s)||(e[s]=t)})),be(l,(a=>{X(e,a)||Kt(t,s,a)}))})),e),Mt=e=>(s&&(be(G,((t,s)=>{X(e,s)||(e[s]=t)})),be(Q,(t=>{X(e,t)||Qt(t)}))),e),St=e=>Ie(_,e,((e,t,s)=>{const a=fe(),l=ae();Ie(pe(_,t,fe),s,((e,t,s)=>{we(e,t,s),D(s[o],(e=>we(a,t,e)),(()=>le(l,t)))})),we(q,t,[a,l])}),((e,t)=>{we(_,t),we(q,t)})),mt=e=>Ie(B,e,((e,t,s)=>{we(B,t,s),D(s[o],(e=>we(G,t,e)),(()=>le(Q,t)))}),((e,t)=>{we(B,t),we(G,t),Ce(Q,t)})),Lt=e=>ee(e)?ms():Is(e),Ht=e=>Ie(ne,e,((e,t,s)=>Et(t,s)),((e,t)=>Pt(t))),Et=(e,t)=>Ie(pe(ne,e,(()=>(jt(e,1),we(Z,e,Ge()),we(te,e,fe()),fe()))),t,((t,s,a)=>Jt(e,t,s,a)),((t,s)=>Wt(e,t,s))),Jt=(e,t,s,a,l)=>Ie(pe(t,s,(()=>(Ut(e,s,1),fe()))),a,((t,a,l)=>Dt(e,s,t,a,l)),((a,n)=>kt(e,t,s,a,n,l))),Dt=(e,t,s,a,l)=>{de(s,a)||_t(e,t,a,1);const n=ve(s,a);l!==n&&(qt(e,t,a,n,l),we(s,a,l))},Ft=(e,t,s,a,l)=>D(ve(t,s),(t=>Dt(e,s,t,a,l)),(()=>Jt(e,t,s,Rt({[a]:l},e,s)))),Ot=e=>ee(e)?Es():ys(e),xt=e=>Ie(ge,e,((e,t,s)=>zt(t,s)),((e,t)=>Nt(t))),zt=(e,t)=>{de(ge,e)||Bt(e,1);const s=ve(ge,e);t!==s&&(Gt(e,s,t),we(ge,e,t))},At=e=>ve(ne,e)??Et(e,{}),Pt=e=>Et(e,{}),Wt=(e,t,s)=>{const[,a]=ve(Z,e);a(s),Jt(e,t,s,{},!0)},kt=(e,t,s,a,l,n)=>{const r=ve(ve(q,e)?.[0],l);if(!J(r)&&!n)return Dt(e,s,a,l,r);const o=t=>{qt(e,s,t,ve(a,t)),_t(e,s,t,-1),we(a,t)};J(r)?o(l):Ve(a,o),ue(a)&&(Ut(e,s,-1),ue(we(t,s))&&(jt(e,-1),we(ne,e),we(Z,e),we(te,e)))},Nt=e=>{const t=ve(G,e);if(!J(t))return zt(e,t);Gt(e,ve(ge,e)),Bt(e,-1),we(ge,e)},jt=(e,t)=>ut(R,e,t),Ut=(e,t,s)=>ut(pe(m,e,fe),t,s)&&we(S,e,pe(S,e,(()=>0))+s),_t=(e,t,s,a)=>{const l=ve(te,e),n=ve(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ut(pe(M,e,fe),s,a),we(l,s,n!=-a?n+a:null),ut(pe(pe(L,e,fe),t,fe),s,a)},qt=(e,t,s,a,l)=>{pe(pe(pe(H,e,fe),t,fe),s,(()=>[a,0]))[1]=l,y[3]?.(e,t,s,l)},Bt=(e,t)=>ut(E,e,t),Gt=(e,t,s)=>{pe(k,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},Kt=(e,t,s,a,l)=>(N(pe(pe(pe(j,e,fe),t,fe),s,(()=>[])),a),l),Qt=(e,t,s)=>(N(pe(U,e,(()=>[])),t),s),Xt=(e,t,s)=>D(ve(ve(ve(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(us(e,t,s))])),Yt=e=>D(ve(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(bs(e))])),Zt=e=>ue(j)||ue(qe[e])?0:be(e?Le(j):j,((t,s)=>be(t,((t,a)=>be(t,((t,l)=>bt(qe[e],[s,a,l],t))))))),$t=e=>ue(U)||ue(Be[e])?0:be(e?Se(U):U,((t,s)=>bt(Be[e],[s],t))),es=(e,t,s,a)=>{if(!ue(e))return bt(t,a,(()=>ye(e))),Ve(e,((e,t)=>bt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Cs();t!=a&&bt(Ee[e],void 0,t);const s=ue(We[e]),l=ue(je[e])&&ue(Ue[e])&&ue(Pe[e])&&ue(ke[e])&&ue(xe[e])&&ue(ze[e])&&ue(Ae[e])&&s&&ue(De[e])&&ue(Fe[e]),n=ue(_e[e])&&ue(Ne[e])&&ue(Oe[e])&&ue(Je[e]);if(!l||!n){const t=e?[Se(R),me(M),Se(S),me(m),Le(L),Le(H)]:[R,M,S,m,L,H];if(!l){es(t[0],De[e],Fe[e]),be(t[1],((t,s)=>es(t,xe[e],ze[e],[s]))),be(t[2],((t,s)=>{0!=t&&bt(Ae[e],[s],os(s))}));const a=ae();be(t[3],((t,l)=>{es(t,Pe[e],ke[e],[l])&&!s&&(bt(We[e],[l,null]),le(a,l))})),s||be(t[5],((t,s)=>{if(!de(a,s)){const a=ae();be(t,(e=>be(e,(([t,s],l)=>s!==t?le(a,l):Ce(e,l))))),be(a,(t=>bt(We[e],[s,t])))}})),be(t[4],((t,s)=>be(t,((t,a)=>es(t,je[e],Ue[e],[s,a])))))}if(!n){let s;be(t[5],((t,a)=>{let l;be(t,((t,n)=>{let r;be(t,(([t,o],c)=>{o!==t&&(bt(_e[e],[a,n,c],o,t,Xt),s=l=r=1)})),r&&bt(Ne[e],[a,n],Xt)})),l&&bt(Oe[e],[a],Xt)})),s&&bt(Je[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&&bt(et[e],void 0,t);const s=ue(rt[e])&&ue(ot[e]),a=ue(ct[e])&&ue(at[e]);if(!s||!a){const t=e?[Se(E),Se(k)]:[E,k];if(s||es(t[0],rt[e],ot[e]),!a){let s;be(t[1],(([t,a],l)=>{a!==t&&(bt(ct[e],[l],a,t,Yt),s=1)})),s&&bt(at[e],void 0,Yt)}}},as=(e,...t)=>(Fs((()=>e(...W(t,I)))),zs),ls=()=>Me(ne),ns=()=>Te(ne),rs=e=>Te(ve(te,I(e))),os=e=>re(ve(ne,I(e))),cs=e=>Te(ve(ne,I(e))),is=(e,t,s,a=0,l)=>{return W(z((r=ve(ne,I(e)),o=(e,s)=>[J(t)?s:ve(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),W([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,J(l)?l:a+l),(([,e])=>e));var n,r,o},ds=(e,t)=>Te(ve(ve(ne,I(e)),I(t))),us=(e,t,s)=>ve(ve(ve(ne,I(e)),I(t)),I(s)),gs=()=>ye(ge),hs=()=>Te(ge),bs=e=>ve(ge,I(e)),Cs=()=>!ue(ne),fs=e=>de(ne,I(e)),Ts=(e,t)=>de(ve(te,I(e)),I(t)),vs=(e,t)=>de(ve(ne,I(e)),I(t)),Vs=(e,t,s)=>de(ve(ve(ne,I(e)),I(t)),I(s)),ws=()=>!ue(ge),ps=e=>de(ge,I(e)),Is=e=>as((()=>(e=>se(e,Vt,Kt))(e)?Ht(e):0)),ys=e=>as((()=>It(e)?xt(e):0)),Rs=e=>{try{Lt(lt(e))}catch{}return zs},Ms=t=>as((()=>{if((e=se(t,(e=>se(e,Tt))))&&(St(t),!ue(ne))){const e=ls();ms(),Is(e)}})),Ss=e=>as((()=>{if(s=(e=>se(e,Tt))(e)){const t=gs();Ds(),Es(),s=!0,mt(e),ys(t)}})),ms=()=>as((()=>Ht({}))),Ls=e=>as((e=>de(ne,e)?Pt(e):0),e),Hs=(e,t)=>as(((e,t)=>D(ve(ne,e),(s=>de(s,t)?Wt(e,s,t):0))),e,t),Es=()=>as((()=>xt({}))),Js=()=>as((()=>{St({}),e=!1})),Ds=()=>as((()=>{mt({}),s=!1})),Fs=(e,t)=>{if(-1!=d){Os();const s=e();return xs(t),s}},Os=()=>(-1!=d&&d++,1==d&&(y[0]?.(),bt(it)),zs),xs=e=>(d>0&&(d--,0==d&&(d=1,Zt(1),ue(H)||ts(1),$t(1),ue(k)||ss(1),e?.(zs)&&(be(H,((e,t)=>be(e,((e,s)=>be(e,(([e],a)=>tt(zs,t,s,a,e))))))),he(H),be(k,(([e],t)=>st(zs,t,e))),he(k)),bt(dt[0],void 0),d=-1,Zt(0),ue(H)||ts(0),$t(0),ue(k)||ss(0),y[1]?.(),bt(dt[1],void 0),y[2]?.(),d=0,a=Cs(),n=ws(),P([R,M,S,m,L,H,j,E,k,U],he))),zs),zs={getContent:()=>[ls(),gs()],getTables:ls,getTableIds:ns,getTable:e=>Re(ve(ne,I(e))),getTableCellIds:rs,getRowCount:os,getRowIds:cs,getSortedRowIds:is,getRow:(e,t)=>ye(ve(ve(ne,I(e)),I(t))),getCellIds:ds,getCell:us,getValues:gs,getValueIds:hs,getValue:bs,hasTables:Cs,hasTable:fs,hasTableCell:Ts,hasRow:vs,hasCell:Vs,hasValues:ws,hasValue:ps,getTablesJson:()=>nt(ne),getValuesJson:()=>nt(ge),getJson:()=>nt([ne,ge]),getTablesSchemaJson:()=>nt(_),getValuesSchemaJson:()=>nt(B),getSchemaJson:()=>nt([_,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=O(e)?e():e;vt(t)&&(([e,t])=>{(ee(e)?ms:Is)(e),(ee(t)?Es:ys)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Jt(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let a;return wt(e,a,t)&&(e=I(e),Jt(e,At(e),a=((e,t)=>{const[s]=ve(Z,e);let a;do{a=s(t)}while(de(ve(ne,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=At(e);$(s,((s,l)=>Ft(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>D(pt(e,t,s,O(a)?a(us(e,t,s)):a),(a=>Ft(e,At(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>as((()=>It(e,1)?$(e,((e,t)=>zt(t,e))):0)),setValue:(e,t)=>as((e=>D(yt(e,O(t)?t(bs(e)):t),(t=>zt(e,t)))),e),applyChanges:e=>as((()=>{$(e[0],((e,t)=>J(e)?Ls(t):$(e,((e,s)=>J(e)?Hs(t,s):$(e,((e,a)=>tt(zs,t,s,a,e))))))),$(e[1],((e,t)=>st(zs,t,e)))})),setTablesJson:Rs,setValuesJson:e=>{try{Ot(lt(e))}catch{}return zs},setJson:e=>as((()=>{try{const[t,s]=lt(e);Lt(t),Ot(s)}catch{Rs(e)}})),setTablesSchema:Ms,setValuesSchema:Ss,setSchema:(e,t)=>as((()=>{Ms(e),Ss(t)})),delTables:ms,delTable:Ls,delRow:Hs,delCell:(e,t,s,a)=>as(((e,t,s)=>D(ve(ne,e),(l=>D(ve(l,t),(n=>de(n,s)?kt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>as((e=>de(ge,e)?Nt(e):0),e),delTablesSchema:Js,delValuesSchema:Ds,delSchema:()=>as((()=>{Js(),Ds()})),transaction:Fs,startTransaction:Os,getTransactionChanges:()=>[ye(H,((e,t)=>-1===ve(R,t)?void 0:ye(e,((e,s)=>-1===ve(ve(m,t),s)?void 0:ye(e,(([,e])=>e),(e=>Ze(e)))),ue,ee)),ue,ee),ye(k,(([,e])=>e),(e=>Ze(e))),1],getTransactionLog:()=>[!ue(H),!ue(k),Me(H,Ye,Ze),Me(j),ye(k,Ye,Ze),ye(U),ye(R),Re(m),Me(L),ye(E)],finishTransaction:xs,forEachTable:e=>be(ne,((t,s)=>e(s,(e=>be(t,((t,s)=>e(s,(e=>Ve(t,e))))))))),forEachTableCell:(e,t)=>Ve(ve(te,I(e)),t),forEachRow:(e,t)=>be(ve(ne,I(e)),((e,s)=>t(s,(t=>Ve(e,t))))),forEachCell:(e,t,s)=>Ve(ve(ve(ne,I(e)),I(t)),s),forEachValue:e=>Ve(ge,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=is(e,t,s,a,l);return ht((()=>{const r=is(e,t,s,a,l);var c,i,d;i=o,A(c=r)===A(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,n(zs,e,t,s,a,l,o))}),We[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>ht(e,it),addWillFinishTransactionListener:e=>ht(e,dt[0]),addDidFinishTransactionListener:e=>ht(e,dt[1]),callListener:e=>(ft(e),zs),delListener:e=>(Ct(e),zs),getListenerStats:()=>({hasTables:Qe(Ee),tables:Qe(Je),tableIds:Qe(De),hasTable:Qe(Fe),table:Qe(Oe),tableCellIds:Qe(xe),hasTableCell:Qe(ze,ce),rowCount:Qe(Ae),rowIds:Qe(Pe),sortedRowIds:Qe(We),hasRow:Qe(ke,ce),row:Qe(Ne,ce),cellIds:Qe(je,ce),hasCell:Qe(Ue,ie),cell:Qe(_e,ie),invalidCell:Qe(qe,ie),hasValues:Qe(et),values:Qe(at),valueIds:Qe(rt),hasValue:Qe(ot),value:Qe(ct),invalidValue:Qe(Be),transaction:oe(it)+Qe(dt)}),isMergeable:()=>!1,createStore:gt,addListener:ht,callListeners:bt,setInternalListeners:(e,t,s,a,l)=>y=[e,t,s,a,l]};return $({[i+g]:[0,Ee,[],()=>[Cs()]],[g]:[0,Je],[h]:[0,De],[i+u]:[1,Fe,[ns],e=>[fs(...e)]],[u]:[1,Oe,[ns]],[u+v]:[1,xe,[ns]],[i+u+T]:[2,ze,[ns,rs],e=>[Ts(...e)]],[C]:[1,Ae,[ns]],[f]:[1,Pe,[ns]],[i+b]:[2,ke,[ns,cs],e=>[vs(...e)]],[b]:[2,Ne,[ns,cs]],[v]:[2,je,[ns,cs]],[i+T]:[3,Ue,[ns,cs,ds],e=>[Vs(...e)]],[T]:[3,_e,[ns,cs,ds],e=>Ke(us(...e))],InvalidCell:[3,qe],[i+w]:[0,et,[],()=>[ws()]],[w]:[0,at],[p]:[0,rt],[i+V]:[1,ot,[hs],e=>[ps(...e)]],[V]:[1,ct,[hs],e=>Ke(bs(e[0]))],InvalidValue:[1,Be]},(([e,t,s,a],l)=>{zs["add"+l+c]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),K(zs)},ht=2**36,bt=2**30,Ct=2**24,ft=2**18,Tt=4096,vt={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},Vt=(e=t)=>[je(e),je(e)],wt=e=>{let s=1,a=Vt(),l=0;const n=fe(),r=ae(),[o,i]=(e=>{let t=0,s=-1;const a=D(e,(e=>{const t=Je(e);return ct(t/Ct)+ct(t/ft)+ct(t/Tt)+ct(t/64)+ct(t)}),(()=>((e=16)=>k(dt(new Uint8Array(e)),((e,t)=>e+ct(t)),""))(5))),l=e=>{const a=t,[l,n]=J(e)||""==e?[0,0]:[it(r=e,0)*ht+it(r,1)*bt+it(r,2)*Ct+it(r,3)*ft+it(r,4)*Tt+64*it(r,5)+it(r,6),it(r,7)*ft+it(r,8)*Tt+64*it(r,9)+it(r,10)];var r;t=L(a,l,S.HLC_TIME??Date.now()),s=t==a?t==l?L(s,n):s:t==l?n:-1};return[()=>{return l(),n=++s,ct((e=t)/ht)+ct(e/bt)+ct(e/Ct)+ct(e/ft)+ct(e/Tt)+ct(e/64)+ct(e)+ct(n/ft)+ct(n/Tt)+ct(n/64)+ct(n)+a;var e,n},l]})(e),d=gt(),u=e=>{const t=s;return s=0,e(),s=t,f},g=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],d]=e,[u,g]=a,[b,C,f]=u;let T=s?c:f,v=o;Z(r,(([e,a=t,n=0],r)=>{const o=pe(b,r,je),[c,i,d]=o;let u=s?n:d,g=a;Z(e,((e,t)=>{const[a,n,o]=h(e,pe(c,t,je),te(te(l,r,Q),t,Q),s);u^=s?0:(n?Ae(t,n):0)^Ae(t,o),g=We(g,a)})),u^=s?0:Pe(i,a),ke(o,a,u),T^=s?0:(d?Ae(r,d):0)^Ae(r,o[2]),v=We(v,g)})),T^=s?0:Pe(C,o),ke(u,o,T);const[V]=h(d,g,n,s);return i(We(v,V)),[l,n,1]},h=(e,s,a,l)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=l?o:d;return Z(n,(([e,s,n=0],r)=>{const o=pe(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(ke(o,s,l?n:Je(nt(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:Ae(r,d)^Ae(r,o[2]),u=We(u,s))})),g^=l?0:Pe(i,r),ke(s,r,g),[u,d,s[2]]},b=()=>[Ue(a[0],(e=>Ue(e,(e=>Ue(e))))),Ue(a[1])],C=e=>u((()=>d.applyChanges(g(e)))),f={getMergeableContent:b,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>ye(a[0][0],ze),getMergeableTableDiff:e=>{const t=Ne(a[0][1]),s={};return Ve(a[0][0],((a,[l,n,r])=>X(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=_e([l,n],(e=>_e(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a,,l])=>l!=e?Ve(a,((e,[,,a])=>te(t,s,Q)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=Ne(a[0][1]),s={};return Z(e,((e,l)=>Ve(ve(a[0][0],l)?.[0],((a,[n,r,o])=>X(e,a)?o!==e[a]?te(s,l,Q)[a]=o:0:te(t[0],l,Ne)[0][a]=_e([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a])=>Z(e,((e,l)=>D(ve(a,l),(([a,,n])=>n!==e?Ve(a,((e,[,,a])=>te(te(t,s,Q),l,Q)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Z(e,((e,s)=>Z(e,((e,a)=>D(ve(t,s),(([t,n])=>D(ve(t,a),(([t,r])=>Ve(t,((t,[o,c,i])=>i!==e[t]?te(te(l,s,(()=>Ne(n)))[0],a,(()=>Ne(r)))[0][t]=[o,c]:0)))))))))),Oe(l,s)},getMergeableValueHashes:()=>ye(a[1][0],ze),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=ye(t,De,(([,,t],s)=>t==e?.[s]));return Oe(l,s)},setMergeableContent:e=>u((()=>(e=>x(e)&&2==A(e)&&qe(e[0],(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,et)),void 0,1)))),void 0,1)))),void 0,1)))&&qe(e[1],(e=>se(e,(e=>qe(e,et)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),a=Vt(),d.applyChanges(g(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{l=1,d.setContent(e),l=0})),f),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[o,c,i]]=a,d=e?xe:Oe,u={};be(n,((e,s)=>D(ve(t,s),(([t,a,l])=>{const n={};be(e,((e,s)=>D(ve(t,s),(([t,a,l])=>{const r={};be(e,(e=>{D(ve(t,e),(([t,s,a])=>r[e]=d(t,s,a)))})),n[s]=d(r,a,l)})))),u[s]=d(n,a,l)}))));const g={};return be(r,(e=>D(ve(o,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:C,merge:e=>{const t=b(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{he(n),he(r)}),((e,a,r,c)=>{le(pe(pe(n,e,fe),a,ae),r),s&&g([[{[e]:[{[a]:[{[r]:[c,l?t:o()]}]}]}],[{}],1])}),((e,a)=>{le(r,e),s&&g([[{}],[{[e]:[a,l?t:o()]}],1])})),$(d,((e,t)=>f[t]=y(t,"set")||y(t,"del")||y(t,"apply")||R(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),f):y(t,"add")&&R(t,c)?(...s)=>{const a=vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(f,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),K(f)};export{wt as createMergeableStore};
1
+ const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",C=b+"Count",f=b+d,T="Cell",v=T+d,V="Value",w=V+"s",p=V+d,I=e=>t+e,y=(e,t)=>e.startsWith(t),R=(e,t)=>e.endsWith(t),M=(e,s=t,a)=>e.split(s,a),S=globalThis,m=Math,L=m.max,H=m.floor,E=isFinite,J=e=>null==e,D=(e,t,s)=>J(e)?s?.():t(e),F=e=>e==s||e==a,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),k=(e,t,s)=>e.reduce(t,s),N=(e,...t)=>e.push(...t),j=Object,U=e=>j.getPrototypeOf(e),_=j.entries,q=j.isFrozen,B=e=>!J(e)&&D(U(e),(e=>e==j.prototype||J(U(e))),(()=>!0)),G=j.keys,K=j.freeze,Q=(e=[])=>j.fromEntries(e),X=(e,t)=>t in e,Y=(e,t)=>(delete e[t],e),Z=(e,t)=>P(_(e),(([e,s])=>t(s,e))),$=(e,t)=>Q(((e,t)=>W(_(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ee=e=>B(e)&&0==(e=>A(G(e)))(e),te=(e,t,s)=>(X(e,t)||(e[t]=s()),e[t]),se=(e,t,s,a=0)=>J(e)||!B(e)||!a&&ee(e)||q(e)?(s?.(),!1):(Z(e,((s,a)=>{t(s,a)||Y(e,a)})),!!a||!ee(e)),ae=e=>new Set(x(e)||J(e)?e:[e]),le=(e,t)=>e?.add(t),ne=e=>t=>k(ge(t),((t,s)=>t+e(s)),0),re=e=>e?.size??0,oe=ne(re),ce=ne(oe),ie=ne(ce),de=(e,t)=>e?.has(t)??!1,ue=e=>J(e)||0==re(e),ge=e=>[...e?.values()??[]],he=e=>e.clear(),be=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),fe=e=>new Map(e),Te=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Ve=(e,t)=>be(e,((e,s)=>t(s,e))),we=(e,t,s)=>J(s)?(Ce(e,t),e):e?.set(t,s),pe=(e,t,s,a)=>(de(e,t)?a?.(ve(e,t)):we(e,t,s()),ve(e,t)),Ie=(e,t,s,a=we)=>($(t,((t,a)=>s(e,a,t))),Ve(e,(s=>X(t,s)?0:a(e,s))),e),ye=(e,t,s,a)=>{const l={};return be(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Re=(e,t,s)=>ye(e,(e=>ye(e,t,s)),ue,ee),Me=(e,t,s)=>ye(e,(e=>Re(e,t,s)),ue,ee),Se=(e,t)=>{const s=fe();return be(e,((e,a)=>s.set(a,t?.(e)??e))),s},me=e=>Se(e,Se),Le=e=>Se(e,me),He=(e,t,s,a,l=0)=>D((s?pe:ve)(e,t[l],l>A(t)-2?s:fe),(n=>{if(l>A(t)-2)return a?.(n)&&we(e,t[l]),n;const r=He(n,t,s,a,l+1);return ue(n)&&we(e,t[l]),r})),Ee=new S.TextEncoder,Je=e=>{let t=2166136261;return P(Ee.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},De=([e,t])=>Oe(e,t),Fe=([e,t,s])=>[e,t,s],Oe=(e,t)=>t?[e,t]:[e],xe=(e,t,s)=>[e,t,s],ze=e=>e[2],Ae=(e,t)=>Je(e+":"+t),Pe=(e,t)=>t>e?(e?Je(e):0)^Je(t):0,We=(e,t)=>((e??"")>(t??"")?e:t)??"",ke=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Ne=(e=t)=>Oe(Q(),e),je=(e=t)=>[fe(),e,0],Ue=([e,t,s],a=Fe)=>[ye(e,a),t,s],_e=([e,t],s=De)=>Oe(ye(e,s),t),qe=(t,a)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==l&&E(t[2])&&a(t[0]);var n},Be=/^\d+$/,Ge=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Be.test(t)&&A(e)<1e3&&N(e,t)}]},Ke=e=>[e,e],Qe=(e,t=oe)=>t(e[0])+t(e[1]),Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,$e=t=>{const s=e(t);return F(s)||s==l&&E(t)?s:void 0},et=e=>J(e)||!J($e(e)),tt=(e,t,s,a,l)=>J(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),st=(e,t,s)=>J(s)?e.delValue(t):e.setValue(t,s),at=JSON.stringify,lt=JSON.parse,nt=e=>at(e,((e,t)=>t instanceof Map?j.fromEntries([...t]):t)),rt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=fe(W(rt,((e,t)=>[e,t]))),ct=e=>rt[63&e],it=(e,t)=>ve(ot,e[t])??0,dt=S.crypto?e=>S.crypto.getRandomValues(e):e=>W(e,(()=>H(256*m.random()))),ut=(e,t,s)=>we(e,t,ve(e,t)==-s?void 0:s),gt=()=>{let e,s,a=!1,n=!1,d=0,y=[];const R=fe(),M=fe(),S=fe(),m=fe(),L=fe(),H=fe(),E=fe(),k=fe(),j=fe(),U=fe(),_=fe(),q=fe(),B=fe(),G=fe(),Q=ae(),Z=fe(),te=fe(),ne=fe(),ge=fe(),Ee=Xe(),Je=Xe(),De=Xe(),Fe=Xe(),Oe=Xe(),xe=Xe(),ze=Xe(),Ae=Xe(),Pe=Xe(),We=Xe(),ke=Xe(),Ne=Xe(),je=Xe(),Ue=Xe(),_e=Xe(),qe=Xe(),Be=Xe(),et=Xe(),at=Xe(),rt=Xe(),ot=Xe(),ct=Xe(),it=fe(),dt=Xe(),[ht,bt,Ct,ft]=(()=>{let e;const[s,a]=Ge(),l=fe();return[(a,n,r,o=[],c=()=>[])=>{e??=zs;const i=s(1);return we(l,i,[a,n,r,o,c]),le(He(n,r??[t],ae),i),i},(s,a,...n)=>P(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?N(a,e):null===s[t]?be(e,(e=>l(e,t+1))):P([s[t],null],(s=>l(ve(e,s),t+1)));return l(e,0),a})(s,a),(t=>be(t,(t=>ve(l,t)[0](e,...a??[],...n))))),e=>D(ve(l,e),(([,s,n])=>(He(s,n??[t],void 0,(t=>(Ce(t,e),ue(t)?1:0))),we(l,e),a(e),n))),t=>D(ve(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):J(s[o])?P(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),Tt=e=>{if(!se(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||($e(e[o])!=t&&Y(e,o),0))},vt=x,Vt=(t,s)=>(!e||de(_,s)||Kt(s))&&se(t,((e,t)=>wt(s,t,e)),(()=>Kt(s))),wt=(e,t,s,a)=>se(a?s:Rt(s,e,t),((a,l)=>D(pt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),pt=(t,s,a,l)=>e?D(ve(ve(_,t),a),(e=>$e(l)!=e[r]?Kt(t,s,a,l,e[o]):l),(()=>Kt(t,s,a,l))):J($e(l))?Kt(t,s,a,l):l,It=(e,t)=>se(t?e:Mt(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),yt=(e,t)=>s?D(ve(B,e),(s=>$e(t)!=s[r]?Qt(e,t,s[o]):t),(()=>Qt(e,t))):J($e(t))?Qt(e,t):t,Rt=(e,t,s)=>(D(ve(q,t),(([a,l])=>{be(a,((t,s)=>{X(e,s)||(e[s]=t)})),be(l,(a=>{X(e,a)||Kt(t,s,a)}))})),e),Mt=e=>(s&&(be(G,((t,s)=>{X(e,s)||(e[s]=t)})),be(Q,(t=>{X(e,t)||Qt(t)}))),e),St=e=>Ie(_,e,((e,t,s)=>{const a=fe(),l=ae();Ie(pe(_,t,fe),s,((e,t,s)=>{we(e,t,s),D(s[o],(e=>we(a,t,e)),(()=>le(l,t)))})),we(q,t,[a,l])}),((e,t)=>{we(_,t),we(q,t)})),mt=e=>Ie(B,e,((e,t,s)=>{we(B,t,s),D(s[o],(e=>we(G,t,e)),(()=>le(Q,t)))}),((e,t)=>{we(B,t),we(G,t),Ce(Q,t)})),Lt=e=>ee(e)?ms():Is(e),Ht=e=>Ie(ne,e,((e,t,s)=>Et(t,s)),((e,t)=>Pt(t))),Et=(e,t)=>Ie(pe(ne,e,(()=>(jt(e,1),we(Z,e,Ge()),we(te,e,fe()),fe()))),t,((t,s,a)=>Jt(e,t,s,a)),((t,s)=>Wt(e,t,s))),Jt=(e,t,s,a,l)=>Ie(pe(t,s,(()=>(Ut(e,s,1),fe()))),a,((t,a,l)=>Dt(e,s,t,a,l)),((a,n)=>kt(e,t,s,a,n,l))),Dt=(e,t,s,a,l)=>{de(s,a)||_t(e,t,a,1);const n=ve(s,a);l!==n&&(qt(e,t,a,n,l),we(s,a,l))},Ft=(e,t,s,a,l)=>D(ve(t,s),(t=>Dt(e,s,t,a,l)),(()=>Jt(e,t,s,Rt({[a]:l},e,s)))),Ot=e=>ee(e)?Es():ys(e),xt=e=>Ie(ge,e,((e,t,s)=>zt(t,s)),((e,t)=>Nt(t))),zt=(e,t)=>{de(ge,e)||Bt(e,1);const s=ve(ge,e);t!==s&&(Gt(e,s,t),we(ge,e,t))},At=e=>ve(ne,e)??Et(e,{}),Pt=e=>Et(e,{}),Wt=(e,t,s)=>{const[,a]=ve(Z,e);a(s),Jt(e,t,s,{},!0)},kt=(e,t,s,a,l,n)=>{const r=ve(ve(q,e)?.[0],l);if(!J(r)&&!n)return Dt(e,s,a,l,r);const o=t=>{qt(e,s,t,ve(a,t)),_t(e,s,t,-1),we(a,t)};J(r)?o(l):Ve(a,o),ue(a)&&(Ut(e,s,-1),ue(we(t,s))&&(jt(e,-1),we(ne,e),we(Z,e),we(te,e)))},Nt=e=>{const t=ve(G,e);if(!J(t))return zt(e,t);Gt(e,ve(ge,e)),Bt(e,-1),we(ge,e)},jt=(e,t)=>ut(R,e,t),Ut=(e,t,s)=>ut(pe(m,e,fe),t,s)&&we(S,e,pe(S,e,(()=>0))+s),_t=(e,t,s,a)=>{const l=ve(te,e),n=ve(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ut(pe(M,e,fe),s,a),we(l,s,n!=-a?n+a:null),ut(pe(pe(L,e,fe),t,fe),s,a)},qt=(e,t,s,a,l)=>{pe(pe(pe(H,e,fe),t,fe),s,(()=>[a,0]))[1]=l,y[3]?.(e,t,s,l)},Bt=(e,t)=>ut(E,e,t),Gt=(e,t,s)=>{pe(k,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},Kt=(e,t,s,a,l)=>(N(pe(pe(pe(j,e,fe),t,fe),s,(()=>[])),a),l),Qt=(e,t,s)=>(N(pe(U,e,(()=>[])),t),s),Xt=(e,t,s)=>D(ve(ve(ve(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(us(e,t,s))])),Yt=e=>D(ve(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(bs(e))])),Zt=e=>ue(j)||ue(qe[e])?0:be(e?Le(j):j,((t,s)=>be(t,((t,a)=>be(t,((t,l)=>bt(qe[e],[s,a,l],t))))))),$t=e=>ue(U)||ue(Be[e])?0:be(e?Se(U):U,((t,s)=>bt(Be[e],[s],t))),es=(e,t,s,a)=>{if(!ue(e))return bt(t,a,(()=>ye(e))),Ve(e,((e,t)=>bt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Cs();t!=a&&bt(Ee[e],void 0,t);const s=ue(We[e]),l=ue(je[e])&&ue(Ue[e])&&ue(Pe[e])&&ue(ke[e])&&ue(xe[e])&&ue(ze[e])&&ue(Ae[e])&&s&&ue(De[e])&&ue(Fe[e]),n=ue(_e[e])&&ue(Ne[e])&&ue(Oe[e])&&ue(Je[e]);if(!l||!n){const t=e?[Se(R),me(M),Se(S),me(m),Le(L),Le(H)]:[R,M,S,m,L,H];if(!l){es(t[0],De[e],Fe[e]),be(t[1],((t,s)=>es(t,xe[e],ze[e],[s]))),be(t[2],((t,s)=>{0!=t&&bt(Ae[e],[s],os(s))}));const a=ae();be(t[3],((t,l)=>{es(t,Pe[e],ke[e],[l])&&!s&&(bt(We[e],[l,null]),le(a,l))})),s||be(t[5],((t,s)=>{if(!de(a,s)){const a=ae();be(t,(e=>be(e,(([t,s],l)=>s!==t?le(a,l):Ce(e,l))))),be(a,(t=>bt(We[e],[s,t])))}})),be(t[4],((t,s)=>be(t,((t,a)=>es(t,je[e],Ue[e],[s,a])))))}if(!n){let s;be(t[5],((t,a)=>{let l;be(t,((t,n)=>{let r;be(t,(([t,o],c)=>{o!==t&&(bt(_e[e],[a,n,c],o,t,Xt),s=l=r=1)})),r&&bt(Ne[e],[a,n],Xt)})),l&&bt(Oe[e],[a],Xt)})),s&&bt(Je[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&&bt(et[e],void 0,t);const s=ue(rt[e])&&ue(ot[e]),a=ue(ct[e])&&ue(at[e]);if(!s||!a){const t=e?[Se(E),Se(k)]:[E,k];if(s||es(t[0],rt[e],ot[e]),!a){let s;be(t[1],(([t,a],l)=>{a!==t&&(bt(ct[e],[l],a,t,Yt),s=1)})),s&&bt(at[e],void 0,Yt)}}},as=(e,...t)=>(Fs((()=>e(...W(t,I)))),zs),ls=()=>Me(ne),ns=()=>Te(ne),rs=e=>Te(ve(te,I(e))),os=e=>re(ve(ne,I(e))),cs=e=>Te(ve(ne,I(e))),is=(e,t,s,a=0,l)=>{return W(z((r=ve(ne,I(e)),o=(e,s)=>[J(t)?s:ve(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),W([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,J(l)?l:a+l),(([,e])=>e));var n,r,o},ds=(e,t)=>Te(ve(ve(ne,I(e)),I(t))),us=(e,t,s)=>ve(ve(ve(ne,I(e)),I(t)),I(s)),gs=()=>ye(ge),hs=()=>Te(ge),bs=e=>ve(ge,I(e)),Cs=()=>!ue(ne),fs=e=>de(ne,I(e)),Ts=(e,t)=>de(ve(te,I(e)),I(t)),vs=(e,t)=>de(ve(ne,I(e)),I(t)),Vs=(e,t,s)=>de(ve(ve(ne,I(e)),I(t)),I(s)),ws=()=>!ue(ge),ps=e=>de(ge,I(e)),Is=e=>as((()=>(e=>se(e,Vt,Kt))(e)?Ht(e):0)),ys=e=>as((()=>It(e)?xt(e):0)),Rs=e=>{try{Lt(lt(e))}catch{}return zs},Ms=t=>as((()=>{if((e=se(t,(e=>se(e,Tt))))&&(St(t),!ue(ne))){const e=ls();ms(),Is(e)}})),Ss=e=>as((()=>{if(s=(e=>se(e,Tt))(e)){const t=gs();Ds(),Es(),s=!0,mt(e),ys(t)}})),ms=()=>as((()=>Ht({}))),Ls=e=>as((e=>de(ne,e)?Pt(e):0),e),Hs=(e,t)=>as(((e,t)=>D(ve(ne,e),(s=>de(s,t)?Wt(e,s,t):0))),e,t),Es=()=>as((()=>xt({}))),Js=()=>as((()=>{St({}),e=!1})),Ds=()=>as((()=>{mt({}),s=!1})),Fs=(e,t)=>{if(-1!=d){Os();const s=e();return xs(t),s}},Os=()=>(-1!=d&&d++,1==d&&(y[0]?.(),bt(it)),zs),xs=e=>(d>0&&(d--,0==d&&(d=1,Zt(1),ue(H)||ts(1),$t(1),ue(k)||ss(1),e?.(zs)&&(be(H,((e,t)=>be(e,((e,s)=>be(e,(([e],a)=>tt(zs,t,s,a,e))))))),he(H),be(k,(([e],t)=>st(zs,t,e))),he(k)),bt(dt[0],void 0),d=-1,Zt(0),ue(H)||ts(0),$t(0),ue(k)||ss(0),y[1]?.(),bt(dt[1],void 0),y[2]?.(),d=0,a=Cs(),n=ws(),P([R,M,S,m,L,H,j,E,k,U],he))),zs),zs={getContent:()=>[ls(),gs()],getTables:ls,getTableIds:ns,getTable:e=>Re(ve(ne,I(e))),getTableCellIds:rs,getRowCount:os,getRowIds:cs,getSortedRowIds:is,getRow:(e,t)=>ye(ve(ve(ne,I(e)),I(t))),getCellIds:ds,getCell:us,getValues:gs,getValueIds:hs,getValue:bs,hasTables:Cs,hasTable:fs,hasTableCell:Ts,hasRow:vs,hasCell:Vs,hasValues:ws,hasValue:ps,getTablesJson:()=>nt(ne),getValuesJson:()=>nt(ge),getJson:()=>nt([ne,ge]),getTablesSchemaJson:()=>nt(_),getValuesSchemaJson:()=>nt(B),getSchemaJson:()=>nt([_,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=O(e)?e():e;vt(t)&&(([e,t])=>{(ee(e)?ms:Is)(e),(ee(t)?Es:ys)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Jt(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let a;return wt(e,a,t)&&(e=I(e),Jt(e,At(e),a=((e,t)=>{const[s]=ve(Z,e);let a;do{a=s(t)}while(de(ve(ne,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=At(e);$(s,((s,l)=>Ft(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>D(pt(e,t,s,O(a)?a(us(e,t,s)):a),(a=>Ft(e,At(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>as((()=>It(e,1)?$(e,((e,t)=>zt(t,e))):0)),setValue:(e,t)=>as((e=>D(yt(e,O(t)?t(bs(e)):t),(t=>zt(e,t)))),e),applyChanges:e=>as((()=>{$(e[0],((e,t)=>J(e)?Ls(t):$(e,((e,s)=>J(e)?Hs(t,s):$(e,((e,a)=>tt(zs,t,s,a,e))))))),$(e[1],((e,t)=>st(zs,t,e)))})),setTablesJson:Rs,setValuesJson:e=>{try{Ot(lt(e))}catch{}return zs},setJson:e=>as((()=>{try{const[t,s]=lt(e);Lt(t),Ot(s)}catch{Rs(e)}})),setTablesSchema:Ms,setValuesSchema:Ss,setSchema:(e,t)=>as((()=>{Ms(e),Ss(t)})),delTables:ms,delTable:Ls,delRow:Hs,delCell:(e,t,s,a)=>as(((e,t,s)=>D(ve(ne,e),(l=>D(ve(l,t),(n=>de(n,s)?kt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>as((e=>de(ge,e)?Nt(e):0),e),delTablesSchema:Js,delValuesSchema:Ds,delSchema:()=>as((()=>{Js(),Ds()})),transaction:Fs,startTransaction:Os,getTransactionChanges:()=>[ye(H,((e,t)=>-1===ve(R,t)?void 0:ye(e,((e,s)=>-1===ve(ve(m,t),s)?void 0:ye(e,(([,e])=>e),(e=>Ze(e)))),ue,ee)),ue,ee),ye(k,(([,e])=>e),(e=>Ze(e))),1],getTransactionLog:()=>[!ue(H),!ue(k),Me(H,Ye,Ze),Me(j),ye(k,Ye,Ze),ye(U),ye(R),Re(m),Me(L),ye(E)],finishTransaction:xs,forEachTable:e=>be(ne,((t,s)=>e(s,(e=>be(t,((t,s)=>e(s,(e=>Ve(t,e))))))))),forEachTableCell:(e,t)=>Ve(ve(te,I(e)),t),forEachRow:(e,t)=>be(ve(ne,I(e)),((e,s)=>t(s,(t=>Ve(e,t))))),forEachCell:(e,t,s)=>Ve(ve(ve(ne,I(e)),I(t)),s),forEachValue:e=>Ve(ge,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=is(e,t,s,a,l);return ht((()=>{const r=is(e,t,s,a,l);var c,i,d;i=o,A(c=r)===A(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,n(zs,e,t,s,a,l,o))}),We[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>ht(e,it),addWillFinishTransactionListener:e=>ht(e,dt[0]),addDidFinishTransactionListener:e=>ht(e,dt[1]),callListener:e=>(ft(e),zs),delListener:e=>(Ct(e),zs),getListenerStats:()=>({hasTables:Qe(Ee),tables:Qe(Je),tableIds:Qe(De),hasTable:Qe(Fe),table:Qe(Oe),tableCellIds:Qe(xe),hasTableCell:Qe(ze,ce),rowCount:Qe(Ae),rowIds:Qe(Pe),sortedRowIds:Qe(We),hasRow:Qe(ke,ce),row:Qe(Ne,ce),cellIds:Qe(je,ce),hasCell:Qe(Ue,ie),cell:Qe(_e,ie),invalidCell:Qe(qe,ie),hasValues:Qe(et),values:Qe(at),valueIds:Qe(rt),hasValue:Qe(ot),value:Qe(ct),invalidValue:Qe(Be),transaction:oe(it)+Qe(dt)}),isMergeable:()=>!1,createStore:gt,addListener:ht,callListeners:bt,setInternalListeners:(e,t,s,a,l)=>y=[e,t,s,a,l]};return $({[i+g]:[0,Ee,[],()=>[Cs()]],[g]:[0,Je],[h]:[0,De],[i+u]:[1,Fe,[ns],e=>[fs(...e)]],[u]:[1,Oe,[ns]],[u+v]:[1,xe,[ns]],[i+u+T]:[2,ze,[ns,rs],e=>[Ts(...e)]],[C]:[1,Ae,[ns]],[f]:[1,Pe,[ns]],[i+b]:[2,ke,[ns,cs],e=>[vs(...e)]],[b]:[2,Ne,[ns,cs]],[v]:[2,je,[ns,cs]],[i+T]:[3,Ue,[ns,cs,ds],e=>[Vs(...e)]],[T]:[3,_e,[ns,cs,ds],e=>Ke(us(...e))],InvalidCell:[3,qe],[i+w]:[0,et,[],()=>[ws()]],[w]:[0,at],[p]:[0,rt],[i+V]:[1,ot,[hs],e=>[ps(...e)]],[V]:[1,ct,[hs],e=>Ke(bs(e[0]))],InvalidValue:[1,Be]},(([e,t,s,a],l)=>{zs["add"+l+c]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),K(zs)},ht=2**36,bt=2**30,Ct=2**24,ft=2**18,Tt=4096,vt={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},Vt=(e=t)=>[je(e),je(e)],wt=e=>{let s=1,a=Vt(),l=0;const n=fe(),r=ae(),[o,i]=(e=>{let t=0,s=-1;const a=D(e,(e=>{const t=Je(e);return ct(t/Ct)+ct(t/ft)+ct(t/Tt)+ct(t/64)+ct(t)}),(()=>((e=16)=>k(dt(new Uint8Array(e)),((e,t)=>e+ct(t)),""))(5))),l=e=>{const a=t,[l,n]=J(e)||""==e?[0,0]:[it(r=e,0)*ht+it(r,1)*bt+it(r,2)*Ct+it(r,3)*ft+it(r,4)*Tt+64*it(r,5)+it(r,6),it(r,7)*ft+it(r,8)*Tt+64*it(r,9)+it(r,10)];var r;t=L(a,l,S.HLC_TIME??Date.now()),s=t==a?t==l?L(s,n):s:t==l?n:-1};return[()=>{return l(),n=++s,ct((e=t)/ht)+ct(e/bt)+ct(e/Ct)+ct(e/ft)+ct(e/Tt)+ct(e/64)+ct(e)+ct(n/ft)+ct(n/Tt)+ct(n/64)+ct(n)+a;var e,n},l]})(e),d=gt(),u=e=>{const t=s;return s=0,e(),s=t,f},g=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],d]=e,[u,g]=a,[b,C,f]=u;let T=s?c:f,v=o;Z(r,(([e,a=t,n=0],r)=>{const o=pe(b,r,je),[c,i,d]=o;let u=s?n:d,g=a;Z(e,((e,t)=>{const[a,n,o]=h(e,pe(c,t,je),te(te(l,r,Q),t,Q),s);u^=s?0:(n?Ae(t,n):0)^Ae(t,o),g=We(g,a)})),u^=s?0:Pe(i,a),ke(o,a,u),T^=s?0:(d?Ae(r,d):0)^Ae(r,o[2]),v=We(v,g)})),T^=s?0:Pe(C,o),ke(u,o,T);const[V]=h(d,g,n,s);return i(We(v,V)),[l,n,1]},h=(e,s,a,l)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=l?o:d;return Z(n,(([e,s,n=0],r)=>{const o=pe(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(ke(o,s,l?n:Je(nt(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:Ae(r,d)^Ae(r,o[2]),u=We(u,s))})),g^=l?0:Pe(i,r),ke(s,r,g),[u,d,s[2]]},b=()=>[Ue(a[0],(e=>Ue(e,(e=>Ue(e))))),Ue(a[1])],C=e=>u((()=>d.applyChanges(g(e)))),f={getMergeableContent:b,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>ye(a[0][0],ze),getMergeableTableDiff:e=>{const t=Ne(a[0][1]),s={};return Ve(a[0][0],((a,[l,n,r])=>X(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=_e([l,n],(e=>_e(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a,,l])=>l!=e?Ve(a,((e,[,,a])=>te(t,s,Q)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=Ne(a[0][1]),s={};return Z(e,((e,l)=>Ve(ve(a[0][0],l)?.[0],((a,[n,r,o])=>X(e,a)?o!==e[a]?te(s,l,Q)[a]=o:0:te(t[0],l,Ne)[0][a]=_e([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Z(e,((e,s)=>D(ve(a[0][0],s),(([a])=>Z(e,((e,l)=>D(ve(a,l),(([a,,n])=>n!==e?Ve(a,((e,[,,a])=>te(te(t,s,Q),l,Q)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Z(e,((e,s)=>Z(e,((e,a)=>D(ve(t,s),(([t,n])=>D(ve(t,a),(([t,r])=>Ve(t,((t,[o,c,i])=>i!==e[t]?te(te(l,s,(()=>Ne(n)))[0],a,(()=>Ne(r)))[0][t]=[o,c]:0)))))))))),Oe(l,s)},getMergeableValueHashes:()=>ye(a[1][0],ze),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=ye(t,De,(([,,t],s)=>t==e?.[s]));return Oe(l,s)},setMergeableContent:e=>u((()=>(e=>x(e)&&2==A(e)&&qe(e[0],(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,(e=>se(e,(e=>qe(e,et)),void 0,1)))),void 0,1)))),void 0,1)))&&qe(e[1],(e=>se(e,(e=>qe(e,et)),void 0,1))))(e)?d.transaction((()=>{d.delTables().delValues(),a=Vt(),d.applyChanges(g(e,1))})):0)),setDefaultContent:e=>(d.transaction((()=>{l=1,d.setContent(e),l=0})),f),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[o,c,i]]=a,d=e?xe:Oe,u={};be(n,((e,s)=>D(ve(t,s),(([t,a,l])=>{const n={};be(e,((e,s)=>D(ve(t,s),(([t,a,l])=>{const r={};be(e,(e=>{D(ve(t,e),(([t,s,a])=>r[e]=d(t,s,a)))})),n[s]=d(r,a,l)})))),u[s]=d(n,a,l)}))));const g={};return be(r,(e=>D(ve(o,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:C,merge:e=>{const t=b(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return d.setInternalListeners((()=>{}),(()=>{}),(()=>{he(n),he(r)}),((e,a,r,c)=>{le(pe(pe(n,e,fe),a,ae),r),s&&g([[{[e]:[{[a]:[{[r]:[c,l?t:o()]}]}]}],[{}],1])}),((e,a)=>{le(r,e),s&&g([[{}],[{[e]:[a,l?t:o()]}],1])})),$(d,((e,t)=>f[t]=y(t,"set")||y(t,"del")||y(t,"apply")||R(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),f):y(t,"add")&&R(t,c)?(...s)=>{const a=vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(f,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),K(f)};export{wt as createMergeableStore};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,E=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,d=async a=>i.all(a),u=a=>{throw Error(a)},R=(a,t)=>a.forEach(t),A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),N=a=>0==y(a),g=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),$=a=>a.shift(),p=Object,m=a=>p.getPrototypeOf(a),v=p.entries,C=p.keys,L=p.freeze,I=(a=[])=>p.fromEntries(a),S=(...a)=>p.assign({},...a),_=(a,t)=>(delete a[t],a),h=(a,t)=>T(v(a),(([a,e])=>t(e,a))),b=a=>p.values(a),f=a=>y(C(a)),D=a=>(a=>!o(a)&&c(m(a),(a=>a==p.prototype||o(m(a))),(()=>!0)))(a)&&0==f(a),M=(a,t)=>a?.has(t)??!1,P=a=>o(a)||0==(a=>a?.size??0)(a),F=a=>[...a?.values()??[]],U=(a,t)=>a?.forEach(t),G=(a,t)=>a?.delete(t),B=a=>new Map(a),j=(a,t)=>a?.get(t),Y=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>o(e)?(G(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(M(a,t)?n?.(j(a,t)):x(a,t,e()),j(a,t)),X=(a,t,e,n,s=0)=>c((e?H:j)(a,t[s],s>y(t)-2?e:B),(i=>{if(s>y(t)-2)return n?.(i)&&x(a,t[s]),i;const r=X(i,t,e,n,s+1);return P(i)&&x(a,t[s]),r})),J=a=>new Set(E(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),k=/^\d+$/,q={Idle:0,Loading:1,Saving:2},z={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},K=B(),V=B(),Q=(a,t,n,s,i,r,l,w={},d=0,A=[])=>{let T,N,g,p=0,m=0,v=0;H(K,A,(()=>0)),H(V,A,(()=>[]));const C=B(),[I,S,_,h,b]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!D(a)||!D(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!D(a)||!D(t),t.setContent]:u("Store type not supported by this Persister"))(l,a,d),[f,M,F]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?$(a):null)??e+t++,t=>{k.test(t)&&y(a)<1e3&&O(a,t)}]})(),s=B();return[(n,i,r,o=[],c=()=>[])=>{a??=ea;const l=t(1);return x(s,l,[n,i,r,o,c]),W(X(i,r??[e],J),l),l},(t,n,...i)=>R(((a,t=[e])=>{const n=[],s=(a,e)=>e==y(t)?O(n,a):null===t[e]?U(a,(a=>s(a,e+1))):R([t[e],null],(t=>s(j(a,t),e+1)));return s(a,0),n})(t,n),(t=>U(t,(t=>j(s,t)[0](a,...n??[],...i))))),a=>c(j(s,a),(([,t,i])=>(X(t,i??[e],void 0,(t=>(G(t,a),P(t)?1:0))),x(s,a),n(a),i))),t=>c(j(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=y(r);c==y(e)?t(a,...r,...s(r)):o(e[c])?R(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),Y=a=>{a!=p&&(p=a,M(C,void 0,p))},q=t=>{(I&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},z=async a=>(2!=p&&(Y(1),m++,await ta((async()=>{try{const e=await t();E(e)?q(e):a?b(a):u("Content is not an array: "+e)}catch(t){r?.(t),a&&b(a)}Y(0)}))),ea),Q=()=>(N&&(i(N),N=void 0),ea),Z=async a=>(1!=p&&(Y(2),v++,await ta((async()=>{try{await n(S,a)}catch(a){r?.(a)}Y(0)}))),ea),aa=()=>(g&&(a.delListener(g),g=void 0),ea),ta=async(...a)=>(O(j(V,A),...a),await(async()=>{if(!j(K,A)){for(x(K,A,1);!o(T=$(j(V,A)));)try{await T()}catch(a){r?.(a)}x(K,A,0)}})(),ea),ea={load:z,startAutoLoad:async a=>{Q(),await z(a);try{N=await s((async(a,t)=>{t||a?2!=p&&(Y(1),m++,q(t??a),Y(0)):await z()}))}catch(a){r?.(a)}return ea},stopAutoLoad:Q,isAutoLoading:()=>!o(N),save:Z,startAutoSave:async()=>(aa(),await Z(),g=a.addDidFinishTransactionListener((()=>{const a=_();h(a)&&Z(a)})),ea),stopAutoSave:aa,isAutoSaving:()=>!o(g),getStatus:()=>p,addStatusListener:a=>f(a,C),delListener:t=>(F(t),a),schedule:ta,getStore:()=>a,destroy:()=>(j(V,A).splice(0,void 0),Q().stopAutoSave()),getStats:()=>({loads:m,saves:v}),...w};return L(ea)},Z="_",aa="_id",ta="SELECT",ea="WHERE",na="TABLE",sa="ALTER "+na,ia="DELETE FROM",ra=ta+"*FROM",oa="pragma_",ca="data_version",la="schema_version",Ea="pragma_table_",wa=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,ya=a=>`"${a.replace(/"/g,'""')}"`,da=(a,t=[1])=>A(T(a,(()=>"$"+t[0]++)),n),ua=JSON.stringify,Ra=JSON.parse,Aa=(a,t,e,s,i,r=Ta,c,l)=>{const E=B();return[async()=>{E.clear(),T(await e(a,t),(({tn:a,cn:t})=>W(H(E,a,J),t)))},async(t,e)=>((a,t)=>M(j(E,a),t))(t,e)?I(g(T(await a(ra+ya(t)),(a=>{return[a[e],l?(t=_(a,e),n=l,I(h(t,((a,t)=>[t,n(a,t)])))):_(a,e)];var t,n})),(([a,t])=>!o(a)&&!D(t)))):{},async(t,e,s,l,w,y=!1)=>{const u=J();h(s??{},(a=>T(C(a??{}),(a=>W(u,a)))));const R=F(u);if(!y&&w&&N(R)&&M(E,t))return await a("DROP "+na+ya(t)),void x(E,t);const $=j(E,t),p=J(F($));if(N(R)||(M(E,t)?await d(T([e,...R],(async(n,s)=>{G(p,n)||(await a(sa+ya(t)+"ADD"+ya(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+ya(t)+`(${ya(e)})`),W($,n))}))):(await a("CREATE "+na+ya(t)+`(${ya(e)}${i} PRIMARY KEY${A(T(R,(a=>n+ya(a)+i)))});`),x(E,t,J([e,...R])))),await d([...!y&&l?T(F(p),(async n=>{n!=e&&(await a(sa+ya(t)+"DROP"+ya(n)),G($,n))})):[]]),y)o(s)?await a(ia+ya(t)+ea+" true"):await d(h(s,(async(n,s)=>{o(n)?await a(ia+ya(t)+ea+ya(e)+"=$1",[s]):N(R)||await r(a,t,e,C(n),{[s]:c?T(b(n),c):b(n)},$)})));else if(N(R))M(E,t)&&await a(ia+ya(t)+ea+" true");else{const n=g(F(j(E,t)),(a=>a!=e)),i={},o=[];h(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),O(o,t)})),await r(a,t,e,n,i),await a(ia+ya(t)+ea+ya(e)+`NOT IN(${da(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Ta=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+ya(t)+"("+((...a)=>A(T(a,ya),n))(e,...s)+")VALUES"+A(h(i,(a=>"($"+r[0]+++","+da(a,r)+")")),n)+"ON CONFLICT("+ya(e)+")DO UPDATE SET"+A(T(s,(a=>ya(a)+"=excluded."+ya(a))),n),h(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Na=(a,t,e,n,s,i,r,[o,c,l],E,w,y,d,u,R)=>{const[A,T,N,g]=Aa(t,E,w,s,u,R),O=Q(a,(async()=>await g((async()=>{return await A(),a=(await T(o,c))[Z]?.[l]??"null",Ra(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await A(),await N(o,c,{[Z]:{[l]:(t=a()??null,ua(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:()=>(O.stopAutoLoad().stopAutoSave(),i(),O)},0,y);return O},ga=(a,t,e,n,s,i,r,[c,l,[E,w,y]],u,R,A,T,N,O,$,p)=>{const[m,v,C,L]=Aa(t,u,R,s,N,O,$,p),S=async(a,t)=>await d(Y(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await C(e,n,a[r],s,i,t)}))),_=async(a,t)=>w?await C(y,aa,{[Z]:a},!0,!0,t):null,h=Q(a,(async()=>await L((async()=>{await m();const a=await(async()=>I(g(await d(Y(c,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>E?(await v(y,aa))[Z]:{})();return D(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),o(t)){const[t,e]=a();await S(t),await _(e)}else await S(t[0],!0),await _(t[1],!0)}))),e,n,s,r,{[T]:()=>A,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},0,A);return h},Oa="ColumnName",$a="store",pa="json",ma=$a+"TableName",va=$a+"Id"+Oa,Ca=$a+Oa,La="autoLoadIntervalSeconds",Ia="rowId"+Oa,Sa="tableId",_a="tableName",ha="deleteEmptyColumns",ba="deleteEmptyTable",fa={mode:pa,[La]:1},Da={load:0,save:0,[_a]:t+"_values"},Ma=(a,t,e,n,s)=>{const i=B();return h(a,((a,r)=>{const c=w(b(S(t,l(a)?{[e]:a}:a)),0,f(t));o(c[0])||n(r,c[0])||(s(r,c[0]),x(i,r,c))})),i},Pa=a=>{const e=(a=>S(fa,l(a)?{[ma]:a}:a??{}))(a),n=e[La];if(e.mode==pa){const a=e[ma]??t;return[1,n,[a,e[va]??aa,e[Ca]??$a],J(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(b(S(Da,r)),0,f(Da)),c=o[2],E=J(c),y=J(c);return[0,n,[Ma(s,{[Sa]:null,[Ia]:aa},Sa,(a=>M(y,a)),(a=>W(E,a))),Ma(i,{[_a]:null,[Ia]:aa,[ha]:0,[ba]:0},_a,((a,t)=>M(y,t)),((a,t)=>W(E,t))),o],E]},Fa=(a,t,n,s,i,o,c,l,E,w,y="getDb",d)=>{let u,R,A;const T=wa(n,o),[N,g,O,$]=Pa(t);return(N?Na:ga)(a,T,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await T(`${ta} ${ca} d,${la} s,TOTAL_CHANGES() c FROM ${oa}${ca} JOIN ${oa}${la}`);t==u&&e==R&&n==A||(null!=u&&a(),u=t,R=e,A=n)}catch{}}),1e3*g),n=()=>{u=R=A=null,r(t)},o=s((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,l,E,O,F($),(async(a,t)=>await a(`${ta} t.name tn,c.name cn FROM ${Ea}list()t,${Ea}info(t.name)c ${ea} t.schema='main'AND t.type IN('table','view')AND t.name IN(${da(t)})ORDER BY t.name,c.name`,t)),w,y,e,d,(a=>!0===a?1:!1===a?0:a),void 0)},Ua=t,Ga=/^([cd]:)(.+)/,Ba=t+"_data",ja=t+"_table",Ya=(a,t,e,n,s,i,r,o,l,E,w="getDb")=>{const y=wa(e,i),[u,,R,A]=Pa(t),N=async a=>{await y(`CREATE OR REPLACE TRIGGER ${ya(Ba+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${ya(a)} EXECUTE FUNCTION ${Ba}()`)};return(u?Na:ga)(a,y,(async a=>{await y(`CREATE OR REPLACE FUNCTION ${ja}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Ua}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await y(`CREATE EVENT TRIGGER ${ja} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ja}();`)}catch{}return await y(`CREATE OR REPLACE FUNCTION ${Ba}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Ua}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await d(T(F(A),(async a=>{await y(`CREATE TABLE IF NOT EXISTS ${ya(a)}("_id"text PRIMARY KEY)`),await N(a)}))),await n(Ua,(async t=>{return await c((e=t,n=Ga,e?.match(n)),(async([,t,e])=>{M(A,e)&&("c:"==t&&await N(e),a())}));var e,n}))}),s,r,o,l,R,F(A),(async(a,t)=>await a(`${ta} table_name tn,column_name cn FROM information_schema.columns ${ea} table_schema='public'AND table_name IN(${da(t)})`,t)),E,w,"text",void 0,(a=>ua(a)),(a=>Ra(a)))};export{z as Persists,q as Status,Q as createCustomPersister,Ya as createCustomPostgreSqlPersister,Fa as createCustomSqlitePersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,E=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,d=async a=>i.all(a),u=a=>{throw Error(a)},R=(a,t)=>a.forEach(t),A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),N=a=>0==y(a),g=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),$=a=>a.shift(),p=Object,m=a=>p.getPrototypeOf(a),v=p.entries,C=p.keys,L=p.freeze,I=(a=[])=>p.fromEntries(a),S=(...a)=>p.assign({},...a),_=(a,t)=>(delete a[t],a),h=(a,t)=>T(v(a),(([a,e])=>t(e,a))),b=(a,t)=>I(h(a,((a,e)=>[e,t(a,e)]))),f=a=>p.values(a),D=a=>y(C(a)),M=a=>(a=>!o(a)&&c(m(a),(a=>a==p.prototype||o(m(a))),(()=>!0)))(a)&&0==D(a),P=(a,t)=>a?.has(t)??!1,F=a=>o(a)||0==(a=>a?.size??0)(a),U=a=>[...a?.values()??[]],G=(a,t)=>a?.forEach(t),B=(a,t)=>a?.delete(t),j=a=>new Map(a),Y=(a,t)=>a?.get(t),x=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>o(e)?(B(a,t),a):a?.set(t,e),X=(a,t,e,n)=>(P(a,t)?n?.(Y(a,t)):H(a,t,e()),Y(a,t)),J=(a,t,e,n,s=0)=>c((e?X:Y)(a,t[s],s>y(t)-2?e:j),(i=>{if(s>y(t)-2)return n?.(i)&&H(a,t[s]),i;const r=J(i,t,e,n,s+1);return F(i)&&H(a,t[s]),r})),W=a=>new Set(E(a)||o(a)?a:[a]),k=(a,t)=>a?.add(t),q=/^\d+$/,z={Idle:0,Loading:1,Saving:2},K={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},V=j(),Q=j(),Z=(a,t,n,s,i,r,l,w={},d=0,A=[])=>{let T,N,g,p=0,m=0,v=0;X(V,A,(()=>0)),X(Q,A,(()=>[]));const C=j(),[I,S,_,h,b]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:u("Store type not supported by this Persister"))(l,a,d),[f,D,P]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?$(a):null)??e+t++,t=>{q.test(t)&&y(a)<1e3&&O(a,t)}]})(),s=j();return[(n,i,r,o=[],c=()=>[])=>{a??=ea;const l=t(1);return H(s,l,[n,i,r,o,c]),k(J(i,r??[e],W),l),l},(t,n,...i)=>R(((a,t=[e])=>{const n=[],s=(a,e)=>e==y(t)?O(n,a):null===t[e]?G(a,(a=>s(a,e+1))):R([t[e],null],(t=>s(Y(a,t),e+1)));return s(a,0),n})(t,n),(t=>G(t,(t=>Y(s,t)[0](a,...n??[],...i))))),a=>c(Y(s,a),(([,t,i])=>(J(t,i??[e],void 0,(t=>(B(t,a),F(t)?1:0))),H(s,a),n(a),i))),t=>c(Y(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=y(r);c==y(e)?t(a,...r,...s(r)):o(e[c])?R(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),U=a=>{a!=p&&(p=a,D(C,void 0,p))},x=t=>{(I&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},z=async a=>(2!=p&&(U(1),m++,await ta((async()=>{try{const e=await t();E(e)?x(e):a?b(a):u("Content is not an array: "+e)}catch(t){r?.(t),a&&b(a)}U(0)}))),ea),K=()=>(N&&(i(N),N=void 0),ea),Z=async a=>(1!=p&&(U(2),v++,await ta((async()=>{try{await n(S,a)}catch(a){r?.(a)}U(0)}))),ea),aa=()=>(g&&(a.delListener(g),g=void 0),ea),ta=async(...a)=>(O(Y(Q,A),...a),await(async()=>{if(!Y(V,A)){for(H(V,A,1);!o(T=$(Y(Q,A)));)try{await T()}catch(a){r?.(a)}H(V,A,0)}})(),ea),ea={load:z,startAutoLoad:async a=>{K(),await z(a);try{N=await s((async(a,t)=>{t||a?2!=p&&(U(1),m++,x(t??a),U(0)):await z()}))}catch(a){r?.(a)}return ea},stopAutoLoad:K,isAutoLoading:()=>!o(N),save:Z,startAutoSave:async()=>(aa(),await Z(),g=a.addDidFinishTransactionListener((()=>{const a=_();h(a)&&Z(a)})),ea),stopAutoSave:aa,isAutoSaving:()=>!o(g),getStatus:()=>p,addStatusListener:a=>f(a,C),delListener:t=>(P(t),a),schedule:ta,getStore:()=>a,destroy:()=>(Y(Q,A).splice(0,void 0),K().stopAutoSave()),getStats:()=>({loads:m,saves:v}),...w};return L(ea)},aa="_",ta="_id",ea="SELECT",na="WHERE",sa="TABLE",ia="ALTER "+sa,ra="DELETE FROM",oa=ea+"*FROM",ca="pragma_",la="data_version",Ea="schema_version",wa="pragma_table_",ya=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,da=a=>`"${a.replace(/"/g,'""')}"`,ua=(a,t=[1])=>A(T(a,(()=>"$"+t[0]++)),n),Ra=JSON.stringify,Aa=JSON.parse,Ta=(a,t,e,s,i,r=Na,c,l)=>{const E=j();return[async()=>{E.clear(),T(await e(a,t),(({tn:a,cn:t})=>k(X(E,a,W),t)))},async(t,e)=>((a,t)=>P(Y(E,a),t))(t,e)?I(g(T(await a(oa+da(t)),(a=>[a[e],l?b(_(a,e),l):_(a,e)])),(([a,t])=>!o(a)&&!M(t)))):{},async(t,e,s,l,w,y=!1)=>{const u=W();b(s??{},(a=>T(C(a??{}),(a=>k(u,a)))));const R=U(u);if(!y&&w&&N(R)&&P(E,t))return await a("DROP "+sa+da(t)),void H(E,t);const $=Y(E,t),p=W(U($));if(N(R)||(P(E,t)?await d(T([e,...R],(async(n,s)=>{B(p,n)||(await a(ia+da(t)+"ADD"+da(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+da(t)+`(${da(e)})`),k($,n))}))):(await a("CREATE "+sa+da(t)+`(${da(e)}${i} PRIMARY KEY${A(T(R,(a=>n+da(a)+i)))});`),H(E,t,W([e,...R])))),await d([...!y&&l?T(U(p),(async n=>{n!=e&&(await a(ia+da(t)+"DROP"+da(n)),B($,n))})):[]]),y)o(s)?await a(ra+da(t)+na+" true"):await d(h(s,(async(n,s)=>{o(n)?await a(ra+da(t)+na+da(e)+"=$1",[s]):N(R)||await r(a,t,e,C(n),{[s]:c?T(f(n),c):f(n)},$)})));else if(N(R))P(E,t)&&await a(ra+da(t)+na+" true");else{const n=g(U(Y(E,t)),(a=>a!=e)),i={},o=[];b(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),O(o,t)})),await r(a,t,e,n,i),await a(ra+da(t)+na+da(e)+`NOT IN(${ua(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Na=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+da(t)+"("+((...a)=>A(T(a,da),n))(e,...s)+")VALUES"+A(h(i,(a=>"($"+r[0]+++","+ua(a,r)+")")),n)+"ON CONFLICT("+da(e)+")DO UPDATE SET"+A(T(s,(a=>da(a)+"=excluded."+da(a))),n),h(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},ga=(a,t,e,n,s,i,r,[o,c,l],E,w,y,d,u,R)=>{const[A,T,N,g]=Ta(t,E,w,s,u,R),O=Z(a,(async()=>await g((async()=>{return await A(),a=(await T(o,c))[aa]?.[l]??"null",Aa(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await A(),await N(o,c,{[aa]:{[l]:(t=a()??null,Ra(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:()=>(O.stopAutoLoad().stopAutoSave(),i(),O)},0,y);return O},Oa=(a,t,e,n,s,i,r,[c,l,[E,w,y]],u,R,A,T,N,O,$,p)=>{const[m,v,C,L]=Ta(t,u,R,s,N,O,$,p),S=async(a,t)=>await d(x(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await C(e,n,a[r],s,i,t)}))),_=async(a,t)=>w?await C(y,ta,{[aa]:a},!0,!0,t):null,h=Z(a,(async()=>await L((async()=>{await m();const a=await(async()=>I(g(await d(x(c,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>E?(await v(y,ta))[aa]:{})();return M(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),o(t)){const[t,e]=a();await S(t),await _(e)}else await S(t[0],!0),await _(t[1],!0)}))),e,n,s,r,{[T]:()=>A,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},0,A);return h},$a="ColumnName",pa="store",ma="json",va=pa+"TableName",Ca=pa+"Id"+$a,La=pa+$a,Ia="autoLoadIntervalSeconds",Sa="rowId"+$a,_a="tableId",ha="tableName",ba="deleteEmptyColumns",fa="deleteEmptyTable",Da={mode:ma,[Ia]:1},Ma={load:0,save:0,[ha]:t+"_values"},Pa=(a,t,e,n,s)=>{const i=j();return b(a,((a,r)=>{const c=w(f(S(t,l(a)?{[e]:a}:a)),0,D(t));o(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},Fa=a=>{const e=(a=>S(Da,l(a)?{[va]:a}:a??{}))(a),n=e[Ia];if(e.mode==ma){const a=e[va]??t;return[1,n,[a,e[Ca]??ta,e[La]??pa],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(f(S(Ma,r)),0,D(Ma)),c=o[2],E=W(c),y=W(c);return[0,n,[Pa(s,{[_a]:null,[Sa]:ta},_a,(a=>P(y,a)),(a=>k(E,a))),Pa(i,{[ha]:null,[Sa]:ta,[ba]:0,[fa]:0},ha,((a,t)=>P(y,t)),((a,t)=>k(E,t))),o],E]},Ua=(a,t,n,s,i,o,c,l,E,w,y="getDb",d)=>{let u,R,A;const T=ya(n,o),[N,g,O,$]=Fa(t);return(N?ga:Oa)(a,T,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await T(`${ea} ${la} d,${Ea} s,TOTAL_CHANGES() c FROM ${ca}${la} JOIN ${ca}${Ea}`);t==u&&e==R&&n==A||(null!=u&&a(),u=t,R=e,A=n)}catch{}}),1e3*g),n=()=>{u=R=A=null,r(t)},o=s((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,l,E,O,U($),(async(a,t)=>await a(`${ea} t.name tn,c.name cn FROM ${wa}list()t,${wa}info(t.name)c ${na} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ua(t)})ORDER BY t.name,c.name`,t)),w,y,e,d,(a=>!0===a?1:!1===a?0:a),void 0)},Ga=t,Ba=/^([cd]:)(.+)/,ja=t+"_data",Ya=t+"_table",xa=(a,t,e,n,s,i,r,o,l,E,w="getDb")=>{const y=ya(e,i),[u,,R,A]=Fa(t),N=async a=>{await y(`CREATE OR REPLACE TRIGGER ${da(ja+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${da(a)} EXECUTE FUNCTION ${ja}()`)};return(u?ga:Oa)(a,y,(async a=>{await y(`CREATE OR REPLACE FUNCTION ${Ya}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Ga}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await y(`CREATE EVENT TRIGGER ${Ya} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${Ya}();`)}catch{}return await y(`CREATE OR REPLACE FUNCTION ${ja}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Ga}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await d(T(U(A),(async a=>{await y(`CREATE TABLE IF NOT EXISTS ${da(a)}("_id"text PRIMARY KEY)`),await N(a)}))),await n(Ga,(async t=>{return await c((e=t,n=Ba,e?.match(n)),(async([,t,e])=>{P(A,e)&&("c:"==t&&await N(e),a())}));var e,n}))}),s,r,o,l,R,U(A),(async(a,t)=>await a(`${ea} table_name tn,column_name cn FROM information_schema.columns ${na} table_schema='public'AND table_name IN(${ua(t)})`,t)),E,w,"text",void 0,(a=>Ra(a)),(a=>Aa(a)))};export{K as Persists,z as Status,Z as createCustomPersister,xa as createCustomPostgreSqlPersister,Ua as createCustomSqlitePersister};
Binary file
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=(t,e)=>t.forEach(e),o=(t,...e)=>t.push(...e),c=t=>t.shift(),i=Object,d=t=>i.getPrototypeOf(t),l=i.entries,u=i.keys,y=i.freeze,g=(t=[])=>i.fromEntries(t),h=(t,a)=>e(t,(t=>t[a])),v=(t,e)=>e in t,p=(t,e)=>(delete t[e],t),w=(t,e)=>((t,e)=>t.map(e))(l(t),(([t,a])=>e(a,t))),f=t=>n(u(t)),C=a=>(a=>!t(a)&&e(d(a),(e=>e==i.prototype||t(d(e))),(()=>!0)))(a)&&0==f(a),S=(t,e,a)=>(v(t,e)||(t[e]=a()),t[e]),A=e=>t(e)||0==(t=>t?.size??0)(e),b=(t,e)=>t?.forEach(e),L=(t,e)=>t?.delete(e),M=t=>new Map(t),E=(t,e)=>t?.get(e),m=(e,a,n)=>t(n)?(L(e,a),e):e?.set(a,n),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(E(t,e)):m(t,e,a()),E(t,e)},T=(t,a,s,r,o=0)=>e((s?D:E)(t,a[o],o>n(a)-2?s:M),(e=>{if(o>n(a)-2)return r?.(e)&&m(t,a[o]),e;const c=T(e,a,s,r,o+1);return A(e)&&m(t,a[o]),c})),z=e=>new Set(a(e)||t(e)?e:[e]),O=/^\d+$/,P=M(),j=M(),k=(i,d,l,u,g,h,v,p={},w=0,f=[])=>{let S,k,x,F=0,H=0,$=0;D(P,f,(()=>0)),D(j,f,(()=>[]));const q=M(),[B,G,I,J,K]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!C(t)||!C(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!C(t)||!C(e),e.setContent]:s("Store type not supported by this Persister"))(v,i,w),[N,Q,R]=(()=>{let a;const[s,i]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{O.test(e)&&n(t)<1e3&&o(t,e)}]})(),d=M();return[(t,e,n,r=[],o=()=>[])=>{a??=tt;const c=s(1);var i,l;return m(d,c,[t,e,n,r,o]),i=T(e,n??[""],z),l=c,i?.add(l),c},(t,e,...s)=>r(((t,e=[""])=>{const a=[],s=(t,c)=>c==n(e)?o(a,t):null===e[c]?b(t,(t=>s(t,c+1))):r([e[c],null],(e=>s(E(t,e),c+1)));return s(t,0),a})(t,e),(t=>b(t,(t=>E(d,t)[0](a,...e??[],...s))))),t=>e(E(d,t),(([,e,a])=>(T(e,a??[""],void 0,(e=>(L(e,t),A(e)?1:0))),m(d,t),i(t),a))),s=>e(E(d,s),(([e,,s=[],o,c])=>{const i=(...d)=>{const l=n(d);l==n(s)?e(a,...d,...c(d)):t(s[l])?r(o[l]?.(...d)??[],(t=>i(...d,t))):i(...d,s[l])};i()}))]})(),U=t=>{t!=F&&(F=t,Q(q,void 0,F))},V=t=>{(B&&a(t?.[0])?1===t?.[2]?i.applyMergeableChanges:i.setMergeableContent:1===t?.[2]?i.applyChanges:i.setContent)(t)},W=async t=>(2!=F&&(U(1),H++,await _((async()=>{try{const e=await d();a(e)?V(e):t?K(t):s("Content is not an array: "+e)}catch(e){h?.(e),t&&K(t)}U(0)}))),tt),X=()=>(k&&(g(k),k=void 0),tt),Y=async t=>(1!=F&&(U(2),$++,await _((async()=>{try{await l(G,t)}catch(t){h?.(t)}U(0)}))),tt),Z=()=>(x&&(i.delListener(x),x=void 0),tt),_=async(...e)=>(o(E(j,f),...e),await(async()=>{if(!E(P,f)){for(m(P,f,1);!t(S=c(E(j,f)));)try{await S()}catch(t){h?.(t)}m(P,f,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{k=await u((async(t,e)=>{e||t?2!=F&&(U(1),H++,V(e??t),U(0)):await W()}))}catch(t){h?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!t(k),save:Y,startAutoSave:async()=>(Z(),await Y(),x=i.addDidFinishTransactionListener((()=>{const t=I();J(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!t(x),getStatus:()=>F,addStatusListener:t=>N(t,q),delListener:t=>(R(t),i),schedule:_,getStore:()=>i,destroy:()=>(E(j,f).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:H,saves:$}),...p};return y(tt)},x=(t,e)=>[t[e].t,t[e].v],F=(e,a,n,s)=>{const r=t(a)?e:S(e,a,(()=>({})));let o;return w(n,((t,e)=>{s(r,e,t)&&(o=1)})),w(r,((t,e)=>{v(n,e)||(p(r,e),o=1)})),!t(a)&&C(r)&&p(e,a),o},H=(a,n,s="tinybase",r)=>(n.change((t=>S(t,s,g))),k(a,(async()=>{const t=await n.doc();return 2==f(t?.[s])?x(t,s):void 0}),(async(a,r)=>n.change((n=>((a,n,s,r)=>{((t,e)=>{C(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[o,c]=x(a,n),i=()=>{d=1};let d=1;if(e(r,(([a,n])=>{d=0,w(a,((a,n)=>d?0:t(a)?p(o,n):e(o[n],(n=>w(a,((a,s)=>d?0:t(a)?p(n,s):e(h(n,s),(e=>w(a,((a,n)=>t(a)?p(e,n):e[n]=a))),i)))),i))),w(n,((e,a)=>d?0:t(e)?p(c,a):c[a]=e))})),d){const[t,e]=s();F(o,void 0,t,((t,e,a)=>F(o,e,a,((t,e,a)=>F(t,e,a,((t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1})))))),F(c,void 0,e,((t,e,a)=>{h(c,e)!==a&&(c[e]=a)}))}})(n,s,a,r)))),(t=>{const e=({doc:e})=>t(x(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),r,1,{getDocHandle:()=>n}));export{H as createAutomergePersister};
1
+ const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=(t,e)=>t.forEach(e),o=(t,...e)=>t.push(...e),c=t=>t.shift(),i=Object,d=t=>i.getPrototypeOf(t),l=i.entries,u=i.keys,y=i.freeze,g=(t=[])=>i.fromEntries(t),h=(t,a)=>e(t,(t=>t[a])),v=(t,e)=>e in t,p=(t,e)=>(delete t[e],t),w=(t,e)=>g(((t,e)=>((t,e)=>t.map(e))(l(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),f=t=>n(u(t)),C=a=>(a=>!t(a)&&e(d(a),(e=>e==i.prototype||t(d(e))),(()=>!0)))(a)&&0==f(a),S=(t,e,a)=>(v(t,e)||(t[e]=a()),t[e]),A=e=>t(e)||0==(t=>t?.size??0)(e),b=(t,e)=>t?.forEach(e),L=(t,e)=>t?.delete(e),M=t=>new Map(t),E=(t,e)=>t?.get(e),m=(e,a,n)=>t(n)?(L(e,a),e):e?.set(a,n),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(E(t,e)):m(t,e,a()),E(t,e)},T=(t,a,s,r,o=0)=>e((s?D:E)(t,a[o],o>n(a)-2?s:M),(e=>{if(o>n(a)-2)return r?.(e)&&m(t,a[o]),e;const c=T(e,a,s,r,o+1);return A(e)&&m(t,a[o]),c})),z=e=>new Set(a(e)||t(e)?e:[e]),O=/^\d+$/,P=M(),j=M(),k=(i,d,l,u,g,h,v,p={},w=0,f=[])=>{let S,k,x,F=0,H=0,$=0;D(P,f,(()=>0)),D(j,f,(()=>[]));const q=M(),[B,G,I,J,K]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!C(t)||!C(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!C(t)||!C(e),e.setContent]:s("Store type not supported by this Persister"))(v,i,w),[N,Q,R]=(()=>{let a;const[s,i]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{O.test(e)&&n(t)<1e3&&o(t,e)}]})(),d=M();return[(t,e,n,r=[],o=()=>[])=>{a??=tt;const c=s(1);var i,l;return m(d,c,[t,e,n,r,o]),i=T(e,n??[""],z),l=c,i?.add(l),c},(t,e,...s)=>r(((t,e=[""])=>{const a=[],s=(t,c)=>c==n(e)?o(a,t):null===e[c]?b(t,(t=>s(t,c+1))):r([e[c],null],(e=>s(E(t,e),c+1)));return s(t,0),a})(t,e),(t=>b(t,(t=>E(d,t)[0](a,...e??[],...s))))),t=>e(E(d,t),(([,e,a])=>(T(e,a??[""],void 0,(e=>(L(e,t),A(e)?1:0))),m(d,t),i(t),a))),s=>e(E(d,s),(([e,,s=[],o,c])=>{const i=(...d)=>{const l=n(d);l==n(s)?e(a,...d,...c(d)):t(s[l])?r(o[l]?.(...d)??[],(t=>i(...d,t))):i(...d,s[l])};i()}))]})(),U=t=>{t!=F&&(F=t,Q(q,void 0,F))},V=t=>{(B&&a(t?.[0])?1===t?.[2]?i.applyMergeableChanges:i.setMergeableContent:1===t?.[2]?i.applyChanges:i.setContent)(t)},W=async t=>(2!=F&&(U(1),H++,await _((async()=>{try{const e=await d();a(e)?V(e):t?K(t):s("Content is not an array: "+e)}catch(e){h?.(e),t&&K(t)}U(0)}))),tt),X=()=>(k&&(g(k),k=void 0),tt),Y=async t=>(1!=F&&(U(2),$++,await _((async()=>{try{await l(G,t)}catch(t){h?.(t)}U(0)}))),tt),Z=()=>(x&&(i.delListener(x),x=void 0),tt),_=async(...e)=>(o(E(j,f),...e),await(async()=>{if(!E(P,f)){for(m(P,f,1);!t(S=c(E(j,f)));)try{await S()}catch(t){h?.(t)}m(P,f,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{k=await u((async(t,e)=>{e||t?2!=F&&(U(1),H++,V(e??t),U(0)):await W()}))}catch(t){h?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!t(k),save:Y,startAutoSave:async()=>(Z(),await Y(),x=i.addDidFinishTransactionListener((()=>{const t=I();J(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!t(x),getStatus:()=>F,addStatusListener:t=>N(t,q),delListener:t=>(R(t),i),schedule:_,getStore:()=>i,destroy:()=>(E(j,f).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:H,saves:$}),...p};return y(tt)},x=(t,e)=>[t[e].t,t[e].v],F=(e,a,n,s)=>{const r=t(a)?e:S(e,a,(()=>({})));let o;return w(n,((t,e)=>{s(r,e,t)&&(o=1)})),w(r,((t,e)=>{v(n,e)||(p(r,e),o=1)})),!t(a)&&C(r)&&p(e,a),o},H=(a,n,s="tinybase",r)=>(n.change((t=>S(t,s,g))),k(a,(async()=>{const t=await n.doc();return 2==f(t?.[s])?x(t,s):void 0}),(async(a,r)=>n.change((n=>((a,n,s,r)=>{((t,e)=>{C(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[o,c]=x(a,n),i=()=>{d=1};let d=1;if(e(r,(([a,n])=>{d=0,w(a,((a,n)=>d?0:t(a)?p(o,n):e(o[n],(n=>w(a,((a,s)=>d?0:t(a)?p(n,s):e(h(n,s),(e=>w(a,((a,n)=>t(a)?p(e,n):e[n]=a))),i)))),i))),w(n,((e,a)=>d?0:t(e)?p(c,a):c[a]=e))})),d){const[t,e]=s();F(o,void 0,t,((t,e,a)=>F(o,e,a,((t,e,a)=>F(t,e,a,((t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1})))))),F(c,void 0,e,((t,e,a)=>{h(c,e)!==a&&(c[e]=a)}))}})(n,s,a,r)))),(t=>{const e=({doc:e})=>t(x(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),r,1,{getDocHandle:()=>n}));export{H as createAutomergePersister};
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=(t,e)=>t.forEach(e),o=(t,...e)=>t.push(...e),c=t=>t.shift(),i=Object,d=t=>i.getPrototypeOf(t),l=i.entries,u=i.keys,y=i.freeze,g=(t=[])=>i.fromEntries(t),h=(t,a)=>e(t,(t=>t[a])),v=(t,e)=>e in t,p=(t,e)=>(delete t[e],t),w=(t,e)=>((t,e)=>t.map(e))(l(t),(([t,a])=>e(a,t))),f=t=>n(u(t)),C=a=>(a=>!t(a)&&e(d(a),(e=>e==i.prototype||t(d(e))),(()=>!0)))(a)&&0==f(a),S=(t,e,a)=>(v(t,e)||(t[e]=a()),t[e]),A=e=>t(e)||0==(t=>t?.size??0)(e),b=(t,e)=>t?.forEach(e),L=(t,e)=>t?.delete(e),M=t=>new Map(t),E=(t,e)=>t?.get(e),m=(e,a,n)=>t(n)?(L(e,a),e):e?.set(a,n),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(E(t,e)):m(t,e,a()),E(t,e)},T=(t,a,s,r,o=0)=>e((s?D:E)(t,a[o],o>n(a)-2?s:M),(e=>{if(o>n(a)-2)return r?.(e)&&m(t,a[o]),e;const c=T(e,a,s,r,o+1);return A(e)&&m(t,a[o]),c})),z=e=>new Set(a(e)||t(e)?e:[e]),O=/^\d+$/,P=M(),j=M(),k=(i,d,l,u,g,h,v,p={},w=0,f=[])=>{let S,k,x,F=0,H=0,$=0;D(P,f,(()=>0)),D(j,f,(()=>[]));const q=M(),[B,G,I,J,K]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!C(t)||!C(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!C(t)||!C(e),e.setContent]:s("Store type not supported by this Persister"))(v,i,w),[N,Q,R]=(()=>{let a;const[s,i]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{O.test(e)&&n(t)<1e3&&o(t,e)}]})(),d=M();return[(t,e,n,r=[],o=()=>[])=>{a??=tt;const c=s(1);var i,l;return m(d,c,[t,e,n,r,o]),i=T(e,n??[""],z),l=c,i?.add(l),c},(t,e,...s)=>r(((t,e=[""])=>{const a=[],s=(t,c)=>c==n(e)?o(a,t):null===e[c]?b(t,(t=>s(t,c+1))):r([e[c],null],(e=>s(E(t,e),c+1)));return s(t,0),a})(t,e),(t=>b(t,(t=>E(d,t)[0](a,...e??[],...s))))),t=>e(E(d,t),(([,e,a])=>(T(e,a??[""],void 0,(e=>(L(e,t),A(e)?1:0))),m(d,t),i(t),a))),s=>e(E(d,s),(([e,,s=[],o,c])=>{const i=(...d)=>{const l=n(d);l==n(s)?e(a,...d,...c(d)):t(s[l])?r(o[l]?.(...d)??[],(t=>i(...d,t))):i(...d,s[l])};i()}))]})(),U=t=>{t!=F&&(F=t,Q(q,void 0,F))},V=t=>{(B&&a(t?.[0])?1===t?.[2]?i.applyMergeableChanges:i.setMergeableContent:1===t?.[2]?i.applyChanges:i.setContent)(t)},W=async t=>(2!=F&&(U(1),H++,await _((async()=>{try{const e=await d();a(e)?V(e):t?K(t):s("Content is not an array: "+e)}catch(e){h?.(e),t&&K(t)}U(0)}))),tt),X=()=>(k&&(g(k),k=void 0),tt),Y=async t=>(1!=F&&(U(2),$++,await _((async()=>{try{await l(G,t)}catch(t){h?.(t)}U(0)}))),tt),Z=()=>(x&&(i.delListener(x),x=void 0),tt),_=async(...e)=>(o(E(j,f),...e),await(async()=>{if(!E(P,f)){for(m(P,f,1);!t(S=c(E(j,f)));)try{await S()}catch(t){h?.(t)}m(P,f,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{k=await u((async(t,e)=>{e||t?2!=F&&(U(1),H++,V(e??t),U(0)):await W()}))}catch(t){h?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!t(k),save:Y,startAutoSave:async()=>(Z(),await Y(),x=i.addDidFinishTransactionListener((()=>{const t=I();J(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!t(x),getStatus:()=>F,addStatusListener:t=>N(t,q),delListener:t=>(R(t),i),schedule:_,getStore:()=>i,destroy:()=>(E(j,f).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:H,saves:$}),...p};return y(tt)},x=(t,e)=>[t[e].t,t[e].v],F=(e,a,n,s)=>{const r=t(a)?e:S(e,a,(()=>({})));let o;return w(n,((t,e)=>{s(r,e,t)&&(o=1)})),w(r,((t,e)=>{v(n,e)||(p(r,e),o=1)})),!t(a)&&C(r)&&p(e,a),o},H=(a,n,s="tinybase",r)=>(n.change((t=>S(t,s,g))),k(a,(async()=>{const t=await n.doc();return 2==f(t?.[s])?x(t,s):void 0}),(async(a,r)=>n.change((n=>((a,n,s,r)=>{((t,e)=>{C(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[o,c]=x(a,n),i=()=>{d=1};let d=1;if(e(r,(([a,n])=>{d=0,w(a,((a,n)=>d?0:t(a)?p(o,n):e(o[n],(n=>w(a,((a,s)=>d?0:t(a)?p(n,s):e(h(n,s),(e=>w(a,((a,n)=>t(a)?p(e,n):e[n]=a))),i)))),i))),w(n,((e,a)=>d?0:t(e)?p(c,a):c[a]=e))})),d){const[t,e]=s();F(o,void 0,t,((t,e,a)=>F(o,e,a,((t,e,a)=>F(t,e,a,((t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1})))))),F(c,void 0,e,((t,e,a)=>{h(c,e)!==a&&(c[e]=a)}))}})(n,s,a,r)))),(t=>{const e=({doc:e})=>t(x(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),r,1,{getDocHandle:()=>n}));export{H as createAutomergePersister};
1
+ const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=(t,e)=>t.forEach(e),o=(t,...e)=>t.push(...e),c=t=>t.shift(),i=Object,d=t=>i.getPrototypeOf(t),l=i.entries,u=i.keys,y=i.freeze,g=(t=[])=>i.fromEntries(t),h=(t,a)=>e(t,(t=>t[a])),v=(t,e)=>e in t,p=(t,e)=>(delete t[e],t),w=(t,e)=>g(((t,e)=>((t,e)=>t.map(e))(l(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),f=t=>n(u(t)),C=a=>(a=>!t(a)&&e(d(a),(e=>e==i.prototype||t(d(e))),(()=>!0)))(a)&&0==f(a),S=(t,e,a)=>(v(t,e)||(t[e]=a()),t[e]),A=e=>t(e)||0==(t=>t?.size??0)(e),b=(t,e)=>t?.forEach(e),L=(t,e)=>t?.delete(e),M=t=>new Map(t),E=(t,e)=>t?.get(e),m=(e,a,n)=>t(n)?(L(e,a),e):e?.set(a,n),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(E(t,e)):m(t,e,a()),E(t,e)},T=(t,a,s,r,o=0)=>e((s?D:E)(t,a[o],o>n(a)-2?s:M),(e=>{if(o>n(a)-2)return r?.(e)&&m(t,a[o]),e;const c=T(e,a,s,r,o+1);return A(e)&&m(t,a[o]),c})),z=e=>new Set(a(e)||t(e)?e:[e]),O=/^\d+$/,P=M(),j=M(),k=(i,d,l,u,g,h,v,p={},w=0,f=[])=>{let S,k,x,F=0,H=0,$=0;D(P,f,(()=>0)),D(j,f,(()=>[]));const q=M(),[B,G,I,J,K]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!C(t)||!C(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!C(t)||!C(e),e.setContent]:s("Store type not supported by this Persister"))(v,i,w),[N,Q,R]=(()=>{let a;const[s,i]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{O.test(e)&&n(t)<1e3&&o(t,e)}]})(),d=M();return[(t,e,n,r=[],o=()=>[])=>{a??=tt;const c=s(1);var i,l;return m(d,c,[t,e,n,r,o]),i=T(e,n??[""],z),l=c,i?.add(l),c},(t,e,...s)=>r(((t,e=[""])=>{const a=[],s=(t,c)=>c==n(e)?o(a,t):null===e[c]?b(t,(t=>s(t,c+1))):r([e[c],null],(e=>s(E(t,e),c+1)));return s(t,0),a})(t,e),(t=>b(t,(t=>E(d,t)[0](a,...e??[],...s))))),t=>e(E(d,t),(([,e,a])=>(T(e,a??[""],void 0,(e=>(L(e,t),A(e)?1:0))),m(d,t),i(t),a))),s=>e(E(d,s),(([e,,s=[],o,c])=>{const i=(...d)=>{const l=n(d);l==n(s)?e(a,...d,...c(d)):t(s[l])?r(o[l]?.(...d)??[],(t=>i(...d,t))):i(...d,s[l])};i()}))]})(),U=t=>{t!=F&&(F=t,Q(q,void 0,F))},V=t=>{(B&&a(t?.[0])?1===t?.[2]?i.applyMergeableChanges:i.setMergeableContent:1===t?.[2]?i.applyChanges:i.setContent)(t)},W=async t=>(2!=F&&(U(1),H++,await _((async()=>{try{const e=await d();a(e)?V(e):t?K(t):s("Content is not an array: "+e)}catch(e){h?.(e),t&&K(t)}U(0)}))),tt),X=()=>(k&&(g(k),k=void 0),tt),Y=async t=>(1!=F&&(U(2),$++,await _((async()=>{try{await l(G,t)}catch(t){h?.(t)}U(0)}))),tt),Z=()=>(x&&(i.delListener(x),x=void 0),tt),_=async(...e)=>(o(E(j,f),...e),await(async()=>{if(!E(P,f)){for(m(P,f,1);!t(S=c(E(j,f)));)try{await S()}catch(t){h?.(t)}m(P,f,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{k=await u((async(t,e)=>{e||t?2!=F&&(U(1),H++,V(e??t),U(0)):await W()}))}catch(t){h?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!t(k),save:Y,startAutoSave:async()=>(Z(),await Y(),x=i.addDidFinishTransactionListener((()=>{const t=I();J(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!t(x),getStatus:()=>F,addStatusListener:t=>N(t,q),delListener:t=>(R(t),i),schedule:_,getStore:()=>i,destroy:()=>(E(j,f).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:H,saves:$}),...p};return y(tt)},x=(t,e)=>[t[e].t,t[e].v],F=(e,a,n,s)=>{const r=t(a)?e:S(e,a,(()=>({})));let o;return w(n,((t,e)=>{s(r,e,t)&&(o=1)})),w(r,((t,e)=>{v(n,e)||(p(r,e),o=1)})),!t(a)&&C(r)&&p(e,a),o},H=(a,n,s="tinybase",r)=>(n.change((t=>S(t,s,g))),k(a,(async()=>{const t=await n.doc();return 2==f(t?.[s])?x(t,s):void 0}),(async(a,r)=>n.change((n=>((a,n,s,r)=>{((t,e)=>{C(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[o,c]=x(a,n),i=()=>{d=1};let d=1;if(e(r,(([a,n])=>{d=0,w(a,((a,n)=>d?0:t(a)?p(o,n):e(o[n],(n=>w(a,((a,s)=>d?0:t(a)?p(n,s):e(h(n,s),(e=>w(a,((a,n)=>t(a)?p(e,n):e[n]=a))),i)))),i))),w(n,((e,a)=>d?0:t(e)?p(c,a):c[a]=e))})),d){const[t,e]=s();F(o,void 0,t,((t,e,a)=>F(o,e,a,((t,e,a)=>F(t,e,a,((t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1})))))),F(c,void 0,e,((t,e,a)=>{h(c,e)!==a&&(c[e]=a)}))}})(n,s,a,r)))),(t=>{const e=({doc:e})=>t(x(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),r,1,{getDocHandle:()=>n}));export{H as createAutomergePersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N=a=>a.shift(),$="_",f="_id",O="SELECT",S="WHERE",C="TABLE",T="ALTER "+C,I="DELETE FROM",L=O+"*FROM",b="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>r(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],x=(a,t)=>a?.forEach(t),B=(a,t)=>a?.delete(t),J=Object,Y=a=>J.getPrototypeOf(a),k=J.entries,z=J.keys,G=J.freeze,H=(a=[])=>J.fromEntries(a),K=(...a)=>J.assign({},...a),Q=(a,t)=>(delete a[t],a),V=(a,t)=>g(k(a),(([a,e])=>t(e,a))),W=a=>J.values(a),X=a=>u(z(a)),q=a=>(a=>!r(a)&&c(Y(a),(a=>a==J.prototype||r(Y(a))),(()=>!0)))(a)&&0==X(a),Z=JSON.stringify,aa=JSON.parse,ta=a=>new Map(a),ea=(a,t)=>a?.get(t),na=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),sa=(a,t,e)=>r(e)?(B(a,t),a):a?.set(t,e),ia=(a,t,e,n)=>(F(a,t)?n?.(ea(a,t)):sa(a,t,e()),ea(a,t)),oa=(a,t,e,n,s=0)=>c((e?ia:ea)(a,t[s],s>u(t)-2?e:ta),(i=>{if(s>u(t)-2)return n?.(i)&&sa(a,t[s]),i;const o=oa(i,t,e,n,s+1);return U(i)&&sa(a,t[s]),o})),ra=a=>new Set(w(a)||r(a)?a:[a]),ca=(a,t)=>a?.add(t),la=/^\d+$/,wa=ta(),ya=ta(),ua=(a,t,n,s,i,o,l,y={},d=0,E=[])=>{let g,A,h,$=0,f=0,O=0;ia(wa,E,(()=>0)),ia(ya,E,(()=>[]));const S=ta(),[C,T,I,L,b]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:v("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?N(a):null)??e+t++,t=>{la.test(t)&&u(a)<1e3&&m(a,t)}]})(),s=ta();return[(n,i,o,r=[],c=()=>[])=>{a??=z;const l=t(1);return sa(s,l,[n,i,o,r,c]),ca(oa(i,o??[e],ra),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?m(n,a):null===t[e]?x(a,(a=>s(a,e+1))):p([t[e],null],(t=>s(ea(a,t),e+1)));return s(a,0),n})(t,n),(t=>x(t,(t=>ea(s,t)[0](a,...n??[],...i))))),a=>c(ea(s,a),(([,t,i])=>(oa(t,i??[e],void 0,(t=>(B(t,a),U(t)?1:0))),sa(s,a),n(a),i))),t=>c(ea(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const c=u(o);c==u(e)?t(a,...o,...s(o)):r(e[c])?p(n[c]?.(...o)??[],(a=>i(...o,a))):i(...o,e[c])};i()}))]})(),_=a=>{a!=$&&($=a,R(S,void 0,$))},P=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=$&&(_(1),f++,await k((async()=>{try{const e=await t();w(e)?P(e):a?b(a):v("Content is not an array: "+e)}catch(t){o?.(t),a&&b(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),J=async a=>(1!=$&&(_(2),O++,await k((async()=>{try{await n(T,a)}catch(a){o?.(a)}_(0)}))),z),Y=()=>(h&&(a.delListener(h),h=void 0),z),k=async(...a)=>(m(ea(ya,E),...a),await(async()=>{if(!ea(wa,E)){for(sa(wa,E,1);!r(g=N(ea(ya,E)));)try{await g()}catch(a){o?.(a)}sa(wa,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=$&&(_(1),f++,P(t??a),_(0)):await F()}))}catch(a){o?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!r(A),save:J,startAutoSave:async()=>(Y(),await J(),h=a.addDidFinishTransactionListener((()=>{const a=I();L(a)&&J(a)})),z),stopAutoSave:Y,isAutoSaving:()=>!r(h),getStatus:()=>$,addStatusListener:a=>D(a,S),delListener:t=>(M(t),a),schedule:k,getStore:()=>a,destroy:()=>(ea(ya,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:f,saves:O}),...y};return G(z)},da=(a,t,e,s,i,o=va,c,l)=>{const w=ta();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>ca(ia(w,a,ra),t)))},async(t,e)=>((a,t)=>F(ea(w,a),t))(t,e)?H(h(g(await a(L+_(t)),(a=>{return[a[e],l?(t=Q(a,e),n=l,H(V(t,((a,t)=>[t,n(a,t)])))):Q(a,e)];var t,n})),(([a,t])=>!r(a)&&!q(t)))):{},async(t,e,s,l,y,u=!1)=>{const v=ra();V(s??{},(a=>g(z(a??{}),(a=>ca(v,a)))));const p=j(v);if(!u&&y&&A(p)&&F(w,t))return await a("DROP "+C+_(t)),void sa(w,t);const N=ea(w,t),$=ra(j(N));if(A(p)||(F(w,t)?await d(g([e,...p],(async(n,s)=>{B($,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ca(N,n))}))):(await a("CREATE "+C+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(p,(a=>n+_(a)+i)))});`),sa(w,t,ra([e,...p])))),await d([...!u&&l?g(j($),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),B(N,n))})):[]]),u)r(s)?await a(I+_(t)+S+" true"):await d(V(s,(async(n,s)=>{r(n)?await a(I+_(t)+S+_(e)+"=$1",[s]):A(p)||await o(a,t,e,z(n),{[s]:c?g(W(n),c):W(n)},N)})));else if(A(p))F(w,t)&&await a(I+_(t)+S+" true");else{const n=h(j(ea(w,t)),(a=>a!=e)),i={},r=[];V(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(r,t)})),await o(a,t,e,n,i),await a(I+_(t)+S+_(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,e,s,i)=>{const o=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(V(i,(a=>"($"+o[0]+++","+P(a,o)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),V(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},pa=(a,t,e,n,s,i,o,[r,c,l],w,y,u,d,v,p)=>{const[E,g,A,h]=da(t,w,y,s,v,p),m=ua(a,(async()=>await h((async()=>{return await E(),a=(await g(r,c))[$]?.[l]??"null",aa(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(r,c,{[$]:{[l]:(t=a()??null,Z(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,u);return m},Ea=(a,t,e,n,s,i,o,[c,l,[w,y,u]],v,p,E,g,A,m,N,O)=>{const[S,C,T,I]=da(t,v,p,s,A,m,N,O),L=async(a,t)=>await d(na(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await T(e,n,a[o],s,i,t)}))),b=async(a,t)=>y?await T(u,f,{[$]:a},!0,!0,t):null,D=ua(a,(async()=>await I((async()=>{await S();const a=await(async()=>H(h(await d(na(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>w?(await C(u,f))[$]:{})();return q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await L(t),await b(e)}else await L(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},ga="ColumnName",Aa="store",ha="json",ma=Aa+"TableName",Na=Aa+"Id"+ga,$a=Aa+ga,fa="autoLoadIntervalSeconds",Oa="rowId"+ga,Sa="tableId",Ca="tableName",Ta="deleteEmptyColumns",Ia="deleteEmptyTable",La={mode:ha,[fa]:1},ba={load:0,save:0,[Ca]:t+"_values"},Da=(a,t,e,n,s)=>{const i=ta();return V(a,((a,o)=>{const c=y(W(K(t,l(a)?{[e]:a}:a)),0,X(t));r(c[0])||n(o,c[0])||(s(o,c[0]),sa(i,o,c))})),i},Ra=(a,n,s,i,r,c,w,u,d,v,p="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[N,$,C,T]=(a=>{const e=(a=>K(La,l(a)?{[ma]:a}:a??{}))(a),n=e[fa];if(e.mode==ha){const a=e[ma]??t;return[1,n,[a,e[Na]??f,e[$a]??Aa],ra(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,r=y(W(K(ba,o)),0,X(ba)),c=r[2],w=ra(c),u=ra(c);return[0,n,[Da(s,{[Sa]:null,[Oa]:f},Sa,(a=>F(u,a)),(a=>ca(w,a))),Da(i,{[Ca]:null,[Oa]:f,[Ta]:0,[Ia]:0},Ca,((a,t)=>F(u,t)),((a,t)=>ca(w,t))),r],w]})(n);return(N?pa:Ea)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${O} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${b}${D} JOIN ${b}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*$),n=()=>{g=A=h=null,o(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(s)}}),(a=>a()),w,u,d,C,j(T),(async(a,t)=>await a(`${O} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${S} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},Ma=(a,t,e,n,s)=>Ra(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,(()=>0),1,t);export{Ma as createCrSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N=a=>a.shift(),$="_",f="_id",O="SELECT",S="WHERE",C="TABLE",T="ALTER "+C,I="DELETE FROM",L=O+"*FROM",b="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>r(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],x=(a,t)=>a?.forEach(t),B=(a,t)=>a?.delete(t),J=Object,Y=a=>J.getPrototypeOf(a),k=J.entries,z=J.keys,G=J.freeze,H=(a=[])=>J.fromEntries(a),K=(...a)=>J.assign({},...a),Q=(a,t)=>(delete a[t],a),V=(a,t)=>g(k(a),(([a,e])=>t(e,a))),W=(a,t)=>H(V(a,((a,e)=>[e,t(a,e)]))),X=a=>J.values(a),q=a=>u(z(a)),Z=a=>(a=>!r(a)&&c(Y(a),(a=>a==J.prototype||r(Y(a))),(()=>!0)))(a)&&0==q(a),aa=JSON.stringify,ta=JSON.parse,ea=a=>new Map(a),na=(a,t)=>a?.get(t),sa=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),ia=(a,t,e)=>r(e)?(B(a,t),a):a?.set(t,e),oa=(a,t,e,n)=>(F(a,t)?n?.(na(a,t)):ia(a,t,e()),na(a,t)),ra=(a,t,e,n,s=0)=>c((e?oa:na)(a,t[s],s>u(t)-2?e:ea),(i=>{if(s>u(t)-2)return n?.(i)&&ia(a,t[s]),i;const o=ra(i,t,e,n,s+1);return U(i)&&ia(a,t[s]),o})),ca=a=>new Set(w(a)||r(a)?a:[a]),la=(a,t)=>a?.add(t),wa=/^\d+$/,ya=ea(),ua=ea(),da=(a,t,n,s,i,o,l,y={},d=0,E=[])=>{let g,A,h,$=0,f=0,O=0;oa(ya,E,(()=>0)),oa(ua,E,(()=>[]));const S=ea(),[C,T,I,L,b]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!Z(a)||!Z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Z(a)||!Z(t),t.setContent]:p("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?N(a):null)??e+t++,t=>{wa.test(t)&&u(a)<1e3&&m(a,t)}]})(),s=ea();return[(n,i,o,r=[],c=()=>[])=>{a??=z;const l=t(1);return ia(s,l,[n,i,o,r,c]),la(ra(i,o??[e],ca),l),l},(t,n,...i)=>v(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?m(n,a):null===t[e]?x(a,(a=>s(a,e+1))):v([t[e],null],(t=>s(na(a,t),e+1)));return s(a,0),n})(t,n),(t=>x(t,(t=>na(s,t)[0](a,...n??[],...i))))),a=>c(na(s,a),(([,t,i])=>(ra(t,i??[e],void 0,(t=>(B(t,a),U(t)?1:0))),ia(s,a),n(a),i))),t=>c(na(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const c=u(o);c==u(e)?t(a,...o,...s(o)):r(e[c])?v(n[c]?.(...o)??[],(a=>i(...o,a))):i(...o,e[c])};i()}))]})(),_=a=>{a!=$&&($=a,R(S,void 0,$))},P=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=$&&(_(1),f++,await k((async()=>{try{const e=await t();w(e)?P(e):a?b(a):p("Content is not an array: "+e)}catch(t){o?.(t),a&&b(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),J=async a=>(1!=$&&(_(2),O++,await k((async()=>{try{await n(T,a)}catch(a){o?.(a)}_(0)}))),z),Y=()=>(h&&(a.delListener(h),h=void 0),z),k=async(...a)=>(m(na(ua,E),...a),await(async()=>{if(!na(ya,E)){for(ia(ya,E,1);!r(g=N(na(ua,E)));)try{await g()}catch(a){o?.(a)}ia(ya,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=$&&(_(1),f++,P(t??a),_(0)):await F()}))}catch(a){o?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!r(A),save:J,startAutoSave:async()=>(Y(),await J(),h=a.addDidFinishTransactionListener((()=>{const a=I();L(a)&&J(a)})),z),stopAutoSave:Y,isAutoSaving:()=>!r(h),getStatus:()=>$,addStatusListener:a=>D(a,S),delListener:t=>(M(t),a),schedule:k,getStore:()=>a,destroy:()=>(na(ua,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:f,saves:O}),...y};return G(z)},pa=(a,t,e,s,i,o=va,c,l)=>{const w=ea();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>la(oa(w,a,ca),t)))},async(t,e)=>((a,t)=>F(na(w,a),t))(t,e)?H(h(g(await a(L+_(t)),(a=>[a[e],l?W(Q(a,e),l):Q(a,e)])),(([a,t])=>!r(a)&&!Z(t)))):{},async(t,e,s,l,y,u=!1)=>{const p=ca();W(s??{},(a=>g(z(a??{}),(a=>la(p,a)))));const v=j(p);if(!u&&y&&A(v)&&F(w,t))return await a("DROP "+C+_(t)),void ia(w,t);const N=na(w,t),$=ca(j(N));if(A(v)||(F(w,t)?await d(g([e,...v],(async(n,s)=>{B($,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),la(N,n))}))):(await a("CREATE "+C+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(v,(a=>n+_(a)+i)))});`),ia(w,t,ca([e,...v])))),await d([...!u&&l?g(j($),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),B(N,n))})):[]]),u)r(s)?await a(I+_(t)+S+" true"):await d(V(s,(async(n,s)=>{r(n)?await a(I+_(t)+S+_(e)+"=$1",[s]):A(v)||await o(a,t,e,z(n),{[s]:c?g(X(n),c):X(n)},N)})));else if(A(v))F(w,t)&&await a(I+_(t)+S+" true");else{const n=h(j(na(w,t)),(a=>a!=e)),i={},r=[];W(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(r,t)})),await o(a,t,e,n,i),await a(I+_(t)+S+_(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,e,s,i)=>{const o=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(V(i,(a=>"($"+o[0]+++","+P(a,o)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),V(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},Ea=(a,t,e,n,s,i,o,[r,c,l],w,y,u,d,p,v)=>{const[E,g,A,h]=pa(t,w,y,s,p,v),m=da(a,(async()=>await h((async()=>{return await E(),a=(await g(r,c))[$]?.[l]??"null",ta(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(r,c,{[$]:{[l]:(t=a()??null,aa(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,u);return m},ga=(a,t,e,n,s,i,o,[c,l,[w,y,u]],p,v,E,g,A,m,N,O)=>{const[S,C,T,I]=pa(t,p,v,s,A,m,N,O),L=async(a,t)=>await d(sa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await T(e,n,a[o],s,i,t)}))),b=async(a,t)=>y?await T(u,f,{[$]:a},!0,!0,t):null,D=da(a,(async()=>await I((async()=>{await S();const a=await(async()=>H(h(await d(sa(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!Z(a[1])))))(),t=await(async()=>w?(await C(u,f))[$]:{})();return Z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await L(t),await b(e)}else await L(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},Aa="ColumnName",ha="store",ma="json",Na=ha+"TableName",$a=ha+"Id"+Aa,fa=ha+Aa,Oa="autoLoadIntervalSeconds",Sa="rowId"+Aa,Ca="tableId",Ta="tableName",Ia="deleteEmptyColumns",La="deleteEmptyTable",ba={mode:ma,[Oa]:1},Da={load:0,save:0,[Ta]:t+"_values"},Ra=(a,t,e,n,s)=>{const i=ea();return W(a,((a,o)=>{const c=y(X(K(t,l(a)?{[e]:a}:a)),0,q(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ia(i,o,c))})),i},Ma=(a,n,s,i,r,c,w,u,d,p,v="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[N,$,C,T]=(a=>{const e=(a=>K(ba,l(a)?{[Na]:a}:a??{}))(a),n=e[Oa];if(e.mode==ma){const a=e[Na]??t;return[1,n,[a,e[$a]??f,e[fa]??ha],ca(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,r=y(X(K(Da,o)),0,q(Da)),c=r[2],w=ca(c),u=ca(c);return[0,n,[Ra(s,{[Ca]:null,[Sa]:f},Ca,(a=>F(u,a)),(a=>la(w,a))),Ra(i,{[Ta]:null,[Sa]:f,[Ia]:0,[La]:0},Ta,((a,t)=>F(u,t)),((a,t)=>la(w,t))),r],w]})(n);return(N?Ea:ga)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${O} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${b}${D} JOIN ${b}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*$),n=()=>{g=A=h=null,o(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(s)}}),(a=>a()),w,u,d,C,j(T),(async(a,t)=>await a(`${O} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${S} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),p,v,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},_a=(a,t,e,n,s)=>Ma(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,(()=>0),1,t);export{_a as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N=a=>a.shift(),$="_",f="_id",O="SELECT",S="WHERE",C="TABLE",T="ALTER "+C,I="DELETE FROM",L=O+"*FROM",b="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>r(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],x=(a,t)=>a?.forEach(t),B=(a,t)=>a?.delete(t),J=Object,Y=a=>J.getPrototypeOf(a),k=J.entries,z=J.keys,G=J.freeze,H=(a=[])=>J.fromEntries(a),K=(...a)=>J.assign({},...a),Q=(a,t)=>(delete a[t],a),V=(a,t)=>g(k(a),(([a,e])=>t(e,a))),W=a=>J.values(a),X=a=>u(z(a)),q=a=>(a=>!r(a)&&c(Y(a),(a=>a==J.prototype||r(Y(a))),(()=>!0)))(a)&&0==X(a),Z=JSON.stringify,aa=JSON.parse,ta=a=>new Map(a),ea=(a,t)=>a?.get(t),na=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),sa=(a,t,e)=>r(e)?(B(a,t),a):a?.set(t,e),ia=(a,t,e,n)=>(F(a,t)?n?.(ea(a,t)):sa(a,t,e()),ea(a,t)),oa=(a,t,e,n,s=0)=>c((e?ia:ea)(a,t[s],s>u(t)-2?e:ta),(i=>{if(s>u(t)-2)return n?.(i)&&sa(a,t[s]),i;const o=oa(i,t,e,n,s+1);return U(i)&&sa(a,t[s]),o})),ra=a=>new Set(w(a)||r(a)?a:[a]),ca=(a,t)=>a?.add(t),la=/^\d+$/,wa=ta(),ya=ta(),ua=(a,t,n,s,i,o,l,y={},d=0,E=[])=>{let g,A,h,$=0,f=0,O=0;ia(wa,E,(()=>0)),ia(ya,E,(()=>[]));const S=ta(),[C,T,I,L,b]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:v("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?N(a):null)??e+t++,t=>{la.test(t)&&u(a)<1e3&&m(a,t)}]})(),s=ta();return[(n,i,o,r=[],c=()=>[])=>{a??=z;const l=t(1);return sa(s,l,[n,i,o,r,c]),ca(oa(i,o??[e],ra),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?m(n,a):null===t[e]?x(a,(a=>s(a,e+1))):p([t[e],null],(t=>s(ea(a,t),e+1)));return s(a,0),n})(t,n),(t=>x(t,(t=>ea(s,t)[0](a,...n??[],...i))))),a=>c(ea(s,a),(([,t,i])=>(oa(t,i??[e],void 0,(t=>(B(t,a),U(t)?1:0))),sa(s,a),n(a),i))),t=>c(ea(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const c=u(o);c==u(e)?t(a,...o,...s(o)):r(e[c])?p(n[c]?.(...o)??[],(a=>i(...o,a))):i(...o,e[c])};i()}))]})(),_=a=>{a!=$&&($=a,R(S,void 0,$))},P=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=$&&(_(1),f++,await k((async()=>{try{const e=await t();w(e)?P(e):a?b(a):v("Content is not an array: "+e)}catch(t){o?.(t),a&&b(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),J=async a=>(1!=$&&(_(2),O++,await k((async()=>{try{await n(T,a)}catch(a){o?.(a)}_(0)}))),z),Y=()=>(h&&(a.delListener(h),h=void 0),z),k=async(...a)=>(m(ea(ya,E),...a),await(async()=>{if(!ea(wa,E)){for(sa(wa,E,1);!r(g=N(ea(ya,E)));)try{await g()}catch(a){o?.(a)}sa(wa,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=$&&(_(1),f++,P(t??a),_(0)):await F()}))}catch(a){o?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!r(A),save:J,startAutoSave:async()=>(Y(),await J(),h=a.addDidFinishTransactionListener((()=>{const a=I();L(a)&&J(a)})),z),stopAutoSave:Y,isAutoSaving:()=>!r(h),getStatus:()=>$,addStatusListener:a=>D(a,S),delListener:t=>(M(t),a),schedule:k,getStore:()=>a,destroy:()=>(ea(ya,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:f,saves:O}),...y};return G(z)},da=(a,t,e,s,i,o=va,c,l)=>{const w=ta();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>ca(ia(w,a,ra),t)))},async(t,e)=>((a,t)=>F(ea(w,a),t))(t,e)?H(h(g(await a(L+_(t)),(a=>{return[a[e],l?(t=Q(a,e),n=l,H(V(t,((a,t)=>[t,n(a,t)])))):Q(a,e)];var t,n})),(([a,t])=>!r(a)&&!q(t)))):{},async(t,e,s,l,y,u=!1)=>{const v=ra();V(s??{},(a=>g(z(a??{}),(a=>ca(v,a)))));const p=j(v);if(!u&&y&&A(p)&&F(w,t))return await a("DROP "+C+_(t)),void sa(w,t);const N=ea(w,t),$=ra(j(N));if(A(p)||(F(w,t)?await d(g([e,...p],(async(n,s)=>{B($,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ca(N,n))}))):(await a("CREATE "+C+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(p,(a=>n+_(a)+i)))});`),sa(w,t,ra([e,...p])))),await d([...!u&&l?g(j($),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),B(N,n))})):[]]),u)r(s)?await a(I+_(t)+S+" true"):await d(V(s,(async(n,s)=>{r(n)?await a(I+_(t)+S+_(e)+"=$1",[s]):A(p)||await o(a,t,e,z(n),{[s]:c?g(W(n),c):W(n)},N)})));else if(A(p))F(w,t)&&await a(I+_(t)+S+" true");else{const n=h(j(ea(w,t)),(a=>a!=e)),i={},r=[];V(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(r,t)})),await o(a,t,e,n,i),await a(I+_(t)+S+_(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,e,s,i)=>{const o=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(V(i,(a=>"($"+o[0]+++","+P(a,o)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),V(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},pa=(a,t,e,n,s,i,o,[r,c,l],w,y,u,d,v,p)=>{const[E,g,A,h]=da(t,w,y,s,v,p),m=ua(a,(async()=>await h((async()=>{return await E(),a=(await g(r,c))[$]?.[l]??"null",aa(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(r,c,{[$]:{[l]:(t=a()??null,Z(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,u);return m},Ea=(a,t,e,n,s,i,o,[c,l,[w,y,u]],v,p,E,g,A,m,N,O)=>{const[S,C,T,I]=da(t,v,p,s,A,m,N,O),L=async(a,t)=>await d(na(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await T(e,n,a[o],s,i,t)}))),b=async(a,t)=>y?await T(u,f,{[$]:a},!0,!0,t):null,D=ua(a,(async()=>await I((async()=>{await S();const a=await(async()=>H(h(await d(na(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>w?(await C(u,f))[$]:{})();return q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await L(t),await b(e)}else await L(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},ga="ColumnName",Aa="store",ha="json",ma=Aa+"TableName",Na=Aa+"Id"+ga,$a=Aa+ga,fa="autoLoadIntervalSeconds",Oa="rowId"+ga,Sa="tableId",Ca="tableName",Ta="deleteEmptyColumns",Ia="deleteEmptyTable",La={mode:ha,[fa]:1},ba={load:0,save:0,[Ca]:t+"_values"},Da=(a,t,e,n,s)=>{const i=ta();return V(a,((a,o)=>{const c=y(W(K(t,l(a)?{[e]:a}:a)),0,X(t));r(c[0])||n(o,c[0])||(s(o,c[0]),sa(i,o,c))})),i},Ra=(a,n,s,i,r,c,w,u,d,v,p="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[N,$,C,T]=(a=>{const e=(a=>K(La,l(a)?{[ma]:a}:a??{}))(a),n=e[fa];if(e.mode==ha){const a=e[ma]??t;return[1,n,[a,e[Na]??f,e[$a]??Aa],ra(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,r=y(W(K(ba,o)),0,X(ba)),c=r[2],w=ra(c),u=ra(c);return[0,n,[Da(s,{[Sa]:null,[Oa]:f},Sa,(a=>F(u,a)),(a=>ca(w,a))),Da(i,{[Ca]:null,[Oa]:f,[Ta]:0,[Ia]:0},Ca,((a,t)=>F(u,t)),((a,t)=>ca(w,t))),r],w]})(n);return(N?pa:Ea)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${O} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${b}${D} JOIN ${b}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*$),n=()=>{g=A=h=null,o(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(s)}}),(a=>a()),w,u,d,C,j(T),(async(a,t)=>await a(`${O} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${S} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},Ma=(a,t,e,n,s)=>Ra(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,(()=>0),1,t);export{Ma as createCrSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),p=a=>{throw Error(a)},v=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N=a=>a.shift(),$="_",f="_id",O="SELECT",S="WHERE",C="TABLE",T="ALTER "+C,I="DELETE FROM",L=O+"*FROM",b="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>r(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],x=(a,t)=>a?.forEach(t),B=(a,t)=>a?.delete(t),J=Object,Y=a=>J.getPrototypeOf(a),k=J.entries,z=J.keys,G=J.freeze,H=(a=[])=>J.fromEntries(a),K=(...a)=>J.assign({},...a),Q=(a,t)=>(delete a[t],a),V=(a,t)=>g(k(a),(([a,e])=>t(e,a))),W=(a,t)=>H(V(a,((a,e)=>[e,t(a,e)]))),X=a=>J.values(a),q=a=>u(z(a)),Z=a=>(a=>!r(a)&&c(Y(a),(a=>a==J.prototype||r(Y(a))),(()=>!0)))(a)&&0==q(a),aa=JSON.stringify,ta=JSON.parse,ea=a=>new Map(a),na=(a,t)=>a?.get(t),sa=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),ia=(a,t,e)=>r(e)?(B(a,t),a):a?.set(t,e),oa=(a,t,e,n)=>(F(a,t)?n?.(na(a,t)):ia(a,t,e()),na(a,t)),ra=(a,t,e,n,s=0)=>c((e?oa:na)(a,t[s],s>u(t)-2?e:ea),(i=>{if(s>u(t)-2)return n?.(i)&&ia(a,t[s]),i;const o=ra(i,t,e,n,s+1);return U(i)&&ia(a,t[s]),o})),ca=a=>new Set(w(a)||r(a)?a:[a]),la=(a,t)=>a?.add(t),wa=/^\d+$/,ya=ea(),ua=ea(),da=(a,t,n,s,i,o,l,y={},d=0,E=[])=>{let g,A,h,$=0,f=0,O=0;oa(ya,E,(()=>0)),oa(ua,E,(()=>[]));const S=ea(),[C,T,I,L,b]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!Z(a)||!Z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Z(a)||!Z(t),t.setContent]:p("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?N(a):null)??e+t++,t=>{wa.test(t)&&u(a)<1e3&&m(a,t)}]})(),s=ea();return[(n,i,o,r=[],c=()=>[])=>{a??=z;const l=t(1);return ia(s,l,[n,i,o,r,c]),la(ra(i,o??[e],ca),l),l},(t,n,...i)=>v(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?m(n,a):null===t[e]?x(a,(a=>s(a,e+1))):v([t[e],null],(t=>s(na(a,t),e+1)));return s(a,0),n})(t,n),(t=>x(t,(t=>na(s,t)[0](a,...n??[],...i))))),a=>c(na(s,a),(([,t,i])=>(ra(t,i??[e],void 0,(t=>(B(t,a),U(t)?1:0))),ia(s,a),n(a),i))),t=>c(na(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const c=u(o);c==u(e)?t(a,...o,...s(o)):r(e[c])?v(n[c]?.(...o)??[],(a=>i(...o,a))):i(...o,e[c])};i()}))]})(),_=a=>{a!=$&&($=a,R(S,void 0,$))},P=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=$&&(_(1),f++,await k((async()=>{try{const e=await t();w(e)?P(e):a?b(a):p("Content is not an array: "+e)}catch(t){o?.(t),a&&b(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),J=async a=>(1!=$&&(_(2),O++,await k((async()=>{try{await n(T,a)}catch(a){o?.(a)}_(0)}))),z),Y=()=>(h&&(a.delListener(h),h=void 0),z),k=async(...a)=>(m(na(ua,E),...a),await(async()=>{if(!na(ya,E)){for(ia(ya,E,1);!r(g=N(na(ua,E)));)try{await g()}catch(a){o?.(a)}ia(ya,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=$&&(_(1),f++,P(t??a),_(0)):await F()}))}catch(a){o?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!r(A),save:J,startAutoSave:async()=>(Y(),await J(),h=a.addDidFinishTransactionListener((()=>{const a=I();L(a)&&J(a)})),z),stopAutoSave:Y,isAutoSaving:()=>!r(h),getStatus:()=>$,addStatusListener:a=>D(a,S),delListener:t=>(M(t),a),schedule:k,getStore:()=>a,destroy:()=>(na(ua,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:f,saves:O}),...y};return G(z)},pa=(a,t,e,s,i,o=va,c,l)=>{const w=ea();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>la(oa(w,a,ca),t)))},async(t,e)=>((a,t)=>F(na(w,a),t))(t,e)?H(h(g(await a(L+_(t)),(a=>[a[e],l?W(Q(a,e),l):Q(a,e)])),(([a,t])=>!r(a)&&!Z(t)))):{},async(t,e,s,l,y,u=!1)=>{const p=ca();W(s??{},(a=>g(z(a??{}),(a=>la(p,a)))));const v=j(p);if(!u&&y&&A(v)&&F(w,t))return await a("DROP "+C+_(t)),void ia(w,t);const N=na(w,t),$=ca(j(N));if(A(v)||(F(w,t)?await d(g([e,...v],(async(n,s)=>{B($,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),la(N,n))}))):(await a("CREATE "+C+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(v,(a=>n+_(a)+i)))});`),ia(w,t,ca([e,...v])))),await d([...!u&&l?g(j($),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),B(N,n))})):[]]),u)r(s)?await a(I+_(t)+S+" true"):await d(V(s,(async(n,s)=>{r(n)?await a(I+_(t)+S+_(e)+"=$1",[s]):A(v)||await o(a,t,e,z(n),{[s]:c?g(X(n),c):X(n)},N)})));else if(A(v))F(w,t)&&await a(I+_(t)+S+" true");else{const n=h(j(na(w,t)),(a=>a!=e)),i={},r=[];W(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(r,t)})),await o(a,t,e,n,i),await a(I+_(t)+S+_(e)+`NOT IN(${P(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,e,s,i)=>{const o=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(V(i,(a=>"($"+o[0]+++","+P(a,o)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),V(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},Ea=(a,t,e,n,s,i,o,[r,c,l],w,y,u,d,p,v)=>{const[E,g,A,h]=pa(t,w,y,s,p,v),m=da(a,(async()=>await h((async()=>{return await E(),a=(await g(r,c))[$]?.[l]??"null",ta(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(r,c,{[$]:{[l]:(t=a()??null,aa(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,u);return m},ga=(a,t,e,n,s,i,o,[c,l,[w,y,u]],p,v,E,g,A,m,N,O)=>{const[S,C,T,I]=pa(t,p,v,s,A,m,N,O),L=async(a,t)=>await d(sa(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await T(e,n,a[o],s,i,t)}))),b=async(a,t)=>y?await T(u,f,{[$]:a},!0,!0,t):null,D=da(a,(async()=>await I((async()=>{await S();const a=await(async()=>H(h(await d(sa(c,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!Z(a[1])))))(),t=await(async()=>w?(await C(u,f))[$]:{})();return Z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await L(t),await b(e)}else await L(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},Aa="ColumnName",ha="store",ma="json",Na=ha+"TableName",$a=ha+"Id"+Aa,fa=ha+Aa,Oa="autoLoadIntervalSeconds",Sa="rowId"+Aa,Ca="tableId",Ta="tableName",Ia="deleteEmptyColumns",La="deleteEmptyTable",ba={mode:ma,[Oa]:1},Da={load:0,save:0,[Ta]:t+"_values"},Ra=(a,t,e,n,s)=>{const i=ea();return W(a,((a,o)=>{const c=y(X(K(t,l(a)?{[e]:a}:a)),0,q(t));r(c[0])||n(o,c[0])||(s(o,c[0]),ia(i,o,c))})),i},Ma=(a,n,s,i,r,c,w,u,d,p,v="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[N,$,C,T]=(a=>{const e=(a=>K(ba,l(a)?{[Na]:a}:a??{}))(a),n=e[Oa];if(e.mode==ma){const a=e[Na]??t;return[1,n,[a,e[$a]??f,e[fa]??ha],ca(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,r=y(X(K(Da,o)),0,q(Da)),c=r[2],w=ca(c),u=ca(c);return[0,n,[Ra(s,{[Ca]:null,[Sa]:f},Ca,(a=>F(u,a)),(a=>la(w,a))),Ra(i,{[Ta]:null,[Sa]:f,[Ia]:0,[La]:0},Ta,((a,t)=>F(u,t)),((a,t)=>la(w,t))),r],w]})(n);return(N?Ea:ga)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${O} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${b}${D} JOIN ${b}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*$),n=()=>{g=A=h=null,o(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(s)}}),(a=>a()),w,u,d,C,j(T),(async(a,t)=>await a(`${O} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${S} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),p,v,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},_a=(a,t,e,n,s)=>Ma(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,(()=>0),1,t);export{_a as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),y=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==y(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),f=a=>a.shift(),N="_",$="_id",C="SELECT",b="WHERE",S="TABLE",T="ALTER "+S,O="DELETE FROM",I=C+"*FROM",L="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>o(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],B=(a,t)=>a?.forEach(t),J=(a,t)=>a?.delete(t),Y=Object,k=a=>Y.getPrototypeOf(a),x=Y.entries,z=Y.keys,G=Y.freeze,H=(a=[])=>Y.fromEntries(a),q=(...a)=>Y.assign({},...a),K=(a,t)=>(delete a[t],a),Q=(a,t)=>g(x(a),(([a,e])=>t(e,a))),V=a=>Y.values(a),W=a=>y(z(a)),X=a=>(a=>!o(a)&&c(k(a),(a=>a==Y.prototype||o(k(a))),(()=>!0)))(a)&&0==W(a),Z=JSON.stringify,aa=JSON.parse,ta=a=>new Map(a),ea=(a,t)=>a?.get(t),na=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),sa=(a,t,e)=>o(e)?(J(a,t),a):a?.set(t,e),ia=(a,t,e,n)=>(F(a,t)?n?.(ea(a,t)):sa(a,t,e()),ea(a,t)),ra=(a,t,e,n,s=0)=>c((e?ia:ea)(a,t[s],s>y(t)-2?e:ta),(i=>{if(s>y(t)-2)return n?.(i)&&sa(a,t[s]),i;const r=ra(i,t,e,n,s+1);return U(i)&&sa(a,t[s]),r})),oa=a=>new Set(w(a)||o(a)?a:[a]),ca=(a,t)=>a?.add(t),la=/^\d+$/,wa=ta(),ua=ta(),ya=(a,t,n,s,i,r,l,u={},d=0,E=[])=>{let g,A,h,N=0,$=0,C=0;ia(wa,E,(()=>0)),ia(ua,E,(()=>[]));const b=ta(),[S,T,O,I,L]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!X(a)||!X(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!X(a)||!X(t),t.setContent]:v("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?f(a):null)??e+t++,t=>{la.test(t)&&y(a)<1e3&&m(a,t)}]})(),s=ta();return[(n,i,r,o=[],c=()=>[])=>{a??=z;const l=t(1);return sa(s,l,[n,i,r,o,c]),ca(ra(i,r??[e],oa),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==y(t)?m(n,a):null===t[e]?B(a,(a=>s(a,e+1))):p([t[e],null],(t=>s(ea(a,t),e+1)));return s(a,0),n})(t,n),(t=>B(t,(t=>ea(s,t)[0](a,...n??[],...i))))),a=>c(ea(s,a),(([,t,i])=>(ra(t,i??[e],void 0,(t=>(J(t,a),U(t)?1:0))),sa(s,a),n(a),i))),t=>c(ea(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=y(r);c==y(e)?t(a,...r,...s(r)):o(e[c])?p(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),_=a=>{a!=N&&(N=a,R(b,void 0,N))},P=t=>{(S&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=N&&(_(1),$++,await x((async()=>{try{const e=await t();w(e)?P(e):a?L(a):v("Content is not an array: "+e)}catch(t){r?.(t),a&&L(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),Y=async a=>(1!=N&&(_(2),C++,await x((async()=>{try{await n(T,a)}catch(a){r?.(a)}_(0)}))),z),k=()=>(h&&(a.delListener(h),h=void 0),z),x=async(...a)=>(m(ea(ua,E),...a),await(async()=>{if(!ea(wa,E)){for(sa(wa,E,1);!o(g=f(ea(ua,E)));)try{await g()}catch(a){r?.(a)}sa(wa,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=N&&(_(1),$++,P(t??a),_(0)):await F()}))}catch(a){r?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!o(A),save:Y,startAutoSave:async()=>(k(),await Y(),h=a.addDidFinishTransactionListener((()=>{const a=O();I(a)&&Y(a)})),z),stopAutoSave:k,isAutoSaving:()=>!o(h),getStatus:()=>N,addStatusListener:a=>D(a,b),delListener:t=>(M(t),a),schedule:x,getStore:()=>a,destroy:()=>(ea(ua,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:$,saves:C}),...u};return G(z)},da=(a,t,e,s,i,r=va,c,l)=>{const w=ta();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>ca(ia(w,a,oa),t)))},async(t,e)=>((a,t)=>F(ea(w,a),t))(t,e)?H(h(g(await a(I+_(t)),(a=>{return[a[e],l?(t=K(a,e),n=l,H(Q(t,((a,t)=>[t,n(a,t)])))):K(a,e)];var t,n})),(([a,t])=>!o(a)&&!X(t)))):{},async(t,e,s,l,u,y=!1)=>{const v=oa();Q(s??{},(a=>g(z(a??{}),(a=>ca(v,a)))));const p=j(v);if(!y&&u&&A(p)&&F(w,t))return await a("DROP "+S+_(t)),void sa(w,t);const f=ea(w,t),N=oa(j(f));if(A(p)||(F(w,t)?await d(g([e,...p],(async(n,s)=>{J(N,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ca(f,n))}))):(await a("CREATE "+S+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(p,(a=>n+_(a)+i)))});`),sa(w,t,oa([e,...p])))),await d([...!y&&l?g(j(N),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),J(f,n))})):[]]),y)o(s)?await a(O+_(t)+b+" true"):await d(Q(s,(async(n,s)=>{o(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):A(p)||await r(a,t,e,z(n),{[s]:c?g(V(n),c):V(n)},f)})));else if(A(p))F(w,t)&&await a(O+_(t)+b+" true");else{const n=h(j(ea(w,t)),(a=>a!=e)),i={},o=[];Q(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(o,t)})),await r(a,t,e,n,i),await a(O+_(t)+b+_(e)+`NOT IN(${P(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(Q(i,(a=>"($"+r[0]+++","+P(a,r)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),Q(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},pa=(a,t,e,n,s,i,r,[o,c,l],w,u,y,d,v,p)=>{const[E,g,A,h]=da(t,w,u,s,v,p),m=ya(a,(async()=>await h((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",aa(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Z(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,y);return m},Ea=(a,t,e,n,s,i,r,[c,l,[w,u,y]],v,p,E,g,A,m,f,C)=>{const[b,S,T,O]=da(t,v,p,s,A,m,f,C),I=async(a,t)=>await d(na(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),L=async(a,t)=>u?await T(y,$,{[N]:a},!0,!0,t):null,D=ya(a,(async()=>await O((async()=>{await b();const a=await(async()=>H(h(await d(na(c,(async([a,t],e)=>[a,await S(e,t)]))),(a=>!X(a[1])))))(),t=await(async()=>w?(await S(y,$))[N]:{})();return X(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await b(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},ga="ColumnName",Aa="store",ha="json",ma=Aa+"TableName",fa=Aa+"Id"+ga,Na=Aa+ga,$a="autoLoadIntervalSeconds",Ca="rowId"+ga,ba="tableId",Sa="tableName",Ta="deleteEmptyColumns",Oa="deleteEmptyTable",Ia={mode:ha,[$a]:1},La={load:0,save:0,[Sa]:t+"_values"},Da=(a,t,e,n,s)=>{const i=ta();return Q(a,((a,r)=>{const c=u(V(q(t,l(a)?{[e]:a}:a)),0,W(t));o(c[0])||n(r,c[0])||(s(r,c[0]),sa(i,r,c))})),i},Ra=(a,n,s,i,o,c,w,y,d,v,p="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[f,N,S,T]=(a=>{const e=(a=>q(Ia,l(a)?{[ma]:a}:a??{}))(a),n=e[$a];if(e.mode==ha){const a=e[ma]??t;return[1,n,[a,e[fa]??$,e[Na]??Aa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(V(q(La,r)),0,W(La)),c=o[2],w=oa(c),y=oa(c);return[0,n,[Da(s,{[ba]:null,[Ca]:$},ba,(a=>F(y,a)),(a=>ca(w,a))),Da(i,{[Sa]:null,[Ca]:$,[Ta]:0,[Oa]:0},Sa,((a,t)=>F(y,t)),((a,t)=>ca(w,t))),o],w]})(n);return(f?pa:Ea)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${L}${D} JOIN ${L}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*N),n=()=>{g=A=h=null,r(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),o(s)}}),(a=>a()),w,y,d,S,j(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},Ma=(a,t,e,n,s)=>Ra(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>p(t.notifier.alias(e),(({tablename:t})=>a(t)))))),(a=>a()),n,s,(()=>0),1,t,"getElectricClient");export{Ma as createElectricSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),f=a=>a.shift(),N="_",$="_id",C="SELECT",b="WHERE",S="TABLE",T="ALTER "+S,O="DELETE FROM",I=C+"*FROM",L="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>o(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],B=(a,t)=>a?.forEach(t),J=(a,t)=>a?.delete(t),Y=Object,k=a=>Y.getPrototypeOf(a),x=Y.entries,z=Y.keys,G=Y.freeze,H=(a=[])=>Y.fromEntries(a),q=(...a)=>Y.assign({},...a),K=(a,t)=>(delete a[t],a),Q=(a,t)=>g(x(a),(([a,e])=>t(e,a))),V=(a,t)=>H(Q(a,((a,e)=>[e,t(a,e)]))),W=a=>Y.values(a),X=a=>u(z(a)),Z=a=>(a=>!o(a)&&c(k(a),(a=>a==Y.prototype||o(k(a))),(()=>!0)))(a)&&0==X(a),aa=JSON.stringify,ta=JSON.parse,ea=a=>new Map(a),na=(a,t)=>a?.get(t),sa=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),ia=(a,t,e)=>o(e)?(J(a,t),a):a?.set(t,e),ra=(a,t,e,n)=>(F(a,t)?n?.(na(a,t)):ia(a,t,e()),na(a,t)),oa=(a,t,e,n,s=0)=>c((e?ra:na)(a,t[s],s>u(t)-2?e:ea),(i=>{if(s>u(t)-2)return n?.(i)&&ia(a,t[s]),i;const r=oa(i,t,e,n,s+1);return U(i)&&ia(a,t[s]),r})),ca=a=>new Set(w(a)||o(a)?a:[a]),la=(a,t)=>a?.add(t),wa=/^\d+$/,ya=ea(),ua=ea(),da=(a,t,n,s,i,r,l,y={},d=0,E=[])=>{let g,A,h,N=0,$=0,C=0;ra(ya,E,(()=>0)),ra(ua,E,(()=>[]));const b=ea(),[S,T,O,I,L]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!Z(a)||!Z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Z(a)||!Z(t),t.setContent]:v("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?f(a):null)??e+t++,t=>{wa.test(t)&&u(a)<1e3&&m(a,t)}]})(),s=ea();return[(n,i,r,o=[],c=()=>[])=>{a??=z;const l=t(1);return ia(s,l,[n,i,r,o,c]),la(oa(i,r??[e],ca),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?m(n,a):null===t[e]?B(a,(a=>s(a,e+1))):p([t[e],null],(t=>s(na(a,t),e+1)));return s(a,0),n})(t,n),(t=>B(t,(t=>na(s,t)[0](a,...n??[],...i))))),a=>c(na(s,a),(([,t,i])=>(oa(t,i??[e],void 0,(t=>(J(t,a),U(t)?1:0))),ia(s,a),n(a),i))),t=>c(na(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=u(r);c==u(e)?t(a,...r,...s(r)):o(e[c])?p(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),_=a=>{a!=N&&(N=a,R(b,void 0,N))},P=t=>{(S&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=N&&(_(1),$++,await x((async()=>{try{const e=await t();w(e)?P(e):a?L(a):v("Content is not an array: "+e)}catch(t){r?.(t),a&&L(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),Y=async a=>(1!=N&&(_(2),C++,await x((async()=>{try{await n(T,a)}catch(a){r?.(a)}_(0)}))),z),k=()=>(h&&(a.delListener(h),h=void 0),z),x=async(...a)=>(m(na(ua,E),...a),await(async()=>{if(!na(ya,E)){for(ia(ya,E,1);!o(g=f(na(ua,E)));)try{await g()}catch(a){r?.(a)}ia(ya,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=N&&(_(1),$++,P(t??a),_(0)):await F()}))}catch(a){r?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!o(A),save:Y,startAutoSave:async()=>(k(),await Y(),h=a.addDidFinishTransactionListener((()=>{const a=O();I(a)&&Y(a)})),z),stopAutoSave:k,isAutoSaving:()=>!o(h),getStatus:()=>N,addStatusListener:a=>D(a,b),delListener:t=>(M(t),a),schedule:x,getStore:()=>a,destroy:()=>(na(ua,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:$,saves:C}),...y};return G(z)},va=(a,t,e,s,i,r=pa,c,l)=>{const w=ea();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>la(ra(w,a,ca),t)))},async(t,e)=>((a,t)=>F(na(w,a),t))(t,e)?H(h(g(await a(I+_(t)),(a=>[a[e],l?V(K(a,e),l):K(a,e)])),(([a,t])=>!o(a)&&!Z(t)))):{},async(t,e,s,l,y,u=!1)=>{const v=ca();V(s??{},(a=>g(z(a??{}),(a=>la(v,a)))));const p=j(v);if(!u&&y&&A(p)&&F(w,t))return await a("DROP "+S+_(t)),void ia(w,t);const f=na(w,t),N=ca(j(f));if(A(p)||(F(w,t)?await d(g([e,...p],(async(n,s)=>{J(N,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),la(f,n))}))):(await a("CREATE "+S+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(p,(a=>n+_(a)+i)))});`),ia(w,t,ca([e,...p])))),await d([...!u&&l?g(j(N),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),J(f,n))})):[]]),u)o(s)?await a(O+_(t)+b+" true"):await d(Q(s,(async(n,s)=>{o(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):A(p)||await r(a,t,e,z(n),{[s]:c?g(W(n),c):W(n)},f)})));else if(A(p))F(w,t)&&await a(O+_(t)+b+" true");else{const n=h(j(na(w,t)),(a=>a!=e)),i={},o=[];V(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(o,t)})),await r(a,t,e,n,i),await a(O+_(t)+b+_(e)+`NOT IN(${P(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},pa=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(Q(i,(a=>"($"+r[0]+++","+P(a,r)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),Q(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},Ea=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,h]=va(t,w,y,s,v,p),m=da(a,(async()=>await h((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",ta(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,aa(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,u);return m},ga=(a,t,e,n,s,i,r,[c,l,[w,y,u]],v,p,E,g,A,m,f,C)=>{const[b,S,T,O]=va(t,v,p,s,A,m,f,C),I=async(a,t)=>await d(sa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await T(u,$,{[N]:a},!0,!0,t):null,D=da(a,(async()=>await O((async()=>{await b();const a=await(async()=>H(h(await d(sa(c,(async([a,t],e)=>[a,await S(e,t)]))),(a=>!Z(a[1])))))(),t=await(async()=>w?(await S(u,$))[N]:{})();return Z(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await b(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},Aa="ColumnName",ha="store",ma="json",fa=ha+"TableName",Na=ha+"Id"+Aa,$a=ha+Aa,Ca="autoLoadIntervalSeconds",ba="rowId"+Aa,Sa="tableId",Ta="tableName",Oa="deleteEmptyColumns",Ia="deleteEmptyTable",La={mode:ma,[Ca]:1},Da={load:0,save:0,[Ta]:t+"_values"},Ra=(a,t,e,n,s)=>{const i=ea();return V(a,((a,r)=>{const c=y(W(q(t,l(a)?{[e]:a}:a)),0,X(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ia(i,r,c))})),i},Ma=(a,n,s,i,o,c,w,u,d,v,p="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[f,N,S,T]=(a=>{const e=(a=>q(La,l(a)?{[fa]:a}:a??{}))(a),n=e[Ca];if(e.mode==ma){const a=e[fa]??t;return[1,n,[a,e[Na]??$,e[$a]??ha],ca(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(W(q(Da,r)),0,X(Da)),c=o[2],w=ca(c),u=ca(c);return[0,n,[Ra(s,{[Sa]:null,[ba]:$},Sa,(a=>F(u,a)),(a=>la(w,a))),Ra(i,{[Ta]:null,[ba]:$,[Oa]:0,[Ia]:0},Ta,((a,t)=>F(u,t)),((a,t)=>la(w,t))),o],w]})(n);return(f?Ea:ga)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${L}${D} JOIN ${L}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*N),n=()=>{g=A=h=null,r(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),o(s)}}),(a=>a()),w,u,d,S,j(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},_a=(a,t,e,n,s)=>Ma(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>p(t.notifier.alias(e),(({tablename:t})=>a(t)))))),(a=>a()),n,s,(()=>0),1,t,"getElectricClient");export{_a as createElectricSqlPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),y=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==y(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),f=a=>a.shift(),N="_",$="_id",C="SELECT",b="WHERE",S="TABLE",T="ALTER "+S,O="DELETE FROM",I=C+"*FROM",L="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>o(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],B=(a,t)=>a?.forEach(t),J=(a,t)=>a?.delete(t),Y=Object,k=a=>Y.getPrototypeOf(a),x=Y.entries,z=Y.keys,G=Y.freeze,H=(a=[])=>Y.fromEntries(a),q=(...a)=>Y.assign({},...a),K=(a,t)=>(delete a[t],a),Q=(a,t)=>g(x(a),(([a,e])=>t(e,a))),V=a=>Y.values(a),W=a=>y(z(a)),X=a=>(a=>!o(a)&&c(k(a),(a=>a==Y.prototype||o(k(a))),(()=>!0)))(a)&&0==W(a),Z=JSON.stringify,aa=JSON.parse,ta=a=>new Map(a),ea=(a,t)=>a?.get(t),na=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),sa=(a,t,e)=>o(e)?(J(a,t),a):a?.set(t,e),ia=(a,t,e,n)=>(F(a,t)?n?.(ea(a,t)):sa(a,t,e()),ea(a,t)),ra=(a,t,e,n,s=0)=>c((e?ia:ea)(a,t[s],s>y(t)-2?e:ta),(i=>{if(s>y(t)-2)return n?.(i)&&sa(a,t[s]),i;const r=ra(i,t,e,n,s+1);return U(i)&&sa(a,t[s]),r})),oa=a=>new Set(w(a)||o(a)?a:[a]),ca=(a,t)=>a?.add(t),la=/^\d+$/,wa=ta(),ua=ta(),ya=(a,t,n,s,i,r,l,u={},d=0,E=[])=>{let g,A,h,N=0,$=0,C=0;ia(wa,E,(()=>0)),ia(ua,E,(()=>[]));const b=ta(),[S,T,O,I,L]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!X(a)||!X(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!X(a)||!X(t),t.setContent]:v("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?f(a):null)??e+t++,t=>{la.test(t)&&y(a)<1e3&&m(a,t)}]})(),s=ta();return[(n,i,r,o=[],c=()=>[])=>{a??=z;const l=t(1);return sa(s,l,[n,i,r,o,c]),ca(ra(i,r??[e],oa),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==y(t)?m(n,a):null===t[e]?B(a,(a=>s(a,e+1))):p([t[e],null],(t=>s(ea(a,t),e+1)));return s(a,0),n})(t,n),(t=>B(t,(t=>ea(s,t)[0](a,...n??[],...i))))),a=>c(ea(s,a),(([,t,i])=>(ra(t,i??[e],void 0,(t=>(J(t,a),U(t)?1:0))),sa(s,a),n(a),i))),t=>c(ea(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=y(r);c==y(e)?t(a,...r,...s(r)):o(e[c])?p(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),_=a=>{a!=N&&(N=a,R(b,void 0,N))},P=t=>{(S&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=N&&(_(1),$++,await x((async()=>{try{const e=await t();w(e)?P(e):a?L(a):v("Content is not an array: "+e)}catch(t){r?.(t),a&&L(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),Y=async a=>(1!=N&&(_(2),C++,await x((async()=>{try{await n(T,a)}catch(a){r?.(a)}_(0)}))),z),k=()=>(h&&(a.delListener(h),h=void 0),z),x=async(...a)=>(m(ea(ua,E),...a),await(async()=>{if(!ea(wa,E)){for(sa(wa,E,1);!o(g=f(ea(ua,E)));)try{await g()}catch(a){r?.(a)}sa(wa,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=N&&(_(1),$++,P(t??a),_(0)):await F()}))}catch(a){r?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!o(A),save:Y,startAutoSave:async()=>(k(),await Y(),h=a.addDidFinishTransactionListener((()=>{const a=O();I(a)&&Y(a)})),z),stopAutoSave:k,isAutoSaving:()=>!o(h),getStatus:()=>N,addStatusListener:a=>D(a,b),delListener:t=>(M(t),a),schedule:x,getStore:()=>a,destroy:()=>(ea(ua,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:$,saves:C}),...u};return G(z)},da=(a,t,e,s,i,r=va,c,l)=>{const w=ta();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>ca(ia(w,a,oa),t)))},async(t,e)=>((a,t)=>F(ea(w,a),t))(t,e)?H(h(g(await a(I+_(t)),(a=>{return[a[e],l?(t=K(a,e),n=l,H(Q(t,((a,t)=>[t,n(a,t)])))):K(a,e)];var t,n})),(([a,t])=>!o(a)&&!X(t)))):{},async(t,e,s,l,u,y=!1)=>{const v=oa();Q(s??{},(a=>g(z(a??{}),(a=>ca(v,a)))));const p=j(v);if(!y&&u&&A(p)&&F(w,t))return await a("DROP "+S+_(t)),void sa(w,t);const f=ea(w,t),N=oa(j(f));if(A(p)||(F(w,t)?await d(g([e,...p],(async(n,s)=>{J(N,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),ca(f,n))}))):(await a("CREATE "+S+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(p,(a=>n+_(a)+i)))});`),sa(w,t,oa([e,...p])))),await d([...!y&&l?g(j(N),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),J(f,n))})):[]]),y)o(s)?await a(O+_(t)+b+" true"):await d(Q(s,(async(n,s)=>{o(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):A(p)||await r(a,t,e,z(n),{[s]:c?g(V(n),c):V(n)},f)})));else if(A(p))F(w,t)&&await a(O+_(t)+b+" true");else{const n=h(j(ea(w,t)),(a=>a!=e)),i={},o=[];Q(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(o,t)})),await r(a,t,e,n,i),await a(O+_(t)+b+_(e)+`NOT IN(${P(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},va=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(Q(i,(a=>"($"+r[0]+++","+P(a,r)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),Q(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},pa=(a,t,e,n,s,i,r,[o,c,l],w,u,y,d,v,p)=>{const[E,g,A,h]=da(t,w,u,s,v,p),m=ya(a,(async()=>await h((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",aa(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Z(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,y);return m},Ea=(a,t,e,n,s,i,r,[c,l,[w,u,y]],v,p,E,g,A,m,f,C)=>{const[b,S,T,O]=da(t,v,p,s,A,m,f,C),I=async(a,t)=>await d(na(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),L=async(a,t)=>u?await T(y,$,{[N]:a},!0,!0,t):null,D=ya(a,(async()=>await O((async()=>{await b();const a=await(async()=>H(h(await d(na(c,(async([a,t],e)=>[a,await S(e,t)]))),(a=>!X(a[1])))))(),t=await(async()=>w?(await S(y,$))[N]:{})();return X(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await b(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},ga="ColumnName",Aa="store",ha="json",ma=Aa+"TableName",fa=Aa+"Id"+ga,Na=Aa+ga,$a="autoLoadIntervalSeconds",Ca="rowId"+ga,ba="tableId",Sa="tableName",Ta="deleteEmptyColumns",Oa="deleteEmptyTable",Ia={mode:ha,[$a]:1},La={load:0,save:0,[Sa]:t+"_values"},Da=(a,t,e,n,s)=>{const i=ta();return Q(a,((a,r)=>{const c=u(V(q(t,l(a)?{[e]:a}:a)),0,W(t));o(c[0])||n(r,c[0])||(s(r,c[0]),sa(i,r,c))})),i},Ra=(a,n,s,i,o,c,w,y,d,v,p="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[f,N,S,T]=(a=>{const e=(a=>q(Ia,l(a)?{[ma]:a}:a??{}))(a),n=e[$a];if(e.mode==ha){const a=e[ma]??t;return[1,n,[a,e[fa]??$,e[Na]??Aa],oa(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(V(q(La,r)),0,W(La)),c=o[2],w=oa(c),y=oa(c);return[0,n,[Da(s,{[ba]:null,[Ca]:$},ba,(a=>F(y,a)),(a=>ca(w,a))),Da(i,{[Sa]:null,[Ca]:$,[Ta]:0,[Oa]:0},Sa,((a,t)=>F(y,t)),((a,t)=>ca(w,t))),o],w]})(n);return(f?pa:Ea)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${L}${D} JOIN ${L}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*N),n=()=>{g=A=h=null,r(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),o(s)}}),(a=>a()),w,y,d,S,j(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},Ma=(a,t,e,n,s)=>Ra(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>p(t.notifier.alias(e),(({tablename:t})=>a(t)))))),(a=>a()),n,s,(()=>0),1,t,"getElectricClient");export{Ma as createElectricSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),f=a=>a.shift(),N="_",$="_id",C="SELECT",b="WHERE",S="TABLE",T="ALTER "+S,O="DELETE FROM",I=C+"*FROM",L="pragma_",D="data_version",R="schema_version",M="pragma_table_",_=a=>`"${a.replace(/"/g,'""')}"`,P=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),F=(a,t)=>a?.has(t)??!1,U=a=>o(a)||0==(a=>a?.size??0)(a),j=a=>[...a?.values()??[]],B=(a,t)=>a?.forEach(t),J=(a,t)=>a?.delete(t),Y=Object,k=a=>Y.getPrototypeOf(a),x=Y.entries,z=Y.keys,G=Y.freeze,H=(a=[])=>Y.fromEntries(a),q=(...a)=>Y.assign({},...a),K=(a,t)=>(delete a[t],a),Q=(a,t)=>g(x(a),(([a,e])=>t(e,a))),V=(a,t)=>H(Q(a,((a,e)=>[e,t(a,e)]))),W=a=>Y.values(a),X=a=>u(z(a)),Z=a=>(a=>!o(a)&&c(k(a),(a=>a==Y.prototype||o(k(a))),(()=>!0)))(a)&&0==X(a),aa=JSON.stringify,ta=JSON.parse,ea=a=>new Map(a),na=(a,t)=>a?.get(t),sa=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),ia=(a,t,e)=>o(e)?(J(a,t),a):a?.set(t,e),ra=(a,t,e,n)=>(F(a,t)?n?.(na(a,t)):ia(a,t,e()),na(a,t)),oa=(a,t,e,n,s=0)=>c((e?ra:na)(a,t[s],s>u(t)-2?e:ea),(i=>{if(s>u(t)-2)return n?.(i)&&ia(a,t[s]),i;const r=oa(i,t,e,n,s+1);return U(i)&&ia(a,t[s]),r})),ca=a=>new Set(w(a)||o(a)?a:[a]),la=(a,t)=>a?.add(t),wa=/^\d+$/,ya=ea(),ua=ea(),da=(a,t,n,s,i,r,l,y={},d=0,E=[])=>{let g,A,h,N=0,$=0,C=0;ra(ya,E,(()=>0)),ra(ua,E,(()=>[]));const b=ea(),[S,T,O,I,L]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!Z(a)||!Z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Z(a)||!Z(t),t.setContent]:v("Store type not supported by this Persister"))(l,a,d),[D,R,M]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?f(a):null)??e+t++,t=>{wa.test(t)&&u(a)<1e3&&m(a,t)}]})(),s=ea();return[(n,i,r,o=[],c=()=>[])=>{a??=z;const l=t(1);return ia(s,l,[n,i,r,o,c]),la(oa(i,r??[e],ca),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==u(t)?m(n,a):null===t[e]?B(a,(a=>s(a,e+1))):p([t[e],null],(t=>s(na(a,t),e+1)));return s(a,0),n})(t,n),(t=>B(t,(t=>na(s,t)[0](a,...n??[],...i))))),a=>c(na(s,a),(([,t,i])=>(oa(t,i??[e],void 0,(t=>(J(t,a),U(t)?1:0))),ia(s,a),n(a),i))),t=>c(na(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=u(r);c==u(e)?t(a,...r,...s(r)):o(e[c])?p(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),_=a=>{a!=N&&(N=a,R(b,void 0,N))},P=t=>{(S&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},F=async a=>(2!=N&&(_(1),$++,await x((async()=>{try{const e=await t();w(e)?P(e):a?L(a):v("Content is not an array: "+e)}catch(t){r?.(t),a&&L(a)}_(0)}))),z),j=()=>(A&&(i(A),A=void 0),z),Y=async a=>(1!=N&&(_(2),C++,await x((async()=>{try{await n(T,a)}catch(a){r?.(a)}_(0)}))),z),k=()=>(h&&(a.delListener(h),h=void 0),z),x=async(...a)=>(m(na(ua,E),...a),await(async()=>{if(!na(ya,E)){for(ia(ya,E,1);!o(g=f(na(ua,E)));)try{await g()}catch(a){r?.(a)}ia(ya,E,0)}})(),z),z={load:F,startAutoLoad:async a=>{j(),await F(a);try{A=await s((async(a,t)=>{t||a?2!=N&&(_(1),$++,P(t??a),_(0)):await F()}))}catch(a){r?.(a)}return z},stopAutoLoad:j,isAutoLoading:()=>!o(A),save:Y,startAutoSave:async()=>(k(),await Y(),h=a.addDidFinishTransactionListener((()=>{const a=O();I(a)&&Y(a)})),z),stopAutoSave:k,isAutoSaving:()=>!o(h),getStatus:()=>N,addStatusListener:a=>D(a,b),delListener:t=>(M(t),a),schedule:x,getStore:()=>a,destroy:()=>(na(ua,E).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:$,saves:C}),...y};return G(z)},va=(a,t,e,s,i,r=pa,c,l)=>{const w=ea();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>la(ra(w,a,ca),t)))},async(t,e)=>((a,t)=>F(na(w,a),t))(t,e)?H(h(g(await a(I+_(t)),(a=>[a[e],l?V(K(a,e),l):K(a,e)])),(([a,t])=>!o(a)&&!Z(t)))):{},async(t,e,s,l,y,u=!1)=>{const v=ca();V(s??{},(a=>g(z(a??{}),(a=>la(v,a)))));const p=j(v);if(!u&&y&&A(p)&&F(w,t))return await a("DROP "+S+_(t)),void ia(w,t);const f=na(w,t),N=ca(j(f));if(A(p)||(F(w,t)?await d(g([e,...p],(async(n,s)=>{J(N,n)||(await a(T+_(t)+"ADD"+_(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+_(t)+`(${_(e)})`),la(f,n))}))):(await a("CREATE "+S+_(t)+`(${_(e)}${i} PRIMARY KEY${E(g(p,(a=>n+_(a)+i)))});`),ia(w,t,ca([e,...p])))),await d([...!u&&l?g(j(N),(async n=>{n!=e&&(await a(T+_(t)+"DROP"+_(n)),J(f,n))})):[]]),u)o(s)?await a(O+_(t)+b+" true"):await d(Q(s,(async(n,s)=>{o(n)?await a(O+_(t)+b+_(e)+"=$1",[s]):A(p)||await r(a,t,e,z(n),{[s]:c?g(W(n),c):W(n)},f)})));else if(A(p))F(w,t)&&await a(O+_(t)+b+" true");else{const n=h(j(na(w,t)),(a=>a!=e)),i={},o=[];V(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(o,t)})),await r(a,t,e,n,i),await a(O+_(t)+b+_(e)+`NOT IN(${P(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},pa=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+_(t)+"("+((...a)=>E(g(a,_),n))(e,...s)+")VALUES"+E(Q(i,(a=>"($"+r[0]+++","+P(a,r)+")")),n)+"ON CONFLICT("+_(e)+")DO UPDATE SET"+E(g(s,(a=>_(a)+"=excluded."+_(a))),n),Q(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},Ea=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,h]=va(t,w,y,s,v,p),m=da(a,(async()=>await h((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",ta(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,aa(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,u);return m},ga=(a,t,e,n,s,i,r,[c,l,[w,y,u]],v,p,E,g,A,m,f,C)=>{const[b,S,T,O]=va(t,v,p,s,A,m,f,C),I=async(a,t)=>await d(sa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await T(u,$,{[N]:a},!0,!0,t):null,D=da(a,(async()=>await O((async()=>{await b();const a=await(async()=>H(h(await d(sa(c,(async([a,t],e)=>[a,await S(e,t)]))),(a=>!Z(a[1])))))(),t=await(async()=>w?(await S(u,$))[N]:{})();return Z(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await b(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},Aa="ColumnName",ha="store",ma="json",fa=ha+"TableName",Na=ha+"Id"+Aa,$a=ha+Aa,Ca="autoLoadIntervalSeconds",ba="rowId"+Aa,Sa="tableId",Ta="tableName",Oa="deleteEmptyColumns",Ia="deleteEmptyTable",La={mode:ma,[Ca]:1},Da={load:0,save:0,[Ta]:t+"_values"},Ra=(a,t,e,n,s)=>{const i=ea();return V(a,((a,r)=>{const c=y(W(q(t,l(a)?{[e]:a}:a)),0,X(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ia(i,r,c))})),i},Ma=(a,n,s,i,o,c,w,u,d,v,p="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[f,N,S,T]=(a=>{const e=(a=>q(La,l(a)?{[fa]:a}:a??{}))(a),n=e[Ca];if(e.mode==ma){const a=e[fa]??t;return[1,n,[a,e[Na]??$,e[$a]??ha],ca(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(W(q(Da,r)),0,X(Da)),c=o[2],w=ca(c),u=ca(c);return[0,n,[Ra(s,{[Sa]:null,[ba]:$},Sa,(a=>F(u,a)),(a=>la(w,a))),Ra(i,{[Ta]:null,[ba]:$,[Oa]:0,[Ia]:0},Ta,((a,t)=>F(u,t)),((a,t)=>la(w,t))),o],w]})(n);return(f?Ea:ga)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${C} ${D} d,${R} s,TOTAL_CHANGES() c FROM ${L}${D} JOIN ${L}${R}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*N),n=()=>{g=A=h=null,r(t)},s=i((t=>{T.has(t)&&(n(),a(),e())}));return e(),()=>{n(),o(s)}}),(a=>a()),w,u,d,S,j(T),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${M}list()t,${M}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},_a=(a,t,e,n,s)=>Ma(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>p(t.notifier.alias(e),(({tablename:t})=>a(t)))))),(a=>a()),n,s,(()=>0),1,t,"getElectricClient");export{_a as createElectricSqlPersister};