tinybase 5.1.0-beta.0 → 5.1.0-beta.1

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 (883) 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 +101 -86
  30. package/cjs/es6/min/index.cjs +1 -1
  31. package/cjs/es6/min/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  93. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  94. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  95. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  96. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  97. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  98. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  99. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  100. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  101. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  102. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  103. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  104. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  105. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  106. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  107. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  108. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  109. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  110. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/ui-react/index.cjs +1 -1
  113. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  114. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  117. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  118. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  119. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  121. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  122. package/cjs/es6/persisters/index.cjs +30 -21
  123. package/cjs/es6/persisters/persister-automerge/index.cjs +29 -24
  124. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +29 -24
  125. package/cjs/es6/persisters/persister-browser/index.cjs +35 -30
  126. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +35 -30
  127. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +29 -24
  128. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +29 -24
  129. package/cjs/es6/persisters/persister-electric-sql/index.cjs +29 -24
  130. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +29 -24
  131. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +29 -24
  132. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +29 -24
  133. package/cjs/es6/persisters/persister-file/index.cjs +41 -31
  134. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +41 -31
  135. package/cjs/es6/persisters/persister-indexed-db/index.cjs +29 -24
  136. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +29 -24
  137. package/cjs/es6/persisters/persister-libsql/index.cjs +286 -281
  138. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +286 -281
  139. package/cjs/es6/persisters/persister-partykit-client/index.cjs +29 -24
  140. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +29 -24
  141. package/cjs/es6/persisters/persister-powersync/index.cjs +29 -24
  142. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +29 -24
  143. package/cjs/es6/persisters/persister-remote/index.cjs +35 -30
  144. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +35 -30
  145. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +29 -24
  146. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +29 -24
  147. package/cjs/es6/persisters/persister-sqlite3/index.cjs +29 -24
  148. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +29 -24
  149. package/cjs/es6/persisters/persister-yjs/index.cjs +29 -24
  150. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +29 -24
  151. package/cjs/es6/persisters/with-schemas/index.cjs +30 -21
  152. package/cjs/es6/synchronizers/index.cjs +113 -102
  153. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +109 -104
  154. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +109 -104
  155. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +108 -105
  156. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +108 -105
  157. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +130 -119
  158. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +130 -119
  159. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +691 -37
  160. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +691 -37
  161. package/cjs/es6/synchronizers/with-schemas/index.cjs +113 -102
  162. package/cjs/es6/ui-react/index.cjs +14 -34
  163. package/cjs/es6/ui-react/with-schemas/index.cjs +14 -34
  164. package/cjs/es6/ui-react-inspector/index.cjs +26 -24
  165. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +26 -24
  166. package/cjs/es6/with-schemas/index.cjs +101 -86
  167. package/cjs/index.cjs +105 -91
  168. package/cjs/indexes/index.cjs +1 -1
  169. package/cjs/indexes/with-schemas/index.cjs +1 -1
  170. package/cjs/metrics/index.cjs +3 -3
  171. package/cjs/metrics/with-schemas/index.cjs +3 -3
  172. package/cjs/min/index.cjs +1 -1
  173. package/cjs/min/index.cjs.gz +0 -0
  174. package/cjs/min/persisters/index.cjs +1 -1
  175. package/cjs/min/persisters/index.cjs.gz +0 -0
  176. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  177. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  179. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  233. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  234. package/cjs/min/synchronizers/index.cjs +1 -1
  235. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  236. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  237. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  238. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  239. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  241. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  242. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  243. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  245. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  246. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  247. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  249. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  250. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  251. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  253. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  254. package/cjs/min/ui-react/index.cjs +1 -1
  255. package/cjs/min/ui-react/index.cjs.gz +0 -0
  256. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  257. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  258. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  259. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  260. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  261. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/with-schemas/index.cjs +1 -1
  263. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/persisters/index.cjs +28 -19
  265. package/cjs/persisters/persister-automerge/index.cjs +27 -22
  266. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +27 -22
  267. package/cjs/persisters/persister-browser/index.cjs +33 -28
  268. package/cjs/persisters/persister-browser/with-schemas/index.cjs +33 -28
  269. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +28 -23
  270. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +28 -23
  271. package/cjs/persisters/persister-electric-sql/index.cjs +28 -23
  272. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +28 -23
  273. package/cjs/persisters/persister-expo-sqlite/index.cjs +28 -23
  274. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +28 -23
  275. package/cjs/persisters/persister-file/index.cjs +39 -29
  276. package/cjs/persisters/persister-file/with-schemas/index.cjs +39 -29
  277. package/cjs/persisters/persister-indexed-db/index.cjs +27 -22
  278. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +27 -22
  279. package/cjs/persisters/persister-libsql/index.cjs +194 -189
  280. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
  281. package/cjs/persisters/persister-partykit-client/index.cjs +27 -22
  282. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +27 -22
  283. package/cjs/persisters/persister-powersync/index.cjs +28 -23
  284. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +28 -23
  285. package/cjs/persisters/persister-remote/index.cjs +33 -28
  286. package/cjs/persisters/persister-remote/with-schemas/index.cjs +33 -28
  287. package/cjs/persisters/persister-sqlite-wasm/index.cjs +28 -23
  288. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +28 -23
  289. package/cjs/persisters/persister-sqlite3/index.cjs +28 -23
  290. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +28 -23
  291. package/cjs/persisters/persister-yjs/index.cjs +29 -24
  292. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +29 -24
  293. package/cjs/persisters/with-schemas/index.cjs +28 -19
  294. package/cjs/queries/index.cjs +2 -2
  295. package/cjs/queries/with-schemas/index.cjs +2 -2
  296. package/cjs/relationships/index.cjs +1 -1
  297. package/cjs/relationships/with-schemas/index.cjs +1 -1
  298. package/cjs/synchronizers/index.cjs +105 -95
  299. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +101 -97
  300. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +101 -97
  301. package/cjs/synchronizers/synchronizer-local/index.cjs +100 -98
  302. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +100 -98
  303. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +119 -112
  304. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +119 -112
  305. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +524 -24
  306. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +524 -24
  307. package/cjs/synchronizers/with-schemas/index.cjs +105 -95
  308. package/cjs/ui-react/index.cjs +12 -12
  309. package/cjs/ui-react/with-schemas/index.cjs +12 -12
  310. package/cjs/ui-react-inspector/index.cjs +24 -22
  311. package/cjs/ui-react-inspector/with-schemas/index.cjs +24 -22
  312. package/cjs/with-schemas/index.cjs +105 -91
  313. package/es6/index.js +101 -86
  314. package/es6/min/index.js +1 -1
  315. package/es6/min/index.js.gz +0 -0
  316. package/es6/min/persisters/index.js +1 -1
  317. package/es6/min/persisters/index.js.gz +0 -0
  318. package/es6/min/persisters/persister-automerge/index.js +1 -1
  319. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  320. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  321. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  322. package/es6/min/persisters/persister-browser/index.js +1 -1
  323. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  324. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  325. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  326. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  327. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  328. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  329. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  330. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  331. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  332. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  333. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  334. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  335. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  337. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-file/index.js +1 -1
  339. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  341. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  343. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  345. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-libsql/index.js +1 -1
  347. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  349. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  351. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-powersync/index.js +1 -1
  355. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  357. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-remote/index.js +1 -1
  359. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  361. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  363. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  365. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  367. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  369. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-yjs/index.js +1 -1
  371. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  373. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  374. package/es6/min/persisters/with-schemas/index.js +1 -1
  375. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  376. package/es6/min/synchronizers/index.js +1 -1
  377. package/es6/min/synchronizers/index.js.gz +0 -0
  378. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  379. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  380. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  381. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  382. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  383. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  384. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  385. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  386. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  387. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  388. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  389. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  390. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  391. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  392. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  393. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  394. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  395. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  396. package/es6/min/ui-react/index.js +1 -1
  397. package/es6/min/ui-react/index.js.gz +0 -0
  398. package/es6/min/ui-react/with-schemas/index.js +1 -1
  399. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  400. package/es6/min/ui-react-inspector/index.js +1 -1
  401. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  402. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  403. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  404. package/es6/min/with-schemas/index.js +1 -1
  405. package/es6/min/with-schemas/index.js.gz +0 -0
  406. package/es6/persisters/index.js +30 -21
  407. package/es6/persisters/persister-automerge/index.js +29 -24
  408. package/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
  409. package/es6/persisters/persister-browser/index.js +35 -30
  410. package/es6/persisters/persister-browser/with-schemas/index.js +35 -30
  411. package/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
  412. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
  413. package/es6/persisters/persister-electric-sql/index.js +29 -24
  414. package/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
  415. package/es6/persisters/persister-expo-sqlite/index.js +29 -24
  416. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
  417. package/es6/persisters/persister-file/index.js +42 -31
  418. package/es6/persisters/persister-file/with-schemas/index.js +42 -31
  419. package/es6/persisters/persister-indexed-db/index.js +29 -24
  420. package/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
  421. package/es6/persisters/persister-libsql/index.js +286 -281
  422. package/es6/persisters/persister-libsql/with-schemas/index.js +286 -281
  423. package/es6/persisters/persister-partykit-client/index.js +29 -24
  424. package/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
  425. package/es6/persisters/persister-powersync/index.js +29 -24
  426. package/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
  427. package/es6/persisters/persister-remote/index.js +35 -30
  428. package/es6/persisters/persister-remote/with-schemas/index.js +35 -30
  429. package/es6/persisters/persister-sqlite-wasm/index.js +29 -24
  430. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
  431. package/es6/persisters/persister-sqlite3/index.js +29 -24
  432. package/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
  433. package/es6/persisters/persister-yjs/index.js +29 -24
  434. package/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
  435. package/es6/persisters/with-schemas/index.js +30 -21
  436. package/es6/synchronizers/index.js +113 -102
  437. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +109 -104
  438. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +109 -104
  439. package/es6/synchronizers/synchronizer-local/index.js +108 -105
  440. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +108 -105
  441. package/es6/synchronizers/synchronizer-ws-client/index.js +130 -119
  442. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +130 -119
  443. package/es6/synchronizers/synchronizer-ws-server/index.js +691 -37
  444. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +691 -37
  445. package/es6/synchronizers/with-schemas/index.js +113 -102
  446. package/es6/ui-react/index.js +14 -34
  447. package/es6/ui-react/with-schemas/index.js +14 -34
  448. package/es6/ui-react-inspector/index.js +26 -24
  449. package/es6/ui-react-inspector/with-schemas/index.js +26 -24
  450. package/es6/with-schemas/index.js +101 -86
  451. package/index.js +105 -91
  452. package/indexes/index.js +1 -1
  453. package/indexes/with-schemas/index.js +1 -1
  454. package/metrics/index.js +3 -3
  455. package/metrics/with-schemas/index.js +3 -3
  456. package/min/index.js +1 -1
  457. package/min/index.js.gz +0 -0
  458. package/min/persisters/index.js +1 -1
  459. package/min/persisters/index.js.gz +0 -0
  460. package/min/persisters/persister-automerge/index.js +1 -1
  461. package/min/persisters/persister-automerge/index.js.gz +0 -0
  462. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  463. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  464. package/min/persisters/persister-browser/index.js +1 -1
  465. package/min/persisters/persister-browser/index.js.gz +0 -0
  466. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  467. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  468. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  469. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  470. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  471. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  472. package/min/persisters/persister-electric-sql/index.js +1 -1
  473. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  474. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  475. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  476. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  477. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  478. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  479. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  480. package/min/persisters/persister-file/index.js +1 -1
  481. package/min/persisters/persister-file/index.js.gz +0 -0
  482. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  483. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  484. package/min/persisters/persister-indexed-db/index.js +1 -1
  485. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  486. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  487. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  488. package/min/persisters/persister-libsql/index.js +1 -1
  489. package/min/persisters/persister-libsql/index.js.gz +0 -0
  490. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  491. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  492. package/min/persisters/persister-partykit-client/index.js +1 -1
  493. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  494. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  495. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  496. package/min/persisters/persister-powersync/index.js +1 -1
  497. package/min/persisters/persister-powersync/index.js.gz +0 -0
  498. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  499. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  500. package/min/persisters/persister-remote/index.js +1 -1
  501. package/min/persisters/persister-remote/index.js.gz +0 -0
  502. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  503. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  504. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  505. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  506. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  507. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  508. package/min/persisters/persister-sqlite3/index.js +1 -1
  509. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  510. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  511. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  512. package/min/persisters/persister-yjs/index.js +1 -1
  513. package/min/persisters/persister-yjs/index.js.gz +0 -0
  514. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  515. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  516. package/min/persisters/with-schemas/index.js +1 -1
  517. package/min/persisters/with-schemas/index.js.gz +0 -0
  518. package/min/synchronizers/index.js +1 -1
  519. package/min/synchronizers/index.js.gz +0 -0
  520. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  521. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  522. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  523. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  524. package/min/synchronizers/synchronizer-local/index.js +1 -1
  525. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  526. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  527. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  528. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  529. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  530. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  531. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  532. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  533. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  534. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  535. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  536. package/min/synchronizers/with-schemas/index.js +1 -1
  537. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  538. package/min/ui-react/index.js +1 -1
  539. package/min/ui-react/index.js.gz +0 -0
  540. package/min/ui-react/with-schemas/index.js +1 -1
  541. package/min/ui-react/with-schemas/index.js.gz +0 -0
  542. package/min/ui-react-inspector/index.js +1 -1
  543. package/min/ui-react-inspector/index.js.gz +0 -0
  544. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  545. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  546. package/min/with-schemas/index.js +1 -1
  547. package/min/with-schemas/index.js.gz +0 -0
  548. package/package.json +4 -1
  549. package/persisters/index.js +28 -19
  550. package/persisters/persister-automerge/index.js +27 -22
  551. package/persisters/persister-automerge/with-schemas/index.js +27 -22
  552. package/persisters/persister-browser/index.js +33 -28
  553. package/persisters/persister-browser/with-schemas/index.js +33 -28
  554. package/persisters/persister-cr-sqlite-wasm/index.js +28 -23
  555. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
  556. package/persisters/persister-electric-sql/index.js +28 -23
  557. package/persisters/persister-electric-sql/with-schemas/index.js +28 -23
  558. package/persisters/persister-expo-sqlite/index.js +28 -23
  559. package/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
  560. package/persisters/persister-file/index.js +40 -29
  561. package/persisters/persister-file/with-schemas/index.js +40 -29
  562. package/persisters/persister-indexed-db/index.js +27 -22
  563. package/persisters/persister-indexed-db/with-schemas/index.js +27 -22
  564. package/persisters/persister-libsql/index.js +194 -189
  565. package/persisters/persister-libsql/with-schemas/index.js +194 -189
  566. package/persisters/persister-partykit-client/index.js +27 -22
  567. package/persisters/persister-partykit-client/with-schemas/index.js +27 -22
  568. package/persisters/persister-powersync/index.js +28 -23
  569. package/persisters/persister-powersync/with-schemas/index.js +28 -23
  570. package/persisters/persister-remote/index.js +33 -28
  571. package/persisters/persister-remote/with-schemas/index.js +33 -28
  572. package/persisters/persister-sqlite-wasm/index.js +28 -23
  573. package/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
  574. package/persisters/persister-sqlite3/index.js +28 -23
  575. package/persisters/persister-sqlite3/with-schemas/index.js +28 -23
  576. package/persisters/persister-yjs/index.js +29 -23
  577. package/persisters/persister-yjs/with-schemas/index.js +29 -23
  578. package/persisters/with-schemas/index.js +28 -19
  579. package/queries/index.js +2 -2
  580. package/queries/with-schemas/index.js +2 -2
  581. package/readme.md +14 -14
  582. package/relationships/index.js +1 -1
  583. package/relationships/with-schemas/index.js +1 -1
  584. package/releases.md +21 -21
  585. package/synchronizers/index.js +105 -95
  586. package/synchronizers/synchronizer-broadcast-channel/index.js +101 -97
  587. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +101 -97
  588. package/synchronizers/synchronizer-local/index.js +100 -98
  589. package/synchronizers/synchronizer-local/with-schemas/index.js +100 -98
  590. package/synchronizers/synchronizer-ws-client/index.js +119 -112
  591. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +119 -112
  592. package/synchronizers/synchronizer-ws-server/index.js +524 -24
  593. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +524 -24
  594. package/synchronizers/with-schemas/index.js +105 -95
  595. package/ui-react/index.js +12 -12
  596. package/ui-react/with-schemas/index.js +12 -12
  597. package/ui-react-inspector/index.js +24 -22
  598. package/ui-react-inspector/with-schemas/index.js +24 -22
  599. package/umd/es6/index.js +106 -91
  600. package/umd/es6/min/index.js +1 -1
  601. package/umd/es6/min/index.js.gz +0 -0
  602. package/umd/es6/min/persisters/index.js +1 -1
  603. package/umd/es6/min/persisters/index.js.gz +0 -0
  604. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  605. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  606. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  607. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  608. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  609. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  610. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  611. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  612. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  613. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  614. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  615. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  616. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  617. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  618. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  619. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  620. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  621. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  622. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  623. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  624. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  625. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  626. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  627. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  628. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  629. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  630. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  631. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  632. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  633. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  634. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  635. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  636. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  637. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  638. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  639. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  640. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  641. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  642. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  643. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  644. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  645. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  646. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  647. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  648. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  649. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  650. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  651. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  652. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  653. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  654. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  655. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  656. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  657. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  658. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  659. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  660. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  661. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  662. package/umd/es6/min/synchronizers/index.js +1 -1
  663. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  664. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  665. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  666. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  667. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  668. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  669. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  670. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  671. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  672. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  673. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  674. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  675. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  676. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  677. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  678. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  679. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  680. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  681. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  682. package/umd/es6/min/ui-react/index.js +1 -1
  683. package/umd/es6/min/ui-react/index.js.gz +0 -0
  684. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  685. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  686. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  687. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  688. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  689. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  690. package/umd/es6/min/with-schemas/index.js +1 -1
  691. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  692. package/umd/es6/persisters/index.js +30 -21
  693. package/umd/es6/persisters/persister-automerge/index.js +29 -24
  694. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
  695. package/umd/es6/persisters/persister-browser/index.js +37 -32
  696. package/umd/es6/persisters/persister-browser/with-schemas/index.js +37 -32
  697. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
  698. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
  699. package/umd/es6/persisters/persister-electric-sql/index.js +29 -24
  700. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
  701. package/umd/es6/persisters/persister-expo-sqlite/index.js +29 -24
  702. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
  703. package/umd/es6/persisters/persister-file/index.js +43 -33
  704. package/umd/es6/persisters/persister-file/with-schemas/index.js +43 -33
  705. package/umd/es6/persisters/persister-indexed-db/index.js +29 -24
  706. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
  707. package/umd/es6/persisters/persister-libsql/index.js +291 -286
  708. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +291 -286
  709. package/umd/es6/persisters/persister-partykit-client/index.js +29 -24
  710. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
  711. package/umd/es6/persisters/persister-powersync/index.js +29 -24
  712. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
  713. package/umd/es6/persisters/persister-remote/index.js +35 -30
  714. package/umd/es6/persisters/persister-remote/with-schemas/index.js +35 -30
  715. package/umd/es6/persisters/persister-sqlite-wasm/index.js +29 -24
  716. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
  717. package/umd/es6/persisters/persister-sqlite3/index.js +29 -24
  718. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
  719. package/umd/es6/persisters/persister-yjs/index.js +29 -24
  720. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
  721. package/umd/es6/persisters/with-schemas/index.js +30 -21
  722. package/umd/es6/synchronizers/index.js +118 -107
  723. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +114 -109
  724. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +114 -109
  725. package/umd/es6/synchronizers/synchronizer-local/index.js +118 -110
  726. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +118 -110
  727. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +135 -124
  728. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +135 -124
  729. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +710 -37
  730. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +710 -37
  731. package/umd/es6/synchronizers/with-schemas/index.js +118 -107
  732. package/umd/es6/ui-react/index.js +17 -34
  733. package/umd/es6/ui-react/with-schemas/index.js +17 -34
  734. package/umd/es6/ui-react-inspector/index.js +26 -24
  735. package/umd/es6/ui-react-inspector/with-schemas/index.js +26 -24
  736. package/umd/es6/with-schemas/index.js +106 -91
  737. package/umd/index.js +108 -94
  738. package/umd/indexes/index.js +1 -1
  739. package/umd/indexes/with-schemas/index.js +1 -1
  740. package/umd/metrics/index.js +3 -3
  741. package/umd/metrics/with-schemas/index.js +3 -3
  742. package/umd/min/index.js +1 -1
  743. package/umd/min/index.js.gz +0 -0
  744. package/umd/min/persisters/index.js +1 -1
  745. package/umd/min/persisters/index.js.gz +0 -0
  746. package/umd/min/persisters/persister-automerge/index.js +1 -1
  747. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  748. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  749. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  750. package/umd/min/persisters/persister-browser/index.js +1 -1
  751. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  752. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  753. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  754. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  755. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  756. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  757. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  758. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  759. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  760. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  761. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  762. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  763. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  764. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  765. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  766. package/umd/min/persisters/persister-file/index.js +1 -1
  767. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  768. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  769. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  770. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  771. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  772. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  773. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  774. package/umd/min/persisters/persister-libsql/index.js +1 -1
  775. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  776. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  777. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  778. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  779. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  780. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  781. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  782. package/umd/min/persisters/persister-powersync/index.js +1 -1
  783. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  784. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  785. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  786. package/umd/min/persisters/persister-remote/index.js +1 -1
  787. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  788. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  789. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  790. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  791. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  792. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  793. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  794. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  795. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  796. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  797. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  798. package/umd/min/persisters/persister-yjs/index.js +1 -1
  799. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  800. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  801. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  802. package/umd/min/persisters/with-schemas/index.js +1 -1
  803. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  804. package/umd/min/synchronizers/index.js +1 -1
  805. package/umd/min/synchronizers/index.js.gz +0 -0
  806. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  807. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  808. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  809. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  810. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  811. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  812. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  813. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  814. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  815. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  816. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  817. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  818. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  819. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  820. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  821. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  822. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  823. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  824. package/umd/min/ui-react/index.js +1 -1
  825. package/umd/min/ui-react/index.js.gz +0 -0
  826. package/umd/min/ui-react/with-schemas/index.js +1 -1
  827. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  828. package/umd/min/ui-react-inspector/index.js +1 -1
  829. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  830. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  831. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  832. package/umd/min/with-schemas/index.js +1 -1
  833. package/umd/min/with-schemas/index.js.gz +0 -0
  834. package/umd/persisters/index.js +28 -19
  835. package/umd/persisters/persister-automerge/index.js +27 -22
  836. package/umd/persisters/persister-automerge/with-schemas/index.js +27 -22
  837. package/umd/persisters/persister-browser/index.js +35 -30
  838. package/umd/persisters/persister-browser/with-schemas/index.js +35 -30
  839. package/umd/persisters/persister-cr-sqlite-wasm/index.js +28 -23
  840. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
  841. package/umd/persisters/persister-electric-sql/index.js +28 -23
  842. package/umd/persisters/persister-electric-sql/with-schemas/index.js +28 -23
  843. package/umd/persisters/persister-expo-sqlite/index.js +28 -23
  844. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
  845. package/umd/persisters/persister-file/index.js +41 -31
  846. package/umd/persisters/persister-file/with-schemas/index.js +41 -31
  847. package/umd/persisters/persister-indexed-db/index.js +27 -22
  848. package/umd/persisters/persister-indexed-db/with-schemas/index.js +27 -22
  849. package/umd/persisters/persister-libsql/index.js +196 -191
  850. package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
  851. package/umd/persisters/persister-partykit-client/index.js +27 -22
  852. package/umd/persisters/persister-partykit-client/with-schemas/index.js +27 -22
  853. package/umd/persisters/persister-powersync/index.js +28 -23
  854. package/umd/persisters/persister-powersync/with-schemas/index.js +28 -23
  855. package/umd/persisters/persister-remote/index.js +33 -28
  856. package/umd/persisters/persister-remote/with-schemas/index.js +33 -28
  857. package/umd/persisters/persister-sqlite-wasm/index.js +28 -23
  858. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
  859. package/umd/persisters/persister-sqlite3/index.js +28 -23
  860. package/umd/persisters/persister-sqlite3/with-schemas/index.js +28 -23
  861. package/umd/persisters/persister-yjs/index.js +29 -24
  862. package/umd/persisters/persister-yjs/with-schemas/index.js +29 -24
  863. package/umd/persisters/with-schemas/index.js +28 -19
  864. package/umd/queries/index.js +2 -2
  865. package/umd/queries/with-schemas/index.js +2 -2
  866. package/umd/relationships/index.js +1 -1
  867. package/umd/relationships/with-schemas/index.js +1 -1
  868. package/umd/synchronizers/index.js +108 -98
  869. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +104 -100
  870. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +104 -100
  871. package/umd/synchronizers/synchronizer-local/index.js +108 -101
  872. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +108 -101
  873. package/umd/synchronizers/synchronizer-ws-client/index.js +122 -115
  874. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +122 -115
  875. package/umd/synchronizers/synchronizer-ws-server/index.js +544 -36
  876. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +544 -36
  877. package/umd/synchronizers/with-schemas/index.js +108 -98
  878. package/umd/ui-react/index.js +13 -12
  879. package/umd/ui-react/with-schemas/index.js +13 -12
  880. package/umd/ui-react-inspector/index.js +24 -22
  881. package/umd/ui-react-inspector/with-schemas/index.js +24 -22
  882. package/umd/with-schemas/index.js +108 -94
  883. package/with-schemas/index.js +105 -91
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(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(d(a)||l(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,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(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(f(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!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((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),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=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)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[va]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,_(Ca)),c=o[2],l=z(c),y=z(c);return[0,n,[ba(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),ba(i,{[va]:null,[ga]:G,[ha]:0,[ma]:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?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 ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(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(d(a)||l(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,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(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(f(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!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((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),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await N().load(a);try{u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>(j(ia,c).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=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)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[va]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,_(Ca)),c=o[2],l=z(c),y=z(c);return[0,n,[ba(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),ba(i,{[va]:null,[ga]:G,[ha]:0,[ma]:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?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 ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(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(d(a)||l(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,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(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(f(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!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((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),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=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)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[va]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,_(Ca)),c=o[2],l=z(c),y=z(c);return[0,n,[ba(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),ba(i,{[va]:null,[ga]:G,[ha]:0,[ma]:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?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 ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(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(d(a)||l(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,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(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(f(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!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((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),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await N().load(a);try{u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>(j(ia,c).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=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)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[va]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,_(Ca)),c=o[2],l=z(c),y=z(c);return[0,n,[ba(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),ba(i,{[va]:null,[ga]:G,[ha]:0,[ma]:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?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 ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=clearInterval,a=e=>null==e,s=(e,t,s)=>a(e)?s?.():t(e),n=Object,r=e=>n.getPrototypeOf(e),o=n.keys,i=n.freeze,c=e=>(e=>!a(e)&&s(r(e),(e=>e==n.prototype||a(r(e))),(()=>!0)))(e)&&0==(e=>o(e).length)(e),y=e=>new Map(e),d=(e,t)=>e?.get(t),l=(e,t,s)=>{return a(s)?(n=e,r=t,n?.delete(r),e):e?.set(t,s);var n,r},p=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||l(e,t,a()),d(e,t)},g=y(),h=y(),f=JSON.parse,u=e=>e.headers.get("ETag");e.createRemotePersister=(e,r,o,y=5,v)=>{let w;return((e,t,n,r,o,y,f,u={},v=[])=>{let w,b,C,A=0,S=0,T=0;p(g,v,(()=>0)),p(h,v,(()=>[]));const[m,M,L,O,P]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(f,e),x=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async e=>(2!=A&&(A=1,S++,await J((async()=>{try{x(await t())}catch(t){y?.(t),e&&P(e)}A=0}))),N),j=()=>(b&&(o(b),b=void 0),N),D=async e=>(1!=A&&(A=2,T++,await J((async()=>{try{await n(M,e)}catch(e){y?.(e)}A=0}))),N),I=()=>(s(C,e.delListener),C=void 0,N),J=async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,v),...e),await(async()=>{if(!d(g,v)){for(l(g,v,1);!a((e=d(h,v),w=e.shift()));)try{await w()}catch(e){y?.(e)}l(g,v,0)}var e})(),N),N={load:E,startAutoLoad:async e=>(await j().load(e),b=r((async(e,t)=>{t||e?2!=A&&(A=1,S++,x(t??e),A=0):await E()})),N),stopAutoLoad:j,isAutoLoading:()=>!a(b),save:D,startAutoSave:async()=>(await I().save(),C=e.addDidFinishTransactionListener((()=>{const e=L();O(e)&&D(e)})),N),stopAutoSave:I,isAutoSaving:()=>!a(C),schedule:J,getStore:()=>e,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:S,saves:T}),...u};return i(N)})(e,(async()=>{const e=await fetch(r);return w=u(e),f(await e.text())}),(async e=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?n.fromEntries([...t]):t)))});var t}),(e=>setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),s=u(t);a(w)||a(s)||s==w||(w=s,e())}),1e3*y)),(e=>t(e)),v,1,{getUrls:()=>[r,o]})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=clearInterval,a=e=>null==e,s=(e,t,s)=>a(e)?s?.():t(e),n=Object,r=e=>n.getPrototypeOf(e),o=n.keys,i=n.freeze,c=e=>(e=>!a(e)&&s(r(e),(e=>e==n.prototype||a(r(e))),(()=>!0)))(e)&&0==(e=>o(e).length)(e),y=JSON.parse,d=e=>new Map(e),l=(e,t)=>e?.get(t),p=(e,t,s)=>{return a(s)?(n=e,r=t,n?.delete(r),e):e?.set(t,s);var n,r},g=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||p(e,t,a()),l(e,t)},h=d(),u=d(),f=e=>e.headers.get("ETag");e.createRemotePersister=(e,r,o,d=5,v)=>{let w;return((e,t,n,r,o,y,d,f={},v=[])=>{let w,b,C,A=0,S=0,T=0;g(h,v,(()=>0)),g(u,v,(()=>[]));const[m,M,L,O,P]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(d,e),x=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async e=>(2!=A&&(A=1,S++,await J((async()=>{try{x(await t())}catch(t){y?.(t),e&&P(e)}A=0}))),N),j=()=>(b&&(o(b),b=void 0),N),D=async e=>(1!=A&&(A=2,T++,await J((async()=>{try{await n(M,e)}catch(e){y?.(e)}A=0}))),N),I=()=>(s(C,e.delListener),C=void 0,N),J=async(...e)=>(((e,...t)=>{e.push(...t)})(l(u,v),...e),await(async()=>{if(!l(h,v)){for(p(h,v,1);!a((e=l(u,v),w=e.shift()));)try{await w()}catch(e){y?.(e)}p(h,v,0)}var e})(),N),N={load:E,startAutoLoad:async e=>{await j().load(e);try{b=r((async(e,t)=>{t||e?2!=A&&(A=1,S++,x(t??e),A=0):await E()}))}catch(e){y?.(e)}return N},stopAutoLoad:j,isAutoLoading:()=>!a(b),save:D,startAutoSave:async()=>(await I().save(),C=e.addDidFinishTransactionListener((()=>{const e=L();O(e)&&D(e)})),N),stopAutoSave:I,isAutoSaving:()=>!a(C),schedule:J,getStore:()=>e,destroy:()=>(l(u,v).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:S,saves:T}),...f};return i(N)})(e,(async()=>{const e=await fetch(r);return w=f(e),y(await e.text())}),(async e=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?n.fromEntries([...t]):t)))});var t}),(e=>setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),s=f(t);a(w)||a(s)||s==w||(w=s,e())}),1e3*d)),(e=>t(e)),v,1,{getUrls:()=>[r,o]})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=clearInterval,a=e=>null==e,s=(e,t,s)=>a(e)?s?.():t(e),n=Object,r=e=>n.getPrototypeOf(e),o=n.keys,i=n.freeze,c=e=>(e=>!a(e)&&s(r(e),(e=>e==n.prototype||a(r(e))),(()=>!0)))(e)&&0==(e=>o(e).length)(e),y=e=>new Map(e),d=(e,t)=>e?.get(t),l=(e,t,s)=>{return a(s)?(n=e,r=t,n?.delete(r),e):e?.set(t,s);var n,r},p=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||l(e,t,a()),d(e,t)},g=y(),h=y(),f=JSON.parse,u=e=>e.headers.get("ETag");e.createRemotePersister=(e,r,o,y=5,v)=>{let w;return((e,t,n,r,o,y,f,u={},v=[])=>{let w,b,C,A=0,S=0,T=0;p(g,v,(()=>0)),p(h,v,(()=>[]));const[m,M,L,O,P]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(f,e),x=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async e=>(2!=A&&(A=1,S++,await J((async()=>{try{x(await t())}catch(t){y?.(t),e&&P(e)}A=0}))),N),j=()=>(b&&(o(b),b=void 0),N),D=async e=>(1!=A&&(A=2,T++,await J((async()=>{try{await n(M,e)}catch(e){y?.(e)}A=0}))),N),I=()=>(s(C,e.delListener),C=void 0,N),J=async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,v),...e),await(async()=>{if(!d(g,v)){for(l(g,v,1);!a((e=d(h,v),w=e.shift()));)try{await w()}catch(e){y?.(e)}l(g,v,0)}var e})(),N),N={load:E,startAutoLoad:async e=>(await j().load(e),b=r((async(e,t)=>{t||e?2!=A&&(A=1,S++,x(t??e),A=0):await E()})),N),stopAutoLoad:j,isAutoLoading:()=>!a(b),save:D,startAutoSave:async()=>(await I().save(),C=e.addDidFinishTransactionListener((()=>{const e=L();O(e)&&D(e)})),N),stopAutoSave:I,isAutoSaving:()=>!a(C),schedule:J,getStore:()=>e,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:S,saves:T}),...u};return i(N)})(e,(async()=>{const e=await fetch(r);return w=u(e),f(await e.text())}),(async e=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?n.fromEntries([...t]):t)))});var t}),(e=>setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),s=u(t);a(w)||a(s)||s==w||(w=s,e())}),1e3*y)),(e=>t(e)),v,1,{getUrls:()=>[r,o]})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=clearInterval,a=e=>null==e,s=(e,t,s)=>a(e)?s?.():t(e),n=Object,r=e=>n.getPrototypeOf(e),o=n.keys,i=n.freeze,c=e=>(e=>!a(e)&&s(r(e),(e=>e==n.prototype||a(r(e))),(()=>!0)))(e)&&0==(e=>o(e).length)(e),y=JSON.parse,d=e=>new Map(e),l=(e,t)=>e?.get(t),p=(e,t,s)=>{return a(s)?(n=e,r=t,n?.delete(r),e):e?.set(t,s);var n,r},g=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||p(e,t,a()),l(e,t)},h=d(),u=d(),f=e=>e.headers.get("ETag");e.createRemotePersister=(e,r,o,d=5,v)=>{let w;return((e,t,n,r,o,y,d,f={},v=[])=>{let w,b,C,A=0,S=0,T=0;g(h,v,(()=>0)),g(u,v,(()=>[]));const[m,M,L,O,P]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(d,e),x=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async e=>(2!=A&&(A=1,S++,await J((async()=>{try{x(await t())}catch(t){y?.(t),e&&P(e)}A=0}))),N),j=()=>(b&&(o(b),b=void 0),N),D=async e=>(1!=A&&(A=2,T++,await J((async()=>{try{await n(M,e)}catch(e){y?.(e)}A=0}))),N),I=()=>(s(C,e.delListener),C=void 0,N),J=async(...e)=>(((e,...t)=>{e.push(...t)})(l(u,v),...e),await(async()=>{if(!l(h,v)){for(p(h,v,1);!a((e=l(u,v),w=e.shift()));)try{await w()}catch(e){y?.(e)}p(h,v,0)}var e})(),N),N={load:E,startAutoLoad:async e=>{await j().load(e);try{b=r((async(e,t)=>{t||e?2!=A&&(A=1,S++,x(t??e),A=0):await E()}))}catch(e){y?.(e)}return N},stopAutoLoad:j,isAutoLoading:()=>!a(b),save:D,startAutoSave:async()=>(await I().save(),C=e.addDidFinishTransactionListener((()=>{const e=L();O(e)&&D(e)})),N),stopAutoSave:I,isAutoSaving:()=>!a(C),schedule:J,getStore:()=>e,destroy:()=>(l(u,v).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:S,saves:T}),...f};return i(N)})(e,(async()=>{const e=await fetch(r);return w=f(e),y(await e.text())}),(async e=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?n.fromEntries([...t]):t)))});var t}),(e=>setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),s=f(t);a(w)||a(s)||s==w||(w=s,e())}),1e3*d)),(e=>t(e)),v,1,{getUrls:()=>[r,o]})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=F();return[async()=>W(o,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,W(B(o,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=U();_(r??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+z+Y(t)),void q(o,t);if(g(u)||T(o,t)){const n=x(o,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(o,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(r)?await a(Q+Y(t)+aa+" 1"):await E(_(r,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(o,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(o,t)),(a=>a!=e)),n=[],c=[];_(r??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(r,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),oa=(a,t,e,s,n,i,o,r={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((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")})())(o,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...r};return S(D)},ra=(a,t,e,s,n,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[o,r,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(r,(async([e,s,n,i],o)=>{t&&!D(a,o)||await h(e,s,a[o],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return _(a,((a,o)=>{const r=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(r[0])||s(o,r[0])||(n(o,r[0]),q(i,o,r))})),i},Oa="pragma_",ba="data_version",Na="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,o)=>((a,t,s,n,i,o,r,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,r=u(M(I(Ca,o)),0,P(Ca)),c=r[2],l=U(c),y=U(c);return[0,s,[Aa(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Aa(i,{[ga]:null,[va]:J,[ma]:0,[ha]:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),r],l]})(t);return(g?ra:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ba} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),r,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,o,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>W(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,W(B(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=U();_(o??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+z+Y(t)),void q(r,t);if(g(u)||T(r,t)){const n=x(r,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(r,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(o)?await a(Q+Y(t)+aa+" 1"):await E(_(o,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(r,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(r,t)),(a=>a!=e)),n=[],c=[];_(o??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(o,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),ra=(a,t,e,s,n,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((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),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>{await N().load(a);try{u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()}))}catch(a){i?.(a)}return D},stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>(x(ia,c).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:v,saves:f}),...o};return S(D)},oa=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(o,(async([e,s,n,i],r)=>{t&&!D(a,r)||await h(e,s,a[r],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return _(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(o[0])||s(r,o[0])||(n(r,o[0]),q(i,r,o))})),i},Oa="pragma_",ba="data_version",Na="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,r)=>((a,t,s,n,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,P(Ca)),c=o[2],l=U(c),y=U(c);return[0,s,[Aa(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Aa(i,{[ga]:null,[va]:J,[ma]:0,[ha]:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ba} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,r,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=F();return[async()=>W(o,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,W(B(o,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=U();_(r??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+z+Y(t)),void q(o,t);if(g(u)||T(o,t)){const n=x(o,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(o,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(r)?await a(Q+Y(t)+aa+" 1"):await E(_(r,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(o,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(o,t)),(a=>a!=e)),n=[],c=[];_(r??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(r,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),oa=(a,t,e,s,n,i,o,r={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((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")})())(o,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...r};return S(D)},ra=(a,t,e,s,n,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[o,r,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(r,(async([e,s,n,i],o)=>{t&&!D(a,o)||await h(e,s,a[o],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return _(a,((a,o)=>{const r=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(r[0])||s(o,r[0])||(n(o,r[0]),q(i,o,r))})),i},Oa="pragma_",ba="data_version",Na="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,o)=>((a,t,s,n,i,o,r,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,r=u(M(I(Ca,o)),0,P(Ca)),c=r[2],l=U(c),y=U(c);return[0,s,[Aa(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Aa(i,{[ga]:null,[va]:J,[ma]:0,[ha]:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),r],l]})(t);return(g?ra:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ba} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),r,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,o,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>W(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,W(B(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=U();_(o??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+z+Y(t)),void q(r,t);if(g(u)||T(r,t)){const n=x(r,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(r,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(o)?await a(Q+Y(t)+aa+" 1"):await E(_(o,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(r,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(r,t)),(a=>a!=e)),n=[],c=[];_(o??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(o,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),ra=(a,t,e,s,n,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((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),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>{await N().load(a);try{u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()}))}catch(a){i?.(a)}return D},stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>(x(ia,c).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:v,saves:f}),...o};return S(D)},oa=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(o,(async([e,s,n,i],r)=>{t&&!D(a,r)||await h(e,s,a[r],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return _(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(o[0])||s(r,o[0])||(n(r,o[0]),q(i,r,o))})),i},Oa="pragma_",ba="data_version",Na="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,r)=>((a,t,s,n,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,P(Ca)),c=o[2],l=U(c),y=U(c);return[0,s,[Aa(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Aa(i,{[ga]:null,[va]:J,[ma]:0,[ha]:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ba} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,r,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),S=O.entries,b=O.keys,R=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>v(S(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(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="_",q="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(v(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(v(await a(U+" 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)=>!l(x(x(r,a),t)))(t,e)?L(h(v(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>v(b(a??{}),(a=>z(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(u)||T(r,t)){const s=x(r,t),i=W(j(s));await E([...v(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),H(s,e,n))})),...!w&&c?v(C(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),H(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+G(a))))});`),H(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...v(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(v(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(v(i,(a=>G(a)+"=excluded."+G(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,f=0,v=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[g,h,T,C,A]=((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),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,f++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,v++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await S().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,f++,O(t??a),E=0):await N()})),D),stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:f,saves:v}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,f)=>{const[v,g,m,T]=ta(t,d,s,f),C=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)}))),A=async(a,t)=>y?await m(w,q,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await v();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,q))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Oa="pragma_",Na="data_version",Sa="schema_version",ba="change";a.createSqlite3Persister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,f,v;const[g,h,m,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??q,t[pa]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=W(c),y=W(c);return[0,n,[Aa(s,{[va]:null,[fa]:q},va,(a=>T(y,a)),(a=>z(l,a))),Aa(i,{[ga]:null,[fa]:q,[ha]:0,[ma]:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?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,${Sa} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${Sa}`);t==(E??=t)&&e==(f??=e)&&s==(v??=s)||(a(),E=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=f=v=null,i(t)}),o,l,m,C(A),y,d,p)})(a,n,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ba,e),e}),(a=>t.off(ba,a)),s,i,3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),S=O.entries,b=O.keys,R=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>f(S(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(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="_",q="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(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(f(await a(U+" 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)=>!l(x(x(r,a),t)))(t,e)?L(h(f(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>f(b(a??{}),(a=>z(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(u)||T(r,t)){const s=x(r,t),i=W(j(s));await E([...f(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),H(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+G(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+v(f(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+v(f(i,(a=>G(a)+"=excluded."+G(a))),s):n),f(o,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[g,h,T,C,A]=((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),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>{await S().load(a);try{u=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await N()}))}catch(a){i?.(a)}return D},stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>(x(ia,c).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:v,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,v)=>{const[f,g,m,T]=ta(t,d,s,v),C=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)}))),A=async(a,t)=>y?await m(w,q,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,q))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Oa="pragma_",Na="data_version",Sa="schema_version",ba="change";a.createSqlite3Persister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,h,m,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??q,t[pa]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=W(c),y=W(c);return[0,n,[Aa(s,{[fa]:null,[va]:q},fa,(a=>T(y,a)),(a=>z(l,a))),Aa(i,{[ga]:null,[va]:q,[ha]:0,[ma]:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?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,${Sa} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${Sa}`);t==(E??=t)&&e==(v??=e)&&s==(f??=s)||(a(),E=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,m,C(A),y,d,p)})(a,n,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ba,e),e}),(a=>t.off(ba,a)),s,i,3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),S=O.entries,b=O.keys,R=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>v(S(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(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="_",q="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(v(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(v(await a(U+" 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)=>!l(x(x(r,a),t)))(t,e)?L(h(v(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>v(b(a??{}),(a=>z(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(u)||T(r,t)){const s=x(r,t),i=W(j(s));await E([...v(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),H(s,e,n))})),...!w&&c?v(C(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),H(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+G(a))))});`),H(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...v(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(v(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(v(i,(a=>G(a)+"=excluded."+G(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,f=0,v=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[g,h,T,C,A]=((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),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,f++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,v++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await S().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,f++,O(t??a),E=0):await N()})),D),stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:f,saves:v}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,f)=>{const[v,g,m,T]=ta(t,d,s,f),C=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)}))),A=async(a,t)=>y?await m(w,q,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await v();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,q))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Oa="pragma_",Na="data_version",Sa="schema_version",ba="change";a.createSqlite3Persister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,f,v;const[g,h,m,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??q,t[pa]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=W(c),y=W(c);return[0,n,[Aa(s,{[va]:null,[fa]:q},va,(a=>T(y,a)),(a=>z(l,a))),Aa(i,{[ga]:null,[fa]:q,[ha]:0,[ma]:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?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,${Sa} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${Sa}`);t==(E??=t)&&e==(f??=e)&&s==(v??=s)||(a(),E=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=f=v=null,i(t)}),o,l,m,C(A),y,d,p)})(a,n,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ba,e),e}),(a=>t.off(ba,a)),s,i,3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),S=O.entries,b=O.keys,R=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>f(S(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(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="_",q="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(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(f(await a(U+" 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)=>!l(x(x(r,a),t)))(t,e)?L(h(f(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>f(b(a??{}),(a=>z(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(u)||T(r,t)){const s=x(r,t),i=W(j(s));await E([...f(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),H(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+G(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+v(f(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+v(f(i,(a=>G(a)+"=excluded."+G(a))),s):n),f(o,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[g,h,T,C,A]=((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),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>{await S().load(a);try{u=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await N()}))}catch(a){i?.(a)}return D},stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>(x(ia,c).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:v,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(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,[c,y,w]],d,u,p,v)=>{const[f,g,m,T]=ta(t,d,s,v),C=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)}))),A=async(a,t)=>y?await m(w,q,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,q))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Oa="pragma_",Na="data_version",Sa="schema_version",ba="change";a.createSqlite3Persister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,h,m,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??q,t[pa]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=W(c),y=W(c);return[0,n,[Aa(s,{[fa]:null,[va]:q},fa,(a=>T(y,a)),(a=>z(l,a))),Aa(i,{[ga]:null,[va]:q,[ha]:0,[ma]:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?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,${Sa} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${Sa}`);t==(E??=t)&&e==(v??=e)&&s==(f??=s)||(a(),E=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,m,C(A),y,d,p)})(a,n,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ba,e),e}),(a=>t.off(ba,a)),s,i,3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const a="t",s="v",n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=e=>e.length,i=e=>e.shift(),c=Object,g=e=>c.getPrototypeOf(e),l=c.entries,d=c.keys,y=c.freeze,u=(e=[])=>c.fromEntries(e),p=(e,t)=>t in e,f=(e,t)=>((e,t)=>e.map(t))(l(e),(([e,a])=>t(a,e))),h=e=>(e=>!n(e)&&o(g(e),(e=>e==c.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>r(d(e)))(e),v=(e,t,a)=>(p(e,t)||(e[t]=a()),e[t]),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),C=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||C(e,t,a()),b(e,t)},A=w(),O=w(),j="delete",J=e=>[e.get(a),e.get(s)],N=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t.Map);let i;return f(s,((e,t)=>{o(r,t,e)&&(i=1)})),r.forEach(((e,t)=>{p(s,t)||(r.delete(t),i=1)})),n(a)||r.size||e.delete(a),i};e.createYjsPersister=(e,c,g="tinybase",l)=>{const d=c.getMap(g);return((e,t,a,s,r,c,g,l={},d=[])=>{let u,p,f,v=0,w=0,S=0;M(A,d,(()=>0)),M(O,d,(()=>[]));const[j,J,N,T,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(g,e),E=t=>{var a;(j&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},L=async e=>(2!=v&&(v=1,w++,await x((async()=>{try{E(await t())}catch(t){c?.(t),e&&D(e)}v=0}))),Y),m=()=>(p&&(r(p),p=void 0),Y),z=async e=>(1!=v&&(v=2,S++,await x((async()=>{try{await a(J,e)}catch(e){c?.(e)}v=0}))),Y),P=()=>(o(f,e.delListener),f=void 0,Y),x=async(...e)=>(((e,...t)=>{e.push(...t)})(b(O,d),...e),await(async()=>{if(!b(A,d)){for(C(A,d,1);!n(u=i(b(O,d)));)try{await u()}catch(e){c?.(e)}C(A,d,0)}})(),Y),Y={load:L,startAutoLoad:async e=>(await m().load(e),p=s((async(e,t)=>{t||e?2!=v&&(v=1,w++,E(t??e),v=0):await L()})),Y),stopAutoLoad:m,isAutoLoading:()=>!n(p),save:z,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=N();T(e)&&z(e)})),Y),stopAutoSave:P,isAutoSaving:()=>!n(f),schedule:x,getStore:()=>e,destroy:()=>m().stopAutoSave(),getStats:()=>({loads:w,saves:S}),...l};return y(Y)})(e,(async()=>d.size?[d.get(a).toJSON(),d.get(s).toJSON()]:void 0),(async(e,r)=>c.transact((()=>((e,r,i)=>{e.size||(e.set(a,new t.Map),e.set(s,new t.Map));const[c,g]=J(e),l=()=>{d=1};let d=1;if(o(i,(([e,t])=>{d=0,f(e,((e,t)=>d?0:n(e)?c.delete(t):o(c.get(t),(t=>f(e,((e,a)=>d?0:n(e)?t.delete(a):o(t.get(a),(t=>f(e,((e,a)=>n(e)?t.delete(a):t.set(a,e)))),l)))),l))),f(t,((e,t)=>d?0:n(e)?g.delete(t):g.set(t,e)))})),d){const[e,t]=r();N(c,void 0,e,((e,t,a)=>N(c,t,a,((e,t,a)=>N(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),N(g,void 0,t,((e,t,a)=>{g.get(t)!==a&&g.set(t,a)}))}})(d,e,r)))),(e=>{const t=t=>e(void 0,((e,t)=>{if(1==r(t)&&(n=t[0].path,0==r(n)))return[e.get(a).toJSON(),e.get(s).toJSON(),1];var n;const[c,g]=J(e),l={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>i(e)==a?o(i(e),(a=>{const s=v(l,a,u),n=c.get(a);o(i(e),(e=>{const a=v(s,e,u),o=n.get(e);S(t,((e,{action:t})=>a[e]=t==j?null:o.get(e)))}),(()=>S(t,((e,{action:t})=>s[e]=t==j?null:n.get(e)?.toJSON()))))}),(()=>S(t,((e,{action:t})=>l[e]=t==j?null:c.get(e)?.toJSON())))):S(t,((e,{action:t})=>d[e]=t==j?null:g.get(e)))))})(t),[l,d,1]})(d,t));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),l,1,{getYDoc:()=>c})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const a="t",s="v",n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=e=>e.length,i=e=>e.shift(),c=Object,g=e=>c.getPrototypeOf(e),l=c.entries,d=c.keys,y=c.freeze,u=(e=[])=>c.fromEntries(e),p=(e,t)=>t in e,f=(e,t)=>((e,t)=>e.map(t))(l(e),(([e,a])=>t(a,e))),h=e=>(e=>!n(e)&&o(g(e),(e=>e==c.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>r(d(e)))(e),v=(e,t,a)=>(p(e,t)||(e[t]=a()),e[t]),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),C=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||C(e,t,a()),b(e,t)},A=w(),O=w(),j="delete",J=e=>[e.get(a),e.get(s)],N=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t.Map);let i;return f(s,((e,t)=>{o(r,t,e)&&(i=1)})),r.forEach(((e,t)=>{p(s,t)||(r.delete(t),i=1)})),n(a)||r.size||e.delete(a),i};e.createYjsPersister=(e,c,g="tinybase",l)=>{const d=c.getMap(g);return((e,t,a,s,r,c,g,l={},d=[])=>{let u,p,f,v=0,w=0,S=0;M(A,d,(()=>0)),M(O,d,(()=>[]));const[j,J,N,T,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(g,e),E=t=>{var a;(j&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},L=async e=>(2!=v&&(v=1,w++,await x((async()=>{try{E(await t())}catch(t){c?.(t),e&&D(e)}v=0}))),Y),m=()=>(p&&(r(p),p=void 0),Y),z=async e=>(1!=v&&(v=2,S++,await x((async()=>{try{await a(J,e)}catch(e){c?.(e)}v=0}))),Y),P=()=>(o(f,e.delListener),f=void 0,Y),x=async(...e)=>(((e,...t)=>{e.push(...t)})(b(O,d),...e),await(async()=>{if(!b(A,d)){for(C(A,d,1);!n(u=i(b(O,d)));)try{await u()}catch(e){c?.(e)}C(A,d,0)}})(),Y),Y={load:L,startAutoLoad:async e=>{await m().load(e);try{p=s((async(e,t)=>{t||e?2!=v&&(v=1,w++,E(t??e),v=0):await L()}))}catch(e){c?.(e)}return Y},stopAutoLoad:m,isAutoLoading:()=>!n(p),save:z,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=N();T(e)&&z(e)})),Y),stopAutoSave:P,isAutoSaving:()=>!n(f),schedule:x,getStore:()=>e,destroy:()=>(b(O,d).splice(0,void 0),m().stopAutoSave()),getStats:()=>({loads:w,saves:S}),...l};return y(Y)})(e,(async()=>d.size?[d.get(a).toJSON(),d.get(s).toJSON()]:void 0),(async(e,r)=>c.transact((()=>((e,r,i)=>{e.size||(e.set(a,new t.Map),e.set(s,new t.Map));const[c,g]=J(e),l=()=>{d=1};let d=1;if(o(i,(([e,t])=>{d=0,f(e,((e,t)=>d?0:n(e)?c.delete(t):o(c.get(t),(t=>f(e,((e,a)=>d?0:n(e)?t.delete(a):o(t.get(a),(t=>f(e,((e,a)=>n(e)?t.delete(a):t.set(a,e)))),l)))),l))),f(t,((e,t)=>d?0:n(e)?g.delete(t):g.set(t,e)))})),d){const[e,t]=r();N(c,void 0,e,((e,t,a)=>N(c,t,a,((e,t,a)=>N(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),N(g,void 0,t,((e,t,a)=>{g.get(t)!==a&&g.set(t,a)}))}})(d,e,r)))),(e=>{const t=t=>e(void 0,((e,t)=>{if(1==r(t)&&(n=t[0].path,0==r(n)))return[e.get(a).toJSON(),e.get(s).toJSON(),1];var n;const[c,g]=J(e),l={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>i(e)==a?o(i(e),(a=>{const s=v(l,a,u),n=c.get(a);o(i(e),(e=>{const a=v(s,e,u),o=n.get(e);S(t,((e,{action:t})=>a[e]=t==j?null:o.get(e)))}),(()=>S(t,((e,{action:t})=>s[e]=t==j?null:n.get(e)?.toJSON()))))}),(()=>S(t,((e,{action:t})=>l[e]=t==j?null:c.get(e)?.toJSON())))):S(t,((e,{action:t})=>d[e]=t==j?null:g.get(e)))))})(t),[l,d,1]})(d,t));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),l,1,{getYDoc:()=>c})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const a="t",s="v",n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=e=>e.length,i=e=>e.shift(),c=Object,g=e=>c.getPrototypeOf(e),l=c.entries,d=c.keys,y=c.freeze,u=(e=[])=>c.fromEntries(e),p=(e,t)=>t in e,f=(e,t)=>((e,t)=>e.map(t))(l(e),(([e,a])=>t(a,e))),h=e=>(e=>!n(e)&&o(g(e),(e=>e==c.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>r(d(e)))(e),v=(e,t,a)=>(p(e,t)||(e[t]=a()),e[t]),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),C=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||C(e,t,a()),b(e,t)},A=w(),O=w(),j="delete",J=e=>[e.get(a),e.get(s)],N=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t.Map);let i;return f(s,((e,t)=>{o(r,t,e)&&(i=1)})),r.forEach(((e,t)=>{p(s,t)||(r.delete(t),i=1)})),n(a)||r.size||e.delete(a),i};e.createYjsPersister=(e,c,g="tinybase",l)=>{const d=c.getMap(g);return((e,t,a,s,r,c,g,l={},d=[])=>{let u,p,f,v=0,w=0,S=0;M(A,d,(()=>0)),M(O,d,(()=>[]));const[j,J,N,T,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(g,e),E=t=>{var a;(j&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},L=async e=>(2!=v&&(v=1,w++,await x((async()=>{try{E(await t())}catch(t){c?.(t),e&&D(e)}v=0}))),Y),m=()=>(p&&(r(p),p=void 0),Y),z=async e=>(1!=v&&(v=2,S++,await x((async()=>{try{await a(J,e)}catch(e){c?.(e)}v=0}))),Y),P=()=>(o(f,e.delListener),f=void 0,Y),x=async(...e)=>(((e,...t)=>{e.push(...t)})(b(O,d),...e),await(async()=>{if(!b(A,d)){for(C(A,d,1);!n(u=i(b(O,d)));)try{await u()}catch(e){c?.(e)}C(A,d,0)}})(),Y),Y={load:L,startAutoLoad:async e=>(await m().load(e),p=s((async(e,t)=>{t||e?2!=v&&(v=1,w++,E(t??e),v=0):await L()})),Y),stopAutoLoad:m,isAutoLoading:()=>!n(p),save:z,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=N();T(e)&&z(e)})),Y),stopAutoSave:P,isAutoSaving:()=>!n(f),schedule:x,getStore:()=>e,destroy:()=>m().stopAutoSave(),getStats:()=>({loads:w,saves:S}),...l};return y(Y)})(e,(async()=>d.size?[d.get(a).toJSON(),d.get(s).toJSON()]:void 0),(async(e,r)=>c.transact((()=>((e,r,i)=>{e.size||(e.set(a,new t.Map),e.set(s,new t.Map));const[c,g]=J(e),l=()=>{d=1};let d=1;if(o(i,(([e,t])=>{d=0,f(e,((e,t)=>d?0:n(e)?c.delete(t):o(c.get(t),(t=>f(e,((e,a)=>d?0:n(e)?t.delete(a):o(t.get(a),(t=>f(e,((e,a)=>n(e)?t.delete(a):t.set(a,e)))),l)))),l))),f(t,((e,t)=>d?0:n(e)?g.delete(t):g.set(t,e)))})),d){const[e,t]=r();N(c,void 0,e,((e,t,a)=>N(c,t,a,((e,t,a)=>N(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),N(g,void 0,t,((e,t,a)=>{g.get(t)!==a&&g.set(t,a)}))}})(d,e,r)))),(e=>{const t=t=>e(void 0,((e,t)=>{if(1==r(t)&&(n=t[0].path,0==r(n)))return[e.get(a).toJSON(),e.get(s).toJSON(),1];var n;const[c,g]=J(e),l={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>i(e)==a?o(i(e),(a=>{const s=v(l,a,u),n=c.get(a);o(i(e),(e=>{const a=v(s,e,u),o=n.get(e);S(t,((e,{action:t})=>a[e]=t==j?null:o.get(e)))}),(()=>S(t,((e,{action:t})=>s[e]=t==j?null:n.get(e)?.toJSON()))))}),(()=>S(t,((e,{action:t})=>l[e]=t==j?null:c.get(e)?.toJSON())))):S(t,((e,{action:t})=>d[e]=t==j?null:g.get(e)))))})(t),[l,d,1]})(d,t));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),l,1,{getYDoc:()=>c})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const a="t",s="v",n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=e=>e.length,i=e=>e.shift(),c=Object,g=e=>c.getPrototypeOf(e),l=c.entries,d=c.keys,y=c.freeze,u=(e=[])=>c.fromEntries(e),p=(e,t)=>t in e,f=(e,t)=>((e,t)=>e.map(t))(l(e),(([e,a])=>t(a,e))),h=e=>(e=>!n(e)&&o(g(e),(e=>e==c.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>r(d(e)))(e),v=(e,t,a)=>(p(e,t)||(e[t]=a()),e[t]),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),C=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||C(e,t,a()),b(e,t)},A=w(),O=w(),j="delete",J=e=>[e.get(a),e.get(s)],N=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t.Map);let i;return f(s,((e,t)=>{o(r,t,e)&&(i=1)})),r.forEach(((e,t)=>{p(s,t)||(r.delete(t),i=1)})),n(a)||r.size||e.delete(a),i};e.createYjsPersister=(e,c,g="tinybase",l)=>{const d=c.getMap(g);return((e,t,a,s,r,c,g,l={},d=[])=>{let u,p,f,v=0,w=0,S=0;M(A,d,(()=>0)),M(O,d,(()=>[]));const[j,J,N,T,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(g,e),E=t=>{var a;(j&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},L=async e=>(2!=v&&(v=1,w++,await x((async()=>{try{E(await t())}catch(t){c?.(t),e&&D(e)}v=0}))),Y),m=()=>(p&&(r(p),p=void 0),Y),z=async e=>(1!=v&&(v=2,S++,await x((async()=>{try{await a(J,e)}catch(e){c?.(e)}v=0}))),Y),P=()=>(o(f,e.delListener),f=void 0,Y),x=async(...e)=>(((e,...t)=>{e.push(...t)})(b(O,d),...e),await(async()=>{if(!b(A,d)){for(C(A,d,1);!n(u=i(b(O,d)));)try{await u()}catch(e){c?.(e)}C(A,d,0)}})(),Y),Y={load:L,startAutoLoad:async e=>{await m().load(e);try{p=s((async(e,t)=>{t||e?2!=v&&(v=1,w++,E(t??e),v=0):await L()}))}catch(e){c?.(e)}return Y},stopAutoLoad:m,isAutoLoading:()=>!n(p),save:z,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=N();T(e)&&z(e)})),Y),stopAutoSave:P,isAutoSaving:()=>!n(f),schedule:x,getStore:()=>e,destroy:()=>(b(O,d).splice(0,void 0),m().stopAutoSave()),getStats:()=>({loads:w,saves:S}),...l};return y(Y)})(e,(async()=>d.size?[d.get(a).toJSON(),d.get(s).toJSON()]:void 0),(async(e,r)=>c.transact((()=>((e,r,i)=>{e.size||(e.set(a,new t.Map),e.set(s,new t.Map));const[c,g]=J(e),l=()=>{d=1};let d=1;if(o(i,(([e,t])=>{d=0,f(e,((e,t)=>d?0:n(e)?c.delete(t):o(c.get(t),(t=>f(e,((e,a)=>d?0:n(e)?t.delete(a):o(t.get(a),(t=>f(e,((e,a)=>n(e)?t.delete(a):t.set(a,e)))),l)))),l))),f(t,((e,t)=>d?0:n(e)?g.delete(t):g.set(t,e)))})),d){const[e,t]=r();N(c,void 0,e,((e,t,a)=>N(c,t,a,((e,t,a)=>N(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),N(g,void 0,t,((e,t,a)=>{g.get(t)!==a&&g.set(t,a)}))}})(d,e,r)))),(e=>{const t=t=>e(void 0,((e,t)=>{if(1==r(t)&&(n=t[0].path,0==r(n)))return[e.get(a).toJSON(),e.get(s).toJSON(),1];var n;const[c,g]=J(e),l={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>i(e)==a?o(i(e),(a=>{const s=v(l,a,u),n=c.get(a);o(i(e),(e=>{const a=v(s,e,u),o=n.get(e);S(t,((e,{action:t})=>a[e]=t==j?null:o.get(e)))}),(()=>S(t,((e,{action:t})=>s[e]=t==j?null:n.get(e)?.toJSON()))))}),(()=>S(t,((e,{action:t})=>l[e]=t==j?null:c.get(e)?.toJSON())))):S(t,((e,{action:t})=>d[e]=t==j?null:g.get(e)))))})(t),[l,d,1]})(d,t));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),l,1,{getYDoc:()=>c})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,a=(e,a,s)=>t(e)?s?.():a(e),s=Object,r=e=>s.getPrototypeOf(e),n=s.keys,o=s.freeze,i=e=>(e=>!t(e)&&a(r(e),(e=>e==s.prototype||t(r(e))),(()=>!0)))(e)&&0==(e=>n(e).length)(e),l=e=>new Map(e),y=(e,t)=>e?.get(t),c=(e,a,s)=>{return t(s)?(r=e,n=a,r?.delete(n),e):e?.set(a,s);var r,n},d=(e,t,a,s)=>{var r,n;return r=e,n=t,r?.has(n)||c(e,t,a()),y(e,t)},g={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},p=l(),u=l();e.Persists=g,e.createCustomPersister=(e,s,r,n,l,f,h,v={},S=[])=>{let b,w,C,A=0,M=0,O=0;d(p,S,(()=>0)),d(u,S,(()=>[]));const[T,L,P,m,x]=((e=g.StoreOnly,t)=>e!=g.StoreOnly&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!i(e)||!i(t),t.setDefaultContent]:e!=g.MergeableStoreOnly?[0,t.getContent,t.getTransactionChanges,([e,t])=>!i(e)||!i(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(h,e),j=t=>{var a;(T&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=A&&(A=1,M++,await E((async()=>{try{j(await s())}catch(t){f?.(t),e&&x(e)}A=0}))),F),k=()=>(w&&(l(w),w=void 0),F),z=async e=>(1!=A&&(A=2,O++,await E((async()=>{try{await r(L,e)}catch(e){f?.(e)}A=0}))),F),B=()=>(a(C,e.delListener),C=void 0,F),E=async(...e)=>(((e,...t)=>{e.push(...t)})(y(u,S),...e),await(async()=>{if(!y(p,S)){for(c(p,S,1);!t((e=y(u,S),b=e.shift()));)try{await b()}catch(e){f?.(e)}c(p,S,0)}var e})(),F),F={load:D,startAutoLoad:async e=>(await k().load(e),w=n((async(e,t)=>{t||e?2!=A&&(A=1,M++,j(t??e),A=0):await D()})),F),stopAutoLoad:k,isAutoLoading:()=>!t(w),save:z,startAutoSave:async()=>(await B().save(),C=e.addDidFinishTransactionListener((()=>{const e=P();m(e)&&z(e)})),F),stopAutoSave:B,isAutoSaving:()=>!t(C),schedule:E,getStore:()=>e,destroy:()=>k().stopAutoSave(),getStats:()=>({loads:M,saves:O}),...v};return o(F)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisters={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,a=(e,a,s)=>t(e)?s?.():a(e),s=Object,r=e=>s.getPrototypeOf(e),n=s.keys,o=s.freeze,i=e=>(e=>!t(e)&&a(r(e),(e=>e==s.prototype||t(r(e))),(()=>!0)))(e)&&0==(e=>n(e).length)(e),c=e=>new Map(e),y=(e,t)=>e?.get(t),l=(e,a,s)=>{return t(s)?(r=e,n=a,r?.delete(n),e):e?.set(a,s);var r,n},d=(e,t,a,s)=>{var r,n;return r=e,n=t,r?.has(n)||l(e,t,a()),y(e,t)},g=c(),p=c();e.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},e.createCustomPersister=(e,s,r,n,c,u,h,f={},v=[])=>{let b,w,C,S=0,A=0,M=0;d(g,v,(()=>0)),d(p,v,(()=>[]));const[T,L,O,P,m]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!i(e)||!i(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!i(e)||!i(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(h,e),x=t=>{var a;(T&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},j=async e=>(2!=S&&(S=1,A++,await B((async()=>{try{x(await s())}catch(t){u?.(t),e&&m(e)}S=0}))),E),D=()=>(w&&(c(w),w=void 0),E),k=async e=>(1!=S&&(S=2,M++,await B((async()=>{try{await r(L,e)}catch(e){u?.(e)}S=0}))),E),z=()=>(a(C,e.delListener),C=void 0,E),B=async(...e)=>(((e,...t)=>{e.push(...t)})(y(p,v),...e),await(async()=>{if(!y(g,v)){for(l(g,v,1);!t((e=y(p,v),b=e.shift()));)try{await b()}catch(e){u?.(e)}l(g,v,0)}var e})(),E),E={load:j,startAutoLoad:async e=>{await D().load(e);try{w=n((async(e,t)=>{t||e?2!=S&&(S=1,A++,x(t??e),S=0):await j()}))}catch(e){u?.(e)}return E},stopAutoLoad:D,isAutoLoading:()=>!t(w),save:k,startAutoSave:async()=>(await z().save(),C=e.addDidFinishTransactionListener((()=>{const e=O();P(e)&&k(e)})),E),stopAutoSave:z,isAutoSaving:()=>!t(C),schedule:B,getStore:()=>e,destroy:()=>(y(p,v).splice(0,void 0),D().stopAutoSave()),getStats:()=>({loads:A,saves:M}),...f};return o(E)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisters={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,s=Math,n=s.floor,o=e=>null==e,i=(e,t,a)=>o(e)?a?.():t(e),r=(e,t)=>e.map(t),l=Object,f=e=>l.getPrototypeOf(e),c=l.entries,g=l.keys,u=l.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!o(e)&&i(f(e),(e=>e==l.prototype||o(f(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),C=e=>new Map(e),b=(e,t)=>e?.get(t),w=(e,t,a)=>o(a)?(p(e,t),e):e?.set(t,a),v=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||w(e,t,a()),b(e,t)},D=C(),M=C();new a.TextEncoder;const A=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",G=(e="")=>A(((e=[])=>l.fromEntries(e))(),e),T="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");C(r(T,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>r(e,(()=>n(256*s.random()))),m={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7};e.Message=m,e.createCustomSynchronizer=(e,a,s,n,r,l,f={})=>{let c,g=0,L=0;const R=C();s(((t,s,n,r)=>{L++,n==m.Response?i(b(R,s),(([e,a])=>o(e)||e==t?a(r,t):0)):n==m.ContentHashes&&E.isAutoLoading()?z(t,r).then((e=>{c?.(void 0,e)})):n==m.ContentDiff&&E.isAutoLoading()?c?.(void 0,r):i(n==m.GetContentHashes&&E.isAutoSaving()?e.getMergeableContentHashes():n==m.GetTableDiff?e.getMergeableTableDiff(r):n==m.GetRowDiff?e.getMergeableRowDiff(r):n==m.GetCellDiff?e.getMergeableCellDiff(r):n==m.GetValueDiff?e.getMergeableValueDiff(r):void 0,(e=>{g++,a(t,s,m.Response,e)}))}));const V=async(e,s,n="")=>new t(((t,o)=>{const i=((e=16)=>{return t=(e,t)=>e+T[63&t],H(new Uint8Array(e)).reduce(t,"");var t})(),l=setTimeout((()=>{p(R,i),o(`No response from ${e??"anyone"} to '${s}'`)}),1e3*r);w(R,i,[e,(e,a)=>{clearTimeout(l),p(R,i),t([e,a])}]),g++,a(e,i,s,n)})),x=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,G);y(t,(([e,t],a)=>{const s=h(n[0],a,G);y(e,(([e,t],a)=>s[0][a]=A(e,t))),s[1]=S(s[1],t)})),n[1]=S(n[1],a)})),e[1]=S(e[1],a)},z=async(t=null,a)=>{o(a)&&([a,t]=await V(t,m.GetContentHashes));const[s,n]=a,[i,r]=e.getMergeableContentHashes();let l=G();if(i!=s){const[a,s]=(await V(t,m.GetTableDiff,e.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await V(t,m.GetRowDiff,e.getMergeableRowHashes(s)))[0];if(x(l,a),!d(n)){const a=(await V(t,m.GetCellDiff,e.getMergeableCellHashes(n)))[0];x(l,a)}}}return[l,r==n?G():(await V(t,m.GetValueDiff,e.getMergeableValueHashes()))[0],1]},E=((e,t,a,s,n,r,l,f={},c=[])=>{let g,y,h,p=0,C=0,A=0;v(D,c,(()=>0)),v(M,c,(()=>[]));const[S,G,T,H,m]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),L=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},R=async e=>(2!=p&&(p=1,C++,await E((async()=>{try{L(await t())}catch(t){r?.(t),e&&m(e)}p=0}))),P),V=()=>(y&&(n(y),y=void 0),P),x=async e=>(1!=p&&(p=2,A++,await E((async()=>{try{await a(G,e)}catch(e){r?.(e)}p=0}))),P),z=()=>(i(h,e.delListener),h=void 0,P),E=async(...e)=>(((e,...t)=>{e.push(...t)})(b(M,c),...e),await(async()=>{if(!b(D,c)){for(w(D,c,1);!o((e=b(M,c),g=e.shift()));)try{await g()}catch(e){r?.(e)}w(D,c,0)}var e})(),P),P={load:R,startAutoLoad:async e=>(await V().load(e),y=s((async(e,t)=>{t||e?2!=p&&(p=1,C++,L(t??e),p=0):await R()})),P),stopAutoLoad:V,isAutoLoading:()=>!o(y),save:x,startAutoSave:async()=>(await z().save(),h=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&x(e)})),P),stopAutoSave:z,isAutoSaving:()=>!o(h),schedule:E,getStore:()=>e,destroy:()=>V().stopAutoSave(),getStats:()=>({loads:C,saves:A}),...f};return u(P)})(e,(async()=>{const e=await z();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,s)=>{g++,s?a(null,null,m.ContentDiff,s):a(null,null,m.ContentHashes,e.getMergeableContentHashes())}),(e=>c=e),(()=>c=void 0),l,2,{startSync:async e=>await(await E.startAutoLoad(e)).startAutoSave(),stopSync:()=>E.stopAutoLoad().stopAutoSave(),destroy:()=>(n(),E.stopSync()),getSynchronizerStats:()=>({sends:g,receives:L}),...f});return E}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizers={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,s=Math,n=s.floor,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),i=(e,t)=>e.map(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,u=l.keys,y=l.freeze,f=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),d=e=>(e=>!o(e)&&r(c(e),(e=>e==l.prototype||o(c(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),b=e=>new Map(e),w=(e,t)=>e?.get(t),v=(e,t,a)=>o(a)?(p(e,t),e):e?.set(t,a),C=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||v(e,t,a()),w(e,t)};new a.TextEncoder;const M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",S=(e="")=>M(((e=[])=>l.fromEntries(e))(),e),T=b(),m=b(),D="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");b(i(D,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>n(256*s.random())));e.Message={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},e.createCustomSynchronizer=(e,a,s,n,i,l,c,g,u={})=>{let L,G=0,R=0;const x=b(),z=(e,t,s,n)=>{G++,l?.(e,t,s,n),a(e,t,s,n)},E=async(e,a,s="")=>new t(((t,n)=>{const o=((e=16)=>{return t=(e,t)=>e+D[63&t],H(new Uint8Array(e)).reduce(t,"");var t})(),r=setTimeout((()=>{p(x,o),n(`No response from ${e??"anyone"} to ${o}, `+a)}),1e3*i);v(x,o,[e,(e,a)=>{clearTimeout(r),p(x,o),t([e,a])}]),z(e,o,a,s)})),V=(e,[t,a])=>{f(t,(([t,a],s)=>{const n=h(e[0],s,S);f(t,(([e,t],a)=>{const s=h(n[0],a,S);f(e,(([e,t],a)=>s[0][a]=M(e,t))),s[1]=A(s[1],t)})),n[1]=A(n[1],a)})),e[1]=A(e[1],a)},P=async(t=null,a)=>{o(a)&&([a,t]=await E(t,1));const[s,n]=a,[r,i]=e.getMergeableContentHashes();let l=S();if(r!=s){const[a,s]=(await E(t,4,e.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await E(t,5,e.getMergeableRowHashes(s)))[0];if(V(l,a),!d(n)){const a=(await E(t,6,e.getMergeableCellHashes(n)))[0];V(l,a)}}}return[l,i==n?S():(await E(t,7,e.getMergeableValueHashes()))[0],1]},j=((e,t,a,s,n,i,l,c={},g=[])=>{let u,f,h,p=0,b=0,M=0;C(T,g,(()=>0)),C(m,g,(()=>[]));const[A,S,D,H,L]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),G=t=>{var a;(A&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},R=async e=>(2!=p&&(p=1,b++,await V((async()=>{try{G(await t())}catch(t){i?.(t),e&&L(e)}p=0}))),P),x=()=>(f&&(n(f),f=void 0),P),z=async e=>(1!=p&&(p=2,M++,await V((async()=>{try{await a(S,e)}catch(e){i?.(e)}p=0}))),P),E=()=>(r(h,e.delListener),h=void 0,P),V=async(...e)=>(((e,...t)=>{e.push(...t)})(w(m,g),...e),await(async()=>{if(!w(T,g)){for(v(T,g,1);!o((e=w(m,g),u=e.shift()));)try{await u()}catch(e){i?.(e)}v(T,g,0)}var e})(),P),P={load:R,startAutoLoad:async e=>{await x().load(e);try{f=s((async(e,t)=>{t||e?2!=p&&(p=1,b++,G(t??e),p=0):await R()}))}catch(e){i?.(e)}return P},stopAutoLoad:x,isAutoLoading:()=>!o(f),save:z,startAutoSave:async()=>(await E().save(),h=e.addDidFinishTransactionListener((()=>{const e=D();H(e)&&z(e)})),P),stopAutoSave:E,isAutoSaving:()=>!o(h),schedule:V,getStore:()=>e,destroy:()=>(w(m,g).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:b,saves:M}),...c};return y(P)})(e,(async()=>{const e=await P();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,a)=>a?z(null,null,3,a):z(null,null,2,e.getMergeableContentHashes())),(e=>L=e),(()=>L=void 0),g,2,{startSync:async e=>await(await j.startAutoLoad(e)).startAutoSave(),stopSync:()=>j.stopAutoLoad().stopAutoSave(),destroy:()=>(n(),j.stopSync()),getSynchronizerStats:()=>({sends:G,receives:R}),...u});return s(((t,a,s,n)=>{R++,c?.(t,a,s,n),0==s?r(w(x,a),(([e,a])=>o(e)||e==t?a(n,t):0)):2==s&&j.isAutoLoading()?P(t,n).then((e=>{L?.(void 0,e)})):3==s&&j.isAutoLoading()?L?.(void 0,n):r(1==s&&j.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,(e=>{z(t,a,0,e)}))})),j}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizers={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,s=n.floor,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),i=(e,t)=>e.map(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,d=l.keys,u=l.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),h=e=>(e=>!o(e)&&r(c(e),(e=>e==l.prototype||o(c(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),f=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),v=(e,t,a)=>o(a)?(p(e,t),e):e?.set(t,a),C=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||v(e,t,a()),b(e,t)},M=w(),A=w();new a.TextEncoder;const S=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>S(((e=[])=>l.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>s(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,a,n)=>{const s=D(),i=new BroadcastChannel(a);return((e,a,n,s,i,l,c={})=>{let g,d=0,L=0;const H=w();n(((t,n,s,i)=>{L++,0==s?r(b(H,n),(([e,a])=>o(e)||e==t?a(i,t):0)):2==s&&E.isAutoLoading()?B(t,i).then((e=>{g?.(void 0,e)})):3==s&&E.isAutoLoading()?g?.(void 0,i):r(1==s&&E.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{d++,a(t,n,0,e)}))}));const x=async(e,n,s="")=>new t(((t,o)=>{const r=D(),l=setTimeout((()=>{p(H,r),o(`No response from ${e??"anyone"} to '${n}'`)}),1e3*i);v(H,r,[e,(e,a)=>{clearTimeout(l),p(H,r),t([e,a])}]),d++,a(e,r,n,s)})),z=(e,[t,a])=>{y(t,(([t,a],n)=>{const s=f(e[0],n,T);y(t,(([e,t],a)=>{const n=f(s[0],a,T);y(e,(([e,t],a)=>n[0][a]=S(e,t))),n[1]=m(n[1],t)})),s[1]=m(s[1],a)})),e[1]=m(e[1],a)},B=async(t=null,a)=>{o(a)&&([a,t]=await x(t,1));const[n,s]=a,[r,i]=e.getMergeableContentHashes();let l=T();if(r!=n){const[a,n]=(await x(t,4,e.getMergeableTableHashes()))[0];if(l=a,!h(n)){const[a,s]=(await x(t,5,e.getMergeableRowHashes(n)))[0];if(z(l,a),!h(s)){const a=(await x(t,6,e.getMergeableCellHashes(s)))[0];z(l,a)}}}return[l,i==s?T():(await x(t,7,e.getMergeableValueHashes()))[0],1]},E=((e,t,a,n,s,i,l,c={},g=[])=>{let d,y,f,p=0,w=0,S=0;C(M,g,(()=>0)),C(A,g,(()=>[]));const[m,T,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),x=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},z=async e=>(2!=p&&(p=1,w++,await R((async()=>{try{x(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),V),B=()=>(y&&(s(y),y=void 0),V),E=async e=>(1!=p&&(p=2,S++,await R((async()=>{try{await a(T,e)}catch(e){i?.(e)}p=0}))),V),P=()=>(r(f,e.delListener),f=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(A,g),...e),await(async()=>{if(!b(M,g)){for(v(M,g,1);!o((e=b(A,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}v(M,g,0)}var e})(),V),V={load:z,startAutoLoad:async e=>(await B().load(e),y=n((async(e,t)=>{t||e?2!=p&&(p=1,w++,x(t??e),p=0):await z()})),V),stopAutoLoad:B,isAutoLoading:()=>!o(y),save:E,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&E(e)})),V),stopAutoSave:P,isAutoSaving:()=>!o(f),schedule:R,getStore:()=>e,destroy:()=>B().stopAutoSave(),getStats:()=>({loads:w,saves:S}),...c};return u(V)})(e,(async()=>{const e=await B();return h(e[0][0])&&h(e[1][0])?void 0:e}),(async(t,n)=>{d++,n?a(null,null,3,n):a(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await E.startAutoLoad(e)).startAutoSave(),stopSync:()=>E.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),E.stopSync()),getSynchronizerStats:()=>({sends:d,receives:L}),...c});return E})(e,((e,t,a,n)=>i.postMessage([s,e,t,a,n])),(e=>{i.onmessage=({data:[t,a,n,r,i]})=>o(a)||a==s?e(t,n,r,i):0}),(()=>{i.close()}),.01,n,{getChannelName:()=>a})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,s=n.floor,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),i=(e,t)=>e.map(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,d=l.keys,u=l.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),h=e=>(e=>!o(e)&&r(c(e),(e=>e==l.prototype||o(c(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),f=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),v=(e,t,a)=>o(a)?(p(e,t),e):e?.set(t,a),C=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||v(e,t,a()),b(e,t)};new a.TextEncoder;const M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",S=(e="")=>M(((e=[])=>l.fromEntries(e))(),e),m=w(),T=w(),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>s(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,a,n,s,i)=>{const l=D(),c=new BroadcastChannel(a);return((e,a,n,s,i,l,c,g,d={})=>{let L,H=0,x=0;const z=w(),B=(e,t,n,s)=>{H++,l?.(e,t,n,s),a(e,t,n,s)},E=async(e,a,n="")=>new t(((t,s)=>{const o=D(),r=setTimeout((()=>{p(z,o),s(`No response from ${e??"anyone"} to ${o}, `+a)}),1e3*i);v(z,o,[e,(e,a)=>{clearTimeout(r),p(z,o),t([e,a])}]),B(e,o,a,n)})),P=(e,[t,a])=>{y(t,(([t,a],n)=>{const s=f(e[0],n,S);y(t,(([e,t],a)=>{const n=f(s[0],a,S);y(e,(([e,t],a)=>n[0][a]=M(e,t))),n[1]=A(n[1],t)})),s[1]=A(s[1],a)})),e[1]=A(e[1],a)},R=async(t=null,a)=>{o(a)&&([a,t]=await E(t,1));const[n,s]=a,[r,i]=e.getMergeableContentHashes();let l=S();if(r!=n){const[a,n]=(await E(t,4,e.getMergeableTableHashes()))[0];if(l=a,!h(n)){const[a,s]=(await E(t,5,e.getMergeableRowHashes(n)))[0];if(P(l,a),!h(s)){const a=(await E(t,6,e.getMergeableCellHashes(s)))[0];P(l,a)}}}return[l,i==s?S():(await E(t,7,e.getMergeableValueHashes()))[0],1]},V=((e,t,a,n,s,i,l,c={},g=[])=>{let d,y,f,p=0,w=0,M=0;C(m,g,(()=>0)),C(T,g,(()=>[]));const[A,S,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),x=t=>{var a;(A&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},z=async e=>(2!=p&&(p=1,w++,await R((async()=>{try{x(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),V),B=()=>(y&&(s(y),y=void 0),V),E=async e=>(1!=p&&(p=2,M++,await R((async()=>{try{await a(S,e)}catch(e){i?.(e)}p=0}))),V),P=()=>(r(f,e.delListener),f=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(T,g),...e),await(async()=>{if(!b(m,g)){for(v(m,g,1);!o((e=b(T,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}v(m,g,0)}var e})(),V),V={load:z,startAutoLoad:async e=>{await B().load(e);try{y=n((async(e,t)=>{t||e?2!=p&&(p=1,w++,x(t??e),p=0):await z()}))}catch(e){i?.(e)}return V},stopAutoLoad:B,isAutoLoading:()=>!o(y),save:E,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&E(e)})),V),stopAutoSave:P,isAutoSaving:()=>!o(f),schedule:R,getStore:()=>e,destroy:()=>(b(T,g).splice(0,void 0),B().stopAutoSave()),getStats:()=>({loads:w,saves:M}),...c};return u(V)})(e,(async()=>{const e=await R();return h(e[0][0])&&h(e[1][0])?void 0:e}),(async(t,a)=>a?B(null,null,3,a):B(null,null,2,e.getMergeableContentHashes())),(e=>L=e),(()=>L=void 0),g,2,{startSync:async e=>await(await V.startAutoLoad(e)).startAutoSave(),stopSync:()=>V.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),V.stopSync()),getSynchronizerStats:()=>({sends:H,receives:x}),...d});return n(((t,a,n,s)=>{x++,c?.(t,a,n,s),0==n?r(b(z,a),(([e,a])=>o(e)||e==t?a(s,t):0)):2==n&&V.isAutoLoading()?R(t,s).then((e=>{L?.(void 0,e)})):3==n&&V.isAutoLoading()?L?.(void 0,s):r(1==n&&V.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{B(t,a,0,e)}))})),V})(e,((e,t,a,n)=>c.postMessage([l,e,t,a,n])),(e=>{c.onmessage=({data:[t,a,n,s,r]})=>o(a)||a==l?e(t,n,s,r):0}),(()=>{c.close()}),.01,n,s,i,{getChannelName:()=>a})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,s=n.floor,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),i=(e,t)=>e.map(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,d=l.keys,u=l.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),h=e=>(e=>!o(e)&&r(c(e),(e=>e==l.prototype||o(c(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),f=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),v=(e,t,a)=>o(a)?(p(e,t),e):e?.set(t,a),C=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||v(e,t,a()),b(e,t)},M=w(),A=w();new a.TextEncoder;const S=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>S(((e=[])=>l.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>s(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,a,n)=>{const s=D(),i=new BroadcastChannel(a);return((e,a,n,s,i,l,c={})=>{let g,d=0,L=0;const H=w();n(((t,n,s,i)=>{L++,0==s?r(b(H,n),(([e,a])=>o(e)||e==t?a(i,t):0)):2==s&&E.isAutoLoading()?B(t,i).then((e=>{g?.(void 0,e)})):3==s&&E.isAutoLoading()?g?.(void 0,i):r(1==s&&E.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{d++,a(t,n,0,e)}))}));const x=async(e,n,s="")=>new t(((t,o)=>{const r=D(),l=setTimeout((()=>{p(H,r),o(`No response from ${e??"anyone"} to '${n}'`)}),1e3*i);v(H,r,[e,(e,a)=>{clearTimeout(l),p(H,r),t([e,a])}]),d++,a(e,r,n,s)})),z=(e,[t,a])=>{y(t,(([t,a],n)=>{const s=f(e[0],n,T);y(t,(([e,t],a)=>{const n=f(s[0],a,T);y(e,(([e,t],a)=>n[0][a]=S(e,t))),n[1]=m(n[1],t)})),s[1]=m(s[1],a)})),e[1]=m(e[1],a)},B=async(t=null,a)=>{o(a)&&([a,t]=await x(t,1));const[n,s]=a,[r,i]=e.getMergeableContentHashes();let l=T();if(r!=n){const[a,n]=(await x(t,4,e.getMergeableTableHashes()))[0];if(l=a,!h(n)){const[a,s]=(await x(t,5,e.getMergeableRowHashes(n)))[0];if(z(l,a),!h(s)){const a=(await x(t,6,e.getMergeableCellHashes(s)))[0];z(l,a)}}}return[l,i==s?T():(await x(t,7,e.getMergeableValueHashes()))[0],1]},E=((e,t,a,n,s,i,l,c={},g=[])=>{let d,y,f,p=0,w=0,S=0;C(M,g,(()=>0)),C(A,g,(()=>[]));const[m,T,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),x=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},z=async e=>(2!=p&&(p=1,w++,await R((async()=>{try{x(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),V),B=()=>(y&&(s(y),y=void 0),V),E=async e=>(1!=p&&(p=2,S++,await R((async()=>{try{await a(T,e)}catch(e){i?.(e)}p=0}))),V),P=()=>(r(f,e.delListener),f=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(A,g),...e),await(async()=>{if(!b(M,g)){for(v(M,g,1);!o((e=b(A,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}v(M,g,0)}var e})(),V),V={load:z,startAutoLoad:async e=>(await B().load(e),y=n((async(e,t)=>{t||e?2!=p&&(p=1,w++,x(t??e),p=0):await z()})),V),stopAutoLoad:B,isAutoLoading:()=>!o(y),save:E,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&E(e)})),V),stopAutoSave:P,isAutoSaving:()=>!o(f),schedule:R,getStore:()=>e,destroy:()=>B().stopAutoSave(),getStats:()=>({loads:w,saves:S}),...c};return u(V)})(e,(async()=>{const e=await B();return h(e[0][0])&&h(e[1][0])?void 0:e}),(async(t,n)=>{d++,n?a(null,null,3,n):a(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await E.startAutoLoad(e)).startAutoSave(),stopSync:()=>E.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),E.stopSync()),getSynchronizerStats:()=>({sends:d,receives:L}),...c});return E})(e,((e,t,a,n)=>i.postMessage([s,e,t,a,n])),(e=>{i.onmessage=({data:[t,a,n,r,i]})=>o(a)||a==s?e(t,n,r,i):0}),(()=>{i.close()}),.01,n,{getChannelName:()=>a})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,s=n.floor,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),i=(e,t)=>e.map(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,d=l.keys,u=l.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),h=e=>(e=>!o(e)&&r(c(e),(e=>e==l.prototype||o(c(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),f=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),v=(e,t,a)=>o(a)?(p(e,t),e):e?.set(t,a),C=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||v(e,t,a()),b(e,t)};new a.TextEncoder;const M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",S=(e="")=>M(((e=[])=>l.fromEntries(e))(),e),m=w(),T=w(),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>s(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t};e.createBroadcastChannelSynchronizer=(e,a,n,s,i)=>{const l=D(),c=new BroadcastChannel(a);return((e,a,n,s,i,l,c,g,d={})=>{let L,H=0,x=0;const z=w(),B=(e,t,n,s)=>{H++,l?.(e,t,n,s),a(e,t,n,s)},E=async(e,a,n="")=>new t(((t,s)=>{const o=D(),r=setTimeout((()=>{p(z,o),s(`No response from ${e??"anyone"} to ${o}, `+a)}),1e3*i);v(z,o,[e,(e,a)=>{clearTimeout(r),p(z,o),t([e,a])}]),B(e,o,a,n)})),P=(e,[t,a])=>{y(t,(([t,a],n)=>{const s=f(e[0],n,S);y(t,(([e,t],a)=>{const n=f(s[0],a,S);y(e,(([e,t],a)=>n[0][a]=M(e,t))),n[1]=A(n[1],t)})),s[1]=A(s[1],a)})),e[1]=A(e[1],a)},R=async(t=null,a)=>{o(a)&&([a,t]=await E(t,1));const[n,s]=a,[r,i]=e.getMergeableContentHashes();let l=S();if(r!=n){const[a,n]=(await E(t,4,e.getMergeableTableHashes()))[0];if(l=a,!h(n)){const[a,s]=(await E(t,5,e.getMergeableRowHashes(n)))[0];if(P(l,a),!h(s)){const a=(await E(t,6,e.getMergeableCellHashes(s)))[0];P(l,a)}}}return[l,i==s?S():(await E(t,7,e.getMergeableValueHashes()))[0],1]},V=((e,t,a,n,s,i,l,c={},g=[])=>{let d,y,f,p=0,w=0,M=0;C(m,g,(()=>0)),C(T,g,(()=>[]));const[A,S,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),x=t=>{var a;(A&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},z=async e=>(2!=p&&(p=1,w++,await R((async()=>{try{x(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),V),B=()=>(y&&(s(y),y=void 0),V),E=async e=>(1!=p&&(p=2,M++,await R((async()=>{try{await a(S,e)}catch(e){i?.(e)}p=0}))),V),P=()=>(r(f,e.delListener),f=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(T,g),...e),await(async()=>{if(!b(m,g)){for(v(m,g,1);!o((e=b(T,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}v(m,g,0)}var e})(),V),V={load:z,startAutoLoad:async e=>{await B().load(e);try{y=n((async(e,t)=>{t||e?2!=p&&(p=1,w++,x(t??e),p=0):await z()}))}catch(e){i?.(e)}return V},stopAutoLoad:B,isAutoLoading:()=>!o(y),save:E,startAutoSave:async()=>(await P().save(),f=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&E(e)})),V),stopAutoSave:P,isAutoSaving:()=>!o(f),schedule:R,getStore:()=>e,destroy:()=>(b(T,g).splice(0,void 0),B().stopAutoSave()),getStats:()=>({loads:w,saves:M}),...c};return u(V)})(e,(async()=>{const e=await R();return h(e[0][0])&&h(e[1][0])?void 0:e}),(async(t,a)=>a?B(null,null,3,a):B(null,null,2,e.getMergeableContentHashes())),(e=>L=e),(()=>L=void 0),g,2,{startSync:async e=>await(await V.startAutoLoad(e)).startAutoSave(),stopSync:()=>V.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),V.stopSync()),getSynchronizerStats:()=>({sends:H,receives:x}),...d});return n(((t,a,n,s)=>{x++,c?.(t,a,n,s),0==n?r(b(z,a),(([e,a])=>o(e)||e==t?a(s,t):0)):2==n&&V.isAutoLoading()?R(t,s).then((e=>{L?.(void 0,e)})):3==n&&V.isAutoLoading()?L?.(void 0,s):r(1==n&&V.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,(e=>{B(t,a,0,e)}))})),V})(e,((e,t,a,n)=>c.postMessage([l,e,t,a,n])),(e=>{c.onmessage=({data:[t,a,n,s,r]})=>o(a)||a==l?e(t,n,s,r):0}),(()=>{c.close()}),.01,n,s,i,{getChannelName:()=>a})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerBroadcastChannel={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,o=n.floor,s=e=>null==e,r=(e,t,a)=>s(e)?a?.():t(e),i=(e,t)=>e.map(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,u=l.keys,y=l.freeze,d=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),f=e=>(e=>!s(e)&&r(c(e),(e=>e==l.prototype||s(c(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),b=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>s(a)?(p(e,t),e):e?.set(t,a),M=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)||w(e,t,a()),v(e,t)},A=b(),S=b();new a.TextEncoder;const C=(e,t)=>t?[e,t]:[e],T=(e,t)=>((e??"")>(t??"")?e:t)??"",m=(e="")=>C(((e=[])=>l.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");b(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>o(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t},E=b();e.createLocalSynchronizer=(e,a)=>{const n=D();return((e,a,n,o,i,l,c={})=>{let g,u=0,L=0;const H=b();n(((t,n,o,i)=>{L++,0==o?r(v(H,n),(([e,a])=>s(e)||e==t?a(i,t):0)):2==o&&P.isAutoLoading()?z(t,i).then((e=>{g?.(void 0,e)})):3==o&&P.isAutoLoading()?g?.(void 0,i):r(1==o&&P.isAutoSaving()?e.getMergeableContentHashes():4==o?e.getMergeableTableDiff(i):5==o?e.getMergeableRowDiff(i):6==o?e.getMergeableCellDiff(i):7==o?e.getMergeableValueDiff(i):void 0,(e=>{u++,a(t,n,0,e)}))}));const E=async(e,n,o="")=>new t(((t,s)=>{const r=D(),l=setTimeout((()=>{p(H,r),s(`No response from ${e??"anyone"} to '${n}'`)}),1e3*i);w(H,r,[e,(e,a)=>{clearTimeout(l),p(H,r),t([e,a])}]),u++,a(e,r,n,o)})),x=(e,[t,a])=>{d(t,(([t,a],n)=>{const o=h(e[0],n,m);d(t,(([e,t],a)=>{const n=h(o[0],a,m);d(e,(([e,t],a)=>n[0][a]=C(e,t))),n[1]=T(n[1],t)})),o[1]=T(o[1],a)})),e[1]=T(e[1],a)},z=async(t=null,a)=>{s(a)&&([a,t]=await E(t,1));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=m();if(r!=n){const[a,n]=(await E(t,4,e.getMergeableTableHashes()))[0];if(l=a,!f(n)){const[a,o]=(await E(t,5,e.getMergeableRowHashes(n)))[0];if(x(l,a),!f(o)){const a=(await E(t,6,e.getMergeableCellHashes(o)))[0];x(l,a)}}}return[l,i==o?m():(await E(t,7,e.getMergeableValueHashes()))[0],1]},P=((e,t,a,n,o,i,l,c={},g=[])=>{let u,d,h,p=0,b=0,C=0;M(A,g,(()=>0)),M(S,g,(()=>[]));const[T,m,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),E=t=>{var a;(T&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x=async e=>(2!=p&&(p=1,b++,await V((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),j),z=()=>(d&&(o(d),d=void 0),j),P=async e=>(1!=p&&(p=2,C++,await V((async()=>{try{await a(m,e)}catch(e){i?.(e)}p=0}))),j),R=()=>(r(h,e.delListener),h=void 0,j),V=async(...e)=>(((e,...t)=>{e.push(...t)})(v(S,g),...e),await(async()=>{if(!v(A,g)){for(w(A,g,1);!s((e=v(S,g),u=e.shift()));)try{await u()}catch(e){i?.(e)}w(A,g,0)}var e})(),j),j={load:x,startAutoLoad:async e=>(await z().load(e),d=n((async(e,t)=>{t||e?2!=p&&(p=1,b++,E(t??e),p=0):await x()})),j),stopAutoLoad:z,isAutoLoading:()=>!s(d),save:P,startAutoSave:async()=>(await R().save(),h=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&P(e)})),j),stopAutoSave:R,isAutoSaving:()=>!s(h),schedule:V,getStore:()=>e,destroy:()=>z().stopAutoSave(),getStats:()=>({loads:b,saves:C}),...c};return y(j)})(e,(async()=>{const e=await z();return f(e[0][0])&&f(e[1][0])?void 0:e}),(async(t,n)=>{u++,n?a(null,null,3,n):a(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await P.startAutoLoad(e)).startAutoSave(),stopSync:()=>P.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),P.stopSync()),getSynchronizerStats:()=>({sends:u,receives:L}),...c});return P})(e,((e,t,a,o)=>{setTimeout((()=>{return s(e)?(r=(e,s)=>e!=n?s(n,t,a,o):0,((e,t)=>e?.forEach(t))(E,((e,t)=>r(t,e)))):v(E,e)?.(n,t,a,o);var r}),0)}),(e=>{w(E,n,e)}),(()=>{p(E,n)}),.01,a)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,o=n.floor,s=e=>null==e,r=(e,t,a)=>s(e)?a?.():t(e),i=(e,t)=>e.map(t),c=Object,l=e=>c.getPrototypeOf(e),g=c.entries,u=c.keys,y=c.freeze,d=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),f=e=>(e=>!s(e)&&r(l(e),(e=>e==c.prototype||s(l(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),v=e=>new Map(e),b=(e,t)=>e?.get(t),w=(e,t,a)=>s(a)?(p(e,t),e):e?.set(t,a),M=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)||w(e,t,a()),b(e,t)};new a.TextEncoder;const A=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",C=(e="")=>A(((e=[])=>c.fromEntries(e))(),e),T=v(),m=v(),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");v(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>o(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t},E=v();e.createLocalSynchronizer=(e,a,n,o)=>{const i=D();return((e,a,n,o,i,c,l,g,u={})=>{let L,H=0,E=0;const x=v(),z=(e,t,n,o)=>{H++,c?.(e,t,n,o),a(e,t,n,o)},P=async(e,a,n="")=>new t(((t,o)=>{const s=D(),r=setTimeout((()=>{p(x,s),o(`No response from ${e??"anyone"} to ${s}, `+a)}),1e3*i);w(x,s,[e,(e,a)=>{clearTimeout(r),p(x,s),t([e,a])}]),z(e,s,a,n)})),R=(e,[t,a])=>{d(t,(([t,a],n)=>{const o=h(e[0],n,C);d(t,(([e,t],a)=>{const n=h(o[0],a,C);d(e,(([e,t],a)=>n[0][a]=A(e,t))),n[1]=S(n[1],t)})),o[1]=S(o[1],a)})),e[1]=S(e[1],a)},V=async(t=null,a)=>{s(a)&&([a,t]=await P(t,1));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let c=C();if(r!=n){const[a,n]=(await P(t,4,e.getMergeableTableHashes()))[0];if(c=a,!f(n)){const[a,o]=(await P(t,5,e.getMergeableRowHashes(n)))[0];if(R(c,a),!f(o)){const a=(await P(t,6,e.getMergeableCellHashes(o)))[0];R(c,a)}}}return[c,i==o?C():(await P(t,7,e.getMergeableValueHashes()))[0],1]},j=((e,t,a,n,o,i,c,l={},g=[])=>{let u,d,h,p=0,v=0,A=0;M(T,g,(()=>0)),M(m,g,(()=>[]));const[S,C,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x=async e=>(2!=p&&(p=1,v++,await V((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),j),z=()=>(d&&(o(d),d=void 0),j),P=async e=>(1!=p&&(p=2,A++,await V((async()=>{try{await a(C,e)}catch(e){i?.(e)}p=0}))),j),R=()=>(r(h,e.delListener),h=void 0,j),V=async(...e)=>(((e,...t)=>{e.push(...t)})(b(m,g),...e),await(async()=>{if(!b(T,g)){for(w(T,g,1);!s((e=b(m,g),u=e.shift()));)try{await u()}catch(e){i?.(e)}w(T,g,0)}var e})(),j),j={load:x,startAutoLoad:async e=>{await z().load(e);try{d=n((async(e,t)=>{t||e?2!=p&&(p=1,v++,E(t??e),p=0):await x()}))}catch(e){i?.(e)}return j},stopAutoLoad:z,isAutoLoading:()=>!s(d),save:P,startAutoSave:async()=>(await R().save(),h=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&P(e)})),j),stopAutoSave:R,isAutoSaving:()=>!s(h),schedule:V,getStore:()=>e,destroy:()=>(b(m,g).splice(0,void 0),z().stopAutoSave()),getStats:()=>({loads:v,saves:A}),...l};return y(j)})(e,(async()=>{const e=await V();return f(e[0][0])&&f(e[1][0])?void 0:e}),(async(t,a)=>a?z(null,null,3,a):z(null,null,2,e.getMergeableContentHashes())),(e=>L=e),(()=>L=void 0),g,2,{startSync:async e=>await(await j.startAutoLoad(e)).startAutoSave(),stopSync:()=>j.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),j.stopSync()),getSynchronizerStats:()=>({sends:H,receives:E}),...u});return n(((t,a,n,o)=>{E++,l?.(t,a,n,o),0==n?r(b(x,a),(([e,a])=>s(e)||e==t?a(o,t):0)):2==n&&j.isAutoLoading()?V(t,o).then((e=>{L?.(void 0,e)})):3==n&&j.isAutoLoading()?L?.(void 0,o):r(1==n&&j.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(o):5==n?e.getMergeableRowDiff(o):6==n?e.getMergeableCellDiff(o):7==n?e.getMergeableValueDiff(o):void 0,(e=>{z(t,a,0,e)}))})),j})(e,((e,t,a,n)=>{setTimeout((()=>{return s(e)?(o=(e,o)=>e!=i?o(i,t,a,n):0,((e,t)=>e?.forEach(t))(E,((e,t)=>o(t,e)))):b(E,e)?.(i,t,a,n);var o}),0)}),(e=>{w(E,i,e)}),(()=>{p(E,i)}),.01,a,n,o)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,o=n.floor,s=e=>null==e,r=(e,t,a)=>s(e)?a?.():t(e),i=(e,t)=>e.map(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,u=l.keys,y=l.freeze,d=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),f=e=>(e=>!s(e)&&r(c(e),(e=>e==l.prototype||s(c(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),b=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>s(a)?(p(e,t),e):e?.set(t,a),M=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)||w(e,t,a()),v(e,t)},A=b(),S=b();new a.TextEncoder;const C=(e,t)=>t?[e,t]:[e],T=(e,t)=>((e??"")>(t??"")?e:t)??"",m=(e="")=>C(((e=[])=>l.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");b(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>o(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t},E=b();e.createLocalSynchronizer=(e,a)=>{const n=D();return((e,a,n,o,i,l,c={})=>{let g,u=0,L=0;const H=b();n(((t,n,o,i)=>{L++,0==o?r(v(H,n),(([e,a])=>s(e)||e==t?a(i,t):0)):2==o&&P.isAutoLoading()?z(t,i).then((e=>{g?.(void 0,e)})):3==o&&P.isAutoLoading()?g?.(void 0,i):r(1==o&&P.isAutoSaving()?e.getMergeableContentHashes():4==o?e.getMergeableTableDiff(i):5==o?e.getMergeableRowDiff(i):6==o?e.getMergeableCellDiff(i):7==o?e.getMergeableValueDiff(i):void 0,(e=>{u++,a(t,n,0,e)}))}));const E=async(e,n,o="")=>new t(((t,s)=>{const r=D(),l=setTimeout((()=>{p(H,r),s(`No response from ${e??"anyone"} to '${n}'`)}),1e3*i);w(H,r,[e,(e,a)=>{clearTimeout(l),p(H,r),t([e,a])}]),u++,a(e,r,n,o)})),x=(e,[t,a])=>{d(t,(([t,a],n)=>{const o=h(e[0],n,m);d(t,(([e,t],a)=>{const n=h(o[0],a,m);d(e,(([e,t],a)=>n[0][a]=C(e,t))),n[1]=T(n[1],t)})),o[1]=T(o[1],a)})),e[1]=T(e[1],a)},z=async(t=null,a)=>{s(a)&&([a,t]=await E(t,1));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=m();if(r!=n){const[a,n]=(await E(t,4,e.getMergeableTableHashes()))[0];if(l=a,!f(n)){const[a,o]=(await E(t,5,e.getMergeableRowHashes(n)))[0];if(x(l,a),!f(o)){const a=(await E(t,6,e.getMergeableCellHashes(o)))[0];x(l,a)}}}return[l,i==o?m():(await E(t,7,e.getMergeableValueHashes()))[0],1]},P=((e,t,a,n,o,i,l,c={},g=[])=>{let u,d,h,p=0,b=0,C=0;M(A,g,(()=>0)),M(S,g,(()=>[]));const[T,m,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),E=t=>{var a;(T&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x=async e=>(2!=p&&(p=1,b++,await V((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),j),z=()=>(d&&(o(d),d=void 0),j),P=async e=>(1!=p&&(p=2,C++,await V((async()=>{try{await a(m,e)}catch(e){i?.(e)}p=0}))),j),R=()=>(r(h,e.delListener),h=void 0,j),V=async(...e)=>(((e,...t)=>{e.push(...t)})(v(S,g),...e),await(async()=>{if(!v(A,g)){for(w(A,g,1);!s((e=v(S,g),u=e.shift()));)try{await u()}catch(e){i?.(e)}w(A,g,0)}var e})(),j),j={load:x,startAutoLoad:async e=>(await z().load(e),d=n((async(e,t)=>{t||e?2!=p&&(p=1,b++,E(t??e),p=0):await x()})),j),stopAutoLoad:z,isAutoLoading:()=>!s(d),save:P,startAutoSave:async()=>(await R().save(),h=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&P(e)})),j),stopAutoSave:R,isAutoSaving:()=>!s(h),schedule:V,getStore:()=>e,destroy:()=>z().stopAutoSave(),getStats:()=>({loads:b,saves:C}),...c};return y(j)})(e,(async()=>{const e=await z();return f(e[0][0])&&f(e[1][0])?void 0:e}),(async(t,n)=>{u++,n?a(null,null,3,n):a(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await P.startAutoLoad(e)).startAutoSave(),stopSync:()=>P.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),P.stopSync()),getSynchronizerStats:()=>({sends:u,receives:L}),...c});return P})(e,((e,t,a,o)=>{setTimeout((()=>{return s(e)?(r=(e,s)=>e!=n?s(n,t,a,o):0,((e,t)=>e?.forEach(t))(E,((e,t)=>r(t,e)))):v(E,e)?.(n,t,a,o);var r}),0)}),(e=>{w(E,n,e)}),(()=>{p(E,n)}),.01,a)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=globalThis,n=Math,o=n.floor,s=e=>null==e,r=(e,t,a)=>s(e)?a?.():t(e),i=(e,t)=>e.map(t),c=Object,l=e=>c.getPrototypeOf(e),g=c.entries,u=c.keys,y=c.freeze,d=(e,t)=>((e,t)=>e.forEach(t))(g(e),(([e,a])=>t(a,e))),f=e=>(e=>!s(e)&&r(l(e),(e=>e==c.prototype||s(l(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),v=e=>new Map(e),b=(e,t)=>e?.get(t),w=(e,t,a)=>s(a)?(p(e,t),e):e?.set(t,a),M=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)||w(e,t,a()),b(e,t)};new a.TextEncoder;const A=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",C=(e="")=>A(((e=[])=>c.fromEntries(e))(),e),T=v(),m=v(),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");v(i(L,((e,t)=>[e,t])));const H=a.crypto?e=>a.crypto.getRandomValues(e):e=>i(e,(()=>o(256*n.random()))),D=(e=16)=>{return t=(e,t)=>e+L[63&t],H(new Uint8Array(e)).reduce(t,"");var t},E=v();e.createLocalSynchronizer=(e,a,n,o)=>{const i=D();return((e,a,n,o,i,c,l,g,u={})=>{let L,H=0,E=0;const x=v(),z=(e,t,n,o)=>{H++,c?.(e,t,n,o),a(e,t,n,o)},P=async(e,a,n="")=>new t(((t,o)=>{const s=D(),r=setTimeout((()=>{p(x,s),o(`No response from ${e??"anyone"} to ${s}, `+a)}),1e3*i);w(x,s,[e,(e,a)=>{clearTimeout(r),p(x,s),t([e,a])}]),z(e,s,a,n)})),R=(e,[t,a])=>{d(t,(([t,a],n)=>{const o=h(e[0],n,C);d(t,(([e,t],a)=>{const n=h(o[0],a,C);d(e,(([e,t],a)=>n[0][a]=A(e,t))),n[1]=S(n[1],t)})),o[1]=S(o[1],a)})),e[1]=S(e[1],a)},V=async(t=null,a)=>{s(a)&&([a,t]=await P(t,1));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let c=C();if(r!=n){const[a,n]=(await P(t,4,e.getMergeableTableHashes()))[0];if(c=a,!f(n)){const[a,o]=(await P(t,5,e.getMergeableRowHashes(n)))[0];if(R(c,a),!f(o)){const a=(await P(t,6,e.getMergeableCellHashes(o)))[0];R(c,a)}}}return[c,i==o?C():(await P(t,7,e.getMergeableValueHashes()))[0],1]},j=((e,t,a,n,o,i,c,l={},g=[])=>{let u,d,h,p=0,v=0,A=0;M(T,g,(()=>0)),M(m,g,(()=>[]));const[S,C,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x=async e=>(2!=p&&(p=1,v++,await V((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}p=0}))),j),z=()=>(d&&(o(d),d=void 0),j),P=async e=>(1!=p&&(p=2,A++,await V((async()=>{try{await a(C,e)}catch(e){i?.(e)}p=0}))),j),R=()=>(r(h,e.delListener),h=void 0,j),V=async(...e)=>(((e,...t)=>{e.push(...t)})(b(m,g),...e),await(async()=>{if(!b(T,g)){for(w(T,g,1);!s((e=b(m,g),u=e.shift()));)try{await u()}catch(e){i?.(e)}w(T,g,0)}var e})(),j),j={load:x,startAutoLoad:async e=>{await z().load(e);try{d=n((async(e,t)=>{t||e?2!=p&&(p=1,v++,E(t??e),p=0):await x()}))}catch(e){i?.(e)}return j},stopAutoLoad:z,isAutoLoading:()=>!s(d),save:P,startAutoSave:async()=>(await R().save(),h=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&P(e)})),j),stopAutoSave:R,isAutoSaving:()=>!s(h),schedule:V,getStore:()=>e,destroy:()=>(b(m,g).splice(0,void 0),z().stopAutoSave()),getStats:()=>({loads:v,saves:A}),...l};return y(j)})(e,(async()=>{const e=await V();return f(e[0][0])&&f(e[1][0])?void 0:e}),(async(t,a)=>a?z(null,null,3,a):z(null,null,2,e.getMergeableContentHashes())),(e=>L=e),(()=>L=void 0),g,2,{startSync:async e=>await(await j.startAutoLoad(e)).startAutoSave(),stopSync:()=>j.stopAutoLoad().stopAutoSave(),destroy:()=>(o(),j.stopSync()),getSynchronizerStats:()=>({sends:H,receives:E}),...u});return n(((t,a,n,o)=>{E++,l?.(t,a,n,o),0==n?r(b(x,a),(([e,a])=>s(e)||e==t?a(o,t):0)):2==n&&j.isAutoLoading()?V(t,o).then((e=>{L?.(void 0,e)})):3==n&&j.isAutoLoading()?L?.(void 0,o):r(1==n&&j.isAutoSaving()?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(o):5==n?e.getMergeableRowDiff(o):6==n?e.getMergeableCellDiff(o):7==n?e.getMergeableValueDiff(o):void 0,(e=>{z(t,a,0,e)}))})),j})(e,((e,t,a,n)=>{setTimeout((()=>{return s(e)?(o=(e,o)=>e!=i?o(i,t,a,n):0,((e,t)=>e?.forEach(t))(E,((e,t)=>o(t,e)))):b(E,e)?.(i,t,a,n);var o}),0)}),(e=>{w(E,i,e)}),(()=>{p(E,i)}),.01,a,n,o)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});