tinybase 5.0.0-beta.4 → 5.0.0-beta.6

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 (418) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/mergeable-store.cjs +1 -1
  8. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  9. package/lib/cjs/metrics.cjs +1 -1
  10. package/lib/cjs/metrics.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  12. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  14. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  16. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  18. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  20. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  22. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-file.cjs +1 -1
  24. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  26. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-libsql.cjs +1 -0
  28. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  30. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  32. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  34. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  35. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  36. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  37. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  38. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  39. package/lib/cjs/persisters/persister-sync.cjs +1 -0
  40. package/lib/cjs/persisters/persister-sync.cjs.gz +0 -0
  41. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  42. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  43. package/lib/cjs/persisters.cjs +1 -1
  44. package/lib/cjs/persisters.cjs.gz +0 -0
  45. package/lib/cjs/queries.cjs +1 -1
  46. package/lib/cjs/queries.cjs.gz +0 -0
  47. package/lib/cjs/relationships.cjs +1 -1
  48. package/lib/cjs/relationships.cjs.gz +0 -0
  49. package/lib/cjs/store.cjs +1 -1
  50. package/lib/cjs/store.cjs.gz +0 -0
  51. package/lib/cjs/tinybase.cjs +1 -1
  52. package/lib/cjs/tinybase.cjs.gz +0 -0
  53. package/lib/cjs/tools.cjs +1 -1
  54. package/lib/cjs/tools.cjs.gz +0 -0
  55. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  56. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  57. package/lib/cjs/ui-react.cjs +1 -1
  58. package/lib/cjs/ui-react.cjs.gz +0 -0
  59. package/lib/cjs-es6/checkpoints.cjs +1 -1
  60. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  61. package/lib/cjs-es6/indexes.cjs +1 -1
  62. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  63. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  64. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  65. package/lib/cjs-es6/metrics.cjs +1 -1
  66. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -0
  84. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  86. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  87. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  88. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  89. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  90. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  91. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  92. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  93. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  94. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  95. package/lib/cjs-es6/persisters/persister-sync.cjs +1 -0
  96. package/lib/cjs-es6/persisters/persister-sync.cjs.gz +0 -0
  97. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  98. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  99. package/lib/cjs-es6/persisters.cjs +1 -1
  100. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  101. package/lib/cjs-es6/queries.cjs +1 -1
  102. package/lib/cjs-es6/queries.cjs.gz +0 -0
  103. package/lib/cjs-es6/relationships.cjs +1 -1
  104. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  105. package/lib/cjs-es6/store.cjs +1 -1
  106. package/lib/cjs-es6/store.cjs.gz +0 -0
  107. package/lib/cjs-es6/tinybase.cjs +1 -1
  108. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  109. package/lib/cjs-es6/tools.cjs +1 -1
  110. package/lib/cjs-es6/tools.cjs.gz +0 -0
  111. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  112. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  113. package/lib/cjs-es6/ui-react.cjs +1 -1
  114. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  115. package/lib/debug/checkpoints.js +3 -1
  116. package/lib/debug/indexes.js +3 -1
  117. package/lib/debug/mergeable-store.js +403 -179
  118. package/lib/debug/metrics.js +3 -1
  119. package/lib/debug/persisters/persister-automerge.js +42 -47
  120. package/lib/debug/persisters/persister-browser.js +42 -47
  121. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +67 -61
  122. package/lib/debug/persisters/persister-electric-sql.js +67 -61
  123. package/lib/debug/persisters/persister-expo-sqlite-next.js +67 -61
  124. package/lib/debug/persisters/persister-expo-sqlite.js +67 -61
  125. package/lib/debug/persisters/persister-file.js +42 -47
  126. package/lib/debug/persisters/persister-indexed-db.js +42 -47
  127. package/lib/debug/persisters/persister-libsql.js +902 -0
  128. package/lib/debug/persisters/persister-partykit-client.js +42 -47
  129. package/lib/debug/persisters/persister-powersync.js +917 -0
  130. package/lib/debug/persisters/persister-remote.js +42 -47
  131. package/lib/debug/persisters/persister-sqlite-wasm.js +67 -61
  132. package/lib/debug/persisters/persister-sqlite3.js +67 -61
  133. package/lib/debug/persisters/persister-sync.js +594 -0
  134. package/lib/debug/persisters/persister-yjs.js +44 -49
  135. package/lib/debug/persisters.js +41 -46
  136. package/lib/debug/queries.js +7 -4
  137. package/lib/debug/relationships.js +3 -1
  138. package/lib/debug/store.js +51 -36
  139. package/lib/debug/tinybase.js +439 -223
  140. package/lib/debug/tools.js +9 -6
  141. package/lib/debug/ui-react-dom.js +88 -80
  142. package/lib/debug/ui-react.js +1 -1
  143. package/lib/es6/checkpoints.js +1 -1
  144. package/lib/es6/checkpoints.js.gz +0 -0
  145. package/lib/es6/indexes.js +1 -1
  146. package/lib/es6/indexes.js.gz +0 -0
  147. package/lib/es6/mergeable-store.js +1 -1
  148. package/lib/es6/mergeable-store.js.gz +0 -0
  149. package/lib/es6/metrics.js +1 -1
  150. package/lib/es6/metrics.js.gz +0 -0
  151. package/lib/es6/persisters/persister-automerge.js +1 -1
  152. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  153. package/lib/es6/persisters/persister-browser.js +1 -1
  154. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  155. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  156. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  157. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  158. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  159. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  160. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  161. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  162. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  163. package/lib/es6/persisters/persister-file.js +1 -1
  164. package/lib/es6/persisters/persister-file.js.gz +0 -0
  165. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  166. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  167. package/lib/es6/persisters/persister-libsql.js +1 -0
  168. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  169. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  170. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  171. package/lib/es6/persisters/persister-powersync.js +1 -0
  172. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  173. package/lib/es6/persisters/persister-remote.js +1 -1
  174. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  175. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  176. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  177. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  178. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  179. package/lib/es6/persisters/persister-sync.js +1 -0
  180. package/lib/es6/persisters/persister-sync.js.gz +0 -0
  181. package/lib/es6/persisters/persister-yjs.js +1 -1
  182. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  183. package/lib/es6/persisters.js +1 -1
  184. package/lib/es6/persisters.js.gz +0 -0
  185. package/lib/es6/queries.js +1 -1
  186. package/lib/es6/queries.js.gz +0 -0
  187. package/lib/es6/relationships.js +1 -1
  188. package/lib/es6/relationships.js.gz +0 -0
  189. package/lib/es6/store.js +1 -1
  190. package/lib/es6/store.js.gz +0 -0
  191. package/lib/es6/tinybase.js +1 -1
  192. package/lib/es6/tinybase.js.gz +0 -0
  193. package/lib/es6/tools.js +1 -1
  194. package/lib/es6/tools.js.gz +0 -0
  195. package/lib/es6/ui-react-dom-debug.js +1 -1
  196. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  197. package/lib/es6/ui-react.js +1 -1
  198. package/lib/es6/ui-react.js.gz +0 -0
  199. package/lib/indexes.js +1 -1
  200. package/lib/indexes.js.gz +0 -0
  201. package/lib/mergeable-store.js +1 -1
  202. package/lib/mergeable-store.js.gz +0 -0
  203. package/lib/metrics.js +1 -1
  204. package/lib/metrics.js.gz +0 -0
  205. package/lib/persisters/persister-automerge.js +1 -1
  206. package/lib/persisters/persister-automerge.js.gz +0 -0
  207. package/lib/persisters/persister-browser.js +1 -1
  208. package/lib/persisters/persister-browser.js.gz +0 -0
  209. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  210. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  211. package/lib/persisters/persister-electric-sql.js +1 -1
  212. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  213. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  214. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  215. package/lib/persisters/persister-expo-sqlite.js +1 -1
  216. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  217. package/lib/persisters/persister-file.js +1 -1
  218. package/lib/persisters/persister-file.js.gz +0 -0
  219. package/lib/persisters/persister-indexed-db.js +1 -1
  220. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  221. package/lib/persisters/persister-libsql.js +1 -0
  222. package/lib/persisters/persister-libsql.js.gz +0 -0
  223. package/lib/persisters/persister-partykit-client.js +1 -1
  224. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  225. package/lib/persisters/persister-powersync.js +1 -0
  226. package/lib/persisters/persister-powersync.js.gz +0 -0
  227. package/lib/persisters/persister-remote.js +1 -1
  228. package/lib/persisters/persister-remote.js.gz +0 -0
  229. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  230. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  231. package/lib/persisters/persister-sqlite3.js +1 -1
  232. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  233. package/lib/persisters/persister-sync.js +1 -0
  234. package/lib/persisters/persister-sync.js.gz +0 -0
  235. package/lib/persisters/persister-yjs.js +1 -1
  236. package/lib/persisters/persister-yjs.js.gz +0 -0
  237. package/lib/persisters.js +1 -1
  238. package/lib/persisters.js.gz +0 -0
  239. package/lib/queries.js +1 -1
  240. package/lib/queries.js.gz +0 -0
  241. package/lib/relationships.js +1 -1
  242. package/lib/relationships.js.gz +0 -0
  243. package/lib/store.js +1 -1
  244. package/lib/store.js.gz +0 -0
  245. package/lib/tinybase.js +1 -1
  246. package/lib/tinybase.js.gz +0 -0
  247. package/lib/tools.js +1 -1
  248. package/lib/tools.js.gz +0 -0
  249. package/lib/types/checkpoints.d.ts +2 -2
  250. package/lib/types/indexes.d.ts +2 -2
  251. package/lib/types/mergeable-store.d.ts +143 -20
  252. package/lib/types/metrics.d.ts +2 -2
  253. package/lib/types/persisters/persister-automerge.d.ts +3 -0
  254. package/lib/types/persisters/persister-browser.d.ts +9 -2
  255. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
  256. package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
  257. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
  258. package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
  259. package/lib/types/persisters/persister-file.d.ts +5 -1
  260. package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
  261. package/lib/types/persisters/persister-libsql.d.ts +142 -0
  262. package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
  263. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  264. package/lib/types/persisters/persister-remote.d.ts +3 -0
  265. package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
  266. package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
  267. package/lib/types/persisters/persister-sync.d.ts +182 -0
  268. package/lib/types/persisters/persister-yjs.d.ts +5 -2
  269. package/lib/types/persisters.d.ts +61 -3
  270. package/lib/types/queries.d.ts +2 -2
  271. package/lib/types/relationships.d.ts +2 -2
  272. package/lib/types/store.d.ts +36 -3
  273. package/lib/types/tinybase.d.ts +9 -9
  274. package/lib/types/tools.d.ts +2 -2
  275. package/lib/types/ui-react.d.ts +8 -8
  276. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  277. package/lib/types/with-schemas/indexes.d.ts +2 -2
  278. package/lib/types/with-schemas/mergeable-store.d.ts +415 -40
  279. package/lib/types/with-schemas/metrics.d.ts +2 -2
  280. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
  281. package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
  282. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
  283. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
  284. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
  285. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
  286. package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
  287. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
  288. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +155 -0
  289. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
  290. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  291. package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
  292. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
  293. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
  294. package/lib/types/with-schemas/persisters/persister-sync.d.ts +195 -0
  295. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
  296. package/lib/types/with-schemas/persisters.d.ts +80 -7
  297. package/lib/types/with-schemas/queries.d.ts +3 -3
  298. package/lib/types/with-schemas/relationships.d.ts +2 -2
  299. package/lib/types/with-schemas/store.d.ts +136 -89
  300. package/lib/types/with-schemas/tinybase.d.ts +9 -9
  301. package/lib/types/with-schemas/tools.d.ts +2 -2
  302. package/lib/types/with-schemas/ui-react.d.ts +8 -8
  303. package/lib/ui-react.js +1 -1
  304. package/lib/ui-react.js.gz +0 -0
  305. package/lib/umd/checkpoints.js +1 -1
  306. package/lib/umd/checkpoints.js.gz +0 -0
  307. package/lib/umd/indexes.js +1 -1
  308. package/lib/umd/indexes.js.gz +0 -0
  309. package/lib/umd/mergeable-store.js +1 -1
  310. package/lib/umd/mergeable-store.js.gz +0 -0
  311. package/lib/umd/metrics.js +1 -1
  312. package/lib/umd/metrics.js.gz +0 -0
  313. package/lib/umd/persisters/persister-automerge.js +1 -1
  314. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  315. package/lib/umd/persisters/persister-browser.js +1 -1
  316. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  317. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  318. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  319. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  320. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  321. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  322. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  323. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  324. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  325. package/lib/umd/persisters/persister-file.js +1 -1
  326. package/lib/umd/persisters/persister-file.js.gz +0 -0
  327. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  328. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  329. package/lib/umd/persisters/persister-libsql.js +1 -0
  330. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  331. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  332. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  333. package/lib/umd/persisters/persister-powersync.js +1 -0
  334. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  335. package/lib/umd/persisters/persister-remote.js +1 -1
  336. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  337. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  338. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  339. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  340. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  341. package/lib/umd/persisters/persister-sync.js +1 -0
  342. package/lib/umd/persisters/persister-sync.js.gz +0 -0
  343. package/lib/umd/persisters/persister-yjs.js +1 -1
  344. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  345. package/lib/umd/persisters.js +1 -1
  346. package/lib/umd/persisters.js.gz +0 -0
  347. package/lib/umd/queries.js +1 -1
  348. package/lib/umd/queries.js.gz +0 -0
  349. package/lib/umd/relationships.js +1 -1
  350. package/lib/umd/relationships.js.gz +0 -0
  351. package/lib/umd/store.js +1 -1
  352. package/lib/umd/store.js.gz +0 -0
  353. package/lib/umd/tinybase.js +1 -1
  354. package/lib/umd/tinybase.js.gz +0 -0
  355. package/lib/umd/tools.js +1 -1
  356. package/lib/umd/tools.js.gz +0 -0
  357. package/lib/umd/ui-react-dom-debug.js +1 -1
  358. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  359. package/lib/umd/ui-react.js +1 -1
  360. package/lib/umd/ui-react.js.gz +0 -0
  361. package/lib/umd-es6/checkpoints.js +1 -1
  362. package/lib/umd-es6/checkpoints.js.gz +0 -0
  363. package/lib/umd-es6/indexes.js +1 -1
  364. package/lib/umd-es6/indexes.js.gz +0 -0
  365. package/lib/umd-es6/mergeable-store.js +1 -1
  366. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  367. package/lib/umd-es6/metrics.js +1 -1
  368. package/lib/umd-es6/metrics.js.gz +0 -0
  369. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  370. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  371. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  372. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  373. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  374. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  375. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  376. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  377. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  378. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  379. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  380. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  381. package/lib/umd-es6/persisters/persister-file.js +1 -1
  382. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  383. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  384. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  385. package/lib/umd-es6/persisters/persister-libsql.js +1 -0
  386. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  387. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  388. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  389. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  390. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  391. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  392. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  393. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  394. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  395. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  396. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  397. package/lib/umd-es6/persisters/persister-sync.js +1 -0
  398. package/lib/umd-es6/persisters/persister-sync.js.gz +0 -0
  399. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  400. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  401. package/lib/umd-es6/persisters.js +1 -1
  402. package/lib/umd-es6/persisters.js.gz +0 -0
  403. package/lib/umd-es6/queries.js +1 -1
  404. package/lib/umd-es6/queries.js.gz +0 -0
  405. package/lib/umd-es6/relationships.js +1 -1
  406. package/lib/umd-es6/relationships.js.gz +0 -0
  407. package/lib/umd-es6/store.js +1 -1
  408. package/lib/umd-es6/store.js.gz +0 -0
  409. package/lib/umd-es6/tinybase.js +1 -1
  410. package/lib/umd-es6/tinybase.js.gz +0 -0
  411. package/lib/umd-es6/tools.js +1 -1
  412. package/lib/umd-es6/tools.js.gz +0 -0
  413. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  414. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  415. package/lib/umd-es6/ui-react.js +1 -1
  416. package/lib/umd-es6/ui-react.js.gz +0 -0
  417. package/package.json +51 -35
  418. package/readme.md +2 -2
@@ -42,8 +42,6 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
42
42
  const object = Object;
43
43
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
44
44
  const objEntries = object.entries;
45
- const objIds = object.keys;
46
- const objFreeze = object.freeze;
47
45
  const isObject = (obj) =>
48
46
  !isUndefined(obj) &&
49
47
  ifNotUndefined(
@@ -54,6 +52,8 @@ const isObject = (obj) =>
54
52
  /* istanbul ignore next */
55
53
  () => true,
56
54
  );
55
+ const objIds = object.keys;
56
+ const objFreeze = object.freeze;
57
57
  const objNew = (entries = []) => object.fromEntries(entries);
58
58
  const objMerge = (...objs) => object.assign({}, ...objs);
59
59
  const objHas = (obj, id) => id in obj;
@@ -76,9 +76,11 @@ const mapMap = (coll, cb) =>
76
76
  arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
77
77
  const mapSet = (map, key, value) =>
78
78
  isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
79
- const mapEnsure = (map, key, getDefaultValue) => {
79
+ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
80
80
  if (!collHas(map, key)) {
81
81
  mapSet(map, key, getDefaultValue());
82
+ } else {
83
+ hadExistingValue?.(mapGet(map, key));
82
84
  }
83
85
  return mapGet(map, key);
84
86
  };
@@ -96,6 +98,9 @@ const setNew = (entryOrEntries) =>
96
98
  );
97
99
  const setAdd = (set, value) => set?.add(value);
98
100
 
101
+ const TABLE = 'TABLE';
102
+ const ALTER_TABLE = 'ALTER ' + TABLE;
103
+ const DELETE_FROM = 'DELETE FROM';
99
104
  const SELECT_STAR_FROM = SELECT + '*FROM';
100
105
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
101
106
  const WHERE = 'WHERE';
@@ -190,15 +195,20 @@ const getCommandFunctions = (
190
195
  arrayIsEmpty(tableColumnNames) &&
191
196
  collHas(schemaMap, tableName)
192
197
  ) {
193
- await cmd('DROP TABLE' + escapeId(tableName));
198
+ await cmd('DROP ' + TABLE + escapeId(tableName));
194
199
  mapSet(schemaMap, tableName);
195
200
  return;
196
201
  }
197
202
  if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
198
203
  await cmd(
199
- `CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
200
- arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
201
- )});`,
204
+ `CREATE ` +
205
+ TABLE +
206
+ escapeId(tableName) +
207
+ '(' +
208
+ escapeId(rowIdColumnName) +
209
+ ` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
210
+ arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
211
+ )});`,
202
212
  );
203
213
  mapSet(
204
214
  schemaMap,
@@ -218,7 +228,7 @@ const getCommandFunctions = (
218
228
  ...arrayMap(tableColumnNames, async (columnName) => {
219
229
  if (!collDel(columnNamesAccountedFor, columnName)) {
220
230
  await cmd(
221
- `ALTER TABLE${escapeId(tableName)}ADD${escapeId(columnName)}`,
231
+ ALTER_TABLE + escapeId(tableName) + 'ADD' + escapeId(columnName),
222
232
  );
223
233
  mapSet(tableSchemaMap, columnName, EMPTY_STRING);
224
234
  }
@@ -229,9 +239,10 @@ const getCommandFunctions = (
229
239
  async (columnName) => {
230
240
  if (columnName != rowIdColumnName) {
231
241
  await cmd(
232
- `ALTER TABLE${escapeId(tableName)}DROP${escapeId(
233
- columnName,
234
- )}`,
242
+ ALTER_TABLE +
243
+ escapeId(tableName) +
244
+ 'DROP' +
245
+ escapeId(columnName),
235
246
  );
236
247
  mapSet(tableSchemaMap, columnName);
237
248
  }
@@ -242,13 +253,13 @@ const getCommandFunctions = (
242
253
  }
243
254
  if (partial) {
244
255
  if (isUndefined(content)) {
245
- await cmd('DELETE FROM' + escapeId(tableName) + 'WHERE 1');
256
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
246
257
  } else {
247
258
  await promiseAll(
248
259
  objToArray(content, async (row, rowId) => {
249
260
  if (isUndefined(row)) {
250
261
  await cmd(
251
- 'DELETE FROM' +
262
+ DELETE_FROM +
252
263
  escapeId(tableName) +
253
264
  WHERE +
254
265
  escapeId(rowIdColumnName) +
@@ -290,9 +301,10 @@ const getCommandFunctions = (
290
301
  rowIdColumnName,
291
302
  changingColumnNames,
292
303
  args,
304
+ useOnConflict,
293
305
  );
294
306
  await cmd(
295
- 'DELETE FROM' +
307
+ DELETE_FROM +
296
308
  escapeId(tableName) +
297
309
  WHERE +
298
310
  escapeId(rowIdColumnName) +
@@ -302,7 +314,7 @@ const getCommandFunctions = (
302
314
  deleteRowIds,
303
315
  );
304
316
  } else if (collHas(schemaMap, tableName)) {
305
- await cmd('DELETE FROM' + escapeId(tableName) + 'WHERE 1');
317
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
306
318
  }
307
319
  }
308
320
  };
@@ -377,7 +389,6 @@ const jsonParse = JSON.parse;
377
389
 
378
390
  const scheduleRunning = mapNew();
379
391
  const scheduleActions = mapNew();
380
- const isMergeable = (contentOrChanges) => isString(contentOrChanges?.[0]);
381
392
  const getStoreFunctions = (supportsMergeableStore, store) =>
382
393
  !supportsMergeableStore || isUndefined(store.getMergeableContent)
383
394
  ? [
@@ -402,16 +413,15 @@ const createCustomPersister = (
402
413
  delPersisterListener,
403
414
  onIgnoredError,
404
415
  supportsMergeableStore,
405
- [getThing, thing] = [],
416
+ extra = {},
406
417
  scheduleId = [],
407
418
  ) => {
408
- let listenerId;
409
419
  let loadSave = 0;
410
420
  let loads = 0;
411
421
  let saves = 0;
412
- let listening = 0;
413
422
  let action;
414
- let listeningHandle;
423
+ let autoLoadHandle;
424
+ let autoSaveListenerId;
415
425
  mapEnsure(scheduleRunning, scheduleId, () => 0);
416
426
  mapEnsure(scheduleActions, scheduleId, () => []);
417
427
  const [isMergeableStore, getContent, getChanges, hasChanges] =
@@ -447,55 +457,51 @@ const createCustomPersister = (
447
457
  }
448
458
  return persister;
449
459
  };
460
+ const setContentOrChanges = (contentOrChanges) => {
461
+ (isMergeableStore && isString(contentOrChanges?.[0])
462
+ ? contentOrChanges?.[1][2] === 1
463
+ ? store.applyMergeableChanges
464
+ : store.setMergeableContent
465
+ : contentOrChanges?.[2] === 1
466
+ ? store.applyChanges
467
+ : store.setContent)(contentOrChanges);
468
+ };
450
469
  const persister = {
451
470
  load: async (initialTables, initialValues) =>
452
471
  await loadLock(async () => {
453
472
  try {
454
- const content = await getPersisted();
455
- (isMergeableStore && isMergeable(content)
456
- ? store.setMergeableContent
457
- : store.setContent)(content);
458
- } catch {
473
+ setContentOrChanges(await getPersisted());
474
+ } catch (error) {
475
+ onIgnoredError?.(error);
459
476
  store.setContent([initialTables, initialValues]);
460
477
  }
461
478
  }),
462
479
  startAutoLoad: async (initialTables = {}, initialValues = {}) => {
463
- persister.stopAutoLoad();
464
- await persister.load(initialTables, initialValues);
465
- listening = 1;
466
- listeningHandle = addPersisterListener(
480
+ await persister.stopAutoLoad().load(initialTables, initialValues);
481
+ autoLoadHandle = addPersisterListener(
467
482
  async (getContent2, getChanges2) => {
468
- if (getChanges2) {
469
- const changes = getChanges2();
470
- await loadLock(async () =>
471
- (isMergeableStore && isMergeable(changes)
472
- ? store.applyMergeableChanges
473
- : store.applyChanges)(changes),
474
- );
475
- } else {
476
- await loadLock(async () => {
477
- try {
478
- const content = getContent2?.() ?? (await getPersisted());
479
- (isMergeableStore && isMergeable(content)
480
- ? store.setMergeableContent
481
- : store.setContent)(content);
482
- } catch (error) {
483
- onIgnoredError?.(error);
484
- }
485
- });
486
- }
483
+ const changes = getChanges2?.();
484
+ await loadLock(async () => {
485
+ try {
486
+ setContentOrChanges(
487
+ changes ?? getContent2?.() ?? (await getPersisted()),
488
+ );
489
+ } catch (error) {
490
+ onIgnoredError?.(error);
491
+ }
492
+ });
487
493
  },
488
494
  );
489
495
  return persister;
490
496
  },
491
497
  stopAutoLoad: () => {
492
- if (listening) {
493
- delPersisterListener(listeningHandle);
494
- listeningHandle = void 0;
495
- listening = 0;
498
+ if (autoLoadHandle) {
499
+ delPersisterListener(autoLoadHandle);
500
+ autoLoadHandle = void 0;
496
501
  }
497
502
  return persister;
498
503
  },
504
+ isAutoLoading: () => !isUndefined(autoLoadHandle),
499
505
  save: async (getChanges2) => {
500
506
  /* istanbul ignore else */
501
507
  if (loadSave != 1) {
@@ -517,7 +523,7 @@ const createCustomPersister = (
517
523
  },
518
524
  startAutoSave: async () => {
519
525
  await persister.stopAutoSave().save();
520
- listenerId = store.addDidFinishTransactionListener(() => {
526
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
521
527
  const changes = getChanges();
522
528
  if (hasChanges(changes)) {
523
529
  persister.save(() => changes);
@@ -526,10 +532,11 @@ const createCustomPersister = (
526
532
  return persister;
527
533
  },
528
534
  stopAutoSave: () => {
529
- ifNotUndefined(listenerId, store.delListener);
530
- listenerId = void 0;
535
+ ifNotUndefined(autoSaveListenerId, store.delListener);
536
+ autoSaveListenerId = void 0;
531
537
  return persister;
532
538
  },
539
+ isAutoSaving: () => !isUndefined(autoSaveListenerId),
533
540
  schedule: async (...actions) => {
534
541
  arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
535
542
  await run();
@@ -538,10 +545,8 @@ const createCustomPersister = (
538
545
  getStore: () => store,
539
546
  destroy: () => persister.stopAutoLoad().stopAutoSave(),
540
547
  getStats: () => ({loads, saves}),
548
+ ...extra,
541
549
  };
542
- if (getThing) {
543
- persister[getThing] = () => thing;
544
- }
545
550
  return objFreeze(persister);
546
551
  };
547
552
 
@@ -556,9 +561,10 @@ const createJsonSqlitePersister = (
556
561
  managedTableNames,
557
562
  db,
558
563
  getThing,
564
+ useOnConflict,
559
565
  ) => {
560
566
  const [refreshSchema, loadTable, saveTable, transaction] =
561
- getCommandFunctions(cmd, managedTableNames, onIgnoredError);
567
+ getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
562
568
  const getPersisted = async () =>
563
569
  await transaction(async () => {
564
570
  await refreshSchema();
@@ -589,7 +595,7 @@ const createJsonSqlitePersister = (
589
595
  delPersisterListener,
590
596
  onIgnoredError,
591
597
  false,
592
- [getThing, db],
598
+ {[getThing]: () => db},
593
599
  db,
594
600
  );
595
601
  return persister;
@@ -696,7 +702,7 @@ const createTabularSqlitePersister = (
696
702
  delPersisterListener,
697
703
  onIgnoredError,
698
704
  false,
699
- [getThing, db],
705
+ {[getThing]: () => db},
700
706
  db,
701
707
  );
702
708
  return persister;