tinybase 5.1.0-beta.0 → 5.1.0

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 (955) hide show
  1. package/@types/persisters/index.d.cts +3 -1
  2. package/@types/persisters/index.d.ts +3 -1
  3. package/@types/persisters/with-schemas/index.d.cts +3 -1
  4. package/@types/persisters/with-schemas/index.d.ts +3 -1
  5. package/@types/synchronizers/index.d.cts +39 -23
  6. package/@types/synchronizers/index.d.ts +39 -23
  7. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +12 -1
  8. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +12 -1
  9. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +14 -1
  10. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +14 -1
  11. package/@types/synchronizers/synchronizer-local/index.d.cts +12 -3
  12. package/@types/synchronizers/synchronizer-local/index.d.ts +12 -3
  13. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +14 -3
  14. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +14 -3
  15. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +13 -1
  16. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +13 -1
  17. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +15 -1
  18. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +15 -1
  19. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +157 -29
  20. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +157 -29
  21. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +178 -29
  22. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +178 -29
  23. package/@types/synchronizers/with-schemas/index.d.cts +41 -23
  24. package/@types/synchronizers/with-schemas/index.d.ts +41 -23
  25. package/@types/ui-react/index.d.cts +62 -45
  26. package/@types/ui-react/index.d.ts +62 -45
  27. package/@types/ui-react/with-schemas/index.d.cts +83 -59
  28. package/@types/ui-react/with-schemas/index.d.ts +83 -59
  29. package/cjs/es6/index.cjs +114 -92
  30. package/cjs/es6/mergeable-store/index.cjs +9 -5
  31. package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -5
  32. package/cjs/es6/min/index.cjs +1 -1
  33. package/cjs/es6/min/index.cjs.gz +0 -0
  34. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  35. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  36. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  93. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  94. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  98. package/cjs/es6/min/store/index.cjs +1 -1
  99. package/cjs/es6/min/store/index.cjs.gz +0 -0
  100. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  101. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  102. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  103. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  104. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  105. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  106. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  107. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  108. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  109. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  110. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  113. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  114. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  117. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  118. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  119. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  121. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  122. package/cjs/es6/min/ui-react/index.cjs +1 -1
  123. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  124. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  125. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  126. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  127. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  128. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  129. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  130. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  131. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  132. package/cjs/es6/persisters/index.cjs +34 -22
  133. package/cjs/es6/persisters/persister-automerge/index.cjs +33 -25
  134. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +33 -25
  135. package/cjs/es6/persisters/persister-browser/index.cjs +39 -31
  136. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +39 -31
  137. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +33 -25
  138. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +33 -25
  139. package/cjs/es6/persisters/persister-electric-sql/index.cjs +33 -25
  140. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +33 -25
  141. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +33 -25
  142. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +33 -25
  143. package/cjs/es6/persisters/persister-file/index.cjs +45 -32
  144. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +45 -32
  145. package/cjs/es6/persisters/persister-indexed-db/index.cjs +33 -25
  146. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +33 -25
  147. package/cjs/es6/persisters/persister-libsql/index.cjs +289 -281
  148. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +289 -281
  149. package/cjs/es6/persisters/persister-partykit-client/index.cjs +33 -25
  150. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +33 -25
  151. package/cjs/es6/persisters/persister-powersync/index.cjs +33 -25
  152. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +33 -25
  153. package/cjs/es6/persisters/persister-remote/index.cjs +39 -31
  154. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +39 -31
  155. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +33 -25
  156. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +33 -25
  157. package/cjs/es6/persisters/persister-sqlite3/index.cjs +33 -25
  158. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +33 -25
  159. package/cjs/es6/persisters/persister-yjs/index.cjs +33 -25
  160. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +33 -25
  161. package/cjs/es6/persisters/with-schemas/index.cjs +34 -22
  162. package/cjs/es6/store/index.cjs +9 -5
  163. package/cjs/es6/store/with-schemas/index.cjs +9 -5
  164. package/cjs/es6/synchronizers/index.cjs +117 -103
  165. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +113 -105
  166. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +113 -105
  167. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +112 -106
  168. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +112 -106
  169. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +134 -120
  170. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +134 -120
  171. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +694 -37
  172. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +694 -37
  173. package/cjs/es6/synchronizers/with-schemas/index.cjs +117 -103
  174. package/cjs/es6/ui-react/index.cjs +14 -34
  175. package/cjs/es6/ui-react/with-schemas/index.cjs +14 -34
  176. package/cjs/es6/ui-react-inspector/index.cjs +39 -30
  177. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +39 -30
  178. package/cjs/es6/with-schemas/index.cjs +114 -92
  179. package/cjs/index.cjs +118 -97
  180. package/cjs/indexes/index.cjs +1 -1
  181. package/cjs/indexes/with-schemas/index.cjs +1 -1
  182. package/cjs/mergeable-store/index.cjs +9 -5
  183. package/cjs/mergeable-store/with-schemas/index.cjs +9 -5
  184. package/cjs/metrics/index.cjs +3 -3
  185. package/cjs/metrics/with-schemas/index.cjs +3 -3
  186. package/cjs/min/index.cjs +1 -1
  187. package/cjs/min/index.cjs.gz +0 -0
  188. package/cjs/min/mergeable-store/index.cjs +1 -1
  189. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  190. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  191. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/index.cjs +1 -1
  193. package/cjs/min/persisters/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  233. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  234. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  235. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  236. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  237. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  238. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  239. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  240. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  241. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  242. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  243. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  244. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  245. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  246. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  247. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  248. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  249. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  250. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  251. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/store/index.cjs +1 -1
  253. package/cjs/min/store/index.cjs.gz +0 -0
  254. package/cjs/min/store/with-schemas/index.cjs +1 -1
  255. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  256. package/cjs/min/synchronizers/index.cjs +1 -1
  257. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  258. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  259. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  260. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  261. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  263. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  264. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  265. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  266. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  267. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  268. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  269. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  270. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  271. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  272. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  273. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  274. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  275. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  276. package/cjs/min/ui-react/index.cjs +1 -1
  277. package/cjs/min/ui-react/index.cjs.gz +0 -0
  278. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  279. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  280. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  281. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  282. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  283. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  284. package/cjs/min/with-schemas/index.cjs +1 -1
  285. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  286. package/cjs/persisters/index.cjs +32 -20
  287. package/cjs/persisters/persister-automerge/index.cjs +31 -23
  288. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +31 -23
  289. package/cjs/persisters/persister-browser/index.cjs +37 -29
  290. package/cjs/persisters/persister-browser/with-schemas/index.cjs +37 -29
  291. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +32 -24
  292. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +32 -24
  293. package/cjs/persisters/persister-electric-sql/index.cjs +32 -24
  294. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +32 -24
  295. package/cjs/persisters/persister-expo-sqlite/index.cjs +32 -24
  296. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +32 -24
  297. package/cjs/persisters/persister-file/index.cjs +43 -30
  298. package/cjs/persisters/persister-file/with-schemas/index.cjs +43 -30
  299. package/cjs/persisters/persister-indexed-db/index.cjs +31 -23
  300. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +31 -23
  301. package/cjs/persisters/persister-libsql/index.cjs +197 -189
  302. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +197 -189
  303. package/cjs/persisters/persister-partykit-client/index.cjs +31 -23
  304. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +31 -23
  305. package/cjs/persisters/persister-powersync/index.cjs +32 -24
  306. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +32 -24
  307. package/cjs/persisters/persister-remote/index.cjs +37 -29
  308. package/cjs/persisters/persister-remote/with-schemas/index.cjs +37 -29
  309. package/cjs/persisters/persister-sqlite-wasm/index.cjs +32 -24
  310. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +32 -24
  311. package/cjs/persisters/persister-sqlite3/index.cjs +32 -24
  312. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +32 -24
  313. package/cjs/persisters/persister-yjs/index.cjs +33 -25
  314. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +33 -25
  315. package/cjs/persisters/with-schemas/index.cjs +32 -20
  316. package/cjs/queries/index.cjs +2 -2
  317. package/cjs/queries/with-schemas/index.cjs +2 -2
  318. package/cjs/relationships/index.cjs +1 -1
  319. package/cjs/relationships/with-schemas/index.cjs +1 -1
  320. package/cjs/store/index.cjs +9 -5
  321. package/cjs/store/with-schemas/index.cjs +9 -5
  322. package/cjs/synchronizers/index.cjs +109 -96
  323. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +105 -98
  324. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +105 -98
  325. package/cjs/synchronizers/synchronizer-local/index.cjs +104 -99
  326. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +104 -99
  327. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +123 -113
  328. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +123 -113
  329. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +527 -24
  330. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +527 -24
  331. package/cjs/synchronizers/with-schemas/index.cjs +109 -96
  332. package/cjs/ui-react/index.cjs +12 -12
  333. package/cjs/ui-react/with-schemas/index.cjs +12 -12
  334. package/cjs/ui-react-inspector/index.cjs +37 -28
  335. package/cjs/ui-react-inspector/with-schemas/index.cjs +37 -28
  336. package/cjs/with-schemas/index.cjs +118 -97
  337. package/es6/index.js +114 -92
  338. package/es6/mergeable-store/index.js +9 -5
  339. package/es6/mergeable-store/with-schemas/index.js +9 -5
  340. package/es6/min/index.js +1 -1
  341. package/es6/min/index.js.gz +0 -0
  342. package/es6/min/mergeable-store/index.js +1 -1
  343. package/es6/min/mergeable-store/index.js.gz +0 -0
  344. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  345. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  346. package/es6/min/persisters/index.js +1 -1
  347. package/es6/min/persisters/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-automerge/index.js +1 -1
  349. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  351. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-browser/index.js +1 -1
  353. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  355. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  357. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  359. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  361. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  363. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  365. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  367. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-file/index.js +1 -1
  369. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  371. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  373. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  374. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  375. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  376. package/es6/min/persisters/persister-libsql/index.js +1 -1
  377. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  378. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  379. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  380. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  381. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  382. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  383. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  384. package/es6/min/persisters/persister-powersync/index.js +1 -1
  385. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  386. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  387. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  388. package/es6/min/persisters/persister-remote/index.js +1 -1
  389. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  390. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  391. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  392. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  393. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  394. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  395. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  396. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  397. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  398. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  399. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  400. package/es6/min/persisters/persister-yjs/index.js +1 -1
  401. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  402. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  403. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  404. package/es6/min/persisters/with-schemas/index.js +1 -1
  405. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  406. package/es6/min/store/index.js +1 -1
  407. package/es6/min/store/index.js.gz +0 -0
  408. package/es6/min/store/with-schemas/index.js +1 -1
  409. package/es6/min/store/with-schemas/index.js.gz +0 -0
  410. package/es6/min/synchronizers/index.js +1 -1
  411. package/es6/min/synchronizers/index.js.gz +0 -0
  412. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  413. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  414. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  415. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  416. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  417. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  418. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  419. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  420. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  421. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  422. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  423. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  424. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  425. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  426. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  427. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  428. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  429. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  430. package/es6/min/ui-react/index.js +1 -1
  431. package/es6/min/ui-react/index.js.gz +0 -0
  432. package/es6/min/ui-react/with-schemas/index.js +1 -1
  433. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  434. package/es6/min/ui-react-inspector/index.js +1 -1
  435. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  436. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  437. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  438. package/es6/min/with-schemas/index.js +1 -1
  439. package/es6/min/with-schemas/index.js.gz +0 -0
  440. package/es6/persisters/index.js +34 -22
  441. package/es6/persisters/persister-automerge/index.js +33 -25
  442. package/es6/persisters/persister-automerge/with-schemas/index.js +33 -25
  443. package/es6/persisters/persister-browser/index.js +39 -31
  444. package/es6/persisters/persister-browser/with-schemas/index.js +39 -31
  445. package/es6/persisters/persister-cr-sqlite-wasm/index.js +33 -25
  446. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +33 -25
  447. package/es6/persisters/persister-electric-sql/index.js +33 -25
  448. package/es6/persisters/persister-electric-sql/with-schemas/index.js +33 -25
  449. package/es6/persisters/persister-expo-sqlite/index.js +33 -25
  450. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +33 -25
  451. package/es6/persisters/persister-file/index.js +46 -32
  452. package/es6/persisters/persister-file/with-schemas/index.js +46 -32
  453. package/es6/persisters/persister-indexed-db/index.js +33 -25
  454. package/es6/persisters/persister-indexed-db/with-schemas/index.js +33 -25
  455. package/es6/persisters/persister-libsql/index.js +289 -281
  456. package/es6/persisters/persister-libsql/with-schemas/index.js +289 -281
  457. package/es6/persisters/persister-partykit-client/index.js +33 -25
  458. package/es6/persisters/persister-partykit-client/with-schemas/index.js +33 -25
  459. package/es6/persisters/persister-powersync/index.js +33 -25
  460. package/es6/persisters/persister-powersync/with-schemas/index.js +33 -25
  461. package/es6/persisters/persister-remote/index.js +39 -31
  462. package/es6/persisters/persister-remote/with-schemas/index.js +39 -31
  463. package/es6/persisters/persister-sqlite-wasm/index.js +33 -25
  464. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +33 -25
  465. package/es6/persisters/persister-sqlite3/index.js +33 -25
  466. package/es6/persisters/persister-sqlite3/with-schemas/index.js +33 -25
  467. package/es6/persisters/persister-yjs/index.js +33 -25
  468. package/es6/persisters/persister-yjs/with-schemas/index.js +33 -25
  469. package/es6/persisters/with-schemas/index.js +34 -22
  470. package/es6/store/index.js +9 -5
  471. package/es6/store/with-schemas/index.js +9 -5
  472. package/es6/synchronizers/index.js +117 -103
  473. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +113 -105
  474. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +113 -105
  475. package/es6/synchronizers/synchronizer-local/index.js +112 -106
  476. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +112 -106
  477. package/es6/synchronizers/synchronizer-ws-client/index.js +134 -120
  478. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +134 -120
  479. package/es6/synchronizers/synchronizer-ws-server/index.js +694 -37
  480. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +694 -37
  481. package/es6/synchronizers/with-schemas/index.js +117 -103
  482. package/es6/ui-react/index.js +14 -34
  483. package/es6/ui-react/with-schemas/index.js +14 -34
  484. package/es6/ui-react-inspector/index.js +39 -30
  485. package/es6/ui-react-inspector/with-schemas/index.js +39 -30
  486. package/es6/with-schemas/index.js +114 -92
  487. package/index.js +118 -97
  488. package/indexes/index.js +1 -1
  489. package/indexes/with-schemas/index.js +1 -1
  490. package/mergeable-store/index.js +9 -5
  491. package/mergeable-store/with-schemas/index.js +9 -5
  492. package/metrics/index.js +3 -3
  493. package/metrics/with-schemas/index.js +3 -3
  494. package/min/index.js +1 -1
  495. package/min/index.js.gz +0 -0
  496. package/min/mergeable-store/index.js +1 -1
  497. package/min/mergeable-store/index.js.gz +0 -0
  498. package/min/mergeable-store/with-schemas/index.js +1 -1
  499. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  500. package/min/persisters/index.js +1 -1
  501. package/min/persisters/index.js.gz +0 -0
  502. package/min/persisters/persister-automerge/index.js +1 -1
  503. package/min/persisters/persister-automerge/index.js.gz +0 -0
  504. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  505. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  506. package/min/persisters/persister-browser/index.js +1 -1
  507. package/min/persisters/persister-browser/index.js.gz +0 -0
  508. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  509. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  510. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  511. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  512. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  513. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  514. package/min/persisters/persister-electric-sql/index.js +1 -1
  515. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  516. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  517. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  518. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  519. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  520. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  521. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  522. package/min/persisters/persister-file/index.js +1 -1
  523. package/min/persisters/persister-file/index.js.gz +0 -0
  524. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  525. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  526. package/min/persisters/persister-indexed-db/index.js +1 -1
  527. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  528. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  529. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  530. package/min/persisters/persister-libsql/index.js +1 -1
  531. package/min/persisters/persister-libsql/index.js.gz +0 -0
  532. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  533. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  534. package/min/persisters/persister-partykit-client/index.js +1 -1
  535. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  536. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  537. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  538. package/min/persisters/persister-powersync/index.js +1 -1
  539. package/min/persisters/persister-powersync/index.js.gz +0 -0
  540. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  541. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  542. package/min/persisters/persister-remote/index.js +1 -1
  543. package/min/persisters/persister-remote/index.js.gz +0 -0
  544. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  545. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  546. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  547. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  548. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  549. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  550. package/min/persisters/persister-sqlite3/index.js +1 -1
  551. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  552. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  553. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  554. package/min/persisters/persister-yjs/index.js +1 -1
  555. package/min/persisters/persister-yjs/index.js.gz +0 -0
  556. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  557. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  558. package/min/persisters/with-schemas/index.js +1 -1
  559. package/min/persisters/with-schemas/index.js.gz +0 -0
  560. package/min/store/index.js +1 -1
  561. package/min/store/index.js.gz +0 -0
  562. package/min/store/with-schemas/index.js +1 -1
  563. package/min/store/with-schemas/index.js.gz +0 -0
  564. package/min/synchronizers/index.js +1 -1
  565. package/min/synchronizers/index.js.gz +0 -0
  566. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  567. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  568. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  569. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  570. package/min/synchronizers/synchronizer-local/index.js +1 -1
  571. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  572. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  573. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  574. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  575. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  576. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  577. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  578. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  579. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  580. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  581. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  582. package/min/synchronizers/with-schemas/index.js +1 -1
  583. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  584. package/min/ui-react/index.js +1 -1
  585. package/min/ui-react/index.js.gz +0 -0
  586. package/min/ui-react/with-schemas/index.js +1 -1
  587. package/min/ui-react/with-schemas/index.js.gz +0 -0
  588. package/min/ui-react-inspector/index.js +1 -1
  589. package/min/ui-react-inspector/index.js.gz +0 -0
  590. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  591. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  592. package/min/with-schemas/index.js +1 -1
  593. package/min/with-schemas/index.js.gz +0 -0
  594. package/package.json +4 -1
  595. package/persisters/index.js +32 -20
  596. package/persisters/persister-automerge/index.js +31 -23
  597. package/persisters/persister-automerge/with-schemas/index.js +31 -23
  598. package/persisters/persister-browser/index.js +37 -29
  599. package/persisters/persister-browser/with-schemas/index.js +37 -29
  600. package/persisters/persister-cr-sqlite-wasm/index.js +32 -24
  601. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +32 -24
  602. package/persisters/persister-electric-sql/index.js +32 -24
  603. package/persisters/persister-electric-sql/with-schemas/index.js +32 -24
  604. package/persisters/persister-expo-sqlite/index.js +32 -24
  605. package/persisters/persister-expo-sqlite/with-schemas/index.js +32 -24
  606. package/persisters/persister-file/index.js +44 -30
  607. package/persisters/persister-file/with-schemas/index.js +44 -30
  608. package/persisters/persister-indexed-db/index.js +31 -23
  609. package/persisters/persister-indexed-db/with-schemas/index.js +31 -23
  610. package/persisters/persister-libsql/index.js +197 -189
  611. package/persisters/persister-libsql/with-schemas/index.js +197 -189
  612. package/persisters/persister-partykit-client/index.js +31 -23
  613. package/persisters/persister-partykit-client/with-schemas/index.js +31 -23
  614. package/persisters/persister-powersync/index.js +32 -24
  615. package/persisters/persister-powersync/with-schemas/index.js +32 -24
  616. package/persisters/persister-remote/index.js +37 -29
  617. package/persisters/persister-remote/with-schemas/index.js +37 -29
  618. package/persisters/persister-sqlite-wasm/index.js +32 -24
  619. package/persisters/persister-sqlite-wasm/with-schemas/index.js +32 -24
  620. package/persisters/persister-sqlite3/index.js +32 -24
  621. package/persisters/persister-sqlite3/with-schemas/index.js +32 -24
  622. package/persisters/persister-yjs/index.js +33 -24
  623. package/persisters/persister-yjs/with-schemas/index.js +33 -24
  624. package/persisters/with-schemas/index.js +32 -20
  625. package/queries/index.js +2 -2
  626. package/queries/with-schemas/index.js +2 -2
  627. package/readme.md +3 -3
  628. package/relationships/index.js +1 -1
  629. package/relationships/with-schemas/index.js +1 -1
  630. package/releases.md +15 -4
  631. package/store/index.js +9 -5
  632. package/store/with-schemas/index.js +9 -5
  633. package/synchronizers/index.js +109 -96
  634. package/synchronizers/synchronizer-broadcast-channel/index.js +105 -98
  635. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +105 -98
  636. package/synchronizers/synchronizer-local/index.js +104 -99
  637. package/synchronizers/synchronizer-local/with-schemas/index.js +104 -99
  638. package/synchronizers/synchronizer-ws-client/index.js +123 -113
  639. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +123 -113
  640. package/synchronizers/synchronizer-ws-server/index.js +527 -24
  641. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +527 -24
  642. package/synchronizers/with-schemas/index.js +109 -96
  643. package/ui-react/index.js +12 -12
  644. package/ui-react/with-schemas/index.js +12 -12
  645. package/ui-react-inspector/index.js +37 -28
  646. package/ui-react-inspector/with-schemas/index.js +37 -28
  647. package/umd/es6/index.js +119 -97
  648. package/umd/es6/mergeable-store/index.js +9 -5
  649. package/umd/es6/mergeable-store/with-schemas/index.js +9 -5
  650. package/umd/es6/min/index.js +1 -1
  651. package/umd/es6/min/index.js.gz +0 -0
  652. package/umd/es6/min/mergeable-store/index.js +1 -1
  653. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  654. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  655. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  656. package/umd/es6/min/persisters/index.js +1 -1
  657. package/umd/es6/min/persisters/index.js.gz +0 -0
  658. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  659. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  660. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  661. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  662. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  663. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  664. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  665. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  666. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  667. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  668. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  669. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  670. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  671. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  672. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  673. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  674. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  675. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  676. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  677. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  678. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  679. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  680. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  681. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  682. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  683. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  684. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  685. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  686. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  687. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  688. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  689. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  690. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  691. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  692. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  693. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  694. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  695. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  696. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  697. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  698. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  699. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  700. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  701. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  702. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  703. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  704. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  705. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  706. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  707. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  708. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  709. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  710. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  711. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  712. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  713. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  714. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  715. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  716. package/umd/es6/min/store/index.js +1 -1
  717. package/umd/es6/min/store/index.js.gz +0 -0
  718. package/umd/es6/min/store/with-schemas/index.js +1 -1
  719. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  720. package/umd/es6/min/synchronizers/index.js +1 -1
  721. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  722. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  723. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  724. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  725. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  726. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  727. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  728. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  729. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  730. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  731. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  732. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  733. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  734. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  735. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  736. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  737. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  738. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  739. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  740. package/umd/es6/min/ui-react/index.js +1 -1
  741. package/umd/es6/min/ui-react/index.js.gz +0 -0
  742. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  743. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  744. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  745. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  746. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  747. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  748. package/umd/es6/min/with-schemas/index.js +1 -1
  749. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  750. package/umd/es6/persisters/index.js +34 -22
  751. package/umd/es6/persisters/persister-automerge/index.js +33 -25
  752. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +33 -25
  753. package/umd/es6/persisters/persister-browser/index.js +41 -33
  754. package/umd/es6/persisters/persister-browser/with-schemas/index.js +41 -33
  755. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +33 -25
  756. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +33 -25
  757. package/umd/es6/persisters/persister-electric-sql/index.js +33 -25
  758. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +33 -25
  759. package/umd/es6/persisters/persister-expo-sqlite/index.js +33 -25
  760. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +33 -25
  761. package/umd/es6/persisters/persister-file/index.js +47 -34
  762. package/umd/es6/persisters/persister-file/with-schemas/index.js +47 -34
  763. package/umd/es6/persisters/persister-indexed-db/index.js +33 -25
  764. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +33 -25
  765. package/umd/es6/persisters/persister-libsql/index.js +291 -283
  766. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +291 -283
  767. package/umd/es6/persisters/persister-partykit-client/index.js +33 -25
  768. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +33 -25
  769. package/umd/es6/persisters/persister-powersync/index.js +33 -25
  770. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +33 -25
  771. package/umd/es6/persisters/persister-remote/index.js +39 -31
  772. package/umd/es6/persisters/persister-remote/with-schemas/index.js +39 -31
  773. package/umd/es6/persisters/persister-sqlite-wasm/index.js +33 -25
  774. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +33 -25
  775. package/umd/es6/persisters/persister-sqlite3/index.js +33 -25
  776. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +33 -25
  777. package/umd/es6/persisters/persister-yjs/index.js +33 -25
  778. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +33 -25
  779. package/umd/es6/persisters/with-schemas/index.js +34 -22
  780. package/umd/es6/store/index.js +9 -5
  781. package/umd/es6/store/with-schemas/index.js +9 -5
  782. package/umd/es6/synchronizers/index.js +122 -108
  783. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +118 -110
  784. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +118 -110
  785. package/umd/es6/synchronizers/synchronizer-local/index.js +122 -111
  786. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +122 -111
  787. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +139 -125
  788. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +139 -125
  789. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +713 -37
  790. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +713 -37
  791. package/umd/es6/synchronizers/with-schemas/index.js +122 -108
  792. package/umd/es6/ui-react/index.js +17 -34
  793. package/umd/es6/ui-react/with-schemas/index.js +17 -34
  794. package/umd/es6/ui-react-inspector/index.js +39 -30
  795. package/umd/es6/ui-react-inspector/with-schemas/index.js +39 -30
  796. package/umd/es6/with-schemas/index.js +119 -97
  797. package/umd/index.js +121 -100
  798. package/umd/indexes/index.js +1 -1
  799. package/umd/indexes/with-schemas/index.js +1 -1
  800. package/umd/mergeable-store/index.js +9 -5
  801. package/umd/mergeable-store/with-schemas/index.js +9 -5
  802. package/umd/metrics/index.js +3 -3
  803. package/umd/metrics/with-schemas/index.js +3 -3
  804. package/umd/min/index.js +1 -1
  805. package/umd/min/index.js.gz +0 -0
  806. package/umd/min/mergeable-store/index.js +1 -1
  807. package/umd/min/mergeable-store/index.js.gz +0 -0
  808. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  809. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  810. package/umd/min/persisters/index.js +1 -1
  811. package/umd/min/persisters/index.js.gz +0 -0
  812. package/umd/min/persisters/persister-automerge/index.js +1 -1
  813. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  814. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  815. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  816. package/umd/min/persisters/persister-browser/index.js +1 -1
  817. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  818. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  819. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  820. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  821. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  822. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  823. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  824. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  825. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  826. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  827. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  828. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  829. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  830. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  831. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  832. package/umd/min/persisters/persister-file/index.js +1 -1
  833. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  834. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  835. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  836. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  837. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  838. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  839. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  840. package/umd/min/persisters/persister-libsql/index.js +1 -1
  841. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  842. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  843. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  844. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  845. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  846. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  847. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  848. package/umd/min/persisters/persister-powersync/index.js +1 -1
  849. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  850. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  851. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  852. package/umd/min/persisters/persister-remote/index.js +1 -1
  853. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  854. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  855. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  856. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  857. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  858. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  859. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  860. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  861. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  862. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  863. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  864. package/umd/min/persisters/persister-yjs/index.js +1 -1
  865. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  866. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  867. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  868. package/umd/min/persisters/with-schemas/index.js +1 -1
  869. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  870. package/umd/min/store/index.js +1 -1
  871. package/umd/min/store/index.js.gz +0 -0
  872. package/umd/min/store/with-schemas/index.js +1 -1
  873. package/umd/min/store/with-schemas/index.js.gz +0 -0
  874. package/umd/min/synchronizers/index.js +1 -1
  875. package/umd/min/synchronizers/index.js.gz +0 -0
  876. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  877. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  878. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  879. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  880. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  881. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  882. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  883. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  884. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  885. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  886. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  887. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  888. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  889. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  890. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  891. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  892. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  893. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  894. package/umd/min/ui-react/index.js +1 -1
  895. package/umd/min/ui-react/index.js.gz +0 -0
  896. package/umd/min/ui-react/with-schemas/index.js +1 -1
  897. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  898. package/umd/min/ui-react-inspector/index.js +1 -1
  899. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  900. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  901. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  902. package/umd/min/with-schemas/index.js +1 -1
  903. package/umd/min/with-schemas/index.js.gz +0 -0
  904. package/umd/persisters/index.js +32 -20
  905. package/umd/persisters/persister-automerge/index.js +31 -23
  906. package/umd/persisters/persister-automerge/with-schemas/index.js +31 -23
  907. package/umd/persisters/persister-browser/index.js +39 -31
  908. package/umd/persisters/persister-browser/with-schemas/index.js +39 -31
  909. package/umd/persisters/persister-cr-sqlite-wasm/index.js +32 -24
  910. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +32 -24
  911. package/umd/persisters/persister-electric-sql/index.js +32 -24
  912. package/umd/persisters/persister-electric-sql/with-schemas/index.js +32 -24
  913. package/umd/persisters/persister-expo-sqlite/index.js +32 -24
  914. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +32 -24
  915. package/umd/persisters/persister-file/index.js +45 -32
  916. package/umd/persisters/persister-file/with-schemas/index.js +45 -32
  917. package/umd/persisters/persister-indexed-db/index.js +31 -23
  918. package/umd/persisters/persister-indexed-db/with-schemas/index.js +31 -23
  919. package/umd/persisters/persister-libsql/index.js +199 -191
  920. package/umd/persisters/persister-libsql/with-schemas/index.js +199 -191
  921. package/umd/persisters/persister-partykit-client/index.js +31 -23
  922. package/umd/persisters/persister-partykit-client/with-schemas/index.js +31 -23
  923. package/umd/persisters/persister-powersync/index.js +32 -24
  924. package/umd/persisters/persister-powersync/with-schemas/index.js +32 -24
  925. package/umd/persisters/persister-remote/index.js +37 -29
  926. package/umd/persisters/persister-remote/with-schemas/index.js +37 -29
  927. package/umd/persisters/persister-sqlite-wasm/index.js +32 -24
  928. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +32 -24
  929. package/umd/persisters/persister-sqlite3/index.js +32 -24
  930. package/umd/persisters/persister-sqlite3/with-schemas/index.js +32 -24
  931. package/umd/persisters/persister-yjs/index.js +33 -25
  932. package/umd/persisters/persister-yjs/with-schemas/index.js +33 -25
  933. package/umd/persisters/with-schemas/index.js +32 -20
  934. package/umd/queries/index.js +2 -2
  935. package/umd/queries/with-schemas/index.js +2 -2
  936. package/umd/relationships/index.js +1 -1
  937. package/umd/relationships/with-schemas/index.js +1 -1
  938. package/umd/store/index.js +9 -5
  939. package/umd/store/with-schemas/index.js +9 -5
  940. package/umd/synchronizers/index.js +112 -99
  941. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +108 -101
  942. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +108 -101
  943. package/umd/synchronizers/synchronizer-local/index.js +112 -102
  944. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +112 -102
  945. package/umd/synchronizers/synchronizer-ws-client/index.js +126 -116
  946. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +126 -116
  947. package/umd/synchronizers/synchronizer-ws-server/index.js +547 -36
  948. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +547 -36
  949. package/umd/synchronizers/with-schemas/index.js +112 -99
  950. package/umd/ui-react/index.js +13 -12
  951. package/umd/ui-react/with-schemas/index.js +13 -12
  952. package/umd/ui-react-inspector/index.js +37 -28
  953. package/umd/ui-react-inspector/with-schemas/index.js +37 -28
  954. package/umd/with-schemas/index.js +121 -100
  955. package/with-schemas/index.js +118 -97
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(C(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[C,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,h,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",Ca="deleteEmptyColumns",ha="deleteEmptyTable",ma={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(L(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Oa="pragma_",Na="data_version",ba="schema_version",fa=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[C,h,T,O]=(a=>{const e=(a=>L(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(L(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Ta(s,{[va]:null,[ga]:k},va,(a=>m(w,a)),(a=>z(l,a))),Ta(i,{[pa]:null,[ga]:k,[Ca]:0,[ha]:0},pa,((a,t)=>m(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${ba} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${ba}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,T,A(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{fa as createPowerSyncPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=a=>{throw Error(a)},v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),C=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,b=a=>N.getPrototypeOf(a),f=N.entries,R=N.keys,S=N.freeze,L=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>p(f(a),(([a,e])=>t(e,a))),P=a=>N.values(a),_=a=>d(R(a)),$=a=>(a=>!c(a)&&l(b(a),(a=>a==N.prototype||c(b(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(w(a)||c(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>Y(r,L(await E(p(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(p(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(x(x(r,a),t)))(t,e)?L(h(p(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=z();M(o??{},(a=>p(R(a??{}),(a=>K(u,a)))));const d=T(u);if(!w&&y&&C(d)&&A(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(C(d)||A(r,t)){const n=x(r,t),i=z(j(n));await E([...p(d,(async s=>{O(i,s)||(await a(q+U(t)+"ADD"+U(s)),H(n,s,e))})),...!w&&l?p(T(i),(async e=>{e!=s&&(await a(q+U(t)+"DROP"+U(e)),H(n,e))})):[]])}else await a("CREATE "+V+U(t)+"("+U(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+U(a))))});`),H(r,t,F([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+U(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+U(t)+aa+U(s)+"=?",[n]):C(d)||await ea(a,t,s,R(e),[n,...P(e)],i)})));else if(C(d))A(r,t)&&await a(Q+U(t)+aa+" 1");else{const e=h(j(x(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await ea(a,t,s,e,n,i),await a(Q+U(t)+aa+U(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+U(t)+"("+U(s)+v(p(r,(a=>n+U(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+U(s)+")DO UPDATE SET"+v(p(r,(a=>U(a)+"=excluded."+U(a))),n):e),p(o,(a=>a??null))),na=a=>v(p(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,C=0;J(sa,y,(()=>0)),J(ia,y,(()=>[]));const[h,A,T,O,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:g("Store type not supported by this Persister"))(r,a),b=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await D((async()=>{try{const a=await t();w(a)?b(a):g("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}v=0}))),M),R=()=>(d&&(s(d),d=void 0),M),L=async a=>(1!=v&&(v=2,C++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),I=()=>(l(E,a.delListener),E=void 0,M),D=async(...a)=>(m(x(ia,y),...a),await(async()=>{if(!x(sa,y)){for(H(sa,y,1);!c((a=x(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(sa,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>{await R().load(a);try{d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,b(t??a),v=0):await f()}))}catch(a){i?.(a)}return M},stopAutoLoad:R,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=T();O(a)&&L(a)})),M),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>(x(ia,y).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:p,saves:C}),...o};return S(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,C,m,A]=ta(t,u,s,v),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,G))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,ga="autoLoadIntervalSeconds",va="rowId"+la,pa="tableId",Ca="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:wa,[ga]:1},Ta={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,y(a)?{[e]:a}:a)),0,_(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Na="pragma_",ba="data_version",fa="schema_version",Ra=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[C,h,m,O]=(a=>{const e=(a=>I(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[ga];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??G,e[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(P(I(Ta,r)),0,_(Ta)),c=o[2],l=z(c),w=z(c);return[0,n,[Oa(s,{[pa]:null,[va]:G},pa,(a=>A(w,a)),(a=>K(l,a))),Oa(i,{[Ca]:null,[va]:G,[ha]:0,[ma]:0},Ca,((a,t)=>A(w,t)),((a,t)=>K(l,t))),o],l]})(e);return(C?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${ba} JOIN ${Na}${fa}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,m,T(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)p(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{Ra as createPowerSyncPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(C(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[C,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,h,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",Ca="deleteEmptyColumns",ha="deleteEmptyTable",ma={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(L(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Oa="pragma_",Na="data_version",ba="schema_version",fa=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[C,h,T,O]=(a=>{const e=(a=>L(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(L(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Ta(s,{[va]:null,[ga]:k},va,(a=>m(w,a)),(a=>z(l,a))),Ta(i,{[pa]:null,[ga]:k,[Ca]:0,[ha]:0},pa,((a,t)=>m(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${ba} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${ba}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,T,A(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{fa as createPowerSyncPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=a=>{throw Error(a)},v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),C=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,b=a=>N.getPrototypeOf(a),f=N.entries,R=N.keys,S=N.freeze,L=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>p(f(a),(([a,e])=>t(e,a))),P=a=>N.values(a),_=a=>d(R(a)),$=a=>(a=>!c(a)&&l(b(a),(a=>a==N.prototype||c(b(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(w(a)||c(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>Y(r,L(await E(p(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(p(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(x(x(r,a),t)))(t,e)?L(h(p(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=z();M(o??{},(a=>p(R(a??{}),(a=>K(u,a)))));const d=T(u);if(!w&&y&&C(d)&&A(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(C(d)||A(r,t)){const n=x(r,t),i=z(j(n));await E([...p(d,(async s=>{O(i,s)||(await a(q+U(t)+"ADD"+U(s)),H(n,s,e))})),...!w&&l?p(T(i),(async e=>{e!=s&&(await a(q+U(t)+"DROP"+U(e)),H(n,e))})):[]])}else await a("CREATE "+V+U(t)+"("+U(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+U(a))))});`),H(r,t,F([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+U(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+U(t)+aa+U(s)+"=?",[n]):C(d)||await ea(a,t,s,R(e),[n,...P(e)],i)})));else if(C(d))A(r,t)&&await a(Q+U(t)+aa+" 1");else{const e=h(j(x(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await ea(a,t,s,e,n,i),await a(Q+U(t)+aa+U(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+U(t)+"("+U(s)+v(p(r,(a=>n+U(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+U(s)+")DO UPDATE SET"+v(p(r,(a=>U(a)+"=excluded."+U(a))),n):e),p(o,(a=>a??null))),na=a=>v(p(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,C=0;J(sa,y,(()=>0)),J(ia,y,(()=>[]));const[h,A,T,O,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:g("Store type not supported by this Persister"))(r,a),b=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await D((async()=>{try{const a=await t();w(a)?b(a):g("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}v=0}))),M),R=()=>(d&&(s(d),d=void 0),M),L=async a=>(1!=v&&(v=2,C++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),I=()=>(l(E,a.delListener),E=void 0,M),D=async(...a)=>(m(x(ia,y),...a),await(async()=>{if(!x(sa,y)){for(H(sa,y,1);!c((a=x(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(sa,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>{await R().load(a);try{d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,b(t??a),v=0):await f()}))}catch(a){i?.(a)}return M},stopAutoLoad:R,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=T();O(a)&&L(a)})),M),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>(x(ia,y).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:p,saves:C}),...o};return S(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,C,m,A]=ta(t,u,s,v),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,G))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,ga="autoLoadIntervalSeconds",va="rowId"+la,pa="tableId",Ca="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:wa,[ga]:1},Ta={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,y(a)?{[e]:a}:a)),0,_(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Na="pragma_",ba="data_version",fa="schema_version",Ra=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[C,h,m,O]=(a=>{const e=(a=>I(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[ga];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??G,e[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(P(I(Ta,r)),0,_(Ta)),c=o[2],l=z(c),w=z(c);return[0,n,[Oa(s,{[pa]:null,[va]:G},pa,(a=>A(w,a)),(a=>K(l,a))),Oa(i,{[Ca]:null,[va]:G,[ha]:0,[ma]:0},Ca,((a,t)=>A(w,t)),((a,t)=>K(l,t))),o],l]})(e);return(C?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${ba} JOIN ${Na}${fa}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,m,T(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)p(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{Ra as createPowerSyncPersister};
@@ -1 +1 @@
1
- const t=clearInterval,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),r=s.keys,o=s.freeze,i=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=t=>new Map(t),y=(t,e)=>t?.get(e),g=(t,a,s)=>{return e(s)?(n=t,r=a,n?.delete(r),t):t?.set(a,s);var n,r},l=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||g(t,e,a()),y(t,e)},h=c(),d=c(),p=JSON.parse,u=t=>t.headers.get("ETag"),v=(n,r,c,v=5,w)=>{let f;return((t,s,n,r,c,p,u,v={},w=[])=>{let f,C,A,S=0,b=0,M=0;l(h,w,(()=>0)),l(d,w,(()=>[]));const[T,L,O,E,m]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,t),D=e=>{var a;(T&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},P=async t=>(2!=S&&(S=1,b++,await J((async()=>{try{D(await s())}catch(e){p?.(e),t&&m(t)}S=0}))),N),j=()=>(C&&(c(C),C=void 0),N),x=async t=>(1!=S&&(S=2,M++,await J((async()=>{try{await n(L,t)}catch(t){p?.(t)}S=0}))),N),I=()=>(a(A,t.delListener),A=void 0,N),J=async(...t)=>(((t,...e)=>{t.push(...e)})(y(d,w),...t),await(async()=>{if(!y(h,w)){for(g(h,w,1);!e((t=y(d,w),f=t.shift()));)try{await f()}catch(t){p?.(t)}g(h,w,0)}var t})(),N),N={load:P,startAutoLoad:async t=>(await j().load(t),C=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,D(e??t),S=0):await P()})),N),stopAutoLoad:j,isAutoLoading:()=>!e(C),save:x,startAutoSave:async()=>(await I().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();E(t)&&x(t)})),N),stopAutoSave:I,isAutoSaving:()=>!e(A),schedule:J,getStore:()=>t,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:b,saves:M}),...v};return o(N)})(n,(async()=>{const t=await fetch(r);return f=u(t),p(await t.text())}),(async t=>{return await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?s.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),s=u(a);e(f)||e(s)||s==f||(f=s,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,c]})};export{v as createRemotePersister};
1
+ const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=t=>Array.isArray(t),s=t=>{throw Error(t)},r=Object,o=t=>r.getPrototypeOf(t),i=r.keys,c=r.freeze,y=t=>(t=>!e(t)&&a(o(t),(t=>t==r.prototype||e(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),l=JSON.parse,g=t=>new Map(t),h=(t,e)=>t?.get(e),d=(t,a,n)=>{return e(n)?(s=t,r=a,s?.delete(r),t):t?.set(a,n);var s,r},p=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)||d(t,e,a()),h(t,e)},u=g(),v=g(),w=t=>t.headers.get("ETag"),f=(o,i,g,f=5,C)=>{let A;return((t,r,o,i,l,g,w,f={},C=[])=>{let A,S,b,M=0,T=0,L=0;p(u,C,(()=>0)),p(v,C,(()=>[]));const[O,E,m,D,P]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!y(t)||!y(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!y(t)||!y(e),e.setContent]:s("Store type not supported by this Persister"))(w,t),j=e=>{(O&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=M&&(M=1,T++,await k((async()=>{try{const t=await r();n(t)?j(t):s("Content is not an array "+t)}catch(e){g?.(e),t&&P(t)}M=0}))),z),I=()=>(S&&(l(S),S=void 0),z),J=async t=>(1!=M&&(M=2,L++,await k((async()=>{try{await o(E,t)}catch(t){g?.(t)}M=0}))),z),N=()=>(a(b,t.delListener),b=void 0,z),k=async(...t)=>(((t,...e)=>{t.push(...e)})(h(v,C),...t),await(async()=>{if(!h(u,C)){for(d(u,C,1);!e((t=h(v,C),A=t.shift()));)try{await A()}catch(t){g?.(t)}d(u,C,0)}var t})(),z),z={load:x,startAutoLoad:async t=>{await I().load(t);try{S=i((async(t,e)=>{e||t?2!=M&&(M=1,T++,j(e??t),M=0):await x()}))}catch(t){g?.(t)}return z},stopAutoLoad:I,isAutoLoading:()=>!e(S),save:J,startAutoSave:async()=>(await N().save(),b=t.addDidFinishTransactionListener((()=>{const t=m();D(t)&&J(t)})),z),stopAutoSave:N,isAutoSaving:()=>!e(b),schedule:k,getStore:()=>t,destroy:()=>(h(v,C).splice(0,void 0),I().stopAutoSave()),getStats:()=>({loads:T,saves:L}),...f};return c(z)})(o,(async()=>{const t=await fetch(i);return A=w(t),l(await t.text())}),(async t=>{return await fetch(g,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(i,{method:"HEAD"}),n=w(a);e(A)||e(n)||n==A||(A=n,t())}),1e3*f)),(e=>t(e)),C,1,{getUrls:()=>[i,g]})};export{f as createRemotePersister};
@@ -1 +1 @@
1
- const t=clearInterval,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),r=s.keys,o=s.freeze,i=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=t=>new Map(t),y=(t,e)=>t?.get(e),g=(t,a,s)=>{return e(s)?(n=t,r=a,n?.delete(r),t):t?.set(a,s);var n,r},l=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||g(t,e,a()),y(t,e)},h=c(),d=c(),p=JSON.parse,u=t=>t.headers.get("ETag"),v=(n,r,c,v=5,w)=>{let f;return((t,s,n,r,c,p,u,v={},w=[])=>{let f,C,A,S=0,b=0,M=0;l(h,w,(()=>0)),l(d,w,(()=>[]));const[T,L,O,E,m]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,t),D=e=>{var a;(T&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},P=async t=>(2!=S&&(S=1,b++,await J((async()=>{try{D(await s())}catch(e){p?.(e),t&&m(t)}S=0}))),N),j=()=>(C&&(c(C),C=void 0),N),x=async t=>(1!=S&&(S=2,M++,await J((async()=>{try{await n(L,t)}catch(t){p?.(t)}S=0}))),N),I=()=>(a(A,t.delListener),A=void 0,N),J=async(...t)=>(((t,...e)=>{t.push(...e)})(y(d,w),...t),await(async()=>{if(!y(h,w)){for(g(h,w,1);!e((t=y(d,w),f=t.shift()));)try{await f()}catch(t){p?.(t)}g(h,w,0)}var t})(),N),N={load:P,startAutoLoad:async t=>(await j().load(t),C=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,D(e??t),S=0):await P()})),N),stopAutoLoad:j,isAutoLoading:()=>!e(C),save:x,startAutoSave:async()=>(await I().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();E(t)&&x(t)})),N),stopAutoSave:I,isAutoSaving:()=>!e(A),schedule:J,getStore:()=>t,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:b,saves:M}),...v};return o(N)})(n,(async()=>{const t=await fetch(r);return f=u(t),p(await t.text())}),(async t=>{return await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?s.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),s=u(a);e(f)||e(s)||s==f||(f=s,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,c]})};export{v as createRemotePersister};
1
+ const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=t=>Array.isArray(t),s=t=>{throw Error(t)},r=Object,o=t=>r.getPrototypeOf(t),i=r.keys,c=r.freeze,y=t=>(t=>!e(t)&&a(o(t),(t=>t==r.prototype||e(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),l=JSON.parse,g=t=>new Map(t),h=(t,e)=>t?.get(e),d=(t,a,n)=>{return e(n)?(s=t,r=a,s?.delete(r),t):t?.set(a,n);var s,r},p=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)||d(t,e,a()),h(t,e)},u=g(),v=g(),w=t=>t.headers.get("ETag"),f=(o,i,g,f=5,C)=>{let A;return((t,r,o,i,l,g,w,f={},C=[])=>{let A,S,b,M=0,T=0,L=0;p(u,C,(()=>0)),p(v,C,(()=>[]));const[O,E,m,D,P]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!y(t)||!y(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!y(t)||!y(e),e.setContent]:s("Store type not supported by this Persister"))(w,t),j=e=>{(O&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=M&&(M=1,T++,await k((async()=>{try{const t=await r();n(t)?j(t):s("Content is not an array "+t)}catch(e){g?.(e),t&&P(t)}M=0}))),z),I=()=>(S&&(l(S),S=void 0),z),J=async t=>(1!=M&&(M=2,L++,await k((async()=>{try{await o(E,t)}catch(t){g?.(t)}M=0}))),z),N=()=>(a(b,t.delListener),b=void 0,z),k=async(...t)=>(((t,...e)=>{t.push(...e)})(h(v,C),...t),await(async()=>{if(!h(u,C)){for(d(u,C,1);!e((t=h(v,C),A=t.shift()));)try{await A()}catch(t){g?.(t)}d(u,C,0)}var t})(),z),z={load:x,startAutoLoad:async t=>{await I().load(t);try{S=i((async(t,e)=>{e||t?2!=M&&(M=1,T++,j(e??t),M=0):await x()}))}catch(t){g?.(t)}return z},stopAutoLoad:I,isAutoLoading:()=>!e(S),save:J,startAutoSave:async()=>(await N().save(),b=t.addDidFinishTransactionListener((()=>{const t=m();D(t)&&J(t)})),z),stopAutoSave:N,isAutoSaving:()=>!e(b),schedule:k,getStore:()=>t,destroy:()=>(h(v,C).splice(0,void 0),I().stopAutoSave()),getStats:()=>({loads:T,saves:L}),...f};return c(z)})(o,(async()=>{const t=await fetch(i);return A=w(t),l(await t.text())}),(async t=>{return await fetch(g,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(i,{method:"HEAD"}),n=w(a);e(A)||e(n)||n==A||(A=n,t())}),1e3*f)),(e=>t(e)),C,1,{getUrls:()=>[i,g]})};export{f as createRemotePersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,h,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[pa]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[pa]:Y,[ma]:0,[ha]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),E=a=>{throw Error(a)},v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),h=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,R=a=>N.getPrototypeOf(a),b=N.entries,f=N.keys,L=N.freeze,S=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>N.values(a),P=a=>d(f(a)),$=a=>(a=>!c(a)&&l(R(a),(a=>a==N.prototype||c(R(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),x=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(a,t)||B(a,t,e()),k(a,t)),J=(a,t,e,n=B)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),Y="_",q="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",V=a=>new Set(w(a)||c(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>J(r,S(await p(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=k(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(k(k(r,a),t)))(t,e)?S(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=V();_(o??{},(a=>g(f(a??{}),(a=>W(u,a)))));const d=O(u);if(!w&&y&&h(d)&&A(r,t))return await a("DROP "+z+G(t)),void B(r,t);if(h(d)||A(r,t)){const n=k(r,t),i=V(j(n));await p([...g(d,(async s=>{T(i,s)||(await a(K+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?g(O(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),B(r,t,F([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+G(t)+aa+" 1"):await p(_(o,(async(e,n)=>{c(e)?await a(Q+G(t)+aa+G(s)+"=?",[n]):h(d)||await ea(a,t,s,f(e),[n,...M(e)],i)})));else if(h(d))A(r,t)&&await a(Q+G(t)+aa+" 1");else{const e=m(j(k(r,t)),(a=>a!=s)),n=[],c=[];_(o??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(c,t)})),await ea(a,t,s,e,n,i),await a(Q+G(t)+aa+G(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,p,v=0,g=0,h=0;H(sa,y,(()=>0)),H(ia,y,(()=>[]));const[m,A,O,T,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:E("Store type not supported by this Persister"))(r,a),R=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{const a=await t();w(a)?R(a):E("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}v=0}))),_),f=()=>(d&&(s(d),d=void 0),_),S=async a=>(1!=v&&(v=2,h++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),_),I=()=>(l(p,a.delListener),p=void 0,_),D=async(...a)=>(C(k(ia,y),...a),await(async()=>{if(!k(sa,y)){for(B(sa,y,1);!c((a=k(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(sa,y,0)}var a})(),_),_={load:b,startAutoLoad:async a=>{await f().load(a);try{d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,R(t??a),v=0):await b()}))}catch(a){i?.(a)}return _},stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=O();T(a)&&S(a)})),_),stopAutoSave:I,isAutoSaving:()=>!c(p),schedule:D,getStore:()=>a,destroy:()=>(k(ia,y).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:g,saves:h}),...o};return L(_)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,p,E,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await p(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await E(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,E,v)=>{const[g,h,C,A]=ta(t,u,s,v),O=async(a,t)=>await p(x(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,q,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await p(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await h(w,q))[Y]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ha="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",Aa={mode:wa,[Ea]:1},Oa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return _(a,((a,r)=>{const o=u(M(I(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Na="pragma_",Ra="data_version",ba="schema_version",fa=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",p)=>{let E,v,g;const[h,m,C,T]=(a=>{const e=(a=>I(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??q,e[pa]??ya],V(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(I(Oa,r)),0,P(Oa)),c=o[2],l=V(c),w=V(c);return[0,n,[Ta(s,{[ga]:null,[va]:q},ga,(a=>A(w,a)),(a=>W(l,a))),Ta(i,{[ha]:null,[va]:q,[ma]:0,[Ca]:0},ha,((a,t)=>A(w,t)),((a,t)=>W(l,t))),o],l]})(e);return(h?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Ra} d,${ba} s,TOTAL_CHANGES() c FROM ${Na}${Ra} JOIN ${Na}${ba}`);t==(E??=t)&&e==(v??=e)&&s==(g??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=g=null,i(t)}),c,l,C,O(T),w,d,p)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{fa as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,h,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[pa]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[pa]:Y,[ma]:0,[ha]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),E=a=>{throw Error(a)},v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),h=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,R=a=>N.getPrototypeOf(a),b=N.entries,f=N.keys,L=N.freeze,S=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>N.values(a),P=a=>d(f(a)),$=a=>(a=>!c(a)&&l(R(a),(a=>a==N.prototype||c(R(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),x=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(a,t)||B(a,t,e()),k(a,t)),J=(a,t,e,n=B)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),Y="_",q="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",V=a=>new Set(w(a)||c(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>J(r,S(await p(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=k(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(k(k(r,a),t)))(t,e)?S(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=V();_(o??{},(a=>g(f(a??{}),(a=>W(u,a)))));const d=O(u);if(!w&&y&&h(d)&&A(r,t))return await a("DROP "+z+G(t)),void B(r,t);if(h(d)||A(r,t)){const n=k(r,t),i=V(j(n));await p([...g(d,(async s=>{T(i,s)||(await a(K+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?g(O(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),B(r,t,F([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+G(t)+aa+" 1"):await p(_(o,(async(e,n)=>{c(e)?await a(Q+G(t)+aa+G(s)+"=?",[n]):h(d)||await ea(a,t,s,f(e),[n,...M(e)],i)})));else if(h(d))A(r,t)&&await a(Q+G(t)+aa+" 1");else{const e=m(j(k(r,t)),(a=>a!=s)),n=[],c=[];_(o??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(c,t)})),await ea(a,t,s,e,n,i),await a(Q+G(t)+aa+G(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,p,v=0,g=0,h=0;H(sa,y,(()=>0)),H(ia,y,(()=>[]));const[m,A,O,T,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:E("Store type not supported by this Persister"))(r,a),R=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{const a=await t();w(a)?R(a):E("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}v=0}))),_),f=()=>(d&&(s(d),d=void 0),_),S=async a=>(1!=v&&(v=2,h++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),_),I=()=>(l(p,a.delListener),p=void 0,_),D=async(...a)=>(C(k(ia,y),...a),await(async()=>{if(!k(sa,y)){for(B(sa,y,1);!c((a=k(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(sa,y,0)}var a})(),_),_={load:b,startAutoLoad:async a=>{await f().load(a);try{d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,R(t??a),v=0):await b()}))}catch(a){i?.(a)}return _},stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=O();T(a)&&S(a)})),_),stopAutoSave:I,isAutoSaving:()=>!c(p),schedule:D,getStore:()=>a,destroy:()=>(k(ia,y).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:g,saves:h}),...o};return L(_)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,p,E,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await p(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await E(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,E,v)=>{const[g,h,C,A]=ta(t,u,s,v),O=async(a,t)=>await p(x(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,q,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await p(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await h(w,q))[Y]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ha="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",Aa={mode:wa,[Ea]:1},Oa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return _(a,((a,r)=>{const o=u(M(I(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Na="pragma_",Ra="data_version",ba="schema_version",fa=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",p)=>{let E,v,g;const[h,m,C,T]=(a=>{const e=(a=>I(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??q,e[pa]??ya],V(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(I(Oa,r)),0,P(Oa)),c=o[2],l=V(c),w=V(c);return[0,n,[Ta(s,{[ga]:null,[va]:q},ga,(a=>A(w,a)),(a=>W(l,a))),Ta(i,{[ha]:null,[va]:q,[ma]:0,[Ca]:0},ha,((a,t)=>A(w,t)),((a,t)=>W(l,t))),o],l]})(e);return(h?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Ra} d,${ba} s,TOTAL_CHANGES() c FROM ${Na}${Ra} JOIN ${Na}${ba}`);t==(E??=t)&&e==(v??=e)&&s==(g??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=g=null,i(t)}),c,l,C,O(T),w,d,p)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{fa as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))h(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[m,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()})),D),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,h,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Na="schema_version",Ra="change",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[m,C,O,T]=(a=>{const e=(a=>b(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[pa]:null,[va]:x},pa,(a=>h(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:x,[ma]:0,[Ca]:0},ga,((a,t)=>h(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Na} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(Ra,t),t}),(a=>e.off(Ra,a)),s,i,3,e);export{La as createSqlite3Persister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=a=>{throw Error(a)},p=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),C=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,N=a=>f.getPrototypeOf(a),R=f.entries,L=f.keys,S=f.freeze,b=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>f.values(a),$=a=>d(L(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==f.prototype||c(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(A(a,t)||J(a,t,e()),B(a,t)),k=(a,t,e,n=J)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),x="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(w(a)||c(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>k(r,b(await E(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,k(Y(r,t,F),e,((a,t,e)=>{e!=B(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!c(B(B(r,a),t)))(t,e)?b(h(g(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=z();M(o??{},(a=>g(L(a??{}),(a=>K(u,a)))));const d=O(u);if(!w&&y&&C(d)&&A(r,t))return await a("DROP "+V+U(t)),void J(r,t);if(C(d)||A(r,t)){const n=B(r,t),i=z(j(n));await E([...g(d,(async s=>{T(i,s)||(await a(q+U(t)+"ADD"+U(s)),J(n,s,e))})),...!w&&l?g(O(i),(async e=>{e!=s&&(await a(q+U(t)+"DROP"+U(e)),J(n,e))})):[]])}else await a("CREATE "+V+U(t)+"("+U(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(g(d,(a=>n+U(a))))});`),J(r,t,F([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+U(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+U(t)+aa+U(s)+"=?",[n]):C(d)||await ea(a,t,s,L(e),[n,...P(e)],i)})));else if(C(d))A(r,t)&&await a(Q+U(t)+aa+" 1");else{const e=h(j(B(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ea(a,t,s,e,n,i),await a(Q+U(t)+aa+U(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+U(t)+"("+U(s)+p(g(r,(a=>n+U(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+U(s)+")DO UPDATE SET"+p(g(r,(a=>U(a)+"=excluded."+U(a))),n):e),g(o,(a=>a??null))),na=a=>p(g(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,g=0,C=0;Y(sa,y,(()=>0)),Y(ia,y,(()=>[]));const[h,A,O,T,f]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),N=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,g++,await D((async()=>{try{const a=await t();w(a)?N(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&f(a)}p=0}))),M),L=()=>(d&&(s(d),d=void 0),M),b=async a=>(1!=p&&(p=2,C++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),M),I=()=>(l(E,a.delListener),E=void 0,M),D=async(...a)=>(m(B(ia,y),...a),await(async()=>{if(!B(sa,y)){for(J(sa,y,1);!c((a=B(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}J(sa,y,0)}var a})(),M),M={load:R,startAutoLoad:async a=>{await L().load(a);try{d=n((async(a,t)=>{t||a?2!=p&&(p=1,g++,N(t??a),p=0):await R()}))}catch(a){i?.(a)}return M},stopAutoLoad:L,isAutoLoading:()=>!c(d),save:b,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();T(a)&&b(a)})),M),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>(B(ia,y).splice(0,void 0),L().stopAutoSave()),getStats:()=>({loads:g,saves:C}),...o};return S(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=ta(t,l,s,u);return ra(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[x]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[x]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,m,A]=ta(t,u,s,p),O=async(a,t)=>await E(H(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await m(w,G,{[x]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await g();const a=await(async()=>b(h(await E(H(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,G))[x]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,va="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",Ca="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:wa,[va]:1},Oa={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,y(a)?{[e]:a}:a)),0,$(t));c(o[0])||n(r,o[0])||(s(r,o[0]),J(i,r,o))})),i},fa="pragma_",Na="data_version",Ra="schema_version",La="change",Sa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,h,m,T]=(a=>{const e=(a=>I(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??G,e[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(P(I(Oa,r)),0,$(Oa)),c=o[2],l=z(c),w=z(c);return[0,n,[Ta(s,{[ga]:null,[pa]:G},ga,(a=>A(w,a)),(a=>K(l,a))),Ta(i,{[Ca]:null,[pa]:G,[ha]:0,[ma]:0},Ca,((a,t)=>A(w,t)),((a,t)=>K(l,t))),o],l]})(e);return(C?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${fa}${Na} JOIN ${fa}${Ra}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,m,O(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(La,t),t}),(a=>e.off(La,a)),s,i,3,e);export{Sa as createSqlite3Persister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))h(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[m,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()})),D),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,h,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Na="schema_version",Ra="change",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[m,C,O,T]=(a=>{const e=(a=>b(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[pa]:null,[va]:x},pa,(a=>h(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:x,[ma]:0,[Ca]:0},ga,((a,t)=>h(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Na} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(Ra,t),t}),(a=>e.off(Ra,a)),s,i,3,e);export{La as createSqlite3Persister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=a=>{throw Error(a)},p=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),C=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,N=a=>f.getPrototypeOf(a),R=f.entries,L=f.keys,S=f.freeze,b=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>f.values(a),$=a=>d(L(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==f.prototype||c(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(A(a,t)||J(a,t,e()),B(a,t)),k=(a,t,e,n=J)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),x="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(w(a)||c(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>k(r,b(await E(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,k(Y(r,t,F),e,((a,t,e)=>{e!=B(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!c(B(B(r,a),t)))(t,e)?b(h(g(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=z();M(o??{},(a=>g(L(a??{}),(a=>K(u,a)))));const d=O(u);if(!w&&y&&C(d)&&A(r,t))return await a("DROP "+V+U(t)),void J(r,t);if(C(d)||A(r,t)){const n=B(r,t),i=z(j(n));await E([...g(d,(async s=>{T(i,s)||(await a(q+U(t)+"ADD"+U(s)),J(n,s,e))})),...!w&&l?g(O(i),(async e=>{e!=s&&(await a(q+U(t)+"DROP"+U(e)),J(n,e))})):[]])}else await a("CREATE "+V+U(t)+"("+U(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(g(d,(a=>n+U(a))))});`),J(r,t,F([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+U(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+U(t)+aa+U(s)+"=?",[n]):C(d)||await ea(a,t,s,L(e),[n,...P(e)],i)})));else if(C(d))A(r,t)&&await a(Q+U(t)+aa+" 1");else{const e=h(j(B(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ea(a,t,s,e,n,i),await a(Q+U(t)+aa+U(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+U(t)+"("+U(s)+p(g(r,(a=>n+U(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+U(s)+")DO UPDATE SET"+p(g(r,(a=>U(a)+"=excluded."+U(a))),n):e),g(o,(a=>a??null))),na=a=>p(g(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,g=0,C=0;Y(sa,y,(()=>0)),Y(ia,y,(()=>[]));const[h,A,O,T,f]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),N=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,g++,await D((async()=>{try{const a=await t();w(a)?N(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&f(a)}p=0}))),M),L=()=>(d&&(s(d),d=void 0),M),b=async a=>(1!=p&&(p=2,C++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),M),I=()=>(l(E,a.delListener),E=void 0,M),D=async(...a)=>(m(B(ia,y),...a),await(async()=>{if(!B(sa,y)){for(J(sa,y,1);!c((a=B(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}J(sa,y,0)}var a})(),M),M={load:R,startAutoLoad:async a=>{await L().load(a);try{d=n((async(a,t)=>{t||a?2!=p&&(p=1,g++,N(t??a),p=0):await R()}))}catch(a){i?.(a)}return M},stopAutoLoad:L,isAutoLoading:()=>!c(d),save:b,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();T(a)&&b(a)})),M),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>(B(ia,y).splice(0,void 0),L().stopAutoSave()),getStats:()=>({loads:g,saves:C}),...o};return S(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=ta(t,l,s,u);return ra(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[x]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[x]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,m,A]=ta(t,u,s,p),O=async(a,t)=>await E(H(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await m(w,G,{[x]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await g();const a=await(async()=>b(h(await E(H(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,G))[x]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,va="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",Ca="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:wa,[va]:1},Oa={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,y(a)?{[e]:a}:a)),0,$(t));c(o[0])||n(r,o[0])||(s(r,o[0]),J(i,r,o))})),i},fa="pragma_",Na="data_version",Ra="schema_version",La="change",Sa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,h,m,T]=(a=>{const e=(a=>I(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??G,e[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(P(I(Oa,r)),0,$(Oa)),c=o[2],l=z(c),w=z(c);return[0,n,[Ta(s,{[ga]:null,[pa]:G},ga,(a=>A(w,a)),(a=>K(l,a))),Ta(i,{[Ca]:null,[pa]:G,[ha]:0,[ma]:0},Ca,((a,t)=>A(w,t)),((a,t)=>K(l,t))),o],l]})(e);return(C?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${fa}${Na} JOIN ${fa}${Ra}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,m,O(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(La,t),t}),(a=>e.off(La,a)),s,i,3,e);export{Sa as createSqlite3Persister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e="t",a="v",s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,y=(t=[])=>i.fromEntries(t),u=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},C=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||b(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let i;return p(n,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{u(n,e)||(r.delete(e),i=1)})),s(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const u=c.getMap(g);return((t,e,a,o,i,c,g,l={},y=[])=>{let u,p,v,f=0,S=0,O=0;C(A,y,(()=>0)),C(M,y,(()=>[]));const[J,N,D,E,L]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,t),m=e=>{var a;(J&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},z=async t=>(2!=f&&(f=1,S++,await P((async()=>{try{m(await e())}catch(e){c?.(e),t&&L(t)}f=0}))),x),T=()=>(p&&(i(p),p=void 0),x),j=async t=>(1!=f&&(f=2,O++,await P((async()=>{try{await a(N,t)}catch(t){c?.(t)}f=0}))),x),k=()=>(n(v,t.delListener),v=void 0,x),P=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,y),...t),await(async()=>{if(!w(A,y)){for(b(A,y,1);!s(u=r(w(M,y)));)try{await u()}catch(t){c?.(t)}b(A,y,0)}})(),x),x={load:z,startAutoLoad:async t=>(await T().load(t),p=o((async(t,e)=>{e||t?2!=f&&(f=1,S++,m(e??t),f=0):await z()})),x),stopAutoLoad:T,isAutoLoading:()=>!s(p),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=D();E(t)&&j(t)})),x),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:P,getStore:()=>t,destroy:()=>T().stopAutoSave(),getStats:()=>({loads:S,saves:O}),...l};return d(x)})(i,(async()=>u.size?[u.get(e).toJSON(),u.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(n(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>p(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>p(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:s(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(u,o,r)))),(t=>{const s=s=>t(void 0,((t,s)=>{if(1==o(s)&&(i=s[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=v(l,e,y),o=c.get(e);n(r(t),(t=>{const e=v(s,t,y),n=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:n.get(t)))}),(()=>S(a,((t,{action:e})=>s[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==O?null:g.get(t)))))})(s),[l,d,1]})(u,s));return u.observeDeep(s),s}),(t=>{u.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
1
+ import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=t=>t.shift(),g=Object,l=t=>g.getPrototypeOf(t),y=g.entries,d=g.keys,u=g.freeze,p=(t=[])=>g.fromEntries(t),h=(t,e)=>e in t,v=(t,e)=>((t,e)=>t.map(e))(y(t),(([t,a])=>e(a,t))),f=t=>(t=>!n(t)&&s(l(t),(t=>t==g.prototype||n(l(t))),(()=>!0)))(t)&&0==(t=>r(d(t)))(t),w=(t,e,a)=>(h(t,e)||(t[e]=a()),t[e]),S=t=>new Map(t),C=(t,e)=>t?.get(e),b=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),A=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},M=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)||A(t,e,a()),C(t,e)},O=S(),J=S(),N="delete",D=t=>[t.get(e),t.get(a)],E=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return v(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{h(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},L=(g,l,y="tinybase",d)=>{const h=l.getMap(y);return((t,e,a,r,g,l,y,d={},p=[])=>{let h,v,w,S=0,b=0,N=0;M(O,p,(()=>0)),M(J,p,(()=>[]));const[D,E,L,m,z]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!f(t)||!f(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!f(t)||!f(e),e.setContent]:i("Store type not supported by this Persister"))(y,t),T=e=>{(D&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},j=async t=>(2!=S&&(S=1,b++,await F((async()=>{try{const t=await e();o(t)?T(t):i("Content is not an array "+t)}catch(e){l?.(e),t&&z(t)}S=0}))),Y),k=()=>(v&&(g(v),v=void 0),Y),P=async t=>(1!=S&&(S=2,N++,await F((async()=>{try{await a(E,t)}catch(t){l?.(t)}S=0}))),Y),x=()=>(s(w,t.delListener),w=void 0,Y),F=async(...t)=>(((t,...e)=>{t.push(...e)})(C(J,p),...t),await(async()=>{if(!C(O,p)){for(A(O,p,1);!n(h=c(C(J,p)));)try{await h()}catch(t){l?.(t)}A(O,p,0)}})(),Y),Y={load:j,startAutoLoad:async t=>{await k().load(t);try{v=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,T(e??t),S=0):await j()}))}catch(t){l?.(t)}return Y},stopAutoLoad:k,isAutoLoading:()=>!n(v),save:P,startAutoSave:async()=>(await x().save(),w=t.addDidFinishTransactionListener((()=>{const t=L();m(t)&&P(t)})),Y),stopAutoSave:x,isAutoSaving:()=>!n(w),schedule:F,getStore:()=>t,destroy:()=>(C(J,p).splice(0,void 0),k().stopAutoSave()),getStats:()=>({loads:b,saves:N}),...d};return u(Y)})(g,(async()=>h.size?[h.get(e).toJSON(),h.get(a).toJSON()]:void 0),(async(o,r)=>l.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=D(o),l=()=>{y=1};let y=1;if(s(i,(([t,e])=>{y=0,v(t,((t,e)=>y?0:n(t)?c.delete(e):s(c.get(e),(e=>v(t,((t,a)=>y?0:n(t)?e.delete(a):s(e.get(a),(e=>v(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),l)))),l))),v(e,((t,e)=>y?0:n(t)?g.delete(e):g.set(e,t)))})),y){const[t,e]=r();E(c,void 0,t,((t,e,a)=>E(c,e,a,((t,e,a)=>E(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),E(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(h,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==r(n)&&(o=n[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var o;const[i,g]=D(t),l={},y={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>c(t)==e?s(c(t),(e=>{const n=w(l,e,p),o=i.get(e);s(c(t),(t=>{const e=w(n,t,p),s=o.get(t);b(a,((t,{action:a})=>e[t]=a==N?null:s.get(t)))}),(()=>b(a,((t,{action:e})=>n[t]=e==N?null:o.get(t)?.toJSON()))))}),(()=>b(a,((t,{action:e})=>l[t]=e==N?null:i.get(t)?.toJSON())))):b(a,((t,{action:e})=>y[t]=e==N?null:g.get(t)))))})(n),[l,y,1]})(h,n));return h.observeDeep(n),n}),(t=>{h.unobserveDeep(t)}),d,1,{getYDoc:()=>l})};export{L as createYjsPersister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e="t",a="v",s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,y=(t=[])=>i.fromEntries(t),u=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},C=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||b(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let i;return p(n,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{u(n,e)||(r.delete(e),i=1)})),s(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const u=c.getMap(g);return((t,e,a,o,i,c,g,l={},y=[])=>{let u,p,v,f=0,S=0,O=0;C(A,y,(()=>0)),C(M,y,(()=>[]));const[J,N,D,E,L]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,t),m=e=>{var a;(J&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},z=async t=>(2!=f&&(f=1,S++,await P((async()=>{try{m(await e())}catch(e){c?.(e),t&&L(t)}f=0}))),x),T=()=>(p&&(i(p),p=void 0),x),j=async t=>(1!=f&&(f=2,O++,await P((async()=>{try{await a(N,t)}catch(t){c?.(t)}f=0}))),x),k=()=>(n(v,t.delListener),v=void 0,x),P=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,y),...t),await(async()=>{if(!w(A,y)){for(b(A,y,1);!s(u=r(w(M,y)));)try{await u()}catch(t){c?.(t)}b(A,y,0)}})(),x),x={load:z,startAutoLoad:async t=>(await T().load(t),p=o((async(t,e)=>{e||t?2!=f&&(f=1,S++,m(e??t),f=0):await z()})),x),stopAutoLoad:T,isAutoLoading:()=>!s(p),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=D();E(t)&&j(t)})),x),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:P,getStore:()=>t,destroy:()=>T().stopAutoSave(),getStats:()=>({loads:S,saves:O}),...l};return d(x)})(i,(async()=>u.size?[u.get(e).toJSON(),u.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(n(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>p(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>p(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:s(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(u,o,r)))),(t=>{const s=s=>t(void 0,((t,s)=>{if(1==o(s)&&(i=s[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=v(l,e,y),o=c.get(e);n(r(t),(t=>{const e=v(s,t,y),n=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:n.get(t)))}),(()=>S(a,((t,{action:e})=>s[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==O?null:g.get(t)))))})(s),[l,d,1]})(u,s));return u.observeDeep(s),s}),(t=>{u.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
1
+ import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=t=>t.shift(),g=Object,l=t=>g.getPrototypeOf(t),y=g.entries,d=g.keys,u=g.freeze,p=(t=[])=>g.fromEntries(t),h=(t,e)=>e in t,v=(t,e)=>((t,e)=>t.map(e))(y(t),(([t,a])=>e(a,t))),f=t=>(t=>!n(t)&&s(l(t),(t=>t==g.prototype||n(l(t))),(()=>!0)))(t)&&0==(t=>r(d(t)))(t),w=(t,e,a)=>(h(t,e)||(t[e]=a()),t[e]),S=t=>new Map(t),C=(t,e)=>t?.get(e),b=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),A=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},M=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)||A(t,e,a()),C(t,e)},O=S(),J=S(),N="delete",D=t=>[t.get(e),t.get(a)],E=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return v(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{h(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},L=(g,l,y="tinybase",d)=>{const h=l.getMap(y);return((t,e,a,r,g,l,y,d={},p=[])=>{let h,v,w,S=0,b=0,N=0;M(O,p,(()=>0)),M(J,p,(()=>[]));const[D,E,L,m,z]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!f(t)||!f(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!f(t)||!f(e),e.setContent]:i("Store type not supported by this Persister"))(y,t),T=e=>{(D&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},j=async t=>(2!=S&&(S=1,b++,await F((async()=>{try{const t=await e();o(t)?T(t):i("Content is not an array "+t)}catch(e){l?.(e),t&&z(t)}S=0}))),Y),k=()=>(v&&(g(v),v=void 0),Y),P=async t=>(1!=S&&(S=2,N++,await F((async()=>{try{await a(E,t)}catch(t){l?.(t)}S=0}))),Y),x=()=>(s(w,t.delListener),w=void 0,Y),F=async(...t)=>(((t,...e)=>{t.push(...e)})(C(J,p),...t),await(async()=>{if(!C(O,p)){for(A(O,p,1);!n(h=c(C(J,p)));)try{await h()}catch(t){l?.(t)}A(O,p,0)}})(),Y),Y={load:j,startAutoLoad:async t=>{await k().load(t);try{v=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,T(e??t),S=0):await j()}))}catch(t){l?.(t)}return Y},stopAutoLoad:k,isAutoLoading:()=>!n(v),save:P,startAutoSave:async()=>(await x().save(),w=t.addDidFinishTransactionListener((()=>{const t=L();m(t)&&P(t)})),Y),stopAutoSave:x,isAutoSaving:()=>!n(w),schedule:F,getStore:()=>t,destroy:()=>(C(J,p).splice(0,void 0),k().stopAutoSave()),getStats:()=>({loads:b,saves:N}),...d};return u(Y)})(g,(async()=>h.size?[h.get(e).toJSON(),h.get(a).toJSON()]:void 0),(async(o,r)=>l.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=D(o),l=()=>{y=1};let y=1;if(s(i,(([t,e])=>{y=0,v(t,((t,e)=>y?0:n(t)?c.delete(e):s(c.get(e),(e=>v(t,((t,a)=>y?0:n(t)?e.delete(a):s(e.get(a),(e=>v(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),l)))),l))),v(e,((t,e)=>y?0:n(t)?g.delete(e):g.set(e,t)))})),y){const[t,e]=r();E(c,void 0,t,((t,e,a)=>E(c,e,a,((t,e,a)=>E(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),E(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(h,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==r(n)&&(o=n[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var o;const[i,g]=D(t),l={},y={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>c(t)==e?s(c(t),(e=>{const n=w(l,e,p),o=i.get(e);s(c(t),(t=>{const e=w(n,t,p),s=o.get(t);b(a,((t,{action:a})=>e[t]=a==N?null:s.get(t)))}),(()=>b(a,((t,{action:e})=>n[t]=e==N?null:o.get(t)?.toJSON()))))}),(()=>b(a,((t,{action:e})=>l[t]=e==N?null:i.get(t)?.toJSON())))):b(a,((t,{action:e})=>y[t]=e==N?null:g.get(t)))))})(n),[l,y,1]})(h,n));return h.observeDeep(n),n}),(t=>{h.unobserveDeep(t)}),d,1,{getYDoc:()=>l})};export{L as createYjsPersister};
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),r=a.keys,n=a.freeze,o=n=>(r=>!t(r)&&e(s(r),(e=>e==a.prototype||t(s(e))),(()=>!0)))(n)&&0==(t=>r(t).length)(n),i=t=>new Map(t),y=(t,e)=>t?.get(e),c=(e,a,s)=>{return t(s)?(r=e,n=a,r?.delete(n),e):e?.set(a,s);var r,n},g=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||c(t,e,a()),y(t,e)},l={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},d=i(),p=i(),h=(a,s,r,i,l,h,u,v={},w=[])=>{let S,C,b,A=0,M=0,f=0;g(d,w,(()=>0)),g(p,w,(()=>[]));const[L,O,T,D,P]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!o(t)||!o(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!o(t)||!o(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,a),j=t=>{var e;(L&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},k=async t=>(2!=A&&(A=1,M++,await F((async()=>{try{j(await s())}catch(e){h?.(e),t&&P(t)}A=0}))),m),x=()=>(C&&(l(C),C=void 0),m),z=async t=>(1!=A&&(A=2,f++,await F((async()=>{try{await r(O,t)}catch(t){h?.(t)}A=0}))),m),E=()=>(e(b,a.delListener),b=void 0,m),F=async(...e)=>(((t,...e)=>{t.push(...e)})(y(p,w),...e),await(async()=>{if(!y(d,w)){for(c(d,w,1);!t((e=y(p,w),S=e.shift()));)try{await S()}catch(t){h?.(t)}c(d,w,0)}var e})(),m),m={load:k,startAutoLoad:async t=>(await x().load(t),C=i((async(t,e)=>{e||t?2!=A&&(A=1,M++,j(e??t),A=0):await k()})),m),stopAutoLoad:x,isAutoLoading:()=>!t(C),save:z,startAutoSave:async()=>(await E().save(),b=a.addDidFinishTransactionListener((()=>{const t=T();D(t)&&z(t)})),m),stopAutoSave:E,isAutoSaving:()=>!t(b),schedule:F,getStore:()=>a,destroy:()=>x().stopAutoSave(),getStats:()=>({loads:M,saves:f}),...v};return n(m)};export{l as Persists,h as createCustomPersister};
1
+ const t=t=>null==t,e=(e,a,r)=>t(e)?r?.():a(e),a=t=>Array.isArray(t),r=t=>{throw Error(t)},s=Object,n=t=>s.getPrototypeOf(t),o=s.keys,i=s.freeze,c=a=>(a=>!t(a)&&e(n(a),(e=>e==s.prototype||t(n(e))),(()=>!0)))(a)&&0==(t=>o(t).length)(a),y=t=>new Map(t),l=(t,e)=>t?.get(e),g=(e,a,r)=>{return t(r)?(s=e,n=a,s?.delete(n),e):e?.set(a,r);var s,n},d=(t,e,a,r)=>{var s,n;return s=t,n=e,s?.has(n)||g(t,e,a()),l(t,e)},p={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},h=y(),u=y(),v=(s,n,o,y,p,v,w,C={},S=[])=>{let b,A,M,f=0,L=0,O=0;d(h,S,(()=>0)),d(u,S,(()=>[]));const[T,D,P,j,k]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!c(t)||!c(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!c(t)||!c(e),e.setContent]:r("Store type not supported by this Persister"))(w,s),x=t=>{(T&&a(t?.[0])?1===t?.[2]?s.applyMergeableChanges:s.setMergeableContent:1===t?.[2]?s.applyChanges:s.setContent)(t)},z=async t=>(2!=f&&(f=1,L++,await q((async()=>{try{const t=await n();a(t)?x(t):r("Content is not an array "+t)}catch(e){v?.(e),t&&k(t)}f=0}))),B),E=()=>(A&&(p(A),A=void 0),B),F=async t=>(1!=f&&(f=2,O++,await q((async()=>{try{await o(D,t)}catch(t){v?.(t)}f=0}))),B),m=()=>(e(M,s.delListener),M=void 0,B),q=async(...e)=>(((t,...e)=>{t.push(...e)})(l(u,S),...e),await(async()=>{if(!l(h,S)){for(g(h,S,1);!t((e=l(u,S),b=e.shift()));)try{await b()}catch(t){v?.(t)}g(h,S,0)}var e})(),B),B={load:z,startAutoLoad:async t=>{await E().load(t);try{A=y((async(t,e)=>{e||t?2!=f&&(f=1,L++,x(e??t),f=0):await z()}))}catch(t){v?.(t)}return B},stopAutoLoad:E,isAutoLoading:()=>!t(A),save:F,startAutoSave:async()=>(await m().save(),M=s.addDidFinishTransactionListener((()=>{const t=P();j(t)&&F(t)})),B),stopAutoSave:m,isAutoSaving:()=>!t(M),schedule:q,getStore:()=>s,destroy:()=>(l(u,S).splice(0,void 0),E().stopAutoSave()),getStats:()=>({loads:L,saves:O}),...C};return i(B)};export{p as Persists,v as createCustomPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",c="Has",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",v=b+i,C="Value",V=C+"s",w=C+i,S=e=>t+e,I=isFinite,p=e=>null==e,y=(e,t,s)=>p(e)?s?.():t(e),R=e=>e==s||e==a,m=t=>e(t)==n,L=(e,t,s)=>e.slice(t,s),J=e=>e.length,E=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),z=Object,M=e=>z.getPrototypeOf(e),P=z.entries,k=z.isFrozen,A=e=>!p(e)&&y(M(e),(e=>e==z.prototype||p(M(e))),(()=>!0)),N=z.keys,j=z.freeze,x=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>F(P(e),(([e,s])=>t(s,e))),W=e=>A(e)&&0==(e=>J(N(e)))(e),q=(e,t,s,a=0)=>p(e)||!A(e)||!a&&W(e)||k(e)?(s?.(),!1):(H(e,((s,a)=>{t(s,a)||D(e,a)})),!!a||!W(e)),B=e=>t=>{return s=(t,s)=>t+e(s),Z(t).reduce(s,0);var s},G=e=>e?.size??0,K=B(G),Q=B(K),U=B(Q),X=(e,t)=>e?.has(t)??!1,Y=e=>p(e)||0==G(e),Z=e=>[...e?.values()??[]],$=e=>e.clear(),_=(e,t)=>e?.forEach(t),ee=(e,t)=>e?.delete(t),te=e=>new Map(e),se=e=>[...e?.keys()??[]],ae=(e,t)=>e?.get(t),le=(e,t)=>_(e,((e,s)=>t(s,e))),ne=(e,t,s)=>p(s)?(ee(e,t),e):e?.set(t,s),oe=(e,t,s,a)=>(X(e,t)?a?.(ae(e,t)):ne(e,t,s()),ae(e,t)),re=(e,t,s,a=ne)=>(H(t,((t,a)=>s(e,a,t))),le(e,(s=>x(t,s)?0:a(e,s))),e),ce=(e,t,s,a)=>{const l={};return _(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;!a?.(s)&&(l[n]=s)}})),l},ie=(e,t,s)=>ce(e,(e=>ce(e,t,s)),Y,W),de=(e,t,s)=>ce(e,(e=>ie(e,t,s)),Y,W),ue=(e,t)=>{const s=te();return _(e,((e,a)=>s.set(a,t?.(e)??e))),s},he=e=>ue(e,ue),fe=e=>ue(e,he),ge=(e,t,s,a,l=0)=>y((s?oe:ae)(e,t[l],l>J(t)-2?s:te),(n=>{if(l>J(t)-2)return a?.(n)&&ne(e,t[l]),n;const o=ge(n,t,s,a,l+1);return Y(n)&&ne(e,t[l]),o})),Te=e=>new Set(Array.isArray(e)||p(e)?e:[e]),be=(e,t)=>e?.add(t),ve=/^\d+$/,Ce=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{ve.test(t)&&J(e)<1e3&&O(e,t)}]},Ve=e=>[e,e],we=(e,t=K)=>t(e[0])+t(e[1]),Se=()=>[te(),te()],Ie=e=>[...e],pe=([e,t])=>e===t,ye=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},Re=(e,t,s,a,l)=>p(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),me=(e,t,s)=>p(s)?e.delValue(t):e.setValue(t,s),Le=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),Je=JSON.parse;te(F("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),((e,t)=>[e,t])));const Ee=(e,t,s)=>ne(e,t,ae(e,t)==-s?void 0:s),Fe=()=>{let e,s,a=!1,n=!1,i=0,I=[];const z=te(),M=te(),P=te(),k=te(),A=te(),N=te(),B=te(),Z=te(),ve=te(),Oe=te(),ze=te(),Me=te(),Pe=te(),ke=te(),Ae=Te(),Ne=te(),je=te(),xe=te(),De=te(),He=Se(),We=Se(),qe=Se(),Be=Se(),Ge=Se(),Ke=Se(),Qe=Se(),Ue=Se(),Xe=Se(),Ye=Se(),Ze=Se(),$e=Se(),_e=Se(),et=Se(),tt=Se(),st=Se(),at=Se(),lt=Se(),nt=Se(),ot=Se(),rt=Se(),ct=Se(),it=te(),dt=Se(),[ut,ht,ft,gt]=(e=>{let s;const[a,l]=Ce(),n=te();return[(e,l,o,r=[],c=(()=>[]))=>{s??=Ps;const i=a(1);return ne(n,i,[e,l,o,r,c]),be(ge(l,o??[t],Te),i),i},(e,a,...l)=>E(((e,s=[t])=>{const a=[],l=(e,t)=>t==J(s)?O(a,e):null===s[t]?_(e,(e=>l(e,t+1))):E([s[t],null],(s=>l(ae(e,s),t+1)));return l(e,0),a})(e,a),(e=>_(e,(e=>ae(n,e)[0](s,...a??[],...l))))),e=>y(ae(n,e),(([,s,a])=>(ge(s,a??[t],void 0,(t=>(ee(t,e),Y(t)?1:0))),ne(n,e),l(e),a))),e=>y(ae(n,e),(([e,,t=[],a,l])=>{const n=(...o)=>{const r=J(o);r==J(t)?e(s,...o,...l(o)):p(t[r])?E(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,t[r])};n()}))]})(),Tt=e=>{if(!q(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(ye(e[r])!=t&&D(e,r),0))},bt=(t,s)=>(!e||X(ze,s)||Kt(s))&&q(t,((e,t)=>vt(s,t,e)),(()=>Kt(s))),vt=(e,t,s,a)=>q(a?s:St(s,e,t),((a,l)=>y(Ct(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),Ct=(t,s,a,l)=>e?y(ae(ae(ze,t),a),(e=>ye(l)!=e[o]?Kt(t,s,a,l,e[r]):l),(()=>Kt(t,s,a,l))):p(ye(l))?Kt(t,s,a,l):l,Vt=(e,t)=>q(t?e:It(e),((t,s)=>y(wt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),wt=(e,t)=>s?y(ae(Pe,e),(s=>ye(t)!=s[o]?Qt(e,t,s[r]):t),(()=>Qt(e,t))):p(ye(t))?Qt(e,t):t,St=(e,t,s)=>(y(ae(Me,t),(([a,l])=>{_(a,((t,s)=>{x(e,s)||(e[s]=t)})),_(l,(a=>{x(e,a)||Kt(t,s,a)}))})),e),It=e=>(s&&(_(ke,((t,s)=>{x(e,s)||(e[s]=t)})),_(Ae,(t=>{x(e,t)||Qt(t)}))),e),pt=e=>re(ze,e,((e,t,s)=>{const a=te(),l=Te();re(oe(ze,t,te),s,((e,t,s)=>{ne(e,t,s),y(s[r],(e=>ne(a,t,e)),(()=>be(l,t)))})),ne(Me,t,[a,l])}),((e,t)=>{ne(ze,t),ne(Me,t)})),yt=e=>re(Pe,e,((e,t,s)=>{ne(Pe,t,s),y(s[r],(e=>ne(ke,t,e)),(()=>be(Ae,t)))}),((e,t)=>{ne(Pe,t),ne(ke,t),ee(Ae,t)})),Rt=e=>W(e)?Rs():ws(e),mt=e=>re(xe,e,((e,t,s)=>Lt(t,s)),((e,t)=>At(t))),Lt=(e,t)=>re(oe(xe,e,(()=>(Dt(e,1),ne(Ne,e,Ce()),ne(je,e,te()),te()))),t,((t,s,a)=>Jt(e,t,s,a)),((t,s)=>Nt(e,t,s))),Jt=(e,t,s,a,l)=>re(oe(t,s,(()=>(Ht(e,s,1),te()))),a,((t,a,l)=>Et(e,s,t,a,l)),((a,n)=>jt(e,t,s,a,n,l))),Et=(e,t,s,a,l)=>{X(s,a)||Wt(e,t,a,1);const n=ae(s,a);l!==n&&(qt(e,t,a,n,l),ne(s,a,l))},Ft=(e,t,s,a,l)=>y(ae(t,s),(t=>Et(e,s,t,a,l)),(()=>Jt(e,t,s,St({[a]:l},e,s)))),Ot=e=>W(e)?Js():Ss(e),zt=e=>re(De,e,((e,t,s)=>Mt(t,s)),((e,t)=>xt(t))),Mt=(e,t)=>{X(De,e)||Bt(e,1);const s=ae(De,e);t!==s&&(Gt(e,s,t),ne(De,e,t))},Pt=(e,t)=>{const[s]=ae(Ne,e),a=s(t);return X(ae(xe,e),a)?Pt(e,t):a},kt=e=>ae(xe,e)??Lt(e,{}),At=e=>Lt(e,{}),Nt=(e,t,s)=>{const[,a]=ae(Ne,e);a(s),Jt(e,t,s,{},!0)},jt=(e,t,s,a,l,n)=>{const o=ae(ae(Me,e)?.[0],l);if(!p(o)&&!n)return Et(e,s,a,l,o);const r=t=>{qt(e,s,t,ae(a,t)),Wt(e,s,t,-1),ne(a,t)};p(o)?r(l):le(a,r),Y(a)&&(Ht(e,s,-1),Y(ne(t,s))&&(Dt(e,-1),ne(xe,e),ne(Ne,e),ne(je,e)))},xt=e=>{const t=ae(ke,e);if(!p(t))return Mt(e,t);Gt(e,ae(De,e)),Bt(e,-1),ne(De,e)},Dt=(e,t)=>Ee(z,e,t),Ht=(e,t,s)=>Ee(oe(k,e,te),t,s)&&ne(P,e,oe(P,e,(()=>0))+s),Wt=(e,t,s,a)=>{const l=ae(je,e),n=ae(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Ee(oe(M,e,te),s,a),ne(l,s,n!=-a?n+a:null),Ee(oe(oe(A,e,te),t,te),s,a)},qt=(e,t,s,a,l)=>{oe(oe(oe(N,e,te),t,te),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Bt=(e,t)=>Ee(B,e,t),Gt=(e,t,s)=>{oe(Z,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Kt=(e,t,s,a,l)=>(O(oe(oe(oe(ve,e,te),t,te),s,(()=>[])),a),l),Qt=(e,t,s)=>(O(oe(Oe,e,(()=>[])),t),s),Ut=(e,t,s)=>y(ae(ae(ae(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ve(is(e,t,s))])),Xt=e=>y(ae(Z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ve(hs(e))])),Yt=e=>Y(ve)||Y(st[e])?0:_(e?fe(ve):ve,((t,s)=>_(t,((t,a)=>_(t,((t,l)=>ht(st[e],[s,a,l],t))))))),Zt=e=>Y(Oe)||Y(at[e])?0:_(e?ue(Oe):Oe,((t,s)=>ht(at[e],[s],t))),$t=(e,t,s,a)=>{if(!Y(e))return ht(t,a,(()=>ce(e))),le(e,((e,t)=>ht(s,[...a??[],e],1==t))),1},_t=e=>{const t=fs();t!=a&&ht(He[e],void 0,t);const s=Y(Ye[e]),l=Y(_e[e])&&Y(et[e])&&Y(Xe[e])&&Y(Ze[e])&&Y(Ke[e])&&Y(Qe[e])&&Y(Ue[e])&&s&&Y(qe[e])&&Y(Be[e]),n=Y(tt[e])&&Y($e[e])&&Y(Ge[e])&&Y(We[e]);if(!l||!n){const t=e?[ue(z),he(M),ue(P),he(k),fe(A),fe(N)]:[z,M,P,k,A,N];if(!l){$t(t[0],qe[e],Be[e]),_(t[1],((t,s)=>$t(t,Ke[e],Qe[e],[s]))),_(t[2],((t,s)=>{0!=t&&ht(Ue[e],[s],ns(s))}));const a=Te();_(t[3],((t,l)=>{$t(t,Xe[e],Ze[e],[l])&&!s&&(ht(Ye[e],[l,null]),be(a,l))})),s||_(t[5],((t,s)=>{if(!X(a,s)){const a=Te();_(t,(e=>_(e,(([t,s],l)=>s!==t?be(a,l):ee(e,l))))),_(a,(t=>ht(Ye[e],[s,t])))}})),_(t[4],((t,s)=>_(t,((t,a)=>$t(t,_e[e],et[e],[s,a])))))}if(!n){let s;_(t[5],((t,a)=>{let l;_(t,((t,n)=>{let o;_(t,(([t,r],c)=>{r!==t&&(ht(tt[e],[a,n,c],r,t,Ut),s=l=o=1)})),o&&ht($e[e],[a,n],Ut)})),l&&ht(Ge[e],[a],Ut)})),s&&ht(We[e],void 0,Ut)}}},es=e=>{const t=Cs();t!=n&&ht(lt[e],void 0,t);const s=Y(ot[e])&&Y(rt[e]),a=Y(ct[e])&&Y(nt[e]);if(!s||!a){const t=e?[ue(B),ue(Z)]:[B,Z];if(s||$t(t[0],ot[e],rt[e]),!a){let s;_(t[1],(([t,a],l)=>{a!==t&&(ht(ct[e],[l],a,t,Xt),s=1)})),s&&ht(nt[e],void 0,Xt)}}},ts=(e,...t)=>(Os((()=>e(...F(t,S)))),Ps),ss=()=>de(xe),as=()=>se(xe),ls=e=>se(ae(je,S(e))),ns=e=>G(ae(xe,S(e))),os=e=>se(ae(xe,S(e))),rs=(e,t,s,a=0,l)=>{return F(L((o=ae(xe,S(e)),r=(e,s)=>[p(t)?s:ae(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,p(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>se(ae(ae(xe,S(e)),S(t))),is=(e,t,s)=>ae(ae(ae(xe,S(e)),S(t)),S(s)),ds=()=>ce(De),us=()=>se(De),hs=e=>ae(De,S(e)),fs=()=>!Y(xe),gs=e=>X(xe,S(e)),Ts=(e,t)=>X(ae(je,S(e)),S(t)),bs=(e,t)=>X(ae(xe,S(e)),S(t)),vs=(e,t,s)=>X(ae(ae(xe,S(e)),S(t)),S(s)),Cs=()=>!Y(De),Vs=e=>X(De,S(e)),ws=e=>ts((()=>(e=>q(e,bt,Kt))(e)?mt(e):0)),Ss=e=>ts((()=>Vt(e)?zt(e):0)),Is=e=>{try{Rt(Je(e))}catch{}return Ps},ps=t=>ts((()=>{if((e=q(t,(e=>q(e,Tt))))&&(pt(t),!Y(xe))){const e=ss();Rs(),ws(e)}})),ys=e=>ts((()=>{if(s=(e=>q(e,Tt))(e)){const t=ds();Fs(),Js(),s=!0,yt(e),Ss(t)}})),Rs=()=>ts((()=>mt({}))),ms=e=>ts((e=>X(xe,e)?At(e):0),e),Ls=(e,t)=>ts(((e,t)=>y(ae(xe,e),(s=>X(s,t)?Nt(e,s,t):0))),e,t),Js=()=>ts((()=>zt({}))),Es=()=>ts((()=>{pt({}),e=!1})),Fs=()=>ts((()=>{yt({}),s=!1})),Os=(e,t)=>{if(-1!=i){zs();const s=e();return Ms(t),s}},zs=()=>(-1!=i&&i++,1==i&&(I[0]?.(),ht(it)),Ps),Ms=e=>(i>0&&(i--,0==i&&(i=1,Yt(1),Y(N)||_t(1),Zt(1),Y(Z)||es(1),e?.(Ps)&&(_(N,((e,t)=>_(e,((e,s)=>_(e,(([e],a)=>Re(Ps,t,s,a,e))))))),$(N),_(Z,(([e],t)=>me(Ps,t,e))),$(Z)),ht(dt[0],void 0),i=-1,Yt(0),Y(N)||_t(0),Zt(0),Y(Z)||es(0),I[1]?.(),ht(dt[1],void 0),I[2]?.(),i=0,a=fs(),n=Cs(),E([z,M,P,k,A,N,ve,B,Z,Oe],$))),Ps),Ps={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:as,getTable:e=>ie(ae(xe,S(e))),getTableCellIds:ls,getRowCount:ns,getRowIds:os,getSortedRowIds:rs,getRow:(e,t)=>ce(ae(ae(xe,S(e)),S(t))),getCellIds:cs,getCell:is,getValues:ds,getValueIds:us,getValue:hs,hasTables:fs,hasTable:gs,hasTableCell:Ts,hasRow:bs,hasCell:vs,hasValues:Cs,hasValue:Vs,getTablesJson:()=>Le(xe),getValuesJson:()=>Le(De),getJson:()=>Le([xe,De]),getTablesSchemaJson:()=>Le(ze),getValuesSchemaJson:()=>Le(Pe),getSchemaJson:()=>Le([ze,Pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>ts((()=>{(W(e)?Rs:ws)(e),(W(t)?Js:Ss)(t)})),setTables:ws,setTable:(e,t)=>ts((e=>bt(t,e)?Lt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>vt(e,t,s)?Jt(e,kt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let a;return vt(e,a,t)&&(e=S(e),Jt(e,kt(e),a=Pt(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ts(((e,t)=>{if(vt(e,t,s,1)){const a=kt(e);H(s,((s,l)=>Ft(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ts(((e,t,s)=>y(Ct(e,t,s,m(a)?a(is(e,t,s)):a),(a=>Ft(e,kt(e),t,s,a)))),e,t,s),setValues:Ss,setPartialValues:e=>ts((()=>Vt(e,1)?H(e,((e,t)=>Mt(t,e))):0)),setValue:(e,t)=>ts((e=>y(wt(e,m(t)?t(hs(e)):t),(t=>Mt(e,t)))),e),applyChanges:e=>ts((()=>{H(e[0],((e,t)=>p(e)?ms(t):H(e,((e,s)=>p(e)?Ls(t,s):H(e,((e,a)=>Re(Ps,t,s,a,e))))))),H(e[1],((e,t)=>me(Ps,t,e)))})),setTablesJson:Is,setValuesJson:e=>{try{Ot(Je(e))}catch{}return Ps},setJson:e=>ts((()=>{try{const[t,s]=Je(e);Rt(t),Ot(s)}catch{Is(e)}})),setTablesSchema:ps,setValuesSchema:ys,setSchema:(e,t)=>ts((()=>{ps(e),ys(t)})),delTables:Rs,delTable:ms,delRow:Ls,delCell:(e,t,s,a)=>ts(((e,t,s)=>y(ae(xe,e),(l=>y(ae(l,t),(n=>X(n,s)?jt(e,l,t,n,s,a):0))))),e,t,s),delValues:Js,delValue:e=>ts((e=>X(De,e)?xt(e):0),e),delTablesSchema:Es,delValuesSchema:Fs,delSchema:()=>ts((()=>{Es(),Fs()})),transaction:Os,startTransaction:zs,getTransactionChanges:()=>[ce(N,((e,t)=>-1===ae(z,t)?void 0:ce(e,((e,s)=>-1===ae(ae(k,t),s)?void 0:ce(e,(([,e])=>e),(e=>pe(e)))),Y,W)),Y,W),ce(Z,(([,e])=>e),(e=>pe(e))),1],getTransactionLog:()=>[!Y(N),!Y(Z),de(N,Ie,pe),de(ve),ce(Z,Ie,pe),ce(Oe),ce(z),ie(k),de(A),ce(B)],finishTransaction:Ms,forEachTable:e=>_(xe,((t,s)=>e(s,(e=>_(t,((t,s)=>e(s,(e=>le(t,e))))))))),forEachTableCell:(e,t)=>le(ae(je,S(e)),t),forEachRow:(e,t)=>_(ae(xe,S(e)),((e,s)=>t(s,(t=>le(e,t))))),forEachCell:(e,t,s)=>le(ae(ae(xe,S(e)),S(t)),s),forEachValue:e=>le(De,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=rs(e,t,s,a,l);return ut((()=>{const o=rs(e,t,s,a,l);var c,i,d;i=r,J(c=o)===J(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,n(Ps,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[as])},addStartTransactionListener:e=>ut(e,it),addWillFinishTransactionListener:e=>ut(e,dt[0]),addDidFinishTransactionListener:e=>ut(e,dt[1]),callListener:e=>(gt(e),Ps),delListener:e=>(ft(e),Ps),getListenerStats:()=>({hasTables:we(He),tables:we(We),tableIds:we(qe),hasTable:we(Be),table:we(Ge),tableCellIds:we(Ke),hasTableCell:we(Qe,Q),rowCount:we(Ue),rowIds:we(Xe),sortedRowIds:we(Ye),hasRow:we(Ze,Q),row:we($e,Q),cellIds:we(_e,Q),hasCell:we(et,U),cell:we(tt,U),invalidCell:we(st,U),hasValues:we(lt),values:we(nt),valueIds:we(ot),hasValue:we(rt),value:we(ct),invalidValue:we(at),transaction:K(it)+we(dt)}),isMergeable:()=>!1,createStore:Fe,addListener:ut,callListeners:ht,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return H({[c+u]:[0,He,[],()=>[fs()]],[u]:[0,We],[h]:[0,qe],[c+d]:[1,Be,[as],e=>[gs(...e)]],[d]:[1,Ge,[as]],[d+v]:[1,Ke,[as]],[c+d+b]:[2,Qe,[as,ls],e=>[Ts(...e)]],[g]:[1,Ue,[as]],[T]:[1,Xe,[as]],[c+f]:[2,Ze,[as,os],e=>[bs(...e)]],[f]:[2,$e,[as,os]],[v]:[2,_e,[as,os]],[c+b]:[3,et,[as,os,cs],e=>[vs(...e)]],[b]:[3,tt,[as,os,cs],e=>Ve(is(...e))],InvalidCell:[3,st],[c+V]:[0,lt,[],()=>[Cs()]],[V]:[0,nt],[w]:[0,ot],[c+C]:[1,rt,[us],e=>[Vs(...e)]],[C]:[1,ct,[us],e=>Ve(hs(e[0]))],InvalidValue:[1,at]},(([e,t,s,a],l)=>{Ps["add"+l+"Listener"]=(...l)=>ut(l[e],t[l[e+1]?1:0],e>0?L(l,0,e):void 0,s,a)})),j(Ps)};export{Fe as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",c="Has",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",v=b+i,C="Value",V=C+"s",w=C+i,S=e=>t+e,I=isFinite,p=e=>null==e,y=(e,t,s)=>p(e)?s?.():t(e),R=e=>e==s||e==a,m=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=Object,P=e=>M.getPrototypeOf(e),k=M.entries,A=M.isFrozen,N=e=>!p(e)&&y(P(e),(e=>e==M.prototype||p(P(e))),(()=>!0)),j=M.keys,x=M.freeze,D=(e,t)=>t in e,H=(e,t)=>(delete e[t],e),W=(e,t)=>O(k(e),(([e,s])=>t(s,e))),q=e=>N(e)&&0==(e=>E(j(e)))(e),B=(e,t,s,a=0)=>p(e)||!N(e)||!a&&q(e)||A(e)?(s?.(),!1):(W(e,((s,a)=>{t(s,a)||H(e,a)})),!!a||!q(e)),G=e=>t=>{return s=(t,s)=>t+e(s),$(t).reduce(s,0);var s},K=e=>e?.size??0,Q=G(K),U=G(Q),X=G(U),Y=(e,t)=>e?.has(t)??!1,Z=e=>p(e)||0==K(e),$=e=>[...e?.values()??[]],_=e=>e.clear(),ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),se=e=>new Map(e),ae=e=>[...e?.keys()??[]],le=(e,t)=>e?.get(t),ne=(e,t)=>ee(e,((e,s)=>t(s,e))),oe=(e,t,s)=>p(s)?(te(e,t),e):e?.set(t,s),re=(e,t,s,a)=>(Y(e,t)?a?.(le(e,t)):oe(e,t,s()),le(e,t)),ce=(e,t,s,a=oe)=>(W(t,((t,a)=>s(e,a,t))),ne(e,(s=>D(t,s)?0:a(e,s))),e),ie=(e,t,s,a)=>{const l={};return ee(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;!a?.(s)&&(l[n]=s)}})),l},de=(e,t,s)=>ie(e,(e=>ie(e,t,s)),Z,q),ue=(e,t,s)=>ie(e,(e=>de(e,t,s)),Z,q),he=(e,t)=>{const s=se();return ee(e,((e,a)=>s.set(a,t?.(e)??e))),s},fe=e=>he(e,he),ge=e=>he(e,fe),Te=(e,t,s,a,l=0)=>y((s?re:le)(e,t[l],l>E(t)-2?s:se),(n=>{if(l>E(t)-2)return a?.(n)&&oe(e,t[l]),n;const o=Te(n,t,s,a,l+1);return Z(n)&&oe(e,t[l]),o})),be=e=>new Set(L(e)||p(e)?e:[e]),ve=(e,t)=>e?.add(t),Ce=/^\d+$/,Ve=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Ce.test(t)&&E(e)<1e3&&z(e,t)}]},we=e=>[e,e],Se=(e,t=Q)=>t(e[0])+t(e[1]),Ie=()=>[se(),se()],pe=e=>[...e],ye=([e,t])=>e===t,Re=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},me=(e,t,s,a,l)=>p(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),Le=(e,t,s)=>p(s)?e.delValue(t):e.setValue(t,s),Je=e=>JSON.stringify(e,((e,t)=>t instanceof Map?M.fromEntries([...t]):t)),Ee=JSON.parse;se(O("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),((e,t)=>[e,t])));const Fe=(e,t,s)=>oe(e,t,le(e,t)==-s?void 0:s),Oe=()=>{let e,s,a=!1,n=!1,i=0,I=[];const M=se(),P=se(),k=se(),A=se(),N=se(),j=se(),G=se(),$=se(),Ce=se(),ze=se(),Me=se(),Pe=se(),ke=se(),Ae=se(),Ne=be(),je=se(),xe=se(),De=se(),He=se(),We=Ie(),qe=Ie(),Be=Ie(),Ge=Ie(),Ke=Ie(),Qe=Ie(),Ue=Ie(),Xe=Ie(),Ye=Ie(),Ze=Ie(),$e=Ie(),_e=Ie(),et=Ie(),tt=Ie(),st=Ie(),at=Ie(),lt=Ie(),nt=Ie(),ot=Ie(),rt=Ie(),ct=Ie(),it=Ie(),dt=se(),ut=Ie(),[ht,ft,gt,Tt]=(e=>{let s;const[a,l]=Ve(),n=se();return[(e,l,o,r=[],c=(()=>[]))=>{s??=As;const i=a(1);return oe(n,i,[e,l,o,r,c]),ve(Te(l,o??[t],be),i),i},(e,a,...l)=>F(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?z(a,e):null===s[t]?ee(e,(e=>l(e,t+1))):F([s[t],null],(s=>l(le(e,s),t+1)));return l(e,0),a})(e,a),(e=>ee(e,(e=>le(n,e)[0](s,...a??[],...l))))),e=>y(le(n,e),(([,s,a])=>(Te(s,a??[t],void 0,(t=>(te(t,e),Z(t)?1:0))),oe(n,e),l(e),a))),e=>y(le(n,e),(([e,,t=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(t)?e(s,...o,...l(o)):p(t[r])?F(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,t[r])};n()}))]})(),bt=e=>{if(!B(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(Re(e[r])!=t&&H(e,r),0))},vt=L,Ct=(t,s)=>(!e||Y(Me,s)||Ut(s))&&B(t,((e,t)=>Vt(s,t,e)),(()=>Ut(s))),Vt=(e,t,s,a)=>B(a?s:pt(s,e,t),((a,l)=>y(wt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Ut(e,t))),wt=(t,s,a,l)=>e?y(le(le(Me,t),a),(e=>Re(l)!=e[o]?Ut(t,s,a,l,e[r]):l),(()=>Ut(t,s,a,l))):p(Re(l))?Ut(t,s,a,l):l,St=(e,t)=>B(t?e:yt(e),((t,s)=>y(It(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Xt())),It=(e,t)=>s?y(le(ke,e),(s=>Re(t)!=s[o]?Xt(e,t,s[r]):t),(()=>Xt(e,t))):p(Re(t))?Xt(e,t):t,pt=(e,t,s)=>(y(le(Pe,t),(([a,l])=>{ee(a,((t,s)=>{D(e,s)||(e[s]=t)})),ee(l,(a=>{D(e,a)||Ut(t,s,a)}))})),e),yt=e=>(s&&(ee(Ae,((t,s)=>{D(e,s)||(e[s]=t)})),ee(Ne,(t=>{D(e,t)||Xt(t)}))),e),Rt=e=>ce(Me,e,((e,t,s)=>{const a=se(),l=be();ce(re(Me,t,se),s,((e,t,s)=>{oe(e,t,s),y(s[r],(e=>oe(a,t,e)),(()=>ve(l,t)))})),oe(Pe,t,[a,l])}),((e,t)=>{oe(Me,t),oe(Pe,t)})),mt=e=>ce(ke,e,((e,t,s)=>{oe(ke,t,s),y(s[r],(e=>oe(Ae,t,e)),(()=>ve(Ne,t)))}),((e,t)=>{oe(ke,t),oe(Ae,t),te(Ne,t)})),Lt=e=>q(e)?Ls():Is(e),Jt=e=>ce(De,e,((e,t,s)=>Et(t,s)),((e,t)=>jt(t))),Et=(e,t)=>ce(re(De,e,(()=>(Wt(e,1),oe(je,e,Ve()),oe(xe,e,se()),se()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>xt(e,t,s))),Ft=(e,t,s,a,l)=>ce(re(t,s,(()=>(qt(e,s,1),se()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>Dt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{Y(s,a)||Bt(e,t,a,1);const n=le(s,a);l!==n&&(Gt(e,t,a,n,l),oe(s,a,l))},zt=(e,t,s,a,l)=>y(le(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,pt({[a]:l},e,s)))),Mt=e=>q(e)?Fs():ps(e),Pt=e=>ce(He,e,((e,t,s)=>kt(t,s)),((e,t)=>Ht(t))),kt=(e,t)=>{Y(He,e)||Kt(e,1);const s=le(He,e);t!==s&&(Qt(e,s,t),oe(He,e,t))},At=(e,t)=>{const[s]=le(je,e),a=s(t);return Y(le(De,e),a)?At(e,t):a},Nt=e=>le(De,e)??Et(e,{}),jt=e=>Et(e,{}),xt=(e,t,s)=>{const[,a]=le(je,e);a(s),Ft(e,t,s,{},!0)},Dt=(e,t,s,a,l,n)=>{const o=le(le(Pe,e)?.[0],l);if(!p(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{Gt(e,s,t,le(a,t)),Bt(e,s,t,-1),oe(a,t)};p(o)?r(l):ne(a,r),Z(a)&&(qt(e,s,-1),Z(oe(t,s))&&(Wt(e,-1),oe(De,e),oe(je,e),oe(xe,e)))},Ht=e=>{const t=le(Ae,e);if(!p(t))return kt(e,t);Qt(e,le(He,e)),Kt(e,-1),oe(He,e)},Wt=(e,t)=>Fe(M,e,t),qt=(e,t,s)=>Fe(re(A,e,se),t,s)&&oe(k,e,re(k,e,(()=>0))+s),Bt=(e,t,s,a)=>{const l=le(xe,e),n=le(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Fe(re(P,e,se),s,a),oe(l,s,n!=-a?n+a:null),Fe(re(re(N,e,se),t,se),s,a)},Gt=(e,t,s,a,l)=>{re(re(re(j,e,se),t,se),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Kt=(e,t)=>Fe(G,e,t),Qt=(e,t,s)=>{re($,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Ut=(e,t,s,a,l)=>(z(re(re(re(Ce,e,se),t,se),s,(()=>[])),a),l),Xt=(e,t,s)=>(z(re(ze,e,(()=>[])),t),s),Yt=(e,t,s)=>y(le(le(le(j,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...we(us(e,t,s))])),Zt=e=>y(le($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...we(gs(e))])),$t=e=>Z(Ce)||Z(at[e])?0:ee(e?ge(Ce):Ce,((t,s)=>ee(t,((t,a)=>ee(t,((t,l)=>ft(at[e],[s,a,l],t))))))),_t=e=>Z(ze)||Z(lt[e])?0:ee(e?he(ze):ze,((t,s)=>ft(lt[e],[s],t))),es=(e,t,s,a)=>{if(!Z(e))return ft(t,a,(()=>ie(e))),ne(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},ts=e=>{const t=Ts();t!=a&&ft(We[e],void 0,t);const s=Z(Ze[e]),l=Z(et[e])&&Z(tt[e])&&Z(Ye[e])&&Z($e[e])&&Z(Qe[e])&&Z(Ue[e])&&Z(Xe[e])&&s&&Z(Be[e])&&Z(Ge[e]),n=Z(st[e])&&Z(_e[e])&&Z(Ke[e])&&Z(qe[e]);if(!l||!n){const t=e?[he(M),fe(P),he(k),fe(A),ge(N),ge(j)]:[M,P,k,A,N,j];if(!l){es(t[0],Be[e],Ge[e]),ee(t[1],((t,s)=>es(t,Qe[e],Ue[e],[s]))),ee(t[2],((t,s)=>{0!=t&&ft(Xe[e],[s],rs(s))}));const a=be();ee(t[3],((t,l)=>{es(t,Ye[e],$e[e],[l])&&!s&&(ft(Ze[e],[l,null]),ve(a,l))})),s||ee(t[5],((t,s)=>{if(!Y(a,s)){const a=be();ee(t,(e=>ee(e,(([t,s],l)=>s!==t?ve(a,l):te(e,l))))),ee(a,(t=>ft(Ze[e],[s,t])))}})),ee(t[4],((t,s)=>ee(t,((t,a)=>es(t,et[e],tt[e],[s,a])))))}if(!n){let s;ee(t[5],((t,a)=>{let l;ee(t,((t,n)=>{let o;ee(t,(([t,r],c)=>{r!==t&&(ft(st[e],[a,n,c],r,t,Yt),s=l=o=1)})),o&&ft(_e[e],[a,n],Yt)})),l&&ft(Ke[e],[a],Yt)})),s&&ft(qe[e],void 0,Yt)}}},ss=e=>{const t=ws();t!=n&&ft(nt[e],void 0,t);const s=Z(rt[e])&&Z(ct[e]),a=Z(it[e])&&Z(ot[e]);if(!s||!a){const t=e?[he(G),he($)]:[G,$];if(s||es(t[0],rt[e],ct[e]),!a){let s;ee(t[1],(([t,a],l)=>{a!==t&&(ft(it[e],[l],a,t,Zt),s=1)})),s&&ft(ot[e],void 0,Zt)}}},as=(e,...t)=>(Ms((()=>e(...O(t,S)))),As),ls=()=>ue(De),ns=()=>ae(De),os=e=>ae(le(xe,S(e))),rs=e=>K(le(De,S(e))),cs=e=>ae(le(De,S(e))),is=(e,t,s,a=0,l)=>{return O(J((o=le(De,S(e)),r=(e,s)=>[p(t)?s:le(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,p(l)?l:a+l),(([,e])=>e));var n,o,r},ds=(e,t)=>ae(le(le(De,S(e)),S(t))),us=(e,t,s)=>le(le(le(De,S(e)),S(t)),S(s)),hs=()=>ie(He),fs=()=>ae(He),gs=e=>le(He,S(e)),Ts=()=>!Z(De),bs=e=>Y(De,S(e)),vs=(e,t)=>Y(le(xe,S(e)),S(t)),Cs=(e,t)=>Y(le(De,S(e)),S(t)),Vs=(e,t,s)=>Y(le(le(De,S(e)),S(t)),S(s)),ws=()=>!Z(He),Ss=e=>Y(He,S(e)),Is=e=>as((()=>(e=>B(e,Ct,Ut))(e)?Jt(e):0)),ps=e=>as((()=>St(e)?Pt(e):0)),ys=e=>{try{Lt(Ee(e))}catch{}return As},Rs=t=>as((()=>{if((e=B(t,(e=>B(e,bt))))&&(Rt(t),!Z(De))){const e=ls();Ls(),Is(e)}})),ms=e=>as((()=>{if(s=(e=>B(e,bt))(e)){const t=hs();zs(),Fs(),s=!0,mt(e),ps(t)}})),Ls=()=>as((()=>Jt({}))),Js=e=>as((e=>Y(De,e)?jt(e):0),e),Es=(e,t)=>as(((e,t)=>y(le(De,e),(s=>Y(s,t)?xt(e,s,t):0))),e,t),Fs=()=>as((()=>Pt({}))),Os=()=>as((()=>{Rt({}),e=!1})),zs=()=>as((()=>{mt({}),s=!1})),Ms=(e,t)=>{if(-1!=i){Ps();const s=e();return ks(t),s}},Ps=()=>(-1!=i&&i++,1==i&&(I[0]?.(),ft(dt)),As),ks=e=>(i>0&&(i--,0==i&&(i=1,$t(1),Z(j)||ts(1),_t(1),Z($)||ss(1),e?.(As)&&(ee(j,((e,t)=>ee(e,((e,s)=>ee(e,(([e],a)=>me(As,t,s,a,e))))))),_(j),ee($,(([e],t)=>Le(As,t,e))),_($)),ft(ut[0],void 0),i=-1,$t(0),Z(j)||ts(0),_t(0),Z($)||ss(0),I[1]?.(),ft(ut[1],void 0),I[2]?.(),i=0,a=Ts(),n=ws(),F([M,P,k,A,N,j,Ce,G,$,ze],_))),As),As={getContent:()=>[ls(),hs()],getTables:ls,getTableIds:ns,getTable:e=>de(le(De,S(e))),getTableCellIds:os,getRowCount:rs,getRowIds:cs,getSortedRowIds:is,getRow:(e,t)=>ie(le(le(De,S(e)),S(t))),getCellIds:ds,getCell:us,getValues:hs,getValueIds:fs,getValue:gs,hasTables:Ts,hasTable:bs,hasTableCell:vs,hasRow:Cs,hasCell:Vs,hasValues:ws,hasValue:Ss,getTablesJson:()=>Je(De),getValuesJson:()=>Je(He),getJson:()=>Je([De,He]),getTablesSchemaJson:()=>Je(Me),getValuesSchemaJson:()=>Je(ke),getSchemaJson:()=>Je([Me,ke]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>vt(e)?(([e,t])=>{(q(e)?Ls:Is)(e),(q(t)?Fs:ps)(t)})(e):0)),setTables:Is,setTable:(e,t)=>as((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>Vt(e,t,s)?Ft(e,Nt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ms((()=>{let a;return Vt(e,a,t)&&(e=S(e),Ft(e,Nt(e),a=At(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(Vt(e,t,s,1)){const a=Nt(e);W(s,((s,l)=>zt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>y(wt(e,t,s,m(a)?a(us(e,t,s)):a),(a=>zt(e,Nt(e),t,s,a)))),e,t,s),setValues:ps,setPartialValues:e=>as((()=>St(e,1)?W(e,((e,t)=>kt(t,e))):0)),setValue:(e,t)=>as((e=>y(It(e,m(t)?t(gs(e)):t),(t=>kt(e,t)))),e),applyChanges:e=>as((()=>{W(e[0],((e,t)=>p(e)?Js(t):W(e,((e,s)=>p(e)?Es(t,s):W(e,((e,a)=>me(As,t,s,a,e))))))),W(e[1],((e,t)=>Le(As,t,e)))})),setTablesJson:ys,setValuesJson:e=>{try{Mt(Ee(e))}catch{}return As},setJson:e=>as((()=>{try{const[t,s]=Ee(e);Lt(t),Mt(s)}catch{ys(e)}})),setTablesSchema:Rs,setValuesSchema:ms,setSchema:(e,t)=>as((()=>{Rs(e),ms(t)})),delTables:Ls,delTable:Js,delRow:Es,delCell:(e,t,s,a)=>as(((e,t,s)=>y(le(De,e),(l=>y(le(l,t),(n=>Y(n,s)?Dt(e,l,t,n,s,a):0))))),e,t,s),delValues:Fs,delValue:e=>as((e=>Y(He,e)?Ht(e):0),e),delTablesSchema:Os,delValuesSchema:zs,delSchema:()=>as((()=>{Os(),zs()})),transaction:Ms,startTransaction:Ps,getTransactionChanges:()=>[ie(j,((e,t)=>-1===le(M,t)?void 0:ie(e,((e,s)=>-1===le(le(A,t),s)?void 0:ie(e,(([,e])=>e),(e=>ye(e)))),Z,q)),Z,q),ie($,(([,e])=>e),(e=>ye(e))),1],getTransactionLog:()=>[!Z(j),!Z($),ue(j,pe,ye),ue(Ce),ie($,pe,ye),ie(ze),ie(M),de(A),ue(N),ie(G)],finishTransaction:ks,forEachTable:e=>ee(De,((t,s)=>e(s,(e=>ee(t,((t,s)=>e(s,(e=>ne(t,e))))))))),forEachTableCell:(e,t)=>ne(le(xe,S(e)),t),forEachRow:(e,t)=>ee(le(De,S(e)),((e,s)=>t(s,(t=>ne(e,t))))),forEachCell:(e,t,s)=>ne(le(le(De,S(e)),S(t)),s),forEachValue:e=>ne(He,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=is(e,t,s,a,l);return ht((()=>{const o=is(e,t,s,a,l);var c,i,d;i=r,E(c=o)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,n(As,e,t,s,a,l,r))}),Ze[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),As),delListener:e=>(gt(e),As),getListenerStats:()=>({hasTables:Se(We),tables:Se(qe),tableIds:Se(Be),hasTable:Se(Ge),table:Se(Ke),tableCellIds:Se(Qe),hasTableCell:Se(Ue,U),rowCount:Se(Xe),rowIds:Se(Ye),sortedRowIds:Se(Ze),hasRow:Se($e,U),row:Se(_e,U),cellIds:Se(et,U),hasCell:Se(tt,X),cell:Se(st,X),invalidCell:Se(at,X),hasValues:Se(nt),values:Se(ot),valueIds:Se(rt),hasValue:Se(ct),value:Se(it),invalidValue:Se(lt),transaction:Q(dt)+Se(ut)}),isMergeable:()=>!1,createStore:Oe,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return W({[c+u]:[0,We,[],()=>[Ts()]],[u]:[0,qe],[h]:[0,Be],[c+d]:[1,Ge,[ns],e=>[bs(...e)]],[d]:[1,Ke,[ns]],[d+v]:[1,Qe,[ns]],[c+d+b]:[2,Ue,[ns,os],e=>[vs(...e)]],[g]:[1,Xe,[ns]],[T]:[1,Ye,[ns]],[c+f]:[2,$e,[ns,cs],e=>[Cs(...e)]],[f]:[2,_e,[ns,cs]],[v]:[2,et,[ns,cs]],[c+b]:[3,tt,[ns,cs,ds],e=>[Vs(...e)]],[b]:[3,st,[ns,cs,ds],e=>we(us(...e))],InvalidCell:[3,at],[c+V]:[0,nt,[],()=>[ws()]],[V]:[0,ot],[w]:[0,rt],[c+C]:[1,ct,[fs],e=>[Ss(...e)]],[C]:[1,it,[fs],e=>we(gs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{As["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),x(As)};export{Oe as createStore};