tinybase 5.0.0-beta.25 → 5.0.0-beta.26

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 (824) hide show
  1. package/@types/checkpoints/index.d.cts +4 -6
  2. package/@types/checkpoints/index.d.ts +4 -6
  3. package/@types/checkpoints/with-schemas/index.d.cts +4 -6
  4. package/@types/checkpoints/with-schemas/index.d.ts +4 -6
  5. package/@types/common/index.d.cts +1 -1
  6. package/@types/common/index.d.ts +1 -1
  7. package/@types/common/with-schemas/index.d.cts +1 -1
  8. package/@types/common/with-schemas/index.d.ts +1 -1
  9. package/@types/indexes/index.d.cts +3 -6
  10. package/@types/indexes/index.d.ts +3 -6
  11. package/@types/indexes/with-schemas/index.d.cts +3 -6
  12. package/@types/indexes/with-schemas/index.d.ts +3 -6
  13. package/@types/mergeable-store/index.d.cts +767 -22
  14. package/@types/mergeable-store/index.d.ts +767 -22
  15. package/@types/mergeable-store/with-schemas/index.d.cts +863 -22
  16. package/@types/mergeable-store/with-schemas/index.d.ts +863 -22
  17. package/@types/metrics/index.d.cts +3 -6
  18. package/@types/metrics/index.d.ts +3 -6
  19. package/@types/metrics/with-schemas/index.d.cts +3 -6
  20. package/@types/metrics/with-schemas/index.d.ts +3 -6
  21. package/@types/persisters/index.d.cts +58 -41
  22. package/@types/persisters/index.d.ts +58 -41
  23. package/@types/persisters/persister-browser/index.d.cts +5 -3
  24. package/@types/persisters/persister-browser/index.d.ts +5 -3
  25. package/@types/persisters/persister-browser/with-schemas/index.d.cts +3 -3
  26. package/@types/persisters/persister-browser/with-schemas/index.d.ts +3 -3
  27. package/@types/persisters/persister-expo-sqlite/index.d.cts +3 -2
  28. package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -2
  29. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +2 -1
  30. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +2 -1
  31. package/@types/persisters/persister-file/index.d.cts +3 -2
  32. package/@types/persisters/persister-file/index.d.ts +3 -2
  33. package/@types/persisters/persister-file/with-schemas/index.d.cts +2 -2
  34. package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
  35. package/@types/persisters/persister-partykit-server/index.d.cts +3 -3
  36. package/@types/persisters/persister-partykit-server/index.d.ts +3 -3
  37. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +3 -3
  38. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +3 -3
  39. package/@types/persisters/persister-sqlite-wasm/index.d.cts +3 -2
  40. package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -2
  41. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +2 -1
  42. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +2 -1
  43. package/@types/persisters/persister-sqlite3/index.d.cts +3 -2
  44. package/@types/persisters/persister-sqlite3/index.d.ts +3 -2
  45. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +2 -1
  46. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +2 -1
  47. package/@types/persisters/with-schemas/index.d.cts +70 -53
  48. package/@types/persisters/with-schemas/index.d.ts +70 -53
  49. package/@types/queries/index.d.cts +6 -9
  50. package/@types/queries/index.d.ts +6 -9
  51. package/@types/queries/with-schemas/index.d.cts +6 -9
  52. package/@types/queries/with-schemas/index.d.ts +6 -9
  53. package/@types/relationships/index.d.cts +3 -5
  54. package/@types/relationships/index.d.ts +3 -5
  55. package/@types/relationships/with-schemas/index.d.cts +3 -5
  56. package/@types/relationships/with-schemas/index.d.ts +3 -5
  57. package/@types/store/index.d.cts +24 -23
  58. package/@types/store/index.d.ts +24 -23
  59. package/@types/store/with-schemas/index.d.cts +24 -23
  60. package/@types/store/with-schemas/index.d.ts +24 -23
  61. package/@types/synchronizers/index.d.cts +9 -9
  62. package/@types/synchronizers/index.d.ts +9 -9
  63. package/@types/synchronizers/synchronizer-local/index.d.cts +2 -2
  64. package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
  65. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +2 -2
  66. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
  67. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +2 -2
  68. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +2 -2
  69. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +2 -2
  70. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +2 -2
  71. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +5 -5
  72. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +5 -5
  73. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +5 -5
  74. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +5 -5
  75. package/@types/synchronizers/with-schemas/index.d.cts +12 -9
  76. package/@types/synchronizers/with-schemas/index.d.ts +12 -9
  77. package/@types/tools/index.d.cts +20 -10
  78. package/@types/tools/index.d.ts +20 -10
  79. package/@types/tools/with-schemas/index.d.cts +20 -10
  80. package/@types/tools/with-schemas/index.d.ts +20 -10
  81. package/@types/ui-react/index.d.cts +1 -1
  82. package/@types/ui-react/index.d.ts +1 -1
  83. package/@types/ui-react/with-schemas/index.d.cts +1 -1
  84. package/@types/ui-react/with-schemas/index.d.ts +1 -1
  85. package/@types/ui-react-dom/index.d.cts +2 -2
  86. package/@types/ui-react-dom/index.d.ts +2 -2
  87. package/@types/ui-react-dom/with-schemas/index.d.cts +2 -2
  88. package/@types/ui-react-dom/with-schemas/index.d.ts +2 -2
  89. package/@types/ui-react-inspector/with-schemas/index.d.cts +2 -2
  90. package/@types/ui-react-inspector/with-schemas/index.d.ts +2 -2
  91. package/cjs/es6/index.cjs +20 -14
  92. package/cjs/es6/mergeable-store/index.cjs +8 -8
  93. package/cjs/es6/mergeable-store/with-schemas/index.cjs +8 -8
  94. package/cjs/es6/min/index.cjs +1 -1
  95. package/cjs/es6/min/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  98. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  99. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  100. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  101. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  102. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  103. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  104. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  105. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  106. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  107. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  108. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  109. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  110. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  111. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  112. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  113. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  114. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  115. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  116. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  117. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  118. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  119. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  120. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  121. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  122. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  123. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  124. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  125. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  126. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  127. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  128. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  129. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  130. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  131. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  132. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  133. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  134. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  135. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  136. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  137. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  138. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  139. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  140. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  141. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  142. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  143. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  144. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  145. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  146. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  147. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  148. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  149. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  150. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  151. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  152. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  153. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  154. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  155. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  156. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  157. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  158. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  159. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  160. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  161. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  163. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  164. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  165. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  167. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  168. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  169. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  170. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  171. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  172. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  173. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/es6/persisters/index.cjs +11 -5
  175. package/cjs/es6/persisters/persister-automerge/index.cjs +11 -6
  176. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +11 -6
  177. package/cjs/es6/persisters/persister-browser/index.cjs +17 -12
  178. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +17 -12
  179. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
  180. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
  181. package/cjs/es6/persisters/persister-electric-sql/index.cjs +17 -12
  182. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
  183. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +17 -12
  184. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
  185. package/cjs/es6/persisters/persister-file/index.cjs +16 -11
  186. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +16 -11
  187. package/cjs/es6/persisters/persister-indexed-db/index.cjs +11 -6
  188. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +11 -6
  189. package/cjs/es6/persisters/persister-libsql/index.cjs +287 -282
  190. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +287 -282
  191. package/cjs/es6/persisters/persister-partykit-client/index.cjs +11 -6
  192. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
  193. package/cjs/es6/persisters/persister-powersync/index.cjs +17 -12
  194. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +17 -12
  195. package/cjs/es6/persisters/persister-remote/index.cjs +17 -12
  196. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +17 -12
  197. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +17 -12
  198. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
  199. package/cjs/es6/persisters/persister-sqlite3/index.cjs +17 -12
  200. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
  201. package/cjs/es6/persisters/persister-yjs/index.cjs +11 -6
  202. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +11 -6
  203. package/cjs/es6/persisters/with-schemas/index.cjs +11 -5
  204. package/cjs/es6/synchronizers/index.cjs +25 -20
  205. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +25 -20
  206. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +25 -20
  207. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +25 -20
  208. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +25 -20
  209. package/cjs/es6/synchronizers/with-schemas/index.cjs +25 -20
  210. package/cjs/es6/ui-react-inspector/index.cjs +11 -6
  211. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +11 -6
  212. package/cjs/es6/with-schemas/index.cjs +20 -14
  213. package/cjs/index.cjs +20 -14
  214. package/cjs/mergeable-store/index.cjs +8 -8
  215. package/cjs/mergeable-store/with-schemas/index.cjs +8 -8
  216. package/cjs/min/index.cjs +1 -1
  217. package/cjs/min/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/index.cjs +1 -1
  219. package/cjs/min/persisters/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  233. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  234. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  235. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  236. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  237. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  238. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  239. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  241. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  242. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  243. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  245. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  246. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  247. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  249. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  250. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  251. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  253. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  254. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  255. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  256. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  257. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  258. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  259. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  260. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  261. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  262. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  263. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  265. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  266. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  267. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  268. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  269. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  270. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  271. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  272. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  273. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  274. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  275. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  276. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  277. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  278. package/cjs/min/synchronizers/index.cjs +1 -1
  279. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  280. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  281. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  282. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  283. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  284. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  285. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  286. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  287. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  288. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  289. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  290. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  291. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  292. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  293. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  294. package/cjs/min/with-schemas/index.cjs +1 -1
  295. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  296. package/cjs/persisters/index.cjs +11 -5
  297. package/cjs/persisters/persister-automerge/index.cjs +11 -6
  298. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +11 -6
  299. package/cjs/persisters/persister-browser/index.cjs +17 -12
  300. package/cjs/persisters/persister-browser/with-schemas/index.cjs +17 -12
  301. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
  302. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
  303. package/cjs/persisters/persister-electric-sql/index.cjs +17 -12
  304. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
  305. package/cjs/persisters/persister-expo-sqlite/index.cjs +17 -12
  306. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
  307. package/cjs/persisters/persister-file/index.cjs +16 -11
  308. package/cjs/persisters/persister-file/with-schemas/index.cjs +16 -11
  309. package/cjs/persisters/persister-indexed-db/index.cjs +11 -6
  310. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +11 -6
  311. package/cjs/persisters/persister-libsql/index.cjs +194 -189
  312. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
  313. package/cjs/persisters/persister-partykit-client/index.cjs +11 -6
  314. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
  315. package/cjs/persisters/persister-powersync/index.cjs +17 -12
  316. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +17 -12
  317. package/cjs/persisters/persister-remote/index.cjs +17 -12
  318. package/cjs/persisters/persister-remote/with-schemas/index.cjs +17 -12
  319. package/cjs/persisters/persister-sqlite-wasm/index.cjs +17 -12
  320. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
  321. package/cjs/persisters/persister-sqlite3/index.cjs +17 -12
  322. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
  323. package/cjs/persisters/persister-yjs/index.cjs +11 -6
  324. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +11 -6
  325. package/cjs/persisters/with-schemas/index.cjs +11 -5
  326. package/cjs/synchronizers/index.cjs +18 -13
  327. package/cjs/synchronizers/synchronizer-local/index.cjs +18 -13
  328. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +18 -13
  329. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +18 -13
  330. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +18 -13
  331. package/cjs/synchronizers/with-schemas/index.cjs +18 -13
  332. package/cjs/ui-react-inspector/index.cjs +11 -6
  333. package/cjs/ui-react-inspector/with-schemas/index.cjs +11 -6
  334. package/cjs/with-schemas/index.cjs +20 -14
  335. package/es6/index.js +20 -14
  336. package/es6/mergeable-store/index.js +8 -8
  337. package/es6/mergeable-store/with-schemas/index.js +8 -8
  338. package/es6/min/index.js +1 -1
  339. package/es6/min/index.js.gz +0 -0
  340. package/es6/min/persisters/index.js +1 -1
  341. package/es6/min/persisters/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-automerge/index.js +1 -1
  343. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  345. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-browser/index.js +1 -1
  347. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  349. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  351. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  355. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  357. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  359. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  361. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-file/index.js +1 -1
  363. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  365. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  367. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  369. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-libsql/index.js +1 -1
  371. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  373. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  374. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  375. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  376. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  377. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  378. package/es6/min/persisters/persister-powersync/index.js +1 -1
  379. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  380. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  381. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  382. package/es6/min/persisters/persister-remote/index.js +1 -1
  383. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  384. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  385. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  386. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  387. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  388. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  389. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  390. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  391. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  392. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  393. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  394. package/es6/min/persisters/persister-yjs/index.js +1 -1
  395. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  396. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  397. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  398. package/es6/min/persisters/with-schemas/index.js +1 -1
  399. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  400. package/es6/min/synchronizers/index.js +1 -1
  401. package/es6/min/synchronizers/index.js.gz +0 -0
  402. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  403. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  404. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  405. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  406. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  407. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  408. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  409. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  410. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  411. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  412. package/es6/min/ui-react-inspector/index.js +1 -1
  413. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  414. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  415. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  416. package/es6/min/with-schemas/index.js +1 -1
  417. package/es6/min/with-schemas/index.js.gz +0 -0
  418. package/es6/persisters/index.js +11 -6
  419. package/es6/persisters/persister-automerge/index.js +11 -6
  420. package/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
  421. package/es6/persisters/persister-browser/index.js +17 -12
  422. package/es6/persisters/persister-browser/with-schemas/index.js +17 -12
  423. package/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  424. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  425. package/es6/persisters/persister-electric-sql/index.js +17 -12
  426. package/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  427. package/es6/persisters/persister-expo-sqlite/index.js +17 -12
  428. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  429. package/es6/persisters/persister-file/index.js +16 -11
  430. package/es6/persisters/persister-file/with-schemas/index.js +16 -11
  431. package/es6/persisters/persister-indexed-db/index.js +11 -6
  432. package/es6/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  433. package/es6/persisters/persister-libsql/index.js +287 -282
  434. package/es6/persisters/persister-libsql/with-schemas/index.js +287 -282
  435. package/es6/persisters/persister-partykit-client/index.js +11 -6
  436. package/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  437. package/es6/persisters/persister-powersync/index.js +17 -12
  438. package/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
  439. package/es6/persisters/persister-remote/index.js +17 -12
  440. package/es6/persisters/persister-remote/with-schemas/index.js +17 -12
  441. package/es6/persisters/persister-sqlite-wasm/index.js +17 -12
  442. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  443. package/es6/persisters/persister-sqlite3/index.js +17 -12
  444. package/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  445. package/es6/persisters/persister-yjs/index.js +11 -6
  446. package/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
  447. package/es6/persisters/with-schemas/index.js +11 -6
  448. package/es6/synchronizers/index.js +25 -20
  449. package/es6/synchronizers/synchronizer-local/index.js +25 -20
  450. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +25 -20
  451. package/es6/synchronizers/synchronizer-ws-client/index.js +25 -20
  452. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -20
  453. package/es6/synchronizers/with-schemas/index.js +25 -20
  454. package/es6/ui-react-inspector/index.js +11 -6
  455. package/es6/ui-react-inspector/with-schemas/index.js +11 -6
  456. package/es6/with-schemas/index.js +20 -14
  457. package/index.js +20 -14
  458. package/mergeable-store/index.js +8 -8
  459. package/mergeable-store/with-schemas/index.js +8 -8
  460. package/min/index.js +1 -1
  461. package/min/index.js.gz +0 -0
  462. package/min/persisters/index.js +1 -1
  463. package/min/persisters/index.js.gz +0 -0
  464. package/min/persisters/persister-automerge/index.js +1 -1
  465. package/min/persisters/persister-automerge/index.js.gz +0 -0
  466. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  467. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  468. package/min/persisters/persister-browser/index.js +1 -1
  469. package/min/persisters/persister-browser/index.js.gz +0 -0
  470. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  471. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  472. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  473. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  474. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  475. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  476. package/min/persisters/persister-electric-sql/index.js +1 -1
  477. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  478. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  479. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  480. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  481. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  482. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  483. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  484. package/min/persisters/persister-file/index.js +1 -1
  485. package/min/persisters/persister-file/index.js.gz +0 -0
  486. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  487. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  488. package/min/persisters/persister-indexed-db/index.js +1 -1
  489. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  490. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  491. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  492. package/min/persisters/persister-libsql/index.js +1 -1
  493. package/min/persisters/persister-libsql/index.js.gz +0 -0
  494. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  495. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  496. package/min/persisters/persister-partykit-client/index.js +1 -1
  497. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  498. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  499. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  500. package/min/persisters/persister-powersync/index.js +1 -1
  501. package/min/persisters/persister-powersync/index.js.gz +0 -0
  502. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  503. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  504. package/min/persisters/persister-remote/index.js +1 -1
  505. package/min/persisters/persister-remote/index.js.gz +0 -0
  506. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  507. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  508. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  509. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  510. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  511. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  512. package/min/persisters/persister-sqlite3/index.js +1 -1
  513. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  514. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  515. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  516. package/min/persisters/persister-yjs/index.js +1 -1
  517. package/min/persisters/persister-yjs/index.js.gz +0 -0
  518. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  519. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  520. package/min/persisters/with-schemas/index.js +1 -1
  521. package/min/persisters/with-schemas/index.js.gz +0 -0
  522. package/min/synchronizers/index.js +1 -1
  523. package/min/synchronizers/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/with-schemas/index.js +1 -1
  533. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  534. package/min/ui-react-inspector/index.js +1 -1
  535. package/min/ui-react-inspector/index.js.gz +0 -0
  536. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  537. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  538. package/min/with-schemas/index.js +1 -1
  539. package/min/with-schemas/index.js.gz +0 -0
  540. package/package.json +5 -5
  541. package/persisters/index.js +11 -6
  542. package/persisters/persister-automerge/index.js +11 -6
  543. package/persisters/persister-automerge/with-schemas/index.js +11 -6
  544. package/persisters/persister-browser/index.js +17 -12
  545. package/persisters/persister-browser/with-schemas/index.js +17 -12
  546. package/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  547. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  548. package/persisters/persister-electric-sql/index.js +17 -12
  549. package/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  550. package/persisters/persister-expo-sqlite/index.js +17 -12
  551. package/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  552. package/persisters/persister-file/index.js +16 -11
  553. package/persisters/persister-file/with-schemas/index.js +16 -11
  554. package/persisters/persister-indexed-db/index.js +11 -6
  555. package/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  556. package/persisters/persister-libsql/index.js +194 -189
  557. package/persisters/persister-libsql/with-schemas/index.js +194 -189
  558. package/persisters/persister-partykit-client/index.js +11 -6
  559. package/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  560. package/persisters/persister-powersync/index.js +17 -12
  561. package/persisters/persister-powersync/with-schemas/index.js +17 -12
  562. package/persisters/persister-remote/index.js +17 -12
  563. package/persisters/persister-remote/with-schemas/index.js +17 -12
  564. package/persisters/persister-sqlite-wasm/index.js +17 -12
  565. package/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  566. package/persisters/persister-sqlite3/index.js +17 -12
  567. package/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  568. package/persisters/persister-yjs/index.js +11 -6
  569. package/persisters/persister-yjs/with-schemas/index.js +11 -6
  570. package/persisters/with-schemas/index.js +11 -6
  571. package/readme.md +1 -1
  572. package/synchronizers/index.js +18 -13
  573. package/synchronizers/synchronizer-local/index.js +18 -13
  574. package/synchronizers/synchronizer-local/with-schemas/index.js +18 -13
  575. package/synchronizers/synchronizer-ws-client/index.js +18 -13
  576. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +18 -13
  577. package/synchronizers/with-schemas/index.js +18 -13
  578. package/ui-react-inspector/index.js +11 -6
  579. package/ui-react-inspector/with-schemas/index.js +11 -6
  580. package/umd/es6/index.js +21 -14
  581. package/umd/es6/mergeable-store/index.js +9 -8
  582. package/umd/es6/mergeable-store/with-schemas/index.js +9 -8
  583. package/umd/es6/min/index.js +1 -1
  584. package/umd/es6/min/index.js.gz +0 -0
  585. package/umd/es6/min/persisters/index.js +1 -1
  586. package/umd/es6/min/persisters/index.js.gz +0 -0
  587. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  588. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  589. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  590. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  591. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  592. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  593. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  594. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  595. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  596. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  597. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  598. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  599. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  600. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  601. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  602. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  603. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  604. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  605. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  606. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  607. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  608. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  609. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  610. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  611. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  612. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  613. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  614. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  615. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  616. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  617. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  618. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  619. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  620. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  621. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  622. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  623. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  624. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  625. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  626. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  627. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  628. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  629. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  630. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  631. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  632. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  633. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  634. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  635. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  636. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  637. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  638. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  639. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  640. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  641. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  642. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  643. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  644. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  645. package/umd/es6/min/synchronizers/index.js +1 -1
  646. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  647. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  648. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  649. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  650. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  651. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  652. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  653. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  654. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  655. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  656. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  657. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  658. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  659. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  660. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  661. package/umd/es6/min/with-schemas/index.js +1 -1
  662. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  663. package/umd/es6/persisters/index.js +11 -5
  664. package/umd/es6/persisters/persister-automerge/index.js +11 -6
  665. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
  666. package/umd/es6/persisters/persister-browser/index.js +19 -14
  667. package/umd/es6/persisters/persister-browser/with-schemas/index.js +19 -14
  668. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  669. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  670. package/umd/es6/persisters/persister-electric-sql/index.js +17 -12
  671. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  672. package/umd/es6/persisters/persister-expo-sqlite/index.js +17 -12
  673. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  674. package/umd/es6/persisters/persister-file/index.js +18 -13
  675. package/umd/es6/persisters/persister-file/with-schemas/index.js +18 -13
  676. package/umd/es6/persisters/persister-indexed-db/index.js +11 -6
  677. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  678. package/umd/es6/persisters/persister-libsql/index.js +289 -284
  679. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +289 -284
  680. package/umd/es6/persisters/persister-partykit-client/index.js +11 -6
  681. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  682. package/umd/es6/persisters/persister-powersync/index.js +17 -12
  683. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
  684. package/umd/es6/persisters/persister-remote/index.js +17 -12
  685. package/umd/es6/persisters/persister-remote/with-schemas/index.js +17 -12
  686. package/umd/es6/persisters/persister-sqlite-wasm/index.js +17 -12
  687. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  688. package/umd/es6/persisters/persister-sqlite3/index.js +17 -12
  689. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  690. package/umd/es6/persisters/persister-yjs/index.js +11 -6
  691. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
  692. package/umd/es6/persisters/with-schemas/index.js +11 -5
  693. package/umd/es6/synchronizers/index.js +25 -20
  694. package/umd/es6/synchronizers/synchronizer-local/index.js +25 -20
  695. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +25 -20
  696. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +25 -20
  697. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -20
  698. package/umd/es6/synchronizers/with-schemas/index.js +25 -20
  699. package/umd/es6/ui-react-inspector/index.js +11 -6
  700. package/umd/es6/ui-react-inspector/with-schemas/index.js +11 -6
  701. package/umd/es6/with-schemas/index.js +21 -14
  702. package/umd/index.js +20 -14
  703. package/umd/mergeable-store/index.js +8 -8
  704. package/umd/mergeable-store/with-schemas/index.js +8 -8
  705. package/umd/min/index.js +1 -1
  706. package/umd/min/index.js.gz +0 -0
  707. package/umd/min/persisters/index.js +1 -1
  708. package/umd/min/persisters/index.js.gz +0 -0
  709. package/umd/min/persisters/persister-automerge/index.js +1 -1
  710. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  711. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  712. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  713. package/umd/min/persisters/persister-browser/index.js +1 -1
  714. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  715. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  716. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  717. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  718. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  719. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  720. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  721. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  722. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  723. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  724. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  725. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  726. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  727. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  728. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  729. package/umd/min/persisters/persister-file/index.js +1 -1
  730. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  731. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  732. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  733. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  734. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  735. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  736. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  737. package/umd/min/persisters/persister-libsql/index.js +1 -1
  738. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  739. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  740. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  741. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  742. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  743. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  744. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  745. package/umd/min/persisters/persister-powersync/index.js +1 -1
  746. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  747. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  748. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  749. package/umd/min/persisters/persister-remote/index.js +1 -1
  750. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  751. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  752. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  753. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  754. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  755. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  756. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  757. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  758. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  759. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  760. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  761. package/umd/min/persisters/persister-yjs/index.js +1 -1
  762. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  763. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  764. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  765. package/umd/min/persisters/with-schemas/index.js +1 -1
  766. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  767. package/umd/min/synchronizers/index.js +1 -1
  768. package/umd/min/synchronizers/index.js.gz +0 -0
  769. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  770. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  771. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  772. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  773. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  774. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  775. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  776. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  777. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  778. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  779. package/umd/min/ui-react-inspector/index.js +1 -1
  780. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  781. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  782. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  783. package/umd/min/with-schemas/index.js +1 -1
  784. package/umd/min/with-schemas/index.js.gz +0 -0
  785. package/umd/persisters/index.js +11 -5
  786. package/umd/persisters/persister-automerge/index.js +11 -6
  787. package/umd/persisters/persister-automerge/with-schemas/index.js +11 -6
  788. package/umd/persisters/persister-browser/index.js +19 -14
  789. package/umd/persisters/persister-browser/with-schemas/index.js +19 -14
  790. package/umd/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  791. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  792. package/umd/persisters/persister-electric-sql/index.js +17 -12
  793. package/umd/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  794. package/umd/persisters/persister-expo-sqlite/index.js +17 -12
  795. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  796. package/umd/persisters/persister-file/index.js +18 -13
  797. package/umd/persisters/persister-file/with-schemas/index.js +18 -13
  798. package/umd/persisters/persister-indexed-db/index.js +11 -6
  799. package/umd/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  800. package/umd/persisters/persister-libsql/index.js +196 -191
  801. package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
  802. package/umd/persisters/persister-partykit-client/index.js +11 -6
  803. package/umd/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  804. package/umd/persisters/persister-powersync/index.js +17 -12
  805. package/umd/persisters/persister-powersync/with-schemas/index.js +17 -12
  806. package/umd/persisters/persister-remote/index.js +17 -12
  807. package/umd/persisters/persister-remote/with-schemas/index.js +17 -12
  808. package/umd/persisters/persister-sqlite-wasm/index.js +17 -12
  809. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  810. package/umd/persisters/persister-sqlite3/index.js +17 -12
  811. package/umd/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  812. package/umd/persisters/persister-yjs/index.js +11 -6
  813. package/umd/persisters/persister-yjs/with-schemas/index.js +11 -6
  814. package/umd/persisters/with-schemas/index.js +11 -5
  815. package/umd/synchronizers/index.js +18 -13
  816. package/umd/synchronizers/synchronizer-local/index.js +18 -13
  817. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +18 -13
  818. package/umd/synchronizers/synchronizer-ws-client/index.js +18 -13
  819. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +18 -13
  820. package/umd/synchronizers/with-schemas/index.js +18 -13
  821. package/umd/ui-react-inspector/index.js +11 -6
  822. package/umd/ui-react-inspector/with-schemas/index.js +11 -6
  823. package/umd/with-schemas/index.js +20 -14
  824. package/with-schemas/index.js +20 -14
@@ -6,6 +6,15 @@
6
6
  * The main entry point to this module is the createMergeableStore function,
7
7
  * which returns a new MergeableStore, a subtype of Store that can be merged
8
8
  * with another with deterministic results.
9
+ *
10
+ * Please be aware that a lot of the types and methods exposed by this module
11
+ * are used internally within TinyBase itself (in particular the Synchronizer
12
+ * framework). They're documented here, but mostly for interest, and it is
13
+ * generally assumed that they won't be called directly by applications.
14
+ *
15
+ * As an application developer, it's more likely that you will continue to use
16
+ * the main Store methods for reading, writing, and listening to data, and rely
17
+ * on Synchronizer instances to keep the data in step with other places.
9
18
  * @packageDocumentation
10
19
  * @module mergeable-store
11
20
  * @since v5.0.0
@@ -228,7 +237,48 @@ export type MergeableChanges<Schemas extends OptionalSchemas> = [
228
237
  ];
229
238
 
230
239
  /**
231
- * The MergeableStore type
240
+ * The MergeableStore type represents a Store that carries with it sufficient
241
+ * metadata to be able to be merged with another MergeableStore with
242
+ * deterministic results.
243
+ *
244
+ * This is the key data type used when you need TinyBase data to be cleanly
245
+ * synchronized or merged with data elsewhere on the system, or on another
246
+ * system. It acts as a Conflict-Free Replicated Data Type (CRDT) which allows
247
+ * deterministic disambiguation of how changes to different instances should be
248
+ * merged.
249
+ *
250
+ * Please be aware that a lot of the methods exposed by this interface are used
251
+ * internally within TinyBase itself (in particular the Synchronizer framework).
252
+ * They're documented here, but mostly for interest, and it is generally assumed
253
+ * that they won't be called directly by applications.
254
+ *
255
+ * As an application developer, it's more likely that you will continue to use
256
+ * the main Store methods for reading, writing, and listening to data, and rely
257
+ * on Synchronizer instances to keep the data in step with other places.
258
+ *
259
+ * One possible exceptions is the merge method, which can be used to simply
260
+ * merge two co-located MergeableStore instances together.
261
+ * @example
262
+ * This example shows very simple usage of the MergeableStore: whereby two are
263
+ * created, updated with different data, and then merged with one another.
264
+ *
265
+ * ```js
266
+ * import {createMergeableStore} from 'tinybase';
267
+ *
268
+ * const localStore1 = createMergeableStore();
269
+ * const localStore2 = createMergeableStore();
270
+ *
271
+ * localStore1.setCell('pets', 'fido', 'color', 'brown');
272
+ * localStore2.setCell('pets', 'felix', 'color', 'black');
273
+ *
274
+ * localStore1.merge(localStore2);
275
+ *
276
+ * console.log(localStore1.getContent());
277
+ * // -> [{pets: {felix: {color: 'black'}, fido: {color: 'brown'}}}, {}]
278
+ *
279
+ * console.log(localStore2.getContent());
280
+ * // -> [{pets: {felix: {color: 'black'}, fido: {color: 'brown'}}}, {}]
281
+ *```
232
282
  * @category Mergeable
233
283
  * @since v5.0.0
234
284
  */
@@ -236,40 +286,236 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
236
286
  extends Store<Schemas> {
237
287
  //
238
288
  /**
239
- * The getMergeableContent method
289
+ * The getMergeableContent method returns the full content of a
290
+ * MergeableStore, together with the metadata required to make it mergeable
291
+ * with another.
292
+ *
293
+ * This has schema-based typing. The following is a simplified representation:
294
+ *
295
+ * ```ts override
296
+ * getMergeableContent(): MergeableContent;
297
+ * ```
298
+ *
299
+ * The method is generally intended to be used internally within TinyBase
300
+ * itself and the return type is assumed to be opaque to applications that use
301
+ * it.
302
+ * @returns A MergeableContent object for the full content of the
303
+ * MergeableStore.
304
+ * @example
305
+ * This example creates a MergeableStore, sets some data, and then accesses
306
+ * the content and metadata required to make it mergeable.
307
+ *
308
+ * ```js
309
+ * import {createMergeableStore} from 'tinybase';
310
+ *
311
+ * const store = createMergeableStore('store1'); // !resetHlc
312
+ *
313
+ * store.setCell('pets', 'fido', 'color', 'brown');
314
+ *
315
+ * console.log(store.getMergeableContent());
316
+ * // ->
317
+ * [
318
+ * [
319
+ * {
320
+ * pets: [
321
+ * {
322
+ * fido: [
323
+ * {color: ['brown', 'Nn1JUF-----FnHIC', 923684530]},
324
+ * '',
325
+ * 851131566,
326
+ * ],
327
+ * },
328
+ * '',
329
+ * 518810247,
330
+ * ],
331
+ * },
332
+ * '',
333
+ * 784336119,
334
+ * ],
335
+ * [{}, '', 0],
336
+ * ];
337
+ * ```
240
338
  * @category Getter
241
339
  * @since v5.0.0
242
340
  */
243
341
  getMergeableContent(): MergeableContent<Schemas>;
244
342
 
245
343
  /**
246
- * The getMergeableContentHashes method
344
+ * The getMergeableContentHashes method returns hashes for the full content of
345
+ * a MergeableStore.
346
+ *
347
+ * If two MergeableStore instances have different hashes, that indicates that
348
+ * the mergeable Tables or Values within them are different and should be
349
+ * synchronized.
350
+ *
351
+ * The method is generally intended to be used internally within TinyBase
352
+ * itself and the return type is assumed to be opaque to applications that use
353
+ * it.
354
+ * @returns A ContentHashes array for the hashes of the full content of the
355
+ * MergeableStore.
356
+ * @example
357
+ * This example creates a MergeableStore, sets some data, and then accesses
358
+ * the content hashes.
359
+ *
360
+ * ```js
361
+ * import {createMergeableStore} from 'tinybase';
362
+ *
363
+ * const store = createMergeableStore('store1'); // !resetHlc
364
+ *
365
+ * store.setCell('pets', 'fido', 'color', 'brown');
366
+ * console.log(store.getMergeableContentHashes());
367
+ * // -> [784336119, 0]
368
+ *
369
+ * store.setValue('open', true);
370
+ * console.log(store.getMergeableContentHashes());
371
+ * // -> [784336119, 2829789038]
372
+ * ```
247
373
  * @category Syncing
248
374
  * @since v5.0.0
249
375
  */
250
376
  getMergeableContentHashes(): ContentHashes;
251
377
 
252
378
  /**
253
- * The getMergeableTableHashes method
379
+ * The getMergeableTableHashes method returns hashes for the Table objects in
380
+ * a MergeableStore.
381
+ *
382
+ * This has schema-based typing. The following is a simplified representation:
383
+ *
384
+ * ```ts override
385
+ * getMergeableTableHashes(): TableHashes;
386
+ * ```
387
+ *
388
+ * If two Table Ids have different hashes, that indicates that the content
389
+ * within them is different and should be synchronized.
390
+ *
391
+ * The method is generally intended to be used internally within TinyBase
392
+ * itself and the return type is assumed to be opaque to applications that use
393
+ * it.
394
+ * @returns A TableHashes object with the hashes of each Table in the
395
+ * MergeableStore.
396
+ * @example
397
+ * This example creates a MergeableStore, sets some data, and then accesses
398
+ * the Table hashes.
399
+ *
400
+ * ```js
401
+ * import {createMergeableStore} from 'tinybase';
402
+ *
403
+ * const store = createMergeableStore('store1'); // !resetHlc
404
+ *
405
+ * store.setCell('pets', 'fido', 'color', 'brown');
406
+ * console.log(store.getMergeableTableHashes());
407
+ * // -> {pets: 518810247}
408
+ *
409
+ * store.setCell('species', 'dog', 'price', 5);
410
+ * console.log(store.getMergeableTableHashes());
411
+ * // -> {pets: 518810247, species: 2324343240}
412
+ * ```
254
413
  * @category Syncing
255
414
  * @since v5.0.0
256
415
  */
257
416
  getMergeableTableHashes(): TableHashes<Schemas[0]>;
258
417
 
259
418
  /**
260
- * The getMergeableTableDiff method
419
+ * The getMergeableTableDiff method returns information about new and
420
+ * differing Table objects of a MergeableStore relative to another.
421
+ *
422
+ * This has schema-based typing. The following is a simplified representation:
423
+ *
424
+ * ```ts override
425
+ * getMergeableTableDiff(
426
+ * otherTableHashes: TableHashes,
427
+ * ): [newTables: TablesStamp, differingTableHashes: TableHashes];
428
+ * ```
429
+ *
430
+ * The method is generally intended to be used internally within TinyBase
431
+ * itself and the return type is assumed to be opaque to applications that use
432
+ * it.
433
+ * @param otherTableHashes The TableHashes of another MergeableStore.
434
+ * @returns A pair of objects describing the new and differing Table objects
435
+ * of this MergeableStore relative to the other.
436
+ * @example
437
+ * This example creates two MergeableStores, sets some differing data, and
438
+ * then identifies the differences in the Table objects of one versus the
439
+ * other. Once they have been merged, the differences are empty.
440
+ *
441
+ * ```js
442
+ * import {createMergeableStore} from 'tinybase';
443
+ *
444
+ * const store1 = createMergeableStore('store1'); // !resetHlc
445
+ * store1.setTables({pets: {fido: {color: 'brown'}}});
446
+ *
447
+ * const store2 = createMergeableStore('store2');
448
+ * store2.setTables({
449
+ * pets: {fido: {species: 'dog'}},
450
+ * species: {dog: {price: 5}},
451
+ * });
452
+ *
453
+ * console.log(
454
+ * store2.getMergeableTableDiff(store1.getMergeableTableHashes()),
455
+ * );
456
+ * // ->
457
+ * [
458
+ * [{species: [{dog: [{price: [5, 'Nn1JUF----0CnH-J']}]}]}],
459
+ * {pets: 1212600658},
460
+ * ];
461
+ *
462
+ * store1.merge(store2);
463
+ *
464
+ * console.log(
465
+ * store2.getMergeableTableDiff(store1.getMergeableTableHashes()),
466
+ * );
467
+ * // -> [[{}], {}]
468
+ * ```
261
469
  * @category Syncing
262
470
  * @since v5.0.0
263
471
  */
264
472
  getMergeableTableDiff(
265
- relativeTo: TableHashes<Schemas[0]>,
473
+ otherTableHashes: TableHashes<Schemas[0]>,
266
474
  ): [
267
475
  newTables: TablesStamp<Schemas[0]>,
268
- differentTableHashes: TableHashes<Schemas[0]>,
476
+ differingTableHashes: TableHashes<Schemas[0]>,
269
477
  ];
270
478
 
271
479
  /**
272
- * The getMergeableRowHashes method
480
+ * The getMergeableRowHashes method returns hashes for Row objects in a
481
+ * MergeableStore.
482
+ *
483
+ * This has schema-based typing. The following is a simplified representation:
484
+ *
485
+ * ```ts override
486
+ * getMergeableRowHashes(otherTableHashes: TableHashes): RowHashes;
487
+ * ```
488
+ *
489
+ * If two Row Ids have different hashes, that indicates that the content
490
+ * within them is different and should be synchronized.
491
+ *
492
+ * The method is generally intended to be used internally within TinyBase
493
+ * itself and the return type is assumed to be opaque to applications that use
494
+ * it.
495
+ * @param otherTableHashes The TableHashes from the other MergeableStore so
496
+ * that the differences can be efficiently identified.
497
+ * @returns A RowHashes object with the hashes of each Row in the relevant
498
+ * Table objects of the MergeableStore.
499
+ * @example
500
+ * This example creates a MergeableStore, sets some data, and then accesses
501
+ * the Row hashes for the differing Table Ids.
502
+ *
503
+ * ```js
504
+ * import {createMergeableStore} from 'tinybase';
505
+ *
506
+ * const store1 = createMergeableStore('store1'); // !resetHlc
507
+ * store1.setTables({pets: {fido: {color: 'brown'}, felix: {color: 'tan'}}});
508
+ *
509
+ * const store2 = createMergeableStore('store2');
510
+ * store2.setTables({pets: {fido: {color: 'black'}, felix: {color: 'tan'}}});
511
+ *
512
+ * console.log(
513
+ * store1.getMergeableRowHashes(
514
+ * store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
515
+ * ),
516
+ * );
517
+ * // -> {pets: {felix: 1683761402, fido: 851131566}}
518
+ * ```
273
519
  * @category Syncing
274
520
  * @since v5.0.0
275
521
  */
@@ -278,7 +524,61 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
278
524
  ): RowHashes<Schemas[0]>;
279
525
 
280
526
  /**
281
- * The getMergeableRowDiff method
527
+ * The getMergeableRowDiff method returns information about new and differing
528
+ * Row objects of a MergeableStore relative to another.
529
+ *
530
+ * This has schema-based typing. The following is a simplified representation:
531
+ *
532
+ * ```ts override
533
+ * getMergeableRowDiff(
534
+ * otherTableRowHashes: RowHashes,
535
+ * ): [newRows: TablesStamp, differingRowHashes: RowHashes];
536
+ * ```
537
+ *
538
+ * The method is generally intended to be used internally within TinyBase
539
+ * itself and the return type is assumed to be opaque to applications that use
540
+ * it.
541
+ * @param otherTableRowHashes The RowHashes of another MergeableStore.
542
+ * @returns A pair of objects describing the new and differing Row objects of
543
+ * this MergeableStore relative to the other.
544
+ * @example
545
+ * This example creates two MergeableStores, sets some differing data, and
546
+ * then identifies the differences in the Row objects of one versus the other.
547
+ * Once they have been merged, the differences are empty.
548
+ *
549
+ * ```js
550
+ * import {createMergeableStore} from 'tinybase';
551
+ *
552
+ * const store1 = createMergeableStore('store1'); // !resetHlc
553
+ * store1.setTables({pets: {fido: {color: 'brown'}}});
554
+ *
555
+ * const store2 = createMergeableStore('store2');
556
+ * store2.setTables({pets: {fido: {color: 'black'}, felix: {color: 'tan'}}});
557
+ *
558
+ * console.log(
559
+ * store2.getMergeableRowDiff(
560
+ * store1.getMergeableRowHashes(
561
+ * store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
562
+ * ),
563
+ * ),
564
+ * );
565
+ * // ->
566
+ * [
567
+ * [{pets: [{felix: [{color: ['tan', 'Nn1JUF----0CnH-J']}]}]}],
568
+ * {pets: {fido: 1038491054}},
569
+ * ];
570
+ *
571
+ * store1.merge(store2);
572
+ *
573
+ * console.log(
574
+ * store2.getMergeableRowDiff(
575
+ * store1.getMergeableRowHashes(
576
+ * store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
577
+ * ),
578
+ * ),
579
+ * );
580
+ * // -> [[{}], {}]
581
+ * ```
282
582
  * @category Syncing
283
583
  * @since v5.0.0
284
584
  */
@@ -286,11 +586,53 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
286
586
  otherTableRowHashes: RowHashes<Schemas[0]>,
287
587
  ): [
288
588
  newRows: TablesStamp<Schemas[0]>,
289
- differentRowHashes: RowHashes<Schemas[0]>,
589
+ differingRowHashes: RowHashes<Schemas[0]>,
290
590
  ];
291
591
 
292
592
  /**
293
- * The getMergeableCellHashes method
593
+ * The getMergeableCellHashes method returns hashes for Cell objects in a
594
+ * MergeableStore.
595
+ *
596
+ * This has schema-based typing. The following is a simplified representation:
597
+ *
598
+ * ```ts override
599
+ * getMergeableCellHashes(otherTableRowHashes: RowHashes): CellHashes;
600
+ * ```
601
+ *
602
+ * If two Cell Ids have different hashes, that indicates that the content
603
+ * within them is different and should be synchronized.
604
+ *
605
+ * The method is generally intended to be used internally within TinyBase
606
+ * itself and the return type is assumed to be opaque to applications that use
607
+ * it.
608
+ * @param otherTableRowHashes The RowHashes from the other MergeableStore so
609
+ * that the differences can be efficiently identified.
610
+ * @returns A CellHashes object with the hashes of each Cell in the relevant
611
+ * Row objects of the MergeableStore.
612
+ * @example
613
+ * This example creates a MergeableStore, sets some data, and then accesses
614
+ * the Cell hashes for the differing Table Ids.
615
+ *
616
+ * ```js
617
+ * import {createMergeableStore} from 'tinybase';
618
+ *
619
+ * const store1 = createMergeableStore('store1'); // !resetHlc
620
+ * store1.setTables({pets: {fido: {color: 'brown', species: 'dog'}}});
621
+ *
622
+ * const store2 = createMergeableStore('store2');
623
+ * store2.setTables({pets: {fido: {color: 'black', species: 'dog'}}});
624
+ *
625
+ * console.log(
626
+ * store1.getMergeableCellHashes(
627
+ * store2.getMergeableRowDiff(
628
+ * store1.getMergeableRowHashes(
629
+ * store2.getMergeableTableDiff(store1.getMergeableTableHashes())[1],
630
+ * ),
631
+ * )[1],
632
+ * ),
633
+ * );
634
+ * // -> {pets: {fido: {color: 923684530, species: 227729753}}}
635
+ * ```
294
636
  * @category Syncing
295
637
  * @since v5.0.0
296
638
  */
@@ -299,7 +641,81 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
299
641
  ): CellHashes<Schemas[0]>;
300
642
 
301
643
  /**
302
- * The getMergeableCellDiff method
644
+ * The getMergeableCellDiff method returns information about new and differing
645
+ * Cell objects of a MergeableStore relative to another.
646
+ *
647
+ * This has schema-based typing. The following is a simplified representation:
648
+ *
649
+ * ```ts override
650
+ * getMergeableCellDiff(otherTableRowCellHashes: CellHashes): TablesStamp;
651
+ * ```
652
+ *
653
+ * The method is generally intended to be used internally within TinyBase
654
+ * itself and the return type is assumed to be opaque to applications that use
655
+ * it.
656
+ * @param otherTableRowCellHashes The CellHashes of another MergeableStore.
657
+ * @returns The new and differing Cell objects of this MergeableStore relative
658
+ * to the other.
659
+ * @example
660
+ * This example creates two MergeableStores, sets some differing data, and
661
+ * then identifies the differences in the Cell objects of one versus the
662
+ * other. Once they have been merged, the differences are empty.
663
+ *
664
+ * ```js
665
+ * import {createMergeableStore} from 'tinybase';
666
+ *
667
+ * const store1 = createMergeableStore('store1'); // !resetHlc
668
+ * store1.setTables({pets: {fido: {color: 'brown'}}});
669
+ *
670
+ * const store2 = createMergeableStore('store2');
671
+ * store2.setTables({pets: {fido: {color: 'black', species: 'dog'}}});
672
+ *
673
+ * console.log(
674
+ * store2.getMergeableCellDiff(
675
+ * store1.getMergeableCellHashes(
676
+ * store2.getMergeableRowDiff(
677
+ * store1.getMergeableRowHashes(
678
+ * store2.getMergeableTableDiff(
679
+ * store1.getMergeableTableHashes(),
680
+ * )[1],
681
+ * ),
682
+ * )[1],
683
+ * ),
684
+ * ),
685
+ * );
686
+ * // ->
687
+ * [
688
+ * {
689
+ * pets: [
690
+ * {
691
+ * fido: [
692
+ * {
693
+ * color: ['black', 'Nn1JUF-----CnH-J'],
694
+ * species: ['dog', 'Nn1JUF----0CnH-J'],
695
+ * },
696
+ * ],
697
+ * },
698
+ * ],
699
+ * },
700
+ * ];
701
+ *
702
+ * store1.merge(store2);
703
+ *
704
+ * console.log(
705
+ * store2.getMergeableCellDiff(
706
+ * store1.getMergeableCellHashes(
707
+ * store2.getMergeableRowDiff(
708
+ * store1.getMergeableRowHashes(
709
+ * store2.getMergeableTableDiff(
710
+ * store1.getMergeableTableHashes(),
711
+ * )[1],
712
+ * ),
713
+ * )[1],
714
+ * ),
715
+ * ),
716
+ * );
717
+ * // -> [{}]
718
+ * ```
303
719
  * @category Syncing
304
720
  * @since v5.0.0
305
721
  */
@@ -308,23 +724,140 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
308
724
  ): TablesStamp<Schemas[0]>;
309
725
 
310
726
  /**
311
- * The getMergeableValueHashes method
727
+ * The getMergeableValueHashes method returns hashes for the Value objects in
728
+ * a MergeableStore.
729
+ *
730
+ * This has schema-based typing. The following is a simplified representation:
731
+ *
732
+ * ```ts override
733
+ * getMergeableValueHashes(): ValueHashes;
734
+ * ```
735
+ *
736
+ * If two Value Ids have different hashes, that indicates that the content
737
+ * within them is different and should be synchronized.
738
+ *
739
+ * The method is generally intended to be used internally within TinyBase
740
+ * itself and the return type is assumed to be opaque to applications that use
741
+ * it.
742
+ * @returns A ValueHashes object with the hashes of each Value in the
743
+ * MergeableStore.
744
+ * @example
745
+ * This example creates a MergeableStore, sets some data, and then accesses
746
+ * the Value hashes.
747
+ *
748
+ * ```js
749
+ * import {createMergeableStore} from 'tinybase';
750
+ *
751
+ * const store = createMergeableStore('store1'); // !resetHlc
752
+ *
753
+ * store.setValue('employees', 3);
754
+ * console.log(store.getMergeableValueHashes());
755
+ * // -> {employees: 1940815977}
756
+ *
757
+ * store.setValue('open', true);
758
+ * console.log(store.getMergeableValueHashes());
759
+ * // -> {employees: 1940815977, open: 3860530645}
760
+ * ```
312
761
  * @category Syncing
313
762
  * @since v5.0.0
314
763
  */
315
764
  getMergeableValueHashes(): ValueHashes<Schemas[1]>;
316
765
 
317
766
  /**
318
- * The getMergeableValueDiff method
767
+ * The getMergeableValueDiff method returns information about new and
768
+ * differing Value objects of a MergeableStore relative to another.
769
+ *
770
+ * This has schema-based typing. The following is a simplified representation:
771
+ *
772
+ * ```ts override
773
+ * getMergeableValueDiff(otherValueHashes: ValueHashes): ValuesStamp;
774
+ * ```
775
+ *
776
+ * The method is generally intended to be used internally within TinyBase
777
+ * itself and the return type is assumed to be opaque to applications that use
778
+ * it.
779
+ * @param otherValueHashes The ValueHashes of another MergeableStore.
780
+ * @returns The new and differing Value objects of this MergeableStore
781
+ * relative to the other.
782
+ * @example
783
+ * This example creates two MergeableStores, sets some differing data, and
784
+ * then identifies the differences in the Value objects of one versus the
785
+ * other. Once they have been merged, the differences are empty.
786
+ *
787
+ * ```js
788
+ * import {createMergeableStore} from 'tinybase';
789
+ *
790
+ * const store1 = createMergeableStore('store1'); // !resetHlc
791
+ * store1.setValues({employees: 3});
792
+ *
793
+ * const store2 = createMergeableStore('store2');
794
+ * store2.setValues({employees: 4, open: true});
795
+ *
796
+ * console.log(
797
+ * store2.getMergeableValueDiff(store1.getMergeableValueHashes()),
798
+ * );
799
+ * // ->
800
+ * [
801
+ * {
802
+ * employees: [4, 'Nn1JUF-----CnH-J'],
803
+ * open: [true, 'Nn1JUF----0CnH-J'],
804
+ * },
805
+ * ];
806
+ *
807
+ * store1.merge(store2);
808
+ *
809
+ * console.log(
810
+ * store2.getMergeableValueDiff(store1.getMergeableValueHashes()),
811
+ * );
812
+ * // -> [{}]
813
+ * ```
319
814
  * @category Syncing
320
815
  * @since v5.0.0
321
816
  */
322
817
  getMergeableValueDiff(
323
- relativeTo: ValueHashes<Schemas[1]>,
818
+ otherValueHashes: ValueHashes<Schemas[1]>,
324
819
  ): ValuesStamp<Schemas[1]>;
325
820
 
326
821
  /**
327
- * The setMergeableContent method
822
+ * The setMergeableContent method sets the full content of a MergeableStore,
823
+ * together with the metadata required to make it mergeable with another.
824
+ *
825
+ * This has schema-based typing. The following is a simplified representation:
826
+ *
827
+ * ```ts override
828
+ * setMergeableContent(mergeableContent: MergeableContent): MergeableStore;
829
+ * ```
830
+ *
831
+ * The method is generally intended to be used internally within TinyBase
832
+ * itself and the return type is assumed to be opaque to applications that use
833
+ * it.
834
+ * @param mergeableContent The full content and metadata of a MergeableStore.
835
+ * @returns A reference to the MergeableStore.
836
+ * @example
837
+ * This example creates a new MergeableStore and initializes it with
838
+ * the content and metadata from another.
839
+ *
840
+ * ```js
841
+ * import {createMergeableStore} from 'tinybase';
842
+ *
843
+ * const store1 = createMergeableStore('store1'); // !resetHlc
844
+ * store1.setValues({employees: 3});
845
+ * console.log(store1.getMergeableContent());
846
+ * // ->
847
+ * [
848
+ * [{}, '', 0],
849
+ * [{employees: [3, 'Nn1JUF-----FnHIC', 1940815977]}, '', 1260895905],
850
+ * ];
851
+ *
852
+ * const store2 = createMergeableStore('store2');
853
+ * store2.setMergeableContent(store1.getMergeableContent());
854
+ * console.log(store2.getMergeableContent());
855
+ * // ->
856
+ * [
857
+ * [{}, '', 0],
858
+ * [{employees: [3, 'Nn1JUF-----FnHIC', 1940815977]}, '', 1260895905],
859
+ * ];
860
+ * ```
328
861
  * @category Setter
329
862
  * @since v5.0.0
330
863
  */
@@ -333,21 +866,135 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
333
866
  ): MergeableStore<Schemas>;
334
867
 
335
868
  /**
336
- * The setDefaultContent method
869
+ * The setDefaultContent method sets initial content of a MergeableStore.
870
+ *
871
+ * This has schema-based typing. The following is a simplified representation:
872
+ *
873
+ * ```ts override
874
+ * setDefaultContent(content: Content): MergeableStore;
875
+ * ```
876
+ *
877
+ * This differs from the setMergeableContent method in that all of the
878
+ * metadata is initialized with a empty HLC timestamp - meaning that any
879
+ * changes applied to it will 'win', yet ensuring that at least default,
880
+ * initial data exists.
881
+ *
882
+ * The method is generally intended to be used internally within TinyBase
883
+ * itself and the return type is assumed to be opaque to applications that use
884
+ * it.
885
+ * @param content An array containing the tabular and keyed-value data to be
886
+ * set.
887
+ * @returns A reference to the MergeableStore.
888
+ * @example
889
+ * This example creates a new MergeableStore with default data, and
890
+ * demonstrates that it is overwritten with another MergeableStore's data on
891
+ * merge, even if the other MergeableStore was provisioned earlier.
892
+ *
893
+ * ```js
894
+ * import {createMergeableStore} from 'tinybase';
895
+ *
896
+ * const store1 = createMergeableStore('store1'); // !resetHlc
897
+ * store1.setValues({employees: 3});
898
+ *
899
+ * const store2 = createMergeableStore('store2');
900
+ * store2.setDefaultContent([{}, {employees: 4}]);
901
+ * console.log(store2.getMergeableContent());
902
+ * // -> [[{}, "", 0], [{"employees": [4, "", 2414055963]}, "", 3035768673]]
903
+ * ```
904
+ *
905
+ * store2.merge(store1);
906
+ *
907
+ * console.log(store2.getContent());
908
+ * // -> [{}, {employees: 3}]
909
+ * ```
337
910
  * @category Setter
338
911
  * @since v5.0.0
339
912
  */
340
913
  setDefaultContent(content: Content<Schemas>): MergeableStore<Schemas>;
341
914
 
342
915
  /**
343
- * The getTransactionMergeableChanges method
344
- * @category Getter
916
+ * The getTransactionMergeableChanges method returns the net meaningful
917
+ * changes that have been made to a MergeableStore during a transaction.
918
+ *
919
+ * This has schema-based typing. The following is a simplified representation:
920
+ *
921
+ * ```ts override
922
+ * getTransactionMergeableChanges(): MergeableChanges;
923
+ * ```
924
+ *
925
+ * The method is generally intended to be used internally within TinyBase
926
+ * itself and the return type is assumed to be opaque to applications that use
927
+ * it.
928
+ * @returns A MergeableChanges object representing the changes.
929
+ * @example
930
+ * This example makes changes to the MergeableStore. At the end of the
931
+ * transaction, detail about what changed is enumerated.
932
+ *
933
+ * ```js
934
+ * import {createMergeableStore} from 'tinybase';
935
+ *
936
+ * const store = createMergeableStore('store1'); // !resetHlc
937
+ * store.setTables({pets: {fido: {species: 'dog', color: 'brown'}}});
938
+ * store.setValues({open: true});
939
+ *
940
+ * store
941
+ * .startTransaction()
942
+ * .setCell('pets', 'fido', 'color', 'black')
943
+ * .setValue('open', false)
944
+ * .finishTransaction(() => {
945
+ * console.log(store.getTransactionMergeableChanges());
946
+ * });
947
+ * // ->
948
+ * [
949
+ * [{pets: [{fido: [{color: ['black', 'Nn1JUF----2FnHIC']}]}]}],
950
+ * [{open: [false, 'Nn1JUF----3FnHIC']}],
951
+ * 1,
952
+ * ];
953
+ * ```
954
+ * @category Transaction
345
955
  * @since v5.0.0
346
956
  */
347
957
  getTransactionMergeableChanges(): MergeableChanges<Schemas>;
348
958
 
349
959
  /**
350
- * The applyMergeableChanges method
960
+ * The applyMergeableChanges method applies a set of mergeable changes or
961
+ * content to the MergeableStore.
962
+ *
963
+ * This has schema-based typing. The following is a simplified representation:
964
+ *
965
+ * ```ts override
966
+ * applyMergeableChanges(
967
+ * mergeableChanges: MergeableChanges | MergeableContent,
968
+ * ): MergeableStore;
969
+ * ```
970
+ *
971
+ * The method is generally intended to be used internally within TinyBase
972
+ * itself and the return type is assumed to be opaque to applications that use
973
+ * it.
974
+ * @param mergeableChanges The MergeableChanges or MergeableContent to apply
975
+ * to the MergeableStore.
976
+ * @returns A reference to the MergeableStore.
977
+ * @example
978
+ * This example applies a MergeableChanges object that sets a Cell and removes
979
+ * a Value.
980
+ *
981
+ * ```js
982
+ * import {createMergeableStore} from 'tinybase';
983
+ *
984
+ * const store = createMergeableStore('store1')
985
+ * .setTables({pets: {fido: {species: 'dog', color: 'brown'}}})
986
+ * .setValues({open: true});
987
+ *
988
+ * store.applyMergeableChanges([
989
+ * [{pets: [{fido: [{color: ['black', 'Nn1JUF----2FnHIC']}]}]}],
990
+ * [{open: [null, 'Nn1JUF----3FnHIC']}],
991
+ * 1,
992
+ * ]);
993
+ * console.log(store.getTables());
994
+ * // -> {pets: {fido: {species: 'dog', color: 'black'}}}
995
+ * console.log(store.getValues());
996
+ * // -> {}
997
+ * ```
351
998
  * @category Setter
352
999
  * @since v5.0.0
353
1000
  */
@@ -356,7 +1003,94 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
356
1003
  ): MergeableStore<Schemas>;
357
1004
 
358
1005
  /**
359
- * The merge method
1006
+ * The merge method is a convenience method that applies the mergeable content
1007
+ * from two MergeableStores to each other in order to bring them to the same
1008
+ * state.
1009
+ *
1010
+ * This has schema-based typing. The following is a simplified representation:
1011
+ *
1012
+ * ```ts override
1013
+ * merge(mergeableStore: MergeableStore): MergeableStore;
1014
+ * ```
1015
+ *
1016
+ * This method is symmetrical: applying `store1` to `store2` will have exactly
1017
+ * the same effect as applying `store2` to `store1`.
1018
+ * @param mergeableStore A reference to the other MergeableStore to merge with
1019
+ * this one.
1020
+ * @returns A reference to this MergeableStore.
1021
+ * @example
1022
+ * This example merges two MergeableStore objects together. Note how the final
1023
+ * part of the timestamps on each Cell give you a clue that the data comes
1024
+ * from changes made to different MergeableStore objects.
1025
+ *
1026
+ * ```js
1027
+ * import {createMergeableStore} from 'tinybase';
1028
+ *
1029
+ * const store1 = createMergeableStore('store1');
1030
+ * store1.setTables({pets: {fido: {species: 'dog', color: 'brown'}}});
1031
+ *
1032
+ * const store2 = createMergeableStore('store2');
1033
+ * store2.setTables({pets: {felix: {species: 'cat', color: 'tan'}}});
1034
+ *
1035
+ * store1.merge(store2);
1036
+ *
1037
+ * console.log(store1.getContent());
1038
+ * // ->
1039
+ * [
1040
+ * {
1041
+ * pets: {
1042
+ * felix: {color: 'tan', species: 'cat'},
1043
+ * fido: {color: 'brown', species: 'dog'},
1044
+ * },
1045
+ * },
1046
+ * {},
1047
+ * ];
1048
+ *
1049
+ * console.log(store2.getContent());
1050
+ * // ->
1051
+ * [
1052
+ * {
1053
+ * pets: {
1054
+ * felix: {color: 'tan', species: 'cat'},
1055
+ * fido: {color: 'brown', species: 'dog'},
1056
+ * },
1057
+ * },
1058
+ * {},
1059
+ * ];
1060
+ * console.log(store2.getMergeableContent());
1061
+ * // ->
1062
+ * [
1063
+ * [
1064
+ * {
1065
+ * pets: [
1066
+ * {
1067
+ * felix: [
1068
+ * {
1069
+ * color: ['tan', 'Nn1JUF----0CnH-J', 2576658292],
1070
+ * species: ['cat', 'Nn1JUF-----CnH-J', 3409607562],
1071
+ * },
1072
+ * '',
1073
+ * 4146239216,
1074
+ * ],
1075
+ * fido: [
1076
+ * {
1077
+ * color: ['brown', 'Nn1JUF----0FnHIC', 1240535355],
1078
+ * species: ['dog', 'Nn1JUF-----FnHIC', 290599168],
1079
+ * },
1080
+ * '',
1081
+ * 3989065420,
1082
+ * ],
1083
+ * },
1084
+ * '',
1085
+ * 4155188296,
1086
+ * ],
1087
+ * },
1088
+ * '',
1089
+ * 972931118,
1090
+ * ],
1091
+ * [{}, '', 0],
1092
+ * ];
1093
+ * ```
360
1094
  * @category Setter
361
1095
  * @since v5.0.0
362
1096
  */
@@ -587,7 +1321,114 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
587
1321
  }
588
1322
 
589
1323
  /**
590
- * The createMergeableStore function
1324
+ * The createMergeableStore function creates a MergeableStore, and is the main
1325
+ * entry point into the mergeable-store module.
1326
+ *
1327
+ * This has schema-based typing. The following is a simplified representation:
1328
+ *
1329
+ * ```ts override
1330
+ * createMergeableStore(uniqueId?: Id): MergeableStore;
1331
+ * ```
1332
+ *
1333
+ * There is one optional parameter which is a uniqueId for the MergeableStore.
1334
+ * This is used to distinguish conflicting changes made in the same millisecond
1335
+ * by two different MergeableStore objects as its hash is added to the end of
1336
+ * the HLC timestamps. Generally this can be omitted unless you have a need for
1337
+ * deterministic HLCs, such as in a testing scenario. Otherwise, TinyBase will
1338
+ * assign a unique Id to the Store at the time of creation.
1339
+ * @returns A reference to the new MergeableStore.
1340
+ * @example
1341
+ * This example creates a MergeableStore.
1342
+ *
1343
+ * ```js
1344
+ * import {createMergeableStore} from 'tinybase';
1345
+ *
1346
+ * const store = createMergeableStore('store1');
1347
+ *
1348
+ * console.log(store.getContent());
1349
+ * // -> [{}, {}]
1350
+ * console.log(store.getMergeableContent());
1351
+ * // -> [[{}, '', 0], [{}, '', 0]]
1352
+ * ```
1353
+ * @example
1354
+ * This example creates a MergeableStore with some initial data:
1355
+ *
1356
+ * ```js
1357
+ * import {createMergeableStore} from 'tinybase';
1358
+ *
1359
+ * const store = createMergeableStore('store1').setTables({
1360
+ * pets: {fido: {species: 'dog'}},
1361
+ * });
1362
+ *
1363
+ * console.log(store.getContent());
1364
+ * // -> [{pets: {fido: {species: 'dog'}}}, {}]
1365
+ * console.log(store.getMergeableContent());
1366
+ * // ->
1367
+ * [
1368
+ * [
1369
+ * {
1370
+ * pets: [
1371
+ * {
1372
+ * fido: [
1373
+ * {species: ['dog', 'Nn1JUF-----FnHIC', 290599168]},
1374
+ * '',
1375
+ * 2682656941,
1376
+ * ],
1377
+ * },
1378
+ * '',
1379
+ * 2102515304,
1380
+ * ],
1381
+ * },
1382
+ * '',
1383
+ * 3506229770,
1384
+ * ],
1385
+ * [{}, '', 0],
1386
+ * ];
1387
+ * ```
1388
+ * @example
1389
+ * This example creates a MergeableStore with some initial data and a
1390
+ * TablesSchema:
1391
+ *
1392
+ * ```js
1393
+ * import {createMergeableStore} from 'tinybase';
1394
+ *
1395
+ * const store = createMergeableStore('store1')
1396
+ * .setTables({pets: {fido: {species: 'dog'}}})
1397
+ * .setTablesSchema({
1398
+ * pets: {
1399
+ * species: {type: 'string'},
1400
+ * sold: {type: 'boolean', default: false},
1401
+ * },
1402
+ * });
1403
+ *
1404
+ * console.log(store.getContent());
1405
+ * // -> [{pets: {fido: {sold: false, species: 'dog'}}}, {}]
1406
+ * console.log(store.getMergeableContent());
1407
+ * // ->
1408
+ * [
1409
+ * [
1410
+ * {
1411
+ * pets: [
1412
+ * {
1413
+ * fido: [
1414
+ * {
1415
+ * sold: [false, 'Nn1JUF----2FnHIC', 2603026204],
1416
+ * species: ['dog', 'Nn1JUF----1FnHIC', 2817056260],
1417
+ * },
1418
+ * '',
1419
+ * 2859424112,
1420
+ * ],
1421
+ * },
1422
+ * '',
1423
+ * 1640515891,
1424
+ * ],
1425
+ * },
1426
+ * '',
1427
+ * 2077041985,
1428
+ * ],
1429
+ * [{}, '', 0],
1430
+ * ];
1431
+ * ```
591
1432
  * @category Creation
592
1433
  * @since v5.0.0
593
1434
  */