tinybase 5.2.0-beta.4 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/@types/mergeable-store/index.d.cts +114 -11
  2. package/@types/mergeable-store/index.d.ts +114 -11
  3. package/@types/mergeable-store/with-schemas/index.d.cts +192 -11
  4. package/@types/mergeable-store/with-schemas/index.d.ts +192 -11
  5. package/@types/persisters/index.d.cts +177 -16
  6. package/@types/persisters/index.d.ts +177 -16
  7. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +1 -1
  8. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +1 -1
  9. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +2 -2
  10. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +2 -2
  11. package/@types/persisters/persister-electric-sql/index.d.cts +1 -1
  12. package/@types/persisters/persister-electric-sql/index.d.ts +1 -1
  13. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +2 -2
  14. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +2 -2
  15. package/@types/persisters/persister-expo-sqlite/index.d.cts +1 -1
  16. package/@types/persisters/persister-expo-sqlite/index.d.ts +1 -1
  17. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +2 -2
  18. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +2 -2
  19. package/@types/persisters/persister-libsql/index.d.cts +1 -1
  20. package/@types/persisters/persister-libsql/index.d.ts +1 -1
  21. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +2 -2
  22. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +2 -2
  23. package/@types/persisters/persister-pglite/index.d.cts +1 -1
  24. package/@types/persisters/persister-pglite/index.d.ts +1 -1
  25. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +2 -2
  26. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +2 -2
  27. package/@types/persisters/persister-postgres/index.d.cts +1 -1
  28. package/@types/persisters/persister-postgres/index.d.ts +1 -1
  29. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -2
  30. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -2
  31. package/@types/persisters/persister-powersync/index.d.cts +1 -1
  32. package/@types/persisters/persister-powersync/index.d.ts +1 -1
  33. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +2 -2
  34. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +2 -2
  35. package/@types/persisters/persister-sqlite-wasm/index.d.cts +1 -1
  36. package/@types/persisters/persister-sqlite-wasm/index.d.ts +1 -1
  37. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +2 -2
  38. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +2 -2
  39. package/@types/persisters/persister-sqlite3/index.d.cts +1 -1
  40. package/@types/persisters/persister-sqlite3/index.d.ts +1 -1
  41. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +2 -2
  42. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +2 -2
  43. package/@types/persisters/with-schemas/index.d.cts +227 -19
  44. package/@types/persisters/with-schemas/index.d.ts +227 -19
  45. package/@types/synchronizers/index.d.cts +2 -5
  46. package/@types/synchronizers/index.d.ts +2 -5
  47. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +7 -7
  48. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +7 -7
  49. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +7 -7
  50. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +7 -7
  51. package/@types/synchronizers/with-schemas/index.d.cts +2 -5
  52. package/@types/synchronizers/with-schemas/index.d.ts +2 -5
  53. package/cjs/es6/index.cjs +54 -566
  54. package/cjs/es6/mergeable-store/index.cjs +9 -6
  55. package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -6
  56. package/cjs/es6/min/index.cjs +1 -1
  57. package/cjs/es6/min/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  91. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  92. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  93. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  94. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/persisters/index.cjs +1095 -10
  97. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +58 -49
  98. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +58 -49
  99. package/cjs/es6/persisters/persister-electric-sql/index.cjs +56 -47
  100. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
  101. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +58 -49
  102. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +58 -49
  103. package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -2
  104. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
  105. package/cjs/es6/persisters/persister-libsql/index.cjs +56 -47
  106. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +56 -47
  107. package/cjs/es6/persisters/persister-pglite/index.cjs +61 -54
  108. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +61 -54
  109. package/cjs/es6/persisters/persister-postgres/index.cjs +63 -56
  110. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +63 -56
  111. package/cjs/es6/persisters/persister-powersync/index.cjs +58 -49
  112. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +58 -49
  113. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +62 -49
  114. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +62 -49
  115. package/cjs/es6/persisters/persister-sqlite3/index.cjs +58 -49
  116. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
  117. package/cjs/es6/persisters/with-schemas/index.cjs +1095 -10
  118. package/cjs/es6/synchronizers/index.cjs +9 -6
  119. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +9 -6
  120. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +9 -6
  121. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +9 -6
  122. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +9 -6
  123. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +9 -6
  124. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +9 -6
  125. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +17 -14
  126. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +17 -14
  127. package/cjs/es6/synchronizers/with-schemas/index.cjs +9 -6
  128. package/cjs/es6/with-schemas/index.cjs +54 -566
  129. package/cjs/index.cjs +45 -447
  130. package/cjs/mergeable-store/index.cjs +1 -0
  131. package/cjs/mergeable-store/with-schemas/index.cjs +1 -0
  132. package/cjs/min/index.cjs +1 -1
  133. package/cjs/min/index.cjs.gz +0 -0
  134. package/cjs/min/persisters/index.cjs +1 -1
  135. package/cjs/min/persisters/index.cjs.gz +0 -0
  136. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  137. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  138. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  139. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  140. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  141. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  142. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  143. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  145. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  146. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  147. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  149. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  150. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  151. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  152. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  153. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  154. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  155. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  156. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  157. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  158. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  159. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  160. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  161. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  162. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  163. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  164. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  165. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  167. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  168. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  169. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/min/with-schemas/index.cjs +1 -1
  171. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  172. package/cjs/persisters/index.cjs +833 -0
  173. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +57 -48
  174. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +57 -48
  175. package/cjs/persisters/persister-electric-sql/index.cjs +56 -47
  176. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
  177. package/cjs/persisters/persister-expo-sqlite/index.cjs +57 -48
  178. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +57 -48
  179. package/cjs/persisters/persister-indexed-db/index.cjs +2 -2
  180. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
  181. package/cjs/persisters/persister-libsql/index.cjs +56 -47
  182. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +56 -47
  183. package/cjs/persisters/persister-pglite/index.cjs +59 -52
  184. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +59 -52
  185. package/cjs/persisters/persister-postgres/index.cjs +61 -54
  186. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +61 -54
  187. package/cjs/persisters/persister-powersync/index.cjs +60 -49
  188. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +60 -49
  189. package/cjs/persisters/persister-sqlite-wasm/index.cjs +58 -49
  190. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +58 -49
  191. package/cjs/persisters/persister-sqlite3/index.cjs +58 -49
  192. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
  193. package/cjs/persisters/with-schemas/index.cjs +833 -0
  194. package/cjs/synchronizers/index.cjs +1 -0
  195. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  196. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  197. package/cjs/synchronizers/synchronizer-local/index.cjs +1 -0
  198. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
  199. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -0
  200. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
  201. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +9 -8
  202. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +9 -8
  203. package/cjs/synchronizers/with-schemas/index.cjs +1 -0
  204. package/cjs/with-schemas/index.cjs +45 -447
  205. package/es6/index.js +54 -566
  206. package/es6/mergeable-store/index.js +9 -6
  207. package/es6/mergeable-store/with-schemas/index.js +9 -6
  208. package/es6/min/index.js +1 -1
  209. package/es6/min/index.js.gz +0 -0
  210. package/es6/min/persisters/index.js +1 -1
  211. package/es6/min/persisters/index.js.gz +0 -0
  212. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  213. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  214. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  215. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  216. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  217. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  218. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  219. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  220. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  221. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  222. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  223. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  224. package/es6/min/persisters/persister-libsql/index.js +1 -1
  225. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  226. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  227. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  228. package/es6/min/persisters/persister-powersync/index.js +1 -1
  229. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  230. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  231. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  232. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  233. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  234. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  235. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  236. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  237. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  238. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  239. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  240. package/es6/min/persisters/with-schemas/index.js +1 -1
  241. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  242. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  243. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  244. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  245. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  246. package/es6/min/with-schemas/index.js +1 -1
  247. package/es6/min/with-schemas/index.js.gz +0 -0
  248. package/es6/persisters/index.js +1099 -11
  249. package/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
  250. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
  251. package/es6/persisters/persister-electric-sql/index.js +56 -47
  252. package/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  253. package/es6/persisters/persister-expo-sqlite/index.js +58 -49
  254. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
  255. package/es6/persisters/persister-indexed-db/index.js +2 -2
  256. package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  257. package/es6/persisters/persister-libsql/index.js +56 -47
  258. package/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
  259. package/es6/persisters/persister-pglite/index.js +61 -54
  260. package/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
  261. package/es6/persisters/persister-postgres/index.js +63 -56
  262. package/es6/persisters/persister-postgres/with-schemas/index.js +63 -56
  263. package/es6/persisters/persister-powersync/index.js +58 -49
  264. package/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
  265. package/es6/persisters/persister-sqlite-wasm/index.js +62 -49
  266. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
  267. package/es6/persisters/persister-sqlite3/index.js +58 -49
  268. package/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  269. package/es6/persisters/with-schemas/index.js +1099 -11
  270. package/es6/synchronizers/index.js +9 -6
  271. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
  272. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
  273. package/es6/synchronizers/synchronizer-local/index.js +9 -6
  274. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
  275. package/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
  276. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
  277. package/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
  278. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
  279. package/es6/synchronizers/with-schemas/index.js +9 -6
  280. package/es6/with-schemas/index.js +54 -566
  281. package/index.js +45 -447
  282. package/mergeable-store/index.js +1 -0
  283. package/mergeable-store/with-schemas/index.js +1 -0
  284. package/min/index.js +1 -1
  285. package/min/index.js.gz +0 -0
  286. package/min/persisters/index.js +1 -1
  287. package/min/persisters/index.js.gz +0 -0
  288. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  289. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  290. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  291. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  292. package/min/persisters/persister-electric-sql/index.js +1 -1
  293. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  294. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  295. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  296. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  297. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  298. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  299. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  300. package/min/persisters/persister-libsql/index.js +1 -1
  301. package/min/persisters/persister-libsql/index.js.gz +0 -0
  302. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  303. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  304. package/min/persisters/persister-powersync/index.js +1 -1
  305. package/min/persisters/persister-powersync/index.js.gz +0 -0
  306. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  307. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  308. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  309. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  310. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  311. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  312. package/min/persisters/persister-sqlite3/index.js +1 -1
  313. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  314. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  315. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  316. package/min/persisters/with-schemas/index.js +1 -1
  317. package/min/persisters/with-schemas/index.js.gz +0 -0
  318. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  319. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  320. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  321. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  322. package/min/with-schemas/index.js +1 -1
  323. package/min/with-schemas/index.js.gz +0 -0
  324. package/package.json +212 -212
  325. package/persisters/index.js +837 -1
  326. package/persisters/persister-cr-sqlite-wasm/index.js +57 -48
  327. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
  328. package/persisters/persister-electric-sql/index.js +56 -47
  329. package/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  330. package/persisters/persister-expo-sqlite/index.js +57 -48
  331. package/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
  332. package/persisters/persister-indexed-db/index.js +2 -2
  333. package/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  334. package/persisters/persister-libsql/index.js +56 -47
  335. package/persisters/persister-libsql/with-schemas/index.js +56 -47
  336. package/persisters/persister-pglite/index.js +59 -52
  337. package/persisters/persister-pglite/with-schemas/index.js +59 -52
  338. package/persisters/persister-postgres/index.js +61 -54
  339. package/persisters/persister-postgres/with-schemas/index.js +61 -54
  340. package/persisters/persister-powersync/index.js +60 -49
  341. package/persisters/persister-powersync/with-schemas/index.js +60 -49
  342. package/persisters/persister-sqlite-wasm/index.js +58 -49
  343. package/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
  344. package/persisters/persister-sqlite3/index.js +58 -49
  345. package/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  346. package/persisters/with-schemas/index.js +837 -1
  347. package/readme.md +14 -14
  348. package/releases.md +27 -23
  349. package/synchronizers/index.js +1 -0
  350. package/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  351. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  352. package/synchronizers/synchronizer-local/index.js +1 -0
  353. package/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  354. package/synchronizers/synchronizer-ws-client/index.js +1 -0
  355. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  356. package/synchronizers/synchronizer-ws-server/index.js +9 -8
  357. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
  358. package/synchronizers/with-schemas/index.js +1 -0
  359. package/umd/es6/index.js +54 -577
  360. package/umd/es6/mergeable-store/index.js +9 -6
  361. package/umd/es6/mergeable-store/with-schemas/index.js +9 -6
  362. package/umd/es6/min/index.js +1 -1
  363. package/umd/es6/min/index.js.gz +0 -0
  364. package/umd/es6/min/persisters/index.js +1 -1
  365. package/umd/es6/min/persisters/index.js.gz +0 -0
  366. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  367. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  368. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  369. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  370. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  371. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  372. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  373. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  374. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  375. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  376. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  377. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  378. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  379. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  380. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  381. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  382. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  383. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  384. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  385. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  386. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  387. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  388. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  389. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  390. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  391. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  392. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  393. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  394. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  395. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  396. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  397. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  398. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  399. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  400. package/umd/es6/min/with-schemas/index.js +1 -1
  401. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  402. package/umd/es6/persisters/index.js +1106 -10
  403. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
  404. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
  405. package/umd/es6/persisters/persister-electric-sql/index.js +56 -47
  406. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  407. package/umd/es6/persisters/persister-expo-sqlite/index.js +58 -49
  408. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
  409. package/umd/es6/persisters/persister-indexed-db/index.js +2 -2
  410. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  411. package/umd/es6/persisters/persister-libsql/index.js +56 -47
  412. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
  413. package/umd/es6/persisters/persister-pglite/index.js +61 -54
  414. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
  415. package/umd/es6/persisters/persister-postgres/index.js +66 -56
  416. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +66 -56
  417. package/umd/es6/persisters/persister-powersync/index.js +58 -49
  418. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
  419. package/umd/es6/persisters/persister-sqlite-wasm/index.js +58 -49
  420. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
  421. package/umd/es6/persisters/persister-sqlite3/index.js +58 -49
  422. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  423. package/umd/es6/persisters/with-schemas/index.js +1106 -10
  424. package/umd/es6/synchronizers/index.js +9 -6
  425. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
  426. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
  427. package/umd/es6/synchronizers/synchronizer-local/index.js +9 -6
  428. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
  429. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
  430. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
  431. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
  432. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
  433. package/umd/es6/synchronizers/with-schemas/index.js +9 -6
  434. package/umd/es6/with-schemas/index.js +54 -577
  435. package/umd/index.js +45 -454
  436. package/umd/mergeable-store/index.js +1 -0
  437. package/umd/mergeable-store/with-schemas/index.js +1 -0
  438. package/umd/min/index.js +1 -1
  439. package/umd/min/index.js.gz +0 -0
  440. package/umd/min/persisters/index.js +1 -1
  441. package/umd/min/persisters/index.js.gz +0 -0
  442. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  443. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  444. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  445. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  446. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  447. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  448. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  449. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  450. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  451. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  452. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  453. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  454. package/umd/min/persisters/persister-libsql/index.js +1 -1
  455. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  456. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  457. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  458. package/umd/min/persisters/persister-powersync/index.js +1 -1
  459. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  460. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  461. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  462. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  463. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  464. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  465. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  466. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  467. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  468. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  469. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  470. package/umd/min/persisters/with-schemas/index.js +1 -1
  471. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  472. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  473. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  474. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  475. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  476. package/umd/min/with-schemas/index.js +1 -1
  477. package/umd/min/with-schemas/index.js.gz +0 -0
  478. package/umd/persisters/index.js +835 -0
  479. package/umd/persisters/persister-cr-sqlite-wasm/index.js +57 -48
  480. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
  481. package/umd/persisters/persister-electric-sql/index.js +56 -47
  482. package/umd/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  483. package/umd/persisters/persister-expo-sqlite/index.js +57 -48
  484. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
  485. package/umd/persisters/persister-indexed-db/index.js +2 -2
  486. package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  487. package/umd/persisters/persister-libsql/index.js +56 -47
  488. package/umd/persisters/persister-libsql/with-schemas/index.js +56 -47
  489. package/umd/persisters/persister-pglite/index.js +59 -52
  490. package/umd/persisters/persister-pglite/with-schemas/index.js +59 -52
  491. package/umd/persisters/persister-postgres/index.js +61 -54
  492. package/umd/persisters/persister-postgres/with-schemas/index.js +61 -54
  493. package/umd/persisters/persister-powersync/index.js +58 -49
  494. package/umd/persisters/persister-powersync/with-schemas/index.js +58 -49
  495. package/umd/persisters/persister-sqlite-wasm/index.js +62 -49
  496. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
  497. package/umd/persisters/persister-sqlite3/index.js +58 -49
  498. package/umd/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  499. package/umd/persisters/with-schemas/index.js +835 -0
  500. package/umd/synchronizers/index.js +1 -0
  501. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  502. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  503. package/umd/synchronizers/synchronizer-local/index.js +1 -0
  504. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  505. package/umd/synchronizers/synchronizer-ws-client/index.js +1 -0
  506. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  507. package/umd/synchronizers/synchronizer-ws-server/index.js +9 -8
  508. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
  509. package/umd/synchronizers/with-schemas/index.js +1 -0
  510. package/umd/with-schemas/index.js +45 -454
  511. package/with-schemas/index.js +45 -447
@@ -73,52 +73,155 @@ export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
73
73
  ? [thing: Thing, time: Time, hash: Hash]
74
74
  : [thing: Thing, time?: Time];
75
75
 
76
- // ContentHashes
76
+ /**
77
+ * The ContentHashes type is used to quickly compare the content of two
78
+ * MergeableStore objects.
79
+ *
80
+ * It is simply an array of two Hash types, one for the MergeableStore's Tables
81
+ * and one for its Values.
82
+ *
83
+ * This type is mostly utilized internally within TinyBase itself and is
84
+ * generally assumed to be opaque to applications that use it.
85
+ * @category Syncing
86
+ * @since v5.0.0
87
+ */
77
88
  export type ContentHashes = [tablesHash: Hash, valuesHash: Hash];
78
89
 
79
- // TablesStamp
90
+ /**
91
+ * The TablesStamp type is used as metadata to decide how to merge two different
92
+ * sets of Tables together.
93
+ *
94
+ * This type is mostly utilized internally within TinyBase itself and is
95
+ * generally assumed to be opaque to applications that use it.
96
+ * @category Stamps
97
+ * @since v5.0.0
98
+ */
80
99
  export type TablesStamp<Hashed extends boolean = false> = Stamp<
81
100
  {[tableId: Id]: TableStamp<Hashed>},
82
101
  Hashed
83
102
  >;
84
103
 
85
- // TableHashes
104
+ /**
105
+ * The TableHashes type is used to quickly compare the content of two sets of
106
+ * Table objects.
107
+ *
108
+ * It is simply an object of Hash types, one for each Table Id in the
109
+ * MergeableStore.
110
+ *
111
+ * This type is mostly utilized internally within TinyBase itself and is
112
+ * generally assumed to be opaque to applications that use it.
113
+ * @category Syncing
114
+ * @since v5.0.0
115
+ */
86
116
  export type TableHashes = {[tableId: Id]: Hash};
87
117
 
88
- // TableStamp
118
+ /**
119
+ * The TableStamp type is used as metadata to decide how to merge two different
120
+ * Table objects together.
121
+ *
122
+ * This type is mostly utilized internally within TinyBase itself and is
123
+ * generally assumed to be opaque to applications that use it.
124
+ * @category Stamps
125
+ * @since v5.0.0
126
+ */
89
127
  export type TableStamp<Hashed extends boolean = false> = Stamp<
90
128
  {[rowId: Id]: RowStamp<Hashed>},
91
129
  Hashed
92
130
  >;
93
131
 
94
- // RowHashes
132
+ /**
133
+ * The RowHashes type is used to quickly compare the content of two sets of Row
134
+ * objects.
135
+ *
136
+ * It is simply a nested object of Hash types, one for each Row Id, for each
137
+ * TableId, in the MergeableStore.
138
+ *
139
+ * This type is mostly utilized internally within TinyBase itself and is
140
+ * generally assumed to be opaque to applications that use it.
141
+ * @category Syncing
142
+ * @since v5.0.0
143
+ */
95
144
  export type RowHashes = {[tableId: Id]: {[rowId: Id]: Hash}};
96
145
 
97
- // RowStamp
146
+ /**
147
+ * The RowStamp type is used as metadata to decide how to merge two different
148
+ * Row objects together.
149
+ *
150
+ * This type is mostly utilized internally within TinyBase itself and is
151
+ * generally assumed to be opaque to applications that use it.
152
+ * @category Stamps
153
+ * @since v5.0.0
154
+ */
98
155
  export type RowStamp<Hashed extends boolean = false> = Stamp<
99
156
  {[cellId: Id]: CellStamp<Hashed>},
100
157
  Hashed
101
158
  >;
102
159
 
103
- // CellHashes
160
+ /**
161
+ * The CellHashes type is used to quickly compare the content of two sets of
162
+ * Cell objects.
163
+ *
164
+ * It is simply a nested object of Hash types, one for each Cell Id, for each
165
+ * Row Id, for each TableId, in the MergeableStore.
166
+ *
167
+ * This type is mostly utilized internally within TinyBase itself and is
168
+ * generally assumed to be opaque to applications that use it.
169
+ * @category Syncing
170
+ * @since v5.0.0
171
+ */
104
172
  export type CellHashes = {[tableId: Id]: {[rowId: Id]: {[cellId: Id]: Hash}}};
105
173
 
106
- // CellStamp
174
+ /**
175
+ * The CellStamp type is used as metadata to decide how to merge two different
176
+ * Cell objects together.
177
+ *
178
+ * This type is mostly utilized internally within TinyBase itself and is
179
+ * generally assumed to be opaque to applications that use it.
180
+ * @category Stamps
181
+ * @since v5.0.0
182
+ */
107
183
  export type CellStamp<Hashed extends boolean = false> = Stamp<
108
184
  CellOrUndefined,
109
185
  Hashed
110
186
  >;
111
187
 
112
- // ValuesStamp
188
+ /**
189
+ * The ValuesStamp type is used as metadata to decide how to merge two different
190
+ * sets of Values together.
191
+ *
192
+ * This type is mostly utilized internally within TinyBase itself and is
193
+ * generally assumed to be opaque to applications that use it.
194
+ * @category Stamps
195
+ * @since v5.0.0
196
+ */
113
197
  export type ValuesStamp<Hashed extends boolean = false> = Stamp<
114
198
  {[valueId: Id]: ValueStamp<Hashed>},
115
199
  Hashed
116
200
  >;
117
201
 
118
- // ValueHashes
202
+ /**
203
+ * The ValueHashes type is used to quickly compare the content of two sets of
204
+ * Value objects.
205
+ *
206
+ * It is simply an object of Hash types, one for each Value Id in the
207
+ * MergeableStore.
208
+ *
209
+ * This type is mostly utilized internally within TinyBase itself and is
210
+ * generally assumed to be opaque to applications that use it.
211
+ * @category Syncing
212
+ * @since v5.0.0
213
+ */
119
214
  export type ValueHashes = {[valueId: Id]: Hash};
120
215
 
121
- // ValueStamp
216
+ /**
217
+ * The ValueStamp type is used as metadata to decide how to merge two different
218
+ * Value objects together.
219
+ *
220
+ * This type is mostly utilized internally within TinyBase itself and is
221
+ * generally assumed to be opaque to applications that use it.
222
+ * @category Stamps
223
+ * @since v5.0.0
224
+ */
122
225
  export type ValueStamp<Hashed extends boolean = false> = Stamp<
123
226
  ValueOrUndefined,
124
227
  Hashed
@@ -73,52 +73,155 @@ export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
73
73
  ? [thing: Thing, time: Time, hash: Hash]
74
74
  : [thing: Thing, time?: Time];
75
75
 
76
- // ContentHashes
76
+ /**
77
+ * The ContentHashes type is used to quickly compare the content of two
78
+ * MergeableStore objects.
79
+ *
80
+ * It is simply an array of two Hash types, one for the MergeableStore's Tables
81
+ * and one for its Values.
82
+ *
83
+ * This type is mostly utilized internally within TinyBase itself and is
84
+ * generally assumed to be opaque to applications that use it.
85
+ * @category Syncing
86
+ * @since v5.0.0
87
+ */
77
88
  export type ContentHashes = [tablesHash: Hash, valuesHash: Hash];
78
89
 
79
- // TablesStamp
90
+ /**
91
+ * The TablesStamp type is used as metadata to decide how to merge two different
92
+ * sets of Tables together.
93
+ *
94
+ * This type is mostly utilized internally within TinyBase itself and is
95
+ * generally assumed to be opaque to applications that use it.
96
+ * @category Stamps
97
+ * @since v5.0.0
98
+ */
80
99
  export type TablesStamp<Hashed extends boolean = false> = Stamp<
81
100
  {[tableId: Id]: TableStamp<Hashed>},
82
101
  Hashed
83
102
  >;
84
103
 
85
- // TableHashes
104
+ /**
105
+ * The TableHashes type is used to quickly compare the content of two sets of
106
+ * Table objects.
107
+ *
108
+ * It is simply an object of Hash types, one for each Table Id in the
109
+ * MergeableStore.
110
+ *
111
+ * This type is mostly utilized internally within TinyBase itself and is
112
+ * generally assumed to be opaque to applications that use it.
113
+ * @category Syncing
114
+ * @since v5.0.0
115
+ */
86
116
  export type TableHashes = {[tableId: Id]: Hash};
87
117
 
88
- // TableStamp
118
+ /**
119
+ * The TableStamp type is used as metadata to decide how to merge two different
120
+ * Table objects together.
121
+ *
122
+ * This type is mostly utilized internally within TinyBase itself and is
123
+ * generally assumed to be opaque to applications that use it.
124
+ * @category Stamps
125
+ * @since v5.0.0
126
+ */
89
127
  export type TableStamp<Hashed extends boolean = false> = Stamp<
90
128
  {[rowId: Id]: RowStamp<Hashed>},
91
129
  Hashed
92
130
  >;
93
131
 
94
- // RowHashes
132
+ /**
133
+ * The RowHashes type is used to quickly compare the content of two sets of Row
134
+ * objects.
135
+ *
136
+ * It is simply a nested object of Hash types, one for each Row Id, for each
137
+ * TableId, in the MergeableStore.
138
+ *
139
+ * This type is mostly utilized internally within TinyBase itself and is
140
+ * generally assumed to be opaque to applications that use it.
141
+ * @category Syncing
142
+ * @since v5.0.0
143
+ */
95
144
  export type RowHashes = {[tableId: Id]: {[rowId: Id]: Hash}};
96
145
 
97
- // RowStamp
146
+ /**
147
+ * The RowStamp type is used as metadata to decide how to merge two different
148
+ * Row objects together.
149
+ *
150
+ * This type is mostly utilized internally within TinyBase itself and is
151
+ * generally assumed to be opaque to applications that use it.
152
+ * @category Stamps
153
+ * @since v5.0.0
154
+ */
98
155
  export type RowStamp<Hashed extends boolean = false> = Stamp<
99
156
  {[cellId: Id]: CellStamp<Hashed>},
100
157
  Hashed
101
158
  >;
102
159
 
103
- // CellHashes
160
+ /**
161
+ * The CellHashes type is used to quickly compare the content of two sets of
162
+ * Cell objects.
163
+ *
164
+ * It is simply a nested object of Hash types, one for each Cell Id, for each
165
+ * Row Id, for each TableId, in the MergeableStore.
166
+ *
167
+ * This type is mostly utilized internally within TinyBase itself and is
168
+ * generally assumed to be opaque to applications that use it.
169
+ * @category Syncing
170
+ * @since v5.0.0
171
+ */
104
172
  export type CellHashes = {[tableId: Id]: {[rowId: Id]: {[cellId: Id]: Hash}}};
105
173
 
106
- // CellStamp
174
+ /**
175
+ * The CellStamp type is used as metadata to decide how to merge two different
176
+ * Cell objects together.
177
+ *
178
+ * This type is mostly utilized internally within TinyBase itself and is
179
+ * generally assumed to be opaque to applications that use it.
180
+ * @category Stamps
181
+ * @since v5.0.0
182
+ */
107
183
  export type CellStamp<Hashed extends boolean = false> = Stamp<
108
184
  CellOrUndefined,
109
185
  Hashed
110
186
  >;
111
187
 
112
- // ValuesStamp
188
+ /**
189
+ * The ValuesStamp type is used as metadata to decide how to merge two different
190
+ * sets of Values together.
191
+ *
192
+ * This type is mostly utilized internally within TinyBase itself and is
193
+ * generally assumed to be opaque to applications that use it.
194
+ * @category Stamps
195
+ * @since v5.0.0
196
+ */
113
197
  export type ValuesStamp<Hashed extends boolean = false> = Stamp<
114
198
  {[valueId: Id]: ValueStamp<Hashed>},
115
199
  Hashed
116
200
  >;
117
201
 
118
- // ValueHashes
202
+ /**
203
+ * The ValueHashes type is used to quickly compare the content of two sets of
204
+ * Value objects.
205
+ *
206
+ * It is simply an object of Hash types, one for each Value Id in the
207
+ * MergeableStore.
208
+ *
209
+ * This type is mostly utilized internally within TinyBase itself and is
210
+ * generally assumed to be opaque to applications that use it.
211
+ * @category Syncing
212
+ * @since v5.0.0
213
+ */
119
214
  export type ValueHashes = {[valueId: Id]: Hash};
120
215
 
121
- // ValueStamp
216
+ /**
217
+ * The ValueStamp type is used as metadata to decide how to merge two different
218
+ * Value objects together.
219
+ *
220
+ * This type is mostly utilized internally within TinyBase itself and is
221
+ * generally assumed to be opaque to applications that use it.
222
+ * @category Stamps
223
+ * @since v5.0.0
224
+ */
122
225
  export type ValueStamp<Hashed extends boolean = false> = Stamp<
123
226
  ValueOrUndefined,
124
227
  Hashed
@@ -86,10 +86,38 @@ export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
86
86
  ? [thing: Thing, time: Time, hash: Hash]
87
87
  : [thing: Thing, time?: Time];
88
88
 
89
- // ContentHashes
89
+ /**
90
+ * The ContentHashes type is used to quickly compare the content of two
91
+ * MergeableStore objects.
92
+ *
93
+ * It is simply an array of two Hash types, one for the MergeableStore's Tables
94
+ * and one for its Values.
95
+ *
96
+ * This type is mostly utilized internally within TinyBase itself and is
97
+ * generally assumed to be opaque to applications that use it.
98
+ * @category Syncing
99
+ * @since v5.0.0
100
+ */
90
101
  export type ContentHashes = [tablesHash: Hash, valuesHash: Hash];
91
102
 
92
- // TablesStamp
103
+ /**
104
+ * The TablesStamp type is used as metadata to decide how to merge two different
105
+ * sets of Tables together.
106
+ *
107
+ * This has schema-based typing. The following is a simplified representation:
108
+ *
109
+ * ```ts override
110
+ * export type TablesStamp<Hashed extends boolean = false> = Stamp<
111
+ * {[tableId: Id]: TableStamp<Hashed>},
112
+ * Hashed
113
+ * >;
114
+ * ```
115
+ *
116
+ * This type is mostly utilized internally within TinyBase itself and is
117
+ * generally assumed to be opaque to applications that use it.
118
+ * @category Stamps
119
+ * @since v5.0.0
120
+ */
93
121
  export type TablesStamp<
94
122
  Schema extends OptionalTablesSchema,
95
123
  Hashed extends boolean = false,
@@ -104,24 +132,92 @@ export type TablesStamp<
104
132
  Hashed
105
133
  >;
106
134
 
107
- // TableHashes
135
+ /**
136
+ * The TableHashes type is used to quickly compare the content of two sets of
137
+ * Table objects.
138
+ *
139
+ * This has schema-based typing. The following is a simplified representation:
140
+ *
141
+ * ```ts override
142
+ * {[tableId: Id]: Hash};
143
+ * ```
144
+ *
145
+ * It is simply an object of Hash types, one for each Table Id in the
146
+ * MergeableStore.
147
+ *
148
+ * This type is mostly utilized internally within TinyBase itself and is
149
+ * generally assumed to be opaque to applications that use it.
150
+ * @category Syncing
151
+ * @since v5.0.0
152
+ */
108
153
  export type TableHashes<Schema extends OptionalTablesSchema> = {
109
154
  [TableId in TableIdFromSchema<Schema>]?: Hash;
110
155
  };
111
156
 
112
- // TableStamp
157
+ /**
158
+ * The TableStamp type is used as metadata to decide how to merge two different
159
+ * Table objects together.
160
+ *
161
+ * This has schema-based typing. The following is a simplified representation:
162
+ *
163
+ * ```ts override
164
+ * export type TableStamp<Hashed extends boolean = false> = Stamp<
165
+ * {[rowId: Id]: RowStamp<Hashed>},
166
+ * Hashed
167
+ * >;
168
+ * ```
169
+ *
170
+ * This type is mostly utilized internally within TinyBase itself and is
171
+ * generally assumed to be opaque to applications that use it.
172
+ * @category Stamps
173
+ * @since v5.0.0
174
+ */
113
175
  export type TableStamp<
114
176
  Schema extends OptionalTablesSchema,
115
177
  TableId extends TableIdFromSchema<Schema>,
116
178
  Hashed extends boolean = false,
117
179
  > = Stamp<{[rowId: Id]: RowStamp<Schema, TableId, Hashed>}, Hashed>;
118
180
 
119
- // RowHashes
181
+ /**
182
+ * The RowHashes type is used to quickly compare the content of two sets of Row
183
+ * objects.
184
+ *
185
+ * This has schema-based typing. The following is a simplified representation:
186
+ *
187
+ * ```ts override
188
+ * {[tableId: Id]: {[rowId: Id]: Hash}};
189
+ * ```
190
+ *
191
+ * It is simply a nested object of Hash types, one for each Row Id, for each
192
+ * TableId, in the MergeableStore.
193
+ *
194
+ * This type is mostly utilized internally within TinyBase itself and is
195
+ * generally assumed to be opaque to applications that use it.
196
+ * @category Syncing
197
+ * @since v5.0.0
198
+ */
120
199
  export type RowHashes<Schema extends OptionalTablesSchema> = {
121
200
  [TableId in TableIdFromSchema<Schema>]?: {[rowId: Id]: Hash};
122
201
  };
123
202
 
124
- // RowStamp
203
+ /**
204
+ * The RowStamp type is used as metadata to decide how to merge two different
205
+ * Row objects together.
206
+ *
207
+ * This has schema-based typing. The following is a simplified representation:
208
+ *
209
+ * ```ts override
210
+ * export type RowStamp<Hashed extends boolean = false> = Stamp<
211
+ * {[cellId: Id]: CellStamp<Hashed>},
212
+ * Hashed
213
+ * >;
214
+ * ```
215
+ *
216
+ * This type is mostly utilized internally within TinyBase itself and is
217
+ * generally assumed to be opaque to applications that use it.
218
+ * @category Stamps
219
+ * @since v5.0.0
220
+ */
125
221
  export type RowStamp<
126
222
  Schema extends OptionalTablesSchema,
127
223
  TableId extends TableIdFromSchema<Schema>,
@@ -138,14 +234,48 @@ export type RowStamp<
138
234
  Hashed
139
235
  >;
140
236
 
141
- // CellHashes
237
+ /**
238
+ * The CellHashes type is used to quickly compare the content of two sets of
239
+ * Cell objects.
240
+ *
241
+ * This has schema-based typing. The following is a simplified representation:
242
+ *
243
+ * ```ts override
244
+ * {[tableId: Id]: {[rowId: Id]: {[cellId: Id]: Hash}}};
245
+ * ```
246
+ *
247
+ * It is simply a nested object of Hash types, one for each Cell Id, for each
248
+ * Row Id, for each TableId, in the MergeableStore.
249
+ *
250
+ * This type is mostly utilized internally within TinyBase itself and is
251
+ * generally assumed to be opaque to applications that use it.
252
+ * @category Syncing
253
+ * @since v5.0.0
254
+ */
142
255
  export type CellHashes<Schema extends OptionalTablesSchema> = {
143
256
  [TableId in TableIdFromSchema<Schema>]?: {
144
257
  [rowId: Id]: {[CellId in CellIdFromSchema<Schema, TableId>]?: Hash};
145
258
  };
146
259
  };
147
260
 
148
- // CellStamp
261
+ /**
262
+ * The CellStamp type is used as metadata to decide how to merge two different
263
+ * Cell objects together.
264
+ *
265
+ * This has schema-based typing. The following is a simplified representation:
266
+ *
267
+ * ```ts override
268
+ * export type CellStamp<Hashed extends boolean = false> = Stamp<
269
+ * CellOrUndefined,
270
+ * Hashed
271
+ * >;
272
+ * ```
273
+ *
274
+ * This type is mostly utilized internally within TinyBase itself and is
275
+ * generally assumed to be opaque to applications that use it.
276
+ * @category Stamps
277
+ * @since v5.0.0
278
+ */
149
279
  export type CellStamp<
150
280
  Schema extends OptionalTablesSchema,
151
281
  TableId extends TableIdFromSchema<Schema>,
@@ -153,7 +283,24 @@ export type CellStamp<
153
283
  Hashed extends boolean = false,
154
284
  > = Stamp<CellOrUndefined<Schema, TableId, CellId>, Hashed>;
155
285
 
156
- // ValuesStamp
286
+ /**
287
+ * The ValuesStamp type is used as metadata to decide how to merge two different
288
+ * sets of Values together.
289
+ *
290
+ * This has schema-based typing. The following is a simplified representation:
291
+ *
292
+ * ```ts override
293
+ * export type ValuesStamp<Hashed extends boolean = false> = Stamp<
294
+ * {[valueId: Id]: ValueStamp<Hashed>},
295
+ * Hashed
296
+ * >;
297
+ * ```
298
+ *
299
+ * This type is mostly utilized internally within TinyBase itself and is
300
+ * generally assumed to be opaque to applications that use it.
301
+ * @category Stamps
302
+ * @since v5.0.0
303
+ */
157
304
  export type ValuesStamp<
158
305
  Schema extends OptionalValuesSchema,
159
306
  Hashed extends boolean = false,
@@ -168,12 +315,46 @@ export type ValuesStamp<
168
315
  Hashed
169
316
  >;
170
317
 
171
- // ValueHashes
318
+ /**
319
+ * The ValueHashes type is used to quickly compare the content of two sets of
320
+ * Value objects.
321
+ *
322
+ * This has schema-based typing. The following is a simplified representation:
323
+ *
324
+ * ```ts override
325
+ * {[valueId: Id]: Hash};
326
+ * ```
327
+ *
328
+ * It is simply an object of Hash types, one for each Value Id in the
329
+ * MergeableStore.
330
+ *
331
+ * This type is mostly utilized internally within TinyBase itself and is
332
+ * generally assumed to be opaque to applications that use it.
333
+ * @category Syncing
334
+ * @since v5.0.0
335
+ */
172
336
  export type ValueHashes<Schema extends OptionalValuesSchema> = {
173
337
  [ValueId in ValueIdFromSchema<Schema>]?: Hash;
174
338
  };
175
339
 
176
- // ValueStamp
340
+ /**
341
+ * The ValueStamp type is used as metadata to decide how to merge two different
342
+ * Value objects together.
343
+ *
344
+ * This has schema-based typing. The following is a simplified representation:
345
+ *
346
+ * ```ts override
347
+ * export type ValueStamp<Hashed extends boolean = false> = Stamp<
348
+ * ValueOrUndefined,
349
+ * Hashed
350
+ * >;
351
+ * ```
352
+ *
353
+ * This type is mostly utilized internally within TinyBase itself and is
354
+ * generally assumed to be opaque to applications that use it.
355
+ * @category Stamps
356
+ * @since v5.0.0
357
+ */
177
358
  export type ValueStamp<
178
359
  Schema extends OptionalValuesSchema,
179
360
  ValueId extends ValueIdFromSchema<Schema>,