tinybase 5.0.0-beta.24 → 5.0.0-beta.26

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 (992) hide show
  1. package/@types/checkpoints/index.d.cts +4 -6
  2. package/@types/checkpoints/index.d.ts +4 -6
  3. package/@types/checkpoints/with-schemas/index.d.cts +4 -6
  4. package/@types/checkpoints/with-schemas/index.d.ts +4 -6
  5. package/@types/common/index.d.cts +1 -1
  6. package/@types/common/index.d.ts +1 -1
  7. package/@types/common/with-schemas/index.d.cts +1 -1
  8. package/@types/common/with-schemas/index.d.ts +1 -1
  9. package/@types/indexes/index.d.cts +3 -6
  10. package/@types/indexes/index.d.ts +3 -6
  11. package/@types/indexes/with-schemas/index.d.cts +3 -6
  12. package/@types/indexes/with-schemas/index.d.ts +3 -6
  13. package/@types/mergeable-store/index.d.cts +767 -22
  14. package/@types/mergeable-store/index.d.ts +767 -22
  15. package/@types/mergeable-store/with-schemas/index.d.cts +863 -22
  16. package/@types/mergeable-store/with-schemas/index.d.ts +863 -22
  17. package/@types/metrics/index.d.cts +3 -6
  18. package/@types/metrics/index.d.ts +3 -6
  19. package/@types/metrics/with-schemas/index.d.cts +3 -6
  20. package/@types/metrics/with-schemas/index.d.ts +3 -6
  21. package/@types/persisters/index.d.cts +58 -41
  22. package/@types/persisters/index.d.ts +58 -41
  23. package/@types/persisters/persister-browser/index.d.cts +5 -3
  24. package/@types/persisters/persister-browser/index.d.ts +5 -3
  25. package/@types/persisters/persister-browser/with-schemas/index.d.cts +3 -3
  26. package/@types/persisters/persister-browser/with-schemas/index.d.ts +3 -3
  27. package/@types/persisters/persister-expo-sqlite/index.d.cts +3 -2
  28. package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -2
  29. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +2 -1
  30. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +2 -1
  31. package/@types/persisters/persister-file/index.d.cts +3 -2
  32. package/@types/persisters/persister-file/index.d.ts +3 -2
  33. package/@types/persisters/persister-file/with-schemas/index.d.cts +2 -2
  34. package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
  35. package/@types/persisters/persister-partykit-server/index.d.cts +3 -3
  36. package/@types/persisters/persister-partykit-server/index.d.ts +3 -3
  37. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +3 -3
  38. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +3 -3
  39. package/@types/persisters/persister-sqlite-wasm/index.d.cts +3 -2
  40. package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -2
  41. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +2 -1
  42. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +2 -1
  43. package/@types/persisters/persister-sqlite3/index.d.cts +3 -2
  44. package/@types/persisters/persister-sqlite3/index.d.ts +3 -2
  45. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +2 -1
  46. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +2 -1
  47. package/@types/persisters/with-schemas/index.d.cts +70 -53
  48. package/@types/persisters/with-schemas/index.d.ts +70 -53
  49. package/@types/queries/index.d.cts +6 -9
  50. package/@types/queries/index.d.ts +6 -9
  51. package/@types/queries/with-schemas/index.d.cts +6 -9
  52. package/@types/queries/with-schemas/index.d.ts +6 -9
  53. package/@types/relationships/index.d.cts +3 -5
  54. package/@types/relationships/index.d.ts +3 -5
  55. package/@types/relationships/with-schemas/index.d.cts +3 -5
  56. package/@types/relationships/with-schemas/index.d.ts +3 -5
  57. package/@types/store/index.d.cts +24 -23
  58. package/@types/store/index.d.ts +24 -23
  59. package/@types/store/with-schemas/index.d.cts +24 -23
  60. package/@types/store/with-schemas/index.d.ts +24 -23
  61. package/@types/synchronizers/index.d.cts +9 -9
  62. package/@types/synchronizers/index.d.ts +9 -9
  63. package/@types/synchronizers/synchronizer-local/index.d.cts +2 -2
  64. package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
  65. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +2 -2
  66. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
  67. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +2 -2
  68. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +2 -2
  69. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +2 -2
  70. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +2 -2
  71. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +5 -5
  72. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +5 -5
  73. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +5 -5
  74. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +5 -5
  75. package/@types/synchronizers/with-schemas/index.d.cts +12 -9
  76. package/@types/synchronizers/with-schemas/index.d.ts +12 -9
  77. package/@types/tools/index.d.cts +20 -10
  78. package/@types/tools/index.d.ts +20 -10
  79. package/@types/tools/with-schemas/index.d.cts +20 -10
  80. package/@types/tools/with-schemas/index.d.ts +20 -10
  81. package/@types/ui-react/index.d.cts +1 -1
  82. package/@types/ui-react/index.d.ts +1 -1
  83. package/@types/ui-react/with-schemas/index.d.cts +1 -1
  84. package/@types/ui-react/with-schemas/index.d.ts +1 -1
  85. package/@types/ui-react-dom/index.d.cts +2 -2
  86. package/@types/ui-react-dom/index.d.ts +2 -2
  87. package/@types/ui-react-dom/with-schemas/index.d.cts +2 -2
  88. package/@types/ui-react-dom/with-schemas/index.d.ts +2 -2
  89. package/@types/ui-react-inspector/with-schemas/index.d.cts +2 -2
  90. package/@types/ui-react-inspector/with-schemas/index.d.ts +2 -2
  91. package/cjs/common/index.cjs +9 -1
  92. package/cjs/common/with-schemas/index.cjs +9 -1
  93. package/cjs/es6/common/index.cjs +9 -1
  94. package/cjs/es6/common/with-schemas/index.cjs +9 -1
  95. package/cjs/es6/index.cjs +32 -19
  96. package/cjs/es6/mergeable-store/index.cjs +19 -12
  97. package/cjs/es6/mergeable-store/with-schemas/index.cjs +19 -12
  98. package/cjs/es6/metrics/index.cjs +3 -2
  99. package/cjs/es6/metrics/with-schemas/index.cjs +3 -2
  100. package/cjs/es6/min/common/index.cjs +1 -1
  101. package/cjs/es6/min/common/index.cjs.gz +0 -0
  102. package/cjs/es6/min/common/with-schemas/index.cjs +1 -1
  103. package/cjs/es6/min/common/with-schemas/index.cjs.gz +0 -0
  104. package/cjs/es6/min/index.cjs +1 -1
  105. package/cjs/es6/min/index.cjs.gz +0 -0
  106. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  107. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  108. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  109. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  110. package/cjs/es6/min/metrics/index.cjs +1 -1
  111. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  112. package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
  113. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  114. package/cjs/es6/min/persisters/index.cjs +1 -1
  115. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  116. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  117. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  118. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  119. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  121. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  122. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  123. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  124. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  125. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  126. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  127. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  128. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  129. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  130. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  131. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  132. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  133. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  134. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  135. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  136. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  137. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  138. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  139. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  140. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  141. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  142. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  143. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  145. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  146. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  147. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  149. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  150. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  151. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  152. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  153. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  154. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  155. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  156. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  157. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  158. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  159. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  160. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  161. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  162. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  163. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  164. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  165. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  166. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  167. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  168. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  169. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  170. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  171. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  172. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  173. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/es6/min/queries/index.cjs +1 -1
  175. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  176. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  177. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  179. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  180. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  181. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  182. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  183. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  185. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  186. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  187. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  189. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/es6/min/ui-react-dom/index.cjs +1 -1
  191. package/cjs/es6/min/ui-react-dom/index.cjs.gz +0 -0
  192. package/cjs/es6/min/ui-react-dom/with-schemas/index.cjs +1 -1
  193. package/cjs/es6/min/ui-react-dom/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  195. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  196. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  197. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  198. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  199. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/es6/persisters/index.cjs +11 -5
  201. package/cjs/es6/persisters/persister-automerge/index.cjs +11 -6
  202. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +11 -6
  203. package/cjs/es6/persisters/persister-browser/index.cjs +19 -13
  204. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +19 -13
  205. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
  206. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
  207. package/cjs/es6/persisters/persister-electric-sql/index.cjs +17 -12
  208. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
  209. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +17 -12
  210. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
  211. package/cjs/es6/persisters/persister-file/index.cjs +16 -11
  212. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +16 -11
  213. package/cjs/es6/persisters/persister-indexed-db/index.cjs +13 -7
  214. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +13 -7
  215. package/cjs/es6/persisters/persister-libsql/index.cjs +287 -282
  216. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +287 -282
  217. package/cjs/es6/persisters/persister-partykit-client/index.cjs +11 -6
  218. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
  219. package/cjs/es6/persisters/persister-powersync/index.cjs +17 -12
  220. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +17 -12
  221. package/cjs/es6/persisters/persister-remote/index.cjs +17 -12
  222. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +17 -12
  223. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +17 -12
  224. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
  225. package/cjs/es6/persisters/persister-sqlite3/index.cjs +17 -12
  226. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
  227. package/cjs/es6/persisters/persister-yjs/index.cjs +11 -6
  228. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +11 -6
  229. package/cjs/es6/persisters/with-schemas/index.cjs +11 -5
  230. package/cjs/es6/queries/index.cjs +3 -2
  231. package/cjs/es6/queries/with-schemas/index.cjs +3 -2
  232. package/cjs/es6/synchronizers/index.cjs +33 -21
  233. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +33 -21
  234. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +33 -21
  235. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +33 -21
  236. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +33 -21
  237. package/cjs/es6/synchronizers/with-schemas/index.cjs +33 -21
  238. package/cjs/es6/ui-react-dom/index.cjs +3 -1
  239. package/cjs/es6/ui-react-dom/with-schemas/index.cjs +3 -1
  240. package/cjs/es6/ui-react-inspector/index.cjs +17 -9
  241. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +17 -9
  242. package/cjs/es6/with-schemas/index.cjs +32 -19
  243. package/cjs/index.cjs +32 -19
  244. package/cjs/mergeable-store/index.cjs +19 -12
  245. package/cjs/mergeable-store/with-schemas/index.cjs +19 -12
  246. package/cjs/metrics/index.cjs +3 -2
  247. package/cjs/metrics/with-schemas/index.cjs +3 -2
  248. package/cjs/min/common/index.cjs +1 -1
  249. package/cjs/min/common/index.cjs.gz +0 -0
  250. package/cjs/min/common/with-schemas/index.cjs +1 -1
  251. package/cjs/min/common/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/index.cjs +1 -1
  253. package/cjs/min/index.cjs.gz +0 -0
  254. package/cjs/min/mergeable-store/index.cjs +1 -1
  255. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  256. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  257. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  258. package/cjs/min/metrics/index.cjs +1 -1
  259. package/cjs/min/metrics/index.cjs.gz +0 -0
  260. package/cjs/min/metrics/with-schemas/index.cjs +1 -1
  261. package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/persisters/index.cjs +1 -1
  263. package/cjs/min/persisters/index.cjs.gz +0 -0
  264. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  265. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  266. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  267. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  268. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  269. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  270. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  271. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  272. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  273. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  274. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  275. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  276. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  277. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  278. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  279. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  280. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  281. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  282. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  283. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  284. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  285. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  286. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  287. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  288. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  289. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  290. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  291. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  292. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  293. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  294. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  295. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  296. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  297. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  298. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  299. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  300. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  301. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  302. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  303. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  304. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  305. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  306. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  307. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  308. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  309. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  310. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  311. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  312. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  313. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  314. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  315. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  316. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  317. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  318. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  319. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  320. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  321. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  322. package/cjs/min/queries/index.cjs +1 -1
  323. package/cjs/min/queries/index.cjs.gz +0 -0
  324. package/cjs/min/queries/with-schemas/index.cjs +1 -1
  325. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  326. package/cjs/min/synchronizers/index.cjs +1 -1
  327. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  328. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  329. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  330. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  331. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  332. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  333. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  334. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  335. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  336. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  337. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  338. package/cjs/min/ui-react-dom/index.cjs +1 -1
  339. package/cjs/min/ui-react-dom/index.cjs.gz +0 -0
  340. package/cjs/min/ui-react-dom/with-schemas/index.cjs +1 -1
  341. package/cjs/min/ui-react-dom/with-schemas/index.cjs.gz +0 -0
  342. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  343. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  344. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  345. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  346. package/cjs/min/with-schemas/index.cjs +1 -1
  347. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  348. package/cjs/persisters/index.cjs +11 -5
  349. package/cjs/persisters/persister-automerge/index.cjs +11 -6
  350. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +11 -6
  351. package/cjs/persisters/persister-browser/index.cjs +19 -13
  352. package/cjs/persisters/persister-browser/with-schemas/index.cjs +19 -13
  353. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
  354. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
  355. package/cjs/persisters/persister-electric-sql/index.cjs +17 -12
  356. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
  357. package/cjs/persisters/persister-expo-sqlite/index.cjs +17 -12
  358. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
  359. package/cjs/persisters/persister-file/index.cjs +16 -11
  360. package/cjs/persisters/persister-file/with-schemas/index.cjs +16 -11
  361. package/cjs/persisters/persister-indexed-db/index.cjs +13 -7
  362. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +13 -7
  363. package/cjs/persisters/persister-libsql/index.cjs +194 -189
  364. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
  365. package/cjs/persisters/persister-partykit-client/index.cjs +11 -6
  366. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
  367. package/cjs/persisters/persister-powersync/index.cjs +17 -12
  368. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +17 -12
  369. package/cjs/persisters/persister-remote/index.cjs +17 -12
  370. package/cjs/persisters/persister-remote/with-schemas/index.cjs +17 -12
  371. package/cjs/persisters/persister-sqlite-wasm/index.cjs +17 -12
  372. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
  373. package/cjs/persisters/persister-sqlite3/index.cjs +17 -12
  374. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
  375. package/cjs/persisters/persister-yjs/index.cjs +11 -6
  376. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +11 -6
  377. package/cjs/persisters/with-schemas/index.cjs +11 -5
  378. package/cjs/queries/index.cjs +3 -2
  379. package/cjs/queries/with-schemas/index.cjs +3 -2
  380. package/cjs/synchronizers/index.cjs +26 -14
  381. package/cjs/synchronizers/synchronizer-local/index.cjs +26 -14
  382. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +26 -14
  383. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +26 -14
  384. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +26 -14
  385. package/cjs/synchronizers/with-schemas/index.cjs +26 -14
  386. package/cjs/ui-react-dom/index.cjs +3 -1
  387. package/cjs/ui-react-dom/with-schemas/index.cjs +3 -1
  388. package/cjs/ui-react-inspector/index.cjs +17 -9
  389. package/cjs/ui-react-inspector/with-schemas/index.cjs +17 -9
  390. package/cjs/with-schemas/index.cjs +32 -19
  391. package/common/index.js +9 -1
  392. package/common/with-schemas/index.js +9 -1
  393. package/es6/common/index.js +9 -1
  394. package/es6/common/with-schemas/index.js +9 -1
  395. package/es6/index.js +32 -19
  396. package/es6/mergeable-store/index.js +19 -12
  397. package/es6/mergeable-store/with-schemas/index.js +19 -12
  398. package/es6/metrics/index.js +3 -2
  399. package/es6/metrics/with-schemas/index.js +3 -2
  400. package/es6/min/common/index.js +1 -1
  401. package/es6/min/common/index.js.gz +0 -0
  402. package/es6/min/common/with-schemas/index.js +1 -1
  403. package/es6/min/common/with-schemas/index.js.gz +0 -0
  404. package/es6/min/index.js +1 -1
  405. package/es6/min/index.js.gz +0 -0
  406. package/es6/min/mergeable-store/index.js +1 -1
  407. package/es6/min/mergeable-store/index.js.gz +0 -0
  408. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  409. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  410. package/es6/min/metrics/index.js +1 -1
  411. package/es6/min/metrics/index.js.gz +0 -0
  412. package/es6/min/metrics/with-schemas/index.js +1 -1
  413. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  414. package/es6/min/persisters/index.js +1 -1
  415. package/es6/min/persisters/index.js.gz +0 -0
  416. package/es6/min/persisters/persister-automerge/index.js +1 -1
  417. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  418. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  419. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  420. package/es6/min/persisters/persister-browser/index.js +1 -1
  421. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  422. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  423. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  424. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  425. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  426. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  427. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  428. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  429. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  430. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  431. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  432. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  433. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  434. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  435. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  436. package/es6/min/persisters/persister-file/index.js +1 -1
  437. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  438. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  439. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  440. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  441. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  442. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  443. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  444. package/es6/min/persisters/persister-libsql/index.js +1 -1
  445. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  446. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  447. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  448. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  449. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  450. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  451. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  452. package/es6/min/persisters/persister-powersync/index.js +1 -1
  453. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  454. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  455. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  456. package/es6/min/persisters/persister-remote/index.js +1 -1
  457. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  458. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  459. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  460. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  461. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  462. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  463. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  464. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  465. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  466. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  467. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  468. package/es6/min/persisters/persister-yjs/index.js +1 -1
  469. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  470. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  471. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  472. package/es6/min/persisters/with-schemas/index.js +1 -1
  473. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  474. package/es6/min/queries/index.js +1 -1
  475. package/es6/min/queries/index.js.gz +0 -0
  476. package/es6/min/queries/with-schemas/index.js +1 -1
  477. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  478. package/es6/min/synchronizers/index.js +1 -1
  479. package/es6/min/synchronizers/index.js.gz +0 -0
  480. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  481. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  482. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  483. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  484. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  485. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  486. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  487. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  488. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  489. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  490. package/es6/min/ui-react-dom/index.js +1 -1
  491. package/es6/min/ui-react-dom/index.js.gz +0 -0
  492. package/es6/min/ui-react-dom/with-schemas/index.js +1 -1
  493. package/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  494. package/es6/min/ui-react-inspector/index.js +1 -1
  495. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  496. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  497. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  498. package/es6/min/with-schemas/index.js +1 -1
  499. package/es6/min/with-schemas/index.js.gz +0 -0
  500. package/es6/persisters/index.js +11 -6
  501. package/es6/persisters/persister-automerge/index.js +11 -6
  502. package/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
  503. package/es6/persisters/persister-browser/index.js +19 -13
  504. package/es6/persisters/persister-browser/with-schemas/index.js +19 -13
  505. package/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  506. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  507. package/es6/persisters/persister-electric-sql/index.js +17 -12
  508. package/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  509. package/es6/persisters/persister-expo-sqlite/index.js +17 -12
  510. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  511. package/es6/persisters/persister-file/index.js +16 -11
  512. package/es6/persisters/persister-file/with-schemas/index.js +16 -11
  513. package/es6/persisters/persister-indexed-db/index.js +13 -7
  514. package/es6/persisters/persister-indexed-db/with-schemas/index.js +13 -7
  515. package/es6/persisters/persister-libsql/index.js +287 -282
  516. package/es6/persisters/persister-libsql/with-schemas/index.js +287 -282
  517. package/es6/persisters/persister-partykit-client/index.js +11 -6
  518. package/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  519. package/es6/persisters/persister-powersync/index.js +17 -12
  520. package/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
  521. package/es6/persisters/persister-remote/index.js +17 -12
  522. package/es6/persisters/persister-remote/with-schemas/index.js +17 -12
  523. package/es6/persisters/persister-sqlite-wasm/index.js +17 -12
  524. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  525. package/es6/persisters/persister-sqlite3/index.js +17 -12
  526. package/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  527. package/es6/persisters/persister-yjs/index.js +11 -6
  528. package/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
  529. package/es6/persisters/with-schemas/index.js +11 -6
  530. package/es6/queries/index.js +3 -2
  531. package/es6/queries/with-schemas/index.js +3 -2
  532. package/es6/synchronizers/index.js +33 -21
  533. package/es6/synchronizers/synchronizer-local/index.js +33 -21
  534. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +33 -21
  535. package/es6/synchronizers/synchronizer-ws-client/index.js +33 -21
  536. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +33 -21
  537. package/es6/synchronizers/with-schemas/index.js +33 -21
  538. package/es6/ui-react-dom/index.js +3 -1
  539. package/es6/ui-react-dom/with-schemas/index.js +3 -1
  540. package/es6/ui-react-inspector/index.js +17 -9
  541. package/es6/ui-react-inspector/with-schemas/index.js +17 -9
  542. package/es6/with-schemas/index.js +32 -19
  543. package/index.js +32 -19
  544. package/mergeable-store/index.js +19 -12
  545. package/mergeable-store/with-schemas/index.js +19 -12
  546. package/metrics/index.js +3 -2
  547. package/metrics/with-schemas/index.js +3 -2
  548. package/min/common/index.js +1 -1
  549. package/min/common/index.js.gz +0 -0
  550. package/min/common/with-schemas/index.js +1 -1
  551. package/min/common/with-schemas/index.js.gz +0 -0
  552. package/min/index.js +1 -1
  553. package/min/index.js.gz +0 -0
  554. package/min/mergeable-store/index.js +1 -1
  555. package/min/mergeable-store/index.js.gz +0 -0
  556. package/min/mergeable-store/with-schemas/index.js +1 -1
  557. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  558. package/min/metrics/index.js +1 -1
  559. package/min/metrics/index.js.gz +0 -0
  560. package/min/metrics/with-schemas/index.js +1 -1
  561. package/min/metrics/with-schemas/index.js.gz +0 -0
  562. package/min/persisters/index.js +1 -1
  563. package/min/persisters/index.js.gz +0 -0
  564. package/min/persisters/persister-automerge/index.js +1 -1
  565. package/min/persisters/persister-automerge/index.js.gz +0 -0
  566. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  567. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  568. package/min/persisters/persister-browser/index.js +1 -1
  569. package/min/persisters/persister-browser/index.js.gz +0 -0
  570. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  571. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  572. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  573. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  574. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  575. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  576. package/min/persisters/persister-electric-sql/index.js +1 -1
  577. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  578. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  579. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  580. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  581. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  582. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  583. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  584. package/min/persisters/persister-file/index.js +1 -1
  585. package/min/persisters/persister-file/index.js.gz +0 -0
  586. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  587. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  588. package/min/persisters/persister-indexed-db/index.js +1 -1
  589. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  590. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  591. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  592. package/min/persisters/persister-libsql/index.js +1 -1
  593. package/min/persisters/persister-libsql/index.js.gz +0 -0
  594. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  595. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  596. package/min/persisters/persister-partykit-client/index.js +1 -1
  597. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  598. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  599. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  600. package/min/persisters/persister-powersync/index.js +1 -1
  601. package/min/persisters/persister-powersync/index.js.gz +0 -0
  602. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  603. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  604. package/min/persisters/persister-remote/index.js +1 -1
  605. package/min/persisters/persister-remote/index.js.gz +0 -0
  606. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  607. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  608. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  609. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  610. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  611. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  612. package/min/persisters/persister-sqlite3/index.js +1 -1
  613. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  614. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  615. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  616. package/min/persisters/persister-yjs/index.js +1 -1
  617. package/min/persisters/persister-yjs/index.js.gz +0 -0
  618. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  619. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  620. package/min/persisters/with-schemas/index.js +1 -1
  621. package/min/persisters/with-schemas/index.js.gz +0 -0
  622. package/min/queries/index.js +1 -1
  623. package/min/queries/index.js.gz +0 -0
  624. package/min/queries/with-schemas/index.js +1 -1
  625. package/min/queries/with-schemas/index.js.gz +0 -0
  626. package/min/synchronizers/index.js +1 -1
  627. package/min/synchronizers/index.js.gz +0 -0
  628. package/min/synchronizers/synchronizer-local/index.js +1 -1
  629. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  630. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  631. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  632. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  633. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  634. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  635. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  636. package/min/synchronizers/with-schemas/index.js +1 -1
  637. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  638. package/min/ui-react-dom/index.js +1 -1
  639. package/min/ui-react-dom/index.js.gz +0 -0
  640. package/min/ui-react-dom/with-schemas/index.js +1 -1
  641. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  642. package/min/ui-react-inspector/index.js +1 -1
  643. package/min/ui-react-inspector/index.js.gz +0 -0
  644. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  645. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  646. package/min/with-schemas/index.js +1 -1
  647. package/min/with-schemas/index.js.gz +0 -0
  648. package/package.json +5 -5
  649. package/persisters/index.js +11 -6
  650. package/persisters/persister-automerge/index.js +11 -6
  651. package/persisters/persister-automerge/with-schemas/index.js +11 -6
  652. package/persisters/persister-browser/index.js +19 -13
  653. package/persisters/persister-browser/with-schemas/index.js +19 -13
  654. package/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  655. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  656. package/persisters/persister-electric-sql/index.js +17 -12
  657. package/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  658. package/persisters/persister-expo-sqlite/index.js +17 -12
  659. package/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  660. package/persisters/persister-file/index.js +16 -11
  661. package/persisters/persister-file/with-schemas/index.js +16 -11
  662. package/persisters/persister-indexed-db/index.js +13 -7
  663. package/persisters/persister-indexed-db/with-schemas/index.js +13 -7
  664. package/persisters/persister-libsql/index.js +194 -189
  665. package/persisters/persister-libsql/with-schemas/index.js +194 -189
  666. package/persisters/persister-partykit-client/index.js +11 -6
  667. package/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  668. package/persisters/persister-powersync/index.js +17 -12
  669. package/persisters/persister-powersync/with-schemas/index.js +17 -12
  670. package/persisters/persister-remote/index.js +17 -12
  671. package/persisters/persister-remote/with-schemas/index.js +17 -12
  672. package/persisters/persister-sqlite-wasm/index.js +17 -12
  673. package/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  674. package/persisters/persister-sqlite3/index.js +17 -12
  675. package/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  676. package/persisters/persister-yjs/index.js +11 -6
  677. package/persisters/persister-yjs/with-schemas/index.js +11 -6
  678. package/persisters/with-schemas/index.js +11 -6
  679. package/queries/index.js +3 -2
  680. package/queries/with-schemas/index.js +3 -2
  681. package/readme.md +2 -2
  682. package/synchronizers/index.js +26 -14
  683. package/synchronizers/synchronizer-local/index.js +26 -14
  684. package/synchronizers/synchronizer-local/with-schemas/index.js +26 -14
  685. package/synchronizers/synchronizer-ws-client/index.js +26 -14
  686. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +26 -14
  687. package/synchronizers/with-schemas/index.js +26 -14
  688. package/ui-react-dom/index.js +3 -1
  689. package/ui-react-dom/with-schemas/index.js +3 -1
  690. package/ui-react-inspector/index.js +17 -9
  691. package/ui-react-inspector/with-schemas/index.js +17 -9
  692. package/umd/common/index.js +9 -1
  693. package/umd/common/with-schemas/index.js +9 -1
  694. package/umd/es6/common/index.js +9 -1
  695. package/umd/es6/common/with-schemas/index.js +9 -1
  696. package/umd/es6/index.js +33 -19
  697. package/umd/es6/mergeable-store/index.js +20 -12
  698. package/umd/es6/mergeable-store/with-schemas/index.js +20 -12
  699. package/umd/es6/metrics/index.js +3 -2
  700. package/umd/es6/metrics/with-schemas/index.js +3 -2
  701. package/umd/es6/min/common/index.js +1 -1
  702. package/umd/es6/min/common/index.js.gz +0 -0
  703. package/umd/es6/min/common/with-schemas/index.js +1 -1
  704. package/umd/es6/min/common/with-schemas/index.js.gz +0 -0
  705. package/umd/es6/min/index.js +1 -1
  706. package/umd/es6/min/index.js.gz +0 -0
  707. package/umd/es6/min/mergeable-store/index.js +1 -1
  708. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  709. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  710. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  711. package/umd/es6/min/metrics/index.js +1 -1
  712. package/umd/es6/min/metrics/index.js.gz +0 -0
  713. package/umd/es6/min/metrics/with-schemas/index.js +1 -1
  714. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  715. package/umd/es6/min/persisters/index.js +1 -1
  716. package/umd/es6/min/persisters/index.js.gz +0 -0
  717. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  718. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  719. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  720. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  721. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  722. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  723. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  724. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  725. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  726. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  727. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  728. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  729. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  730. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  731. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  732. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  733. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  734. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  735. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  736. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  737. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  738. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  739. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  740. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  741. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  742. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  743. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  744. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  745. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  746. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  747. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  748. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  749. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  750. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  751. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  752. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  753. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  754. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  755. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  756. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  757. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  758. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  759. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  760. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  761. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  762. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  763. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  764. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  765. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  766. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  767. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  768. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  769. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  770. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  771. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  772. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  773. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  774. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  775. package/umd/es6/min/queries/index.js +1 -1
  776. package/umd/es6/min/queries/index.js.gz +0 -0
  777. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  778. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  779. package/umd/es6/min/synchronizers/index.js +1 -1
  780. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  781. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  782. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  783. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  784. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  785. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  786. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  787. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  788. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  789. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  790. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  791. package/umd/es6/min/ui-react-dom/index.js +1 -1
  792. package/umd/es6/min/ui-react-dom/index.js.gz +0 -0
  793. package/umd/es6/min/ui-react-dom/with-schemas/index.js +1 -1
  794. package/umd/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  795. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  796. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  797. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  798. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  799. package/umd/es6/min/with-schemas/index.js +1 -1
  800. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  801. package/umd/es6/persisters/index.js +11 -5
  802. package/umd/es6/persisters/persister-automerge/index.js +11 -6
  803. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
  804. package/umd/es6/persisters/persister-browser/index.js +21 -15
  805. package/umd/es6/persisters/persister-browser/with-schemas/index.js +21 -15
  806. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  807. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  808. package/umd/es6/persisters/persister-electric-sql/index.js +17 -12
  809. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  810. package/umd/es6/persisters/persister-expo-sqlite/index.js +17 -12
  811. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  812. package/umd/es6/persisters/persister-file/index.js +18 -13
  813. package/umd/es6/persisters/persister-file/with-schemas/index.js +18 -13
  814. package/umd/es6/persisters/persister-indexed-db/index.js +13 -7
  815. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +13 -7
  816. package/umd/es6/persisters/persister-libsql/index.js +289 -284
  817. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +289 -284
  818. package/umd/es6/persisters/persister-partykit-client/index.js +11 -6
  819. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  820. package/umd/es6/persisters/persister-powersync/index.js +17 -12
  821. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
  822. package/umd/es6/persisters/persister-remote/index.js +17 -12
  823. package/umd/es6/persisters/persister-remote/with-schemas/index.js +17 -12
  824. package/umd/es6/persisters/persister-sqlite-wasm/index.js +17 -12
  825. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  826. package/umd/es6/persisters/persister-sqlite3/index.js +17 -12
  827. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  828. package/umd/es6/persisters/persister-yjs/index.js +11 -6
  829. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
  830. package/umd/es6/persisters/with-schemas/index.js +11 -5
  831. package/umd/es6/queries/index.js +3 -2
  832. package/umd/es6/queries/with-schemas/index.js +3 -2
  833. package/umd/es6/synchronizers/index.js +33 -21
  834. package/umd/es6/synchronizers/synchronizer-local/index.js +33 -21
  835. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +33 -21
  836. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +33 -21
  837. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +33 -21
  838. package/umd/es6/synchronizers/with-schemas/index.js +33 -21
  839. package/umd/es6/ui-react-dom/index.js +3 -1
  840. package/umd/es6/ui-react-dom/with-schemas/index.js +3 -1
  841. package/umd/es6/ui-react-inspector/index.js +17 -9
  842. package/umd/es6/ui-react-inspector/with-schemas/index.js +17 -9
  843. package/umd/es6/with-schemas/index.js +33 -19
  844. package/umd/index.js +32 -19
  845. package/umd/mergeable-store/index.js +19 -12
  846. package/umd/mergeable-store/with-schemas/index.js +19 -12
  847. package/umd/metrics/index.js +3 -2
  848. package/umd/metrics/with-schemas/index.js +3 -2
  849. package/umd/min/common/index.js +1 -1
  850. package/umd/min/common/index.js.gz +0 -0
  851. package/umd/min/common/with-schemas/index.js +1 -1
  852. package/umd/min/common/with-schemas/index.js.gz +0 -0
  853. package/umd/min/index.js +1 -1
  854. package/umd/min/index.js.gz +0 -0
  855. package/umd/min/mergeable-store/index.js +1 -1
  856. package/umd/min/mergeable-store/index.js.gz +0 -0
  857. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  858. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  859. package/umd/min/metrics/index.js +1 -1
  860. package/umd/min/metrics/index.js.gz +0 -0
  861. package/umd/min/metrics/with-schemas/index.js +1 -1
  862. package/umd/min/metrics/with-schemas/index.js.gz +0 -0
  863. package/umd/min/persisters/index.js +1 -1
  864. package/umd/min/persisters/index.js.gz +0 -0
  865. package/umd/min/persisters/persister-automerge/index.js +1 -1
  866. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  867. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  868. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  869. package/umd/min/persisters/persister-browser/index.js +1 -1
  870. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  871. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  872. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  873. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  874. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  875. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  876. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  877. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  878. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  879. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  880. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  881. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  882. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  883. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  884. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  885. package/umd/min/persisters/persister-file/index.js +1 -1
  886. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  887. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  888. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  889. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  890. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  891. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  892. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  893. package/umd/min/persisters/persister-libsql/index.js +1 -1
  894. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  895. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  896. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  897. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  898. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  899. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  900. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  901. package/umd/min/persisters/persister-powersync/index.js +1 -1
  902. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  903. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  904. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  905. package/umd/min/persisters/persister-remote/index.js +1 -1
  906. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  907. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  908. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  909. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  910. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  911. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  912. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  913. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  914. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  915. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  916. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  917. package/umd/min/persisters/persister-yjs/index.js +1 -1
  918. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  919. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  920. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  921. package/umd/min/persisters/with-schemas/index.js +1 -1
  922. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  923. package/umd/min/queries/index.js +1 -1
  924. package/umd/min/queries/index.js.gz +0 -0
  925. package/umd/min/queries/with-schemas/index.js +1 -1
  926. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  927. package/umd/min/synchronizers/index.js +1 -1
  928. package/umd/min/synchronizers/index.js.gz +0 -0
  929. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  930. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  931. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  932. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  933. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  934. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  935. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  936. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  937. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  938. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  939. package/umd/min/ui-react-dom/index.js +1 -1
  940. package/umd/min/ui-react-dom/index.js.gz +0 -0
  941. package/umd/min/ui-react-dom/with-schemas/index.js +1 -1
  942. package/umd/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  943. package/umd/min/ui-react-inspector/index.js +1 -1
  944. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  945. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  946. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  947. package/umd/min/with-schemas/index.js +1 -1
  948. package/umd/min/with-schemas/index.js.gz +0 -0
  949. package/umd/persisters/index.js +11 -5
  950. package/umd/persisters/persister-automerge/index.js +11 -6
  951. package/umd/persisters/persister-automerge/with-schemas/index.js +11 -6
  952. package/umd/persisters/persister-browser/index.js +21 -15
  953. package/umd/persisters/persister-browser/with-schemas/index.js +21 -15
  954. package/umd/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  955. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  956. package/umd/persisters/persister-electric-sql/index.js +17 -12
  957. package/umd/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  958. package/umd/persisters/persister-expo-sqlite/index.js +17 -12
  959. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  960. package/umd/persisters/persister-file/index.js +18 -13
  961. package/umd/persisters/persister-file/with-schemas/index.js +18 -13
  962. package/umd/persisters/persister-indexed-db/index.js +13 -7
  963. package/umd/persisters/persister-indexed-db/with-schemas/index.js +13 -7
  964. package/umd/persisters/persister-libsql/index.js +196 -191
  965. package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
  966. package/umd/persisters/persister-partykit-client/index.js +11 -6
  967. package/umd/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  968. package/umd/persisters/persister-powersync/index.js +17 -12
  969. package/umd/persisters/persister-powersync/with-schemas/index.js +17 -12
  970. package/umd/persisters/persister-remote/index.js +17 -12
  971. package/umd/persisters/persister-remote/with-schemas/index.js +17 -12
  972. package/umd/persisters/persister-sqlite-wasm/index.js +17 -12
  973. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  974. package/umd/persisters/persister-sqlite3/index.js +17 -12
  975. package/umd/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  976. package/umd/persisters/persister-yjs/index.js +11 -6
  977. package/umd/persisters/persister-yjs/with-schemas/index.js +11 -6
  978. package/umd/persisters/with-schemas/index.js +11 -5
  979. package/umd/queries/index.js +3 -2
  980. package/umd/queries/with-schemas/index.js +3 -2
  981. package/umd/synchronizers/index.js +26 -14
  982. package/umd/synchronizers/synchronizer-local/index.js +26 -14
  983. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +26 -14
  984. package/umd/synchronizers/synchronizer-ws-client/index.js +26 -14
  985. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +26 -14
  986. package/umd/synchronizers/with-schemas/index.js +26 -14
  987. package/umd/ui-react-dom/index.js +3 -1
  988. package/umd/ui-react-dom/with-schemas/index.js +3 -1
  989. package/umd/ui-react-inspector/index.js +17 -9
  990. package/umd/ui-react-inspector/with-schemas/index.js +17 -9
  991. package/umd/with-schemas/index.js +32 -19
  992. package/with-schemas/index.js +32 -19
@@ -65,10 +65,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
65
65
  return mapGet(map, key);
66
66
  };
67
67
 
68
+ const Persists = {
69
+ StoreOnly: 1,
70
+ MergeableStoreOnly: 2,
71
+ StoreOrMergeableStore: 3,
72
+ };
68
73
  const scheduleRunning = mapNew();
69
74
  const scheduleActions = mapNew();
70
- const getStoreFunctions = (supportedStoreType = 1, store) =>
71
- supportedStoreType > 1 && store.isMergeable()
75
+ const getStoreFunctions = (persistable = Persists.StoreOnly, store) =>
76
+ persistable != Persists.StoreOnly && store.isMergeable()
72
77
  ? [
73
78
  1,
74
79
  store.getMergeableContent,
@@ -77,7 +82,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
77
82
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
78
83
  store.setDefaultContent,
79
84
  ]
80
- : supportedStoreType != 2
85
+ : persistable != Persists.MergeableStoreOnly
81
86
  ? [
82
87
  0,
83
88
  store.getContent,
@@ -94,7 +99,7 @@ const createCustomPersister = (
94
99
  addPersisterListener,
95
100
  delPersisterListener,
96
101
  onIgnoredError,
97
- supportedStoreType,
102
+ persistable,
98
103
  extra = {},
99
104
  scheduleId = [],
100
105
  ) => {
@@ -112,7 +117,7 @@ const createCustomPersister = (
112
117
  getChanges,
113
118
  hasChanges,
114
119
  setDefaultContent,
115
- ] = getStoreFunctions(supportedStoreType, store);
120
+ ] = getStoreFunctions(persistable, store);
116
121
  const run = async () => {
117
122
  /* istanbul ignore else */
118
123
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -410,7 +415,7 @@ const createYjsPersister = (
410
415
  addPersisterListener,
411
416
  delPersisterListener,
412
417
  onIgnoredError,
413
- 1,
418
+ Persists.StoreOnly,
414
419
  {getYDoc: () => yDoc},
415
420
  );
416
421
  };
@@ -65,10 +65,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
65
65
  return mapGet(map, key);
66
66
  };
67
67
 
68
+ const Persists = {
69
+ StoreOnly: 1,
70
+ MergeableStoreOnly: 2,
71
+ StoreOrMergeableStore: 3,
72
+ };
68
73
  const scheduleRunning = mapNew();
69
74
  const scheduleActions = mapNew();
70
- const getStoreFunctions = (supportedStoreType = 1, store) =>
71
- supportedStoreType > 1 && store.isMergeable()
75
+ const getStoreFunctions = (persistable = Persists.StoreOnly, store) =>
76
+ persistable != Persists.StoreOnly && store.isMergeable()
72
77
  ? [
73
78
  1,
74
79
  store.getMergeableContent,
@@ -77,7 +82,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
77
82
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
78
83
  store.setDefaultContent,
79
84
  ]
80
- : supportedStoreType != 2
85
+ : persistable != Persists.MergeableStoreOnly
81
86
  ? [
82
87
  0,
83
88
  store.getContent,
@@ -94,7 +99,7 @@ const createCustomPersister = (
94
99
  addPersisterListener,
95
100
  delPersisterListener,
96
101
  onIgnoredError,
97
- supportedStoreType,
102
+ persistable,
98
103
  extra = {},
99
104
  scheduleId = [],
100
105
  ) => {
@@ -112,7 +117,7 @@ const createCustomPersister = (
112
117
  getChanges,
113
118
  hasChanges,
114
119
  setDefaultContent,
115
- ] = getStoreFunctions(supportedStoreType, store);
120
+ ] = getStoreFunctions(persistable, store);
116
121
  const run = async () => {
117
122
  /* istanbul ignore else */
118
123
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -410,7 +415,7 @@ const createYjsPersister = (
410
415
  addPersisterListener,
411
416
  delPersisterListener,
412
417
  onIgnoredError,
413
- 1,
418
+ Persists.StoreOnly,
414
419
  {getYDoc: () => yDoc},
415
420
  );
416
421
  };
@@ -42,10 +42,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
42
42
  return mapGet(map, key);
43
43
  };
44
44
 
45
+ const Persists = {
46
+ StoreOnly: 1,
47
+ MergeableStoreOnly: 2,
48
+ StoreOrMergeableStore: 3,
49
+ };
45
50
  const scheduleRunning = mapNew();
46
51
  const scheduleActions = mapNew();
47
- const getStoreFunctions = (supportedStoreType = 1, store) =>
48
- supportedStoreType > 1 && store.isMergeable()
52
+ const getStoreFunctions = (persistable = Persists.StoreOnly, store) =>
53
+ persistable != Persists.StoreOnly && store.isMergeable()
49
54
  ? [
50
55
  1,
51
56
  store.getMergeableContent,
@@ -54,7 +59,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
54
59
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
55
60
  store.setDefaultContent,
56
61
  ]
57
- : supportedStoreType != 2
62
+ : persistable != Persists.MergeableStoreOnly
58
63
  ? [
59
64
  0,
60
65
  store.getContent,
@@ -71,7 +76,7 @@ const createCustomPersister = (
71
76
  addPersisterListener,
72
77
  delPersisterListener,
73
78
  onIgnoredError,
74
- supportedStoreType,
79
+ persistable,
75
80
  extra = {},
76
81
  scheduleId = [],
77
82
  ) => {
@@ -89,7 +94,7 @@ const createCustomPersister = (
89
94
  getChanges,
90
95
  hasChanges,
91
96
  setDefaultContent,
92
- ] = getStoreFunctions(supportedStoreType, store);
97
+ ] = getStoreFunctions(persistable, store);
93
98
  const run = async () => {
94
99
  /* istanbul ignore else */
95
100
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -219,4 +224,4 @@ const createCustomPersister = (
219
224
  return objFreeze(persister);
220
225
  };
221
226
 
222
- export {createCustomPersister};
227
+ export {Persists, createCustomPersister};
package/queries/index.js CHANGED
@@ -21,8 +21,9 @@ const SORTED_ROW_IDS = 'Sorted' + ROW + IDS;
21
21
  const CELL = 'Cell';
22
22
  const CELL_IDS = CELL + IDS;
23
23
 
24
- const mathMax = Math.max;
25
- const mathMin = Math.min;
24
+ const math = Math;
25
+ const mathMax = math.max;
26
+ const mathMin = math.min;
26
27
  const isFiniteNumber = isFinite;
27
28
  const isUndefined = (thing) => thing == void 0;
28
29
  const ifNotUndefined = (value, then, otherwise) =>
@@ -21,8 +21,9 @@ const SORTED_ROW_IDS = 'Sorted' + ROW + IDS;
21
21
  const CELL = 'Cell';
22
22
  const CELL_IDS = CELL + IDS;
23
23
 
24
- const mathMax = Math.max;
25
- const mathMin = Math.min;
24
+ const math = Math;
25
+ const mathMax = math.max;
26
+ const mathMin = math.min;
26
27
  const isFiniteNumber = isFinite;
27
28
  const isUndefined = (thing) => thing == void 0;
28
29
  const ifNotUndefined = (value, then, otherwise) =>
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><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://beta.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://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app&#x27;s data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions &amp; ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://beta.tinybase.org/api/persister-browser">storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://beta.tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.3kB - 12.5kB</a>, no dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://beta.tinybase.org/react.svg"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img width="48" src="https://beta.tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/turso.svg">Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://beta.tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://beta.tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://beta.tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img width="48" src="https://beta.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.0-beta.23" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://beta.tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
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><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://beta.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://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app&#x27;s data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions &amp; ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://beta.tinybase.org/api/persister-browser">storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://beta.tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://beta.tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.3kB - 12.6kB</a>, no dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://beta.tinybase.org/react.svg"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img width="48" src="https://beta.tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/turso.svg">Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://beta.tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://beta.tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://beta.tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img width="48" src="https://beta.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.0-beta.25" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://beta.tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
2
2
 
3
3
  ```js
4
4
  import {createStore} from 'tinybase';
@@ -265,4 +265,4 @@ export const createShop: typeof createShopDecl = () => {
265
265
  };
266
266
  ```
267
267
 
268
- <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>12.5kB</em>.</p><p>The optional <a href="https://beta.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://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.3kB</td></tr><tr><th class="right">tinybase (complete)</th><td>12.5kB</td><td>129.4kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>47.2kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</td><td>20.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,372</td><td>2,372</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,556</td><td>2,556</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>999</td><td>999</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>950</td><td>950</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,720</td></tr><tr><th class="right">Assertions</th><td colspan="3">31,380</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/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/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/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/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/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.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/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/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://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://beta.tinybase.org/youtube.webp"></a></section>
268
+ <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://beta.tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>12.6kB</em>.</p><p>The optional <a href="https://beta.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://beta.tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.3kB</td></tr><tr><th class="right">tinybase (complete)</th><td>12.6kB</td><td>129.7kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>47.2kB</td></tr><tr><th class="right"><a href="https://beta.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://beta.tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,377</td><td>2,377</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,000</td><td>1,000</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>951</td><td>951</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">6,720</td></tr><tr><th class="right">Assertions</th><td colspan="3">31,380</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/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/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/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/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/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.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/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/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://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://beta.tinybase.org/youtube.webp"></a></section>
@@ -1,6 +1,9 @@
1
1
  const EMPTY_STRING = '';
2
2
 
3
3
  const promise = Promise;
4
+ const GLOBAL = globalThis;
5
+ const math = Math;
6
+ const mathFloor = math.floor;
4
7
  const isUndefined = (thing) => thing == void 0;
5
8
  const ifNotUndefined = (value, then, otherwise) =>
6
9
  isUndefined(value) ? otherwise?.() : then(value);
@@ -60,17 +63,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
60
63
  return mapGet(map, key);
61
64
  };
62
65
 
63
- new globalThis.TextEncoder();
64
-
65
- const newStamp = (value, time) => (time ? [value, time] : [value]);
66
- const getLatestTime = (time1, time2) =>
67
- ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
68
- const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
69
-
66
+ const Persists = {
67
+ StoreOnly: 1,
68
+ MergeableStoreOnly: 2,
69
+ StoreOrMergeableStore: 3,
70
+ };
70
71
  const scheduleRunning = mapNew();
71
72
  const scheduleActions = mapNew();
72
- const getStoreFunctions = (supportedStoreType = 1, store) =>
73
- supportedStoreType > 1 && store.isMergeable()
73
+ const getStoreFunctions = (persistable = Persists.StoreOnly, store) =>
74
+ persistable != Persists.StoreOnly && store.isMergeable()
74
75
  ? [
75
76
  1,
76
77
  store.getMergeableContent,
@@ -79,7 +80,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
79
80
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
80
81
  store.setDefaultContent,
81
82
  ]
82
- : supportedStoreType != 2
83
+ : persistable != Persists.MergeableStoreOnly
83
84
  ? [
84
85
  0,
85
86
  store.getContent,
@@ -96,7 +97,7 @@ const createCustomPersister = (
96
97
  addPersisterListener,
97
98
  delPersisterListener,
98
99
  onIgnoredError,
99
- supportedStoreType,
100
+ persistable,
100
101
  extra = {},
101
102
  scheduleId = [],
102
103
  ) => {
@@ -114,7 +115,7 @@ const createCustomPersister = (
114
115
  getChanges,
115
116
  hasChanges,
116
117
  setDefaultContent,
117
- ] = getStoreFunctions(supportedStoreType, store);
118
+ ] = getStoreFunctions(persistable, store);
118
119
  const run = async () => {
119
120
  /* istanbul ignore else */
120
121
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -244,6 +245,13 @@ const createCustomPersister = (
244
245
  return objFreeze(persister);
245
246
  };
246
247
 
248
+ new GLOBAL.TextEncoder();
249
+
250
+ const newStamp = (value, time) => (time ? [value, time] : [value]);
251
+ const getLatestTime = (time1, time2) =>
252
+ ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
253
+ const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
254
+
247
255
  const MASK6 = 63;
248
256
  const ENCODE =
249
257
  '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'.split(
@@ -252,9 +260,13 @@ const ENCODE =
252
260
  mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
253
261
  const encode = (num) => ENCODE[num & MASK6];
254
262
 
263
+ const getRandomValues = GLOBAL.crypto
264
+ ? (array) => GLOBAL.crypto.getRandomValues(array)
265
+ : /* istanbul ignore next */
266
+ (array) => arrayMap(array, () => mathFloor(math.random() * 256));
255
267
  const getUniqueId = (length = 16) =>
256
268
  arrayReduce(
257
- crypto.getRandomValues(new Uint8Array(length)),
269
+ getRandomValues(new Uint8Array(length)),
258
270
  (uniqueId, number) => uniqueId + encode(number),
259
271
  '',
260
272
  );
@@ -441,7 +453,7 @@ const createCustomSynchronizer = (
441
453
  addPersisterListener,
442
454
  delPersisterListener,
443
455
  onIgnoredError,
444
- 2,
456
+ Persists.MergeableStoreOnly,
445
457
  {startSync, stopSync, destroy, getSynchronizerStats, ...extra},
446
458
  );
447
459
  return persister;
@@ -1,6 +1,9 @@
1
1
  const EMPTY_STRING = '';
2
2
 
3
3
  const promise = Promise;
4
+ const GLOBAL = globalThis;
5
+ const math = Math;
6
+ const mathFloor = math.floor;
4
7
  const isUndefined = (thing) => thing == void 0;
5
8
  const ifNotUndefined = (value, then, otherwise) =>
6
9
  isUndefined(value) ? otherwise?.() : then(value);
@@ -63,17 +66,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
63
66
  return mapGet(map, key);
64
67
  };
65
68
 
66
- new globalThis.TextEncoder();
67
-
68
- const newStamp = (value, time) => (time ? [value, time] : [value]);
69
- const getLatestTime = (time1, time2) =>
70
- ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
71
- const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
72
-
69
+ const Persists = {
70
+ StoreOnly: 1,
71
+ MergeableStoreOnly: 2,
72
+ StoreOrMergeableStore: 3,
73
+ };
73
74
  const scheduleRunning = mapNew();
74
75
  const scheduleActions = mapNew();
75
- const getStoreFunctions = (supportedStoreType = 1, store) =>
76
- supportedStoreType > 1 && store.isMergeable()
76
+ const getStoreFunctions = (persistable = Persists.StoreOnly, store) =>
77
+ persistable != Persists.StoreOnly && store.isMergeable()
77
78
  ? [
78
79
  1,
79
80
  store.getMergeableContent,
@@ -82,7 +83,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
82
83
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
83
84
  store.setDefaultContent,
84
85
  ]
85
- : supportedStoreType != 2
86
+ : persistable != Persists.MergeableStoreOnly
86
87
  ? [
87
88
  0,
88
89
  store.getContent,
@@ -99,7 +100,7 @@ const createCustomPersister = (
99
100
  addPersisterListener,
100
101
  delPersisterListener,
101
102
  onIgnoredError,
102
- supportedStoreType,
103
+ persistable,
103
104
  extra = {},
104
105
  scheduleId = [],
105
106
  ) => {
@@ -117,7 +118,7 @@ const createCustomPersister = (
117
118
  getChanges,
118
119
  hasChanges,
119
120
  setDefaultContent,
120
- ] = getStoreFunctions(supportedStoreType, store);
121
+ ] = getStoreFunctions(persistable, store);
121
122
  const run = async () => {
122
123
  /* istanbul ignore else */
123
124
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -247,6 +248,13 @@ const createCustomPersister = (
247
248
  return objFreeze(persister);
248
249
  };
249
250
 
251
+ new GLOBAL.TextEncoder();
252
+
253
+ const newStamp = (value, time) => (time ? [value, time] : [value]);
254
+ const getLatestTime = (time1, time2) =>
255
+ ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
256
+ const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
257
+
250
258
  const MASK6 = 63;
251
259
  const ENCODE =
252
260
  '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'.split(
@@ -255,9 +263,13 @@ const ENCODE =
255
263
  mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
256
264
  const encode = (num) => ENCODE[num & MASK6];
257
265
 
266
+ const getRandomValues = GLOBAL.crypto
267
+ ? (array) => GLOBAL.crypto.getRandomValues(array)
268
+ : /* istanbul ignore next */
269
+ (array) => arrayMap(array, () => mathFloor(math.random() * 256));
258
270
  const getUniqueId = (length = 16) =>
259
271
  arrayReduce(
260
- crypto.getRandomValues(new Uint8Array(length)),
272
+ getRandomValues(new Uint8Array(length)),
261
273
  (uniqueId, number) => uniqueId + encode(number),
262
274
  '',
263
275
  );
@@ -444,7 +456,7 @@ const createCustomSynchronizer = (
444
456
  addPersisterListener,
445
457
  delPersisterListener,
446
458
  onIgnoredError,
447
- 2,
459
+ Persists.MergeableStoreOnly,
448
460
  {startSync, stopSync, destroy, getSynchronizerStats, ...extra},
449
461
  );
450
462
  return persister;
@@ -1,6 +1,9 @@
1
1
  const EMPTY_STRING = '';
2
2
 
3
3
  const promise = Promise;
4
+ const GLOBAL = globalThis;
5
+ const math = Math;
6
+ const mathFloor = math.floor;
4
7
  const isUndefined = (thing) => thing == void 0;
5
8
  const ifNotUndefined = (value, then, otherwise) =>
6
9
  isUndefined(value) ? otherwise?.() : then(value);
@@ -63,17 +66,15 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
63
66
  return mapGet(map, key);
64
67
  };
65
68
 
66
- new globalThis.TextEncoder();
67
-
68
- const newStamp = (value, time) => (time ? [value, time] : [value]);
69
- const getLatestTime = (time1, time2) =>
70
- ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
71
- const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
72
-
69
+ const Persists = {
70
+ StoreOnly: 1,
71
+ MergeableStoreOnly: 2,
72
+ StoreOrMergeableStore: 3,
73
+ };
73
74
  const scheduleRunning = mapNew();
74
75
  const scheduleActions = mapNew();
75
- const getStoreFunctions = (supportedStoreType = 1, store) =>
76
- supportedStoreType > 1 && store.isMergeable()
76
+ const getStoreFunctions = (persistable = Persists.StoreOnly, store) =>
77
+ persistable != Persists.StoreOnly && store.isMergeable()
77
78
  ? [
78
79
  1,
79
80
  store.getMergeableContent,
@@ -82,7 +83,7 @@ const getStoreFunctions = (supportedStoreType = 1, store) =>
82
83
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
83
84
  store.setDefaultContent,
84
85
  ]
85
- : supportedStoreType != 2
86
+ : persistable != Persists.MergeableStoreOnly
86
87
  ? [
87
88
  0,
88
89
  store.getContent,
@@ -99,7 +100,7 @@ const createCustomPersister = (
99
100
  addPersisterListener,
100
101
  delPersisterListener,
101
102
  onIgnoredError,
102
- supportedStoreType,
103
+ persistable,
103
104
  extra = {},
104
105
  scheduleId = [],
105
106
  ) => {
@@ -117,7 +118,7 @@ const createCustomPersister = (
117
118
  getChanges,
118
119
  hasChanges,
119
120
  setDefaultContent,
120
- ] = getStoreFunctions(supportedStoreType, store);
121
+ ] = getStoreFunctions(persistable, store);
121
122
  const run = async () => {
122
123
  /* istanbul ignore else */
123
124
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -247,6 +248,13 @@ const createCustomPersister = (
247
248
  return objFreeze(persister);
248
249
  };
249
250
 
251
+ new GLOBAL.TextEncoder();
252
+
253
+ const newStamp = (value, time) => (time ? [value, time] : [value]);
254
+ const getLatestTime = (time1, time2) =>
255
+ ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
256
+ const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
257
+
250
258
  const MASK6 = 63;
251
259
  const ENCODE =
252
260
  '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'.split(
@@ -255,9 +263,13 @@ const ENCODE =
255
263
  mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
256
264
  const encode = (num) => ENCODE[num & MASK6];
257
265
 
266
+ const getRandomValues = GLOBAL.crypto
267
+ ? (array) => GLOBAL.crypto.getRandomValues(array)
268
+ : /* istanbul ignore next */
269
+ (array) => arrayMap(array, () => mathFloor(math.random() * 256));
258
270
  const getUniqueId = (length = 16) =>
259
271
  arrayReduce(
260
- crypto.getRandomValues(new Uint8Array(length)),
272
+ getRandomValues(new Uint8Array(length)),
261
273
  (uniqueId, number) => uniqueId + encode(number),
262
274
  '',
263
275
  );
@@ -444,7 +456,7 @@ const createCustomSynchronizer = (
444
456
  addPersisterListener,
445
457
  delPersisterListener,
446
458
  onIgnoredError,
447
- 2,
459
+ Persists.MergeableStoreOnly,
448
460
  {startSync, stopSync, destroy, getSynchronizerStats, ...extra},
449
461
  );
450
462
  return persister;