tinybase 5.4.6 → 5.4.8

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 (927) hide show
  1. package/checkpoints/index.js +6 -6
  2. package/checkpoints/with-schemas/index.js +6 -6
  3. package/cjs/checkpoints/index.cjs +6 -6
  4. package/cjs/checkpoints/with-schemas/index.cjs +6 -6
  5. package/cjs/es6/checkpoints/index.cjs +19 -21
  6. package/cjs/es6/checkpoints/with-schemas/index.cjs +19 -21
  7. package/cjs/es6/index.cjs +89 -101
  8. package/cjs/es6/indexes/index.cjs +18 -20
  9. package/cjs/es6/indexes/with-schemas/index.cjs +18 -20
  10. package/cjs/es6/mergeable-store/index.cjs +58 -71
  11. package/cjs/es6/mergeable-store/with-schemas/index.cjs +58 -71
  12. package/cjs/es6/metrics/index.cjs +28 -30
  13. package/cjs/es6/metrics/with-schemas/index.cjs +28 -30
  14. package/cjs/es6/min/checkpoints/index.cjs +1 -1
  15. package/cjs/es6/min/checkpoints/index.cjs.gz +0 -0
  16. package/cjs/es6/min/checkpoints/with-schemas/index.cjs +1 -1
  17. package/cjs/es6/min/checkpoints/with-schemas/index.cjs.gz +0 -0
  18. package/cjs/es6/min/index.cjs +1 -1
  19. package/cjs/es6/min/index.cjs.gz +0 -0
  20. package/cjs/es6/min/indexes/index.cjs +1 -1
  21. package/cjs/es6/min/indexes/index.cjs.gz +0 -0
  22. package/cjs/es6/min/indexes/with-schemas/index.cjs +1 -1
  23. package/cjs/es6/min/indexes/with-schemas/index.cjs.gz +0 -0
  24. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  25. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  26. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  27. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  28. package/cjs/es6/min/metrics/index.cjs +1 -1
  29. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  30. package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
  31. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/queries/index.cjs +1 -1
  81. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  82. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/relationships/index.cjs +1 -1
  85. package/cjs/es6/min/relationships/index.cjs.gz +0 -0
  86. package/cjs/es6/min/relationships/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/relationships/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/store/index.cjs +1 -1
  89. package/cjs/es6/min/store/index.cjs.gz +0 -0
  90. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  93. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  94. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  97. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  98. package/cjs/es6/persisters/index.cjs +78 -84
  99. package/cjs/es6/persisters/persister-automerge/index.cjs +45 -47
  100. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +45 -47
  101. package/cjs/es6/persisters/persister-browser/index.cjs +35 -39
  102. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +35 -39
  103. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +71 -77
  104. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +71 -77
  105. package/cjs/es6/persisters/persister-durable-object-storage/index.cjs +36 -40
  106. package/cjs/es6/persisters/persister-durable-object-storage/with-schemas/index.cjs +36 -40
  107. package/cjs/es6/persisters/persister-electric-sql/index.cjs +71 -77
  108. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +71 -77
  109. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +71 -77
  110. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +71 -77
  111. package/cjs/es6/persisters/persister-file/index.cjs +36 -40
  112. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +36 -40
  113. package/cjs/es6/persisters/persister-indexed-db/index.cjs +41 -45
  114. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +41 -45
  115. package/cjs/es6/persisters/persister-libsql/index.cjs +71 -77
  116. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +71 -77
  117. package/cjs/es6/persisters/persister-partykit-client/index.cjs +41 -42
  118. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +41 -42
  119. package/cjs/es6/persisters/persister-partykit-server/index.cjs +14 -18
  120. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +14 -18
  121. package/cjs/es6/persisters/persister-pglite/index.cjs +80 -86
  122. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +80 -86
  123. package/cjs/es6/persisters/persister-postgres/index.cjs +83 -92
  124. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +83 -92
  125. package/cjs/es6/persisters/persister-powersync/index.cjs +77 -84
  126. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +77 -84
  127. package/cjs/es6/persisters/persister-remote/index.cjs +34 -38
  128. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +34 -38
  129. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +71 -77
  130. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +71 -77
  131. package/cjs/es6/persisters/persister-sqlite3/index.cjs +71 -77
  132. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +71 -77
  133. package/cjs/es6/persisters/persister-yjs/index.cjs +46 -48
  134. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +46 -48
  135. package/cjs/es6/persisters/with-schemas/index.cjs +78 -84
  136. package/cjs/es6/queries/index.cjs +37 -35
  137. package/cjs/es6/queries/with-schemas/index.cjs +37 -35
  138. package/cjs/es6/relationships/index.cjs +20 -22
  139. package/cjs/es6/relationships/with-schemas/index.cjs +20 -22
  140. package/cjs/es6/store/index.cjs +53 -60
  141. package/cjs/es6/store/with-schemas/index.cjs +53 -60
  142. package/cjs/es6/synchronizers/index.cjs +46 -52
  143. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +46 -52
  144. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +46 -52
  145. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +47 -53
  146. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +47 -53
  147. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +50 -56
  148. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +50 -56
  149. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +62 -72
  150. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +62 -72
  151. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +49 -55
  152. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +49 -55
  153. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/index.cjs +11 -15
  154. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +11 -15
  155. package/cjs/es6/synchronizers/with-schemas/index.cjs +46 -52
  156. package/cjs/es6/tools/index.cjs +24 -31
  157. package/cjs/es6/tools/with-schemas/index.cjs +24 -31
  158. package/cjs/es6/ui-react/index.cjs +35 -49
  159. package/cjs/es6/ui-react/with-schemas/index.cjs +35 -49
  160. package/cjs/es6/ui-react-dom/index.cjs +14 -14
  161. package/cjs/es6/ui-react-dom/with-schemas/index.cjs +14 -14
  162. package/cjs/es6/ui-react-inspector/index.cjs +83 -93
  163. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +83 -93
  164. package/cjs/es6/with-schemas/index.cjs +89 -101
  165. package/cjs/index.cjs +51 -49
  166. package/cjs/indexes/index.cjs +5 -5
  167. package/cjs/indexes/with-schemas/index.cjs +5 -5
  168. package/cjs/mergeable-store/index.cjs +31 -29
  169. package/cjs/mergeable-store/with-schemas/index.cjs +31 -29
  170. package/cjs/metrics/index.cjs +12 -12
  171. package/cjs/metrics/with-schemas/index.cjs +12 -12
  172. package/cjs/min/index.cjs +1 -1
  173. package/cjs/min/index.cjs.gz +0 -0
  174. package/cjs/min/mergeable-store/index.cjs +1 -1
  175. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  176. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  177. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/index.cjs +1 -1
  179. package/cjs/min/persisters/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-pglite/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  225. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  226. package/cjs/min/queries/index.cjs +1 -1
  227. package/cjs/min/queries/index.cjs.gz +0 -0
  228. package/cjs/min/queries/with-schemas/index.cjs +1 -1
  229. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  230. package/cjs/min/store/index.cjs +1 -1
  231. package/cjs/min/store/index.cjs.gz +0 -0
  232. package/cjs/min/store/with-schemas/index.cjs +1 -1
  233. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  234. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  235. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  236. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  237. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  238. package/cjs/min/with-schemas/index.cjs +1 -1
  239. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/persisters/index.cjs +13 -13
  241. package/cjs/persisters/persister-automerge/index.cjs +16 -14
  242. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +16 -14
  243. package/cjs/persisters/persister-browser/index.cjs +7 -7
  244. package/cjs/persisters/persister-browser/with-schemas/index.cjs +7 -7
  245. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +12 -12
  246. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +12 -12
  247. package/cjs/persisters/persister-durable-object-storage/index.cjs +7 -7
  248. package/cjs/persisters/persister-durable-object-storage/with-schemas/index.cjs +7 -7
  249. package/cjs/persisters/persister-electric-sql/index.cjs +12 -12
  250. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +12 -12
  251. package/cjs/persisters/persister-expo-sqlite/index.cjs +12 -12
  252. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +12 -12
  253. package/cjs/persisters/persister-file/index.cjs +7 -7
  254. package/cjs/persisters/persister-file/with-schemas/index.cjs +7 -7
  255. package/cjs/persisters/persister-indexed-db/index.cjs +6 -6
  256. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +6 -6
  257. package/cjs/persisters/persister-libsql/index.cjs +12 -12
  258. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +12 -12
  259. package/cjs/persisters/persister-partykit-client/index.cjs +12 -9
  260. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +12 -9
  261. package/cjs/persisters/persister-partykit-server/index.cjs +2 -2
  262. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +2 -2
  263. package/cjs/persisters/persister-pglite/index.cjs +12 -12
  264. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +12 -12
  265. package/cjs/persisters/persister-postgres/index.cjs +12 -12
  266. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +12 -12
  267. package/cjs/persisters/persister-powersync/index.cjs +13 -13
  268. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +13 -13
  269. package/cjs/persisters/persister-remote/index.cjs +5 -5
  270. package/cjs/persisters/persister-remote/with-schemas/index.cjs +5 -5
  271. package/cjs/persisters/persister-sqlite-wasm/index.cjs +12 -12
  272. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +12 -12
  273. package/cjs/persisters/persister-sqlite3/index.cjs +12 -12
  274. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +12 -12
  275. package/cjs/persisters/persister-yjs/index.cjs +16 -14
  276. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +16 -14
  277. package/cjs/persisters/with-schemas/index.cjs +13 -13
  278. package/cjs/queries/index.cjs +17 -14
  279. package/cjs/queries/with-schemas/index.cjs +17 -14
  280. package/cjs/relationships/index.cjs +5 -5
  281. package/cjs/relationships/with-schemas/index.cjs +5 -5
  282. package/cjs/store/index.cjs +28 -23
  283. package/cjs/store/with-schemas/index.cjs +28 -23
  284. package/cjs/synchronizers/index.cjs +11 -11
  285. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +11 -11
  286. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +11 -11
  287. package/cjs/synchronizers/synchronizer-local/index.cjs +11 -11
  288. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +11 -11
  289. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +13 -13
  290. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +13 -13
  291. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +17 -17
  292. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +17 -17
  293. package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +14 -14
  294. package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +14 -14
  295. package/cjs/synchronizers/synchronizer-ws-server-simple/index.cjs +1 -1
  296. package/cjs/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +1 -1
  297. package/cjs/synchronizers/with-schemas/index.cjs +11 -11
  298. package/cjs/tools/index.cjs +7 -7
  299. package/cjs/tools/with-schemas/index.cjs +7 -7
  300. package/cjs/ui-react/index.cjs +12 -19
  301. package/cjs/ui-react/with-schemas/index.cjs +12 -19
  302. package/cjs/ui-react-dom/index.cjs +4 -4
  303. package/cjs/ui-react-dom/with-schemas/index.cjs +4 -4
  304. package/cjs/ui-react-inspector/index.cjs +33 -31
  305. package/cjs/ui-react-inspector/with-schemas/index.cjs +33 -31
  306. package/cjs/with-schemas/index.cjs +51 -49
  307. package/cli/index.js +5 -2
  308. package/es6/checkpoints/index.js +19 -21
  309. package/es6/checkpoints/with-schemas/index.js +19 -21
  310. package/es6/index.js +89 -101
  311. package/es6/indexes/index.js +18 -20
  312. package/es6/indexes/with-schemas/index.js +18 -20
  313. package/es6/mergeable-store/index.js +58 -71
  314. package/es6/mergeable-store/with-schemas/index.js +58 -71
  315. package/es6/metrics/index.js +28 -30
  316. package/es6/metrics/with-schemas/index.js +28 -30
  317. package/es6/min/checkpoints/index.js +1 -1
  318. package/es6/min/checkpoints/index.js.gz +0 -0
  319. package/es6/min/checkpoints/with-schemas/index.js +1 -1
  320. package/es6/min/checkpoints/with-schemas/index.js.gz +0 -0
  321. package/es6/min/index.js +1 -1
  322. package/es6/min/index.js.gz +0 -0
  323. package/es6/min/indexes/index.js +1 -1
  324. package/es6/min/indexes/index.js.gz +0 -0
  325. package/es6/min/indexes/with-schemas/index.js +1 -1
  326. package/es6/min/indexes/with-schemas/index.js.gz +0 -0
  327. package/es6/min/mergeable-store/index.js +1 -1
  328. package/es6/min/mergeable-store/index.js.gz +0 -0
  329. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  330. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  331. package/es6/min/metrics/index.js +1 -1
  332. package/es6/min/metrics/index.js.gz +0 -0
  333. package/es6/min/metrics/with-schemas/index.js +1 -1
  334. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  335. package/es6/min/persisters/index.js +1 -1
  336. package/es6/min/persisters/index.js.gz +0 -0
  337. package/es6/min/persisters/persister-automerge/index.js +1 -1
  338. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  339. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  340. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  341. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  342. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  343. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  344. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  345. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  346. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  347. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  348. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  349. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  350. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  351. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  352. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  353. package/es6/min/persisters/persister-libsql/index.js +1 -1
  354. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  355. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  356. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  357. package/es6/min/persisters/persister-pglite/index.js +1 -1
  358. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  359. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  360. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  361. package/es6/min/persisters/persister-postgres/index.js +1 -1
  362. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  363. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  364. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  365. package/es6/min/persisters/persister-powersync/index.js +1 -1
  366. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  367. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  368. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  369. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  370. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  371. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  372. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  373. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  374. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  375. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  376. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  377. package/es6/min/persisters/persister-yjs/index.js +1 -1
  378. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  379. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  380. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  381. package/es6/min/persisters/with-schemas/index.js +1 -1
  382. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  383. package/es6/min/queries/index.js +1 -1
  384. package/es6/min/queries/index.js.gz +0 -0
  385. package/es6/min/queries/with-schemas/index.js +1 -1
  386. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  387. package/es6/min/relationships/index.js +1 -1
  388. package/es6/min/relationships/index.js.gz +0 -0
  389. package/es6/min/relationships/with-schemas/index.js +1 -1
  390. package/es6/min/relationships/with-schemas/index.js.gz +0 -0
  391. package/es6/min/store/index.js +1 -1
  392. package/es6/min/store/index.js.gz +0 -0
  393. package/es6/min/store/with-schemas/index.js +1 -1
  394. package/es6/min/store/with-schemas/index.js.gz +0 -0
  395. package/es6/min/ui-react-dom/index.js +1 -1
  396. package/es6/min/ui-react-dom/index.js.gz +0 -0
  397. package/es6/min/ui-react-dom/with-schemas/index.js +1 -1
  398. package/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  399. package/es6/min/ui-react-inspector/index.js +1 -1
  400. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  401. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  402. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  403. package/es6/min/with-schemas/index.js +1 -1
  404. package/es6/min/with-schemas/index.js.gz +0 -0
  405. package/es6/persisters/index.js +78 -84
  406. package/es6/persisters/persister-automerge/index.js +45 -47
  407. package/es6/persisters/persister-automerge/with-schemas/index.js +45 -47
  408. package/es6/persisters/persister-browser/index.js +35 -39
  409. package/es6/persisters/persister-browser/with-schemas/index.js +35 -39
  410. package/es6/persisters/persister-cr-sqlite-wasm/index.js +71 -77
  411. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +71 -77
  412. package/es6/persisters/persister-durable-object-storage/index.js +36 -40
  413. package/es6/persisters/persister-durable-object-storage/with-schemas/index.js +36 -40
  414. package/es6/persisters/persister-electric-sql/index.js +71 -77
  415. package/es6/persisters/persister-electric-sql/with-schemas/index.js +71 -77
  416. package/es6/persisters/persister-expo-sqlite/index.js +71 -77
  417. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +71 -77
  418. package/es6/persisters/persister-file/index.js +36 -40
  419. package/es6/persisters/persister-file/with-schemas/index.js +36 -40
  420. package/es6/persisters/persister-indexed-db/index.js +41 -45
  421. package/es6/persisters/persister-indexed-db/with-schemas/index.js +41 -45
  422. package/es6/persisters/persister-libsql/index.js +71 -77
  423. package/es6/persisters/persister-libsql/with-schemas/index.js +71 -77
  424. package/es6/persisters/persister-partykit-client/index.js +41 -42
  425. package/es6/persisters/persister-partykit-client/with-schemas/index.js +41 -42
  426. package/es6/persisters/persister-partykit-server/index.js +14 -18
  427. package/es6/persisters/persister-partykit-server/with-schemas/index.js +14 -18
  428. package/es6/persisters/persister-pglite/index.js +80 -86
  429. package/es6/persisters/persister-pglite/with-schemas/index.js +80 -86
  430. package/es6/persisters/persister-postgres/index.js +83 -92
  431. package/es6/persisters/persister-postgres/with-schemas/index.js +83 -92
  432. package/es6/persisters/persister-powersync/index.js +77 -84
  433. package/es6/persisters/persister-powersync/with-schemas/index.js +77 -84
  434. package/es6/persisters/persister-remote/index.js +34 -38
  435. package/es6/persisters/persister-remote/with-schemas/index.js +34 -38
  436. package/es6/persisters/persister-sqlite-wasm/index.js +71 -77
  437. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +71 -77
  438. package/es6/persisters/persister-sqlite3/index.js +71 -77
  439. package/es6/persisters/persister-sqlite3/with-schemas/index.js +71 -77
  440. package/es6/persisters/persister-yjs/index.js +46 -48
  441. package/es6/persisters/persister-yjs/with-schemas/index.js +46 -48
  442. package/es6/persisters/with-schemas/index.js +78 -84
  443. package/es6/queries/index.js +37 -35
  444. package/es6/queries/with-schemas/index.js +37 -35
  445. package/es6/relationships/index.js +20 -22
  446. package/es6/relationships/with-schemas/index.js +20 -22
  447. package/es6/store/index.js +53 -60
  448. package/es6/store/with-schemas/index.js +53 -60
  449. package/es6/synchronizers/index.js +46 -52
  450. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +46 -52
  451. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +46 -52
  452. package/es6/synchronizers/synchronizer-local/index.js +47 -53
  453. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +47 -53
  454. package/es6/synchronizers/synchronizer-ws-client/index.js +50 -56
  455. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +50 -56
  456. package/es6/synchronizers/synchronizer-ws-server/index.js +62 -72
  457. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +62 -72
  458. package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +49 -55
  459. package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +49 -55
  460. package/es6/synchronizers/synchronizer-ws-server-simple/index.js +11 -15
  461. package/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +11 -15
  462. package/es6/synchronizers/with-schemas/index.js +46 -52
  463. package/es6/tools/index.js +24 -31
  464. package/es6/tools/with-schemas/index.js +24 -31
  465. package/es6/ui-react/index.js +35 -49
  466. package/es6/ui-react/with-schemas/index.js +35 -49
  467. package/es6/ui-react-dom/index.js +16 -20
  468. package/es6/ui-react-dom/with-schemas/index.js +16 -20
  469. package/es6/ui-react-inspector/index.js +91 -105
  470. package/es6/ui-react-inspector/with-schemas/index.js +91 -105
  471. package/es6/with-schemas/index.js +89 -101
  472. package/index.js +51 -49
  473. package/indexes/index.js +5 -5
  474. package/indexes/with-schemas/index.js +5 -5
  475. package/mergeable-store/index.js +31 -29
  476. package/mergeable-store/with-schemas/index.js +31 -29
  477. package/metrics/index.js +12 -12
  478. package/metrics/with-schemas/index.js +12 -12
  479. package/min/index.js +1 -1
  480. package/min/index.js.gz +0 -0
  481. package/min/mergeable-store/index.js +1 -1
  482. package/min/mergeable-store/index.js.gz +0 -0
  483. package/min/mergeable-store/with-schemas/index.js +1 -1
  484. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  485. package/min/persisters/index.js +1 -1
  486. package/min/persisters/index.js.gz +0 -0
  487. package/min/persisters/persister-automerge/index.js +1 -1
  488. package/min/persisters/persister-automerge/index.js.gz +0 -0
  489. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  490. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  491. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  492. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  493. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  494. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  495. package/min/persisters/persister-electric-sql/index.js +1 -1
  496. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  497. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  498. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  499. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  500. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  501. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  502. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  503. package/min/persisters/persister-file/index.js +1 -1
  504. package/min/persisters/persister-file/index.js.gz +0 -0
  505. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  506. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  507. package/min/persisters/persister-libsql/index.js +1 -1
  508. package/min/persisters/persister-libsql/index.js.gz +0 -0
  509. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  510. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  511. package/min/persisters/persister-pglite/index.js +1 -1
  512. package/min/persisters/persister-pglite/index.js.gz +0 -0
  513. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  514. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  515. package/min/persisters/persister-postgres/index.js +1 -1
  516. package/min/persisters/persister-postgres/index.js.gz +0 -0
  517. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  518. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  519. package/min/persisters/persister-powersync/index.js +1 -1
  520. package/min/persisters/persister-powersync/index.js.gz +0 -0
  521. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  522. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  523. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  524. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  525. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  526. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  527. package/min/persisters/persister-sqlite3/index.js +1 -1
  528. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  529. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  530. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  531. package/min/persisters/persister-yjs/index.js +1 -1
  532. package/min/persisters/persister-yjs/index.js.gz +0 -0
  533. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  534. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  535. package/min/persisters/with-schemas/index.js +1 -1
  536. package/min/persisters/with-schemas/index.js.gz +0 -0
  537. package/min/queries/index.js +1 -1
  538. package/min/queries/index.js.gz +0 -0
  539. package/min/queries/with-schemas/index.js +1 -1
  540. package/min/queries/with-schemas/index.js.gz +0 -0
  541. package/min/store/index.js +1 -1
  542. package/min/store/index.js.gz +0 -0
  543. package/min/store/with-schemas/index.js +1 -1
  544. package/min/store/with-schemas/index.js.gz +0 -0
  545. package/min/ui-react-dom/index.js +1 -1
  546. package/min/ui-react-dom/index.js.gz +0 -0
  547. package/min/ui-react-dom/with-schemas/index.js +1 -1
  548. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  549. package/min/ui-react-inspector/index.js +1 -1
  550. package/min/ui-react-inspector/index.js.gz +0 -0
  551. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  552. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  553. package/min/with-schemas/index.js +1 -1
  554. package/min/with-schemas/index.js.gz +0 -0
  555. package/package.json +8 -8
  556. package/persisters/index.js +13 -13
  557. package/persisters/persister-automerge/index.js +16 -14
  558. package/persisters/persister-automerge/with-schemas/index.js +16 -14
  559. package/persisters/persister-browser/index.js +7 -7
  560. package/persisters/persister-browser/with-schemas/index.js +7 -7
  561. package/persisters/persister-cr-sqlite-wasm/index.js +12 -12
  562. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +12 -12
  563. package/persisters/persister-durable-object-storage/index.js +7 -7
  564. package/persisters/persister-durable-object-storage/with-schemas/index.js +7 -7
  565. package/persisters/persister-electric-sql/index.js +12 -12
  566. package/persisters/persister-electric-sql/with-schemas/index.js +12 -12
  567. package/persisters/persister-expo-sqlite/index.js +12 -12
  568. package/persisters/persister-expo-sqlite/with-schemas/index.js +12 -12
  569. package/persisters/persister-file/index.js +8 -8
  570. package/persisters/persister-file/with-schemas/index.js +8 -8
  571. package/persisters/persister-indexed-db/index.js +6 -6
  572. package/persisters/persister-indexed-db/with-schemas/index.js +6 -6
  573. package/persisters/persister-libsql/index.js +12 -12
  574. package/persisters/persister-libsql/with-schemas/index.js +12 -12
  575. package/persisters/persister-partykit-client/index.js +12 -9
  576. package/persisters/persister-partykit-client/with-schemas/index.js +12 -9
  577. package/persisters/persister-partykit-server/index.js +2 -2
  578. package/persisters/persister-partykit-server/with-schemas/index.js +2 -2
  579. package/persisters/persister-pglite/index.js +12 -12
  580. package/persisters/persister-pglite/with-schemas/index.js +12 -12
  581. package/persisters/persister-postgres/index.js +12 -12
  582. package/persisters/persister-postgres/with-schemas/index.js +12 -12
  583. package/persisters/persister-powersync/index.js +13 -13
  584. package/persisters/persister-powersync/with-schemas/index.js +13 -13
  585. package/persisters/persister-remote/index.js +5 -5
  586. package/persisters/persister-remote/with-schemas/index.js +5 -5
  587. package/persisters/persister-sqlite-wasm/index.js +12 -12
  588. package/persisters/persister-sqlite-wasm/with-schemas/index.js +12 -12
  589. package/persisters/persister-sqlite3/index.js +12 -12
  590. package/persisters/persister-sqlite3/with-schemas/index.js +12 -12
  591. package/persisters/persister-yjs/index.js +16 -14
  592. package/persisters/persister-yjs/with-schemas/index.js +16 -14
  593. package/persisters/with-schemas/index.js +13 -13
  594. package/queries/index.js +17 -14
  595. package/queries/with-schemas/index.js +17 -14
  596. package/readme.md +2 -2
  597. package/relationships/index.js +5 -5
  598. package/relationships/with-schemas/index.js +5 -5
  599. package/store/index.js +28 -23
  600. package/store/with-schemas/index.js +28 -23
  601. package/synchronizers/index.js +11 -11
  602. package/synchronizers/synchronizer-broadcast-channel/index.js +11 -11
  603. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +11 -11
  604. package/synchronizers/synchronizer-local/index.js +11 -11
  605. package/synchronizers/synchronizer-local/with-schemas/index.js +11 -11
  606. package/synchronizers/synchronizer-ws-client/index.js +13 -13
  607. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +13 -13
  608. package/synchronizers/synchronizer-ws-server/index.js +17 -17
  609. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -17
  610. package/synchronizers/synchronizer-ws-server-durable-object/index.js +14 -14
  611. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +14 -14
  612. package/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  613. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  614. package/synchronizers/with-schemas/index.js +11 -11
  615. package/tools/index.js +7 -7
  616. package/tools/with-schemas/index.js +7 -7
  617. package/ui-react/index.js +12 -19
  618. package/ui-react/with-schemas/index.js +12 -19
  619. package/ui-react-dom/index.js +7 -7
  620. package/ui-react-dom/with-schemas/index.js +7 -7
  621. package/ui-react-inspector/index.js +41 -39
  622. package/ui-react-inspector/with-schemas/index.js +41 -39
  623. package/umd/checkpoints/index.js +9 -14
  624. package/umd/checkpoints/with-schemas/index.js +9 -14
  625. package/umd/es6/checkpoints/index.js +23 -20
  626. package/umd/es6/checkpoints/with-schemas/index.js +23 -20
  627. package/umd/es6/index.js +89 -95
  628. package/umd/es6/indexes/index.js +22 -19
  629. package/umd/es6/indexes/with-schemas/index.js +22 -19
  630. package/umd/es6/mergeable-store/index.js +58 -65
  631. package/umd/es6/mergeable-store/with-schemas/index.js +58 -65
  632. package/umd/es6/metrics/index.js +32 -29
  633. package/umd/es6/metrics/with-schemas/index.js +32 -29
  634. package/umd/es6/min/checkpoints/index.js +1 -1
  635. package/umd/es6/min/checkpoints/index.js.gz +0 -0
  636. package/umd/es6/min/checkpoints/with-schemas/index.js +1 -1
  637. package/umd/es6/min/checkpoints/with-schemas/index.js.gz +0 -0
  638. package/umd/es6/min/index.js +1 -1
  639. package/umd/es6/min/index.js.gz +0 -0
  640. package/umd/es6/min/indexes/index.js +1 -1
  641. package/umd/es6/min/indexes/index.js.gz +0 -0
  642. package/umd/es6/min/indexes/with-schemas/index.js +1 -1
  643. package/umd/es6/min/indexes/with-schemas/index.js.gz +0 -0
  644. package/umd/es6/min/mergeable-store/index.js +1 -1
  645. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  646. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  647. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  648. package/umd/es6/min/metrics/index.js +1 -1
  649. package/umd/es6/min/metrics/index.js.gz +0 -0
  650. package/umd/es6/min/metrics/with-schemas/index.js +1 -1
  651. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  652. package/umd/es6/min/persisters/index.js +1 -1
  653. package/umd/es6/min/persisters/index.js.gz +0 -0
  654. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  655. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  656. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  657. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  658. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  659. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  660. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  661. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  662. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  663. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  664. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  665. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  666. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  667. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  668. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  669. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  670. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  671. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  672. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  673. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  674. package/umd/es6/min/persisters/persister-pglite/index.js +1 -1
  675. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  676. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  677. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  678. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  679. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  680. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  681. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  682. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  683. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  684. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  685. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  686. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  687. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  688. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  689. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  690. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  691. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  692. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  693. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  694. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  695. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  696. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  697. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  698. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  699. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  700. package/umd/es6/min/queries/index.js +1 -1
  701. package/umd/es6/min/queries/index.js.gz +0 -0
  702. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  703. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  704. package/umd/es6/min/relationships/index.js +1 -1
  705. package/umd/es6/min/relationships/index.js.gz +0 -0
  706. package/umd/es6/min/relationships/with-schemas/index.js +1 -1
  707. package/umd/es6/min/relationships/with-schemas/index.js.gz +0 -0
  708. package/umd/es6/min/store/index.js +1 -1
  709. package/umd/es6/min/store/index.js.gz +0 -0
  710. package/umd/es6/min/store/with-schemas/index.js +1 -1
  711. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  712. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  713. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  714. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  715. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  716. package/umd/es6/min/with-schemas/index.js +1 -1
  717. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  718. package/umd/es6/persisters/index.js +78 -79
  719. package/umd/es6/persisters/persister-automerge/index.js +45 -44
  720. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +45 -44
  721. package/umd/es6/persisters/persister-browser/index.js +35 -36
  722. package/umd/es6/persisters/persister-browser/with-schemas/index.js +35 -36
  723. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +71 -72
  724. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +71 -72
  725. package/umd/es6/persisters/persister-durable-object-storage/index.js +36 -37
  726. package/umd/es6/persisters/persister-durable-object-storage/with-schemas/index.js +36 -37
  727. package/umd/es6/persisters/persister-electric-sql/index.js +71 -72
  728. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +71 -72
  729. package/umd/es6/persisters/persister-expo-sqlite/index.js +71 -72
  730. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +71 -72
  731. package/umd/es6/persisters/persister-file/index.js +36 -37
  732. package/umd/es6/persisters/persister-file/with-schemas/index.js +36 -37
  733. package/umd/es6/persisters/persister-indexed-db/index.js +41 -42
  734. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +41 -42
  735. package/umd/es6/persisters/persister-libsql/index.js +71 -72
  736. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +71 -72
  737. package/umd/es6/persisters/persister-partykit-client/index.js +41 -39
  738. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +41 -39
  739. package/umd/es6/persisters/persister-partykit-server/index.js +14 -15
  740. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +14 -15
  741. package/umd/es6/persisters/persister-pglite/index.js +86 -91
  742. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +86 -91
  743. package/umd/es6/persisters/persister-postgres/index.js +89 -94
  744. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +89 -94
  745. package/umd/es6/persisters/persister-powersync/index.js +77 -79
  746. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +77 -79
  747. package/umd/es6/persisters/persister-remote/index.js +34 -35
  748. package/umd/es6/persisters/persister-remote/with-schemas/index.js +34 -35
  749. package/umd/es6/persisters/persister-sqlite-wasm/index.js +71 -72
  750. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +71 -72
  751. package/umd/es6/persisters/persister-sqlite3/index.js +71 -72
  752. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +71 -72
  753. package/umd/es6/persisters/persister-yjs/index.js +46 -45
  754. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +46 -45
  755. package/umd/es6/persisters/with-schemas/index.js +78 -79
  756. package/umd/es6/queries/index.js +41 -34
  757. package/umd/es6/queries/with-schemas/index.js +41 -34
  758. package/umd/es6/relationships/index.js +24 -21
  759. package/umd/es6/relationships/with-schemas/index.js +24 -21
  760. package/umd/es6/store/index.js +53 -57
  761. package/umd/es6/store/with-schemas/index.js +53 -57
  762. package/umd/es6/synchronizers/index.js +46 -49
  763. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +46 -49
  764. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +46 -49
  765. package/umd/es6/synchronizers/synchronizer-local/index.js +47 -50
  766. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +47 -50
  767. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +50 -53
  768. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +50 -53
  769. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +62 -67
  770. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +62 -67
  771. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +49 -52
  772. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +49 -52
  773. package/umd/es6/synchronizers/synchronizer-ws-server-simple/index.js +11 -12
  774. package/umd/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +11 -12
  775. package/umd/es6/synchronizers/with-schemas/index.js +46 -49
  776. package/umd/es6/tools/index.js +27 -31
  777. package/umd/es6/tools/with-schemas/index.js +27 -31
  778. package/umd/es6/ui-react/index.js +36 -39
  779. package/umd/es6/ui-react/with-schemas/index.js +36 -39
  780. package/umd/es6/ui-react-dom/index.js +14 -14
  781. package/umd/es6/ui-react-dom/with-schemas/index.js +14 -14
  782. package/umd/es6/ui-react-inspector/index.js +83 -90
  783. package/umd/es6/ui-react-inspector/with-schemas/index.js +83 -90
  784. package/umd/es6/with-schemas/index.js +89 -95
  785. package/umd/index.js +54 -57
  786. package/umd/indexes/index.js +8 -13
  787. package/umd/indexes/with-schemas/index.js +8 -13
  788. package/umd/mergeable-store/index.js +34 -37
  789. package/umd/mergeable-store/with-schemas/index.js +34 -37
  790. package/umd/metrics/index.js +15 -20
  791. package/umd/metrics/with-schemas/index.js +15 -20
  792. package/umd/min/index.js +1 -1
  793. package/umd/min/index.js.gz +0 -0
  794. package/umd/min/mergeable-store/index.js +1 -1
  795. package/umd/min/mergeable-store/index.js.gz +0 -0
  796. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  797. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  798. package/umd/min/persisters/index.js +1 -1
  799. package/umd/min/persisters/index.js.gz +0 -0
  800. package/umd/min/persisters/persister-automerge/index.js +1 -1
  801. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  802. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  803. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  804. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  805. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  806. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  807. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  808. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  809. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  810. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  811. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  812. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  813. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  814. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  815. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  816. package/umd/min/persisters/persister-libsql/index.js +1 -1
  817. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  818. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  819. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  820. package/umd/min/persisters/persister-pglite/index.js +1 -1
  821. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  822. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  823. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  824. package/umd/min/persisters/persister-postgres/index.js +1 -1
  825. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  826. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  827. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  828. package/umd/min/persisters/persister-powersync/index.js +1 -1
  829. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  830. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  831. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  832. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  833. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  834. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  835. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  836. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  837. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  838. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  839. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  840. package/umd/min/persisters/persister-yjs/index.js +1 -1
  841. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  842. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  843. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  844. package/umd/min/persisters/with-schemas/index.js +1 -1
  845. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  846. package/umd/min/queries/index.js +1 -1
  847. package/umd/min/queries/index.js.gz +0 -0
  848. package/umd/min/queries/with-schemas/index.js +1 -1
  849. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  850. package/umd/min/store/index.js +1 -1
  851. package/umd/min/store/index.js.gz +0 -0
  852. package/umd/min/store/with-schemas/index.js +1 -1
  853. package/umd/min/store/with-schemas/index.js.gz +0 -0
  854. package/umd/min/ui-react-inspector/index.js +1 -1
  855. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  856. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  857. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  858. package/umd/min/with-schemas/index.js +1 -1
  859. package/umd/min/with-schemas/index.js.gz +0 -0
  860. package/umd/persisters/index.js +16 -21
  861. package/umd/persisters/persister-automerge/index.js +19 -22
  862. package/umd/persisters/persister-automerge/with-schemas/index.js +19 -22
  863. package/umd/persisters/persister-browser/index.js +10 -15
  864. package/umd/persisters/persister-browser/with-schemas/index.js +10 -15
  865. package/umd/persisters/persister-cr-sqlite-wasm/index.js +15 -20
  866. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +15 -20
  867. package/umd/persisters/persister-durable-object-storage/index.js +10 -15
  868. package/umd/persisters/persister-durable-object-storage/with-schemas/index.js +10 -15
  869. package/umd/persisters/persister-electric-sql/index.js +15 -20
  870. package/umd/persisters/persister-electric-sql/with-schemas/index.js +15 -20
  871. package/umd/persisters/persister-expo-sqlite/index.js +15 -20
  872. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +15 -20
  873. package/umd/persisters/persister-file/index.js +10 -15
  874. package/umd/persisters/persister-file/with-schemas/index.js +10 -15
  875. package/umd/persisters/persister-indexed-db/index.js +9 -14
  876. package/umd/persisters/persister-indexed-db/with-schemas/index.js +9 -14
  877. package/umd/persisters/persister-libsql/index.js +15 -20
  878. package/umd/persisters/persister-libsql/with-schemas/index.js +15 -20
  879. package/umd/persisters/persister-partykit-client/index.js +15 -17
  880. package/umd/persisters/persister-partykit-client/with-schemas/index.js +15 -17
  881. package/umd/persisters/persister-partykit-server/index.js +2 -2
  882. package/umd/persisters/persister-partykit-server/with-schemas/index.js +2 -2
  883. package/umd/persisters/persister-pglite/index.js +15 -20
  884. package/umd/persisters/persister-pglite/with-schemas/index.js +15 -20
  885. package/umd/persisters/persister-postgres/index.js +15 -20
  886. package/umd/persisters/persister-postgres/with-schemas/index.js +15 -20
  887. package/umd/persisters/persister-powersync/index.js +16 -21
  888. package/umd/persisters/persister-powersync/with-schemas/index.js +16 -21
  889. package/umd/persisters/persister-remote/index.js +8 -13
  890. package/umd/persisters/persister-remote/with-schemas/index.js +8 -13
  891. package/umd/persisters/persister-sqlite-wasm/index.js +15 -20
  892. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +15 -20
  893. package/umd/persisters/persister-sqlite3/index.js +15 -20
  894. package/umd/persisters/persister-sqlite3/with-schemas/index.js +15 -20
  895. package/umd/persisters/persister-yjs/index.js +19 -22
  896. package/umd/persisters/persister-yjs/with-schemas/index.js +19 -22
  897. package/umd/persisters/with-schemas/index.js +16 -21
  898. package/umd/queries/index.js +17 -14
  899. package/umd/queries/with-schemas/index.js +17 -14
  900. package/umd/relationships/index.js +8 -13
  901. package/umd/relationships/with-schemas/index.js +8 -13
  902. package/umd/store/index.js +31 -31
  903. package/umd/store/with-schemas/index.js +31 -31
  904. package/umd/synchronizers/index.js +14 -19
  905. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +14 -19
  906. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +14 -19
  907. package/umd/synchronizers/synchronizer-local/index.js +14 -19
  908. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +14 -19
  909. package/umd/synchronizers/synchronizer-ws-client/index.js +16 -21
  910. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +16 -21
  911. package/umd/synchronizers/synchronizer-ws-server/index.js +20 -25
  912. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +20 -25
  913. package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +17 -22
  914. package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +17 -22
  915. package/umd/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  916. package/umd/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  917. package/umd/synchronizers/with-schemas/index.js +14 -19
  918. package/umd/tools/index.js +7 -7
  919. package/umd/tools/with-schemas/index.js +7 -7
  920. package/umd/ui-react/index.js +13 -13
  921. package/umd/ui-react/with-schemas/index.js +13 -13
  922. package/umd/ui-react-dom/index.js +4 -4
  923. package/umd/ui-react-dom/with-schemas/index.js +4 -4
  924. package/umd/ui-react-inspector/index.js +36 -39
  925. package/umd/ui-react-inspector/with-schemas/index.js +36 -39
  926. package/umd/with-schemas/index.js +54 -57
  927. package/with-schemas/index.js +51 -49
@@ -25,7 +25,7 @@ const math = Math;
25
25
  const mathMax = math.max;
26
26
  const mathMin = math.min;
27
27
  const isFiniteNumber = isFinite;
28
- const isUndefined = (thing) => thing == undefined;
28
+ const isUndefined = (thing) => thing == void 0;
29
29
  const ifNotUndefined = (value, then, otherwise) =>
30
30
  isUndefined(value) ? otherwise?.() : then(value);
31
31
  const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
@@ -33,7 +33,7 @@ const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
33
33
  const isArray = (thing) => Array.isArray(thing);
34
34
  const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
35
35
  const size = (arrayOrString) => arrayOrString.length;
36
- const getUndefined = () => undefined;
36
+ const getUndefined = () => void 0;
37
37
 
38
38
  const arrayEvery = (array, cb) => array.every(cb);
39
39
  const arrayIsEqual = (array1, array2) =>
@@ -49,8 +49,11 @@ const arrayPush = (array, ...values) => array.push(...values);
49
49
  const object = Object;
50
50
  const objEntries = object.entries;
51
51
  const objFreeze = object.freeze;
52
+ const objNew = (entries = []) => object.fromEntries(entries);
52
53
  const objToArray = (obj, cb) =>
53
54
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
55
+ const objMap = (obj, cb) =>
56
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
54
57
 
55
58
  const collSize = (coll) => coll?.size ?? 0;
56
59
  const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
@@ -120,9 +123,9 @@ const numericAggregators = /* @__PURE__ */ mapNew([
120
123
  [
121
124
  (numbers) => mathMax(...numbers),
122
125
  (metric, add) => mathMax(add, metric),
123
- (metric, remove) => (remove == metric ? undefined : metric),
126
+ (metric, remove) => (remove == metric ? void 0 : metric),
124
127
  (metric, add, remove) =>
125
- remove == metric ? undefined : mathMax(add, metric),
128
+ remove == metric ? void 0 : mathMax(add, metric),
126
129
  ],
127
130
  ],
128
131
  [
@@ -130,9 +133,9 @@ const numericAggregators = /* @__PURE__ */ mapNew([
130
133
  [
131
134
  (numbers) => mathMin(...numbers),
132
135
  (metric, add) => mathMin(add, metric),
133
- (metric, remove) => (remove == metric ? undefined : metric),
136
+ (metric, remove) => (remove == metric ? void 0 : metric),
134
137
  (metric, add, remove) =>
135
- remove == metric ? undefined : mathMin(add, metric),
138
+ remove == metric ? void 0 : mathMin(add, metric),
136
139
  ],
137
140
  ],
138
141
  [
@@ -154,7 +157,7 @@ const getAggregateValue = (
154
157
  force = false,
155
158
  ) => {
156
159
  if (collIsEmpty(newValues)) {
157
- return undefined;
160
+ return void 0;
158
161
  }
159
162
  const [aggregate, aggregateAdd, aggregateRemove, aggregateReplace] =
160
163
  aggregators;
@@ -179,7 +182,7 @@ const getCellOrValueType = (cellOrValue) => {
179
182
  return isTypeStringOrBoolean(type) ||
180
183
  (type == NUMBER && isFiniteNumber(cellOrValue))
181
184
  ? type
182
- : undefined;
185
+ : void 0;
183
186
  };
184
187
  const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
185
188
  isUndefined(cell)
@@ -255,7 +258,7 @@ const getDefinableFunctions = (
255
258
  const oldRowValue = mapGet(rowValues, rowId);
256
259
  const newRowValue = hasRow(tableId, rowId)
257
260
  ? validateRowValue(getRowValue(getCell, rowId))
258
- : undefined;
261
+ : void 0;
259
262
  if (
260
263
  !(
261
264
  oldRowValue === newRowValue ||
@@ -270,7 +273,7 @@ const getDefinableFunctions = (
270
273
  const oldSortKey = mapGet(sortKeys, rowId);
271
274
  const newSortKey = hasRow(tableId, rowId)
272
275
  ? getSortKey(getCell, rowId)
273
- : undefined;
276
+ : void 0;
274
277
  if (oldSortKey != newSortKey) {
275
278
  mapSet(changedSortKeys, rowId, newSortKey);
276
279
  }
@@ -541,7 +544,7 @@ const createQueries = getCreateFunction((store) => {
541
544
  mapNew,
542
545
  );
543
546
  const oldLeafCell = mapGet(selectedCell, selectedRowId);
544
- const newLeafCell = forceRemove ? undefined : newCell;
547
+ const newLeafCell = forceRemove ? void 0 : newCell;
545
548
  if (oldLeafCell !== newLeafCell) {
546
549
  const oldNewSet = setNew([[oldLeafCell, newLeafCell]]);
547
550
  const oldLength = collSize(selectedCell);
@@ -617,7 +620,7 @@ const createQueries = getCreateFunction((store) => {
617
620
  });
618
621
  if (changedLeaf) {
619
622
  writeGroupRow(
620
- visitTree(tree, oldPath, undefined, ([, selectedRowIds]) => {
623
+ visitTree(tree, oldPath, void 0, ([, selectedRowIds]) => {
621
624
  collDel(selectedRowIds, selectedRowId);
622
625
  return collIsEmpty(selectedRowIds);
623
626
  }),
@@ -643,7 +646,7 @@ const createQueries = getCreateFunction((store) => {
643
646
  selectedCellId,
644
647
  )),
645
648
  );
646
- return [mapNew(), setNew(), undefined, groupRow];
649
+ return [mapNew(), setNew(), void 0, groupRow];
647
650
  },
648
651
  ([, selectedRowIds]) => {
649
652
  setAdd(selectedRowIds, selectedRowId);
@@ -780,7 +783,7 @@ const createQueries = getCreateFunction((store) => {
780
783
  destroy,
781
784
  getListenerStats,
782
785
  };
783
- objToArray(
786
+ objMap(
784
787
  {
785
788
  [TABLE]: [1, 1],
786
789
  [TABLE + CELL_IDS]: [0, 1],
package/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2></section><p><a href="https://tinybase.org/guides/releases/#v5-4"><em>NEW!</em> v5.4 release</a></p><p><span id="one-with">&quot;The One With Durable Objects!&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It&#x27;s <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It&#x27;s <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It&#x27;s Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it&#x27;s especially great for local-first apps: where data is stored locally on the user&#x27;s device and that can be run offline. It&#x27;s tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends.</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img src="https://tinybase.org/react.svg?asImg" width="48"> React</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img src="https://tinybase.org/indexeddb.svg?asImg" width="48"> IndexedDB</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/postgresql.svg?asImg" width="48"> PostgreSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/pglite.svg?asImg" width="48"> PGlite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/sqlite.svg?asImg" width="48"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/expo.svg?asImg" width="48"> Expo SQLite</a></div><div><a href="https://tinybase.org/guides/integrations/cloudflare-durable-objects"><img src="https://tinybase.org/cloudflare.svg?asImg" width="48"> Cloudflare</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/electric.svg?asImg" width="48"> ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/turso.svg?asImg" width="48"> Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/powersync.svg?asImg" width="48"> PowerSync</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img src="https://tinybase.org/partykit.svg?asImg" width="48"> PartyKit</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img src="https://tinybase.org/yjs.svg?asImg" width="48"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img src="https://tinybase.org/crsqlite.png" width="48"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img src="https://tinybase.org/automerge.svg?asImg" width="48"> Automerge</a></div><p>(Baffled by all these logos? Check out our <a href="https://tinybase.org/guides/the-basics/architectural-options">architectural options</a> guide to make sense of it all!)</p></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://bsky.app/profile/tinybase.bsky.social"><img src="https://img.shields.io/badge/Bluesky-Follow-blue?style=for-the-badge&amp;logo=bluesky&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%230285FF"> </a><a href="https://x.com/tinybasejs" target="_blank"><img src="https://img.shields.io/badge/%2F%20Twitter-Follow-blue?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%23000"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.4.5" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
1
+ <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2></section><p><a href="https://tinybase.org/guides/releases/#v5-4"><em>NEW!</em> v5.4 release</a></p><p><span id="one-with">&quot;The One With Durable Objects!&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It&#x27;s <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It&#x27;s <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It&#x27;s Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it&#x27;s especially great for local-first apps: where data is stored locally on the user&#x27;s device and that can be run offline. It&#x27;s tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends.</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img src="https://tinybase.org/react.svg?asImg" width="48"> React</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img src="https://tinybase.org/indexeddb.svg?asImg" width="48"> IndexedDB</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/postgresql.svg?asImg" width="48"> PostgreSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/pglite.svg?asImg" width="48"> PGlite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/sqlite.svg?asImg" width="48"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/expo.svg?asImg" width="48"> Expo SQLite</a></div><div><a href="https://tinybase.org/guides/integrations/cloudflare-durable-objects"><img src="https://tinybase.org/cloudflare.svg?asImg" width="48"> Cloudflare</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/electric.svg?asImg" width="48"> ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/turso.svg?asImg" width="48"> Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img src="https://tinybase.org/powersync.svg?asImg" width="48"> PowerSync</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img src="https://tinybase.org/partykit.svg?asImg" width="48"> PartyKit</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img src="https://tinybase.org/yjs.svg?asImg" width="48"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img src="https://tinybase.org/crsqlite.png" width="48"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img src="https://tinybase.org/automerge.svg?asImg" width="48"> Automerge</a></div><p>(Baffled by all these logos? Check out our <a href="https://tinybase.org/guides/the-basics/architectural-options">architectural options</a> guide to make sense of it all!)</p></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://bsky.app/profile/tinybase.bsky.social"><img src="https://img.shields.io/badge/Bluesky-Follow-blue?style=for-the-badge&amp;logo=bluesky&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%230285FF"> </a><a href="https://x.com/tinybasejs" target="_blank"><img src="https://img.shields.io/badge/%2F%20Twitter-Follow-blue?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%23000"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.4.7" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
2
2
 
3
3
  ```js
4
4
  import {createStore} from 'tinybase';
@@ -294,4 +294,4 @@ export const createShop: typeof createShopDecl = () => {
294
294
  };
295
295
  ```
296
296
 
297
- <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.9kB</em>, the ui-react-dom components are another <em>2.6kB</em>, and everything is super fast. Life is easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.5kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>119.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.9kB</td><td>53.7kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.6kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,290</td><td>2,290</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,474</td><td>2,474</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>988</td><td>988</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>856</td><td>856</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,464</td></tr><tr><th class="right">Assertions</th><td colspan="3">33,206</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img src="https://github.com/beekeeb.png?size=48" title="beekeeb" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img src="https://github.com/cancelself.png?size=48" title="cancelself" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img src="https://github.com/arpitBhalla.png?size=48" title="arpitBhalla" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/behrends" target="_blank"><img src="https://github.com/behrends.png?size=48" title="behrends" width="48" height="48"></a><a href="https://github.com/betomoedano" target="_blank"><img src="https://github.com/betomoedano.png?size=48" title="betomoedano" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img src="https://github.com/brentvatne.png?size=48" title="brentvatne" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img src="https://github.com/byCedric.png?size=48" title="byCedric" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img src="https://github.com/circadian-risk.png?size=48" title="circadian-risk" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img src="https://github.com/cubecull.png?size=48" title="cubecull" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img src="https://github.com/erwinkn.png?size=48" title="erwinkn" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img src="https://github.com/ezra-en.png?size=48" title="ezra-en" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img src="https://github.com/feychenie.png?size=48" title="feychenie" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img src="https://github.com/flaming-codes.png?size=48" title="flaming-codes" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img src="https://github.com/fostertheweb.png?size=48" title="fostertheweb" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img src="https://github.com/Giulio987.png?size=48" title="Giulio987" width="48" height="48"></a><a href="https://github.com/hi-ogawa" target="_blank"><img src="https://github.com/hi-ogawa.png?size=48" title="hi-ogawa" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img src="https://github.com/itsdevcoffee.png?size=48" title="itsdevcoffee" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img src="https://github.com/jbolda.png?size=48" title="jbolda" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img src="https://github.com/Kayoo-asso.png?size=48" title="Kayoo-asso" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img src="https://github.com/kotofurumiya.png?size=48" title="kotofurumiya" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img src="https://github.com/Kudo.png?size=48" title="Kudo" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img src="https://github.com/learn-anything.png?size=48" title="learn-anything" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img src="https://github.com/lluc.png?size=48" title="lluc" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img src="https://github.com/marksteve.png?size=48" title="marksteve" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img src="https://github.com/miking-the-viking.png?size=48" title="miking-the-viking" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img src="https://github.com/mjamesderocher.png?size=48" title="mjamesderocher" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img src="https://github.com/mouktardev.png?size=48" title="mouktardev" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img src="https://github.com/nickmessing.png?size=48" title="nickmessing" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img src="https://github.com/nikitavoloboev.png?size=48" title="nikitavoloboev" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img src="https://github.com/nkzw-tech.png?size=48" title="nkzw-tech" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img src="https://github.com/palerdot.png?size=48" title="palerdot" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img src="https://github.com/PorcoRosso85.png?size=48" title="PorcoRosso85" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img src="https://github.com/primodiumxyz.png?size=48" title="primodiumxyz" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img src="https://github.com/shaneosullivan.png?size=48" title="shaneosullivan" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img src="https://github.com/sudo-self.png?size=48" title="sudo-self" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img src="https://github.com/SuperSonicHub1.png?size=48" title="SuperSonicHub1" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img src="https://github.com/threepointone.png?size=48" title="threepointone" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img src="https://github.com/uptonking.png?size=48" title="uptonking" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img src="https://github.com/ViktorZhurbin.png?size=48" title="ViktorZhurbin" width="48" height="48"></a><a href="https://github.com/wilkerlucio" target="_blank"><img src="https://github.com/wilkerlucio.png?size=48" title="wilkerlucio" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda" width="48" height="48"></a></section><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
297
+ <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.9kB</em>, the ui-react-dom components are another <em>2.6kB</em>, and everything is super fast. Life is easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.7kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>119.6kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.9kB</td><td>53.7kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.6kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,292</td><td>2,292</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,477</td><td>2,477</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>990</td><td>990</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>856</td><td>856</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,464</td></tr><tr><th class="right">Assertions</th><td colspan="3">33,196</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img src="https://github.com/beekeeb.png?size=48" title="beekeeb" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img src="https://github.com/cancelself.png?size=48" title="cancelself" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img src="https://github.com/arpitBhalla.png?size=48" title="arpitBhalla" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/behrends" target="_blank"><img src="https://github.com/behrends.png?size=48" title="behrends" width="48" height="48"></a><a href="https://github.com/betomoedano" target="_blank"><img src="https://github.com/betomoedano.png?size=48" title="betomoedano" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img src="https://github.com/brentvatne.png?size=48" title="brentvatne" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img src="https://github.com/byCedric.png?size=48" title="byCedric" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img src="https://github.com/circadian-risk.png?size=48" title="circadian-risk" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img src="https://github.com/cpojer.png?size=48" title="cpojer" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img src="https://github.com/cubecull.png?size=48" title="cubecull" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img src="https://github.com/erwinkn.png?size=48" title="erwinkn" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img src="https://github.com/expo.png?size=48" title="expo" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img src="https://github.com/ezra-en.png?size=48" title="ezra-en" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img src="https://github.com/feychenie.png?size=48" title="feychenie" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img src="https://github.com/flaming-codes.png?size=48" title="flaming-codes" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img src="https://github.com/fostertheweb.png?size=48" title="fostertheweb" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img src="https://github.com/Giulio987.png?size=48" title="Giulio987" width="48" height="48"></a><a href="https://github.com/hi-ogawa" target="_blank"><img src="https://github.com/hi-ogawa.png?size=48" title="hi-ogawa" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img src="https://github.com/itsdevcoffee.png?size=48" title="itsdevcoffee" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img src="https://github.com/jbolda.png?size=48" title="jbolda" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img src="https://github.com/Kayoo-asso.png?size=48" title="Kayoo-asso" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img src="https://github.com/kotofurumiya.png?size=48" title="kotofurumiya" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img src="https://github.com/Kudo.png?size=48" title="Kudo" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img src="https://github.com/learn-anything.png?size=48" title="learn-anything" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img src="https://github.com/lluc.png?size=48" title="lluc" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img src="https://github.com/marksteve.png?size=48" title="marksteve" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img src="https://github.com/miking-the-viking.png?size=48" title="miking-the-viking" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img src="https://github.com/mjamesderocher.png?size=48" title="mjamesderocher" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img src="https://github.com/mouktardev.png?size=48" title="mouktardev" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img src="https://github.com/nickmessing.png?size=48" title="nickmessing" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img src="https://github.com/nikitavoloboev.png?size=48" title="nikitavoloboev" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img src="https://github.com/nkzw-tech.png?size=48" title="nkzw-tech" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img src="https://github.com/palerdot.png?size=48" title="palerdot" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img src="https://github.com/PorcoRosso85.png?size=48" title="PorcoRosso85" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img src="https://github.com/primodiumxyz.png?size=48" title="primodiumxyz" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img src="https://github.com/shaneosullivan.png?size=48" title="shaneosullivan" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img src="https://github.com/sudo-self.png?size=48" title="sudo-self" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img src="https://github.com/SuperSonicHub1.png?size=48" title="SuperSonicHub1" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img src="https://github.com/threepointone.png?size=48" title="threepointone" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img src="https://github.com/uptonking.png?size=48" title="uptonking" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img src="https://github.com/ViktorZhurbin.png?size=48" title="ViktorZhurbin" width="48" height="48"></a><a href="https://github.com/wilkerlucio" target="_blank"><img src="https://github.com/wilkerlucio.png?size=48" title="wilkerlucio" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img src="https://github.com/WonderPanda.png?size=48" title="WonderPanda" width="48" height="48"></a></section><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
@@ -2,7 +2,7 @@ const getTypeOf = (thing) => typeof thing;
2
2
  const EMPTY_STRING = '';
3
3
  const STRING = getTypeOf(EMPTY_STRING);
4
4
 
5
- const isUndefined = (thing) => thing == undefined;
5
+ const isUndefined = (thing) => thing == void 0;
6
6
  const ifNotUndefined = (value, then, otherwise) =>
7
7
  isUndefined(value) ? otherwise?.() : then(value);
8
8
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -149,7 +149,7 @@ const getDefinableFunctions = (
149
149
  const oldRowValue = mapGet(rowValues, rowId);
150
150
  const newRowValue = hasRow(tableId, rowId)
151
151
  ? validateRowValue(getRowValue(getCell, rowId))
152
- : undefined;
152
+ : void 0;
153
153
  if (
154
154
  !(
155
155
  oldRowValue === newRowValue ||
@@ -164,7 +164,7 @@ const getDefinableFunctions = (
164
164
  const oldSortKey = mapGet(sortKeys, rowId);
165
165
  const newSortKey = hasRow(tableId, rowId)
166
166
  ? getSortKey(getCell, rowId)
167
- : undefined;
167
+ : void 0;
168
168
  if (oldSortKey != newSortKey) {
169
169
  mapSet(changedSortKeys, rowId, newSortKey);
170
170
  }
@@ -307,7 +307,7 @@ const getListenerFunctions = (getThing) => {
307
307
  );
308
308
  const delListener = (id) =>
309
309
  ifNotUndefined(mapGet(allListeners, id), ([, idSetNode, idOrNulls]) => {
310
- visitTree(idSetNode, idOrNulls ?? [EMPTY_STRING], undefined, (idSet) => {
310
+ visitTree(idSetNode, idOrNulls ?? [EMPTY_STRING], void 0, (idSet) => {
311
311
  collDel(idSet, id);
312
312
  return collIsEmpty(idSet) ? 1 : 0;
313
313
  });
@@ -361,7 +361,7 @@ const createRelationships = getCreateFunction((store) => {
361
361
  ] = getDefinableFunctions(
362
362
  store,
363
363
  () => [mapNew(), mapNew(), mapNew(), mapNew()],
364
- (value) => (isUndefined(value) ? undefined : value + EMPTY_STRING),
364
+ (value) => (isUndefined(value) ? void 0 : value + EMPTY_STRING),
365
365
  addListener,
366
366
  callListeners,
367
367
  );
@@ -2,7 +2,7 @@ const getTypeOf = (thing) => typeof thing;
2
2
  const EMPTY_STRING = '';
3
3
  const STRING = getTypeOf(EMPTY_STRING);
4
4
 
5
- const isUndefined = (thing) => thing == undefined;
5
+ const isUndefined = (thing) => thing == void 0;
6
6
  const ifNotUndefined = (value, then, otherwise) =>
7
7
  isUndefined(value) ? otherwise?.() : then(value);
8
8
  const isString = (thing) => getTypeOf(thing) == STRING;
@@ -149,7 +149,7 @@ const getDefinableFunctions = (
149
149
  const oldRowValue = mapGet(rowValues, rowId);
150
150
  const newRowValue = hasRow(tableId, rowId)
151
151
  ? validateRowValue(getRowValue(getCell, rowId))
152
- : undefined;
152
+ : void 0;
153
153
  if (
154
154
  !(
155
155
  oldRowValue === newRowValue ||
@@ -164,7 +164,7 @@ const getDefinableFunctions = (
164
164
  const oldSortKey = mapGet(sortKeys, rowId);
165
165
  const newSortKey = hasRow(tableId, rowId)
166
166
  ? getSortKey(getCell, rowId)
167
- : undefined;
167
+ : void 0;
168
168
  if (oldSortKey != newSortKey) {
169
169
  mapSet(changedSortKeys, rowId, newSortKey);
170
170
  }
@@ -307,7 +307,7 @@ const getListenerFunctions = (getThing) => {
307
307
  );
308
308
  const delListener = (id) =>
309
309
  ifNotUndefined(mapGet(allListeners, id), ([, idSetNode, idOrNulls]) => {
310
- visitTree(idSetNode, idOrNulls ?? [EMPTY_STRING], undefined, (idSet) => {
310
+ visitTree(idSetNode, idOrNulls ?? [EMPTY_STRING], void 0, (idSet) => {
311
311
  collDel(idSet, id);
312
312
  return collIsEmpty(idSet) ? 1 : 0;
313
313
  });
@@ -361,7 +361,7 @@ const createRelationships = getCreateFunction((store) => {
361
361
  ] = getDefinableFunctions(
362
362
  store,
363
363
  () => [mapNew(), mapNew(), mapNew(), mapNew()],
364
- (value) => (isUndefined(value) ? undefined : value + EMPTY_STRING),
364
+ (value) => (isUndefined(value) ? void 0 : value + EMPTY_STRING),
365
365
  addListener,
366
366
  callListeners,
367
367
  );
package/store/index.js CHANGED
@@ -25,7 +25,7 @@ const id = (key) => EMPTY_STRING + key;
25
25
 
26
26
  const isFiniteNumber = isFinite;
27
27
  const isInstanceOf = (thing, cls) => thing instanceof cls;
28
- const isUndefined = (thing) => thing == undefined;
28
+ const isUndefined = (thing) => thing == void 0;
29
29
  const ifNotUndefined = (value, then, otherwise) =>
30
30
  isUndefined(value) ? otherwise?.() : then(value);
31
31
  const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
@@ -64,13 +64,18 @@ const isObject = (obj) =>
64
64
  );
65
65
  const objIds = object.keys;
66
66
  const objFreeze = object.freeze;
67
+ const objNew = (entries = []) => object.fromEntries(entries);
67
68
  const objHas = (obj, id) => id in obj;
68
69
  const objDel = (obj, id) => {
69
70
  delete obj[id];
70
71
  return obj;
71
72
  };
73
+ const objForEach = (obj, cb) =>
74
+ arrayForEach(objEntries(obj), ([id, value]) => cb(value, id));
72
75
  const objToArray = (obj, cb) =>
73
76
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
77
+ const objMap = (obj, cb) =>
78
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
74
79
  const objSize = (obj) => size(objIds(obj));
75
80
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
76
81
  const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
@@ -83,7 +88,7 @@ const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
83
88
  onInvalidObj?.();
84
89
  return false;
85
90
  }
86
- objToArray(obj, (child, id) => {
91
+ objForEach(obj, (child, id) => {
87
92
  if (!validateChild(child, id)) {
88
93
  objDel(obj, id);
89
94
  }
@@ -122,7 +127,7 @@ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
122
127
  return mapGet(map, key);
123
128
  };
124
129
  const mapMatch = (map, obj, set, del = mapSet) => {
125
- objToArray(obj, (value, id) => set(map, id, value));
130
+ objMap(obj, (value, id) => set(map, id, value));
126
131
  mapForEach(map, (id) => (objHas(obj, id) ? 0 : del(map, id)));
127
132
  return map;
128
133
  };
@@ -245,7 +250,7 @@ const getListenerFunctions = (getThing) => {
245
250
  );
246
251
  const delListener = (id) =>
247
252
  ifNotUndefined(mapGet(allListeners, id), ([, idSetNode, idOrNulls]) => {
248
- visitTree(idSetNode, idOrNulls ?? [EMPTY_STRING], undefined, (idSet) => {
253
+ visitTree(idSetNode, idOrNulls ?? [EMPTY_STRING], void 0, (idSet) => {
249
254
  collDel(idSet, id);
250
255
  return collIsEmpty(idSet) ? 1 : 0;
251
256
  });
@@ -286,7 +291,7 @@ const getCellOrValueType = (cellOrValue) => {
286
291
  return isTypeStringOrBoolean(type) ||
287
292
  (type == NUMBER && isFiniteNumber(cellOrValue))
288
293
  ? type
289
- : undefined;
294
+ : void 0;
290
295
  };
291
296
  const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
292
297
  isUndefined(cell)
@@ -309,7 +314,7 @@ const idsChanged = (changedIds, id2, addedOrRemoved) =>
309
314
  mapSet(
310
315
  changedIds,
311
316
  id2,
312
- mapGet(changedIds, id2) == -addedOrRemoved ? undefined : addedOrRemoved,
317
+ mapGet(changedIds, id2) == -addedOrRemoved ? void 0 : addedOrRemoved,
313
318
  );
314
319
  const createStore = () => {
315
320
  let hasTablesSchema;
@@ -783,7 +788,7 @@ const createStore = () => {
783
788
  const callTabularListenersForChanges = (mutator) => {
784
789
  const hasTablesNow = hasTables();
785
790
  if (hasTablesNow != hadTables) {
786
- callListeners(hasTablesListeners[mutator], undefined, hasTablesNow);
791
+ callListeners(hasTablesListeners[mutator], void 0, hasTablesNow);
787
792
  }
788
793
  const emptySortedRowIdListeners = collIsEmpty(
789
794
  sortedRowIdsListeners[mutator],
@@ -922,7 +927,7 @@ const createStore = () => {
922
927
  }
923
928
  });
924
929
  if (tablesChanged) {
925
- callListeners(tablesListeners[mutator], undefined, getCellChange);
930
+ callListeners(tablesListeners[mutator], void 0, getCellChange);
926
931
  }
927
932
  }
928
933
  }
@@ -930,7 +935,7 @@ const createStore = () => {
930
935
  const callValuesListenersForChanges = (mutator) => {
931
936
  const hasValuesNow = hasValues();
932
937
  if (hasValuesNow != hadValues) {
933
- callListeners(hasValuesListeners[mutator], undefined, hasValuesNow);
938
+ callListeners(hasValuesListeners[mutator], void 0, hasValuesNow);
934
939
  }
935
940
  const emptyIdAndHasListeners =
936
941
  collIsEmpty(valueIdsListeners[mutator]) &&
@@ -964,7 +969,7 @@ const createStore = () => {
964
969
  }
965
970
  });
966
971
  if (valuesChanged) {
967
- callListeners(valuesListeners[mutator], undefined, getValueChange);
972
+ callListeners(valuesListeners[mutator], void 0, getValueChange);
968
973
  }
969
974
  }
970
975
  }
@@ -1051,7 +1056,7 @@ const createStore = () => {
1051
1056
  );
1052
1057
  const addRow = (tableId, row, reuseRowIds = true) =>
1053
1058
  transaction(() => {
1054
- let rowId = undefined;
1059
+ let rowId = void 0;
1055
1060
  if (validateRow(tableId, rowId, row)) {
1056
1061
  tableId = id(tableId);
1057
1062
  setValidRow(
@@ -1068,7 +1073,7 @@ const createStore = () => {
1068
1073
  (tableId2, rowId2) => {
1069
1074
  if (validateRow(tableId2, rowId2, partialRow, 1)) {
1070
1075
  const table = getOrCreateTable(tableId2);
1071
- objToArray(partialRow, (cell, cellId) =>
1076
+ objMap(partialRow, (cell, cellId) =>
1072
1077
  setCellIntoDefaultRow(tableId2, table, rowId2, cellId, cell),
1073
1078
  );
1074
1079
  }
@@ -1106,7 +1111,7 @@ const createStore = () => {
1106
1111
  const setPartialValues = (partialValues) =>
1107
1112
  fluentTransaction(() =>
1108
1113
  validateValues(partialValues, 1)
1109
- ? objToArray(partialValues, (value, valueId) =>
1114
+ ? objMap(partialValues, (value, valueId) =>
1110
1115
  setValidValue(valueId, value),
1111
1116
  )
1112
1117
  : 0,
@@ -1125,18 +1130,18 @@ const createStore = () => {
1125
1130
  );
1126
1131
  const applyChanges = (changes) =>
1127
1132
  fluentTransaction(() => {
1128
- objToArray(changes[0], (table, tableId) =>
1133
+ objMap(changes[0], (table, tableId) =>
1129
1134
  isUndefined(table)
1130
1135
  ? delTable(tableId)
1131
- : objToArray(table, (row, rowId) =>
1136
+ : objMap(table, (row, rowId) =>
1132
1137
  isUndefined(row)
1133
1138
  ? delRow(tableId, rowId)
1134
- : objToArray(row, (cell, cellId) =>
1139
+ : objMap(row, (cell, cellId) =>
1135
1140
  setOrDelCell(store, tableId, rowId, cellId, cell),
1136
1141
  ),
1137
1142
  ),
1138
1143
  );
1139
- objToArray(changes[1], (value, valueId) =>
1144
+ objMap(changes[1], (value, valueId) =>
1140
1145
  setOrDelValue(store, valueId, value),
1141
1146
  );
1142
1147
  });
@@ -1273,12 +1278,12 @@ const createStore = () => {
1273
1278
  changedCells,
1274
1279
  (table, tableId) =>
1275
1280
  mapGet(changedTableIds, tableId) === -1
1276
- ? undefined
1281
+ ? void 0
1277
1282
  : mapToObj(
1278
1283
  table,
1279
1284
  (row, rowId) =>
1280
1285
  mapGet(mapGet(changedRowIds, tableId), rowId) === -1
1281
- ? undefined
1286
+ ? void 0
1282
1287
  : mapToObj(
1283
1288
  row,
1284
1289
  ([, newCell]) => newCell,
@@ -1336,7 +1341,7 @@ const createStore = () => {
1336
1341
  );
1337
1342
  collClear(changedValues);
1338
1343
  }
1339
- callListeners(finishTransactionListeners[0], undefined);
1344
+ callListeners(finishTransactionListeners[0], void 0);
1340
1345
  transactions = -1;
1341
1346
  callInvalidCellListeners(0);
1342
1347
  if (!collIsEmpty(changedCells)) {
@@ -1347,7 +1352,7 @@ const createStore = () => {
1347
1352
  callValuesListenersForChanges(0);
1348
1353
  }
1349
1354
  internalListeners[1]?.();
1350
- callListeners(finishTransactionListeners[1], undefined);
1355
+ callListeners(finishTransactionListeners[1], void 0);
1351
1356
  internalListeners[2]?.();
1352
1357
  transactions = 0;
1353
1358
  hadTables = hasTables();
@@ -1568,7 +1573,7 @@ const createStore = () => {
1568
1573
  callListeners,
1569
1574
  setInternalListeners,
1570
1575
  };
1571
- objToArray(
1576
+ objMap(
1572
1577
  {
1573
1578
  [HAS + TABLES]: [0, hasTablesListeners, [], () => [hasTables()]],
1574
1579
  [TABLES]: [0, tablesListeners],
@@ -1632,7 +1637,7 @@ const createStore = () => {
1632
1637
  addListener(
1633
1638
  args[argumentCount],
1634
1639
  idSetNode[args[argumentCount + 1] ? 1 : 0],
1635
- argumentCount > 0 ? slice(args, 0, argumentCount) : undefined,
1640
+ argumentCount > 0 ? slice(args, 0, argumentCount) : void 0,
1636
1641
  pathGetters,
1637
1642
  extraArgsGetter,
1638
1643
  );