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
@@ -60,24 +60,27 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
60
60
 
61
61
  const scheduleRunning = mapNew();
62
62
  const scheduleActions = mapNew();
63
- const getStoreFunctions = (supportsMergeableStore, store) =>
64
- !supportsMergeableStore || isUndefined(store.getMergeableContent)
63
+ const getStoreFunctions = (supportedStoreType = 1, store) =>
64
+ supportedStoreType > 1 && 'getMergeableContent' in store
65
65
  ? [
66
- 0,
67
- store.getContent,
68
- store.getTransactionChanges,
69
- ([changedTables, changedValues]) =>
70
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
71
- store.setContent,
72
- ]
73
- : [
74
66
  1,
75
67
  store.getMergeableContent,
76
68
  store.getTransactionMergeableChanges,
77
69
  ([[changedTables], [changedValues]]) =>
78
70
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
79
71
  store.setDefaultContent,
80
- ];
72
+ ]
73
+ : supportedStoreType != 2
74
+ ? [
75
+ 0,
76
+ store.getContent,
77
+ store.getTransactionChanges,
78
+ ([changedTables, changedValues]) =>
79
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
80
+ store.setContent,
81
+ ]
82
+ : /* istanbul ignore next */
83
+ 0;
81
84
  const createCustomPersister = (
82
85
  store,
83
86
  getPersisted,
@@ -85,7 +88,7 @@ const createCustomPersister = (
85
88
  addPersisterListener,
86
89
  delPersisterListener,
87
90
  onIgnoredError,
88
- supportsMergeableStore,
91
+ supportedStoreType,
89
92
  extra = {},
90
93
  scheduleId = [],
91
94
  ) => {
@@ -103,7 +106,7 @@ const createCustomPersister = (
103
106
  getChanges,
104
107
  hasChanges,
105
108
  setDefaultContent,
106
- ] = getStoreFunctions(supportsMergeableStore, store);
109
+ ] = getStoreFunctions(supportedStoreType, store);
107
110
  const run = async () => {
108
111
  /* istanbul ignore else */
109
112
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -121,20 +124,6 @@ const createCustomPersister = (
121
124
  mapSet(scheduleRunning, scheduleId, 0);
122
125
  }
123
126
  };
124
- const loadLock = async (actions) => {
125
- /* istanbul ignore else */
126
- if (loadSave != 2) {
127
- loadSave = 1;
128
- {
129
- loads++;
130
- }
131
- await persister.schedule(async () => {
132
- await actions();
133
- loadSave = 0;
134
- });
135
- }
136
- return persister;
137
- };
138
127
  const setContentOrChanges = (contentOrChanges) => {
139
128
  (isMergeableStore && isArray(contentOrChanges?.[0])
140
129
  ? contentOrChanges?.[2] === 1
@@ -144,9 +133,14 @@ const createCustomPersister = (
144
133
  ? store.applyChanges
145
134
  : store.setContent)(contentOrChanges);
146
135
  };
147
- const persister = {
148
- load: async (initialContent) =>
149
- await loadLock(async () => {
136
+ const load = async (initialContent) => {
137
+ /* istanbul ignore else */
138
+ if (loadSave != 2) {
139
+ loadSave = 1;
140
+ {
141
+ loads++;
142
+ }
143
+ await schedule(async () => {
150
144
  try {
151
145
  setContentOrChanges(await getPersisted());
152
146
  } catch (error) {
@@ -155,76 +149,94 @@ const createCustomPersister = (
155
149
  setDefaultContent(initialContent);
156
150
  }
157
151
  }
158
- }),
159
- startAutoLoad: async (initialContent) => {
160
- await persister.stopAutoLoad().load(initialContent);
161
- autoLoadHandle = addPersisterListener(
162
- async (getContent2, getChanges2) => {
163
- const changes = getChanges2?.();
164
- await loadLock(async () => {
165
- try {
166
- setContentOrChanges(
167
- changes ?? getContent2?.() ?? (await getPersisted()),
168
- );
169
- } catch (error) {
170
- onIgnoredError?.(error);
171
- }
172
- });
173
- },
174
- );
175
- return persister;
176
- },
177
- stopAutoLoad: () => {
178
- if (autoLoadHandle) {
179
- delPersisterListener(autoLoadHandle);
180
- autoLoadHandle = void 0;
181
- }
182
- return persister;
183
- },
184
- isAutoLoading: () => !isUndefined(autoLoadHandle),
185
- save: async (getChanges2) => {
186
- /* istanbul ignore else */
187
- if (loadSave != 1) {
188
- loadSave = 2;
189
- {
190
- saves++;
191
- }
192
- await persister.schedule(async () => {
193
- try {
194
- await setPersisted(getContent, getChanges2);
195
- } catch (error) {
196
- /* istanbul ignore next */
197
- onIgnoredError?.(error);
152
+ loadSave = 0;
153
+ });
154
+ }
155
+ return persister;
156
+ };
157
+ const startAutoLoad = async (initialContent) => {
158
+ await stopAutoLoad().load(initialContent);
159
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
160
+ if (changes || content) {
161
+ /* istanbul ignore else */
162
+ if (loadSave != 2) {
163
+ loadSave = 1;
164
+ {
165
+ loads++;
198
166
  }
167
+ setContentOrChanges(changes ?? content);
199
168
  loadSave = 0;
200
- });
169
+ }
170
+ } else {
171
+ await load();
172
+ }
173
+ });
174
+ return persister;
175
+ };
176
+ const stopAutoLoad = () => {
177
+ if (autoLoadHandle) {
178
+ delPersisterListener(autoLoadHandle);
179
+ autoLoadHandle = void 0;
180
+ }
181
+ return persister;
182
+ };
183
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
184
+ const save = async (changes) => {
185
+ /* istanbul ignore else */
186
+ if (loadSave != 1) {
187
+ loadSave = 2;
188
+ {
189
+ saves++;
201
190
  }
202
- return persister;
203
- },
204
- startAutoSave: async () => {
205
- await persister.stopAutoSave().save();
206
- autoSaveListenerId = store.addDidFinishTransactionListener(() => {
207
- const changes = getChanges();
208
- if (hasChanges(changes)) {
209
- persister.save(() => changes);
191
+ await schedule(async () => {
192
+ try {
193
+ await setPersisted(getContent, changes);
194
+ } catch (error) {
195
+ /* istanbul ignore next */
196
+ onIgnoredError?.(error);
210
197
  }
198
+ loadSave = 0;
211
199
  });
212
- return persister;
213
- },
214
- stopAutoSave: () => {
215
- ifNotUndefined(autoSaveListenerId, store.delListener);
216
- autoSaveListenerId = void 0;
217
- return persister;
218
- },
219
- isAutoSaving: () => !isUndefined(autoSaveListenerId),
220
- schedule: async (...actions) => {
221
- arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
222
- await run();
223
- return persister;
224
- },
225
- getStore: () => store,
226
- destroy: () => persister.stopAutoLoad().stopAutoSave(),
227
- getStats: () => ({loads, saves}),
200
+ }
201
+ return persister;
202
+ };
203
+ const startAutoSave = async () => {
204
+ await stopAutoSave().save();
205
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
206
+ const changes = getChanges();
207
+ if (hasChanges(changes)) {
208
+ save(changes);
209
+ }
210
+ });
211
+ return persister;
212
+ };
213
+ const stopAutoSave = () => {
214
+ ifNotUndefined(autoSaveListenerId, store.delListener);
215
+ autoSaveListenerId = void 0;
216
+ return persister;
217
+ };
218
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
219
+ const schedule = async (...actions) => {
220
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
221
+ await run();
222
+ return persister;
223
+ };
224
+ const getStore = () => store;
225
+ const destroy = () => stopAutoLoad().stopAutoSave();
226
+ const getStats = () => ({loads, saves});
227
+ const persister = {
228
+ load,
229
+ startAutoLoad,
230
+ stopAutoLoad,
231
+ isAutoLoading,
232
+ save,
233
+ startAutoSave,
234
+ stopAutoSave,
235
+ isAutoSaving,
236
+ schedule,
237
+ getStore,
238
+ destroy,
239
+ getStats,
228
240
  ...extra,
229
241
  };
230
242
  return objFreeze(persister);
@@ -239,14 +251,14 @@ const getDocContent = (doc, docObjName) => [
239
251
  doc[docObjName].t,
240
252
  doc[docObjName].v,
241
253
  ];
242
- const applyChangesToDoc = (doc, docObjName, getContent, getChanges) => {
254
+ const applyChangesToDoc = (doc, docObjName, getContent, changes) => {
243
255
  ensureDocContent(doc, docObjName);
244
256
  const [docTables, docValues] = getDocContent(doc, docObjName);
245
257
  const changesDidFail = () => {
246
258
  changesFailed = 1;
247
259
  };
248
260
  let changesFailed = 1;
249
- ifNotUndefined(getChanges?.(), ([cellChanges, valueChanges]) => {
261
+ ifNotUndefined(changes, ([cellChanges, valueChanges]) => {
250
262
  changesFailed = 0;
251
263
  objToArray(cellChanges, (table, tableId) =>
252
264
  changesFailed
@@ -336,12 +348,12 @@ const createAutomergePersister = (
336
348
  ? getDocContent(doc, docObjName)
337
349
  : void 0;
338
350
  };
339
- const setPersisted = async (getContent, getChanges) =>
351
+ const setPersisted = async (getContent, changes) =>
340
352
  docHandle.change((doc) =>
341
- applyChangesToDoc(doc, docObjName, getContent, getChanges),
353
+ applyChangesToDoc(doc, docObjName, getContent, changes),
342
354
  );
343
355
  const addPersisterListener = (listener) => {
344
- const observer = ({doc}) => listener(() => getDocContent(doc, docObjName));
356
+ const observer = ({doc}) => listener(getDocContent(doc, docObjName));
345
357
  docHandle.on('change', observer);
346
358
  return observer;
347
359
  };
@@ -355,7 +367,7 @@ const createAutomergePersister = (
355
367
  addPersisterListener,
356
368
  delPersisterListener,
357
369
  onIgnoredError,
358
- false,
370
+ 1,
359
371
  {getDocHandle: () => docHandle},
360
372
  );
361
373
  };
@@ -53,24 +53,27 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
53
53
 
54
54
  const scheduleRunning = mapNew();
55
55
  const scheduleActions = mapNew();
56
- const getStoreFunctions = (supportsMergeableStore, store) =>
57
- !supportsMergeableStore || isUndefined(store.getMergeableContent)
56
+ const getStoreFunctions = (supportedStoreType = 1, store) =>
57
+ supportedStoreType > 1 && 'getMergeableContent' in store
58
58
  ? [
59
- 0,
60
- store.getContent,
61
- store.getTransactionChanges,
62
- ([changedTables, changedValues]) =>
63
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
64
- store.setContent,
65
- ]
66
- : [
67
59
  1,
68
60
  store.getMergeableContent,
69
61
  store.getTransactionMergeableChanges,
70
62
  ([[changedTables], [changedValues]]) =>
71
63
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
72
64
  store.setDefaultContent,
73
- ];
65
+ ]
66
+ : supportedStoreType != 2
67
+ ? [
68
+ 0,
69
+ store.getContent,
70
+ store.getTransactionChanges,
71
+ ([changedTables, changedValues]) =>
72
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
73
+ store.setContent,
74
+ ]
75
+ : /* istanbul ignore next */
76
+ 0;
74
77
  const createCustomPersister = (
75
78
  store,
76
79
  getPersisted,
@@ -78,7 +81,7 @@ const createCustomPersister = (
78
81
  addPersisterListener,
79
82
  delPersisterListener,
80
83
  onIgnoredError,
81
- supportsMergeableStore,
84
+ supportedStoreType,
82
85
  extra = {},
83
86
  scheduleId = [],
84
87
  ) => {
@@ -96,7 +99,7 @@ const createCustomPersister = (
96
99
  getChanges,
97
100
  hasChanges,
98
101
  setDefaultContent,
99
- ] = getStoreFunctions(supportsMergeableStore, store);
102
+ ] = getStoreFunctions(supportedStoreType, store);
100
103
  const run = async () => {
101
104
  /* istanbul ignore else */
102
105
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -114,20 +117,6 @@ const createCustomPersister = (
114
117
  mapSet(scheduleRunning, scheduleId, 0);
115
118
  }
116
119
  };
117
- const loadLock = async (actions) => {
118
- /* istanbul ignore else */
119
- if (loadSave != 2) {
120
- loadSave = 1;
121
- {
122
- loads++;
123
- }
124
- await persister.schedule(async () => {
125
- await actions();
126
- loadSave = 0;
127
- });
128
- }
129
- return persister;
130
- };
131
120
  const setContentOrChanges = (contentOrChanges) => {
132
121
  (isMergeableStore && isArray(contentOrChanges?.[0])
133
122
  ? contentOrChanges?.[2] === 1
@@ -137,9 +126,14 @@ const createCustomPersister = (
137
126
  ? store.applyChanges
138
127
  : store.setContent)(contentOrChanges);
139
128
  };
140
- const persister = {
141
- load: async (initialContent) =>
142
- await loadLock(async () => {
129
+ const load = async (initialContent) => {
130
+ /* istanbul ignore else */
131
+ if (loadSave != 2) {
132
+ loadSave = 1;
133
+ {
134
+ loads++;
135
+ }
136
+ await schedule(async () => {
143
137
  try {
144
138
  setContentOrChanges(await getPersisted());
145
139
  } catch (error) {
@@ -148,76 +142,94 @@ const createCustomPersister = (
148
142
  setDefaultContent(initialContent);
149
143
  }
150
144
  }
151
- }),
152
- startAutoLoad: async (initialContent) => {
153
- await persister.stopAutoLoad().load(initialContent);
154
- autoLoadHandle = addPersisterListener(
155
- async (getContent2, getChanges2) => {
156
- const changes = getChanges2?.();
157
- await loadLock(async () => {
158
- try {
159
- setContentOrChanges(
160
- changes ?? getContent2?.() ?? (await getPersisted()),
161
- );
162
- } catch (error) {
163
- onIgnoredError?.(error);
164
- }
165
- });
166
- },
167
- );
168
- return persister;
169
- },
170
- stopAutoLoad: () => {
171
- if (autoLoadHandle) {
172
- delPersisterListener(autoLoadHandle);
173
- autoLoadHandle = void 0;
174
- }
175
- return persister;
176
- },
177
- isAutoLoading: () => !isUndefined(autoLoadHandle),
178
- save: async (getChanges2) => {
179
- /* istanbul ignore else */
180
- if (loadSave != 1) {
181
- loadSave = 2;
182
- {
183
- saves++;
184
- }
185
- await persister.schedule(async () => {
186
- try {
187
- await setPersisted(getContent, getChanges2);
188
- } catch (error) {
189
- /* istanbul ignore next */
190
- onIgnoredError?.(error);
145
+ loadSave = 0;
146
+ });
147
+ }
148
+ return persister;
149
+ };
150
+ const startAutoLoad = async (initialContent) => {
151
+ await stopAutoLoad().load(initialContent);
152
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
153
+ if (changes || content) {
154
+ /* istanbul ignore else */
155
+ if (loadSave != 2) {
156
+ loadSave = 1;
157
+ {
158
+ loads++;
191
159
  }
160
+ setContentOrChanges(changes ?? content);
192
161
  loadSave = 0;
193
- });
162
+ }
163
+ } else {
164
+ await load();
165
+ }
166
+ });
167
+ return persister;
168
+ };
169
+ const stopAutoLoad = () => {
170
+ if (autoLoadHandle) {
171
+ delPersisterListener(autoLoadHandle);
172
+ autoLoadHandle = void 0;
173
+ }
174
+ return persister;
175
+ };
176
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
177
+ const save = async (changes) => {
178
+ /* istanbul ignore else */
179
+ if (loadSave != 1) {
180
+ loadSave = 2;
181
+ {
182
+ saves++;
194
183
  }
195
- return persister;
196
- },
197
- startAutoSave: async () => {
198
- await persister.stopAutoSave().save();
199
- autoSaveListenerId = store.addDidFinishTransactionListener(() => {
200
- const changes = getChanges();
201
- if (hasChanges(changes)) {
202
- persister.save(() => changes);
184
+ await schedule(async () => {
185
+ try {
186
+ await setPersisted(getContent, changes);
187
+ } catch (error) {
188
+ /* istanbul ignore next */
189
+ onIgnoredError?.(error);
203
190
  }
191
+ loadSave = 0;
204
192
  });
205
- return persister;
206
- },
207
- stopAutoSave: () => {
208
- ifNotUndefined(autoSaveListenerId, store.delListener);
209
- autoSaveListenerId = void 0;
210
- return persister;
211
- },
212
- isAutoSaving: () => !isUndefined(autoSaveListenerId),
213
- schedule: async (...actions) => {
214
- arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
215
- await run();
216
- return persister;
217
- },
218
- getStore: () => store,
219
- destroy: () => persister.stopAutoLoad().stopAutoSave(),
220
- getStats: () => ({loads, saves}),
193
+ }
194
+ return persister;
195
+ };
196
+ const startAutoSave = async () => {
197
+ await stopAutoSave().save();
198
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
199
+ const changes = getChanges();
200
+ if (hasChanges(changes)) {
201
+ save(changes);
202
+ }
203
+ });
204
+ return persister;
205
+ };
206
+ const stopAutoSave = () => {
207
+ ifNotUndefined(autoSaveListenerId, store.delListener);
208
+ autoSaveListenerId = void 0;
209
+ return persister;
210
+ };
211
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
212
+ const schedule = async (...actions) => {
213
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
214
+ await run();
215
+ return persister;
216
+ };
217
+ const getStore = () => store;
218
+ const destroy = () => stopAutoLoad().stopAutoSave();
219
+ const getStats = () => ({loads, saves});
220
+ const persister = {
221
+ load,
222
+ startAutoLoad,
223
+ stopAutoLoad,
224
+ isAutoLoading,
225
+ save,
226
+ startAutoSave,
227
+ stopAutoSave,
228
+ isAutoSaving,
229
+ schedule,
230
+ getStore,
231
+ destroy,
232
+ getStats,
221
233
  ...extra,
222
234
  };
223
235
  return objFreeze(persister);
@@ -238,7 +250,11 @@ const createStoragePersister = (
238
250
  const addPersisterListener = (listener) => {
239
251
  const storageListener = (event) => {
240
252
  if (event.storageArea === storage && event.key === storageName) {
241
- listener(() => jsonParse(event.newValue));
253
+ try {
254
+ listener(jsonParse(event.newValue));
255
+ } catch {
256
+ listener();
257
+ }
242
258
  }
243
259
  };
244
260
  WINDOW.addEventListener(STORAGE, storageListener);
@@ -253,7 +269,7 @@ const createStoragePersister = (
253
269
  addPersisterListener,
254
270
  delPersisterListener,
255
271
  onIgnoredError,
256
- true,
272
+ 3,
257
273
  {getStorageName: () => storageName},
258
274
  );
259
275
  };