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
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(C(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[C,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,h,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",Ca="deleteEmptyColumns",ha="deleteEmptyTable",ma={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(L(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Oa="pragma_",Na="data_version",ba="schema_version",fa=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[C,h,T,O]=(a=>{const e=(a=>L(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(L(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Ta(s,{[va]:null,[ga]:k},va,(a=>m(w,a)),(a=>z(l,a))),Ta(i,{[pa]:null,[ga]:k,[Ca]:0,[ha]:0},pa,((a,t)=>m(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${ba} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${ba}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,T,A(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{fa as createPowerSyncPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),h=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(h(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=h(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[h,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>{await f().load(a);try{d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()}))}catch(a){i?.(a)}return D},stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>(j(sa,y).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,C,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(h(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",ha="deleteEmptyColumns",Ca="deleteEmptyTable",ma={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(L(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Oa="pragma_",Na="data_version",ba="schema_version",fa=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[h,C,T,O]=(a=>{const e=(a=>L(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(L(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Ta(s,{[va]:null,[ga]:k},va,(a=>m(w,a)),(a=>z(l,a))),Ta(i,{[pa]:null,[ga]:k,[ha]:0,[Ca]:0},pa,((a,t)=>m(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(h?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${ba} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${ba}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,T,A(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{fa as createPowerSyncPersister};
@@ -1 +1 @@
1
- const t=clearInterval,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),r=s.keys,o=s.freeze,i=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=t=>new Map(t),y=(t,e)=>t?.get(e),g=(t,a,s)=>{return e(s)?(n=t,r=a,n?.delete(r),t):t?.set(a,s);var n,r},l=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||g(t,e,a()),y(t,e)},h=c(),d=c(),p=JSON.parse,u=t=>t.headers.get("ETag"),v=(n,r,c,v=5,w)=>{let f;return((t,s,n,r,c,p,u,v={},w=[])=>{let f,C,A,S=0,b=0,M=0;l(h,w,(()=>0)),l(d,w,(()=>[]));const[T,L,O,E,m]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,t),D=e=>{var a;(T&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},P=async t=>(2!=S&&(S=1,b++,await J((async()=>{try{D(await s())}catch(e){p?.(e),t&&m(t)}S=0}))),N),j=()=>(C&&(c(C),C=void 0),N),x=async t=>(1!=S&&(S=2,M++,await J((async()=>{try{await n(L,t)}catch(t){p?.(t)}S=0}))),N),I=()=>(a(A,t.delListener),A=void 0,N),J=async(...t)=>(((t,...e)=>{t.push(...e)})(y(d,w),...t),await(async()=>{if(!y(h,w)){for(g(h,w,1);!e((t=y(d,w),f=t.shift()));)try{await f()}catch(t){p?.(t)}g(h,w,0)}var t})(),N),N={load:P,startAutoLoad:async t=>(await j().load(t),C=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,D(e??t),S=0):await P()})),N),stopAutoLoad:j,isAutoLoading:()=>!e(C),save:x,startAutoSave:async()=>(await I().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();E(t)&&x(t)})),N),stopAutoSave:I,isAutoSaving:()=>!e(A),schedule:J,getStore:()=>t,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:b,saves:M}),...v};return o(N)})(n,(async()=>{const t=await fetch(r);return f=u(t),p(await t.text())}),(async t=>{return await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?s.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),s=u(a);e(f)||e(s)||s==f||(f=s,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,c]})};export{v as createRemotePersister};
1
+ const t=clearInterval,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),r=s.keys,o=s.freeze,i=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=JSON.parse,y=t=>new Map(t),l=(t,e)=>t?.get(e),g=(t,a,s)=>{return e(s)?(n=t,r=a,n?.delete(r),t):t?.set(a,s);var n,r},h=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||g(t,e,a()),l(t,e)},d=y(),p=y(),u=t=>t.headers.get("ETag"),v=(n,r,y,v=5,w)=>{let f;return((t,s,n,r,c,y,u,v={},w=[])=>{let f,C,A,S=0,b=0,M=0;h(d,w,(()=>0)),h(p,w,(()=>[]));const[T,L,O,E,m]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,t),D=e=>{var a;(T&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},P=async t=>(2!=S&&(S=1,b++,await J((async()=>{try{D(await s())}catch(e){y?.(e),t&&m(t)}S=0}))),N),j=()=>(C&&(c(C),C=void 0),N),x=async t=>(1!=S&&(S=2,M++,await J((async()=>{try{await n(L,t)}catch(t){y?.(t)}S=0}))),N),I=()=>(a(A,t.delListener),A=void 0,N),J=async(...t)=>(((t,...e)=>{t.push(...e)})(l(p,w),...t),await(async()=>{if(!l(d,w)){for(g(d,w,1);!e((t=l(p,w),f=t.shift()));)try{await f()}catch(t){y?.(t)}g(d,w,0)}var t})(),N),N={load:P,startAutoLoad:async t=>{await j().load(t);try{C=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,D(e??t),S=0):await P()}))}catch(t){y?.(t)}return N},stopAutoLoad:j,isAutoLoading:()=>!e(C),save:x,startAutoSave:async()=>(await I().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();E(t)&&x(t)})),N),stopAutoSave:I,isAutoSaving:()=>!e(A),schedule:J,getStore:()=>t,destroy:()=>(l(p,w).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:b,saves:M}),...v};return o(N)})(n,(async()=>{const t=await fetch(r);return f=u(t),c(await t.text())}),(async t=>{return await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?s.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),s=u(a);e(f)||e(s)||s==f||(f=s,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,y]})};export{v as createRemotePersister};
@@ -1 +1 @@
1
- const t=clearInterval,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),r=s.keys,o=s.freeze,i=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=t=>new Map(t),y=(t,e)=>t?.get(e),g=(t,a,s)=>{return e(s)?(n=t,r=a,n?.delete(r),t):t?.set(a,s);var n,r},l=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||g(t,e,a()),y(t,e)},h=c(),d=c(),p=JSON.parse,u=t=>t.headers.get("ETag"),v=(n,r,c,v=5,w)=>{let f;return((t,s,n,r,c,p,u,v={},w=[])=>{let f,C,A,S=0,b=0,M=0;l(h,w,(()=>0)),l(d,w,(()=>[]));const[T,L,O,E,m]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,t),D=e=>{var a;(T&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},P=async t=>(2!=S&&(S=1,b++,await J((async()=>{try{D(await s())}catch(e){p?.(e),t&&m(t)}S=0}))),N),j=()=>(C&&(c(C),C=void 0),N),x=async t=>(1!=S&&(S=2,M++,await J((async()=>{try{await n(L,t)}catch(t){p?.(t)}S=0}))),N),I=()=>(a(A,t.delListener),A=void 0,N),J=async(...t)=>(((t,...e)=>{t.push(...e)})(y(d,w),...t),await(async()=>{if(!y(h,w)){for(g(h,w,1);!e((t=y(d,w),f=t.shift()));)try{await f()}catch(t){p?.(t)}g(h,w,0)}var t})(),N),N={load:P,startAutoLoad:async t=>(await j().load(t),C=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,D(e??t),S=0):await P()})),N),stopAutoLoad:j,isAutoLoading:()=>!e(C),save:x,startAutoSave:async()=>(await I().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();E(t)&&x(t)})),N),stopAutoSave:I,isAutoSaving:()=>!e(A),schedule:J,getStore:()=>t,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:b,saves:M}),...v};return o(N)})(n,(async()=>{const t=await fetch(r);return f=u(t),p(await t.text())}),(async t=>{return await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?s.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),s=u(a);e(f)||e(s)||s==f||(f=s,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,c]})};export{v as createRemotePersister};
1
+ const t=clearInterval,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),r=s.keys,o=s.freeze,i=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=JSON.parse,y=t=>new Map(t),l=(t,e)=>t?.get(e),g=(t,a,s)=>{return e(s)?(n=t,r=a,n?.delete(r),t):t?.set(a,s);var n,r},h=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||g(t,e,a()),l(t,e)},d=y(),p=y(),u=t=>t.headers.get("ETag"),v=(n,r,y,v=5,w)=>{let f;return((t,s,n,r,c,y,u,v={},w=[])=>{let f,C,A,S=0,b=0,M=0;h(d,w,(()=>0)),h(p,w,(()=>[]));const[T,L,O,E,m]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,t),D=e=>{var a;(T&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},P=async t=>(2!=S&&(S=1,b++,await J((async()=>{try{D(await s())}catch(e){y?.(e),t&&m(t)}S=0}))),N),j=()=>(C&&(c(C),C=void 0),N),x=async t=>(1!=S&&(S=2,M++,await J((async()=>{try{await n(L,t)}catch(t){y?.(t)}S=0}))),N),I=()=>(a(A,t.delListener),A=void 0,N),J=async(...t)=>(((t,...e)=>{t.push(...e)})(l(p,w),...t),await(async()=>{if(!l(d,w)){for(g(d,w,1);!e((t=l(p,w),f=t.shift()));)try{await f()}catch(t){y?.(t)}g(d,w,0)}var t})(),N),N={load:P,startAutoLoad:async t=>{await j().load(t);try{C=r((async(t,e)=>{e||t?2!=S&&(S=1,b++,D(e??t),S=0):await P()}))}catch(t){y?.(t)}return N},stopAutoLoad:j,isAutoLoading:()=>!e(C),save:x,startAutoSave:async()=>(await I().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();E(t)&&x(t)})),N),stopAutoSave:I,isAutoSaving:()=>!e(A),schedule:J,getStore:()=>t,destroy:()=>(l(p,w).splice(0,void 0),j().stopAutoSave()),getStats:()=>({loads:b,saves:M}),...v};return o(N)})(n,(async()=>{const t=await fetch(r);return f=u(t),c(await t.text())}),(async t=>{return await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?s.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),s=u(a);e(f)||e(s)||s==f||(f=s,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,y]})};export{v as createRemotePersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,h,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[pa]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[pa]:Y,[ma]:0,[ha]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await p(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(h(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await p([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await p(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=h(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{m(n,t,...v(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+E(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+E(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>E(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,p,E=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[h,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=E&&(E=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}E=0}))),D),S=()=>(l(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>{await b().load(a);try{d=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,N(t??a),E=0):await R()}))}catch(a){i?.(a)}return D},stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),p=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(p),schedule:I,getStore:()=>a,destroy:()=>(j(sa,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,p,E,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await p(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await E(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,E,v)=>{const[g,m,C,A]=aa(t,u,s,v),O=async(a,t)=>await p(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(h(await p(k(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await m(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,pa="autoLoadIntervalSeconds",Ea="rowId"+ca,va="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ca={mode:ya,[pa]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",p)=>{let E,v,g;const[h,m,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[pa];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[Ea]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[Ea]:Y,[ha]:0,[ma]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(h?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(E??=t)&&e==(v??=e)&&s==(g??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=g=null,i(t)}),c,l,O,A(T),w,d,p)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,h,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[pa]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[pa]:Y,[ma]:0,[ha]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await p(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(h(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await p([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await p(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=h(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{m(n,t,...v(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+E(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+E(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>E(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,p,E=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[h,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=E&&(E=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}E=0}))),D),S=()=>(l(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>{await b().load(a);try{d=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,N(t??a),E=0):await R()}))}catch(a){i?.(a)}return D},stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),p=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(p),schedule:I,getStore:()=>a,destroy:()=>(j(sa,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,p,E,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await p(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await E(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,E,v)=>{const[g,m,C,A]=aa(t,u,s,v),O=async(a,t)=>await p(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(h(await p(k(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await m(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,pa="autoLoadIntervalSeconds",Ea="rowId"+ca,va="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ca={mode:ya,[pa]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",p)=>{let E,v,g;const[h,m,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[pa];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[Ea]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[Ea]:Y,[ha]:0,[ma]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(h?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(E??=t)&&e==(v??=e)&&s==(g??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=g=null,i(t)}),c,l,O,A(T),w,d,p)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))h(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[m,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()})),D),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,h,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Na="schema_version",Ra="change",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[m,C,O,T]=(a=>{const e=(a=>b(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[pa]:null,[va]:x},pa,(a=>h(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:x,[ma]:0,[Ca]:0},ga,((a,t)=>h(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Na} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(Ra,t),t}),(a=>e.off(Ra,a)),s,i,3,e);export{La as createSqlite3Persister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(C(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(h(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))C(r,t)&&await a(q+G(t)+Z+" 1");else{const e=h(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[h,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>{await R().load(a);try{d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()}))}catch(a){i?.(a)}return D},stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>(j(sa,y).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,C,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(h(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Na="schema_version",Ra="change",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[h,m,O,T]=(a=>{const e=(a=>b(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[pa]:null,[va]:x},pa,(a=>C(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:x,[ha]:0,[ma]:0},ga,((a,t)=>C(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(h?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Na} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(Ra,t),t}),(a=>e.off(Ra,a)),s,i,3,e);export{La as createSqlite3Persister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))h(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[m,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()})),D),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,h,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Na="schema_version",Ra="change",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[m,C,O,T]=(a=>{const e=(a=>b(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[pa]:null,[va]:x},pa,(a=>h(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:x,[ma]:0,[Ca]:0},ga,((a,t)=>h(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Na} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(Ra,t),t}),(a=>e.off(Ra,a)),s,i,3,e);export{La as createSqlite3Persister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(C(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(h(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))C(r,t)&&await a(q+G(t)+Z+" 1");else{const e=h(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[h,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(h&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>{await R().load(a);try{d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()}))}catch(a){i?.(a)}return D},stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>(j(sa,y).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,C,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(h(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Na="schema_version",Ra="change",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[h,m,O,T]=(a=>{const e=(a=>b(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[pa]:null,[va]:x},pa,(a=>C(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:x,[ha]:0,[ma]:0},ga,((a,t)=>C(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(h?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Na} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(Ra,t),t}),(a=>e.off(Ra,a)),s,i,3,e);export{La as createSqlite3Persister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e="t",a="v",s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,y=(t=[])=>i.fromEntries(t),u=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},C=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||b(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let i;return p(n,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{u(n,e)||(r.delete(e),i=1)})),s(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const u=c.getMap(g);return((t,e,a,o,i,c,g,l={},y=[])=>{let u,p,v,f=0,S=0,O=0;C(A,y,(()=>0)),C(M,y,(()=>[]));const[J,N,D,E,L]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,t),m=e=>{var a;(J&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},z=async t=>(2!=f&&(f=1,S++,await P((async()=>{try{m(await e())}catch(e){c?.(e),t&&L(t)}f=0}))),x),T=()=>(p&&(i(p),p=void 0),x),j=async t=>(1!=f&&(f=2,O++,await P((async()=>{try{await a(N,t)}catch(t){c?.(t)}f=0}))),x),k=()=>(n(v,t.delListener),v=void 0,x),P=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,y),...t),await(async()=>{if(!w(A,y)){for(b(A,y,1);!s(u=r(w(M,y)));)try{await u()}catch(t){c?.(t)}b(A,y,0)}})(),x),x={load:z,startAutoLoad:async t=>(await T().load(t),p=o((async(t,e)=>{e||t?2!=f&&(f=1,S++,m(e??t),f=0):await z()})),x),stopAutoLoad:T,isAutoLoading:()=>!s(p),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=D();E(t)&&j(t)})),x),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:P,getStore:()=>t,destroy:()=>T().stopAutoSave(),getStats:()=>({loads:S,saves:O}),...l};return d(x)})(i,(async()=>u.size?[u.get(e).toJSON(),u.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(n(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>p(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>p(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:s(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(u,o,r)))),(t=>{const s=s=>t(void 0,((t,s)=>{if(1==o(s)&&(i=s[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=v(l,e,y),o=c.get(e);n(r(t),(t=>{const e=v(s,t,y),n=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:n.get(t)))}),(()=>S(a,((t,{action:e})=>s[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==O?null:g.get(t)))))})(s),[l,d,1]})(u,s));return u.observeDeep(s),s}),(t=>{u.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
1
+ import{Map as t}from"yjs";const e="t",a="v",s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,y=(t=[])=>i.fromEntries(t),u=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},C=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||b(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let i;return p(n,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{u(n,e)||(r.delete(e),i=1)})),s(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const u=c.getMap(g);return((t,e,a,o,i,c,g,l={},y=[])=>{let u,p,v,f=0,S=0,O=0;C(A,y,(()=>0)),C(M,y,(()=>[]));const[J,N,D,E,L]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,t),m=e=>{var a;(J&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},z=async t=>(2!=f&&(f=1,S++,await P((async()=>{try{m(await e())}catch(e){c?.(e),t&&L(t)}f=0}))),x),T=()=>(p&&(i(p),p=void 0),x),j=async t=>(1!=f&&(f=2,O++,await P((async()=>{try{await a(N,t)}catch(t){c?.(t)}f=0}))),x),k=()=>(n(v,t.delListener),v=void 0,x),P=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,y),...t),await(async()=>{if(!w(A,y)){for(b(A,y,1);!s(u=r(w(M,y)));)try{await u()}catch(t){c?.(t)}b(A,y,0)}})(),x),x={load:z,startAutoLoad:async t=>{await T().load(t);try{p=o((async(t,e)=>{e||t?2!=f&&(f=1,S++,m(e??t),f=0):await z()}))}catch(t){c?.(t)}return x},stopAutoLoad:T,isAutoLoading:()=>!s(p),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=D();E(t)&&j(t)})),x),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:P,getStore:()=>t,destroy:()=>(w(M,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:S,saves:O}),...l};return d(x)})(i,(async()=>u.size?[u.get(e).toJSON(),u.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(n(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>p(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>p(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:s(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(u,o,r)))),(t=>{const s=s=>t(void 0,((t,s)=>{if(1==o(s)&&(i=s[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=v(l,e,y),o=c.get(e);n(r(t),(t=>{const e=v(s,t,y),n=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:n.get(t)))}),(()=>S(a,((t,{action:e})=>s[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==O?null:g.get(t)))))})(s),[l,d,1]})(u,s));return u.observeDeep(s),s}),(t=>{u.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e="t",a="v",s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,y=(t=[])=>i.fromEntries(t),u=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},C=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||b(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let i;return p(n,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{u(n,e)||(r.delete(e),i=1)})),s(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const u=c.getMap(g);return((t,e,a,o,i,c,g,l={},y=[])=>{let u,p,v,f=0,S=0,O=0;C(A,y,(()=>0)),C(M,y,(()=>[]));const[J,N,D,E,L]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,t),m=e=>{var a;(J&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},z=async t=>(2!=f&&(f=1,S++,await P((async()=>{try{m(await e())}catch(e){c?.(e),t&&L(t)}f=0}))),x),T=()=>(p&&(i(p),p=void 0),x),j=async t=>(1!=f&&(f=2,O++,await P((async()=>{try{await a(N,t)}catch(t){c?.(t)}f=0}))),x),k=()=>(n(v,t.delListener),v=void 0,x),P=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,y),...t),await(async()=>{if(!w(A,y)){for(b(A,y,1);!s(u=r(w(M,y)));)try{await u()}catch(t){c?.(t)}b(A,y,0)}})(),x),x={load:z,startAutoLoad:async t=>(await T().load(t),p=o((async(t,e)=>{e||t?2!=f&&(f=1,S++,m(e??t),f=0):await z()})),x),stopAutoLoad:T,isAutoLoading:()=>!s(p),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=D();E(t)&&j(t)})),x),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:P,getStore:()=>t,destroy:()=>T().stopAutoSave(),getStats:()=>({loads:S,saves:O}),...l};return d(x)})(i,(async()=>u.size?[u.get(e).toJSON(),u.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(n(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>p(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>p(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:s(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(u,o,r)))),(t=>{const s=s=>t(void 0,((t,s)=>{if(1==o(s)&&(i=s[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=v(l,e,y),o=c.get(e);n(r(t),(t=>{const e=v(s,t,y),n=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:n.get(t)))}),(()=>S(a,((t,{action:e})=>s[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==O?null:g.get(t)))))})(s),[l,d,1]})(u,s));return u.observeDeep(s),s}),(t=>{u.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
1
+ import{Map as t}from"yjs";const e="t",a="v",s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,y=(t=[])=>i.fromEntries(t),u=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},C=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||b(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let i;return p(n,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{u(n,e)||(r.delete(e),i=1)})),s(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const u=c.getMap(g);return((t,e,a,o,i,c,g,l={},y=[])=>{let u,p,v,f=0,S=0,O=0;C(A,y,(()=>0)),C(M,y,(()=>[]));const[J,N,D,E,L]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,t),m=e=>{var a;(J&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},z=async t=>(2!=f&&(f=1,S++,await P((async()=>{try{m(await e())}catch(e){c?.(e),t&&L(t)}f=0}))),x),T=()=>(p&&(i(p),p=void 0),x),j=async t=>(1!=f&&(f=2,O++,await P((async()=>{try{await a(N,t)}catch(t){c?.(t)}f=0}))),x),k=()=>(n(v,t.delListener),v=void 0,x),P=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,y),...t),await(async()=>{if(!w(A,y)){for(b(A,y,1);!s(u=r(w(M,y)));)try{await u()}catch(t){c?.(t)}b(A,y,0)}})(),x),x={load:z,startAutoLoad:async t=>{await T().load(t);try{p=o((async(t,e)=>{e||t?2!=f&&(f=1,S++,m(e??t),f=0):await z()}))}catch(t){c?.(t)}return x},stopAutoLoad:T,isAutoLoading:()=>!s(p),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=D();E(t)&&j(t)})),x),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:P,getStore:()=>t,destroy:()=>(w(M,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:S,saves:O}),...l};return d(x)})(i,(async()=>u.size?[u.get(e).toJSON(),u.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(n(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>p(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>p(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:s(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(u,o,r)))),(t=>{const s=s=>t(void 0,((t,s)=>{if(1==o(s)&&(i=s[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=v(l,e,y),o=c.get(e);n(r(t),(t=>{const e=v(s,t,y),n=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:n.get(t)))}),(()=>S(a,((t,{action:e})=>s[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==O?null:g.get(t)))))})(s),[l,d,1]})(u,s));return u.observeDeep(s),s}),(t=>{u.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),r=a.keys,n=a.freeze,o=n=>(r=>!t(r)&&e(s(r),(e=>e==a.prototype||t(s(e))),(()=>!0)))(n)&&0==(t=>r(t).length)(n),i=t=>new Map(t),y=(t,e)=>t?.get(e),c=(e,a,s)=>{return t(s)?(r=e,n=a,r?.delete(n),e):e?.set(a,s);var r,n},g=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||c(t,e,a()),y(t,e)},l={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},d=i(),p=i(),h=(a,s,r,i,l,h,u,v={},w=[])=>{let S,C,b,A=0,M=0,f=0;g(d,w,(()=>0)),g(p,w,(()=>[]));const[L,O,T,D,P]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!o(t)||!o(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!o(t)||!o(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,a),j=t=>{var e;(L&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},k=async t=>(2!=A&&(A=1,M++,await F((async()=>{try{j(await s())}catch(e){h?.(e),t&&P(t)}A=0}))),m),x=()=>(C&&(l(C),C=void 0),m),z=async t=>(1!=A&&(A=2,f++,await F((async()=>{try{await r(O,t)}catch(t){h?.(t)}A=0}))),m),E=()=>(e(b,a.delListener),b=void 0,m),F=async(...e)=>(((t,...e)=>{t.push(...e)})(y(p,w),...e),await(async()=>{if(!y(d,w)){for(c(d,w,1);!t((e=y(p,w),S=e.shift()));)try{await S()}catch(t){h?.(t)}c(d,w,0)}var e})(),m),m={load:k,startAutoLoad:async t=>(await x().load(t),C=i((async(t,e)=>{e||t?2!=A&&(A=1,M++,j(e??t),A=0):await k()})),m),stopAutoLoad:x,isAutoLoading:()=>!t(C),save:z,startAutoSave:async()=>(await E().save(),b=a.addDidFinishTransactionListener((()=>{const t=T();D(t)&&z(t)})),m),stopAutoSave:E,isAutoSaving:()=>!t(b),schedule:F,getStore:()=>a,destroy:()=>x().stopAutoSave(),getStats:()=>({loads:M,saves:f}),...v};return n(m)};export{l as Persists,h as createCustomPersister};
1
+ const t=t=>null==t,e=(e,a,r)=>t(e)?r?.():a(e),a=Object,r=t=>a.getPrototypeOf(t),s=a.keys,n=a.freeze,o=n=>(s=>!t(s)&&e(r(s),(e=>e==a.prototype||t(r(e))),(()=>!0)))(n)&&0==(t=>s(t).length)(n),i=t=>new Map(t),c=(t,e)=>t?.get(e),y=(e,a,r)=>{return t(r)?(s=e,n=a,s?.delete(n),e):e?.set(a,r);var s,n},l=(t,e,a,r)=>{var s,n;return s=t,n=e,s?.has(n)||y(t,e,a()),c(t,e)},g={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},d=i(),p=i(),h=(a,r,s,i,g,h,u,v={},w=[])=>{let S,C,b,A=0,M=0,f=0;l(d,w,(()=>0)),l(p,w,(()=>[]));const[L,O,T,D,P]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!o(t)||!o(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!o(t)||!o(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,a),j=t=>{var e;(L&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},k=async t=>(2!=A&&(A=1,M++,await F((async()=>{try{j(await r())}catch(e){h?.(e),t&&P(t)}A=0}))),m),x=()=>(C&&(g(C),C=void 0),m),z=async t=>(1!=A&&(A=2,f++,await F((async()=>{try{await s(O,t)}catch(t){h?.(t)}A=0}))),m),E=()=>(e(b,a.delListener),b=void 0,m),F=async(...e)=>(((t,...e)=>{t.push(...e)})(c(p,w),...e),await(async()=>{if(!c(d,w)){for(y(d,w,1);!t((e=c(p,w),S=e.shift()));)try{await S()}catch(t){h?.(t)}y(d,w,0)}var e})(),m),m={load:k,startAutoLoad:async t=>{await x().load(t);try{C=i((async(t,e)=>{e||t?2!=A&&(A=1,M++,j(e??t),A=0):await k()}))}catch(t){h?.(t)}return m},stopAutoLoad:x,isAutoLoading:()=>!t(C),save:z,startAutoSave:async()=>(await E().save(),b=a.addDidFinishTransactionListener((()=>{const t=T();D(t)&&z(t)})),m),stopAutoSave:E,isAutoSaving:()=>!t(b),schedule:F,getStore:()=>a,destroy:()=>(c(p,w).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:M,saves:f}),...v};return n(m)};export{g as Persists,h as createCustomPersister};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),f=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),h=(e,t)=>e?.delete(t),p=e=>new Map(e),w=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(h(e,t),e):e?.set(t,a),v=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||b(e,t,a()),w(e,t)},C=p(),M=p();new t.TextEncoder;const A=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",D=(e="")=>A(((e=[])=>i.fromEntries(e))(),e),T="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");p(r(T,((e,t)=>[e,t])));const H=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),L={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},m=(t,a,s,r,i,l,c={})=>{let g,L=0,m=0;const G=p();s(((e,s,r,i)=>{m++,0==r?o(w(G,s),(([t,a])=>n(t)||t==e?a(i,e):0)):2==r&&P.isAutoLoading()?V(e,i).then((e=>{g?.(void 0,e)})):3==r&&P.isAutoLoading()?g?.(void 0,i):o(1==r&&P.isAutoSaving()?t.getMergeableContentHashes():4==r?t.getMergeableTableDiff(i):5==r?t.getMergeableRowDiff(i):6==r?t.getMergeableCellDiff(i):7==r?t.getMergeableValueDiff(i):void 0,(t=>{L++,a(e,s,0,t)}))}));const R=async(t,s,n="")=>new e(((e,o)=>{const r=((e=16)=>{return t=(e,t)=>e+T[63&t],H(new Uint8Array(e)).reduce(t,"");var t})(),l=setTimeout((()=>{h(G,r),o(`No response from ${t??"anyone"} to '${s}'`)}),1e3*i);b(G,r,[t,(t,a)=>{clearTimeout(l),h(G,r),e([t,a])}]),L++,a(t,r,s,n)})),E=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=f(e[0],s,D);y(t,(([e,t],a)=>{const s=f(n[0],a,D);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)},V=async(e=null,a)=>{n(a)&&([a,e]=await R(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=D();if(r!=s){const[a,s]=(await R(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await R(e,5,t.getMergeableRowHashes(s)))[0];if(E(l,a),!d(n)){const a=(await R(e,6,t.getMergeableCellHashes(n)))[0];E(l,a)}}}return[l,i==o?D():(await R(e,7,t.getMergeableValueHashes()))[0],1]},P=((e,t,a,s,r,i,l,c={},g=[])=>{let y,f,h,p=0,A=0,S=0;v(C,g,(()=>0)),v(M,g,(()=>[]));const[D,T,H,L,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),G=t=>{var a;(D&&(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,A++,await x((async()=>{try{G(await t())}catch(t){i?.(t),e&&m(e)}p=0}))),z),E=()=>(f&&(r(f),f=void 0),z),V=async e=>(1!=p&&(p=2,S++,await x((async()=>{try{await a(T,e)}catch(e){i?.(e)}p=0}))),z),P=()=>(o(h,e.delListener),h=void 0,z),x=async(...e)=>(((e,...t)=>{e.push(...t)})(w(M,g),...e),await(async()=>{if(!w(C,g)){for(b(C,g,1);!n((e=w(M,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(C,g,0)}var e})(),z),z={load:R,startAutoLoad:async e=>(await E().load(e),f=s((async(e,t)=>{t||e?2!=p&&(p=1,A++,G(t??e),p=0):await R()})),z),stopAutoLoad:E,isAutoLoading:()=>!n(f),save:V,startAutoSave:async()=>(await P().save(),h=e.addDidFinishTransactionListener((()=>{const e=H();L(e)&&V(e)})),z),stopAutoSave:P,isAutoSaving:()=>!n(h),schedule:x,getStore:()=>e,destroy:()=>E().stopAutoSave(),getStats:()=>({loads:A,saves:S}),...c};return u(z)})(t,(async()=>{const e=await V();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,s)=>{L++,s?a(null,null,3,s):a(null,null,2,t.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await P.startAutoLoad(e)).startAutoSave(),stopSync:()=>P.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),P.stopSync()),getSynchronizerStats:()=>({sends:L,receives:m}),...c});return P};export{L as Message,m as createCustomSynchronizer};
1
+ const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),f=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),h=(e,t)=>e?.delete(t),p=e=>new Map(e),w=(e,t)=>e?.get(t),v=(e,t,a)=>n(a)?(h(e,t),e):e?.set(t,a),b=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||v(e,t,a()),w(e,t)};new t.TextEncoder;const C=(e,t)=>t?[e,t]:[e],M=(e,t)=>((e??"")>(t??"")?e:t)??"",A=(e="")=>C(((e=[])=>i.fromEntries(e))(),e),S=p(),D=p(),T="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");p(r(T,((e,t)=>[e,t])));const H=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),L={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},m=(t,a,s,r,i,l,c,g,L={})=>{let m,G=0,R=0;const E=p(),V=(e,t,s,n)=>{G++,l?.(e,t,s,n),a(e,t,s,n)},P=async(t,a,s="")=>new e(((e,n)=>{const o=((e=16)=>{return t=(e,t)=>e+T[63&t],H(new Uint8Array(e)).reduce(t,"");var t})(),r=setTimeout((()=>{h(E,o),n(`No response from ${t??"anyone"} to ${o}, `+a)}),1e3*i);v(E,o,[t,(t,a)=>{clearTimeout(r),h(E,o),e([t,a])}]),V(t,o,a,s)})),x=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=f(e[0],s,A);y(t,(([e,t],a)=>{const s=f(n[0],a,A);y(e,(([e,t],a)=>s[0][a]=C(e,t))),s[1]=M(s[1],t)})),n[1]=M(n[1],a)})),e[1]=M(e[1],a)},z=async(e=null,a)=>{n(a)&&([a,e]=await P(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=A();if(r!=s){const[a,s]=(await P(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await P(e,5,t.getMergeableRowHashes(s)))[0];if(x(l,a),!d(n)){const a=(await P(e,6,t.getMergeableCellHashes(n)))[0];x(l,a)}}}return[l,i==o?A():(await P(e,7,t.getMergeableValueHashes()))[0],1]},O=((e,t,a,s,r,i,l,c={},g=[])=>{let y,f,h,p=0,C=0,M=0;b(S,g,(()=>0)),b(D,g,(()=>[]));const[A,T,H,L,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),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,C++,await x((async()=>{try{G(await t())}catch(t){i?.(t),e&&m(e)}p=0}))),z),E=()=>(f&&(r(f),f=void 0),z),V=async e=>(1!=p&&(p=2,M++,await x((async()=>{try{await a(T,e)}catch(e){i?.(e)}p=0}))),z),P=()=>(o(h,e.delListener),h=void 0,z),x=async(...e)=>(((e,...t)=>{e.push(...t)})(w(D,g),...e),await(async()=>{if(!w(S,g)){for(v(S,g,1);!n((e=w(D,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}v(S,g,0)}var e})(),z),z={load:R,startAutoLoad:async e=>{await E().load(e);try{f=s((async(e,t)=>{t||e?2!=p&&(p=1,C++,G(t??e),p=0):await R()}))}catch(e){i?.(e)}return z},stopAutoLoad:E,isAutoLoading:()=>!n(f),save:V,startAutoSave:async()=>(await P().save(),h=e.addDidFinishTransactionListener((()=>{const e=H();L(e)&&V(e)})),z),stopAutoSave:P,isAutoSaving:()=>!n(h),schedule:x,getStore:()=>e,destroy:()=>(w(D,g).splice(0,void 0),E().stopAutoSave()),getStats:()=>({loads:C,saves:M}),...c};return u(z)})(t,(async()=>{const e=await z();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,a)=>a?V(null,null,3,a):V(null,null,2,t.getMergeableContentHashes())),(e=>m=e),(()=>m=void 0),g,2,{startSync:async e=>await(await O.startAutoLoad(e)).startAutoSave(),stopSync:()=>O.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),O.stopSync()),getSynchronizerStats:()=>({sends:G,receives:R}),...L});return s(((e,a,s,r)=>{R++,c?.(e,a,s,r),0==s?o(w(E,a),(([t,a])=>n(t)||t==e?a(r,e):0)):2==s&&O.isAutoLoading()?z(e,r).then((e=>{m?.(void 0,e)})):3==s&&O.isAutoLoading()?m?.(void 0,r):o(1==s&&O.isAutoSaving()?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,(t=>{V(e,a,0,t)}))})),O};export{L as Message,m as createCustomSynchronizer};
Binary file
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),w=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),f=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||b(e,t,a()),v(e,t)},M=w(),A=w();new t.TextEncoder;const C=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",m=(e="")=>C(((e=[])=>i.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(L,((e,t)=>[e,t])));const T=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+L[63&t],T(new Uint8Array(e)).reduce(t,"");var t},D=(t,a,s)=>{const r=H(),i=new BroadcastChannel(a);return((t,a,s,r,i,l,c={})=>{let g,L=0,T=0;const D=w();s(((e,s,r,i)=>{T++,0==r?o(v(D,s),(([t,a])=>n(t)||t==e?a(i,e):0)):2==r&&V.isAutoLoading()?R(e,i).then((e=>{g?.(void 0,e)})):3==r&&V.isAutoLoading()?g?.(void 0,i):o(1==r&&V.isAutoSaving()?t.getMergeableContentHashes():4==r?t.getMergeableTableDiff(i):5==r?t.getMergeableRowDiff(i):6==r?t.getMergeableCellDiff(i):7==r?t.getMergeableValueDiff(i):void 0,(t=>{L++,a(e,s,0,t)}))}));const E=async(t,s,n="")=>new e(((e,o)=>{const r=H(),l=setTimeout((()=>{p(D,r),o(`No response from ${t??"anyone"} to '${s}'`)}),1e3*i);b(D,r,[t,(t,a)=>{clearTimeout(l),p(D,r),e([t,a])}]),L++,a(t,r,s,n)})),P=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,m);y(t,(([e,t],a)=>{const s=h(n[0],a,m);y(e,(([e,t],a)=>s[0][a]=C(e,t))),s[1]=S(s[1],t)})),n[1]=S(n[1],a)})),e[1]=S(e[1],a)},R=async(e=null,a)=>{n(a)&&([a,e]=await E(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=m();if(r!=s){const[a,s]=(await E(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await E(e,5,t.getMergeableRowHashes(s)))[0];if(P(l,a),!d(n)){const a=(await E(e,6,t.getMergeableCellHashes(n)))[0];P(l,a)}}}return[l,i==o?m():(await E(e,7,t.getMergeableValueHashes()))[0],1]},V=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,C=0,S=0;f(M,g,(()=>0)),f(A,g,(()=>[]));const[m,L,T,H,D]=((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),E=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)},P=async e=>(2!=w&&(w=1,C++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),N),R=()=>(h&&(r(h),h=void 0),N),V=async e=>(1!=w&&(w=2,S++,await z((async()=>{try{await a(L,e)}catch(e){i?.(e)}w=0}))),N),x=()=>(o(p,e.delListener),p=void 0,N),z=async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(M,g)){for(b(M,g,1);!n((e=v(A,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(M,g,0)}var e})(),N),N={load:P,startAutoLoad:async e=>(await R().load(e),h=s((async(e,t)=>{t||e?2!=w&&(w=1,C++,E(t??e),w=0):await P()})),N),stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&V(e)})),N),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:C,saves:S}),...c};return u(N)})(t,(async()=>{const e=await R();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,s)=>{L++,s?a(null,null,3,s):a(null,null,2,t.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await V.startAutoLoad(e)).startAutoSave(),stopSync:()=>V.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),V.stopSync()),getSynchronizerStats:()=>({sends:L,receives:T}),...c});return V})(t,((e,t,a,s)=>i.postMessage([r,e,t,a,s])),(e=>{i.onmessage=({data:[t,a,s,o,i]})=>n(a)||a==r?e(t,s,o,i):0}),(()=>{i.close()}),.01,s,{getChannelName:()=>a})};export{D as createBroadcastChannelSynchronizer};
1
+ const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),w=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),f=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||b(e,t,a()),v(e,t)};new t.TextEncoder;const M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",C=(e="")=>M(((e=[])=>i.fromEntries(e))(),e),S=w(),m=w(),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(L,((e,t)=>[e,t])));const T=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+L[63&t],T(new Uint8Array(e)).reduce(t,"");var t},D=(t,a,s,r,i)=>{const l=H(),c=new BroadcastChannel(a);return((t,a,s,r,i,l,c,g,L={})=>{let T,D=0,E=0;const P=w(),R=(e,t,s,n)=>{D++,l?.(e,t,s,n),a(e,t,s,n)},V=async(t,a,s="")=>new e(((e,n)=>{const o=H(),r=setTimeout((()=>{p(P,o),n(`No response from ${t??"anyone"} to ${o}, `+a)}),1e3*i);b(P,o,[t,(t,a)=>{clearTimeout(r),p(P,o),e([t,a])}]),R(t,o,a,s)})),x=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,C);y(t,(([e,t],a)=>{const s=h(n[0],a,C);y(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)},z=async(e=null,a)=>{n(a)&&([a,e]=await V(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=C();if(r!=s){const[a,s]=(await V(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await V(e,5,t.getMergeableRowHashes(s)))[0];if(x(l,a),!d(n)){const a=(await V(e,6,t.getMergeableCellHashes(n)))[0];x(l,a)}}}return[l,i==o?C():(await V(e,7,t.getMergeableValueHashes()))[0],1]},N=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,M=0,A=0;f(S,g,(()=>0)),f(m,g,(()=>[]));const[C,L,T,H,D]=((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),E=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=w&&(w=1,M++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),N),R=()=>(h&&(r(h),h=void 0),N),V=async e=>(1!=w&&(w=2,A++,await z((async()=>{try{await a(L,e)}catch(e){i?.(e)}w=0}))),N),x=()=>(o(p,e.delListener),p=void 0,N),z=async(...e)=>(((e,...t)=>{e.push(...t)})(v(m,g),...e),await(async()=>{if(!v(S,g)){for(b(S,g,1);!n((e=v(m,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(S,g,0)}var e})(),N),N={load:P,startAutoLoad:async e=>{await R().load(e);try{h=s((async(e,t)=>{t||e?2!=w&&(w=1,M++,E(t??e),w=0):await P()}))}catch(e){i?.(e)}return N},stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&V(e)})),N),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>(v(m,g).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:M,saves:A}),...c};return u(N)})(t,(async()=>{const e=await z();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,a)=>a?R(null,null,3,a):R(null,null,2,t.getMergeableContentHashes())),(e=>T=e),(()=>T=void 0),g,2,{startSync:async e=>await(await N.startAutoLoad(e)).startAutoSave(),stopSync:()=>N.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),N.stopSync()),getSynchronizerStats:()=>({sends:D,receives:E}),...L});return s(((e,a,s,r)=>{E++,c?.(e,a,s,r),0==s?o(v(P,a),(([t,a])=>n(t)||t==e?a(r,e):0)):2==s&&N.isAutoLoading()?z(e,r).then((e=>{T?.(void 0,e)})):3==s&&N.isAutoLoading()?T?.(void 0,r):o(1==s&&N.isAutoSaving()?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,(t=>{R(e,a,0,t)}))})),N})(t,((e,t,a,s)=>c.postMessage([l,e,t,a,s])),(e=>{c.onmessage=({data:[t,a,s,o,r]})=>n(a)||a==l?e(t,s,o,r):0}),(()=>{c.close()}),.01,s,r,i,{getChannelName:()=>a})};export{D as createBroadcastChannelSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),w=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),f=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||b(e,t,a()),v(e,t)},M=w(),A=w();new t.TextEncoder;const C=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",m=(e="")=>C(((e=[])=>i.fromEntries(e))(),e),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(L,((e,t)=>[e,t])));const T=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+L[63&t],T(new Uint8Array(e)).reduce(t,"");var t},D=(t,a,s)=>{const r=H(),i=new BroadcastChannel(a);return((t,a,s,r,i,l,c={})=>{let g,L=0,T=0;const D=w();s(((e,s,r,i)=>{T++,0==r?o(v(D,s),(([t,a])=>n(t)||t==e?a(i,e):0)):2==r&&V.isAutoLoading()?R(e,i).then((e=>{g?.(void 0,e)})):3==r&&V.isAutoLoading()?g?.(void 0,i):o(1==r&&V.isAutoSaving()?t.getMergeableContentHashes():4==r?t.getMergeableTableDiff(i):5==r?t.getMergeableRowDiff(i):6==r?t.getMergeableCellDiff(i):7==r?t.getMergeableValueDiff(i):void 0,(t=>{L++,a(e,s,0,t)}))}));const E=async(t,s,n="")=>new e(((e,o)=>{const r=H(),l=setTimeout((()=>{p(D,r),o(`No response from ${t??"anyone"} to '${s}'`)}),1e3*i);b(D,r,[t,(t,a)=>{clearTimeout(l),p(D,r),e([t,a])}]),L++,a(t,r,s,n)})),P=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,m);y(t,(([e,t],a)=>{const s=h(n[0],a,m);y(e,(([e,t],a)=>s[0][a]=C(e,t))),s[1]=S(s[1],t)})),n[1]=S(n[1],a)})),e[1]=S(e[1],a)},R=async(e=null,a)=>{n(a)&&([a,e]=await E(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=m();if(r!=s){const[a,s]=(await E(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await E(e,5,t.getMergeableRowHashes(s)))[0];if(P(l,a),!d(n)){const a=(await E(e,6,t.getMergeableCellHashes(n)))[0];P(l,a)}}}return[l,i==o?m():(await E(e,7,t.getMergeableValueHashes()))[0],1]},V=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,C=0,S=0;f(M,g,(()=>0)),f(A,g,(()=>[]));const[m,L,T,H,D]=((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),E=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)},P=async e=>(2!=w&&(w=1,C++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),N),R=()=>(h&&(r(h),h=void 0),N),V=async e=>(1!=w&&(w=2,S++,await z((async()=>{try{await a(L,e)}catch(e){i?.(e)}w=0}))),N),x=()=>(o(p,e.delListener),p=void 0,N),z=async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(M,g)){for(b(M,g,1);!n((e=v(A,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(M,g,0)}var e})(),N),N={load:P,startAutoLoad:async e=>(await R().load(e),h=s((async(e,t)=>{t||e?2!=w&&(w=1,C++,E(t??e),w=0):await P()})),N),stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&V(e)})),N),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:C,saves:S}),...c};return u(N)})(t,(async()=>{const e=await R();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,s)=>{L++,s?a(null,null,3,s):a(null,null,2,t.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await V.startAutoLoad(e)).startAutoSave(),stopSync:()=>V.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),V.stopSync()),getSynchronizerStats:()=>({sends:L,receives:T}),...c});return V})(t,((e,t,a,s)=>i.postMessage([r,e,t,a,s])),(e=>{i.onmessage=({data:[t,a,s,o,i]})=>n(a)||a==r?e(t,s,o,i):0}),(()=>{i.close()}),.01,s,{getChannelName:()=>a})};export{D as createBroadcastChannelSynchronizer};
1
+ const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),w=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),f=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||b(e,t,a()),v(e,t)};new t.TextEncoder;const M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",C=(e="")=>M(((e=[])=>i.fromEntries(e))(),e),S=w(),m=w(),L="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(L,((e,t)=>[e,t])));const T=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+L[63&t],T(new Uint8Array(e)).reduce(t,"");var t},D=(t,a,s,r,i)=>{const l=H(),c=new BroadcastChannel(a);return((t,a,s,r,i,l,c,g,L={})=>{let T,D=0,E=0;const P=w(),R=(e,t,s,n)=>{D++,l?.(e,t,s,n),a(e,t,s,n)},V=async(t,a,s="")=>new e(((e,n)=>{const o=H(),r=setTimeout((()=>{p(P,o),n(`No response from ${t??"anyone"} to ${o}, `+a)}),1e3*i);b(P,o,[t,(t,a)=>{clearTimeout(r),p(P,o),e([t,a])}]),R(t,o,a,s)})),x=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,C);y(t,(([e,t],a)=>{const s=h(n[0],a,C);y(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)},z=async(e=null,a)=>{n(a)&&([a,e]=await V(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=C();if(r!=s){const[a,s]=(await V(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await V(e,5,t.getMergeableRowHashes(s)))[0];if(x(l,a),!d(n)){const a=(await V(e,6,t.getMergeableCellHashes(n)))[0];x(l,a)}}}return[l,i==o?C():(await V(e,7,t.getMergeableValueHashes()))[0],1]},N=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,M=0,A=0;f(S,g,(()=>0)),f(m,g,(()=>[]));const[C,L,T,H,D]=((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),E=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=w&&(w=1,M++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),N),R=()=>(h&&(r(h),h=void 0),N),V=async e=>(1!=w&&(w=2,A++,await z((async()=>{try{await a(L,e)}catch(e){i?.(e)}w=0}))),N),x=()=>(o(p,e.delListener),p=void 0,N),z=async(...e)=>(((e,...t)=>{e.push(...t)})(v(m,g),...e),await(async()=>{if(!v(S,g)){for(b(S,g,1);!n((e=v(m,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(S,g,0)}var e})(),N),N={load:P,startAutoLoad:async e=>{await R().load(e);try{h=s((async(e,t)=>{t||e?2!=w&&(w=1,M++,E(t??e),w=0):await P()}))}catch(e){i?.(e)}return N},stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&V(e)})),N),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>(v(m,g).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:M,saves:A}),...c};return u(N)})(t,(async()=>{const e=await z();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,a)=>a?R(null,null,3,a):R(null,null,2,t.getMergeableContentHashes())),(e=>T=e),(()=>T=void 0),g,2,{startSync:async e=>await(await N.startAutoLoad(e)).startAutoSave(),stopSync:()=>N.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),N.stopSync()),getSynchronizerStats:()=>({sends:D,receives:E}),...L});return s(((e,a,s,r)=>{E++,c?.(e,a,s,r),0==s?o(v(P,a),(([t,a])=>n(t)||t==e?a(r,e):0)):2==s&&N.isAutoLoading()?z(e,r).then((e=>{T?.(void 0,e)})):3==s&&N.isAutoLoading()?T?.(void 0,r):o(1==s&&N.isAutoSaving()?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,(t=>{R(e,a,0,t)}))})),N})(t,((e,t,a,s)=>c.postMessage([l,e,t,a,s])),(e=>{c.onmessage=({data:[t,a,s,o,r]})=>n(a)||a==l?e(t,s,o,r):0}),(()=>{c.close()}),.01,s,r,i,{getChannelName:()=>a})};export{D as createBroadcastChannelSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),w=e=>new Map(e),v=(e,t)=>e?.get(t),f=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),b=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||f(e,t,a()),v(e,t)},M=w(),A=w();new t.TextEncoder;const C=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>C(((e=[])=>i.fromEntries(e))(),e),m="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(m,((e,t)=>[e,t])));const L=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+m[63&t],L(new Uint8Array(e)).reduce(t,"");var t},D=w(),E=(t,a)=>{const s=H();return((t,a,s,r,i,l,c={})=>{let g,m=0,L=0;const D=w();s(((e,s,r,i)=>{L++,0==r?o(v(D,s),(([t,a])=>n(t)||t==e?a(i,e):0)):2==r&&V.isAutoLoading()?R(e,i).then((e=>{g?.(void 0,e)})):3==r&&V.isAutoLoading()?g?.(void 0,i):o(1==r&&V.isAutoSaving()?t.getMergeableContentHashes():4==r?t.getMergeableTableDiff(i):5==r?t.getMergeableRowDiff(i):6==r?t.getMergeableCellDiff(i):7==r?t.getMergeableValueDiff(i):void 0,(t=>{m++,a(e,s,0,t)}))}));const E=async(t,s,n="")=>new e(((e,o)=>{const r=H(),l=setTimeout((()=>{p(D,r),o(`No response from ${t??"anyone"} to '${s}'`)}),1e3*i);f(D,r,[t,(t,a)=>{clearTimeout(l),p(D,r),e([t,a])}]),m++,a(t,r,s,n)})),P=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,T);y(t,(([e,t],a)=>{const s=h(n[0],a,T);y(e,(([e,t],a)=>s[0][a]=C(e,t))),s[1]=S(s[1],t)})),n[1]=S(n[1],a)})),e[1]=S(e[1],a)},R=async(e=null,a)=>{n(a)&&([a,e]=await E(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=T();if(r!=s){const[a,s]=(await E(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await E(e,5,t.getMergeableRowHashes(s)))[0];if(P(l,a),!d(n)){const a=(await E(e,6,t.getMergeableCellHashes(n)))[0];P(l,a)}}}return[l,i==o?T():(await E(e,7,t.getMergeableValueHashes()))[0],1]},V=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,C=0,S=0;b(M,g,(()=>0)),b(A,g,(()=>[]));const[T,m,L,H,D]=((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),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)},P=async e=>(2!=w&&(w=1,C++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),O),R=()=>(h&&(r(h),h=void 0),O),V=async e=>(1!=w&&(w=2,S++,await z((async()=>{try{await a(m,e)}catch(e){i?.(e)}w=0}))),O),x=()=>(o(p,e.delListener),p=void 0,O),z=async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(M,g)){for(f(M,g,1);!n((e=v(A,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}f(M,g,0)}var e})(),O),O={load:P,startAutoLoad:async e=>(await R().load(e),h=s((async(e,t)=>{t||e?2!=w&&(w=1,C++,E(t??e),w=0):await P()})),O),stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&V(e)})),O),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:C,saves:S}),...c};return u(O)})(t,(async()=>{const e=await R();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,s)=>{m++,s?a(null,null,3,s):a(null,null,2,t.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await V.startAutoLoad(e)).startAutoSave(),stopSync:()=>V.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),V.stopSync()),getSynchronizerStats:()=>({sends:m,receives:L}),...c});return V})(t,((e,t,a,o)=>{setTimeout((()=>{return n(e)?(r=(e,n)=>e!=s?n(s,t,a,o):0,((e,t)=>e?.forEach(t))(D,((e,t)=>r(t,e)))):v(D,e)?.(s,t,a,o);var r}),0)}),(e=>{f(D,s,e)}),(()=>{p(D,s)}),.01,a)};export{E as createLocalSynchronizer};
1
+ const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),v=e=>new Map(e),w=(e,t)=>e?.get(t),f=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),b=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||f(e,t,a()),w(e,t)};new t.TextEncoder;const M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",C=(e="")=>M(((e=[])=>i.fromEntries(e))(),e),S=v(),T=v(),m="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");v(r(m,((e,t)=>[e,t])));const L=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+m[63&t],L(new Uint8Array(e)).reduce(t,"");var t},D=v(),E=(t,a,s,r)=>{const i=H();return((t,a,s,r,i,l,c,g,m={})=>{let L,D=0,E=0;const P=v(),R=(e,t,s,n)=>{D++,l?.(e,t,s,n),a(e,t,s,n)},V=async(t,a,s="")=>new e(((e,n)=>{const o=H(),r=setTimeout((()=>{p(P,o),n(`No response from ${t??"anyone"} to ${o}, `+a)}),1e3*i);f(P,o,[t,(t,a)=>{clearTimeout(r),p(P,o),e([t,a])}]),R(t,o,a,s)})),x=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,C);y(t,(([e,t],a)=>{const s=h(n[0],a,C);y(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)},z=async(e=null,a)=>{n(a)&&([a,e]=await V(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=C();if(r!=s){const[a,s]=(await V(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await V(e,5,t.getMergeableRowHashes(s)))[0];if(x(l,a),!d(n)){const a=(await V(e,6,t.getMergeableCellHashes(n)))[0];x(l,a)}}}return[l,i==o?C():(await V(e,7,t.getMergeableValueHashes()))[0],1]},O=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,v=0,M=0,A=0;b(S,g,(()=>0)),b(T,g,(()=>[]));const[C,m,L,H,D]=((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),E=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=v&&(v=1,M++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),O),R=()=>(h&&(r(h),h=void 0),O),V=async e=>(1!=v&&(v=2,A++,await z((async()=>{try{await a(m,e)}catch(e){i?.(e)}v=0}))),O),x=()=>(o(p,e.delListener),p=void 0,O),z=async(...e)=>(((e,...t)=>{e.push(...t)})(w(T,g),...e),await(async()=>{if(!w(S,g)){for(f(S,g,1);!n((e=w(T,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}f(S,g,0)}var e})(),O),O={load:P,startAutoLoad:async e=>{await R().load(e);try{h=s((async(e,t)=>{t||e?2!=v&&(v=1,M++,E(t??e),v=0):await P()}))}catch(e){i?.(e)}return O},stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&V(e)})),O),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>(w(T,g).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:M,saves:A}),...c};return u(O)})(t,(async()=>{const e=await z();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,a)=>a?R(null,null,3,a):R(null,null,2,t.getMergeableContentHashes())),(e=>L=e),(()=>L=void 0),g,2,{startSync:async e=>await(await O.startAutoLoad(e)).startAutoSave(),stopSync:()=>O.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),O.stopSync()),getSynchronizerStats:()=>({sends:D,receives:E}),...m});return s(((e,a,s,r)=>{E++,c?.(e,a,s,r),0==s?o(w(P,a),(([t,a])=>n(t)||t==e?a(r,e):0)):2==s&&O.isAutoLoading()?z(e,r).then((e=>{L?.(void 0,e)})):3==s&&O.isAutoLoading()?L?.(void 0,r):o(1==s&&O.isAutoSaving()?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,(t=>{R(e,a,0,t)}))})),O})(t,((e,t,a,s)=>{setTimeout((()=>{return n(e)?(o=(e,n)=>e!=i?n(i,t,a,s):0,((e,t)=>e?.forEach(t))(D,((e,t)=>o(t,e)))):w(D,e)?.(i,t,a,s);var o}),0)}),(e=>{f(D,i,e)}),(()=>{p(D,i)}),.01,a,s,r)};export{E as createLocalSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),w=e=>new Map(e),v=(e,t)=>e?.get(t),f=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),b=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||f(e,t,a()),v(e,t)},M=w(),A=w();new t.TextEncoder;const C=(e,t)=>t?[e,t]:[e],S=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>C(((e=[])=>i.fromEntries(e))(),e),m="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(r(m,((e,t)=>[e,t])));const L=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+m[63&t],L(new Uint8Array(e)).reduce(t,"");var t},D=w(),E=(t,a)=>{const s=H();return((t,a,s,r,i,l,c={})=>{let g,m=0,L=0;const D=w();s(((e,s,r,i)=>{L++,0==r?o(v(D,s),(([t,a])=>n(t)||t==e?a(i,e):0)):2==r&&V.isAutoLoading()?R(e,i).then((e=>{g?.(void 0,e)})):3==r&&V.isAutoLoading()?g?.(void 0,i):o(1==r&&V.isAutoSaving()?t.getMergeableContentHashes():4==r?t.getMergeableTableDiff(i):5==r?t.getMergeableRowDiff(i):6==r?t.getMergeableCellDiff(i):7==r?t.getMergeableValueDiff(i):void 0,(t=>{m++,a(e,s,0,t)}))}));const E=async(t,s,n="")=>new e(((e,o)=>{const r=H(),l=setTimeout((()=>{p(D,r),o(`No response from ${t??"anyone"} to '${s}'`)}),1e3*i);f(D,r,[t,(t,a)=>{clearTimeout(l),p(D,r),e([t,a])}]),m++,a(t,r,s,n)})),P=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,T);y(t,(([e,t],a)=>{const s=h(n[0],a,T);y(e,(([e,t],a)=>s[0][a]=C(e,t))),s[1]=S(s[1],t)})),n[1]=S(n[1],a)})),e[1]=S(e[1],a)},R=async(e=null,a)=>{n(a)&&([a,e]=await E(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=T();if(r!=s){const[a,s]=(await E(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await E(e,5,t.getMergeableRowHashes(s)))[0];if(P(l,a),!d(n)){const a=(await E(e,6,t.getMergeableCellHashes(n)))[0];P(l,a)}}}return[l,i==o?T():(await E(e,7,t.getMergeableValueHashes()))[0],1]},V=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,w=0,C=0,S=0;b(M,g,(()=>0)),b(A,g,(()=>[]));const[T,m,L,H,D]=((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),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)},P=async e=>(2!=w&&(w=1,C++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}w=0}))),O),R=()=>(h&&(r(h),h=void 0),O),V=async e=>(1!=w&&(w=2,S++,await z((async()=>{try{await a(m,e)}catch(e){i?.(e)}w=0}))),O),x=()=>(o(p,e.delListener),p=void 0,O),z=async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(M,g)){for(f(M,g,1);!n((e=v(A,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}f(M,g,0)}var e})(),O),O={load:P,startAutoLoad:async e=>(await R().load(e),h=s((async(e,t)=>{t||e?2!=w&&(w=1,C++,E(t??e),w=0):await P()})),O),stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&V(e)})),O),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:C,saves:S}),...c};return u(O)})(t,(async()=>{const e=await R();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,s)=>{m++,s?a(null,null,3,s):a(null,null,2,t.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),l,2,{startSync:async e=>await(await V.startAutoLoad(e)).startAutoSave(),stopSync:()=>V.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),V.stopSync()),getSynchronizerStats:()=>({sends:m,receives:L}),...c});return V})(t,((e,t,a,o)=>{setTimeout((()=>{return n(e)?(r=(e,n)=>e!=s?n(s,t,a,o):0,((e,t)=>e?.forEach(t))(D,((e,t)=>r(t,e)))):v(D,e)?.(s,t,a,o);var r}),0)}),(e=>{f(D,s,e)}),(()=>{p(D,s)}),.01,a)};export{E as createLocalSynchronizer};
1
+ const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t)=>e.map(t),i=Object,l=e=>i.getPrototypeOf(e),c=i.entries,g=i.keys,u=i.freeze,y=(e,t)=>((e,t)=>e.forEach(t))(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(l(e),(e=>e==i.prototype||n(l(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),v=e=>new Map(e),w=(e,t)=>e?.get(t),f=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),b=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||f(e,t,a()),w(e,t)};new t.TextEncoder;const M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",C=(e="")=>M(((e=[])=>i.fromEntries(e))(),e),S=v(),T=v(),m="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");v(r(m,((e,t)=>[e,t])));const L=t.crypto?e=>t.crypto.getRandomValues(e):e=>r(e,(()=>s(256*a.random()))),H=(e=16)=>{return t=(e,t)=>e+m[63&t],L(new Uint8Array(e)).reduce(t,"");var t},D=v(),E=(t,a,s,r)=>{const i=H();return((t,a,s,r,i,l,c,g,m={})=>{let L,D=0,E=0;const P=v(),R=(e,t,s,n)=>{D++,l?.(e,t,s,n),a(e,t,s,n)},V=async(t,a,s="")=>new e(((e,n)=>{const o=H(),r=setTimeout((()=>{p(P,o),n(`No response from ${t??"anyone"} to ${o}, `+a)}),1e3*i);f(P,o,[t,(t,a)=>{clearTimeout(r),p(P,o),e([t,a])}]),R(t,o,a,s)})),x=(e,[t,a])=>{y(t,(([t,a],s)=>{const n=h(e[0],s,C);y(t,(([e,t],a)=>{const s=h(n[0],a,C);y(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)},z=async(e=null,a)=>{n(a)&&([a,e]=await V(e,1));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let l=C();if(r!=s){const[a,s]=(await V(e,4,t.getMergeableTableHashes()))[0];if(l=a,!d(s)){const[a,n]=(await V(e,5,t.getMergeableRowHashes(s)))[0];if(x(l,a),!d(n)){const a=(await V(e,6,t.getMergeableCellHashes(n)))[0];x(l,a)}}}return[l,i==o?C():(await V(e,7,t.getMergeableValueHashes()))[0],1]},O=((e,t,a,s,r,i,l,c={},g=[])=>{let y,h,p,v=0,M=0,A=0;b(S,g,(()=>0)),b(T,g,(()=>[]));const[C,m,L,H,D]=((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),E=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=v&&(v=1,M++,await z((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),O),R=()=>(h&&(r(h),h=void 0),O),V=async e=>(1!=v&&(v=2,A++,await z((async()=>{try{await a(m,e)}catch(e){i?.(e)}v=0}))),O),x=()=>(o(p,e.delListener),p=void 0,O),z=async(...e)=>(((e,...t)=>{e.push(...t)})(w(T,g),...e),await(async()=>{if(!w(S,g)){for(f(S,g,1);!n((e=w(T,g),y=e.shift()));)try{await y()}catch(e){i?.(e)}f(S,g,0)}var e})(),O),O={load:P,startAutoLoad:async e=>{await R().load(e);try{h=s((async(e,t)=>{t||e?2!=v&&(v=1,M++,E(t??e),v=0):await P()}))}catch(e){i?.(e)}return O},stopAutoLoad:R,isAutoLoading:()=>!n(h),save:V,startAutoSave:async()=>(await x().save(),p=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&V(e)})),O),stopAutoSave:x,isAutoSaving:()=>!n(p),schedule:z,getStore:()=>e,destroy:()=>(w(T,g).splice(0,void 0),R().stopAutoSave()),getStats:()=>({loads:M,saves:A}),...c};return u(O)})(t,(async()=>{const e=await z();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(e,a)=>a?R(null,null,3,a):R(null,null,2,t.getMergeableContentHashes())),(e=>L=e),(()=>L=void 0),g,2,{startSync:async e=>await(await O.startAutoLoad(e)).startAutoSave(),stopSync:()=>O.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),O.stopSync()),getSynchronizerStats:()=>({sends:D,receives:E}),...m});return s(((e,a,s,r)=>{E++,c?.(e,a,s,r),0==s?o(w(P,a),(([t,a])=>n(t)||t==e?a(r,e):0)):2==s&&O.isAutoLoading()?z(e,r).then((e=>{L?.(void 0,e)})):3==s&&O.isAutoLoading()?L?.(void 0,r):o(1==s&&O.isAutoSaving()?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,(t=>{R(e,a,0,t)}))})),O})(t,((e,t,a,s)=>{setTimeout((()=>{return n(e)?(o=(e,n)=>e!=i?n(i,t,a,s):0,((e,t)=>e?.forEach(t))(D,((e,t)=>o(t,e)))):w(D,e)?.(i,t,a,s);var o}),0)}),(e=>{f(D,i,e)}),(()=>{p(D,i)}),.01,a,s,r)};export{E as createLocalSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),d=l.entries,y=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)},A=w(),C=w();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>L(((e=[])=>l.fromEntries(e))(),e),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random()))),E=async(e,t,a=1,s)=>{const c=(e,a)=>t.addEventListener(e,a),l=((e,t,a,s,r,c,l={})=>{let g,d=0,y=0;const E=w();a(((a,s,r,i)=>{y++,0==r?o(b(E,s),(([e,t])=>n(e)||e==a?t(i,a):0)):2==r&&x.isAutoLoading()?P(a,i).then((e=>{g?.(void 0,e)})):3==r&&x.isAutoLoading()?g?.(void 0,i):o(1==r&&x.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{d++,t(a,s,0,e)}))}));const O=async(e,a,s="")=>i(((n,o)=>{const i=((e=16)=>{return t=(e,t)=>e+H[63&t],D(new Uint8Array(e)).reduce(t,"");var t})(),c=setTimeout((()=>{f(E,i),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*r);S(E,i,[e,(e,t)=>{clearTimeout(c),f(E,i),n([e,t])}]),d++,t(e,i,a,s)})),N=(e,[t,a])=>{h(t,(([t,a],s)=>{const n=v(e[0],s,T);h(t,(([e,t],a)=>{const s=v(n[0],a,T);h(e,(([e,t],a)=>s[0][a]=L(e,t))),s[1]=m(s[1],t)})),n[1]=m(n[1],a)})),e[1]=m(e[1],a)},P=async(t=null,a)=>{n(a)&&([a,t]=await O(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=T();if(r!=s){const[a,s]=(await O(t,4,e.getMergeableTableHashes()))[0];if(c=a,!p(s)){const[a,n]=(await O(t,5,e.getMergeableRowHashes(s)))[0];if(N(c,a),!p(n)){const a=(await O(t,6,e.getMergeableCellHashes(n)))[0];N(c,a)}}}return[c,i==o?T():(await O(t,7,e.getMergeableValueHashes()))[0],1]},x=((e,t,a,s,r,i,c,l={},g=[])=>{let d,y,h,v=0,f=0,w=0;M(A,g,(()=>0)),M(C,g,(()=>[]));const[L,m,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=t=>{var a;(L&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},O=async e=>(2!=v&&(v=1,f++,await R((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),V),N=()=>(y&&(r(y),y=void 0),V),P=async e=>(1!=v&&(v=2,w++,await R((async()=>{try{await a(m,e)}catch(e){i?.(e)}v=0}))),V),x=()=>(o(h,e.delListener),h=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(C,g),...e),await(async()=>{if(!b(A,g)){for(S(A,g,1);!n((e=b(C,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}S(A,g,0)}var e})(),V),V={load:O,startAutoLoad:async e=>(await N().load(e),y=s((async(e,t)=>{t||e?2!=v&&(v=1,f++,E(t??e),v=0):await O()})),V),stopAutoLoad:N,isAutoLoading:()=>!n(y),save:P,startAutoSave:async()=>(await x().save(),h=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&P(e)})),V),stopAutoSave:x,isAutoSaving:()=>!n(h),schedule:R,getStore:()=>e,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:w}),...l};return u(V)})(e,(async()=>{const e=await P();return p(e[0][0])&&p(e[1][0])?void 0:e}),(async(a,s)=>{d++,s?t(null,null,3,s):t(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),c,2,{startSync:async e=>await(await x.startAutoLoad(e)).startAutoSave(),stopSync:()=>x.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),x.stopSync()),getSynchronizerStats:()=>({sends:d,receives:y}),...l});return x})(e,((e,...a)=>t.send((e??"")+"\n"+JSON.stringify(a,((e,t)=>void 0===t?"":t)))),(e=>c("message",(({data:t})=>{const a=t.toString("utf8").indexOf("\n");var s;-1!==a&&e(r(t,0,a),...(s=r(t,a+1),JSON.parse(s,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),a,s,{getWebSocket:()=>t});return i(((e,a)=>{t.readyState!=t.OPEN?(c("error",a),c("open",(()=>e(l)))):e(l)}))};export{E as createWsSynchronizer};
1
+ const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),d=l.entries,y=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)};new t.TextEncoder;const A=(e,t)=>t?[e,t]:[e],C=(e,t)=>((e??"")>(t??"")?e:t)??"",L=(e="")=>A(((e=[])=>l.fromEntries(e))(),e),m=w(),T=w(),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random()))),E=async(e,t,a=1,s,c,l)=>{const g=(e,a)=>t.addEventListener(e,a),d=((e,t,a,s,r,c,l,g,d={})=>{let y,E=0,O=0;const N=w(),P=(e,a,s,n)=>{E++,c?.(e,a,s,n),t(e,a,s,n)},x=async(e,t,a="")=>i(((s,n)=>{const o=((e=16)=>{return t=(e,t)=>e+H[63&t],D(new Uint8Array(e)).reduce(t,"");var t})(),i=setTimeout((()=>{f(N,o),n(`No response from ${e??"anyone"} to ${o}, `+t)}),1e3*r);S(N,o,[e,(e,t)=>{clearTimeout(i),f(N,o),s([e,t])}]),P(e,o,t,a)})),R=(e,[t,a])=>{h(t,(([t,a],s)=>{const n=v(e[0],s,L);h(t,(([e,t],a)=>{const s=v(n[0],a,L);h(e,(([e,t],a)=>s[0][a]=A(e,t))),s[1]=C(s[1],t)})),n[1]=C(n[1],a)})),e[1]=C(e[1],a)},V=async(t=null,a)=>{n(a)&&([a,t]=await x(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=L();if(r!=s){const[a,s]=(await x(t,4,e.getMergeableTableHashes()))[0];if(c=a,!p(s)){const[a,n]=(await x(t,5,e.getMergeableRowHashes(s)))[0];if(R(c,a),!p(n)){const a=(await x(t,6,e.getMergeableCellHashes(n)))[0];R(c,a)}}}return[c,i==o?L():(await x(t,7,e.getMergeableValueHashes()))[0],1]},k=((e,t,a,s,r,i,c,l={},g=[])=>{let d,y,h,v=0,f=0,w=0;M(m,g,(()=>0)),M(T,g,(()=>[]));const[A,C,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=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)},O=async e=>(2!=v&&(v=1,f++,await R((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),V),N=()=>(y&&(r(y),y=void 0),V),P=async e=>(1!=v&&(v=2,w++,await R((async()=>{try{await a(C,e)}catch(e){i?.(e)}v=0}))),V),x=()=>(o(h,e.delListener),h=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(T,g),...e),await(async()=>{if(!b(m,g)){for(S(m,g,1);!n((e=b(T,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}S(m,g,0)}var e})(),V),V={load:O,startAutoLoad:async e=>{await N().load(e);try{y=s((async(e,t)=>{t||e?2!=v&&(v=1,f++,E(t??e),v=0):await O()}))}catch(e){i?.(e)}return V},stopAutoLoad:N,isAutoLoading:()=>!n(y),save:P,startAutoSave:async()=>(await x().save(),h=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&P(e)})),V),stopAutoSave:x,isAutoSaving:()=>!n(h),schedule:R,getStore:()=>e,destroy:()=>(b(T,g).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:f,saves:w}),...l};return u(V)})(e,(async()=>{const e=await V();return p(e[0][0])&&p(e[1][0])?void 0:e}),(async(t,a)=>a?P(null,null,3,a):P(null,null,2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>await(await k.startAutoLoad(e)).startAutoSave(),stopSync:()=>k.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),k.stopSync()),getSynchronizerStats:()=>({sends:E,receives:O}),...d});return a(((t,a,s,r)=>{O++,l?.(t,a,s,r),0==s?o(b(N,a),(([e,a])=>n(e)||e==t?a(r,t):0)):2==s&&k.isAutoLoading()?V(t,r).then((e=>{y?.(void 0,e)})):3==s&&k.isAutoLoading()?y?.(void 0,r):o(1==s&&k.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(r):5==s?e.getMergeableRowDiff(r):6==s?e.getMergeableCellDiff(r):7==s?e.getMergeableValueDiff(r):void 0,(e=>{P(t,a,0,e)}))})),k})(e,((e,...a)=>t.send(((e,...t)=>((e,t)=>e+"\n"+t)(e??"",JSON.stringify(t,((e,t)=>void 0===t?"":t))))(e,...a))),(e=>g("message",(({data:t})=>((e,t)=>((e,a)=>{const s=e.indexOf("\n");var n,o,i;-1!==s&&(n=r(e,0,s),o=r(e,s+1),t(n,...(i=o,JSON.parse(i,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{t.close()}),a,s,c,l,{getWebSocket:()=>t});return i(((e,a)=>{t.readyState!=t.OPEN?(g("error",a),g("open",(()=>e(d)))):e(d)}))};export{E as createWsSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),d=l.entries,y=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)},A=w(),C=w();new t.TextEncoder;const L=(e,t)=>t?[e,t]:[e],m=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>L(((e=[])=>l.fromEntries(e))(),e),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random()))),E=async(e,t,a=1,s)=>{const c=(e,a)=>t.addEventListener(e,a),l=((e,t,a,s,r,c,l={})=>{let g,d=0,y=0;const E=w();a(((a,s,r,i)=>{y++,0==r?o(b(E,s),(([e,t])=>n(e)||e==a?t(i,a):0)):2==r&&x.isAutoLoading()?P(a,i).then((e=>{g?.(void 0,e)})):3==r&&x.isAutoLoading()?g?.(void 0,i):o(1==r&&x.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{d++,t(a,s,0,e)}))}));const O=async(e,a,s="")=>i(((n,o)=>{const i=((e=16)=>{return t=(e,t)=>e+H[63&t],D(new Uint8Array(e)).reduce(t,"");var t})(),c=setTimeout((()=>{f(E,i),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*r);S(E,i,[e,(e,t)=>{clearTimeout(c),f(E,i),n([e,t])}]),d++,t(e,i,a,s)})),N=(e,[t,a])=>{h(t,(([t,a],s)=>{const n=v(e[0],s,T);h(t,(([e,t],a)=>{const s=v(n[0],a,T);h(e,(([e,t],a)=>s[0][a]=L(e,t))),s[1]=m(s[1],t)})),n[1]=m(n[1],a)})),e[1]=m(e[1],a)},P=async(t=null,a)=>{n(a)&&([a,t]=await O(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=T();if(r!=s){const[a,s]=(await O(t,4,e.getMergeableTableHashes()))[0];if(c=a,!p(s)){const[a,n]=(await O(t,5,e.getMergeableRowHashes(s)))[0];if(N(c,a),!p(n)){const a=(await O(t,6,e.getMergeableCellHashes(n)))[0];N(c,a)}}}return[c,i==o?T():(await O(t,7,e.getMergeableValueHashes()))[0],1]},x=((e,t,a,s,r,i,c,l={},g=[])=>{let d,y,h,v=0,f=0,w=0;M(A,g,(()=>0)),M(C,g,(()=>[]));const[L,m,T,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=t=>{var a;(L&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},O=async e=>(2!=v&&(v=1,f++,await R((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),V),N=()=>(y&&(r(y),y=void 0),V),P=async e=>(1!=v&&(v=2,w++,await R((async()=>{try{await a(m,e)}catch(e){i?.(e)}v=0}))),V),x=()=>(o(h,e.delListener),h=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(C,g),...e),await(async()=>{if(!b(A,g)){for(S(A,g,1);!n((e=b(C,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}S(A,g,0)}var e})(),V),V={load:O,startAutoLoad:async e=>(await N().load(e),y=s((async(e,t)=>{t||e?2!=v&&(v=1,f++,E(t??e),v=0):await O()})),V),stopAutoLoad:N,isAutoLoading:()=>!n(y),save:P,startAutoSave:async()=>(await x().save(),h=e.addDidFinishTransactionListener((()=>{const e=T();H(e)&&P(e)})),V),stopAutoSave:x,isAutoSaving:()=>!n(h),schedule:R,getStore:()=>e,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:w}),...l};return u(V)})(e,(async()=>{const e=await P();return p(e[0][0])&&p(e[1][0])?void 0:e}),(async(a,s)=>{d++,s?t(null,null,3,s):t(null,null,2,e.getMergeableContentHashes())}),(e=>g=e),(()=>g=void 0),c,2,{startSync:async e=>await(await x.startAutoLoad(e)).startAutoSave(),stopSync:()=>x.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),x.stopSync()),getSynchronizerStats:()=>({sends:d,receives:y}),...l});return x})(e,((e,...a)=>t.send((e??"")+"\n"+JSON.stringify(a,((e,t)=>void 0===t?"":t)))),(e=>c("message",(({data:t})=>{const a=t.toString("utf8").indexOf("\n");var s;-1!==a&&e(r(t,0,a),...(s=r(t,a+1),JSON.parse(s,((e,t)=>""===t?void 0:t))))}))),(()=>{t.close()}),a,s,{getWebSocket:()=>t});return i(((e,a)=>{t.readyState!=t.OPEN?(c("error",a),c("open",(()=>e(l)))):e(l)}))};export{E as createWsSynchronizer};
1
+ const e=Promise,t=globalThis,a=Math,s=a.floor,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=(e,t,a)=>e.slice(t,a),i=t=>new e(t),c=(e,t)=>e.map(t),l=Object,g=e=>l.getPrototypeOf(e),d=l.entries,y=l.keys,u=l.freeze,h=(e,t)=>((e,t)=>e.forEach(t))(d(e),(([e,a])=>t(a,e))),p=e=>(e=>!n(e)&&o(g(e),(e=>e==l.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),v=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),M=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||S(e,t,a()),b(e,t)};new t.TextEncoder;const A=(e,t)=>t?[e,t]:[e],C=(e,t)=>((e??"")>(t??"")?e:t)??"",L=(e="")=>A(((e=[])=>l.fromEntries(e))(),e),m=w(),T=w(),H="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");w(c(H,((e,t)=>[e,t])));const D=t.crypto?e=>t.crypto.getRandomValues(e):e=>c(e,(()=>s(256*a.random()))),E=async(e,t,a=1,s,c,l)=>{const g=(e,a)=>t.addEventListener(e,a),d=((e,t,a,s,r,c,l,g,d={})=>{let y,E=0,O=0;const N=w(),P=(e,a,s,n)=>{E++,c?.(e,a,s,n),t(e,a,s,n)},x=async(e,t,a="")=>i(((s,n)=>{const o=((e=16)=>{return t=(e,t)=>e+H[63&t],D(new Uint8Array(e)).reduce(t,"");var t})(),i=setTimeout((()=>{f(N,o),n(`No response from ${e??"anyone"} to ${o}, `+t)}),1e3*r);S(N,o,[e,(e,t)=>{clearTimeout(i),f(N,o),s([e,t])}]),P(e,o,t,a)})),R=(e,[t,a])=>{h(t,(([t,a],s)=>{const n=v(e[0],s,L);h(t,(([e,t],a)=>{const s=v(n[0],a,L);h(e,(([e,t],a)=>s[0][a]=A(e,t))),s[1]=C(s[1],t)})),n[1]=C(n[1],a)})),e[1]=C(e[1],a)},V=async(t=null,a)=>{n(a)&&([a,t]=await x(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=L();if(r!=s){const[a,s]=(await x(t,4,e.getMergeableTableHashes()))[0];if(c=a,!p(s)){const[a,n]=(await x(t,5,e.getMergeableRowHashes(s)))[0];if(R(c,a),!p(n)){const a=(await x(t,6,e.getMergeableCellHashes(n)))[0];R(c,a)}}}return[c,i==o?L():(await x(t,7,e.getMergeableValueHashes()))[0],1]},k=((e,t,a,s,r,i,c,l={},g=[])=>{let d,y,h,v=0,f=0,w=0;M(m,g,(()=>0)),M(T,g,(()=>[]));const[A,C,L,H,D]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),E=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)},O=async e=>(2!=v&&(v=1,f++,await R((async()=>{try{E(await t())}catch(t){i?.(t),e&&D(e)}v=0}))),V),N=()=>(y&&(r(y),y=void 0),V),P=async e=>(1!=v&&(v=2,w++,await R((async()=>{try{await a(C,e)}catch(e){i?.(e)}v=0}))),V),x=()=>(o(h,e.delListener),h=void 0,V),R=async(...e)=>(((e,...t)=>{e.push(...t)})(b(T,g),...e),await(async()=>{if(!b(m,g)){for(S(m,g,1);!n((e=b(T,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}S(m,g,0)}var e})(),V),V={load:O,startAutoLoad:async e=>{await N().load(e);try{y=s((async(e,t)=>{t||e?2!=v&&(v=1,f++,E(t??e),v=0):await O()}))}catch(e){i?.(e)}return V},stopAutoLoad:N,isAutoLoading:()=>!n(y),save:P,startAutoSave:async()=>(await x().save(),h=e.addDidFinishTransactionListener((()=>{const e=L();H(e)&&P(e)})),V),stopAutoSave:x,isAutoSaving:()=>!n(h),schedule:R,getStore:()=>e,destroy:()=>(b(T,g).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:f,saves:w}),...l};return u(V)})(e,(async()=>{const e=await V();return p(e[0][0])&&p(e[1][0])?void 0:e}),(async(t,a)=>a?P(null,null,3,a):P(null,null,2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),g,2,{startSync:async e=>await(await k.startAutoLoad(e)).startAutoSave(),stopSync:()=>k.stopAutoLoad().stopAutoSave(),destroy:()=>(s(),k.stopSync()),getSynchronizerStats:()=>({sends:E,receives:O}),...d});return a(((t,a,s,r)=>{O++,l?.(t,a,s,r),0==s?o(b(N,a),(([e,a])=>n(e)||e==t?a(r,t):0)):2==s&&k.isAutoLoading()?V(t,r).then((e=>{y?.(void 0,e)})):3==s&&k.isAutoLoading()?y?.(void 0,r):o(1==s&&k.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(r):5==s?e.getMergeableRowDiff(r):6==s?e.getMergeableCellDiff(r):7==s?e.getMergeableValueDiff(r):void 0,(e=>{P(t,a,0,e)}))})),k})(e,((e,...a)=>t.send(((e,...t)=>((e,t)=>e+"\n"+t)(e??"",JSON.stringify(t,((e,t)=>void 0===t?"":t))))(e,...a))),(e=>g("message",(({data:t})=>((e,t)=>((e,a)=>{const s=e.indexOf("\n");var n,o,i;-1!==s&&(n=r(e,0,s),o=r(e,s+1),t(n,...(i=o,JSON.parse(i,((e,t)=>""===t?void 0:t)))))})(e))(t.toString("utf8"),e)))),(()=>{t.close()}),a,s,c,l,{getWebSocket:()=>t});return i(((e,a)=>{t.readyState!=t.OPEN?(g("error",a),g("open",(()=>e(d)))):e(d)}))};export{E as createWsSynchronizer};