tinybase 5.3.3 → 5.3.5

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 (830) hide show
  1. package/cjs/es6/min/persisters/index.cjs +1 -1
  2. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  3. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  4. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  5. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  6. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  7. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  8. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  9. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  10. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  11. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  12. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  13. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  14. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  15. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  16. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  17. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  18. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  19. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  20. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  21. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  22. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  23. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  24. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  25. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  26. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  27. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  28. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  29. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  30. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  31. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  32. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  33. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  34. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  35. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  36. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  37. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  38. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  39. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -1
  40. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  41. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  42. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  43. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  44. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  45. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  46. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  47. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  48. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  49. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  50. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  51. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  52. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  53. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  54. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  55. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  56. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  57. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  58. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  59. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  60. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  61. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  62. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  63. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  64. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  65. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  66. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  67. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  68. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  69. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  70. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  71. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  72. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  73. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  74. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  75. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  76. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  77. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  78. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  79. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  80. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  81. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  82. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  83. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  84. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  85. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  86. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  87. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  88. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  89. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  90. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  91. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  92. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  93. package/cjs/es6/persisters/index.cjs +2 -0
  94. package/cjs/es6/persisters/persister-automerge/index.cjs +2 -0
  95. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +2 -0
  96. package/cjs/es6/persisters/persister-browser/index.cjs +2 -0
  97. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +2 -0
  98. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +2 -0
  99. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +2 -0
  100. package/cjs/es6/persisters/persister-electric-sql/index.cjs +2 -0
  101. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +2 -0
  102. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +2 -0
  103. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +2 -0
  104. package/cjs/es6/persisters/persister-file/index.cjs +2 -0
  105. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +2 -0
  106. package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -0
  107. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -0
  108. package/cjs/es6/persisters/persister-libsql/index.cjs +2 -0
  109. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +2 -0
  110. package/cjs/es6/persisters/persister-partykit-client/index.cjs +2 -0
  111. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +2 -0
  112. package/cjs/es6/persisters/persister-pglite/index.cjs +2 -0
  113. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +2 -0
  114. package/cjs/es6/persisters/persister-postgres/index.cjs +2 -0
  115. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +2 -0
  116. package/cjs/es6/persisters/persister-powersync/index.cjs +2 -0
  117. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +2 -0
  118. package/cjs/es6/persisters/persister-remote/index.cjs +2 -0
  119. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +2 -0
  120. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +2 -0
  121. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +2 -0
  122. package/cjs/es6/persisters/persister-sqlite3/index.cjs +2 -0
  123. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +2 -0
  124. package/cjs/es6/persisters/persister-yjs/index.cjs +2 -0
  125. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +2 -0
  126. package/cjs/es6/persisters/with-schemas/index.cjs +2 -0
  127. package/cjs/es6/synchronizers/index.cjs +2 -0
  128. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +2 -0
  129. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +2 -0
  130. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +2 -0
  131. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +2 -0
  132. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +2 -0
  133. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +2 -0
  134. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +2 -0
  135. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +2 -0
  136. package/cjs/es6/synchronizers/with-schemas/index.cjs +2 -0
  137. package/cjs/es6/ui-react-inspector/index.cjs +2 -0
  138. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +2 -0
  139. package/cjs/min/persisters/index.cjs +1 -1
  140. package/cjs/min/persisters/index.cjs.gz +0 -0
  141. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  142. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  143. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  144. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  145. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  146. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  147. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  148. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  149. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  150. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  151. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  152. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  153. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  154. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  155. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  156. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  157. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  158. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  159. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  160. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  161. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  162. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  163. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  164. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  165. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  166. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  167. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  168. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  169. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  170. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  171. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  172. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  173. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  174. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  175. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  176. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  177. package/cjs/min/persisters/persister-pglite/index.cjs +1 -1
  178. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  179. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  180. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  181. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  182. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  183. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  184. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  185. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  186. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  187. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  188. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  189. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  190. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  191. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  192. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  193. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  194. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  195. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  196. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  197. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  198. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  199. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  200. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  201. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  202. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  203. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  204. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  205. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  206. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  207. package/cjs/min/synchronizers/index.cjs +1 -1
  208. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  209. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  210. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  211. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  212. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  213. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  214. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  215. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  216. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  217. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  218. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  219. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  220. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  221. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  222. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  223. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  224. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  225. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  226. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  227. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  228. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  229. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  230. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  231. package/cjs/persisters/index.cjs +2 -0
  232. package/cjs/persisters/persister-automerge/index.cjs +2 -0
  233. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +2 -0
  234. package/cjs/persisters/persister-browser/index.cjs +2 -0
  235. package/cjs/persisters/persister-browser/with-schemas/index.cjs +2 -0
  236. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +2 -0
  237. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +2 -0
  238. package/cjs/persisters/persister-electric-sql/index.cjs +2 -0
  239. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +2 -0
  240. package/cjs/persisters/persister-expo-sqlite/index.cjs +2 -0
  241. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +2 -0
  242. package/cjs/persisters/persister-file/index.cjs +2 -0
  243. package/cjs/persisters/persister-file/with-schemas/index.cjs +2 -0
  244. package/cjs/persisters/persister-indexed-db/index.cjs +2 -0
  245. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -0
  246. package/cjs/persisters/persister-libsql/index.cjs +2 -0
  247. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +2 -0
  248. package/cjs/persisters/persister-partykit-client/index.cjs +2 -0
  249. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +2 -0
  250. package/cjs/persisters/persister-pglite/index.cjs +2 -0
  251. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +2 -0
  252. package/cjs/persisters/persister-postgres/index.cjs +2 -0
  253. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +2 -0
  254. package/cjs/persisters/persister-powersync/index.cjs +2 -0
  255. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +2 -0
  256. package/cjs/persisters/persister-remote/index.cjs +2 -0
  257. package/cjs/persisters/persister-remote/with-schemas/index.cjs +2 -0
  258. package/cjs/persisters/persister-sqlite-wasm/index.cjs +2 -0
  259. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +2 -0
  260. package/cjs/persisters/persister-sqlite3/index.cjs +2 -0
  261. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +2 -0
  262. package/cjs/persisters/persister-yjs/index.cjs +2 -0
  263. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +2 -0
  264. package/cjs/persisters/with-schemas/index.cjs +2 -0
  265. package/cjs/synchronizers/index.cjs +2 -0
  266. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +2 -0
  267. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +2 -0
  268. package/cjs/synchronizers/synchronizer-local/index.cjs +2 -0
  269. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +2 -0
  270. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +2 -0
  271. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +2 -0
  272. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +2 -0
  273. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +2 -0
  274. package/cjs/synchronizers/with-schemas/index.cjs +2 -0
  275. package/cjs/ui-react-inspector/index.cjs +2 -0
  276. package/cjs/ui-react-inspector/with-schemas/index.cjs +2 -0
  277. package/es6/min/persisters/index.js +1 -1
  278. package/es6/min/persisters/index.js.gz +0 -0
  279. package/es6/min/persisters/persister-automerge/index.js +1 -1
  280. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  281. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  282. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  283. package/es6/min/persisters/persister-browser/index.js +1 -1
  284. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  285. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  286. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  287. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  288. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  289. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  290. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  291. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  292. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  293. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  294. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  295. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  296. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  297. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  298. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  299. package/es6/min/persisters/persister-file/index.js +1 -1
  300. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  301. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  302. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  303. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  304. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  305. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  306. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  307. package/es6/min/persisters/persister-libsql/index.js +1 -1
  308. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  309. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  310. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  311. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  312. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  313. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  314. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  315. package/es6/min/persisters/persister-pglite/index.js +1 -1
  316. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  317. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  318. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  319. package/es6/min/persisters/persister-postgres/index.js +1 -1
  320. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  321. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  322. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  323. package/es6/min/persisters/persister-powersync/index.js +1 -1
  324. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  325. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  326. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  327. package/es6/min/persisters/persister-remote/index.js +1 -1
  328. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  329. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  330. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  331. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  332. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  333. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  334. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  335. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  336. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  337. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  338. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  339. package/es6/min/persisters/persister-yjs/index.js +1 -1
  340. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  341. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  342. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  343. package/es6/min/persisters/with-schemas/index.js +1 -1
  344. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  345. package/es6/min/synchronizers/index.js +1 -1
  346. package/es6/min/synchronizers/index.js.gz +0 -0
  347. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  348. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  349. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  350. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  351. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  352. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  353. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  354. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  355. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  356. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  357. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  358. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  359. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  360. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  361. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  362. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  363. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  364. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  365. package/es6/min/ui-react-inspector/index.js +1 -1
  366. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  367. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  368. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  369. package/es6/persisters/index.js +2 -0
  370. package/es6/persisters/persister-automerge/index.js +2 -0
  371. package/es6/persisters/persister-automerge/with-schemas/index.js +2 -0
  372. package/es6/persisters/persister-browser/index.js +2 -0
  373. package/es6/persisters/persister-browser/with-schemas/index.js +2 -0
  374. package/es6/persisters/persister-cr-sqlite-wasm/index.js +2 -0
  375. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +2 -0
  376. package/es6/persisters/persister-electric-sql/index.js +2 -0
  377. package/es6/persisters/persister-electric-sql/with-schemas/index.js +2 -0
  378. package/es6/persisters/persister-expo-sqlite/index.js +2 -0
  379. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +2 -0
  380. package/es6/persisters/persister-file/index.js +2 -0
  381. package/es6/persisters/persister-file/with-schemas/index.js +2 -0
  382. package/es6/persisters/persister-indexed-db/index.js +2 -0
  383. package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -0
  384. package/es6/persisters/persister-libsql/index.js +2 -0
  385. package/es6/persisters/persister-libsql/with-schemas/index.js +2 -0
  386. package/es6/persisters/persister-partykit-client/index.js +2 -0
  387. package/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -0
  388. package/es6/persisters/persister-pglite/index.js +2 -0
  389. package/es6/persisters/persister-pglite/with-schemas/index.js +2 -0
  390. package/es6/persisters/persister-postgres/index.js +2 -0
  391. package/es6/persisters/persister-postgres/with-schemas/index.js +2 -0
  392. package/es6/persisters/persister-powersync/index.js +2 -0
  393. package/es6/persisters/persister-powersync/with-schemas/index.js +2 -0
  394. package/es6/persisters/persister-remote/index.js +2 -0
  395. package/es6/persisters/persister-remote/with-schemas/index.js +2 -0
  396. package/es6/persisters/persister-sqlite-wasm/index.js +2 -0
  397. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +2 -0
  398. package/es6/persisters/persister-sqlite3/index.js +2 -0
  399. package/es6/persisters/persister-sqlite3/with-schemas/index.js +2 -0
  400. package/es6/persisters/persister-yjs/index.js +2 -0
  401. package/es6/persisters/persister-yjs/with-schemas/index.js +2 -0
  402. package/es6/persisters/with-schemas/index.js +2 -0
  403. package/es6/synchronizers/index.js +2 -0
  404. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +2 -0
  405. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +2 -0
  406. package/es6/synchronizers/synchronizer-local/index.js +2 -0
  407. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +2 -0
  408. package/es6/synchronizers/synchronizer-ws-client/index.js +2 -0
  409. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +2 -0
  410. package/es6/synchronizers/synchronizer-ws-server/index.js +2 -0
  411. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +2 -0
  412. package/es6/synchronizers/with-schemas/index.js +2 -0
  413. package/es6/ui-react-inspector/index.js +2 -0
  414. package/es6/ui-react-inspector/with-schemas/index.js +2 -0
  415. package/min/persisters/index.js +1 -1
  416. package/min/persisters/index.js.gz +0 -0
  417. package/min/persisters/persister-automerge/index.js +1 -1
  418. package/min/persisters/persister-automerge/index.js.gz +0 -0
  419. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  420. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  421. package/min/persisters/persister-browser/index.js +1 -1
  422. package/min/persisters/persister-browser/index.js.gz +0 -0
  423. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  424. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  425. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  426. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  427. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  428. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  429. package/min/persisters/persister-electric-sql/index.js +1 -1
  430. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  431. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  432. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  433. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  434. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  435. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  436. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  437. package/min/persisters/persister-file/index.js +1 -1
  438. package/min/persisters/persister-file/index.js.gz +0 -0
  439. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  440. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  441. package/min/persisters/persister-indexed-db/index.js +1 -1
  442. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  443. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  444. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  445. package/min/persisters/persister-libsql/index.js +1 -1
  446. package/min/persisters/persister-libsql/index.js.gz +0 -0
  447. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  448. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  449. package/min/persisters/persister-partykit-client/index.js +1 -1
  450. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  451. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  452. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  453. package/min/persisters/persister-pglite/index.js +1 -1
  454. package/min/persisters/persister-pglite/index.js.gz +0 -0
  455. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  456. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  457. package/min/persisters/persister-postgres/index.js +1 -1
  458. package/min/persisters/persister-postgres/index.js.gz +0 -0
  459. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  460. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  461. package/min/persisters/persister-powersync/index.js +1 -1
  462. package/min/persisters/persister-powersync/index.js.gz +0 -0
  463. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  464. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  465. package/min/persisters/persister-remote/index.js +1 -1
  466. package/min/persisters/persister-remote/index.js.gz +0 -0
  467. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  468. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  469. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  470. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  471. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  472. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  473. package/min/persisters/persister-sqlite3/index.js +1 -1
  474. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  475. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  476. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  477. package/min/persisters/persister-yjs/index.js +1 -1
  478. package/min/persisters/persister-yjs/index.js.gz +0 -0
  479. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  480. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  481. package/min/persisters/with-schemas/index.js +1 -1
  482. package/min/persisters/with-schemas/index.js.gz +0 -0
  483. package/min/synchronizers/index.js +1 -1
  484. package/min/synchronizers/index.js.gz +0 -0
  485. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  486. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  487. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  488. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  489. package/min/synchronizers/synchronizer-local/index.js +1 -1
  490. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  491. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  492. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  493. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  494. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  495. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  496. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  497. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  498. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  499. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  500. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  501. package/min/synchronizers/with-schemas/index.js +1 -1
  502. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  503. package/min/ui-react-inspector/index.js +1 -1
  504. package/min/ui-react-inspector/index.js.gz +0 -0
  505. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  506. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  507. package/package.json +2 -2
  508. package/persisters/index.js +2 -0
  509. package/persisters/persister-automerge/index.js +2 -0
  510. package/persisters/persister-automerge/with-schemas/index.js +2 -0
  511. package/persisters/persister-browser/index.js +2 -0
  512. package/persisters/persister-browser/with-schemas/index.js +2 -0
  513. package/persisters/persister-cr-sqlite-wasm/index.js +2 -0
  514. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +2 -0
  515. package/persisters/persister-electric-sql/index.js +2 -0
  516. package/persisters/persister-electric-sql/with-schemas/index.js +2 -0
  517. package/persisters/persister-expo-sqlite/index.js +2 -0
  518. package/persisters/persister-expo-sqlite/with-schemas/index.js +2 -0
  519. package/persisters/persister-file/index.js +2 -0
  520. package/persisters/persister-file/with-schemas/index.js +2 -0
  521. package/persisters/persister-indexed-db/index.js +2 -0
  522. package/persisters/persister-indexed-db/with-schemas/index.js +2 -0
  523. package/persisters/persister-libsql/index.js +2 -0
  524. package/persisters/persister-libsql/with-schemas/index.js +2 -0
  525. package/persisters/persister-partykit-client/index.js +2 -0
  526. package/persisters/persister-partykit-client/with-schemas/index.js +2 -0
  527. package/persisters/persister-pglite/index.js +2 -0
  528. package/persisters/persister-pglite/with-schemas/index.js +2 -0
  529. package/persisters/persister-postgres/index.js +2 -0
  530. package/persisters/persister-postgres/with-schemas/index.js +2 -0
  531. package/persisters/persister-powersync/index.js +2 -0
  532. package/persisters/persister-powersync/with-schemas/index.js +2 -0
  533. package/persisters/persister-remote/index.js +2 -0
  534. package/persisters/persister-remote/with-schemas/index.js +2 -0
  535. package/persisters/persister-sqlite-wasm/index.js +2 -0
  536. package/persisters/persister-sqlite-wasm/with-schemas/index.js +2 -0
  537. package/persisters/persister-sqlite3/index.js +2 -0
  538. package/persisters/persister-sqlite3/with-schemas/index.js +2 -0
  539. package/persisters/persister-yjs/index.js +2 -0
  540. package/persisters/persister-yjs/with-schemas/index.js +2 -0
  541. package/persisters/with-schemas/index.js +2 -0
  542. package/readme.md +2 -2
  543. package/synchronizers/index.js +2 -0
  544. package/synchronizers/synchronizer-broadcast-channel/index.js +2 -0
  545. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +2 -0
  546. package/synchronizers/synchronizer-local/index.js +2 -0
  547. package/synchronizers/synchronizer-local/with-schemas/index.js +2 -0
  548. package/synchronizers/synchronizer-ws-client/index.js +2 -0
  549. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +2 -0
  550. package/synchronizers/synchronizer-ws-server/index.js +2 -0
  551. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +2 -0
  552. package/synchronizers/with-schemas/index.js +2 -0
  553. package/ui-react-inspector/index.js +2 -0
  554. package/ui-react-inspector/with-schemas/index.js +2 -0
  555. package/umd/es6/min/persisters/index.js +1 -1
  556. package/umd/es6/min/persisters/index.js.gz +0 -0
  557. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  558. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  559. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  560. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  561. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  562. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  563. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  564. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  565. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  566. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  567. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  568. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  569. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  570. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  571. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  572. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  573. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  574. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  575. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  576. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  577. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  578. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  579. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  580. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  581. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  582. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  583. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  584. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  585. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  586. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  587. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  588. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  589. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  590. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  591. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  592. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  593. package/umd/es6/min/persisters/persister-pglite/index.js +1 -1
  594. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  595. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  596. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  597. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  598. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  599. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  600. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  601. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  602. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  603. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  604. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  605. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  606. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  607. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  608. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  609. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  610. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  611. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  612. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  613. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  614. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  615. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  616. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  617. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  618. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  619. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  620. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  621. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  622. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  623. package/umd/es6/min/synchronizers/index.js +1 -1
  624. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  625. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  626. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  627. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  628. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  629. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  630. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  631. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  632. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  633. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  634. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  635. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  636. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  637. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  638. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  639. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  640. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  641. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  642. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  643. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  644. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  645. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  646. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  647. package/umd/es6/persisters/index.js +2 -0
  648. package/umd/es6/persisters/persister-automerge/index.js +2 -0
  649. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +2 -0
  650. package/umd/es6/persisters/persister-browser/index.js +2 -0
  651. package/umd/es6/persisters/persister-browser/with-schemas/index.js +2 -0
  652. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +2 -0
  653. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +2 -0
  654. package/umd/es6/persisters/persister-electric-sql/index.js +2 -0
  655. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +2 -0
  656. package/umd/es6/persisters/persister-expo-sqlite/index.js +2 -0
  657. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +2 -0
  658. package/umd/es6/persisters/persister-file/index.js +2 -0
  659. package/umd/es6/persisters/persister-file/with-schemas/index.js +2 -0
  660. package/umd/es6/persisters/persister-indexed-db/index.js +2 -0
  661. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -0
  662. package/umd/es6/persisters/persister-libsql/index.js +2 -0
  663. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +2 -0
  664. package/umd/es6/persisters/persister-partykit-client/index.js +2 -0
  665. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -0
  666. package/umd/es6/persisters/persister-pglite/index.js +2 -0
  667. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +2 -0
  668. package/umd/es6/persisters/persister-postgres/index.js +2 -0
  669. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +2 -0
  670. package/umd/es6/persisters/persister-powersync/index.js +2 -0
  671. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +2 -0
  672. package/umd/es6/persisters/persister-remote/index.js +2 -0
  673. package/umd/es6/persisters/persister-remote/with-schemas/index.js +2 -0
  674. package/umd/es6/persisters/persister-sqlite-wasm/index.js +2 -0
  675. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +2 -0
  676. package/umd/es6/persisters/persister-sqlite3/index.js +2 -0
  677. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +2 -0
  678. package/umd/es6/persisters/persister-yjs/index.js +2 -0
  679. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +2 -0
  680. package/umd/es6/persisters/with-schemas/index.js +2 -0
  681. package/umd/es6/synchronizers/index.js +2 -0
  682. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +2 -0
  683. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +2 -0
  684. package/umd/es6/synchronizers/synchronizer-local/index.js +2 -0
  685. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +2 -0
  686. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +2 -0
  687. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +2 -0
  688. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +2 -0
  689. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +2 -0
  690. package/umd/es6/synchronizers/with-schemas/index.js +2 -0
  691. package/umd/es6/ui-react-inspector/index.js +2 -0
  692. package/umd/es6/ui-react-inspector/with-schemas/index.js +2 -0
  693. package/umd/min/persisters/index.js +1 -1
  694. package/umd/min/persisters/index.js.gz +0 -0
  695. package/umd/min/persisters/persister-automerge/index.js +1 -1
  696. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  697. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  698. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  699. package/umd/min/persisters/persister-browser/index.js +1 -1
  700. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  701. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  702. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  703. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  704. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  705. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  706. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  707. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  708. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  709. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  710. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  711. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  712. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  713. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  714. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  715. package/umd/min/persisters/persister-file/index.js +1 -1
  716. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  717. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  718. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  719. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  720. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  721. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  722. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  723. package/umd/min/persisters/persister-libsql/index.js +1 -1
  724. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  725. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  726. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  727. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  728. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  729. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  730. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  731. package/umd/min/persisters/persister-pglite/index.js +1 -1
  732. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  733. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  734. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  735. package/umd/min/persisters/persister-postgres/index.js +1 -1
  736. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  737. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  738. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  739. package/umd/min/persisters/persister-powersync/index.js +1 -1
  740. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  741. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  742. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  743. package/umd/min/persisters/persister-remote/index.js +1 -1
  744. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  745. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  746. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  747. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  748. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  749. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  750. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  751. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  752. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  753. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  754. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  755. package/umd/min/persisters/persister-yjs/index.js +1 -1
  756. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  757. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  758. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  759. package/umd/min/persisters/with-schemas/index.js +1 -1
  760. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  761. package/umd/min/synchronizers/index.js +1 -1
  762. package/umd/min/synchronizers/index.js.gz +0 -0
  763. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  764. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  765. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  766. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  767. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  768. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  769. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  770. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  771. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  772. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  773. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  774. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  775. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  776. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  777. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  778. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  779. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  780. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  781. package/umd/min/ui-react-inspector/index.js +1 -1
  782. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  783. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  784. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  785. package/umd/persisters/index.js +2 -0
  786. package/umd/persisters/persister-automerge/index.js +2 -0
  787. package/umd/persisters/persister-automerge/with-schemas/index.js +2 -0
  788. package/umd/persisters/persister-browser/index.js +2 -0
  789. package/umd/persisters/persister-browser/with-schemas/index.js +2 -0
  790. package/umd/persisters/persister-cr-sqlite-wasm/index.js +2 -0
  791. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +2 -0
  792. package/umd/persisters/persister-electric-sql/index.js +2 -0
  793. package/umd/persisters/persister-electric-sql/with-schemas/index.js +2 -0
  794. package/umd/persisters/persister-expo-sqlite/index.js +2 -0
  795. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +2 -0
  796. package/umd/persisters/persister-file/index.js +2 -0
  797. package/umd/persisters/persister-file/with-schemas/index.js +2 -0
  798. package/umd/persisters/persister-indexed-db/index.js +2 -0
  799. package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -0
  800. package/umd/persisters/persister-libsql/index.js +2 -0
  801. package/umd/persisters/persister-libsql/with-schemas/index.js +2 -0
  802. package/umd/persisters/persister-partykit-client/index.js +2 -0
  803. package/umd/persisters/persister-partykit-client/with-schemas/index.js +2 -0
  804. package/umd/persisters/persister-pglite/index.js +2 -0
  805. package/umd/persisters/persister-pglite/with-schemas/index.js +2 -0
  806. package/umd/persisters/persister-postgres/index.js +2 -0
  807. package/umd/persisters/persister-postgres/with-schemas/index.js +2 -0
  808. package/umd/persisters/persister-powersync/index.js +2 -0
  809. package/umd/persisters/persister-powersync/with-schemas/index.js +2 -0
  810. package/umd/persisters/persister-remote/index.js +2 -0
  811. package/umd/persisters/persister-remote/with-schemas/index.js +2 -0
  812. package/umd/persisters/persister-sqlite-wasm/index.js +2 -0
  813. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +2 -0
  814. package/umd/persisters/persister-sqlite3/index.js +2 -0
  815. package/umd/persisters/persister-sqlite3/with-schemas/index.js +2 -0
  816. package/umd/persisters/persister-yjs/index.js +2 -0
  817. package/umd/persisters/persister-yjs/with-schemas/index.js +2 -0
  818. package/umd/persisters/with-schemas/index.js +2 -0
  819. package/umd/synchronizers/index.js +2 -0
  820. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +2 -0
  821. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +2 -0
  822. package/umd/synchronizers/synchronizer-local/index.js +2 -0
  823. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +2 -0
  824. package/umd/synchronizers/synchronizer-ws-client/index.js +2 -0
  825. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +2 -0
  826. package/umd/synchronizers/synchronizer-ws-server/index.js +2 -0
  827. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +2 -0
  828. package/umd/synchronizers/with-schemas/index.js +2 -0
  829. package/umd/ui-react-inspector/index.js +2 -0
  830. package/umd/ui-react-inspector/with-schemas/index.js +2 -0
package/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2></section><p><a href="https://tinybase.org/guides/releases/#v5-3"><em>NEW!</em> v5.3 release</a></p><p><span id="one-with">&quot;Adding some missing APIs!&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It&#x27;s <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It&#x27;s <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It&#x27;s Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it&#x27;s especially great for local-first apps: where data is stored locally on the user&#x27;s device and that can be run offline. It&#x27;s tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/postgresql.svg"> PostgreSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/pglite.svg"> PGlite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg"> Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg"> ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg"> Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg"> PowerSync</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://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.3.2" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
1
+ <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2></section><p><a href="https://tinybase.org/guides/releases/#v5-3"><em>NEW!</em> v5.3 release</a></p><p><span id="one-with">&quot;Adding some missing APIs!&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It&#x27;s <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It&#x27;s <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It&#x27;s Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it&#x27;s especially great for local-first apps: where data is stored locally on the user&#x27;s device and that can be run offline. It&#x27;s tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/postgresql.svg"> PostgreSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/pglite.svg"> PGlite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg"> Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg"> ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg"> Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg"> PowerSync</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://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.3.4" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
2
2
 
3
3
  ```js
4
4
  import {createStore} from 'tinybase';
@@ -294,4 +294,4 @@ export const createShop: typeof createShopDecl = () => {
294
294
  };
295
295
  ```
296
296
 
297
- <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.9kB</em>, the ui-react-dom components are another <em>2.6kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.4kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>119.0kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.9kB</td><td>53.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.6kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,285</td><td>2,285</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,466</td><td>2,466</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>985</td><td>985</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>853</td><td>853</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,456</td></tr><tr><th class="right">Assertions</th><td colspan="3">33,193</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://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
297
+ <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.9kB</em>, the ui-react-dom components are another <em>2.6kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.4kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>119.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.9kB</td><td>53.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.6kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,285</td><td>2,285</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,466</td><td>2,466</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>985</td><td>985</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>853</td><td>853</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,456</td></tr><tr><th class="right">Assertions</th><td colspan="3">33,178</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://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
@@ -287,6 +287,8 @@ const createCustomPersister = (
287
287
  const content = await getPersisted();
288
288
  if (isArray(content)) {
289
289
  setContentOrChanges(content);
290
+ } else if (initialContent) {
291
+ setDefaultContent(initialContent);
290
292
  } else {
291
293
  errorNew(`Content is not an array ${content}`);
292
294
  }
@@ -287,6 +287,8 @@ const createCustomPersister = (
287
287
  const content = await getPersisted();
288
288
  if (isArray(content)) {
289
289
  setContentOrChanges(content);
290
+ } else if (initialContent) {
291
+ setDefaultContent(initialContent);
290
292
  } else {
291
293
  errorNew(`Content is not an array ${content}`);
292
294
  }
@@ -287,6 +287,8 @@ const createCustomPersister = (
287
287
  const content = await getPersisted();
288
288
  if (isArray(content)) {
289
289
  setContentOrChanges(content);
290
+ } else if (initialContent) {
291
+ setDefaultContent(initialContent);
290
292
  } else {
291
293
  errorNew(`Content is not an array ${content}`);
292
294
  }
@@ -289,6 +289,8 @@ const createCustomPersister = (
289
289
  const content = await getPersisted();
290
290
  if (isArray(content)) {
291
291
  setContentOrChanges(content);
292
+ } else if (initialContent) {
293
+ setDefaultContent(initialContent);
292
294
  } else {
293
295
  errorNew(`Content is not an array ${content}`);
294
296
  }
@@ -289,6 +289,8 @@ const createCustomPersister = (
289
289
  const content = await getPersisted();
290
290
  if (isArray(content)) {
291
291
  setContentOrChanges(content);
292
+ } else if (initialContent) {
293
+ setDefaultContent(initialContent);
292
294
  } else {
293
295
  errorNew(`Content is not an array ${content}`);
294
296
  }
@@ -313,6 +313,8 @@ const createCustomPersister = (
313
313
  const content = await getPersisted();
314
314
  if (isArray(content)) {
315
315
  setContentOrChanges(content);
316
+ } else if (initialContent) {
317
+ setDefaultContent(initialContent);
316
318
  } else {
317
319
  errorNew(`Content is not an array ${content}`);
318
320
  }
@@ -313,6 +313,8 @@ const createCustomPersister = (
313
313
  const content = await getPersisted();
314
314
  if (isArray(content)) {
315
315
  setContentOrChanges(content);
316
+ } else if (initialContent) {
317
+ setDefaultContent(initialContent);
316
318
  } else {
317
319
  errorNew(`Content is not an array ${content}`);
318
320
  }
@@ -319,6 +319,8 @@ const createCustomPersister = (
319
319
  const content = await getPersisted();
320
320
  if (isArray(content)) {
321
321
  setContentOrChanges(content);
322
+ } else if (initialContent) {
323
+ setDefaultContent(initialContent);
322
324
  } else {
323
325
  errorNew(`Content is not an array ${content}`);
324
326
  }
@@ -319,6 +319,8 @@ const createCustomPersister = (
319
319
  const content = await getPersisted();
320
320
  if (isArray(content)) {
321
321
  setContentOrChanges(content);
322
+ } else if (initialContent) {
323
+ setDefaultContent(initialContent);
322
324
  } else {
323
325
  errorNew(`Content is not an array ${content}`);
324
326
  }
@@ -287,6 +287,8 @@ const createCustomPersister = (
287
287
  const content = await getPersisted();
288
288
  if (isArray(content)) {
289
289
  setContentOrChanges(content);
290
+ } else if (initialContent) {
291
+ setDefaultContent(initialContent);
290
292
  } else {
291
293
  errorNew(`Content is not an array ${content}`);
292
294
  }
@@ -1798,6 +1798,8 @@ const createCustomPersister = (
1798
1798
  const content = await getPersisted();
1799
1799
  if (isArray(content)) {
1800
1800
  setContentOrChanges(content);
1801
+ } else if (initialContent) {
1802
+ setDefaultContent(initialContent);
1801
1803
  } else {
1802
1804
  errorNew(`Content is not an array ${content}`);
1803
1805
  }
@@ -1798,6 +1798,8 @@ const createCustomPersister = (
1798
1798
  const content = await getPersisted();
1799
1799
  if (isArray(content)) {
1800
1800
  setContentOrChanges(content);
1801
+ } else if (initialContent) {
1802
+ setDefaultContent(initialContent);
1801
1803
  } else {
1802
1804
  errorNew(`Content is not an array ${content}`);
1803
1805
  }
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="tinybase",l="",o=",",r=t(l),i=Promise,u=clearInterval,a=e=>null==e,d=(e,t,n)=>a(e)?null==n?void 0:n():t(e),s=e=>t(e)==r,c=e=>Array.isArray(e),v=(e,t,n)=>e.slice(t,n),y=e=>e.length,E=e=>{return t=function*(){return i.all(e)},new Promise(((e,n)=>{var l=e=>{try{r(t.next(e))}catch(e){n(e)}},o=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,o);r((t=t.apply(void 0,null)).next())}));var t},f=e=>{throw Error(e)},p=(e,t)=>e.forEach(t),h=(e,t="")=>e.join(t),m=(e,t)=>e.map(t),T=e=>0==y(e),R=(e,t)=>e.filter(t),A=(e,...t)=>e.push(...t),N=e=>e.shift(),g=Object,O=e=>g.getPrototypeOf(e),P=g.entries,$=g.keys,C=g.freeze,b=(e=[])=>g.fromEntries(e),S=(...e)=>g.assign({},...e),I=(e,t)=>(delete e[t],e),L=(e,t)=>m(P(e),(([e,n])=>t(n,e))),_=e=>g.values(e),w=e=>y($(e)),D=e=>(e=>!a(e)&&d(O(e),(e=>e==g.prototype||a(O(e))),(()=>!0)))(e)&&0==w(e),x=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},M=e=>a(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),F=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},U=(e,t)=>null==e?void 0:e.forEach(t),G=(e,t)=>null==e?void 0:e.delete(t),j=e=>new Map(e),B=(e,t)=>null==e?void 0:e.get(t),Y=(e,t)=>{var n;return m([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},q=(e,t,n)=>a(n)?(G(e,t),e):null==e?void 0:e.set(t,n),H=(e,t,n,l)=>(x(e,t)?null==l||l(B(e,t)):q(e,t,n()),B(e,t)),X=(e,t,n,l,o=0)=>d((n?H:B)(e,t[o],o>y(t)-2?n:j),(r=>{if(o>y(t)-2)return(null==l?void 0:l(r))&&q(e,t[o]),r;const i=X(r,t,n,l,o+1);return M(r)&&q(e,t[o]),i})),J=e=>new Set(c(e)||a(e)?e:[e]),W=(e,t)=>null==e?void 0:e.add(t),k=/^\d+$/;var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,Z=(e,t,n)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ee=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const te=j(),ne=j(),le=(e,t,n,o,r,i,u,s={},v=[])=>{let E,h,m,T=0,R=0,g=0;H(te,v,(()=>0)),H(ne,v,(()=>[]));const O=j(),[P,$,b,S,I]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!D(e)||!D(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!D(e)||!D(t),t.setContent]:f("Store type not supported by this Persister"))(u,e),[L,_,w]=(()=>{let e;const[t,n]=(()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:l+t++},t=>{k.test(t)&&y(e)<1e3&&A(e,t)}]})(),o=j();return[(n,r,i,u=[],a=()=>[])=>{null!=e||(e=ie);const d=t(1);return q(o,d,[n,r,i,u,a]),W(X(r,null!=i?i:[l],J),d),d},(t,n,...r)=>p(((e,t=[l])=>{const n=[],o=(e,l)=>l==y(t)?A(n,e):null===t[l]?U(e,(e=>o(e,l+1))):p([t[l],null],(t=>o(B(e,t),l+1)));return o(e,0),n})(t,n),(t=>U(t,(t=>B(o,t)[0](e,...null!=n?n:[],...r))))),e=>d(B(o,e),(([,t,r])=>(X(t,null!=r?r:[l],void 0,(t=>(G(t,e),M(t)?1:0))),q(o,e),n(e),r))),t=>d(B(o,t),(([t,,n=[],l,o])=>{const r=(...i)=>{var u,d;const s=y(i);s==y(n)?t(e,...i,...o(i)):a(n[s])?p(null!=(d=null==(u=l[s])?void 0:u.call(l,...i))?d:[],(e=>r(...i,e))):r(...i,n[s])};r()}))]})(),x=e=>{e!=T&&(T=e,_(O,void 0,T))},F=t=>{(P&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},Y=e=>ee(void 0,null,(function*(){return 2!=T&&(x(1),R++,yield re((()=>ee(void 0,null,(function*(){try{const e=yield t();c(e)?F(e):f("Content is not an array "+e)}catch(t){null==i||i(t),e&&I(e)}x(0)}))))),ie})),z=()=>(h&&(r(h),h=void 0),ie),le=e=>ee(void 0,null,(function*(){return 1!=T&&(x(2),g++,yield re((()=>ee(void 0,null,(function*(){try{yield n($,e)}catch(e){null==i||i(e)}x(0)}))))),ie})),oe=()=>(d(m,e.delListener),m=void 0,ie),re=(...e)=>ee(void 0,null,(function*(){return A(B(ne,v),...e),yield ee(void 0,null,(function*(){if(!B(te,v)){for(q(te,v,1);!a(E=N(B(ne,v)));)try{yield E()}catch(e){null==i||i(e)}q(te,v,0)}})),ie})),ie=((e,t)=>{for(var n in t||(t={}))V.call(t,n)&&Z(e,n,t[n]);if(K)for(var n of K(t))Q.call(t,n)&&Z(e,n,t[n]);return e})({load:Y,startAutoLoad:e=>ee(void 0,null,(function*(){yield z().load(e);try{h=yield o(((e,t)=>ee(void 0,null,(function*(){t||e?2!=T&&(x(1),R++,F(null!=t?t:e),x(0)):yield Y()}))))}catch(e){null==i||i(e)}return ie})),stopAutoLoad:z,isAutoLoading:()=>!a(h),save:le,startAutoSave:()=>ee(void 0,null,(function*(){return yield oe().save(),m=e.addDidFinishTransactionListener((()=>{const e=b();S(e)&&le(e)})),ie})),stopAutoSave:oe,isAutoSaving:()=>!a(m),getStatus:()=>T,addStatusListener:e=>L(e,O),delListener:t=>(w(t),e),schedule:re,getStore:()=>e,destroy:()=>(B(ne,v).splice(0,void 0),z().stopAutoSave()),getStats:()=>({loads:R,saves:g})},s);return C(ie)},oe="_",re="_id",ie="SELECT",ue="WHERE",ae="TABLE",de="ALTER "+ae,se="DELETE FROM",ce=ie+"*FROM",ve="pragma_",ye="data_version",Ee="schema_version",fe="pragma_table_",pe=(e,t)=>t?(n,l)=>{return o=function*(){return t(n,l),yield e(n,l)},new Promise(((e,t)=>{var n=e=>{try{r(o.next(e))}catch(e){t(e)}},l=e=>{try{r(o.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,l);r((o=o.apply(void 0,null)).next())}));var o}:e,he=e=>`"${e.replace(/"/g,'""')}"`,me=(e,t=[1])=>h(m(e,(()=>"$"+t[0]++)),o),Te=JSON.stringify,Re=JSON.parse;var Ae=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Ne=(e,t,n,l,r,i=ge,u,d)=>{const s=j();return[()=>Ae(void 0,null,(function*(){s.clear(),m(yield n(e,t),(({tn:e,cn:t})=>W(H(s,e,J),t)))})),(t,n)=>Ae(void 0,null,(function*(){return((e,t)=>x(B(s,e),t))(t,n)?b(R(m(yield e(ce+he(t)),(e=>{return[e[n],d?(t=I(e,n),l=d,b(L(t,((e,t)=>[t,l(e,t)])))):I(e,n)];var t,l})),(([e,t])=>!a(e)&&!D(t)))):{}})),(t,n,l,d,c,v=!1)=>Ae(void 0,null,(function*(){const y=J();L(null!=l?l:{},(e=>m($(null!=e?e:{}),(e=>W(y,e)))));const f=F(y);if(!v&&c&&T(f)&&x(s,t))return yield e("DROP "+ae+he(t)),void q(s,t);const p=B(s,t),N=J(F(p));if(T(f)||(x(s,t)?yield E(m([n,...f],((l,o)=>Ae(void 0,null,(function*(){G(N,l)||(yield e(de+he(t)+"ADD"+he(l)+r),0==o&&(yield e("CREATE UNIQUE INDEX pk ON "+he(t)+`(${he(n)})`)),W(p,l))}))))):(yield e("CREATE "+ae+he(t)+`(${he(n)}${r} PRIMARY KEY${h(m(f,(e=>o+he(e)+r)))});`),q(s,t,J([n,...f])))),yield E([...!v&&d?m(F(N),(l=>Ae(void 0,null,(function*(){l!=n&&(yield e(de+he(t)+"DROP"+he(l)),G(p,l))})))):[]]),v)a(l)?yield e(se+he(t)+ue+" true"):yield E(L(l,((l,o)=>Ae(void 0,null,(function*(){a(l)?yield e(se+he(t)+ue+he(n)+"=$1",[o]):T(f)||(yield i(e,t,n,$(l),{[o]:u?m(_(l),u):_(l)},p))})))));else if(T(f))x(s,t)&&(yield e(se+he(t)+ue+" true"));else{const o=R(F(B(s,t)),(e=>e!=n)),r={},a=[];L(null!=l?l:{},((e,t)=>{r[t]=m(o,(t=>u?u(null==e?void 0:e[t]):null==e?void 0:e[t])),A(a,t)})),yield i(e,t,n,o,r),yield e(se+he(t)+ue+he(n)+`NOT IN(${me(a)})`,a)}})),t=>Ae(void 0,null,(function*(){let n;yield e("BEGIN");try{n=yield t()}catch(e){null==l||l(e)}return yield e("END"),n}))]},ge=(e,t,n,l,r)=>Ae(void 0,null,(function*(){const i=[1];yield e("INSERT INTO"+he(t)+"("+((...e)=>h(m(e,he),o))(n,...l)+")VALUES"+h(L(r,(e=>"($"+i[0]+++","+me(e,i)+")")),o)+"ON CONFLICT("+he(n)+")DO UPDATE SET"+h(m(l,(e=>he(e)+"=excluded."+he(e))),o),L(r,((e,t)=>[t,...m(e,(e=>null!=e?e:null))])).flat())}));var Oe=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Pe=(e,t,n,l,o,r,i,[u,a,d],s,c,v,y,E,f)=>{const[p,h,m,T]=Ne(t,s,c,o,E,f),R=le(e,(()=>Oe(void 0,null,(function*(){return yield T((()=>Oe(void 0,null,(function*(){var e,t,n;return yield p(),n=null!=(t=null==(e=(yield h(u,a))[oe])?void 0:e[d])?t:"null",Re(n,((e,t)=>""===t?void 0:t))}))))}))),(e=>Oe(void 0,null,(function*(){return yield T((()=>Oe(void 0,null,(function*(){var t,n;yield p(),yield m(u,a,{[oe]:{[d]:(n=null!=(t=e())?t:null,Te(n,((e,t)=>void 0===t?"":t)))}},!0,!0)}))))}))),n,l,o,i,{[y]:()=>v,destroy:()=>(R.stopAutoLoad().stopAutoSave(),r(),R)},v);return R};var $e=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Ce=(e,t,n,l,o,r,i,[u,d,[s,c,v]],y,f,p,h,m,T,A,N)=>{const[g,O,P,$]=Ne(t,y,f,o,m,T,A,N),C=(e,t)=>$e(void 0,null,(function*(){return yield E(Y(d,((n,l)=>$e(void 0,[n,l],(function*([n,l,o,r],i){t&&!(i in e)||(yield P(n,l,e[i],o,r,t))})))))})),S=(e,t)=>$e(void 0,null,(function*(){return c?yield P(v,re,{[oe]:e},!0,!0,t):null})),I=le(e,(()=>$e(void 0,null,(function*(){return yield $((()=>$e(void 0,null,(function*(){yield g();const e=yield $e(void 0,null,(function*(){return b(R(yield E(Y(u,((e,t)=>$e(void 0,[e,t],(function*([e,t],n){return[e,yield O(n,t)]}))))),(e=>!D(e[1]))))})),t=yield $e(void 0,null,(function*(){return s?(yield O(v,re))[oe]:{}}));return D(e)&&a(t)?void 0:[e,t]}))))}))),((e,t)=>$e(void 0,null,(function*(){return yield $((()=>$e(void 0,null,(function*(){if(yield g(),a(t)){const[t,n]=e();yield C(t),yield S(n)}else yield C(t[0],!0),yield S(t[1],!0)}))))}))),n,l,o,i,{[h]:()=>p,destroy:()=>(I.stopAutoLoad().stopAutoSave(),r(),I)},p);return I},be="ColumnName",Se="store",Ie="json",Le=Se+"TableName",_e=Se+"Id"+be,we=Se+be,De="autoLoadIntervalSeconds",xe="rowId"+be,Me="tableId",Fe="tableName",Ue="deleteEmptyColumns",Ge="deleteEmptyTable",je={mode:Ie,[De]:1},Be={load:0,save:0,[Fe]:n+"_values"},Ye=(e,t,n,l,o)=>{const r=j();return L(e,((e,i)=>{const u=v(_(S(t,s(e)?{[n]:e}:e)),0,w(t));a(u[0])||l(i,u[0])||(o(i,u[0]),q(r,i,u))})),r},qe=e=>{var t,l,o;const r=(e=>S(je,s(e)?{[Le]:e}:null!=e?e:{}))(e),i=r[De];if(r.mode==Ie){const e=null!=(t=r[Le])?t:n;return[1,i,[e,null!=(l=r[_e])?l:re,null!=(o=r[we])?o:Se],J(e)]}const{tables:{load:u={},save:a={}}={},values:d={}}=r,c=v(_(S(Be,d)),0,w(Be)),y=c[2],E=J(y),f=J(y);return[0,i,[Ye(u,{[Me]:null,[xe]:re},Me,(e=>x(f,e)),(e=>W(E,e))),Ye(a,{[Fe]:null,[xe]:re,[Ue]:0,[Ge]:0},Fe,((e,t)=>x(f,t)),((e,t)=>W(E,t))),c],E]};var He=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())})),Xe=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Je=n,We=/^([cd]:)(.+)/,ke=n+"_data",ze=n+"_table";e.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},e.Status={Idle:0,Loading:1,Saving:2},e.createCustomPersister=le,e.createCustomPostgreSqlPersister=(e,t,n,l,o,r,i,u,a,s,c="getDb")=>{const v=pe(n,r),[y,,f,p]=qe(t),h=e=>Xe(void 0,null,(function*(){yield v(`CREATE OR REPLACE TRIGGER ${he(ke+"_"+e)} AFTER INSERT OR UPDATE OR DELETE ON ${he(e)} EXECUTE FUNCTION ${ke}()`)}));return(y?Pe:Ce)(e,v,(e=>Xe(void 0,null,(function*(){yield v(`CREATE OR REPLACE FUNCTION ${ze}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Je}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{yield v(`CREATE EVENT TRIGGER ${ze} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ze}();`)}catch(e){}return yield v(`CREATE OR REPLACE FUNCTION ${ke}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Je}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),yield E(m(F(p),(e=>Xe(void 0,null,(function*(){yield v(`CREATE TABLE IF NOT EXISTS ${he(e)}("_id"text PRIMARY KEY)`),yield h(e)}))))),yield l(Je,(t=>Xe(void 0,null,(function*(){return yield d((n=t,l=We,null==n?void 0:n.match(l)),(t=>Xe(void 0,[t],(function*([,t,n]){x(p,n)&&("c:"==t&&(yield h(n)),e())}))));var n,l}))))}))),o,i,u,a,f,F(p),((e,t)=>Xe(void 0,null,(function*(){return yield e(`${ie} table_name tn,column_name cn FROM information_schema.columns ${ue} table_schema='public'AND table_name IN(${me(t)})`,t)}))),s,c,"text",void 0,(e=>Te(e)),(e=>Re(e)))},e.createCustomSqlitePersister=(e,t,n,o,r,i,a,d,s,c,v="getDb",y)=>{let E,f,p;const h=pe(n,i),[m,T,R,A]=qe(t);return(m?Pe:Ce)(e,h,(e=>{let t;const n=()=>t=setInterval((()=>He(void 0,null,(function*(){try{const[{d:t,s:n,c:l}]=yield h(`${ie} ${ye} d,${Ee} s,TOTAL_CHANGES() c FROM ${ve}${ye} JOIN ${ve}${Ee}`);t==E&&n==f&&l==p||(null!=E&&e(),E=t,f=n,p=l)}catch(e){}}))),1e3*T),l=()=>{E=f=p=null,u(t)},i=o((t=>{A.has(t)&&(l(),e(),n())}));return n(),()=>{l(),r(i)}}),(e=>e()),a,d,s,R,F(A),((e,t)=>He(void 0,null,(function*(){return yield e(`${ie} t.name tn,c.name cn FROM ${fe}list()t,${fe}info(t.name)c ${ue} t.schema='main'AND t.type IN('table','view')AND t.name IN(${me(t)})ORDER BY t.name,c.name`,t)}))),c,v,l,y,(e=>!0===e?1:!1===e?0:e),void 0)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisters={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="tinybase",l="",o=",",r=t(l),i=Promise,u=clearInterval,a=e=>null==e,d=(e,t,n)=>a(e)?null==n?void 0:n():t(e),s=e=>t(e)==r,c=e=>Array.isArray(e),v=(e,t,n)=>e.slice(t,n),y=e=>e.length,E=e=>{return t=function*(){return i.all(e)},new Promise(((e,n)=>{var l=e=>{try{r(t.next(e))}catch(e){n(e)}},o=e=>{try{r(t.throw(e))}catch(e){n(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,o);r((t=t.apply(void 0,null)).next())}));var t},f=e=>{throw Error(e)},p=(e,t)=>e.forEach(t),h=(e,t="")=>e.join(t),m=(e,t)=>e.map(t),T=e=>0==y(e),R=(e,t)=>e.filter(t),A=(e,...t)=>e.push(...t),N=e=>e.shift(),g=Object,O=e=>g.getPrototypeOf(e),P=g.entries,$=g.keys,C=g.freeze,b=(e=[])=>g.fromEntries(e),S=(...e)=>g.assign({},...e),I=(e,t)=>(delete e[t],e),L=(e,t)=>m(P(e),(([e,n])=>t(n,e))),_=e=>g.values(e),w=e=>y($(e)),D=e=>(e=>!a(e)&&d(O(e),(e=>e==g.prototype||a(O(e))),(()=>!0)))(e)&&0==w(e),x=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},M=e=>a(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),F=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},U=(e,t)=>null==e?void 0:e.forEach(t),G=(e,t)=>null==e?void 0:e.delete(t),j=e=>new Map(e),B=(e,t)=>null==e?void 0:e.get(t),Y=(e,t)=>{var n;return m([...null!=(n=null==e?void 0:e.entries())?n:[]],(([e,n])=>t(n,e)))},q=(e,t,n)=>a(n)?(G(e,t),e):null==e?void 0:e.set(t,n),H=(e,t,n,l)=>(x(e,t)?null==l||l(B(e,t)):q(e,t,n()),B(e,t)),X=(e,t,n,l,o=0)=>d((n?H:B)(e,t[o],o>y(t)-2?n:j),(r=>{if(o>y(t)-2)return(null==l?void 0:l(r))&&q(e,t[o]),r;const i=X(r,t,n,l,o+1);return M(r)&&q(e,t[o]),i})),J=e=>new Set(c(e)||a(e)?e:[e]),W=(e,t)=>null==e?void 0:e.add(t),k=/^\d+$/;var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,Z=(e,t,n)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ee=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const te=j(),ne=j(),le=(e,t,n,o,r,i,u,s={},v=[])=>{let E,h,m,T=0,R=0,g=0;H(te,v,(()=>0)),H(ne,v,(()=>[]));const O=j(),[P,$,b,S,I]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!D(e)||!D(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!D(e)||!D(t),t.setContent]:f("Store type not supported by this Persister"))(u,e),[L,_,w]=(()=>{let e;const[t,n]=(()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:l+t++},t=>{k.test(t)&&y(e)<1e3&&A(e,t)}]})(),o=j();return[(n,r,i,u=[],a=()=>[])=>{null!=e||(e=ie);const d=t(1);return q(o,d,[n,r,i,u,a]),W(X(r,null!=i?i:[l],J),d),d},(t,n,...r)=>p(((e,t=[l])=>{const n=[],o=(e,l)=>l==y(t)?A(n,e):null===t[l]?U(e,(e=>o(e,l+1))):p([t[l],null],(t=>o(B(e,t),l+1)));return o(e,0),n})(t,n),(t=>U(t,(t=>B(o,t)[0](e,...null!=n?n:[],...r))))),e=>d(B(o,e),(([,t,r])=>(X(t,null!=r?r:[l],void 0,(t=>(G(t,e),M(t)?1:0))),q(o,e),n(e),r))),t=>d(B(o,t),(([t,,n=[],l,o])=>{const r=(...i)=>{var u,d;const s=y(i);s==y(n)?t(e,...i,...o(i)):a(n[s])?p(null!=(d=null==(u=l[s])?void 0:u.call(l,...i))?d:[],(e=>r(...i,e))):r(...i,n[s])};r()}))]})(),x=e=>{e!=T&&(T=e,_(O,void 0,T))},F=t=>{(P&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},Y=e=>ee(void 0,null,(function*(){return 2!=T&&(x(1),R++,yield re((()=>ee(void 0,null,(function*(){try{const n=yield t();c(n)?F(n):e?I(e):f("Content is not an array "+n)}catch(t){null==i||i(t),e&&I(e)}x(0)}))))),ie})),z=()=>(h&&(r(h),h=void 0),ie),le=e=>ee(void 0,null,(function*(){return 1!=T&&(x(2),g++,yield re((()=>ee(void 0,null,(function*(){try{yield n($,e)}catch(e){null==i||i(e)}x(0)}))))),ie})),oe=()=>(d(m,e.delListener),m=void 0,ie),re=(...e)=>ee(void 0,null,(function*(){return A(B(ne,v),...e),yield ee(void 0,null,(function*(){if(!B(te,v)){for(q(te,v,1);!a(E=N(B(ne,v)));)try{yield E()}catch(e){null==i||i(e)}q(te,v,0)}})),ie})),ie=((e,t)=>{for(var n in t||(t={}))V.call(t,n)&&Z(e,n,t[n]);if(K)for(var n of K(t))Q.call(t,n)&&Z(e,n,t[n]);return e})({load:Y,startAutoLoad:e=>ee(void 0,null,(function*(){yield z().load(e);try{h=yield o(((e,t)=>ee(void 0,null,(function*(){t||e?2!=T&&(x(1),R++,F(null!=t?t:e),x(0)):yield Y()}))))}catch(e){null==i||i(e)}return ie})),stopAutoLoad:z,isAutoLoading:()=>!a(h),save:le,startAutoSave:()=>ee(void 0,null,(function*(){return yield oe().save(),m=e.addDidFinishTransactionListener((()=>{const e=b();S(e)&&le(e)})),ie})),stopAutoSave:oe,isAutoSaving:()=>!a(m),getStatus:()=>T,addStatusListener:e=>L(e,O),delListener:t=>(w(t),e),schedule:re,getStore:()=>e,destroy:()=>(B(ne,v).splice(0,void 0),z().stopAutoSave()),getStats:()=>({loads:R,saves:g})},s);return C(ie)},oe="_",re="_id",ie="SELECT",ue="WHERE",ae="TABLE",de="ALTER "+ae,se="DELETE FROM",ce=ie+"*FROM",ve="pragma_",ye="data_version",Ee="schema_version",fe="pragma_table_",pe=(e,t)=>t?(n,l)=>{return o=function*(){return t(n,l),yield e(n,l)},new Promise(((e,t)=>{var n=e=>{try{r(o.next(e))}catch(e){t(e)}},l=e=>{try{r(o.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,l);r((o=o.apply(void 0,null)).next())}));var o}:e,he=e=>`"${e.replace(/"/g,'""')}"`,me=(e,t=[1])=>h(m(e,(()=>"$"+t[0]++)),o),Te=JSON.stringify,Re=JSON.parse;var Ae=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Ne=(e,t,n,l,r,i=ge,u,d)=>{const s=j();return[()=>Ae(void 0,null,(function*(){s.clear(),m(yield n(e,t),(({tn:e,cn:t})=>W(H(s,e,J),t)))})),(t,n)=>Ae(void 0,null,(function*(){return((e,t)=>x(B(s,e),t))(t,n)?b(R(m(yield e(ce+he(t)),(e=>{return[e[n],d?(t=I(e,n),l=d,b(L(t,((e,t)=>[t,l(e,t)])))):I(e,n)];var t,l})),(([e,t])=>!a(e)&&!D(t)))):{}})),(t,n,l,d,c,v=!1)=>Ae(void 0,null,(function*(){const y=J();L(null!=l?l:{},(e=>m($(null!=e?e:{}),(e=>W(y,e)))));const f=F(y);if(!v&&c&&T(f)&&x(s,t))return yield e("DROP "+ae+he(t)),void q(s,t);const p=B(s,t),N=J(F(p));if(T(f)||(x(s,t)?yield E(m([n,...f],((l,o)=>Ae(void 0,null,(function*(){G(N,l)||(yield e(de+he(t)+"ADD"+he(l)+r),0==o&&(yield e("CREATE UNIQUE INDEX pk ON "+he(t)+`(${he(n)})`)),W(p,l))}))))):(yield e("CREATE "+ae+he(t)+`(${he(n)}${r} PRIMARY KEY${h(m(f,(e=>o+he(e)+r)))});`),q(s,t,J([n,...f])))),yield E([...!v&&d?m(F(N),(l=>Ae(void 0,null,(function*(){l!=n&&(yield e(de+he(t)+"DROP"+he(l)),G(p,l))})))):[]]),v)a(l)?yield e(se+he(t)+ue+" true"):yield E(L(l,((l,o)=>Ae(void 0,null,(function*(){a(l)?yield e(se+he(t)+ue+he(n)+"=$1",[o]):T(f)||(yield i(e,t,n,$(l),{[o]:u?m(_(l),u):_(l)},p))})))));else if(T(f))x(s,t)&&(yield e(se+he(t)+ue+" true"));else{const o=R(F(B(s,t)),(e=>e!=n)),r={},a=[];L(null!=l?l:{},((e,t)=>{r[t]=m(o,(t=>u?u(null==e?void 0:e[t]):null==e?void 0:e[t])),A(a,t)})),yield i(e,t,n,o,r),yield e(se+he(t)+ue+he(n)+`NOT IN(${me(a)})`,a)}})),t=>Ae(void 0,null,(function*(){let n;yield e("BEGIN");try{n=yield t()}catch(e){null==l||l(e)}return yield e("END"),n}))]},ge=(e,t,n,l,r)=>Ae(void 0,null,(function*(){const i=[1];yield e("INSERT INTO"+he(t)+"("+((...e)=>h(m(e,he),o))(n,...l)+")VALUES"+h(L(r,(e=>"($"+i[0]+++","+me(e,i)+")")),o)+"ON CONFLICT("+he(n)+")DO UPDATE SET"+h(m(l,(e=>he(e)+"=excluded."+he(e))),o),L(r,((e,t)=>[t,...m(e,(e=>null!=e?e:null))])).flat())}));var Oe=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Pe=(e,t,n,l,o,r,i,[u,a,d],s,c,v,y,E,f)=>{const[p,h,m,T]=Ne(t,s,c,o,E,f),R=le(e,(()=>Oe(void 0,null,(function*(){return yield T((()=>Oe(void 0,null,(function*(){var e,t,n;return yield p(),n=null!=(t=null==(e=(yield h(u,a))[oe])?void 0:e[d])?t:"null",Re(n,((e,t)=>""===t?void 0:t))}))))}))),(e=>Oe(void 0,null,(function*(){return yield T((()=>Oe(void 0,null,(function*(){var t,n;yield p(),yield m(u,a,{[oe]:{[d]:(n=null!=(t=e())?t:null,Te(n,((e,t)=>void 0===t?"":t)))}},!0,!0)}))))}))),n,l,o,i,{[y]:()=>v,destroy:()=>(R.stopAutoLoad().stopAutoSave(),r(),R)},v);return R};var $e=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Ce=(e,t,n,l,o,r,i,[u,d,[s,c,v]],y,f,p,h,m,T,A,N)=>{const[g,O,P,$]=Ne(t,y,f,o,m,T,A,N),C=(e,t)=>$e(void 0,null,(function*(){return yield E(Y(d,((n,l)=>$e(void 0,[n,l],(function*([n,l,o,r],i){t&&!(i in e)||(yield P(n,l,e[i],o,r,t))})))))})),S=(e,t)=>$e(void 0,null,(function*(){return c?yield P(v,re,{[oe]:e},!0,!0,t):null})),I=le(e,(()=>$e(void 0,null,(function*(){return yield $((()=>$e(void 0,null,(function*(){yield g();const e=yield $e(void 0,null,(function*(){return b(R(yield E(Y(u,((e,t)=>$e(void 0,[e,t],(function*([e,t],n){return[e,yield O(n,t)]}))))),(e=>!D(e[1]))))})),t=yield $e(void 0,null,(function*(){return s?(yield O(v,re))[oe]:{}}));return D(e)&&a(t)?void 0:[e,t]}))))}))),((e,t)=>$e(void 0,null,(function*(){return yield $((()=>$e(void 0,null,(function*(){if(yield g(),a(t)){const[t,n]=e();yield C(t),yield S(n)}else yield C(t[0],!0),yield S(t[1],!0)}))))}))),n,l,o,i,{[h]:()=>p,destroy:()=>(I.stopAutoLoad().stopAutoSave(),r(),I)},p);return I},be="ColumnName",Se="store",Ie="json",Le=Se+"TableName",_e=Se+"Id"+be,we=Se+be,De="autoLoadIntervalSeconds",xe="rowId"+be,Me="tableId",Fe="tableName",Ue="deleteEmptyColumns",Ge="deleteEmptyTable",je={mode:Ie,[De]:1},Be={load:0,save:0,[Fe]:n+"_values"},Ye=(e,t,n,l,o)=>{const r=j();return L(e,((e,i)=>{const u=v(_(S(t,s(e)?{[n]:e}:e)),0,w(t));a(u[0])||l(i,u[0])||(o(i,u[0]),q(r,i,u))})),r},qe=e=>{var t,l,o;const r=(e=>S(je,s(e)?{[Le]:e}:null!=e?e:{}))(e),i=r[De];if(r.mode==Ie){const e=null!=(t=r[Le])?t:n;return[1,i,[e,null!=(l=r[_e])?l:re,null!=(o=r[we])?o:Se],J(e)]}const{tables:{load:u={},save:a={}}={},values:d={}}=r,c=v(_(S(Be,d)),0,w(Be)),y=c[2],E=J(y),f=J(y);return[0,i,[Ye(u,{[Me]:null,[xe]:re},Me,(e=>x(f,e)),(e=>W(E,e))),Ye(a,{[Fe]:null,[xe]:re,[Ue]:0,[Ge]:0},Fe,((e,t)=>x(f,t)),((e,t)=>W(E,t))),c],E]};var He=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())})),Xe=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const Je=n,We=/^([cd]:)(.+)/,ke=n+"_data",ze=n+"_table";e.Persists={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},e.Status={Idle:0,Loading:1,Saving:2},e.createCustomPersister=le,e.createCustomPostgreSqlPersister=(e,t,n,l,o,r,i,u,a,s,c="getDb")=>{const v=pe(n,r),[y,,f,p]=qe(t),h=e=>Xe(void 0,null,(function*(){yield v(`CREATE OR REPLACE TRIGGER ${he(ke+"_"+e)} AFTER INSERT OR UPDATE OR DELETE ON ${he(e)} EXECUTE FUNCTION ${ke}()`)}));return(y?Pe:Ce)(e,v,(e=>Xe(void 0,null,(function*(){yield v(`CREATE OR REPLACE FUNCTION ${ze}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Je}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{yield v(`CREATE EVENT TRIGGER ${ze} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ze}();`)}catch(e){}return yield v(`CREATE OR REPLACE FUNCTION ${ke}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Je}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),yield E(m(F(p),(e=>Xe(void 0,null,(function*(){yield v(`CREATE TABLE IF NOT EXISTS ${he(e)}("_id"text PRIMARY KEY)`),yield h(e)}))))),yield l(Je,(t=>Xe(void 0,null,(function*(){return yield d((n=t,l=We,null==n?void 0:n.match(l)),(t=>Xe(void 0,[t],(function*([,t,n]){x(p,n)&&("c:"==t&&(yield h(n)),e())}))));var n,l}))))}))),o,i,u,a,f,F(p),((e,t)=>Xe(void 0,null,(function*(){return yield e(`${ie} table_name tn,column_name cn FROM information_schema.columns ${ue} table_schema='public'AND table_name IN(${me(t)})`,t)}))),s,c,"text",void 0,(e=>Te(e)),(e=>Re(e)))},e.createCustomSqlitePersister=(e,t,n,o,r,i,a,d,s,c,v="getDb",y)=>{let E,f,p;const h=pe(n,i),[m,T,R,A]=qe(t);return(m?Pe:Ce)(e,h,(e=>{let t;const n=()=>t=setInterval((()=>He(void 0,null,(function*(){try{const[{d:t,s:n,c:l}]=yield h(`${ie} ${ye} d,${Ee} s,TOTAL_CHANGES() c FROM ${ve}${ye} JOIN ${ve}${Ee}`);t==E&&n==f&&l==p||(null!=E&&e(),E=t,f=n,p=l)}catch(e){}}))),1e3*T),l=()=>{E=f=p=null,u(t)},i=o((t=>{A.has(t)&&(l(),e(),n())}));return n(),()=>{l(),r(i)}}),(e=>e()),a,d,s,R,F(A),((e,t)=>He(void 0,null,(function*(){return yield e(`${ie} t.name tn,c.name cn FROM ${fe}list()t,${fe}info(t.name)c ${ue} t.schema='main'AND t.type IN('table','view')AND t.name IN(${me(t)})ORDER BY t.name,c.name`,t)}))),c,v,l,y,(e=>!0===e?1:!1===e?0:e),void 0)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisters={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,l)=>t(e)?null==l?void 0:l():n(e),l=e=>Array.isArray(e),o=e=>e.length,r=e=>{throw Error(e)},i=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),a=e=>e.shift(),s=Object,d=e=>s.getPrototypeOf(e),c=s.entries,v=s.keys,y=s.freeze,f=(e=[])=>s.fromEntries(e),p=(e,t)=>n(e,(e=>e[t])),h=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),b=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,n])=>t(n,e))),m=e=>o(v(e)),A=e=>(e=>!t(e)&&n(d(e),(e=>e==s.prototype||t(d(e))),(()=>!0)))(e)&&0==m(e),C=(e,t,n)=>(h(e,t)||(e[t]=n()),e[t]),P=e=>t(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),S=(e,t)=>null==e?void 0:e.forEach(t),w=(e,t)=>null==e?void 0:e.delete(t),L=e=>new Map(e),O=(e,t)=>null==e?void 0:e.get(t),x=(e,n,l)=>t(l)?(w(e,n),e):null==e?void 0:e.set(n,l),j=(e,t,n,l)=>{var o,r,i;return r=t,null!=(i=null==(o=e)?void 0:o.has(r))&&i?null==l||l(O(e,t)):x(e,t,n()),O(e,t)},M=(e,t,l,r,i=0)=>n((l?j:O)(e,t[i],i>o(t)-2?l:L),(n=>{if(i>o(t)-2)return(null==r?void 0:r(n))&&x(e,t[i]),n;const u=M(n,t,l,r,i+1);return P(n)&&x(e,t[i]),u})),T=e=>new Set(l(e)||t(e)?e:[e]),E=/^\d+$/;var D=Object.defineProperty,z=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,F=(e,t,n)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const I=L(),$=L(),q=(e,s,d,c,v,f,p,h={},g=[])=>{let b,m,C,D=0,q=0,G=0;j(I,g,(()=>0)),j($,g,(()=>[]));const J=L(),[K,N,Q,R,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:r("Store type not supported by this Persister"))(p,e),[V,W,X]=(()=>{let e;const[l,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?a(e):null)?l:""+t++},t=>{E.test(t)&&o(e)<1e3&&u(e,t)}]})(),s=L();return[(t,n,o,r=[],i=()=>[])=>{null!=e||(e=oe);const u=l(1);var a,d;return x(s,u,[t,n,o,r,i]),d=u,null==(a=M(n,null!=o?o:[""],T))||a.add(d),u},(t,n,...l)=>i(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?u(n,e):null===t[r]?S(e,(e=>l(e,r+1))):i([t[r],null],(t=>l(O(e,t),r+1)));return l(e,0),n})(t,n),(t=>S(t,(t=>O(s,t)[0](e,...null!=n?n:[],...l))))),e=>n(O(s,e),(([,t,n])=>(M(t,null!=n?n:[""],void 0,(t=>(w(t,e),P(t)?1:0))),x(s,e),r(e),n))),l=>n(O(s,l),(([n,,l=[],r,u])=>{const a=(...s)=>{var d,c;const v=o(s);v==o(l)?n(e,...s,...u(s)):t(l[v])?i(null!=(c=null==(d=r[v])?void 0:d.call(r,...s))?c:[],(e=>a(...s,e))):a(...s,l[v])};a()}))]})(),Y=e=>{e!=D&&(D=e,W(J,void 0,D))},Z=t=>{(K&&l(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>H(void 0,null,(function*(){return 2!=D&&(Y(1),q++,yield le((()=>H(void 0,null,(function*(){try{const e=yield s();l(e)?Z(e):r("Content is not an array "+e)}catch(t){null==f||f(t),e&&U(e)}Y(0)}))))),oe})),ee=()=>(m&&(v(m),m=void 0),oe),te=e=>H(void 0,null,(function*(){return 1!=D&&(Y(2),G++,yield le((()=>H(void 0,null,(function*(){try{yield d(N,e)}catch(e){null==f||f(e)}Y(0)}))))),oe})),ne=()=>(n(C,e.delListener),C=void 0,oe),le=(...e)=>H(void 0,null,(function*(){return u(O($,g),...e),yield H(void 0,null,(function*(){if(!O(I,g)){for(x(I,g,1);!t(b=a(O($,g)));)try{yield b()}catch(e){null==f||f(e)}x(I,g,0)}})),oe})),oe=((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&F(e,n,t[n]);if(z)for(var n of z(t))B.call(t,n)&&F(e,n,t[n]);return e})({load:_,startAutoLoad:e=>H(void 0,null,(function*(){yield ee().load(e);try{m=yield c(((e,t)=>H(void 0,null,(function*(){t||e?2!=D&&(Y(1),q++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==f||f(e)}return oe})),stopAutoLoad:ee,isAutoLoading:()=>!t(m),save:te,startAutoSave:()=>H(void 0,null,(function*(){return yield ne().save(),C=e.addDidFinishTransactionListener((()=>{const e=Q();R(e)&&te(e)})),oe})),stopAutoSave:ne,isAutoSaving:()=>!t(C),getStatus:()=>D,addStatusListener:e=>V(e,J),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(O($,g).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:q,saves:G})},h);return y(oe)};var G=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const J=(e,t)=>[e[t].t,e[t].v],K=(e,n,l,o)=>{const r=t(n)?e:C(e,n,(()=>({})));let i;return b(l,((e,t)=>{o(r,t,e)&&(i=1)})),b(r,((e,t)=>{h(l,t)||(g(r,t),i=1)})),!t(n)&&A(r)&&g(e,n),i};e.createAutomergePersister=(e,l,o="tinybase",r)=>(l.change((e=>C(e,o,f))),q(e,(()=>G(void 0,null,(function*(){const e=yield l.doc();return 2==m(null==e?void 0:e[o])?J(e,o):void 0}))),((e,r)=>G(void 0,null,(function*(){return l.change((l=>((e,l,o,r)=>{((e,t)=>{A(e[t])&&(e[t]={t:{},v:{}})})(e,l);const[i,u]=J(e,l),a=()=>{s=1};let s=1;if(n(r,(([e,l])=>{s=0,b(e,((e,l)=>s?0:t(e)?g(i,l):n(i[l],(l=>b(e,((e,o)=>s?0:t(e)?g(l,o):n(p(l,o),(n=>b(e,((e,l)=>t(e)?g(n,l):n[l]=e))),a)))),a))),b(l,((e,n)=>s?0:t(e)?g(u,n):u[n]=e))})),s){const[e,t]=o();K(i,void 0,e,((e,t,n)=>K(i,t,n,((e,t,n)=>K(e,t,n,((e,t,n)=>{if(p(e,t)!==n)return e[t]=n,1})))))),K(u,void 0,t,((e,t,n)=>{p(u,t)!==n&&(u[t]=n)}))}})(l,o,e,r)))}))),(e=>{const t=({doc:t})=>e(J(t,o));return l.on("change",t),t}),(e=>{l.removeListener("change",e)}),r,1,{getDocHandle:()=>l}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,l)=>t(e)?null==l?void 0:l():n(e),l=e=>Array.isArray(e),o=e=>e.length,r=e=>{throw Error(e)},i=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),a=e=>e.shift(),s=Object,d=e=>s.getPrototypeOf(e),c=s.entries,v=s.keys,y=s.freeze,f=(e=[])=>s.fromEntries(e),p=(e,t)=>n(e,(e=>e[t])),h=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),b=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,n])=>t(n,e))),m=e=>o(v(e)),A=e=>(e=>!t(e)&&n(d(e),(e=>e==s.prototype||t(d(e))),(()=>!0)))(e)&&0==m(e),C=(e,t,n)=>(h(e,t)||(e[t]=n()),e[t]),P=e=>t(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),S=(e,t)=>null==e?void 0:e.forEach(t),w=(e,t)=>null==e?void 0:e.delete(t),L=e=>new Map(e),O=(e,t)=>null==e?void 0:e.get(t),x=(e,n,l)=>t(l)?(w(e,n),e):null==e?void 0:e.set(n,l),j=(e,t,n,l)=>{var o,r,i;return r=t,null!=(i=null==(o=e)?void 0:o.has(r))&&i?null==l||l(O(e,t)):x(e,t,n()),O(e,t)},M=(e,t,l,r,i=0)=>n((l?j:O)(e,t[i],i>o(t)-2?l:L),(n=>{if(i>o(t)-2)return(null==r?void 0:r(n))&&x(e,t[i]),n;const u=M(n,t,l,r,i+1);return P(n)&&x(e,t[i]),u})),T=e=>new Set(l(e)||t(e)?e:[e]),E=/^\d+$/;var D=Object.defineProperty,z=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,F=(e,t,n)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const I=L(),$=L(),q=(e,s,d,c,v,f,p,h={},g=[])=>{let b,m,C,D=0,q=0,G=0;j(I,g,(()=>0)),j($,g,(()=>[]));const J=L(),[K,N,Q,R,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:r("Store type not supported by this Persister"))(p,e),[V,W,X]=(()=>{let e;const[l,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?a(e):null)?l:""+t++},t=>{E.test(t)&&o(e)<1e3&&u(e,t)}]})(),s=L();return[(t,n,o,r=[],i=()=>[])=>{null!=e||(e=oe);const u=l(1);var a,d;return x(s,u,[t,n,o,r,i]),d=u,null==(a=M(n,null!=o?o:[""],T))||a.add(d),u},(t,n,...l)=>i(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?u(n,e):null===t[r]?S(e,(e=>l(e,r+1))):i([t[r],null],(t=>l(O(e,t),r+1)));return l(e,0),n})(t,n),(t=>S(t,(t=>O(s,t)[0](e,...null!=n?n:[],...l))))),e=>n(O(s,e),(([,t,n])=>(M(t,null!=n?n:[""],void 0,(t=>(w(t,e),P(t)?1:0))),x(s,e),r(e),n))),l=>n(O(s,l),(([n,,l=[],r,u])=>{const a=(...s)=>{var d,c;const v=o(s);v==o(l)?n(e,...s,...u(s)):t(l[v])?i(null!=(c=null==(d=r[v])?void 0:d.call(r,...s))?c:[],(e=>a(...s,e))):a(...s,l[v])};a()}))]})(),Y=e=>{e!=D&&(D=e,W(J,void 0,D))},Z=t=>{(K&&l(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>H(void 0,null,(function*(){return 2!=D&&(Y(1),q++,yield le((()=>H(void 0,null,(function*(){try{const t=yield s();l(t)?Z(t):e?U(e):r("Content is not an array "+t)}catch(t){null==f||f(t),e&&U(e)}Y(0)}))))),oe})),ee=()=>(m&&(v(m),m=void 0),oe),te=e=>H(void 0,null,(function*(){return 1!=D&&(Y(2),G++,yield le((()=>H(void 0,null,(function*(){try{yield d(N,e)}catch(e){null==f||f(e)}Y(0)}))))),oe})),ne=()=>(n(C,e.delListener),C=void 0,oe),le=(...e)=>H(void 0,null,(function*(){return u(O($,g),...e),yield H(void 0,null,(function*(){if(!O(I,g)){for(x(I,g,1);!t(b=a(O($,g)));)try{yield b()}catch(e){null==f||f(e)}x(I,g,0)}})),oe})),oe=((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&F(e,n,t[n]);if(z)for(var n of z(t))B.call(t,n)&&F(e,n,t[n]);return e})({load:_,startAutoLoad:e=>H(void 0,null,(function*(){yield ee().load(e);try{m=yield c(((e,t)=>H(void 0,null,(function*(){t||e?2!=D&&(Y(1),q++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==f||f(e)}return oe})),stopAutoLoad:ee,isAutoLoading:()=>!t(m),save:te,startAutoSave:()=>H(void 0,null,(function*(){return yield ne().save(),C=e.addDidFinishTransactionListener((()=>{const e=Q();R(e)&&te(e)})),oe})),stopAutoSave:ne,isAutoSaving:()=>!t(C),getStatus:()=>D,addStatusListener:e=>V(e,J),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(O($,g).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:q,saves:G})},h);return y(oe)};var G=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const J=(e,t)=>[e[t].t,e[t].v],K=(e,n,l,o)=>{const r=t(n)?e:C(e,n,(()=>({})));let i;return b(l,((e,t)=>{o(r,t,e)&&(i=1)})),b(r,((e,t)=>{h(l,t)||(g(r,t),i=1)})),!t(n)&&A(r)&&g(e,n),i};e.createAutomergePersister=(e,l,o="tinybase",r)=>(l.change((e=>C(e,o,f))),q(e,(()=>G(void 0,null,(function*(){const e=yield l.doc();return 2==m(null==e?void 0:e[o])?J(e,o):void 0}))),((e,r)=>G(void 0,null,(function*(){return l.change((l=>((e,l,o,r)=>{((e,t)=>{A(e[t])&&(e[t]={t:{},v:{}})})(e,l);const[i,u]=J(e,l),a=()=>{s=1};let s=1;if(n(r,(([e,l])=>{s=0,b(e,((e,l)=>s?0:t(e)?g(i,l):n(i[l],(l=>b(e,((e,o)=>s?0:t(e)?g(l,o):n(p(l,o),(n=>b(e,((e,l)=>t(e)?g(n,l):n[l]=e))),a)))),a))),b(l,((e,n)=>s?0:t(e)?g(u,n):u[n]=e))})),s){const[e,t]=o();K(i,void 0,e,((e,t,n)=>K(i,t,n,((e,t,n)=>K(e,t,n,((e,t,n)=>{if(p(e,t)!==n)return e[t]=n,1})))))),K(u,void 0,t,((e,t,n)=>{p(u,t)!==n&&(u[t]=n)}))}})(l,o,e,r)))}))),(e=>{const t=({doc:t})=>e(J(t,o));return l.on("change",t),t}),(e=>{l.removeListener("change",e)}),r,1,{getDocHandle:()=>l}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,l)=>t(e)?null==l?void 0:l():n(e),l=e=>Array.isArray(e),o=e=>e.length,r=e=>{throw Error(e)},i=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),a=e=>e.shift(),s=Object,d=e=>s.getPrototypeOf(e),c=s.entries,v=s.keys,y=s.freeze,f=(e=[])=>s.fromEntries(e),p=(e,t)=>n(e,(e=>e[t])),h=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),b=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,n])=>t(n,e))),m=e=>o(v(e)),A=e=>(e=>!t(e)&&n(d(e),(e=>e==s.prototype||t(d(e))),(()=>!0)))(e)&&0==m(e),C=(e,t,n)=>(h(e,t)||(e[t]=n()),e[t]),P=e=>t(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),S=(e,t)=>null==e?void 0:e.forEach(t),w=(e,t)=>null==e?void 0:e.delete(t),L=e=>new Map(e),O=(e,t)=>null==e?void 0:e.get(t),x=(e,n,l)=>t(l)?(w(e,n),e):null==e?void 0:e.set(n,l),j=(e,t,n,l)=>{var o,r,i;return r=t,null!=(i=null==(o=e)?void 0:o.has(r))&&i?null==l||l(O(e,t)):x(e,t,n()),O(e,t)},M=(e,t,l,r,i=0)=>n((l?j:O)(e,t[i],i>o(t)-2?l:L),(n=>{if(i>o(t)-2)return(null==r?void 0:r(n))&&x(e,t[i]),n;const u=M(n,t,l,r,i+1);return P(n)&&x(e,t[i]),u})),T=e=>new Set(l(e)||t(e)?e:[e]),E=/^\d+$/;var D=Object.defineProperty,z=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,F=(e,t,n)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const I=L(),$=L(),q=(e,s,d,c,v,f,p,h={},g=[])=>{let b,m,C,D=0,q=0,G=0;j(I,g,(()=>0)),j($,g,(()=>[]));const J=L(),[K,N,Q,R,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:r("Store type not supported by this Persister"))(p,e),[V,W,X]=(()=>{let e;const[l,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?a(e):null)?l:""+t++},t=>{E.test(t)&&o(e)<1e3&&u(e,t)}]})(),s=L();return[(t,n,o,r=[],i=()=>[])=>{null!=e||(e=oe);const u=l(1);var a,d;return x(s,u,[t,n,o,r,i]),d=u,null==(a=M(n,null!=o?o:[""],T))||a.add(d),u},(t,n,...l)=>i(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?u(n,e):null===t[r]?S(e,(e=>l(e,r+1))):i([t[r],null],(t=>l(O(e,t),r+1)));return l(e,0),n})(t,n),(t=>S(t,(t=>O(s,t)[0](e,...null!=n?n:[],...l))))),e=>n(O(s,e),(([,t,n])=>(M(t,null!=n?n:[""],void 0,(t=>(w(t,e),P(t)?1:0))),x(s,e),r(e),n))),l=>n(O(s,l),(([n,,l=[],r,u])=>{const a=(...s)=>{var d,c;const v=o(s);v==o(l)?n(e,...s,...u(s)):t(l[v])?i(null!=(c=null==(d=r[v])?void 0:d.call(r,...s))?c:[],(e=>a(...s,e))):a(...s,l[v])};a()}))]})(),Y=e=>{e!=D&&(D=e,W(J,void 0,D))},Z=t=>{(K&&l(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>H(void 0,null,(function*(){return 2!=D&&(Y(1),q++,yield le((()=>H(void 0,null,(function*(){try{const e=yield s();l(e)?Z(e):r("Content is not an array "+e)}catch(t){null==f||f(t),e&&U(e)}Y(0)}))))),oe})),ee=()=>(m&&(v(m),m=void 0),oe),te=e=>H(void 0,null,(function*(){return 1!=D&&(Y(2),G++,yield le((()=>H(void 0,null,(function*(){try{yield d(N,e)}catch(e){null==f||f(e)}Y(0)}))))),oe})),ne=()=>(n(C,e.delListener),C=void 0,oe),le=(...e)=>H(void 0,null,(function*(){return u(O($,g),...e),yield H(void 0,null,(function*(){if(!O(I,g)){for(x(I,g,1);!t(b=a(O($,g)));)try{yield b()}catch(e){null==f||f(e)}x(I,g,0)}})),oe})),oe=((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&F(e,n,t[n]);if(z)for(var n of z(t))B.call(t,n)&&F(e,n,t[n]);return e})({load:_,startAutoLoad:e=>H(void 0,null,(function*(){yield ee().load(e);try{m=yield c(((e,t)=>H(void 0,null,(function*(){t||e?2!=D&&(Y(1),q++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==f||f(e)}return oe})),stopAutoLoad:ee,isAutoLoading:()=>!t(m),save:te,startAutoSave:()=>H(void 0,null,(function*(){return yield ne().save(),C=e.addDidFinishTransactionListener((()=>{const e=Q();R(e)&&te(e)})),oe})),stopAutoSave:ne,isAutoSaving:()=>!t(C),getStatus:()=>D,addStatusListener:e=>V(e,J),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(O($,g).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:q,saves:G})},h);return y(oe)};var G=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const J=(e,t)=>[e[t].t,e[t].v],K=(e,n,l,o)=>{const r=t(n)?e:C(e,n,(()=>({})));let i;return b(l,((e,t)=>{o(r,t,e)&&(i=1)})),b(r,((e,t)=>{h(l,t)||(g(r,t),i=1)})),!t(n)&&A(r)&&g(e,n),i};e.createAutomergePersister=(e,l,o="tinybase",r)=>(l.change((e=>C(e,o,f))),q(e,(()=>G(void 0,null,(function*(){const e=yield l.doc();return 2==m(null==e?void 0:e[o])?J(e,o):void 0}))),((e,r)=>G(void 0,null,(function*(){return l.change((l=>((e,l,o,r)=>{((e,t)=>{A(e[t])&&(e[t]={t:{},v:{}})})(e,l);const[i,u]=J(e,l),a=()=>{s=1};let s=1;if(n(r,(([e,l])=>{s=0,b(e,((e,l)=>s?0:t(e)?g(i,l):n(i[l],(l=>b(e,((e,o)=>s?0:t(e)?g(l,o):n(p(l,o),(n=>b(e,((e,l)=>t(e)?g(n,l):n[l]=e))),a)))),a))),b(l,((e,n)=>s?0:t(e)?g(u,n):u[n]=e))})),s){const[e,t]=o();K(i,void 0,e,((e,t,n)=>K(i,t,n,((e,t,n)=>K(e,t,n,((e,t,n)=>{if(p(e,t)!==n)return e[t]=n,1})))))),K(u,void 0,t,((e,t,n)=>{p(u,t)!==n&&(u[t]=n)}))}})(l,o,e,r)))}))),(e=>{const t=({doc:t})=>e(J(t,o));return l.on("change",t),t}),(e=>{l.removeListener("change",e)}),r,1,{getDocHandle:()=>l}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,l)=>t(e)?null==l?void 0:l():n(e),l=e=>Array.isArray(e),o=e=>e.length,r=e=>{throw Error(e)},i=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),a=e=>e.shift(),s=Object,d=e=>s.getPrototypeOf(e),c=s.entries,v=s.keys,y=s.freeze,f=(e=[])=>s.fromEntries(e),p=(e,t)=>n(e,(e=>e[t])),h=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),b=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,n])=>t(n,e))),m=e=>o(v(e)),A=e=>(e=>!t(e)&&n(d(e),(e=>e==s.prototype||t(d(e))),(()=>!0)))(e)&&0==m(e),C=(e,t,n)=>(h(e,t)||(e[t]=n()),e[t]),P=e=>t(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),S=(e,t)=>null==e?void 0:e.forEach(t),w=(e,t)=>null==e?void 0:e.delete(t),L=e=>new Map(e),O=(e,t)=>null==e?void 0:e.get(t),x=(e,n,l)=>t(l)?(w(e,n),e):null==e?void 0:e.set(n,l),j=(e,t,n,l)=>{var o,r,i;return r=t,null!=(i=null==(o=e)?void 0:o.has(r))&&i?null==l||l(O(e,t)):x(e,t,n()),O(e,t)},M=(e,t,l,r,i=0)=>n((l?j:O)(e,t[i],i>o(t)-2?l:L),(n=>{if(i>o(t)-2)return(null==r?void 0:r(n))&&x(e,t[i]),n;const u=M(n,t,l,r,i+1);return P(n)&&x(e,t[i]),u})),T=e=>new Set(l(e)||t(e)?e:[e]),E=/^\d+$/;var D=Object.defineProperty,z=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,F=(e,t,n)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const I=L(),$=L(),q=(e,s,d,c,v,f,p,h={},g=[])=>{let b,m,C,D=0,q=0,G=0;j(I,g,(()=>0)),j($,g,(()=>[]));const J=L(),[K,N,Q,R,U]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!A(e)||!A(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!A(e)||!A(t),t.setContent]:r("Store type not supported by this Persister"))(p,e),[V,W,X]=(()=>{let e;const[l,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?a(e):null)?l:""+t++},t=>{E.test(t)&&o(e)<1e3&&u(e,t)}]})(),s=L();return[(t,n,o,r=[],i=()=>[])=>{null!=e||(e=oe);const u=l(1);var a,d;return x(s,u,[t,n,o,r,i]),d=u,null==(a=M(n,null!=o?o:[""],T))||a.add(d),u},(t,n,...l)=>i(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?u(n,e):null===t[r]?S(e,(e=>l(e,r+1))):i([t[r],null],(t=>l(O(e,t),r+1)));return l(e,0),n})(t,n),(t=>S(t,(t=>O(s,t)[0](e,...null!=n?n:[],...l))))),e=>n(O(s,e),(([,t,n])=>(M(t,null!=n?n:[""],void 0,(t=>(w(t,e),P(t)?1:0))),x(s,e),r(e),n))),l=>n(O(s,l),(([n,,l=[],r,u])=>{const a=(...s)=>{var d,c;const v=o(s);v==o(l)?n(e,...s,...u(s)):t(l[v])?i(null!=(c=null==(d=r[v])?void 0:d.call(r,...s))?c:[],(e=>a(...s,e))):a(...s,l[v])};a()}))]})(),Y=e=>{e!=D&&(D=e,W(J,void 0,D))},Z=t=>{(K&&l(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>H(void 0,null,(function*(){return 2!=D&&(Y(1),q++,yield le((()=>H(void 0,null,(function*(){try{const t=yield s();l(t)?Z(t):e?U(e):r("Content is not an array "+t)}catch(t){null==f||f(t),e&&U(e)}Y(0)}))))),oe})),ee=()=>(m&&(v(m),m=void 0),oe),te=e=>H(void 0,null,(function*(){return 1!=D&&(Y(2),G++,yield le((()=>H(void 0,null,(function*(){try{yield d(N,e)}catch(e){null==f||f(e)}Y(0)}))))),oe})),ne=()=>(n(C,e.delListener),C=void 0,oe),le=(...e)=>H(void 0,null,(function*(){return u(O($,g),...e),yield H(void 0,null,(function*(){if(!O(I,g)){for(x(I,g,1);!t(b=a(O($,g)));)try{yield b()}catch(e){null==f||f(e)}x(I,g,0)}})),oe})),oe=((e,t)=>{for(var n in t||(t={}))k.call(t,n)&&F(e,n,t[n]);if(z)for(var n of z(t))B.call(t,n)&&F(e,n,t[n]);return e})({load:_,startAutoLoad:e=>H(void 0,null,(function*(){yield ee().load(e);try{m=yield c(((e,t)=>H(void 0,null,(function*(){t||e?2!=D&&(Y(1),q++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==f||f(e)}return oe})),stopAutoLoad:ee,isAutoLoading:()=>!t(m),save:te,startAutoSave:()=>H(void 0,null,(function*(){return yield ne().save(),C=e.addDidFinishTransactionListener((()=>{const e=Q();R(e)&&te(e)})),oe})),stopAutoSave:ne,isAutoSaving:()=>!t(C),getStatus:()=>D,addStatusListener:e=>V(e,J),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(O($,g).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:q,saves:G})},h);return y(oe)};var G=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const J=(e,t)=>[e[t].t,e[t].v],K=(e,n,l,o)=>{const r=t(n)?e:C(e,n,(()=>({})));let i;return b(l,((e,t)=>{o(r,t,e)&&(i=1)})),b(r,((e,t)=>{h(l,t)||(g(r,t),i=1)})),!t(n)&&A(r)&&g(e,n),i};e.createAutomergePersister=(e,l,o="tinybase",r)=>(l.change((e=>C(e,o,f))),q(e,(()=>G(void 0,null,(function*(){const e=yield l.doc();return 2==m(null==e?void 0:e[o])?J(e,o):void 0}))),((e,r)=>G(void 0,null,(function*(){return l.change((l=>((e,l,o,r)=>{((e,t)=>{A(e[t])&&(e[t]={t:{},v:{}})})(e,l);const[i,u]=J(e,l),a=()=>{s=1};let s=1;if(n(r,(([e,l])=>{s=0,b(e,((e,l)=>s?0:t(e)?g(i,l):n(i[l],(l=>b(e,((e,o)=>s?0:t(e)?g(l,o):n(p(l,o),(n=>b(e,((e,l)=>t(e)?g(n,l):n[l]=e))),a)))),a))),b(l,((e,n)=>s?0:t(e)?g(u,n):u[n]=e))})),s){const[e,t]=o();K(i,void 0,e,((e,t,n)=>K(i,t,n,((e,t,n)=>K(e,t,n,((e,t,n)=>{if(p(e,t)!==n)return e[t]=n,1})))))),K(u,void 0,t,((e,t,n)=>{p(u,t)!==n&&(u[t]=n)}))}})(l,o,e,r)))}))),(e=>{const t=({doc:t})=>e(J(t,o));return l.on("change",t),t}),(e=>{l.removeListener("change",e)}),r,1,{getDocHandle:()=>l}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=globalThis.window,n=e=>null==e,l=(e,t,l)=>n(e)?null==l?void 0:l():t(e),r=e=>Array.isArray(e),o=e=>e.length,i=e=>{throw Error(e)},a=(e,t)=>e.forEach(t),s=(e,...t)=>e.push(...t),u=e=>e.shift(),d=Object,c=e=>d.getPrototypeOf(e),v=d.keys,y=d.freeze,f=e=>(e=>!n(e)&&l(c(e),(e=>e==d.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>o(v(e)))(e),p=JSON.stringify,g=JSON.parse,h=e=>n(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),b=(e,t)=>null==e?void 0:e.forEach(t),S=(e,t)=>null==e?void 0:e.delete(t),w=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),P=(e,t,l)=>n(l)?(S(e,t),e):null==e?void 0:e.set(t,l),C=(e,t,n,l)=>{var r,o,i;return o=t,null!=(i=null==(r=e)?void 0:r.has(o))&&i?null==l||l(m(e,t)):P(e,t,n()),m(e,t)},A=(e,t,n,r,i=0)=>l((n?C:m)(e,t[i],i>o(t)-2?n:w),(l=>{if(i>o(t)-2)return(null==r?void 0:r(l))&&P(e,t[i]),l;const a=A(l,t,n,r,i+1);return h(l)&&P(e,t[i]),a})),L=e=>new Set(r(e)||n(e)?e:[e]),O=/^\d+$/;var x=Object.defineProperty,T=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const N=w(),k=w(),z=(e,t,d,c,v,p,g,x={},z=[])=>{let B,D,J,F=0,V=0,$=0;C(N,z,(()=>0)),C(k,z,(()=>[]));const q=w(),[G,H,K,Q,R]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:i("Store type not supported by this Persister"))(g,e),[U,W,X]=(()=>{let e;const[t,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?u(e):null)?l:""+t++},t=>{O.test(t)&&o(e)<1e3&&s(e,t)}]})(),i=w();return[(n,l,r,o=[],a=()=>[])=>{null!=e||(e=re);const s=t(1);var u,d;return P(i,s,[n,l,r,o,a]),d=s,null==(u=A(l,null!=r?r:[""],L))||u.add(d),s},(t,n,...l)=>a(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?s(n,e):null===t[r]?b(e,(e=>l(e,r+1))):a([t[r],null],(t=>l(m(e,t),r+1)));return l(e,0),n})(t,n),(t=>b(t,(t=>m(i,t)[0](e,...null!=n?n:[],...l))))),e=>l(m(i,e),(([,t,n])=>(A(t,null!=n?n:[""],void 0,(t=>(S(t,e),h(t)?1:0))),P(i,e),r(e),n))),t=>l(m(i,t),(([t,,l=[],r,i])=>{const s=(...u)=>{var d,c;const v=o(u);v==o(l)?t(e,...u,...i(u)):n(l[v])?a(null!=(c=null==(d=r[v])?void 0:d.call(r,...u))?c:[],(e=>s(...u,e))):s(...u,l[v])};s()}))]})(),Y=e=>{e!=F&&(F=e,W(q,void 0,F))},Z=t=>{(G&&r(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>I(void 0,null,(function*(){return 2!=F&&(Y(1),V++,yield le((()=>I(void 0,null,(function*(){try{const e=yield t();r(e)?Z(e):i("Content is not an array "+e)}catch(t){null==p||p(t),e&&R(e)}Y(0)}))))),re})),ee=()=>(D&&(v(D),D=void 0),re),te=e=>I(void 0,null,(function*(){return 1!=F&&(Y(2),$++,yield le((()=>I(void 0,null,(function*(){try{yield d(H,e)}catch(e){null==p||p(e)}Y(0)}))))),re})),ne=()=>(l(J,e.delListener),J=void 0,re),le=(...e)=>I(void 0,null,(function*(){return s(m(k,z),...e),yield I(void 0,null,(function*(){if(!m(N,z)){for(P(N,z,1);!n(B=u(m(k,z)));)try{yield B()}catch(e){null==p||p(e)}P(N,z,0)}})),re})),re=((e,t)=>{for(var n in t||(t={}))j.call(t,n)&&M(e,n,t[n]);if(T)for(var n of T(t))E.call(t,n)&&M(e,n,t[n]);return e})({load:_,startAutoLoad:e=>I(void 0,null,(function*(){yield ee().load(e);try{D=yield c(((e,t)=>I(void 0,null,(function*(){t||e?2!=F&&(Y(1),V++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==p||p(e)}return re})),stopAutoLoad:ee,isAutoLoading:()=>!n(D),save:te,startAutoSave:()=>I(void 0,null,(function*(){return yield ne().save(),J=e.addDidFinishTransactionListener((()=>{const e=K();Q(e)&&te(e)})),re})),stopAutoSave:ne,isAutoSaving:()=>!n(J),getStatus:()=>F,addStatusListener:e=>U(e,q),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(m(k,z).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:V,saves:$})},x);return y(re)};var B=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const D="storage",J=(e,n,l,r)=>z(e,(()=>B(void 0,null,(function*(){return e=l.getItem(n),g(e,((e,t)=>""===t?void 0:t));var e}))),(e=>B(void 0,null,(function*(){return l.setItem(n,(t=e(),p(t,((e,t)=>void 0===t?"":t))));var t}))),(e=>{const r=t=>{if(t.storageArea===l&&t.key===n)try{e(g(t.newValue))}catch(t){e()}};return t.addEventListener(D,r),r}),(e=>t.removeEventListener(D,e)),r,3,{getStorageName:()=>n});e.createLocalPersister=(e,t,n)=>J(e,t,localStorage,n),e.createSessionPersister=(e,t,n)=>J(e,t,sessionStorage,n)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=globalThis.window,n=e=>null==e,l=(e,t,l)=>n(e)?null==l?void 0:l():t(e),r=e=>Array.isArray(e),o=e=>e.length,i=e=>{throw Error(e)},a=(e,t)=>e.forEach(t),s=(e,...t)=>e.push(...t),u=e=>e.shift(),d=Object,c=e=>d.getPrototypeOf(e),v=d.keys,y=d.freeze,f=e=>(e=>!n(e)&&l(c(e),(e=>e==d.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>o(v(e)))(e),p=JSON.stringify,g=JSON.parse,h=e=>n(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),b=(e,t)=>null==e?void 0:e.forEach(t),S=(e,t)=>null==e?void 0:e.delete(t),w=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),P=(e,t,l)=>n(l)?(S(e,t),e):null==e?void 0:e.set(t,l),C=(e,t,n,l)=>{var r,o,i;return o=t,null!=(i=null==(r=e)?void 0:r.has(o))&&i?null==l||l(m(e,t)):P(e,t,n()),m(e,t)},A=(e,t,n,r,i=0)=>l((n?C:m)(e,t[i],i>o(t)-2?n:w),(l=>{if(i>o(t)-2)return(null==r?void 0:r(l))&&P(e,t[i]),l;const a=A(l,t,n,r,i+1);return h(l)&&P(e,t[i]),a})),L=e=>new Set(r(e)||n(e)?e:[e]),O=/^\d+$/;var x=Object.defineProperty,T=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const N=w(),k=w(),z=(e,t,d,c,v,p,g,x={},z=[])=>{let B,D,J,F=0,V=0,$=0;C(N,z,(()=>0)),C(k,z,(()=>[]));const q=w(),[G,H,K,Q,R]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:i("Store type not supported by this Persister"))(g,e),[U,W,X]=(()=>{let e;const[t,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?u(e):null)?l:""+t++},t=>{O.test(t)&&o(e)<1e3&&s(e,t)}]})(),i=w();return[(n,l,r,o=[],a=()=>[])=>{null!=e||(e=re);const s=t(1);var u,d;return P(i,s,[n,l,r,o,a]),d=s,null==(u=A(l,null!=r?r:[""],L))||u.add(d),s},(t,n,...l)=>a(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?s(n,e):null===t[r]?b(e,(e=>l(e,r+1))):a([t[r],null],(t=>l(m(e,t),r+1)));return l(e,0),n})(t,n),(t=>b(t,(t=>m(i,t)[0](e,...null!=n?n:[],...l))))),e=>l(m(i,e),(([,t,n])=>(A(t,null!=n?n:[""],void 0,(t=>(S(t,e),h(t)?1:0))),P(i,e),r(e),n))),t=>l(m(i,t),(([t,,l=[],r,i])=>{const s=(...u)=>{var d,c;const v=o(u);v==o(l)?t(e,...u,...i(u)):n(l[v])?a(null!=(c=null==(d=r[v])?void 0:d.call(r,...u))?c:[],(e=>s(...u,e))):s(...u,l[v])};s()}))]})(),Y=e=>{e!=F&&(F=e,W(q,void 0,F))},Z=t=>{(G&&r(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>I(void 0,null,(function*(){return 2!=F&&(Y(1),V++,yield le((()=>I(void 0,null,(function*(){try{const n=yield t();r(n)?Z(n):e?R(e):i("Content is not an array "+n)}catch(t){null==p||p(t),e&&R(e)}Y(0)}))))),re})),ee=()=>(D&&(v(D),D=void 0),re),te=e=>I(void 0,null,(function*(){return 1!=F&&(Y(2),$++,yield le((()=>I(void 0,null,(function*(){try{yield d(H,e)}catch(e){null==p||p(e)}Y(0)}))))),re})),ne=()=>(l(J,e.delListener),J=void 0,re),le=(...e)=>I(void 0,null,(function*(){return s(m(k,z),...e),yield I(void 0,null,(function*(){if(!m(N,z)){for(P(N,z,1);!n(B=u(m(k,z)));)try{yield B()}catch(e){null==p||p(e)}P(N,z,0)}})),re})),re=((e,t)=>{for(var n in t||(t={}))j.call(t,n)&&M(e,n,t[n]);if(T)for(var n of T(t))E.call(t,n)&&M(e,n,t[n]);return e})({load:_,startAutoLoad:e=>I(void 0,null,(function*(){yield ee().load(e);try{D=yield c(((e,t)=>I(void 0,null,(function*(){t||e?2!=F&&(Y(1),V++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==p||p(e)}return re})),stopAutoLoad:ee,isAutoLoading:()=>!n(D),save:te,startAutoSave:()=>I(void 0,null,(function*(){return yield ne().save(),J=e.addDidFinishTransactionListener((()=>{const e=K();Q(e)&&te(e)})),re})),stopAutoSave:ne,isAutoSaving:()=>!n(J),getStatus:()=>F,addStatusListener:e=>U(e,q),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(m(k,z).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:V,saves:$})},x);return y(re)};var B=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const D="storage",J=(e,n,l,r)=>z(e,(()=>B(void 0,null,(function*(){return e=l.getItem(n),g(e,((e,t)=>""===t?void 0:t));var e}))),(e=>B(void 0,null,(function*(){return l.setItem(n,(t=e(),p(t,((e,t)=>void 0===t?"":t))));var t}))),(e=>{const r=t=>{if(t.storageArea===l&&t.key===n)try{e(g(t.newValue))}catch(t){e()}};return t.addEventListener(D,r),r}),(e=>t.removeEventListener(D,e)),r,3,{getStorageName:()=>n});e.createLocalPersister=(e,t,n)=>J(e,t,localStorage,n),e.createSessionPersister=(e,t,n)=>J(e,t,sessionStorage,n)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=globalThis.window,n=e=>null==e,l=(e,t,l)=>n(e)?null==l?void 0:l():t(e),r=e=>Array.isArray(e),o=e=>e.length,i=e=>{throw Error(e)},a=(e,t)=>e.forEach(t),s=(e,...t)=>e.push(...t),u=e=>e.shift(),d=Object,c=e=>d.getPrototypeOf(e),v=d.keys,y=d.freeze,f=e=>(e=>!n(e)&&l(c(e),(e=>e==d.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>o(v(e)))(e),p=JSON.stringify,g=JSON.parse,h=e=>n(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),b=(e,t)=>null==e?void 0:e.forEach(t),S=(e,t)=>null==e?void 0:e.delete(t),w=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),P=(e,t,l)=>n(l)?(S(e,t),e):null==e?void 0:e.set(t,l),C=(e,t,n,l)=>{var r,o,i;return o=t,null!=(i=null==(r=e)?void 0:r.has(o))&&i?null==l||l(m(e,t)):P(e,t,n()),m(e,t)},A=(e,t,n,r,i=0)=>l((n?C:m)(e,t[i],i>o(t)-2?n:w),(l=>{if(i>o(t)-2)return(null==r?void 0:r(l))&&P(e,t[i]),l;const a=A(l,t,n,r,i+1);return h(l)&&P(e,t[i]),a})),L=e=>new Set(r(e)||n(e)?e:[e]),O=/^\d+$/;var x=Object.defineProperty,T=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const N=w(),k=w(),z=(e,t,d,c,v,p,g,x={},z=[])=>{let B,D,J,F=0,V=0,$=0;C(N,z,(()=>0)),C(k,z,(()=>[]));const q=w(),[G,H,K,Q,R]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:i("Store type not supported by this Persister"))(g,e),[U,W,X]=(()=>{let e;const[t,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?u(e):null)?l:""+t++},t=>{O.test(t)&&o(e)<1e3&&s(e,t)}]})(),i=w();return[(n,l,r,o=[],a=()=>[])=>{null!=e||(e=re);const s=t(1);var u,d;return P(i,s,[n,l,r,o,a]),d=s,null==(u=A(l,null!=r?r:[""],L))||u.add(d),s},(t,n,...l)=>a(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?s(n,e):null===t[r]?b(e,(e=>l(e,r+1))):a([t[r],null],(t=>l(m(e,t),r+1)));return l(e,0),n})(t,n),(t=>b(t,(t=>m(i,t)[0](e,...null!=n?n:[],...l))))),e=>l(m(i,e),(([,t,n])=>(A(t,null!=n?n:[""],void 0,(t=>(S(t,e),h(t)?1:0))),P(i,e),r(e),n))),t=>l(m(i,t),(([t,,l=[],r,i])=>{const s=(...u)=>{var d,c;const v=o(u);v==o(l)?t(e,...u,...i(u)):n(l[v])?a(null!=(c=null==(d=r[v])?void 0:d.call(r,...u))?c:[],(e=>s(...u,e))):s(...u,l[v])};s()}))]})(),Y=e=>{e!=F&&(F=e,W(q,void 0,F))},Z=t=>{(G&&r(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>I(void 0,null,(function*(){return 2!=F&&(Y(1),V++,yield le((()=>I(void 0,null,(function*(){try{const e=yield t();r(e)?Z(e):i("Content is not an array "+e)}catch(t){null==p||p(t),e&&R(e)}Y(0)}))))),re})),ee=()=>(D&&(v(D),D=void 0),re),te=e=>I(void 0,null,(function*(){return 1!=F&&(Y(2),$++,yield le((()=>I(void 0,null,(function*(){try{yield d(H,e)}catch(e){null==p||p(e)}Y(0)}))))),re})),ne=()=>(l(J,e.delListener),J=void 0,re),le=(...e)=>I(void 0,null,(function*(){return s(m(k,z),...e),yield I(void 0,null,(function*(){if(!m(N,z)){for(P(N,z,1);!n(B=u(m(k,z)));)try{yield B()}catch(e){null==p||p(e)}P(N,z,0)}})),re})),re=((e,t)=>{for(var n in t||(t={}))j.call(t,n)&&M(e,n,t[n]);if(T)for(var n of T(t))E.call(t,n)&&M(e,n,t[n]);return e})({load:_,startAutoLoad:e=>I(void 0,null,(function*(){yield ee().load(e);try{D=yield c(((e,t)=>I(void 0,null,(function*(){t||e?2!=F&&(Y(1),V++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==p||p(e)}return re})),stopAutoLoad:ee,isAutoLoading:()=>!n(D),save:te,startAutoSave:()=>I(void 0,null,(function*(){return yield ne().save(),J=e.addDidFinishTransactionListener((()=>{const e=K();Q(e)&&te(e)})),re})),stopAutoSave:ne,isAutoSaving:()=>!n(J),getStatus:()=>F,addStatusListener:e=>U(e,q),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(m(k,z).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:V,saves:$})},x);return y(re)};var B=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const D="storage",J=(e,n,l,r)=>z(e,(()=>B(void 0,null,(function*(){return e=l.getItem(n),g(e,((e,t)=>""===t?void 0:t));var e}))),(e=>B(void 0,null,(function*(){return l.setItem(n,(t=e(),p(t,((e,t)=>void 0===t?"":t))));var t}))),(e=>{const r=t=>{if(t.storageArea===l&&t.key===n)try{e(g(t.newValue))}catch(t){e()}};return t.addEventListener(D,r),r}),(e=>t.removeEventListener(D,e)),r,3,{getStorageName:()=>n});e.createLocalPersister=(e,t,n)=>J(e,t,localStorage,n),e.createSessionPersister=(e,t,n)=>J(e,t,sessionStorage,n)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=globalThis.window,n=e=>null==e,l=(e,t,l)=>n(e)?null==l?void 0:l():t(e),r=e=>Array.isArray(e),o=e=>e.length,i=e=>{throw Error(e)},a=(e,t)=>e.forEach(t),s=(e,...t)=>e.push(...t),u=e=>e.shift(),d=Object,c=e=>d.getPrototypeOf(e),v=d.keys,y=d.freeze,f=e=>(e=>!n(e)&&l(c(e),(e=>e==d.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>o(v(e)))(e),p=JSON.stringify,g=JSON.parse,h=e=>n(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),b=(e,t)=>null==e?void 0:e.forEach(t),S=(e,t)=>null==e?void 0:e.delete(t),w=e=>new Map(e),m=(e,t)=>null==e?void 0:e.get(t),P=(e,t,l)=>n(l)?(S(e,t),e):null==e?void 0:e.set(t,l),C=(e,t,n,l)=>{var r,o,i;return o=t,null!=(i=null==(r=e)?void 0:r.has(o))&&i?null==l||l(m(e,t)):P(e,t,n()),m(e,t)},A=(e,t,n,r,i=0)=>l((n?C:m)(e,t[i],i>o(t)-2?n:w),(l=>{if(i>o(t)-2)return(null==r?void 0:r(l))&&P(e,t[i]),l;const a=A(l,t,n,r,i+1);return h(l)&&P(e,t[i]),a})),L=e=>new Set(r(e)||n(e)?e:[e]),O=/^\d+$/;var x=Object.defineProperty,T=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const N=w(),k=w(),z=(e,t,d,c,v,p,g,x={},z=[])=>{let B,D,J,F=0,V=0,$=0;C(N,z,(()=>0)),C(k,z,(()=>[]));const q=w(),[G,H,K,Q,R]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:i("Store type not supported by this Persister"))(g,e),[U,W,X]=(()=>{let e;const[t,r]=(()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?u(e):null)?l:""+t++},t=>{O.test(t)&&o(e)<1e3&&s(e,t)}]})(),i=w();return[(n,l,r,o=[],a=()=>[])=>{null!=e||(e=re);const s=t(1);var u,d;return P(i,s,[n,l,r,o,a]),d=s,null==(u=A(l,null!=r?r:[""],L))||u.add(d),s},(t,n,...l)=>a(((e,t=[""])=>{const n=[],l=(e,r)=>r==o(t)?s(n,e):null===t[r]?b(e,(e=>l(e,r+1))):a([t[r],null],(t=>l(m(e,t),r+1)));return l(e,0),n})(t,n),(t=>b(t,(t=>m(i,t)[0](e,...null!=n?n:[],...l))))),e=>l(m(i,e),(([,t,n])=>(A(t,null!=n?n:[""],void 0,(t=>(S(t,e),h(t)?1:0))),P(i,e),r(e),n))),t=>l(m(i,t),(([t,,l=[],r,i])=>{const s=(...u)=>{var d,c;const v=o(u);v==o(l)?t(e,...u,...i(u)):n(l[v])?a(null!=(c=null==(d=r[v])?void 0:d.call(r,...u))?c:[],(e=>s(...u,e))):s(...u,l[v])};s()}))]})(),Y=e=>{e!=F&&(F=e,W(q,void 0,F))},Z=t=>{(G&&r(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},_=e=>I(void 0,null,(function*(){return 2!=F&&(Y(1),V++,yield le((()=>I(void 0,null,(function*(){try{const n=yield t();r(n)?Z(n):e?R(e):i("Content is not an array "+n)}catch(t){null==p||p(t),e&&R(e)}Y(0)}))))),re})),ee=()=>(D&&(v(D),D=void 0),re),te=e=>I(void 0,null,(function*(){return 1!=F&&(Y(2),$++,yield le((()=>I(void 0,null,(function*(){try{yield d(H,e)}catch(e){null==p||p(e)}Y(0)}))))),re})),ne=()=>(l(J,e.delListener),J=void 0,re),le=(...e)=>I(void 0,null,(function*(){return s(m(k,z),...e),yield I(void 0,null,(function*(){if(!m(N,z)){for(P(N,z,1);!n(B=u(m(k,z)));)try{yield B()}catch(e){null==p||p(e)}P(N,z,0)}})),re})),re=((e,t)=>{for(var n in t||(t={}))j.call(t,n)&&M(e,n,t[n]);if(T)for(var n of T(t))E.call(t,n)&&M(e,n,t[n]);return e})({load:_,startAutoLoad:e=>I(void 0,null,(function*(){yield ee().load(e);try{D=yield c(((e,t)=>I(void 0,null,(function*(){t||e?2!=F&&(Y(1),V++,Z(null!=t?t:e),Y(0)):yield _()}))))}catch(e){null==p||p(e)}return re})),stopAutoLoad:ee,isAutoLoading:()=>!n(D),save:te,startAutoSave:()=>I(void 0,null,(function*(){return yield ne().save(),J=e.addDidFinishTransactionListener((()=>{const e=K();Q(e)&&te(e)})),re})),stopAutoSave:ne,isAutoSaving:()=>!n(J),getStatus:()=>F,addStatusListener:e=>U(e,q),delListener:t=>(X(t),e),schedule:le,getStore:()=>e,destroy:()=>(m(k,z).splice(0,void 0),ee().stopAutoSave()),getStats:()=>({loads:V,saves:$})},x);return y(re)};var B=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,t)).next())}));const D="storage",J=(e,n,l,r)=>z(e,(()=>B(void 0,null,(function*(){return e=l.getItem(n),g(e,((e,t)=>""===t?void 0:t));var e}))),(e=>B(void 0,null,(function*(){return l.setItem(n,(t=e(),p(t,((e,t)=>void 0===t?"":t))));var t}))),(e=>{const r=t=>{if(t.storageArea===l&&t.key===n)try{e(g(t.newValue))}catch(t){e()}};return t.addEventListener(D,r),r}),(e=>t.removeEventListener(D,e)),r,3,{getStorageName:()=>n});e.createLocalPersister=(e,t,n)=>J(e,t,localStorage,n),e.createSessionPersister=(e,t,n)=>J(e,t,sessionStorage,n)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l="",o=",",r=n(l),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),s=e=>n(e)==r,c=e=>Array.isArray(e),v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},p=e=>{throw Error(e)},h=(e,n)=>e.forEach(n),m=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),E=e=>0==y(e),b=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),O=e=>e.shift(),A="_",w="_id",S="SELECT",N="WHERE",T="TABLE",$="ALTER "+T,x="DELETE FROM",C=S+"*FROM",I="pragma_",L="data_version",D="schema_version",R="pragma_table_",M=e=>`"${e.replace(/"/g,'""')}"`,_=(e,n=[1])=>m(g(e,(()=>"$"+n[0]++)),o),j=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},F=e=>a(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),U=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},B=(e,n)=>null==e?void 0:e.forEach(n),J=(e,n)=>null==e?void 0:e.delete(n),W=Object,Y=e=>W.getPrototypeOf(e),k=W.entries,q=W.keys,z=W.freeze,G=(e=[])=>W.fromEntries(e),H=(...e)=>W.assign({},...e),K=(e,n)=>(delete e[n],e),Q=(e,n)=>g(k(e),(([e,t])=>n(t,e))),V=e=>W.values(e),X=e=>y(q(e)),Z=e=>(e=>!a(e)&&d(Y(e),(e=>e==W.prototype||a(Y(e))),(()=>!0)))(e)&&0==X(e),ee=JSON.stringify,ne=JSON.parse,te=e=>new Map(e),le=(e,n)=>null==e?void 0:e.get(n),oe=(e,n)=>{var t;return g([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},re=(e,n,t)=>a(t)?(J(e,n),e):null==e?void 0:e.set(n,t),ie=(e,n,t,l)=>(j(e,n)?null==l||l(le(e,n)):re(e,n,t()),le(e,n)),ue=(e,n,t,l,o=0)=>d((t?ie:le)(e,n[o],o>y(n)-2?t:te),(r=>{if(o>y(n)-2)return(null==l?void 0:l(r))&&re(e,n[o]),r;const i=ue(r,n,t,l,o+1);return F(r)&&re(e,n[o]),i})),ae=e=>new Set(c(e)||a(e)?e:[e]),de=(e,n)=>null==e?void 0:e.add(n),se=/^\d+$/;var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,he=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const me=te(),ge=te(),Ee=(e,n,t,o,r,i,u,s={},v=[])=>{let f,m,g,E=0,b=0,A=0;ie(me,v,(()=>0)),ie(ge,v,(()=>[]));const w=te(),[S,N,T,$,x]=((e=1,n)=>1!=e&&n.isMergeable()?[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!Z(e)||!Z(n),n.setDefaultContent]:2!=e?[0,n.getContent,n.getTransactionChanges,([e,n])=>!Z(e)||!Z(n),n.setContent]:p("Store type not supported by this Persister"))(u,e),[C,I,L]=(()=>{let e;const[n,t]=(()=>{const e=[];let n=0;return[t=>{var o;return null!=(o=t?O(e):null)?o:l+n++},n=>{se.test(n)&&y(e)<1e3&&P(e,n)}]})(),o=te();return[(t,r,i,u=[],a=()=>[])=>{null!=e||(e=Y);const d=n(1);return re(o,d,[t,r,i,u,a]),de(ue(r,null!=i?i:[l],ae),d),d},(n,t,...r)=>h(((e,n=[l])=>{const t=[],o=(e,l)=>l==y(n)?P(t,e):null===n[l]?B(e,(e=>o(e,l+1))):h([n[l],null],(n=>o(le(e,n),l+1)));return o(e,0),t})(n,t),(n=>B(n,(n=>le(o,n)[0](e,...null!=t?t:[],...r))))),e=>d(le(o,e),(([,n,r])=>(ue(n,null!=r?r:[l],void 0,(n=>(J(n,e),F(n)?1:0))),re(o,e),t(e),r))),n=>d(le(o,n),(([n,,t=[],l,o])=>{const r=(...i)=>{var u,d;const s=y(i);s==y(t)?n(e,...i,...o(i)):a(t[s])?h(null!=(d=null==(u=l[s])?void 0:u.call(l,...i))?d:[],(e=>r(...i,e))):r(...i,t[s])};r()}))]})(),D=e=>{e!=E&&(E=e,I(w,void 0,E))},R=n=>{(S&&c(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},M=e=>he(void 0,null,(function*(){return 2!=E&&(D(1),b++,yield W((()=>he(void 0,null,(function*(){try{const e=yield n();c(e)?R(e):p("Content is not an array "+e)}catch(n){null==i||i(n),e&&x(e)}D(0)}))))),Y})),_=()=>(m&&(r(m),m=void 0),Y),j=e=>he(void 0,null,(function*(){return 1!=E&&(D(2),A++,yield W((()=>he(void 0,null,(function*(){try{yield t(N,e)}catch(e){null==i||i(e)}D(0)}))))),Y})),U=()=>(d(g,e.delListener),g=void 0,Y),W=(...e)=>he(void 0,null,(function*(){return P(le(ge,v),...e),yield he(void 0,null,(function*(){if(!le(me,v)){for(re(me,v,1);!a(f=O(le(ge,v)));)try{yield f()}catch(e){null==i||i(e)}re(me,v,0)}})),Y})),Y=((e,n)=>{for(var t in n||(n={}))ye.call(n,t)&&pe(e,t,n[t]);if(ve)for(var t of ve(n))fe.call(n,t)&&pe(e,t,n[t]);return e})({load:M,startAutoLoad:e=>he(void 0,null,(function*(){yield _().load(e);try{m=yield o(((e,n)=>he(void 0,null,(function*(){n||e?2!=E&&(D(1),b++,R(null!=n?n:e),D(0)):yield M()}))))}catch(e){null==i||i(e)}return Y})),stopAutoLoad:_,isAutoLoading:()=>!a(m),save:j,startAutoSave:()=>he(void 0,null,(function*(){return yield U().save(),g=e.addDidFinishTransactionListener((()=>{const e=T();$(e)&&j(e)})),Y})),stopAutoSave:U,isAutoSaving:()=>!a(g),getStatus:()=>E,addStatusListener:e=>C(e,w),delListener:n=>(L(n),e),schedule:W,getStore:()=>e,destroy:()=>(le(ge,v).splice(0,void 0),_().stopAutoSave()),getStats:()=>({loads:b,saves:A})},s);return z(Y)};var be=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Pe=(e,n,t,l,r,i=Oe,u,d)=>{const s=te();return[()=>be(void 0,null,(function*(){s.clear(),g(yield t(e,n),(({tn:e,cn:n})=>de(ie(s,e,ae),n)))})),(n,t)=>be(void 0,null,(function*(){return((e,n)=>j(le(s,e),n))(n,t)?G(b(g(yield e(C+M(n)),(e=>{return[e[t],d?(n=K(e,t),l=d,G(Q(n,((e,n)=>[n,l(e,n)])))):K(e,t)];var n,l})),(([e,n])=>!a(e)&&!Z(n)))):{}})),(n,t,l,d,c,v=!1)=>be(void 0,null,(function*(){const y=ae();Q(null!=l?l:{},(e=>g(q(null!=e?e:{}),(e=>de(y,e)))));const p=U(y);if(!v&&c&&E(p)&&j(s,n))return yield e("DROP "+T+M(n)),void re(s,n);const h=le(s,n),O=ae(U(h));if(E(p)||(j(s,n)?yield f(g([t,...p],((l,o)=>be(void 0,null,(function*(){J(O,l)||(yield e($+M(n)+"ADD"+M(l)+r),0==o&&(yield e("CREATE UNIQUE INDEX pk ON "+M(n)+`(${M(t)})`)),de(h,l))}))))):(yield e("CREATE "+T+M(n)+`(${M(t)}${r} PRIMARY KEY${m(g(p,(e=>o+M(e)+r)))});`),re(s,n,ae([t,...p])))),yield f([...!v&&d?g(U(O),(l=>be(void 0,null,(function*(){l!=t&&(yield e($+M(n)+"DROP"+M(l)),J(h,l))})))):[]]),v)a(l)?yield e(x+M(n)+N+" true"):yield f(Q(l,((l,o)=>be(void 0,null,(function*(){a(l)?yield e(x+M(n)+N+M(t)+"=$1",[o]):E(p)||(yield i(e,n,t,q(l),{[o]:u?g(V(l),u):V(l)},h))})))));else if(E(p))j(s,n)&&(yield e(x+M(n)+N+" true"));else{const o=b(U(le(s,n)),(e=>e!=t)),r={},a=[];Q(null!=l?l:{},((e,n)=>{r[n]=g(o,(n=>u?u(null==e?void 0:e[n]):null==e?void 0:e[n])),P(a,n)})),yield i(e,n,t,o,r),yield e(x+M(n)+N+M(t)+`NOT IN(${_(a)})`,a)}})),n=>be(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},Oe=(e,n,t,l,r)=>be(void 0,null,(function*(){const i=[1];yield e("INSERT INTO"+M(n)+"("+((...e)=>m(g(e,M),o))(t,...l)+")VALUES"+m(Q(r,(e=>"($"+i[0]+++","+_(e,i)+")")),o)+"ON CONFLICT("+M(t)+")DO UPDATE SET"+m(g(l,(e=>M(e)+"=excluded."+M(e))),o),Q(r,((e,n)=>[n,...g(e,(e=>null!=e?e:null))])).flat())}));var Ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const we=(e,n,t,l,o,r,i,[u,a,d],s,c,v,y,f,p)=>{const[h,m,g,E]=Pe(n,s,c,o,f,p),b=Ee(e,(()=>Ae(void 0,null,(function*(){return yield E((()=>Ae(void 0,null,(function*(){var e,n,t;return yield h(),t=null!=(n=null==(e=(yield m(u,a))[A])?void 0:e[d])?n:"null",ne(t,((e,n)=>""===n?void 0:n))}))))}))),(e=>Ae(void 0,null,(function*(){return yield E((()=>Ae(void 0,null,(function*(){var n,t;yield h(),yield g(u,a,{[A]:{[d]:(t=null!=(n=e())?n:null,ee(t,((e,n)=>void 0===n?"":n)))}},!0,!0)}))))}))),t,l,o,i,{[y]:()=>v,destroy:()=>(b.stopAutoLoad().stopAutoSave(),r(),b)},v);return b};var Se=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ne=(e,n,t,l,o,r,i,[u,d,[s,c,v]],y,p,h,m,g,E,P,O)=>{const[S,N,T,$]=Pe(n,y,p,o,g,E,P,O),x=(e,n)=>Se(void 0,null,(function*(){return yield f(oe(d,((t,l)=>Se(void 0,[t,l],(function*([t,l,o,r],i){n&&!(i in e)||(yield T(t,l,e[i],o,r,n))})))))})),C=(e,n)=>Se(void 0,null,(function*(){return c?yield T(v,w,{[A]:e},!0,!0,n):null})),I=Ee(e,(()=>Se(void 0,null,(function*(){return yield $((()=>Se(void 0,null,(function*(){yield S();const e=yield Se(void 0,null,(function*(){return G(b(yield f(oe(u,((e,n)=>Se(void 0,[e,n],(function*([e,n],t){return[e,yield N(t,n)]}))))),(e=>!Z(e[1]))))})),n=yield Se(void 0,null,(function*(){return s?(yield N(v,w))[A]:{}}));return Z(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>Se(void 0,null,(function*(){return yield $((()=>Se(void 0,null,(function*(){if(yield S(),a(n)){const[n,t]=e();yield x(n),yield C(t)}else yield x(n[0],!0),yield C(n[1],!0)}))))}))),t,l,o,i,{[m]:()=>h,destroy:()=>(I.stopAutoLoad().stopAutoSave(),r(),I)},h);return I},Te="ColumnName",$e="store",xe="json",Ce=$e+"TableName",Ie=$e+"Id"+Te,Le=$e+Te,De="autoLoadIntervalSeconds",Re="rowId"+Te,Me="tableId",_e="tableName",je="deleteEmptyColumns",Fe="deleteEmptyTable",Ue={mode:xe,[De]:1},Be={load:0,save:0,[_e]:t+"_values"},Je=(e,n,t,l,o)=>{const r=te();return Q(e,((e,i)=>{const u=v(V(H(n,s(e)?{[t]:e}:e)),0,X(n));a(u[0])||l(i,u[0])||(o(i,u[0]),re(r,i,u))})),r};var We=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ye=(e,n,o,r,i,a,d,c,y,f,p="getDb",h)=>{let m,g,E;const b=((e,n)=>n?(t,l)=>{return o=function*(){return n(t,l),yield e(t,l)},new Promise(((e,n)=>{var t=e=>{try{r(o.next(e))}catch(e){n(e)}},l=e=>{try{r(o.throw(e))}catch(e){n(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,l);r((o=o.apply(void 0,null)).next())}));var o}:e)(o,a),[P,O,A,T]=(e=>{var n,l,o;const r=(e=>H(Ue,s(e)?{[Ce]:e}:null!=e?e:{}))(e),i=r[De];if(r.mode==xe){const e=null!=(n=r[Ce])?n:t;return[1,i,[e,null!=(l=r[Ie])?l:w,null!=(o=r[Le])?o:$e],ae(e)]}const{tables:{load:u={},save:a={}}={},values:d={}}=r,c=v(V(H(Be,d)),0,X(Be)),y=c[2],f=ae(y),p=ae(y);return[0,i,[Je(u,{[Me]:null,[Re]:w},Me,(e=>j(p,e)),(e=>de(f,e))),Je(a,{[_e]:null,[Re]:w,[je]:0,[Fe]:0},_e,((e,n)=>j(p,n)),((e,n)=>de(f,n))),c],f]})(n);return(P?we:Ne)(e,b,(e=>{let n;const t=()=>n=setInterval((()=>We(void 0,null,(function*(){try{const[{d:n,s:t,c:l}]=yield b(`${S} ${L} d,${D} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${D}`);n==m&&t==g&&l==E||(null!=m&&e(),m=n,g=t,E=l)}catch(e){}}))),1e3*O),l=()=>{m=g=E=null,u(n)},o=r((n=>{T.has(n)&&(l(),e(),t())}));return t(),()=>{l(),i(o)}}),(e=>e()),d,c,y,A,U(T),((e,n)=>We(void 0,null,(function*(){return yield e(`${S} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${N} t.schema='main'AND t.type IN('table','view')AND t.name IN(${_(n)})ORDER BY t.name,c.name`,n)}))),f,p,l,h,(e=>!0===e?1:!1===e?0:e),void 0)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>Ye(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,o,(()=>0),1,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="tinybase",l="",o=",",r=n(l),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,t)=>a(e)?null==t?void 0:t():n(e),s=e=>n(e)==r,c=e=>Array.isArray(e),v=(e,n,t)=>e.slice(n,t),y=e=>e.length,f=e=>{return n=function*(){return i.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},p=e=>{throw Error(e)},h=(e,n)=>e.forEach(n),m=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),E=e=>0==y(e),b=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),O=e=>e.shift(),A="_",w="_id",S="SELECT",N="WHERE",T="TABLE",$="ALTER "+T,x="DELETE FROM",C=S+"*FROM",I="pragma_",L="data_version",D="schema_version",R="pragma_table_",M=e=>`"${e.replace(/"/g,'""')}"`,_=(e,n=[1])=>m(g(e,(()=>"$"+n[0]++)),o),j=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},F=e=>a(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),U=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},B=(e,n)=>null==e?void 0:e.forEach(n),J=(e,n)=>null==e?void 0:e.delete(n),W=Object,Y=e=>W.getPrototypeOf(e),k=W.entries,q=W.keys,z=W.freeze,G=(e=[])=>W.fromEntries(e),H=(...e)=>W.assign({},...e),K=(e,n)=>(delete e[n],e),Q=(e,n)=>g(k(e),(([e,t])=>n(t,e))),V=e=>W.values(e),X=e=>y(q(e)),Z=e=>(e=>!a(e)&&d(Y(e),(e=>e==W.prototype||a(Y(e))),(()=>!0)))(e)&&0==X(e),ee=JSON.stringify,ne=JSON.parse,te=e=>new Map(e),le=(e,n)=>null==e?void 0:e.get(n),oe=(e,n)=>{var t;return g([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},re=(e,n,t)=>a(t)?(J(e,n),e):null==e?void 0:e.set(n,t),ie=(e,n,t,l)=>(j(e,n)?null==l||l(le(e,n)):re(e,n,t()),le(e,n)),ue=(e,n,t,l,o=0)=>d((t?ie:le)(e,n[o],o>y(n)-2?t:te),(r=>{if(o>y(n)-2)return(null==l?void 0:l(r))&&re(e,n[o]),r;const i=ue(r,n,t,l,o+1);return F(r)&&re(e,n[o]),i})),ae=e=>new Set(c(e)||a(e)?e:[e]),de=(e,n)=>null==e?void 0:e.add(n),se=/^\d+$/;var ce=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,he=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const me=te(),ge=te(),Ee=(e,n,t,o,r,i,u,s={},v=[])=>{let f,m,g,E=0,b=0,A=0;ie(me,v,(()=>0)),ie(ge,v,(()=>[]));const w=te(),[S,N,T,$,x]=((e=1,n)=>1!=e&&n.isMergeable()?[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!Z(e)||!Z(n),n.setDefaultContent]:2!=e?[0,n.getContent,n.getTransactionChanges,([e,n])=>!Z(e)||!Z(n),n.setContent]:p("Store type not supported by this Persister"))(u,e),[C,I,L]=(()=>{let e;const[n,t]=(()=>{const e=[];let n=0;return[t=>{var o;return null!=(o=t?O(e):null)?o:l+n++},n=>{se.test(n)&&y(e)<1e3&&P(e,n)}]})(),o=te();return[(t,r,i,u=[],a=()=>[])=>{null!=e||(e=Y);const d=n(1);return re(o,d,[t,r,i,u,a]),de(ue(r,null!=i?i:[l],ae),d),d},(n,t,...r)=>h(((e,n=[l])=>{const t=[],o=(e,l)=>l==y(n)?P(t,e):null===n[l]?B(e,(e=>o(e,l+1))):h([n[l],null],(n=>o(le(e,n),l+1)));return o(e,0),t})(n,t),(n=>B(n,(n=>le(o,n)[0](e,...null!=t?t:[],...r))))),e=>d(le(o,e),(([,n,r])=>(ue(n,null!=r?r:[l],void 0,(n=>(J(n,e),F(n)?1:0))),re(o,e),t(e),r))),n=>d(le(o,n),(([n,,t=[],l,o])=>{const r=(...i)=>{var u,d;const s=y(i);s==y(t)?n(e,...i,...o(i)):a(t[s])?h(null!=(d=null==(u=l[s])?void 0:u.call(l,...i))?d:[],(e=>r(...i,e))):r(...i,t[s])};r()}))]})(),D=e=>{e!=E&&(E=e,I(w,void 0,E))},R=n=>{(S&&c(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},M=e=>he(void 0,null,(function*(){return 2!=E&&(D(1),b++,yield W((()=>he(void 0,null,(function*(){try{const t=yield n();c(t)?R(t):e?x(e):p("Content is not an array "+t)}catch(n){null==i||i(n),e&&x(e)}D(0)}))))),Y})),_=()=>(m&&(r(m),m=void 0),Y),j=e=>he(void 0,null,(function*(){return 1!=E&&(D(2),A++,yield W((()=>he(void 0,null,(function*(){try{yield t(N,e)}catch(e){null==i||i(e)}D(0)}))))),Y})),U=()=>(d(g,e.delListener),g=void 0,Y),W=(...e)=>he(void 0,null,(function*(){return P(le(ge,v),...e),yield he(void 0,null,(function*(){if(!le(me,v)){for(re(me,v,1);!a(f=O(le(ge,v)));)try{yield f()}catch(e){null==i||i(e)}re(me,v,0)}})),Y})),Y=((e,n)=>{for(var t in n||(n={}))ye.call(n,t)&&pe(e,t,n[t]);if(ve)for(var t of ve(n))fe.call(n,t)&&pe(e,t,n[t]);return e})({load:M,startAutoLoad:e=>he(void 0,null,(function*(){yield _().load(e);try{m=yield o(((e,n)=>he(void 0,null,(function*(){n||e?2!=E&&(D(1),b++,R(null!=n?n:e),D(0)):yield M()}))))}catch(e){null==i||i(e)}return Y})),stopAutoLoad:_,isAutoLoading:()=>!a(m),save:j,startAutoSave:()=>he(void 0,null,(function*(){return yield U().save(),g=e.addDidFinishTransactionListener((()=>{const e=T();$(e)&&j(e)})),Y})),stopAutoSave:U,isAutoSaving:()=>!a(g),getStatus:()=>E,addStatusListener:e=>C(e,w),delListener:n=>(L(n),e),schedule:W,getStore:()=>e,destroy:()=>(le(ge,v).splice(0,void 0),_().stopAutoSave()),getStats:()=>({loads:b,saves:A})},s);return z(Y)};var be=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Pe=(e,n,t,l,r,i=Oe,u,d)=>{const s=te();return[()=>be(void 0,null,(function*(){s.clear(),g(yield t(e,n),(({tn:e,cn:n})=>de(ie(s,e,ae),n)))})),(n,t)=>be(void 0,null,(function*(){return((e,n)=>j(le(s,e),n))(n,t)?G(b(g(yield e(C+M(n)),(e=>{return[e[t],d?(n=K(e,t),l=d,G(Q(n,((e,n)=>[n,l(e,n)])))):K(e,t)];var n,l})),(([e,n])=>!a(e)&&!Z(n)))):{}})),(n,t,l,d,c,v=!1)=>be(void 0,null,(function*(){const y=ae();Q(null!=l?l:{},(e=>g(q(null!=e?e:{}),(e=>de(y,e)))));const p=U(y);if(!v&&c&&E(p)&&j(s,n))return yield e("DROP "+T+M(n)),void re(s,n);const h=le(s,n),O=ae(U(h));if(E(p)||(j(s,n)?yield f(g([t,...p],((l,o)=>be(void 0,null,(function*(){J(O,l)||(yield e($+M(n)+"ADD"+M(l)+r),0==o&&(yield e("CREATE UNIQUE INDEX pk ON "+M(n)+`(${M(t)})`)),de(h,l))}))))):(yield e("CREATE "+T+M(n)+`(${M(t)}${r} PRIMARY KEY${m(g(p,(e=>o+M(e)+r)))});`),re(s,n,ae([t,...p])))),yield f([...!v&&d?g(U(O),(l=>be(void 0,null,(function*(){l!=t&&(yield e($+M(n)+"DROP"+M(l)),J(h,l))})))):[]]),v)a(l)?yield e(x+M(n)+N+" true"):yield f(Q(l,((l,o)=>be(void 0,null,(function*(){a(l)?yield e(x+M(n)+N+M(t)+"=$1",[o]):E(p)||(yield i(e,n,t,q(l),{[o]:u?g(V(l),u):V(l)},h))})))));else if(E(p))j(s,n)&&(yield e(x+M(n)+N+" true"));else{const o=b(U(le(s,n)),(e=>e!=t)),r={},a=[];Q(null!=l?l:{},((e,n)=>{r[n]=g(o,(n=>u?u(null==e?void 0:e[n]):null==e?void 0:e[n])),P(a,n)})),yield i(e,n,t,o,r),yield e(x+M(n)+N+M(t)+`NOT IN(${_(a)})`,a)}})),n=>be(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},Oe=(e,n,t,l,r)=>be(void 0,null,(function*(){const i=[1];yield e("INSERT INTO"+M(n)+"("+((...e)=>m(g(e,M),o))(t,...l)+")VALUES"+m(Q(r,(e=>"($"+i[0]+++","+_(e,i)+")")),o)+"ON CONFLICT("+M(t)+")DO UPDATE SET"+m(g(l,(e=>M(e)+"=excluded."+M(e))),o),Q(r,((e,n)=>[n,...g(e,(e=>null!=e?e:null))])).flat())}));var Ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const we=(e,n,t,l,o,r,i,[u,a,d],s,c,v,y,f,p)=>{const[h,m,g,E]=Pe(n,s,c,o,f,p),b=Ee(e,(()=>Ae(void 0,null,(function*(){return yield E((()=>Ae(void 0,null,(function*(){var e,n,t;return yield h(),t=null!=(n=null==(e=(yield m(u,a))[A])?void 0:e[d])?n:"null",ne(t,((e,n)=>""===n?void 0:n))}))))}))),(e=>Ae(void 0,null,(function*(){return yield E((()=>Ae(void 0,null,(function*(){var n,t;yield h(),yield g(u,a,{[A]:{[d]:(t=null!=(n=e())?n:null,ee(t,((e,n)=>void 0===n?"":n)))}},!0,!0)}))))}))),t,l,o,i,{[y]:()=>v,destroy:()=>(b.stopAutoLoad().stopAutoSave(),r(),b)},v);return b};var Se=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ne=(e,n,t,l,o,r,i,[u,d,[s,c,v]],y,p,h,m,g,E,P,O)=>{const[S,N,T,$]=Pe(n,y,p,o,g,E,P,O),x=(e,n)=>Se(void 0,null,(function*(){return yield f(oe(d,((t,l)=>Se(void 0,[t,l],(function*([t,l,o,r],i){n&&!(i in e)||(yield T(t,l,e[i],o,r,n))})))))})),C=(e,n)=>Se(void 0,null,(function*(){return c?yield T(v,w,{[A]:e},!0,!0,n):null})),I=Ee(e,(()=>Se(void 0,null,(function*(){return yield $((()=>Se(void 0,null,(function*(){yield S();const e=yield Se(void 0,null,(function*(){return G(b(yield f(oe(u,((e,n)=>Se(void 0,[e,n],(function*([e,n],t){return[e,yield N(t,n)]}))))),(e=>!Z(e[1]))))})),n=yield Se(void 0,null,(function*(){return s?(yield N(v,w))[A]:{}}));return Z(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>Se(void 0,null,(function*(){return yield $((()=>Se(void 0,null,(function*(){if(yield S(),a(n)){const[n,t]=e();yield x(n),yield C(t)}else yield x(n[0],!0),yield C(n[1],!0)}))))}))),t,l,o,i,{[m]:()=>h,destroy:()=>(I.stopAutoLoad().stopAutoSave(),r(),I)},h);return I},Te="ColumnName",$e="store",xe="json",Ce=$e+"TableName",Ie=$e+"Id"+Te,Le=$e+Te,De="autoLoadIntervalSeconds",Re="rowId"+Te,Me="tableId",_e="tableName",je="deleteEmptyColumns",Fe="deleteEmptyTable",Ue={mode:xe,[De]:1},Be={load:0,save:0,[_e]:t+"_values"},Je=(e,n,t,l,o)=>{const r=te();return Q(e,((e,i)=>{const u=v(V(H(n,s(e)?{[t]:e}:e)),0,X(n));a(u[0])||l(i,u[0])||(o(i,u[0]),re(r,i,u))})),r};var We=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Ye=(e,n,o,r,i,a,d,c,y,f,p="getDb",h)=>{let m,g,E;const b=((e,n)=>n?(t,l)=>{return o=function*(){return n(t,l),yield e(t,l)},new Promise(((e,n)=>{var t=e=>{try{r(o.next(e))}catch(e){n(e)}},l=e=>{try{r(o.throw(e))}catch(e){n(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,l);r((o=o.apply(void 0,null)).next())}));var o}:e)(o,a),[P,O,A,T]=(e=>{var n,l,o;const r=(e=>H(Ue,s(e)?{[Ce]:e}:null!=e?e:{}))(e),i=r[De];if(r.mode==xe){const e=null!=(n=r[Ce])?n:t;return[1,i,[e,null!=(l=r[Ie])?l:w,null!=(o=r[Le])?o:$e],ae(e)]}const{tables:{load:u={},save:a={}}={},values:d={}}=r,c=v(V(H(Be,d)),0,X(Be)),y=c[2],f=ae(y),p=ae(y);return[0,i,[Je(u,{[Me]:null,[Re]:w},Me,(e=>j(p,e)),(e=>de(f,e))),Je(a,{[_e]:null,[Re]:w,[je]:0,[Fe]:0},_e,((e,n)=>j(p,n)),((e,n)=>de(f,n))),c],f]})(n);return(P?we:Ne)(e,b,(e=>{let n;const t=()=>n=setInterval((()=>We(void 0,null,(function*(){try{const[{d:n,s:t,c:l}]=yield b(`${S} ${L} d,${D} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${D}`);n==m&&t==g&&l==E||(null!=m&&e(),m=n,g=t,E=l)}catch(e){}}))),1e3*O),l=()=>{m=g=E=null,u(n)},o=r((n=>{T.has(n)&&(l(),e(),t())}));return t(),()=>{l(),i(o)}}),(e=>e()),d,c,y,A,U(T),((e,n)=>We(void 0,null,(function*(){return yield e(`${S} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${N} t.schema='main'AND t.type IN('table','view')AND t.name IN(${_(n)})ORDER BY t.name,c.name`,n)}))),f,p,l,h,(e=>!0===e?1:!1===e?0:e),void 0)};e.createCrSqliteWasmPersister=(e,n,t,l,o)=>Ye(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l,o,(()=>0),1,n)},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterCrSqliteWasm={});