tinybase 5.2.0-beta.2 → 5.2.0-beta.4

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 (916) hide show
  1. package/@types/common/index.d.cts +34 -2
  2. package/@types/common/index.d.ts +34 -2
  3. package/@types/common/with-schemas/index.d.cts +34 -2
  4. package/@types/common/with-schemas/index.d.ts +34 -2
  5. package/@types/persisters/index.d.cts +21 -2
  6. package/@types/persisters/index.d.ts +21 -2
  7. package/@types/persisters/persister-pglite/index.d.cts +178 -0
  8. package/@types/persisters/persister-pglite/index.d.ts +178 -0
  9. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +197 -0
  10. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +197 -0
  11. package/@types/persisters/persister-postgres/index.d.cts +2 -1
  12. package/@types/persisters/persister-postgres/index.d.ts +2 -1
  13. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -1
  14. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -1
  15. package/@types/persisters/with-schemas/index.d.cts +21 -2
  16. package/@types/persisters/with-schemas/index.d.ts +21 -2
  17. package/@types/synchronizers/synchronizer-local/index.d.cts +1 -0
  18. package/@types/synchronizers/synchronizer-local/index.d.ts +1 -0
  19. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +1 -0
  20. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +1 -0
  21. package/checkpoints/index.js +9 -7
  22. package/checkpoints/with-schemas/index.js +9 -7
  23. package/cjs/checkpoints/index.cjs +9 -7
  24. package/cjs/checkpoints/with-schemas/index.cjs +9 -7
  25. package/cjs/es6/checkpoints/index.cjs +15 -13
  26. package/cjs/es6/checkpoints/with-schemas/index.cjs +15 -13
  27. package/cjs/es6/index.cjs +31 -22
  28. package/cjs/es6/indexes/index.cjs +15 -13
  29. package/cjs/es6/indexes/with-schemas/index.cjs +15 -13
  30. package/cjs/es6/mergeable-store/index.cjs +26 -19
  31. package/cjs/es6/mergeable-store/with-schemas/index.cjs +26 -19
  32. package/cjs/es6/metrics/index.cjs +15 -13
  33. package/cjs/es6/metrics/with-schemas/index.cjs +15 -13
  34. package/cjs/es6/min/index.cjs +1 -1
  35. package/cjs/es6/min/index.cjs.gz +0 -0
  36. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  37. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  38. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  39. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -0
  77. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  79. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  93. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  94. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  98. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  99. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  100. package/cjs/es6/min/store/index.cjs +1 -1
  101. package/cjs/es6/min/store/index.cjs.gz +0 -0
  102. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  103. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  104. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  105. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  106. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  107. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  108. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  109. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  110. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  113. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  114. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  117. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  118. package/cjs/es6/persisters/index.cjs +5 -3
  119. package/cjs/es6/persisters/persister-automerge/index.cjs +7 -4
  120. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +7 -4
  121. package/cjs/es6/persisters/persister-browser/index.cjs +8 -5
  122. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +8 -5
  123. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +147 -102
  124. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +147 -102
  125. package/cjs/es6/persisters/persister-electric-sql/index.cjs +147 -102
  126. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +147 -102
  127. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +147 -102
  128. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +147 -102
  129. package/cjs/es6/persisters/persister-file/index.cjs +9 -5
  130. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +9 -5
  131. package/cjs/es6/persisters/persister-indexed-db/index.cjs +5 -3
  132. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +5 -3
  133. package/cjs/es6/persisters/persister-libsql/index.cjs +147 -102
  134. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +147 -102
  135. package/cjs/es6/persisters/persister-partykit-client/index.cjs +8 -5
  136. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +8 -5
  137. package/cjs/es6/persisters/persister-partykit-server/index.cjs +39 -24
  138. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +39 -24
  139. package/cjs/es6/persisters/persister-pglite/index.cjs +1320 -0
  140. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +1320 -0
  141. package/cjs/es6/persisters/persister-postgres/index.cjs +171 -92
  142. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +171 -92
  143. package/cjs/es6/persisters/persister-powersync/index.cjs +149 -104
  144. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +149 -104
  145. package/cjs/es6/persisters/persister-remote/index.cjs +8 -5
  146. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +8 -5
  147. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +147 -102
  148. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +147 -102
  149. package/cjs/es6/persisters/persister-sqlite3/index.cjs +147 -102
  150. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +147 -102
  151. package/cjs/es6/persisters/persister-yjs/index.cjs +5 -3
  152. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +5 -3
  153. package/cjs/es6/persisters/with-schemas/index.cjs +5 -3
  154. package/cjs/es6/relationships/index.cjs +15 -13
  155. package/cjs/es6/relationships/with-schemas/index.cjs +15 -13
  156. package/cjs/es6/store/index.cjs +26 -19
  157. package/cjs/es6/store/with-schemas/index.cjs +26 -19
  158. package/cjs/es6/synchronizers/index.cjs +5 -3
  159. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +5 -3
  160. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +5 -3
  161. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +5 -3
  162. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +5 -3
  163. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +12 -8
  164. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +12 -8
  165. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +83 -77
  166. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +83 -77
  167. package/cjs/es6/synchronizers/with-schemas/index.cjs +5 -3
  168. package/cjs/es6/ui-react-inspector/index.cjs +35 -25
  169. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +35 -25
  170. package/cjs/es6/with-schemas/index.cjs +31 -22
  171. package/cjs/index.cjs +25 -14
  172. package/cjs/indexes/index.cjs +9 -7
  173. package/cjs/indexes/with-schemas/index.cjs +9 -7
  174. package/cjs/mergeable-store/index.cjs +20 -11
  175. package/cjs/mergeable-store/with-schemas/index.cjs +20 -11
  176. package/cjs/metrics/index.cjs +9 -7
  177. package/cjs/metrics/with-schemas/index.cjs +9 -7
  178. package/cjs/min/index.cjs +1 -1
  179. package/cjs/min/index.cjs.gz +0 -0
  180. package/cjs/min/mergeable-store/index.cjs +1 -1
  181. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  182. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  183. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-partykit-server/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-pglite/index.cjs +1 -0
  221. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  223. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  233. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  234. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  235. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  236. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  237. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  238. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  239. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  241. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  242. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  243. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/min/store/index.cjs +1 -1
  245. package/cjs/min/store/index.cjs.gz +0 -0
  246. package/cjs/min/store/with-schemas/index.cjs +1 -1
  247. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  249. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  250. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  251. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  253. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  254. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  255. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  256. package/cjs/min/tools/index.cjs +1 -1
  257. package/cjs/min/tools/index.cjs.gz +0 -0
  258. package/cjs/min/tools/with-schemas/index.cjs +1 -1
  259. package/cjs/min/tools/with-schemas/index.cjs.gz +0 -0
  260. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  261. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  262. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  263. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/min/with-schemas/index.cjs +1 -1
  265. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  266. package/cjs/persisters/index.cjs +5 -3
  267. package/cjs/persisters/persister-automerge/index.cjs +7 -4
  268. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +7 -4
  269. package/cjs/persisters/persister-browser/index.cjs +8 -5
  270. package/cjs/persisters/persister-browser/with-schemas/index.cjs +8 -5
  271. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +103 -60
  272. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +103 -60
  273. package/cjs/persisters/persister-electric-sql/index.cjs +103 -60
  274. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +103 -60
  275. package/cjs/persisters/persister-expo-sqlite/index.cjs +103 -60
  276. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +103 -60
  277. package/cjs/persisters/persister-file/index.cjs +9 -5
  278. package/cjs/persisters/persister-file/with-schemas/index.cjs +9 -5
  279. package/cjs/persisters/persister-indexed-db/index.cjs +5 -3
  280. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +5 -3
  281. package/cjs/persisters/persister-libsql/index.cjs +103 -60
  282. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +103 -60
  283. package/cjs/persisters/persister-partykit-client/index.cjs +8 -5
  284. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +8 -5
  285. package/cjs/persisters/persister-partykit-server/index.cjs +39 -27
  286. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +39 -27
  287. package/cjs/persisters/persister-pglite/index.cjs +994 -0
  288. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +994 -0
  289. package/cjs/persisters/persister-postgres/index.cjs +126 -52
  290. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +126 -52
  291. package/cjs/persisters/persister-powersync/index.cjs +105 -62
  292. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +105 -62
  293. package/cjs/persisters/persister-remote/index.cjs +8 -5
  294. package/cjs/persisters/persister-remote/with-schemas/index.cjs +8 -5
  295. package/cjs/persisters/persister-sqlite-wasm/index.cjs +103 -60
  296. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +103 -60
  297. package/cjs/persisters/persister-sqlite3/index.cjs +103 -60
  298. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +103 -60
  299. package/cjs/persisters/persister-yjs/index.cjs +5 -3
  300. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +5 -3
  301. package/cjs/persisters/with-schemas/index.cjs +5 -3
  302. package/cjs/relationships/index.cjs +9 -7
  303. package/cjs/relationships/with-schemas/index.cjs +9 -7
  304. package/cjs/store/index.cjs +20 -11
  305. package/cjs/store/with-schemas/index.cjs +20 -11
  306. package/cjs/synchronizers/index.cjs +5 -3
  307. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +5 -3
  308. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +5 -3
  309. package/cjs/synchronizers/synchronizer-local/index.cjs +5 -3
  310. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +5 -3
  311. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +12 -8
  312. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +12 -8
  313. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +34 -25
  314. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +34 -25
  315. package/cjs/synchronizers/with-schemas/index.cjs +5 -3
  316. package/cjs/tools/index.cjs +1 -1
  317. package/cjs/tools/with-schemas/index.cjs +1 -1
  318. package/cjs/ui-react-inspector/index.cjs +29 -17
  319. package/cjs/ui-react-inspector/with-schemas/index.cjs +29 -17
  320. package/cjs/with-schemas/index.cjs +25 -14
  321. package/es6/checkpoints/index.js +15 -13
  322. package/es6/checkpoints/with-schemas/index.js +15 -13
  323. package/es6/index.js +31 -22
  324. package/es6/indexes/index.js +15 -13
  325. package/es6/indexes/with-schemas/index.js +15 -13
  326. package/es6/mergeable-store/index.js +26 -19
  327. package/es6/mergeable-store/with-schemas/index.js +26 -19
  328. package/es6/metrics/index.js +15 -13
  329. package/es6/metrics/with-schemas/index.js +15 -13
  330. package/es6/min/index.js +1 -1
  331. package/es6/min/index.js.gz +0 -0
  332. package/es6/min/mergeable-store/index.js +1 -1
  333. package/es6/min/mergeable-store/index.js.gz +0 -0
  334. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  335. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-automerge/index.js +1 -1
  337. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  339. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-browser/index.js +1 -1
  341. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  343. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  345. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  347. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  349. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  351. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  353. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  355. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-file/index.js +1 -1
  357. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  359. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-libsql/index.js +1 -1
  361. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  363. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  365. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  367. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-partykit-server/index.js +1 -1
  369. package/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  371. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-pglite/index.js +1 -0
  373. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  374. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  375. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  376. package/es6/min/persisters/persister-postgres/index.js +1 -1
  377. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  378. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  379. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  380. package/es6/min/persisters/persister-powersync/index.js +1 -1
  381. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  382. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  383. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  384. package/es6/min/persisters/persister-remote/index.js +1 -1
  385. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  386. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  387. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  388. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  389. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  390. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  391. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  392. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  393. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  394. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  395. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  396. package/es6/min/store/index.js +1 -1
  397. package/es6/min/store/index.js.gz +0 -0
  398. package/es6/min/store/with-schemas/index.js +1 -1
  399. package/es6/min/store/with-schemas/index.js.gz +0 -0
  400. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  401. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  402. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  403. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  404. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  405. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  406. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  407. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  408. package/es6/min/ui-react-inspector/index.js +1 -1
  409. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  410. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  411. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  412. package/es6/min/with-schemas/index.js +1 -1
  413. package/es6/min/with-schemas/index.js.gz +0 -0
  414. package/es6/persisters/index.js +5 -3
  415. package/es6/persisters/persister-automerge/index.js +7 -4
  416. package/es6/persisters/persister-automerge/with-schemas/index.js +7 -4
  417. package/es6/persisters/persister-browser/index.js +8 -5
  418. package/es6/persisters/persister-browser/with-schemas/index.js +8 -5
  419. package/es6/persisters/persister-cr-sqlite-wasm/index.js +147 -102
  420. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +147 -102
  421. package/es6/persisters/persister-electric-sql/index.js +147 -102
  422. package/es6/persisters/persister-electric-sql/with-schemas/index.js +147 -102
  423. package/es6/persisters/persister-expo-sqlite/index.js +147 -102
  424. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +147 -102
  425. package/es6/persisters/persister-file/index.js +9 -5
  426. package/es6/persisters/persister-file/with-schemas/index.js +9 -5
  427. package/es6/persisters/persister-indexed-db/index.js +5 -3
  428. package/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  429. package/es6/persisters/persister-libsql/index.js +147 -102
  430. package/es6/persisters/persister-libsql/with-schemas/index.js +147 -102
  431. package/es6/persisters/persister-partykit-client/index.js +8 -5
  432. package/es6/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  433. package/es6/persisters/persister-partykit-server/index.js +39 -24
  434. package/es6/persisters/persister-partykit-server/with-schemas/index.js +39 -24
  435. package/es6/persisters/persister-pglite/index.js +1318 -0
  436. package/es6/persisters/persister-pglite/with-schemas/index.js +1318 -0
  437. package/es6/persisters/persister-postgres/index.js +171 -92
  438. package/es6/persisters/persister-postgres/with-schemas/index.js +171 -92
  439. package/es6/persisters/persister-powersync/index.js +149 -104
  440. package/es6/persisters/persister-powersync/with-schemas/index.js +149 -104
  441. package/es6/persisters/persister-remote/index.js +8 -5
  442. package/es6/persisters/persister-remote/with-schemas/index.js +8 -5
  443. package/es6/persisters/persister-sqlite-wasm/index.js +147 -102
  444. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +147 -102
  445. package/es6/persisters/persister-sqlite3/index.js +147 -102
  446. package/es6/persisters/persister-sqlite3/with-schemas/index.js +147 -102
  447. package/es6/persisters/persister-yjs/index.js +5 -3
  448. package/es6/persisters/persister-yjs/with-schemas/index.js +5 -3
  449. package/es6/persisters/with-schemas/index.js +5 -3
  450. package/es6/relationships/index.js +15 -13
  451. package/es6/relationships/with-schemas/index.js +15 -13
  452. package/es6/store/index.js +26 -19
  453. package/es6/store/with-schemas/index.js +26 -19
  454. package/es6/synchronizers/index.js +5 -3
  455. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  456. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  457. package/es6/synchronizers/synchronizer-local/index.js +5 -3
  458. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  459. package/es6/synchronizers/synchronizer-ws-client/index.js +12 -8
  460. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -8
  461. package/es6/synchronizers/synchronizer-ws-server/index.js +83 -77
  462. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +83 -77
  463. package/es6/synchronizers/with-schemas/index.js +5 -3
  464. package/es6/ui-react-inspector/index.js +35 -25
  465. package/es6/ui-react-inspector/with-schemas/index.js +35 -25
  466. package/es6/with-schemas/index.js +31 -22
  467. package/index.js +25 -14
  468. package/indexes/index.js +9 -7
  469. package/indexes/with-schemas/index.js +9 -7
  470. package/mergeable-store/index.js +20 -11
  471. package/mergeable-store/with-schemas/index.js +20 -11
  472. package/metrics/index.js +9 -7
  473. package/metrics/with-schemas/index.js +9 -7
  474. package/min/index.js +1 -1
  475. package/min/index.js.gz +0 -0
  476. package/min/mergeable-store/index.js +1 -1
  477. package/min/mergeable-store/index.js.gz +0 -0
  478. package/min/mergeable-store/with-schemas/index.js +1 -1
  479. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  480. package/min/persisters/persister-automerge/index.js +1 -1
  481. package/min/persisters/persister-automerge/index.js.gz +0 -0
  482. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  483. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  484. package/min/persisters/persister-browser/index.js +1 -1
  485. package/min/persisters/persister-browser/index.js.gz +0 -0
  486. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  487. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  488. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  489. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  490. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  491. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  492. package/min/persisters/persister-electric-sql/index.js +1 -1
  493. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  494. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  495. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  496. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  497. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  498. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  499. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  500. package/min/persisters/persister-file/index.js +1 -1
  501. package/min/persisters/persister-file/index.js.gz +0 -0
  502. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  503. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  504. package/min/persisters/persister-libsql/index.js +1 -1
  505. package/min/persisters/persister-libsql/index.js.gz +0 -0
  506. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  507. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  508. package/min/persisters/persister-partykit-client/index.js +1 -1
  509. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  510. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  511. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  512. package/min/persisters/persister-partykit-server/index.js +1 -1
  513. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  514. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  515. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  516. package/min/persisters/persister-pglite/index.js +1 -0
  517. package/min/persisters/persister-pglite/index.js.gz +0 -0
  518. package/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  519. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  520. package/min/persisters/persister-postgres/index.js +1 -1
  521. package/min/persisters/persister-postgres/index.js.gz +0 -0
  522. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  523. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  524. package/min/persisters/persister-powersync/index.js +1 -1
  525. package/min/persisters/persister-powersync/index.js.gz +0 -0
  526. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  527. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  528. package/min/persisters/persister-remote/index.js +1 -1
  529. package/min/persisters/persister-remote/index.js.gz +0 -0
  530. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  531. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  532. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  533. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  534. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  535. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  536. package/min/persisters/persister-sqlite3/index.js +1 -1
  537. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  538. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  539. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  540. package/min/store/index.js +1 -1
  541. package/min/store/index.js.gz +0 -0
  542. package/min/store/with-schemas/index.js +1 -1
  543. package/min/store/with-schemas/index.js.gz +0 -0
  544. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  545. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  546. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  547. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  548. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  549. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  550. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  551. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  552. package/min/tools/index.js +1 -1
  553. package/min/tools/index.js.gz +0 -0
  554. package/min/tools/with-schemas/index.js +1 -1
  555. package/min/tools/with-schemas/index.js.gz +0 -0
  556. package/min/ui-react-inspector/index.js +1 -1
  557. package/min/ui-react-inspector/index.js.gz +0 -0
  558. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  559. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  560. package/min/with-schemas/index.js +1 -1
  561. package/min/with-schemas/index.js.gz +0 -0
  562. package/package.json +218 -110
  563. package/persisters/index.js +5 -3
  564. package/persisters/persister-automerge/index.js +7 -4
  565. package/persisters/persister-automerge/with-schemas/index.js +7 -4
  566. package/persisters/persister-browser/index.js +8 -5
  567. package/persisters/persister-browser/with-schemas/index.js +8 -5
  568. package/persisters/persister-cr-sqlite-wasm/index.js +103 -60
  569. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +103 -60
  570. package/persisters/persister-electric-sql/index.js +103 -60
  571. package/persisters/persister-electric-sql/with-schemas/index.js +103 -60
  572. package/persisters/persister-expo-sqlite/index.js +103 -60
  573. package/persisters/persister-expo-sqlite/with-schemas/index.js +103 -60
  574. package/persisters/persister-file/index.js +9 -5
  575. package/persisters/persister-file/with-schemas/index.js +9 -5
  576. package/persisters/persister-indexed-db/index.js +5 -3
  577. package/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  578. package/persisters/persister-libsql/index.js +103 -60
  579. package/persisters/persister-libsql/with-schemas/index.js +103 -60
  580. package/persisters/persister-partykit-client/index.js +8 -5
  581. package/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  582. package/persisters/persister-partykit-server/index.js +39 -27
  583. package/persisters/persister-partykit-server/with-schemas/index.js +39 -27
  584. package/persisters/persister-pglite/index.js +992 -0
  585. package/persisters/persister-pglite/with-schemas/index.js +992 -0
  586. package/persisters/persister-postgres/index.js +126 -52
  587. package/persisters/persister-postgres/with-schemas/index.js +126 -52
  588. package/persisters/persister-powersync/index.js +105 -62
  589. package/persisters/persister-powersync/with-schemas/index.js +105 -62
  590. package/persisters/persister-remote/index.js +8 -5
  591. package/persisters/persister-remote/with-schemas/index.js +8 -5
  592. package/persisters/persister-sqlite-wasm/index.js +103 -60
  593. package/persisters/persister-sqlite-wasm/with-schemas/index.js +103 -60
  594. package/persisters/persister-sqlite3/index.js +103 -60
  595. package/persisters/persister-sqlite3/with-schemas/index.js +103 -60
  596. package/persisters/persister-yjs/index.js +5 -3
  597. package/persisters/persister-yjs/with-schemas/index.js +5 -3
  598. package/persisters/with-schemas/index.js +5 -3
  599. package/readme.md +2 -2
  600. package/relationships/index.js +9 -7
  601. package/relationships/with-schemas/index.js +9 -7
  602. package/store/index.js +20 -11
  603. package/store/with-schemas/index.js +20 -11
  604. package/synchronizers/index.js +5 -3
  605. package/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  606. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  607. package/synchronizers/synchronizer-local/index.js +5 -3
  608. package/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  609. package/synchronizers/synchronizer-ws-client/index.js +12 -8
  610. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -8
  611. package/synchronizers/synchronizer-ws-server/index.js +34 -25
  612. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +34 -25
  613. package/synchronizers/with-schemas/index.js +5 -3
  614. package/tools/index.js +1 -1
  615. package/tools/with-schemas/index.js +1 -1
  616. package/ui-react-inspector/index.js +29 -17
  617. package/ui-react-inspector/with-schemas/index.js +29 -17
  618. package/umd/checkpoints/index.js +9 -7
  619. package/umd/checkpoints/with-schemas/index.js +9 -7
  620. package/umd/es6/checkpoints/index.js +15 -13
  621. package/umd/es6/checkpoints/with-schemas/index.js +15 -13
  622. package/umd/es6/index.js +31 -22
  623. package/umd/es6/indexes/index.js +15 -13
  624. package/umd/es6/indexes/with-schemas/index.js +15 -13
  625. package/umd/es6/mergeable-store/index.js +26 -19
  626. package/umd/es6/mergeable-store/with-schemas/index.js +26 -19
  627. package/umd/es6/metrics/index.js +15 -13
  628. package/umd/es6/metrics/with-schemas/index.js +15 -13
  629. package/umd/es6/min/index.js +1 -1
  630. package/umd/es6/min/index.js.gz +0 -0
  631. package/umd/es6/min/mergeable-store/index.js +1 -1
  632. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  633. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  634. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  635. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  636. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  637. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  638. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  639. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  640. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  641. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  642. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  643. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  644. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  645. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  646. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  647. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  648. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  649. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  650. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  651. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  652. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  653. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  654. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  655. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  656. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  657. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  658. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  659. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  660. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  661. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  662. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  663. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  664. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  665. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  666. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  667. package/umd/es6/min/persisters/persister-partykit-server/index.js +1 -1
  668. package/umd/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  669. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  670. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  671. package/umd/es6/min/persisters/persister-pglite/index.js +1 -0
  672. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  673. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  674. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  675. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  676. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  677. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  678. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  679. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  680. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  681. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  682. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  683. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  684. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  685. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  686. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  687. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  688. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  689. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  690. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  691. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  692. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  693. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  694. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  695. package/umd/es6/min/store/index.js +1 -1
  696. package/umd/es6/min/store/index.js.gz +0 -0
  697. package/umd/es6/min/store/with-schemas/index.js +1 -1
  698. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  699. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  700. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  701. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  702. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  703. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  704. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  705. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  706. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  707. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  708. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  709. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  710. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  711. package/umd/es6/min/with-schemas/index.js +1 -1
  712. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  713. package/umd/es6/persisters/index.js +5 -3
  714. package/umd/es6/persisters/persister-automerge/index.js +7 -4
  715. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +7 -4
  716. package/umd/es6/persisters/persister-browser/index.js +8 -7
  717. package/umd/es6/persisters/persister-browser/with-schemas/index.js +8 -7
  718. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +151 -106
  719. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +151 -106
  720. package/umd/es6/persisters/persister-electric-sql/index.js +151 -106
  721. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +151 -106
  722. package/umd/es6/persisters/persister-expo-sqlite/index.js +151 -106
  723. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +151 -106
  724. package/umd/es6/persisters/persister-file/index.js +9 -7
  725. package/umd/es6/persisters/persister-file/with-schemas/index.js +9 -7
  726. package/umd/es6/persisters/persister-indexed-db/index.js +5 -3
  727. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  728. package/umd/es6/persisters/persister-libsql/index.js +151 -106
  729. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +151 -106
  730. package/umd/es6/persisters/persister-partykit-client/index.js +8 -5
  731. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  732. package/umd/es6/persisters/persister-partykit-server/index.js +39 -24
  733. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +39 -24
  734. package/umd/es6/persisters/persister-pglite/index.js +1341 -0
  735. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +1341 -0
  736. package/umd/es6/persisters/persister-postgres/index.js +171 -94
  737. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +171 -94
  738. package/umd/es6/persisters/persister-powersync/index.js +153 -108
  739. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +153 -108
  740. package/umd/es6/persisters/persister-remote/index.js +8 -5
  741. package/umd/es6/persisters/persister-remote/with-schemas/index.js +8 -5
  742. package/umd/es6/persisters/persister-sqlite-wasm/index.js +151 -106
  743. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +151 -106
  744. package/umd/es6/persisters/persister-sqlite3/index.js +151 -106
  745. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +151 -106
  746. package/umd/es6/persisters/persister-yjs/index.js +5 -3
  747. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +5 -3
  748. package/umd/es6/persisters/with-schemas/index.js +5 -3
  749. package/umd/es6/relationships/index.js +15 -13
  750. package/umd/es6/relationships/with-schemas/index.js +15 -13
  751. package/umd/es6/store/index.js +26 -19
  752. package/umd/es6/store/with-schemas/index.js +26 -19
  753. package/umd/es6/synchronizers/index.js +5 -3
  754. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  755. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  756. package/umd/es6/synchronizers/synchronizer-local/index.js +5 -3
  757. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  758. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +12 -10
  759. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -10
  760. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +83 -81
  761. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +83 -81
  762. package/umd/es6/synchronizers/with-schemas/index.js +5 -3
  763. package/umd/es6/ui-react-inspector/index.js +35 -27
  764. package/umd/es6/ui-react-inspector/with-schemas/index.js +35 -27
  765. package/umd/es6/with-schemas/index.js +31 -22
  766. package/umd/index.js +25 -14
  767. package/umd/indexes/index.js +9 -7
  768. package/umd/indexes/with-schemas/index.js +9 -7
  769. package/umd/mergeable-store/index.js +20 -11
  770. package/umd/mergeable-store/with-schemas/index.js +20 -11
  771. package/umd/metrics/index.js +9 -7
  772. package/umd/metrics/with-schemas/index.js +9 -7
  773. package/umd/min/index.js +1 -1
  774. package/umd/min/index.js.gz +0 -0
  775. package/umd/min/mergeable-store/index.js +1 -1
  776. package/umd/min/mergeable-store/index.js.gz +0 -0
  777. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  778. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  779. package/umd/min/persisters/persister-automerge/index.js +1 -1
  780. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  781. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  782. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  783. package/umd/min/persisters/persister-browser/index.js +1 -1
  784. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  785. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  786. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  787. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  788. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  789. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  790. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  791. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  792. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  793. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  794. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  795. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  796. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  797. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  798. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  799. package/umd/min/persisters/persister-file/index.js +1 -1
  800. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  801. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  802. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  803. package/umd/min/persisters/persister-libsql/index.js +1 -1
  804. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  805. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  806. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  807. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  808. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  809. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  810. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  811. package/umd/min/persisters/persister-partykit-server/index.js +1 -1
  812. package/umd/min/persisters/persister-partykit-server/index.js.gz +0 -0
  813. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  814. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  815. package/umd/min/persisters/persister-pglite/index.js +1 -0
  816. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  817. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  818. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  819. package/umd/min/persisters/persister-postgres/index.js +1 -1
  820. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  821. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  822. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  823. package/umd/min/persisters/persister-powersync/index.js +1 -1
  824. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  825. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  826. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  827. package/umd/min/persisters/persister-remote/index.js +1 -1
  828. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  829. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  830. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  831. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  832. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  833. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  834. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  835. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  836. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  837. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  838. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  839. package/umd/min/store/index.js +1 -1
  840. package/umd/min/store/index.js.gz +0 -0
  841. package/umd/min/store/with-schemas/index.js +1 -1
  842. package/umd/min/store/with-schemas/index.js.gz +0 -0
  843. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  844. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  845. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  846. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  847. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  848. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  849. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  850. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  851. package/umd/min/tools/index.js +1 -1
  852. package/umd/min/tools/index.js.gz +0 -0
  853. package/umd/min/tools/with-schemas/index.js +1 -1
  854. package/umd/min/tools/with-schemas/index.js.gz +0 -0
  855. package/umd/min/ui-react-inspector/index.js +1 -1
  856. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  857. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  858. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  859. package/umd/min/with-schemas/index.js +1 -1
  860. package/umd/min/with-schemas/index.js.gz +0 -0
  861. package/umd/persisters/index.js +5 -3
  862. package/umd/persisters/persister-automerge/index.js +7 -4
  863. package/umd/persisters/persister-automerge/with-schemas/index.js +7 -4
  864. package/umd/persisters/persister-browser/index.js +8 -7
  865. package/umd/persisters/persister-browser/with-schemas/index.js +8 -7
  866. package/umd/persisters/persister-cr-sqlite-wasm/index.js +103 -62
  867. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +103 -62
  868. package/umd/persisters/persister-electric-sql/index.js +103 -62
  869. package/umd/persisters/persister-electric-sql/with-schemas/index.js +103 -62
  870. package/umd/persisters/persister-expo-sqlite/index.js +103 -62
  871. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +103 -62
  872. package/umd/persisters/persister-file/index.js +9 -7
  873. package/umd/persisters/persister-file/with-schemas/index.js +9 -7
  874. package/umd/persisters/persister-indexed-db/index.js +5 -3
  875. package/umd/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  876. package/umd/persisters/persister-libsql/index.js +103 -62
  877. package/umd/persisters/persister-libsql/with-schemas/index.js +103 -62
  878. package/umd/persisters/persister-partykit-client/index.js +8 -5
  879. package/umd/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  880. package/umd/persisters/persister-partykit-server/index.js +39 -27
  881. package/umd/persisters/persister-partykit-server/with-schemas/index.js +39 -27
  882. package/umd/persisters/persister-pglite/index.js +1010 -0
  883. package/umd/persisters/persister-pglite/with-schemas/index.js +1010 -0
  884. package/umd/persisters/persister-postgres/index.js +126 -54
  885. package/umd/persisters/persister-postgres/with-schemas/index.js +126 -54
  886. package/umd/persisters/persister-powersync/index.js +105 -64
  887. package/umd/persisters/persister-powersync/with-schemas/index.js +105 -64
  888. package/umd/persisters/persister-remote/index.js +8 -5
  889. package/umd/persisters/persister-remote/with-schemas/index.js +8 -5
  890. package/umd/persisters/persister-sqlite-wasm/index.js +103 -62
  891. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +103 -62
  892. package/umd/persisters/persister-sqlite3/index.js +103 -62
  893. package/umd/persisters/persister-sqlite3/with-schemas/index.js +103 -62
  894. package/umd/persisters/persister-yjs/index.js +5 -3
  895. package/umd/persisters/persister-yjs/with-schemas/index.js +5 -3
  896. package/umd/persisters/with-schemas/index.js +5 -3
  897. package/umd/relationships/index.js +9 -7
  898. package/umd/relationships/with-schemas/index.js +9 -7
  899. package/umd/store/index.js +20 -11
  900. package/umd/store/with-schemas/index.js +20 -11
  901. package/umd/synchronizers/index.js +5 -3
  902. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  903. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  904. package/umd/synchronizers/synchronizer-local/index.js +5 -3
  905. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  906. package/umd/synchronizers/synchronizer-ws-client/index.js +12 -10
  907. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -10
  908. package/umd/synchronizers/synchronizer-ws-server/index.js +34 -27
  909. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +34 -27
  910. package/umd/synchronizers/with-schemas/index.js +5 -3
  911. package/umd/tools/index.js +1 -1
  912. package/umd/tools/with-schemas/index.js +1 -1
  913. package/umd/ui-react-inspector/index.js +29 -19
  914. package/umd/ui-react-inspector/with-schemas/index.js +29 -19
  915. package/umd/with-schemas/index.js +25 -14
  916. package/with-schemas/index.js +25 -14
@@ -130,9 +130,11 @@ const createCustomPersister = (
130
130
  await schedule(async () => {
131
131
  try {
132
132
  const content = await getPersisted();
133
- isArray(content)
134
- ? setContentOrChanges(content)
135
- : errorNew(`Content is not an array ${content}`);
133
+ if (isArray(content)) {
134
+ setContentOrChanges(content);
135
+ } else {
136
+ errorNew(`Content is not an array ${content}`);
137
+ }
136
138
  } catch (error) {
137
139
  onIgnoredError?.(error);
138
140
  if (initialContent) {
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://beta.tinybase.org/guides/releases/#v5-2"><em>NEW!</em> v5.2 release</a></p><p><span id="one-with">&quot;The One With PostgreSQL!&quot;</span></p><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.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://beta.tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, but you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://beta.tinybase.org/api/persister-browser">browser storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://beta.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 - 12.8kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.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://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://beta.tinybase.org/react.svg"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://beta.tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/postgresql.svg"> PostgreSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/turso.svg">Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img width="48" src="https://beta.tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://beta.tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://beta.tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img width="48" src="https://beta.tinybase.org/automerge.svg"> Automerge</a></div></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://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><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&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.2.0-beta.1" 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://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.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://beta.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://beta.tinybase.org/guides/releases/#v5-2"><em>NEW!</em> v5.2 release</a></p><p><span id="one-with">&quot;The One With PostgreSQL!&quot;</span></p><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.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://beta.tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, but you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://beta.tinybase.org/api/persister-browser">browser storage</a>, <a href="https://beta.tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://beta.tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://beta.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 - 12.7kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://beta.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://beta.tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://beta.tinybase.org/react.svg"> React</a></div><div><a href="https://beta.tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://beta.tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/postgresql.svg"> PostgreSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/turso.svg">Turso</a></div><div><a href="https://beta.tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://beta.tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://beta.tinybase.org/api/persister-partykit-client"><img width="48" src="https://beta.tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://beta.tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://beta.tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://beta.tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://beta.tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://beta.tinybase.org/api/persister-automerge"><img width="48" src="https://beta.tinybase.org/automerge.svg"> Automerge</a></div></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://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><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&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.2.0-beta.3" 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://beta.tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://beta.tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://beta.tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://beta.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://beta.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://beta.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>12.8kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.6kB</em>, the ui-react-dom components are another <em>2.5kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.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://beta.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>12.8kB</td><td>130.8kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>48.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</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://beta.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,381</td><td>2,381</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,568</td><td>2,568</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>1,007</td><td>1,007</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>951</td><td>951</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,079</td></tr><tr><th class="right">Assertions</th><td colspan="3">32,463</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 title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" 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/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img title="byCedric" src="https://github.com/byCedric.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img title="mouktardev" src="https://github.com/mouktardev.png?size=48" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img title="nickmessing" src="https://github.com/nickmessing.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img title="nkzw-tech" src="https://github.com/nkzw-tech.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img title="primodiumxyz" src="https://github.com/primodiumxyz.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img title="ViktorZhurbin" src="https://github.com/ViktorZhurbin.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.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://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.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://beta.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://beta.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>12.7kB</em>.</p><p>The optional <a href="https://beta.tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.6kB</em>, the ui-react-dom components are another <em>2.5kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://beta.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://beta.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>12.7kB</td><td>130.9kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react/">ui-react</a></th><td>4.6kB</td><td>48.3kB</td></tr><tr><th class="right"><a href="https://beta.tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</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://beta.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,390</td><td>2,390</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,577</td><td>2,577</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>1,007</td><td>1,007</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>951</td><td>951</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,109</td></tr><tr><th class="right">Assertions</th><td colspan="3">32,558</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 title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" 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/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img title="byCedric" src="https://github.com/byCedric.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img title="mouktardev" src="https://github.com/mouktardev.png?size=48" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img title="nickmessing" src="https://github.com/nickmessing.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img title="nkzw-tech" src="https://github.com/nkzw-tech.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img title="primodiumxyz" src="https://github.com/primodiumxyz.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img title="ViktorZhurbin" src="https://github.com/ViktorZhurbin.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://beta.tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://beta.tinybase.org/demos/">Try the demos</a></p><p><a href="https://beta.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://beta.tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://beta.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://beta.tinybase.org/youtube.webp"></a></section>
@@ -321,13 +321,15 @@ const getListenerFunctions = (getThing) => {
321
321
  ([listener, , path = [], pathGetters, extraArgsGetter]) => {
322
322
  const callWithIds = (...ids) => {
323
323
  const index = size(ids);
324
- index == size(path)
325
- ? listener(thing, ...ids, ...extraArgsGetter(ids))
326
- : isUndefined(path[index])
327
- ? arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
328
- callWithIds(...ids, id2),
329
- )
330
- : callWithIds(...ids, path[index]);
324
+ if (index == size(path)) {
325
+ listener(thing, ...ids, ...extraArgsGetter(ids));
326
+ } else if (isUndefined(path[index])) {
327
+ arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
328
+ callWithIds(...ids, id2),
329
+ );
330
+ } else {
331
+ callWithIds(...ids, path[index]);
332
+ }
331
333
  };
332
334
  callWithIds();
333
335
  },
@@ -321,13 +321,15 @@ const getListenerFunctions = (getThing) => {
321
321
  ([listener, , path = [], pathGetters, extraArgsGetter]) => {
322
322
  const callWithIds = (...ids) => {
323
323
  const index = size(ids);
324
- index == size(path)
325
- ? listener(thing, ...ids, ...extraArgsGetter(ids))
326
- : isUndefined(path[index])
327
- ? arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
328
- callWithIds(...ids, id2),
329
- )
330
- : callWithIds(...ids, path[index]);
324
+ if (index == size(path)) {
325
+ listener(thing, ...ids, ...extraArgsGetter(ids));
326
+ } else if (isUndefined(path[index])) {
327
+ arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
328
+ callWithIds(...ids, id2),
329
+ );
330
+ } else {
331
+ callWithIds(...ids, path[index]);
332
+ }
331
333
  };
332
334
  callWithIds();
333
335
  },
package/store/index.js CHANGED
@@ -131,7 +131,9 @@ const mapToObj = (map, valueMapper, excludeMapValue, excludeObjValue) => {
131
131
  collForEach(map, (mapValue, id) => {
132
132
  if (!excludeMapValue?.(mapValue, id)) {
133
133
  const objValue = valueMapper ? valueMapper(mapValue, id) : mapValue;
134
- excludeObjValue?.(objValue) ? 0 : (obj[id] = objValue);
134
+ if (!excludeObjValue?.(objValue)) {
135
+ obj[id] = objValue;
136
+ }
135
137
  }
136
138
  });
137
139
  return obj;
@@ -257,13 +259,15 @@ const getListenerFunctions = (getThing) => {
257
259
  ([listener, , path = [], pathGetters, extraArgsGetter]) => {
258
260
  const callWithIds = (...ids) => {
259
261
  const index = size(ids);
260
- index == size(path)
261
- ? listener(thing, ...ids, ...extraArgsGetter(ids))
262
- : isUndefined(path[index])
263
- ? arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
264
- callWithIds(...ids, id2),
265
- )
266
- : callWithIds(...ids, path[index]);
262
+ if (index == size(path)) {
263
+ listener(thing, ...ids, ...extraArgsGetter(ids));
264
+ } else if (isUndefined(path[index])) {
265
+ arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
266
+ callWithIds(...ids, id2),
267
+ );
268
+ } else {
269
+ callWithIds(...ids, path[index]);
270
+ }
267
271
  };
268
272
  callWithIds();
269
273
  },
@@ -291,11 +295,12 @@ const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
291
295
  const setOrDelValue = (store, valueId, value) =>
292
296
  isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
293
297
 
298
+ const jsonString = JSON.stringify;
299
+ const jsonParse = JSON.parse;
294
300
  const jsonStringWithMap = (obj) =>
295
- JSON.stringify(obj, (_key, value) =>
301
+ jsonString(obj, (_key, value) =>
296
302
  isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
297
303
  );
298
- const jsonParse = JSON.parse;
299
304
 
300
305
  const ENCODE =
301
306
  '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'.split(
@@ -634,7 +639,11 @@ const createStore = () => {
634
639
  cellIdsChanged(tableId, rowId, cellId2, -1);
635
640
  mapSet(row, cellId2);
636
641
  };
637
- isUndefined(defaultCell) ? delCell2(cellId) : mapForEach(row, delCell2);
642
+ if (isUndefined(defaultCell)) {
643
+ delCell2(cellId);
644
+ } else {
645
+ mapForEach(row, delCell2);
646
+ }
638
647
  if (collIsEmpty(row)) {
639
648
  rowIdsChanged(tableId, rowId, -1);
640
649
  if (collIsEmpty(mapSet(table, rowId))) {
@@ -131,7 +131,9 @@ const mapToObj = (map, valueMapper, excludeMapValue, excludeObjValue) => {
131
131
  collForEach(map, (mapValue, id) => {
132
132
  if (!excludeMapValue?.(mapValue, id)) {
133
133
  const objValue = valueMapper ? valueMapper(mapValue, id) : mapValue;
134
- excludeObjValue?.(objValue) ? 0 : (obj[id] = objValue);
134
+ if (!excludeObjValue?.(objValue)) {
135
+ obj[id] = objValue;
136
+ }
135
137
  }
136
138
  });
137
139
  return obj;
@@ -257,13 +259,15 @@ const getListenerFunctions = (getThing) => {
257
259
  ([listener, , path = [], pathGetters, extraArgsGetter]) => {
258
260
  const callWithIds = (...ids) => {
259
261
  const index = size(ids);
260
- index == size(path)
261
- ? listener(thing, ...ids, ...extraArgsGetter(ids))
262
- : isUndefined(path[index])
263
- ? arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
264
- callWithIds(...ids, id2),
265
- )
266
- : callWithIds(...ids, path[index]);
262
+ if (index == size(path)) {
263
+ listener(thing, ...ids, ...extraArgsGetter(ids));
264
+ } else if (isUndefined(path[index])) {
265
+ arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
266
+ callWithIds(...ids, id2),
267
+ );
268
+ } else {
269
+ callWithIds(...ids, path[index]);
270
+ }
267
271
  };
268
272
  callWithIds();
269
273
  },
@@ -291,11 +295,12 @@ const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
291
295
  const setOrDelValue = (store, valueId, value) =>
292
296
  isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
293
297
 
298
+ const jsonString = JSON.stringify;
299
+ const jsonParse = JSON.parse;
294
300
  const jsonStringWithMap = (obj) =>
295
- JSON.stringify(obj, (_key, value) =>
301
+ jsonString(obj, (_key, value) =>
296
302
  isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
297
303
  );
298
- const jsonParse = JSON.parse;
299
304
 
300
305
  const ENCODE =
301
306
  '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'.split(
@@ -634,7 +639,11 @@ const createStore = () => {
634
639
  cellIdsChanged(tableId, rowId, cellId2, -1);
635
640
  mapSet(row, cellId2);
636
641
  };
637
- isUndefined(defaultCell) ? delCell2(cellId) : mapForEach(row, delCell2);
642
+ if (isUndefined(defaultCell)) {
643
+ delCell2(cellId);
644
+ } else {
645
+ mapForEach(row, delCell2);
646
+ }
638
647
  if (collIsEmpty(row)) {
639
648
  rowIdsChanged(tableId, rowId, -1);
640
649
  if (collIsEmpty(mapSet(table, rowId))) {
@@ -153,9 +153,11 @@ const createCustomPersister = (
153
153
  await schedule(async () => {
154
154
  try {
155
155
  const content = await getPersisted();
156
- isArray(content)
157
- ? setContentOrChanges(content)
158
- : errorNew(`Content is not an array ${content}`);
156
+ if (isArray(content)) {
157
+ setContentOrChanges(content);
158
+ } else {
159
+ errorNew(`Content is not an array ${content}`);
160
+ }
159
161
  } catch (error) {
160
162
  onIgnoredError?.(error);
161
163
  if (initialContent) {
@@ -153,9 +153,11 @@ const createCustomPersister = (
153
153
  await schedule(async () => {
154
154
  try {
155
155
  const content = await getPersisted();
156
- isArray(content)
157
- ? setContentOrChanges(content)
158
- : errorNew(`Content is not an array ${content}`);
156
+ if (isArray(content)) {
157
+ setContentOrChanges(content);
158
+ } else {
159
+ errorNew(`Content is not an array ${content}`);
160
+ }
159
161
  } catch (error) {
160
162
  onIgnoredError?.(error);
161
163
  if (initialContent) {
@@ -153,9 +153,11 @@ const createCustomPersister = (
153
153
  await schedule(async () => {
154
154
  try {
155
155
  const content = await getPersisted();
156
- isArray(content)
157
- ? setContentOrChanges(content)
158
- : errorNew(`Content is not an array ${content}`);
156
+ if (isArray(content)) {
157
+ setContentOrChanges(content);
158
+ } else {
159
+ errorNew(`Content is not an array ${content}`);
160
+ }
159
161
  } catch (error) {
160
162
  onIgnoredError?.(error);
161
163
  if (initialContent) {
@@ -156,9 +156,11 @@ const createCustomPersister = (
156
156
  await schedule(async () => {
157
157
  try {
158
158
  const content = await getPersisted();
159
- isArray(content)
160
- ? setContentOrChanges(content)
161
- : errorNew(`Content is not an array ${content}`);
159
+ if (isArray(content)) {
160
+ setContentOrChanges(content);
161
+ } else {
162
+ errorNew(`Content is not an array ${content}`);
163
+ }
162
164
  } catch (error) {
163
165
  onIgnoredError?.(error);
164
166
  if (initialContent) {
@@ -156,9 +156,11 @@ const createCustomPersister = (
156
156
  await schedule(async () => {
157
157
  try {
158
158
  const content = await getPersisted();
159
- isArray(content)
160
- ? setContentOrChanges(content)
161
- : errorNew(`Content is not an array ${content}`);
159
+ if (isArray(content)) {
160
+ setContentOrChanges(content);
161
+ } else {
162
+ errorNew(`Content is not an array ${content}`);
163
+ }
162
164
  } catch (error) {
163
165
  onIgnoredError?.(error);
164
166
  if (initialContent) {
@@ -53,17 +53,19 @@ const objEnsure = (obj, id, getDefaultValue) => {
53
53
  return obj[id];
54
54
  };
55
55
 
56
+ const jsonString = JSON.stringify;
57
+ const jsonParse = JSON.parse;
56
58
  const jsonStringWithUndefined = (obj) =>
57
- JSON.stringify(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
59
+ jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
58
60
  const jsonParseWithUndefined = (str) =>
59
- JSON.parse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
61
+ jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
60
62
 
61
63
  const MESSAGE_SEPARATOR = '\n';
62
64
  const ifPayloadValid = (payload, then) => {
63
65
  const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
64
- splitAt !== -1
65
- ? then(slice(payload, 0, splitAt), slice(payload, splitAt + 1))
66
- : 0;
66
+ if (splitAt !== -1) {
67
+ then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
68
+ }
67
69
  };
68
70
  const receivePayload = (payload, receive) =>
69
71
  ifPayloadValid(payload, (fromClientId, remainder) =>
@@ -177,9 +179,11 @@ const createCustomPersister = (
177
179
  await schedule(async () => {
178
180
  try {
179
181
  const content = await getPersisted();
180
- isArray(content)
181
- ? setContentOrChanges(content)
182
- : errorNew(`Content is not an array ${content}`);
182
+ if (isArray(content)) {
183
+ setContentOrChanges(content);
184
+ } else {
185
+ errorNew(`Content is not an array ${content}`);
186
+ }
183
187
  } catch (error) {
184
188
  onIgnoredError?.(error);
185
189
  if (initialContent) {
@@ -53,17 +53,19 @@ const objEnsure = (obj, id, getDefaultValue) => {
53
53
  return obj[id];
54
54
  };
55
55
 
56
+ const jsonString = JSON.stringify;
57
+ const jsonParse = JSON.parse;
56
58
  const jsonStringWithUndefined = (obj) =>
57
- JSON.stringify(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
59
+ jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
58
60
  const jsonParseWithUndefined = (str) =>
59
- JSON.parse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
61
+ jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
60
62
 
61
63
  const MESSAGE_SEPARATOR = '\n';
62
64
  const ifPayloadValid = (payload, then) => {
63
65
  const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
64
- splitAt !== -1
65
- ? then(slice(payload, 0, splitAt), slice(payload, splitAt + 1))
66
- : 0;
66
+ if (splitAt !== -1) {
67
+ then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
68
+ }
67
69
  };
68
70
  const receivePayload = (payload, receive) =>
69
71
  ifPayloadValid(payload, (fromClientId, remainder) =>
@@ -177,9 +179,11 @@ const createCustomPersister = (
177
179
  await schedule(async () => {
178
180
  try {
179
181
  const content = await getPersisted();
180
- isArray(content)
181
- ? setContentOrChanges(content)
182
- : errorNew(`Content is not an array ${content}`);
182
+ if (isArray(content)) {
183
+ setContentOrChanges(content);
184
+ } else {
185
+ errorNew(`Content is not an array ${content}`);
186
+ }
183
187
  } catch (error) {
184
188
  onIgnoredError?.(error);
185
189
  if (initialContent) {
@@ -1,6 +1,7 @@
1
1
  const EMPTY_STRING = '';
2
2
  const UTF8 = 'utf8';
3
3
  const UNDEFINED = '\uFFFC';
4
+ const strMatch = (str, regex) => str?.match(regex);
4
5
 
5
6
  const promise = Promise;
6
7
  const GLOBAL = globalThis;
@@ -102,17 +103,19 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
102
103
  },
103
104
  );
104
105
 
106
+ const jsonString = JSON.stringify;
107
+ const jsonParse = JSON.parse;
105
108
  const jsonStringWithUndefined = (obj) =>
106
- JSON.stringify(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
109
+ jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
107
110
  const jsonParseWithUndefined = (str) =>
108
- JSON.parse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
111
+ jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
109
112
 
110
113
  const MESSAGE_SEPARATOR = '\n';
111
114
  const ifPayloadValid = (payload, then) => {
112
115
  const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
113
- splitAt !== -1
114
- ? then(slice(payload, 0, splitAt), slice(payload, splitAt + 1))
115
- : 0;
116
+ if (splitAt !== -1) {
117
+ then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
118
+ }
116
119
  };
117
120
  const receivePayload = (payload, receive) =>
118
121
  ifPayloadValid(payload, (fromClientId, remainder) =>
@@ -209,9 +212,11 @@ const createCustomPersister = (
209
212
  await schedule(async () => {
210
213
  try {
211
214
  const content = await getPersisted();
212
- isArray(content)
213
- ? setContentOrChanges(content)
214
- : errorNew(`Content is not an array ${content}`);
215
+ if (isArray(content)) {
216
+ setContentOrChanges(content);
217
+ } else {
218
+ errorNew(`Content is not an array ${content}`);
219
+ }
215
220
  } catch (error) {
216
221
  if (initialContent) {
217
222
  setDefaultContent(initialContent);
@@ -591,13 +596,15 @@ const getListenerFunctions = (getThing) => {
591
596
  ([listener, , path = [], pathGetters, extraArgsGetter]) => {
592
597
  const callWithIds = (...ids) => {
593
598
  const index = size(ids);
594
- index == size(path)
595
- ? listener(thing, ...ids, ...extraArgsGetter(ids))
596
- : isUndefined(path[index])
597
- ? arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
598
- callWithIds(...ids, id2),
599
- )
600
- : callWithIds(...ids, path[index]);
599
+ if (index == size(path)) {
600
+ listener(thing, ...ids, ...extraArgsGetter(ids));
601
+ } else if (isUndefined(path[index])) {
602
+ arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
603
+ callWithIds(...ids, id2),
604
+ );
605
+ } else {
606
+ callWithIds(...ids, path[index]);
607
+ }
601
608
  };
602
609
  callWithIds();
603
610
  },
@@ -662,22 +669,22 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
662
669
  ifPayloadValid(payload, (toClientId, remainder) => {
663
670
  const forwardedPayload = createRawPayload(clientId, remainder);
664
671
  if (toClientId === EMPTY_STRING) {
665
- clientId !== SERVER_CLIENT_ID
666
- ? serverClient[3 /* Send */]?.(forwardedPayload)
667
- : 0;
672
+ if (clientId !== SERVER_CLIENT_ID) {
673
+ serverClient[3 /* Send */]?.(forwardedPayload);
674
+ }
668
675
  mapForEach(clients, (otherClientId, otherWebSocket) =>
669
676
  otherClientId !== clientId
670
677
  ? otherWebSocket.send(forwardedPayload)
671
678
  : 0,
672
679
  );
680
+ } else if (toClientId === SERVER_CLIENT_ID) {
681
+ serverClient[3 /* Send */]?.(forwardedPayload);
673
682
  } else {
674
- toClientId === SERVER_CLIENT_ID
675
- ? serverClient[3 /* Send */]?.(forwardedPayload)
676
- : mapGet(clients, toClientId)?.send(forwardedPayload);
683
+ mapGet(clients, toClientId)?.send(forwardedPayload);
677
684
  }
678
685
  });
679
686
  webSocketServer.on('connection', (webSocket, request) =>
680
- ifNotUndefined(request.url?.match(PATH_REGEX), ([, pathId]) =>
687
+ ifNotUndefined(strMatch(request.url, PATH_REGEX), ([, pathId]) =>
681
688
  ifNotUndefined(request.headers['sec-websocket-key'], async (clientId) => {
682
689
  const clients = mapEnsure(clientsByPath, pathId, mapNew);
683
690
  const serverClient = mapEnsure(serverClientsByPath, pathId, () => [
@@ -696,9 +703,11 @@ const createWsServer = (webSocketServer, createPersisterForPath) => {
696
703
  callListeners(clientIdListeners, [pathId], clientId, 1);
697
704
  webSocket.on('message', (data) => {
698
705
  const payload = data.toString(UTF8);
699
- serverClient[0 /* State */] == 0 /* Ready */
700
- ? messageHandler(payload)
701
- : arrayPush(serverClient[4 /* Buffer */], payload);
706
+ if (serverClient[0 /* State */] == 0 /* Ready */) {
707
+ messageHandler(payload);
708
+ } else {
709
+ arrayPush(serverClient[4 /* Buffer */], payload);
710
+ }
702
711
  });
703
712
  if (serverClient[0 /* State */] == 1 /* Configured */) {
704
713
  await startServerClient(serverClient);