tinybase 5.0.0-beta.4 → 5.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/mergeable-store.cjs +1 -1
  8. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  9. package/lib/cjs/metrics.cjs +1 -1
  10. package/lib/cjs/metrics.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  12. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  14. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  16. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  18. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  20. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  22. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-file.cjs +1 -1
  24. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  26. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-libsql.cjs +1 -0
  28. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  30. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  32. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  34. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  35. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  36. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  37. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  38. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  39. package/lib/cjs/persisters.cjs +1 -1
  40. package/lib/cjs/persisters.cjs.gz +0 -0
  41. package/lib/cjs/queries.cjs +1 -1
  42. package/lib/cjs/queries.cjs.gz +0 -0
  43. package/lib/cjs/relationships.cjs +1 -1
  44. package/lib/cjs/relationships.cjs.gz +0 -0
  45. package/lib/cjs/store.cjs +1 -1
  46. package/lib/cjs/store.cjs.gz +0 -0
  47. package/lib/cjs/tinybase.cjs +1 -1
  48. package/lib/cjs/tinybase.cjs.gz +0 -0
  49. package/lib/cjs/tools.cjs +1 -1
  50. package/lib/cjs/tools.cjs.gz +0 -0
  51. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  52. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  53. package/lib/cjs-es6/checkpoints.cjs +1 -1
  54. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  55. package/lib/cjs-es6/indexes.cjs +1 -1
  56. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  57. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  58. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  59. package/lib/cjs-es6/metrics.cjs +1 -1
  60. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -0
  78. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  84. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  86. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  87. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  88. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  89. package/lib/cjs-es6/persisters.cjs +1 -1
  90. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  91. package/lib/cjs-es6/queries.cjs +1 -1
  92. package/lib/cjs-es6/queries.cjs.gz +0 -0
  93. package/lib/cjs-es6/relationships.cjs +1 -1
  94. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  95. package/lib/cjs-es6/store.cjs +1 -1
  96. package/lib/cjs-es6/store.cjs.gz +0 -0
  97. package/lib/cjs-es6/tinybase.cjs +1 -1
  98. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  99. package/lib/cjs-es6/tools.cjs +1 -1
  100. package/lib/cjs-es6/tools.cjs.gz +0 -0
  101. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  102. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  103. package/lib/debug/checkpoints.js +3 -1
  104. package/lib/debug/indexes.js +3 -1
  105. package/lib/debug/mergeable-store.js +196 -129
  106. package/lib/debug/metrics.js +3 -1
  107. package/lib/debug/persisters/persister-automerge.js +3 -1
  108. package/lib/debug/persisters/persister-browser.js +3 -1
  109. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +3 -1
  110. package/lib/debug/persisters/persister-electric-sql.js +3 -1
  111. package/lib/debug/persisters/persister-expo-sqlite-next.js +3 -1
  112. package/lib/debug/persisters/persister-expo-sqlite.js +3 -1
  113. package/lib/debug/persisters/persister-file.js +3 -1
  114. package/lib/debug/persisters/persister-indexed-db.js +3 -1
  115. package/lib/debug/persisters/persister-libsql.js +898 -0
  116. package/lib/debug/persisters/persister-partykit-client.js +3 -1
  117. package/lib/debug/persisters/persister-remote.js +3 -1
  118. package/lib/debug/persisters/persister-sqlite-wasm.js +3 -1
  119. package/lib/debug/persisters/persister-sqlite3.js +3 -1
  120. package/lib/debug/persisters/persister-yjs.js +3 -1
  121. package/lib/debug/persisters.js +3 -1
  122. package/lib/debug/queries.js +7 -4
  123. package/lib/debug/relationships.js +3 -1
  124. package/lib/debug/store.js +7 -4
  125. package/lib/debug/tinybase.js +197 -130
  126. package/lib/debug/tools.js +7 -4
  127. package/lib/debug/ui-react-dom.js +7 -4
  128. package/lib/es6/checkpoints.js +1 -1
  129. package/lib/es6/checkpoints.js.gz +0 -0
  130. package/lib/es6/indexes.js +1 -1
  131. package/lib/es6/indexes.js.gz +0 -0
  132. package/lib/es6/mergeable-store.js +1 -1
  133. package/lib/es6/mergeable-store.js.gz +0 -0
  134. package/lib/es6/metrics.js +1 -1
  135. package/lib/es6/metrics.js.gz +0 -0
  136. package/lib/es6/persisters/persister-automerge.js +1 -1
  137. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  138. package/lib/es6/persisters/persister-browser.js +1 -1
  139. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  140. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  141. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  142. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  143. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  144. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  145. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  146. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  147. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  148. package/lib/es6/persisters/persister-file.js +1 -1
  149. package/lib/es6/persisters/persister-file.js.gz +0 -0
  150. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  151. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  152. package/lib/es6/persisters/persister-libsql.js +1 -0
  153. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  154. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  155. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  156. package/lib/es6/persisters/persister-remote.js +1 -1
  157. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  158. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  159. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  160. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  161. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  162. package/lib/es6/persisters/persister-yjs.js +1 -1
  163. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  164. package/lib/es6/persisters.js +1 -1
  165. package/lib/es6/persisters.js.gz +0 -0
  166. package/lib/es6/queries.js +1 -1
  167. package/lib/es6/queries.js.gz +0 -0
  168. package/lib/es6/relationships.js +1 -1
  169. package/lib/es6/relationships.js.gz +0 -0
  170. package/lib/es6/store.js +1 -1
  171. package/lib/es6/store.js.gz +0 -0
  172. package/lib/es6/tinybase.js +1 -1
  173. package/lib/es6/tinybase.js.gz +0 -0
  174. package/lib/es6/tools.js +1 -1
  175. package/lib/es6/tools.js.gz +0 -0
  176. package/lib/es6/ui-react-dom-debug.js +1 -1
  177. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  178. package/lib/indexes.js +1 -1
  179. package/lib/indexes.js.gz +0 -0
  180. package/lib/mergeable-store.js +1 -1
  181. package/lib/mergeable-store.js.gz +0 -0
  182. package/lib/metrics.js +1 -1
  183. package/lib/metrics.js.gz +0 -0
  184. package/lib/persisters/persister-automerge.js +1 -1
  185. package/lib/persisters/persister-automerge.js.gz +0 -0
  186. package/lib/persisters/persister-browser.js +1 -1
  187. package/lib/persisters/persister-browser.js.gz +0 -0
  188. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  189. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  190. package/lib/persisters/persister-electric-sql.js +1 -1
  191. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  192. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  193. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  194. package/lib/persisters/persister-expo-sqlite.js +1 -1
  195. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  196. package/lib/persisters/persister-file.js +1 -1
  197. package/lib/persisters/persister-file.js.gz +0 -0
  198. package/lib/persisters/persister-indexed-db.js +1 -1
  199. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  200. package/lib/persisters/persister-libsql.js +1 -0
  201. package/lib/persisters/persister-libsql.js.gz +0 -0
  202. package/lib/persisters/persister-partykit-client.js +1 -1
  203. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  204. package/lib/persisters/persister-remote.js +1 -1
  205. package/lib/persisters/persister-remote.js.gz +0 -0
  206. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  207. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  208. package/lib/persisters/persister-sqlite3.js +1 -1
  209. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  210. package/lib/persisters/persister-yjs.js +1 -1
  211. package/lib/persisters/persister-yjs.js.gz +0 -0
  212. package/lib/persisters.js +1 -1
  213. package/lib/persisters.js.gz +0 -0
  214. package/lib/queries.js +1 -1
  215. package/lib/queries.js.gz +0 -0
  216. package/lib/relationships.js +1 -1
  217. package/lib/relationships.js.gz +0 -0
  218. package/lib/store.js +1 -1
  219. package/lib/store.js.gz +0 -0
  220. package/lib/tinybase.js +1 -1
  221. package/lib/tinybase.js.gz +0 -0
  222. package/lib/tools.js +1 -1
  223. package/lib/tools.js.gz +0 -0
  224. package/lib/types/mergeable-store.d.ts +72 -11
  225. package/lib/types/persisters/persister-libsql.d.ts +139 -0
  226. package/lib/types/persisters.d.ts +1 -0
  227. package/lib/types/with-schemas/mergeable-store.d.ts +308 -31
  228. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +152 -0
  229. package/lib/types/with-schemas/persisters.d.ts +1 -0
  230. package/lib/types/with-schemas/store.d.ts +37 -87
  231. package/lib/umd/checkpoints.js +1 -1
  232. package/lib/umd/checkpoints.js.gz +0 -0
  233. package/lib/umd/indexes.js +1 -1
  234. package/lib/umd/indexes.js.gz +0 -0
  235. package/lib/umd/mergeable-store.js +1 -1
  236. package/lib/umd/mergeable-store.js.gz +0 -0
  237. package/lib/umd/metrics.js +1 -1
  238. package/lib/umd/metrics.js.gz +0 -0
  239. package/lib/umd/persisters/persister-automerge.js +1 -1
  240. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  241. package/lib/umd/persisters/persister-browser.js +1 -1
  242. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  243. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  244. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  245. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  246. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  247. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  248. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  249. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  250. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  251. package/lib/umd/persisters/persister-file.js +1 -1
  252. package/lib/umd/persisters/persister-file.js.gz +0 -0
  253. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  254. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  255. package/lib/umd/persisters/persister-libsql.js +1 -0
  256. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  257. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  258. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  259. package/lib/umd/persisters/persister-remote.js +1 -1
  260. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  261. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  262. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  263. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  264. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  265. package/lib/umd/persisters/persister-yjs.js +1 -1
  266. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  267. package/lib/umd/persisters.js +1 -1
  268. package/lib/umd/persisters.js.gz +0 -0
  269. package/lib/umd/queries.js +1 -1
  270. package/lib/umd/queries.js.gz +0 -0
  271. package/lib/umd/relationships.js +1 -1
  272. package/lib/umd/relationships.js.gz +0 -0
  273. package/lib/umd/store.js +1 -1
  274. package/lib/umd/store.js.gz +0 -0
  275. package/lib/umd/tinybase.js +1 -1
  276. package/lib/umd/tinybase.js.gz +0 -0
  277. package/lib/umd/tools.js +1 -1
  278. package/lib/umd/tools.js.gz +0 -0
  279. package/lib/umd/ui-react-dom-debug.js +1 -1
  280. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  281. package/lib/umd-es6/checkpoints.js +1 -1
  282. package/lib/umd-es6/checkpoints.js.gz +0 -0
  283. package/lib/umd-es6/indexes.js +1 -1
  284. package/lib/umd-es6/indexes.js.gz +0 -0
  285. package/lib/umd-es6/mergeable-store.js +1 -1
  286. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  287. package/lib/umd-es6/metrics.js +1 -1
  288. package/lib/umd-es6/metrics.js.gz +0 -0
  289. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  290. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  291. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  292. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  293. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  294. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  295. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  296. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  297. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  298. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  299. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  300. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  301. package/lib/umd-es6/persisters/persister-file.js +1 -1
  302. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  303. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  304. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  305. package/lib/umd-es6/persisters/persister-libsql.js +1 -0
  306. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  307. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  308. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  309. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  310. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  311. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  312. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  313. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  314. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  315. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  316. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  317. package/lib/umd-es6/persisters.js +1 -1
  318. package/lib/umd-es6/persisters.js.gz +0 -0
  319. package/lib/umd-es6/queries.js +1 -1
  320. package/lib/umd-es6/queries.js.gz +0 -0
  321. package/lib/umd-es6/relationships.js +1 -1
  322. package/lib/umd-es6/relationships.js.gz +0 -0
  323. package/lib/umd-es6/store.js +1 -1
  324. package/lib/umd-es6/store.js.gz +0 -0
  325. package/lib/umd-es6/tinybase.js +1 -1
  326. package/lib/umd-es6/tinybase.js.gz +0 -0
  327. package/lib/umd-es6/tools.js +1 -1
  328. package/lib/umd-es6/tools.js.gz +0 -0
  329. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  330. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  331. package/package.json +34 -29
  332. package/readme.md +2 -2
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,n="tinybase",s="",i=",",o=e(s),c=(a,t)=>a.repeat(t),r=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>e(a)==o,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),f="_",T="_id",g=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==d(a),L=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,S=a=>b.getPrototypeOf(a),D=b.entries,M=b.keys,x=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(D(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>d(M(a)),q=a=>(a=>!y(a)&&w(S(a),(a=>a==b.prototype||y(S(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e)=>(R(a,t)||k(a,t,e()),W(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=>F(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||y(a)?a:[a]),z=(a,t)=>a?.add(t),K=m+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,n)=>{const o=H();return[async()=>J(o,I(await p(A(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(m+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!y(W(W(o,a),t)))(t,e)?I(L(A(await a(K+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!q(t)))):{},async(t,e,c,r,l,w=!1)=>{const E=U();$(c??{},(a=>A(M(a??{}),(a=>z(E,a)))));const u=N(E);if(!w&&l&&h(u)&&R(o,t))return await a("DROP TABLE"+g(t)),void k(o,t);if(h(u)||R(o,t)){const n=W(o,t),i=U(j(n));await p([...A(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${g(t)}ADD${g(e)}`),k(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${g(t)}DROP${g(s)}`),k(n,s))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(u,(a=>i+g(a))))});`),k(o,t,H([[e,s],...A(u,(a=>[a,s]))]));if(w)y(c)?await a("DELETE FROM"+g(t)+"WHERE 1"):await p($(c,(async(s,i)=>{y(s)?await a("DELETE FROM"+g(t)+Q+g(e)+"=?",[i]):h(u)||await Z(a,t,e,M(s),[i,..._(s)],n)})));else if(h(u))R(o,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const n=L(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{C(s,t,...A(n,(t=>a?.[t]))),C(i,t)})),await Z(a,t,e,n,s),await a("DELETE FROM"+g(t)+Q+g(e)+"NOT IN("+aa(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},Z=async(a,t,e,n,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+v(A(n,(a=>i+g(a))))+")VALUES"+u(c(`,(?${c(",?",d(n))})`,d(o)/(d(n)+1)),1)+(r?"ON CONFLICT("+g(e)+")DO UPDATE SET"+v(A(n,(a=>g(a)+"=excluded."+g(a))),i):s),A(o,(a=>a??null))),aa=a=>v(A(a,(()=>"?")),i),ta=JSON.parse,ea=H(),na=H(),sa=a=>E(a?.[0]),ia=(a,t,e,n,s,i,o,[c,r]=[],l=[])=>{let E,u,d,p=0,f=0;G(ea,l,(()=>0)),G(na,l,(()=>[]));const[T,g,m,v]=((a,t)=>!a||y(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!q(a)||!q(t)])(o,a),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&sa(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&sa(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&sa(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(w(E,a.delListener),E=void 0,h),schedule:async(...a)=>(C(W(na,l),...a),await(async()=>{if(!W(ea,l)){for(k(ea,l,1);!y((a=W(na,l),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(ea,l,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),x(h)},oa="store",ca=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=X(t,o,s);return ia(a,(async()=>await E((async()=>(await l(),ta((await y(i,T))[f]?.[oa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,T,{[f]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ra=(a,t,e,n,s,[i,o,[c,r,l]],w,E,u,d)=>{const[g,m,v,A]=X(t,w,s,d),h=async(a,t)=>await p(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),C=async(a,t)=>r?await v(l,T,{[f]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(L(await p(Y(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>c?(await m(l,T))[f]:{})();return q(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),y(t)){const[t,e]=a();await h(t),await C(e)}else{const[a,e]=t();await h(a,!0),await C(e,!0)}}))),e,n,s,!1,[u,E],E)},la="json",ya="autoLoadIntervalSeconds",wa="rowIdColumnName",Ea="tableId",ua="tableName",da={mode:la,[ya]:1},pa={load:0,save:0,[ua]:n+"_values"},fa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=u(_(P(t,E(a)?{[e]:a}:a)),0,B(t));y(o[0])||n(i,o[0])||k(s,i,o)})),s},Ta="pragma ",ga="data_version",ma="schema_version",va=(a,t,e,s,i,o,c,r,y="getDb",w)=>{let d,p,f;const[g,v,A,h]=(a=>{const t=(a=>P(da,E(a)?{storeTableName:a}:a??{}))(a),e=t[ya];if(t.mode==la){const{storeTableName:a=n}=t;return[1,e,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(_(P(pa,o)),0,B(pa)),r=c[2],l=U(r);return[0,e,[fa(s,{[Ea]:null,[wa]:T},Ea,(a=>z(l,a)&&a==r)),fa(i,{[ua]:null,[wa]:T,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>z(l,t)&&t==r)),c],l]})(t);return(g?ca:ra)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(Ta+ga))[0][ga],n=(await e(Ta+ma))[0][ma],s=(await e(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&n==(p??=n)&&s==(f??=s)||(a(),d=t,p=n)}catch{}},n=v,t(),setInterval(t,1e3*n)),s((t=>h.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),d=p=null,i(t)}),c,A,N(h),r,y,w)};a.createExpoSqliteNextPersister=(a,e,n,s,i)=>va(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
1
+ var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,n="tinybase",s="",i=",",o=e(s),c=(a,t)=>a.repeat(t),r=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),E=a=>e(a)==o,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,p=async a=>r.all(a),f="_",T="_id",g=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==d(a),L=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,S=a=>b.getPrototypeOf(a),D=b.entries,M=b.keys,x=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(D(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>d(M(a)),q=a=>(a=>!y(a)&&w(S(a),(a=>a==b.prototype||y(S(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(R(a,t)?n?.(W(a,t)):k(a,t,e()),W(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=>F(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||y(a)?a:[a]),z=(a,t)=>a?.add(t),K=m+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,n)=>{const o=H();return[async()=>J(o,I(await p(A(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+aa(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(m+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!y(W(W(o,a),t)))(t,e)?I(L(A(await a(K+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!q(t)))):{},async(t,e,c,r,l,w=!1)=>{const E=U();$(c??{},(a=>A(M(a??{}),(a=>z(E,a)))));const u=N(E);if(!w&&l&&h(u)&&R(o,t))return await a("DROP TABLE"+g(t)),void k(o,t);if(h(u)||R(o,t)){const n=W(o,t),i=U(j(n));await p([...A(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${g(t)}ADD${g(e)}`),k(n,e,s))})),...!w&&r?A(N(i),(async s=>{s!=e&&(await a(`ALTER TABLE${g(t)}DROP${g(s)}`),k(n,s))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(u,(a=>i+g(a))))});`),k(o,t,H([[e,s],...A(u,(a=>[a,s]))]));if(w)y(c)?await a("DELETE FROM"+g(t)+"WHERE 1"):await p($(c,(async(s,i)=>{y(s)?await a("DELETE FROM"+g(t)+Q+g(e)+"=?",[i]):h(u)||await Z(a,t,e,M(s),[i,..._(s)],n)})));else if(h(u))R(o,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const n=L(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{C(s,t,...A(n,(t=>a?.[t]))),C(i,t)})),await Z(a,t,e,n,s),await a("DELETE FROM"+g(t)+Q+g(e)+"NOT IN("+aa(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},Z=async(a,t,e,n,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+v(A(n,(a=>i+g(a))))+")VALUES"+u(c(`,(?${c(",?",d(n))})`,d(o)/(d(n)+1)),1)+(r?"ON CONFLICT("+g(e)+")DO UPDATE SET"+v(A(n,(a=>g(a)+"=excluded."+g(a))),i):s),A(o,(a=>a??null))),aa=a=>v(A(a,(()=>"?")),i),ta=JSON.parse,ea=H(),na=H(),sa=a=>E(a?.[0]),ia=(a,t,e,n,s,i,o,[c,r]=[],l=[])=>{let E,u,d,p=0,f=0;G(ea,l,(()=>0)),G(na,l,(()=>[]));const[T,g,m,v]=((a,t)=>!a||y(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!q(a)||!q(t)])(o,a),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&sa(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&sa(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&sa(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(w(E,a.delListener),E=void 0,h),schedule:async(...a)=>(C(W(na,l),...a),await(async()=>{if(!W(ea,l)){for(k(ea,l,1);!y((a=W(na,l),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(ea,l,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),x(h)},oa="store",ca=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=X(t,o,s);return ia(a,(async()=>await E((async()=>(await l(),ta((await y(i,T))[f]?.[oa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,T,{[f]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ra=(a,t,e,n,s,[i,o,[c,r,l]],w,E,u,d)=>{const[g,m,v,A]=X(t,w,s,d),h=async(a,t)=>await p(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),C=async(a,t)=>r?await v(l,T,{[f]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(L(await p(Y(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>c?(await m(l,T))[f]:{})();return q(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),y(t)){const[t,e]=a();await h(t),await C(e)}else{const[a,e]=t();await h(a,!0),await C(e,!0)}}))),e,n,s,!1,[u,E],E)},la="json",ya="autoLoadIntervalSeconds",wa="rowIdColumnName",Ea="tableId",ua="tableName",da={mode:la,[ya]:1},pa={load:0,save:0,[ua]:n+"_values"},fa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=u(_(P(t,E(a)?{[e]:a}:a)),0,B(t));y(o[0])||n(i,o[0])||k(s,i,o)})),s},Ta="pragma ",ga="data_version",ma="schema_version",va=(a,t,e,s,i,o,c,r,y="getDb",w)=>{let d,p,f;const[g,v,A,h]=(a=>{const t=(a=>P(da,E(a)?{storeTableName:a}:a??{}))(a),e=t[ya];if(t.mode==la){const{storeTableName:a=n}=t;return[1,e,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(_(P(pa,o)),0,B(pa)),r=c[2],l=U(r);return[0,e,[fa(s,{[Ea]:null,[wa]:T},Ea,(a=>z(l,a)&&a==r)),fa(i,{[ua]:null,[wa]:T,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>z(l,t)&&t==r)),c],l]})(t);return(g?ca:ra)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const t=(await e(Ta+ga))[0][ga],n=(await e(Ta+ma))[0][ma],s=(await e(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&n==(p??=n)&&s==(f??=s)||(a(),d=t,p=n)}catch{}},n=v,t(),setInterval(t,1e3*n)),s((t=>h.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),d=p=null,i(t)}),c,A,N(h),r,y,w)};a.createExpoSqliteNextPersister=(a,e,n,s,i)=>va(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>v(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),x=a=>u(D(a)),B=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),k=(a,t,e)=>(L(a,t)||Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=H();return[async()=>G(o,I(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,G(k(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?I(h(v(await a(z+T(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 E=J();$(c??{},(a=>v(D(a??{}),(a=>U(E,a)))));const u=R(E);if(!w&&y&&A(u)&&L(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(A(u)||L(o,t)){const s=W(o,t),i=J(j(s));await d([...v(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?v(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${m(v(u,(a=>s+T(a))))});`),Y(o,t,H([[e,n],...v(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))L(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{C(s,t,...v(n,(t=>a?.[t]))),C(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+m(v(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+m(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>m(v(a,(()=>"?")),s),aa=JSON.parse,ta=H(),ea=H(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,g,m,v]=((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),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(C(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(Y(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),M(h)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[g,m,v,A]=Q(t,w,s,T),C=async(a,t)=>await d(q(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),L=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(h(await d(q(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await C(t),await L(e)}else{const[a,e]=t();await C(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,x(t));l(o[0])||n(i,o[0])||Y(s,i,o)})),s},fa="pragma ",Ta="data_version",ga="schema_version",ma=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[m,v,A,h]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,x(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(m?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,R(h),l,y,u)};a.createExpoSqlitePersister=(a,t,e,n,s)=>ma(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)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
1
+ var a,t;a=this,t=function(a){"use strict";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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>v(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),x=a=>u(D(a)),B=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(L(a,t)?n?.(W(a,t)):Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=H();return[async()=>G(o,I(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,G(k(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?I(h(v(await a(z+T(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 E=J();$(c??{},(a=>v(D(a??{}),(a=>U(E,a)))));const u=R(E);if(!w&&y&&A(u)&&L(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(A(u)||L(o,t)){const s=W(o,t),i=J(j(s));await d([...v(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?v(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${m(v(u,(a=>s+T(a))))});`),Y(o,t,H([[e,n],...v(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))L(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{C(s,t,...v(n,(t=>a?.[t]))),C(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+m(v(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+m(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>m(v(a,(()=>"?")),s),aa=JSON.parse,ta=H(),ea=H(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,g,m,v]=((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),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();v(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(C(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(Y(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),M(h)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[g,m,v,A]=Q(t,w,s,T),C=async(a,t)=>await d(q(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),L=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(h(await d(q(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await C(t),await L(e)}else{const[a,e]=t();await C(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,x(t));l(o[0])||n(i,o[0])||Y(s,i,o)})),s},fa="pragma ",Ta="data_version",ga="schema_version",ma=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[m,v,A,h]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,x(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(m?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,R(h),l,y,u)};a.createExpoSqlitePersister=(a,t,e,n,s)=>ma(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)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t,a){"use strict";const s=e=>typeof e,n=s(""),o="utf8",r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=Object,l=e=>c.getPrototypeOf(e),y=c.keys,f=c.freeze,p=e=>(e=>!r(e)&&i(l(e),(e=>e==c.prototype||r(l(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),d=JSON.parse,u=e=>new Map(e),g=(e,t)=>e?.get(t),h=(e,t,a)=>{return r(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},w=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||h(e,t,a()),g(e,t)},v=u(),C=u(),b=e=>{return t=e?.[0],s(t)==n;var t};e.createFilePersister=(e,s,n)=>((e,t,a,s,n,o,c,[l,y]=[],d=[])=>{let u,A,M,S=0,m=0;w(v,d,(()=>0)),w(C,d,(()=>[]));const[F,L,T,O]=((e,t)=>!e||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!p(e)||!p(t)])(c,e),P=async e=>(2!=S&&(S=1,await x.schedule((async()=>{await e(),S=0}))),x),x={load:async(a,s)=>await P((async()=>{try{const a=await t();(F&&b(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(x.stopAutoLoad(),await x.load(a,n),m=1,M=s((async(a,s)=>{if(s){const t=s();await P((async()=>(F&&b(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await P((async()=>{try{const s=a?.()??await t();(F&&b(s)?e.setMergeableContent:e.setContent)(s)}catch(e){o?.(e)}}))})),x),stopAutoLoad:()=>(m&&(n(M),M=void 0,m=0),x),save:async e=>(1!=S&&(S=2,await x.schedule((async()=>{try{await a(L,e)}catch(e){o?.(e)}S=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=T();O(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(i(u,e.delListener),u=void 0,x),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(g(C,d),...e),await(async()=>{if(!g(v,d)){for(h(v,d,1);!r((e=g(C,d),A=e.shift()));)try{await A()}catch(e){o?.(e)}h(v,d,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(x[l]=()=>y),f(x)})(e,(async()=>d(await a.readFile(s,o))),(async e=>{return await a.writeFile(s,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?c.fromEntries([...t]):t))),o);var t}),(e=>t.watch(s,(()=>e()))),(e=>e?.close()),n,!0,["getFilePath",s])},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
1
+ var e,t;e=this,t=function(e,t,a){"use strict";const s=e=>typeof e,n=s(""),o="utf8",r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=Object,l=e=>c.getPrototypeOf(e),y=c.keys,f=c.freeze,p=e=>(e=>!r(e)&&i(l(e),(e=>e==c.prototype||r(l(e))),(()=>!0)))(e)&&0==(e=>y(e).length)(e),d=JSON.parse,u=e=>new Map(e),g=(e,t)=>e?.get(t),h=(e,t,a)=>{return r(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},w=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(g(e,t)):h(e,t,a()),g(e,t)},v=u(),C=u(),b=e=>{return t=e?.[0],s(t)==n;var t};e.createFilePersister=(e,s,n)=>((e,t,a,s,n,o,c,[l,y]=[],d=[])=>{let u,A,M,S=0,m=0;w(v,d,(()=>0)),w(C,d,(()=>[]));const[F,L,T,O]=((e,t)=>!e||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!p(e)||!p(t)])(c,e),P=async e=>(2!=S&&(S=1,await x.schedule((async()=>{await e(),S=0}))),x),x={load:async(a,s)=>await P((async()=>{try{const a=await t();(F&&b(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(x.stopAutoLoad(),await x.load(a,n),m=1,M=s((async(a,s)=>{if(s){const t=s();await P((async()=>(F&&b(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await P((async()=>{try{const s=a?.()??await t();(F&&b(s)?e.setMergeableContent:e.setContent)(s)}catch(e){o?.(e)}}))})),x),stopAutoLoad:()=>(m&&(n(M),M=void 0,m=0),x),save:async e=>(1!=S&&(S=2,await x.schedule((async()=>{try{await a(L,e)}catch(e){o?.(e)}S=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=T();O(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(i(u,e.delListener),u=void 0,x),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(g(C,d),...e),await(async()=>{if(!g(v,d)){for(h(v,d,1);!r((e=g(C,d),A=e.shift()));)try{await A()}catch(e){o?.(e)}h(v,d,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(x[l]=()=>y),f(x)})(e,(async()=>d(await a.readFile(s,o))),(async e=>{return await a.writeFile(s,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?c.fromEntries([...t]):t))),o);var t}),(e=>t.watch(s,(()=>e()))),(e=>e?.close()),n,!0,["getFilePath",s])},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=Promise,s=clearInterval,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),c=e=>new n(e),i=async e=>n.all(e),l=(e,t)=>e.map(t),d=(e,...t)=>e.push(...t),y=Object,u=e=>y.getPrototypeOf(e),p=y.entries,g=y.keys,w=y.freeze,h=e=>(e=>!o(e)&&r(u(e),(e=>e==y.prototype||o(u(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>{return o(a)?(n=e,s=t,n?.delete(s),e):e?.set(t,a);var n,s},C=(e,t,a)=>{var n,s;return n=e,s=t,n?.has(s)||b(e,t,a()),v(e,t)},A=f(),S=f(),x=e=>{return n=e?.[0],t(n)==a;var n},M=globalThis.window,D=["t","v"],T={keyPath:"k"},j=async(e,t)=>{const a=((t,a)=>l(p(t),(([t,a])=>m(e,"put",{k:t,v:a}))))(t);l(await m(e,"getAllKeys"),(n=>((e,t)=>t in e)(t,n)?0:d(a,m(e,"delete",n)))),await i(a)},m=async(e,t,a)=>c(((n,s)=>{const o=e[t](a);o.onsuccess=()=>n(o.result),o.onerror=()=>s(`objectStore.${t} error`)}));e.createIndexedDbPersister=(e,t,a=1,n)=>{const u=async(e,a=[],n=0)=>c(((s,o)=>{const r=(M?M.indexedDB:indexedDB).open(t,n?2:void 0);r.onupgradeneeded=()=>n&&l(D,(e=>{try{r.result.createObjectStore(e,T)}catch{}})),r.onsuccess=async()=>{try{const t=r.result.transaction(D,"readwrite"),n=await i(l(D,(async(n,s)=>await e(t.objectStore(n),a[s]))));r.result.close(),s(n)}catch(e){r.result.close(),o(e)}},r.onerror=()=>o("indexedDB.open error")}));return((e,t,a,n,s,c,i,[l,y]=[],u=[])=>{let p,g,f,M=0,D=0;C(A,u,(()=>0)),C(S,u,(()=>[]));const[T,j,m,L]=((e,t)=>!e||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(i,e),k=async e=>(2!=M&&(M=1,await P.schedule((async()=>{await e(),M=0}))),P),P={load:async(a,n)=>await k((async()=>{try{const a=await t();(T&&x(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,n])}})),startAutoLoad:async(a={},s={})=>(P.stopAutoLoad(),await P.load(a,s),D=1,f=n((async(a,n)=>{if(n){const t=n();await k((async()=>(T&&x(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await k((async()=>{try{const n=a?.()??await t();(T&&x(n)?e.setMergeableContent:e.setContent)(n)}catch(e){c?.(e)}}))})),P),stopAutoLoad:()=>(D&&(s(f),f=void 0,D=0),P),save:async e=>(1!=M&&(M=2,await P.schedule((async()=>{try{await a(j,e)}catch(e){c?.(e)}M=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),p=e.addDidFinishTransactionListener((()=>{const e=m();L(e)&&P.save((()=>e))})),P),stopAutoSave:()=>(r(p,e.delListener),p=void 0,P),schedule:async(...e)=>(d(v(S,u),...e),await(async()=>{if(!v(A,u)){for(b(A,u,1);!o((e=v(S,u),g=e.shift()));)try{await g()}catch(e){c?.(e)}b(A,u,0)}var e})(),P),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(P[l]=()=>y),w(P)})(e,(async()=>await u((async e=>((e=[])=>y.fromEntries(e))(l(await m(e,"getAll"),(({k:e,v:t})=>[e,t])))))),(async e=>await u((async(e,t)=>await j(e,t)),e(),1)),(e=>setInterval(e,1e3*a)),(e=>s(e)),n,!1,["getDbName",t])},e.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=Promise,s=clearInterval,o=e=>null==e,r=(e,t,a)=>o(e)?a?.():t(e),c=e=>new n(e),i=async e=>n.all(e),l=(e,t)=>e.map(t),d=(e,...t)=>e.push(...t),y=Object,u=e=>y.getPrototypeOf(e),p=y.entries,g=y.keys,w=y.freeze,h=e=>(e=>!o(e)&&r(u(e),(e=>e==y.prototype||o(u(e))),(()=>!0)))(e)&&0==(e=>g(e).length)(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),b=(e,t,a)=>{return o(a)?(n=e,s=t,n?.delete(s),e):e?.set(t,a);var n,s},C=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(v(e,t)):b(e,t,a()),v(e,t)},A=f(),S=f(),x=e=>{return n=e?.[0],t(n)==a;var n},M=globalThis.window,D=["t","v"],T={keyPath:"k"},j=async(e,t)=>{const a=((t,a)=>l(p(t),(([t,a])=>m(e,"put",{k:t,v:a}))))(t);l(await m(e,"getAllKeys"),(n=>((e,t)=>t in e)(t,n)?0:d(a,m(e,"delete",n)))),await i(a)},m=async(e,t,a)=>c(((n,s)=>{const o=e[t](a);o.onsuccess=()=>n(o.result),o.onerror=()=>s(`objectStore.${t} error`)}));e.createIndexedDbPersister=(e,t,a=1,n)=>{const u=async(e,a=[],n=0)=>c(((s,o)=>{const r=(M?M.indexedDB:indexedDB).open(t,n?2:void 0);r.onupgradeneeded=()=>n&&l(D,(e=>{try{r.result.createObjectStore(e,T)}catch{}})),r.onsuccess=async()=>{try{const t=r.result.transaction(D,"readwrite"),n=await i(l(D,(async(n,s)=>await e(t.objectStore(n),a[s]))));r.result.close(),s(n)}catch(e){r.result.close(),o(e)}},r.onerror=()=>o("indexedDB.open error")}));return((e,t,a,n,s,c,i,[l,y]=[],u=[])=>{let p,g,f,M=0,D=0;C(A,u,(()=>0)),C(S,u,(()=>[]));const[T,j,m,L]=((e,t)=>!e||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(i,e),k=async e=>(2!=M&&(M=1,await P.schedule((async()=>{await e(),M=0}))),P),P={load:async(a,n)=>await k((async()=>{try{const a=await t();(T&&x(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,n])}})),startAutoLoad:async(a={},s={})=>(P.stopAutoLoad(),await P.load(a,s),D=1,f=n((async(a,n)=>{if(n){const t=n();await k((async()=>(T&&x(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await k((async()=>{try{const n=a?.()??await t();(T&&x(n)?e.setMergeableContent:e.setContent)(n)}catch(e){c?.(e)}}))})),P),stopAutoLoad:()=>(D&&(s(f),f=void 0,D=0),P),save:async e=>(1!=M&&(M=2,await P.schedule((async()=>{try{await a(j,e)}catch(e){c?.(e)}M=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),p=e.addDidFinishTransactionListener((()=>{const e=m();L(e)&&P.save((()=>e))})),P),stopAutoSave:()=>(r(p,e.delListener),p=void 0,P),schedule:async(...e)=>(d(v(S,u),...e),await(async()=>{if(!v(A,u)){for(b(A,u,1);!o((e=v(S,u),g=e.shift()));)try{await g()}catch(e){c?.(e)}b(A,u,0)}var e})(),P),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(P[l]=()=>y),w(P)})(e,(async()=>await u((async e=>((e=[])=>y.fromEntries(e))(l(await m(e,"getAll"),(({k:e,v:t})=>[e,t])))))),(async e=>await u((async(e,t)=>await j(e,t)),e(),1)),(e=>setInterval(e,1e3*a)),(e=>s(e)),n,!1,["getDbName",t])},e.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
@@ -0,0 +1 @@
1
+ var a,t;a=this,t=function(a){"use strict";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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>m(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),x=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),H=a=>new Map(a),j=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(C(a,t)?n?.(W(a,t)):Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=H();return[async()=>G(o,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,G(k(o,t,H),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?I(L(m(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!x(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=J();$(c??{},(a=>m(D(a??{}),(a=>U(E,a)))));const u=R(E);if(!w&&y&&A(u)&&C(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(A(u)||C(o,t)){const s=W(o,t),i=J(j(s));await d([...m(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(u,(a=>s+T(a))))});`),Y(o,t,H([[e,n],...m(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))C(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=L(j(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{h(s,t,...m(n,(t=>a?.[t]))),h(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(m(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(m(i,(a=>T(a)+"=excluded."+T(a))),s):n),m(c,(a=>a??null))),Z=a=>v(m(a,(()=>"?")),s),aa=JSON.parse,ta=H(),ea=H(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,g,v,m]=((a,t)=>!a||l(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),A=async a=>(2!=p&&(p=1,await L.schedule((async()=>{await a(),p=0}))),L),L={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(L.stopAutoLoad(),await L.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),L),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),L),save:async a=>(1!=p&&(p=2,await L.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&L.save((()=>a))})),L),stopAutoSave:()=>(y(E,a.delListener),E=void 0,L),schedule:async(...a)=>(h(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(Y(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),L),getStore:()=>a,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(L[c]=()=>r),M(L)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[g,v,m,A]=Q(t,w,s,T),h=async(a,t)=>await d(q(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await m(e,n,a[o],s,i,t)}))),C=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(L(await d(q(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return x(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await C(e)}else{const[a,e]=t();await h(a,!0),await C(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||Y(s,i,o)})),s},fa="pragma ",Ta="data_version",ga="schema_version",va=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[v,m,A,L]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,B(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,R(L),l,y,u)};a.createLibSqlPersister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a="",s=e(a),o=t=>null==t,n=(t,e,a)=>o(t)?a?.():e(t),r=t=>e(t)==s,i=t=>t.length,c=Object,y=t=>c.getPrototypeOf(t),d=c.keys,l=c.freeze,p=t=>(t=>!o(t)&&n(y(t),(t=>t==c.prototype||o(y(t))),(()=>!0)))(t)&&0==(t=>i(d(t)))(t),g=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),h=JSON.parse,u="/store",f=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return o(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},C=(t,e,a)=>{var s,o;return s=t,o=e,s?.has(o)||w(t,e,a()),v(t,e)},b=f(),m=f(),P=t=>r(t?.[0]),S="message";t.createPartyKitPersister=(t,e,s,c)=>{const{host:y,room:d}=e.partySocketOptions,{storeProtocol:f="https",storePath:A=u,messagePrefix:L=a}={...r(s)?{storeProtocol:s}:s},M=f+"://"+y+"/parties/"+e.name+"/"+d+A,T=async t=>await(await fetch(M,{...t?{method:"PUT",body:g(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,r,i,c,[y,d]=[],g=[])=>{let h,u,f,S=0,A=0;C(b,g,(()=>0)),C(m,g,(()=>[]));const[L,M,T,O]=((t,e)=>!t||o(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e)])(c,t),x=async t=>(2!=S&&(S=1,await j.schedule((async()=>{await t(),S=0}))),j),j={load:async(a,s)=>await x((async()=>{try{const a=await e();(L&&P(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},o={})=>(j.stopAutoLoad(),await j.load(a,o),A=1,f=s((async(a,s)=>{if(s){const e=s();await x((async()=>(L&&P(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await x((async()=>{try{const s=a?.()??await e();(L&&P(s)?t.setMergeableContent:t.setContent)(s)}catch(t){i?.(t)}}))})),j),stopAutoLoad:()=>(A&&(r(f),f=void 0,A=0),j),save:async t=>(1!=S&&(S=2,await j.schedule((async()=>{try{await a(M,t)}catch(t){i?.(t)}S=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),h=t.addDidFinishTransactionListener((()=>{const t=T();O(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(h,t.delListener),h=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(m,g),...t),await(async()=>{if(!v(b,g)){for(w(b,g,1);!o((t=v(m,g),u=t.shift()));)try{await u()}catch(t){i?.(t)}w(b,g,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(j[y]=()=>d),l(j)})(t,(async()=>await T()),(async(t,a)=>{var s,o;a?e.send((s=L,o=a(),s+"s"+(r(o)?o:g(o)))):await T(t())}),(t=>{const a=e=>n(((t,e,a)=>{const s=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],h((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(L,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return e.addEventListener(S,a),a}),(t=>{e.removeEventListener(S,t)}),c,!1,["getConnection",e])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a="",s=e(a),o=t=>null==t,n=(t,e,a)=>o(t)?a?.():e(t),r=t=>e(t)==s,i=t=>t.length,c=Object,y=t=>c.getPrototypeOf(t),d=c.keys,l=c.freeze,p=t=>(t=>!o(t)&&n(y(t),(t=>t==c.prototype||o(y(t))),(()=>!0)))(t)&&0==(t=>i(d(t)))(t),g=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),h=JSON.parse,u="/store",f=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return o(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},C=(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)},b=f(),m=f(),P=t=>r(t?.[0]),S="message";t.createPartyKitPersister=(t,e,s,c)=>{const{host:y,room:d}=e.partySocketOptions,{storeProtocol:f="https",storePath:A=u,messagePrefix:L=a}={...r(s)?{storeProtocol:s}:s},M=f+"://"+y+"/parties/"+e.name+"/"+d+A,T=async t=>await(await fetch(M,{...t?{method:"PUT",body:g(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,r,i,c,[y,d]=[],g=[])=>{let h,u,f,S=0,A=0;C(b,g,(()=>0)),C(m,g,(()=>[]));const[L,M,T,O]=((t,e)=>!t||o(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e)])(c,t),x=async t=>(2!=S&&(S=1,await j.schedule((async()=>{await t(),S=0}))),j),j={load:async(a,s)=>await x((async()=>{try{const a=await e();(L&&P(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},o={})=>(j.stopAutoLoad(),await j.load(a,o),A=1,f=s((async(a,s)=>{if(s){const e=s();await x((async()=>(L&&P(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await x((async()=>{try{const s=a?.()??await e();(L&&P(s)?t.setMergeableContent:t.setContent)(s)}catch(t){i?.(t)}}))})),j),stopAutoLoad:()=>(A&&(r(f),f=void 0,A=0),j),save:async t=>(1!=S&&(S=2,await j.schedule((async()=>{try{await a(M,t)}catch(t){i?.(t)}S=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),h=t.addDidFinishTransactionListener((()=>{const t=T();O(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(h,t.delListener),h=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(m,g),...t),await(async()=>{if(!v(b,g)){for(w(b,g,1);!o((t=v(m,g),u=t.shift()));)try{await u()}catch(t){i?.(t)}w(b,g,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(j[y]=()=>d),l(j)})(t,(async()=>await T()),(async(t,a)=>{var s,o;a?e.send((s=L,o=a(),s+"s"+(r(o)?o:g(o)))):await T(t())}),(t=>{const a=e=>n(((t,e,a)=>{const s=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],h((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(L,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return e.addEventListener(S,a),a}),(t=>{e.removeEventListener(S,t)}),c,!1,["getConnection",e])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),n=clearInterval,s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),r=Object,c=t=>r.getPrototypeOf(t),i=r.keys,y=r.freeze,l=t=>(t=>!s(t)&&o(c(t),(t=>t==r.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),d=JSON.parse,p=t=>new Map(t),g=(t,e)=>t?.get(e),h=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},u=(t,e,a)=>{var n,s;return n=t,s=e,n?.has(s)||h(t,e,a()),g(t,e)},f=p(),w=p(),v=t=>{return n=t?.[0],e(n)==a;var n},C=t=>t.headers.get("ETag");t.createRemotePersister=(t,e,a,c=5,i)=>{let p;return((t,e,a,n,r,c,i,[d,p]=[],C=[])=>{let b,A,S,T=0,M=0;u(f,C,(()=>0)),u(w,C,(()=>[]));const[m,L,O,x]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!l(t)||!l(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!l(t)||!l(e)])(i,t),P=async t=>(2!=T&&(T=1,await j.schedule((async()=>{await t(),T=0}))),j),j={load:async(a,n)=>await P((async()=>{try{const a=await e();(m&&v(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,n])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),M=1,S=n((async(a,n)=>{if(n){const e=n();await P((async()=>(m&&v(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const n=a?.()??await e();(m&&v(n)?t.setMergeableContent:t.setContent)(n)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(M&&(r(S),S=void 0,M=0),j),save:async t=>(1!=T&&(T=2,await j.schedule((async()=>{try{await a(L,t)}catch(t){c?.(t)}T=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),b=t.addDidFinishTransactionListener((()=>{const t=O();x(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(o(b,t.delListener),b=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(g(w,C),...t),await(async()=>{if(!g(f,C)){for(h(f,C,1);!s((t=g(w,C),A=t.shift()));)try{await A()}catch(t){c?.(t)}h(f,C,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(j[d]=()=>p),y(j)})(t,(async()=>{const t=await fetch(e);return p=C(t),d(await t.text())}),(async t=>{return await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(e,{method:"HEAD"}),n=C(a);s(p)||s(n)||n==p||(p=n,t())}),1e3*c)),(t=>n(t)),i,!1,["getUrls",[e,a]])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),n=clearInterval,s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),r=Object,c=t=>r.getPrototypeOf(t),i=r.keys,y=r.freeze,l=t=>(t=>!s(t)&&o(c(t),(t=>t==r.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),d=JSON.parse,p=t=>new Map(t),g=(t,e)=>t?.get(e),h=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},u=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(g(t,e)):h(t,e,a()),g(t,e)},f=p(),w=p(),v=t=>{return n=t?.[0],e(n)==a;var n},C=t=>t.headers.get("ETag");t.createRemotePersister=(t,e,a,c=5,i)=>{let p;return((t,e,a,n,r,c,i,[d,p]=[],C=[])=>{let b,A,S,T=0,M=0;u(f,C,(()=>0)),u(w,C,(()=>[]));const[m,L,O,x]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!l(t)||!l(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!l(t)||!l(e)])(i,t),P=async t=>(2!=T&&(T=1,await j.schedule((async()=>{await t(),T=0}))),j),j={load:async(a,n)=>await P((async()=>{try{const a=await e();(m&&v(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,n])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),M=1,S=n((async(a,n)=>{if(n){const e=n();await P((async()=>(m&&v(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const n=a?.()??await e();(m&&v(n)?t.setMergeableContent:t.setContent)(n)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(M&&(r(S),S=void 0,M=0),j),save:async t=>(1!=T&&(T=2,await j.schedule((async()=>{try{await a(L,t)}catch(t){c?.(t)}T=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),b=t.addDidFinishTransactionListener((()=>{const t=O();x(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(o(b,t.delListener),b=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(g(w,C),...t),await(async()=>{if(!g(f,C)){for(h(f,C,1);!s((t=g(w,C),A=t.shift()));)try{await A()}catch(t){c?.(t)}h(f,C,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(j[d]=()=>p),y(j)})(t,(async()=>{const t=await fetch(e);return p=C(t),d(await t.text())}),(async t=>{return await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(e,{method:"HEAD"}),n=C(a);s(p)||s(n)||n==p||(p=n,t())}),1e3*c)),(t=>n(t)),i,!1,["getUrls",[e,a]])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";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),E=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),h=a=>0==E(a),A=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),_=(...a)=>b.assign({},...a),P=(a,t)=>t in a,F=(a,t)=>v(S(a),(([a,e])=>t(e,a))),$=a=>b.values(a),B=a=>E(D(a)),W=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),Y=(a,t,e)=>(R(a,t)||q(a,t,e()),H(a,t)),G=(a,t,e,n=q)=>(F(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)||l(a)?a:[a]),U=(a,t)=>a?.add(t),V=m+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,I(await d(v(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(m+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,G(Y(o,t,j),e,((a,t,e)=>{e!=H(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?I(A(v(await a(V+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=J();F(c??{},(a=>v(D(a??{}),(a=>U(u,a)))));const E=C(u);if(!w&&y&&h(E)&&R(o,t))return await a("DROP TABLE"+T(t)),void q(o,t);if(h(E)||R(o,t)){const s=H(o,t),i=J(x(s));await d([...v(E,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),q(s,e,n))})),...!w&&r?v(C(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),q(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${g(v(E,(a=>s+T(a))))});`),q(o,t,j([[e,n],...v(E,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d(F(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+K+T(e)+"=?",[s]):h(E)||await X(a,t,e,D(n),[s,...$(n)],i)})));else if(h(E))R(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=A(x(H(o,t)),(a=>a!=e)),s=[],i=[];F(c??{},((a,t)=>{L(s,t,...v(n,(t=>a?.[t]))),L(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+K+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+g(v(i,(a=>s+T(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(c)/(E(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+g(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>g(v(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let u,E,d,p=0,f=0;Y(ta,w,(()=>0)),Y(ea,w,(()=>[]));const[T,m,g,v]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!W(a)||!W(t)])(o,a),h=async a=>(2!=p&&(p=1,await A.schedule((async()=>{await a(),p=0}))),A),A={load:async(e,n)=>await h((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(A.stopAutoLoad(),await A.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await h((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await h((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),A),save:async a=>(1!=p&&(p=2,await A.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),u=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&A.save((()=>a))})),A),stopAutoSave:()=>(y(u,a.delListener),u=void 0,A),schedule:async(...a)=>(L(H(ea,w),...a),await(async()=>{if(!H(ta,w)){for(q(ta,w,1);!l((a=H(ea,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}q(ta,w,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>r),M(A)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,u]=Q(t,o,s);return sa(a,(async()=>await u((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,u,E,T)=>{const[m,g,v,h]=Q(t,w,s,T),L=async(a,t)=>await d(k(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await v(e,n,a[o],s,i,t)}))),R=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await m();const a=await(async()=>I(A(await d(k(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await g(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await L(t),await R(e)}else{const[a,e]=t();await L(a,!0),await R(e,!0)}}))),e,n,s,!1,[E,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",ua="tableName",Ea={mode:ra,[la]:1},da={load:0,save:0,[ua]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return F(a,((a,i)=>{const o=u($(_(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||q(s,i,o)})),s},fa="pragma ",Ta="data_version",ma="schema_version",ga=(a,t,n,s,i,o,c,l,y="getDb",E)=>{let d,p,T;const[g,v,h,A]=(a=>{const t=(a=>_(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u($(_(da,o)),0,B(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[ua]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ma))[0][ma],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,C(A),l,y,E)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>ga(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)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";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),E=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),h=a=>0==E(a),A=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),_=(...a)=>b.assign({},...a),P=(a,t)=>t in a,F=(a,t)=>v(S(a),(([a,e])=>t(e,a))),$=a=>b.values(a),B=a=>E(D(a)),W=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(R(a,t)?n?.(H(a,t)):q(a,t,e()),H(a,t)),G=(a,t,e,n=q)=>(F(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)||l(a)?a:[a]),U=(a,t)=>a?.add(t),V=m+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,I(await d(v(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(m+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,G(Y(o,t,j),e,((a,t,e)=>{e!=H(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?I(A(v(await a(V+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=J();F(c??{},(a=>v(D(a??{}),(a=>U(u,a)))));const E=C(u);if(!w&&y&&h(E)&&R(o,t))return await a("DROP TABLE"+T(t)),void q(o,t);if(h(E)||R(o,t)){const s=H(o,t),i=J(x(s));await d([...v(E,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),q(s,e,n))})),...!w&&r?v(C(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),q(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${g(v(E,(a=>s+T(a))))});`),q(o,t,j([[e,n],...v(E,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d(F(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+K+T(e)+"=?",[s]):h(E)||await X(a,t,e,D(n),[s,...$(n)],i)})));else if(h(E))R(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=A(x(H(o,t)),(a=>a!=e)),s=[],i=[];F(c??{},((a,t)=>{L(s,t,...v(n,(t=>a?.[t]))),L(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+K+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+g(v(i,(a=>s+T(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(c)/(E(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+g(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>g(v(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let u,E,d,p=0,f=0;Y(ta,w,(()=>0)),Y(ea,w,(()=>[]));const[T,m,g,v]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!W(a)||!W(t)])(o,a),h=async a=>(2!=p&&(p=1,await A.schedule((async()=>{await a(),p=0}))),A),A={load:async(e,n)=>await h((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(A.stopAutoLoad(),await A.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await h((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await h((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),A),save:async a=>(1!=p&&(p=2,await A.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),u=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&A.save((()=>a))})),A),stopAutoSave:()=>(y(u,a.delListener),u=void 0,A),schedule:async(...a)=>(L(H(ea,w),...a),await(async()=>{if(!H(ta,w)){for(q(ta,w,1);!l((a=H(ea,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}q(ta,w,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>r),M(A)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,u]=Q(t,o,s);return sa(a,(async()=>await u((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,u,E,T)=>{const[m,g,v,h]=Q(t,w,s,T),L=async(a,t)=>await d(k(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await v(e,n,a[o],s,i,t)}))),R=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await m();const a=await(async()=>I(A(await d(k(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await g(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await L(t),await R(e)}else{const[a,e]=t();await L(a,!0),await R(e,!0)}}))),e,n,s,!1,[E,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",ua="tableName",Ea={mode:ra,[la]:1},da={load:0,save:0,[ua]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return F(a,((a,i)=>{const o=u($(_(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||q(s,i,o)})),s},fa="pragma ",Ta="data_version",ma="schema_version",ga=(a,t,n,s,i,o,c,l,y="getDb",E)=>{let d,p,T;const[g,v,h,A]=(a=>{const t=(a=>_(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u($(_(da,o)),0,B(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[ua]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ma))[0][ma],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,C(A),l,y,E)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>ga(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)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>m(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),H=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),q=(a,t,e)=>(C(a,t)||k(a,t,e()),W(a,t)),G=(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=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,G(q(o,t,j),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?I(h(m(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=J();$(c??{},(a=>m(D(a??{}),(a=>U(E,a)))));const u=R(E);if(!w&&y&&A(u)&&C(o,t))return await a("DROP TABLE"+T(t)),void k(o,t);if(A(u)||C(o,t)){const s=W(o,t),i=J(x(s));await d([...m(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),k(s,e,n))})),...!w&&r?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),k(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(u,(a=>s+T(a))))});`),k(o,t,j([[e,n],...m(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))C(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(x(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{L(s,t,...m(n,(t=>a?.[t]))),L(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(m(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(m(i,(a=>T(a)+"=excluded."+T(a))),s):n),m(c,(a=>a??null))),Z=a=>v(m(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;q(ta,w,(()=>0)),q(ea,w,(()=>[]));const[T,g,v,m]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!H(a)||!H(t)])(o,a),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(L(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(k(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(ta,w,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),M(h)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[g,v,m,A]=Q(t,w,s,T),L=async(a,t)=>await d(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await m(e,n,a[o],s,i,t)}))),C=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(h(await d(Y(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await L(t),await C(e)}else{const[a,e]=t();await L(a,!0),await C(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||k(s,i,o)})),s},fa="pragma ",Ta="data_version",ga="schema_version",va=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[v,m,A,h]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,B(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,R(h),l,y,u)},ma="change";a.createSqlite3Persister=(a,t,e,n,s)=>va(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(ma,e),e}),(a=>t.off(ma,a)),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
1
+ var a,t;a=this,t=function(a){"use strict";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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>m(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),H=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),q=(a,t,e,n)=>(C(a,t)?n?.(W(a,t)):k(a,t,e()),W(a,t)),G=(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=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,G(q(o,t,j),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?I(h(m(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=J();$(c??{},(a=>m(D(a??{}),(a=>U(E,a)))));const u=R(E);if(!w&&y&&A(u)&&C(o,t))return await a("DROP TABLE"+T(t)),void k(o,t);if(A(u)||C(o,t)){const s=W(o,t),i=J(x(s));await d([...m(u,(async e=>{O(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),k(s,e,n))})),...!w&&r?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),k(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(u,(a=>s+T(a))))});`),k(o,t,j([[e,n],...m(u,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))C(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=h(x(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{L(s,t,...m(n,(t=>a?.[t]))),L(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(m(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(m(i,(a=>T(a)+"=excluded."+T(a))),s):n),m(c,(a=>a??null))),Z=a=>v(m(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;q(ta,w,(()=>0)),q(ea,w,(()=>[]));const[T,g,v,m]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!H(a)||!H(t)])(o,a),A=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(L(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(k(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(ta,w,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),M(h)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[g,v,m,A]=Q(t,w,s,T),L=async(a,t)=>await d(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await m(e,n,a[o],s,i,t)}))),C=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await g();const a=await(async()=>I(h(await d(Y(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await L(t),await C(e)}else{const[a,e]=t();await L(a,!0),await C(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||k(s,i,o)})),s},fa="pragma ",Ta="data_version",ga="schema_version",va=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[v,m,A,h]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,B(da)),r=c[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,R(h),l,y,u)},ma="change";a.createSqlite3Persister=(a,t,e,n,s)=>va(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(ma,e),e}),(a=>t.off(ma,a)),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const a=e=>typeof e,s=a(""),n="t",o="v",r=e=>null==e,c=(e,t,a)=>r(e)?a?.():t(e),i=e=>e.length,l=e=>e.shift(),g=Object,d=e=>g.getPrototypeOf(e),y=g.entries,u=g.keys,p=g.freeze,f=(e=[])=>g.fromEntries(e),h=(e,t)=>t in e,v=(e,t)=>((e,t)=>e.map(t))(y(e),(([e,a])=>t(a,e))),w=e=>(e=>!r(e)&&c(d(e),(e=>e==g.prototype||r(d(e))),(()=>!0)))(e)&&0==(e=>i(u(e)))(e),b=(e,t,a)=>(h(e,t)||(e[t]=a()),e[t]),C=e=>new Map(e),S=(e,t)=>e?.get(t),M=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),A=(e,t,a)=>{return r(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},O=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||A(e,t,a()),S(e,t)},j=C(),J=C(),L=e=>{return t=e?.[0],a(t)==s;var t},N="delete",T=e=>[e.get(n),e.get(o)],m=(e,a,s,n)=>{const o=r(a)?e:e.get(a)??e.set(a,new t.Map);let c;return v(s,((e,t)=>{n(o,t,e)&&(c=1)})),o.forEach(((e,t)=>{h(s,t)||(o.delete(t),c=1)})),r(a)||o.size||e.delete(a),c};e.createYjsPersister=(e,a,s="tinybase",g)=>{const d=a.getMap(s);return((e,t,a,s,n,o,i,[g,d]=[],y=[])=>{let u,f,h,v=0,b=0;O(j,y,(()=>0)),O(J,y,(()=>[]));const[C,M,N,T]=((e,t)=>!e||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!w(e)||!w(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!w(e)||!w(t)])(i,e),m=async e=>(2!=v&&(v=1,await z.schedule((async()=>{await e(),v=0}))),z),z={load:async(a,s)=>await m((async()=>{try{const a=await t();(C&&L(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(z.stopAutoLoad(),await z.load(a,n),b=1,h=s((async(a,s)=>{if(s){const t=s();await m((async()=>(C&&L(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await m((async()=>{try{const s=a?.()??await t();(C&&L(s)?e.setMergeableContent:e.setContent)(s)}catch(e){o?.(e)}}))})),z),stopAutoLoad:()=>(b&&(n(h),h=void 0,b=0),z),save:async e=>(1!=v&&(v=2,await z.schedule((async()=>{try{await a(M,e)}catch(e){o?.(e)}v=0}))),z),startAutoSave:async()=>(await z.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=N();T(e)&&z.save((()=>e))})),z),stopAutoSave:()=>(c(u,e.delListener),u=void 0,z),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(S(J,y),...e),await(async()=>{if(!S(j,y)){for(A(j,y,1);!r(f=l(S(J,y)));)try{await f()}catch(e){o?.(e)}A(j,y,0)}})(),z),getStore:()=>e,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(z[g]=()=>d),p(z)})(e,(async()=>d.size?[d.get(n).toJSON(),d.get(o).toJSON()]:void 0),(async(e,s)=>a.transact((()=>((e,a,s)=>{e.size||(e.set(n,new t.Map),e.set(o,new t.Map));const[i,l]=T(e),g=()=>{d=1};let d=1;if(c(s?.(),(([e,t])=>{d=0,v(e,((e,t)=>d?0:r(e)?i.delete(t):c(i.get(t),(t=>v(e,((e,a)=>d?0:r(e)?t.delete(a):c(t.get(a),(t=>v(e,((e,a)=>r(e)?t.delete(a):t.set(a,e)))),g)))),g))),v(t,((e,t)=>d?0:r(e)?l.delete(t):l.set(t,e)))})),d){const[e,t]=a();m(i,void 0,e,((e,t,a)=>m(i,t,a,((e,t,a)=>m(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),m(l,void 0,t,((e,t,a)=>{l.get(t)!==a&&l.set(t,a)}))}})(d,e,s)))),(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==i(t)&&(a=t[0].path,0==i(a)))return[e.get(n).toJSON(),e.get(o).toJSON()];var a;const[s,r]=T(e),g={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>l(e)==n?c(l(e),(a=>{const n=b(g,a,f),o=s.get(a);c(l(e),(e=>{const a=b(n,e,f),s=o.get(e);M(t,((e,{action:t})=>a[e]=t==N?null:s.get(e)))}),(()=>M(t,((e,{action:t})=>n[e]=t==N?null:o.get(e)?.toJSON()))))}),(()=>M(t,((e,{action:t})=>g[e]=t==N?null:s.get(e)?.toJSON())))):M(t,((e,{action:t})=>d[e]=t==N?null:r.get(e)))))})(t),[g,d]})(d,t)));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),g,!1,["getYDoc",a])}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const a=e=>typeof e,s=a(""),n="t",o="v",r=e=>null==e,c=(e,t,a)=>r(e)?a?.():t(e),i=e=>e.length,l=e=>e.shift(),g=Object,d=e=>g.getPrototypeOf(e),y=g.entries,u=g.keys,p=g.freeze,f=(e=[])=>g.fromEntries(e),h=(e,t)=>t in e,v=(e,t)=>((e,t)=>e.map(t))(y(e),(([e,a])=>t(a,e))),w=e=>(e=>!r(e)&&c(d(e),(e=>e==g.prototype||r(d(e))),(()=>!0)))(e)&&0==(e=>i(u(e)))(e),b=(e,t,a)=>(h(e,t)||(e[t]=a()),e[t]),C=e=>new Map(e),S=(e,t)=>e?.get(t),M=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),A=(e,t,a)=>{return r(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},O=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(S(e,t)):A(e,t,a()),S(e,t)},j=C(),J=C(),L=e=>{return t=e?.[0],a(t)==s;var t},N="delete",T=e=>[e.get(n),e.get(o)],m=(e,a,s,n)=>{const o=r(a)?e:e.get(a)??e.set(a,new t.Map);let c;return v(s,((e,t)=>{n(o,t,e)&&(c=1)})),o.forEach(((e,t)=>{h(s,t)||(o.delete(t),c=1)})),r(a)||o.size||e.delete(a),c};e.createYjsPersister=(e,a,s="tinybase",g)=>{const d=a.getMap(s);return((e,t,a,s,n,o,i,[g,d]=[],y=[])=>{let u,f,h,v=0,b=0;O(j,y,(()=>0)),O(J,y,(()=>[]));const[C,M,N,T]=((e,t)=>!e||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!w(e)||!w(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!w(e)||!w(t)])(i,e),m=async e=>(2!=v&&(v=1,await z.schedule((async()=>{await e(),v=0}))),z),z={load:async(a,s)=>await m((async()=>{try{const a=await t();(C&&L(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(z.stopAutoLoad(),await z.load(a,n),b=1,h=s((async(a,s)=>{if(s){const t=s();await m((async()=>(C&&L(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await m((async()=>{try{const s=a?.()??await t();(C&&L(s)?e.setMergeableContent:e.setContent)(s)}catch(e){o?.(e)}}))})),z),stopAutoLoad:()=>(b&&(n(h),h=void 0,b=0),z),save:async e=>(1!=v&&(v=2,await z.schedule((async()=>{try{await a(M,e)}catch(e){o?.(e)}v=0}))),z),startAutoSave:async()=>(await z.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=N();T(e)&&z.save((()=>e))})),z),stopAutoSave:()=>(c(u,e.delListener),u=void 0,z),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(S(J,y),...e),await(async()=>{if(!S(j,y)){for(A(j,y,1);!r(f=l(S(J,y)));)try{await f()}catch(e){o?.(e)}A(j,y,0)}})(),z),getStore:()=>e,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(z[g]=()=>d),p(z)})(e,(async()=>d.size?[d.get(n).toJSON(),d.get(o).toJSON()]:void 0),(async(e,s)=>a.transact((()=>((e,a,s)=>{e.size||(e.set(n,new t.Map),e.set(o,new t.Map));const[i,l]=T(e),g=()=>{d=1};let d=1;if(c(s?.(),(([e,t])=>{d=0,v(e,((e,t)=>d?0:r(e)?i.delete(t):c(i.get(t),(t=>v(e,((e,a)=>d?0:r(e)?t.delete(a):c(t.get(a),(t=>v(e,((e,a)=>r(e)?t.delete(a):t.set(a,e)))),g)))),g))),v(t,((e,t)=>d?0:r(e)?l.delete(t):l.set(t,e)))})),d){const[e,t]=a();m(i,void 0,e,((e,t,a)=>m(i,t,a,((e,t,a)=>m(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),m(l,void 0,t,((e,t,a)=>{l.get(t)!==a&&l.set(t,a)}))}})(d,e,s)))),(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==i(t)&&(a=t[0].path,0==i(a)))return[e.get(n).toJSON(),e.get(o).toJSON()];var a;const[s,r]=T(e),g={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>l(e)==n?c(l(e),(a=>{const n=b(g,a,f),o=s.get(a);c(l(e),(e=>{const a=b(n,e,f),s=o.get(e);M(t,((e,{action:t})=>a[e]=t==N?null:s.get(e)))}),(()=>M(t,((e,{action:t})=>n[e]=t==N?null:o.get(e)?.toJSON()))))}),(()=>M(t,((e,{action:t})=>g[e]=t==N?null:s.get(e)?.toJSON())))):M(t,((e,{action:t})=>d[e]=t==N?null:r.get(e)))))})(t),[g,d]})(d,t)));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),g,!1,["getYDoc",a])}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=t=>o.getPrototypeOf(t),i=o.keys,c=o.freeze,y=t=>(t=>!s(t)&&n(r(t),(t=>t==o.prototype||s(r(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),d=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},p=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||u(t,e,a()),l(t,e)},g=d(),f=d(),h=t=>{return s=t?.[0],e(s)==a;var s};t.createCustomPersister=(t,e,a,o,r,i,d,[v,w]=[],C=[])=>{let b,A,M,L=0,S=0;p(g,C,(()=>0)),p(f,C,(()=>[]));const[T,m,x,P]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!y(t)||!y(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!y(t)||!y(e)])(d,t),j=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(a,s)=>await j((async()=>{try{const a=await e();(T&&h(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(O.stopAutoLoad(),await O.load(a,s),S=1,M=o((async(a,s)=>{if(s){const e=s();await j((async()=>(T&&h(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await j((async()=>{try{const s=a?.()??await e();(T&&h(s)?t.setMergeableContent:t.setContent)(s)}catch(t){i?.(t)}}))})),O),stopAutoLoad:()=>(S&&(r(M),M=void 0,S=0),O),save:async t=>(1!=L&&(L=2,await O.schedule((async()=>{try{await a(m,t)}catch(t){i?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),b=t.addDidFinishTransactionListener((()=>{const t=x();P(t)&&O.save((()=>t))})),O),stopAutoSave:()=>(n(b,t.delListener),b=void 0,O),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(f,C),...t),await(async()=>{if(!l(g,C)){for(u(g,C,1);!s((t=l(f,C),A=t.shift()));)try{await A()}catch(t){i?.(t)}u(g,C,0)}var t})(),O),getStore:()=>t,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(O[v]=()=>w),c(O)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=t=>o.getPrototypeOf(t),i=o.keys,c=o.freeze,y=t=>(t=>!s(t)&&n(r(t),(t=>t==o.prototype||s(r(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),d=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},p=(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)},g=d(),f=d(),h=t=>{return s=t?.[0],e(s)==a;var s};t.createCustomPersister=(t,e,a,o,r,i,d,[v,w]=[],C=[])=>{let b,A,M,L=0,S=0;p(g,C,(()=>0)),p(f,C,(()=>[]));const[T,m,x,P]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!y(t)||!y(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!y(t)||!y(e)])(d,t),j=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(a,s)=>await j((async()=>{try{const a=await e();(T&&h(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(O.stopAutoLoad(),await O.load(a,s),S=1,M=o((async(a,s)=>{if(s){const e=s();await j((async()=>(T&&h(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await j((async()=>{try{const s=a?.()??await e();(T&&h(s)?t.setMergeableContent:t.setContent)(s)}catch(t){i?.(t)}}))})),O),stopAutoLoad:()=>(S&&(r(M),M=void 0,S=0),O),save:async t=>(1!=L&&(L=2,await O.schedule((async()=>{try{await a(m,t)}catch(t){i?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),b=t.addDidFinishTransactionListener((()=>{const t=x();P(t)&&O.save((()=>t))})),O),stopAutoSave:()=>(n(b,t.delListener),b=void 0,O),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(f,C),...t),await(async()=>{if(!l(g,C)){for(u(g,C,1);!s((t=l(f,C),A=t.shift()));)try{await A()}catch(t){i?.(t)}u(g,C,0)}var t})(),O),getStore:()=>t,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(O[v]=()=>w),c(O)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),a="Listener",i="Result",l="Ids",d="Table",c="Row",u=c+"Count",f=c+l,h="Sorted"+c+l,g="Cell",v=g+l,w=Math.max,L=Math.min,y=isFinite,R=e=>null==e,p=(e,t,n)=>R(e)?n?.():t(e),T=e=>t(e)==o,b=e=>Array.isArray(e),m=e=>e.length,C=()=>{},Q=(e,t)=>e.every(t),S=(e,t)=>e.forEach(t),I=e=>E(e,((e,t)=>e+t),0),x=e=>0==m(e),E=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),j=Object,D=j.entries,k=j.freeze,z=e=>e?.size??0,A=(e,t)=>e?.has(t)??!1,F=e=>R(e)||0==z(e),B=e=>[...e?.values()??[]],O=e=>e.clear(),W=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),G=e=>new Map(e),H=(e,t)=>e?.get(t),J=(e,t)=>W(e,((e,n)=>t(n,e))),K=(e,t,n)=>R(n)?(q(e,t),e):e?.set(t,n),N=(e,t,n)=>(A(e,t)||K(e,t,n()),H(e,t)),P=(e,t,n,s,r=0)=>p((n?N:H)(e,t[r],r>m(t)-2?n:G),(o=>{if(r>m(t)-2)return s?.(o)&&K(e,t[r]),o;const a=P(o,t,n,s,r+1);return F(o)&&K(e,t[r]),a})),U=e=>new Set(b(e)||R(e)?e:[e]),V=(e,t)=>e?.add(t),X=G([["avg",[(e,t)=>I(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["min",[e=>L(...e),(e,t)=>L(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:L(t,e)]],["sum",[e=>I(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Y=((e,o)=>{const l=new WeakMap;return e=>{l.has(e)||l.set(e,(e=>{const o=e.createStore,l=o(),w=o(),L=G(),{addListener:I,callListeners:E,delListener:j}=w,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=G(),i=G(),l=G(),d=G(),c=G(),u=G(),f=(t,n,...s)=>{const r=N(u,t,U);return S(s,(t=>V(r,t)&&n&&e.callListener(t))),s},h=(t,...n)=>p(H(u,t),(s=>{S(x(n)?B(s):n,(t=>{e.delListener(t),q(s,t)})),F(s)&&K(u,t)})),g=(e,t)=>{K(a,e,t),A(i,e)||(K(i,e,!0),K(d,e,G()),K(c,e,G()),r(l))},v=e=>{K(a,e),K(i,e),K(d,e),K(c,e),h(e),r(l)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>J(i,e),e=>A(i,e),e=>H(a,e),e=>H(i,e),(e,t)=>K(i,e,t),g,(t,s,r,a,i)=>{g(t,s);const l=G(),u=G(),v=H(d,t),w=H(c,t),L=t=>{const r=n=>e.getCell(s,t,n),d=H(v,t),c=o(s,t)?n(a(r,t)):void 0;var f,h;if(d===c||b(d)&&b(c)&&(h=c,m(f=d)===m(h)&&Q(f,((e,t)=>h[t]===e)))||K(l,t,[d,c]),!R(i)){const e=H(w,t),n=o(s,t)?i(r,t):void 0;e!=n&&K(u,t,n)}},y=e=>{r((()=>{W(l,(([,e],t)=>K(v,t,e))),W(u,((e,t)=>K(w,t,e)))}),l,u,v,w,e),O(l),O(u)};J(v,L),e.hasTable(s)&&S(e.getRowIds(s),(e=>{A(v,e)||L(e)})),y(!0),h(t),f(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>y())))},v,e=>s(e,l),()=>J(u,v),f,h]})(e,0,C,I,E),ie=(e,t,...n)=>S(n,(n=>V(N(N(L,t,G),e,U),n))),le=e=>{p(H(L,e),(e=>{J(e,((e,t)=>W(t,(t=>e.delListener(t))))),O(e)})),S([w,l],(t=>t.delTable(e)))},de=(e,t,n)=>ie(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,i)=>{te(o,a),le(o);const d=[],c=[[null,[a,null,null,[],G()]]],u=[],f=[],h=[];i({select:(e,t)=>{const n=T(e)?[m(d)+"",e]:[R(t)?e:t,n=>n(e,t)];return M(d,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||T(t)?null:t,r=R(s)?t:n,o=[e,[e,s,T(r)?r:e=>e(r),[],G()]];return M(c,o),{as:e=>o[0]=e}},where:(e,t,n)=>M(u,T(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,T(t)?[t,n,s,r]:H(X,t)??[(e,t)=>t]]];return M(f,o),{as:e=>o[0]=e}},having:(e,t)=>M(h,T(e)?e:n=>n(e)===t)});const g=G(d);if(F(g))return ce;const v=G(c);J(v,((e,[,t])=>p(H(v,t),(({3:t})=>R(e)?0:M(t,e)))));const L=G(f);let b=l;if(F(L)&&x(h))b=w;else{de(o,b,w);const e=G();J(L,((t,[n,s])=>V(N(e,n,U),[t,s])));const a=U();J(g,(t=>A(e,t)?0:V(a,t)));const i=G(),l=(a,i,l,d)=>p(a,(([c,u,f,g])=>{J(i,((o,[a])=>{const i=N(c,o,G),u=H(i,l),f=d?void 0:a;if(u!==f){const a=U([[u,f]]),d=z(i);K(i,l,f),W(H(e,o),(([e,o])=>{const l=((e,t,n,s,r,o=!1)=>{if(F(n))return;const[a,i,l,d]=r;return o||=R(e),W(s,(([n,s])=>{o||(e=R(n)?i?.(e,s,t++):R(s)?l?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?a(B(n),z(n)):e})(g[e],d,i,a,o);g[e]=R((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&y(e)?o:void 0})(l))?null:l}))}})),F(u)||!Q(h,(e=>e((e=>g[e]))))?w.delRow(o,f):R(f)?a[2]=w.addRow(o,g):w.setRow(o,f,g)}));ie(b,o,b.addRowListener(o,null,((t,n,s,r)=>{const d=[],c=[],u=G(),f=b.hasRow(o,s);let h=!f;W(a,(e=>{const[t,n,a]=r(o,s,e);M(d,n),M(c,a),h||=t})),J(e,(e=>{const[t,,n]=r(o,s,e);(h||t)&&K(u,e,[n])})),h&&l(P(i,d,void 0,(([,e])=>(q(e,s),F(e)))),u,s,1),f&&l(P(i,c,(()=>{const e={};return W(a,(t=>e[t]=b.getCell(o,s,t))),[G(),U(),void 0,e]}),(([,e])=>{V(e,s)})),u,s)})))}de(o,e,b);const C=(t,n,s,r)=>{const i=t=>e.getCell(n,s,t);S(r,(n=>{const[s,,r,a,l]=H(v,n),d=r?.(i,t),[c,u]=H(l,t)??[];d!=c&&(R(u)||ae(o,u),K(l,t,R(d)?null:[d,...oe(o,1,e.addRowListener(s,d,(()=>C(t,s,d,a))))]))})),(t=>{const n=(n,s)=>e.getCell(...R(s)?[a,t,n]:n===a?[a,t,s]:[H(v,n)?.[0],H(H(v,n)?.[4],t)?.[0],s]);b.transaction((()=>Q(u,(e=>e(n)))?J(g,((e,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(b,o,t,e,s(n,t)))):b.delRow(o,t)))})(t)},{3:I}=H(v,null);return b.transaction((()=>oe(o,1,e.addRowListener(a,null,((t,n,s)=>{e.hasRow(a,s)?C(s,a,s,I):(b.delRow(o,s),W(v,(({4:e})=>p(H(e,s),(([,t])=>{ae(o,t),K(e,s)})))))}))))),ce},delQueryDefinition:e=>(le(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(j(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=w.getListenerStats();return s}};var ue;return ue=([e,t],n)=>{S(e?["get","has","forEach"]:["get"],(e=>ce[e+i+n]=(...t)=>w[e+n](...t))),ce["add"+i+n+a]=(...e)=>{return w["add"+n+a](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)),!0);var s,r}},((e,t)=>{e.map(t)})(D({[d]:[1,1],[d+v]:[0,1],[u]:[0,1],[f]:[0,1],[h]:[0,5],[c]:[1,2],[v]:[0,2],[g]:[1,3]}),(([e,t])=>ue(t,e))),k(ce)})(e));return l.get(e)}})();e.createQueries=Y},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),a="Listener",i="Result",l="Ids",d="Table",c="Row",u=c+"Count",f=c+l,h="Sorted"+c+l,g="Cell",v=g+l,w=Math.max,L=Math.min,y=isFinite,R=e=>null==e,p=(e,t,n)=>R(e)?n?.():t(e),T=e=>t(e)==o,b=e=>Array.isArray(e),m=e=>e.length,C=()=>{},Q=(e,t)=>e.every(t),S=(e,t)=>e.forEach(t),I=e=>E(e,((e,t)=>e+t),0),x=e=>0==m(e),E=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),j=Object,D=j.entries,k=j.freeze,z=e=>e?.size??0,A=(e,t)=>e?.has(t)??!1,F=e=>R(e)||0==z(e),B=e=>[...e?.values()??[]],O=e=>e.clear(),W=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),G=e=>new Map(e),H=(e,t)=>e?.get(t),J=(e,t)=>W(e,((e,n)=>t(n,e))),K=(e,t,n)=>R(n)?(q(e,t),e):e?.set(t,n),N=(e,t,n,s)=>(A(e,t)?s?.(H(e,t)):K(e,t,n()),H(e,t)),P=(e,t,n,s,r=0)=>p((n?N:H)(e,t[r],r>m(t)-2?n:G),(o=>{if(r>m(t)-2)return s?.(o)&&K(e,t[r]),o;const a=P(o,t,n,s,r+1);return F(o)&&K(e,t[r]),a})),U=e=>new Set(b(e)||R(e)?e:[e]),V=(e,t)=>e?.add(t),X=G([["avg",[(e,t)=>I(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["min",[e=>L(...e),(e,t)=>L(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:L(t,e)]],["sum",[e=>I(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Y=((e,o)=>{const l=new WeakMap;return e=>{l.has(e)||l.set(e,(e=>{const o=e.createStore,l=o(),w=o(),L=G(),{addListener:I,callListeners:E,delListener:j}=w,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=G(),i=G(),l=G(),d=G(),c=G(),u=G(),f=(t,n,...s)=>{const r=N(u,t,U);return S(s,(t=>V(r,t)&&n&&e.callListener(t))),s},h=(t,...n)=>p(H(u,t),(s=>{S(x(n)?B(s):n,(t=>{e.delListener(t),q(s,t)})),F(s)&&K(u,t)})),g=(e,t)=>{K(a,e,t),A(i,e)||(K(i,e,!0),K(d,e,G()),K(c,e,G()),r(l))},v=e=>{K(a,e),K(i,e),K(d,e),K(c,e),h(e),r(l)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>J(i,e),e=>A(i,e),e=>H(a,e),e=>H(i,e),(e,t)=>K(i,e,t),g,(t,s,r,a,i)=>{g(t,s);const l=G(),u=G(),v=H(d,t),w=H(c,t),L=t=>{const r=n=>e.getCell(s,t,n),d=H(v,t),c=o(s,t)?n(a(r,t)):void 0;var f,h;if(d===c||b(d)&&b(c)&&(h=c,m(f=d)===m(h)&&Q(f,((e,t)=>h[t]===e)))||K(l,t,[d,c]),!R(i)){const e=H(w,t),n=o(s,t)?i(r,t):void 0;e!=n&&K(u,t,n)}},y=e=>{r((()=>{W(l,(([,e],t)=>K(v,t,e))),W(u,((e,t)=>K(w,t,e)))}),l,u,v,w,e),O(l),O(u)};J(v,L),e.hasTable(s)&&S(e.getRowIds(s),(e=>{A(v,e)||L(e)})),y(!0),h(t),f(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>y())))},v,e=>s(e,l),()=>J(u,v),f,h]})(e,0,C,I,E),ie=(e,t,...n)=>S(n,(n=>V(N(N(L,t,G),e,U),n))),le=e=>{p(H(L,e),(e=>{J(e,((e,t)=>W(t,(t=>e.delListener(t))))),O(e)})),S([w,l],(t=>t.delTable(e)))},de=(e,t,n)=>ie(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,i)=>{te(o,a),le(o);const d=[],c=[[null,[a,null,null,[],G()]]],u=[],f=[],h=[];i({select:(e,t)=>{const n=T(e)?[m(d)+"",e]:[R(t)?e:t,n=>n(e,t)];return M(d,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||T(t)?null:t,r=R(s)?t:n,o=[e,[e,s,T(r)?r:e=>e(r),[],G()]];return M(c,o),{as:e=>o[0]=e}},where:(e,t,n)=>M(u,T(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,T(t)?[t,n,s,r]:H(X,t)??[(e,t)=>t]]];return M(f,o),{as:e=>o[0]=e}},having:(e,t)=>M(h,T(e)?e:n=>n(e)===t)});const g=G(d);if(F(g))return ce;const v=G(c);J(v,((e,[,t])=>p(H(v,t),(({3:t})=>R(e)?0:M(t,e)))));const L=G(f);let b=l;if(F(L)&&x(h))b=w;else{de(o,b,w);const e=G();J(L,((t,[n,s])=>V(N(e,n,U),[t,s])));const a=U();J(g,(t=>A(e,t)?0:V(a,t)));const i=G(),l=(a,i,l,d)=>p(a,(([c,u,f,g])=>{J(i,((o,[a])=>{const i=N(c,o,G),u=H(i,l),f=d?void 0:a;if(u!==f){const a=U([[u,f]]),d=z(i);K(i,l,f),W(H(e,o),(([e,o])=>{const l=((e,t,n,s,r,o=!1)=>{if(F(n))return;const[a,i,l,d]=r;return o||=R(e),W(s,(([n,s])=>{o||(e=R(n)?i?.(e,s,t++):R(s)?l?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?a(B(n),z(n)):e})(g[e],d,i,a,o);g[e]=R((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&y(e)?o:void 0})(l))?null:l}))}})),F(u)||!Q(h,(e=>e((e=>g[e]))))?w.delRow(o,f):R(f)?a[2]=w.addRow(o,g):w.setRow(o,f,g)}));ie(b,o,b.addRowListener(o,null,((t,n,s,r)=>{const d=[],c=[],u=G(),f=b.hasRow(o,s);let h=!f;W(a,(e=>{const[t,n,a]=r(o,s,e);M(d,n),M(c,a),h||=t})),J(e,(e=>{const[t,,n]=r(o,s,e);(h||t)&&K(u,e,[n])})),h&&l(P(i,d,void 0,(([,e])=>(q(e,s),F(e)))),u,s,1),f&&l(P(i,c,(()=>{const e={};return W(a,(t=>e[t]=b.getCell(o,s,t))),[G(),U(),void 0,e]}),(([,e])=>{V(e,s)})),u,s)})))}de(o,e,b);const C=(t,n,s,r)=>{const i=t=>e.getCell(n,s,t);S(r,(n=>{const[s,,r,a,l]=H(v,n),d=r?.(i,t),[c,u]=H(l,t)??[];d!=c&&(R(u)||ae(o,u),K(l,t,R(d)?null:[d,...oe(o,1,e.addRowListener(s,d,(()=>C(t,s,d,a))))]))})),(t=>{const n=(n,s)=>e.getCell(...R(s)?[a,t,n]:n===a?[a,t,s]:[H(v,n)?.[0],H(H(v,n)?.[4],t)?.[0],s]);b.transaction((()=>Q(u,(e=>e(n)))?J(g,((e,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(b,o,t,e,s(n,t)))):b.delRow(o,t)))})(t)},{3:I}=H(v,null);return b.transaction((()=>oe(o,1,e.addRowListener(a,null,((t,n,s)=>{e.hasRow(a,s)?C(s,a,s,I):(b.delRow(o,s),W(v,(({4:e})=>p(H(e,s),(([,t])=>{ae(o,t),K(e,s)})))))}))))),ce},delQueryDefinition:e=>(le(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(j(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=w.getListenerStats();return s}};var ue;return ue=([e,t],n)=>{S(e?["get","has","forEach"]:["get"],(e=>ce[e+i+n]=(...t)=>w[e+n](...t))),ce["add"+i+n+a]=(...e)=>{return w["add"+n+a](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)),!0);var s,r}},((e,t)=>{e.map(t)})(D({[d]:[1,1],[d+v]:[0,1],[u]:[0,1],[f]:[0,1],[h]:[0,5],[c]:[1,2],[v]:[0,2],[g]:[1,3]}),(([e,t])=>ue(t,e))),k(ce)})(e));return l.get(e)}})();e.createQueries=Y},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=e=>null==e,r=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),a=e=>e.length,d=(e,t)=>e.forEach(t),l=(e,...t)=>e.push(...t),c=Object.freeze,u=(e,t)=>e?.has(t)??!1,f=e=>o(e)||0==(e=>e?.size??0)(e),h=e=>[...e?.values()??[]],R=e=>e.clear(),p=(e,t)=>e?.forEach(t),g=(e,t)=>e?.delete(t),L=e=>new Map(e),w=(e,t)=>e?.get(t),y=(e,t)=>p(e,((e,n)=>t(n,e))),I=(e,t,n)=>o(n)?(g(e,t),e):e?.set(t,n),v=(e,t,n)=>(u(e,t)||I(e,t,n()),w(e,t)),b=(e,t,n,s,o=0)=>r((n?v:w)(e,t[o],o>a(t)-2?n:L),(r=>{if(o>a(t)-2)return s?.(r)&&I(e,t[o]),r;const i=b(r,t,n,s,o+1);return f(r)&&I(e,t[o]),i})),T=e=>new Set(i(e)||o(e)?e:[e]),m=(e,t)=>e?.add(t),k=/^\d+$/,E=((e,E)=>{const x=new WeakMap;return e=>{x.has(e)||x.set(e,(e=>{const E=L(),x=L(),S=L(),j=L(),[z,A,D]=(e=>{let t;const[s,i]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{k.test(t)&&a(e)<1e3&&l(e,t)}]})(),c=L();return[(e,o,r,i=[],a=(()=>[]))=>{t??=P;const d=s(1);return I(c,d,[e,o,r,i,a]),m(b(o,r??[n],T),d),d},(e,s,...o)=>d(((e,t=[n])=>{const s=[],o=(e,n)=>n==a(t)?l(s,e):null===t[n]?p(e,(e=>o(e,n+1))):d([t[n],null],(t=>o(w(e,t),n+1)));return o(e,0),s})(e,s),(e=>p(e,(e=>w(c,e)[0](t,...s??[],...o))))),e=>r(w(c,e),(([,t,s])=>(b(t,s??[n],void 0,(t=>(g(t,e),f(t)?1:0))),I(c,e),i(e),s))),e=>r(w(c,e),(([e,,n=[],s,r])=>{const i=(...l)=>{const c=a(l);c==a(n)?e(t,...l,...r(l)):o(n[c])?d(s[c]?.(...l)??[],(e=>i(...l,e))):i(...l,n[c])};i()}))]})(),[M,B,C,O,W,$,,,q,F,G,H]=((e,t,s,l,c)=>{const b=e.hasRow,k=L(),E=L(),x=L(),S=L(),j=L(),z=L(),A=(t,n,...s)=>{const o=v(z,t,T);return d(s,(t=>m(o,t)&&n&&e.callListener(t))),s},D=(t,...n)=>r(w(z,t),(s=>{d(0==a(n)?h(s):n,(t=>{e.delListener(t),g(s,t)})),f(s)&&I(z,t)})),M=(e,t)=>{I(k,e,t),u(E,e)||(I(E,e,[L(),L(),L(),L()]),I(S,e,L()),I(j,e,L()),c(x))},B=e=>{I(k,e),I(E,e),I(S,e),I(j,e),D(e),c(x)};return[()=>e,()=>{return e=k,[...e?.keys()??[]];var e},e=>y(E,e),e=>u(E,e),e=>w(k,e),e=>w(E,e),(e,t)=>I(E,e,t),M,(t,s,r,l,c)=>{M(t,s);const f=L(),h=L(),g=w(S,t),v=w(j,t),T=t=>{const r=n=>e.getCell(s,t,n),d=w(g,t),u=b(s,t)?(R=l(r,t),o(R)?void 0:R+n):void 0;var R,p,L,y;if(d===u||i(d)&&i(u)&&(L=u,a(p=d)===a(L)&&(y=(e,t)=>L[t]===e,p.every(y)))||I(f,t,[d,u]),!o(c)){const e=w(v,t),n=b(s,t)?c(r,t):void 0;e!=n&&I(h,t,n)}},m=e=>{r((()=>{p(f,(([,e],t)=>I(g,t,e))),p(h,((e,t)=>I(v,t,e)))}),f,h,g,v,e),R(f),R(h)};y(g,T),e.hasTable(s)&&d(e.getRowIds(s),(e=>{u(g,e)||T(e)})),m(!0),D(t),A(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},B,e=>l(e,x),()=>y(z,B),A,D]})(e,0,0,z,A),J=(e,t,n)=>r($(e),(([s,,r])=>{if(!u(r,t)){const i=T();if(W(e)!=N(e))m(i,t);else{let e=t;for(;!o(e)&&!u(i,e);)m(i,e),e=w(s,e)}if(n)return i;I(r,t,i)}return w(r,t)})),K=(e,t)=>r($(e),(([,,e])=>I(e,t))),N=e=>w(E,e),P={setRelationshipDefinition:(e,i,a,d)=>{return I(E,e,a),q(e,i,((t,n)=>{const s=T(),i=T(),a=T(),[d,l]=$(e);p(n,(([t,n],c)=>{o(t)||(m(i,t),r(w(l,t),(e=>{g(e,c),f(e)&&I(l,t)}))),o(n)||(m(i,n),u(l,n)||I(l,n,T()),m(w(l,n),c)),m(s,c),I(d,c,n),y(w(j,e),(t=>{u(J(e,t),c)&&m(a,t)}))})),t(),p(s,(t=>A(x,[e,t]))),p(i,(t=>A(S,[e,t]))),p(a,(t=>{K(e,t),A(j,[e,t])}))}),t(l=d)==s?e=>e(l):l??(()=>n)),P;var l},delRelationshipDefinition:e=>(I(E,e),F(e),P),getStore:M,getRelationshipIds:B,forEachRelationship:t=>C((n=>t(n,(t=>e.forEachRow(W(n),t))))),hasRelationship:O,getLocalTableId:W,getRemoteTableId:N,getRemoteRowId:(e,t)=>w($(e)?.[0],t),getLocalRowIds:(e,t)=>h(w($(e)?.[1],t)),getLinkedRowIds:(e,t)=>o($(e))?[t]:h(J(e,t,!0)),addRelationshipIdsListener:G,addRemoteRowIdListener:(e,t,n)=>z(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>z(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(J(e,t),z(n,j,[e,t])),delListener:e=>(K(...D(e)??[]),P),destroy:H,getListenerStats:()=>({})};return c(P)})(e));return x.get(e)}})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=e=>null==e,r=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),a=e=>e.length,d=(e,t)=>e.forEach(t),l=(e,...t)=>e.push(...t),c=Object.freeze,u=(e,t)=>e?.has(t)??!1,f=e=>o(e)||0==(e=>e?.size??0)(e),h=e=>[...e?.values()??[]],R=e=>e.clear(),p=(e,t)=>e?.forEach(t),g=(e,t)=>e?.delete(t),L=e=>new Map(e),w=(e,t)=>e?.get(t),y=(e,t)=>p(e,((e,n)=>t(n,e))),I=(e,t,n)=>o(n)?(g(e,t),e):e?.set(t,n),v=(e,t,n,s)=>(u(e,t)?s?.(w(e,t)):I(e,t,n()),w(e,t)),b=(e,t,n,s,o=0)=>r((n?v:w)(e,t[o],o>a(t)-2?n:L),(r=>{if(o>a(t)-2)return s?.(r)&&I(e,t[o]),r;const i=b(r,t,n,s,o+1);return f(r)&&I(e,t[o]),i})),T=e=>new Set(i(e)||o(e)?e:[e]),m=(e,t)=>e?.add(t),k=/^\d+$/,E=((e,E)=>{const x=new WeakMap;return e=>{x.has(e)||x.set(e,(e=>{const E=L(),x=L(),S=L(),j=L(),[z,A,D]=(e=>{let t;const[s,i]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{k.test(t)&&a(e)<1e3&&l(e,t)}]})(),c=L();return[(e,o,r,i=[],a=(()=>[]))=>{t??=P;const d=s(1);return I(c,d,[e,o,r,i,a]),m(b(o,r??[n],T),d),d},(e,s,...o)=>d(((e,t=[n])=>{const s=[],o=(e,n)=>n==a(t)?l(s,e):null===t[n]?p(e,(e=>o(e,n+1))):d([t[n],null],(t=>o(w(e,t),n+1)));return o(e,0),s})(e,s),(e=>p(e,(e=>w(c,e)[0](t,...s??[],...o))))),e=>r(w(c,e),(([,t,s])=>(b(t,s??[n],void 0,(t=>(g(t,e),f(t)?1:0))),I(c,e),i(e),s))),e=>r(w(c,e),(([e,,n=[],s,r])=>{const i=(...l)=>{const c=a(l);c==a(n)?e(t,...l,...r(l)):o(n[c])?d(s[c]?.(...l)??[],(e=>i(...l,e))):i(...l,n[c])};i()}))]})(),[M,B,C,O,W,$,,,q,F,G,H]=((e,t,s,l,c)=>{const b=e.hasRow,k=L(),E=L(),x=L(),S=L(),j=L(),z=L(),A=(t,n,...s)=>{const o=v(z,t,T);return d(s,(t=>m(o,t)&&n&&e.callListener(t))),s},D=(t,...n)=>r(w(z,t),(s=>{d(0==a(n)?h(s):n,(t=>{e.delListener(t),g(s,t)})),f(s)&&I(z,t)})),M=(e,t)=>{I(k,e,t),u(E,e)||(I(E,e,[L(),L(),L(),L()]),I(S,e,L()),I(j,e,L()),c(x))},B=e=>{I(k,e),I(E,e),I(S,e),I(j,e),D(e),c(x)};return[()=>e,()=>{return e=k,[...e?.keys()??[]];var e},e=>y(E,e),e=>u(E,e),e=>w(k,e),e=>w(E,e),(e,t)=>I(E,e,t),M,(t,s,r,l,c)=>{M(t,s);const f=L(),h=L(),g=w(S,t),v=w(j,t),T=t=>{const r=n=>e.getCell(s,t,n),d=w(g,t),u=b(s,t)?(R=l(r,t),o(R)?void 0:R+n):void 0;var R,p,L,y;if(d===u||i(d)&&i(u)&&(L=u,a(p=d)===a(L)&&(y=(e,t)=>L[t]===e,p.every(y)))||I(f,t,[d,u]),!o(c)){const e=w(v,t),n=b(s,t)?c(r,t):void 0;e!=n&&I(h,t,n)}},m=e=>{r((()=>{p(f,(([,e],t)=>I(g,t,e))),p(h,((e,t)=>I(v,t,e)))}),f,h,g,v,e),R(f),R(h)};y(g,T),e.hasTable(s)&&d(e.getRowIds(s),(e=>{u(g,e)||T(e)})),m(!0),D(t),A(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},B,e=>l(e,x),()=>y(z,B),A,D]})(e,0,0,z,A),J=(e,t,n)=>r($(e),(([s,,r])=>{if(!u(r,t)){const i=T();if(W(e)!=N(e))m(i,t);else{let e=t;for(;!o(e)&&!u(i,e);)m(i,e),e=w(s,e)}if(n)return i;I(r,t,i)}return w(r,t)})),K=(e,t)=>r($(e),(([,,e])=>I(e,t))),N=e=>w(E,e),P={setRelationshipDefinition:(e,i,a,d)=>{return I(E,e,a),q(e,i,((t,n)=>{const s=T(),i=T(),a=T(),[d,l]=$(e);p(n,(([t,n],c)=>{o(t)||(m(i,t),r(w(l,t),(e=>{g(e,c),f(e)&&I(l,t)}))),o(n)||(m(i,n),u(l,n)||I(l,n,T()),m(w(l,n),c)),m(s,c),I(d,c,n),y(w(j,e),(t=>{u(J(e,t),c)&&m(a,t)}))})),t(),p(s,(t=>A(x,[e,t]))),p(i,(t=>A(S,[e,t]))),p(a,(t=>{K(e,t),A(j,[e,t])}))}),t(l=d)==s?e=>e(l):l??(()=>n)),P;var l},delRelationshipDefinition:e=>(I(E,e),F(e),P),getStore:M,getRelationshipIds:B,forEachRelationship:t=>C((n=>t(n,(t=>e.forEachRow(W(n),t))))),hasRelationship:O,getLocalTableId:W,getRemoteTableId:N,getRemoteRowId:(e,t)=>w($(e)?.[0],t),getLocalRowIds:(e,t)=>h(w($(e)?.[1],t)),getLinkedRowIds:(e,t)=>o($(e))?[t]:h(J(e,t,!0)),addRelationshipIdsListener:G,addRemoteRowIdListener:(e,t,n)=>z(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>z(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(J(e,t),z(n,j,[e,t])),delListener:e=>(K(...D(e)??[]),P),destroy:H,getListenerStats:()=>({})};return c(P)})(e));return x.get(e)}})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
Binary file
package/lib/umd/store.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",f=u+"s",h=u+d,g="Row",T=g+"Count",b=g+d,S="Cell",V=S+d,p="Value",v=p+"s",y=p+d,C=e=>s+e,m=isFinite,w=e=>null==e,L=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==n||e==a,I=e=>t(e)==o,J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.entries,k=z.keys,A=z.isFrozen,M=z.freeze,N=e=>!w(e)&&L(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),B=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>N(e)&&0==(e=>E(k(e)))(e),$=e=>e?.size??0,q=(e,t)=>e?.has(t)??!1,G=e=>w(e)||0==$(e),K=e=>e.clear(),Q=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=e=>[...e?.keys()??[]],Z=(e,t)=>e?.get(t),_=(e,t)=>Q(e,((e,s)=>t(s,e))),ee=(e,t,s)=>w(s)?(U(e,t),e):e?.set(t,s),te=(e,t,s)=>(q(e,t)||ee(e,t,s()),Z(e,t)),se=(e,t,s,n=ee)=>(H(t,((t,n)=>s(e,n,t))),_(e,(s=>B(t,s)?0:n(e,s))),e),ne=(e,t,s)=>{const n={};return Q(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},ae=(e,t,s)=>ne(e,(e=>ne(e,t,s)),W),le=(e,t,s)=>ne(e,(e=>ae(e,t,s)),W),oe=(e,t)=>{const s=X();return Q(e,((e,n)=>s.set(n,t?.(e)??e))),s},re=e=>oe(e,oe),ie=e=>oe(e,re),ce=(e,t,s,n,a=0)=>L((s?te:Z)(e,t[a],a>E(t)-2?s:X),(l=>{if(a>E(t)-2)return n?.(l)&&ee(e,t[a]),l;const o=ce(l,t,s,n,a+1);return G(l)&&ee(e,t[a]),o})),de=e=>new Set(Array.isArray(e)||w(e)?e:[e]),ue=(e,t)=>e?.add(t),fe=/^\d+$/,he=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{fe.test(t)&&E(e)<1e3&&x(e,t)}]},ge=e=>[e,e],Te=()=>[X(),X()],be=e=>[...e],Se=([e,t])=>e===t,Ve=e=>{const s=t(e);return R(s)||s==l&&m(e)?s:void 0},pe=(e,t,s,n,a)=>w(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ve=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ye=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),Ce=JSON.parse,me=(e,t,s)=>w(e)||!N(e)||W(e)||A(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!W(e)),we=(e,t,s)=>ee(e,t,Z(e,t)==-s?void 0:s),Le=()=>{let e,t,n=!1,a=!1,o=0,d=[];const m=X(),z=X(),P=X(),j=X(),k=X(),A=X(),N=X(),fe=X(),Re=X(),Ie=X(),Je=X(),Ee=X(),Fe=X(),Oe=X(),xe=de(),ze=X(),Pe=X(),je=X(),ke=X(),Ae=Te(),Me=Te(),Ne=Te(),Be=Te(),De=Te(),He=Te(),We=Te(),$e=Te(),qe=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),nt=Te(),at=Te(),lt=X(),ot=Te(),[rt,it,ct,dt]=(e=>{let t;const[n,a]=he(),l=X();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Fs;const c=n(1);return ee(l,c,[e,a,o,r,i]),ue(ce(a,o??[s],de),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==E(t)?x(n,e):null===t[s]?Q(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(Z(e,t),s+1)));return a(e,0),n})(e,n),(e=>Q(e,(e=>Z(l,e)[0](t,...n??[],...a))))),e=>L(Z(l,e),(([,t,n])=>(ce(t,n??[s],void 0,(t=>(U(t,e),G(t)?1:0))),ee(l,e),a(e),n))),e=>L(Z(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...a(o)):w(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!me(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=l||(Ve(e[i])!=t&&D(e,i),0))},ft=(t,s)=>(!e||q(Je,s)||Ht(s))&&me(t,((e,t)=>ht(s,t,e)),(()=>Ht(s))),ht=(e,t,s,n)=>me(n?s:St(s,e,t),((n,a)=>L(gt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Ht(e,t))),gt=(t,s,n,a)=>e?L(Z(Z(Je,t),n),(e=>Ve(a)!=e[r]?Ht(t,s,n,a,e[i]):a),(()=>Ht(t,s,n,a))):w(Ve(a))?Ht(t,s,n,a):a,Tt=(e,t)=>me(t?e:Vt(e),((t,s)=>L(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Wt())),bt=(e,s)=>t?L(Z(Fe,e),(t=>Ve(s)!=t[r]?Wt(e,s,t[i]):s),(()=>Wt(e,s))):w(Ve(s))?Wt(e,s):s,St=(e,t,s)=>(L(Z(Ee,t),(([n,a])=>{Q(n,((t,s)=>{B(e,s)||(e[s]=t)})),Q(a,(n=>{B(e,n)||Ht(t,s,n)}))})),e),Vt=e=>(t&&(Q(Oe,((t,s)=>{B(e,s)||(e[s]=t)})),Q(xe,(t=>{B(e,t)||Wt(t)}))),e),pt=e=>se(Je,e,((e,t,s)=>{const n=X(),a=de();se(te(Je,t,X),s,((e,t,s)=>{ee(e,t,s),L(s[i],(e=>ee(n,t,e)),(()=>ue(a,t)))})),ee(Ee,t,[n,a])}),((e,t)=>{ee(Je,t),ee(Ee,t)})),vt=e=>se(Fe,e,((e,t,s)=>{ee(Fe,t,s),L(s[i],(e=>ee(Oe,t,e)),(()=>ue(xe,t)))}),((e,t)=>{ee(Fe,t),ee(Oe,t),U(xe,t)})),yt=e=>W(e)?ys():bs(e),Ct=e=>se(je,e,((e,t,s)=>mt(t,s)),((e,t)=>xt(t))),mt=(e,t)=>se(te(je,e,(()=>(kt(e,1),ee(ze,e,he()),ee(Pe,e,X()),X()))),t,((t,s,n)=>wt(e,t,s,n)),((t,s)=>zt(e,t,s))),wt=(e,t,s,n,a)=>se(te(t,s,(()=>(At(e,s,1),X()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>Pt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{q(s,n)||Mt(e,t,n,1);const l=Z(s,n);a!==l&&(Nt(e,t,n,l,a),ee(s,n,a))},Rt=(e,t,s,n,a)=>L(Z(t,s),(t=>Lt(e,s,t,n,a)),(()=>wt(e,t,s,St({[n]:a},e,s)))),It=e=>W(e)?ws():Ss(e),Jt=e=>se(ke,e,((e,t,s)=>Et(t,s)),((e,t)=>jt(t))),Et=(e,t)=>{q(ke,e)||Bt(e,1);const s=Z(ke,e);t!==s&&(Dt(e,s,t),ee(ke,e,t))},Ft=(e,t)=>{const[s]=Z(ze,e),n=s(t);return q(Z(je,e),n)?Ft(e,t):n},Ot=e=>Z(je,e)??mt(e,{}),xt=e=>mt(e,{}),zt=(e,t,s)=>{const[,n]=Z(ze,e);n(s),wt(e,t,s,{},!0)},Pt=(e,t,s,n,a,l)=>{const o=Z(Z(Ee,e)?.[0],a);if(!w(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{Nt(e,s,t,Z(n,t)),Mt(e,s,t,-1),ee(n,t)};w(o)?r(a):_(n,r),G(n)&&(At(e,s,-1),G(ee(t,s))&&(kt(e,-1),ee(je,e),ee(ze,e),ee(Pe,e)))},jt=e=>{const t=Z(Oe,e);if(!w(t))return Et(e,t);Dt(e,Z(ke,e)),Bt(e,-1),ee(ke,e)},kt=(e,t)=>we(m,e,t),At=(e,t,s)=>we(te(j,e,X),t,s)&&ee(P,e,te(P,e,(()=>0))+s),Mt=(e,t,s,n)=>{const a=Z(Pe,e),l=Z(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&we(te(z,e,X),s,n),ee(a,s,l!=-n?l+n:null),we(te(te(k,e,X),t,X),s,n)},Nt=(e,t,s,n,a)=>te(te(te(A,e,X),t,X),s,(()=>[n,0]))[1]=a,Bt=(e,t)=>we(N,e,t),Dt=(e,t,s)=>te(fe,e,(()=>[t,0]))[1]=s,Ht=(e,t,s,n,a)=>(x(te(te(te(Re,e,X),t,X),s,(()=>[])),n),a),Wt=(e,t,s)=>(x(te(Ie,e,(()=>[])),t),s),$t=(e,t,s)=>L(Z(Z(Z(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(ls(e,t,s))])),qt=e=>L(Z(fe,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(is(e))])),Gt=e=>G(Re)||G(Ze[e])?0:Q(e?ie(Re):Re,((t,s)=>Q(t,((t,n)=>Q(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>G(Ie)||G(_e[e])?0:Q(e?oe(Ie):Ie,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!G(e))return it(t,n,(()=>ne(e))),_(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Ae[e],void 0,t);const s=G(Ge[e]),a=G(Ue[e])&&G(Xe[e])&&G(qe[e])&&G(Ke[e])&&G(He[e])&&G(We[e])&&G($e[e])&&s&&G(Ne[e])&&G(Be[e]),l=G(Ye[e])&&G(Qe[e])&&G(De[e])&&G(Me[e]);if(!a||!l){const t=e?[oe(m),re(z),oe(P),re(j),ie(k),ie(A)]:[m,z,P,j,k,A];if(!a){Qt(t[0],Ne[e],Be[e]),Q(t[1],((t,s)=>Qt(t,He[e],We[e],[s]))),Q(t[2],((t,s)=>{0!=t&&it($e[e],[s],ts(s))}));const n=de();Q(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),ue(n,a))})),s||Q(t[5],((t,s)=>{if(!q(n,s)){const n=de();Q(t,(e=>Q(e,(([t,s],a)=>s!==t?ue(n,a):U(e,a))))),Q(n,(t=>it(Ge[e],[s,t])))}})),Q(t[4],((t,s)=>Q(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;Q(t[5],((t,n)=>{let a;Q(t,((t,l)=>{let o;Q(t,(([t,r],i)=>{r!==t&&(it(Ye[e],[n,l,i],r,t,$t),s=a=o=1)})),o&&it(Qe[e],[n,l],$t)})),a&&it(De[e],[n],$t)})),s&&it(Me[e],void 0,$t)}}},Xt=e=>{const t=gs();t!=a&&it(et[e],void 0,t);const s=G(st[e])&&G(nt[e]),n=G(at[e])&&G(tt[e]);if(!s||!n){const t=e?[oe(N),oe(fe)]:[N,fe];if(s||Qt(t[0],st[e],nt[e]),!n){let s;Q(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Is((()=>e(...O(t,C)))),Fs),Zt=()=>le(je),_t=()=>Y(je),es=e=>Y(Z(Pe,C(e))),ts=e=>$(Z(je,C(e))),ss=e=>Y(Z(je,C(e))),ns=(e,t,s,n=0,a)=>{return O(J((o=Z(je,C(e)),r=(e,s)=>[w(t)?s:Z(e,C(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,w(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>Y(Z(Z(je,C(e)),C(t))),ls=(e,t,s)=>Z(Z(Z(je,C(e)),C(t)),C(s)),os=()=>ne(ke),rs=()=>Y(ke),is=e=>Z(ke,C(e)),cs=()=>!G(je),ds=e=>q(je,C(e)),us=(e,t)=>q(Z(Pe,C(e)),C(t)),fs=(e,t)=>q(Z(je,C(e)),C(t)),hs=(e,t,s)=>q(Z(Z(je,C(e)),C(t)),C(s)),gs=()=>!G(ke),Ts=e=>q(ke,C(e)),bs=e=>Yt((()=>(e=>me(e,ft,Ht))(e)?Ct(e):0)),Ss=e=>Yt((()=>Tt(e)?Jt(e):0)),Vs=e=>{try{yt(Ce(e))}catch{}return Fs},ps=t=>Yt((()=>{if((e=me(t,(e=>me(e,ut))))&&(pt(t),!G(je))){const e=Zt();ys(),bs(e)}})),vs=e=>Yt((()=>{if(t=(e=>me(e,ut))(e)){const s=os();Rs(),ws(),t=!0,vt(e),Ss(s)}})),ys=()=>Yt((()=>Ct({}))),Cs=e=>Yt((e=>q(je,e)?xt(e):0),e),ms=(e,t)=>Yt(((e,t)=>L(Z(je,e),(s=>q(s,t)?zt(e,s,t):0))),e,t),ws=()=>Yt((()=>Jt({}))),Ls=()=>Yt((()=>{pt({}),e=!1})),Rs=()=>Yt((()=>{vt({}),t=!1})),Is=(e,t)=>{if(-1!=o){Js();const s=e();return Es(t),s}},Js=()=>(-1!=o&&o++,1==o&&it(lt,void 0),Fs),Es=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),G(A)||Ut(1),Kt(1),G(fe)||Xt(1),e?.(Fs)&&(Q(A,((e,t)=>Q(e,((e,s)=>Q(e,(([e],n)=>pe(Fs,t,s,n,e))))))),K(A),Q(fe,(([e],t)=>ve(Fs,t,e))),K(fe)),it(ot[0],void 0),o=-1,Gt(0),G(A)||Ut(0),Kt(0),G(fe)||Xt(0),d[0]?.(Fs),it(ot[1],void 0),d[1]?.(Fs),o=0,n=cs(),a=gs(),F([m,z,P,j,k,A,Re,N,fe,Ie],K))),Fs),Fs={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>ae(Z(je,C(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ne(Z(Z(je,C(e)),C(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:fs,hasCell:hs,hasValues:gs,hasValue:Ts,getTablesJson:()=>ye(je),getValuesJson:()=>ye(ke),getJson:()=>ye([je,ke]),getTablesSchemaJson:()=>ye(Je),getValuesSchemaJson:()=>ye(Fe),getSchemaJson:()=>ye([Je,Fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(W(e)?ys:bs)(e),(W(t)?ws:Ss)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>ft(t,e)?mt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?wt(e,Ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ht(e,n,t)&&(e=C(e),wt(e,Ot(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Ot(e);H(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(gt(e,t,s,I(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ot(e),t,s,n)))),e,t,s),setValues:Ss,setPartialValues:e=>Yt((()=>Tt(e,1)?H(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>Yt((e=>L(bt(e,I(t)?t(is(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>Yt((()=>{H(e[0],((e,t)=>w(e)?Cs(t):H(e,((e,s)=>w(e)?ms(t,s):H(e,((e,n)=>pe(Fs,t,s,n,e))))))),H(e[1],((e,t)=>ve(Fs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{It(Ce(e))}catch{}return Fs},setJson:e=>Yt((()=>{try{const[t,s]=Ce(e);yt(t),It(s)}catch{Vs(e)}})),setTablesSchema:ps,setValuesSchema:vs,setSchema:(e,t)=>Yt((()=>{ps(e),vs(t)})),delTables:ys,delTable:Cs,delRow:ms,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(Z(je,e),(a=>L(Z(a,t),(l=>q(l,s)?Pt(e,a,t,l,s,n):0))))),e,t,s),delValues:ws,delValue:e=>Yt((e=>q(ke,e)?jt(e):0),e),delTablesSchema:Ls,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Ls(),Rs()})),transaction:Is,startTransaction:Js,getTransactionChanges:()=>[ne(A,((e,t)=>-1===Z(m,t)?void 0:ne(e,((e,s)=>-1===Z(Z(j,t),s)?void 0:ne(e,(([,e])=>e),((e,t)=>Se(t)))),W)),W),ne(fe,(([,e])=>e),((e,t)=>Se(t)))],getTransactionLog:()=>[!G(A),!G(fe),le(A,be,Se),le(Re),ne(fe,be,Se),ne(Ie),ne(m),ae(j),le(k),ne(N)],finishTransaction:Es,forEachTable:e=>Q(je,((t,s)=>e(s,(e=>Q(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_(Z(Pe,C(e)),t),forEachRow:(e,t)=>Q(Z(je,C(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_(Z(Z(je,C(e)),C(t)),s),forEachValue:e=>_(ke,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Fs,e,t,s,n,a,r))}),Ge[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Fs),delListener:e=>(ct(e),Fs),getListenerStats:()=>({}),createStore:Le,addListener:rt,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return H({[c+f]:[0,Ae,[],()=>[cs()]],[f]:[0,Me],[h]:[0,Ne],[c+u]:[1,Be,[_t],e=>[ds(...e)]],[u]:[1,De,[_t]],[u+V]:[1,He,[_t]],[c+u+S]:[2,We,[_t,es],e=>[us(...e)]],[T]:[1,$e,[_t]],[b]:[1,qe,[_t]],[c+g]:[2,Ke,[_t,ss],e=>[fs(...e)]],[g]:[2,Qe,[_t,ss]],[V]:[2,Ue,[_t,ss]],[c+S]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[S]:[3,Ye,[_t,ss,as],e=>ge(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[gs()]],[v]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[rs],e=>[Ts(...e)]],[p]:[1,at,[rs],e=>ge(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?J(a,0,e):void 0,s,n)})),M(Fs)};e.createStore=Le},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",f=u+"s",h=u+d,g="Row",T=g+"Count",b=g+d,S="Cell",V=S+d,p="Value",v=p+"s",y=p+d,C=e=>s+e,m=isFinite,w=e=>null==e,L=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==n||e==a,I=e=>t(e)==o,J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.entries,k=z.keys,A=z.isFrozen,M=z.freeze,N=e=>!w(e)&&L(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),B=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>N(e)&&0==(e=>E(k(e)))(e),$=e=>e?.size??0,q=(e,t)=>e?.has(t)??!1,G=e=>w(e)||0==$(e),K=e=>e.clear(),Q=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=e=>[...e?.keys()??[]],Z=(e,t)=>e?.get(t),_=(e,t)=>Q(e,((e,s)=>t(s,e))),ee=(e,t,s)=>w(s)?(U(e,t),e):e?.set(t,s),te=(e,t,s,n)=>(q(e,t)?n?.(Z(e,t)):ee(e,t,s()),Z(e,t)),se=(e,t,s,n=ee)=>(H(t,((t,n)=>s(e,n,t))),_(e,(s=>B(t,s)?0:n(e,s))),e),ne=(e,t,s)=>{const n={};return Q(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},ae=(e,t,s)=>ne(e,(e=>ne(e,t,s)),W),le=(e,t,s)=>ne(e,(e=>ae(e,t,s)),W),oe=(e,t)=>{const s=X();return Q(e,((e,n)=>s.set(n,t?.(e)??e))),s},re=e=>oe(e,oe),ie=e=>oe(e,re),ce=(e,t,s,n,a=0)=>L((s?te:Z)(e,t[a],a>E(t)-2?s:X),(l=>{if(a>E(t)-2)return n?.(l)&&ee(e,t[a]),l;const o=ce(l,t,s,n,a+1);return G(l)&&ee(e,t[a]),o})),de=e=>new Set(Array.isArray(e)||w(e)?e:[e]),ue=(e,t)=>e?.add(t),fe=/^\d+$/,he=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{fe.test(t)&&E(e)<1e3&&x(e,t)}]},ge=e=>[e,e],Te=()=>[X(),X()],be=e=>[...e],Se=([e,t])=>e===t,Ve=e=>{const s=t(e);return R(s)||s==l&&m(e)?s:void 0},pe=(e,t,s,n,a)=>w(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ve=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ye=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),Ce=JSON.parse,me=(e,t,s)=>w(e)||!N(e)||W(e)||A(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!W(e)),we=(e,t,s)=>ee(e,t,Z(e,t)==-s?void 0:s),Le=()=>{let e,t,n=!1,a=!1,o=0,d=[];const m=X(),z=X(),P=X(),j=X(),k=X(),A=X(),N=X(),fe=X(),Re=X(),Ie=X(),Je=X(),Ee=X(),Fe=X(),Oe=X(),xe=de(),ze=X(),Pe=X(),je=X(),ke=X(),Ae=Te(),Me=Te(),Ne=Te(),Be=Te(),De=Te(),He=Te(),We=Te(),$e=Te(),qe=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),nt=Te(),at=Te(),lt=X(),ot=Te(),[rt,it,ct,dt]=(e=>{let t;const[n,a]=he(),l=X();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Fs;const c=n(1);return ee(l,c,[e,a,o,r,i]),ue(ce(a,o??[s],de),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==E(t)?x(n,e):null===t[s]?Q(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(Z(e,t),s+1)));return a(e,0),n})(e,n),(e=>Q(e,(e=>Z(l,e)[0](t,...n??[],...a))))),e=>L(Z(l,e),(([,t,n])=>(ce(t,n??[s],void 0,(t=>(U(t,e),G(t)?1:0))),ee(l,e),a(e),n))),e=>L(Z(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...a(o)):w(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!me(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=l||(Ve(e[i])!=t&&D(e,i),0))},ft=(t,s)=>(!e||q(Je,s)||Ht(s))&&me(t,((e,t)=>ht(s,t,e)),(()=>Ht(s))),ht=(e,t,s,n)=>me(n?s:St(s,e,t),((n,a)=>L(gt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Ht(e,t))),gt=(t,s,n,a)=>e?L(Z(Z(Je,t),n),(e=>Ve(a)!=e[r]?Ht(t,s,n,a,e[i]):a),(()=>Ht(t,s,n,a))):w(Ve(a))?Ht(t,s,n,a):a,Tt=(e,t)=>me(t?e:Vt(e),((t,s)=>L(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Wt())),bt=(e,s)=>t?L(Z(Fe,e),(t=>Ve(s)!=t[r]?Wt(e,s,t[i]):s),(()=>Wt(e,s))):w(Ve(s))?Wt(e,s):s,St=(e,t,s)=>(L(Z(Ee,t),(([n,a])=>{Q(n,((t,s)=>{B(e,s)||(e[s]=t)})),Q(a,(n=>{B(e,n)||Ht(t,s,n)}))})),e),Vt=e=>(t&&(Q(Oe,((t,s)=>{B(e,s)||(e[s]=t)})),Q(xe,(t=>{B(e,t)||Wt(t)}))),e),pt=e=>se(Je,e,((e,t,s)=>{const n=X(),a=de();se(te(Je,t,X),s,((e,t,s)=>{ee(e,t,s),L(s[i],(e=>ee(n,t,e)),(()=>ue(a,t)))})),ee(Ee,t,[n,a])}),((e,t)=>{ee(Je,t),ee(Ee,t)})),vt=e=>se(Fe,e,((e,t,s)=>{ee(Fe,t,s),L(s[i],(e=>ee(Oe,t,e)),(()=>ue(xe,t)))}),((e,t)=>{ee(Fe,t),ee(Oe,t),U(xe,t)})),yt=e=>W(e)?ys():bs(e),Ct=e=>se(je,e,((e,t,s)=>mt(t,s)),((e,t)=>xt(t))),mt=(e,t)=>se(te(je,e,(()=>(kt(e,1),ee(ze,e,he()),ee(Pe,e,X()),X()))),t,((t,s,n)=>wt(e,t,s,n)),((t,s)=>zt(e,t,s))),wt=(e,t,s,n,a)=>se(te(t,s,(()=>(At(e,s,1),X()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>Pt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{q(s,n)||Mt(e,t,n,1);const l=Z(s,n);a!==l&&(Nt(e,t,n,l,a),ee(s,n,a))},Rt=(e,t,s,n,a)=>L(Z(t,s),(t=>Lt(e,s,t,n,a)),(()=>wt(e,t,s,St({[n]:a},e,s)))),It=e=>W(e)?ws():Ss(e),Jt=e=>se(ke,e,((e,t,s)=>Et(t,s)),((e,t)=>jt(t))),Et=(e,t)=>{q(ke,e)||Bt(e,1);const s=Z(ke,e);t!==s&&(Dt(e,s,t),ee(ke,e,t))},Ft=(e,t)=>{const[s]=Z(ze,e),n=s(t);return q(Z(je,e),n)?Ft(e,t):n},Ot=e=>Z(je,e)??mt(e,{}),xt=e=>mt(e,{}),zt=(e,t,s)=>{const[,n]=Z(ze,e);n(s),wt(e,t,s,{},!0)},Pt=(e,t,s,n,a,l)=>{const o=Z(Z(Ee,e)?.[0],a);if(!w(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{Nt(e,s,t,Z(n,t)),Mt(e,s,t,-1),ee(n,t)};w(o)?r(a):_(n,r),G(n)&&(At(e,s,-1),G(ee(t,s))&&(kt(e,-1),ee(je,e),ee(ze,e),ee(Pe,e)))},jt=e=>{const t=Z(Oe,e);if(!w(t))return Et(e,t);Dt(e,Z(ke,e)),Bt(e,-1),ee(ke,e)},kt=(e,t)=>we(m,e,t),At=(e,t,s)=>we(te(j,e,X),t,s)&&ee(P,e,te(P,e,(()=>0))+s),Mt=(e,t,s,n)=>{const a=Z(Pe,e),l=Z(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&we(te(z,e,X),s,n),ee(a,s,l!=-n?l+n:null),we(te(te(k,e,X),t,X),s,n)},Nt=(e,t,s,n,a)=>te(te(te(A,e,X),t,X),s,(()=>[n,0]))[1]=a,Bt=(e,t)=>we(N,e,t),Dt=(e,t,s)=>te(fe,e,(()=>[t,0]))[1]=s,Ht=(e,t,s,n,a)=>(x(te(te(te(Re,e,X),t,X),s,(()=>[])),n),a),Wt=(e,t,s)=>(x(te(Ie,e,(()=>[])),t),s),$t=(e,t,s)=>L(Z(Z(Z(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(ls(e,t,s))])),qt=e=>L(Z(fe,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(is(e))])),Gt=e=>G(Re)||G(Ze[e])?0:Q(e?ie(Re):Re,((t,s)=>Q(t,((t,n)=>Q(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>G(Ie)||G(_e[e])?0:Q(e?oe(Ie):Ie,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!G(e))return it(t,n,(()=>ne(e))),_(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Ae[e],void 0,t);const s=G(Ge[e]),a=G(Ue[e])&&G(Xe[e])&&G(qe[e])&&G(Ke[e])&&G(He[e])&&G(We[e])&&G($e[e])&&s&&G(Ne[e])&&G(Be[e]),l=G(Ye[e])&&G(Qe[e])&&G(De[e])&&G(Me[e]);if(!a||!l){const t=e?[oe(m),re(z),oe(P),re(j),ie(k),ie(A)]:[m,z,P,j,k,A];if(!a){Qt(t[0],Ne[e],Be[e]),Q(t[1],((t,s)=>Qt(t,He[e],We[e],[s]))),Q(t[2],((t,s)=>{0!=t&&it($e[e],[s],ts(s))}));const n=de();Q(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),ue(n,a))})),s||Q(t[5],((t,s)=>{if(!q(n,s)){const n=de();Q(t,(e=>Q(e,(([t,s],a)=>s!==t?ue(n,a):U(e,a))))),Q(n,(t=>it(Ge[e],[s,t])))}})),Q(t[4],((t,s)=>Q(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;Q(t[5],((t,n)=>{let a;Q(t,((t,l)=>{let o;Q(t,(([t,r],i)=>{r!==t&&(it(Ye[e],[n,l,i],r,t,$t),s=a=o=1)})),o&&it(Qe[e],[n,l],$t)})),a&&it(De[e],[n],$t)})),s&&it(Me[e],void 0,$t)}}},Xt=e=>{const t=gs();t!=a&&it(et[e],void 0,t);const s=G(st[e])&&G(nt[e]),n=G(at[e])&&G(tt[e]);if(!s||!n){const t=e?[oe(N),oe(fe)]:[N,fe];if(s||Qt(t[0],st[e],nt[e]),!n){let s;Q(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Is((()=>e(...O(t,C)))),Fs),Zt=()=>le(je),_t=()=>Y(je),es=e=>Y(Z(Pe,C(e))),ts=e=>$(Z(je,C(e))),ss=e=>Y(Z(je,C(e))),ns=(e,t,s,n=0,a)=>{return O(J((o=Z(je,C(e)),r=(e,s)=>[w(t)?s:Z(e,C(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,w(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>Y(Z(Z(je,C(e)),C(t))),ls=(e,t,s)=>Z(Z(Z(je,C(e)),C(t)),C(s)),os=()=>ne(ke),rs=()=>Y(ke),is=e=>Z(ke,C(e)),cs=()=>!G(je),ds=e=>q(je,C(e)),us=(e,t)=>q(Z(Pe,C(e)),C(t)),fs=(e,t)=>q(Z(je,C(e)),C(t)),hs=(e,t,s)=>q(Z(Z(je,C(e)),C(t)),C(s)),gs=()=>!G(ke),Ts=e=>q(ke,C(e)),bs=e=>Yt((()=>(e=>me(e,ft,Ht))(e)?Ct(e):0)),Ss=e=>Yt((()=>Tt(e)?Jt(e):0)),Vs=e=>{try{yt(Ce(e))}catch{}return Fs},ps=t=>Yt((()=>{if((e=me(t,(e=>me(e,ut))))&&(pt(t),!G(je))){const e=Zt();ys(),bs(e)}})),vs=e=>Yt((()=>{if(t=(e=>me(e,ut))(e)){const s=os();Rs(),ws(),t=!0,vt(e),Ss(s)}})),ys=()=>Yt((()=>Ct({}))),Cs=e=>Yt((e=>q(je,e)?xt(e):0),e),ms=(e,t)=>Yt(((e,t)=>L(Z(je,e),(s=>q(s,t)?zt(e,s,t):0))),e,t),ws=()=>Yt((()=>Jt({}))),Ls=()=>Yt((()=>{pt({}),e=!1})),Rs=()=>Yt((()=>{vt({}),t=!1})),Is=(e,t)=>{if(-1!=o){Js();const s=e();return Es(t),s}},Js=()=>(-1!=o&&o++,1==o&&it(lt,void 0),Fs),Es=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),G(A)||Ut(1),Kt(1),G(fe)||Xt(1),e?.(Fs)&&(Q(A,((e,t)=>Q(e,((e,s)=>Q(e,(([e],n)=>pe(Fs,t,s,n,e))))))),K(A),Q(fe,(([e],t)=>ve(Fs,t,e))),K(fe)),it(ot[0],void 0),o=-1,Gt(0),G(A)||Ut(0),Kt(0),G(fe)||Xt(0),d[0]?.(Fs),it(ot[1],void 0),d[1]?.(Fs),o=0,n=cs(),a=gs(),F([m,z,P,j,k,A,Re,N,fe,Ie],K))),Fs),Fs={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>ae(Z(je,C(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ne(Z(Z(je,C(e)),C(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:fs,hasCell:hs,hasValues:gs,hasValue:Ts,getTablesJson:()=>ye(je),getValuesJson:()=>ye(ke),getJson:()=>ye([je,ke]),getTablesSchemaJson:()=>ye(Je),getValuesSchemaJson:()=>ye(Fe),getSchemaJson:()=>ye([Je,Fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(W(e)?ys:bs)(e),(W(t)?ws:Ss)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>ft(t,e)?mt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?wt(e,Ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ht(e,n,t)&&(e=C(e),wt(e,Ot(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Ot(e);H(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(gt(e,t,s,I(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ot(e),t,s,n)))),e,t,s),setValues:Ss,setPartialValues:e=>Yt((()=>Tt(e,1)?H(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>Yt((e=>L(bt(e,I(t)?t(is(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>Yt((()=>{H(e[0],((e,t)=>w(e)?Cs(t):H(e,((e,s)=>w(e)?ms(t,s):H(e,((e,n)=>pe(Fs,t,s,n,e))))))),H(e[1],((e,t)=>ve(Fs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{It(Ce(e))}catch{}return Fs},setJson:e=>Yt((()=>{try{const[t,s]=Ce(e);yt(t),It(s)}catch{Vs(e)}})),setTablesSchema:ps,setValuesSchema:vs,setSchema:(e,t)=>Yt((()=>{ps(e),vs(t)})),delTables:ys,delTable:Cs,delRow:ms,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(Z(je,e),(a=>L(Z(a,t),(l=>q(l,s)?Pt(e,a,t,l,s,n):0))))),e,t,s),delValues:ws,delValue:e=>Yt((e=>q(ke,e)?jt(e):0),e),delTablesSchema:Ls,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Ls(),Rs()})),transaction:Is,startTransaction:Js,getTransactionChanges:()=>[ne(A,((e,t)=>-1===Z(m,t)?void 0:ne(e,((e,s)=>-1===Z(Z(j,t),s)?void 0:ne(e,(([,e])=>e),((e,t)=>Se(t)))),W)),W),ne(fe,(([,e])=>e),((e,t)=>Se(t)))],getTransactionLog:()=>[!G(A),!G(fe),le(A,be,Se),le(Re),ne(fe,be,Se),ne(Ie),ne(m),ae(j),le(k),ne(N)],finishTransaction:Es,forEachTable:e=>Q(je,((t,s)=>e(s,(e=>Q(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_(Z(Pe,C(e)),t),forEachRow:(e,t)=>Q(Z(je,C(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_(Z(Z(je,C(e)),C(t)),s),forEachValue:e=>_(ke,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Fs,e,t,s,n,a,r))}),Ge[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Fs),delListener:e=>(ct(e),Fs),getListenerStats:()=>({}),createStore:Le,addListener:rt,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return H({[c+f]:[0,Ae,[],()=>[cs()]],[f]:[0,Me],[h]:[0,Ne],[c+u]:[1,Be,[_t],e=>[ds(...e)]],[u]:[1,De,[_t]],[u+V]:[1,He,[_t]],[c+u+S]:[2,We,[_t,es],e=>[us(...e)]],[T]:[1,$e,[_t]],[b]:[1,qe,[_t]],[c+g]:[2,Ke,[_t,ss],e=>[fs(...e)]],[g]:[2,Qe,[_t,ss]],[V]:[2,Ue,[_t,ss]],[c+S]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[S]:[3,Ye,[_t,ss,as],e=>ge(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[gs()]],[v]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[rs],e=>[Ts(...e)]],[p]:[1,at,[rs],e=>ge(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?J(a,0,e):void 0,s,n)})),M(Fs)};e.createStore=Le},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file