tinybase 5.0.3 → 5.0.5

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 (855) hide show
  1. package/cjs/es6/index.cjs +13 -6
  2. package/cjs/es6/mergeable-store/index.cjs +9 -5
  3. package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -5
  4. package/cjs/es6/min/index.cjs +1 -1
  5. package/cjs/es6/min/index.cjs.gz +0 -0
  6. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  7. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  8. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  9. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  10. package/cjs/es6/min/persisters/index.cjs +1 -1
  11. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  12. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  13. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  14. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  15. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  16. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  17. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  18. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  19. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  20. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  21. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  22. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  23. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  24. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  25. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  26. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  27. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  28. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  29. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  30. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  31. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/store/index.cjs +1 -1
  71. package/cjs/es6/min/store/index.cjs.gz +0 -0
  72. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  73. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  75. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  76. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  77. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  78. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  81. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  82. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  85. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  86. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  91. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  92. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  93. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  94. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/persisters/index.cjs +4 -1
  97. package/cjs/es6/persisters/persister-automerge/index.cjs +4 -1
  98. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +4 -1
  99. package/cjs/es6/persisters/persister-browser/index.cjs +4 -1
  100. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +4 -1
  101. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +4 -1
  102. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +4 -1
  103. package/cjs/es6/persisters/persister-electric-sql/index.cjs +4 -1
  104. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +4 -1
  105. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +4 -1
  106. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +4 -1
  107. package/cjs/es6/persisters/persister-file/index.cjs +4 -1
  108. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +4 -1
  109. package/cjs/es6/persisters/persister-indexed-db/index.cjs +4 -1
  110. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +4 -1
  111. package/cjs/es6/persisters/persister-libsql/index.cjs +4 -1
  112. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +4 -1
  113. package/cjs/es6/persisters/persister-partykit-client/index.cjs +4 -1
  114. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +4 -1
  115. package/cjs/es6/persisters/persister-powersync/index.cjs +4 -1
  116. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +4 -1
  117. package/cjs/es6/persisters/persister-remote/index.cjs +4 -1
  118. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +4 -1
  119. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +4 -1
  120. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +4 -1
  121. package/cjs/es6/persisters/persister-sqlite3/index.cjs +4 -1
  122. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +4 -1
  123. package/cjs/es6/persisters/persister-yjs/index.cjs +4 -1
  124. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +4 -1
  125. package/cjs/es6/persisters/with-schemas/index.cjs +4 -1
  126. package/cjs/es6/store/index.cjs +9 -5
  127. package/cjs/es6/store/with-schemas/index.cjs +9 -5
  128. package/cjs/es6/synchronizers/index.cjs +4 -1
  129. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +4 -1
  130. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +4 -1
  131. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +4 -1
  132. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -1
  133. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +4 -1
  134. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +4 -1
  135. package/cjs/es6/synchronizers/with-schemas/index.cjs +4 -1
  136. package/cjs/es6/ui-react-inspector/index.cjs +13 -6
  137. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +13 -6
  138. package/cjs/es6/with-schemas/index.cjs +13 -6
  139. package/cjs/index.cjs +18 -11
  140. package/cjs/indexes/index.cjs +1 -1
  141. package/cjs/indexes/with-schemas/index.cjs +1 -1
  142. package/cjs/mergeable-store/index.cjs +9 -5
  143. package/cjs/mergeable-store/with-schemas/index.cjs +9 -5
  144. package/cjs/metrics/index.cjs +3 -3
  145. package/cjs/metrics/with-schemas/index.cjs +3 -3
  146. package/cjs/min/index.cjs +1 -1
  147. package/cjs/min/index.cjs.gz +0 -0
  148. package/cjs/min/mergeable-store/index.cjs +1 -1
  149. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  150. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  151. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  152. package/cjs/min/persisters/index.cjs +1 -1
  153. package/cjs/min/persisters/index.cjs.gz +0 -0
  154. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  155. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  156. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  157. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  158. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  159. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  160. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  161. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  163. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  164. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  165. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  167. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  168. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  169. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  171. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  172. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  173. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  175. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  176. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  177. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  179. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/store/index.cjs +1 -1
  213. package/cjs/min/store/index.cjs.gz +0 -0
  214. package/cjs/min/store/with-schemas/index.cjs +1 -1
  215. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/synchronizers/index.cjs +1 -1
  217. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  218. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  219. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  220. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  221. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  222. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  223. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  224. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  225. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  226. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  227. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  228. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  229. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  230. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  231. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  233. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  234. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  235. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  236. package/cjs/min/with-schemas/index.cjs +1 -1
  237. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  238. package/cjs/persisters/index.cjs +4 -1
  239. package/cjs/persisters/persister-automerge/index.cjs +4 -1
  240. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +4 -1
  241. package/cjs/persisters/persister-browser/index.cjs +4 -1
  242. package/cjs/persisters/persister-browser/with-schemas/index.cjs +4 -1
  243. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +5 -2
  244. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +5 -2
  245. package/cjs/persisters/persister-electric-sql/index.cjs +5 -2
  246. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +5 -2
  247. package/cjs/persisters/persister-expo-sqlite/index.cjs +5 -2
  248. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +5 -2
  249. package/cjs/persisters/persister-file/index.cjs +4 -1
  250. package/cjs/persisters/persister-file/with-schemas/index.cjs +4 -1
  251. package/cjs/persisters/persister-indexed-db/index.cjs +4 -1
  252. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +4 -1
  253. package/cjs/persisters/persister-libsql/index.cjs +5 -2
  254. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +5 -2
  255. package/cjs/persisters/persister-partykit-client/index.cjs +4 -1
  256. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +4 -1
  257. package/cjs/persisters/persister-powersync/index.cjs +5 -2
  258. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +5 -2
  259. package/cjs/persisters/persister-remote/index.cjs +4 -1
  260. package/cjs/persisters/persister-remote/with-schemas/index.cjs +4 -1
  261. package/cjs/persisters/persister-sqlite-wasm/index.cjs +5 -2
  262. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +5 -2
  263. package/cjs/persisters/persister-sqlite3/index.cjs +5 -2
  264. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +5 -2
  265. package/cjs/persisters/persister-yjs/index.cjs +6 -3
  266. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +6 -3
  267. package/cjs/persisters/with-schemas/index.cjs +4 -1
  268. package/cjs/queries/index.cjs +2 -2
  269. package/cjs/queries/with-schemas/index.cjs +2 -2
  270. package/cjs/relationships/index.cjs +1 -1
  271. package/cjs/relationships/with-schemas/index.cjs +1 -1
  272. package/cjs/store/index.cjs +9 -5
  273. package/cjs/store/with-schemas/index.cjs +9 -5
  274. package/cjs/synchronizers/index.cjs +4 -1
  275. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +4 -1
  276. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +4 -1
  277. package/cjs/synchronizers/synchronizer-local/index.cjs +4 -1
  278. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -1
  279. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +4 -1
  280. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +4 -1
  281. package/cjs/synchronizers/with-schemas/index.cjs +4 -1
  282. package/cjs/ui-react-inspector/index.cjs +13 -6
  283. package/cjs/ui-react-inspector/with-schemas/index.cjs +13 -6
  284. package/cjs/with-schemas/index.cjs +18 -11
  285. package/es6/index.js +13 -6
  286. package/es6/mergeable-store/index.js +9 -5
  287. package/es6/mergeable-store/with-schemas/index.js +9 -5
  288. package/es6/min/index.js +1 -1
  289. package/es6/min/index.js.gz +0 -0
  290. package/es6/min/mergeable-store/index.js +1 -1
  291. package/es6/min/mergeable-store/index.js.gz +0 -0
  292. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  293. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  294. package/es6/min/persisters/index.js +1 -1
  295. package/es6/min/persisters/index.js.gz +0 -0
  296. package/es6/min/persisters/persister-automerge/index.js +1 -1
  297. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  298. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  299. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  300. package/es6/min/persisters/persister-browser/index.js +1 -1
  301. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  302. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  303. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  304. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  305. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  306. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  307. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  308. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  309. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  310. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  311. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  312. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  313. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  314. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  315. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  316. package/es6/min/persisters/persister-file/index.js +1 -1
  317. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  318. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  319. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  320. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  321. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  322. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  323. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  324. package/es6/min/persisters/persister-libsql/index.js +1 -1
  325. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  326. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  327. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  328. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  329. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  330. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  331. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  332. package/es6/min/persisters/persister-powersync/index.js +1 -1
  333. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  334. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  335. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-remote/index.js +1 -1
  337. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  339. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  341. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  343. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  345. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  347. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-yjs/index.js +1 -1
  349. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  351. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  352. package/es6/min/persisters/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  354. package/es6/min/store/index.js +1 -1
  355. package/es6/min/store/index.js.gz +0 -0
  356. package/es6/min/store/with-schemas/index.js +1 -1
  357. package/es6/min/store/with-schemas/index.js.gz +0 -0
  358. package/es6/min/synchronizers/index.js +1 -1
  359. package/es6/min/synchronizers/index.js.gz +0 -0
  360. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  361. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  362. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  363. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  364. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  365. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  366. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  367. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  368. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  369. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  370. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  371. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  372. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  373. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  374. package/es6/min/ui-react-inspector/index.js +1 -1
  375. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  376. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  377. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  378. package/es6/min/with-schemas/index.js +1 -1
  379. package/es6/min/with-schemas/index.js.gz +0 -0
  380. package/es6/persisters/index.js +4 -1
  381. package/es6/persisters/persister-automerge/index.js +4 -1
  382. package/es6/persisters/persister-automerge/with-schemas/index.js +4 -1
  383. package/es6/persisters/persister-browser/index.js +4 -1
  384. package/es6/persisters/persister-browser/with-schemas/index.js +4 -1
  385. package/es6/persisters/persister-cr-sqlite-wasm/index.js +4 -1
  386. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -1
  387. package/es6/persisters/persister-electric-sql/index.js +4 -1
  388. package/es6/persisters/persister-electric-sql/with-schemas/index.js +4 -1
  389. package/es6/persisters/persister-expo-sqlite/index.js +4 -1
  390. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +4 -1
  391. package/es6/persisters/persister-file/index.js +4 -1
  392. package/es6/persisters/persister-file/with-schemas/index.js +4 -1
  393. package/es6/persisters/persister-indexed-db/index.js +4 -1
  394. package/es6/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  395. package/es6/persisters/persister-libsql/index.js +4 -1
  396. package/es6/persisters/persister-libsql/with-schemas/index.js +4 -1
  397. package/es6/persisters/persister-partykit-client/index.js +4 -1
  398. package/es6/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  399. package/es6/persisters/persister-powersync/index.js +4 -1
  400. package/es6/persisters/persister-powersync/with-schemas/index.js +4 -1
  401. package/es6/persisters/persister-remote/index.js +4 -1
  402. package/es6/persisters/persister-remote/with-schemas/index.js +4 -1
  403. package/es6/persisters/persister-sqlite-wasm/index.js +4 -1
  404. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -1
  405. package/es6/persisters/persister-sqlite3/index.js +4 -1
  406. package/es6/persisters/persister-sqlite3/with-schemas/index.js +4 -1
  407. package/es6/persisters/persister-yjs/index.js +4 -1
  408. package/es6/persisters/persister-yjs/with-schemas/index.js +4 -1
  409. package/es6/persisters/with-schemas/index.js +4 -1
  410. package/es6/store/index.js +9 -5
  411. package/es6/store/with-schemas/index.js +9 -5
  412. package/es6/synchronizers/index.js +4 -1
  413. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  414. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  415. package/es6/synchronizers/synchronizer-local/index.js +4 -1
  416. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  417. package/es6/synchronizers/synchronizer-ws-client/index.js +4 -1
  418. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  419. package/es6/synchronizers/with-schemas/index.js +4 -1
  420. package/es6/ui-react-inspector/index.js +13 -6
  421. package/es6/ui-react-inspector/with-schemas/index.js +13 -6
  422. package/es6/with-schemas/index.js +13 -6
  423. package/index.js +18 -11
  424. package/indexes/index.js +1 -1
  425. package/indexes/with-schemas/index.js +1 -1
  426. package/mergeable-store/index.js +9 -5
  427. package/mergeable-store/with-schemas/index.js +9 -5
  428. package/metrics/index.js +3 -3
  429. package/metrics/with-schemas/index.js +3 -3
  430. package/min/index.js +1 -1
  431. package/min/index.js.gz +0 -0
  432. package/min/mergeable-store/index.js +1 -1
  433. package/min/mergeable-store/index.js.gz +0 -0
  434. package/min/mergeable-store/with-schemas/index.js +1 -1
  435. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  436. package/min/persisters/index.js +1 -1
  437. package/min/persisters/index.js.gz +0 -0
  438. package/min/persisters/persister-automerge/index.js +1 -1
  439. package/min/persisters/persister-automerge/index.js.gz +0 -0
  440. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  441. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  442. package/min/persisters/persister-browser/index.js +1 -1
  443. package/min/persisters/persister-browser/index.js.gz +0 -0
  444. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  445. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  446. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  447. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  448. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  449. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  450. package/min/persisters/persister-electric-sql/index.js +1 -1
  451. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  452. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  453. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  454. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  455. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  456. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  457. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  458. package/min/persisters/persister-file/index.js +1 -1
  459. package/min/persisters/persister-file/index.js.gz +0 -0
  460. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  461. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  462. package/min/persisters/persister-indexed-db/index.js +1 -1
  463. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  464. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  465. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  466. package/min/persisters/persister-libsql/index.js +1 -1
  467. package/min/persisters/persister-libsql/index.js.gz +0 -0
  468. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  469. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  470. package/min/persisters/persister-partykit-client/index.js +1 -1
  471. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  472. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  473. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  474. package/min/persisters/persister-powersync/index.js +1 -1
  475. package/min/persisters/persister-powersync/index.js.gz +0 -0
  476. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  477. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  478. package/min/persisters/persister-remote/index.js +1 -1
  479. package/min/persisters/persister-remote/index.js.gz +0 -0
  480. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  481. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  482. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  483. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  484. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  485. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  486. package/min/persisters/persister-sqlite3/index.js +1 -1
  487. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  488. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  489. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  490. package/min/persisters/persister-yjs/index.js +1 -1
  491. package/min/persisters/persister-yjs/index.js.gz +0 -0
  492. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  493. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  494. package/min/persisters/with-schemas/index.js +1 -1
  495. package/min/persisters/with-schemas/index.js.gz +0 -0
  496. package/min/store/index.js +1 -1
  497. package/min/store/index.js.gz +0 -0
  498. package/min/store/with-schemas/index.js +1 -1
  499. package/min/store/with-schemas/index.js.gz +0 -0
  500. package/min/synchronizers/index.js +1 -1
  501. package/min/synchronizers/index.js.gz +0 -0
  502. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  503. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  504. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  505. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  506. package/min/synchronizers/synchronizer-local/index.js +1 -1
  507. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  508. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  509. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  510. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  511. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  512. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  513. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  514. package/min/synchronizers/with-schemas/index.js +1 -1
  515. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  516. package/min/ui-react-inspector/index.js +1 -1
  517. package/min/ui-react-inspector/index.js.gz +0 -0
  518. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  519. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  520. package/min/with-schemas/index.js +1 -1
  521. package/min/with-schemas/index.js.gz +0 -0
  522. package/package.json +4 -1
  523. package/persisters/index.js +4 -1
  524. package/persisters/persister-automerge/index.js +4 -1
  525. package/persisters/persister-automerge/with-schemas/index.js +4 -1
  526. package/persisters/persister-browser/index.js +4 -1
  527. package/persisters/persister-browser/with-schemas/index.js +4 -1
  528. package/persisters/persister-cr-sqlite-wasm/index.js +5 -2
  529. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +5 -2
  530. package/persisters/persister-electric-sql/index.js +5 -2
  531. package/persisters/persister-electric-sql/with-schemas/index.js +5 -2
  532. package/persisters/persister-expo-sqlite/index.js +5 -2
  533. package/persisters/persister-expo-sqlite/with-schemas/index.js +5 -2
  534. package/persisters/persister-file/index.js +4 -1
  535. package/persisters/persister-file/with-schemas/index.js +4 -1
  536. package/persisters/persister-indexed-db/index.js +4 -1
  537. package/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  538. package/persisters/persister-libsql/index.js +5 -2
  539. package/persisters/persister-libsql/with-schemas/index.js +5 -2
  540. package/persisters/persister-partykit-client/index.js +4 -1
  541. package/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  542. package/persisters/persister-powersync/index.js +5 -2
  543. package/persisters/persister-powersync/with-schemas/index.js +5 -2
  544. package/persisters/persister-remote/index.js +4 -1
  545. package/persisters/persister-remote/with-schemas/index.js +4 -1
  546. package/persisters/persister-sqlite-wasm/index.js +5 -2
  547. package/persisters/persister-sqlite-wasm/with-schemas/index.js +5 -2
  548. package/persisters/persister-sqlite3/index.js +5 -2
  549. package/persisters/persister-sqlite3/with-schemas/index.js +5 -2
  550. package/persisters/persister-yjs/index.js +6 -2
  551. package/persisters/persister-yjs/with-schemas/index.js +6 -2
  552. package/persisters/with-schemas/index.js +4 -1
  553. package/queries/index.js +2 -2
  554. package/queries/with-schemas/index.js +2 -2
  555. package/readme.md +2 -2
  556. package/relationships/index.js +1 -1
  557. package/relationships/with-schemas/index.js +1 -1
  558. package/releases.md +1 -1
  559. package/store/index.js +9 -5
  560. package/store/with-schemas/index.js +9 -5
  561. package/synchronizers/index.js +4 -1
  562. package/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  563. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  564. package/synchronizers/synchronizer-local/index.js +4 -1
  565. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  566. package/synchronizers/synchronizer-ws-client/index.js +4 -1
  567. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  568. package/synchronizers/with-schemas/index.js +4 -1
  569. package/ui-react-inspector/index.js +13 -6
  570. package/ui-react-inspector/with-schemas/index.js +13 -6
  571. package/umd/es6/index.js +13 -6
  572. package/umd/es6/mergeable-store/index.js +9 -5
  573. package/umd/es6/mergeable-store/with-schemas/index.js +9 -5
  574. package/umd/es6/min/index.js +1 -1
  575. package/umd/es6/min/index.js.gz +0 -0
  576. package/umd/es6/min/mergeable-store/index.js +1 -1
  577. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  578. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  579. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  580. package/umd/es6/min/persisters/index.js +1 -1
  581. package/umd/es6/min/persisters/index.js.gz +0 -0
  582. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  583. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  584. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  585. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  586. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  587. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  588. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  589. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  590. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  591. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  592. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  593. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  594. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  595. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  596. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  597. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  598. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  599. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  600. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  601. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  602. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  603. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  604. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  605. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  606. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  607. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  608. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  609. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  610. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  611. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  612. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  613. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  614. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  615. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  616. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  617. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  618. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  619. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  620. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  621. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  622. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  623. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  624. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  625. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  626. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  627. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  628. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  629. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  630. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  631. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  632. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  633. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  634. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  635. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  636. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  637. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  638. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  639. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  640. package/umd/es6/min/store/index.js +1 -1
  641. package/umd/es6/min/store/index.js.gz +0 -0
  642. package/umd/es6/min/store/with-schemas/index.js +1 -1
  643. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  644. package/umd/es6/min/synchronizers/index.js +1 -1
  645. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  646. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  647. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  648. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  649. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  650. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  651. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  652. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  653. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  654. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  655. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  656. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  657. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  658. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  659. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  660. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  661. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  662. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  663. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  664. package/umd/es6/min/with-schemas/index.js +1 -1
  665. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  666. package/umd/es6/persisters/index.js +4 -1
  667. package/umd/es6/persisters/persister-automerge/index.js +4 -1
  668. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +4 -1
  669. package/umd/es6/persisters/persister-browser/index.js +4 -1
  670. package/umd/es6/persisters/persister-browser/with-schemas/index.js +4 -1
  671. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +4 -1
  672. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -1
  673. package/umd/es6/persisters/persister-electric-sql/index.js +4 -1
  674. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +4 -1
  675. package/umd/es6/persisters/persister-expo-sqlite/index.js +4 -1
  676. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +4 -1
  677. package/umd/es6/persisters/persister-file/index.js +4 -1
  678. package/umd/es6/persisters/persister-file/with-schemas/index.js +4 -1
  679. package/umd/es6/persisters/persister-indexed-db/index.js +4 -1
  680. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  681. package/umd/es6/persisters/persister-libsql/index.js +4 -1
  682. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +4 -1
  683. package/umd/es6/persisters/persister-partykit-client/index.js +4 -1
  684. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  685. package/umd/es6/persisters/persister-powersync/index.js +4 -1
  686. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +4 -1
  687. package/umd/es6/persisters/persister-remote/index.js +4 -1
  688. package/umd/es6/persisters/persister-remote/with-schemas/index.js +4 -1
  689. package/umd/es6/persisters/persister-sqlite-wasm/index.js +4 -1
  690. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -1
  691. package/umd/es6/persisters/persister-sqlite3/index.js +4 -1
  692. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +4 -1
  693. package/umd/es6/persisters/persister-yjs/index.js +4 -1
  694. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +4 -1
  695. package/umd/es6/persisters/with-schemas/index.js +4 -1
  696. package/umd/es6/store/index.js +9 -5
  697. package/umd/es6/store/with-schemas/index.js +9 -5
  698. package/umd/es6/synchronizers/index.js +4 -1
  699. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  700. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  701. package/umd/es6/synchronizers/synchronizer-local/index.js +4 -1
  702. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  703. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +4 -1
  704. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  705. package/umd/es6/synchronizers/with-schemas/index.js +4 -1
  706. package/umd/es6/ui-react-inspector/index.js +13 -6
  707. package/umd/es6/ui-react-inspector/with-schemas/index.js +13 -6
  708. package/umd/es6/with-schemas/index.js +13 -6
  709. package/umd/index.js +18 -11
  710. package/umd/indexes/index.js +1 -1
  711. package/umd/indexes/with-schemas/index.js +1 -1
  712. package/umd/mergeable-store/index.js +9 -5
  713. package/umd/mergeable-store/with-schemas/index.js +9 -5
  714. package/umd/metrics/index.js +3 -3
  715. package/umd/metrics/with-schemas/index.js +3 -3
  716. package/umd/min/index.js +1 -1
  717. package/umd/min/index.js.gz +0 -0
  718. package/umd/min/mergeable-store/index.js +1 -1
  719. package/umd/min/mergeable-store/index.js.gz +0 -0
  720. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  721. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  722. package/umd/min/persisters/index.js +1 -1
  723. package/umd/min/persisters/index.js.gz +0 -0
  724. package/umd/min/persisters/persister-automerge/index.js +1 -1
  725. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  726. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  727. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  728. package/umd/min/persisters/persister-browser/index.js +1 -1
  729. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  730. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  731. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  732. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  733. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  734. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  735. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  736. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  737. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  738. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  739. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  740. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  741. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  742. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  743. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  744. package/umd/min/persisters/persister-file/index.js +1 -1
  745. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  746. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  747. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  748. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  749. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  750. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  751. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  752. package/umd/min/persisters/persister-libsql/index.js +1 -1
  753. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  754. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  755. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  756. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  757. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  758. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  759. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  760. package/umd/min/persisters/persister-powersync/index.js +1 -1
  761. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  762. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  763. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  764. package/umd/min/persisters/persister-remote/index.js +1 -1
  765. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  766. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  767. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  768. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  769. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  770. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  771. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  772. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  773. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  774. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  775. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  776. package/umd/min/persisters/persister-yjs/index.js +1 -1
  777. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  778. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  779. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  780. package/umd/min/persisters/with-schemas/index.js +1 -1
  781. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  782. package/umd/min/store/index.js +1 -1
  783. package/umd/min/store/index.js.gz +0 -0
  784. package/umd/min/store/with-schemas/index.js +1 -1
  785. package/umd/min/store/with-schemas/index.js.gz +0 -0
  786. package/umd/min/synchronizers/index.js +1 -1
  787. package/umd/min/synchronizers/index.js.gz +0 -0
  788. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  789. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  790. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  791. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  792. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  793. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  794. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  795. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  796. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  797. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  798. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  799. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  800. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  801. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  802. package/umd/min/ui-react-inspector/index.js +1 -1
  803. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  804. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  805. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  806. package/umd/min/with-schemas/index.js +1 -1
  807. package/umd/min/with-schemas/index.js.gz +0 -0
  808. package/umd/persisters/index.js +4 -1
  809. package/umd/persisters/persister-automerge/index.js +4 -1
  810. package/umd/persisters/persister-automerge/with-schemas/index.js +4 -1
  811. package/umd/persisters/persister-browser/index.js +4 -1
  812. package/umd/persisters/persister-browser/with-schemas/index.js +4 -1
  813. package/umd/persisters/persister-cr-sqlite-wasm/index.js +5 -2
  814. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +5 -2
  815. package/umd/persisters/persister-electric-sql/index.js +5 -2
  816. package/umd/persisters/persister-electric-sql/with-schemas/index.js +5 -2
  817. package/umd/persisters/persister-expo-sqlite/index.js +5 -2
  818. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +5 -2
  819. package/umd/persisters/persister-file/index.js +4 -1
  820. package/umd/persisters/persister-file/with-schemas/index.js +4 -1
  821. package/umd/persisters/persister-indexed-db/index.js +4 -1
  822. package/umd/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  823. package/umd/persisters/persister-libsql/index.js +5 -2
  824. package/umd/persisters/persister-libsql/with-schemas/index.js +5 -2
  825. package/umd/persisters/persister-partykit-client/index.js +4 -1
  826. package/umd/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  827. package/umd/persisters/persister-powersync/index.js +5 -2
  828. package/umd/persisters/persister-powersync/with-schemas/index.js +5 -2
  829. package/umd/persisters/persister-remote/index.js +4 -1
  830. package/umd/persisters/persister-remote/with-schemas/index.js +4 -1
  831. package/umd/persisters/persister-sqlite-wasm/index.js +5 -2
  832. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +5 -2
  833. package/umd/persisters/persister-sqlite3/index.js +5 -2
  834. package/umd/persisters/persister-sqlite3/with-schemas/index.js +5 -2
  835. package/umd/persisters/persister-yjs/index.js +6 -3
  836. package/umd/persisters/persister-yjs/with-schemas/index.js +6 -3
  837. package/umd/persisters/with-schemas/index.js +4 -1
  838. package/umd/queries/index.js +2 -2
  839. package/umd/queries/with-schemas/index.js +2 -2
  840. package/umd/relationships/index.js +1 -1
  841. package/umd/relationships/with-schemas/index.js +1 -1
  842. package/umd/store/index.js +9 -5
  843. package/umd/store/with-schemas/index.js +9 -5
  844. package/umd/synchronizers/index.js +4 -1
  845. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  846. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  847. package/umd/synchronizers/synchronizer-local/index.js +4 -1
  848. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  849. package/umd/synchronizers/synchronizer-ws-client/index.js +4 -1
  850. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  851. package/umd/synchronizers/with-schemas/index.js +4 -1
  852. package/umd/ui-react-inspector/index.js +13 -6
  853. package/umd/ui-react-inspector/with-schemas/index.js +13 -6
  854. package/umd/with-schemas/index.js +18 -11
  855. package/with-schemas/index.js +18 -11
@@ -473,7 +473,10 @@ const createCustomPersister = (
473
473
  loads++;
474
474
  await schedule(async () => {
475
475
  try {
476
- setContentOrChanges(await getPersisted());
476
+ const content = await getPersisted();
477
+ isArray(content)
478
+ ? setContentOrChanges(content)
479
+ : errorNew(`Content is not an array ${content}`);
477
480
  } catch (error) {
478
481
  onIgnoredError?.(error);
479
482
  if (initialContent) {
@@ -755,7 +758,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
755
758
  DEFAULT_CONFIG,
756
759
  isString(configOrStoreTableName)
757
760
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
758
- : configOrStoreTableName ?? {},
761
+ : (configOrStoreTableName ?? {}),
759
762
  );
760
763
  const getDefaultedTabularConfigMap = (
761
764
  configsObj,
@@ -474,7 +474,10 @@ const createCustomPersister = (
474
474
  loads++;
475
475
  await schedule(async () => {
476
476
  try {
477
- setContentOrChanges(await getPersisted());
477
+ const content = await getPersisted();
478
+ isArray(content)
479
+ ? setContentOrChanges(content)
480
+ : errorNew(`Content is not an array ${content}`);
478
481
  } catch (error) {
479
482
  onIgnoredError?.(error);
480
483
  if (initialContent) {
@@ -756,7 +759,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
756
759
  DEFAULT_CONFIG,
757
760
  isString(configOrStoreTableName)
758
761
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
759
- : configOrStoreTableName ?? {},
762
+ : (configOrStoreTableName ?? {}),
760
763
  );
761
764
  const getDefaultedTabularConfigMap = (
762
765
  configsObj,
@@ -474,7 +474,10 @@ const createCustomPersister = (
474
474
  loads++;
475
475
  await schedule(async () => {
476
476
  try {
477
- setContentOrChanges(await getPersisted());
477
+ const content = await getPersisted();
478
+ isArray(content)
479
+ ? setContentOrChanges(content)
480
+ : errorNew(`Content is not an array ${content}`);
478
481
  } catch (error) {
479
482
  onIgnoredError?.(error);
480
483
  if (initialContent) {
@@ -756,7 +759,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
756
759
  DEFAULT_CONFIG,
757
760
  isString(configOrStoreTableName)
758
761
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
759
- : configOrStoreTableName ?? {},
762
+ : (configOrStoreTableName ?? {}),
760
763
  );
761
764
  const getDefaultedTabularConfigMap = (
762
765
  configsObj,
@@ -475,7 +475,10 @@ const createCustomPersister = (
475
475
  loads++;
476
476
  await schedule(async () => {
477
477
  try {
478
- setContentOrChanges(await getPersisted());
478
+ const content = await getPersisted();
479
+ isArray(content)
480
+ ? setContentOrChanges(content)
481
+ : errorNew(`Content is not an array ${content}`);
479
482
  } catch (error) {
480
483
  onIgnoredError?.(error);
481
484
  if (initialContent) {
@@ -757,7 +760,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
757
760
  DEFAULT_CONFIG,
758
761
  isString(configOrStoreTableName)
759
762
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
760
- : configOrStoreTableName ?? {},
763
+ : (configOrStoreTableName ?? {}),
761
764
  );
762
765
  const getDefaultedTabularConfigMap = (
763
766
  configsObj,
@@ -475,7 +475,10 @@ const createCustomPersister = (
475
475
  loads++;
476
476
  await schedule(async () => {
477
477
  try {
478
- setContentOrChanges(await getPersisted());
478
+ const content = await getPersisted();
479
+ isArray(content)
480
+ ? setContentOrChanges(content)
481
+ : errorNew(`Content is not an array ${content}`);
479
482
  } catch (error) {
480
483
  onIgnoredError?.(error);
481
484
  if (initialContent) {
@@ -757,7 +760,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
757
760
  DEFAULT_CONFIG,
758
761
  isString(configOrStoreTableName)
759
762
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
760
- : configOrStoreTableName ?? {},
763
+ : (configOrStoreTableName ?? {}),
761
764
  );
762
765
  const getDefaultedTabularConfigMap = (
763
766
  configsObj,
@@ -134,7 +134,10 @@ const createCustomPersister = (
134
134
  loads++;
135
135
  await schedule(async () => {
136
136
  try {
137
- setContentOrChanges(await getPersisted());
137
+ const content = await getPersisted();
138
+ isArray(content)
139
+ ? setContentOrChanges(content)
140
+ : errorNew(`Content is not an array ${content}`);
138
141
  } catch (error) {
139
142
  onIgnoredError?.(error);
140
143
  if (initialContent) {
@@ -134,7 +134,10 @@ const createCustomPersister = (
134
134
  loads++;
135
135
  await schedule(async () => {
136
136
  try {
137
- setContentOrChanges(await getPersisted());
137
+ const content = await getPersisted();
138
+ isArray(content)
139
+ ? setContentOrChanges(content)
140
+ : errorNew(`Content is not an array ${content}`);
138
141
  } catch (error) {
139
142
  onIgnoredError?.(error);
140
143
  if (initialContent) {
@@ -146,7 +146,10 @@ const createCustomPersister = (
146
146
  loads++;
147
147
  await schedule(async () => {
148
148
  try {
149
- setContentOrChanges(await getPersisted());
149
+ const content = await getPersisted();
150
+ isArray(content)
151
+ ? setContentOrChanges(content)
152
+ : errorNew(`Content is not an array ${content}`);
150
153
  } catch (error) {
151
154
  onIgnoredError?.(error);
152
155
  if (initialContent) {
@@ -146,7 +146,10 @@ const createCustomPersister = (
146
146
  loads++;
147
147
  await schedule(async () => {
148
148
  try {
149
- setContentOrChanges(await getPersisted());
149
+ const content = await getPersisted();
150
+ isArray(content)
151
+ ? setContentOrChanges(content)
152
+ : errorNew(`Content is not an array ${content}`);
150
153
  } catch (error) {
151
154
  onIgnoredError?.(error);
152
155
  if (initialContent) {
@@ -172,7 +172,10 @@ const createCustomPersister = (
172
172
  loads++;
173
173
  await schedule(async () => {
174
174
  try {
175
- setContentOrChanges(await getPersisted());
175
+ const content = await getPersisted();
176
+ isArray(content)
177
+ ? setContentOrChanges(content)
178
+ : errorNew(`Content is not an array ${content}`);
176
179
  } catch (error) {
177
180
  onIgnoredError?.(error);
178
181
  if (initialContent) {
@@ -755,7 +758,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
755
758
  DEFAULT_CONFIG,
756
759
  isString(configOrStoreTableName)
757
760
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
758
- : configOrStoreTableName ?? {},
761
+ : (configOrStoreTableName ?? {}),
759
762
  );
760
763
  const getDefaultedTabularConfigMap = (
761
764
  configsObj,
@@ -172,7 +172,10 @@ const createCustomPersister = (
172
172
  loads++;
173
173
  await schedule(async () => {
174
174
  try {
175
- setContentOrChanges(await getPersisted());
175
+ const content = await getPersisted();
176
+ isArray(content)
177
+ ? setContentOrChanges(content)
178
+ : errorNew(`Content is not an array ${content}`);
176
179
  } catch (error) {
177
180
  onIgnoredError?.(error);
178
181
  if (initialContent) {
@@ -755,7 +758,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
755
758
  DEFAULT_CONFIG,
756
759
  isString(configOrStoreTableName)
757
760
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
758
- : configOrStoreTableName ?? {},
761
+ : (configOrStoreTableName ?? {}),
759
762
  );
760
763
  const getDefaultedTabularConfigMap = (
761
764
  configsObj,
@@ -157,7 +157,10 @@ const createCustomPersister = (
157
157
  loads++;
158
158
  await schedule(async () => {
159
159
  try {
160
- setContentOrChanges(await getPersisted());
160
+ const content = await getPersisted();
161
+ isArray(content)
162
+ ? setContentOrChanges(content)
163
+ : errorNew(`Content is not an array ${content}`);
161
164
  } catch (error) {
162
165
  onIgnoredError?.(error);
163
166
  if (initialContent) {
@@ -157,7 +157,10 @@ const createCustomPersister = (
157
157
  loads++;
158
158
  await schedule(async () => {
159
159
  try {
160
- setContentOrChanges(await getPersisted());
160
+ const content = await getPersisted();
161
+ isArray(content)
162
+ ? setContentOrChanges(content)
163
+ : errorNew(`Content is not an array ${content}`);
161
164
  } catch (error) {
162
165
  onIgnoredError?.(error);
163
166
  if (initialContent) {
@@ -473,7 +473,10 @@ const createCustomPersister = (
473
473
  loads++;
474
474
  await schedule(async () => {
475
475
  try {
476
- setContentOrChanges(await getPersisted());
476
+ const content = await getPersisted();
477
+ isArray(content)
478
+ ? setContentOrChanges(content)
479
+ : errorNew(`Content is not an array ${content}`);
477
480
  } catch (error) {
478
481
  onIgnoredError?.(error);
479
482
  if (initialContent) {
@@ -755,7 +758,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
755
758
  DEFAULT_CONFIG,
756
759
  isString(configOrStoreTableName)
757
760
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
758
- : configOrStoreTableName ?? {},
761
+ : (configOrStoreTableName ?? {}),
759
762
  );
760
763
  const getDefaultedTabularConfigMap = (
761
764
  configsObj,
@@ -473,7 +473,10 @@ const createCustomPersister = (
473
473
  loads++;
474
474
  await schedule(async () => {
475
475
  try {
476
- setContentOrChanges(await getPersisted());
476
+ const content = await getPersisted();
477
+ isArray(content)
478
+ ? setContentOrChanges(content)
479
+ : errorNew(`Content is not an array ${content}`);
477
480
  } catch (error) {
478
481
  onIgnoredError?.(error);
479
482
  if (initialContent) {
@@ -755,7 +758,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
755
758
  DEFAULT_CONFIG,
756
759
  isString(configOrStoreTableName)
757
760
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
758
- : configOrStoreTableName ?? {},
761
+ : (configOrStoreTableName ?? {}),
759
762
  );
760
763
  const getDefaultedTabularConfigMap = (
761
764
  configsObj,
@@ -133,7 +133,10 @@ const createCustomPersister = (
133
133
  loads++;
134
134
  await schedule(async () => {
135
135
  try {
136
- setContentOrChanges(await getPersisted());
136
+ const content = await getPersisted();
137
+ isArray(content)
138
+ ? setContentOrChanges(content)
139
+ : errorNew(`Content is not an array ${content}`);
137
140
  } catch (error) {
138
141
  onIgnoredError?.(error);
139
142
  if (initialContent) {
@@ -133,7 +133,10 @@ const createCustomPersister = (
133
133
  loads++;
134
134
  await schedule(async () => {
135
135
  try {
136
- setContentOrChanges(await getPersisted());
136
+ const content = await getPersisted();
137
+ isArray(content)
138
+ ? setContentOrChanges(content)
139
+ : errorNew(`Content is not an array ${content}`);
137
140
  } catch (error) {
138
141
  onIgnoredError?.(error);
139
142
  if (initialContent) {
@@ -473,7 +473,10 @@ const createCustomPersister = (
473
473
  loads++;
474
474
  await schedule(async () => {
475
475
  try {
476
- setContentOrChanges(await getPersisted());
476
+ const content = await getPersisted();
477
+ isArray(content)
478
+ ? setContentOrChanges(content)
479
+ : errorNew(`Content is not an array ${content}`);
477
480
  } catch (error) {
478
481
  onIgnoredError?.(error);
479
482
  if (initialContent) {
@@ -755,7 +758,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
755
758
  DEFAULT_CONFIG,
756
759
  isString(configOrStoreTableName)
757
760
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
758
- : configOrStoreTableName ?? {},
761
+ : (configOrStoreTableName ?? {}),
759
762
  );
760
763
  const getDefaultedTabularConfigMap = (
761
764
  configsObj,
@@ -473,7 +473,10 @@ const createCustomPersister = (
473
473
  loads++;
474
474
  await schedule(async () => {
475
475
  try {
476
- setContentOrChanges(await getPersisted());
476
+ const content = await getPersisted();
477
+ isArray(content)
478
+ ? setContentOrChanges(content)
479
+ : errorNew(`Content is not an array ${content}`);
477
480
  } catch (error) {
478
481
  onIgnoredError?.(error);
479
482
  if (initialContent) {
@@ -755,7 +758,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
755
758
  DEFAULT_CONFIG,
756
759
  isString(configOrStoreTableName)
757
760
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
758
- : configOrStoreTableName ?? {},
761
+ : (configOrStoreTableName ?? {}),
759
762
  );
760
763
  const getDefaultedTabularConfigMap = (
761
764
  configsObj,
@@ -474,7 +474,10 @@ const createCustomPersister = (
474
474
  loads++;
475
475
  await schedule(async () => {
476
476
  try {
477
- setContentOrChanges(await getPersisted());
477
+ const content = await getPersisted();
478
+ isArray(content)
479
+ ? setContentOrChanges(content)
480
+ : errorNew(`Content is not an array ${content}`);
478
481
  } catch (error) {
479
482
  onIgnoredError?.(error);
480
483
  if (initialContent) {
@@ -756,7 +759,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
756
759
  DEFAULT_CONFIG,
757
760
  isString(configOrStoreTableName)
758
761
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
759
- : configOrStoreTableName ?? {},
762
+ : (configOrStoreTableName ?? {}),
760
763
  );
761
764
  const getDefaultedTabularConfigMap = (
762
765
  configsObj,
@@ -474,7 +474,10 @@ const createCustomPersister = (
474
474
  loads++;
475
475
  await schedule(async () => {
476
476
  try {
477
- setContentOrChanges(await getPersisted());
477
+ const content = await getPersisted();
478
+ isArray(content)
479
+ ? setContentOrChanges(content)
480
+ : errorNew(`Content is not an array ${content}`);
478
481
  } catch (error) {
479
482
  onIgnoredError?.(error);
480
483
  if (initialContent) {
@@ -756,7 +759,7 @@ const getDefaultedConfig = (configOrStoreTableName) =>
756
759
  DEFAULT_CONFIG,
757
760
  isString(configOrStoreTableName)
758
761
  ? {[STORE_TABLE_NAME]: configOrStoreTableName}
759
- : configOrStoreTableName ?? {},
762
+ : (configOrStoreTableName ?? {}),
760
763
  );
761
764
  const getDefaultedTabularConfigMap = (
762
765
  configsObj,
@@ -151,7 +151,10 @@ const createCustomPersister = (
151
151
  loads++;
152
152
  await schedule(async () => {
153
153
  try {
154
- setContentOrChanges(await getPersisted());
154
+ const content = await getPersisted();
155
+ isArray(content)
156
+ ? setContentOrChanges(content)
157
+ : errorNew(`Content is not an array ${content}`);
155
158
  } catch (error) {
156
159
  onIgnoredError?.(error);
157
160
  if (initialContent) {
@@ -368,7 +371,8 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
368
371
  const yMapMatch = (yMapOrParent, idInParent, obj, set) => {
369
372
  const yMap = isUndefined(idInParent)
370
373
  ? yMapOrParent
371
- : yMapOrParent.get(idInParent) ?? yMapOrParent.set(idInParent, new Map$1());
374
+ : (yMapOrParent.get(idInParent) ??
375
+ yMapOrParent.set(idInParent, new Map$1()));
372
376
  let changed;
373
377
  objToArray(obj, (value, id) => {
374
378
  if (set(yMap, id, value)) {
@@ -151,7 +151,10 @@ const createCustomPersister = (
151
151
  loads++;
152
152
  await schedule(async () => {
153
153
  try {
154
- setContentOrChanges(await getPersisted());
154
+ const content = await getPersisted();
155
+ isArray(content)
156
+ ? setContentOrChanges(content)
157
+ : errorNew(`Content is not an array ${content}`);
155
158
  } catch (error) {
156
159
  onIgnoredError?.(error);
157
160
  if (initialContent) {
@@ -368,7 +371,8 @@ const applyChangesToYDoc = (yContent, getContent, changes) => {
368
371
  const yMapMatch = (yMapOrParent, idInParent, obj, set) => {
369
372
  const yMap = isUndefined(idInParent)
370
373
  ? yMapOrParent
371
- : yMapOrParent.get(idInParent) ?? yMapOrParent.set(idInParent, new Map$1());
374
+ : (yMapOrParent.get(idInParent) ??
375
+ yMapOrParent.set(idInParent, new Map$1()));
372
376
  let changed;
373
377
  objToArray(obj, (value, id) => {
374
378
  if (set(yMap, id, value)) {
@@ -128,7 +128,10 @@ const createCustomPersister = (
128
128
  loads++;
129
129
  await schedule(async () => {
130
130
  try {
131
- setContentOrChanges(await getPersisted());
131
+ const content = await getPersisted();
132
+ isArray(content)
133
+ ? setContentOrChanges(content)
134
+ : errorNew(`Content is not an array ${content}`);
132
135
  } catch (error) {
133
136
  onIgnoredError?.(error);
134
137
  if (initialContent) {
package/queries/index.js CHANGED
@@ -476,9 +476,9 @@ const createQueries = getCreateFunction((store) => {
476
476
  selectedCellId,
477
477
  isFunction(aggregate)
478
478
  ? [aggregate, aggregateAdd, aggregateRemove, aggregateReplace]
479
- : mapGet(numericAggregators, aggregate) ?? [
479
+ : (mapGet(numericAggregators, aggregate) ?? [
480
480
  (_cells, length) => length,
481
- ],
481
+ ]),
482
482
  ],
483
483
  ];
484
484
  arrayPush(groupEntries, groupEntry);
@@ -476,9 +476,9 @@ const createQueries = getCreateFunction((store) => {
476
476
  selectedCellId,
477
477
  isFunction(aggregate)
478
478
  ? [aggregate, aggregateAdd, aggregateRemove, aggregateReplace]
479
- : mapGet(numericAggregators, aggregate) ?? [
479
+ : (mapGet(numericAggregators, aggregate) ?? [
480
480
  (_cells, length) => length,
481
- ],
481
+ ]),
482
482
  ],
483
483
  ];
484
484
  arrayPush(groupEntries, groupEntry);
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-0"><em>NEW!</em> v5.0 release</a> <span id="one-with">&quot;The One You Can Sync&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><a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> <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="&#x27;#apply-schemas-to-tables-values">schematization</a> to model your app&#x27;s data structures. TinyBase provides 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 - or the 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 is an in-memory data store, but you can easily <a href="#persist-to-storage-sqlite-more">persist</a> your data to <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, many flavors of <a href="https://tinybase.org/guides/persistence/database-persistence/">database</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>. TinyBase now has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can <a href="https://tinybase.org/guides/synchronization/">natively synchronize</a> and merge data across multiple sources and clients.</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 - 12.7kB</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"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg">Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></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://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><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&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.0.2" 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
+ <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-0"><em>NEW!</em> v5.0 release</a></p><p><span id="one-with">&quot;The One You Can Sync&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><a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> <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> to model your app&#x27;s data structures. TinyBase provides 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 - or the 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 is an in-memory data store, but you can easily <a href="#persist-to-storage-sqlite-more">persist</a> your data to <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, many flavors of <a href="https://tinybase.org/guides/persistence/database-persistence/">database</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>. TinyBase now has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can <a href="https://tinybase.org/guides/synchronization/">natively synchronize</a> and merge data across multiple sources and clients.</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 - 12.7kB</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"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg">Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></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://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><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&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.0.4" 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>
2
2
 
3
3
  ```js
4
4
  import {createStore} from 'tinybase';
@@ -292,4 +292,4 @@ export const createShop: typeof createShopDecl = () => {
292
292
  };
293
293
  ```
294
294
 
295
- <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>12.7kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.6kB</em>, the ui-react-dom components are another <em>2.5kB</em>, and everything is super fast. Life&#x27;s 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.3kB</td></tr><tr><th class="right">tinybase (complete)</th><td>12.7kB</td><td>129.8kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>48.3kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</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,373</td><td>2,373</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,561</td><td>2,561</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>1,004</td><td>1,004</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>947</td><td>947</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,821</td></tr><tr><th class="right">Assertions</th><td colspan="3">32,030</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 title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" 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/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img title="byCedric" src="https://github.com/byCedric.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img title="mouktardev" src="https://github.com/mouktardev.png?size=48" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img title="nickmessing" src="https://github.com/nickmessing.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img title="nkzw-tech" src="https://github.com/nkzw-tech.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img title="primodiumxyz" src="https://github.com/primodiumxyz.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img title="ViktorZhurbin" src="https://github.com/ViktorZhurbin.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></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>
295
+ <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>12.7kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.6kB</em>, the ui-react-dom components are another <em>2.5kB</em>, and everything is super fast. Life&#x27;s 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.3kB</td></tr><tr><th class="right">tinybase (complete)</th><td>12.7kB</td><td>129.8kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>48.3kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</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,373</td><td>2,373</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,561</td><td>2,561</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>1,004</td><td>1,004</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>947</td><td>947</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,821</td></tr><tr><th class="right">Assertions</th><td colspan="3">32,039</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 title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" 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/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img title="byCedric" src="https://github.com/byCedric.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img title="mouktardev" src="https://github.com/mouktardev.png?size=48" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img title="nickmessing" src="https://github.com/nickmessing.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img title="nkzw-tech" src="https://github.com/nkzw-tech.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img title="primodiumxyz" src="https://github.com/primodiumxyz.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img title="ViktorZhurbin" src="https://github.com/ViktorZhurbin.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></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>
@@ -239,7 +239,7 @@ const getDefinableFunctions = (
239
239
  const getRowCellFunction = (getRowCell, defaultCellValue) =>
240
240
  isString(getRowCell)
241
241
  ? (getCell) => getCell(getRowCell)
242
- : getRowCell ?? (() => defaultCellValue ?? EMPTY_STRING);
242
+ : (getRowCell ?? (() => defaultCellValue ?? EMPTY_STRING));
243
243
  const getCreateFunction = (getFunction, initFunction) => {
244
244
  const thingsByStore = /* @__PURE__ */ new WeakMap();
245
245
  return (store) => {