tinybase 5.5.0-beta.0 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1318) hide show
  1. package/@types/mergeable-store/index.d.cts +5 -2
  2. package/@types/mergeable-store/index.d.ts +5 -2
  3. package/@types/mergeable-store/with-schemas/index.d.cts +8 -3
  4. package/@types/mergeable-store/with-schemas/index.d.ts +8 -3
  5. package/@types/persisters/index.d.cts +6 -2
  6. package/@types/persisters/index.d.ts +6 -2
  7. package/@types/persisters/with-schemas/index.d.cts +12 -4
  8. package/@types/persisters/with-schemas/index.d.ts +12 -4
  9. package/@types/store/index.d.cts +20 -2
  10. package/@types/store/index.d.ts +20 -2
  11. package/@types/store/with-schemas/index.d.cts +23 -3
  12. package/@types/store/with-schemas/index.d.ts +23 -3
  13. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +5 -2
  14. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +5 -2
  15. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +5 -2
  16. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +5 -2
  17. package/@types/ui-react/index.d.cts +42 -0
  18. package/@types/ui-react/index.d.ts +42 -0
  19. package/@types/ui-react/with-schemas/index.d.cts +48 -0
  20. package/@types/ui-react/with-schemas/index.d.ts +48 -0
  21. package/cli/index.js +5 -2
  22. package/index.js +19 -14
  23. package/mergeable-store/index.js +18 -13
  24. package/mergeable-store/with-schemas/index.js +18 -13
  25. package/min/index.js +1 -1
  26. package/min/index.js.gz +0 -0
  27. package/min/mergeable-store/index.js +1 -1
  28. package/min/mergeable-store/index.js.gz +0 -0
  29. package/min/mergeable-store/with-schemas/index.js +1 -1
  30. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  31. package/min/persisters/index.js +1 -1
  32. package/min/persisters/index.js.gz +0 -0
  33. package/min/persisters/persister-automerge/index.js +1 -1
  34. package/min/persisters/persister-automerge/index.js.gz +0 -0
  35. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  36. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  37. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  38. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  39. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  40. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  41. package/min/persisters/persister-electric-sql/index.js +1 -1
  42. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  43. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  44. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  45. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  46. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  47. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  48. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  49. package/min/persisters/persister-file/index.js +1 -1
  50. package/min/persisters/persister-file/index.js.gz +0 -0
  51. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  52. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  53. package/min/persisters/persister-libsql/index.js +1 -1
  54. package/min/persisters/persister-libsql/index.js.gz +0 -0
  55. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  56. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  57. package/min/persisters/persister-pglite/index.js +1 -1
  58. package/min/persisters/persister-pglite/index.js.gz +0 -0
  59. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  60. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  61. package/min/persisters/persister-postgres/index.js +1 -1
  62. package/min/persisters/persister-postgres/index.js.gz +0 -0
  63. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  64. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  65. package/min/persisters/persister-powersync/index.js +1 -1
  66. package/min/persisters/persister-powersync/index.js.gz +0 -0
  67. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  68. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  69. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  70. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  71. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  72. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  73. package/min/persisters/persister-sqlite3/index.js +1 -1
  74. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  75. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  76. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  77. package/min/persisters/persister-yjs/index.js +1 -1
  78. package/min/persisters/persister-yjs/index.js.gz +0 -0
  79. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  80. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  81. package/min/persisters/with-schemas/index.js +1 -1
  82. package/min/persisters/with-schemas/index.js.gz +0 -0
  83. package/min/queries/index.js +1 -1
  84. package/min/queries/index.js.gz +0 -0
  85. package/min/queries/with-schemas/index.js +1 -1
  86. package/min/queries/with-schemas/index.js.gz +0 -0
  87. package/min/store/index.js +1 -1
  88. package/min/store/index.js.gz +0 -0
  89. package/min/store/with-schemas/index.js +1 -1
  90. package/min/store/with-schemas/index.js.gz +0 -0
  91. package/min/ui-react/index.js +1 -1
  92. package/min/ui-react/index.js.gz +0 -0
  93. package/min/ui-react/with-schemas/index.js +1 -1
  94. package/min/ui-react/with-schemas/index.js.gz +0 -0
  95. package/min/ui-react-dom/index.js +1 -1
  96. package/min/ui-react-dom/index.js.gz +0 -0
  97. package/min/ui-react-dom/with-schemas/index.js +1 -1
  98. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  99. package/min/ui-react-inspector/index.js +1 -1
  100. package/min/ui-react-inspector/index.js.gz +0 -0
  101. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  102. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  103. package/min/with-schemas/index.js +1 -1
  104. package/min/with-schemas/index.js.gz +0 -0
  105. package/package.json +332 -2983
  106. package/persisters/index.js +3 -3
  107. package/persisters/persister-automerge/index.js +8 -6
  108. package/persisters/persister-automerge/with-schemas/index.js +8 -6
  109. package/persisters/persister-cr-sqlite-wasm/index.js +3 -3
  110. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +3 -3
  111. package/persisters/persister-electric-sql/index.js +3 -3
  112. package/persisters/persister-electric-sql/with-schemas/index.js +3 -3
  113. package/persisters/persister-expo-sqlite/index.js +3 -3
  114. package/persisters/persister-expo-sqlite/with-schemas/index.js +3 -3
  115. package/persisters/persister-file/index.js +1 -1
  116. package/persisters/persister-file/with-schemas/index.js +1 -1
  117. package/persisters/persister-libsql/index.js +3 -3
  118. package/persisters/persister-libsql/with-schemas/index.js +3 -3
  119. package/persisters/persister-partykit-client/index.js +5 -2
  120. package/persisters/persister-partykit-client/with-schemas/index.js +5 -2
  121. package/persisters/persister-pglite/index.js +3 -3
  122. package/persisters/persister-pglite/with-schemas/index.js +3 -3
  123. package/persisters/persister-postgres/index.js +3 -3
  124. package/persisters/persister-postgres/with-schemas/index.js +3 -3
  125. package/persisters/persister-powersync/index.js +3 -3
  126. package/persisters/persister-powersync/with-schemas/index.js +3 -3
  127. package/persisters/persister-sqlite-wasm/index.js +3 -3
  128. package/persisters/persister-sqlite-wasm/with-schemas/index.js +3 -3
  129. package/persisters/persister-sqlite3/index.js +3 -3
  130. package/persisters/persister-sqlite3/with-schemas/index.js +3 -3
  131. package/persisters/persister-yjs/index.js +7 -5
  132. package/persisters/persister-yjs/with-schemas/index.js +7 -5
  133. package/persisters/with-schemas/index.js +3 -3
  134. package/queries/index.js +4 -1
  135. package/queries/with-schemas/index.js +4 -1
  136. package/readme.md +14 -14
  137. package/releases.md +25 -25
  138. package/store/index.js +20 -12
  139. package/store/with-schemas/index.js +20 -12
  140. package/tools/index.js +4 -4
  141. package/tools/with-schemas/index.js +4 -4
  142. package/ui-react/index.js +187 -155
  143. package/ui-react/with-schemas/index.js +187 -155
  144. package/ui-react-dom/index.js +288 -285
  145. package/ui-react-dom/with-schemas/index.js +288 -285
  146. package/ui-react-inspector/index.js +591 -603
  147. package/ui-react-inspector/with-schemas/index.js +591 -603
  148. package/with-schemas/index.js +19 -14
  149. package/cjs/checkpoints/index.cjs +0 -435
  150. package/cjs/checkpoints/with-schemas/index.cjs +0 -435
  151. package/cjs/common/index.cjs +0 -34
  152. package/cjs/common/with-schemas/index.cjs +0 -34
  153. package/cjs/es6/checkpoints/index.cjs +0 -475
  154. package/cjs/es6/checkpoints/with-schemas/index.cjs +0 -475
  155. package/cjs/es6/common/index.cjs +0 -36
  156. package/cjs/es6/common/with-schemas/index.cjs +0 -36
  157. package/cjs/es6/index.cjs +0 -3894
  158. package/cjs/es6/indexes/index.cjs +0 -598
  159. package/cjs/es6/indexes/with-schemas/index.cjs +0 -598
  160. package/cjs/es6/mergeable-store/index.cjs +0 -2380
  161. package/cjs/es6/mergeable-store/with-schemas/index.cjs +0 -2380
  162. package/cjs/es6/metrics/index.cjs +0 -579
  163. package/cjs/es6/metrics/with-schemas/index.cjs +0 -579
  164. package/cjs/es6/min/checkpoints/index.cjs +0 -1
  165. package/cjs/es6/min/checkpoints/index.cjs.gz +0 -0
  166. package/cjs/es6/min/checkpoints/with-schemas/index.cjs +0 -1
  167. package/cjs/es6/min/checkpoints/with-schemas/index.cjs.gz +0 -0
  168. package/cjs/es6/min/common/index.cjs +0 -1
  169. package/cjs/es6/min/common/index.cjs.gz +0 -0
  170. package/cjs/es6/min/common/with-schemas/index.cjs +0 -1
  171. package/cjs/es6/min/common/with-schemas/index.cjs.gz +0 -0
  172. package/cjs/es6/min/index.cjs +0 -1
  173. package/cjs/es6/min/index.cjs.gz +0 -0
  174. package/cjs/es6/min/indexes/index.cjs +0 -1
  175. package/cjs/es6/min/indexes/index.cjs.gz +0 -0
  176. package/cjs/es6/min/indexes/with-schemas/index.cjs +0 -1
  177. package/cjs/es6/min/indexes/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/es6/min/mergeable-store/index.cjs +0 -1
  179. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  180. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +0 -1
  181. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  182. package/cjs/es6/min/metrics/index.cjs +0 -1
  183. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  184. package/cjs/es6/min/metrics/with-schemas/index.cjs +0 -1
  185. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  186. package/cjs/es6/min/persisters/index.cjs +0 -1
  187. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  188. package/cjs/es6/min/persisters/persister-automerge/index.cjs +0 -1
  189. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  190. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +0 -1
  191. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/es6/min/persisters/persister-browser/index.cjs +0 -1
  193. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  194. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +0 -1
  195. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1
  197. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  198. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1
  199. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs +0 -1
  201. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  202. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -1
  203. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  204. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +0 -1
  205. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  206. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1
  207. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +0 -1
  209. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  210. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1
  211. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/es6/min/persisters/persister-file/index.cjs +0 -1
  213. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  214. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +0 -1
  215. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +0 -1
  217. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  218. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +0 -1
  219. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/es6/min/persisters/persister-libsql/index.cjs +0 -1
  221. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  222. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +0 -1
  223. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +0 -1
  225. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  226. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +0 -1
  227. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs +0 -1
  229. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  230. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs +0 -1
  231. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/es6/min/persisters/persister-pglite/index.cjs +0 -1
  233. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  234. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +0 -1
  235. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  236. package/cjs/es6/min/persisters/persister-postgres/index.cjs +0 -1
  237. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  238. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +0 -1
  239. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/es6/min/persisters/persister-powersync/index.cjs +0 -1
  241. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  242. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +0 -1
  243. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/es6/min/persisters/persister-remote/index.cjs +0 -1
  245. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  246. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +0 -1
  247. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +0 -1
  249. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  250. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1
  251. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +0 -1
  253. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  254. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1
  255. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  256. package/cjs/es6/min/persisters/persister-yjs/index.cjs +0 -1
  257. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  258. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +0 -1
  259. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  260. package/cjs/es6/min/persisters/with-schemas/index.cjs +0 -1
  261. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/es6/min/queries/index.cjs +0 -1
  263. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  264. package/cjs/es6/min/queries/with-schemas/index.cjs +0 -1
  265. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  266. package/cjs/es6/min/relationships/index.cjs +0 -1
  267. package/cjs/es6/min/relationships/index.cjs.gz +0 -0
  268. package/cjs/es6/min/relationships/with-schemas/index.cjs +0 -1
  269. package/cjs/es6/min/relationships/with-schemas/index.cjs.gz +0 -0
  270. package/cjs/es6/min/store/index.cjs +0 -1
  271. package/cjs/es6/min/store/index.cjs.gz +0 -0
  272. package/cjs/es6/min/store/with-schemas/index.cjs +0 -1
  273. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  274. package/cjs/es6/min/synchronizers/index.cjs +0 -1
  275. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  276. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -1
  277. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  278. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -1
  279. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  280. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +0 -1
  281. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  282. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -1
  283. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  284. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +0 -1
  285. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  286. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -1
  287. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  288. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +0 -1
  289. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  290. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -1
  291. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  292. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -1
  293. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  294. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -1
  295. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  296. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -1
  297. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
  298. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -1
  299. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs.gz +0 -0
  300. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +0 -1
  301. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  302. package/cjs/es6/min/tools/index.cjs +0 -1
  303. package/cjs/es6/min/tools/index.cjs.gz +0 -0
  304. package/cjs/es6/min/tools/with-schemas/index.cjs +0 -1
  305. package/cjs/es6/min/tools/with-schemas/index.cjs.gz +0 -0
  306. package/cjs/es6/min/ui-react/index.cjs +0 -1
  307. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  308. package/cjs/es6/min/ui-react/with-schemas/index.cjs +0 -1
  309. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  310. package/cjs/es6/min/ui-react-dom/index.cjs +0 -1
  311. package/cjs/es6/min/ui-react-dom/index.cjs.gz +0 -0
  312. package/cjs/es6/min/ui-react-dom/with-schemas/index.cjs +0 -1
  313. package/cjs/es6/min/ui-react-dom/with-schemas/index.cjs.gz +0 -0
  314. package/cjs/es6/min/ui-react-inspector/index.cjs +0 -1
  315. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  316. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +0 -1
  317. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  318. package/cjs/es6/min/with-schemas/index.cjs +0 -1
  319. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  320. package/cjs/es6/persisters/index.cjs +0 -1562
  321. package/cjs/es6/persisters/persister-automerge/index.cjs +0 -667
  322. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +0 -667
  323. package/cjs/es6/persisters/persister-browser/index.cjs +0 -576
  324. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +0 -576
  325. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1471
  326. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1471
  327. package/cjs/es6/persisters/persister-durable-object-storage/index.cjs +0 -687
  328. package/cjs/es6/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -687
  329. package/cjs/es6/persisters/persister-electric-sql/index.cjs +0 -1478
  330. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1478
  331. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +0 -1476
  332. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1476
  333. package/cjs/es6/persisters/persister-file/index.cjs +0 -561
  334. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +0 -561
  335. package/cjs/es6/persisters/persister-indexed-db/index.cjs +0 -673
  336. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +0 -673
  337. package/cjs/es6/persisters/persister-libsql/index.cjs +0 -1472
  338. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +0 -1472
  339. package/cjs/es6/persisters/persister-partykit-client/index.cjs +0 -649
  340. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +0 -649
  341. package/cjs/es6/persisters/persister-partykit-server/index.cjs +0 -426
  342. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +0 -426
  343. package/cjs/es6/persisters/persister-pglite/index.cjs +0 -1481
  344. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +0 -1481
  345. package/cjs/es6/persisters/persister-postgres/index.cjs +0 -1485
  346. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +0 -1485
  347. package/cjs/es6/persisters/persister-powersync/index.cjs +0 -1612
  348. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +0 -1612
  349. package/cjs/es6/persisters/persister-remote/index.cjs +0 -582
  350. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +0 -582
  351. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +0 -1505
  352. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1505
  353. package/cjs/es6/persisters/persister-sqlite3/index.cjs +0 -1481
  354. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1481
  355. package/cjs/es6/persisters/persister-yjs/index.cjs +0 -724
  356. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +0 -724
  357. package/cjs/es6/persisters/with-schemas/index.cjs +0 -1562
  358. package/cjs/es6/queries/index.cjs +0 -860
  359. package/cjs/es6/queries/with-schemas/index.cjs +0 -860
  360. package/cjs/es6/relationships/index.cjs +0 -593
  361. package/cjs/es6/relationships/with-schemas/index.cjs +0 -593
  362. package/cjs/es6/store/index.cjs +0 -1721
  363. package/cjs/es6/store/with-schemas/index.cjs +0 -1721
  364. package/cjs/es6/synchronizers/index.cjs +0 -834
  365. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -858
  366. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -858
  367. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +0 -859
  368. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -859
  369. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +0 -929
  370. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -929
  371. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +0 -1063
  372. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -1063
  373. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -1080
  374. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -1080
  375. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -130
  376. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -130
  377. package/cjs/es6/synchronizers/with-schemas/index.cjs +0 -834
  378. package/cjs/es6/tools/index.cjs +0 -3426
  379. package/cjs/es6/tools/with-schemas/index.cjs +0 -3426
  380. package/cjs/es6/ui-react/index.cjs +0 -2408
  381. package/cjs/es6/ui-react/with-schemas/index.cjs +0 -2408
  382. package/cjs/es6/ui-react-dom/index.cjs +0 -914
  383. package/cjs/es6/ui-react-dom/with-schemas/index.cjs +0 -914
  384. package/cjs/es6/ui-react-inspector/index.cjs +0 -3706
  385. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +0 -3706
  386. package/cjs/es6/with-schemas/index.cjs +0 -3894
  387. package/cjs/index.cjs +0 -3749
  388. package/cjs/indexes/index.cjs +0 -551
  389. package/cjs/indexes/with-schemas/index.cjs +0 -551
  390. package/cjs/mergeable-store/index.cjs +0 -2280
  391. package/cjs/mergeable-store/with-schemas/index.cjs +0 -2280
  392. package/cjs/metrics/index.cjs +0 -526
  393. package/cjs/metrics/with-schemas/index.cjs +0 -526
  394. package/cjs/min/checkpoints/index.cjs +0 -1
  395. package/cjs/min/checkpoints/index.cjs.gz +0 -0
  396. package/cjs/min/checkpoints/with-schemas/index.cjs +0 -1
  397. package/cjs/min/checkpoints/with-schemas/index.cjs.gz +0 -0
  398. package/cjs/min/common/index.cjs +0 -1
  399. package/cjs/min/common/index.cjs.gz +0 -0
  400. package/cjs/min/common/with-schemas/index.cjs +0 -1
  401. package/cjs/min/common/with-schemas/index.cjs.gz +0 -0
  402. package/cjs/min/index.cjs +0 -1
  403. package/cjs/min/index.cjs.gz +0 -0
  404. package/cjs/min/indexes/index.cjs +0 -1
  405. package/cjs/min/indexes/index.cjs.gz +0 -0
  406. package/cjs/min/indexes/with-schemas/index.cjs +0 -1
  407. package/cjs/min/indexes/with-schemas/index.cjs.gz +0 -0
  408. package/cjs/min/mergeable-store/index.cjs +0 -1
  409. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  410. package/cjs/min/mergeable-store/with-schemas/index.cjs +0 -1
  411. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  412. package/cjs/min/metrics/index.cjs +0 -1
  413. package/cjs/min/metrics/index.cjs.gz +0 -0
  414. package/cjs/min/metrics/with-schemas/index.cjs +0 -1
  415. package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
  416. package/cjs/min/persisters/index.cjs +0 -1
  417. package/cjs/min/persisters/index.cjs.gz +0 -0
  418. package/cjs/min/persisters/persister-automerge/index.cjs +0 -1
  419. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  420. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +0 -1
  421. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  422. package/cjs/min/persisters/persister-browser/index.cjs +0 -1
  423. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  424. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +0 -1
  425. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  426. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1
  427. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  428. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1
  429. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  430. package/cjs/min/persisters/persister-durable-object-storage/index.cjs +0 -1
  431. package/cjs/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  432. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -1
  433. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  434. package/cjs/min/persisters/persister-electric-sql/index.cjs +0 -1
  435. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  436. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1
  437. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  438. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +0 -1
  439. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  440. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1
  441. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  442. package/cjs/min/persisters/persister-file/index.cjs +0 -1
  443. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  444. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +0 -1
  445. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  446. package/cjs/min/persisters/persister-indexed-db/index.cjs +0 -1
  447. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  448. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +0 -1
  449. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  450. package/cjs/min/persisters/persister-libsql/index.cjs +0 -1
  451. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  452. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +0 -1
  453. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  454. package/cjs/min/persisters/persister-partykit-client/index.cjs +0 -1
  455. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  456. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +0 -1
  457. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  458. package/cjs/min/persisters/persister-partykit-server/index.cjs +0 -1
  459. package/cjs/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  460. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs +0 -1
  461. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  462. package/cjs/min/persisters/persister-pglite/index.cjs +0 -1
  463. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  464. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +0 -1
  465. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  466. package/cjs/min/persisters/persister-postgres/index.cjs +0 -1
  467. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  468. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +0 -1
  469. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  470. package/cjs/min/persisters/persister-powersync/index.cjs +0 -1
  471. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  472. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +0 -1
  473. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  474. package/cjs/min/persisters/persister-remote/index.cjs +0 -1
  475. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  476. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +0 -1
  477. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  478. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +0 -1
  479. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  480. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1
  481. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  482. package/cjs/min/persisters/persister-sqlite3/index.cjs +0 -1
  483. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  484. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1
  485. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  486. package/cjs/min/persisters/persister-yjs/index.cjs +0 -1
  487. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  488. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +0 -1
  489. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  490. package/cjs/min/persisters/with-schemas/index.cjs +0 -1
  491. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  492. package/cjs/min/queries/index.cjs +0 -1
  493. package/cjs/min/queries/index.cjs.gz +0 -0
  494. package/cjs/min/queries/with-schemas/index.cjs +0 -1
  495. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  496. package/cjs/min/relationships/index.cjs +0 -1
  497. package/cjs/min/relationships/index.cjs.gz +0 -0
  498. package/cjs/min/relationships/with-schemas/index.cjs +0 -1
  499. package/cjs/min/relationships/with-schemas/index.cjs.gz +0 -0
  500. package/cjs/min/store/index.cjs +0 -1
  501. package/cjs/min/store/index.cjs.gz +0 -0
  502. package/cjs/min/store/with-schemas/index.cjs +0 -1
  503. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  504. package/cjs/min/synchronizers/index.cjs +0 -1
  505. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  506. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -1
  507. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  508. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -1
  509. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  510. package/cjs/min/synchronizers/synchronizer-local/index.cjs +0 -1
  511. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  512. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -1
  513. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  514. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +0 -1
  515. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  516. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -1
  517. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  518. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +0 -1
  519. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  520. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -1
  521. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  522. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -1
  523. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  524. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -1
  525. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  526. package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -1
  527. package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
  528. package/cjs/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -1
  529. package/cjs/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs.gz +0 -0
  530. package/cjs/min/synchronizers/with-schemas/index.cjs +0 -1
  531. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  532. package/cjs/min/tools/index.cjs +0 -1
  533. package/cjs/min/tools/index.cjs.gz +0 -0
  534. package/cjs/min/tools/with-schemas/index.cjs +0 -1
  535. package/cjs/min/tools/with-schemas/index.cjs.gz +0 -0
  536. package/cjs/min/ui-react/index.cjs +0 -1
  537. package/cjs/min/ui-react/index.cjs.gz +0 -0
  538. package/cjs/min/ui-react/with-schemas/index.cjs +0 -1
  539. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  540. package/cjs/min/ui-react-dom/index.cjs +0 -1
  541. package/cjs/min/ui-react-dom/index.cjs.gz +0 -0
  542. package/cjs/min/ui-react-dom/with-schemas/index.cjs +0 -1
  543. package/cjs/min/ui-react-dom/with-schemas/index.cjs.gz +0 -0
  544. package/cjs/min/ui-react-inspector/index.cjs +0 -1
  545. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  546. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +0 -1
  547. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  548. package/cjs/min/with-schemas/index.cjs +0 -1
  549. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  550. package/cjs/persisters/index.cjs +0 -1213
  551. package/cjs/persisters/persister-automerge/index.cjs +0 -542
  552. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +0 -542
  553. package/cjs/persisters/persister-browser/index.cjs +0 -447
  554. package/cjs/persisters/persister-browser/with-schemas/index.cjs +0 -447
  555. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1126
  556. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1126
  557. package/cjs/persisters/persister-durable-object-storage/index.cjs +0 -542
  558. package/cjs/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -542
  559. package/cjs/persisters/persister-electric-sql/index.cjs +0 -1133
  560. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1133
  561. package/cjs/persisters/persister-expo-sqlite/index.cjs +0 -1131
  562. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1131
  563. package/cjs/persisters/persister-file/index.cjs +0 -434
  564. package/cjs/persisters/persister-file/with-schemas/index.cjs +0 -434
  565. package/cjs/persisters/persister-indexed-db/index.cjs +0 -507
  566. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +0 -507
  567. package/cjs/persisters/persister-libsql/index.cjs +0 -1127
  568. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +0 -1127
  569. package/cjs/persisters/persister-partykit-client/index.cjs +0 -489
  570. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +0 -489
  571. package/cjs/persisters/persister-partykit-server/index.cjs +0 -296
  572. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +0 -296
  573. package/cjs/persisters/persister-pglite/index.cjs +0 -1130
  574. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +0 -1130
  575. package/cjs/persisters/persister-postgres/index.cjs +0 -1131
  576. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +0 -1131
  577. package/cjs/persisters/persister-powersync/index.cjs +0 -1223
  578. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +0 -1223
  579. package/cjs/persisters/persister-remote/index.cjs +0 -453
  580. package/cjs/persisters/persister-remote/with-schemas/index.cjs +0 -453
  581. package/cjs/persisters/persister-sqlite-wasm/index.cjs +0 -1135
  582. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1135
  583. package/cjs/persisters/persister-sqlite3/index.cjs +0 -1137
  584. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1137
  585. package/cjs/persisters/persister-yjs/index.cjs +0 -588
  586. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +0 -588
  587. package/cjs/persisters/with-schemas/index.cjs +0 -1213
  588. package/cjs/queries/index.cjs +0 -815
  589. package/cjs/queries/with-schemas/index.cjs +0 -815
  590. package/cjs/relationships/index.cjs +0 -533
  591. package/cjs/relationships/with-schemas/index.cjs +0 -533
  592. package/cjs/store/index.cjs +0 -1643
  593. package/cjs/store/with-schemas/index.cjs +0 -1643
  594. package/cjs/synchronizers/index.cjs +0 -673
  595. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -697
  596. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -697
  597. package/cjs/synchronizers/synchronizer-local/index.cjs +0 -695
  598. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -695
  599. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +0 -741
  600. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -741
  601. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +0 -855
  602. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -855
  603. package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -797
  604. package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -797
  605. package/cjs/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -89
  606. package/cjs/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -89
  607. package/cjs/synchronizers/with-schemas/index.cjs +0 -673
  608. package/cjs/tools/index.cjs +0 -3303
  609. package/cjs/tools/with-schemas/index.cjs +0 -3303
  610. package/cjs/ui-react/index.cjs +0 -2223
  611. package/cjs/ui-react/with-schemas/index.cjs +0 -2223
  612. package/cjs/ui-react-dom/index.cjs +0 -787
  613. package/cjs/ui-react-dom/with-schemas/index.cjs +0 -787
  614. package/cjs/ui-react-inspector/index.cjs +0 -3317
  615. package/cjs/ui-react-inspector/with-schemas/index.cjs +0 -3317
  616. package/cjs/with-schemas/index.cjs +0 -3749
  617. package/es6/checkpoints/index.js +0 -473
  618. package/es6/checkpoints/with-schemas/index.js +0 -473
  619. package/es6/common/index.js +0 -33
  620. package/es6/common/with-schemas/index.js +0 -33
  621. package/es6/index.js +0 -3894
  622. package/es6/indexes/index.js +0 -596
  623. package/es6/indexes/with-schemas/index.js +0 -596
  624. package/es6/mergeable-store/index.js +0 -2378
  625. package/es6/mergeable-store/with-schemas/index.js +0 -2378
  626. package/es6/metrics/index.js +0 -577
  627. package/es6/metrics/with-schemas/index.js +0 -577
  628. package/es6/min/checkpoints/index.js +0 -1
  629. package/es6/min/checkpoints/index.js.gz +0 -0
  630. package/es6/min/checkpoints/with-schemas/index.js +0 -1
  631. package/es6/min/checkpoints/with-schemas/index.js.gz +0 -0
  632. package/es6/min/common/index.js +0 -1
  633. package/es6/min/common/index.js.gz +0 -0
  634. package/es6/min/common/with-schemas/index.js +0 -1
  635. package/es6/min/common/with-schemas/index.js.gz +0 -0
  636. package/es6/min/index.js +0 -1
  637. package/es6/min/index.js.gz +0 -0
  638. package/es6/min/indexes/index.js +0 -1
  639. package/es6/min/indexes/index.js.gz +0 -0
  640. package/es6/min/indexes/with-schemas/index.js +0 -1
  641. package/es6/min/indexes/with-schemas/index.js.gz +0 -0
  642. package/es6/min/mergeable-store/index.js +0 -1
  643. package/es6/min/mergeable-store/index.js.gz +0 -0
  644. package/es6/min/mergeable-store/with-schemas/index.js +0 -1
  645. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  646. package/es6/min/metrics/index.js +0 -1
  647. package/es6/min/metrics/index.js.gz +0 -0
  648. package/es6/min/metrics/with-schemas/index.js +0 -1
  649. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  650. package/es6/min/persisters/index.js +0 -1
  651. package/es6/min/persisters/index.js.gz +0 -0
  652. package/es6/min/persisters/persister-automerge/index.js +0 -1
  653. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  654. package/es6/min/persisters/persister-automerge/with-schemas/index.js +0 -1
  655. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  656. package/es6/min/persisters/persister-browser/index.js +0 -1
  657. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  658. package/es6/min/persisters/persister-browser/with-schemas/index.js +0 -1
  659. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  660. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +0 -1
  661. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  662. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1
  663. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  664. package/es6/min/persisters/persister-durable-object-storage/index.js +0 -1
  665. package/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  666. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +0 -1
  667. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  668. package/es6/min/persisters/persister-electric-sql/index.js +0 -1
  669. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  670. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +0 -1
  671. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  672. package/es6/min/persisters/persister-expo-sqlite/index.js +0 -1
  673. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  674. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1
  675. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  676. package/es6/min/persisters/persister-file/index.js +0 -1
  677. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  678. package/es6/min/persisters/persister-file/with-schemas/index.js +0 -1
  679. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  680. package/es6/min/persisters/persister-indexed-db/index.js +0 -1
  681. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  682. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +0 -1
  683. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  684. package/es6/min/persisters/persister-libsql/index.js +0 -1
  685. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  686. package/es6/min/persisters/persister-libsql/with-schemas/index.js +0 -1
  687. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  688. package/es6/min/persisters/persister-partykit-client/index.js +0 -1
  689. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  690. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +0 -1
  691. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  692. package/es6/min/persisters/persister-partykit-server/index.js +0 -1
  693. package/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  694. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js +0 -1
  695. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  696. package/es6/min/persisters/persister-pglite/index.js +0 -1
  697. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  698. package/es6/min/persisters/persister-pglite/with-schemas/index.js +0 -1
  699. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  700. package/es6/min/persisters/persister-postgres/index.js +0 -1
  701. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  702. package/es6/min/persisters/persister-postgres/with-schemas/index.js +0 -1
  703. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  704. package/es6/min/persisters/persister-powersync/index.js +0 -1
  705. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  706. package/es6/min/persisters/persister-powersync/with-schemas/index.js +0 -1
  707. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  708. package/es6/min/persisters/persister-remote/index.js +0 -1
  709. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  710. package/es6/min/persisters/persister-remote/with-schemas/index.js +0 -1
  711. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  712. package/es6/min/persisters/persister-sqlite-wasm/index.js +0 -1
  713. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  714. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1
  715. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  716. package/es6/min/persisters/persister-sqlite3/index.js +0 -1
  717. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  718. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +0 -1
  719. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  720. package/es6/min/persisters/persister-yjs/index.js +0 -1
  721. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  722. package/es6/min/persisters/persister-yjs/with-schemas/index.js +0 -1
  723. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  724. package/es6/min/persisters/with-schemas/index.js +0 -1
  725. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  726. package/es6/min/queries/index.js +0 -1
  727. package/es6/min/queries/index.js.gz +0 -0
  728. package/es6/min/queries/with-schemas/index.js +0 -1
  729. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  730. package/es6/min/relationships/index.js +0 -1
  731. package/es6/min/relationships/index.js.gz +0 -0
  732. package/es6/min/relationships/with-schemas/index.js +0 -1
  733. package/es6/min/relationships/with-schemas/index.js.gz +0 -0
  734. package/es6/min/store/index.js +0 -1
  735. package/es6/min/store/index.js.gz +0 -0
  736. package/es6/min/store/with-schemas/index.js +0 -1
  737. package/es6/min/store/with-schemas/index.js.gz +0 -0
  738. package/es6/min/synchronizers/index.js +0 -1
  739. package/es6/min/synchronizers/index.js.gz +0 -0
  740. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +0 -1
  741. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  742. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -1
  743. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  744. package/es6/min/synchronizers/synchronizer-local/index.js +0 -1
  745. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  746. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +0 -1
  747. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  748. package/es6/min/synchronizers/synchronizer-ws-client/index.js +0 -1
  749. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  750. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -1
  751. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  752. package/es6/min/synchronizers/synchronizer-ws-server/index.js +0 -1
  753. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  754. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1
  755. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  756. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1
  757. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  758. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1
  759. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  760. package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +0 -1
  761. package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  762. package/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -1
  763. package/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  764. package/es6/min/synchronizers/with-schemas/index.js +0 -1
  765. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  766. package/es6/min/tools/index.js +0 -1
  767. package/es6/min/tools/index.js.gz +0 -0
  768. package/es6/min/tools/with-schemas/index.js +0 -1
  769. package/es6/min/tools/with-schemas/index.js.gz +0 -0
  770. package/es6/min/ui-react/index.js +0 -1
  771. package/es6/min/ui-react/index.js.gz +0 -0
  772. package/es6/min/ui-react/with-schemas/index.js +0 -1
  773. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  774. package/es6/min/ui-react-dom/index.js +0 -1
  775. package/es6/min/ui-react-dom/index.js.gz +0 -0
  776. package/es6/min/ui-react-dom/with-schemas/index.js +0 -1
  777. package/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  778. package/es6/min/ui-react-inspector/index.js +0 -1
  779. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  780. package/es6/min/ui-react-inspector/with-schemas/index.js +0 -1
  781. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  782. package/es6/min/with-schemas/index.js +0 -1
  783. package/es6/min/with-schemas/index.js.gz +0 -0
  784. package/es6/persisters/index.js +0 -1562
  785. package/es6/persisters/persister-automerge/index.js +0 -665
  786. package/es6/persisters/persister-automerge/with-schemas/index.js +0 -665
  787. package/es6/persisters/persister-browser/index.js +0 -573
  788. package/es6/persisters/persister-browser/with-schemas/index.js +0 -573
  789. package/es6/persisters/persister-cr-sqlite-wasm/index.js +0 -1469
  790. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1469
  791. package/es6/persisters/persister-durable-object-storage/index.js +0 -684
  792. package/es6/persisters/persister-durable-object-storage/with-schemas/index.js +0 -684
  793. package/es6/persisters/persister-electric-sql/index.js +0 -1476
  794. package/es6/persisters/persister-electric-sql/with-schemas/index.js +0 -1476
  795. package/es6/persisters/persister-expo-sqlite/index.js +0 -1472
  796. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1472
  797. package/es6/persisters/persister-file/index.js +0 -559
  798. package/es6/persisters/persister-file/with-schemas/index.js +0 -559
  799. package/es6/persisters/persister-indexed-db/index.js +0 -670
  800. package/es6/persisters/persister-indexed-db/with-schemas/index.js +0 -670
  801. package/es6/persisters/persister-libsql/index.js +0 -1470
  802. package/es6/persisters/persister-libsql/with-schemas/index.js +0 -1470
  803. package/es6/persisters/persister-partykit-client/index.js +0 -647
  804. package/es6/persisters/persister-partykit-client/with-schemas/index.js +0 -647
  805. package/es6/persisters/persister-partykit-server/index.js +0 -426
  806. package/es6/persisters/persister-partykit-server/with-schemas/index.js +0 -426
  807. package/es6/persisters/persister-pglite/index.js +0 -1479
  808. package/es6/persisters/persister-pglite/with-schemas/index.js +0 -1479
  809. package/es6/persisters/persister-postgres/index.js +0 -1483
  810. package/es6/persisters/persister-postgres/with-schemas/index.js +0 -1483
  811. package/es6/persisters/persister-powersync/index.js +0 -1610
  812. package/es6/persisters/persister-powersync/with-schemas/index.js +0 -1610
  813. package/es6/persisters/persister-remote/index.js +0 -580
  814. package/es6/persisters/persister-remote/with-schemas/index.js +0 -580
  815. package/es6/persisters/persister-sqlite-wasm/index.js +0 -1503
  816. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1503
  817. package/es6/persisters/persister-sqlite3/index.js +0 -1479
  818. package/es6/persisters/persister-sqlite3/with-schemas/index.js +0 -1479
  819. package/es6/persisters/persister-yjs/index.js +0 -722
  820. package/es6/persisters/persister-yjs/with-schemas/index.js +0 -722
  821. package/es6/persisters/with-schemas/index.js +0 -1562
  822. package/es6/queries/index.js +0 -858
  823. package/es6/queries/with-schemas/index.js +0 -858
  824. package/es6/relationships/index.js +0 -591
  825. package/es6/relationships/with-schemas/index.js +0 -591
  826. package/es6/store/index.js +0 -1719
  827. package/es6/store/with-schemas/index.js +0 -1719
  828. package/es6/synchronizers/index.js +0 -831
  829. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +0 -856
  830. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -856
  831. package/es6/synchronizers/synchronizer-local/index.js +0 -857
  832. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +0 -857
  833. package/es6/synchronizers/synchronizer-ws-client/index.js +0 -927
  834. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -927
  835. package/es6/synchronizers/synchronizer-ws-server/index.js +0 -1061
  836. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1061
  837. package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1077
  838. package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1077
  839. package/es6/synchronizers/synchronizer-ws-server-simple/index.js +0 -128
  840. package/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -128
  841. package/es6/synchronizers/with-schemas/index.js +0 -831
  842. package/es6/tools/index.js +0 -3424
  843. package/es6/tools/with-schemas/index.js +0 -3424
  844. package/es6/ui-react/index.js +0 -2407
  845. package/es6/ui-react/with-schemas/index.js +0 -2407
  846. package/es6/ui-react-dom/index.js +0 -915
  847. package/es6/ui-react-dom/with-schemas/index.js +0 -915
  848. package/es6/ui-react-inspector/index.js +0 -3711
  849. package/es6/ui-react-inspector/with-schemas/index.js +0 -3711
  850. package/es6/with-schemas/index.js +0 -3894
  851. package/umd/checkpoints/index.js +0 -452
  852. package/umd/checkpoints/with-schemas/index.js +0 -452
  853. package/umd/common/index.js +0 -44
  854. package/umd/common/with-schemas/index.js +0 -44
  855. package/umd/es6/checkpoints/index.js +0 -494
  856. package/umd/es6/checkpoints/with-schemas/index.js +0 -494
  857. package/umd/es6/common/index.js +0 -46
  858. package/umd/es6/common/with-schemas/index.js +0 -46
  859. package/umd/es6/index.js +0 -3985
  860. package/umd/es6/indexes/index.js +0 -623
  861. package/umd/es6/indexes/with-schemas/index.js +0 -623
  862. package/umd/es6/mergeable-store/index.js +0 -2450
  863. package/umd/es6/mergeable-store/with-schemas/index.js +0 -2450
  864. package/umd/es6/metrics/index.js +0 -604
  865. package/umd/es6/metrics/with-schemas/index.js +0 -604
  866. package/umd/es6/min/checkpoints/index.js +0 -1
  867. package/umd/es6/min/checkpoints/index.js.gz +0 -0
  868. package/umd/es6/min/checkpoints/with-schemas/index.js +0 -1
  869. package/umd/es6/min/checkpoints/with-schemas/index.js.gz +0 -0
  870. package/umd/es6/min/common/index.js +0 -1
  871. package/umd/es6/min/common/index.js.gz +0 -0
  872. package/umd/es6/min/common/with-schemas/index.js +0 -1
  873. package/umd/es6/min/common/with-schemas/index.js.gz +0 -0
  874. package/umd/es6/min/index.js +0 -1
  875. package/umd/es6/min/index.js.gz +0 -0
  876. package/umd/es6/min/indexes/index.js +0 -1
  877. package/umd/es6/min/indexes/index.js.gz +0 -0
  878. package/umd/es6/min/indexes/with-schemas/index.js +0 -1
  879. package/umd/es6/min/indexes/with-schemas/index.js.gz +0 -0
  880. package/umd/es6/min/mergeable-store/index.js +0 -1
  881. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  882. package/umd/es6/min/mergeable-store/with-schemas/index.js +0 -1
  883. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  884. package/umd/es6/min/metrics/index.js +0 -1
  885. package/umd/es6/min/metrics/index.js.gz +0 -0
  886. package/umd/es6/min/metrics/with-schemas/index.js +0 -1
  887. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  888. package/umd/es6/min/persisters/index.js +0 -1
  889. package/umd/es6/min/persisters/index.js.gz +0 -0
  890. package/umd/es6/min/persisters/persister-automerge/index.js +0 -1
  891. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  892. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +0 -1
  893. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  894. package/umd/es6/min/persisters/persister-browser/index.js +0 -1
  895. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  896. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +0 -1
  897. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  898. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +0 -1
  899. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  900. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1
  901. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  902. package/umd/es6/min/persisters/persister-durable-object-storage/index.js +0 -1
  903. package/umd/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  904. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +0 -1
  905. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  906. package/umd/es6/min/persisters/persister-electric-sql/index.js +0 -1
  907. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  908. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +0 -1
  909. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  910. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +0 -1
  911. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  912. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1
  913. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  914. package/umd/es6/min/persisters/persister-file/index.js +0 -1
  915. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  916. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +0 -1
  917. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  918. package/umd/es6/min/persisters/persister-indexed-db/index.js +0 -1
  919. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  920. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +0 -1
  921. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  922. package/umd/es6/min/persisters/persister-libsql/index.js +0 -1
  923. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  924. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +0 -1
  925. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  926. package/umd/es6/min/persisters/persister-partykit-client/index.js +0 -1
  927. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  928. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +0 -1
  929. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  930. package/umd/es6/min/persisters/persister-partykit-server/index.js +0 -1
  931. package/umd/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  932. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js +0 -1
  933. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  934. package/umd/es6/min/persisters/persister-pglite/index.js +0 -1
  935. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  936. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +0 -1
  937. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  938. package/umd/es6/min/persisters/persister-postgres/index.js +0 -1
  939. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  940. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +0 -1
  941. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  942. package/umd/es6/min/persisters/persister-powersync/index.js +0 -1
  943. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  944. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +0 -1
  945. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  946. package/umd/es6/min/persisters/persister-remote/index.js +0 -1
  947. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  948. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +0 -1
  949. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  950. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +0 -1
  951. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  952. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1
  953. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  954. package/umd/es6/min/persisters/persister-sqlite3/index.js +0 -1
  955. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  956. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +0 -1
  957. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  958. package/umd/es6/min/persisters/persister-yjs/index.js +0 -1
  959. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  960. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +0 -1
  961. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  962. package/umd/es6/min/persisters/with-schemas/index.js +0 -1
  963. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  964. package/umd/es6/min/queries/index.js +0 -1
  965. package/umd/es6/min/queries/index.js.gz +0 -0
  966. package/umd/es6/min/queries/with-schemas/index.js +0 -1
  967. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  968. package/umd/es6/min/relationships/index.js +0 -1
  969. package/umd/es6/min/relationships/index.js.gz +0 -0
  970. package/umd/es6/min/relationships/with-schemas/index.js +0 -1
  971. package/umd/es6/min/relationships/with-schemas/index.js.gz +0 -0
  972. package/umd/es6/min/store/index.js +0 -1
  973. package/umd/es6/min/store/index.js.gz +0 -0
  974. package/umd/es6/min/store/with-schemas/index.js +0 -1
  975. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  976. package/umd/es6/min/synchronizers/index.js +0 -1
  977. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  978. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +0 -1
  979. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  980. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -1
  981. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  982. package/umd/es6/min/synchronizers/synchronizer-local/index.js +0 -1
  983. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  984. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +0 -1
  985. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  986. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +0 -1
  987. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  988. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -1
  989. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  990. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +0 -1
  991. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  992. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1
  993. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  994. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1
  995. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  996. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1
  997. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  998. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +0 -1
  999. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  1000. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -1
  1001. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  1002. package/umd/es6/min/synchronizers/with-schemas/index.js +0 -1
  1003. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  1004. package/umd/es6/min/tools/index.js +0 -1
  1005. package/umd/es6/min/tools/index.js.gz +0 -0
  1006. package/umd/es6/min/tools/with-schemas/index.js +0 -1
  1007. package/umd/es6/min/tools/with-schemas/index.js.gz +0 -0
  1008. package/umd/es6/min/ui-react/index.js +0 -1
  1009. package/umd/es6/min/ui-react/index.js.gz +0 -0
  1010. package/umd/es6/min/ui-react/with-schemas/index.js +0 -1
  1011. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  1012. package/umd/es6/min/ui-react-dom/index.js +0 -1
  1013. package/umd/es6/min/ui-react-dom/index.js.gz +0 -0
  1014. package/umd/es6/min/ui-react-dom/with-schemas/index.js +0 -1
  1015. package/umd/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  1016. package/umd/es6/min/ui-react-inspector/index.js +0 -1
  1017. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  1018. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +0 -1
  1019. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  1020. package/umd/es6/min/with-schemas/index.js +0 -1
  1021. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  1022. package/umd/es6/persisters/index.js +0 -1589
  1023. package/umd/es6/persisters/persister-automerge/index.js +0 -683
  1024. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +0 -683
  1025. package/umd/es6/persisters/persister-browser/index.js +0 -592
  1026. package/umd/es6/persisters/persister-browser/with-schemas/index.js +0 -592
  1027. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +0 -1499
  1028. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1499
  1029. package/umd/es6/persisters/persister-durable-object-storage/index.js +0 -707
  1030. package/umd/es6/persisters/persister-durable-object-storage/with-schemas/index.js +0 -707
  1031. package/umd/es6/persisters/persister-electric-sql/index.js +0 -1506
  1032. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +0 -1506
  1033. package/umd/es6/persisters/persister-expo-sqlite/index.js +0 -1505
  1034. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1505
  1035. package/umd/es6/persisters/persister-file/index.js +0 -578
  1036. package/umd/es6/persisters/persister-file/with-schemas/index.js +0 -578
  1037. package/umd/es6/persisters/persister-indexed-db/index.js +0 -689
  1038. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +0 -689
  1039. package/umd/es6/persisters/persister-libsql/index.js +0 -1500
  1040. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +0 -1500
  1041. package/umd/es6/persisters/persister-partykit-client/index.js +0 -665
  1042. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +0 -665
  1043. package/umd/es6/persisters/persister-partykit-server/index.js +0 -447
  1044. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +0 -447
  1045. package/umd/es6/persisters/persister-pglite/index.js +0 -1504
  1046. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +0 -1504
  1047. package/umd/es6/persisters/persister-postgres/index.js +0 -1511
  1048. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +0 -1511
  1049. package/umd/es6/persisters/persister-powersync/index.js +0 -1644
  1050. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +0 -1644
  1051. package/umd/es6/persisters/persister-remote/index.js +0 -598
  1052. package/umd/es6/persisters/persister-remote/with-schemas/index.js +0 -598
  1053. package/umd/es6/persisters/persister-sqlite-wasm/index.js +0 -1533
  1054. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1533
  1055. package/umd/es6/persisters/persister-sqlite3/index.js +0 -1509
  1056. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +0 -1509
  1057. package/umd/es6/persisters/persister-yjs/index.js +0 -740
  1058. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +0 -740
  1059. package/umd/es6/persisters/with-schemas/index.js +0 -1589
  1060. package/umd/es6/queries/index.js +0 -876
  1061. package/umd/es6/queries/with-schemas/index.js +0 -876
  1062. package/umd/es6/relationships/index.js +0 -615
  1063. package/umd/es6/relationships/with-schemas/index.js +0 -615
  1064. package/umd/es6/store/index.js +0 -1775
  1065. package/umd/es6/store/with-schemas/index.js +0 -1775
  1066. package/umd/es6/synchronizers/index.js +0 -854
  1067. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +0 -879
  1068. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -879
  1069. package/umd/es6/synchronizers/synchronizer-local/index.js +0 -884
  1070. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +0 -884
  1071. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +0 -949
  1072. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -949
  1073. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +0 -1089
  1074. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1089
  1075. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1103
  1076. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1103
  1077. package/umd/es6/synchronizers/synchronizer-ws-server-simple/index.js +0 -144
  1078. package/umd/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -144
  1079. package/umd/es6/synchronizers/with-schemas/index.js +0 -854
  1080. package/umd/es6/tools/index.js +0 -3484
  1081. package/umd/es6/tools/with-schemas/index.js +0 -3484
  1082. package/umd/es6/ui-react/index.js +0 -2466
  1083. package/umd/es6/ui-react/with-schemas/index.js +0 -2466
  1084. package/umd/es6/ui-react-dom/index.js +0 -929
  1085. package/umd/es6/ui-react-dom/with-schemas/index.js +0 -929
  1086. package/umd/es6/ui-react-inspector/index.js +0 -3786
  1087. package/umd/es6/ui-react-inspector/with-schemas/index.js +0 -3786
  1088. package/umd/es6/with-schemas/index.js +0 -3985
  1089. package/umd/index.js +0 -3833
  1090. package/umd/indexes/index.js +0 -574
  1091. package/umd/indexes/with-schemas/index.js +0 -574
  1092. package/umd/mergeable-store/index.js +0 -2343
  1093. package/umd/mergeable-store/with-schemas/index.js +0 -2343
  1094. package/umd/metrics/index.js +0 -549
  1095. package/umd/metrics/with-schemas/index.js +0 -549
  1096. package/umd/min/checkpoints/index.js +0 -1
  1097. package/umd/min/checkpoints/index.js.gz +0 -0
  1098. package/umd/min/checkpoints/with-schemas/index.js +0 -1
  1099. package/umd/min/checkpoints/with-schemas/index.js.gz +0 -0
  1100. package/umd/min/common/index.js +0 -1
  1101. package/umd/min/common/index.js.gz +0 -0
  1102. package/umd/min/common/with-schemas/index.js +0 -1
  1103. package/umd/min/common/with-schemas/index.js.gz +0 -0
  1104. package/umd/min/index.js +0 -1
  1105. package/umd/min/index.js.gz +0 -0
  1106. package/umd/min/indexes/index.js +0 -1
  1107. package/umd/min/indexes/index.js.gz +0 -0
  1108. package/umd/min/indexes/with-schemas/index.js +0 -1
  1109. package/umd/min/indexes/with-schemas/index.js.gz +0 -0
  1110. package/umd/min/mergeable-store/index.js +0 -1
  1111. package/umd/min/mergeable-store/index.js.gz +0 -0
  1112. package/umd/min/mergeable-store/with-schemas/index.js +0 -1
  1113. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  1114. package/umd/min/metrics/index.js +0 -1
  1115. package/umd/min/metrics/index.js.gz +0 -0
  1116. package/umd/min/metrics/with-schemas/index.js +0 -1
  1117. package/umd/min/metrics/with-schemas/index.js.gz +0 -0
  1118. package/umd/min/persisters/index.js +0 -1
  1119. package/umd/min/persisters/index.js.gz +0 -0
  1120. package/umd/min/persisters/persister-automerge/index.js +0 -1
  1121. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  1122. package/umd/min/persisters/persister-automerge/with-schemas/index.js +0 -1
  1123. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  1124. package/umd/min/persisters/persister-browser/index.js +0 -1
  1125. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  1126. package/umd/min/persisters/persister-browser/with-schemas/index.js +0 -1
  1127. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  1128. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +0 -1
  1129. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  1130. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1
  1131. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  1132. package/umd/min/persisters/persister-durable-object-storage/index.js +0 -1
  1133. package/umd/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  1134. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js +0 -1
  1135. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  1136. package/umd/min/persisters/persister-electric-sql/index.js +0 -1
  1137. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  1138. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +0 -1
  1139. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  1140. package/umd/min/persisters/persister-expo-sqlite/index.js +0 -1
  1141. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  1142. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1
  1143. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  1144. package/umd/min/persisters/persister-file/index.js +0 -1
  1145. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  1146. package/umd/min/persisters/persister-file/with-schemas/index.js +0 -1
  1147. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  1148. package/umd/min/persisters/persister-indexed-db/index.js +0 -1
  1149. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  1150. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +0 -1
  1151. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  1152. package/umd/min/persisters/persister-libsql/index.js +0 -1
  1153. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  1154. package/umd/min/persisters/persister-libsql/with-schemas/index.js +0 -1
  1155. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  1156. package/umd/min/persisters/persister-partykit-client/index.js +0 -1
  1157. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  1158. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +0 -1
  1159. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  1160. package/umd/min/persisters/persister-partykit-server/index.js +0 -1
  1161. package/umd/min/persisters/persister-partykit-server/index.js.gz +0 -0
  1162. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js +0 -1
  1163. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  1164. package/umd/min/persisters/persister-pglite/index.js +0 -1
  1165. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  1166. package/umd/min/persisters/persister-pglite/with-schemas/index.js +0 -1
  1167. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  1168. package/umd/min/persisters/persister-postgres/index.js +0 -1
  1169. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  1170. package/umd/min/persisters/persister-postgres/with-schemas/index.js +0 -1
  1171. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  1172. package/umd/min/persisters/persister-powersync/index.js +0 -1
  1173. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  1174. package/umd/min/persisters/persister-powersync/with-schemas/index.js +0 -1
  1175. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  1176. package/umd/min/persisters/persister-remote/index.js +0 -1
  1177. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  1178. package/umd/min/persisters/persister-remote/with-schemas/index.js +0 -1
  1179. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  1180. package/umd/min/persisters/persister-sqlite-wasm/index.js +0 -1
  1181. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  1182. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1
  1183. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  1184. package/umd/min/persisters/persister-sqlite3/index.js +0 -1
  1185. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  1186. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +0 -1
  1187. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  1188. package/umd/min/persisters/persister-yjs/index.js +0 -1
  1189. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  1190. package/umd/min/persisters/persister-yjs/with-schemas/index.js +0 -1
  1191. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  1192. package/umd/min/persisters/with-schemas/index.js +0 -1
  1193. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  1194. package/umd/min/queries/index.js +0 -1
  1195. package/umd/min/queries/index.js.gz +0 -0
  1196. package/umd/min/queries/with-schemas/index.js +0 -1
  1197. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  1198. package/umd/min/relationships/index.js +0 -1
  1199. package/umd/min/relationships/index.js.gz +0 -0
  1200. package/umd/min/relationships/with-schemas/index.js +0 -1
  1201. package/umd/min/relationships/with-schemas/index.js.gz +0 -0
  1202. package/umd/min/store/index.js +0 -1
  1203. package/umd/min/store/index.js.gz +0 -0
  1204. package/umd/min/store/with-schemas/index.js +0 -1
  1205. package/umd/min/store/with-schemas/index.js.gz +0 -0
  1206. package/umd/min/synchronizers/index.js +0 -1
  1207. package/umd/min/synchronizers/index.js.gz +0 -0
  1208. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +0 -1
  1209. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  1210. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -1
  1211. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  1212. package/umd/min/synchronizers/synchronizer-local/index.js +0 -1
  1213. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  1214. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +0 -1
  1215. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  1216. package/umd/min/synchronizers/synchronizer-ws-client/index.js +0 -1
  1217. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  1218. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -1
  1219. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  1220. package/umd/min/synchronizers/synchronizer-ws-server/index.js +0 -1
  1221. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  1222. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1
  1223. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  1224. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1
  1225. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  1226. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1
  1227. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  1228. package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js +0 -1
  1229. package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  1230. package/umd/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -1
  1231. package/umd/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  1232. package/umd/min/synchronizers/with-schemas/index.js +0 -1
  1233. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  1234. package/umd/min/tools/index.js +0 -1
  1235. package/umd/min/tools/index.js.gz +0 -0
  1236. package/umd/min/tools/with-schemas/index.js +0 -1
  1237. package/umd/min/tools/with-schemas/index.js.gz +0 -0
  1238. package/umd/min/ui-react/index.js +0 -1
  1239. package/umd/min/ui-react/index.js.gz +0 -0
  1240. package/umd/min/ui-react/with-schemas/index.js +0 -1
  1241. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  1242. package/umd/min/ui-react-dom/index.js +0 -1
  1243. package/umd/min/ui-react-dom/index.js.gz +0 -0
  1244. package/umd/min/ui-react-dom/with-schemas/index.js +0 -1
  1245. package/umd/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  1246. package/umd/min/ui-react-inspector/index.js +0 -1
  1247. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  1248. package/umd/min/ui-react-inspector/with-schemas/index.js +0 -1
  1249. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  1250. package/umd/min/with-schemas/index.js +0 -1
  1251. package/umd/min/with-schemas/index.js.gz +0 -0
  1252. package/umd/persisters/index.js +0 -1231
  1253. package/umd/persisters/persister-automerge/index.js +0 -558
  1254. package/umd/persisters/persister-automerge/with-schemas/index.js +0 -558
  1255. package/umd/persisters/persister-browser/index.js +0 -463
  1256. package/umd/persisters/persister-browser/with-schemas/index.js +0 -463
  1257. package/umd/persisters/persister-cr-sqlite-wasm/index.js +0 -1145
  1258. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1145
  1259. package/umd/persisters/persister-durable-object-storage/index.js +0 -562
  1260. package/umd/persisters/persister-durable-object-storage/with-schemas/index.js +0 -562
  1261. package/umd/persisters/persister-electric-sql/index.js +0 -1152
  1262. package/umd/persisters/persister-electric-sql/with-schemas/index.js +0 -1152
  1263. package/umd/persisters/persister-expo-sqlite/index.js +0 -1151
  1264. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1151
  1265. package/umd/persisters/persister-file/index.js +0 -451
  1266. package/umd/persisters/persister-file/with-schemas/index.js +0 -451
  1267. package/umd/persisters/persister-indexed-db/index.js +0 -523
  1268. package/umd/persisters/persister-indexed-db/with-schemas/index.js +0 -523
  1269. package/umd/persisters/persister-libsql/index.js +0 -1146
  1270. package/umd/persisters/persister-libsql/with-schemas/index.js +0 -1146
  1271. package/umd/persisters/persister-partykit-client/index.js +0 -505
  1272. package/umd/persisters/persister-partykit-client/with-schemas/index.js +0 -505
  1273. package/umd/persisters/persister-partykit-server/index.js +0 -324
  1274. package/umd/persisters/persister-partykit-server/with-schemas/index.js +0 -324
  1275. package/umd/persisters/persister-pglite/index.js +0 -1148
  1276. package/umd/persisters/persister-pglite/with-schemas/index.js +0 -1148
  1277. package/umd/persisters/persister-postgres/index.js +0 -1149
  1278. package/umd/persisters/persister-postgres/with-schemas/index.js +0 -1149
  1279. package/umd/persisters/persister-powersync/index.js +0 -1242
  1280. package/umd/persisters/persister-powersync/with-schemas/index.js +0 -1242
  1281. package/umd/persisters/persister-remote/index.js +0 -469
  1282. package/umd/persisters/persister-remote/with-schemas/index.js +0 -469
  1283. package/umd/persisters/persister-sqlite-wasm/index.js +0 -1158
  1284. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1158
  1285. package/umd/persisters/persister-sqlite3/index.js +0 -1156
  1286. package/umd/persisters/persister-sqlite3/with-schemas/index.js +0 -1156
  1287. package/umd/persisters/persister-yjs/index.js +0 -604
  1288. package/umd/persisters/persister-yjs/with-schemas/index.js +0 -604
  1289. package/umd/persisters/with-schemas/index.js +0 -1231
  1290. package/umd/queries/index.js +0 -829
  1291. package/umd/queries/with-schemas/index.js +0 -829
  1292. package/umd/relationships/index.js +0 -553
  1293. package/umd/relationships/with-schemas/index.js +0 -553
  1294. package/umd/store/index.js +0 -1693
  1295. package/umd/store/with-schemas/index.js +0 -1693
  1296. package/umd/synchronizers/index.js +0 -690
  1297. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +0 -715
  1298. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -715
  1299. package/umd/synchronizers/synchronizer-local/index.js +0 -717
  1300. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +0 -717
  1301. package/umd/synchronizers/synchronizer-ws-client/index.js +0 -758
  1302. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -758
  1303. package/umd/synchronizers/synchronizer-ws-server/index.js +0 -881
  1304. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -881
  1305. package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -815
  1306. package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -815
  1307. package/umd/synchronizers/synchronizer-ws-server-simple/index.js +0 -102
  1308. package/umd/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -102
  1309. package/umd/synchronizers/with-schemas/index.js +0 -690
  1310. package/umd/tools/index.js +0 -3354
  1311. package/umd/tools/with-schemas/index.js +0 -3354
  1312. package/umd/ui-react/index.js +0 -2280
  1313. package/umd/ui-react/with-schemas/index.js +0 -2280
  1314. package/umd/ui-react-dom/index.js +0 -810
  1315. package/umd/ui-react-dom/with-schemas/index.js +0 -810
  1316. package/umd/ui-react-inspector/index.js +0 -3397
  1317. package/umd/ui-react-inspector/with-schemas/index.js +0 -3397
  1318. package/umd/with-schemas/index.js +0 -3833
@@ -508,7 +508,7 @@ const getCommandFunctions = (
508
508
  partial = false,
509
509
  ) => {
510
510
  const settingColumnNameSet = setNew();
511
- objToArray(content ?? {}, (contentRow) =>
511
+ objMap(content ?? {}, (contentRow) =>
512
512
  arrayMap(objIds(contentRow ?? {}), (cellOrValueId) =>
513
513
  setAdd(settingColumnNameSet, cellOrValueId),
514
514
  ),
@@ -632,7 +632,7 @@ const getCommandFunctions = (
632
632
  );
633
633
  const rows = {};
634
634
  const deleteRowIds = [];
635
- objToArray(content ?? {}, (row, rowId) => {
635
+ objMap(content ?? {}, (row, rowId) => {
636
636
  rows[rowId] = arrayMap(changingColumnNames, (cellId) =>
637
637
  encode ? encode(row?.[cellId]) : row?.[cellId],
638
638
  );
@@ -945,7 +945,7 @@ const getDefaultedTabularConfigMap = (
945
945
  then,
946
946
  ) => {
947
947
  const configMap = mapNew();
948
- objToArray(configsObj, (configObj, id) => {
948
+ objMap(configsObj, (configObj, id) => {
949
949
  const defaultedConfig = slice(
950
950
  objValues(
951
951
  objMerge(
@@ -42,6 +42,8 @@ const objNew = (entries = []) => object.fromEntries(entries);
42
42
  const objHas = (obj, id) => id in obj;
43
43
  const objToArray = (obj, cb) =>
44
44
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
45
+ const objMap = (obj, cb) =>
46
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
45
47
  const objSize = (obj) => size(objIds(obj));
46
48
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
47
49
  const objEnsure = (obj, id, getDefaultValue) => {
@@ -472,7 +474,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
472
474
  let changesFailed = 1;
473
475
  ifNotUndefined(changes, ([cellChanges, valueChanges]) => {
474
476
  changesFailed = 0;
475
- objToArray(cellChanges, (table, tableId) =>
477
+ objMap(cellChanges, (table, tableId) =>
476
478
  changesFailed
477
479
  ? 0
478
480
  : isUndefined(table)
@@ -480,7 +482,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
480
482
  : ifNotUndefined(
481
483
  yTables.get(tableId),
482
484
  (yTable) =>
483
- objToArray(table, (row, rowId) =>
485
+ objMap(table, (row, rowId) =>
484
486
  changesFailed
485
487
  ? 0
486
488
  : isUndefined(row)
@@ -488,7 +490,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
488
490
  : ifNotUndefined(
489
491
  yTable.get(rowId),
490
492
  (yRow) =>
491
- objToArray(row, (cell, cellId) =>
493
+ objMap(row, (cell, cellId) =>
492
494
  isUndefined(cell)
493
495
  ? yRow.delete(cellId)
494
496
  : yRow.set(cellId, cell),
@@ -499,7 +501,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
499
501
  changesDidFail,
500
502
  ),
501
503
  );
502
- objToArray(valueChanges, (value, valueId) =>
504
+ objMap(valueChanges, (value, valueId) =>
503
505
  changesFailed
504
506
  ? 0
505
507
  : isUndefined(value)
@@ -532,7 +534,7 @@ const yMapMatch = (yMapOrParent, idInParent, obj, set) => {
532
534
  : (yMapOrParent.get(idInParent) ??
533
535
  yMapOrParent.set(idInParent, new Map$1()));
534
536
  let changed;
535
- objToArray(obj, (value, id) => {
537
+ objMap(obj, (value, id) => {
536
538
  if (set(yMap, id, value)) {
537
539
  changed = 1;
538
540
  }
@@ -42,6 +42,8 @@ const objNew = (entries = []) => object.fromEntries(entries);
42
42
  const objHas = (obj, id) => id in obj;
43
43
  const objToArray = (obj, cb) =>
44
44
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
45
+ const objMap = (obj, cb) =>
46
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
45
47
  const objSize = (obj) => size(objIds(obj));
46
48
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
47
49
  const objEnsure = (obj, id, getDefaultValue) => {
@@ -472,7 +474,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
472
474
  let changesFailed = 1;
473
475
  ifNotUndefined(changes, ([cellChanges, valueChanges]) => {
474
476
  changesFailed = 0;
475
- objToArray(cellChanges, (table, tableId) =>
477
+ objMap(cellChanges, (table, tableId) =>
476
478
  changesFailed
477
479
  ? 0
478
480
  : isUndefined(table)
@@ -480,7 +482,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
480
482
  : ifNotUndefined(
481
483
  yTables.get(tableId),
482
484
  (yTable) =>
483
- objToArray(table, (row, rowId) =>
485
+ objMap(table, (row, rowId) =>
484
486
  changesFailed
485
487
  ? 0
486
488
  : isUndefined(row)
@@ -488,7 +490,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
488
490
  : ifNotUndefined(
489
491
  yTable.get(rowId),
490
492
  (yRow) =>
491
- objToArray(row, (cell, cellId) =>
493
+ objMap(row, (cell, cellId) =>
492
494
  isUndefined(cell)
493
495
  ? yRow.delete(cellId)
494
496
  : yRow.set(cellId, cell),
@@ -499,7 +501,7 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
499
501
  changesDidFail,
500
502
  ),
501
503
  );
502
- objToArray(valueChanges, (value, valueId) =>
504
+ objMap(valueChanges, (value, valueId) =>
503
505
  changesFailed
504
506
  ? 0
505
507
  : isUndefined(value)
@@ -532,7 +534,7 @@ const yMapMatch = (yMapOrParent, idInParent, obj, set) => {
532
534
  : (yMapOrParent.get(idInParent) ??
533
535
  yMapOrParent.set(idInParent, new Map$1()));
534
536
  let changed;
535
- objToArray(obj, (value, id) => {
537
+ objMap(obj, (value, id) => {
536
538
  if (set(yMap, id, value)) {
537
539
  changed = 1;
538
540
  }
@@ -518,7 +518,7 @@ const getCommandFunctions = (
518
518
  partial = false,
519
519
  ) => {
520
520
  const settingColumnNameSet = setNew();
521
- objToArray(content ?? {}, (contentRow) =>
521
+ objMap(content ?? {}, (contentRow) =>
522
522
  arrayMap(objIds(contentRow ?? {}), (cellOrValueId) =>
523
523
  setAdd(settingColumnNameSet, cellOrValueId),
524
524
  ),
@@ -642,7 +642,7 @@ const getCommandFunctions = (
642
642
  );
643
643
  const rows = {};
644
644
  const deleteRowIds = [];
645
- objToArray(content ?? {}, (row, rowId) => {
645
+ objMap(content ?? {}, (row, rowId) => {
646
646
  rows[rowId] = arrayMap(changingColumnNames, (cellId) =>
647
647
  encode ? encode(row?.[cellId]) : row?.[cellId],
648
648
  );
@@ -955,7 +955,7 @@ const getDefaultedTabularConfigMap = (
955
955
  then,
956
956
  ) => {
957
957
  const configMap = mapNew();
958
- objToArray(configsObj, (configObj, id) => {
958
+ objMap(configsObj, (configObj, id) => {
959
959
  const defaultedConfig = slice(
960
960
  objValues(
961
961
  objMerge(
package/queries/index.js CHANGED
@@ -49,8 +49,11 @@ const arrayPush = (array, ...values) => array.push(...values);
49
49
  const object = Object;
50
50
  const objEntries = object.entries;
51
51
  const objFreeze = object.freeze;
52
+ const objNew = (entries = []) => object.fromEntries(entries);
52
53
  const objToArray = (obj, cb) =>
53
54
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
55
+ const objMap = (obj, cb) =>
56
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
54
57
 
55
58
  const collSize = (coll) => coll?.size ?? 0;
56
59
  const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
@@ -780,7 +783,7 @@ const createQueries = getCreateFunction((store) => {
780
783
  destroy,
781
784
  getListenerStats,
782
785
  };
783
- objToArray(
786
+ objMap(
784
787
  {
785
788
  [TABLE]: [1, 1],
786
789
  [TABLE + CELL_IDS]: [0, 1],
@@ -49,8 +49,11 @@ const arrayPush = (array, ...values) => array.push(...values);
49
49
  const object = Object;
50
50
  const objEntries = object.entries;
51
51
  const objFreeze = object.freeze;
52
+ const objNew = (entries = []) => object.fromEntries(entries);
52
53
  const objToArray = (obj, cb) =>
53
54
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
55
+ const objMap = (obj, cb) =>
56
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
54
57
 
55
58
  const collSize = (coll) => coll?.size ?? 0;
56
59
  const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
@@ -780,7 +783,7 @@ const createQueries = getCreateFunction((store) => {
780
783
  destroy,
781
784
  getListenerStats,
782
785
  };
783
- objToArray(
786
+ objMap(
784
787
  {
785
788
  [TABLE]: [1, 1],
786
789
  [TABLE + CELL_IDS]: [0, 1],
package/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2></section><p><a href="https://tinybase.org/guides/releases/#v5-4"><em>NEW!</em> v5.4 release</a></p><p><span id="one-with">&quot;The One With Durable Objects!&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It&#x27;s <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It&#x27;s <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It&#x27;s Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it&#x27;s especially great for local-first apps: where data is stored locally on the user&#x27;s device and that can be run offline. It&#x27;s tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends.</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><embed src="https://tinybase.org/react.svg">React</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><embed src="https://tinybase.org/indexeddb.svg">IndexedDB</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><embed src="https://tinybase.org/postgresql.svg">PostgreSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><embed src="https://tinybase.org/pglite.svg">PGlite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><embed src="https://tinybase.org/sqlite.svg">SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><embed src="https://tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://tinybase.org/guides/integrations/cloudflare-durable-objects"><embed src="https://tinybase.org/cloudflare.svg">Cloudflare</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><embed src="https://tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><embed src="https://tinybase.org/turso.svg">Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><embed src="https://tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><embed src="https://tinybase.org/partykit.svg">PartyKit</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><embed src="https://tinybase.org/yjs.svg">YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><embed src="https://tinybase.org/automerge.svg">Automerge</a></div><p>(Baffled by all these logos? Check out our <a href="https://tinybase.org/guides/the-basics/architectural-options">architectural options</a> guide to make sense of it all!)</p></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://bsky.app/profile/tinybase.bsky.social"><img src="https://img.shields.io/badge/Bluesky-Follow-blue?style=for-the-badge&amp;logo=bluesky&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%230285FF"> </a><a href="https://x.com/tinybasejs" target="_blank"><img src="https://img.shields.io/badge/%2F%20Twitter-Follow-blue?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%23000"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.4.0" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
1
+ <link rel="preload" as="image" href="https://beta.tinybase.org/react.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/indexeddb.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/postgresql.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/pglite.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/sqlite.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/expo.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/cloudflare.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/electric.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/turso.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/powersync.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/partykit.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/yjs.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/crsqlite.png"><link rel="preload" as="image" href="https://beta.tinybase.org/automerge.svg?asImg"><link rel="preload" as="image" href="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"><link rel="preload" as="image" href="https://img.shields.io/badge/Bluesky-Follow-blue?style=for-the-badge&amp;logo=bluesky&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%230285FF"><link rel="preload" as="image" href="https://img.shields.io/badge/%2F%20Twitter-Follow-blue?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%23000"><link rel="preload" as="image" href="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"><link rel="preload" as="image" href="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"><link rel="preload" as="image" href="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"><link rel="preload" as="image" href="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"><link rel="preload" as="image" href="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"><link rel="preload" as="image" href="https://beta.tinybase.org/ui-react-dom.webp"><link rel="preload" as="image" href="https://beta.tinybase.org/store-inspector.webp"><link rel="preload" as="image" href="https://github.com/cpojer.png?size=48"><link rel="preload" as="image" href="https://github.com/expo.png?size=48"><link rel="preload" as="image" href="https://github.com/beekeeb.png?size=48"><link rel="preload" as="image" href="https://github.com/cancelself.png?size=48"><link rel="preload" as="image" href="https://github.com/WonderPanda.png?size=48"><link rel="preload" as="image" href="https://github.com/arpitBhalla.png?size=48"><link rel="preload" as="image" href="https://github.com/behrends.png?size=48"><link rel="preload" as="image" href="https://github.com/betomoedano.png?size=48"><link rel="preload" as="image" href="https://github.com/brentvatne.png?size=48"><link rel="preload" as="image" href="https://github.com/byCedric.png?size=48"><link rel="preload" as="image" href="https://github.com/circadian-risk.png?size=48"><link rel="preload" as="image" href="https://github.com/cubecull.png?size=48"><link rel="preload" as="image" href="https://github.com/erwinkn.png?size=48"><link rel="preload" as="image" href="https://github.com/ezra-en.png?size=48"><link rel="preload" as="image" href="https://github.com/feychenie.png?size=48"><link rel="preload" as="image" href="https://github.com/flaming-codes.png?size=48"><link rel="preload" as="image" href="https://github.com/fostertheweb.png?size=48"><link rel="preload" as="image" href="https://github.com/Giulio987.png?size=48"><link rel="preload" as="image" href="https://github.com/hi-ogawa.png?size=48"><link rel="preload" as="image" href="https://github.com/itsdevcoffee.png?size=48"><link rel="preload" as="image" href="https://github.com/jbolda.png?size=48"><link rel="preload" as="image" href="https://github.com/Kayoo-asso.png?size=48"><link rel="preload" as="image" href="https://github.com/kotofurumiya.png?size=48"><link rel="preload" as="image" href="https://github.com/Kudo.png?size=48"><link rel="preload" as="image" href="https://github.com/learn-anything.png?size=48"><link rel="preload" as="image" href="https://github.com/lluc.png?size=48"><link rel="preload" as="image" href="https://github.com/marksteve.png?size=48"><link rel="preload" as="image" href="https://github.com/miking-the-viking.png?size=48"><link rel="preload" as="image" href="https://github.com/mjamesderocher.png?size=48"><link rel="preload" as="image" href="https://github.com/mouktardev.png?size=48"><link rel="preload" as="image" href="https://github.com/nickmessing.png?size=48"><link rel="preload" as="image" href="https://github.com/nikitavoloboev.png?size=48"><link rel="preload" as="image" href="https://github.com/nkzw-tech.png?size=48"><link rel="preload" as="image" href="https://github.com/palerdot.png?size=48"><link rel="preload" as="image" href="https://github.com/PorcoRosso85.png?size=48"><link rel="preload" as="image" href="https://github.com/primodiumxyz.png?size=48"><link rel="preload" as="image" href="https://github.com/shaneosullivan.png?size=48"><link rel="preload" as="image" href="https://github.com/sudo-self.png?size=48"><link rel="preload" as="image" href="https://github.com/SuperSonicHub1.png?size=48"><link rel="preload" as="image" href="https://github.com/threepointone.png?size=48"><link rel="preload" as="image" href="https://github.com/uptonking.png?size=48"><link rel="preload" as="image" href="https://github.com/ViktorZhurbin.png?size=48"><link rel="preload" as="image" href="https://github.com/wilkerlucio.png?size=48"><link rel="preload" as="image" href="https://tinybase.org/favicon.svg?asImg"><link rel="preload" as="image" href="https://tinywidgets.org/favicon.svg?asImg"><link rel="preload" as="image" href="https://tinytick.org/favicon.svg?asImg"><link rel="preload" as="image" href="https://beta.tinybase.org/youtube.webp"><section id="hero"><h2 id="a-reactive-data-store-sync-engine">A <em>reactive</em> data store <span>&amp; <em>sync</em> engine</span>.</h2></section><p><a href="https://beta.tinybase.org/guides/releases/#v5-4"><em>NEW!</em> v5.4 release</a></p><p><span id="one-with">&quot;The One With Durable Objects!&quot;</span></p><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It&#x27;s <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It&#x27;s <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://beta.tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://beta.tinybase.org/api/persister-browser">browser storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://beta.tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It&#x27;s Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it&#x27;s especially great for local-first apps: where data is stored locally on the user&#x27;s device and that can be run offline. It&#x27;s tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends.</h2><div><a href="https://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img src="https://beta.tinybase.org/react.svg?asImg" width="48"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img src="https://beta.tinybase.org/indexeddb.svg?asImg" width="48"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://beta.tinybase.org/postgresql.svg?asImg" width="48"> PostgreSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://beta.tinybase.org/pglite.svg?asImg" width="48"> PGlite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://beta.tinybase.org/sqlite.svg?asImg" width="48"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://beta.tinybase.org/expo.svg?asImg" width="48"> Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/integrations/cloudflare-durable-objects"><img src="https://beta.tinybase.org/cloudflare.svg?asImg" width="48"> Cloudflare</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://beta.tinybase.org/electric.svg?asImg" width="48"> ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://beta.tinybase.org/turso.svg?asImg" width="48"> Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://beta.tinybase.org/powersync.svg?asImg" width="48"> PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img src="https://beta.tinybase.org/partykit.svg?asImg" width="48"> PartyKit</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img src="https://beta.tinybase.org/yjs.svg?asImg" width="48"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img src="https://beta.tinybase.org/crsqlite.png" width="48"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img src="https://beta.tinybase.org/automerge.svg?asImg" width="48"> Automerge</a></div><p>(Baffled by all these logos? Check out our <a href="https://beta.tinybase.org/guides/the-basics/architectural-options">architectural options</a> guide to make sense of it all!)</p></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://bsky.app/profile/tinybase.bsky.social"><img src="https://img.shields.io/badge/Bluesky-Follow-blue?style=for-the-badge&amp;logo=bluesky&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%230285FF"> </a><a href="https://x.com/tinybasejs" target="_blank"><img src="https://img.shields.io/badge/%2F%20Twitter-Follow-blue?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%23000"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/6.0.0-beta.1" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://beta.tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
2
2
 
3
3
  ```js
4
4
  import {createStore} from 'tinybase';
@@ -11,7 +11,7 @@ console.log(store.getValues());
11
11
  // -> {employees: 3, open: true}
12
12
  ```
13
13
 
14
- <section><h2 id="level-up-to-use-tabular-data">Level up to use tabular data.</h2><p>For other types of data applications, a tabular data structure is more useful. TinyBase lets you set and get nested <a href="https://tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>, <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a>, or <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> data, by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a> - and in the same <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> as the keyed values!</p><p>Read more about setting and changing data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
14
+ <section><h2 id="level-up-to-use-tabular-data">Level up to use tabular data.</h2><p>For other types of data applications, a tabular data structure is more useful. TinyBase lets you set and get nested <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>, <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a>, or <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> data, by unique <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a> - and in the same <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> as the keyed values!</p><p>Read more about setting and changing data in <a href="https://beta.tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
15
15
 
16
16
  ```js
17
17
  store
@@ -22,7 +22,7 @@ console.log(store.getRow('pets', 'fido'));
22
22
  // -> {species: 'dog', color: 'brown'}
23
23
  ```
24
24
 
25
- <section><h2 id="register-granular-listeners">Register granular listeners.</h2><p>The magic starts to happen when you register listeners on a <a href="https://tinybase.org/api/store/type-aliases/store/value/"><code>Value</code></a>, <a href="https://tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>, <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a>, or <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>. They get called when any part of that object changes. You can also use wildcards - useful when you don&#x27;t know the <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a> of the objects that might change.</p><p>Read more about listeners in the <a href="https://tinybase.org/guides/the-basics/listening-to-stores/">Listening To Stores</a> guide.</p></section>
25
+ <section><h2 id="register-granular-listeners">Register granular listeners.</h2><p>The magic starts to happen when you register listeners on a <a href="https://beta.tinybase.org/api/store/type-aliases/store/value/"><code>Value</code></a>, <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>, <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a>, or <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>. They get called when any part of that object changes. You can also use wildcards - useful when you don&#x27;t know the <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a> of the objects that might change.</p><p>Read more about listeners in the <a href="https://beta.tinybase.org/guides/the-basics/listening-to-stores/">Listening To Stores</a> guide.</p></section>
26
26
 
27
27
  ```js
28
28
  const listenerId = store.addTableListener('pets', () =>
@@ -35,7 +35,7 @@ store.setCell('pets', 'fido', 'sold', false);
35
35
  store.delListener(listenerId);
36
36
  ```
37
37
 
38
- <section><h2 id="call-hooks-to-bind-to-data">Call hooks to bind to data.</h2><p>If you&#x27;re using React in your application, the optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module provides hooks to bind to the data in a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>.</p><p>More magic! The <a href="https://tinybase.org/api/ui-react/functions/store-hooks/usecell/"><code>useCell</code></a> hook in this example fetches the dog&#x27;s color. But it also registers a listener on that cell that will fire and re-render the component whenever the value changes.</p><p>Basically you simply describe what data you want in your user interface and TinyBase will take care of the whole lifecycle of updating it for you.</p><p>Read more about the using hooks in the <a href="https://tinybase.org/guides/building-uis/using-react-hooks/">Using React Hooks</a> guide.</p></section>
38
+ <section><h2 id="call-hooks-to-bind-to-data">Call hooks to bind to data.</h2><p>If you&#x27;re using React in your application, the optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module provides hooks to bind to the data in a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>.</p><p>More magic! The <a href="https://beta.tinybase.org/api/ui-react/functions/store-hooks/usecell/"><code>useCell</code></a> hook in this example fetches the dog&#x27;s color. But it also registers a listener on that cell that will fire and re-render the component whenever the value changes.</p><p>Basically you simply describe what data you want in your user interface and TinyBase will take care of the whole lifecycle of updating it for you.</p><p>Read more about the using hooks in the <a href="https://beta.tinybase.org/guides/building-uis/using-react-hooks/">Using React Hooks</a> guide.</p></section>
39
39
 
40
40
  ```jsx
41
41
  import React from 'react';
@@ -60,7 +60,7 @@ console.log(app.innerHTML);
60
60
  root.unmount();
61
61
  ```
62
62
 
63
- <section><h2 id="pre-built-reactive-components">Pre-built reactive components.</h2><p>The <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module provides bare React components that let you build up a fully reactive user interface based on a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>.</p><p>For web applications in particular, the new <a href="https://tinybase.org/api/ui-react-dom/"><code>ui-react-dom</code></a> module provides pre-built components for tabular display of your data, with lots of customization and interactivity options.</p><p>Try them out in the <a href="https://tinybase.org/demos/ui-components/">UI Components</a> demos, and read more about the underlying <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module in the <a href="https://tinybase.org/guides/building-uis/">Building UIs</a> guides.</p></section><img src="https://tinybase.org/ui-react-dom.webp"><section><h2 id="an-inspector-for-your-data">An inspector for your data.</h2><p>If you are building a web application, the new <a href="https://tinybase.org/api/ui-react-inspector/functions/development-components/inspector/"><code>Inspector</code></a> component lets you overlay a view of the data in your <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>, <a href="https://tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a>, <a href="https://tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a>, and so on. You can even edit the data in place and see it update in your app immediately.</p><p>Read more about this powerful new tool in the <a href="https://tinybase.org/guides/developer-tools/inspecting-data/">Inspecting Data</a> guide.</p></section><img src="https://tinybase.org/store-inspector.webp"><section><h2 id="apply-schemas-to-tables-values">Apply schemas to tables &amp; values.</h2><p>By default, a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> can contain any arbitrary <a href="https://tinybase.org/api/store/type-aliases/store/value/"><code>Value</code></a>, and a <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> can contain any arbitrary <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>. But you can add a <a href="https://tinybase.org/api/store/type-aliases/schema/valuesschema/"><code>ValuesSchema</code></a> or a <a href="https://tinybase.org/api/store/type-aliases/schema/tablesschema/"><code>TablesSchema</code></a> to a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> to ensure that the values are always what you expect: constraining their types, and providing defaults.</p><p>In this example, we set a new <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> without the <code>sold</code> <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> in it. The schema ensures it&#x27;s present with default of <code>false</code>.</p><p>Read more about schemas in the <a href="https://tinybase.org/guides/schemas/">Schemas</a> guide.</p></section>
63
+ <section><h2 id="pre-built-reactive-components">Pre-built reactive components.</h2><p>The <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module provides bare React components that let you build up a fully reactive user interface based on a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>.</p><p>For web applications in particular, the new <a href="https://beta.tinybase.org/api/ui-react-dom/"><code>ui-react-dom</code></a> module provides pre-built components for tabular display of your data, with lots of customization and interactivity options.</p><p>Try them out in the <a href="https://beta.tinybase.org/demos/ui-components/">UI Components</a> demos, and read more about the underlying <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module in the <a href="https://beta.tinybase.org/guides/building-uis/">Building UIs</a> guides.</p></section><img src="https://beta.tinybase.org/ui-react-dom.webp"><section><h2 id="an-inspector-for-your-data">An inspector for your data.</h2><p>If you are building a web application, the new <a href="https://beta.tinybase.org/api/ui-react-inspector/functions/development-components/inspector/"><code>Inspector</code></a> component lets you overlay a view of the data in your <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>, <a href="https://beta.tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a>, <a href="https://beta.tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a>, and so on. You can even edit the data in place and see it update in your app immediately.</p><p>Read more about this powerful new tool in the <a href="https://beta.tinybase.org/guides/developer-tools/inspecting-data/">Inspecting Data</a> guide.</p></section><img src="https://beta.tinybase.org/store-inspector.webp"><section><h2 id="apply-schemas-to-tables-values">Apply schemas to tables &amp; values.</h2><p>By default, a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> can contain any arbitrary <a href="https://beta.tinybase.org/api/store/type-aliases/store/value/"><code>Value</code></a>, and a <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> can contain any arbitrary <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>. But you can add a <a href="https://beta.tinybase.org/api/store/type-aliases/schema/valuesschema/"><code>ValuesSchema</code></a> or a <a href="https://beta.tinybase.org/api/store/type-aliases/schema/tablesschema/"><code>TablesSchema</code></a> to a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> to ensure that the values are always what you expect: constraining their types, and providing defaults.</p><p>In this example, we set a new <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> without the <code>sold</code> <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> in it. The schema ensures it&#x27;s present with default of <code>false</code>.</p><p>Read more about schemas in the <a href="https://beta.tinybase.org/guides/schemas/">Schemas</a> guide.</p></section>
64
64
 
65
65
  ```js
66
66
  store.setTablesSchema({
@@ -78,7 +78,7 @@ console.log(store.getRow('pets', 'polly'));
78
78
  store.delTablesSchema();
79
79
  ```
80
80
 
81
- <section><h2 id="synchronize-between-devices">Synchronize between devices.</h2><p>The <a href="https://tinybase.org/api/mergeable-store/interfaces/mergeable/mergeablestore/"><code>MergeableStore</code></a> type acts as a native CRDT, letting you merge data and synchronize it between clients and systems - or even a server. The synchronization protocol can run over WebSockets, the browser BroadcastChannel, or your own custom synchronization medium.</p><p>Read more about these techniques in the <a href="https://tinybase.org/guides/synchronization/">Synchronization</a> guides.</p></section>
81
+ <section><h2 id="synchronize-between-devices">Synchronize between devices.</h2><p>The <a href="https://beta.tinybase.org/api/mergeable-store/interfaces/mergeable/mergeablestore/"><code>MergeableStore</code></a> type acts as a native CRDT, letting you merge data and synchronize it between clients and systems - or even a server. The synchronization protocol can run over WebSockets, the browser BroadcastChannel, or your own custom synchronization medium.</p><p>Read more about these techniques in the <a href="https://beta.tinybase.org/guides/synchronization/">Synchronization</a> guides.</p></section>
82
82
 
83
83
  ```js
84
84
  import {WebSocketServer, WebSocket} from 'ws';
@@ -105,7 +105,7 @@ synchronizer1.destroy();
105
105
  server.destroy();
106
106
  ```
107
107
 
108
- <section><h2 id="persist-to-storage-databases-more">Persist to storage, databases, &amp; more.</h2><p>You can easily persist a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> between browser page reloads or sessions. You can also synchronize it with a web endpoint, or (if you&#x27;re using TinyBase in an appropriate environment), load and save it to a file. You can bind TinyBase to various flavors of <a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence/">database</a>, or to <a href="https://yjs.dev/">Yjs</a> and <a href="https://automerge.org/">Automerge</a> CRDT documents.</p><p>Read more about persisters in the <a href="https://tinybase.org/guides/persistence/">Persistence</a> guides.</p></section>
108
+ <section><h2 id="persist-to-storage-databases-more">Persist to storage, databases, &amp; more.</h2><p>You can easily persist a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> between browser page reloads or sessions. You can also synchronize it with a web endpoint, or (if you&#x27;re using TinyBase in an appropriate environment), load and save it to a file. You can bind TinyBase to various flavors of <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">database</a>, or to <a href="https://yjs.dev/">Yjs</a> and <a href="https://automerge.org/">Automerge</a> CRDT documents.</p><p>Read more about persisters in the <a href="https://beta.tinybase.org/guides/persistence/">Persistence</a> guides.</p></section>
109
109
 
110
110
  ```js
111
111
  import {createSessionPersister} from 'tinybase/persisters/persister-browser';
@@ -131,7 +131,7 @@ persister.destroy();
131
131
  sessionStorage.clear();
132
132
  ```
133
133
 
134
- <section><h2 id="build-complex-queries-with-tinyql">Build complex queries with <a href="https://tinybase.org/guides/using-queries/tinyql/">TinyQL</a>.</h2><p>The <a href="https://tinybase.org/api/queries/interfaces/queries/queries/"><code>Queries</code></a> object lets you query data across tables, with filtering and aggregation - using a SQL-adjacent syntax called <a href="https://tinybase.org/guides/using-queries/tinyql/">TinyQL</a>.</p><p>Accessors and listeners let you sort and paginate the results efficiently, making building rich tabular interfaces easier than ever.</p><p>In this example, we have two tables: of pets and their owners. They are joined together by the pet&#x27;s ownerId <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>. We select the pet&#x27;s species, and the owner&#x27;s state, and then aggregate the prices for the combinations.</p><p>We access the results by descending price, essentially answering the question: &quot;which is the highest-priced species, and in which state?&quot;</p><p>Needless to say, the results are reactive too! You can add listeners to queries just as easily as you do to raw tables.</p><p>Read more about <a href="https://tinybase.org/api/queries/interfaces/queries/queries/"><code>Queries</code></a> in the <a href="https://tinybase.org/guides/releases/#v2-0">v2.0 Release Notes</a>, the <a href="https://tinybase.org/guides/using-queries/">Using Queries</a> guide, and the <a href="https://tinybase.org/demos/car-analysis/">Car Analysis</a> demo and <a href="https://tinybase.org/demos/movie-database/">Movie Database</a> demo.</p></section>
134
+ <section><h2 id="build-complex-queries-with-tinyql">Build complex queries with <a href="https://beta.tinybase.org/guides/using-queries/tinyql/">TinyQL</a>.</h2><p>The <a href="https://beta.tinybase.org/api/queries/interfaces/queries/queries/"><code>Queries</code></a> object lets you query data across tables, with filtering and aggregation - using a SQL-adjacent syntax called <a href="https://beta.tinybase.org/guides/using-queries/tinyql/">TinyQL</a>.</p><p>Accessors and listeners let you sort and paginate the results efficiently, making building rich tabular interfaces easier than ever.</p><p>In this example, we have two tables: of pets and their owners. They are joined together by the pet&#x27;s ownerId <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>. We select the pet&#x27;s species, and the owner&#x27;s state, and then aggregate the prices for the combinations.</p><p>We access the results by descending price, essentially answering the question: &quot;which is the highest-priced species, and in which state?&quot;</p><p>Needless to say, the results are reactive too! You can add listeners to queries just as easily as you do to raw tables.</p><p>Read more about <a href="https://beta.tinybase.org/api/queries/interfaces/queries/queries/"><code>Queries</code></a> in the <a href="https://beta.tinybase.org/guides/releases/#v2-0">v2.0 Release Notes</a>, the <a href="https://beta.tinybase.org/guides/using-queries/">Using Queries</a> guide, and the <a href="https://beta.tinybase.org/demos/car-analysis/">Car Analysis</a> demo and <a href="https://beta.tinybase.org/demos/movie-database/">Movie Database</a> demo.</p></section>
135
135
 
136
136
  ```js
137
137
  import {createQueries} from 'tinybase';
@@ -174,7 +174,7 @@ queries
174
174
  queries.destroy();
175
175
  ```
176
176
 
177
- <section><h2 id="define-metrics-and-aggregations">Define metrics and aggregations.</h2><p>A <a href="https://tinybase.org/api/metrics/interfaces/metrics/metrics/"><code>Metrics</code></a> object makes it easy to keep a running aggregation of <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> values in each <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> of a <a href="https://tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>. This is useful for counting rows, but also supports averages, ranges of values, or arbitrary aggregations.</p><p>In this example, we create a new table of the pet species, and keep a track of which is most expensive. When we add horses to our pet store, the listener detects that the highest price has changed.</p><p>Read more about <a href="https://tinybase.org/api/metrics/interfaces/metrics/metrics/"><code>Metrics</code></a> in the <a href="https://tinybase.org/guides/using-metrics/">Using Metrics</a> guide.</p></section>
177
+ <section><h2 id="define-metrics-and-aggregations">Define metrics and aggregations.</h2><p>A <a href="https://beta.tinybase.org/api/metrics/interfaces/metrics/metrics/"><code>Metrics</code></a> object makes it easy to keep a running aggregation of <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> values in each <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> of a <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>. This is useful for counting rows, but also supports averages, ranges of values, or arbitrary aggregations.</p><p>In this example, we create a new table of the pet species, and keep a track of which is most expensive. When we add horses to our pet store, the listener detects that the highest price has changed.</p><p>Read more about <a href="https://beta.tinybase.org/api/metrics/interfaces/metrics/metrics/"><code>Metrics</code></a> in the <a href="https://beta.tinybase.org/guides/using-metrics/">Using Metrics</a> guide.</p></section>
178
178
 
179
179
  ```js
180
180
  import {createMetrics} from 'tinybase';
@@ -205,7 +205,7 @@ store.setCell('species', 'horse', 'price', 20);
205
205
  metrics.destroy();
206
206
  ```
207
207
 
208
- <section><h2 id="create-indexes-for-fast-lookups">Create indexes for fast lookups.</h2><p>An <a href="https://tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a> object makes it easy to look up all the <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> objects that have a certain value in a <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>.</p><p>In this example, we create an index on the <code>species</code> <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> values. We can then get the the list of distinct <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> value present for that index (known as &#x27;slices&#x27;), and the set of <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> objects that match each value.</p><p><a href="https://tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a> objects are reactive too. So you can set listeners on them just as you do for the data in the underlying <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>.</p><p>Read more about <a href="https://tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a> in the <a href="https://tinybase.org/guides/using-indexes/">Using Indexes</a> guide.</p></section>
208
+ <section><h2 id="create-indexes-for-fast-lookups">Create indexes for fast lookups.</h2><p>An <a href="https://beta.tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a> object makes it easy to look up all the <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> objects that have a certain value in a <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a>.</p><p>In this example, we create an index on the <code>species</code> <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> values. We can then get the the list of distinct <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> value present for that index (known as &#x27;slices&#x27;), and the set of <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> objects that match each value.</p><p><a href="https://beta.tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a> objects are reactive too. So you can set listeners on them just as you do for the data in the underlying <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>.</p><p>Read more about <a href="https://beta.tinybase.org/api/indexes/interfaces/indexes/indexes/"><code>Indexes</code></a> in the <a href="https://beta.tinybase.org/guides/using-indexes/">Using Indexes</a> guide.</p></section>
209
209
 
210
210
  ```js
211
211
  import {createIndexes} from 'tinybase';
@@ -231,7 +231,7 @@ store.setRow('pets', 'lowly', {species: 'worm'});
231
231
  indexes.destroy();
232
232
  ```
233
233
 
234
- <section><h2 id="model-table-relationships">Model table relationships.</h2><p>A <a href="https://tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a> object lets you associate a <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> in a local <a href="https://tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a> with the <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a> of a <a href="https://tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> in a remote <a href="https://tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>. You can also reference a table to itself to create linked lists.</p><p>In this example, the <code>species</code> <a href="https://tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> of the <code>pets</code> <a href="https://tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a> is used to create a relationship to the <code>species</code> <a href="https://tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>, so that we can access the price of a given pet.</p><p>Like everything else, you can set listeners on <a href="https://tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a> too.</p><p>Read more about <a href="https://tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a> in the <a href="https://tinybase.org/guides/using-relationships/">Using Relationships</a> guide.</p></section>
234
+ <section><h2 id="model-table-relationships">Model table relationships.</h2><p>A <a href="https://beta.tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a> object lets you associate a <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> in a local <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a> with the <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a> of a <a href="https://beta.tinybase.org/api/store/type-aliases/store/row/"><code>Row</code></a> in a remote <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>. You can also reference a table to itself to create linked lists.</p><p>In this example, the <code>species</code> <a href="https://beta.tinybase.org/api/store/type-aliases/store/cell/"><code>Cell</code></a> of the <code>pets</code> <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a> is used to create a relationship to the <code>species</code> <a href="https://beta.tinybase.org/api/store/type-aliases/store/table/"><code>Table</code></a>, so that we can access the price of a given pet.</p><p>Like everything else, you can set listeners on <a href="https://beta.tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a> too.</p><p>Read more about <a href="https://beta.tinybase.org/api/relationships/interfaces/relationships/relationships/"><code>Relationships</code></a> in the <a href="https://beta.tinybase.org/guides/using-relationships/">Using Relationships</a> guide.</p></section>
235
235
 
236
236
  ```js
237
237
  import {createRelationships} from 'tinybase';
@@ -256,7 +256,7 @@ console.log(
256
256
  relationships.destroy();
257
257
  ```
258
258
 
259
- <section><h2 id="set-checkpoints-for-an-undo-stack">Set checkpoints for an undo stack.</h2><p>A <a href="https://tinybase.org/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object lets you set checkpoints on a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>. Move forward and backward through them to create undo and redo functions.</p><p>In this example, we set a checkpoint, then sell one of the pets. Later, the pet is brought back to the shop, and we go back to that checkpoint to revert the store to its previous state.</p><p>Read more about <a href="https://tinybase.org/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> in the <a href="https://tinybase.org/guides/using-checkpoints/">Using Checkpoints</a> guide.</p></section>
259
+ <section><h2 id="set-checkpoints-for-an-undo-stack">Set checkpoints for an undo stack.</h2><p>A <a href="https://beta.tinybase.org/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> object lets you set checkpoints on a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a>. Move forward and backward through them to create undo and redo functions.</p><p>In this example, we set a checkpoint, then sell one of the pets. Later, the pet is brought back to the shop, and we go back to that checkpoint to revert the store to its previous state.</p><p>Read more about <a href="https://beta.tinybase.org/api/checkpoints/interfaces/checkpoints/checkpoints/"><code>Checkpoints</code></a> in the <a href="https://beta.tinybase.org/guides/using-checkpoints/">Using Checkpoints</a> guide.</p></section>
260
260
 
261
261
  ```js
262
262
  import {createCheckpoints} from 'tinybase';
@@ -275,7 +275,7 @@ console.log(store.getCell('pets', 'felix', 'sold'));
275
275
  // -> false
276
276
  ```
277
277
 
278
- <section><h2 id="type-definitions-orm-like-apis">Type definitions &amp; ORM-like APIs</h2><p>TinyBase has comprehensive type definitions, and even offers definitions that infer API types from the data schemas you apply.</p><p>Furthermore, you can easily create TypeScript <code>.d.ts</code> definitions that model your data and encourage type-safety when reading and writing data - as well as <code>.ts</code> implementations that provide ORM-like methods for your named tables.</p><p>Read more about type support in the <a href="https://tinybase.org/guides/the-basics/tinybase-and-typescript/">TinyBase And TypeScript</a> guide.</p></section>
278
+ <section><h2 id="type-definitions-orm-like-apis">Type definitions &amp; ORM-like APIs</h2><p>TinyBase has comprehensive type definitions, and even offers definitions that infer API types from the data schemas you apply.</p><p>Furthermore, you can easily create TypeScript <code>.d.ts</code> definitions that model your data and encourage type-safety when reading and writing data - as well as <code>.ts</code> implementations that provide ORM-like methods for your named tables.</p><p>Read more about type support in the <a href="https://beta.tinybase.org/guides/the-basics/tinybase-and-typescript/">TinyBase And TypeScript</a> guide.</p></section>
279
279
 
280
280
  ```js yolo
281
281
  const tools = createTools(store);
@@ -294,4 +294,4 @@ export const createShop: typeof createShopDecl = () => {
294
294
  };
295
295
  ```
296
296
 
297
- <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.9kB</em>, the ui-react-dom components are another <em>2.6kB</em>, and everything is super fast. Life is easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.4kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>119.3kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.9kB</td><td>53.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.6kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,286</td><td>2,286</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,468</td><td>2,468</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>986</td><td>986</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>854</td><td>854</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,461</td></tr><tr><th class="right">Assertions</th><td colspan="3">33,209</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo"></a><a href="https://github.com/beekeeb" target="_blank"><img src="https://github.com/beekeeb.png?size=48" title="beekeeb"></a><a href="https://github.com/cancelself" target="_blank"><img src="https://github.com/cancelself.png?size=48" title="cancelself"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda"></a><a href="https://github.com/arpitBhalla" target="_blank"><img src="https://github.com/arpitBhalla.png?size=48" title="arpitBhalla"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img src="https://github.com/Apocalypsor.png?size=48" title="Apocalypsor"></a><a href="https://github.com/brentvatne" target="_blank"><img src="https://github.com/brentvatne.png?size=48" title="brentvatne"></a><a href="https://github.com/byCedric" target="_blank"><img src="https://github.com/byCedric.png?size=48" title="byCedric"></a><a href="https://github.com/circadian-risk" target="_blank"><img src="https://github.com/circadian-risk.png?size=48" title="circadian-risk"></a><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer"></a><a href="https://github.com/cubecull" target="_blank"><img src="https://github.com/cubecull.png?size=48" title="cubecull"></a><a href="https://github.com/erwinkn" target="_blank"><img src="https://github.com/erwinkn.png?size=48" title="erwinkn"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo"></a><a href="https://github.com/ezra-en" target="_blank"><img src="https://github.com/ezra-en.png?size=48" title="ezra-en"></a><a href="https://github.com/fdfontes" target="_blank"><img src="https://github.com/fdfontes.png?size=48" title="fdfontes"></a><a href="https://github.com/feychenie" target="_blank"><img src="https://github.com/feychenie.png?size=48" title="feychenie"></a><a href="https://github.com/flaming-codes" target="_blank"><img src="https://github.com/flaming-codes.png?size=48" title="flaming-codes"></a><a href="https://github.com/fostertheweb" target="_blank"><img src="https://github.com/fostertheweb.png?size=48" title="fostertheweb"></a><a href="https://github.com/generates" target="_blank"><img src="https://github.com/generates.png?size=48" title="generates"></a><a href="https://github.com/Giulio987" target="_blank"><img src="https://github.com/Giulio987.png?size=48" title="Giulio987"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img src="https://github.com/itsdevcoffee.png?size=48" title="itsdevcoffee"></a><a href="https://github.com/jaysc" target="_blank"><img src="https://github.com/jaysc.png?size=48" title="jaysc"></a><a href="https://github.com/jbolda" target="_blank"><img src="https://github.com/jbolda.png?size=48" title="jbolda"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img src="https://github.com/Kayoo-asso.png?size=48" title="Kayoo-asso"></a><a href="https://github.com/kotofurumiya" target="_blank"><img src="https://github.com/kotofurumiya.png?size=48" title="kotofurumiya"></a><a href="https://github.com/Kudo" target="_blank"><img src="https://github.com/Kudo.png?size=48" title="Kudo"></a><a href="https://github.com/learn-anything" target="_blank"><img src="https://github.com/learn-anything.png?size=48" title="learn-anything"></a><a href="https://github.com/lluc" target="_blank"><img src="https://github.com/lluc.png?size=48" title="lluc"></a><a href="https://github.com/marksteve" target="_blank"><img src="https://github.com/marksteve.png?size=48" title="marksteve"></a><a href="https://github.com/miking-the-viking" target="_blank"><img src="https://github.com/miking-the-viking.png?size=48" title="miking-the-viking"></a><a href="https://github.com/mjamesderocher" target="_blank"><img src="https://github.com/mjamesderocher.png?size=48" title="mjamesderocher"></a><a href="https://github.com/mouktardev" target="_blank"><img src="https://github.com/mouktardev.png?size=48" title="mouktardev"></a><a href="https://github.com/nickmessing" target="_blank"><img src="https://github.com/nickmessing.png?size=48" title="nickmessing"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img src="https://github.com/nikitavoloboev.png?size=48" title="nikitavoloboev"></a><a href="https://github.com/nkzw-tech" target="_blank"><img src="https://github.com/nkzw-tech.png?size=48" title="nkzw-tech"></a><a href="https://github.com/palerdot" target="_blank"><img src="https://github.com/palerdot.png?size=48" title="palerdot"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img src="https://github.com/PorcoRosso85.png?size=48" title="PorcoRosso85"></a><a href="https://github.com/primodiumxyz" target="_blank"><img src="https://github.com/primodiumxyz.png?size=48" title="primodiumxyz"></a><a href="https://github.com/shaneosullivan" target="_blank"><img src="https://github.com/shaneosullivan.png?size=48" title="shaneosullivan"></a><a href="https://github.com/sudo-self" target="_blank"><img src="https://github.com/sudo-self.png?size=48" title="sudo-self"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img src="https://github.com/SuperSonicHub1.png?size=48" title="SuperSonicHub1"></a><a href="https://github.com/threepointone" target="_blank"><img src="https://github.com/threepointone.png?size=48" title="threepointone"></a><a href="https://github.com/uptonking" target="_blank"><img src="https://github.com/uptonking.png?size=48" title="uptonking"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img src="https://github.com/ViktorZhurbin.png?size=48" title="ViktorZhurbin"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda"></a></section><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
297
+ <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.9kB</em>, the ui-react-dom components are another <em>2.6kB</em>, and everything is super fast. Life is easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.7kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>119.4kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react/">ui-react</a></th><td>4.9kB</td><td>53.7kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.6kB</td><td>21.1kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,292</td><td>2,292</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,477</td><td>2,477</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>990</td><td>990</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>854</td><td>854</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,100</td></tr><tr><th class="right">Assertions</th><td colspan="3">32,824</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img src="https://github.com/beekeeb.png?size=48" title="beekeeb" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img src="https://github.com/cancelself.png?size=48" title="cancelself" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img src="https://github.com/arpitBhalla.png?size=48" title="arpitBhalla" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/behrends" target="_blank"><img src="https://github.com/behrends.png?size=48" title="behrends" width="48" height="48"></a><a href="https://github.com/betomoedano" target="_blank"><img src="https://github.com/betomoedano.png?size=48" title="betomoedano" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img src="https://github.com/brentvatne.png?size=48" title="brentvatne" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img src="https://github.com/byCedric.png?size=48" title="byCedric" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img src="https://github.com/circadian-risk.png?size=48" title="circadian-risk" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img src="https://github.com/cubecull.png?size=48" title="cubecull" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img src="https://github.com/erwinkn.png?size=48" title="erwinkn" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img src="https://github.com/ezra-en.png?size=48" title="ezra-en" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img src="https://github.com/feychenie.png?size=48" title="feychenie" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img src="https://github.com/flaming-codes.png?size=48" title="flaming-codes" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img src="https://github.com/fostertheweb.png?size=48" title="fostertheweb" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img src="https://github.com/Giulio987.png?size=48" title="Giulio987" width="48" height="48"></a><a href="https://github.com/hi-ogawa" target="_blank"><img src="https://github.com/hi-ogawa.png?size=48" title="hi-ogawa" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img src="https://github.com/itsdevcoffee.png?size=48" title="itsdevcoffee" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img src="https://github.com/jbolda.png?size=48" title="jbolda" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img src="https://github.com/Kayoo-asso.png?size=48" title="Kayoo-asso" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img src="https://github.com/kotofurumiya.png?size=48" title="kotofurumiya" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img src="https://github.com/Kudo.png?size=48" title="Kudo" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img src="https://github.com/learn-anything.png?size=48" title="learn-anything" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img src="https://github.com/lluc.png?size=48" title="lluc" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img src="https://github.com/marksteve.png?size=48" title="marksteve" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img src="https://github.com/miking-the-viking.png?size=48" title="miking-the-viking" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img src="https://github.com/mjamesderocher.png?size=48" title="mjamesderocher" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img src="https://github.com/mouktardev.png?size=48" title="mouktardev" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img src="https://github.com/nickmessing.png?size=48" title="nickmessing" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img src="https://github.com/nikitavoloboev.png?size=48" title="nikitavoloboev" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img src="https://github.com/nkzw-tech.png?size=48" title="nkzw-tech" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img src="https://github.com/palerdot.png?size=48" title="palerdot" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img src="https://github.com/PorcoRosso85.png?size=48" title="PorcoRosso85" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img src="https://github.com/primodiumxyz.png?size=48" title="primodiumxyz" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img src="https://github.com/shaneosullivan.png?size=48" title="shaneosullivan" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img src="https://github.com/sudo-self.png?size=48" title="sudo-self" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img src="https://github.com/SuperSonicHub1.png?size=48" title="SuperSonicHub1" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img src="https://github.com/threepointone.png?size=48" title="threepointone" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img src="https://github.com/uptonking.png?size=48" title="uptonking" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img src="https://github.com/ViktorZhurbin.png?size=48" title="ViktorZhurbin" width="48" height="48"></a><a href="https://github.com/wilkerlucio" target="_blank"><img src="https://github.com/wilkerlucio.png?size=48" title="wilkerlucio" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda" width="48" height="48"></a></section><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="family"><h2 id="meet-the-family">Meet the family</h2><p>TinyBase is part of a group of small libraries designed to help make rich client and local-first apps easier to build. Check out the others!</p><p><img src="https://tinybase.org/favicon.svg?asImg" width="48"><br><b>TinyBase</b><br>The reactive data store for local-first apps.</p><p><a href="https://tinywidgets.org" target="_blank"><img src="https://tinywidgets.org/favicon.svg?asImg" width="48"><br><b>TinyWidgets</b></a><br>A collection of tiny, reusable, UI components.</p><p><a href="https://tinytick.org" target="_blank"><img src="https://tinytick.org/favicon.svg?asImg" width="48"><br><b>TinyTick</b></a><br>A tiny but very useful task orchestrator.</p></section><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://beta.tinybase.org/youtube.webp"></a></section>