tinybase 5.0.0-beta.1 → 5.0.0-beta.3

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 (313) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -0
  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-partykit-client.cjs +1 -1
  20. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  24. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  26. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  30. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  31. package/lib/cjs/persisters.cjs +1 -1
  32. package/lib/cjs/persisters.cjs.gz +0 -0
  33. package/lib/cjs/store.cjs +1 -1
  34. package/lib/cjs/store.cjs.gz +0 -0
  35. package/lib/cjs/tinybase.cjs +1 -1
  36. package/lib/cjs/tinybase.cjs.gz +0 -0
  37. package/lib/cjs/tools.cjs +1 -1
  38. package/lib/cjs/tools.cjs.gz +0 -0
  39. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  40. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  41. package/lib/cjs/ui-react-dom.cjs +1 -1
  42. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  43. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  44. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters.cjs +1 -1
  74. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  75. package/lib/cjs-es6/store.cjs +1 -1
  76. package/lib/cjs-es6/store.cjs.gz +0 -0
  77. package/lib/cjs-es6/tinybase.cjs +1 -1
  78. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  79. package/lib/cjs-es6/tools.cjs +1 -1
  80. package/lib/cjs-es6/tools.cjs.gz +0 -0
  81. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  82. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  83. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  84. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  85. package/lib/debug/mergeable-store.js +1863 -0
  86. package/lib/debug/persisters/persister-automerge.js +54 -53
  87. package/lib/debug/persisters/persister-browser.js +28 -18
  88. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +80 -57
  89. package/lib/debug/persisters/persister-electric-sql.js +80 -57
  90. package/lib/debug/persisters/persister-expo-sqlite-next.js +80 -57
  91. package/lib/debug/persisters/persister-expo-sqlite.js +80 -57
  92. package/lib/debug/persisters/persister-file.js +27 -18
  93. package/lib/debug/persisters/persister-indexed-db.js +34 -23
  94. package/lib/debug/persisters/persister-partykit-client.js +26 -23
  95. package/lib/debug/persisters/persister-partykit-server.js +11 -21
  96. package/lib/debug/persisters/persister-remote.js +28 -18
  97. package/lib/debug/persisters/persister-sqlite-wasm.js +80 -57
  98. package/lib/debug/persisters/persister-sqlite3.js +80 -57
  99. package/lib/debug/persisters/persister-yjs.js +50 -48
  100. package/lib/debug/persisters.js +27 -18
  101. package/lib/debug/queries.js +2 -2
  102. package/lib/debug/store.js +63 -71
  103. package/lib/debug/tinybase.js +354 -90
  104. package/lib/debug/tools.js +13 -15
  105. package/lib/debug/ui-react-dom.js +115 -119
  106. package/lib/es6/mergeable-store.js +1 -0
  107. package/lib/es6/mergeable-store.js.gz +0 -0
  108. package/lib/es6/persisters/persister-automerge.js +1 -1
  109. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  110. package/lib/es6/persisters/persister-browser.js +1 -1
  111. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  112. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  113. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  114. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  115. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  116. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  117. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  118. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  119. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  120. package/lib/es6/persisters/persister-file.js +1 -1
  121. package/lib/es6/persisters/persister-file.js.gz +0 -0
  122. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  123. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  124. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  125. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  126. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  127. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  128. package/lib/es6/persisters/persister-remote.js +1 -1
  129. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  130. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  131. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  132. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  133. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  134. package/lib/es6/persisters/persister-yjs.js +1 -1
  135. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  136. package/lib/es6/persisters.js +1 -1
  137. package/lib/es6/persisters.js.gz +0 -0
  138. package/lib/es6/store.js +1 -1
  139. package/lib/es6/store.js.gz +0 -0
  140. package/lib/es6/tinybase.js +1 -1
  141. package/lib/es6/tinybase.js.gz +0 -0
  142. package/lib/es6/tools.js +1 -1
  143. package/lib/es6/tools.js.gz +0 -0
  144. package/lib/es6/ui-react-dom-debug.js +1 -1
  145. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  146. package/lib/es6/ui-react-dom.js +1 -1
  147. package/lib/es6/ui-react-dom.js.gz +0 -0
  148. package/lib/mergeable-store.js +1 -0
  149. package/lib/mergeable-store.js.gz +0 -0
  150. package/lib/persisters/persister-automerge.js +1 -1
  151. package/lib/persisters/persister-automerge.js.gz +0 -0
  152. package/lib/persisters/persister-browser.js +1 -1
  153. package/lib/persisters/persister-browser.js.gz +0 -0
  154. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  155. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  156. package/lib/persisters/persister-electric-sql.js +1 -1
  157. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  158. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  159. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  160. package/lib/persisters/persister-expo-sqlite.js +1 -1
  161. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  162. package/lib/persisters/persister-file.js +1 -1
  163. package/lib/persisters/persister-file.js.gz +0 -0
  164. package/lib/persisters/persister-indexed-db.js +1 -1
  165. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  166. package/lib/persisters/persister-partykit-client.js +1 -1
  167. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  168. package/lib/persisters/persister-partykit-server.js +1 -1
  169. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  170. package/lib/persisters/persister-remote.js +1 -1
  171. package/lib/persisters/persister-remote.js.gz +0 -0
  172. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  173. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  174. package/lib/persisters/persister-sqlite3.js +1 -1
  175. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  176. package/lib/persisters/persister-yjs.js +1 -1
  177. package/lib/persisters/persister-yjs.js.gz +0 -0
  178. package/lib/persisters.js +1 -1
  179. package/lib/persisters.js.gz +0 -0
  180. package/lib/store.js +1 -1
  181. package/lib/store.js.gz +0 -0
  182. package/lib/tinybase.js +1 -1
  183. package/lib/tinybase.js.gz +0 -0
  184. package/lib/tools.js +1 -1
  185. package/lib/tools.js.gz +0 -0
  186. package/lib/types/mergeable-store.d.ts +79 -0
  187. package/lib/types/persisters/persister-automerge.d.ts +8 -7
  188. package/lib/types/persisters/persister-browser.d.ts +2 -0
  189. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  190. package/lib/types/persisters/persister-electric-sql.d.ts +1 -0
  191. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +1 -0
  192. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -0
  193. package/lib/types/persisters/persister-file.d.ts +1 -0
  194. package/lib/types/persisters/persister-indexed-db.d.ts +1 -0
  195. package/lib/types/persisters/persister-partykit-client.d.ts +1 -0
  196. package/lib/types/persisters/persister-partykit-server.d.ts +12 -8
  197. package/lib/types/persisters/persister-remote.d.ts +1 -0
  198. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -0
  199. package/lib/types/persisters/persister-sqlite3.d.ts +1 -0
  200. package/lib/types/persisters/persister-yjs.d.ts +1 -0
  201. package/lib/types/persisters.d.ts +50 -30
  202. package/lib/types/store.d.ts +241 -186
  203. package/lib/types/tinybase.d.ts +1 -0
  204. package/lib/types/tools.d.ts +2 -2
  205. package/lib/types/ui-react.d.ts +1 -0
  206. package/lib/types/with-schemas/internal/store.d.ts +4 -0
  207. package/lib/types/with-schemas/mergeable-store.d.ts +112 -0
  208. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +8 -7
  209. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -0
  210. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  211. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -0
  212. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -0
  213. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -0
  214. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -0
  215. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -0
  216. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -0
  217. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +15 -11
  218. package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -0
  219. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -0
  220. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -0
  221. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -0
  222. package/lib/types/with-schemas/persisters.d.ts +81 -45
  223. package/lib/types/with-schemas/store.d.ts +364 -273
  224. package/lib/types/with-schemas/tinybase.d.ts +1 -0
  225. package/lib/types/with-schemas/tools.d.ts +2 -2
  226. package/lib/ui-react-dom.js +1 -1
  227. package/lib/ui-react-dom.js.gz +0 -0
  228. package/lib/umd/mergeable-store.js +1 -0
  229. package/lib/umd/mergeable-store.js.gz +0 -0
  230. package/lib/umd/persisters/persister-automerge.js +1 -1
  231. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  232. package/lib/umd/persisters/persister-browser.js +1 -1
  233. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  234. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  235. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  236. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  237. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  238. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  239. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  240. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  241. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  242. package/lib/umd/persisters/persister-file.js +1 -1
  243. package/lib/umd/persisters/persister-file.js.gz +0 -0
  244. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  245. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  246. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  247. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  248. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  249. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  250. package/lib/umd/persisters/persister-remote.js +1 -1
  251. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  252. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  253. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  254. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  255. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  256. package/lib/umd/persisters/persister-yjs.js +1 -1
  257. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  258. package/lib/umd/persisters.js +1 -1
  259. package/lib/umd/persisters.js.gz +0 -0
  260. package/lib/umd/store.js +1 -1
  261. package/lib/umd/store.js.gz +0 -0
  262. package/lib/umd/tinybase.js +1 -1
  263. package/lib/umd/tinybase.js.gz +0 -0
  264. package/lib/umd/tools.js +1 -1
  265. package/lib/umd/tools.js.gz +0 -0
  266. package/lib/umd/ui-react-dom-debug.js +1 -1
  267. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  268. package/lib/umd/ui-react-dom.js +1 -1
  269. package/lib/umd/ui-react-dom.js.gz +0 -0
  270. package/lib/umd-es6/mergeable-store.js +1 -0
  271. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  272. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  273. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  274. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  275. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  276. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  277. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  278. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  279. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  280. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  281. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  282. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  283. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  284. package/lib/umd-es6/persisters/persister-file.js +1 -1
  285. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  286. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  287. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  288. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  289. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  290. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  291. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  292. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  293. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  294. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  295. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  296. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  297. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  298. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  299. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  300. package/lib/umd-es6/persisters.js +1 -1
  301. package/lib/umd-es6/persisters.js.gz +0 -0
  302. package/lib/umd-es6/store.js +1 -1
  303. package/lib/umd-es6/store.js.gz +0 -0
  304. package/lib/umd-es6/tinybase.js +1 -1
  305. package/lib/umd-es6/tinybase.js.gz +0 -0
  306. package/lib/umd-es6/tools.js +1 -1
  307. package/lib/umd-es6/tools.js.gz +0 -0
  308. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  309. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  310. package/lib/umd-es6/ui-react-dom.js +1 -1
  311. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  312. package/package.json +39 -35
  313. package/readme.md +2 -2
@@ -10,4 +10,5 @@ export * from './metrics.d';
10
10
  export * from './persisters.d';
11
11
  export * from './queries.d';
12
12
  export * from './relationships.d';
13
+ export * from './mergeable-store.d';
13
14
  export * from './store.d';
@@ -417,7 +417,7 @@ export interface Tools {
417
417
  * await createTools(store).getPrettyStoreApi('shop');
418
418
  *
419
419
  * const dTsLines = dTs.split('\n');
420
- * console.log(dTsLines[17]);
420
+ * console.log(dTsLines[15]);
421
421
  * // -> `export type Tables = {pets?: {[rowId: Id]: {price?: number}}};`
422
422
  *
423
423
  * const tsLines = ts.split('\n');
@@ -437,7 +437,7 @@ export interface Tools {
437
437
  * await createTools(store).getPrettyStoreApi('shop');
438
438
  *
439
439
  * const dTsLines = dTs.split('\n');
440
- * console.log(dTsLines[17]);
440
+ * console.log(dTsLines[15]);
441
441
  * // -> 'export type Tables = {pets?: {[rowId: Id]: {price: number}}};'
442
442
  *
443
443
  * const tsLines = ts.split('\n');
@@ -212,6 +212,7 @@ export type UndoOrRedoInformation = [boolean, Callback, Id | undefined, string];
212
212
  * useSetTableCallback hook or useSetRowCallback hook - so that the Id arguments
213
213
  * of the object to set can also be dependent on the event or parameter
214
214
  * provided (as well as the object itself being set).
215
+ * @category Identity
215
216
  */
216
217
  export type GetId<Parameter> = (parameter: Parameter, store: Store) => Id;
217
218
 
@@ -1,7 +1,9 @@
1
1
  import {
2
2
  Cell,
3
+ OptionalSchemas,
3
4
  OptionalTablesSchema,
4
5
  OptionalValuesSchema,
6
+ Store,
5
7
  Value,
6
8
  } from '../store';
7
9
  import {Id} from '../common';
@@ -100,3 +102,5 @@ export type Truncate<Params> = Params extends [...infer ShorterParams, any]
100
102
  : never;
101
103
 
102
104
  export type NoInfer<Type> = [Type][Type extends any ? 0 : never];
105
+
106
+ export type StoreAlias<Schemas extends OptionalSchemas> = Store<Schemas>;
@@ -0,0 +1,112 @@
1
+ /**
2
+ * The mergeable-store module
3
+ * @packageDocumentation
4
+ * @module mergeable-store
5
+ */
6
+
7
+ import {
8
+ Cell,
9
+ NoSchemas,
10
+ OptionalSchemas,
11
+ OptionalTablesSchema,
12
+ OptionalValuesSchema,
13
+ Store,
14
+ Value,
15
+ } from './store.d';
16
+ import {Id} from './common';
17
+ import {IdObj} from '../../common/obj';
18
+
19
+ /**
20
+ * The Time type
21
+ * @category Stamps
22
+ */
23
+ export type Time = string;
24
+
25
+ /**
26
+ * The Stamp type
27
+ * @category Stamps
28
+ */
29
+ export type Stamp<Thing> = [time: Time, thing: Thing];
30
+
31
+ type MergeableCell<Schema extends OptionalTablesSchema> = Stamp<Cell<
32
+ Schema,
33
+ any,
34
+ any
35
+ > | null>;
36
+ type MergeableRow<Schema extends OptionalTablesSchema> = Stamp<IdObj<
37
+ MergeableCell<Schema>
38
+ > | null>;
39
+ type MergeableTable<Schema extends OptionalTablesSchema> = Stamp<IdObj<
40
+ MergeableRow<Schema>
41
+ > | null>;
42
+ type MergeableTables<Schema extends OptionalTablesSchema> = Stamp<
43
+ IdObj<MergeableTable<Schema>>
44
+ >;
45
+ type MergeableValue<Schema extends OptionalValuesSchema> = Stamp<Value<
46
+ Schema,
47
+ any,
48
+ any
49
+ > | null>;
50
+ type MergeableValues<Schema extends OptionalValuesSchema> = Stamp<
51
+ IdObj<MergeableValue<Schema>>
52
+ >;
53
+
54
+ /**
55
+ * The MergeableContent type
56
+ * @category Mergeable
57
+ */
58
+ export type MergeableContent<Schemas extends OptionalSchemas> = Stamp<
59
+ [
60
+ mergeableTables: MergeableTables<Schemas[0]>,
61
+ mergeableValues: MergeableValues<Schemas[1]>,
62
+ ]
63
+ >;
64
+
65
+ /**
66
+ * The MergeableChanges type
67
+ * @category Mergeable
68
+ */
69
+ export type MergeableChanges<Schemas extends OptionalSchemas> =
70
+ MergeableContent<Schemas>;
71
+
72
+ /**
73
+ * The MergeableStore type
74
+ * @category Mergeable
75
+ */
76
+ export interface MergeableStore<Schemas extends OptionalSchemas>
77
+ extends Store<Schemas> {
78
+ //
79
+ /**
80
+ * The merge method
81
+ * @category Merging
82
+ */
83
+ merge(mergeableStore: MergeableStore<Schemas>): MergeableStore<Schemas>;
84
+
85
+ /**
86
+ * The getMergeableContent method
87
+ * @category Merging
88
+ */
89
+ getMergeableContent(): MergeableContent<Schemas>;
90
+
91
+ /**
92
+ * The setMergeableContent method
93
+ * @category Merging
94
+ */
95
+ setMergeableContent(
96
+ mergeableContent: MergeableContent<Schemas>,
97
+ ): MergeableStore<Schemas>;
98
+
99
+ /**
100
+ * The applyMergeableChanges method
101
+ * @category Merging
102
+ */
103
+ applyMergeableChanges(
104
+ mergeableChanges: MergeableChanges<Schemas>,
105
+ ): MergeableStore<Schemas>;
106
+ }
107
+
108
+ /**
109
+ * The createMergeableStore function
110
+ * @category Creation
111
+ */
112
+ export function createMergeableStore(id: Id): MergeableStore<NoSchemas>;
@@ -12,7 +12,7 @@
12
12
  */
13
13
 
14
14
  import {OptionalSchemas, Store} from '../store';
15
- import {DocHandle} from 'automerge-repo';
15
+ import {DocHandle} from '@automerge/automerge-repo';
16
16
  import {Persister} from '../persisters';
17
17
 
18
18
  /**
@@ -21,6 +21,7 @@ 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
+ * @category Persister
24
25
  * @since v4.3.14
25
26
  */
26
27
  export interface AutomergePersister<Schemas extends OptionalSchemas>
@@ -86,7 +87,7 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
86
87
  * await persister.save();
87
88
  * // Store will be saved to the document.
88
89
  *
89
- * console.log(docHandler.doc);
90
+ * console.log(await docHandler.doc());
90
91
  * // -> {tinybase: {t: {pets: {fido: {species: 'dog'}}}, v: {}}}
91
92
  *
92
93
  * persister.destroy();
@@ -102,7 +103,7 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
102
103
  * network: [new BroadcastChannelNetworkAdapter()],
103
104
  * });
104
105
  * const docHandler1 = repo1.create();
105
- * await docHandler1.value();
106
+ * await docHandler1.doc();
106
107
  * const store1 = createStore();
107
108
  * const persister1 = createAutomergePersister(store1, docHandler1);
108
109
  * await persister1.startAutoLoad();
@@ -113,7 +114,7 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
113
114
  * network: [new BroadcastChannelNetworkAdapter()],
114
115
  * });
115
116
  * const docHandler2 = repo2.find(docHandler1.documentId);
116
- * await docHandler2.value();
117
+ * await docHandler2.doc();
117
118
  * const store2 = createStore();
118
119
  * const persister2 = createAutomergePersister(store2, docHandler2);
119
120
  * await persister2.startAutoLoad();
@@ -122,9 +123,9 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
122
123
  * // A function that waits briefly and then for the documents to synchronize
123
124
  * // with each other, merely for the purposes of sequentiality in this example.
124
125
  * const syncDocsWait = async () => {
125
- * await new Promise((resolve) => setTimeout(() => resolve(0), 10));
126
- * await docHandler1.value();
127
- * await docHandler2.value();
126
+ * await new Promise((resolve) => setTimeout(() => resolve(0), 100));
127
+ * await docHandler1.doc();
128
+ * await docHandler2.doc();
128
129
  * };
129
130
  *
130
131
  * // Wait for the documents to synchronize in their initial state.
@@ -23,6 +23,7 @@ import {Persister} from '../persisters';
23
23
  *
24
24
  * It simply provides an extra getStorageName method for accessing the unique
25
25
  * key of the storage location the Store is being persisted to.
26
+ * @category Persister
26
27
  * @since v4.3.14
27
28
  */
28
29
  export interface SessionPersister<Schemas extends OptionalSchemas>
@@ -55,6 +56,7 @@ export interface SessionPersister<Schemas extends OptionalSchemas>
55
56
  *
56
57
  * It simply provides an extra getStorageName method for accessing the unique
57
58
  * key of the storage location the Store is being persisted to.
59
+ * @category Persister
58
60
  * @since v4.3.14
59
61
  */
60
62
  export interface LocalPersister<Schemas extends OptionalSchemas>
@@ -18,6 +18,7 @@ import {DB} from '@vlcn.io/crsqlite-wasm';
18
18
  *
19
19
  * It simply provides an extra getDb method for accessing a reference to the
20
20
  * database instance the Store is being persisted to.
21
+ * @category Persister
21
22
  * @since v4.3.14
22
23
  */
23
24
  export interface CrSqliteWasmPersister<Schemas extends OptionalSchemas>
@@ -18,6 +18,7 @@ import {ElectricClient} from 'electric-sql/client/model';
18
18
  *
19
19
  * It simply provides an extra getElectricClient method for accessing a
20
20
  * reference to the Electric client the Store is being persisted to.
21
+ * @category Persister
21
22
  * @since v4.6.0
22
23
  */
23
24
  export interface ElectricSqlPersister<Schemas extends OptionalSchemas>
@@ -30,6 +30,7 @@ import {SQLiteDatabase} from 'expo-sqlite/next';
30
30
  *
31
31
  * It simply provides an extra getDb method for accessing a reference to the
32
32
  * database instance the Store is being persisted to.
33
+ * @category Persister
33
34
  * @since v4.5.0
34
35
  */
35
36
  export interface ExpoSqliteNextPersister<Schemas extends OptionalSchemas>
@@ -29,6 +29,7 @@ import {SQLiteDatabase} from 'expo-sqlite';
29
29
  *
30
30
  * It simply provides an extra getDb method for accessing a reference to the
31
31
  * database instance the Store is being persisted to.
32
+ * @category Persister
32
33
  * @since v4.3.14
33
34
  */
34
35
  export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
@@ -14,6 +14,7 @@ import {Persister} from '../persisters';
14
14
  *
15
15
  * It simply provides an extra getFilePath method for accessing the location of
16
16
  * the local file the Store is being persisted to.
17
+ * @category Persister
17
18
  * @since v4.3.14
18
19
  */
19
20
  export interface FilePersister<Schemas extends OptionalSchemas>
@@ -15,6 +15,7 @@ import {Persister} from '../persisters';
15
15
  *
16
16
  * It simply provides an extra getDbName method for accessing the unique key of
17
17
  * the IndexedDB the Store is being persisted to.
18
+ * @category Persister
18
19
  * @since v4.3.14
19
20
  */
20
21
  export interface IndexedDbPersister<Schemas extends OptionalSchemas>
@@ -29,6 +29,7 @@ import {Persister} from '../persisters';
29
29
  *
30
30
  * It simply provides an extra getConnection method for accessing the
31
31
  * PartySocket the Store is being persisted to.
32
+ * @category Persister
32
33
  * @since v4.3.14
33
34
  */
34
35
  export interface PartyKitPersister<Schemas extends OptionalSchemas>
@@ -21,14 +21,13 @@
21
21
  import {
22
22
  Cell,
23
23
  CellOrUndefined,
24
+ Changes,
25
+ Content,
24
26
  NoTablesSchema,
25
27
  NoValuesSchema,
26
28
  OptionalSchemas,
27
- Tables,
28
- TransactionChanges,
29
29
  Value,
30
30
  ValueOrUndefined,
31
- Values,
32
31
  } from '../store';
33
32
  import {Connection, Party, Request, Server} from 'partykit/server';
34
33
  import {Id} from '../common';
@@ -149,6 +148,11 @@ export type TinyBasePartyKitServerConfig = {
149
148
  * @since v4.3.0
150
149
  */
151
150
  export class TinyBasePartyKitServer implements Server {
151
+ /**
152
+ * The constructor is used to create the server.
153
+ * @category Creation
154
+ * @since v4.3.9
155
+ */
152
156
  constructor(party: Party);
153
157
  /**
154
158
  * The config property is used to optionally configure the server, using an
@@ -590,7 +594,7 @@ export function hasStoreInStorage(
590
594
  * loadStoreFromStorage(
591
595
  * storage: Storage,
592
596
  * storagePrefix?: string,
593
- * ): Promise<[Tables, Values]>;
597
+ * ): Promise<Content>;
594
598
  * ```
595
599
  *
596
600
  * This is intended for specialist applications that require the ability to
@@ -611,18 +615,18 @@ export function hasStoreInStorage(
611
615
  export function loadStoreFromStorage<Schemas extends OptionalSchemas>(
612
616
  storage: Storage,
613
617
  storagePrefix?: string,
614
- ): Promise<[Tables<Schemas[0]>, Values<Schemas[1]>]>;
618
+ ): Promise<Content<Schemas>>;
615
619
 
616
620
  /**
617
- * The broadcastTransactionChanges function allows you to broadcast Store
621
+ * The broadcastChanges function allows you to broadcast Store
618
622
  * changes to all the client connections of a TinyBasePartyKitServer.
619
623
  *
620
624
  * This has schema-based typing. The following is a simplified representation:
621
625
  *
622
626
  * ```ts override
623
- * broadcastTransactionChanges(
627
+ * broadcastChanges(
624
628
  * server: TinyBasePartyKitServer,
625
- * transactionChanges: TransactionChanges,
629
+ * changes: Changes,
626
630
  * without?: string[],
627
631
  * ): Promise<void>;
628
632
  * ```
@@ -633,15 +637,15 @@ export function loadStoreFromStorage<Schemas extends OptionalSchemas>(
633
637
  * The function is asynchronous, so you should use the `await` keyword or handle
634
638
  * its completion as a promise.
635
639
  * @param server A reference to the TinyBasePartyKitServer object.
636
- * @param transactionChanges The Store changes to broadcast to the server's
640
+ * @param changes The Store changes to broadcast to the server's
637
641
  * clients.
638
642
  * @param without An optional array of client connection Ids to exclude from the
639
643
  * broadcast.
640
644
  * @category Connection
641
645
  * @since v4.5.1
642
646
  */
643
- export function broadcastTransactionChanges<Schemas extends OptionalSchemas>(
647
+ export function broadcastChanges<Schemas extends OptionalSchemas>(
644
648
  server: TinyBasePartyKitServer,
645
- transactionChanges: TransactionChanges<Schemas>,
649
+ changes: Changes<Schemas>,
646
650
  without?: string[],
647
651
  ): Promise<void>;
@@ -15,6 +15,7 @@ import {Persister} from '../persisters';
15
15
  *
16
16
  * It simply provides an extra getUrls method for accessing the URLs the Store
17
17
  * is being persisted to.
18
+ * @category Persister
18
19
  * @since v4.3.14
19
20
  */
20
21
  export interface RemotePersister<Schemas extends OptionalSchemas>
@@ -17,6 +17,7 @@ import {OptionalSchemas, Store} from '../store';
17
17
  *
18
18
  * It simply provides an extra getDb method for accessing a reference to the
19
19
  * database instance the Store is being persisted to.
20
+ * @category Persister
20
21
  * @since v4.3.14
21
22
  */
22
23
  export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
@@ -18,6 +18,7 @@ import {Database} from 'sqlite3';
18
18
  *
19
19
  * It simply provides an extra getDb method for accessing a reference to the
20
20
  * database instance the Store is being persisted to.
21
+ * @category Persister
21
22
  * @since v4.3.14
22
23
  */
23
24
  export interface Sqlite3Persister<Schemas extends OptionalSchemas>
@@ -20,6 +20,7 @@ import {Doc as YDoc} from 'yjs';
20
20
  *
21
21
  * It simply provides an extra getYDoc method for accessing the Yjs document the
22
22
  * Store is being persisted to.
23
+ * @category Persister
23
24
  * @since v4.3.14
24
25
  */
25
26
  export interface YjsPersister<Schemas extends OptionalSchemas>