tinybase 7.0.0-beta.1 → 7.0.0-beta.3

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 (329) hide show
  1. package/@types/common/index.d.ts +1 -1
  2. package/@types/mergeable-store/index.d.ts +2 -1
  3. package/@types/mergeable-store/with-schemas/index.d.ts +5 -3
  4. package/@types/omni/index.d.ts +2 -0
  5. package/@types/omni/with-schemas/index.d.ts +2 -0
  6. package/@types/persisters/index.d.ts +4 -0
  7. package/@types/persisters/persister-automerge/index.d.ts +4 -6
  8. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +7 -8
  9. package/@types/persisters/persister-browser/index.d.ts +97 -6
  10. package/@types/persisters/persister-browser/with-schemas/index.d.ts +113 -6
  11. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -0
  12. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +7 -2
  13. package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +6 -2
  14. package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +5 -0
  15. package/@types/persisters/persister-durable-object-storage/index.d.ts +1 -2
  16. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +3 -2
  17. package/@types/persisters/persister-electric-sql/index.d.ts +4 -0
  18. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +7 -2
  19. package/@types/persisters/persister-expo-sqlite/index.d.ts +5 -2
  20. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +7 -2
  21. package/@types/persisters/persister-file/index.d.ts +1 -2
  22. package/@types/persisters/persister-file/with-schemas/index.d.ts +3 -2
  23. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +3 -2
  24. package/@types/persisters/persister-libsql/index.d.ts +4 -0
  25. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +7 -2
  26. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +3 -2
  27. package/@types/persisters/persister-pglite/index.d.ts +7 -3
  28. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +9 -3
  29. package/@types/persisters/persister-postgres/index.d.ts +5 -2
  30. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +7 -2
  31. package/@types/persisters/persister-powersync/index.d.ts +4 -0
  32. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +7 -2
  33. package/@types/persisters/persister-react-native-mmkv/index.d.ts +117 -0
  34. package/@types/persisters/persister-react-native-mmkv/with-schemas/index.d.ts +133 -0
  35. package/@types/persisters/persister-react-native-sqlite/index.d.ts +184 -0
  36. package/@types/persisters/persister-react-native-sqlite/with-schemas/index.d.ts +207 -0
  37. package/@types/persisters/persister-remote/with-schemas/index.d.ts +3 -2
  38. package/@types/persisters/persister-sqlite-bun/index.d.ts +5 -2
  39. package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +7 -2
  40. package/@types/persisters/persister-sqlite-wasm/index.d.ts +6 -2
  41. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +8 -2
  42. package/@types/persisters/persister-sqlite3/index.d.ts +5 -2
  43. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +7 -2
  44. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +3 -2
  45. package/@types/persisters/with-schemas/index.d.ts +4 -0
  46. package/@types/queries/index.d.ts +1 -1
  47. package/@types/queries/with-schemas/index.d.ts +4 -8
  48. package/@types/store/index.d.ts +34 -19
  49. package/@types/store/with-schemas/index.d.ts +28 -13
  50. package/@types/synchronizers/index.d.ts +1 -0
  51. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -2
  52. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +3 -2
  53. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +4 -2
  54. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +1 -0
  55. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +7 -7
  56. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +7 -7
  57. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +1 -0
  58. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +1 -0
  59. package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +1 -1
  60. package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +1 -1
  61. package/@types/synchronizers/with-schemas/index.d.ts +4 -2
  62. package/@types/ui-react/index.d.ts +6 -1
  63. package/@types/ui-react/with-schemas/index.d.ts +6 -1
  64. package/@types/ui-react-dom/index.d.ts +153 -20
  65. package/@types/ui-react-dom/with-schemas/index.d.ts +72 -20
  66. package/@types/ui-react-inspector/index.d.ts +8 -0
  67. package/@types/ui-react-inspector/with-schemas/index.d.ts +27 -1925
  68. package/agents.md +343 -0
  69. package/checkpoints/index.js +11 -6
  70. package/checkpoints/with-schemas/index.js +11 -6
  71. package/common/index.js +8 -4
  72. package/common/with-schemas/index.js +8 -4
  73. package/index.js +63 -31
  74. package/indexes/index.js +10 -5
  75. package/indexes/with-schemas/index.js +10 -5
  76. package/mergeable-store/index.js +54 -22
  77. package/mergeable-store/with-schemas/index.js +54 -22
  78. package/metrics/index.js +10 -5
  79. package/metrics/with-schemas/index.js +10 -5
  80. package/min/checkpoints/index.js +1 -1
  81. package/min/checkpoints/index.js.gz +0 -0
  82. package/min/checkpoints/with-schemas/index.js +1 -1
  83. package/min/checkpoints/with-schemas/index.js.gz +0 -0
  84. package/min/common/index.js +1 -1
  85. package/min/common/index.js.gz +0 -0
  86. package/min/common/with-schemas/index.js +1 -1
  87. package/min/common/with-schemas/index.js.gz +0 -0
  88. package/min/index.js +1 -1
  89. package/min/index.js.gz +0 -0
  90. package/min/indexes/index.js +1 -1
  91. package/min/indexes/index.js.gz +0 -0
  92. package/min/indexes/with-schemas/index.js +1 -1
  93. package/min/indexes/with-schemas/index.js.gz +0 -0
  94. package/min/mergeable-store/index.js +1 -1
  95. package/min/mergeable-store/index.js.gz +0 -0
  96. package/min/mergeable-store/with-schemas/index.js +1 -1
  97. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  98. package/min/metrics/index.js +1 -1
  99. package/min/metrics/index.js.gz +0 -0
  100. package/min/metrics/with-schemas/index.js +1 -1
  101. package/min/metrics/with-schemas/index.js.gz +0 -0
  102. package/min/omni/index.js +1 -1
  103. package/min/omni/index.js.gz +0 -0
  104. package/min/omni/with-schemas/index.js +1 -1
  105. package/min/omni/with-schemas/index.js.gz +0 -0
  106. package/min/persisters/index.js +1 -1
  107. package/min/persisters/index.js.gz +0 -0
  108. package/min/persisters/persister-automerge/index.js +1 -1
  109. package/min/persisters/persister-automerge/index.js.gz +0 -0
  110. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  111. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  112. package/min/persisters/persister-browser/index.js +1 -1
  113. package/min/persisters/persister-browser/index.js.gz +0 -0
  114. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  115. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  116. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  117. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  118. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  119. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  120. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  121. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  122. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  123. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  124. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  125. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  126. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  127. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  128. package/min/persisters/persister-electric-sql/index.js +1 -1
  129. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  130. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  131. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  132. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  133. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  134. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  135. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  136. package/min/persisters/persister-file/index.js +1 -1
  137. package/min/persisters/persister-file/index.js.gz +0 -0
  138. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  139. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  140. package/min/persisters/persister-indexed-db/index.js +1 -1
  141. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  142. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  143. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  144. package/min/persisters/persister-libsql/index.js +1 -1
  145. package/min/persisters/persister-libsql/index.js.gz +0 -0
  146. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  147. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  148. package/min/persisters/persister-partykit-client/index.js +1 -1
  149. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  150. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  151. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  152. package/min/persisters/persister-partykit-server/index.js +1 -1
  153. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  154. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  155. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  156. package/min/persisters/persister-pglite/index.js +1 -1
  157. package/min/persisters/persister-pglite/index.js.gz +0 -0
  158. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  159. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  160. package/min/persisters/persister-postgres/index.js +1 -1
  161. package/min/persisters/persister-postgres/index.js.gz +0 -0
  162. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  163. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  164. package/min/persisters/persister-powersync/index.js +1 -1
  165. package/min/persisters/persister-powersync/index.js.gz +0 -0
  166. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  167. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  168. package/min/persisters/persister-react-native-mmkv/index.js +1 -0
  169. package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
  170. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -0
  171. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
  172. package/min/persisters/persister-react-native-sqlite/index.js +1 -0
  173. package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
  174. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -0
  175. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
  176. package/min/persisters/persister-remote/index.js +1 -1
  177. package/min/persisters/persister-remote/index.js.gz +0 -0
  178. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  179. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  180. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  181. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  182. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  183. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  184. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  185. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  186. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  187. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  188. package/min/persisters/persister-sqlite3/index.js +1 -1
  189. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  190. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  191. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  192. package/min/persisters/persister-yjs/index.js +1 -1
  193. package/min/persisters/persister-yjs/index.js.gz +0 -0
  194. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  195. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  196. package/min/persisters/with-schemas/index.js +1 -1
  197. package/min/persisters/with-schemas/index.js.gz +0 -0
  198. package/min/queries/index.js +1 -1
  199. package/min/queries/index.js.gz +0 -0
  200. package/min/queries/with-schemas/index.js +1 -1
  201. package/min/queries/with-schemas/index.js.gz +0 -0
  202. package/min/relationships/index.js +1 -1
  203. package/min/relationships/index.js.gz +0 -0
  204. package/min/relationships/with-schemas/index.js +1 -1
  205. package/min/relationships/with-schemas/index.js.gz +0 -0
  206. package/min/store/index.js +1 -1
  207. package/min/store/index.js.gz +0 -0
  208. package/min/store/with-schemas/index.js +1 -1
  209. package/min/store/with-schemas/index.js.gz +0 -0
  210. package/min/synchronizers/index.js +1 -1
  211. package/min/synchronizers/index.js.gz +0 -0
  212. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  213. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  214. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  215. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  216. package/min/synchronizers/synchronizer-local/index.js +1 -1
  217. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  218. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  219. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  220. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  221. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  222. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  223. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  224. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  225. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  226. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  227. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  228. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  229. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  230. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  231. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  232. package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  233. package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  234. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  235. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  236. package/min/synchronizers/with-schemas/index.js +1 -1
  237. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  238. package/min/ui-react/index.js +1 -1
  239. package/min/ui-react/index.js.gz +0 -0
  240. package/min/ui-react/with-schemas/index.js +1 -1
  241. package/min/ui-react/with-schemas/index.js.gz +0 -0
  242. package/min/ui-react-dom/index.js +1 -1
  243. package/min/ui-react-dom/index.js.gz +0 -0
  244. package/min/ui-react-dom/with-schemas/index.js +1 -1
  245. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  246. package/min/ui-react-inspector/index.js +1 -1
  247. package/min/ui-react-inspector/index.js.gz +0 -0
  248. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  249. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  250. package/min/with-schemas/index.js +1 -1
  251. package/min/with-schemas/index.js.gz +0 -0
  252. package/omni/index.js +2178 -1203
  253. package/omni/with-schemas/index.js +2178 -1203
  254. package/package.json +91 -11
  255. package/persisters/index.js +16 -10
  256. package/persisters/persister-automerge/index.js +15 -9
  257. package/persisters/persister-automerge/with-schemas/index.js +15 -9
  258. package/persisters/persister-browser/index.js +41 -9
  259. package/persisters/persister-browser/with-schemas/index.js +41 -9
  260. package/persisters/persister-cr-sqlite-wasm/index.js +16 -10
  261. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +16 -10
  262. package/persisters/persister-durable-object-sql-storage/index.js +16 -10
  263. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +16 -10
  264. package/persisters/persister-durable-object-storage/index.js +14 -8
  265. package/persisters/persister-durable-object-storage/with-schemas/index.js +14 -8
  266. package/persisters/persister-electric-sql/index.js +16 -10
  267. package/persisters/persister-electric-sql/with-schemas/index.js +16 -10
  268. package/persisters/persister-expo-sqlite/index.js +16 -10
  269. package/persisters/persister-expo-sqlite/with-schemas/index.js +16 -10
  270. package/persisters/persister-file/index.js +14 -8
  271. package/persisters/persister-file/with-schemas/index.js +14 -8
  272. package/persisters/persister-indexed-db/index.js +14 -8
  273. package/persisters/persister-indexed-db/with-schemas/index.js +14 -8
  274. package/persisters/persister-libsql/index.js +16 -10
  275. package/persisters/persister-libsql/with-schemas/index.js +16 -10
  276. package/persisters/persister-partykit-client/index.js +14 -8
  277. package/persisters/persister-partykit-client/with-schemas/index.js +14 -8
  278. package/persisters/persister-partykit-server/index.js +7 -3
  279. package/persisters/persister-partykit-server/with-schemas/index.js +7 -3
  280. package/persisters/persister-pglite/index.js +15 -9
  281. package/persisters/persister-pglite/with-schemas/index.js +15 -9
  282. package/persisters/persister-postgres/index.js +15 -9
  283. package/persisters/persister-postgres/with-schemas/index.js +15 -9
  284. package/persisters/persister-powersync/index.js +16 -10
  285. package/persisters/persister-powersync/with-schemas/index.js +16 -10
  286. package/persisters/persister-react-native-mmkv/index.js +465 -0
  287. package/persisters/persister-react-native-mmkv/with-schemas/index.js +465 -0
  288. package/persisters/persister-react-native-sqlite/index.js +1195 -0
  289. package/persisters/persister-react-native-sqlite/with-schemas/index.js +1195 -0
  290. package/persisters/persister-remote/index.js +16 -10
  291. package/persisters/persister-remote/with-schemas/index.js +16 -10
  292. package/persisters/persister-sqlite-bun/index.js +16 -10
  293. package/persisters/persister-sqlite-bun/with-schemas/index.js +16 -10
  294. package/persisters/persister-sqlite-wasm/index.js +16 -10
  295. package/persisters/persister-sqlite-wasm/with-schemas/index.js +16 -10
  296. package/persisters/persister-sqlite3/index.js +16 -10
  297. package/persisters/persister-sqlite3/with-schemas/index.js +16 -10
  298. package/persisters/persister-yjs/index.js +20 -12
  299. package/persisters/persister-yjs/with-schemas/index.js +20 -12
  300. package/persisters/with-schemas/index.js +16 -10
  301. package/queries/index.js +20 -12
  302. package/queries/with-schemas/index.js +20 -12
  303. package/readme.md +13 -13
  304. package/relationships/index.js +10 -5
  305. package/relationships/with-schemas/index.js +10 -5
  306. package/releases.md +179 -41
  307. package/store/index.js +50 -18
  308. package/store/with-schemas/index.js +50 -18
  309. package/synchronizers/index.js +16 -10
  310. package/synchronizers/synchronizer-broadcast-channel/index.js +17 -11
  311. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +17 -11
  312. package/synchronizers/synchronizer-local/index.js +17 -11
  313. package/synchronizers/synchronizer-local/with-schemas/index.js +17 -11
  314. package/synchronizers/synchronizer-ws-client/index.js +16 -10
  315. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +16 -10
  316. package/synchronizers/synchronizer-ws-server/index.js +16 -10
  317. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +16 -10
  318. package/synchronizers/synchronizer-ws-server-durable-object/index.js +16 -10
  319. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +16 -10
  320. package/synchronizers/synchronizer-ws-server-simple/index.js +8 -4
  321. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +8 -4
  322. package/synchronizers/with-schemas/index.js +16 -10
  323. package/ui-react/index.js +408 -374
  324. package/ui-react/with-schemas/index.js +408 -374
  325. package/ui-react-dom/index.js +883 -437
  326. package/ui-react-dom/with-schemas/index.js +883 -437
  327. package/ui-react-inspector/index.js +1761 -556
  328. package/ui-react-inspector/with-schemas/index.js +1761 -556
  329. package/with-schemas/index.js +63 -31
@@ -44,9 +44,9 @@ export type TablesSchema = {[tableId: Id]: {[cellId: Id]: CellSchema}};
44
44
  * The CellSchema type describes what values are allowed for each Cell in a
45
45
  * Table.
46
46
  *
47
- * A CellSchema specifies the type of the Cell (`string`, `boolean`, or
48
- * `number`), and what the default value can be when an explicit value is not
49
- * specified.
47
+ * A CellSchema specifies the type of the Cell (`string`, `boolean`, `number`;
48
+ * or `null`, since v7.0), and what the default value can be when an explicit
49
+ * value is not specified.
50
50
  *
51
51
  * If a default value is provided (and its type is correct), you can be certain
52
52
  * that that Cell will always be present in a Row.
@@ -70,9 +70,9 @@ export type TablesSchema = {[tableId: Id]: {[cellId: Id]: CellSchema}};
70
70
  * @since v1.0.0
71
71
  */
72
72
  export type CellSchema =
73
- | {type: 'string'; default?: string}
74
- | {type: 'number'; default?: number}
75
- | {type: 'boolean'; default?: boolean};
73
+ | {type: 'string'; default?: string | null; allowNull?: boolean}
74
+ | {type: 'number'; default?: number | null; allowNull?: boolean}
75
+ | {type: 'boolean'; default?: boolean | null; allowNull?: boolean};
76
76
 
77
77
  /**
78
78
  * The ValuesSchema type describes the keyed Values that can be set in a Store
@@ -100,9 +100,9 @@ export type ValuesSchema = {[valueId: Id]: ValueSchema};
100
100
  * The ValueSchema type describes what values are allowed for keyed Values in a
101
101
  * Store.
102
102
  *
103
- * A ValueSchema specifies the type of the Value (`string`, `boolean`, or
104
- * `number`), and what the default value can be when an explicit value is not
105
- * specified.
103
+ * A ValueSchema specifies the type of the Value (`string`, `boolean`, `number`;
104
+ * or `null` since v7.0), and what the default value can be when an explicit
105
+ * value is not specified.
106
106
  *
107
107
  * If a default value is provided (and its type is correct), you can be certain
108
108
  * that the Value will always be present in a Store.
@@ -126,9 +126,9 @@ export type ValuesSchema = {[valueId: Id]: ValueSchema};
126
126
  * @since v3.0.0
127
127
  */
128
128
  export type ValueSchema =
129
- | {type: 'string'; default?: string}
130
- | {type: 'number'; default?: number}
131
- | {type: 'boolean'; default?: boolean};
129
+ | {type: 'string'; default?: string | null; allowNull?: boolean}
130
+ | {type: 'number'; default?: number | null; allowNull?: boolean}
131
+ | {type: 'boolean'; default?: boolean | null; allowNull?: boolean};
132
132
 
133
133
  /**
134
134
  * The NoTablesSchema type is a TablesSchema-like type for when one has not been
@@ -280,7 +280,7 @@ export type Row = {[cellId: Id]: Cell};
280
280
  *
281
281
  * A Cell is used when setting a cell with the setCell method, and when getting
282
282
  * it back out again with the getCell method. A Cell is a JavaScript string,
283
- * number, or boolean.
283
+ * number, boolean; or null since v7.0.
284
284
  * @example
285
285
  * ```js
286
286
  * import type {Cell} from 'tinybase';
@@ -290,7 +290,7 @@ export type Row = {[cellId: Id]: Cell};
290
290
  * @category Store
291
291
  * @since v1.0.0
292
292
  */
293
- export type Cell = string | number | boolean;
293
+ export type Cell = string | number | boolean | null;
294
294
 
295
295
  /**
296
296
  * The CellOrUndefined type is a data structure representing the data in a
@@ -329,7 +329,7 @@ export type Values = {[valueId: Id]: Value};
329
329
  *
330
330
  * A Value is used when setting a value with the setValue method, and when
331
331
  * getting it back out again with the getValue method. A Value is a JavaScript
332
- * string, number, or boolean.
332
+ * string, number, boolean; or null since v7.0.
333
333
  * @example
334
334
  * ```js
335
335
  * import type {Value} from 'tinybase';
@@ -339,7 +339,7 @@ export type Values = {[valueId: Id]: Value};
339
339
  * @category Store
340
340
  * @since v3.0.0
341
341
  */
342
- export type Value = string | number | boolean;
342
+ export type Value = string | number | boolean | null;
343
343
 
344
344
  /**
345
345
  * The ValueOrUndefined type is a data structure representing the data in a
@@ -1704,13 +1704,14 @@ export type StoreListenerStats = {
1704
1704
  *
1705
1705
  * The keyed value support is best thought of as a flat JavaScript object. The
1706
1706
  * Store contains a number of Value objects, each with a unique ID, and which is
1707
- * a string, boolean, or number.
1707
+ * a string, boolean, number; or null since v7.0.
1708
1708
  *
1709
1709
  * ```json
1710
1710
  * { // Store
1711
1711
  * "value1": "one", // Value (string)
1712
1712
  * "value2": true, // Value (boolean)
1713
1713
  * "value3": 3, // Value (number)
1714
+ * "value4": null, // Value (null since v7.0)
1714
1715
  * ...
1715
1716
  * }
1716
1717
  * ```
@@ -1727,7 +1728,7 @@ export type StoreListenerStats = {
1727
1728
  * - Each Table contains a number of Row objects.
1728
1729
  * - Each Row contains a number of Cell objects.
1729
1730
  *
1730
- * A Cell is a string, boolean, or number value.
1731
+ * A Cell is a string, boolean, number; or null since v7.0.
1731
1732
  *
1732
1733
  * The members of each level of this hierarchy are identified with a unique Id
1733
1734
  * (which is a string). In other words you can naively think of a Store as a
@@ -1740,6 +1741,7 @@ export type StoreListenerStats = {
1740
1741
  * "cell1": "one", // Cell (string)
1741
1742
  * "cell2": true, // Cell (boolean)
1742
1743
  * "cell3": 3, // Cell (number)
1744
+ * "cell4": null, // Cell (null since v7.0)
1743
1745
  * ...
1744
1746
  * },
1745
1747
  * ...
@@ -1872,6 +1874,7 @@ export type StoreListenerStats = {
1872
1874
  * @see Hello World demos
1873
1875
  * @see Todo App demos
1874
1876
  * @category Store
1877
+ * @essential Creating stores
1875
1878
  * @since v1.0.0
1876
1879
  */
1877
1880
  export interface Store {
@@ -2321,6 +2324,7 @@ export interface Store {
2321
2324
  * // -> {}
2322
2325
  * ```
2323
2326
  * @category Getter
2327
+ * @essential Getting data
2324
2328
  * @since v1.0.0
2325
2329
  */
2326
2330
  getRow(tableId: Id, rowId: Id): Row;
@@ -2394,6 +2398,7 @@ export interface Store {
2394
2398
  * // -> undefined
2395
2399
  * ```
2396
2400
  * @category Getter
2401
+ * @essential Getting data
2397
2402
  * @since v1.0.0
2398
2403
  */
2399
2404
  getCell(tableId: Id, rowId: Id, cellId: Id): CellOrUndefined;
@@ -2489,6 +2494,7 @@ export interface Store {
2489
2494
  * // -> undefined
2490
2495
  * ```
2491
2496
  * @category Getter
2497
+ * @essential Getting data
2492
2498
  * @since v3.0.0
2493
2499
  */
2494
2500
  getValue(valueId: Id): ValueOrUndefined;
@@ -3157,6 +3163,7 @@ export interface Store {
3157
3163
  * // -> {pets: {fido: {color: 'brown'}}}
3158
3164
  * ```
3159
3165
  * @category Setter
3166
+ * @essential Setting data
3160
3167
  * @since v1.0.0
3161
3168
  */
3162
3169
  setRow(tableId: Id, rowId: Id, row: Row): this;
@@ -3223,6 +3230,7 @@ export interface Store {
3223
3230
  * // -> {pets: {'0': {species: 'dog'}, '1': {species: 'cat'}}}
3224
3231
  * ```
3225
3232
  * @category Setter
3233
+ * @essential Setting data
3226
3234
  * @since v1.0.0
3227
3235
  */
3228
3236
  addRow(tableId: Id, row: Row, reuseRowIds?: boolean): Id | undefined;
@@ -3343,6 +3351,7 @@ export interface Store {
3343
3351
  * // -> {pets: {fido: {species: 'dog'}}}
3344
3352
  * ```
3345
3353
  * @category Setter
3354
+ * @essential Setting data
3346
3355
  * @since v1.0.0
3347
3356
  */
3348
3357
  setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell): this;
@@ -3506,6 +3515,7 @@ export interface Store {
3506
3515
  * // -> {employees: 3}
3507
3516
  * ```
3508
3517
  * @category Setter
3518
+ * @essential Setting data
3509
3519
  * @since v3.0.0
3510
3520
  */
3511
3521
  setValue(valueId: Id, value: Value | MapValue): this;
@@ -3539,7 +3549,7 @@ export interface Store {
3539
3549
  * .setTables({pets: {fido: {species: 'dog', color: 'brown'}}})
3540
3550
  * .setValues({open: true});
3541
3551
  *
3542
- * store.applyChanges([{pets: {fido: {color: 'black'}}}, {open: null}]);
3552
+ * store.applyChanges([{pets: {fido: {color: 'black'}}}, {open: undefined}]);
3543
3553
  * console.log(store.getTables());
3544
3554
  * // -> {pets: {fido: {species: 'dog', color: 'black'}}}
3545
3555
  * console.log(store.getValues());
@@ -4263,6 +4273,7 @@ export interface Store {
4263
4273
  * // -> {open: true}
4264
4274
  * ```
4265
4275
  * @category Transaction
4276
+ * @essential Setting data
4266
4277
  * @since v1.0.0
4267
4278
  */
4268
4279
  transaction<Return>(actions: () => Return, doRollback?: DoRollback): Return;
@@ -6025,6 +6036,7 @@ export interface Store {
6025
6036
  * store.delListener(listenerId);
6026
6037
  * ```
6027
6038
  * @category Listener
6039
+ * @essential Listening for changes
6028
6040
  * @since v1.0.0
6029
6041
  */
6030
6042
  addRowListener(
@@ -6392,6 +6404,7 @@ export interface Store {
6392
6404
  * store.delListener(listenerId);
6393
6405
  * ```
6394
6406
  * @category Listener
6407
+ * @essential Listening for changes
6395
6408
  * @since v1.0.0
6396
6409
  */
6397
6410
  addCellListener(
@@ -6794,6 +6807,7 @@ export interface Store {
6794
6807
  * store.delListener(listenerId);
6795
6808
  * ```
6796
6809
  * @category Listener
6810
+ * @essential Listening for changes
6797
6811
  * @since v3.0.0
6798
6812
  */
6799
6813
  addValueListener(
@@ -7715,6 +7729,7 @@ export interface Store {
7715
7729
  * ```
7716
7730
  * @see The Basics guides
7717
7731
  * @category Creation
7732
+ * @essential Creating stores
7718
7733
  * @since v1.0.0
7719
7734
  */
7720
7735
  export function createStore(): Store;
@@ -60,9 +60,9 @@ export type TablesSchema = {[tableId: Id]: {[cellId: Id]: CellSchema}};
60
60
  * The CellSchema type describes what values are allowed for each Cell in a
61
61
  * Table.
62
62
  *
63
- * A CellSchema specifies the type of the Cell (`string`, `boolean`, or
64
- * `number`), and what the default value can be when an explicit value is not
65
- * specified.
63
+ * A CellSchema specifies the type of the Cell (`string`, `boolean`, `number`;
64
+ * or `null`, since v7.0), and what the default value can be when an explicit
65
+ * value is not specified.
66
66
  *
67
67
  * If a default value is provided (and its type is correct), you can be certain
68
68
  * that that Cell will always be present in a Row.
@@ -116,9 +116,9 @@ export type ValuesSchema = {[valueId: Id]: ValueSchema};
116
116
  * The ValueSchema type describes what values are allowed for keyed Values in a
117
117
  * Store.
118
118
  *
119
- * A ValueSchema specifies the type of the Value (`string`, `boolean`, or
120
- * `number`), and what the default value can be when an explicit value is not
121
- * specified.
119
+ * A ValueSchema specifies the type of the Value (`string`, `boolean`, `number`;
120
+ * or `null` since v7.0), and what the default value can be when an explicit
121
+ * value is not specified.
122
122
  *
123
123
  * If a default value is provided (and its type is correct), you can be certain
124
124
  * that the Value will always be present in a Store.
@@ -361,12 +361,12 @@ export type Row<
361
361
  * This has schema-based typing. The following is a simplified representation:
362
362
  *
363
363
  * ```ts override
364
- * string | number | boolean;
364
+ * string | number | boolean | null;
365
365
  * ```
366
366
  *
367
367
  * A Cell is used when setting a cell with the setCell method, and when getting
368
368
  * it back out again with the getCell method. A Cell is a JavaScript string,
369
- * number, or boolean.
369
+ * number, boolean; or null since v7.0.
370
370
  * @example
371
371
  * ```js
372
372
  * import type {Cell} from 'tinybase';
@@ -463,12 +463,12 @@ export type Values<
463
463
  * This has schema-based typing. The following is a simplified representation:
464
464
  *
465
465
  * ```ts override
466
- * string | number | boolean;
466
+ * string | number | boolean | null;
467
467
  * ```
468
468
  *
469
469
  * A Value is used when setting a value with the setValue method, and when
470
470
  * getting it back out again with the getValue method. A Value is a JavaScript
471
- * string, number, or boolean.
471
+ * string, number, boolean; or null since v7.0.
472
472
  * @example
473
473
  * ```js
474
474
  * import type {Value} from 'tinybase';
@@ -2675,13 +2675,14 @@ export type StoreListenerStats = {
2675
2675
  *
2676
2676
  * The keyed value support is best thought of as a flat JavaScript object. The
2677
2677
  * Store contains a number of Value objects, each with a unique ID, and which is
2678
- * a string, boolean, or number.
2678
+ * a string, boolean, number; or null since v7.0.
2679
2679
  *
2680
2680
  * ```json
2681
2681
  * { // Store
2682
2682
  * "value1": "one", // Value (string)
2683
2683
  * "value2": true, // Value (boolean)
2684
2684
  * "value3": 3, // Value (number)
2685
+ * "value4": null, // Value (null since v7.0)
2685
2686
  * ...
2686
2687
  * }
2687
2688
  * ```
@@ -2698,7 +2699,7 @@ export type StoreListenerStats = {
2698
2699
  * - Each Table contains a number of Row objects.
2699
2700
  * - Each Row contains a number of Cell objects.
2700
2701
  *
2701
- * A Cell is a string, boolean, or number value.
2702
+ * A Cell is a string, boolean, number; or null since v7.0.
2702
2703
  *
2703
2704
  * The members of each level of this hierarchy are identified with a unique Id
2704
2705
  * (which is a string). In other words you can naively think of a Store as a
@@ -2711,6 +2712,7 @@ export type StoreListenerStats = {
2711
2712
  * "cell1": "one", // Cell (string)
2712
2713
  * "cell2": true, // Cell (boolean)
2713
2714
  * "cell3": 3, // Cell (number)
2715
+ * "cell4": null, // Cell (null since v7.0)
2714
2716
  * ...
2715
2717
  * },
2716
2718
  * ...
@@ -2843,6 +2845,7 @@ export type StoreListenerStats = {
2843
2845
  * @see Hello World demos
2844
2846
  * @see Todo App demos
2845
2847
  * @category Store
2848
+ * @essential Creating stores
2846
2849
  * @since v1.0.0
2847
2850
  */
2848
2851
  export interface Store<in out Schemas extends OptionalSchemas> {
@@ -3363,6 +3366,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3363
3366
  * // -> {}
3364
3367
  * ```
3365
3368
  * @category Getter
3369
+ * @essential Getting data
3366
3370
  * @since v1.0.0
3367
3371
  */
3368
3372
  getRow<TableId extends TableIdFromSchema<Schemas[0]>>(
@@ -3454,6 +3458,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3454
3458
  * // -> undefined
3455
3459
  * ```
3456
3460
  * @category Getter
3461
+ * @essential Getting data
3457
3462
  * @since v1.0.0
3458
3463
  */
3459
3464
  getCell<
@@ -3574,6 +3579,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3574
3579
  * // -> undefined
3575
3580
  * ```
3576
3581
  * @category Getter
3582
+ * @essential Getting data
3577
3583
  * @since v3.0.0
3578
3584
  */
3579
3585
  getValue<ValueId extends ValueIdFromSchema<Schemas[1]>>(
@@ -4310,6 +4316,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4310
4316
  * // -> {pets: {fido: {color: 'brown'}}}
4311
4317
  * ```
4312
4318
  * @category Setter
4319
+ * @essential Setting data
4313
4320
  * @since v1.0.0
4314
4321
  */
4315
4322
  setRow<TableId extends TableIdFromSchema<Schemas[0]>>(
@@ -4386,6 +4393,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4386
4393
  * // -> {pets: {'0': {species: 'dog'}, '1': {species: 'cat'}}}
4387
4394
  * ```
4388
4395
  * @category Setter
4396
+ * @essential Setting data
4389
4397
  * @since v1.0.0
4390
4398
  */
4391
4399
  addRow<TableId extends TableIdFromSchema<Schemas[0]>>(
@@ -4526,6 +4534,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4526
4534
  * // -> {pets: {fido: {species: 'dog'}}}
4527
4535
  * ```
4528
4536
  * @category Setter
4537
+ * @essential Setting data
4529
4538
  * @since v1.0.0
4530
4539
  */
4531
4540
  setCell<
@@ -4717,6 +4726,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4717
4726
  * // -> {employees: 3}
4718
4727
  * ```
4719
4728
  * @category Setter
4729
+ * @essential Setting data
4720
4730
  * @since v3.0.0
4721
4731
  */
4722
4732
  setValue<ValueId extends ValueIdFromSchema<Schemas[1]>>(
@@ -4759,7 +4769,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4759
4769
  * .setTables({pets: {fido: {species: 'dog', color: 'brown'}}})
4760
4770
  * .setValues({open: true});
4761
4771
  *
4762
- * store.applyChanges([{pets: {fido: {color: 'black'}}}, {open: null}]);
4772
+ * store.applyChanges([{pets: {fido: {color: 'black'}}}, {open: undefined}]);
4763
4773
  * console.log(store.getTables());
4764
4774
  * // -> {pets: {fido: {species: 'dog', color: 'black'}}}
4765
4775
  * console.log(store.getValues());
@@ -5572,6 +5582,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5572
5582
  * // -> {open: true}
5573
5583
  * ```
5574
5584
  * @category Transaction
5585
+ * @essential Setting data
5575
5586
  * @since v1.0.0
5576
5587
  */
5577
5588
  transaction<Return>(
@@ -7551,6 +7562,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7551
7562
  * store.delListener(listenerId);
7552
7563
  * ```
7553
7564
  * @category Listener
7565
+ * @essential Listening for changes
7554
7566
  * @since v1.0.0
7555
7567
  */
7556
7568
  addRowListener<
@@ -7973,6 +7985,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7973
7985
  * store.delListener(listenerId);
7974
7986
  * ```
7975
7987
  * @category Listener
7988
+ * @essential Listening for changes
7976
7989
  * @since v1.0.0
7977
7990
  */
7978
7991
  addCellListener<
@@ -8438,6 +8451,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8438
8451
  * store.delListener(listenerId);
8439
8452
  * ```
8440
8453
  * @category Listener
8454
+ * @essential Listening for changes
8441
8455
  * @since v3.0.0
8442
8456
  */
8443
8457
  addValueListener<ValueIdOrNull extends ValueIdFromSchema<Schemas[1]> | null>(
@@ -9408,6 +9422,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
9408
9422
  * ```
9409
9423
  * @see The Basics guides
9410
9424
  * @category Creation
9425
+ * @essential Creating stores
9411
9426
  * @since v1.0.0
9412
9427
  */
9413
9428
  export function createStore(): Store<NoSchemas>;
@@ -198,6 +198,7 @@ export type SynchronizerStats = {
198
198
  * await synchronizer2.destroy();
199
199
  * ```
200
200
  * @category Synchronizer
201
+ * @essential Synchronizing stores
201
202
  * @since v5.0.0
202
203
  */
203
204
  export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
@@ -24,8 +24,9 @@ import type {Receive, Send, Synchronizer} from '../../with-schemas/index.d.ts';
24
24
  * @category Synchronizer
25
25
  * @since v5.0.0
26
26
  */
27
- export interface BroadcastChannelSynchronizer<Schemas extends OptionalSchemas>
28
- extends Synchronizer<Schemas> {
27
+ export interface BroadcastChannelSynchronizer<
28
+ Schemas extends OptionalSchemas,
29
+ > extends Synchronizer<Schemas> {
29
30
  /**
30
31
  * The getChannelName method returns the name of the channel being used for
31
32
  * synchronization.
@@ -35,8 +35,9 @@ import type {Receive, Send, Synchronizer} from '../../with-schemas/index.d.ts';
35
35
  * @category Synchronizer
36
36
  * @since v5.0.0
37
37
  */
38
- export interface LocalSynchronizer<Schemas extends OptionalSchemas>
39
- extends Synchronizer<Schemas> {}
38
+ export interface LocalSynchronizer<
39
+ Schemas extends OptionalSchemas,
40
+ > extends Synchronizer<Schemas> {}
40
41
 
41
42
  /**
42
43
  * The createLocalSynchronizer function creates a LocalSynchronizer object that
@@ -38,8 +38,9 @@ export type WebSocketTypes = WebSocket | WsWebSocket;
38
38
  * @category Synchronizer
39
39
  * @since v5.0.0
40
40
  */
41
- export interface WsSynchronizer<WebSocketType extends WebSocketTypes>
42
- extends Synchronizer {
41
+ export interface WsSynchronizer<
42
+ WebSocketType extends WebSocketTypes,
43
+ > extends Synchronizer {
43
44
  /**
44
45
  * The getWebSocket method returns a reference to the WebSocket being used for
45
46
  * synchronization.
@@ -148,6 +149,7 @@ export interface WsSynchronizer<WebSocketType extends WebSocketTypes>
148
149
  * await server.destroy();
149
150
  * ```
150
151
  * @category Creation
152
+ * @essential Synchronizing stores
151
153
  * @since v5.0.0
152
154
  */
153
155
  export function createWsSynchronizer<WebSocketType extends WebSocketTypes>(
@@ -164,6 +164,7 @@ export interface WsSynchronizer<
164
164
  * await server.destroy();
165
165
  * ```
166
166
  * @category Creation
167
+ * @essential Synchronizing stores
167
168
  * @since v5.0.0
168
169
  */
169
170
  export function createWsSynchronizer<
@@ -537,7 +537,7 @@ export interface WsServer {
537
537
  * import {createMergeableStore} from 'tinybase';
538
538
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
539
539
  * import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
540
- * import {WebSocketServer} from 'ws';
540
+ * import {WebSocket, WebSocketServer} from 'ws';
541
541
  *
542
542
  * // Server
543
543
  * const server = createWsServer(new WebSocketServer({port: 8047}));
@@ -583,7 +583,7 @@ export interface WsServer {
583
583
  * import {createFilePersister} from 'tinybase/persisters/persister-file';
584
584
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
585
585
  * import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
586
- * import {WebSocketServer} from 'ws';
586
+ * import {WebSocket, WebSocketServer} from 'ws';
587
587
  *
588
588
  * // Server
589
589
  * const server = createWsServer(
@@ -591,7 +591,7 @@ export interface WsServer {
591
591
  * (pathId) =>
592
592
  * createFilePersister(
593
593
  * createMergeableStore(),
594
- * pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
594
+ * './tmp/' + pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
595
595
  * ),
596
596
  * );
597
597
  *
@@ -641,7 +641,7 @@ export interface WsServer {
641
641
  * await server.destroy();
642
642
  *
643
643
  * // Remove file for the purposes of this demo.
644
- * rmSync('petShop.json');
644
+ * rmSync('./tmp/petShop.json');
645
645
  * ```
646
646
  * @example
647
647
  * This example creates a WsServer that persists a MergeableStore to file that
@@ -654,7 +654,7 @@ export interface WsServer {
654
654
  * import {createFilePersister} from 'tinybase/persisters/persister-file';
655
655
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
656
656
  * import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
657
- * import {WebSocketServer} from 'ws';
657
+ * import {WebSocket, WebSocketServer} from 'ws';
658
658
  *
659
659
  * // Server
660
660
  * const server = createWsServer(
@@ -662,7 +662,7 @@ export interface WsServer {
662
662
  * (pathId) => [
663
663
  * createFilePersister(
664
664
  * createMergeableStore(),
665
- * pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
665
+ * './tmp/' + pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
666
666
  * ),
667
667
  * (store) => store.setValue('pathId', pathId),
668
668
  * ],
@@ -684,7 +684,7 @@ export interface WsServer {
684
684
  * await server.destroy();
685
685
  *
686
686
  * // Remove file for the purposes of this demo.
687
- * rmSync('petShop.json');
687
+ * rmSync('./tmp/petShop.json');
688
688
  * ```
689
689
  * @example
690
690
  * This example creates a WsServer with a custom listener that displays
@@ -564,7 +564,7 @@ export interface WsServer {
564
564
  * import {createMergeableStore} from 'tinybase';
565
565
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
566
566
  * import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
567
- * import {WebSocketServer} from 'ws';
567
+ * import {WebSocket, WebSocketServer} from 'ws';
568
568
  *
569
569
  * // Server
570
570
  * const server = createWsServer(new WebSocketServer({port: 8047}));
@@ -610,7 +610,7 @@ export interface WsServer {
610
610
  * import {createFilePersister} from 'tinybase/persisters/persister-file';
611
611
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
612
612
  * import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
613
- * import {WebSocketServer} from 'ws';
613
+ * import {WebSocket, WebSocketServer} from 'ws';
614
614
  *
615
615
  * // Server
616
616
  * const server = createWsServer(
@@ -618,7 +618,7 @@ export interface WsServer {
618
618
  * (pathId) =>
619
619
  * createFilePersister(
620
620
  * createMergeableStore(),
621
- * pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
621
+ * './tmp/' + pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
622
622
  * ),
623
623
  * );
624
624
  *
@@ -668,7 +668,7 @@ export interface WsServer {
668
668
  * await server.destroy();
669
669
  *
670
670
  * // Remove file for the purposes of this demo.
671
- * rmSync('petShop.json');
671
+ * rmSync('./tmp/petShop.json');
672
672
  * ```
673
673
  * @example
674
674
  * This example creates a WsServer that persists a MergeableStore to file that
@@ -681,7 +681,7 @@ export interface WsServer {
681
681
  * import {createFilePersister} from 'tinybase/persisters/persister-file';
682
682
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
683
683
  * import {createWsServer} from 'tinybase/synchronizers/synchronizer-ws-server';
684
- * import {WebSocketServer} from 'ws';
684
+ * import {WebSocket, WebSocketServer} from 'ws';
685
685
  *
686
686
  * // Server
687
687
  * const server = createWsServer(
@@ -689,7 +689,7 @@ export interface WsServer {
689
689
  * (pathId) => [
690
690
  * createFilePersister(
691
691
  * createMergeableStore(),
692
- * pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
692
+ * './tmp/' + pathId.replace(/[^a-zA-Z0-9]/g, '-') + '.json',
693
693
  * ),
694
694
  * (store) => store.setValue('pathId', pathId),
695
695
  * ],
@@ -711,7 +711,7 @@ export interface WsServer {
711
711
  * await server.destroy();
712
712
  *
713
713
  * // Remove file for the purposes of this demo.
714
- * rmSync('petShop.json');
714
+ * rmSync('./tmp/petShop.json');
715
715
  * ```
716
716
  * @example
717
717
  * This example creates a WsServer with a custom listener that displays
@@ -28,6 +28,7 @@ import type {Persister, Persists} from '../../persisters/index.d.ts';
28
28
  * TinyBase uses (the constructor, `fetch`, `webSocketMessage`, and
29
29
  * `webSocketClose`) if you further override them.
30
30
  * @category Creation
31
+ * @essential Synchronizing stores
31
32
  * @since v5.4.0
32
33
  */
33
34
  export class WsServerDurableObject<Env = unknown> extends DurableObject<Env> {
@@ -36,6 +36,7 @@ import type {
36
36
  * TinyBase uses (the constructor, `fetch`, `webSocketMessage`, and
37
37
  * `webSocketClose`) if you further override them.
38
38
  * @category Creation
39
+ * @essential Synchronizing stores
39
40
  * @since v5.4.0
40
41
  */
41
42
  export class WsServerDurableObject<
@@ -101,7 +101,7 @@ export interface WsServerSimple {
101
101
  * import {createMergeableStore} from 'tinybase';
102
102
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
103
103
  * import {createWsServerSimple} from 'tinybase/synchronizers/synchronizer-ws-server-simple';
104
- * import {WebSocketServer} from 'ws';
104
+ * import {WebSocket, WebSocketServer} from 'ws';
105
105
  *
106
106
  * // Server
107
107
  * const server = createWsServerSimple(new WebSocketServer({port: 8053}));
@@ -101,7 +101,7 @@ export interface WsServerSimple {
101
101
  * import {createMergeableStore} from 'tinybase';
102
102
  * import {createWsSynchronizer} from 'tinybase/synchronizers/synchronizer-ws-client';
103
103
  * import {createWsServerSimple} from 'tinybase/synchronizers/synchronizer-ws-server-simple';
104
- * import {WebSocketServer} from 'ws';
104
+ * import {WebSocket, WebSocketServer} from 'ws';
105
105
  *
106
106
  * // Server
107
107
  * const server = createWsServerSimple(new WebSocketServer({port: 8053}));
@@ -194,10 +194,12 @@ export type SynchronizerStats = {
194
194
  * await synchronizer2.destroy();
195
195
  * ```
196
196
  * @category Synchronizer
197
+ * @essential Synchronizing stores
197
198
  * @since v5.0.0
198
199
  */
199
- export interface Synchronizer<Schemas extends OptionalSchemas>
200
- extends Persister<Schemas, Persists.MergeableStoreOnly> {
200
+ export interface Synchronizer<
201
+ Schemas extends OptionalSchemas,
202
+ > extends Persister<Schemas, Persists.MergeableStoreOnly> {
201
203
  /**
202
204
  * The startSync method is used to start the process of synchronization
203
205
  * between this instance and another matching Synchronizer.