tinybase 5.0.0-beta.5 → 5.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  32. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  33. package/lib/cjs/persisters.cjs +1 -1
  34. package/lib/cjs/persisters.cjs.gz +0 -0
  35. package/lib/cjs/store.cjs +1 -1
  36. package/lib/cjs/store.cjs.gz +0 -0
  37. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -0
  38. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -0
  40. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -0
  42. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  43. package/lib/cjs/synchronizers.cjs +1 -0
  44. package/lib/cjs/synchronizers.cjs.gz +0 -0
  45. package/lib/cjs/tinybase.cjs +1 -1
  46. package/lib/cjs/tinybase.cjs.gz +0 -0
  47. package/lib/cjs/tools.cjs +1 -1
  48. package/lib/cjs/tools.cjs.gz +0 -0
  49. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  50. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  51. package/lib/cjs/ui-react.cjs +1 -1
  52. package/lib/cjs/ui-react.cjs.gz +0 -0
  53. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  54. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  76. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  84. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters.cjs +1 -1
  86. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  87. package/lib/cjs-es6/store.cjs +1 -1
  88. package/lib/cjs-es6/store.cjs.gz +0 -0
  89. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -0
  90. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  91. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -0
  92. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  93. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -0
  94. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  95. package/lib/cjs-es6/synchronizers.cjs +1 -0
  96. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  97. package/lib/cjs-es6/tinybase.cjs +1 -1
  98. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  99. package/lib/cjs-es6/tools.cjs +1 -1
  100. package/lib/cjs-es6/tools.cjs.gz +0 -0
  101. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  102. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  103. package/lib/cjs-es6/ui-react.cjs +1 -1
  104. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  105. package/lib/debug/mergeable-store.js +287 -130
  106. package/lib/debug/persisters/persister-automerge.js +39 -46
  107. package/lib/debug/persisters/persister-browser.js +39 -46
  108. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +64 -60
  109. package/lib/debug/persisters/persister-electric-sql.js +64 -60
  110. package/lib/debug/persisters/persister-expo-sqlite-next.js +64 -60
  111. package/lib/debug/persisters/persister-expo-sqlite.js +64 -60
  112. package/lib/debug/persisters/persister-file.js +39 -46
  113. package/lib/debug/persisters/persister-indexed-db.js +39 -46
  114. package/lib/debug/persisters/persister-libsql.js +64 -60
  115. package/lib/debug/persisters/persister-partykit-client.js +39 -46
  116. package/lib/debug/persisters/persister-powersync.js +917 -0
  117. package/lib/debug/persisters/persister-remote.js +39 -46
  118. package/lib/debug/persisters/persister-sqlite-wasm.js +64 -60
  119. package/lib/debug/persisters/persister-sqlite3.js +64 -60
  120. package/lib/debug/persisters/persister-yjs.js +41 -48
  121. package/lib/debug/persisters.js +38 -45
  122. package/lib/debug/store.js +44 -32
  123. package/lib/debug/synchronizers/synchronizer-local.js +502 -0
  124. package/lib/debug/synchronizers/synchronizer-ws-client.js +525 -0
  125. package/lib/debug/synchronizers/synchronizer-ws-server.js +57 -0
  126. package/lib/debug/synchronizers.js +466 -0
  127. package/lib/debug/tinybase.js +569 -250
  128. package/lib/debug/tools.js +2 -2
  129. package/lib/debug/ui-react-dom.js +81 -76
  130. package/lib/debug/ui-react.js +1 -1
  131. package/lib/es6/mergeable-store.js +1 -1
  132. package/lib/es6/mergeable-store.js.gz +0 -0
  133. package/lib/es6/persisters/persister-automerge.js +1 -1
  134. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  135. package/lib/es6/persisters/persister-browser.js +1 -1
  136. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  137. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  138. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  139. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  140. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  141. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  142. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  143. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  144. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  145. package/lib/es6/persisters/persister-file.js +1 -1
  146. package/lib/es6/persisters/persister-file.js.gz +0 -0
  147. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  148. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  149. package/lib/es6/persisters/persister-libsql.js +1 -1
  150. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  151. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  152. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  153. package/lib/es6/persisters/persister-powersync.js +1 -0
  154. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  155. package/lib/es6/persisters/persister-remote.js +1 -1
  156. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  157. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  158. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  159. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  160. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  161. package/lib/es6/persisters/persister-yjs.js +1 -1
  162. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  163. package/lib/es6/persisters.js +1 -1
  164. package/lib/es6/persisters.js.gz +0 -0
  165. package/lib/es6/store.js +1 -1
  166. package/lib/es6/store.js.gz +0 -0
  167. package/lib/es6/synchronizers/synchronizer-local.js +1 -0
  168. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  169. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -0
  170. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  171. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -0
  172. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  173. package/lib/es6/synchronizers.js +1 -0
  174. package/lib/es6/synchronizers.js.gz +0 -0
  175. package/lib/es6/tinybase.js +1 -1
  176. package/lib/es6/tinybase.js.gz +0 -0
  177. package/lib/es6/tools.js +1 -1
  178. package/lib/es6/tools.js.gz +0 -0
  179. package/lib/es6/ui-react-dom-debug.js +1 -1
  180. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  181. package/lib/es6/ui-react.js +1 -1
  182. package/lib/es6/ui-react.js.gz +0 -0
  183. package/lib/mergeable-store.js +1 -1
  184. package/lib/mergeable-store.js.gz +0 -0
  185. package/lib/persisters/persister-automerge.js +1 -1
  186. package/lib/persisters/persister-automerge.js.gz +0 -0
  187. package/lib/persisters/persister-browser.js +1 -1
  188. package/lib/persisters/persister-browser.js.gz +0 -0
  189. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  190. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  191. package/lib/persisters/persister-electric-sql.js +1 -1
  192. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  193. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  194. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  195. package/lib/persisters/persister-expo-sqlite.js +1 -1
  196. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  197. package/lib/persisters/persister-file.js +1 -1
  198. package/lib/persisters/persister-file.js.gz +0 -0
  199. package/lib/persisters/persister-indexed-db.js +1 -1
  200. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  201. package/lib/persisters/persister-libsql.js +1 -1
  202. package/lib/persisters/persister-libsql.js.gz +0 -0
  203. package/lib/persisters/persister-partykit-client.js +1 -1
  204. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  205. package/lib/persisters/persister-powersync.js +1 -0
  206. package/lib/persisters/persister-powersync.js.gz +0 -0
  207. package/lib/persisters/persister-remote.js +1 -1
  208. package/lib/persisters/persister-remote.js.gz +0 -0
  209. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  210. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  211. package/lib/persisters/persister-sqlite3.js +1 -1
  212. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  213. package/lib/persisters/persister-yjs.js +1 -1
  214. package/lib/persisters/persister-yjs.js.gz +0 -0
  215. package/lib/persisters.js +1 -1
  216. package/lib/persisters.js.gz +0 -0
  217. package/lib/store.js +1 -1
  218. package/lib/store.js.gz +0 -0
  219. package/lib/synchronizers/synchronizer-local.js +1 -0
  220. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  221. package/lib/synchronizers/synchronizer-ws-client.js +1 -0
  222. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  223. package/lib/synchronizers/synchronizer-ws-server.js +1 -0
  224. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  225. package/lib/synchronizers.js +1 -0
  226. package/lib/synchronizers.js.gz +0 -0
  227. package/lib/tinybase.js +1 -1
  228. package/lib/tinybase.js.gz +0 -0
  229. package/lib/tools.js +1 -1
  230. package/lib/tools.js.gz +0 -0
  231. package/lib/types/checkpoints.d.ts +2 -2
  232. package/lib/types/indexes.d.ts +2 -2
  233. package/lib/types/mergeable-store.d.ts +121 -59
  234. package/lib/types/metrics.d.ts +2 -2
  235. package/lib/types/persisters/persister-automerge.d.ts +3 -0
  236. package/lib/types/persisters/persister-browser.d.ts +9 -2
  237. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
  238. package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
  239. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
  240. package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
  241. package/lib/types/persisters/persister-file.d.ts +5 -1
  242. package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
  243. package/lib/types/persisters/persister-libsql.d.ts +3 -0
  244. package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
  245. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  246. package/lib/types/persisters/persister-remote.d.ts +3 -0
  247. package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
  248. package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
  249. package/lib/types/persisters/persister-yjs.d.ts +5 -2
  250. package/lib/types/persisters.d.ts +68 -19
  251. package/lib/types/queries.d.ts +2 -2
  252. package/lib/types/relationships.d.ts +2 -2
  253. package/lib/types/store.d.ts +36 -3
  254. package/lib/types/synchronizers/synchronizer-local.d.ts +27 -0
  255. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +30 -0
  256. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +24 -0
  257. package/lib/types/synchronizers.d.ts +131 -0
  258. package/lib/types/tinybase.d.ts +10 -9
  259. package/lib/types/tools.d.ts +2 -2
  260. package/lib/types/ui-react.d.ts +8 -8
  261. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  262. package/lib/types/with-schemas/indexes.d.ts +2 -2
  263. package/lib/types/with-schemas/mergeable-store.d.ts +185 -87
  264. package/lib/types/with-schemas/metrics.d.ts +2 -2
  265. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
  266. package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
  267. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
  268. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
  269. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
  270. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
  271. package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
  272. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
  273. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +4 -1
  274. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
  275. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  276. package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
  277. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
  278. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
  279. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
  280. package/lib/types/with-schemas/persisters.d.ts +90 -62
  281. package/lib/types/with-schemas/queries.d.ts +3 -3
  282. package/lib/types/with-schemas/relationships.d.ts +2 -2
  283. package/lib/types/with-schemas/store.d.ts +100 -3
  284. package/lib/types/with-schemas/synchronizers/synchronizer-local.d.ts +29 -0
  285. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +32 -0
  286. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +24 -0
  287. package/lib/types/with-schemas/synchronizers.d.ts +146 -0
  288. package/lib/types/with-schemas/tinybase.d.ts +9 -9
  289. package/lib/types/with-schemas/tools.d.ts +2 -2
  290. package/lib/types/with-schemas/ui-react.d.ts +8 -8
  291. package/lib/ui-react.js +1 -1
  292. package/lib/ui-react.js.gz +0 -0
  293. package/lib/umd/mergeable-store.js +1 -1
  294. package/lib/umd/mergeable-store.js.gz +0 -0
  295. package/lib/umd/persisters/persister-automerge.js +1 -1
  296. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  297. package/lib/umd/persisters/persister-browser.js +1 -1
  298. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  299. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  300. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  301. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  302. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  303. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  304. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  305. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  306. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  307. package/lib/umd/persisters/persister-file.js +1 -1
  308. package/lib/umd/persisters/persister-file.js.gz +0 -0
  309. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  310. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  311. package/lib/umd/persisters/persister-libsql.js +1 -1
  312. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  313. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  314. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  315. package/lib/umd/persisters/persister-powersync.js +1 -0
  316. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  317. package/lib/umd/persisters/persister-remote.js +1 -1
  318. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  319. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  320. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  321. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  322. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  323. package/lib/umd/persisters/persister-yjs.js +1 -1
  324. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  325. package/lib/umd/persisters.js +1 -1
  326. package/lib/umd/persisters.js.gz +0 -0
  327. package/lib/umd/store.js +1 -1
  328. package/lib/umd/store.js.gz +0 -0
  329. package/lib/umd/synchronizers/synchronizer-local.js +1 -0
  330. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  331. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -0
  332. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  333. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -0
  334. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  335. package/lib/umd/synchronizers.js +1 -0
  336. package/lib/umd/synchronizers.js.gz +0 -0
  337. package/lib/umd/tinybase.js +1 -1
  338. package/lib/umd/tinybase.js.gz +0 -0
  339. package/lib/umd/tools.js +1 -1
  340. package/lib/umd/tools.js.gz +0 -0
  341. package/lib/umd/ui-react-dom-debug.js +1 -1
  342. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  343. package/lib/umd/ui-react.js +1 -1
  344. package/lib/umd/ui-react.js.gz +0 -0
  345. package/lib/umd-es6/mergeable-store.js +1 -1
  346. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  347. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  348. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  349. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  350. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  351. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  352. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  353. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  354. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  355. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  356. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  357. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  358. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  359. package/lib/umd-es6/persisters/persister-file.js +1 -1
  360. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  361. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  362. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  363. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  364. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  365. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  366. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  367. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  368. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  369. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  370. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  371. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  372. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  373. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  374. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  375. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  376. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  377. package/lib/umd-es6/persisters.js +1 -1
  378. package/lib/umd-es6/persisters.js.gz +0 -0
  379. package/lib/umd-es6/store.js +1 -1
  380. package/lib/umd-es6/store.js.gz +0 -0
  381. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -0
  382. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  383. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -0
  384. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  385. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -0
  386. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  387. package/lib/umd-es6/synchronizers.js +1 -0
  388. package/lib/umd-es6/synchronizers.js.gz +0 -0
  389. package/lib/umd-es6/tinybase.js +1 -1
  390. package/lib/umd-es6/tinybase.js.gz +0 -0
  391. package/lib/umd-es6/tools.js +1 -1
  392. package/lib/umd-es6/tools.js.gz +0 -0
  393. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  394. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  395. package/lib/umd-es6/ui-react.js +1 -1
  396. package/lib/umd-es6/ui-react.js.gz +0 -0
  397. package/package.json +37 -26
  398. package/readme.md +2 -2
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The synchronizer-ws module of the TinyBase project lets you synchronize
3
+ * MergeableStore data to and from other MergeableStore instances via WebSockets
4
+ * facilitated by a server.
5
+ * @see Synchronizing Data guide
6
+ * @packageDocumentation
7
+ * @module synchronizer-ws-client
8
+ * @since v5.0.0
9
+ */
10
+
11
+ import {MergeableStore} from '../mergeable-store';
12
+ import {Synchronizer} from '../synchronizers';
13
+ import {WebSocket} from 'ws';
14
+
15
+ /**
16
+ * The WsSynchronizer interface
17
+ * @category Synchronizer
18
+ */
19
+ export interface WsSynchronizer extends Synchronizer {}
20
+
21
+ /**
22
+ * The createWsSynchronizer function
23
+ * @category Creation
24
+ */
25
+ export function createWsSynchronizer(
26
+ store: MergeableStore,
27
+ webSocket: WebSocket,
28
+ requestTimeoutSeconds?: number,
29
+ onIgnoredError?: (error: any) => void,
30
+ ): Promise<WsSynchronizer>;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The synchronizer-ws-server module of the TinyBase project lets you create
3
+ * a server that facilitates synchronization between clients.
4
+ * @see Synchronizing Data guide
5
+ * @packageDocumentation
6
+ * @module synchronizer-ws-server
7
+ * @since v5.0.0
8
+ */
9
+
10
+ import {WebSocketServer} from 'ws';
11
+
12
+ /**
13
+ * The WsServer interface
14
+ */
15
+ export interface WsServer {
16
+ getWebSocketServer: () => WebSocketServer;
17
+ destroy: () => void;
18
+ }
19
+
20
+ /**
21
+ * The createWsServer function
22
+ * @category Creation
23
+ */
24
+ export function createWsServer(WebSocketServer: WebSocketServer): WsServer;
@@ -0,0 +1,131 @@
1
+ /**
2
+ * The persister-sync module of the TinyBase project lets you synchronize
3
+ * MergeableStore data to and from other MergeableStore instances.
4
+ * @see Synchronizing Data guide
5
+ * @packageDocumentation
6
+ * @module synchronizers
7
+ * @since v5.0.0
8
+ */
9
+
10
+ import {Id, IdOrNull} from './common';
11
+ import {MergeableStore} from './mergeable-store';
12
+ import {Persister} from './persisters';
13
+
14
+ /**
15
+ * The MessageType type
16
+ * @category Synchronization
17
+ */
18
+ export type MessageType = number;
19
+
20
+ /**
21
+ * The Receive type
22
+ * @category Synchronization
23
+ */
24
+ export type Receive = (
25
+ fromClientId: Id,
26
+ requestId: IdOrNull,
27
+ messageType: MessageType,
28
+ messageBody: any,
29
+ ) => void;
30
+
31
+ /**
32
+ * The Send type
33
+ * @category Synchronization
34
+ */
35
+ export type Send = (
36
+ toClientId: IdOrNull,
37
+ requestId: IdOrNull,
38
+ messageType: MessageType,
39
+ messageBody: any,
40
+ ) => void;
41
+
42
+ /**
43
+ * The SynchronizerStats type
44
+ * @category Development
45
+ */
46
+ export type SynchronizerStats = {
47
+ sends?: number;
48
+ receives?: number;
49
+ };
50
+
51
+ /**
52
+ * The Synchronizer interface is a minor extension to the Persister interface.
53
+ *
54
+ * It provides extra convenience methods for starting and stopping the
55
+ * synchronization.
56
+ *
57
+ * You should use the createCustomSynchronizer function to create a Synchronizer
58
+ * object.
59
+ * @category Synchronizer
60
+ * @since v5.0.0
61
+ */
62
+ export interface Synchronizer extends Persister<true> {
63
+ /**
64
+ * The startSync method
65
+ * @category Synchronization
66
+ */
67
+ startSync(): Promise<this>;
68
+ /**
69
+ * The stopSync method
70
+ * @category Synchronization
71
+ */
72
+ stopSync(): this;
73
+ /**
74
+ * The getSynchronizerStats method
75
+ * @category Synchronization
76
+ */
77
+ getSynchronizerStats(): SynchronizerStats;
78
+ }
79
+
80
+ /**
81
+ * The createCustomSynchronizer function creates a Synchronizer object that can
82
+ * persist one MergeableStore to another.
83
+ *
84
+ * As well as providing a reference to the MergeableStore to synchronize, you
85
+ * must provide a `client` parameter which identifies the Client that is used to
86
+ * transmit changes to and from this MergeableStore and its peers.
87
+ * @param store The MergeableStore to synchronize.
88
+ * @param client The reference of the Client.
89
+ * @param requestTimeoutSeconds An optional number of seconds before a request
90
+ * to the Client times out, defaulting to 5.
91
+ * @param onIgnoredError An optional handler for the errors that the
92
+ * Synchronizer would otherwise ignore when trying to save or load data. This is
93
+ * suitable for debugging synchronization issues in a development environment.
94
+ * @returns A reference to the new Synchronizer object.
95
+ * @example
96
+ * This example creates a Synchronizer object and synchronizes one
97
+ * MergeableStore to another.
98
+ *
99
+ * ```js
100
+ * const store1 = createMergeableStore('store1').setTables({
101
+ * pets: {fido: {species: 'dog'}},
102
+ * });
103
+ * const synchronizer1 = createLocalSynchronizer(store1);
104
+ *
105
+ * const store2 = createMergeableStore('store2');
106
+ * const synchronizer2 = createLocalSynchronizer(store2);
107
+ * await synchronizer2.startSync();
108
+ *
109
+ * await synchronizer1.save();
110
+ * // ...
111
+ * // Store2 will be synced with Store1.
112
+ *
113
+ * console.log(store2.getTables());
114
+ * // -> {pets: {fido: {species: 'dog'}}}
115
+ *
116
+ * await synchronizer1.load();
117
+ * // Store1 will be synced with Store2.
118
+ *
119
+ * synchronizer1.destroy();
120
+ * synchronizer2.destroy();
121
+ * ```
122
+ * @category Creation
123
+ */
124
+ export function createCustomSynchronizer(
125
+ store: MergeableStore,
126
+ send: Send,
127
+ onReceive: (receive: Receive) => void,
128
+ destroy: () => void,
129
+ requestTimeoutSeconds?: number,
130
+ onIgnoredError?: (error: any) => void,
131
+ ): Synchronizer;
@@ -3,12 +3,13 @@
3
3
  * @packageDocumentation
4
4
  */
5
5
 
6
- export * from './checkpoints.d';
7
- export * from './common.d';
8
- export * from './indexes.d';
9
- export * from './metrics.d';
10
- export * from './persisters.d';
11
- export * from './queries.d';
12
- export * from './relationships.d';
13
- export * from './mergeable-store.d';
14
- export * from './store.d';
6
+ export * from './checkpoints.d.ts';
7
+ export * from './common.d.ts';
8
+ export * from './indexes.d.ts';
9
+ export * from './metrics.d.ts';
10
+ export * from './persisters.d.ts';
11
+ export * from './synchronizers.d.ts';
12
+ export * from './queries.d.ts';
13
+ export * from './relationships.d.ts';
14
+ export * from './mergeable-store.d.ts';
15
+ export * from './store.d.ts';
@@ -9,8 +9,8 @@
9
9
  * @since v2.2.0
10
10
  */
11
11
 
12
- import {Store, TablesSchema, ValuesSchema} from './store.d';
13
- import {Id} from './common.d';
12
+ import {Store, TablesSchema, ValuesSchema} from './store.d.ts';
13
+ import {Id} from './common.d.ts';
14
14
 
15
15
  /**
16
16
  * The StoreStats type describes a set of statistics about the Store, and
@@ -22,7 +22,7 @@
22
22
  * @module ui-react
23
23
  */
24
24
 
25
- import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d';
25
+ import {Callback, Id, IdOrNull, Ids, ParameterizedCallback} from './common.d.ts';
26
26
  import {
27
27
  Cell,
28
28
  CellIdsListener,
@@ -56,22 +56,22 @@ import {
56
56
  ValueOrUndefined,
57
57
  Values,
58
58
  ValuesListener,
59
- } from './store.d';
59
+ } from './store.d.ts';
60
60
  import {
61
61
  CheckpointIds,
62
62
  CheckpointIdsListener,
63
63
  CheckpointListener,
64
64
  Checkpoints,
65
- } from './checkpoints.d';
65
+ } from './checkpoints.d.ts';
66
66
  import {ComponentType, ReactElement} from 'react';
67
- import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d';
67
+ import {Indexes, SliceIdsListener, SliceRowIdsListener} from './indexes.d.ts';
68
68
  import {
69
69
  LinkedRowIdsListener,
70
70
  LocalRowIdsListener,
71
71
  Relationships,
72
72
  RemoteRowIdListener,
73
- } from './relationships.d';
74
- import {MetricListener, Metrics} from './metrics.d';
73
+ } from './relationships.d.ts';
74
+ import {MetricListener, Metrics} from './metrics.d.ts';
75
75
  import {
76
76
  Queries,
77
77
  ResultCellIdsListener,
@@ -82,8 +82,8 @@ import {
82
82
  ResultSortedRowIdsListener,
83
83
  ResultTableCellIdsListener,
84
84
  ResultTableListener,
85
- } from './queries.d';
86
- import {Persister} from './persisters.d';
85
+ } from './queries.d.ts';
86
+ import {Persister} from './persisters.d.ts';
87
87
 
88
88
  /**
89
89
  * The StoreOrStoreId type is used when you need to refer to a Store in a React
@@ -10,8 +10,8 @@
10
10
  * @module checkpoints
11
11
  */
12
12
 
13
- import {Id, IdOrNull, Ids} from './common.d';
14
- import {OptionalSchemas, Store} from './store.d';
13
+ import {Id, IdOrNull, Ids} from './common.d.ts';
14
+ import {OptionalSchemas, Store} from './store.d.ts';
15
15
 
16
16
  /**
17
17
  * The CheckpointIds type is a representation of the list of checkpoint Ids
@@ -17,8 +17,8 @@ import {
17
17
  OptionalTablesSchema,
18
18
  RowCallback,
19
19
  Store,
20
- } from './store.d';
21
- import {Id, IdOrNull, Ids, SortKey} from './common.d';
20
+ } from './store.d.ts';
21
+ import {Id, IdOrNull, Ids, SortKey} from './common.d.ts';
22
22
 
23
23
  /**
24
24
  * The Index type represents the concept of a map of Slice objects, keyed by Id.
@@ -2,6 +2,7 @@
2
2
  * The mergeable-store module
3
3
  * @packageDocumentation
4
4
  * @module mergeable-store
5
+ * @since v5.0.0
5
6
  */
6
7
 
7
8
  import {
@@ -21,9 +22,8 @@ import {
21
22
  TablesSchema,
22
23
  ValueOrUndefined,
23
24
  ValuesSchema,
24
- } from './store.d';
25
- import {Id} from './common';
26
- import {IdObj} from '../../common/obj';
25
+ } from './store.d.ts';
26
+ import {Id, Ids} from './common';
27
27
 
28
28
  /**
29
29
  * The Hash type
@@ -37,39 +37,127 @@ export type Hash = number;
37
37
  */
38
38
  export type Time = string;
39
39
 
40
- /**
41
- * The HashStamp type
42
- * @category Stamps
43
- */
44
- export type HashStamp<Thing> = [time: Time, thing: Thing, hash: Hash];
45
-
46
40
  /**
47
41
  * The Stamp type
48
42
  * @category Stamps
49
43
  */
50
- export type Stamp<Thing> = [time: Time, thing: Thing];
44
+ export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
45
+ ? [time: Time, thing: Thing, hash: Hash]
46
+ : [time: Time, thing: Thing];
47
+
48
+ // ContentHashes
49
+ export type ContentHashes = [time: Time, [tablesHash: Hash, valuesHash: Hash]];
50
+
51
+ // TablesStamp
52
+ export type TablesStamp<
53
+ Schema extends OptionalTablesSchema,
54
+ Hashed extends boolean = false,
55
+ > = Stamp<
56
+ {
57
+ [TableId in TableIdFromSchema<Schema>]?: TableStamp<
58
+ Schema,
59
+ TableId,
60
+ Hashed
61
+ >;
62
+ },
63
+ Hashed
64
+ >;
65
+
66
+ // TableHashes
67
+ export type TableHashes<Schema extends OptionalTablesSchema> = {
68
+ [TableId in TableIdFromSchema<Schema>]?: Hash;
69
+ };
70
+
71
+ // TableIdsDiff
72
+ export type TableIdsDiff<Schema extends OptionalTablesSchema> =
73
+ TableIdFromSchema<Schema>[];
74
+
75
+ // TableStamp
76
+ export type TableStamp<
77
+ Schema extends OptionalTablesSchema,
78
+ TableId extends TableIdFromSchema<Schema>,
79
+ Hashed extends boolean = false,
80
+ > = Stamp<{[rowId: Id]: RowStamp<Schema, TableId, Hashed>}, Hashed>;
81
+
82
+ // RowHashes
83
+ export type RowHashes<Schema extends OptionalTablesSchema> = {
84
+ [TableId in TableIdFromSchema<Schema>]?: {[rowId: Id]: Hash};
85
+ };
86
+
87
+ // RowIdsDiff
88
+ export type RowIdsDiff<Schema extends OptionalTablesSchema> = {
89
+ [TableId in TableIdFromSchema<Schema>]?: Ids;
90
+ };
91
+
92
+ // RowStamp
93
+ export type RowStamp<
94
+ Schema extends OptionalTablesSchema,
95
+ TableId extends TableIdFromSchema<Schema>,
96
+ Hashed extends boolean = false,
97
+ > = Stamp<
98
+ {
99
+ [CellId in CellIdFromSchema<Schema, TableId>]?: CellStamp<
100
+ Schema,
101
+ TableId,
102
+ CellId,
103
+ Hashed
104
+ >;
105
+ },
106
+ Hashed
107
+ >;
108
+
109
+ // CellHashes
110
+ export type CellHashes<Schema extends OptionalTablesSchema> = {
111
+ [TableId in TableIdFromSchema<Schema>]?: {
112
+ [rowId: Id]: {[CellId in CellIdFromSchema<Schema, TableId>]?: Hash};
113
+ };
114
+ };
115
+
116
+ // CellStamp
117
+ export type CellStamp<
118
+ Schema extends OptionalTablesSchema,
119
+ TableId extends TableIdFromSchema<Schema>,
120
+ CellId extends CellIdFromSchema<Schema, TableId>,
121
+ Hashed extends boolean = false,
122
+ > = Stamp<CellOrUndefined<Schema, TableId, CellId>, Hashed>;
123
+
124
+ // ValuesStamp
125
+ export type ValuesStamp<
126
+ Schema extends OptionalValuesSchema,
127
+ Hashed extends boolean = false,
128
+ > = Stamp<
129
+ {
130
+ [ValueId in ValueIdFromSchema<Schema>]?: ValueStamp<
131
+ Schema,
132
+ ValueId,
133
+ Hashed
134
+ >;
135
+ },
136
+ Hashed
137
+ >;
138
+
139
+ // ValuesHashes
140
+ export type ValuesHashes<Schema extends OptionalValuesSchema> = {
141
+ [ValueId in ValueIdFromSchema<Schema>]?: Hash;
142
+ };
143
+
144
+ // ValueStamp
145
+ export type ValueStamp<
146
+ Schema extends OptionalValuesSchema,
147
+ ValueId extends ValueIdFromSchema<Schema>,
148
+ Hashed extends boolean = false,
149
+ > = Stamp<ValueOrUndefined<Schema, ValueId>, Hashed>;
51
150
 
52
151
  /**
53
152
  * The MergeableContent type
54
153
  * @category Mergeable
55
154
  */
56
- export type MergeableContent<Schemas extends OptionalSchemas> = HashStamp<
155
+ export type MergeableContent<Schemas extends OptionalSchemas> = Stamp<
57
156
  [
58
- mergeableTables: HashStamp<{
59
- [TableId in TableIdFromSchema<Schemas[0]>]?: HashStamp<{
60
- [rowId: Id]: HashStamp<{
61
- [CellId in CellIdFromSchema<Schemas[0], TableId>]?: HashStamp<
62
- CellOrUndefined<Schemas[0], TableId, CellId>
63
- >;
64
- }>;
65
- }>;
66
- }>,
67
- mergeableValues: HashStamp<{
68
- [ValueId in ValueIdFromSchema<Schemas[1]>]?: HashStamp<
69
- ValueOrUndefined<Schemas[1], ValueId>
70
- >;
71
- }>,
72
- ]
157
+ mergeableTables: TablesStamp<Schemas[0], true>,
158
+ mergeableValues: ValuesStamp<Schemas[1], true>,
159
+ ],
160
+ true
73
161
  >;
74
162
 
75
163
  /**
@@ -78,22 +166,9 @@ export type MergeableContent<Schemas extends OptionalSchemas> = HashStamp<
78
166
  */
79
167
  export type MergeableChanges<Schemas extends OptionalSchemas> = Stamp<
80
168
  [
81
- mergeableTables: Stamp<{
82
- [TableId in TableIdFromSchema<Schemas[0]>]?: Stamp<
83
- IdObj<
84
- Stamp<{
85
- [CellId in CellIdFromSchema<Schemas[0], TableId>]?: Stamp<
86
- CellOrUndefined<Schemas[0], TableId, CellId>
87
- >;
88
- }>
89
- >
90
- >;
91
- }>,
92
- mergeableValues: Stamp<{
93
- [ValueId in ValueIdFromSchema<Schemas[1]>]?: Stamp<
94
- ValueOrUndefined<Schemas[1], ValueId>
95
- >;
96
- }>,
169
+ mergeableTables: TablesStamp<Schemas[0]>,
170
+ mergeableValues: ValuesStamp<Schemas[1]>,
171
+ isChanges: 1,
97
172
  ]
98
173
  >;
99
174
 
@@ -105,87 +180,110 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
105
180
  extends Store<Schemas> {
106
181
  //
107
182
  /**
108
- * The merge method
109
- * @category Merging
183
+ * The getId method
184
+ * @category Getter
110
185
  */
111
- merge(mergeableStore: MergeableStore<Schemas>): MergeableStore<Schemas>;
186
+ getId(): Id;
112
187
 
113
188
  /**
114
189
  * The getMergeableContent method
115
- * @category Merging
190
+ * @category Getter
116
191
  */
117
192
  getMergeableContent(): MergeableContent<Schemas>;
118
193
 
119
194
  /**
120
- * The setMergeableContent method
121
- * @category Merging
195
+ * The getMergeableContentHashes method
196
+ * @category Syncing
122
197
  */
123
- setMergeableContent(
124
- mergeableContent: MergeableContent<Schemas>,
125
- ): MergeableStore<Schemas>;
198
+ getMergeableContentHashes(): ContentHashes;
126
199
 
127
200
  /**
128
- * The getTransactionMergeableChanges method
129
- * @category Merging
201
+ * The getMergeableTableHashes method
202
+ * @category Syncing
130
203
  */
131
- getTransactionMergeableChanges(): MergeableChanges<Schemas>;
204
+ getMergeableTableHashes(): TableHashes<Schemas[0]>;
132
205
 
133
206
  /**
134
- * The applyMergeableChanges method
135
- * @category Merging
207
+ * The getMergeableTableIdsDiff method
208
+ * @category Syncing
136
209
  */
137
- applyMergeableChanges(
138
- mergeableChanges: MergeableChanges<Schemas> | MergeableContent<Schemas>,
139
- ): MergeableStore<Schemas>;
210
+ getMergeableTableIdsDiff(
211
+ relativeTo: TableHashes<Schemas[0]>,
212
+ ): TableIdsDiff<Schemas[0]>;
213
+
214
+ /**
215
+ * The getMergeableRowHashes method
216
+ * @category Syncing
217
+ */
218
+ getMergeableRowHashes(
219
+ tablesDelta: TableIdsDiff<Schemas[0]>,
220
+ ): RowHashes<Schemas[0]>;
140
221
 
141
222
  /**
142
- * The getContentHash method
143
- * @category Hashes
223
+ * The getMergeableRowIdsDiff method
224
+ * @category Syncing
144
225
  */
145
- getContentHash(): Hash;
226
+ getMergeableRowIdsDiff(
227
+ relativeTo: RowHashes<Schemas[0]>,
228
+ ): RowIdsDiff<Schemas[0]>;
146
229
 
147
230
  /**
148
- * The getTablesHash method
149
- * @category Hashes
231
+ * The getMergeableCellHashes method
232
+ * @category Syncing
150
233
  */
151
- getTablesHash(): Hash;
234
+ getMergeableCellHashes(
235
+ tableDelta: RowIdsDiff<Schemas[0]>,
236
+ ): CellHashes<Schemas[0]>;
152
237
 
153
238
  /**
154
- * The getTableHash method
155
- * @category Hashes
239
+ * The getMergeableTablesChanges method
240
+ * @category Syncing
156
241
  */
157
- getTableHash(tableId: TableIdFromSchema<Schemas[0]>): Hash;
242
+ getMergeableTablesChanges(
243
+ relativeTo: CellHashes<Schemas[0]>,
244
+ ): TablesStamp<Schemas[0]>;
158
245
 
159
246
  /**
160
- * The getRowHash method
161
- * @category Hashes
247
+ * The getMergeableValuesHashes method
248
+ * @category Syncing
249
+ */
250
+ getMergeableValuesHashes(): ValuesHashes<Schemas[1]>;
251
+
252
+ /**
253
+ * The getMergeableValuesChanges method
254
+ * @category Syncing
255
+ */
256
+ getMergeableValuesChanges(
257
+ relativeTo: ValuesHashes<Schemas[1]>,
258
+ ): ValuesStamp<Schemas[1]>;
259
+
260
+ /**
261
+ * The setMergeableContent method
262
+ * @category Setter
162
263
  */
163
- getRowHash<TableId extends TableIdFromSchema<Schemas[0]>>(
164
- tableId: TableId,
165
- rowId: Id,
166
- ): Hash;
264
+ setMergeableContent(
265
+ mergeableContent: MergeableContent<Schemas>,
266
+ ): MergeableStore<Schemas>;
167
267
 
168
268
  /**
169
- * The getCellHash method
170
- * @category Hashes
269
+ * The getTransactionMergeableChanges method
270
+ * @category Getter
171
271
  */
172
- getCellHash<TableId extends TableIdFromSchema<Schemas[0]>>(
173
- tableId: TableId,
174
- rowId: Id,
175
- cellId: CellIdFromSchema<Schemas[0], TableId>,
176
- ): Hash;
272
+ getTransactionMergeableChanges(): MergeableChanges<Schemas>;
177
273
 
178
274
  /**
179
- * The getValuesHash method
180
- * @category Hashes
275
+ * The applyMergeableChanges method
276
+ * @category Setter
181
277
  */
182
- getValuesHash(): Hash;
278
+ applyMergeableChanges(
279
+ mergeableChanges: MergeableChanges<Schemas> | MergeableContent<Schemas>,
280
+ ): MergeableStore<Schemas>;
183
281
 
184
282
  /**
185
- * The getValueHash method
186
- * @category Hashes
283
+ * The merge method
284
+ * @category Setter
187
285
  */
188
- getValueHash(valueId: ValueIdFromSchema<Schemas[1]>): Hash;
286
+ merge(mergeableStore: MergeableStore<Schemas>): MergeableStore<Schemas>;
189
287
 
190
288
  /**
191
289
  * The setTablesSchema method lets you specify the TablesSchema of the tabular
@@ -11,8 +11,8 @@
11
11
  */
12
12
 
13
13
  import {CellIdFromSchema, TableIdFromSchema} from './internal/store';
14
- import {GetCell, OptionalSchemas, Store} from './store.d';
15
- import {Id, IdOrNull, Ids} from './common.d';
14
+ import {GetCell, OptionalSchemas, Store} from './store.d.ts';
15
+ import {Id, IdOrNull, Ids} from './common.d.ts';
16
16
 
17
17
  /**
18
18
  * The Metric type is simply an alias, but represents a number formed by
@@ -21,6 +21,9 @@ import {Persister} from '../persisters';
21
21
  *
22
22
  * It simply provides an extra getDocHandle method for accessing the Automerge
23
23
  * document handler the Store is being persisted to.
24
+ *
25
+ * You should use the createAutomergePersister function to create an
26
+ * AutomergePersister object.
24
27
  * @category Persister
25
28
  * @since v4.3.14
26
29
  */
@@ -47,7 +50,7 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
47
50
  * @category Getter
48
51
  * @since v4.3.14
49
52
  */
50
- getDocHandle: () => DocHandle<any>;
53
+ getDocHandle(): DocHandle<any>;
51
54
  }
52
55
 
53
56
  /**