tinybase 5.0.0-beta.10 → 5.0.0-beta.11

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 (322) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -1
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  32. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  33. package/lib/cjs/persisters.cjs +1 -1
  34. package/lib/cjs/persisters.cjs.gz +0 -0
  35. package/lib/cjs/store.cjs +1 -1
  36. package/lib/cjs/store.cjs.gz +0 -0
  37. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
  38. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
  40. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -1
  42. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  43. package/lib/cjs/synchronizers.cjs +1 -1
  44. package/lib/cjs/synchronizers.cjs.gz +0 -0
  45. package/lib/cjs/tinybase.cjs +1 -1
  46. package/lib/cjs/tinybase.cjs.gz +0 -0
  47. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  48. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  49. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  50. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters.cjs +1 -1
  82. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  83. package/lib/cjs-es6/store.cjs +1 -1
  84. package/lib/cjs-es6/store.cjs.gz +0 -0
  85. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
  86. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  87. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
  88. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  89. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
  90. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  91. package/lib/cjs-es6/synchronizers.cjs +1 -1
  92. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  93. package/lib/cjs-es6/tinybase.cjs +1 -1
  94. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  95. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  96. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  97. package/lib/debug/mergeable-store.js +1 -1
  98. package/lib/debug/persisters/persister-automerge.js +113 -101
  99. package/lib/debug/persisters/persister-browser.js +113 -97
  100. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +113 -102
  101. package/lib/debug/persisters/persister-electric-sql.js +113 -102
  102. package/lib/debug/persisters/persister-expo-sqlite-next.js +113 -102
  103. package/lib/debug/persisters/persister-expo-sqlite.js +113 -102
  104. package/lib/debug/persisters/persister-file.js +108 -96
  105. package/lib/debug/persisters/persister-indexed-db.js +108 -96
  106. package/lib/debug/persisters/persister-libsql.js +113 -102
  107. package/lib/debug/persisters/persister-partykit-client.js +112 -100
  108. package/lib/debug/persisters/persister-powersync.js +113 -102
  109. package/lib/debug/persisters/persister-remote.js +108 -96
  110. package/lib/debug/persisters/persister-sqlite-wasm.js +113 -102
  111. package/lib/debug/persisters/persister-sqlite3.js +113 -102
  112. package/lib/debug/persisters/persister-yjs.js +113 -101
  113. package/lib/debug/persisters.js +107 -95
  114. package/lib/debug/store.js +1 -1
  115. package/lib/debug/synchronizers/synchronizer-local.js +114 -102
  116. package/lib/debug/synchronizers/synchronizer-ws-client.js +113 -101
  117. package/lib/debug/synchronizers/synchronizer-ws-server.js +151 -6
  118. package/lib/debug/synchronizers.js +113 -101
  119. package/lib/debug/tinybase.js +114 -102
  120. package/lib/debug/ui-react-dom.js +114 -98
  121. package/lib/es6/mergeable-store.js +1 -1
  122. package/lib/es6/mergeable-store.js.gz +0 -0
  123. package/lib/es6/persisters/persister-automerge.js +1 -1
  124. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  125. package/lib/es6/persisters/persister-browser.js +1 -1
  126. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  127. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  128. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  129. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  130. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  131. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  132. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  133. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  134. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  135. package/lib/es6/persisters/persister-file.js +1 -1
  136. package/lib/es6/persisters/persister-file.js.gz +0 -0
  137. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  138. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  139. package/lib/es6/persisters/persister-libsql.js +1 -1
  140. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  141. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  142. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  143. package/lib/es6/persisters/persister-powersync.js +1 -1
  144. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  145. package/lib/es6/persisters/persister-remote.js +1 -1
  146. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  147. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  148. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  149. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  150. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  151. package/lib/es6/persisters/persister-yjs.js +1 -1
  152. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  153. package/lib/es6/persisters.js +1 -1
  154. package/lib/es6/persisters.js.gz +0 -0
  155. package/lib/es6/store.js +1 -1
  156. package/lib/es6/store.js.gz +0 -0
  157. package/lib/es6/synchronizers/synchronizer-local.js +1 -1
  158. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  159. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
  160. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  161. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
  162. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  163. package/lib/es6/synchronizers.js +1 -1
  164. package/lib/es6/synchronizers.js.gz +0 -0
  165. package/lib/es6/tinybase.js +1 -1
  166. package/lib/es6/tinybase.js.gz +0 -0
  167. package/lib/es6/ui-react-dom-debug.js +1 -1
  168. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  169. package/lib/mergeable-store.js +1 -1
  170. package/lib/mergeable-store.js.gz +0 -0
  171. package/lib/persisters/persister-automerge.js +1 -1
  172. package/lib/persisters/persister-automerge.js.gz +0 -0
  173. package/lib/persisters/persister-browser.js +1 -1
  174. package/lib/persisters/persister-browser.js.gz +0 -0
  175. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  176. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  177. package/lib/persisters/persister-electric-sql.js +1 -1
  178. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  179. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  180. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  181. package/lib/persisters/persister-expo-sqlite.js +1 -1
  182. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  183. package/lib/persisters/persister-file.js +1 -1
  184. package/lib/persisters/persister-file.js.gz +0 -0
  185. package/lib/persisters/persister-indexed-db.js +1 -1
  186. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  187. package/lib/persisters/persister-libsql.js +1 -1
  188. package/lib/persisters/persister-libsql.js.gz +0 -0
  189. package/lib/persisters/persister-partykit-client.js +1 -1
  190. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  191. package/lib/persisters/persister-powersync.js +1 -1
  192. package/lib/persisters/persister-powersync.js.gz +0 -0
  193. package/lib/persisters/persister-remote.js +1 -1
  194. package/lib/persisters/persister-remote.js.gz +0 -0
  195. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  196. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  197. package/lib/persisters/persister-sqlite3.js +1 -1
  198. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  199. package/lib/persisters/persister-yjs.js +1 -1
  200. package/lib/persisters/persister-yjs.js.gz +0 -0
  201. package/lib/persisters.js +1 -1
  202. package/lib/persisters.js.gz +0 -0
  203. package/lib/store.js +1 -1
  204. package/lib/store.js.gz +0 -0
  205. package/lib/synchronizers/synchronizer-local.js +1 -1
  206. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  207. package/lib/synchronizers/synchronizer-ws-client.js +1 -1
  208. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  209. package/lib/synchronizers/synchronizer-ws-server.js +1 -1
  210. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  211. package/lib/synchronizers.js +1 -1
  212. package/lib/synchronizers.js.gz +0 -0
  213. package/lib/tinybase.js +1 -1
  214. package/lib/tinybase.js.gz +0 -0
  215. package/lib/types/persisters/persister-browser.d.ts +2 -2
  216. package/lib/types/persisters/persister-file.d.ts +1 -1
  217. package/lib/types/persisters.d.ts +73 -47
  218. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +24 -3
  219. package/lib/types/synchronizers.d.ts +1 -1
  220. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
  221. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
  222. package/lib/types/with-schemas/persisters.d.ts +99 -87
  223. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +24 -3
  224. package/lib/types/with-schemas/synchronizers.d.ts +1 -1
  225. package/lib/umd/mergeable-store.js +1 -1
  226. package/lib/umd/mergeable-store.js.gz +0 -0
  227. package/lib/umd/persisters/persister-automerge.js +1 -1
  228. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  229. package/lib/umd/persisters/persister-browser.js +1 -1
  230. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  231. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  232. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  233. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  234. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  235. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  236. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  237. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  238. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  239. package/lib/umd/persisters/persister-file.js +1 -1
  240. package/lib/umd/persisters/persister-file.js.gz +0 -0
  241. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  242. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  243. package/lib/umd/persisters/persister-libsql.js +1 -1
  244. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  245. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  246. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  247. package/lib/umd/persisters/persister-powersync.js +1 -1
  248. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  249. package/lib/umd/persisters/persister-remote.js +1 -1
  250. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  251. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  252. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  253. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  254. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  255. package/lib/umd/persisters/persister-yjs.js +1 -1
  256. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  257. package/lib/umd/persisters.js +1 -1
  258. package/lib/umd/persisters.js.gz +0 -0
  259. package/lib/umd/store.js +1 -1
  260. package/lib/umd/store.js.gz +0 -0
  261. package/lib/umd/synchronizers/synchronizer-local.js +1 -1
  262. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  263. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
  264. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  265. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -1
  266. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  267. package/lib/umd/synchronizers.js +1 -1
  268. package/lib/umd/synchronizers.js.gz +0 -0
  269. package/lib/umd/tinybase.js +1 -1
  270. package/lib/umd/tinybase.js.gz +0 -0
  271. package/lib/umd/ui-react-dom-debug.js +1 -1
  272. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  273. package/lib/umd-es6/mergeable-store.js +1 -1
  274. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  275. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  276. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  277. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  278. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  279. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  280. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  281. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  282. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  283. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  284. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  285. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  286. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  287. package/lib/umd-es6/persisters/persister-file.js +1 -1
  288. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  289. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  290. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  291. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  292. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  293. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  294. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  295. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  296. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  297. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  298. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  299. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  300. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  301. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  302. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  303. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  304. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  305. package/lib/umd-es6/persisters.js +1 -1
  306. package/lib/umd-es6/persisters.js.gz +0 -0
  307. package/lib/umd-es6/store.js +1 -1
  308. package/lib/umd-es6/store.js.gz +0 -0
  309. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
  310. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  311. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
  312. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  313. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -1
  314. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  315. package/lib/umd-es6/synchronizers.js +1 -1
  316. package/lib/umd-es6/synchronizers.js.gz +0 -0
  317. package/lib/umd-es6/tinybase.js +1 -1
  318. package/lib/umd-es6/tinybase.js.gz +0 -0
  319. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  320. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  321. package/package.json +1 -1
  322. package/readme.md +2 -2
@@ -79,24 +79,27 @@ const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
79
79
 
80
80
  const scheduleRunning = mapNew();
81
81
  const scheduleActions = mapNew();
82
- const getStoreFunctions = (supportsMergeableStore, store) =>
83
- !supportsMergeableStore || isUndefined(store.getMergeableContent)
82
+ const getStoreFunctions = (supportedStoreType = 1, store) =>
83
+ supportedStoreType > 1 && 'getMergeableContent' in store
84
84
  ? [
85
- 0,
86
- store.getContent,
87
- store.getTransactionChanges,
88
- ([changedTables, changedValues]) =>
89
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
90
- store.setContent,
91
- ]
92
- : [
93
85
  1,
94
86
  store.getMergeableContent,
95
87
  store.getTransactionMergeableChanges,
96
88
  ([[changedTables], [changedValues]]) =>
97
89
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
98
90
  store.setDefaultContent,
99
- ];
91
+ ]
92
+ : supportedStoreType != 2
93
+ ? [
94
+ 0,
95
+ store.getContent,
96
+ store.getTransactionChanges,
97
+ ([changedTables, changedValues]) =>
98
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
99
+ store.setContent,
100
+ ]
101
+ : /* istanbul ignore next */
102
+ 0;
100
103
  const createCustomPersister = (
101
104
  store,
102
105
  getPersisted,
@@ -104,7 +107,7 @@ const createCustomPersister = (
104
107
  addPersisterListener,
105
108
  delPersisterListener,
106
109
  onIgnoredError,
107
- supportsMergeableStore,
110
+ supportedStoreType,
108
111
  extra = {},
109
112
  scheduleId = [],
110
113
  ) => {
@@ -122,7 +125,7 @@ const createCustomPersister = (
122
125
  getChanges,
123
126
  hasChanges,
124
127
  setDefaultContent,
125
- ] = getStoreFunctions(supportsMergeableStore, store);
128
+ ] = getStoreFunctions(supportedStoreType, store);
126
129
  const run = async () => {
127
130
  /* istanbul ignore else */
128
131
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -140,20 +143,6 @@ const createCustomPersister = (
140
143
  mapSet(scheduleRunning, scheduleId, 0);
141
144
  }
142
145
  };
143
- const loadLock = async (actions) => {
144
- /* istanbul ignore else */
145
- if (loadSave != 2) {
146
- loadSave = 1;
147
- {
148
- loads++;
149
- }
150
- await persister.schedule(async () => {
151
- await actions();
152
- loadSave = 0;
153
- });
154
- }
155
- return persister;
156
- };
157
146
  const setContentOrChanges = (contentOrChanges) => {
158
147
  (isMergeableStore && isArray(contentOrChanges?.[0])
159
148
  ? contentOrChanges?.[2] === 1
@@ -163,9 +152,14 @@ const createCustomPersister = (
163
152
  ? store.applyChanges
164
153
  : store.setContent)(contentOrChanges);
165
154
  };
166
- const persister = {
167
- load: async (initialContent) =>
168
- await loadLock(async () => {
155
+ const load = async (initialContent) => {
156
+ /* istanbul ignore else */
157
+ if (loadSave != 2) {
158
+ loadSave = 1;
159
+ {
160
+ loads++;
161
+ }
162
+ await schedule(async () => {
169
163
  try {
170
164
  setContentOrChanges(await getPersisted());
171
165
  } catch (error) {
@@ -174,76 +168,94 @@ const createCustomPersister = (
174
168
  setDefaultContent(initialContent);
175
169
  }
176
170
  }
177
- }),
178
- startAutoLoad: async (initialContent) => {
179
- await persister.stopAutoLoad().load(initialContent);
180
- autoLoadHandle = addPersisterListener(
181
- async (getContent2, getChanges2) => {
182
- const changes = getChanges2?.();
183
- await loadLock(async () => {
184
- try {
185
- setContentOrChanges(
186
- changes ?? getContent2?.() ?? (await getPersisted()),
187
- );
188
- } catch (error) {
189
- onIgnoredError?.(error);
190
- }
191
- });
192
- },
193
- );
194
- return persister;
195
- },
196
- stopAutoLoad: () => {
197
- if (autoLoadHandle) {
198
- delPersisterListener(autoLoadHandle);
199
- autoLoadHandle = void 0;
200
- }
201
- return persister;
202
- },
203
- isAutoLoading: () => !isUndefined(autoLoadHandle),
204
- save: async (getChanges2) => {
205
- /* istanbul ignore else */
206
- if (loadSave != 1) {
207
- loadSave = 2;
208
- {
209
- saves++;
210
- }
211
- await persister.schedule(async () => {
212
- try {
213
- await setPersisted(getContent, getChanges2);
214
- } catch (error) {
215
- /* istanbul ignore next */
216
- onIgnoredError?.(error);
171
+ loadSave = 0;
172
+ });
173
+ }
174
+ return persister;
175
+ };
176
+ const startAutoLoad = async (initialContent) => {
177
+ await stopAutoLoad().load(initialContent);
178
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
179
+ if (changes || content) {
180
+ /* istanbul ignore else */
181
+ if (loadSave != 2) {
182
+ loadSave = 1;
183
+ {
184
+ loads++;
217
185
  }
186
+ setContentOrChanges(changes ?? content);
218
187
  loadSave = 0;
219
- });
188
+ }
189
+ } else {
190
+ await load();
220
191
  }
221
- return persister;
222
- },
223
- startAutoSave: async () => {
224
- await persister.stopAutoSave().save();
225
- autoSaveListenerId = store.addDidFinishTransactionListener(() => {
226
- const changes = getChanges();
227
- if (hasChanges(changes)) {
228
- persister.save(() => changes);
192
+ });
193
+ return persister;
194
+ };
195
+ const stopAutoLoad = () => {
196
+ if (autoLoadHandle) {
197
+ delPersisterListener(autoLoadHandle);
198
+ autoLoadHandle = void 0;
199
+ }
200
+ return persister;
201
+ };
202
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
203
+ const save = async (changes) => {
204
+ /* istanbul ignore else */
205
+ if (loadSave != 1) {
206
+ loadSave = 2;
207
+ {
208
+ saves++;
209
+ }
210
+ await schedule(async () => {
211
+ try {
212
+ await setPersisted(getContent, changes);
213
+ } catch (error) {
214
+ /* istanbul ignore next */
215
+ onIgnoredError?.(error);
229
216
  }
217
+ loadSave = 0;
230
218
  });
231
- return persister;
232
- },
233
- stopAutoSave: () => {
234
- ifNotUndefined(autoSaveListenerId, store.delListener);
235
- autoSaveListenerId = void 0;
236
- return persister;
237
- },
238
- isAutoSaving: () => !isUndefined(autoSaveListenerId),
239
- schedule: async (...actions) => {
240
- arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
241
- await run();
242
- return persister;
243
- },
244
- getStore: () => store,
245
- destroy: () => persister.stopAutoLoad().stopAutoSave(),
246
- getStats: () => ({loads, saves}),
219
+ }
220
+ return persister;
221
+ };
222
+ const startAutoSave = async () => {
223
+ await stopAutoSave().save();
224
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
225
+ const changes = getChanges();
226
+ if (hasChanges(changes)) {
227
+ save(changes);
228
+ }
229
+ });
230
+ return persister;
231
+ };
232
+ const stopAutoSave = () => {
233
+ ifNotUndefined(autoSaveListenerId, store.delListener);
234
+ autoSaveListenerId = void 0;
235
+ return persister;
236
+ };
237
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
238
+ const schedule = async (...actions) => {
239
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
240
+ await run();
241
+ return persister;
242
+ };
243
+ const getStore = () => store;
244
+ const destroy = () => stopAutoLoad().stopAutoSave();
245
+ const getStats = () => ({loads, saves});
246
+ const persister = {
247
+ load,
248
+ startAutoLoad,
249
+ stopAutoLoad,
250
+ isAutoLoading,
251
+ save,
252
+ startAutoSave,
253
+ stopAutoSave,
254
+ isAutoSaving,
255
+ schedule,
256
+ getStore,
257
+ destroy,
258
+ getStats,
247
259
  ...extra,
248
260
  };
249
261
  return objFreeze(persister);
@@ -359,10 +371,10 @@ const createCustomSynchronizer = (
359
371
  );
360
372
  } else if (messageType == CONTENT_HASHES && persister.isAutoLoading()) {
361
373
  getChangesFromOtherStore(fromClientId, messageBody).then((changes) => {
362
- persisterListener?.(void 0, () => changes);
374
+ persisterListener?.(void 0, changes);
363
375
  });
364
376
  } else if (messageType == CONTENT_DIFF && persister.isAutoLoading()) {
365
- persisterListener?.(void 0, () => messageBody);
377
+ persisterListener?.(void 0, messageBody);
366
378
  } else {
367
379
  ifNotUndefined(
368
380
  messageType == GET_CONTENT_HASHES && persister.isAutoSaving()
@@ -486,12 +498,12 @@ const createCustomSynchronizer = (
486
498
  ? changes
487
499
  : void 0;
488
500
  };
489
- const setPersisted = async (getContent, getChanges) => {
501
+ const setPersisted = async (_getContent, changes) => {
490
502
  {
491
503
  sends++;
492
504
  }
493
- if (getChanges) {
494
- send(null, null, CONTENT_DIFF, getChanges());
505
+ if (changes) {
506
+ send(null, null, CONTENT_DIFF, changes);
495
507
  } else {
496
508
  send(null, null, CONTENT_HASHES, store.getMergeableContentHashes());
497
509
  }
@@ -513,7 +525,7 @@ const createCustomSynchronizer = (
513
525
  addPersisterListener,
514
526
  delPersisterListener,
515
527
  onIgnoredError,
516
- true,
528
+ 2,
517
529
  {startSync, stopSync, destroy, getSynchronizerStats, ...extra},
518
530
  );
519
531
  return persister;
@@ -551,7 +563,7 @@ const createLocalSynchronizer = (store, onIgnoredError) => {
551
563
  send,
552
564
  onReceive,
553
565
  destroy,
554
- 0.05,
566
+ 0.01,
555
567
  onIgnoredError,
556
568
  );
557
569
  };
@@ -90,24 +90,27 @@ const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
90
90
 
91
91
  const scheduleRunning = mapNew();
92
92
  const scheduleActions = mapNew();
93
- const getStoreFunctions = (supportsMergeableStore, store) =>
94
- !supportsMergeableStore || isUndefined(store.getMergeableContent)
93
+ const getStoreFunctions = (supportedStoreType = 1, store) =>
94
+ supportedStoreType > 1 && 'getMergeableContent' in store
95
95
  ? [
96
- 0,
97
- store.getContent,
98
- store.getTransactionChanges,
99
- ([changedTables, changedValues]) =>
100
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
101
- store.setContent,
102
- ]
103
- : [
104
96
  1,
105
97
  store.getMergeableContent,
106
98
  store.getTransactionMergeableChanges,
107
99
  ([[changedTables], [changedValues]]) =>
108
100
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
109
101
  store.setDefaultContent,
110
- ];
102
+ ]
103
+ : supportedStoreType != 2
104
+ ? [
105
+ 0,
106
+ store.getContent,
107
+ store.getTransactionChanges,
108
+ ([changedTables, changedValues]) =>
109
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
110
+ store.setContent,
111
+ ]
112
+ : /* istanbul ignore next */
113
+ 0;
111
114
  const createCustomPersister = (
112
115
  store,
113
116
  getPersisted,
@@ -115,7 +118,7 @@ const createCustomPersister = (
115
118
  addPersisterListener,
116
119
  delPersisterListener,
117
120
  onIgnoredError,
118
- supportsMergeableStore,
121
+ supportedStoreType,
119
122
  extra = {},
120
123
  scheduleId = [],
121
124
  ) => {
@@ -133,7 +136,7 @@ const createCustomPersister = (
133
136
  getChanges,
134
137
  hasChanges,
135
138
  setDefaultContent,
136
- ] = getStoreFunctions(supportsMergeableStore, store);
139
+ ] = getStoreFunctions(supportedStoreType, store);
137
140
  const run = async () => {
138
141
  /* istanbul ignore else */
139
142
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -151,20 +154,6 @@ const createCustomPersister = (
151
154
  mapSet(scheduleRunning, scheduleId, 0);
152
155
  }
153
156
  };
154
- const loadLock = async (actions) => {
155
- /* istanbul ignore else */
156
- if (loadSave != 2) {
157
- loadSave = 1;
158
- {
159
- loads++;
160
- }
161
- await persister.schedule(async () => {
162
- await actions();
163
- loadSave = 0;
164
- });
165
- }
166
- return persister;
167
- };
168
157
  const setContentOrChanges = (contentOrChanges) => {
169
158
  (isMergeableStore && isArray(contentOrChanges?.[0])
170
159
  ? contentOrChanges?.[2] === 1
@@ -174,9 +163,14 @@ const createCustomPersister = (
174
163
  ? store.applyChanges
175
164
  : store.setContent)(contentOrChanges);
176
165
  };
177
- const persister = {
178
- load: async (initialContent) =>
179
- await loadLock(async () => {
166
+ const load = async (initialContent) => {
167
+ /* istanbul ignore else */
168
+ if (loadSave != 2) {
169
+ loadSave = 1;
170
+ {
171
+ loads++;
172
+ }
173
+ await schedule(async () => {
180
174
  try {
181
175
  setContentOrChanges(await getPersisted());
182
176
  } catch (error) {
@@ -185,76 +179,94 @@ const createCustomPersister = (
185
179
  setDefaultContent(initialContent);
186
180
  }
187
181
  }
188
- }),
189
- startAutoLoad: async (initialContent) => {
190
- await persister.stopAutoLoad().load(initialContent);
191
- autoLoadHandle = addPersisterListener(
192
- async (getContent2, getChanges2) => {
193
- const changes = getChanges2?.();
194
- await loadLock(async () => {
195
- try {
196
- setContentOrChanges(
197
- changes ?? getContent2?.() ?? (await getPersisted()),
198
- );
199
- } catch (error) {
200
- onIgnoredError?.(error);
201
- }
202
- });
203
- },
204
- );
205
- return persister;
206
- },
207
- stopAutoLoad: () => {
208
- if (autoLoadHandle) {
209
- delPersisterListener(autoLoadHandle);
210
- autoLoadHandle = void 0;
211
- }
212
- return persister;
213
- },
214
- isAutoLoading: () => !isUndefined(autoLoadHandle),
215
- save: async (getChanges2) => {
216
- /* istanbul ignore else */
217
- if (loadSave != 1) {
218
- loadSave = 2;
219
- {
220
- saves++;
221
- }
222
- await persister.schedule(async () => {
223
- try {
224
- await setPersisted(getContent, getChanges2);
225
- } catch (error) {
226
- /* istanbul ignore next */
227
- onIgnoredError?.(error);
182
+ loadSave = 0;
183
+ });
184
+ }
185
+ return persister;
186
+ };
187
+ const startAutoLoad = async (initialContent) => {
188
+ await stopAutoLoad().load(initialContent);
189
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
190
+ if (changes || content) {
191
+ /* istanbul ignore else */
192
+ if (loadSave != 2) {
193
+ loadSave = 1;
194
+ {
195
+ loads++;
228
196
  }
197
+ setContentOrChanges(changes ?? content);
229
198
  loadSave = 0;
230
- });
199
+ }
200
+ } else {
201
+ await load();
231
202
  }
232
- return persister;
233
- },
234
- startAutoSave: async () => {
235
- await persister.stopAutoSave().save();
236
- autoSaveListenerId = store.addDidFinishTransactionListener(() => {
237
- const changes = getChanges();
238
- if (hasChanges(changes)) {
239
- persister.save(() => changes);
203
+ });
204
+ return persister;
205
+ };
206
+ const stopAutoLoad = () => {
207
+ if (autoLoadHandle) {
208
+ delPersisterListener(autoLoadHandle);
209
+ autoLoadHandle = void 0;
210
+ }
211
+ return persister;
212
+ };
213
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
214
+ const save = async (changes) => {
215
+ /* istanbul ignore else */
216
+ if (loadSave != 1) {
217
+ loadSave = 2;
218
+ {
219
+ saves++;
220
+ }
221
+ await schedule(async () => {
222
+ try {
223
+ await setPersisted(getContent, changes);
224
+ } catch (error) {
225
+ /* istanbul ignore next */
226
+ onIgnoredError?.(error);
240
227
  }
228
+ loadSave = 0;
241
229
  });
242
- return persister;
243
- },
244
- stopAutoSave: () => {
245
- ifNotUndefined(autoSaveListenerId, store.delListener);
246
- autoSaveListenerId = void 0;
247
- return persister;
248
- },
249
- isAutoSaving: () => !isUndefined(autoSaveListenerId),
250
- schedule: async (...actions) => {
251
- arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
252
- await run();
253
- return persister;
254
- },
255
- getStore: () => store,
256
- destroy: () => persister.stopAutoLoad().stopAutoSave(),
257
- getStats: () => ({loads, saves}),
230
+ }
231
+ return persister;
232
+ };
233
+ const startAutoSave = async () => {
234
+ await stopAutoSave().save();
235
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
236
+ const changes = getChanges();
237
+ if (hasChanges(changes)) {
238
+ save(changes);
239
+ }
240
+ });
241
+ return persister;
242
+ };
243
+ const stopAutoSave = () => {
244
+ ifNotUndefined(autoSaveListenerId, store.delListener);
245
+ autoSaveListenerId = void 0;
246
+ return persister;
247
+ };
248
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
249
+ const schedule = async (...actions) => {
250
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
251
+ await run();
252
+ return persister;
253
+ };
254
+ const getStore = () => store;
255
+ const destroy = () => stopAutoLoad().stopAutoSave();
256
+ const getStats = () => ({loads, saves});
257
+ const persister = {
258
+ load,
259
+ startAutoLoad,
260
+ stopAutoLoad,
261
+ isAutoLoading,
262
+ save,
263
+ startAutoSave,
264
+ stopAutoSave,
265
+ isAutoSaving,
266
+ schedule,
267
+ getStore,
268
+ destroy,
269
+ getStats,
258
270
  ...extra,
259
271
  };
260
272
  return objFreeze(persister);
@@ -370,10 +382,10 @@ const createCustomSynchronizer = (
370
382
  );
371
383
  } else if (messageType == CONTENT_HASHES && persister.isAutoLoading()) {
372
384
  getChangesFromOtherStore(fromClientId, messageBody).then((changes) => {
373
- persisterListener?.(void 0, () => changes);
385
+ persisterListener?.(void 0, changes);
374
386
  });
375
387
  } else if (messageType == CONTENT_DIFF && persister.isAutoLoading()) {
376
- persisterListener?.(void 0, () => messageBody);
388
+ persisterListener?.(void 0, messageBody);
377
389
  } else {
378
390
  ifNotUndefined(
379
391
  messageType == GET_CONTENT_HASHES && persister.isAutoSaving()
@@ -497,12 +509,12 @@ const createCustomSynchronizer = (
497
509
  ? changes
498
510
  : void 0;
499
511
  };
500
- const setPersisted = async (getContent, getChanges) => {
512
+ const setPersisted = async (_getContent, changes) => {
501
513
  {
502
514
  sends++;
503
515
  }
504
- if (getChanges) {
505
- send(null, null, CONTENT_DIFF, getChanges());
516
+ if (changes) {
517
+ send(null, null, CONTENT_DIFF, changes);
506
518
  } else {
507
519
  send(null, null, CONTENT_HASHES, store.getMergeableContentHashes());
508
520
  }
@@ -524,7 +536,7 @@ const createCustomSynchronizer = (
524
536
  addPersisterListener,
525
537
  delPersisterListener,
526
538
  onIgnoredError,
527
- true,
539
+ 2,
528
540
  {startSync, stopSync, destroy, getSynchronizerStats, ...extra},
529
541
  );
530
542
  return persister;