tinybase 5.0.0-beta.7 → 5.0.0-beta.9

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 (324) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -1
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  32. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  33. package/lib/cjs/persisters.cjs +1 -1
  34. package/lib/cjs/persisters.cjs.gz +0 -0
  35. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
  36. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  37. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
  38. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -1
  40. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers.cjs +1 -1
  42. package/lib/cjs/synchronizers.cjs.gz +0 -0
  43. package/lib/cjs/tinybase.cjs +1 -1
  44. package/lib/cjs/tinybase.cjs.gz +0 -0
  45. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  46. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  47. package/lib/cjs/ui-react.cjs +1 -1
  48. package/lib/cjs/ui-react.cjs.gz +0 -0
  49. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  50. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters.cjs +1 -1
  82. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  83. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
  84. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  85. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
  86. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  87. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
  88. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  89. package/lib/cjs-es6/synchronizers.cjs +1 -1
  90. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  91. package/lib/cjs-es6/tinybase.cjs +1 -1
  92. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  93. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  94. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  95. package/lib/cjs-es6/ui-react.cjs +1 -1
  96. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  97. package/lib/debug/mergeable-store.js +6 -0
  98. package/lib/debug/persisters/persister-automerge.js +15 -6
  99. package/lib/debug/persisters/persister-browser.js +15 -6
  100. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +15 -6
  101. package/lib/debug/persisters/persister-electric-sql.js +15 -6
  102. package/lib/debug/persisters/persister-expo-sqlite-next.js +15 -6
  103. package/lib/debug/persisters/persister-expo-sqlite.js +15 -6
  104. package/lib/debug/persisters/persister-file.js +15 -6
  105. package/lib/debug/persisters/persister-indexed-db.js +15 -6
  106. package/lib/debug/persisters/persister-libsql.js +15 -6
  107. package/lib/debug/persisters/persister-partykit-client.js +15 -6
  108. package/lib/debug/persisters/persister-powersync.js +15 -6
  109. package/lib/debug/persisters/persister-remote.js +15 -6
  110. package/lib/debug/persisters/persister-sqlite-wasm.js +15 -6
  111. package/lib/debug/persisters/persister-sqlite3.js +15 -6
  112. package/lib/debug/persisters/persister-yjs.js +15 -6
  113. package/lib/debug/persisters.js +15 -6
  114. package/lib/debug/synchronizers/synchronizer-local.js +27 -18
  115. package/lib/debug/synchronizers/synchronizer-ws-client.js +45 -33
  116. package/lib/debug/synchronizers/synchronizer-ws-server.js +65 -26
  117. package/lib/debug/synchronizers.js +27 -18
  118. package/lib/debug/tinybase.js +33 -18
  119. package/lib/debug/ui-react-dom.js +22 -10
  120. package/lib/debug/ui-react.js +54 -5
  121. package/lib/es6/mergeable-store.js +1 -1
  122. package/lib/es6/mergeable-store.js.gz +0 -0
  123. package/lib/es6/persisters/persister-automerge.js +1 -1
  124. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  125. package/lib/es6/persisters/persister-browser.js +1 -1
  126. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  127. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  128. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  129. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  130. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  131. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  132. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  133. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  134. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  135. package/lib/es6/persisters/persister-file.js +1 -1
  136. package/lib/es6/persisters/persister-file.js.gz +0 -0
  137. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  138. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  139. package/lib/es6/persisters/persister-libsql.js +1 -1
  140. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  141. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  142. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  143. package/lib/es6/persisters/persister-powersync.js +1 -1
  144. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  145. package/lib/es6/persisters/persister-remote.js +1 -1
  146. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  147. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  148. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  149. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  150. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  151. package/lib/es6/persisters/persister-yjs.js +1 -1
  152. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  153. package/lib/es6/persisters.js +1 -1
  154. package/lib/es6/persisters.js.gz +0 -0
  155. package/lib/es6/synchronizers/synchronizer-local.js +1 -1
  156. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  157. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
  158. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  159. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
  160. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  161. package/lib/es6/synchronizers.js +1 -1
  162. package/lib/es6/synchronizers.js.gz +0 -0
  163. package/lib/es6/tinybase.js +1 -1
  164. package/lib/es6/tinybase.js.gz +0 -0
  165. package/lib/es6/ui-react-dom-debug.js +1 -1
  166. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  167. package/lib/es6/ui-react.js +1 -1
  168. package/lib/es6/ui-react.js.gz +0 -0
  169. package/lib/mergeable-store.js +1 -1
  170. package/lib/mergeable-store.js.gz +0 -0
  171. package/lib/persisters/persister-automerge.js +1 -1
  172. package/lib/persisters/persister-automerge.js.gz +0 -0
  173. package/lib/persisters/persister-browser.js +1 -1
  174. package/lib/persisters/persister-browser.js.gz +0 -0
  175. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  176. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  177. package/lib/persisters/persister-electric-sql.js +1 -1
  178. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  179. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  180. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  181. package/lib/persisters/persister-expo-sqlite.js +1 -1
  182. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  183. package/lib/persisters/persister-file.js +1 -1
  184. package/lib/persisters/persister-file.js.gz +0 -0
  185. package/lib/persisters/persister-indexed-db.js +1 -1
  186. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  187. package/lib/persisters/persister-libsql.js +1 -1
  188. package/lib/persisters/persister-libsql.js.gz +0 -0
  189. package/lib/persisters/persister-partykit-client.js +1 -1
  190. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  191. package/lib/persisters/persister-powersync.js +1 -1
  192. package/lib/persisters/persister-powersync.js.gz +0 -0
  193. package/lib/persisters/persister-remote.js +1 -1
  194. package/lib/persisters/persister-remote.js.gz +0 -0
  195. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  196. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  197. package/lib/persisters/persister-sqlite3.js +1 -1
  198. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  199. package/lib/persisters/persister-yjs.js +1 -1
  200. package/lib/persisters/persister-yjs.js.gz +0 -0
  201. package/lib/persisters.js +1 -1
  202. package/lib/persisters.js.gz +0 -0
  203. package/lib/synchronizers/synchronizer-local.js +1 -1
  204. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  205. package/lib/synchronizers/synchronizer-ws-client.js +1 -1
  206. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  207. package/lib/synchronizers/synchronizer-ws-server.js +1 -1
  208. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  209. package/lib/synchronizers.js +1 -1
  210. package/lib/synchronizers.js.gz +0 -0
  211. package/lib/tinybase.js +1 -1
  212. package/lib/tinybase.js.gz +0 -0
  213. package/lib/types/mergeable-store.d.ts +7 -1
  214. package/lib/types/persisters.d.ts +10 -14
  215. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +10 -5
  216. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +12 -0
  217. package/lib/types/synchronizers.d.ts +3 -2
  218. package/lib/types/ui-react.d.ts +151 -1
  219. package/lib/types/with-schemas/mergeable-store.d.ts +7 -0
  220. package/lib/types/with-schemas/persisters.d.ts +11 -23
  221. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +15 -6
  222. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +12 -0
  223. package/lib/types/with-schemas/synchronizers.d.ts +4 -4
  224. package/lib/types/with-schemas/ui-react.d.ts +169 -1
  225. package/lib/ui-react.js +1 -1
  226. package/lib/ui-react.js.gz +0 -0
  227. package/lib/umd/mergeable-store.js +1 -1
  228. package/lib/umd/mergeable-store.js.gz +0 -0
  229. package/lib/umd/persisters/persister-automerge.js +1 -1
  230. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  231. package/lib/umd/persisters/persister-browser.js +1 -1
  232. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  233. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  234. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  235. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  236. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  237. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  238. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  239. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  240. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  241. package/lib/umd/persisters/persister-file.js +1 -1
  242. package/lib/umd/persisters/persister-file.js.gz +0 -0
  243. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  244. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  245. package/lib/umd/persisters/persister-libsql.js +1 -1
  246. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  247. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  248. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  249. package/lib/umd/persisters/persister-powersync.js +1 -1
  250. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  251. package/lib/umd/persisters/persister-remote.js +1 -1
  252. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  253. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  254. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  255. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  256. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  257. package/lib/umd/persisters/persister-yjs.js +1 -1
  258. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  259. package/lib/umd/persisters.js +1 -1
  260. package/lib/umd/persisters.js.gz +0 -0
  261. package/lib/umd/synchronizers/synchronizer-local.js +1 -1
  262. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  263. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
  264. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  265. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -1
  266. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  267. package/lib/umd/synchronizers.js +1 -1
  268. package/lib/umd/synchronizers.js.gz +0 -0
  269. package/lib/umd/tinybase.js +1 -1
  270. package/lib/umd/tinybase.js.gz +0 -0
  271. package/lib/umd/ui-react-dom-debug.js +1 -1
  272. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  273. package/lib/umd/ui-react.js +1 -1
  274. package/lib/umd/ui-react.js.gz +0 -0
  275. package/lib/umd-es6/mergeable-store.js +1 -1
  276. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  277. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  278. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  279. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  280. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  281. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  282. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  283. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  284. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  285. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  286. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  287. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  288. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  289. package/lib/umd-es6/persisters/persister-file.js +1 -1
  290. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  291. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  292. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  293. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  294. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  295. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  296. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  297. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  298. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  299. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  300. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  301. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  302. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  303. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  304. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  305. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  306. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  307. package/lib/umd-es6/persisters.js +1 -1
  308. package/lib/umd-es6/persisters.js.gz +0 -0
  309. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
  310. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  311. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
  312. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  313. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -1
  314. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  315. package/lib/umd-es6/synchronizers.js +1 -1
  316. package/lib/umd-es6/synchronizers.js.gz +0 -0
  317. package/lib/umd-es6/tinybase.js +1 -1
  318. package/lib/umd-es6/tinybase.js.gz +0 -0
  319. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  320. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  321. package/lib/umd-es6/ui-react.js +1 -1
  322. package/lib/umd-es6/ui-react.js.gz +0 -0
  323. package/package.json +1 -1
  324. package/readme.md +2 -2
@@ -1 +1 @@
1
- const t=t=>typeof t,e=t(""),a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),s=Object,o=t=>s.getPrototypeOf(t),c=s.entries,r=s.keys,i=s.freeze,g=(t,e)=>n(t,(t=>t[e])),y=(t,e)=>e in t,d=(t,e)=>(delete t[e],t),l=(t,e)=>((t,e)=>t.map(e))(c(t),(([t,a])=>e(a,t))),u=t=>r(t).length,h=t=>(t=>!a(t)&&n(o(t),(t=>t==s.prototype||a(o(t))),(()=>!0)))(t)&&0==u(t),v=t=>new Map(t),p=(t,e)=>t?.get(e),w=(t,e,n)=>{return a(n)?(s=t,o=e,s?.delete(o),t):t?.set(e,n);var s,o},A=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(p(t,e)):w(t,e,a()),p(t,e)},C=v(),f=v(),L=(t,e)=>[t[e].t,t[e].v],b=(t,e,n,s)=>{const o=a(e)?t:((t,e,a)=>(y(t,e)||(t[e]={}),t[e]))(t,e);let c;return l(n,((t,e)=>{s(o,e,t)&&(c=1)})),l(o,((t,e)=>{y(n,e)||(d(o,e),c=1)})),!a(e)&&h(o)&&d(t,e),c},S=(s,o,c="tinybase",r)=>(o.change((t=>t[c]={})),((s,o,c,r,g,y,d,l={},u=[])=>{let v,L,b,S=0;A(C,u,(()=>0)),A(f,u,(()=>[]));const[M,T,m,D]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!h(t)||!h(e)])(d,s),O=async t=>(2!=S&&(S=1,await k.schedule((async()=>{await t(),S=0}))),k),j=a=>{var n;(M&&(n=a?.[0],t(n)==e)?1===a?.[1][2]?s.applyMergeableChanges:s.setMergeableContent:1===a?.[2]?s.applyChanges:s.setContent)(a)},k={load:async(t,e)=>await O((async()=>{try{j(await o())}catch(a){y?.(a),s.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(await k.stopAutoLoad().load(t,e),L=r((async(t,e)=>{const a=e?.();await O((async()=>{try{j(a??t?.()??await o())}catch(t){y?.(t)}}))})),k),stopAutoLoad:()=>(L&&(g(L),L=void 0),k),isAutoLoading:()=>!a(L),save:async t=>(1!=S&&(S=2,await k.schedule((async()=>{try{await c(T,t)}catch(t){y?.(t)}S=0}))),k),startAutoSave:async()=>(await k.stopAutoSave().save(),b=s.addDidFinishTransactionListener((()=>{const t=m();D(t)&&k.save((()=>t))})),k),stopAutoSave:()=>(n(b,s.delListener),b=void 0,k),isAutoSaving:()=>!a(b),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(f,u),...t),await(async()=>{if(!p(C,u)){for(w(C,u,1);!a((t=p(f,u),v=t.shift()));)try{await v()}catch(t){y?.(t)}w(C,u,0)}var t})(),k),getStore:()=>s,destroy:()=>k.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return i(k)})(s,(async()=>{const t=await o.doc();return 2==u(t[c])?L(t,c):void 0}),(async(t,e)=>o.change((s=>((t,e,s,o)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[c,r]=L(t,e),i=()=>{y=1};let y=1;if(n(o?.(),(([t,e])=>{y=0,l(t,((t,e)=>y?0:a(t)?d(c,e):n(c[e],(e=>l(t,((t,s)=>y?0:a(t)?d(e,s):n(g(e,s),(e=>l(t,((t,n)=>a(t)?d(e,n):e[n]=t))),i)))),i))),l(e,((t,e)=>y?0:a(t)?d(r,e):r[e]=t))})),y){const[t,e]=s();b(c,void 0,t,((t,e,a)=>b(c,e,a,((t,e,a)=>b(t,e,a,((t,e,a)=>{if(g(t,e)!==a)return t[e]=a,1})))))),b(r,void 0,e,((t,e,a)=>{g(r,e)!==a&&(r[e]=a)}))}})(s,c,t,e)))),(t=>{const e=({doc:e})=>t((()=>L(e,c)));return o.on("change",e),e}),(t=>{o.removeListener("change",t)}),r,!1,{getDocHandle:()=>o}));export{S as createAutomergePersister};
1
+ const t=t=>typeof t,e=t(""),a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),s=Object,o=t=>s.getPrototypeOf(t),c=s.entries,r=s.keys,i=s.freeze,g=(t,e)=>n(t,(t=>t[e])),y=(t,e)=>e in t,d=(t,e)=>(delete t[e],t),l=(t,e)=>((t,e)=>t.map(e))(c(t),(([t,a])=>e(a,t))),u=t=>r(t).length,h=t=>(t=>!a(t)&&n(o(t),(t=>t==s.prototype||a(o(t))),(()=>!0)))(t)&&0==u(t),v=t=>new Map(t),p=(t,e)=>t?.get(e),w=(t,e,n)=>{return a(n)?(s=t,o=e,s?.delete(o),t):t?.set(e,n);var s,o},C=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(p(t,e)):w(t,e,a()),p(t,e)},A=v(),f=v(),L=(t,e)=>[t[e].t,t[e].v],b=(t,e,n,s)=>{const o=a(e)?t:((t,e,a)=>(y(t,e)||(t[e]={}),t[e]))(t,e);let c;return l(n,((t,e)=>{s(o,e,t)&&(c=1)})),l(o,((t,e)=>{y(n,e)||(d(o,e),c=1)})),!a(e)&&h(o)&&d(t,e),c},S=(s,o,c="tinybase",r)=>(o.change((t=>t[c]={})),((s,o,c,r,g,y,d,l={},u=[])=>{let v,L,b,S=0;C(A,u,(()=>0)),C(f,u,(()=>[]));const[M,D,T,m,O]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!h(t)||!h(e),e.setDefaultContent])(d,s),j=async t=>(2!=S&&(S=1,await x.schedule((async()=>{await t(),S=0}))),x),k=a=>{var n;(M&&(n=a?.[0],t(n)==e)?1===a?.[1][2]?s.applyMergeableChanges:s.setMergeableContent:1===a?.[2]?s.applyChanges:s.setContent)(a)},x={load:async t=>await j((async()=>{try{k(await o())}catch(e){y?.(e),t&&O(t)}})),startAutoLoad:async t=>(await x.stopAutoLoad().load(t),L=r((async(t,e)=>{const a=e?.();await j((async()=>{try{k(a??t?.()??await o())}catch(t){y?.(t)}}))})),x),stopAutoLoad:()=>(L&&(g(L),L=void 0),x),isAutoLoading:()=>!a(L),save:async t=>(1!=S&&(S=2,await x.schedule((async()=>{try{await c(D,t)}catch(t){y?.(t)}S=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),b=s.addDidFinishTransactionListener((()=>{const t=T();m(t)&&x.save((()=>t))})),x),stopAutoSave:()=>(n(b,s.delListener),b=void 0,x),isAutoSaving:()=>!a(b),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(f,u),...t),await(async()=>{if(!p(A,u)){for(w(A,u,1);!a((t=p(f,u),v=t.shift()));)try{await v()}catch(t){y?.(t)}w(A,u,0)}var t})(),x),getStore:()=>s,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return i(x)})(s,(async()=>{const t=await o.doc();return 2==u(t[c])?L(t,c):void 0}),(async(t,e)=>o.change((s=>((t,e,s,o)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[c,r]=L(t,e),i=()=>{y=1};let y=1;if(n(o?.(),(([t,e])=>{y=0,l(t,((t,e)=>y?0:a(t)?d(c,e):n(c[e],(e=>l(t,((t,s)=>y?0:a(t)?d(e,s):n(g(e,s),(e=>l(t,((t,n)=>a(t)?d(e,n):e[n]=t))),i)))),i))),l(e,((t,e)=>y?0:a(t)?d(r,e):r[e]=t))})),y){const[t,e]=s();b(c,void 0,t,((t,e,a)=>b(c,e,a,((t,e,a)=>b(t,e,a,((t,e,a)=>{if(g(t,e)!==a)return t[e]=a,1})))))),b(r,void 0,e,((t,e,a)=>{g(r,e)!==a&&(r[e]=a)}))}})(s,c,t,e)))),(t=>{const e=({doc:e})=>t((()=>L(e,c)));return o.on("change",e),e}),(t=>{o.removeListener("change",t)}),r,!1,{getDocHandle:()=>o}));export{S as createAutomergePersister};
@@ -1 +1 @@
1
- const t=t=>typeof t,e=t(""),a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,i=n.freeze,c=t=>(t=>!a(t)&&s(o(t),(t=>t==n.prototype||a(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),g=JSON.parse,y=t=>new Map(t),l=(t,e)=>t?.get(e),d=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},u=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(l(t,e)):d(t,e,a()),l(t,e)},p=y(),v=y(),h="storage",w=globalThis.window,S=(o,r,y,S)=>((n,o,r,g,y,h,w,S={},A=[])=>{let C,f,L,b=0;u(p,A,(()=>0)),u(v,A,(()=>[]));const[M,m,O,T]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!c(t)||!c(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!c(t)||!c(e)])(w,n),E=async t=>(2!=b&&(b=1,await k.schedule((async()=>{await t(),b=0}))),k),N=a=>{var s;(M&&(s=a?.[0],t(s)==e)?1===a?.[1][2]?n.applyMergeableChanges:n.setMergeableContent:1===a?.[2]?n.applyChanges:n.setContent)(a)},k={load:async(t,e)=>await E((async()=>{try{N(await o())}catch(a){h?.(a),n.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(await k.stopAutoLoad().load(t,e),f=g((async(t,e)=>{const a=e?.();await E((async()=>{try{N(a??t?.()??await o())}catch(t){h?.(t)}}))})),k),stopAutoLoad:()=>(f&&(y(f),f=void 0),k),isAutoLoading:()=>!a(f),save:async t=>(1!=b&&(b=2,await k.schedule((async()=>{try{await r(m,t)}catch(t){h?.(t)}b=0}))),k),startAutoSave:async()=>(await k.stopAutoSave().save(),L=n.addDidFinishTransactionListener((()=>{const t=O();T(t)&&k.save((()=>t))})),k),stopAutoSave:()=>(s(L,n.delListener),L=void 0,k),isAutoSaving:()=>!a(L),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(v,A),...t),await(async()=>{if(!l(p,A)){for(d(p,A,1);!a((t=l(v,A),C=t.shift()));)try{await C()}catch(t){h?.(t)}d(p,A,0)}var t})(),k),getStore:()=>n,destroy:()=>k.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...S};return i(k)})(o,(async()=>g(y.getItem(r))),(async t=>{return y.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e))));var e}),(t=>{const e=e=>{e.storageArea===y&&e.key===r&&t((()=>g(e.newValue)))};return w.addEventListener(h,e),e}),(t=>w.removeEventListener(h,t)),S,!0,{getStorageName:()=>r}),A=(t,e,a)=>S(t,e,localStorage,a),C=(t,e,a)=>S(t,e,sessionStorage,a);export{A as createLocalPersister,C as createSessionPersister};
1
+ const t=t=>typeof t,e=t(""),a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,i=n.freeze,c=t=>(t=>!a(t)&&s(o(t),(t=>t==n.prototype||a(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),g=JSON.parse,y=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},d=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(l(t,e)):u(t,e,a()),l(t,e)},p=y(),v=y(),h="storage",w=globalThis.window,S=(o,r,y,S)=>((n,o,r,g,y,h,w,S={},A=[])=>{let C,f,L,b=0;d(p,A,(()=>0)),d(v,A,(()=>[]));const[M,m,O,T,E]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!c(t)||!c(e),e.setContent]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!c(t)||!c(e),e.setDefaultContent])(w,n),N=async t=>(2!=b&&(b=1,await D.schedule((async()=>{await t(),b=0}))),D),k=a=>{var s;(M&&(s=a?.[0],t(s)==e)?1===a?.[1][2]?n.applyMergeableChanges:n.setMergeableContent:1===a?.[2]?n.applyChanges:n.setContent)(a)},D={load:async t=>await N((async()=>{try{k(await o())}catch(e){h?.(e),t&&E(t)}})),startAutoLoad:async t=>(await D.stopAutoLoad().load(t),f=g((async(t,e)=>{const a=e?.();await N((async()=>{try{k(a??t?.()??await o())}catch(t){h?.(t)}}))})),D),stopAutoLoad:()=>(f&&(y(f),f=void 0),D),isAutoLoading:()=>!a(f),save:async t=>(1!=b&&(b=2,await D.schedule((async()=>{try{await r(m,t)}catch(t){h?.(t)}b=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),L=n.addDidFinishTransactionListener((()=>{const t=O();T(t)&&D.save((()=>t))})),D),stopAutoSave:()=>(s(L,n.delListener),L=void 0,D),isAutoSaving:()=>!a(L),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(v,A),...t),await(async()=>{if(!l(p,A)){for(u(p,A,1);!a((t=l(v,A),C=t.shift()));)try{await C()}catch(t){h?.(t)}u(p,A,0)}var t})(),D),getStore:()=>n,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...S};return i(D)})(o,(async()=>g(y.getItem(r))),(async t=>{return y.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e))));var e}),(t=>{const e=e=>{e.storageArea===y&&e.key===r&&t((()=>g(e.newValue)))};return w.addEventListener(h,e),e}),(t=>w.removeEventListener(h,t)),S,!0,{getStorageName:()=>r}),A=(t,e,a)=>S(t,e,localStorage,a),C=(t,e,a)=>S(t,e,sessionStorage,a);export{A as createLocalPersister,C as createSessionPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,b=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(b(a)),x=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],U=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(T(a,t)?n?.(U(a,t)):$(a,t,e()),U(a,t)),G=(a,t,e,n=$)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",q=g+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=B();return[async()=>G(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(g+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(c,t,G(k(c,t,B),e,((a,t,e)=>{e!=U(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(c,t))),async(t,e)=>((a,t)=>!r(U(U(c,a),t)))(t,e)?I(C(A(await a(q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=J();_(o??{},(a=>A(b(a??{}),(a=>W(u,a)))));const E=N(u);if(!y&&w&&h(E)&&T(c,t))return await a("DROP "+z+v(t)),void $(c,t);if(h(E)||T(c,t)){const n=U(c,t),i=J(H(n));await d([...A(E,(async s=>{f(i,s)||(await a(K+v(t)+"ADD"+v(s)),$(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),$(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+v(a))))});`),$(c,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(V+v(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(V+v(t)+X+v(s)+"=?",[n]):h(E)||await aa(a,t,s,b(e),[n,...F(e)],i)})));else if(h(E))T(c,t)&&await a(V+v(t)+X+" 1");else{const e=C(H(U(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{O(n,t,...A(e,(t=>a?.[t]))),O(r,t)})),await aa(a,t,s,e,n,i),await a(V+v(t)+X+v(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+m(A(c,(a=>n+v(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(c,(a=>v(a)+"=excluded."+v(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,p=0;k(na,y,(()=>0)),k(sa,y,(()=>[]));const[v,g,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t)])(c,a),h=async a=>(2!=p&&(p=1,await T.schedule((async()=>{await a(),p=0}))),T),C=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await T.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await T.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(l(E,a.delListener),E=void 0,T),isAutoSaving:()=>!r(E),schedule:async(...a)=>(O(U(sa,y),...a),await(async()=>{if(!U(na,y)){for($(na,y,1);!r((a=U(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}$(na,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(T)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,v,g)=>{const[m,A,h,O]=Z(t,y,s,g),T=async(a,t)=>await d(Y(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await h(e,n,a[c],s,i,t)}))),N=async(a,t)=>l?await h(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await m();const a=await(async()=>I(C(await d(Y(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await N(e)}else{const[a,e]=t();await T(a,!0),await N(e,!0)}}))),e,n,s,!1,{[v]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||$(s,i,c)})),s},ga="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,v,m;const[A,h,C,O]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=J(r);return[0,n,[va(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),va(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+ma))[0][ma],e=(await n(ga+Aa))[0][Aa],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(v??=e)&&s==(m??=s)||(a(),E=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=null,i(t)}),r,C,N(O),l,u,d)},Ca=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t);export{Ca as createCrSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==u(a),h=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,b=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(b(a)),x=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],U=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(T(a,t)?n?.(U(a,t)):$(a,t,e()),U(a,t)),G=(a,t,e,n=$)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",q=g+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=B();return[async()=>G(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(g+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(c,t,G(k(c,t,B),e,((a,t,e)=>{e!=U(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(c,t))),async(t,e)=>((a,t)=>!r(U(U(c,a),t)))(t,e)?I(h(A(await a(q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=J();_(o??{},(a=>A(b(a??{}),(a=>W(u,a)))));const E=f(u);if(!y&&w&&C(E)&&T(c,t))return await a("DROP "+z+v(t)),void $(c,t);if(C(E)||T(c,t)){const n=U(c,t),i=J(H(n));await d([...A(E,(async s=>{N(i,s)||(await a(K+v(t)+"ADD"+v(s)),$(n,s,e))})),...!y&&l?A(f(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),$(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+v(a))))});`),$(c,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(V+v(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(V+v(t)+X+v(s)+"=?",[n]):C(E)||await aa(a,t,s,b(e),[n,...F(e)],i)})));else if(C(E))T(c,t)&&await a(V+v(t)+X+" 1");else{const e=h(H(U(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{O(n,t,...A(e,(t=>a?.[t]))),O(r,t)})),await aa(a,t,s,e,n,i),await a(V+v(t)+X+v(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+m(A(c,(a=>n+v(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(c,(a=>v(a)+"=excluded."+v(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,p=0;k(na,y,(()=>0)),k(sa,y,(()=>[]));const[v,g,m,A,C]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t),t.setDefaultContent])(c,a),h=async a=>(2!=p&&(p=1,await f.schedule((async()=>{await a(),p=0}))),f),T=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f={load:async a=>await h((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await f.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{T(n??a?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(s(d),d=void 0),f),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await f.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f.save((()=>a))})),f),stopAutoSave:()=>(l(E,a.delListener),E=void 0,f),isAutoSaving:()=>!r(E),schedule:async(...a)=>(O(U(sa,y),...a),await(async()=>{if(!U(na,y)){for($(na,y,1);!r((a=U(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}$(na,y,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(f)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,v,g)=>{const[m,A,C,O]=Z(t,y,s,g),T=async(a,t)=>await d(Y(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await C(e,n,a[c],s,i,t)}))),f=async(a,t)=>l?await C(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await m();const a=await(async()=>I(h(await d(Y(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,n,s,!1,{[v]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||$(s,i,c)})),s},ga="pragma ",ma="data_version",Aa="schema_version",Ca=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,v,m;const[A,C,h,O]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=J(r);return[0,n,[va(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),va(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+ma))[0][ma],e=(await n(ga+Aa))[0][Aa],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(v??=e)&&s==(m??=s)||(a(),E=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=null,i(t)}),r,h,f(O),l,u,d)},ha=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t);export{ha as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",g="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),R=O.entries,S=O.keys,D=O.freeze,I=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>O.values(a),j=a=>u(S(a)),B=a=>(a=>!o(a)&&l(L(a),(a=>a==O.prototype||o(L(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(T(a,t)?n?.($(a,t)):x(a,t,e()),$(a,t)),J=(a,t,e,n=x)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),q="TABLE",z="ALTER "+q,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=H();return[async()=>J(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(c,t,J(G(c,t,H),e,((a,t,e)=>{e!=$(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(c,t))),async(t,e)=>((a,t)=>!o($($(c,a),t)))(t,e)?I(C(A(await a(V+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,r,l,w,y=!1)=>{const u=U();_(r??{},(a=>A(S(a??{}),(a=>W(u,a)))));const E=b(u);if(!y&&w&&h(E)&&T(c,t))return await a("DROP "+q+p(t)),void x(c,t);if(h(E)||T(c,t)){const n=$(c,t),i=U(Y(n));await d([...A(E,(async s=>{N(i,s)||(await a(z+p(t)+"ADD"+p(s)),x(n,s,e))})),...!y&&l?A(b(i),(async e=>{e!=s&&(await a(z+p(t)+"DROP"+p(e)),x(n,e))})):[]])}else await a("CREATE "+q+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+p(a))))});`),x(c,t,H([[s,e],...A(E,(a=>[a,e]))]));if(y)o(r)?await a(K+p(t)+X+" 1"):await d(_(r,(async(e,n)=>{o(e)?await a(K+p(t)+X+p(s)+"=?",[n]):h(E)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(h(E))T(c,t)&&await a(K+p(t)+X+" 1");else{const e=C(Y($(c,t)),(a=>a!=s)),n=[],o=[];_(r??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(o,t)})),await aa(a,t,s,e,n,i),await a(K+p(t)+X+p(s)+"NOT IN("+ta(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,r,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+m(A(c,(a=>n+p(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(r)/(u(c)+1)),1)+(o?"ON CONFLICT("+p(s)+")DO UPDATE SET"+m(A(c,(a=>p(a)+"=excluded."+p(a))),n):e),A(r,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=H(),sa=H(),ia=(a,t,e,n,s,i,c,r={},y=[])=>{let u,d,E,g=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[p,v,m,A]=((a,t)=>!a||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),h=async a=>(2!=g&&(g=1,await T.schedule((async()=>{await a(),g=0}))),T),C=t=>{(p&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await T.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!o(d),save:async a=>(1!=g&&(g=2,await T.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(l(E,a.delListener),E=void 0,T),isAutoSaving:()=>!o(E),schedule:async(...a)=>(f($(sa,y),...a),await(async()=>{if(!$(na,y)){for(x(na,y,1);!o((a=$(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...r};return D(T)},ca="store",ra=(a,t,e,n,s,[i],c,r,o,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,g))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[o]:()=>r},r)},oa=(a,t,e,n,s,[i,c,[r,l,w]],y,u,p,v)=>{const[m,A,h,f]=Z(t,y,s,v),T=async(a,t)=>await d(k(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await h(e,n,a[c],s,i,t)}))),b=async(a,t)=>l?await h(w,g,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await f((async()=>{await m();const a=await(async()=>I(C(await d(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>r?(await A(w,g))[E]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),o(t)){const[t,e]=a();await T(t),await b(e)}else{const[a,e]=t();await T(a,!0),await b(e,!0)}}))),e,n,s,!1,{[p]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},ga={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=H();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));o(c[0])||n(i,c[0])||x(s,i,c)})),s},va="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,c,o,l,u="getDb",d)=>{let E,p,m;const[A,h,C,f]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,r=y(F(M(ga,c)),0,j(ga)),o=r[2],l=U(o);return[0,n,[pa(s,{[ua]:null,[ya]:g},ua,(a=>W(l,a)&&a==o)),pa(i,{[da]:null,[ya]:g,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==o)),r],l]})(e);return(A?ra:oa)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(m??=s)||(a(),E=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=null,i(t)}),o,C,b(f),l,u,d)},Ca=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient");export{Ca as createElectricSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",g="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==u(a),h=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),R=O.entries,S=O.keys,D=O.freeze,I=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>O.values(a),j=a=>u(S(a)),B=a=>(a=>!r(a)&&l(L(a),(a=>a==O.prototype||r(L(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(T(a,t)?n?.($(a,t)):x(a,t,e()),$(a,t)),J=(a,t,e,n=x)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),q="TABLE",z="ALTER "+q,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=H();return[async()=>J(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(c,t,J(G(c,t,H),e,((a,t,e)=>{e!=$(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?I(h(A(await a(V+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=U();_(o??{},(a=>A(S(a??{}),(a=>W(u,a)))));const E=b(u);if(!y&&w&&C(E)&&T(c,t))return await a("DROP "+q+p(t)),void x(c,t);if(C(E)||T(c,t)){const n=$(c,t),i=U(Y(n));await d([...A(E,(async s=>{N(i,s)||(await a(z+p(t)+"ADD"+p(s)),x(n,s,e))})),...!y&&l?A(b(i),(async e=>{e!=s&&(await a(z+p(t)+"DROP"+p(e)),x(n,e))})):[]])}else await a("CREATE "+q+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+p(a))))});`),x(c,t,H([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(K+p(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(K+p(t)+X+p(s)+"=?",[n]):C(E)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(C(E))T(c,t)&&await a(K+p(t)+X+" 1");else{const e=h(Y($(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(r,t)})),await aa(a,t,s,e,n,i),await a(K+p(t)+X+p(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+m(A(c,(a=>n+p(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+p(s)+")DO UPDATE SET"+m(A(c,(a=>p(a)+"=excluded."+p(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=H(),sa=H(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,g=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[p,v,m,A,C]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t),t.setDefaultContent])(c,a),h=async a=>(2!=g&&(g=1,await b.schedule((async()=>{await a(),g=0}))),b),T=t=>{(p&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b={load:async a=>await h((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await b.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{T(n??a?.()??await t())}catch(a){i?.(a)}}))})),b),stopAutoLoad:()=>(d&&(s(d),d=void 0),b),isAutoLoading:()=>!r(d),save:async a=>(1!=g&&(g=2,await b.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),b),startAutoSave:async()=>(await b.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&b.save((()=>a))})),b),stopAutoSave:()=>(l(E,a.delListener),E=void 0,b),isAutoSaving:()=>!r(E),schedule:async(...a)=>(f($(sa,y),...a),await(async()=>{if(!$(na,y)){for(x(na,y,1);!r((a=$(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),b),getStore:()=>a,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(b)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,g))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,p,v)=>{const[m,A,C,f]=Z(t,y,s,v),T=async(a,t)=>await d(k(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await C(e,n,a[c],s,i,t)}))),b=async(a,t)=>l?await C(w,g,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await f((async()=>{await m();const a=await(async()=>I(h(await d(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await A(w,g))[E]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await b(e)}else{const[a,e]=t();await T(a,!0),await b(e,!0)}}))),e,n,s,!1,{[p]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},ga={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=H();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||x(s,i,c)})),s},va="pragma ",ma="data_version",Aa="schema_version",Ca=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,p,m;const[A,C,h,f]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(ga,c)),0,j(ga)),r=o[2],l=U(r);return[0,n,[pa(s,{[ua]:null,[ya]:g},ua,(a=>W(l,a)&&a==r)),pa(i,{[da]:null,[ya]:g,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(m??=s)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=null,i(t)}),r,h,b(f),l,u,d)},ha=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient");export{ha as createElectricSqlPersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as a}from"expo-sqlite/next";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>c.all(a),p="_",m="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",A=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),C=a=>0==d(a),N=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),R=Object,b=a=>R.getPrototypeOf(a),S=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>h(S(a),(([a,e])=>t(e,a))),x=a=>R.values(a),j=a=>d(D(a)),B=a=>(a=>!l(a)&&y(b(a),(a=>a==R.prototype||l(b(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(L(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(f(a,t)?n?.($(a,t)):G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(Array.isArray(a)||l(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=g+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,e,i)=>{const o=H();return[async()=>U(o,M(await E(h(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(h(await a(g+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(o,t,U(J(o,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(o,t))),async(t,e)=>((a,t)=>!l($($(o,a),t)))(t,e)?M(N(h(await a(Q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!B(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=W();F(c??{},(a=>h(D(a??{}),(a=>q(u,a)))));const d=O(u);if(!w&&y&&C(d)&&f(o,t))return await a("DROP "+z+v(t)),void G(o,t);if(C(d)||f(o,t)){const s=$(o,t),i=W(Y(s));await E([...h(d,(async e=>{L(i,e)||(await a(K+v(t)+"ADD"+v(e)),G(s,e,n))})),...!w&&r?h(O(i),(async n=>{n!=e&&(await a(K+v(t)+"DROP"+v(n)),G(s,n))})):[]])}else await a("CREATE "+z+v(t)+"("+v(e)+` PRIMARY KEY ON CONFLICT REPLACE${A(h(d,(a=>s+v(a))))});`),G(o,t,H([[e,n],...h(d,(a=>[a,n]))]));if(w)l(c)?await a(V+v(t)+Z+" 1"):await E(F(c,(async(n,s)=>{l(n)?await a(V+v(t)+Z+v(e)+"=?",[s]):C(d)||await ta(a,t,e,D(n),[s,...x(n)],i)})));else if(C(d))f(o,t)&&await a(V+v(t)+Z+" 1");else{const n=N(Y($(o,t)),(a=>a!=e)),s=[],r=[];F(c??{},((a,t)=>{T(s,t,...h(n,(t=>a?.[t]))),T(r,t)})),await ta(a,t,e,n,s,i),await a(V+v(t)+Z+v(e)+"NOT IN("+ea(r)+")",r)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ta=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+v(t)+"("+v(e)+A(h(i,(a=>s+v(a))))+")VALUES"+u(o(`,(?${o(",?",d(i))})`,d(c)/(d(i)+1)),1)+(r?"ON CONFLICT("+v(e)+")DO UPDATE SET"+A(h(i,(a=>v(a)+"=excluded."+v(a))),s):n),h(c,(a=>a??null))),ea=a=>A(h(a,(()=>"?")),s),na=JSON.parse,sa=H(),ia=H(),oa=(a,t,e,n,s,i,o,c={},r=[])=>{let u,d,E,p=0;J(sa,r,(()=>0)),J(ia,r,(()=>[]));const[m,v,g,A]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(o,a),h=async a=>(2!=p&&(p=1,await N.schedule((async()=>{await a(),p=0}))),N),C=t=>{(m&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await N.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!l(d),save:async a=>(1!=p&&(p=2,await N.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(y(E,a.delListener),E=void 0,N),isAutoSaving:()=>!l(E),schedule:async(...a)=>(T($(ia,r),...a),await(async()=>{if(!$(sa,r)){for(G(sa,r,1);!l((a=$(ia,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,r,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return I(N)},ca="store",ra=(a,t,e,n,s,[i],o,c,r,l)=>{const[y,w,u,d]=aa(t,o,s,l);return oa(a,(async()=>await d((async()=>(await y(),na((await w(i,m))[p]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,m,{[p]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},la=(a,t,e,n,s,[i,o,[c,r,y]],w,u,d,v)=>{const[g,A,h,C]=aa(t,w,s,v),T=async(a,t)=>await E(k(o,(async([e,n,s,i],o)=>{t&&!_(a,o)||await h(e,n,a[o],s,i,t)}))),f=async(a,t)=>r?await h(y,m,{[p]:a},!0,!0,t):null;return oa(a,(async()=>await C((async()=>{await g();const a=await(async()=>M(N(await E(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await A(y,m))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await g(),l(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},ya="json",wa="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:ya,[wa]:1},ma={load:0,save:0,[Ea]:e+"_values"},va=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const o=u(x(P(t,w(a)?{[e]:a}:a)),0,j(t));l(o[0])||n(i,o[0])||G(s,i,o)})),s},ga="pragma ",Aa="data_version",ha="schema_version",Ca=(a,t,n,s,i,o,c,l,y="getDb",d)=>{let E,p,v;const[A,h,C,N]=(a=>{const t=(a=>P(pa,w(a)?{storeTableName:a}:a??{}))(a),n=t[wa];if(t.mode==ya){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(x(P(ma,o)),0,j(ma)),r=c[2],l=W(r);return[0,n,[va(s,{[da]:null,[ua]:m},da,(a=>q(l,a)&&a==r)),va(i,{[Ea]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>q(l,t)&&t==r)),c],l]})(t);return(A?ra:la)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+Aa))[0][Aa],e=(await n(ga+ha))[0][ha],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(v??=s)||(a(),E=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=null,i(t)}),c,C,O(N),l,y,d)},Na=(t,e,n,s,i)=>Ca(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);export{Na as createExpoSqliteNextPersister};
1
+ import{addDatabaseChangeListener as a}from"expo-sqlite/next";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>c.all(a),p="_",m="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",A=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),h=a=>0==d(a),f=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),R=Object,b=a=>R.getPrototypeOf(a),S=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>C(S(a),(([a,e])=>t(e,a))),x=a=>R.values(a),j=a=>d(D(a)),B=a=>(a=>!l(a)&&y(b(a),(a=>a==R.prototype||l(b(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>C([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(L(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)?n?.($(a,t)):G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(Array.isArray(a)||l(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=g+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,e,i)=>{const o=H();return[async()=>U(o,M(await E(C(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(C(await a(g+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(o,t,U(J(o,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(o,t))),async(t,e)=>((a,t)=>!l($($(o,a),t)))(t,e)?M(f(C(await a(Q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!B(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=W();F(c??{},(a=>C(D(a??{}),(a=>q(u,a)))));const d=O(u);if(!w&&y&&h(d)&&T(o,t))return await a("DROP "+z+v(t)),void G(o,t);if(h(d)||T(o,t)){const s=$(o,t),i=W(Y(s));await E([...C(d,(async e=>{L(i,e)||(await a(K+v(t)+"ADD"+v(e)),G(s,e,n))})),...!w&&r?C(O(i),(async n=>{n!=e&&(await a(K+v(t)+"DROP"+v(n)),G(s,n))})):[]])}else await a("CREATE "+z+v(t)+"("+v(e)+` PRIMARY KEY ON CONFLICT REPLACE${A(C(d,(a=>s+v(a))))});`),G(o,t,H([[e,n],...C(d,(a=>[a,n]))]));if(w)l(c)?await a(V+v(t)+Z+" 1"):await E(F(c,(async(n,s)=>{l(n)?await a(V+v(t)+Z+v(e)+"=?",[s]):h(d)||await ta(a,t,e,D(n),[s,...x(n)],i)})));else if(h(d))T(o,t)&&await a(V+v(t)+Z+" 1");else{const n=f(Y($(o,t)),(a=>a!=e)),s=[],r=[];F(c??{},((a,t)=>{N(s,t,...C(n,(t=>a?.[t]))),N(r,t)})),await ta(a,t,e,n,s,i),await a(V+v(t)+Z+v(e)+"NOT IN("+ea(r)+")",r)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ta=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+v(t)+"("+v(e)+A(C(i,(a=>s+v(a))))+")VALUES"+u(o(`,(?${o(",?",d(i))})`,d(c)/(d(i)+1)),1)+(r?"ON CONFLICT("+v(e)+")DO UPDATE SET"+A(C(i,(a=>v(a)+"=excluded."+v(a))),s):n),C(c,(a=>a??null))),ea=a=>A(C(a,(()=>"?")),s),na=JSON.parse,sa=H(),ia=H(),oa=(a,t,e,n,s,i,o,c={},r=[])=>{let u,d,E,p=0;J(sa,r,(()=>0)),J(ia,r,(()=>[]));const[m,v,g,A,C]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t),t.setDefaultContent])(o,a),h=async a=>(2!=p&&(p=1,await T.schedule((async()=>{await a(),p=0}))),T),f=t=>{(m&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async a=>await h((async()=>{try{f(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await T.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{f(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!l(d),save:async a=>(1!=p&&(p=2,await T.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(y(E,a.delListener),E=void 0,T),isAutoSaving:()=>!l(E),schedule:async(...a)=>(N($(ia,r),...a),await(async()=>{if(!$(sa,r)){for(G(sa,r,1);!l((a=$(ia,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,r,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return I(T)},ca="store",ra=(a,t,e,n,s,[i],o,c,r,l)=>{const[y,w,u,d]=aa(t,o,s,l);return oa(a,(async()=>await d((async()=>(await y(),na((await w(i,m))[p]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,m,{[p]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},la=(a,t,e,n,s,[i,o,[c,r,y]],w,u,d,v)=>{const[g,A,C,h]=aa(t,w,s,v),N=async(a,t)=>await E(k(o,(async([e,n,s,i],o)=>{t&&!_(a,o)||await C(e,n,a[o],s,i,t)}))),T=async(a,t)=>r?await C(y,m,{[p]:a},!0,!0,t):null;return oa(a,(async()=>await h((async()=>{await g();const a=await(async()=>M(f(await E(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await A(y,m))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await g(),l(t)){const[t,e]=a();await N(t),await T(e)}else{const[a,e]=t();await N(a,!0),await T(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},ya="json",wa="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:ya,[wa]:1},ma={load:0,save:0,[Ea]:e+"_values"},va=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const o=u(x(P(t,w(a)?{[e]:a}:a)),0,j(t));l(o[0])||n(i,o[0])||G(s,i,o)})),s},ga="pragma ",Aa="data_version",Ca="schema_version",ha=(a,t,n,s,i,o,c,l,y="getDb",d)=>{let E,p,v;const[A,C,h,f]=(a=>{const t=(a=>P(pa,w(a)?{storeTableName:a}:a??{}))(a),n=t[wa];if(t.mode==ya){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(x(P(ma,o)),0,j(ma)),r=c[2],l=W(r);return[0,n,[va(s,{[da]:null,[ua]:m},da,(a=>q(l,a)&&a==r)),va(i,{[Ea]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>q(l,t)&&t==r)),c],l]})(t);return(A?ra:la)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+Aa))[0][Aa],e=(await n(ga+Ca))[0][Ca],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(v??=s)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=null,i(t)}),c,h,O(f),l,y,d)},fa=(t,e,n,s,i)=>ha(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);export{fa as createExpoSqliteNextPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),L=Object,b=a=>L.getPrototypeOf(a),R=L.entries,S=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(S(a)),x=a=>(a=>!r(a)&&l(b(a),(a=>a==L.prototype||r(b(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(T(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),q="TABLE",z="ALTER "+q,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=B();return[async()=>J(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(c,t,J(G(c,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!r(Y(Y(c,a),t)))(t,e)?I(C(A(await a(V+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=U();_(o??{},(a=>A(S(a??{}),(a=>W(u,a)))));const E=O(u);if(!y&&w&&h(E)&&T(c,t))return await a("DROP "+q+g(t)),void k(c,t);if(h(E)||T(c,t)){const n=Y(c,t),i=U(H(n));await d([...A(E,(async s=>{f(i,s)||(await a(z+g(t)+"ADD"+g(s)),k(n,s,e))})),...!y&&l?A(O(i),(async e=>{e!=s&&(await a(z+g(t)+"DROP"+g(e)),k(n,e))})):[]])}else await a("CREATE "+q+g(t)+"("+g(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+g(a))))});`),k(c,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(K+g(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(K+g(t)+X+g(s)+"=?",[n]):h(E)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(h(E))T(c,t)&&await a(K+g(t)+X+" 1");else{const e=C(H(Y(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{N(n,t,...A(e,(t=>a?.[t]))),N(r,t)})),await aa(a,t,s,e,n,i),await a(K+g(t)+X+g(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+m(A(c,(a=>n+g(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+g(s)+")DO UPDATE SET"+m(A(c,(a=>g(a)+"=excluded."+g(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,p=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[g,v,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t)])(c,a),h=async a=>(2!=p&&(p=1,await T.schedule((async()=>{await a(),p=0}))),T),C=t=>{(g&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await T.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await T.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(l(E,a.delListener),E=void 0,T),isAutoSaving:()=>!r(E),schedule:async(...a)=>(N(Y(sa,y),...a),await(async()=>{if(!Y(na,y)){for(k(na,y,1);!r((a=Y(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(na,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(T)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,g,v)=>{const[m,A,h,N]=Z(t,y,s,v),T=async(a,t)=>await d($(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await h(e,n,a[c],s,i,t)}))),O=async(a,t)=>l?await h(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await N((async()=>{await m();const a=await(async()=>I(C(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await O(e)}else{const[a,e]=t();await T(a,!0),await O(e,!0)}}))),e,n,s,!1,{[g]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},ga=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||k(s,i,c)})),s},va="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,g,m;const[A,h,C,N]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=U(r);return[0,n,[ga(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),ga(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(m??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=g=null,i(t)}),r,C,O(N),l,u,d)},Ca=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),n,s,t);export{Ca as createExpoSqlitePersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==u(a),h=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,b=a=>L.getPrototypeOf(a),R=L.entries,S=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(S(a)),x=a=>(a=>!r(a)&&l(b(a),(a=>a==L.prototype||r(b(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(T(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),q="TABLE",z="ALTER "+q,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const o=B();return[async()=>J(o,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!r(Y(Y(o,a),t)))(t,e)?I(h(A(await a(V+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();_(c??{},(a=>A(S(a??{}),(a=>W(u,a)))));const E=f(u);if(!y&&w&&C(E)&&T(o,t))return await a("DROP "+q+g(t)),void k(o,t);if(C(E)||T(o,t)){const n=Y(o,t),i=U(H(n));await d([...A(E,(async s=>{O(i,s)||(await a(z+g(t)+"ADD"+g(s)),k(n,s,e))})),...!y&&l?A(f(i),(async e=>{e!=s&&(await a(z+g(t)+"DROP"+g(e)),k(n,e))})):[]])}else await a("CREATE "+q+g(t)+"("+g(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+g(a))))});`),k(o,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(c)?await a(K+g(t)+X+" 1"):await d(_(c,(async(e,n)=>{r(e)?await a(K+g(t)+X+g(s)+"=?",[n]):C(E)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(C(E))T(o,t)&&await a(K+g(t)+X+" 1");else{const e=h(H(Y(o,t)),(a=>a!=s)),n=[],r=[];_(c??{},((a,t)=>{N(n,t,...A(e,(t=>a?.[t]))),N(r,t)})),await aa(a,t,s,e,n,i),await a(K+g(t)+X+g(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,o,c,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+m(A(o,(a=>n+g(a))))+")VALUES"+y(i(`,(?${i(",?",u(o))})`,u(c)/(u(o)+1)),1)+(r?"ON CONFLICT("+g(s)+")DO UPDATE SET"+m(A(o,(a=>g(a)+"=excluded."+g(a))),n):e),A(c,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,o,c={},y=[])=>{let u,d,E,p=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[g,v,m,A,C]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t),t.setDefaultContent])(o,a),h=async a=>(2!=p&&(p=1,await f.schedule((async()=>{await a(),p=0}))),f),T=t=>{(g&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f={load:async a=>await h((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await f.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{T(n??a?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(s(d),d=void 0),f),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await f.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f.save((()=>a))})),f),stopAutoSave:()=>(l(E,a.delListener),E=void 0,f),isAutoSaving:()=>!r(E),schedule:async(...a)=>(N(Y(sa,y),...a),await(async()=>{if(!Y(na,y)){for(k(na,y,1);!r((a=Y(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(na,y,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return D(f)},oa="store",ca=(a,t,e,n,s,[i],o,c,r,l)=>{const[w,y,u,d]=Z(t,o,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},ra=(a,t,e,n,s,[i,o,[c,l,w]],y,u,g,v)=>{const[m,A,C,N]=Z(t,y,s,v),T=async(a,t)=>await d($(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await C(e,n,a[o],s,i,t)}))),f=async(a,t)=>l?await C(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await N((async()=>{await m();const a=await(async()=>I(h(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>c?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,n,s,!1,{[g]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},ga=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const o=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(o[0])||n(i,o[0])||k(s,i,o)})),s},va="pragma ",ma="data_version",Aa="schema_version",Ca=(a,e,n,s,i,o,r,l,u="getDb",d)=>{let E,g,m;const[A,C,h,N]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=y(F(M(pa,o)),0,j(pa)),r=c[2],l=U(r);return[0,n,[ga(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),ga(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),c],l]})(e);return(A?ca:ra)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(m??=s)||(a(),E=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=null,i(t)}),r,h,f(N),l,u,d)},ha=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),n,s,t);export{ha as createExpoSqlitePersister};
@@ -1 +1 @@
1
- import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const s=t=>typeof t,n=s(""),o="utf8",r=t=>null==t,i=(t,a,e)=>r(t)?e?.():a(t),c=Object,y=t=>c.getPrototypeOf(t),g=c.keys,p=c.freeze,l=t=>(t=>!r(t)&&i(y(t),(t=>t==c.prototype||r(y(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),u=JSON.parse,d=t=>new Map(t),h=(t,a)=>t?.get(a),v=(t,a,e)=>{return r(e)?(s=t,n=a,s?.delete(n),t):t?.set(a,e);var s,n},w=(t,a,e,s)=>{var n,o;return n=t,o=a,n?.has(o)?s?.(h(t,a)):v(t,a,e()),h(t,a)},f=d(),A=d(),C=(y,g,d)=>((t,a,e,o,c,y,g,u={},d=[])=>{let C,S,L,M=0;w(f,d,(()=>0)),w(A,d,(()=>[]));const[b,m,O,T]=((t,a)=>!t||r(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,a])=>!l(t)||!l(a)]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([,[[,t],[,a]]])=>!l(t)||!l(a)])(g,t),F=async t=>(2!=M&&(M=1,await N.schedule((async()=>{await t(),M=0}))),N),J=a=>{var e;(b&&(e=a?.[0],s(e)==n)?1===a?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},N={load:async(e,s)=>await F((async()=>{try{J(await a())}catch(a){y?.(a),t.setContent([e,s])}})),startAutoLoad:async(t={},e={})=>(await N.stopAutoLoad().load(t,e),S=o((async(t,e)=>{const s=e?.();await F((async()=>{try{J(s??t?.()??await a())}catch(t){y?.(t)}}))})),N),stopAutoLoad:()=>(S&&(c(S),S=void 0),N),isAutoLoading:()=>!r(S),save:async t=>(1!=M&&(M=2,await N.schedule((async()=>{try{await e(m,t)}catch(t){y?.(t)}M=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),L=t.addDidFinishTransactionListener((()=>{const t=O();T(t)&&N.save((()=>t))})),N),stopAutoSave:()=>(i(L,t.delListener),L=void 0,N),isAutoSaving:()=>!r(L),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(h(A,d),...t),await(async()=>{if(!h(f,d)){for(v(f,d,1);!r((t=h(A,d),C=t.shift()));)try{await C()}catch(t){y?.(t)}v(f,d,0)}var t})(),N),getStore:()=>t,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return p(N)})(y,(async()=>u(await a(g,o))),(async t=>{return await e(g,(a=t(),JSON.stringify(a,((t,a)=>a instanceof Map?c.fromEntries([...a]):a))),o);var a}),(a=>t(g,(()=>a()))),(t=>t?.close()),d,!0,{getFilePath:()=>g});export{C as createFilePersister};
1
+ import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const s=t=>typeof t,n=s(""),o="utf8",r=t=>null==t,i=(t,a,e)=>r(t)?e?.():a(t),c=Object,y=t=>c.getPrototypeOf(t),g=c.keys,p=c.freeze,l=t=>(t=>!r(t)&&i(y(t),(t=>t==c.prototype||r(y(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),u=JSON.parse,d=t=>new Map(t),h=(t,a)=>t?.get(a),f=(t,a,e)=>{return r(e)?(s=t,n=a,s?.delete(n),t):t?.set(a,e);var s,n},v=(t,a,e,s)=>{var n,o;return n=t,o=a,n?.has(o)?s?.(h(t,a)):f(t,a,e()),h(t,a)},w=d(),C=d(),A=(y,g,d)=>((t,a,e,o,c,y,g,u={},d=[])=>{let A,S,L,M=0;v(w,d,(()=>0)),v(C,d,(()=>[]));const[b,m,O,T,D]=((t,a)=>!t||r(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,a])=>!l(t)||!l(a),a.setContent]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([,[[,t],[,a]]])=>!l(t)||!l(a),a.setDefaultContent])(g,t),F=async t=>(2!=M&&(M=1,await N.schedule((async()=>{await t(),M=0}))),N),J=a=>{var e;(b&&(e=a?.[0],s(e)==n)?1===a?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},N={load:async t=>await F((async()=>{try{J(await a())}catch(a){y?.(a),t&&D(t)}})),startAutoLoad:async t=>(await N.stopAutoLoad().load(t),S=o((async(t,e)=>{const s=e?.();await F((async()=>{try{J(s??t?.()??await a())}catch(t){y?.(t)}}))})),N),stopAutoLoad:()=>(S&&(c(S),S=void 0),N),isAutoLoading:()=>!r(S),save:async t=>(1!=M&&(M=2,await N.schedule((async()=>{try{await e(m,t)}catch(t){y?.(t)}M=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),L=t.addDidFinishTransactionListener((()=>{const t=O();T(t)&&N.save((()=>t))})),N),stopAutoSave:()=>(i(L,t.delListener),L=void 0,N),isAutoSaving:()=>!r(L),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(h(C,d),...t),await(async()=>{if(!h(w,d)){for(f(w,d,1);!r((t=h(C,d),A=t.shift()));)try{await A()}catch(t){y?.(t)}f(w,d,0)}var t})(),N),getStore:()=>t,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return p(N)})(y,(async()=>u(await a(g,o))),(async t=>{return await e(g,(a=t(),JSON.stringify(a,((t,a)=>a instanceof Map?c.fromEntries([...a]):a))),o);var a}),(a=>t(g,(()=>a()))),(t=>t?.close()),d,!0,{getFilePath:()=>g});export{A as createFilePersister};
Binary file
@@ -1 +1 @@
1
- const t=t=>typeof t,e=t(""),a=Promise,s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=t=>new a(t),c=async t=>a.all(t),i=(t,e)=>t.map(e),l=(t,...e)=>t.push(...e),y=Object,d=t=>y.getPrototypeOf(t),u=y.entries,g=y.keys,w=y.freeze,p=t=>(t=>!n(t)&&o(d(t),(t=>t==y.prototype||n(d(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),h=t=>new Map(t),v=(t,e)=>t?.get(e),A=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},b=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(v(t,e)):A(t,e,a()),v(t,e)},C=h(),S=h(),f=globalThis.window,L=["t","v"],M={keyPath:"k"},k=async(t,e)=>{const a=((e,a)=>i(u(e),(([e,a])=>D(t,"put",{k:e,v:a}))))(e);i(await D(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:l(a,D(t,"delete",s)))),await c(a)},D=async(t,e,a)=>r(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)})),j=(a,d,u=1,g)=>{const h=async(t,e=[],a=0)=>r(((s,n)=>{const o=(f?f.indexedDB:indexedDB).open(d,a?2:void 0);o.onupgradeneeded=()=>a&&i(L,(t=>{try{o.result.createObjectStore(t,M)}catch{}})),o.onsuccess=async()=>{try{const a=o.result.transaction(L,"readwrite"),n=await c(i(L,(async(s,n)=>await t(a.objectStore(s),e[n]))));o.result.close(),s(n)}catch(t){o.result.close(),n(t)}},o.onerror=()=>n("indexedDB.open error")}));return((a,s,r,c,i,y,d,u={},g=[])=>{let h,f,L,M=0;b(C,g,(()=>0)),b(S,g,(()=>[]));const[k,D,j,m]=((t,e)=>!t||n(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e)])(d,a),x=async t=>(2!=M&&(M=1,await B.schedule((async()=>{await t(),M=0}))),B),T=s=>{var n;(k&&(n=s?.[0],t(n)==e)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},B={load:async(t,e)=>await x((async()=>{try{T(await s())}catch(s){y?.(s),a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(await B.stopAutoLoad().load(t,e),f=c((async(t,e)=>{const a=e?.();await x((async()=>{try{T(a??t?.()??await s())}catch(t){y?.(t)}}))})),B),stopAutoLoad:()=>(f&&(i(f),f=void 0),B),isAutoLoading:()=>!n(f),save:async t=>(1!=M&&(M=2,await B.schedule((async()=>{try{await r(D,t)}catch(t){y?.(t)}M=0}))),B),startAutoSave:async()=>(await B.stopAutoSave().save(),L=a.addDidFinishTransactionListener((()=>{const t=j();m(t)&&B.save((()=>t))})),B),stopAutoSave:()=>(o(L,a.delListener),L=void 0,B),isAutoSaving:()=>!n(L),schedule:async(...t)=>(l(v(S,g),...t),await(async()=>{if(!v(C,g)){for(A(C,g,1);!n((t=v(S,g),h=t.shift()));)try{await h()}catch(t){y?.(t)}A(C,g,0)}var t})(),B),getStore:()=>a,destroy:()=>B.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return w(B)})(a,(async()=>await h((async t=>((t=[])=>y.fromEntries(t))(i(await D(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await h((async(t,e)=>await k(t,e)),t(),1)),(t=>setInterval(t,1e3*u)),(t=>s(t)),g,!1,{getDbName:()=>d})};export{j as createIndexedDbPersister,k as objectStoreMatch};
1
+ const t=t=>typeof t,e=t(""),a=Promise,s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=t=>new a(t),c=async t=>a.all(t),i=(t,e)=>t.map(e),l=(t,...e)=>t.push(...e),y=Object,d=t=>y.getPrototypeOf(t),u=y.entries,g=y.keys,w=y.freeze,p=t=>(t=>!n(t)&&o(d(t),(t=>t==y.prototype||n(d(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),h=t=>new Map(t),v=(t,e)=>t?.get(e),A=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},b=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(v(t,e)):A(t,e,a()),v(t,e)},C=h(),S=h(),f=globalThis.window,L=["t","v"],D={keyPath:"k"},M=async(t,e)=>{const a=((e,a)=>i(u(e),(([e,a])=>k(t,"put",{k:e,v:a}))))(e);i(await k(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:l(a,k(t,"delete",s)))),await c(a)},k=async(t,e,a)=>r(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)})),j=(a,d,u=1,g)=>{const h=async(t,e=[],a=0)=>r(((s,n)=>{const o=(f?f.indexedDB:indexedDB).open(d,a?2:void 0);o.onupgradeneeded=()=>a&&i(L,(t=>{try{o.result.createObjectStore(t,D)}catch{}})),o.onsuccess=async()=>{try{const a=o.result.transaction(L,"readwrite"),n=await c(i(L,(async(s,n)=>await t(a.objectStore(s),e[n]))));o.result.close(),s(n)}catch(t){o.result.close(),n(t)}},o.onerror=()=>n("indexedDB.open error")}));return((a,s,r,c,i,y,d,u={},g=[])=>{let h,f,L,D=0;b(C,g,(()=>0)),b(S,g,(()=>[]));const[M,k,j,m,x]=((t,e)=>!t||n(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e),e.setContent]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e),e.setDefaultContent])(d,a),T=async t=>(2!=D&&(D=1,await O.schedule((async()=>{await t(),D=0}))),O),B=s=>{var n;(M&&(n=s?.[0],t(n)==e)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},O={load:async t=>await T((async()=>{try{B(await s())}catch(e){y?.(e),t&&x(t)}})),startAutoLoad:async t=>(await O.stopAutoLoad().load(t),f=c((async(t,e)=>{const a=e?.();await T((async()=>{try{B(a??t?.()??await s())}catch(t){y?.(t)}}))})),O),stopAutoLoad:()=>(f&&(i(f),f=void 0),O),isAutoLoading:()=>!n(f),save:async t=>(1!=D&&(D=2,await O.schedule((async()=>{try{await r(k,t)}catch(t){y?.(t)}D=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),L=a.addDidFinishTransactionListener((()=>{const t=j();m(t)&&O.save((()=>t))})),O),stopAutoSave:()=>(o(L,a.delListener),L=void 0,O),isAutoSaving:()=>!n(L),schedule:async(...t)=>(l(v(S,g),...t),await(async()=>{if(!v(C,g)){for(A(C,g,1);!n((t=v(S,g),h=t.shift()));)try{await h()}catch(t){y?.(t)}A(C,g,0)}var t})(),O),getStore:()=>a,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return w(O)})(a,(async()=>await h((async t=>((t=[])=>y.fromEntries(t))(i(await k(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await h((async(t,e)=>await M(t,e)),t(),1)),(t=>setInterval(t,1e3*u)),(t=>s(t)),g,!1,{getDbName:()=>d})};export{j as createIndexedDbPersister,M as objectStoreMatch};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==u(a),h=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,b=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(b(a)),x=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(N(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),q="TABLE",z="ALTER "+q,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=B();return[async()=>J(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(c,t,J(G(c,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!r(Y(Y(c,a),t)))(t,e)?I(h(A(await a(V+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=U();_(o??{},(a=>A(b(a??{}),(a=>W(u,a)))));const E=O(u);if(!y&&w&&C(E)&&N(c,t))return await a("DROP "+q+g(t)),void k(c,t);if(C(E)||N(c,t)){const n=Y(c,t),i=U(H(n));await d([...A(E,(async s=>{f(i,s)||(await a(z+g(t)+"ADD"+g(s)),k(n,s,e))})),...!y&&l?A(O(i),(async e=>{e!=s&&(await a(z+g(t)+"DROP"+g(e)),k(n,e))})):[]])}else await a("CREATE "+q+g(t)+"("+g(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+g(a))))});`),k(c,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(K+g(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(K+g(t)+X+g(s)+"=?",[n]):C(E)||await aa(a,t,s,b(e),[n,...F(e)],i)})));else if(C(E))N(c,t)&&await a(K+g(t)+X+" 1");else{const e=h(H(Y(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{T(n,t,...A(e,(t=>a?.[t]))),T(r,t)})),await aa(a,t,s,e,n,i),await a(K+g(t)+X+g(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+m(A(c,(a=>n+g(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+g(s)+")DO UPDATE SET"+m(A(c,(a=>g(a)+"=excluded."+g(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,p=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[g,v,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t)])(c,a),C=async a=>(2!=p&&(p=1,await N.schedule((async()=>{await a(),p=0}))),N),h=t=>{(g&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async(e,n)=>await C((async()=>{try{h(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await N.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await C((async()=>{try{h(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await N.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(l(E,a.delListener),E=void 0,N),isAutoSaving:()=>!r(E),schedule:async(...a)=>(T(Y(sa,y),...a),await(async()=>{if(!Y(na,y)){for(k(na,y,1);!r((a=Y(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(na,y,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(N)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,g,v)=>{const[m,A,C,T]=Z(t,y,s,v),N=async(a,t)=>await d($(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await C(e,n,a[c],s,i,t)}))),O=async(a,t)=>l?await C(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(h(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await N(t),await O(e)}else{const[a,e]=t();await N(a,!0),await O(e,!0)}}))),e,n,s,!1,{[g]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},ga=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||k(s,i,c)})),s},va="pragma ",ma="data_version",Aa="schema_version",Ca=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,g,m;const[A,C,h,T]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=U(r);return[0,n,[ga(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),ga(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(m??=s)||(a(),E=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=g=null,i(t)}),r,h,O(T),l,u,d)},ha=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,t,"getClient");export{ha as createLibSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==u(a),h=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,b=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(b(a)),x=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(f(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),q="TABLE",z="ALTER "+q,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=B();return[async()=>J(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(c,t,J(G(c,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!r(Y(Y(c,a),t)))(t,e)?I(h(A(await a(V+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=U();_(o??{},(a=>A(b(a??{}),(a=>W(u,a)))));const E=N(u);if(!y&&w&&C(E)&&f(c,t))return await a("DROP "+q+g(t)),void k(c,t);if(C(E)||f(c,t)){const n=Y(c,t),i=U(H(n));await d([...A(E,(async s=>{O(i,s)||(await a(z+g(t)+"ADD"+g(s)),k(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(z+g(t)+"DROP"+g(e)),k(n,e))})):[]])}else await a("CREATE "+q+g(t)+"("+g(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+g(a))))});`),k(c,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(K+g(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(K+g(t)+X+g(s)+"=?",[n]):C(E)||await aa(a,t,s,b(e),[n,...F(e)],i)})));else if(C(E))f(c,t)&&await a(K+g(t)+X+" 1");else{const e=h(H(Y(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{T(n,t,...A(e,(t=>a?.[t]))),T(r,t)})),await aa(a,t,s,e,n,i),await a(K+g(t)+X+g(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+m(A(c,(a=>n+g(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+g(s)+")DO UPDATE SET"+m(A(c,(a=>g(a)+"=excluded."+g(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,p=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[g,v,m,A,C]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t),t.setDefaultContent])(c,a),h=async a=>(2!=p&&(p=1,await N.schedule((async()=>{await a(),p=0}))),N),f=t=>{(g&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async a=>await h((async()=>{try{f(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await N.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{f(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await N.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(l(E,a.delListener),E=void 0,N),isAutoSaving:()=>!r(E),schedule:async(...a)=>(T(Y(sa,y),...a),await(async()=>{if(!Y(na,y)){for(k(na,y,1);!r((a=Y(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(na,y,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(N)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,g,v)=>{const[m,A,C,T]=Z(t,y,s,v),f=async(a,t)=>await d($(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await C(e,n,a[c],s,i,t)}))),N=async(a,t)=>l?await C(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(h(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await f(t),await N(e)}else{const[a,e]=t();await f(a,!0),await N(e,!0)}}))),e,n,s,!1,{[g]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},ga=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||k(s,i,c)})),s},va="pragma ",ma="data_version",Aa="schema_version",Ca=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,g,m;const[A,C,h,T]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=U(r);return[0,n,[ga(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),ga(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(m??=s)||(a(),E=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=g=null,i(t)}),r,h,N(T),l,u,d)},ha=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,t,"getClient");export{ha as createLibSqlPersister};
@@ -1 +1 @@
1
- const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),n=e=>t(e)==a,r=t=>t.length,c=Object,i=t=>c.getPrototypeOf(t),y=c.keys,d=c.freeze,g=t=>(t=>!s(t)&&o(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),h=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),p=JSON.parse,l="/store",u=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(o=t,n=e,o?.delete(n),t):t?.set(e,a);var o,n},f=(t,e,a,s)=>{var o,n;return o=t,n=e,o?.has(n)?s?.(v(t,e)):w(t,e,a()),v(t,e)},C=u(),A=u(),S="message",L=(t,a,c,i)=>{const{host:y,room:u}=a.partySocketOptions,{storeProtocol:L="https",storePath:m=l,messagePrefix:b=e}={...n(c)?{storeProtocol:c}:c},M=L+"://"+y+"/parties/"+a.name+"/"+u+m,P=async t=>await(await fetch(M,{...t?{method:"PUT",body:h(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,r,c,i,y,h={},p=[])=>{let l,u,S,L=0;f(C,p,(()=>0)),f(A,p,(()=>[]));const[m,b,M,P]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!g(t)||!g(e)])(y,t),O=async t=>(2!=L&&(L=1,await E.schedule((async()=>{await t(),L=0}))),E),T=e=>{(m&&n(e?.[0])?1===e?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E={load:async(a,s)=>await O((async()=>{try{T(await e())}catch(e){i?.(e),t.setContent([a,s])}})),startAutoLoad:async(t={},a={})=>(await E.stopAutoLoad().load(t,a),u=r((async(t,a)=>{const s=a?.();await O((async()=>{try{T(s??t?.()??await e())}catch(t){i?.(t)}}))})),E),stopAutoLoad:()=>(u&&(c(u),u=void 0),E),isAutoLoading:()=>!s(u),save:async t=>(1!=L&&(L=2,await E.schedule((async()=>{try{await a(b,t)}catch(t){i?.(t)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=t.addDidFinishTransactionListener((()=>{const t=M();P(t)&&E.save((()=>t))})),E),stopAutoSave:()=>(o(S,t.delListener),S=void 0,E),isAutoSaving:()=>!s(S),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(A,p),...t),await(async()=>{if(!v(C,p)){for(w(C,p,1);!s((t=v(A,p),l=t.shift()));)try{await l()}catch(t){i?.(t)}w(C,p,0)}var t})(),E),getStore:()=>t,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...h};return d(E)})(t,(async()=>await P()),(async(t,e)=>{var s,o;e?a.send((s=b,o=e(),s+"s"+(n(o)?o:h(o)))):await P(t())}),(t=>{const e=e=>o(((t,e,a)=>{const s=r(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],p((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(b,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return a.addEventListener(S,e),e}),(t=>{a.removeEventListener(S,t)}),i,!1,{getConnection:()=>a})};export{L as createPartyKitPersister};
1
+ const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),n=e=>t(e)==a,r=t=>t.length,c=Object,i=t=>c.getPrototypeOf(t),y=c.keys,d=c.freeze,g=t=>(t=>!s(t)&&o(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),h=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),p=JSON.parse,l="/store",u=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(o=t,n=e,o?.delete(n),t):t?.set(e,a);var o,n},f=(t,e,a,s)=>{var o,n;return o=t,n=e,o?.has(n)?s?.(v(t,e)):w(t,e,a()),v(t,e)},C=u(),A=u(),S="message",L=(t,a,c,i)=>{const{host:y,room:u}=a.partySocketOptions,{storeProtocol:L="https",storePath:m=l,messagePrefix:b=e}={...n(c)?{storeProtocol:c}:c},M=L+"://"+y+"/parties/"+a.name+"/"+u+m,P=async t=>await(await fetch(M,{...t?{method:"PUT",body:h(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,r,c,i,y,h={},p=[])=>{let l,u,S,L=0;f(C,p,(()=>0)),f(A,p,(()=>[]));const[m,b,M,P,O]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!g(t)||!g(e),e.setDefaultContent])(y,t),T=async t=>(2!=L&&(L=1,await j.schedule((async()=>{await t(),L=0}))),j),E=e=>{(m&&n(e?.[0])?1===e?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},j={load:async t=>await T((async()=>{try{E(await e())}catch(e){i?.(e),t&&O(t)}})),startAutoLoad:async t=>(await j.stopAutoLoad().load(t),u=r((async(t,a)=>{const s=a?.();await T((async()=>{try{E(s??t?.()??await e())}catch(t){i?.(t)}}))})),j),stopAutoLoad:()=>(u&&(c(u),u=void 0),j),isAutoLoading:()=>!s(u),save:async t=>(1!=L&&(L=2,await j.schedule((async()=>{try{await a(b,t)}catch(t){i?.(t)}L=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),S=t.addDidFinishTransactionListener((()=>{const t=M();P(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(o(S,t.delListener),S=void 0,j),isAutoSaving:()=>!s(S),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(A,p),...t),await(async()=>{if(!v(C,p)){for(w(C,p,1);!s((t=v(A,p),l=t.shift()));)try{await l()}catch(t){i?.(t)}w(C,p,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...h};return d(j)})(t,(async()=>await P()),(async(t,e)=>{var s,o;e?a.send((s=b,o=e(),s+"s"+(n(o)?o:h(o)))):await P(t())}),(t=>{const e=e=>o(((t,e,a)=>{const s=r(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],p((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(b,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return a.addEventListener(S,e),e}),(t=>{a.removeEventListener(S,t)}),i,!1,{getConnection:()=>a})};export{L as createPartyKitPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",g="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),R=O.entries,S=O.keys,D=O.freeze,I=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>O.values(a),j=a=>u(S(a)),x=a=>(a=>!r(a)&&l(L(a),(a=>a==O.prototype||r(L(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(b(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(f(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",q=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const o=B();return[async()=>J(o,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!r(Y(Y(o,a),t)))(t,e)?I(C(A(await a(q+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();_(c??{},(a=>A(S(a??{}),(a=>W(u,a)))));const E=N(u);if(!y&&w&&h(E)&&f(o,t))return await a("DROP "+z+p(t)),void k(o,t);if(h(E)||f(o,t)){const n=Y(o,t),i=U(H(n));await d([...A(E,(async s=>{b(i,s)||(await a(K+p(t)+"ADD"+p(s)),k(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(K+p(t)+"DROP"+p(e)),k(n,e))})):[]])}else await a("CREATE "+z+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+p(a))))});`),k(o,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(c)?await a(V+p(t)+X+" 1"):await d(_(c,(async(e,n)=>{r(e)?await a(V+p(t)+X+p(s)+"=?",[n]):h(E)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(h(E))f(o,t)&&await a(V+p(t)+X+" 1");else{const e=C(H(Y(o,t)),(a=>a!=s)),n=[],r=[];_(c??{},((a,t)=>{T(n,t,...A(e,(t=>a?.[t]))),T(r,t)})),await aa(a,t,s,e,n,i),await a(V+p(t)+X+p(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,o,c,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+m(A(o,(a=>n+p(a))))+")VALUES"+y(i(`,(?${i(",?",u(o))})`,u(c)/(u(o)+1)),1)+(r?"ON CONFLICT("+p(s)+")DO UPDATE SET"+m(A(o,(a=>p(a)+"=excluded."+p(a))),n):e),A(c,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,o,c={},y=[])=>{let u,d,E,g=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[p,v,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t)])(o,a),h=async a=>(2!=g&&(g=1,await f.schedule((async()=>{await a(),g=0}))),f),C=t=>{(p&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await f.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(s(d),d=void 0),f),isAutoLoading:()=>!r(d),save:async a=>(1!=g&&(g=2,await f.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f.save((()=>a))})),f),stopAutoSave:()=>(l(E,a.delListener),E=void 0,f),isAutoSaving:()=>!r(E),schedule:async(...a)=>(T(Y(sa,y),...a),await(async()=>{if(!Y(na,y)){for(k(na,y,1);!r((a=Y(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(na,y,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return D(f)},oa="store",ca=(a,t,e,n,s,[i],o,c,r,l)=>{const[w,y,u,d]=Z(t,o,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,g))[E]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[E]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},ra=(a,t,e,n,s,[i,o,[c,l,w]],y,u,p,v)=>{const[m,A,h,T]=Z(t,y,s,v),f=async(a,t)=>await d($(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await h(e,n,a[o],s,i,t)}))),N=async(a,t)=>l?await h(w,g,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(C(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>c?(await A(w,g))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await f(t),await N(e)}else{const[a,e]=t();await f(a,!0),await N(e,!0)}}))),e,n,s,!1,{[p]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},ga={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const o=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(o[0])||n(i,o[0])||k(s,i,o)})),s},va="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,o,r,l,u="getDb",d)=>{let E,p,m;const[A,h,C,T]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=y(F(M(ga,o)),0,j(ga)),r=c[2],l=U(r);return[0,n,[pa(s,{[ua]:null,[ya]:g},ua,(a=>W(l,a)&&a==r)),pa(i,{[da]:null,[ya]:g,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),c],l]})(e);return(A?ca:ra)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(m??=s)||(a(),E=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=p=null,i(t)}),r,C,N(T),l,u,d)},Ca=(a,t,e,n,s,i=!1)=>ha(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)A(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,t,"getPowerSync",i);export{Ca as createPowerSyncPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",g="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),R=O.entries,S=O.keys,D=O.freeze,I=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>O.values(a),j=a=>u(S(a)),x=a=>(a=>!r(a)&&l(L(a),(a=>a==O.prototype||r(L(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(b(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(f(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",q=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const o=B();return[async()=>J(o,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!r(Y(Y(o,a),t)))(t,e)?I(C(A(await a(q+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();_(c??{},(a=>A(S(a??{}),(a=>W(u,a)))));const E=N(u);if(!y&&w&&h(E)&&f(o,t))return await a("DROP "+z+p(t)),void k(o,t);if(h(E)||f(o,t)){const n=Y(o,t),i=U(H(n));await d([...A(E,(async s=>{b(i,s)||(await a(K+p(t)+"ADD"+p(s)),k(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(K+p(t)+"DROP"+p(e)),k(n,e))})):[]])}else await a("CREATE "+z+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+p(a))))});`),k(o,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(c)?await a(V+p(t)+X+" 1"):await d(_(c,(async(e,n)=>{r(e)?await a(V+p(t)+X+p(s)+"=?",[n]):h(E)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(h(E))f(o,t)&&await a(V+p(t)+X+" 1");else{const e=C(H(Y(o,t)),(a=>a!=s)),n=[],r=[];_(c??{},((a,t)=>{T(n,t,...A(e,(t=>a?.[t]))),T(r,t)})),await aa(a,t,s,e,n,i),await a(V+p(t)+X+p(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,o,c,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+m(A(o,(a=>n+p(a))))+")VALUES"+y(i(`,(?${i(",?",u(o))})`,u(c)/(u(o)+1)),1)+(r?"ON CONFLICT("+p(s)+")DO UPDATE SET"+m(A(o,(a=>p(a)+"=excluded."+p(a))),n):e),A(c,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,o,c={},y=[])=>{let u,d,E,g=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[p,v,m,A,h]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t),t.setDefaultContent])(o,a),C=async a=>(2!=g&&(g=1,await N.schedule((async()=>{await a(),g=0}))),N),f=t=>{(p&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async a=>await C((async()=>{try{f(await t())}catch(t){i?.(t),a&&h(a)}})),startAutoLoad:async a=>(await N.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await C((async()=>{try{f(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!r(d),save:async a=>(1!=g&&(g=2,await N.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(l(E,a.delListener),E=void 0,N),isAutoSaving:()=>!r(E),schedule:async(...a)=>(T(Y(sa,y),...a),await(async()=>{if(!Y(na,y)){for(k(na,y,1);!r((a=Y(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(na,y,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return D(N)},oa="store",ca=(a,t,e,n,s,[i],o,c,r,l)=>{const[w,y,u,d]=Z(t,o,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,g))[E]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[E]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},ra=(a,t,e,n,s,[i,o,[c,l,w]],y,u,p,v)=>{const[m,A,h,T]=Z(t,y,s,v),f=async(a,t)=>await d($(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await h(e,n,a[o],s,i,t)}))),N=async(a,t)=>l?await h(w,g,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(C(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>c?(await A(w,g))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await f(t),await N(e)}else{const[a,e]=t();await f(a,!0),await N(e,!0)}}))),e,n,s,!1,{[p]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},ga={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const o=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(o[0])||n(i,o[0])||k(s,i,o)})),s},va="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,o,r,l,u="getDb",d)=>{let E,p,m;const[A,h,C,T]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=y(F(M(ga,o)),0,j(ga)),r=c[2],l=U(r);return[0,n,[pa(s,{[ua]:null,[ya]:g},ua,(a=>W(l,a)&&a==r)),pa(i,{[da]:null,[ya]:g,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),c],l]})(e);return(A?ca:ra)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(m??=s)||(a(),E=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=p=null,i(t)}),r,C,N(T),l,u,d)},Ca=(a,t,e,n,s,i=!1)=>ha(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)A(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,t,"getPowerSync",i);export{Ca as createPowerSyncPersister};
@@ -1 +1 @@
1
- const t=t=>typeof t,a=t(""),e=clearInterval,n=t=>null==t,s=(t,a,e)=>n(t)?e?.():a(t),o=Object,r=t=>o.getPrototypeOf(t),c=o.keys,i=o.freeze,y=t=>(t=>!n(t)&&s(r(t),(t=>t==o.prototype||n(r(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),g=JSON.parse,l=t=>new Map(t),d=(t,a)=>t?.get(a),h=(t,a,e)=>{return n(e)?(s=t,o=a,s?.delete(o),t):t?.set(a,e);var s,o},p=(t,a,e,n)=>{var s,o;return s=t,o=a,s?.has(o)?n?.(d(t,a)):h(t,a,e()),d(t,a)},u=l(),v=l(),w=t=>t.headers.get("ETag"),f=(r,c,l,f=5,A)=>{let C;return((e,o,r,c,g,l,w,f={},A=[])=>{let C,S,b,L=0;p(u,A,(()=>0)),p(v,A,(()=>[]));const[M,T,O,m]=((t,a)=>!t||n(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,a])=>!y(t)||!y(a)]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([,[[,t],[,a]]])=>!y(t)||!y(a)])(w,e),E=async t=>(2!=L&&(L=1,await x.schedule((async()=>{await t(),L=0}))),x),j=n=>{var s;(M&&(s=n?.[0],t(s)==a)?1===n?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===n?.[2]?e.applyChanges:e.setContent)(n)},x={load:async(t,a)=>await E((async()=>{try{j(await o())}catch(n){l?.(n),e.setContent([t,a])}})),startAutoLoad:async(t={},a={})=>(await x.stopAutoLoad().load(t,a),S=c((async(t,a)=>{const e=a?.();await E((async()=>{try{j(e??t?.()??await o())}catch(t){l?.(t)}}))})),x),stopAutoLoad:()=>(S&&(g(S),S=void 0),x),isAutoLoading:()=>!n(S),save:async t=>(1!=L&&(L=2,await x.schedule((async()=>{try{await r(T,t)}catch(t){l?.(t)}L=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),b=e.addDidFinishTransactionListener((()=>{const t=O();m(t)&&x.save((()=>t))})),x),stopAutoSave:()=>(s(b,e.delListener),b=void 0,x),isAutoSaving:()=>!n(b),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(d(v,A),...t),await(async()=>{if(!d(u,A)){for(h(u,A,1);!n((t=d(v,A),C=t.shift()));)try{await C()}catch(t){l?.(t)}h(u,A,0)}var t})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...f};return i(x)})(r,(async()=>{const t=await fetch(c);return C=w(t),g(await t.text())}),(async t=>{return await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>a instanceof Map?o.fromEntries([...a]):a)))});var a}),(t=>setInterval((async()=>{const a=await fetch(c,{method:"HEAD"}),e=w(a);n(C)||n(e)||e==C||(C=e,t())}),1e3*f)),(t=>e(t)),A,!1,{getUrls:()=>[c,l]})};export{f as createRemotePersister};
1
+ const t=t=>typeof t,a=t(""),e=clearInterval,n=t=>null==t,s=(t,a,e)=>n(t)?e?.():a(t),o=Object,r=t=>o.getPrototypeOf(t),c=o.keys,i=o.freeze,y=t=>(t=>!n(t)&&s(r(t),(t=>t==o.prototype||n(r(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),g=JSON.parse,l=t=>new Map(t),d=(t,a)=>t?.get(a),h=(t,a,e)=>{return n(e)?(s=t,o=a,s?.delete(o),t):t?.set(a,e);var s,o},p=(t,a,e,n)=>{var s,o;return s=t,o=a,s?.has(o)?n?.(d(t,a)):h(t,a,e()),d(t,a)},u=l(),v=l(),w=t=>t.headers.get("ETag"),f=(r,c,l,f=5,C)=>{let A;return((e,o,r,c,g,l,w,f={},C=[])=>{let A,S,b,L=0;p(u,C,(()=>0)),p(v,C,(()=>[]));const[M,T,O,m,D]=((t,a)=>!t||n(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,a])=>!y(t)||!y(a),a.setContent]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([,[[,t],[,a]]])=>!y(t)||!y(a),a.setDefaultContent])(w,e),E=async t=>(2!=L&&(L=1,await x.schedule((async()=>{await t(),L=0}))),x),j=n=>{var s;(M&&(s=n?.[0],t(s)==a)?1===n?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===n?.[2]?e.applyChanges:e.setContent)(n)},x={load:async t=>await E((async()=>{try{j(await o())}catch(a){l?.(a),t&&D(t)}})),startAutoLoad:async t=>(await x.stopAutoLoad().load(t),S=c((async(t,a)=>{const e=a?.();await E((async()=>{try{j(e??t?.()??await o())}catch(t){l?.(t)}}))})),x),stopAutoLoad:()=>(S&&(g(S),S=void 0),x),isAutoLoading:()=>!n(S),save:async t=>(1!=L&&(L=2,await x.schedule((async()=>{try{await r(T,t)}catch(t){l?.(t)}L=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),b=e.addDidFinishTransactionListener((()=>{const t=O();m(t)&&x.save((()=>t))})),x),stopAutoSave:()=>(s(b,e.delListener),b=void 0,x),isAutoSaving:()=>!n(b),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(d(v,C),...t),await(async()=>{if(!d(u,C)){for(h(u,C,1);!n((t=d(v,C),A=t.shift()));)try{await A()}catch(t){l?.(t)}h(u,C,0)}var t})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...f};return i(x)})(r,(async()=>{const t=await fetch(c);return A=w(t),g(await t.text())}),(async t=>{return await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>a instanceof Map?o.fromEntries([...a]):a)))});var a}),(t=>setInterval((async()=>{const a=await fetch(c,{method:"HEAD"}),e=w(a);n(A)||n(e)||e==A||(A=e,t())}),1e3*f)),(t=>e(t)),C,!1,{getUrls:()=>[c,l]})};export{f as createRemotePersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),p="_",E="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),b=L.entries,S=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),_=(a,t)=>t in a,P=(a,t)=>A(b(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(S(a)),k=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),x=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),q=(a,t,e,n)=>(N(a,t)?n?.(H(a,t)):$(a,t,e()),H(a,t)),G=(a,t,e,n=$)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||r(a)?a:[a]),U=(a,t)=>a?.add(t),V="TABLE",W="ALTER "+V,z="DELETE FROM",K=g+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const o=x();return[async()=>G(o,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(g+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(o,t,G(q(o,t,x),e,((a,t,e)=>{e!=H(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(o,t))),async(t,e)=>((a,t)=>!r(H(H(o,a),t)))(t,e)?I(C(A(await a(K+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!k(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=J();P(c??{},(a=>A(S(a??{}),(a=>U(u,a)))));const p=O(u);if(!y&&w&&h(p)&&N(o,t))return await a("DROP "+V+v(t)),void $(o,t);if(h(p)||N(o,t)){const n=H(o,t),i=J(B(n));await d([...A(p,(async s=>{f(i,s)||(await a(W+v(t)+"ADD"+v(s)),$(n,s,e))})),...!y&&l?A(O(i),(async e=>{e!=s&&(await a(W+v(t)+"DROP"+v(e)),$(n,e))})):[]])}else await a("CREATE "+V+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(p,(a=>n+v(a))))});`),$(o,t,x([[s,e],...A(p,(a=>[a,e]))]));if(y)r(c)?await a(z+v(t)+X+" 1"):await d(P(c,(async(e,n)=>{r(e)?await a(z+v(t)+X+v(s)+"=?",[n]):h(p)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(h(p))N(o,t)&&await a(z+v(t)+X+" 1");else{const e=C(B(H(o,t)),(a=>a!=s)),n=[],r=[];P(c??{},((a,t)=>{T(n,t,...A(e,(t=>a?.[t]))),T(r,t)})),await aa(a,t,s,e,n,i),await a(z+v(t)+X+v(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,o,c,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+m(A(o,(a=>n+v(a))))+")VALUES"+y(i(`,(?${i(",?",u(o))})`,u(c)/(u(o)+1)),1)+(r?"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(o,(a=>v(a)+"=excluded."+v(a))),n):e),A(c,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=x(),sa=x(),ia=(a,t,e,n,s,i,o,c={},y=[])=>{let u,d,p,E=0;q(na,y,(()=>0)),q(sa,y,(()=>[]));const[v,g,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!k(a)||!k(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!k(a)||!k(t)])(o,a),h=async a=>(2!=E&&(E=1,await N.schedule((async()=>{await a(),E=0}))),N),C=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await N.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!r(d),save:async a=>(1!=E&&(E=2,await N.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}E=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),p=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(l(p,a.delListener),p=void 0,N),isAutoSaving:()=>!r(p),schedule:async(...a)=>(T(H(sa,y),...a),await(async()=>{if(!H(na,y)){for($(na,y,1);!r((a=H(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}$(na,y,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return D(N)},oa="store",ca=(a,t,e,n,s,[i],o,c,r,l)=>{const[w,y,u,d]=Z(t,o,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,E))[p]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,E,{[p]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},ra=(a,t,e,n,s,[i,o,[c,l,w]],y,u,v,g)=>{const[m,A,h,T]=Z(t,y,s,g),N=async(a,t)=>await d(Y(o,(async([e,n,s,i],o)=>{t&&!_(a,o)||await h(e,n,a[o],s,i,t)}))),O=async(a,t)=>l?await h(w,E,{[p]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(C(await d(Y(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!k(a[1])))))(),t=await(async()=>c?(await A(w,E))[p]:{})();return k(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await N(t),await O(e)}else{const[a,e]=t();await N(a,!0),await O(e,!0)}}))),e,n,s,!1,{[v]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",pa={mode:la,[wa]:1},Ea={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=x();return P(a,((a,i)=>{const o=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(o[0])||n(i,o[0])||$(s,i,o)})),s},ga="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,o,r,l,u="getDb",d)=>{let p,v,m;const[A,h,C,T]=(a=>{const e=(a=>M(pa,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=y(F(M(Ea,o)),0,j(Ea)),r=c[2],l=J(r);return[0,n,[va(s,{[ua]:null,[ya]:E},ua,(a=>U(l,a)&&a==r)),va(i,{[da]:null,[ya]:E,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>U(l,t)&&t==r)),c],l]})(e);return(A?ca:ra)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+ma))[0][ma],e=(await n(ga+Aa))[0][Aa],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(v??=e)&&s==(m??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=null,i(t)}),r,C,O(T),l,u,d)},Ca=(a,t,e,n,s,i)=>ha(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,e);export{Ca as createSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),p="_",E="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),b=L.entries,S=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),_=(a,t)=>t in a,P=(a,t)=>A(b(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(S(a)),k=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),x=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),q=(a,t,e,n)=>(f(a,t)?n?.(H(a,t)):$(a,t,e()),H(a,t)),G=(a,t,e,n=$)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||r(a)?a:[a]),U=(a,t)=>a?.add(t),V="TABLE",W="ALTER "+V,z="DELETE FROM",K=g+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const o=x();return[async()=>G(o,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(g+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(o,t,G(q(o,t,x),e,((a,t,e)=>{e!=H(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(o,t))),async(t,e)=>((a,t)=>!r(H(H(o,a),t)))(t,e)?I(C(A(await a(K+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!k(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=J();P(c??{},(a=>A(S(a??{}),(a=>U(u,a)))));const p=N(u);if(!y&&w&&h(p)&&f(o,t))return await a("DROP "+V+v(t)),void $(o,t);if(h(p)||f(o,t)){const n=H(o,t),i=J(B(n));await d([...A(p,(async s=>{O(i,s)||(await a(W+v(t)+"ADD"+v(s)),$(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(W+v(t)+"DROP"+v(e)),$(n,e))})):[]])}else await a("CREATE "+V+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(p,(a=>n+v(a))))});`),$(o,t,x([[s,e],...A(p,(a=>[a,e]))]));if(y)r(c)?await a(z+v(t)+X+" 1"):await d(P(c,(async(e,n)=>{r(e)?await a(z+v(t)+X+v(s)+"=?",[n]):h(p)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(h(p))f(o,t)&&await a(z+v(t)+X+" 1");else{const e=C(B(H(o,t)),(a=>a!=s)),n=[],r=[];P(c??{},((a,t)=>{T(n,t,...A(e,(t=>a?.[t]))),T(r,t)})),await aa(a,t,s,e,n,i),await a(z+v(t)+X+v(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,o,c,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+m(A(o,(a=>n+v(a))))+")VALUES"+y(i(`,(?${i(",?",u(o))})`,u(c)/(u(o)+1)),1)+(r?"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(o,(a=>v(a)+"=excluded."+v(a))),n):e),A(c,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=x(),sa=x(),ia=(a,t,e,n,s,i,o,c={},y=[])=>{let u,d,p,E=0;q(na,y,(()=>0)),q(sa,y,(()=>[]));const[v,g,m,A,h]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!k(a)||!k(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!k(a)||!k(t),t.setDefaultContent])(o,a),C=async a=>(2!=E&&(E=1,await N.schedule((async()=>{await a(),E=0}))),N),f=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async a=>await C((async()=>{try{f(await t())}catch(t){i?.(t),a&&h(a)}})),startAutoLoad:async a=>(await N.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await C((async()=>{try{f(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!r(d),save:async a=>(1!=E&&(E=2,await N.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}E=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),p=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(l(p,a.delListener),p=void 0,N),isAutoSaving:()=>!r(p),schedule:async(...a)=>(T(H(sa,y),...a),await(async()=>{if(!H(na,y)){for($(na,y,1);!r((a=H(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}$(na,y,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return D(N)},oa="store",ca=(a,t,e,n,s,[i],o,c,r,l)=>{const[w,y,u,d]=Z(t,o,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,E))[p]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,E,{[p]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},ra=(a,t,e,n,s,[i,o,[c,l,w]],y,u,v,g)=>{const[m,A,h,T]=Z(t,y,s,g),f=async(a,t)=>await d(Y(o,(async([e,n,s,i],o)=>{t&&!_(a,o)||await h(e,n,a[o],s,i,t)}))),N=async(a,t)=>l?await h(w,E,{[p]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(C(await d(Y(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!k(a[1])))))(),t=await(async()=>c?(await A(w,E))[p]:{})();return k(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await f(t),await N(e)}else{const[a,e]=t();await f(a,!0),await N(e,!0)}}))),e,n,s,!1,{[v]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",pa={mode:la,[wa]:1},Ea={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=x();return P(a,((a,i)=>{const o=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(o[0])||n(i,o[0])||$(s,i,o)})),s},ga="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,o,r,l,u="getDb",d)=>{let p,v,m;const[A,h,C,T]=(a=>{const e=(a=>M(pa,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=y(F(M(Ea,o)),0,j(Ea)),r=c[2],l=J(r);return[0,n,[va(s,{[ua]:null,[ya]:E},ua,(a=>U(l,a)&&a==r)),va(i,{[da]:null,[ya]:E,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>U(l,t)&&t==r)),c],l]})(e);return(A?ca:ra)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+ma))[0][ma],e=(await n(ga+Aa))[0][Aa],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(v??=e)&&s==(m??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=null,i(t)}),r,C,N(T),l,u,d)},Ca=(a,t,e,n,s,i)=>ha(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,e);export{Ca as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,b=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(b(a)),B=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(T(a,t)?n?.($(a,t)):x(a,t,e()),$(a,t)),J=(a,t,e,n=x)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",q=g+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=H();return[async()=>J(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(g+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(c,t,J(G(c,t,H),e,((a,t,e)=>{e!=$(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?I(C(A(await a(q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=U();_(o??{},(a=>A(b(a??{}),(a=>W(u,a)))));const E=N(u);if(!y&&w&&h(E)&&T(c,t))return await a("DROP "+z+v(t)),void x(c,t);if(h(E)||T(c,t)){const n=$(c,t),i=U(Y(n));await d([...A(E,(async s=>{O(i,s)||(await a(K+v(t)+"ADD"+v(s)),x(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),x(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+v(a))))});`),x(c,t,H([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(V+v(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(V+v(t)+X+v(s)+"=?",[n]):h(E)||await aa(a,t,s,b(e),[n,...F(e)],i)})));else if(h(E))T(c,t)&&await a(V+v(t)+X+" 1");else{const e=C(Y($(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(r,t)})),await aa(a,t,s,e,n,i),await a(V+v(t)+X+v(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+m(A(c,(a=>n+v(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(c,(a=>v(a)+"=excluded."+v(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=H(),sa=H(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,p=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[v,g,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),h=async a=>(2!=p&&(p=1,await T.schedule((async()=>{await a(),p=0}))),T),C=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await T.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await T.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(l(E,a.delListener),E=void 0,T),isAutoSaving:()=>!r(E),schedule:async(...a)=>(f($(sa,y),...a),await(async()=>{if(!$(na,y)){for(x(na,y,1);!r((a=$(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(T)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,v,g)=>{const[m,A,h,f]=Z(t,y,s,g),T=async(a,t)=>await d(k(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await h(e,n,a[c],s,i,t)}))),N=async(a,t)=>l?await h(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await f((async()=>{await m();const a=await(async()=>I(C(await d(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await N(e)}else{const[a,e]=t();await T(a,!0),await N(e,!0)}}))),e,n,s,!1,{[v]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=H();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||x(s,i,c)})),s},ga="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,v,m;const[A,h,C,f]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=U(r);return[0,n,[va(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),va(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+ma))[0][ma],e=(await n(ga+Aa))[0][Aa],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(v??=e)&&s==(m??=s)||(a(),E=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=null,i(t)}),r,C,N(f),l,u,d)},Ca="change",fa=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new c(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ca,e),e}),(a=>t.off(Ca,a)),n,s,t);export{fa as createSqlite3Persister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,b=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(b(a)),B=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(T(a,t)?n?.($(a,t)):x(a,t,e()),$(a,t)),J=(a,t,e,n=x)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",q=g+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const o=H();return[async()=>J(o,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(g+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(o,t,J(G(o,t,H),e,((a,t,e)=>{e!=$(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(o,t))),async(t,e)=>((a,t)=>!r($($(o,a),t)))(t,e)?I(C(A(await a(q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();_(c??{},(a=>A(b(a??{}),(a=>W(u,a)))));const E=N(u);if(!y&&w&&h(E)&&T(o,t))return await a("DROP "+z+v(t)),void x(o,t);if(h(E)||T(o,t)){const n=$(o,t),i=U(Y(n));await d([...A(E,(async s=>{O(i,s)||(await a(K+v(t)+"ADD"+v(s)),x(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),x(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+v(a))))});`),x(o,t,H([[s,e],...A(E,(a=>[a,e]))]));if(y)r(c)?await a(V+v(t)+X+" 1"):await d(_(c,(async(e,n)=>{r(e)?await a(V+v(t)+X+v(s)+"=?",[n]):h(E)||await aa(a,t,s,b(e),[n,...F(e)],i)})));else if(h(E))T(o,t)&&await a(V+v(t)+X+" 1");else{const e=C(Y($(o,t)),(a=>a!=s)),n=[],r=[];_(c??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(r,t)})),await aa(a,t,s,e,n,i),await a(V+v(t)+X+v(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,o,c,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+m(A(o,(a=>n+v(a))))+")VALUES"+y(i(`,(?${i(",?",u(o))})`,u(c)/(u(o)+1)),1)+(r?"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(o,(a=>v(a)+"=excluded."+v(a))),n):e),A(c,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=H(),sa=H(),ia=(a,t,e,n,s,i,o,c={},y=[])=>{let u,d,E,p=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[v,g,m,A,h]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t),t.setDefaultContent])(o,a),C=async a=>(2!=p&&(p=1,await N.schedule((async()=>{await a(),p=0}))),N),T=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async a=>await C((async()=>{try{T(await t())}catch(t){i?.(t),a&&h(a)}})),startAutoLoad:async a=>(await N.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await C((async()=>{try{T(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await N.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(l(E,a.delListener),E=void 0,N),isAutoSaving:()=>!r(E),schedule:async(...a)=>(f($(sa,y),...a),await(async()=>{if(!$(na,y)){for(x(na,y,1);!r((a=$(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return D(N)},oa="store",ca=(a,t,e,n,s,[i],o,c,r,l)=>{const[w,y,u,d]=Z(t,o,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},ra=(a,t,e,n,s,[i,o,[c,l,w]],y,u,v,g)=>{const[m,A,h,f]=Z(t,y,s,g),T=async(a,t)=>await d(k(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await h(e,n,a[o],s,i,t)}))),N=async(a,t)=>l?await h(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await f((async()=>{await m();const a=await(async()=>I(C(await d(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await A(w,p))[E]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await N(e)}else{const[a,e]=t();await T(a,!0),await N(e,!0)}}))),e,n,s,!1,{[v]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=H();return _(a,((a,i)=>{const o=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(o[0])||n(i,o[0])||x(s,i,o)})),s},ga="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,o,r,l,u="getDb",d)=>{let E,v,m;const[A,h,C,f]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,c=y(F(M(pa,o)),0,j(pa)),r=c[2],l=U(r);return[0,n,[va(s,{[ua]:null,[ya]:p},ua,(a=>W(l,a)&&a==r)),va(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==r)),c],l]})(e);return(A?ca:ra)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+ma))[0][ma],e=(await n(ga+Aa))[0][Aa],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(v??=e)&&s==(m??=s)||(a(),E=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=null,i(t)}),r,C,N(f),l,u,d)},Ca="change",fa=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ca,e),e}),(a=>t.off(Ca,a)),n,s,t);export{fa as createSqlite3Persister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e=t=>typeof t,a=e(""),n="t",s="v",o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),c=t=>t.length,i=t=>t.shift(),g=Object,l=t=>g.getPrototypeOf(t),d=g.entries,u=g.keys,y=g.freeze,p=(t=[])=>g.fromEntries(t),h=(t,e)=>e in t,v=(t,e)=>((t,e)=>t.map(e))(d(t),(([t,a])=>e(a,t))),w=t=>(t=>!o(t)&&r(l(t),(t=>t==g.prototype||o(l(t))),(()=>!0)))(t)&&0==(t=>c(u(t)))(t),f=(t,e,a)=>(h(t,e)||(t[e]=a()),t[e]),S=t=>new Map(t),A=(t,e)=>t?.get(e),C=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return o(a)?(n=t,s=e,n?.delete(s),t):t?.set(e,a);var n,s},M=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(A(t,e)):b(t,e,a()),A(t,e)},O=S(),L=S(),J="delete",N=t=>[t.get(n),t.get(s)],m=(e,a,n,s)=>{const r=o(a)?e:e.get(a)??e.set(a,new t);let c;return v(n,((t,e)=>{s(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{h(n,e)||(r.delete(e),c=1)})),o(a)||r.size||e.delete(a),c},z=(g,l,d="tinybase",u)=>{const h=l.getMap(d);return((t,n,s,c,g,l,d,u={},p=[])=>{let h,v,f,S=0;M(O,p,(()=>0)),M(L,p,(()=>[]));const[C,J,N,m]=((t,e)=>!t||o(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!w(t)||!w(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!w(t)||!w(e)])(d,t),z=async t=>(2!=S&&(S=1,await E.schedule((async()=>{await t(),S=0}))),E),D=n=>{var s;(C&&(s=n?.[0],e(s)==a)?1===n?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===n?.[2]?t.applyChanges:t.setContent)(n)},E={load:async(e,a)=>await z((async()=>{try{D(await n())}catch(n){l?.(n),t.setContent([e,a])}})),startAutoLoad:async(t={},e={})=>(await E.stopAutoLoad().load(t,e),v=c((async(t,e)=>{const a=e?.();await z((async()=>{try{D(a??t?.()??await n())}catch(t){l?.(t)}}))})),E),stopAutoLoad:()=>(v&&(g(v),v=void 0),E),isAutoLoading:()=>!o(v),save:async t=>(1!=S&&(S=2,await E.schedule((async()=>{try{await s(J,t)}catch(t){l?.(t)}S=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),f=t.addDidFinishTransactionListener((()=>{const t=N();m(t)&&E.save((()=>t))})),E),stopAutoSave:()=>(r(f,t.delListener),f=void 0,E),isAutoSaving:()=>!o(f),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(A(L,p),...t),await(async()=>{if(!A(O,p)){for(b(O,p,1);!o(h=i(A(L,p)));)try{await h()}catch(t){l?.(t)}b(O,p,0)}})(),E),getStore:()=>t,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return y(E)})(g,(async()=>h.size?[h.get(n).toJSON(),h.get(s).toJSON()]:void 0),(async(e,a)=>l.transact((()=>((e,a,c)=>{e.size||(e.set(n,new t),e.set(s,new t));const[i,g]=N(e),l=()=>{d=1};let d=1;if(r(c?.(),(([t,e])=>{d=0,v(t,((t,e)=>d?0:o(t)?i.delete(e):r(i.get(e),(e=>v(t,((t,a)=>d?0:o(t)?e.delete(a):r(e.get(a),(e=>v(t,((t,a)=>o(t)?e.delete(a):e.set(a,t)))),l)))),l))),v(e,((t,e)=>d?0:o(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=a();m(i,void 0,t,((t,e,a)=>m(i,e,a,((t,e,a)=>m(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),m(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(h,e,a)))),(t=>{const e=e=>t(void 0,(()=>((t,e)=>{if(1==c(e)&&(a=e[0].path,0==c(a)))return[t.get(n).toJSON(),t.get(s).toJSON(),1];var a;const[o,g]=N(t),l={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>i(t)==n?r(i(t),(a=>{const n=f(l,a,p),s=o.get(a);r(i(t),(t=>{const a=f(n,t,p),o=s.get(t);C(e,((t,{action:e})=>a[t]=e==J?null:o.get(t)))}),(()=>C(e,((t,{action:e})=>n[t]=e==J?null:s.get(t)?.toJSON()))))}),(()=>C(e,((t,{action:e})=>l[t]=e==J?null:o.get(t)?.toJSON())))):C(e,((t,{action:e})=>d[t]=e==J?null:g.get(t)))))})(e),[l,d,1]})(h,e)));return h.observeDeep(e),e}),(t=>{h.unobserveDeep(t)}),u,!1,{getYDoc:()=>l})};export{z as createYjsPersister};
1
+ import{Map as t}from"yjs";const e=t=>typeof t,a=e(""),n="t",s="v",o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),c=t=>t.length,i=t=>t.shift(),g=Object,l=t=>g.getPrototypeOf(t),u=g.entries,d=g.keys,y=g.freeze,p=(t=[])=>g.fromEntries(t),h=(t,e)=>e in t,v=(t,e)=>((t,e)=>t.map(e))(u(t),(([t,a])=>e(a,t))),w=t=>(t=>!o(t)&&r(l(t),(t=>t==g.prototype||o(l(t))),(()=>!0)))(t)&&0==(t=>c(d(t)))(t),f=(t,e,a)=>(h(t,e)||(t[e]=a()),t[e]),S=t=>new Map(t),C=(t,e)=>t?.get(e),A=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return o(a)?(n=t,s=e,n?.delete(s),t):t?.set(e,a);var n,s},M=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(C(t,e)):b(t,e,a()),C(t,e)},O=S(),L=S(),J="delete",N=t=>[t.get(n),t.get(s)],D=(e,a,n,s)=>{const r=o(a)?e:e.get(a)??e.set(a,new t);let c;return v(n,((t,e)=>{s(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{h(n,e)||(r.delete(e),c=1)})),o(a)||r.size||e.delete(a),c},m=(g,l,u="tinybase",d)=>{const h=l.getMap(u);return((t,n,s,c,g,l,u,d={},p=[])=>{let h,v,f,S=0;M(O,p,(()=>0)),M(L,p,(()=>[]));const[A,J,N,D,m]=((t,e)=>!t||o(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!w(t)||!w(e),e.setContent]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!w(t)||!w(e),e.setDefaultContent])(u,t),z=async t=>(2!=S&&(S=1,await T.schedule((async()=>{await t(),S=0}))),T),E=n=>{var s;(A&&(s=n?.[0],e(s)==a)?1===n?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===n?.[2]?t.applyChanges:t.setContent)(n)},T={load:async t=>await z((async()=>{try{E(await n())}catch(e){l?.(e),t&&m(t)}})),startAutoLoad:async t=>(await T.stopAutoLoad().load(t),v=c((async(t,e)=>{const a=e?.();await z((async()=>{try{E(a??t?.()??await n())}catch(t){l?.(t)}}))})),T),stopAutoLoad:()=>(v&&(g(v),v=void 0),T),isAutoLoading:()=>!o(v),save:async t=>(1!=S&&(S=2,await T.schedule((async()=>{try{await s(J,t)}catch(t){l?.(t)}S=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),f=t.addDidFinishTransactionListener((()=>{const t=N();D(t)&&T.save((()=>t))})),T),stopAutoSave:()=>(r(f,t.delListener),f=void 0,T),isAutoSaving:()=>!o(f),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(C(L,p),...t),await(async()=>{if(!C(O,p)){for(b(O,p,1);!o(h=i(C(L,p)));)try{await h()}catch(t){l?.(t)}b(O,p,0)}})(),T),getStore:()=>t,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...d};return y(T)})(g,(async()=>h.size?[h.get(n).toJSON(),h.get(s).toJSON()]:void 0),(async(e,a)=>l.transact((()=>((e,a,c)=>{e.size||(e.set(n,new t),e.set(s,new t));const[i,g]=N(e),l=()=>{u=1};let u=1;if(r(c?.(),(([t,e])=>{u=0,v(t,((t,e)=>u?0:o(t)?i.delete(e):r(i.get(e),(e=>v(t,((t,a)=>u?0:o(t)?e.delete(a):r(e.get(a),(e=>v(t,((t,a)=>o(t)?e.delete(a):e.set(a,t)))),l)))),l))),v(e,((t,e)=>u?0:o(t)?g.delete(e):g.set(e,t)))})),u){const[t,e]=a();D(i,void 0,t,((t,e,a)=>D(i,e,a,((t,e,a)=>D(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),D(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(h,e,a)))),(t=>{const e=e=>t(void 0,(()=>((t,e)=>{if(1==c(e)&&(a=e[0].path,0==c(a)))return[t.get(n).toJSON(),t.get(s).toJSON(),1];var a;const[o,g]=N(t),l={},u={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>i(t)==n?r(i(t),(a=>{const n=f(l,a,p),s=o.get(a);r(i(t),(t=>{const a=f(n,t,p),o=s.get(t);A(e,((t,{action:e})=>a[t]=e==J?null:o.get(t)))}),(()=>A(e,((t,{action:e})=>n[t]=e==J?null:s.get(t)?.toJSON()))))}),(()=>A(e,((t,{action:e})=>l[t]=e==J?null:o.get(t)?.toJSON())))):A(e,((t,{action:e})=>u[t]=e==J?null:g.get(t)))))})(e),[l,u,1]})(h,e)));return h.observeDeep(e),e}),(t=>{h.unobserveDeep(t)}),d,!1,{getYDoc:()=>l})};export{m as createYjsPersister};
Binary file
package/lib/persisters.js CHANGED
@@ -1 +1 @@
1
- const t=t=>typeof t,a=t(""),e=t=>null==t,s=(t,a,s)=>e(t)?s?.():a(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,c=n.freeze,i=t=>(t=>!e(t)&&s(o(t),(t=>t==n.prototype||e(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),y=t=>new Map(t),g=(t,a)=>t?.get(a),d=(t,a,s)=>{return e(s)?(n=t,o=a,n?.delete(o),t):t?.set(a,s);var n,o},l=(t,a,e,s)=>{var n,o;return n=t,o=a,n?.has(o)?s?.(g(t,a)):d(t,a,e()),g(t,a)},u=y(),p=y(),h=(n,o,r,y,h,v,w,A={},C=[])=>{let L,S,b,f=0;l(u,C,(()=>0)),l(p,C,(()=>[]));const[M,T,O,j]=((t,a)=>!t||e(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,a])=>!i(t)||!i(a)]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([,[[,t],[,a]]])=>!i(t)||!i(a)])(w,n),k=async t=>(2!=f&&(f=1,await z.schedule((async()=>{await t(),f=0}))),z),x=e=>{var s;(M&&(s=e?.[0],t(s)==a)?1===e?.[1][2]?n.applyMergeableChanges:n.setMergeableContent:1===e?.[2]?n.applyChanges:n.setContent)(e)},z={load:async(t,a)=>await k((async()=>{try{x(await o())}catch(e){v?.(e),n.setContent([t,a])}})),startAutoLoad:async(t={},a={})=>(await z.stopAutoLoad().load(t,a),S=y((async(t,a)=>{const e=a?.();await k((async()=>{try{x(e??t?.()??await o())}catch(t){v?.(t)}}))})),z),stopAutoLoad:()=>(S&&(h(S),S=void 0),z),isAutoLoading:()=>!e(S),save:async t=>(1!=f&&(f=2,await z.schedule((async()=>{try{await r(T,t)}catch(t){v?.(t)}f=0}))),z),startAutoSave:async()=>(await z.stopAutoSave().save(),b=n.addDidFinishTransactionListener((()=>{const t=O();j(t)&&z.save((()=>t))})),z),stopAutoSave:()=>(s(b,n.delListener),b=void 0,z),isAutoSaving:()=>!e(b),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(g(p,C),...t),await(async()=>{if(!g(u,C)){for(d(u,C,1);!e((t=g(p,C),L=t.shift()));)try{await L()}catch(t){v?.(t)}d(u,C,0)}var t})(),z),getStore:()=>n,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...A};return c(z)};export{h as createCustomPersister};
1
+ const t=t=>typeof t,a=t(""),e=t=>null==t,s=(t,a,s)=>e(t)?s?.():a(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,c=n.freeze,i=t=>(t=>!e(t)&&s(o(t),(t=>t==n.prototype||e(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),y=t=>new Map(t),g=(t,a)=>t?.get(a),l=(t,a,s)=>{return e(s)?(n=t,o=a,n?.delete(o),t):t?.set(a,s);var n,o},u=(t,a,e,s)=>{var n,o;return n=t,o=a,n?.has(o)?s?.(g(t,a)):l(t,a,e()),g(t,a)},d=y(),p=y(),h=(n,o,r,y,h,v,w,C={},A=[])=>{let f,L,S,b=0;u(d,A,(()=>0)),u(p,A,(()=>[]));const[M,T,D,O,j]=((t,a)=>!t||e(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,a])=>!i(t)||!i(a),a.setContent]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([,[[,t],[,a]]])=>!i(t)||!i(a),a.setDefaultContent])(w,n),k=async t=>(2!=b&&(b=1,await z.schedule((async()=>{await t(),b=0}))),z),x=e=>{var s;(M&&(s=e?.[0],t(s)==a)?1===e?.[1][2]?n.applyMergeableChanges:n.setMergeableContent:1===e?.[2]?n.applyChanges:n.setContent)(e)},z={load:async t=>await k((async()=>{try{x(await o())}catch(a){v?.(a),t&&j(t)}})),startAutoLoad:async t=>(await z.stopAutoLoad().load(t),L=y((async(t,a)=>{const e=a?.();await k((async()=>{try{x(e??t?.()??await o())}catch(t){v?.(t)}}))})),z),stopAutoLoad:()=>(L&&(h(L),L=void 0),z),isAutoLoading:()=>!e(L),save:async t=>(1!=b&&(b=2,await z.schedule((async()=>{try{await r(T,t)}catch(t){v?.(t)}b=0}))),z),startAutoSave:async()=>(await z.stopAutoSave().save(),S=n.addDidFinishTransactionListener((()=>{const t=D();O(t)&&z.save((()=>t))})),z),stopAutoSave:()=>(s(S,n.delListener),S=void 0,z),isAutoSaving:()=>!e(S),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(g(p,A),...t),await(async()=>{if(!g(d,A)){for(l(d,A,1);!e((t=g(p,A),f=t.shift()));)try{await f()}catch(t){v?.(t)}l(d,A,0)}var t})(),z),getStore:()=>n,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...C};return c(z)};export{h as createCustomPersister};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),a=Promise,s=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=Object,c=e=>r.getPrototypeOf(e),i=r.keys,g=r.freeze,l=e=>(e=>!n(e)&&o(c(e),(e=>e==r.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),u=(e,t)=>e?.delete(t),d=e=>new Map(e),h=(e,t)=>e?.get(t),y=(e,t,a)=>n(a)?(u(e,t),e):e?.set(t,a),w=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(h(e,t)):y(e,t,a()),h(e,t)},v=d(),p=d(),b=new globalThis.TextEncoder,C=2**36,M=2**30,A=2**24,S=2**18,f=4096,L=64,T=e=>String.fromCharCode(48+(63&e)),m=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,H=d(),D=(r,c)=>{const i=""+Math.random();return((r,c,i,H,D=1,x)=>{let E;const[I]=(e=>{let t=0,a=-1;const o=(e=>{let t=2166136261;var a;return a=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},b.encode(e).forEach(a),t>>>0})(e),r=e=>{const o=t,[r,c]=n(e)||""==e?[0,0]:[m(i=e,0)*C+m(i,1)*M+m(i,2)*A+m(i,3)*S+m(i,4)*f+m(i,5)*L+m(i,6),m(i,7)*S+m(i,8)*f+m(i,9)*L+m(i,10),m(i,11)*A+m(i,12)*S+m(i,13)*f+m(i,14)*L+m(i,15)];var i;t=s(o,r,Date.now()),a=t==o?t==r?s(a,c):a:t==r?c:-1};return[()=>{return r(),s=++a,n=o,T((e=t)/C)+T(e/M)+T(e/A)+T(e/S)+T(e/f)+T(e/L)+T(e)+T(s/S)+T(s/f)+T(s/L)+T(s)+T(n/A)+T(n/S)+T(n/f)+T(n/L)+T(n);var e,s,n},r]})(r.getId()),z=d();i(((e,t,a,s)=>{0==a?o(h(z,t),(([t,a])=>n(t)||t==e?a(s,e):0)):1==a&&R.isAutoLoading()?P(e,s).then((e=>E?.(void 0,(()=>e)))):o(2==a&&R.isAutoSaving()?r.getMergeableContentHashes():3==a?r.getMergeableTableIdsDiff(s):4==a?r.getMergeableRowIdsDiff(s):5==a?r.getMergeableTablesChanges(s):6==a?r.getMergeableValuesChanges(s):void 0,(a=>{c(e,t,0,a)}))}));const O=async(e,t,s="")=>new a(((a,n)=>{const o=I(),r=setTimeout((()=>{u(z,o),n(`No response from ${e??"anyone"} to '${t}'`)}),1e3*D);y(z,o,[e,(e,t)=>{clearTimeout(r),u(z,o),a([e,t])}]),c(e,o,t,s)})),P=async(e=null,t)=>{n(t)&&([t,e]=await O(e,2));const[a,[s,o]]=t,[,[c,i]]=r.getMergeableContentHashes(),g=["",[["",{}],["",{}],1]];return c!=s&&(g[0]=a,g[1][0]=(await O(e,5,r.getMergeableCellHashes((await O(e,4,r.getMergeableRowHashes((await O(e,3,r.getMergeableTableHashes()))[0])))[0])))[0]),i!=o&&(g[0]=a,g[1][1]=(await O(e,6,r.getMergeableValuesHashes()))[0]),g},R=((a,s,r,c,i,u,d,b={},C=[])=>{let M,A,S,f=0;w(v,C,(()=>0)),w(p,C,(()=>[]));const[L,T,m,H]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!l(e)||!l(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!l(e)||!l(t)])(d,a),D=async e=>(2!=f&&(f=1,await E.schedule((async()=>{await e(),f=0}))),E),x=s=>{var n;(L&&(n=s?.[0],e(n)==t)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},E={load:async(e,t)=>await D((async()=>{try{x(await s())}catch(s){u?.(s),a.setContent([e,t])}})),startAutoLoad:async(e={},t={})=>(await E.stopAutoLoad().load(e,t),A=c((async(e,t)=>{const a=t?.();await D((async()=>{try{x(a??e?.()??await s())}catch(e){u?.(e)}}))})),E),stopAutoLoad:()=>(A&&(i(A),A=void 0),E),isAutoLoading:()=>!n(A),save:async e=>(1!=f&&(f=2,await E.schedule((async()=>{try{await r(T,e)}catch(e){u?.(e)}f=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=a.addDidFinishTransactionListener((()=>{const e=m();H(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(o(S,a.delListener),S=void 0,E),isAutoSaving:()=>!n(S),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(h(p,C),...e),await(async()=>{if(!h(v,C)){for(y(v,C,1);!n((e=h(p,C),M=e.shift()));)try{await M()}catch(e){u?.(e)}y(v,C,0)}var e})(),E),getStore:()=>a,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...b};return g(E)})(r,(async()=>{const e=await P();return""!=e[0]?e:void 0}),(async()=>{c(null,null,1,r.getMergeableContentHashes())}),(e=>E=e),(()=>E=void 0),x,!0,{startSync:async()=>await(await R.startAutoLoad()).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(H(),R.stopSync()),getSynchronizerStats:()=>({})});return R})(r,((e,t,a,s)=>{var o;n(e)?(o=(e,n)=>e!=i?n(i,t,a,s):0,((e,t)=>{e?.forEach(t)})(H,((e,t)=>o(t,e)))):h(H,e)?.(i,t,a,s)}),(e=>{y(H,i,e)}),(()=>{u(H,i)}),.001,c)};export{D as createLocalSynchronizer};
1
+ const e=e=>typeof e,t=e(""),a=Promise,s=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=Object,c=e=>r.getPrototypeOf(e),i=r.keys,g=r.freeze,l=e=>(e=>!n(e)&&o(c(e),(e=>e==r.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),u=(e,t)=>e?.delete(t),d=e=>new Map(e),h=(e,t)=>e?.get(t),y=(e,t,a)=>n(a)?(u(e,t),e):e?.set(t,a),w=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(h(e,t)):y(e,t,a()),h(e,t)},v=d(),p=d(),b=new globalThis.TextEncoder,C=2**36,M=2**30,A=2**24,S=2**18,f=4096,L=64,T=e=>String.fromCharCode(48+(63&e)),m=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,H=d(),D=(r,c)=>{const i=""+Math.random();return((r,c,i,H,D,x,E={})=>{let I;const[z]=(e=>{let t=0,a=-1;const o=(e=>{let t=2166136261;var a;return a=e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)},b.encode(e).forEach(a),t>>>0})(e),r=e=>{const o=t,[r,c]=n(e)||""==e?[0,0]:[m(i=e,0)*C+m(i,1)*M+m(i,2)*A+m(i,3)*S+m(i,4)*f+m(i,5)*L+m(i,6),m(i,7)*S+m(i,8)*f+m(i,9)*L+m(i,10),m(i,11)*A+m(i,12)*S+m(i,13)*f+m(i,14)*L+m(i,15)];var i;t=s(o,r,Date.now()),a=t==o?t==r?s(a,c):a:t==r?c:-1};return[()=>{return r(),s=++a,n=o,T((e=t)/C)+T(e/M)+T(e/A)+T(e/S)+T(e/f)+T(e/L)+T(e)+T(s/S)+T(s/f)+T(s/L)+T(s)+T(n/A)+T(n/S)+T(n/f)+T(n/L)+T(n);var e,s,n},r]})(r.getId()),O=d();i(((e,t,a,s)=>{0==a?o(h(O,t),(([t,a])=>n(t)||t==e?a(s,e):0)):1==a&&V.isAutoLoading()?R(e,s).then((e=>I?.(void 0,(()=>e)))):o(2==a&&V.isAutoSaving()?r.getMergeableContentHashes():3==a?r.getMergeableTableIdsDiff(s):4==a?r.getMergeableRowIdsDiff(s):5==a?r.getMergeableTablesChanges(s):6==a?r.getMergeableValuesChanges(s):void 0,(a=>{c(e,t,0,a)}))}));const P=async(e,t,s="")=>new a(((a,n)=>{const o=z(),r=setTimeout((()=>{u(O,o),n(`No response from ${e??"anyone"} to '${t}'`)}),1e3*D);y(O,o,[e,(e,t)=>{clearTimeout(r),u(O,o),a([e,t])}]),c(e,o,t,s)})),R=async(e=null,t)=>{n(t)&&([t,e]=await P(e,2));const[a,[s,o]]=t,[,[c,i]]=r.getMergeableContentHashes(),g=["",[["",{}],["",{}],1]];return c!=s&&(g[0]=a,g[1][0]=(await P(e,5,r.getMergeableCellHashes((await P(e,4,r.getMergeableRowHashes((await P(e,3,r.getMergeableTableHashes()))[0])))[0])))[0]),i!=o&&(g[0]=a,g[1][1]=(await P(e,6,r.getMergeableValuesHashes()))[0]),g},V=((a,s,r,c,i,u,d,b={},C=[])=>{let M,A,S,f=0;w(v,C,(()=>0)),w(p,C,(()=>[]));const[L,T,m,H,D]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!l(e)||!l(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!l(e)||!l(t),t.setDefaultContent])(d,a),x=async e=>(2!=f&&(f=1,await I.schedule((async()=>{await e(),f=0}))),I),E=s=>{var n;(L&&(n=s?.[0],e(n)==t)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},I={load:async e=>await x((async()=>{try{E(await s())}catch(t){u?.(t),e&&D(e)}})),startAutoLoad:async e=>(await I.stopAutoLoad().load(e),A=c((async(e,t)=>{const a=t?.();await x((async()=>{try{E(a??e?.()??await s())}catch(e){u?.(e)}}))})),I),stopAutoLoad:()=>(A&&(i(A),A=void 0),I),isAutoLoading:()=>!n(A),save:async e=>(1!=f&&(f=2,await I.schedule((async()=>{try{await r(T,e)}catch(e){u?.(e)}f=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),S=a.addDidFinishTransactionListener((()=>{const e=m();H(e)&&I.save((()=>e))})),I),stopAutoSave:()=>(o(S,a.delListener),S=void 0,I),isAutoSaving:()=>!n(S),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(h(p,C),...e),await(async()=>{if(!h(v,C)){for(y(v,C,1);!n((e=h(p,C),M=e.shift()));)try{await M()}catch(e){u?.(e)}y(v,C,0)}var e})(),I),getStore:()=>a,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...b};return g(I)})(r,(async()=>{const e=await R();return""!=e[0]?e:void 0}),(async()=>{c(null,null,1,r.getMergeableContentHashes())}),(e=>I=e),(()=>I=void 0),x,!0,{startSync:async e=>await(await V.startAutoLoad(e)).startAutoSave(),stopSync:()=>V.stopAutoLoad().stopAutoSave(),destroy:()=>(H(),V.stopSync()),getSynchronizerStats:()=>({}),...E});return V})(r,((e,t,a,s)=>{var o;n(e)?(o=(e,n)=>e!=i?n(i,t,a,s):0,((e,t)=>{e?.forEach(t)})(H,((e,t)=>o(t,e)))):h(H,e)?.(i,t,a,s)}),(e=>{y(H,i,e)}),(()=>{u(H,i)}),.001,c)};export{D as createLocalSynchronizer};