tinybase 4.8.14 → 4.8.16

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 (356) hide show
  1. package/package.json +21 -22
  2. package/readme.md +1 -1
  3. package/lib/checkpoints.js +0 -1
  4. package/lib/checkpoints.js.gz +0 -0
  5. package/lib/cjs/checkpoints.cjs +0 -1
  6. package/lib/cjs/checkpoints.cjs.gz +0 -0
  7. package/lib/cjs/common.cjs +0 -1
  8. package/lib/cjs/common.cjs.gz +0 -0
  9. package/lib/cjs/indexes.cjs +0 -1
  10. package/lib/cjs/indexes.cjs.gz +0 -0
  11. package/lib/cjs/metrics.cjs +0 -1
  12. package/lib/cjs/metrics.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-automerge.cjs +0 -1
  14. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-browser.cjs +0 -1
  16. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +0 -1
  18. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-electric-sql.cjs +0 -1
  20. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +0 -1
  22. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-expo-sqlite.cjs +0 -1
  24. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-file.cjs +0 -1
  26. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-indexed-db.cjs +0 -1
  28. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-libsql.cjs +0 -1
  30. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-partykit-client.cjs +0 -1
  32. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-partykit-server.cjs +0 -1
  34. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  35. package/lib/cjs/persisters/persister-powersync.cjs +0 -1
  36. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  37. package/lib/cjs/persisters/persister-remote.cjs +0 -1
  38. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  39. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +0 -1
  40. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  41. package/lib/cjs/persisters/persister-sqlite3.cjs +0 -1
  42. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  43. package/lib/cjs/persisters/persister-yjs.cjs +0 -1
  44. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  45. package/lib/cjs/persisters.cjs +0 -1
  46. package/lib/cjs/persisters.cjs.gz +0 -0
  47. package/lib/cjs/queries.cjs +0 -1
  48. package/lib/cjs/queries.cjs.gz +0 -0
  49. package/lib/cjs/relationships.cjs +0 -1
  50. package/lib/cjs/relationships.cjs.gz +0 -0
  51. package/lib/cjs/store.cjs +0 -1
  52. package/lib/cjs/store.cjs.gz +0 -0
  53. package/lib/cjs/tinybase.cjs +0 -1
  54. package/lib/cjs/tinybase.cjs.gz +0 -0
  55. package/lib/cjs/tools.cjs +0 -1
  56. package/lib/cjs/tools.cjs.gz +0 -0
  57. package/lib/cjs/ui-react-dom-debug.cjs +0 -1
  58. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  59. package/lib/cjs/ui-react-dom.cjs +0 -1
  60. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  61. package/lib/cjs/ui-react.cjs +0 -1
  62. package/lib/cjs/ui-react.cjs.gz +0 -0
  63. package/lib/cjs-es6/checkpoints.cjs +0 -1
  64. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  65. package/lib/cjs-es6/common.cjs +0 -1
  66. package/lib/cjs-es6/common.cjs.gz +0 -0
  67. package/lib/cjs-es6/indexes.cjs +0 -1
  68. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  69. package/lib/cjs-es6/metrics.cjs +0 -1
  70. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-automerge.cjs +0 -1
  72. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-browser.cjs +0 -1
  74. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +0 -1
  76. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +0 -1
  78. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +0 -1
  80. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +0 -1
  82. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-file.cjs +0 -1
  84. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +0 -1
  86. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  87. package/lib/cjs-es6/persisters/persister-libsql.cjs +0 -1
  88. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  89. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +0 -1
  90. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  91. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +0 -1
  92. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  93. package/lib/cjs-es6/persisters/persister-powersync.cjs +0 -1
  94. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  95. package/lib/cjs-es6/persisters/persister-remote.cjs +0 -1
  96. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  97. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +0 -1
  98. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  99. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +0 -1
  100. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  101. package/lib/cjs-es6/persisters/persister-yjs.cjs +0 -1
  102. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  103. package/lib/cjs-es6/persisters.cjs +0 -1
  104. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  105. package/lib/cjs-es6/queries.cjs +0 -1
  106. package/lib/cjs-es6/queries.cjs.gz +0 -0
  107. package/lib/cjs-es6/relationships.cjs +0 -1
  108. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  109. package/lib/cjs-es6/store.cjs +0 -1
  110. package/lib/cjs-es6/store.cjs.gz +0 -0
  111. package/lib/cjs-es6/tinybase.cjs +0 -1
  112. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  113. package/lib/cjs-es6/tools.cjs +0 -1
  114. package/lib/cjs-es6/tools.cjs.gz +0 -0
  115. package/lib/cjs-es6/ui-react-dom-debug.cjs +0 -1
  116. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  117. package/lib/cjs-es6/ui-react-dom.cjs +0 -1
  118. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  119. package/lib/cjs-es6/ui-react.cjs +0 -1
  120. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  121. package/lib/common.js +0 -1
  122. package/lib/common.js.gz +0 -0
  123. package/lib/debug/checkpoints.js +0 -412
  124. package/lib/debug/common.js +0 -4
  125. package/lib/debug/indexes.js +0 -544
  126. package/lib/debug/metrics.js +0 -516
  127. package/lib/debug/persisters.js +0 -183
  128. package/lib/debug/queries.js +0 -807
  129. package/lib/debug/relationships.js +0 -526
  130. package/lib/debug/store.js +0 -1602
  131. package/lib/es6/checkpoints.js +0 -1
  132. package/lib/es6/checkpoints.js.gz +0 -0
  133. package/lib/es6/common.js +0 -1
  134. package/lib/es6/common.js.gz +0 -0
  135. package/lib/es6/indexes.js +0 -1
  136. package/lib/es6/indexes.js.gz +0 -0
  137. package/lib/es6/metrics.js +0 -1
  138. package/lib/es6/metrics.js.gz +0 -0
  139. package/lib/es6/persisters/persister-automerge.js +0 -1
  140. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  141. package/lib/es6/persisters/persister-browser.js +0 -1
  142. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  143. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +0 -1
  144. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  145. package/lib/es6/persisters/persister-electric-sql.js +0 -1
  146. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  147. package/lib/es6/persisters/persister-expo-sqlite-next.js +0 -1
  148. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  149. package/lib/es6/persisters/persister-expo-sqlite.js +0 -1
  150. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  151. package/lib/es6/persisters/persister-file.js +0 -1
  152. package/lib/es6/persisters/persister-file.js.gz +0 -0
  153. package/lib/es6/persisters/persister-indexed-db.js +0 -1
  154. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  155. package/lib/es6/persisters/persister-libsql.js +0 -1
  156. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  157. package/lib/es6/persisters/persister-partykit-client.js +0 -1
  158. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  159. package/lib/es6/persisters/persister-partykit-server.js +0 -1
  160. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  161. package/lib/es6/persisters/persister-powersync.js +0 -1
  162. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  163. package/lib/es6/persisters/persister-remote.js +0 -1
  164. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  165. package/lib/es6/persisters/persister-sqlite-wasm.js +0 -1
  166. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  167. package/lib/es6/persisters/persister-sqlite3.js +0 -1
  168. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  169. package/lib/es6/persisters/persister-yjs.js +0 -1
  170. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  171. package/lib/es6/persisters.js +0 -1
  172. package/lib/es6/persisters.js.gz +0 -0
  173. package/lib/es6/queries.js +0 -1
  174. package/lib/es6/queries.js.gz +0 -0
  175. package/lib/es6/relationships.js +0 -1
  176. package/lib/es6/relationships.js.gz +0 -0
  177. package/lib/es6/store.js +0 -1
  178. package/lib/es6/store.js.gz +0 -0
  179. package/lib/es6/tinybase.js +0 -1
  180. package/lib/es6/tinybase.js.gz +0 -0
  181. package/lib/es6/tools.js +0 -1
  182. package/lib/es6/tools.js.gz +0 -0
  183. package/lib/es6/ui-react-dom-debug.js +0 -1
  184. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  185. package/lib/es6/ui-react-dom.js +0 -1
  186. package/lib/es6/ui-react-dom.js.gz +0 -0
  187. package/lib/es6/ui-react.js +0 -1
  188. package/lib/es6/ui-react.js.gz +0 -0
  189. package/lib/indexes.js +0 -1
  190. package/lib/indexes.js.gz +0 -0
  191. package/lib/metrics.js +0 -1
  192. package/lib/metrics.js.gz +0 -0
  193. package/lib/persisters/persister-automerge.js +0 -1
  194. package/lib/persisters/persister-automerge.js.gz +0 -0
  195. package/lib/persisters/persister-browser.js +0 -1
  196. package/lib/persisters/persister-browser.js.gz +0 -0
  197. package/lib/persisters/persister-cr-sqlite-wasm.js +0 -1
  198. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  199. package/lib/persisters/persister-electric-sql.js +0 -1
  200. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  201. package/lib/persisters/persister-expo-sqlite-next.js +0 -1
  202. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  203. package/lib/persisters/persister-expo-sqlite.js +0 -1
  204. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  205. package/lib/persisters/persister-file.js +0 -1
  206. package/lib/persisters/persister-file.js.gz +0 -0
  207. package/lib/persisters/persister-indexed-db.js +0 -1
  208. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  209. package/lib/persisters/persister-libsql.js +0 -1
  210. package/lib/persisters/persister-libsql.js.gz +0 -0
  211. package/lib/persisters/persister-partykit-client.js +0 -1
  212. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  213. package/lib/persisters/persister-partykit-server.js +0 -1
  214. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  215. package/lib/persisters/persister-powersync.js +0 -1
  216. package/lib/persisters/persister-powersync.js.gz +0 -0
  217. package/lib/persisters/persister-remote.js +0 -1
  218. package/lib/persisters/persister-remote.js.gz +0 -0
  219. package/lib/persisters/persister-sqlite-wasm.js +0 -1
  220. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  221. package/lib/persisters/persister-sqlite3.js +0 -1
  222. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  223. package/lib/persisters/persister-yjs.js +0 -1
  224. package/lib/persisters/persister-yjs.js.gz +0 -0
  225. package/lib/persisters.js +0 -1
  226. package/lib/persisters.js.gz +0 -0
  227. package/lib/queries.js +0 -1
  228. package/lib/queries.js.gz +0 -0
  229. package/lib/relationships.js +0 -1
  230. package/lib/relationships.js.gz +0 -0
  231. package/lib/store.js +0 -1
  232. package/lib/store.js.gz +0 -0
  233. package/lib/tinybase.js +0 -1
  234. package/lib/tinybase.js.gz +0 -0
  235. package/lib/tools.js +0 -1
  236. package/lib/tools.js.gz +0 -0
  237. package/lib/ui-react-dom.js +0 -1
  238. package/lib/ui-react-dom.js.gz +0 -0
  239. package/lib/ui-react.js +0 -1
  240. package/lib/ui-react.js.gz +0 -0
  241. package/lib/umd/checkpoints.js +0 -1
  242. package/lib/umd/checkpoints.js.gz +0 -0
  243. package/lib/umd/common.js +0 -1
  244. package/lib/umd/common.js.gz +0 -0
  245. package/lib/umd/indexes.js +0 -1
  246. package/lib/umd/indexes.js.gz +0 -0
  247. package/lib/umd/metrics.js +0 -1
  248. package/lib/umd/metrics.js.gz +0 -0
  249. package/lib/umd/persisters/persister-automerge.js +0 -1
  250. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  251. package/lib/umd/persisters/persister-browser.js +0 -1
  252. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  253. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +0 -1
  254. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  255. package/lib/umd/persisters/persister-electric-sql.js +0 -1
  256. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  257. package/lib/umd/persisters/persister-expo-sqlite-next.js +0 -1
  258. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  259. package/lib/umd/persisters/persister-expo-sqlite.js +0 -1
  260. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  261. package/lib/umd/persisters/persister-file.js +0 -1
  262. package/lib/umd/persisters/persister-file.js.gz +0 -0
  263. package/lib/umd/persisters/persister-indexed-db.js +0 -1
  264. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  265. package/lib/umd/persisters/persister-libsql.js +0 -1
  266. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  267. package/lib/umd/persisters/persister-partykit-client.js +0 -1
  268. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  269. package/lib/umd/persisters/persister-partykit-server.js +0 -1
  270. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  271. package/lib/umd/persisters/persister-powersync.js +0 -1
  272. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  273. package/lib/umd/persisters/persister-remote.js +0 -1
  274. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  275. package/lib/umd/persisters/persister-sqlite-wasm.js +0 -1
  276. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  277. package/lib/umd/persisters/persister-sqlite3.js +0 -1
  278. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  279. package/lib/umd/persisters/persister-yjs.js +0 -1
  280. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  281. package/lib/umd/persisters.js +0 -1
  282. package/lib/umd/persisters.js.gz +0 -0
  283. package/lib/umd/queries.js +0 -1
  284. package/lib/umd/queries.js.gz +0 -0
  285. package/lib/umd/relationships.js +0 -1
  286. package/lib/umd/relationships.js.gz +0 -0
  287. package/lib/umd/store.js +0 -1
  288. package/lib/umd/store.js.gz +0 -0
  289. package/lib/umd/tinybase.js +0 -1
  290. package/lib/umd/tinybase.js.gz +0 -0
  291. package/lib/umd/tools.js +0 -1
  292. package/lib/umd/tools.js.gz +0 -0
  293. package/lib/umd/ui-react-dom-debug.js +0 -1
  294. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  295. package/lib/umd/ui-react-dom.js +0 -1
  296. package/lib/umd/ui-react-dom.js.gz +0 -0
  297. package/lib/umd/ui-react.js +0 -1
  298. package/lib/umd/ui-react.js.gz +0 -0
  299. package/lib/umd-es6/checkpoints.js +0 -1
  300. package/lib/umd-es6/checkpoints.js.gz +0 -0
  301. package/lib/umd-es6/common.js +0 -1
  302. package/lib/umd-es6/common.js.gz +0 -0
  303. package/lib/umd-es6/indexes.js +0 -1
  304. package/lib/umd-es6/indexes.js.gz +0 -0
  305. package/lib/umd-es6/metrics.js +0 -1
  306. package/lib/umd-es6/metrics.js.gz +0 -0
  307. package/lib/umd-es6/persisters/persister-automerge.js +0 -1
  308. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  309. package/lib/umd-es6/persisters/persister-browser.js +0 -1
  310. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  311. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +0 -1
  312. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  313. package/lib/umd-es6/persisters/persister-electric-sql.js +0 -1
  314. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  315. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +0 -1
  316. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  317. package/lib/umd-es6/persisters/persister-expo-sqlite.js +0 -1
  318. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  319. package/lib/umd-es6/persisters/persister-file.js +0 -1
  320. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  321. package/lib/umd-es6/persisters/persister-indexed-db.js +0 -1
  322. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  323. package/lib/umd-es6/persisters/persister-libsql.js +0 -1
  324. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  325. package/lib/umd-es6/persisters/persister-partykit-client.js +0 -1
  326. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  327. package/lib/umd-es6/persisters/persister-partykit-server.js +0 -1
  328. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  329. package/lib/umd-es6/persisters/persister-powersync.js +0 -1
  330. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  331. package/lib/umd-es6/persisters/persister-remote.js +0 -1
  332. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  333. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +0 -1
  334. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  335. package/lib/umd-es6/persisters/persister-sqlite3.js +0 -1
  336. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  337. package/lib/umd-es6/persisters/persister-yjs.js +0 -1
  338. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  339. package/lib/umd-es6/persisters.js +0 -1
  340. package/lib/umd-es6/persisters.js.gz +0 -0
  341. package/lib/umd-es6/queries.js +0 -1
  342. package/lib/umd-es6/queries.js.gz +0 -0
  343. package/lib/umd-es6/relationships.js +0 -1
  344. package/lib/umd-es6/relationships.js.gz +0 -0
  345. package/lib/umd-es6/store.js +0 -1
  346. package/lib/umd-es6/store.js.gz +0 -0
  347. package/lib/umd-es6/tinybase.js +0 -1
  348. package/lib/umd-es6/tinybase.js.gz +0 -0
  349. package/lib/umd-es6/tools.js +0 -1
  350. package/lib/umd-es6/tools.js.gz +0 -0
  351. package/lib/umd-es6/ui-react-dom-debug.js +0 -1
  352. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  353. package/lib/umd-es6/ui-react-dom.js +0 -1
  354. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  355. package/lib/umd-es6/ui-react.js +0 -1
  356. package/lib/umd-es6/ui-react.js.gz +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinybase",
3
- "version": "4.8.14",
3
+ "version": "4.8.16",
4
4
  "author": "jamesgpearce",
5
5
  "repository": "github:tinyplex/tinybase",
6
6
  "license": "MIT",
@@ -214,15 +214,14 @@
214
214
  "publishPackage": "gulp publishPackage"
215
215
  },
216
216
  "devDependencies": {
217
- "@automerge/automerge": "^2.2.2",
218
- "@automerge/automerge-repo": "^1.1.12",
217
+ "@automerge/automerge-repo": "^1.2.0",
219
218
  "@babel/cli": "^7.24.7",
220
219
  "@babel/core": "^7.24.7",
221
220
  "@babel/preset-env": "^7.24.7",
222
221
  "@babel/preset-react": "^7.24.7",
223
222
  "@babel/preset-typescript": "^7.24.7",
224
223
  "@journeyapps/powersync-sdk-common": "^1.6.0",
225
- "@libsql/client": "^0.6.2",
224
+ "@libsql/client": "^0.7.0",
226
225
  "@prettier/sync": "^0.5.2",
227
226
  "@rollup/plugin-image": "^3.0.3",
228
227
  "@rollup/plugin-replace": "^5.0.7",
@@ -234,14 +233,14 @@
234
233
  "@types/jest": "^29.5.12",
235
234
  "@types/jest-environment-puppeteer": "^5.0.6",
236
235
  "@types/less": "^3.0.6",
237
- "@types/node": "^20.14.2",
236
+ "@types/node": "^20.14.9",
238
237
  "@types/puppeteer": "^5.4.7",
239
238
  "@types/react": "^18.3.3",
240
239
  "@types/react-dom": "^18.3.0",
241
240
  "@types/react-test-renderer": "^18.3.0",
242
241
  "@types/tmp": "^0.2.6",
243
- "@typescript-eslint/eslint-plugin": "^7.13.0",
244
- "@typescript-eslint/parser": "^7.13.0",
242
+ "@typescript-eslint/eslint-plugin": "^7.15.0",
243
+ "@typescript-eslint/parser": "^7.15.0",
245
244
  "@vlcn.io/crsqlite-wasm": "^0.16.0",
246
245
  "asciichart": "^1.5.25",
247
246
  "babel-eslint": "^10.1.0",
@@ -251,14 +250,14 @@
251
250
  "babel-preset-minify": "^0.5.2",
252
251
  "buffer-replace": "^1.0.0",
253
252
  "country-flag-emoji-json": "^2.0.0",
254
- "cspell": "^8.8.4",
255
- "electric-sql": "^0.12.0",
256
- "esbuild": "^0.21.5",
253
+ "cspell": "^8.10.0",
254
+ "electric-sql": "^0.12.1",
255
+ "esbuild": "^0.23.0",
257
256
  "eslint": "^8.57.0",
258
257
  "eslint-config-prettier": "^9.1.0",
259
258
  "eslint-plugin-jest": "^28.6.0",
260
- "eslint-plugin-jsdoc": "^48.2.12",
261
- "eslint-plugin-react": "7.34.2",
259
+ "eslint-plugin-jsdoc": "^48.5.0",
260
+ "eslint-plugin-react": "7.34.3",
262
261
  "eslint-plugin-react-hooks": "^4.6.2",
263
262
  "expo-sqlite": "13.2.1",
264
263
  "fake-indexeddb": "^6.0.0",
@@ -271,10 +270,10 @@
271
270
  "jest-fetch-mock": "^3.0.3",
272
271
  "jest-puppeteer": "^10.0.1",
273
272
  "less": "^4.2.0",
274
- "partykit": "^0.0.105",
273
+ "partykit": "^0.0.107",
275
274
  "partysocket": "^1.0.1",
276
275
  "prettier": "^3.3.2",
277
- "puppeteer": "22.11.0",
276
+ "puppeteer": "22.12.1",
278
277
  "react": "^18.3.1",
279
278
  "react-dom": "^18.3.1",
280
279
  "react-test-renderer": "^18.3.1",
@@ -285,28 +284,28 @@
285
284
  "rollup-plugin-prettier": "^4.1.1",
286
285
  "sqlite3": "^5.1.7",
287
286
  "tinybase": "file:./",
288
- "tinydocs": "^0.1.38",
287
+ "tinydocs": "^0.1.39",
289
288
  "tmp": "^0.2.3",
290
289
  "ts-unused-exports": "^10.1.0",
291
- "typescript": "5.4.5",
290
+ "typescript": "5.5.3",
292
291
  "wa-sqlite": "github:rhashimoto/wa-sqlite",
293
- "yjs": "^13.6.16"
292
+ "yjs": "^13.6.18"
294
293
  },
295
294
  "peerDependencies": {
296
- "@automerge/automerge-repo": "^1.1.12",
295
+ "@automerge/automerge-repo": "^1.2.0",
297
296
  "@journeyapps/powersync-sdk-common": "^1.6.0",
298
- "@libsql/client": "^0.6.2",
297
+ "@libsql/client": "^0.7.0",
299
298
  "@sqlite.org/sqlite-wasm": "^3.46.0-build2",
300
299
  "@vlcn.io/crsqlite-wasm": "^0.16.0",
301
- "electric-sql": "^0.12.0",
300
+ "electric-sql": "^0.12.1",
302
301
  "expo-sqlite": "13.2.1",
303
- "partykit": "^0.0.105",
302
+ "partykit": "^0.0.107",
304
303
  "partysocket": "^1.0.1",
305
304
  "prettier": "^3.3.2",
306
305
  "react": "^18.2.0",
307
306
  "react-dom": "^18.2.0",
308
307
  "sqlite3": "^5.1.7",
309
- "yjs": "^13.6.16"
308
+ "yjs": "^13.6.18"
310
309
  },
311
310
  "peerDependenciesMeta": {
312
311
  "@automerge/automerge-repo": {
package/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://tinybase.org/guides/releases/#v4-8"><em>NEW!</em> v4.8 release</a> <span id="one-with">&quot;The One With PowerSync&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app&#x27;s data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions &amp; ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://tinybase.org/api/persister-browser">storage</a>, <a href="https://tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.0kB - 9.4kB</a>, no dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg">Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/4.8.14" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
1
+ <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://tinybase.org/guides/releases/#v4-8"><em>NEW!</em> v4.8 release</a> <span id="one-with">&quot;The One With PowerSync&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app&#x27;s data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions &amp; ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://tinybase.org/api/persister-browser">storage</a>, <a href="https://tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>; and (<em>new!</em>) <a href="https://tinybase.org/api/persister-partykit-client/">PartyKit</a> and <a href="https://electric-sql.com/">ElectricSQL</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">5.0kB - 9.4kB</a>, no dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg">Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg">ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg">Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg">PowerSync</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/4.8.15" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
2
2
 
3
3
  ```js
4
4
  const store = createStore()
@@ -1 +0,0 @@
1
- const e=e=>null==e,t=(t,n,r)=>e(t)?r?.():n(t),n=e=>e.length,r=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),o=e=>0==n(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),a=e=>e.shift(),i=Object.freeze,d=(e,t)=>e?.has(t)??!1,u=t=>e(t)||0==(e=>e?.size??0)(t),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),C=e=>new Map(e),f=(e,t)=>e?.get(t),g=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),k=(e,t,n)=>(d(e,t)||g(e,t,n()),f(e,t)),L=(e,r,s,o,l=0)=>t((s?k:f)(e,r[l],l>n(r)-2?s:C),(t=>{if(l>n(r)-2)return o?.(t)&&g(e,r[l]),t;const c=L(t,r,s,o,l+1);return u(t)&&g(e,r[l]),c})),v=t=>new Set(Array.isArray(t)||e(t)?t:[t]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=C(),F=C(),I=1;const M=C(),b=C(),[j,x,B]=(r=>{let o;const[c,i]=(()=>{const e=[];let t=0;return[n=>(n?a(e):null)??""+t++,t=>{w.test(t)&&n(e)<1e3&&l(e,t)}]})(),d=C();return[(e,t,n,r=[],s=(()=>[]))=>{o??=_;const l=c(1);var a,i;return g(d,l,[e,t,n,r,s]),a=L(t,n??[""],v),i=l,a?.add(i),l},(e,t,...r)=>s(((e,t=[""])=>{const r=[],o=(e,c)=>c==n(t)?l(r,e):null===t[c]?h(e,(e=>o(e,c+1))):s([t[c],null],(t=>o(f(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>f(d,e)[0](o,...t??[],...r))))),e=>t(f(d,e),(([,t,n])=>(L(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),g(d,e),i(e),n))),r=>t(f(d,r),(([t,,r=[],l,c])=>{const a=(...i)=>{const d=n(i);d==n(r)?t(o,...i,...c(i)):e(r[d])?s(l[d]?.(...i)??[],(e=>a(...i,e))):a(...i,r[d])};a()}))]})(),O=C(),T=C(),W=[],$=[],m=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=f(O,n);h(r,((n,r)=>h(n,((n,s)=>h(n,((n,o)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(S,r,s,o,n[t]))))))),h(s,((n,r)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(S,r,n[t])))})),I=1},q=e=>{g(O,e),g(T,e),x(b,[e])},D=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),q),G=()=>D(W,n(W)-V),H=()=>t(y,(()=>{l(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=c(W),E=1},K=S.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(I){H();const e=k(A,t,C),l=k(e,n,C),c=k(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(g(l,r))&&u(g(e,n))&&u(g(A,t))&&J(),U()}})),N=S.addValueListener(null,((e,t,n,r)=>{if(I){H();const e=k(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(g(F,t))&&J(),U()}})),P=(t="")=>(e(y)&&(y=""+z++,g(O,y,[A,F]),Y(y,t),A=C(),F=C(),E=1),y),Q=()=>{o(W)||(((e,...t)=>{e.unshift(...t)})($,P()),m(0,y),y=c(W),E=1)},R=()=>{o($)||(l(W,y),y=a($),m(1,y),E=1)},U=()=>{E&&(x(M),E=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&f(T,e)!==t&&(g(T,e,t),x(b,[e])),_),Z=e=>d(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return t=e,h(T,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>f(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:t=>{const n=r(W,t)?Q:r($,t)?R:null;for(;!e(n)&&t!=y;)n();return U(),_},addCheckpointIdsListener:e=>j(e,M),addCheckpointListener:(e,t)=>j(t,b,[e]),delListener:e=>(B(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),clearForward:()=>(o($)||(D($),x(M)),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return i(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
Binary file
@@ -1 +0,0 @@
1
- "use strict";const e=e=>null==e,t=(t,n,r)=>e(t)?r?.():n(t),n=e=>e.length,r=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),o=e=>0==n(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),i=e=>e.shift(),a=Object.freeze,d=(e,t)=>e?.has(t)??!1,u=t=>e(t)||0==(e=>e?.size??0)(t),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),C=e=>new Map(e),k=(e,t)=>e?.get(t),f=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),g=(e,t,n)=>(d(e,t)||f(e,t,n()),k(e,t)),L=(e,r,s,o,l=0)=>t((s?g:k)(e,r[l],l>n(r)-2?s:C),(t=>{if(l>n(r)-2)return o?.(t)&&f(e,r[l]),t;const c=L(t,r,s,o,l+1);return u(t)&&f(e,r[l]),c})),v=t=>new Set(Array.isArray(t)||e(t)?t:[t]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=C(),F=C(),I=1;const M=C(),b=C(),[j,x,B]=(r=>{let o;const[c,a]=(()=>{const e=[];let t=0;return[n=>(n?i(e):null)??""+t++,t=>{w.test(t)&&n(e)<1e3&&l(e,t)}]})(),d=C();return[(e,t,n,r=[],s=(()=>[]))=>{o??=_;const l=c(1);var i,a;return f(d,l,[e,t,n,r,s]),i=L(t,n??[""],v),a=l,i?.add(a),l},(e,t,...r)=>s(((e,t=[""])=>{const r=[],o=(e,c)=>c==n(t)?l(r,e):null===t[c]?h(e,(e=>o(e,c+1))):s([t[c],null],(t=>o(k(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>k(d,e)[0](o,...t??[],...r))))),e=>t(k(d,e),(([,t,n])=>(L(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),f(d,e),a(e),n))),r=>t(k(d,r),(([t,,r=[],l,c])=>{const i=(...a)=>{const d=n(a);d==n(r)?t(o,...a,...c(a)):e(r[d])?s(l[d]?.(...a)??[],(e=>i(...a,e))):i(...a,r[d])};i()}))]})(),O=C(),T=C(),W=[],$=[],m=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=k(O,n);h(r,((n,r)=>h(n,((n,s)=>h(n,((n,o)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(S,r,s,o,n[t]))))))),h(s,((n,r)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(S,r,n[t])))})),I=1},q=e=>{f(O,e),f(T,e),x(b,[e])},D=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),q),G=()=>D(W,n(W)-V),H=()=>t(y,(()=>{l(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=c(W),E=1},K=S.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(I){H();const e=g(A,t,C),l=g(e,n,C),c=g(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(f(l,r))&&u(f(e,n))&&u(f(A,t))&&J(),U()}})),N=S.addValueListener(null,((e,t,n,r)=>{if(I){H();const e=g(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(f(F,t))&&J(),U()}})),P=(t="")=>(e(y)&&(y=""+z++,f(O,y,[A,F]),Y(y,t),A=C(),F=C(),E=1),y),Q=()=>{o(W)||(((e,...t)=>{e.unshift(...t)})($,P()),m(0,y),y=c(W),E=1)},R=()=>{o($)||(l(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(x(M),E=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&k(T,e)!==t&&(f(T,e,t),x(b,[e])),_),Z=e=>d(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return t=e,h(T,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>k(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:t=>{const n=r(W,t)?Q:r($,t)?R:null;for(;!e(n)&&t!=y;)n();return U(),_},addCheckpointIdsListener:e=>j(e,M),addCheckpointListener:(e,t)=>j(t,b,[e]),delListener:e=>(B(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),clearForward:()=>(o($)||(D($),x(M)),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return a(_.clear())})(S)),y.get(S))})();exports.createCheckpoints=S;
Binary file
@@ -1 +0,0 @@
1
- "use strict";exports.defaultSorter=(t,e)=>(t??0)<(e??0)?-1:1;
Binary file
@@ -1 +0,0 @@
1
- "use strict";const e=e=>typeof e,t="",n=e(t),s=e=>t+e,r=e=>null==e,o=(e,t,n)=>r(e)?n?.():t(e),c=e=>Array.isArray(e),d=e=>e.length,l=(e,t)=>e.every(t),a=(e,t)=>l(e,((n,s)=>0==s||t(e[s-1],n)<=0)),i=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),I=(e,...t)=>e.push(...t),h=Object.freeze,f=(e,t)=>e?.has(t)??!1,g=e=>r(e)||0==(e=>e?.size??0)(e),L=e=>[...e?.values()??[]],S=e=>e.clear(),v=(e,t)=>e?.forEach(t),w=(e,t)=>e?.delete(t),x=e=>new Map(e),p=e=>[...e?.keys()??[]],y=(e,t)=>e?.get(t),E=(e,t)=>v(e,((e,n)=>t(n,e))),R=(e,t,n)=>r(n)?(w(e,t),e):e?.set(t,n),b=(e,t,n)=>(f(e,t)||R(e,t,n()),y(e,t)),T=(e,t,n,s,r=0)=>o((n?b:y)(e,t[r],r>d(t)-2?n:x),(o=>{if(r>d(t)-2)return s?.(o)&&R(e,t[r]),o;const c=T(o,t,n,s,r+1);return g(o)&&R(e,t[r]),c})),k=e=>new Set(c(e)||r(e)?e:[e]),z=(e,t)=>e?.add(t),A=(s,r)=>e(s)==n?e=>e(s):s??(()=>r??t),C=(e,t)=>(e??0)<(t??0)?-1:1,D=/^\d+$/,M=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=x(),M=x(),[j,m,O]=(e=>{let n;const[s,c]=(()=>{const e=[];let n=0;return[s=>(s?e.shift():null)??t+n++,t=>{D.test(t)&&d(e)<1e3&&I(e,t)}]})(),l=x();return[(e,r,o,c=[],d=(()=>[]))=>{n??=U;const a=s(1);return R(l,a,[e,r,o,c,d]),z(T(r,o??[t],k),a),a},(e,s,...r)=>u(((e,n=[t])=>{const s=[],r=(e,t)=>t==d(n)?I(s,e):null===n[t]?v(e,(e=>r(e,t+1))):u([n[t],null],(n=>r(y(e,n),t+1)));return r(e,0),s})(e,s),(e=>v(e,(e=>y(l,e)[0](n,...s??[],...r))))),e=>o(y(l,e),(([,n,s])=>(T(n,s??[t],void 0,(t=>(w(t,e),g(t)?1:0))),R(l,e),c(e),s))),e=>o(y(l,e),(([e,,t=[],s,o])=>{const c=(...l)=>{const a=d(l);a==d(t)?e(n,...l,...o(l)):r(t[a])?u(s[a]?.(...l)??[],(e=>c(...l,e))):c(...l,t[a])};c()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,t,n,s,a)=>{const i=e.hasRow,I=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(t,n,...s)=>{const r=b(D,t,k);return u(s,(t=>z(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>o(y(D,t),(s=>{u(0==d(n)?L(s):n,(t=>{e.delListener(t),w(s,t)})),g(s)&&R(D,t)})),m=(e,n)=>{R(I,e,n),f(h,e)||(R(h,e,t()),R(A,e,x()),R(C,e,x()),a(T))},O=e=>{R(I,e),R(h,e),R(A,e),R(C,e),j(e),a(T)};return[()=>e,()=>p(I),e=>E(h,e),e=>f(h,e),e=>y(I,e),e=>y(h,e),(e,t)=>R(h,e,t),m,(t,s,o,a,I)=>{m(t,s);const h=x(),g=x(),L=y(A,t),w=y(C,t),p=t=>{const o=n=>e.getCell(s,t,n),u=y(L,t),f=i(s,t)?n(a(o,t)):void 0;var S,v;if(u===f||c(u)&&c(f)&&(v=f,d(S=u)===d(v)&&l(S,((e,t)=>v[t]===e)))||R(h,t,[u,f]),!r(I)){const e=y(w,t),n=i(s,t)?I(o,t):void 0;e!=n&&R(g,t,n)}},b=e=>{o((()=>{v(h,(([,e],t)=>R(L,t,e))),v(g,((e,t)=>R(w,t,e)))}),h,g,L,w,e),S(h),S(g)};E(L,p),e.hasTable(s)&&u(e.getRowIds(s),(e=>{f(L,e)||p(e)})),b(!0),j(t),M(t,0,e.addRowListener(s,null,((e,t,n)=>p(n))),e.addTableListener(s,(()=>b())))},O,e=>s(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?t:c(e)?(n=s,e.map(n)):s(e);var n}),j,m),Q=(t,n,s)=>{const r=F(t);v(s,((t,s)=>n(s,(n=>v(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},U={setIndexDefinition:(e,t,s,c,d,l=C)=>{const u=r(d)?void 0:([e],[t])=>d(e,t);return J(e,t,((t,s,d,I,h,L)=>{let S=0;const p=k(),b=k(),T=G(e);if(v(s,(([e,t],n)=>{const s=k(e),d=k(t);v(s,(e=>w(d,e)?w(s,e):0)),v(s,(e=>{z(p,e),o(y(T,e),(t=>{w(t,n),g(t)&&(R(T,e),S=1)}))})),v(d,(e=>{z(p,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),n),r(c)||z(b,e)}))})),t(),g(h)||(L?E(T,(e=>z(b,e))):E(d,(e=>o(y(I,e),(e=>z(b,e))))),v(b,(e=>{const t=(t,n)=>l(y(h,t),y(h,n),e),n=[...y(T,e)];a(n,t)||(R(T,e,k(i(n,t))),z(p,e))}))),(S||L)&&!r(u)){const t=[...T];a(t,u)||(H(e,x(i(t,u))),S=1)}S&&m(n,[e]),v(p,(t=>m(M,[e,t])))}),A(s),o(c,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((t,n)=>e(t,(e=>Q(t,e,n))))),forEachSlice:(e,t)=>Q(e,t,G(e)),hasIndex:B,hasSlice:(e,t)=>f(G(e),t),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,t)=>L(y(G(e),t)),addIndexIdsListener:N,addSliceIdsListener:(e,t)=>j(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>j(n,M,[e,t]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e)),n.get(e))})();exports.createIndexes=M;
Binary file
@@ -1 +0,0 @@
1
- "use strict";const e=e=>typeof e,t="",r=e(t),n=e(e),s=Math.max,i=Math.min,o=isFinite,c=e=>null==e,a=(e,t,r)=>c(e)?r?.():t(e),d=e=>Array.isArray(e),l=e=>e.length,u=()=>{},v=(e,t)=>e.forEach(t),h=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),f=(e,...t)=>e.push(...t),g=Object.freeze,L=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,w=e=>c(e)||0==L(e),y=e=>[...e?.values()??[]],p=e=>e.clear(),b=(e,t)=>e?.forEach(t),I=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>b(e,((e,r)=>t(r,e))),S=(e,t,r)=>c(r)?(I(e,t),e):e?.set(t,r),T=(e,t,r)=>(m(e,t)||S(e,t,r()),E(e,t)),k=(e,t,r,n,s=0)=>a((r?T:E)(e,t[s],s>l(t)-2?r:x),(i=>{if(s>l(t)-2)return n?.(i)&&S(e,t[s]),i;const o=k(i,t,r,n,s+1);return w(i)&&S(e,t[s]),o})),z=x([["avg",[(e,t)=>h(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>s(...e),(e,t)=>s(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:s(t,e)]],["min",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:i(t,e)]],["sum",[e=>h(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),A=e=>new Set(d(e)||c(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,j=(s=>{const i=new WeakMap;return s=>(i.has(s)||i.set(s,(s=>{const i=x(),[h,M,j]=(e=>{let r;const[n,s]=(()=>{const e=[];let r=0;return[n=>(n?e.shift():null)??t+r++,t=>{N.test(t)&&l(e)<1e3&&f(e,t)}]})(),i=x();return[(e,s,o,c=[],a=(()=>[]))=>{r??=P;const d=n(1);return S(i,d,[e,s,o,c,a]),D(k(s,o??[t],A),d),d},(e,n,...s)=>v(((e,r=[t])=>{const n=[],s=(e,t)=>t==l(r)?f(n,e):null===r[t]?b(e,(e=>s(e,t+1))):v([r[t],null],(r=>s(E(e,r),t+1)));return s(e,0),n})(e,n),(e=>b(e,(e=>E(i,e)[0](r,...n??[],...s))))),e=>a(E(i,e),(([,r,n])=>(k(r,n??[t],void 0,(t=>(I(t,e),w(t)?1:0))),S(i,e),s(e),n))),e=>a(E(i,e),(([e,,t=[],n,s])=>{const i=(...o)=>{const a=l(o);a==l(t)?e(r,...o,...s(o)):c(t[a])?v(n[a]?.(...o)??[],(e=>i(...o,e))):i(...o,t[a])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,r,n,s,i)=>{const o=e.hasRow,u=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(t,r,...n)=>{const s=T(L,t,A);return v(n,(t=>D(s,t)&&r&&e.callListener(t))),n},z=(t,...r)=>a(E(L,t),(n=>{v(0==l(r)?y(n):r,(t=>{e.delListener(t),I(n,t)})),w(n)&&S(L,t)})),N=(e,t)=>{S(u,e,t),m(h,e)||(S(h,e,r()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(u,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return e=u,[...e?.keys()??[]];var e},e=>R(h,e),e=>m(h,e),e=>E(u,e),e=>E(h,e),(e,t)=>S(h,e,t),N,(r,n,s,i,a)=>{N(r,n);const u=x(),h=x(),M=E(f,r),L=E(g,r),w=r=>{const s=t=>e.getCell(n,r,t),v=E(M,r),f=o(n,r)?(g=i(s,r),isNaN(g)||c(g)||!0===g||!1===g||g===t?void 0:1*g):void 0;var g,m,w,y;if(v===f||d(v)&&d(f)&&(w=f,l(m=v)===l(w)&&(y=(e,t)=>w[t]===e,m.every(y)))||S(u,r,[v,f]),!c(a)){const e=E(L,r),t=o(n,r)?a(s,r):void 0;e!=t&&S(h,r,t)}},y=e=>{s((()=>{b(u,(([,e],t)=>S(M,t,e))),b(h,((e,t)=>S(L,t,e)))}),u,h,M,L,e),p(u),p(h)};R(M,w),e.hasTable(n)&&v(e.getRowIds(n),(e=>{m(M,e)||w(e)})),y(!0),z(r),k(r,0,e.addRowListener(n,null,((e,t,r)=>w(r))),e.addTableListener(n,(()=>y())))},j,e=>s(e,M),()=>R(L,j),k,z]})(s,u,0,h,M),P={setMetricDefinition:(t,s,a,d,l,u,v)=>{const h=e(a)==n?[a,l,u,v]:E(z,a)??E(z,"sum");return G(t,s,((e,r,n,s,a,d)=>{const l=q(t),u=L(s);d||=c(l),e();let v=((e,t,r,n,s,i=!1)=>{if(w(r))return;const[o,a,d,l]=s;return i||=c(e),b(n,(([r,n])=>{i||(e=c(r)?a?.(e,n,t++):c(n)?d?.(e,r,t--):l?.(e,n,r,t),i||=c(e))})),i?o(y(r),L(r)):e})(l,u,s,r,h,d);o(v)||(v=void 0),v!=l&&(B(t,v),M(i,[t],v,l))}),(1,e(f=d)==r?e=>e(f):f??(()=>1))),P;var f},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,t)=>h(t,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(s)),i.get(s))})();exports.createMetrics=j;
Binary file
@@ -1 +0,0 @@
1
- "use strict";const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),n=a.keys,o=a.freeze,c=(t,a)=>e(t,(t=>t[a])),r=(e,a)=>!t(c(e,a)),i=(t,e)=>(delete t[e],t),d=(t,e)=>((t,e)=>t.map(e))(a.entries(t),(([t,a])=>e(a,t))),y=t=>n(t).length,u=n=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(n)&&0==y(n),v=t=>new Map(t),h=(t,e)=>t?.get(e),l=(e,a,s)=>{return t(s)?(n=e,o=a,n?.delete(o),e):e?.set(a,s);var n,o},w=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||l(t,e,a()),h(t,e)},g=v(),p=v(),A=(t,e)=>[t[e].t,t[e].v],f=(e,a,s,n)=>{const o=t(a)?e:((t,e,a)=>(r(t,e)||(t[e]={}),t[e]))(e,a);let c;return d(s,((t,e)=>{n(o,e,t)&&(c=1)})),d(o,((t,e)=>{r(s,e)||(i(o,e),c=1)})),!t(a)&&u(o)&&i(e,a),c};exports.createAutomergePersister=(a,s,n="tinybase",r)=>(s.change((t=>t[n]={})),((a,s,n,c,r,i,[d,y]=[],v=[])=>{let A,f,L,S=0,C=0;w(g,v,(()=>0)),w(p,v,(()=>[]));const m=async t=>(2!=S&&(S=1,await b.schedule((async()=>{await t(),S=0}))),b),b={load:async(t,e)=>await m((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(b.stopAutoLoad(),await b.load(t,e),C=1,L=c((async(t,e)=>{if(e){const t=e();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(t?.()??await s())}catch(t){i?.(t)}}))})),b),stopAutoLoad:()=>(C&&(r(L),L=void 0,C=0),b),save:async t=>(1!=S&&(S=2,await b.schedule((async()=>{try{await n(a.getContent,t)}catch(t){i?.(t)}S=0}))),b),startAutoSave:async()=>(await b.stopAutoSave().save(),A=a.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();u(a)&&u(s)||b.save((()=>[a,s]))})),b),stopAutoSave:()=>(e(A,a.delListener),A=void 0,b),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(h(p,v),...e),await(async()=>{if(!h(g,v)){for(l(g,v,1);!t((e=h(p,v),f=e.shift()));)try{await f()}catch(t){i?.(t)}l(g,v,0)}var e})(),b),getStore:()=>a,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(b[d]=()=>y),o(b)})(a,(async()=>{const t=await s.doc();return 2==y(t[n])?A(t,n):void 0}),(async(a,o)=>s.change((s=>((a,s,n,o)=>{((t,e)=>{u(t[e])&&(t[e]={t:{},v:{}})})(a,s);const[r,y]=A(a,s),v=()=>{h=1};let h=1;if(e(o?.(),(([a,s])=>{h=0,d(a,((a,s)=>h?0:t(a)?i(r,s):e(r[s],(s=>d(a,((a,n)=>h?0:t(a)?i(s,n):e(c(s,n),(e=>d(a,((a,s)=>t(a)?i(e,s):e[s]=a))),v)))),v))),d(s,((e,a)=>h?0:t(e)?i(y,a):y[a]=e))})),h){const[t,e]=n();f(r,void 0,t,((t,e,a)=>f(r,e,a,((t,e,a)=>f(t,e,a,((t,e,a)=>{if(c(t,e)!==a)return t[e]=a,1})))))),f(y,void 0,e,((t,e,a)=>{c(y,e)!==a&&(y[e]=a)}))}})(s,n,a,o)))),(t=>{const e=({doc:e})=>t((()=>A(e,n)));return s.on("change",e),e}),(t=>{s.removeListener("change",t)}),r,["getDocHandle",s]));
@@ -1 +0,0 @@
1
- "use strict";const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),n=a.keys,o=a.freeze,r=o=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(o)&&0==(t=>n(t).length)(o),c=JSON.parse,i=t=>new Map(t),y=(t,e)=>t?.get(e),d=(e,a,s)=>{return t(s)?(n=e,o=a,n?.delete(o),e):e?.set(a,s);var n,o},u=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||d(t,e,a()),y(t,e)},l=i(),w=i(),g="storage",v=globalThis.window,p=(s,n,i,p)=>((a,s,n,c,i,g,[v,p]=[],h=[])=>{let S,f,A,L=0,m=0;u(l,h,(()=>0)),u(w,h,(()=>[]));const C=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(t,e)=>await C((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(O.stopAutoLoad(),await O.load(t,e),m=1,A=c((async(t,e)=>{if(e){const t=e();await C((async()=>a.setTransactionChanges(t)))}else await C((async()=>{try{a.setContent(t?.()??await s())}catch(t){g?.(t)}}))})),O),stopAutoLoad:()=>(m&&(i(A),A=void 0,m=0),O),save:async t=>(1!=L&&(L=2,await O.schedule((async()=>{try{await n(a.getContent,t)}catch(t){g?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),S=a.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();r(a)&&r(s)||O.save((()=>[a,s]))})),O),stopAutoSave:()=>(e(S,a.delListener),S=void 0,O),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(y(w,h),...e),await(async()=>{if(!y(l,h)){for(d(l,h,1);!t((e=y(w,h),f=e.shift()));)try{await f()}catch(t){g?.(t)}d(l,h,0)}var e})(),O),getStore:()=>a,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(O[v]=()=>p),o(O)})(s,(async()=>c(i.getItem(n))),(async t=>{return i.setItem(n,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?a.fromEntries([...e]):e))));var e}),(t=>{const e=e=>{e.storageArea===i&&e.key===n&&t((()=>c(e.newValue)))};return v.addEventListener(g,e),e}),(t=>v.removeEventListener(g,t)),p,["getStorageName",n]);exports.createLocalPersister=(t,e,a)=>p(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>p(t,e,sessionStorage,a);
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),C=f.keys,L=f.freeze,R=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),I=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),g=a=>f.values(a),D=a=>u(C(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),P=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||M(a,t,e()),_(a,t)),x=(a,t,e,s=M)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(Array.isArray(a)||r(a)?a:[a]),Y=(a,t)=>a?.add(t),k="TABLE",G="ALTER "+k,q="DELETE FROM",z=U+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=P();return[async()=>x(c,R(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,R(v(await a(U+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,P),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(_(_(c,a),t)))(t,e)?R(m(v(await a(z+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=W();I(o??{},(a=>v(C(a??{}),(a=>Y(u,a)))));const f=N(u);if(!y&&w&&p(f)&&O(c,t))return await a("DROP "+k+J(t)),void M(c,t);if(p(f)||O(c,t)){const s=_(c,t),i=W($(s));await d([...v(f,(async n=>{T(i,n)||(await a(G+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(N(i),(async e=>{e!=n&&(await a(G+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+k+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,P([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(q+J(t)+V+" 1"):await d(I(o,(async(e,s)=>{r(e)?await a(q+J(t)+V+J(n)+"=?",[s]):p(f)||await X(a,t,n,C(e),[s,...g(e)],i)})));else if(p(f))O(c,t)&&await a(q+J(t)+V+" 1");else{const e=m($(_(c,t)),(a=>a!=n)),s=[],r=[];I(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(q+J(t)+V+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=P(),ea=P(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(_(ea,w),...a),await(async()=>{if(!_(ta,w)){for(M(ta,w,1);!r((a=_(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),L(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,O,N]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),f=async(a,t)=>l?await O(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await N((async()=>{await p();const a=await(async()=>R(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await p(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=P();return I(a,((a,i)=>{const c=y(g(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",pa="data_version",ma="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,p;const[m,A,O,T]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],W(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(g(S(da,c)),0,D(da)),r=o[2],l=W(r);return[0,s,[Ea(n,{[wa]:null,[la]:H},wa,(a=>Y(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>Y(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${pa} d,${ma} s,TOTAL_CHANGES() c FROM ${va}${pa} JOIN ${va}${ma}`);t==(E??=t)&&e==(v??=e)&&n==(p??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=p=null,i(t)}),r,O,N(T),l,u,d)};exports.createCrSqliteWasmPersister=(a,t,e,s,n)=>Aa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),h=Object,N=a=>h.getPrototypeOf(a),C=h.keys,L=h.freeze,R=(a=[])=>h.fromEntries(a),S=(...a)=>h.assign({},...a),g=(a,t)=>v(h.entries(a),(([a,e])=>t(e,a))),b=a=>h.values(a),D=a=>u(C(a)),I=a=>(a=>!o(a)&&l(N(a),(a=>a==h.prototype||o(N(a))),(()=>!0)))(a)&&0==D(a),P=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>o(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(A(a,t)||M(a,t,e()),_(a,t)),B=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!o(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",q=a=>new Set(Array.isArray(a)||o(a)?a:[a]),x=(a,t)=>a?.add(t),G="TABLE",U="ALTER "+G,W="DELETE FROM",z=k+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=P();return[async()=>B(c,R(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,R(v(await a(k+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,B(j(c,t,P),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!o(_(_(c,a),t)))(t,e)?R(p(v(await a(z+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!I(t)))):{},async(t,n,r,l,w,y=!1)=>{const u=q();g(r??{},(a=>v(C(a??{}),(a=>x(u,a)))));const h=O(u);if(!y&&w&&m(h)&&A(c,t))return await a("DROP "+G+Y(t)),void M(c,t);if(m(h)||A(c,t)){const s=_(c,t),i=q($(s));await d([...v(h,(async n=>{T(i,n)||(await a(U+Y(t)+"ADD"+Y(n)),M(s,n,e))})),...!y&&l?v(O(i),(async e=>{e!=n&&(await a(U+Y(t)+"DROP"+Y(e)),M(s,e))})):[]])}else await a("CREATE "+G+Y(t)+"("+Y(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(h,(a=>s+Y(a))))});`),M(c,t,P([[n,e],...v(h,(a=>[a,e]))]));if(y)o(r)?await a(W+Y(t)+V+" 1"):await d(g(r,(async(e,s)=>{o(e)?await a(W+Y(t)+V+Y(n)+"=?",[s]):m(h)||await X(a,t,n,C(e),[s,...b(e)],i)})));else if(m(h))A(c,t)&&await a(W+Y(t)+V+" 1");else{const e=p($(_(c,t)),(a=>a!=n)),s=[],o=[];g(r??{},((a,t)=>{f(s,t,...v(e,(t=>a?.[t]))),f(o,t)})),await X(a,t,n,e,s,i),await a(W+Y(t)+V+Y(n)+"NOT IN("+Z(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,r,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(n)+E(v(c,(a=>s+Y(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(r)/(u(c)+1)),1)+(o?"ON CONFLICT("+Y(n)+")DO UPDATE SET"+E(v(c,(a=>Y(a)+"=excluded."+Y(a))),s):e),v(r,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=P(),ea=P(),sa=(a,t,e,s,n,i,[c,r]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(f(_(ea,w),...a),await(async()=>{if(!_(ta,w)){for(M(ta,w,1);!o((a=_(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>r),L(p)},na="store",ia=(a,t,e,s,n,[i],c,r,o,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,J))[H]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,J,{[H]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[o,r],r)},ca=(a,t,e,s,n,[i,c,[r,l,w]],y,u,E,v)=>{const[m,f,A,O]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const r=a[c];t&&void 0===r||await A(e,s,r,n,i,t)}))),h=async(a,t)=>l?await A(w,J,{[H]:a},!0,!0,t):null;return sa(a,(async()=>await O((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await f(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>r?(await f(w,J))[H]:{})();return I(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),o(t)){const[t,e]=a();await T(t),await h(e)}else{const[a,e]=t();await T(a,!0),await h(e,!0)}}))),e,s,n,[E,u],u)},ra="json",oa="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:ra,[oa]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=P();return g(a,((a,i)=>{const c=y(b(S(t,w(a)?{[e]:a}:a)),0,D(t));o(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",ma="data_version",pa="schema_version",fa=(a,e,s,n,i,c,o,l,u="getDb",d)=>{let E,v,m;const[p,f,A,T]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[oa];if(e.mode==ra){const{storeTableName:a=t}=e;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,r=y(b(S(da,c)),0,D(da)),o=r[2],l=q(o);return[0,s,[Ea(n,{[wa]:null,[la]:J},wa,(a=>x(l,a)&&a==o)),Ea(i,{[ya]:null,[la]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>x(l,t)&&t==o)),r],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ma} d,${pa} s,TOTAL_CHANGES() c FROM ${va}${ma} JOIN ${va}${pa}`);t==(E??=t)&&e==(v??=e)&&n==(m??=n)||(a(),E=t,v=e)}catch{}},e=f,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=v=m=null,i(t)}),o,A,O(T),l,u,d)};exports.createElectricSqlPersister=(a,t,e,s,n)=>fa(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t,"getElectricClient");
@@ -1 +0,0 @@
1
- "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),m=a=>0==d(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),h=Object,L=a=>h.getPrototypeOf(a),C=h.keys,R=h.freeze,S=(a=[])=>h.fromEntries(a),g=(...a)=>h.assign({},...a),D=(a,t)=>p(h.entries(a),(([a,e])=>t(e,a))),I=a=>h.values(a),b=a=>d(C(a)),P=a=>(a=>!l(a)&&y(L(a),(a=>a==h.prototype||l(L(a))),(()=>!0)))(a)&&0==b(a),$=a=>new Map(a),_=a=>[...a?.keys()??[]],F=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>l(e)?(f(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||x(a,t,e()),F(a,t)),q=(a,t,e,s=x)=>(D(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!l(((a,t)=>y(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||l(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",Q="WHERE",X=(a,t,e,i)=>{const c=$();return[async()=>q(c,S(await E(p(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,S(p(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(c,t,q(j(c,t,$),e,((a,t,e)=>{e!=F(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(c,t))),async(t,e)=>((a,t)=>!l(F(F(c,a),t)))(t,e)?S(A(p(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,o,r,y,w=!1)=>{const u=k();D(o??{},(a=>p(C(a??{}),(a=>G(u,a)))));const d=T(u);if(!w&&y&&m(d)&&O(c,t))return await a("DROP "+U+J(t)),void x(c,t);if(m(d)||O(c,t)){const n=F(c,t),i=k(_(n));await E([...p(d,(async e=>{f(i,e)||(await a(W+J(t)+"ADD"+J(e)),x(n,e,s))})),...!w&&r?p(T(i),(async s=>{s!=e&&(await a(W+J(t)+"DROP"+J(s)),x(n,s))})):[]])}else await a("CREATE "+U+J(t)+"("+J(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+J(a))))});`),x(c,t,$([[e,s],...p(d,(a=>[a,s]))]));if(w)l(o)?await a(z+J(t)+Q+" 1"):await E(D(o,(async(s,n)=>{l(s)?await a(z+J(t)+Q+J(e)+"=?",[n]):m(d)||await Z(a,t,e,C(s),[n,...I(s)],i)})));else if(m(d))O(c,t)&&await a(z+J(t)+Q+" 1");else{const s=A(_(F(c,t)),(a=>a!=e)),n=[],r=[];D(o??{},((a,t)=>{N(n,t,...p(s,(t=>a?.[t]))),N(r,t)})),await Z(a,t,e,s,n,i),await a(z+J(t)+Q+J(e)+"NOT IN("+aa(r)+")",r)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},Z=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+J(t)+"("+J(e)+v(p(i,(a=>n+J(a))))+")VALUES"+u(c(`,(?${c(",?",d(i))})`,d(o)/(d(i)+1)),1)+(r?"ON CONFLICT("+J(e)+")DO UPDATE SET"+v(p(i,(a=>J(a)+"=excluded."+J(a))),n):s),p(o,(a=>a??null))),aa=a=>v(p(a,(()=>"?")),n),ta=JSON.parse,ea=$(),sa=$(),na=(a,t,e,s,n,i,[c,o]=[],r=[])=>{let w,u,d,E=0,v=0;j(ea,r,(()=>0)),j(sa,r,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(y(w,a.delListener),w=void 0,m),schedule:async(...a)=>(N(F(sa,r),...a),await(async()=>{if(!F(ea,r)){for(x(ea,r,1);!l((a=F(sa,r),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(ea,r,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},ia="store",ca=(a,t,e,s,n,[i],c,o,r,l)=>{const[y,w,u,d]=X(t,c,n,l);return na(a,(async()=>await d((async()=>(await y(),ta((await w(i,H))[B]?.[ia]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,H,{[B]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},oa=(a,t,e,s,n,[i,c,[o,r,y]],w,u,d,v)=>{const[p,m,N,O]=X(t,w,n,v),T=async(a,t)=>await E(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await N(e,s,o,n,i,t)}))),f=async(a,t)=>r?await N(y,H,{[B]:a},!0,!0,t):null;return na(a,(async()=>await O((async()=>{await p();const a=await(async()=>S(A(await E(M(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await m(y,H))[B]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),l(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[d,u],u)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",ua="tableName",da={mode:ra,[la]:1},Ea={load:0,save:0,[ua]:e+"_values"},va=(a,t,e,s)=>{const n=$();return D(a,((a,i)=>{const c=u(I(g(t,w(a)?{[e]:a}:a)),0,b(t));l(c[0])||s(i,c[0])||x(n,i,c)})),n},pa="pragma_",ma="data_version",Aa="schema_version",Na=(a,t,s,n,i,c,o,l,y="getDb",d)=>{let E,v,p;const[m,A,N,O]=(a=>{const t=(a=>g(da,w(a)?{storeTableName:a}:a??{}))(a),s=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=u(I(g(Ea,c)),0,b(Ea)),r=o[2],l=k(r);return[0,s,[va(n,{[wa]:null,[ya]:H},wa,(a=>G(l,a)&&a==r)),va(i,{[ua]:null,[ya]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ua,((a,t)=>G(l,t)&&t==r)),o],l]})(t);return(m?ca:oa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ma} d,${Aa} s,TOTAL_CHANGES() c FROM ${pa}${ma} JOIN ${pa}${Aa}`);t==(E??=t)&&e==(v??=e)&&n==(p??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=v=p=null,i(t)}),o,N,T(O),l,y,d)};exports.createExpoSqliteNextPersister=(t,e,s,n,i)=>Na(t,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),n,i,e);
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),C=f.keys,L=f.freeze,R=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),g=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),D=a=>f.values(a),I=a=>u(C(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==f.prototype||r(h(a))),(()=>!0)))(a)&&0==I(a),P=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),x=(a,t,e)=>(N(a,t)||M(a,t,e()),_(a,t)),j=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),G="TABLE",U="ALTER "+G,W="DELETE FROM",z=Y+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=P();return[async()=>j(c,R(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,R(v(await a(Y+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,j(x(c,t,P),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(_(_(c,a),t)))(t,e)?R(p(v(await a(z+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=k();g(o??{},(a=>v(C(a??{}),(a=>q(u,a)))));const f=O(u);if(!y&&w&&m(f)&&N(c,t))return await a("DROP "+G+J(t)),void M(c,t);if(m(f)||N(c,t)){const s=_(c,t),i=k($(s));await d([...v(f,(async n=>{T(i,n)||(await a(U+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(O(i),(async e=>{e!=n&&(await a(U+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+G+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,P([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(W+J(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(W+J(t)+V+J(n)+"=?",[s]):m(f)||await X(a,t,n,C(e),[s,...D(e)],i)})));else if(m(f))N(c,t)&&await a(W+J(t)+V+" 1");else{const e=p($(_(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(W+J(t)+V+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=P(),ea=P(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;x(ta,w,(()=>0)),x(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(A(_(ea,w),...a),await(async()=>{if(!_(ta,w)){for(M(ta,w,1);!r((a=_(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[m,A,N,O]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await N(e,s,o,n,i,t)}))),f=async(a,t)=>l?await N(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await O((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=P();return g(a,((a,i)=>{const c=y(D(S(t,w(a)?{[e]:a}:a)),0,I(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",ma="data_version",pa="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,m;const[p,A,N,T]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(D(S(da,c)),0,I(da)),r=o[2],l=k(r);return[0,s,[Ea(n,{[wa]:null,[la]:H},wa,(a=>q(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>q(l,t)&&t==r)),o],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ma} d,${pa} s,TOTAL_CHANGES() c FROM ${va}${ma} JOIN ${va}${pa}`);t==(E??=t)&&e==(v??=e)&&n==(m??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=m=null,i(t)}),r,N,O(T),l,u,d)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>Aa(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()),s,n,t);
@@ -1 +0,0 @@
1
- "use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=t=>null==t,n=(t,a,e)=>s(t)?e?.():a(t),r=Object,o=t=>r.getPrototypeOf(t),i=r.keys,c=r.freeze,y=t=>(t=>!s(t)&&n(o(t),(t=>t==r.prototype||s(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),u=JSON.parse,d=t=>new Map(t),w=(t,a)=>t?.get(a),l=(t,a,e)=>{return s(e)?(n=t,r=a,n?.delete(r),t):t?.set(a,e);var n,r},h=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||l(t,a,e()),w(t,a)},p=d(),v=d();exports.createFilePersister=(o,i,d)=>((t,a,e,r,o,i,[u,d]=[],f=[])=>{let g,A,S,L=0,C=0;h(p,f,(()=>0)),h(v,f,(()=>[]));const F=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(e,s)=>await F((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(O.stopAutoLoad(),await O.load(e,s),C=1,S=r((async(e,s)=>{if(s){const a=s();await F((async()=>t.setTransactionChanges(a)))}else await F((async()=>{try{t.setContent(e?.()??await a())}catch(t){i?.(t)}}))})),O),stopAutoLoad:()=>(C&&(o(S),S=void 0,C=0),O),save:async a=>(1!=L&&(L=2,await O.schedule((async()=>{try{await e(t.getContent,a)}catch(t){i?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();y(e)&&y(s)||O.save((()=>[e,s]))})),O),stopAutoSave:()=>(n(g,t.delListener),g=void 0,O),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(w(v,f),...t),await(async()=>{if(!w(p,f)){for(l(p,f,1);!s((t=w(v,f),A=t.shift()));)try{await A()}catch(t){i?.(t)}l(p,f,0)}var t})(),O),getStore:()=>t,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(O[u]=()=>d),c(O)})(o,(async()=>u(await a.readFile(i,e))),(async t=>{return await a.writeFile(i,(s=t(),JSON.stringify(s,((t,a)=>a instanceof Map?r.fromEntries([...a]):a))),e);var s}),(a=>t.watch(i,(()=>a()))),(t=>t?.close()),d,["getFilePath",i]);
@@ -1 +0,0 @@
1
- "use strict";const t=Promise,e=clearInterval,a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=e=>new t(e),o=async e=>t.all(e),r=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),i=Object,y=t=>i.getPrototypeOf(t),d=i.keys,l=i.freeze,u=t=>(t=>!a(t)&&s(y(t),(t=>t==i.prototype||a(y(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),w=t=>new Map(t),h=(t,e)=>t?.get(e),p=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},v=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||p(t,e,a()),h(t,e)},g=w(),A=w(),S=globalThis.window,b=["t","v"],f={keyPath:"k"},x=async(t,e)=>{const n=((e,a)=>r(i.entries(e),(([e,a])=>D(t,"put",{k:e,v:a}))))(e);r(await D(t,"getAllKeys"),(o=>((t,e)=>!a(((t,e)=>s(t,(t=>t[e])))(t,e)))(e,o)?0:c(n,D(t,"delete",o)))),await o(n)},D=async(t,e,a)=>n(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));exports.createIndexedDbPersister=(t,y,d=1,w)=>{const L=async(t,e=[],a=0)=>n(((s,n)=>{const c=(S?S.indexedDB:indexedDB).open(y,a?2:void 0);c.onupgradeneeded=()=>a&&r(b,(t=>{try{c.result.createObjectStore(t,f)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(b,"readwrite"),n=await o(r(b,(async(s,n)=>await t(a.objectStore(s),e[n]))));c.result.close(),s(n)}catch(t){c.result.close(),n(t)}},c.onerror=()=>n("indexedDB.open error")}));return((t,e,n,o,r,i,[y,d]=[],w=[])=>{let S,b,f,x=0,D=0;v(g,w,(()=>0)),v(A,w,(()=>[]));const L=async t=>(2!=x&&(x=1,await j.schedule((async()=>{await t(),x=0}))),j),j={load:async(a,s)=>await L((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),D=1,f=o((async(a,s)=>{if(s){const e=s();await L((async()=>t.setTransactionChanges(e)))}else await L((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),j),stopAutoLoad:()=>(D&&(r(f),f=void 0,D=0),j),save:async e=>(1!=x&&(x=2,await j.schedule((async()=>{try{await n(t.getContent,e)}catch(t){i?.(t)}x=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),S=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();u(a)&&u(s)||j.save((()=>[a,s]))})),j),stopAutoSave:()=>(s(S,t.delListener),S=void 0,j),schedule:async(...t)=>(c(h(A,w),...t),await(async()=>{if(!h(g,w)){for(p(g,w,1);!a((t=h(A,w),b=t.shift()));)try{await b()}catch(t){i?.(t)}p(g,w,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(j[y]=()=>d),l(j)})(t,(async()=>await L((async t=>((t=[])=>i.fromEntries(t))(r(await D(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await L((async(t,e)=>await x(t,e)),t(),1)),(t=>setInterval(t,1e3*d)),(t=>e(t)),w,["getDbName",y])},exports.objectStoreMatch=x;
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,L=a=>f.getPrototypeOf(a),h=f.keys,C=f.freeze,R=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),g=(a,t)=>v(f.entries(a),(([a,e])=>t(e,a))),I=a=>f.values(a),D=a=>u(h(a)),b=a=>(a=>!r(a)&&l(L(a),(a=>a==f.prototype||r(L(a))),(()=>!0)))(a)&&0==D(a),P=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(T(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||M(a,t,e()),_(a,t)),x=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),G="TABLE",U="ALTER "+G,W="DELETE FROM",z=Y+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=P();return[async()=>x(c,R(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,R(v(await a(Y+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,P),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(_(_(c,a),t)))(t,e)?R(m(v(await a(z+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=k();g(o??{},(a=>v(h(a??{}),(a=>q(u,a)))));const f=N(u);if(!y&&w&&p(f)&&O(c,t))return await a("DROP "+G+J(t)),void M(c,t);if(p(f)||O(c,t)){const s=_(c,t),i=k($(s));await d([...v(f,(async n=>{T(i,n)||(await a(U+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(N(i),(async e=>{e!=n&&(await a(U+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+G+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(f,(a=>s+J(a))))});`),M(c,t,P([[n,e],...v(f,(a=>[a,e]))]));if(y)r(o)?await a(W+J(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(W+J(t)+V+J(n)+"=?",[s]):p(f)||await X(a,t,n,h(e),[s,...I(e)],i)})));else if(p(f))O(c,t)&&await a(W+J(t)+V+" 1");else{const e=m($(_(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(W+J(t)+V+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=P(),ea=P(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(_(ea,w),...a),await(async()=>{if(!_(ta,w)){for(M(ta,w,1);!r((a=_(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),C(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,O,N]=Q(t,y,n,v),T=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),f=async(a,t)=>l?await O(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await N((async()=>{await p();const a=await(async()=>R(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await p(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=P();return g(a,((a,i)=>{const c=y(I(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",pa="data_version",ma="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,p;const[m,A,O,T]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(I(S(da,c)),0,D(da)),r=o[2],l=k(r);return[0,s,[Ea(n,{[wa]:null,[la]:H},wa,(a=>q(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>q(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${pa} d,${ma} s,TOTAL_CHANGES() c FROM ${va}${pa} JOIN ${va}${ma}`);t==(E??=t)&&e==(v??=e)&&n==(p??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=p=null,i(t)}),r,O,N(T),l,u,d)};exports.createLibSqlPersister=(a,t,e,s,n)=>Aa(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,n,t,"getClient");
@@ -1 +0,0 @@
1
- "use strict";const t=t=>typeof t,a="",e=t(a),s=t=>null==t,o=(t,a,e)=>s(t)?e?.():a(t),n=a=>t(a)==e,r=t=>t.length,c=Object,i=t=>c.getPrototypeOf(t),y=c.keys,d=c.freeze,h=t=>(t=>!s(t)&&o(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),u=t=>JSON.stringify(t,((t,a)=>a instanceof Map?c.fromEntries([...a]):a)),v=JSON.parse,p="/store",w=t=>new Map(t),l=(t,a)=>t?.get(a),f=(t,a,e)=>{return s(e)?(o=t,n=a,o?.delete(n),t):t?.set(a,e);var o,n},g=(t,a,e)=>{var s,o;return s=t,o=a,s?.has(o)||f(t,a,e()),l(t,a)},S=w(),m=w(),A="message";exports.createPartyKitPersister=(t,e,c,i)=>{const{host:y,room:w}=e.partySocketOptions,{storeProtocol:L="https",storePath:P=p,messagePrefix:C=a}={...n(c)?{storeProtocol:c}:c},O=L+"://"+y+"/parties/"+e.name+"/"+w+P,E=async t=>await(await fetch(O,{...t?{method:"PUT",body:u(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,a,e,n,r,c,[i,y]=[],u=[])=>{let v,p,w,A=0,L=0;g(S,u,(()=>0)),g(m,u,(()=>[]));const P=async t=>(2!=A&&(A=1,await C.schedule((async()=>{await t(),A=0}))),C),C={load:async(e,s)=>await P((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),L=1,w=n((async(e,s)=>{if(s){const a=s();await P((async()=>t.setTransactionChanges(a)))}else await P((async()=>{try{t.setContent(e?.()??await a())}catch(t){c?.(t)}}))})),C),stopAutoLoad:()=>(L&&(r(w),w=void 0,L=0),C),save:async a=>(1!=A&&(A=2,await C.schedule((async()=>{try{await e(t.getContent,a)}catch(t){c?.(t)}A=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();h(e)&&h(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>(o(v,t.delListener),v=void 0,C),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(l(m,u),...t),await(async()=>{if(!l(S,u)){for(f(S,u,1);!s((t=l(m,u),p=t.shift()));)try{await p()}catch(t){c?.(t)}f(S,u,0)}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(C[i]=()=>y),d(C)})(t,(async()=>await E()),(async(t,a)=>{var s,o;a?e.send((s=C,o=a(),s+"s"+(n(o)?o:u(o)))):await E(t())}),(t=>{const a=a=>o(((t,a,e)=>{const s=r(t);return((t,a)=>t.startsWith(a))(a,t)?[a[s],v((o=a,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(C,a.data),(([a,e])=>{"s"==a&&t(void 0,(()=>e))}));return e.addEventListener(A,a),a}),(t=>{e.removeEventListener(A,t)}),i,["getConnection",e])};
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t=a(""),e="t",s=(a,t)=>a.startsWith(t),n=Promise,r=a=>null==a,i=(a,t,e)=>r(a)?e?.():t(a),c=(a,t,e)=>a.slice(t,e),o=a=>a.length,l=async a=>n.all(a),w=(a,t)=>a.map(t),g=(a,...t)=>a.push(...t),h=Object,y=(a=[])=>h.fromEntries(a),f=(a,t)=>w(h.entries(a),(([a,e])=>t(e,a))),u=(a,t,e)=>(((a,t)=>!r(((a,t)=>i(a,(a=>a[t])))(a,t)))(a,t)||(a[t]=e()),a[t]),p=a=>JSON.stringify(a,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)),S=JSON.parse,d=(e,s,n)=>e+s+(a(n)==t?n:p(n)),x=(a,t,e)=>{const n=o(a);return s(t,a)?[t[n],(e?S:String)(c(t,n+1))]:void 0},P=(a,t)=>((a,t)=>a?.forEach(t))(a,((a,e)=>t(e,a))),m="hasStore",D=y(w(["Origin","Methods","Headers"],(a=>["Access-Control-Allow-"+a,"*"]))),b=async(a,t="")=>!!await a.get(t+m),R=async(a,t="")=>{const s={},n={};return P(await a.list(),((a,r)=>i(x(t,a),(([a,t])=>{if(a==e){const[a,e,n]=S("["+t+"]");u(u(s,a,y),e,y)[n]=r}else"v"==a&&(n[t]=r)})))),[s,n]},T=async(a,t,e)=>a.party.broadcast(d(a.config.messagePrefix,"s",t),e),C=async(a,t,n,i)=>{const c=a.party.storage,w=a.config.storagePrefix,h={[w+m]:1},y=[],u=[];await l(f(t[0],(async(t,s)=>r(t)?!n&&await a.canDelTable(s,i)&&((a,...t)=>a.unshift(...t))(u,v(w,e,s)):await a.canSetTable(s,n,i)&&await l(f(t,(async(t,o)=>r(t)?!n&&await a.canDelRow(s,o,i)&&g(u,v(w,e,s,o)):await a.canSetRow(s,o,n,i)&&await l(f(t,(async(t,l)=>{const f=[s,o,l],u=v(w,e,...f);r(t)?!n&&await a.canDelCell(...f,i)&&g(y,u):await a.canSetCell(...f,t,n,i,await c.get(u))&&(h[u]=t)}))))))))),await l(f(t[1],(async(t,e)=>{const s=w+"v"+e;r(t)?!n&&await a.canDelValue(e,i)&&g(y,s):await a.canSetValue(e,t,n,i,await c.get(s))&&(h[s]=t)}))),0!=o(u)&&P(await c.list(),(a=>u.every((t=>!s(a,t)||g(y,a)&&0)))),await c.delete(y),await c.put(h)},v=(a,t,...e)=>d(a,t,c(p(e),1,-1)),O=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});exports.TinyBasePartyKitServer=class{constructor(a){this.party=a,this.config={},this.config.storePath??="/store",this.config.messagePrefix??="",this.config.storagePrefix??="",this.config.responseHeaders??=D}async onRequest(a){const{party:{storage:t},config:{storePath:e,storagePrefix:s}}=this;if(new URL(a.url).pathname.endsWith(e)){const e=await b(t,s),n=await a.text();return"PUT"==a.method?e?O(this,205):(await C(this,S(n),!0,a),O(this,201)):O(this,200,e?p(await R(t,s)):"")}return O(this,404)}async onMessage(a,t){const{config:{messagePrefix:e,storagePrefix:s}}=this;await i(x(e,a,1),(async([a,e])=>{"s"==a&&await b(this.party.storage,s)&&(await C(this,e,!1,t),T(this,e,[t.id]))}))}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,r,i){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}},exports.broadcastTransactionChanges=T,exports.hasStoreInStorage=b,exports.loadStoreFromStorage=R;
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),m=a=>0==u(a),p=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),N=Object,O=a=>N.getPrototypeOf(a),C=N.keys,L=N.freeze,R=(a=[])=>N.fromEntries(a),S=(...a)=>N.assign({},...a),g=(a,t)=>v(N.entries(a),(([a,e])=>t(e,a))),b=a=>N.values(a),I=a=>u(C(a)),D=a=>(a=>!r(a)&&l(O(a),(a=>a==N.prototype||r(O(a))),(()=>!0)))(a)&&0==I(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(T(a,t)||M(a,t,e()),$(a,t)),x=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_",H="_id",J=a=>`"${a.replace(/"/g,'""')}"`,Y="SELECT",k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,z="DELETE FROM",K=Y+"*FROM",V="FROM pragma_table_",q="WHERE",Q=(a,t,n,i)=>{const c=P();return[async()=>x(c,R(await d(v(await a("SELECT name "+V+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,R(v(await a(Y+" name,type "+V+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,x(j(c,t,P),e,((a,t,e)=>{e!=$(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?R(p(v(await a(K+J(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!D(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=k();g(o??{},(a=>v(C(a??{}),(a=>G(u,a)))));const N=f(u);if(!y&&w&&m(N)&&T(c,t))return await a("DROP "+U+J(t)),void M(c,t);if(m(N)||T(c,t)){const s=$(c,t),i=k(_(s));await d([...v(N,(async n=>{h(i,n)||(await a(W+J(t)+"ADD"+J(n)),M(s,n,e))})),...!y&&l?v(f(i),(async e=>{e!=n&&(await a(W+J(t)+"DROP"+J(e)),M(s,e))})):[]])}else await a("CREATE "+U+J(t)+"("+J(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(N,(a=>s+J(a))))});`),M(c,t,P([[n,e],...v(N,(a=>[a,e]))]));if(y)r(o)?await a(z+J(t)+q+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(z+J(t)+q+J(n)+"=?",[s]):m(N)||await X(a,t,n,C(e),[s,...b(e)],i)})));else if(m(N))T(c,t)&&await a(z+J(t)+q+" 1");else{const e=p(_($(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(z+J(t)+q+J(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+J(t)+"("+J(n)+E(v(c,(a=>s+J(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+J(n)+")DO UPDATE SET"+E(v(c,(a=>J(a)+"=excluded."+J(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=P(),ea=P(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const m=async a=>(2!=E&&(E=1,await p.schedule((async()=>{await a(),E=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),p),save:async t=>(1!=E&&(E=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(A($(ea,w),...a),await(async()=>{if(!$(ta,w)){for(M(ta,w,1);!r((a=$(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),L(p)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,H))[B]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,H,{[B]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[m,A,T,f]=Q(t,y,n,v),h=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),N=async(a,t)=>l?await T(w,H,{[B]:a},!0,!0,t):null;return sa(a,(async()=>await f((async()=>{await m();const a=await(async()=>R(p(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>o?(await A(w,H))[B]:{})();return D(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),r(t)){const[t,e]=a();await h(t),await N(e)}else{const[a,e]=t();await h(a,!0),await N(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=P();return g(a,((a,i)=>{const c=y(b(S(t,w(a)?{[e]:a}:a)),0,I(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",ma="data_version",pa="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,m;const[p,A,T,h]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(b(S(da,c)),0,I(da)),r=o[2],l=k(r);return[0,s,[Ea(n,{[wa]:null,[la]:H},wa,(a=>G(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:H,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(p?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ma} d,${pa} s,TOTAL_CHANGES() c FROM ${va}${ma} JOIN ${va}${pa}`);t==(E??=t)&&e==(v??=e)&&n==(m??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=m=null,i(t)}),r,T,f(h),l,u,d)};exports.createPowerSyncPersister=(a,t,e,s,n,i=!1)=>Aa(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,s=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of s)v(t.changedTables,a)})(),e}),(a=>a.abort()),s,n,t,"getPowerSync",i);
@@ -1 +0,0 @@
1
- "use strict";const t=clearInterval,a=t=>null==t,e=(t,e,s)=>a(t)?s?.():e(t),s=Object,n=t=>s.getPrototypeOf(t),o=s.keys,r=s.freeze,c=t=>(t=>!a(t)&&e(n(t),(t=>t==s.prototype||a(n(t))),(()=>!0)))(t)&&0==(t=>o(t).length)(t),i=JSON.parse,y=t=>new Map(t),d=(t,a)=>t?.get(a),h=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},u=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||h(t,a,e()),d(t,a)},l=y(),w=y(),p=t=>t.headers.get("ETag");exports.createRemotePersister=(n,o,y,v=5,f)=>{let g;return((t,s,n,o,i,y,[p,v]=[],f=[])=>{let g,A,S,C=0,L=0;u(l,f,(()=>0)),u(w,f,(()=>[]));const O=async t=>(2!=C&&(C=1,await T.schedule((async()=>{await t(),C=0}))),T),T={load:async(a,e)=>await O((async()=>{try{t.setContent(await s())}catch{t.setContent([a,e])}})),startAutoLoad:async(a={},e={})=>(T.stopAutoLoad(),await T.load(a,e),L=1,S=o((async(a,e)=>{if(e){const a=e();await O((async()=>t.setTransactionChanges(a)))}else await O((async()=>{try{t.setContent(a?.()??await s())}catch(t){y?.(t)}}))})),T),stopAutoLoad:()=>(L&&(i(S),S=void 0,L=0),T),save:async a=>(1!=C&&(C=2,await T.schedule((async()=>{try{await n(t.getContent,a)}catch(t){y?.(t)}C=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();c(e)&&c(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(e(g,t.delListener),g=void 0,T),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(d(w,f),...t),await(async()=>{if(!d(l,f)){for(h(l,f,1);!a((t=d(w,f),A=t.shift()));)try{await A()}catch(t){y?.(t)}h(l,f,0)}var t})(),T),getStore:()=>t,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return p&&(T[p]=()=>v),r(T)})(n,(async()=>{const t=await fetch(o);return g=p(t),i(await t.text())}),(async t=>{return await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>a instanceof Map?s.fromEntries([...a]):a)))});var a}),(t=>setInterval((async()=>{const e=await fetch(o,{method:"HEAD"}),s=p(e);a(g)||a(s)||s==g||(g=s,t())}),1e3*v)),(a=>t(a)),f,["getUrls",[o,y]])};
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.keys,L=T.freeze,C=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>p(T.entries(a),(([a,e])=>t(e,a))),b=a=>T.values(a),g=a=>u(R(a)),D=a=>(a=>!r(a)&&l(f(a),(a=>a==T.prototype||r(f(a))),(()=>!0)))(a)&&0==g(a),_=a=>new Map(a),P=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),M=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),F=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||F(a,t,e()),$(a,t)),k=(a,t,e,s=F)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q="_",x="_id",B=a=>`"${a.replace(/"/g,'""')}"`,H="SELECT",J=a=>new Set(Array.isArray(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),Y="TABLE",G="ALTER "+Y,U="DELETE FROM",V=H+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,n,i)=>{const c=_();return[async()=>k(c,C(await d(p(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,C(p(await a(H+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>F(c,t,k(j(c,t,_),e,((a,t,e)=>{e!=$(a,t)&&F(a,t,e)}),((a,t)=>F(a,t))))),((a,t)=>F(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?C(m(p(await a(V+B(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!D(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=J();I(o??{},(a=>p(R(a??{}),(a=>W(u,a)))));const T=h(u);if(!y&&w&&v(T)&&O(c,t))return await a("DROP "+Y+B(t)),void F(c,t);if(v(T)||O(c,t)){const s=$(c,t),i=J(P(s));await d([...p(T,(async n=>{N(i,n)||(await a(G+B(t)+"ADD"+B(n)),F(s,n,e))})),...!y&&l?p(h(i),(async e=>{e!=n&&(await a(G+B(t)+"DROP"+B(e)),F(s,e))})):[]])}else await a("CREATE "+Y+B(t)+"("+B(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(p(T,(a=>s+B(a))))});`),F(c,t,_([[n,e],...p(T,(a=>[a,e]))]));if(y)r(o)?await a(U+B(t)+K+" 1"):await d(I(o,(async(e,s)=>{r(e)?await a(U+B(t)+K+B(n)+"=?",[s]):v(T)||await X(a,t,n,R(e),[s,...b(e)],i)})));else if(v(T))O(c,t)&&await a(U+B(t)+K+" 1");else{const e=m(P($(c,t)),(a=>a!=n)),s=[],r=[];I(o??{},((a,t)=>{A(s,t,...p(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(U+B(t)+K+B(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+B(t)+"("+B(n)+E(p(c,(a=>s+B(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+B(n)+")DO UPDATE SET"+E(p(c,(a=>B(a)+"=excluded."+B(a))),s):e),p(o,(a=>a??null))),Z=a=>E(p(a,(()=>"?")),s),aa=JSON.parse,ta=_(),ea=_(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,p=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const v=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await v((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await v((async()=>a.setTransactionChanges(t)))}else await v((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A($(ea,w),...a),await(async()=>{if(!$(ta,w)){for(F(ta,w,1);!r((a=$(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}F(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),L(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,x))[q]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,x,{[q]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?T.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,p)=>{const[v,A,O,h]=Q(t,y,n,p),N=async(a,t)=>await d(M(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await O(e,s,o,n,i,t)}))),T=async(a,t)=>l?await O(w,x,{[q]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await v();const a=await(async()=>C(m(await d(M(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>o?(await A(w,x))[q]:{})();return D(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),r(t)){const[t,e]=a();await N(t),await T(e)}else{const[a,e]=t();await N(a,!0),await T(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=_();return I(a,((a,i)=>{const c=y(b(S(t,w(a)?{[e]:a}:a)),0,g(t));r(c[0])||s(i,c[0])||F(n,i,c)})),n},pa="pragma_",va="data_version",ma="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,p,v;const[m,A,O,N]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],J(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(b(S(da,c)),0,g(da)),r=o[2],l=J(r);return[0,s,[Ea(n,{[wa]:null,[la]:x},wa,(a=>W(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:x,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${va} d,${ma} s,TOTAL_CHANGES() c FROM ${pa}${va} JOIN ${pa}${ma}`);t==(E??=t)&&e==(p??=e)&&n==(v??=n)||(a(),E=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=v=null,i(t)}),r,O,h(N),l,u,d)};exports.createSqliteWasmPersister=(a,t,e,s,n,i)=>Aa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e);
@@ -1 +0,0 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==u(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,h=a=>T.getPrototypeOf(a),L=T.keys,R=T.freeze,C=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),g=(a,t)=>v(T.entries(a),(([a,e])=>t(e,a))),I=a=>T.values(a),D=a=>u(L(a)),b=a=>(a=>!r(a)&&l(h(a),(a=>a==T.prototype||r(h(a))),(()=>!0)))(a)&&0==D(a),P=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(f(a,t)||M(a,t,e()),_(a,t)),B=(a,t,e,s=M)=>(g(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,k="SELECT",x=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),U="TABLE",W="ALTER "+U,q="DELETE FROM",z=k+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,n,i)=>{const c=P();return[async()=>B(c,C(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,C(v(await a(k+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>M(c,t,B(j(c,t,P),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))))),((a,t)=>M(c,t))),async(t,e)=>((a,t)=>!r(_(_(c,a),t)))(t,e)?C(m(v(await a(z+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!b(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=x();g(o??{},(a=>v(L(a??{}),(a=>G(u,a)))));const T=O(u);if(!y&&w&&p(T)&&f(c,t))return await a("DROP "+U+Y(t)),void M(c,t);if(p(T)||f(c,t)){const s=_(c,t),i=x($(s));await d([...v(T,(async n=>{N(i,n)||(await a(W+Y(t)+"ADD"+Y(n)),M(s,n,e))})),...!y&&l?v(O(i),(async e=>{e!=n&&(await a(W+Y(t)+"DROP"+Y(e)),M(s,e))})):[]])}else await a("CREATE "+U+Y(t)+"("+Y(n)+` PRIMARY KEY ON CONFLICT REPLACE${E(v(T,(a=>s+Y(a))))});`),M(c,t,P([[n,e],...v(T,(a=>[a,e]))]));if(y)r(o)?await a(q+Y(t)+V+" 1"):await d(g(o,(async(e,s)=>{r(e)?await a(q+Y(t)+V+Y(n)+"=?",[s]):p(T)||await X(a,t,n,L(e),[s,...I(e)],i)})));else if(p(T))f(c,t)&&await a(q+Y(t)+V+" 1");else{const e=m($(_(c,t)),(a=>a!=n)),s=[],r=[];g(o??{},((a,t)=>{A(s,t,...v(e,(t=>a?.[t]))),A(r,t)})),await X(a,t,n,e,s,i),await a(q+Y(t)+V+Y(n)+"NOT IN("+Z(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},X=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(n)+E(v(c,(a=>s+Y(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+Y(n)+")DO UPDATE SET"+E(v(c,(a=>Y(a)+"=excluded."+Y(a))),s):e),v(o,(a=>a??null))),Z=a=>E(v(a,(()=>"?")),s),aa=JSON.parse,ta=P(),ea=P(),sa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,u,d,E=0,v=0;j(ta,w,(()=>0)),j(ea,w,(()=>[]));const p=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,d=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(d),d=void 0,v=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();b(e)&&b(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(A(_(ea,w),...a),await(async()=>{if(!_(ta,w)){for(M(ta,w,1);!r((a=_(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}M(ta,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),R(m)},na="store",ia=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Q(t,c,n,l);return sa(a,(async()=>await d((async()=>(await w(),aa((await y(i,J))[H]?.[na]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,J,{[H]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?T.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,u,E,v)=>{const[p,A,f,O]=Q(t,y,n,v),N=async(a,t)=>await d(F(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await f(e,s,o,n,i,t)}))),T=async(a,t)=>l?await f(w,J,{[H]:a},!0,!0,t):null;return sa(a,(async()=>await O((async()=>{await p();const a=await(async()=>C(m(await d(F(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!b(a[1])))))(),t=await(async()=>o?(await A(w,J))[H]:{})();return b(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),r(t)){const[t,e]=a();await N(t),await T(e)}else{const[a,e]=t();await N(a,!0),await T(e,!0)}}))),e,s,n,[E,u],u)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",ua={mode:oa,[ra]:1},da={load:0,save:0,[ya]:t+"_values"},Ea=(a,t,e,s)=>{const n=P();return g(a,((a,i)=>{const c=y(I(S(t,w(a)?{[e]:a}:a)),0,D(t));r(c[0])||s(i,c[0])||M(n,i,c)})),n},va="pragma_",pa="data_version",ma="schema_version",Aa=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,v,p;const[m,A,f,N]=(a=>{const e=(a=>S(ua,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],x(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(I(S(da,c)),0,D(da)),r=o[2],l=x(r);return[0,s,[Ea(n,{[wa]:null,[la]:J},wa,(a=>G(l,a)&&a==r)),Ea(i,{[ya]:null,[la]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>G(l,t)&&t==r)),o],l]})(e);return(m?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${pa} d,${ma} s,TOTAL_CHANGES() c FROM ${va}${pa} JOIN ${va}${ma}`);t==(E??=t)&&e==(v??=e)&&n==(p??=n)||(a(),E=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=p=null,i(t)}),r,f,O(N),l,u,d)},fa="change";exports.createSqlite3Persister=(a,t,e,s,n)=>Aa(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new c(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(fa,e),e}),(a=>t.off(fa,a)),s,n,t);
@@ -1 +0,0 @@
1
- "use strict";var t=require("yjs");const e="t",a="v",s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),c=Object,i=t=>c.getPrototypeOf(t),l=c.keys,u=c.freeze,d=(t=[])=>c.fromEntries(t),g=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),y=(t,e)=>((t,e)=>t.map(e))(c.entries(t),(([t,a])=>e(a,t))),p=t=>(t=>!s(t)&&n(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(g(t,e)||(t[e]=a()),t[e]),h=t=>new Map(t),w=(t,e)=>t?.get(e),f=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),S=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},A=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||S(t,e,a()),w(t,e)},O=h(),J=h(),L="delete",N=t=>[t.get(e),t.get(a)],C=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);let c;return y(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{g(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c};exports.createYjsPersister=(c,i,l="tinybase",g)=>{const h=i.getMap(l);return((t,e,a,o,c,i,[l,d]=[],g=[])=>{let y,v,h,f=0,L=0;A(O,g,(()=>0)),A(J,g,(()=>[]));const N=async t=>(2!=f&&(f=1,await C.schedule((async()=>{await t(),f=0}))),C),C={load:async(a,s)=>await N((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(C.stopAutoLoad(),await C.load(a,s),L=1,h=o((async(a,s)=>{if(s){const e=s();await N((async()=>t.setTransactionChanges(e)))}else await N((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),C),stopAutoLoad:()=>(L&&(c(h),h=void 0,L=0),C),save:async e=>(1!=f&&(f=2,await C.schedule((async()=>{try{await a(t.getContent,e)}catch(t){i?.(t)}f=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();p(a)&&p(s)||C.save((()=>[a,s]))})),C),stopAutoSave:()=>(n(y,t.delListener),y=void 0,C),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(w(J,g),...t),await(async()=>{if(!w(O,g)){for(S(O,g,1);!s(v=r(w(J,g)));)try{await v()}catch(t){i?.(t)}S(O,g,0)}})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(C[l]=()=>d),u(C)})(c,(async()=>h.size?[h.get(e).toJSON(),h.get(a).toJSON()]:void 0),(async(o,r)=>i.transact((()=>((o,r,c)=>{o.size||(o.set(e,new t.Map),o.set(a,new t.Map));const[i,l]=N(o),u=()=>{d=1};let d=1;if(n(c?.(),(([t,e])=>{d=0,y(t,((t,e)=>d?0:s(t)?i.delete(e):n(i.get(e),(e=>y(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>y(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),u)))),u))),y(e,((t,e)=>d?0:s(t)?l.delete(e):l.set(e,t)))})),d){const[t,e]=r();C(i,void 0,t,((t,e,a)=>C(i,e,a,((t,e,a)=>C(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),C(l,void 0,e,((t,e,a)=>{l.get(e)!==a&&l.set(e,a)}))}})(h,o,r)))),(t=>{const s=s=>t(void 0,(()=>((t,s)=>{if(1==o(s)&&(c=s[0].path,0==o(c)))return[t.get(e).toJSON(),t.get(a).toJSON()];var c;const[i,l]=N(t),u={},g={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=v(u,e,d),o=i.get(e);n(r(t),(t=>{const e=v(s,t,d),n=o.get(t);f(a,((t,{action:a})=>e[t]=a==L?null:n.get(t)))}),(()=>f(a,((t,{action:e})=>s[t]=e==L?null:o.get(t)?.toJSON()))))}),(()=>f(a,((t,{action:e})=>u[t]=e==L?null:i.get(t)?.toJSON())))):f(a,((t,{action:e})=>g[t]=e==L?null:l.get(t)))))})(s),[u,g]})(h,s)));return h.observeDeep(s),s}),(t=>{h.unobserveDeep(t)}),g,["getYDoc",i])};
@@ -1 +0,0 @@
1
- "use strict";const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=t=>e.getPrototypeOf(t),o=e.keys,n=e.freeze,c=n=>(o=>!t(o)&&a(s(o),(a=>a==e.prototype||t(s(a))),(()=>!0)))(n)&&0==(t=>o(t).length)(n),r=t=>new Map(t),i=(t,a)=>t?.get(a),y=(a,e,s)=>{return t(s)?(o=a,n=e,o?.delete(n),a):a?.set(e,s);var o,n},u=(t,a,e)=>{var s,o;return s=t,o=a,s?.has(o)||y(t,a,e()),i(t,a)},d=r(),w=r();exports.createCustomPersister=(e,s,o,r,h,l,[p,v]=[],A=[])=>{let g,f,C,L=0,S=0;u(d,A,(()=>0)),u(w,A,(()=>[]));const O=async t=>(2!=L&&(L=1,await P.schedule((async()=>{await t(),L=0}))),P),P={load:async(t,a)=>await O((async()=>{try{e.setContent(await s())}catch{e.setContent([t,a])}})),startAutoLoad:async(t={},a={})=>(P.stopAutoLoad(),await P.load(t,a),S=1,C=r((async(t,a)=>{if(a){const t=a();await O((async()=>e.setTransactionChanges(t)))}else await O((async()=>{try{e.setContent(t?.()??await s())}catch(t){l?.(t)}}))})),P),stopAutoLoad:()=>(S&&(h(C),C=void 0,S=0),P),save:async t=>(1!=L&&(L=2,await P.schedule((async()=>{try{await o(e.getContent,t)}catch(t){l?.(t)}L=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();c(e)&&c(s)||P.save((()=>[e,s]))})),P),stopAutoSave:()=>(a(g,e.delListener),g=void 0,P),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(i(w,A),...a),await(async()=>{if(!i(d,A)){for(y(d,A,1);!t((a=i(w,A),f=a.shift()));)try{await f()}catch(t){l?.(t)}y(d,A,0)}var a})(),P),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return p&&(P[p]=()=>v),n(P)};
Binary file
@@ -1 +0,0 @@
1
- "use strict";const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,h="Sorted"+d+l,g="Cell",v=g+l,w=Math.max,L=Math.min,f=isFinite,R=e=>null==e,y=(e,t,n)=>R(e)?n?.():t(e),T=t=>e(t)==r,b=e=>Array.isArray(e),C=e=>e.length,p=()=>{},Q=(e,t)=>e.every(t),S=(e,t)=>e.forEach(t),m=e=>E(e,((e,t)=>e+t),0),I=e=>0==C(e),E=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),x=Object,D=x.freeze,j=e=>e?.size??0,k=(e,t)=>e?.has(t)??!1,z=e=>R(e)||0==j(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=e=>new Map(e),B=(e,t)=>e?.get(t),G=(e,t)=>O(e,((e,n)=>t(n,e))),H=(e,t,n)=>R(n)?(W(e,t),e):e?.set(t,n),J=(e,t,n)=>(k(e,t)||H(e,t,n()),B(e,t)),K=(e,t,n,s,r=0)=>y((n?J:B)(e,t[r],r>C(t)-2?n:q),(o=>{if(r>C(t)-2)return s?.(o)&&H(e,t[r]),o;const a=K(o,t,n,s,r+1);return z(o)&&H(e,t[r]),a})),N=e=>new Set(b(e)||R(e)?e:[e]),P=(e,t)=>e?.add(t),U=q([["avg",[(e,t)=>m(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=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),V=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,w=l(),L=l(),m=q(),{addListener:E,callListeners:V,delListener:X}=L,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=q(),l=q(),i=q(),d=q(),c=q(),u=q(),h=(t,n,...s)=>{const r=J(u,t,N);return S(s,(t=>P(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>y(B(u,t),(s=>{S(I(n)?A(s):n,(t=>{e.delListener(t),W(s,t)})),z(s)&&H(u,t)})),v=(e,t)=>{H(a,e,t),k(l,e)||(H(l,e,!0),H(d,e,q()),H(c,e,q()),r(i))},w=e=>{H(a,e),H(l,e),H(d,e),H(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>G(l,e),e=>k(l,e),e=>B(a,e),e=>B(l,e),(e,t)=>H(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=q(),u=q(),w=B(d,t),L=B(c,t),f=t=>{const r=n=>e.getCell(s,t,n),d=B(w,t),c=o(s,t)?n(a(r,t)):void 0;var h,g;if(d===c||b(d)&&b(c)&&(g=c,C(h=d)===C(g)&&Q(h,((e,t)=>g[t]===e)))||H(i,t,[d,c]),!R(l)){const e=B(L,t),n=o(s,t)?l(r,t):void 0;e!=n&&H(u,t,n)}},y=e=>{r((()=>{O(i,(([,e],t)=>H(w,t,e))),O(u,((e,t)=>H(L,t,e)))}),i,u,w,L,e),F(i),F(u)};G(w,f),e.hasTable(s)&&S(e.getRowIds(s),(e=>{k(w,e)||f(e)})),y(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>f(n))),e.addTableListener(s,(()=>y())))},w,e=>s(e,i),()=>G(u,w),h,g]})(r,0,p,E,V),le=(e,t,...n)=>S(n,(n=>P(J(J(m,t,q),e,N),n))),ie=e=>{y(B(m,e),(e=>{G(e,((e,t)=>O(t,(t=>e.delListener(t))))),F(e)})),S([L,w],(t=>t.delTable(e)))},de=(e,t,n)=>le(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ce={setQueryDefinition:(o,a,l)=>{te(o,a),ie(o);const i=[],d=[[null,[a,null,null,[],q()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=T(e)?[C(i)+"",e]:[R(t)?e:t,n=>n(e,t)];return M(i,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),[],q()]];return M(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>M(c,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]:B(U,t)??[(e,t)=>t]]];return M(u,o),{as:e=>o[0]=e}},having:(e,t)=>M(h,T(e)?e:n=>n(e)===t)});const g=q(i);if(z(g))return ce;const v=q(d);G(v,((e,[,t])=>y(B(v,t),(({3:t})=>R(e)?0:M(t,e)))));const b=q(u);let p=w;if(z(b)&&I(h))p=L;else{de(o,p,L);const r=q();G(b,((e,[t,n])=>P(J(r,t,N),[e,n])));const a=N();G(g,(e=>k(r,e)?0:P(a,e)));const l=q(),i=(a,l,i,d)=>y(a,(([c,u,g,v])=>{G(l,((o,[a])=>{const l=J(c,o,q),u=B(l,i),h=d?void 0:a;if(u!==h){const a=N([[u,h]]),d=j(l);H(l,i,h),O(B(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(z(n))return;const[a,l,i,d]=r;return o||=R(e),O(s,(([n,s])=>{o||(e=R(n)?l?.(e,s,t++):R(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?a(A(n),j(n)):e})(v[r],d,l,a,o);v[r]=R((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&f(r)?o:void 0})(i))?null:i}))}})),z(u)||!Q(h,(e=>e((e=>v[e]))))?L.delRow(o,g):R(g)?a[2]=L.addRow(o,v):L.setRow(o,g,v)}));le(p,o,p.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=q(),h=p.hasRow(o,n);let g=!h;O(a,(e=>{const[t,r,a]=s(o,n,e);M(d,r),M(c,a),g||=t})),G(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&H(u,e,[r])})),g&&i(K(l,d,void 0,(([,e])=>(W(e,n),z(e)))),u,n,1),h&&i(K(l,c,(()=>{const e={};return O(a,(t=>e[t]=p.getCell(o,n,t))),[q(),N(),void 0,e]}),(([,e])=>{P(e,n)})),u,n)})))}de(o,r,p);const m=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);S(s,(t=>{const[n,,s,a,i]=B(v,t),d=s?.(l,e),[c,u]=B(i,e)??[];d!=c&&(R(u)||ae(o,u),H(i,e,R(d)?null:[d,...oe(o,1,r.addRowListener(n,d,(()=>m(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...R(n)?[a,e,t]:t===a?[a,e,n]:[B(v,t)?.[0],B(B(v,t)?.[4],e)?.[0],n]);p.transaction((()=>Q(c,(e=>e(t)))?G(g,((n,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(p,o,e,n,s(t,e)))):p.delRow(o,e)))})(e)},{3:E}=B(v,null);return p.transaction((()=>oe(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?m(n,a,n,E):(p.delRow(o,n),O(v,(({4:e})=>y(B(e,n),(([,t])=>{ae(o,t),H(e,n)})))))}))))),ce},delQueryDefinition:e=>(ie(e),ne(e),ce),getStore:Y,getQueryIds:Z,forEachQuery:$,hasQuery:_,getTableId:ee,addQueryIdsListener:e=>se((()=>e(ce))),delListener:e=>(X(e),ce),destroy:re,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=L.getListenerStats();return s}};var ue,he;return ue={[i]:[1,1],[i+v]:[0,1],[c]:[0,1],[u]:[0,1],[h]:[0,5],[d]:[1,2],[v]:[0,2],[g]:[1,3]},he=([e,t],n)=>{S(e?["get","has","forEach"]:["get"],(e=>ce[e+a+n]=(...t)=>L[e+n](...t))),ce["add"+a+n+o]=(...e)=>{return L["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](ce,...s)),!0);var s,r}},((e,t)=>{e.map(t)})(x.entries(ue),(([e,t])=>he(t,e))),D(ce)})(r)),l.get(r))})();exports.createQueries=V;
Binary file
@@ -1 +0,0 @@
1
- "use strict";const e=e=>typeof e,t="",n=e(t),s=e=>null==e,r=(e,t,n)=>s(e)?n?.():t(e),o=e=>Array.isArray(e),i=e=>e.length,a=(e,t)=>e.forEach(t),l=(e,...t)=>e.push(...t),d=Object.freeze,c=(e,t)=>e?.has(t)??!1,u=e=>s(e)||0==(e=>e?.size??0)(e),R=e=>[...e?.values()??[]],h=e=>e.clear(),f=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),g=e=>new Map(e),w=(e,t)=>e?.get(t),p=(e,t)=>f(e,((e,n)=>t(n,e))),I=(e,t,n)=>s(n)?(L(e,t),e):e?.set(t,n),v=(e,t,n)=>(c(e,t)||I(e,t,n()),w(e,t)),y=(e,t,n,s,o=0)=>r((n?v:w)(e,t[o],o>i(t)-2?n:g),(r=>{if(o>i(t)-2)return s?.(r)&&I(e,t[o]),r;const a=y(r,t,n,s,o+1);return u(r)&&I(e,t[o]),a})),b=e=>new Set(o(e)||s(e)?e:[e]),k=(e,t)=>e?.add(t),E=/^\d+$/,T=(T=>{const m=new WeakMap;return T=>(m.has(T)||m.set(T,(T=>{const m=g(),S=g(),z=g(),A=g(),[D,M,j]=(e=>{let n;const[o,d]=(()=>{const e=[];let n=0;return[s=>(s?e.shift():null)??t+n++,t=>{E.test(t)&&i(e)<1e3&&l(e,t)}]})(),c=g();return[(e,s,r,i=[],a=(()=>[]))=>{n??=P;const l=o(1);return I(c,l,[e,s,r,i,a]),k(y(s,r??[t],b),l),l},(e,s,...r)=>a(((e,n=[t])=>{const s=[],r=(e,t)=>t==i(n)?l(s,e):null===n[t]?f(e,(e=>r(e,t+1))):a([n[t],null],(n=>r(w(e,n),t+1)));return r(e,0),s})(e,s),(e=>f(e,(e=>w(c,e)[0](n,...s??[],...r))))),e=>r(w(c,e),(([,n,s])=>(y(n,s??[t],void 0,(t=>(L(t,e),u(t)?1:0))),I(c,e),d(e),s))),e=>r(w(c,e),(([e,,t=[],r,o])=>{const l=(...d)=>{const c=i(d);c==i(t)?e(n,...d,...o(d)):s(t[c])?a(r[c]?.(...d)??[],(e=>l(...d,e))):l(...d,t[c])};l()}))]})(),[x,C,O,W,$,q,,,B,F,G,H]=((e,n,l,d,y)=>{const E=e.hasRow,T=g(),m=g(),S=g(),z=g(),A=g(),D=g(),M=(t,n,...s)=>{const r=v(D,t,b);return a(s,(t=>k(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>r(w(D,t),(s=>{a(0==i(n)?R(s):n,(t=>{e.delListener(t),L(s,t)})),u(s)&&I(D,t)})),x=(e,t)=>{I(T,e,t),c(m,e)||(I(m,e,[g(),g(),g(),g()]),I(z,e,g()),I(A,e,g()),y(S))},C=e=>{I(T,e),I(m,e),I(z,e),I(A,e),j(e),y(S)};return[()=>e,()=>{return e=T,[...e?.keys()??[]];var e},e=>p(m,e),e=>c(m,e),e=>w(T,e),e=>w(m,e),(e,t)=>I(m,e,t),x,(n,r,l,d,u)=>{x(n,r);const R=g(),L=g(),v=w(z,n),y=w(A,n),b=n=>{const a=t=>e.getCell(r,n,t),l=w(v,n),c=E(r,n)?(h=d(a,n),s(h)?void 0:h+t):void 0;var h,f,g,p;if(l===c||o(l)&&o(c)&&(g=c,i(f=l)===i(g)&&(p=(e,t)=>g[t]===e,f.every(p)))||I(R,n,[l,c]),!s(u)){const e=w(y,n),t=E(r,n)?u(a,n):void 0;e!=t&&I(L,n,t)}},k=e=>{l((()=>{f(R,(([,e],t)=>I(v,t,e))),f(L,((e,t)=>I(y,t,e)))}),R,L,v,y,e),h(R),h(L)};p(v,b),e.hasTable(r)&&a(e.getRowIds(r),(e=>{c(v,e)||b(e)})),k(!0),j(n),M(n,0,e.addRowListener(r,null,((e,t,n)=>b(n))),e.addTableListener(r,(()=>k())))},C,e=>d(e,S),()=>p(D,C),M,j]})(T,0,0,D,M),J=(e,t,n)=>r(q(e),(([r,,o])=>{if(!c(o,t)){const i=b();if($(e)!=N(e))k(i,t);else{let e=t;for(;!s(e)&&!c(i,e);)k(i,e),e=w(r,e)}if(n)return i;I(o,t,i)}return w(o,t)})),K=(e,t)=>r(q(e),(([,,e])=>I(e,t))),N=e=>w(m,e),P={setRelationshipDefinition:(o,i,a,l)=>{return I(m,o,a),B(o,i,((e,t)=>{const n=b(),i=b(),a=b(),[l,d]=q(o);f(t,(([e,t],R)=>{s(e)||(k(i,e),r(w(d,e),(t=>{L(t,R),u(t)&&I(d,e)}))),s(t)||(k(i,t),c(d,t)||I(d,t,b()),k(w(d,t),R)),k(n,R),I(l,R,t),p(w(A,o),(e=>{c(J(o,e),R)&&k(a,e)}))})),e(),f(n,(e=>M(S,[o,e]))),f(i,(e=>M(z,[o,e]))),f(a,(e=>{K(o,e),M(A,[o,e])}))}),e(d=l)==n?e=>e(d):d??(()=>t)),P;var d},delRelationshipDefinition:e=>(I(m,e),F(e),P),getStore:x,getRelationshipIds:C,forEachRelationship:e=>O((t=>e(t,(e=>T.forEachRow($(t),e))))),hasRelationship:W,getLocalTableId:$,getRemoteTableId:N,getRemoteRowId:(e,t)=>w(q(e)?.[0],t),getLocalRowIds:(e,t)=>R(w(q(e)?.[1],t)),getLinkedRowIds:(e,t)=>s(q(e))?[t]:R(J(e,t,!0)),addRelationshipIdsListener:G,addRemoteRowIdListener:(e,t,n)=>D(n,S,[e,t]),addLocalRowIdsListener:(e,t,n)=>D(n,z,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(J(e,t),D(n,A,[e,t])),delListener:e=>(K(...j(e)??[]),P),destroy:H,getListenerStats:()=>({})};return d(P)})(T)),m.get(T))})();exports.createRelationships=T;
Binary file
package/lib/cjs/store.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),o="type",r="default",c="Has",i="Ids",d="Table",u=d+"s",h=d+i,g="Row",f=g+"Count",T=g+i,V="Cell",b=V+i,C="Value",S=C+"s",v=C+i,w=e=>t+e,I=isFinite,m=e=>null==e,y=(e,t,s)=>m(e)?s?.():t(e),R=e=>e==s||e==l,p=t=>e(t)==a,J=(e,t,s)=>e.slice(t,s),L=e=>e.length,E=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),k=z.keys,A=z.isFrozen,M=z.freeze,N=e=>!m(e)&&y(P(e),(e=>e==z.prototype||m(P(e))),(()=>!0)),j=(e,t)=>!m(((e,t)=>y(e,(e=>e[t])))(e,t)),x=(e,t)=>(delete e[t],e),D=(e,t)=>F(z.entries(e),(([e,s])=>t(s,e))),H=e=>N(e)&&0==(e=>L(k(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>m(e)||0==W(e),B=e=>e.clear(),G=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=e=>new Map(e),U=e=>[...e?.keys()??[]],X=(e,t)=>e?.get(t),Y=(e,t)=>G(e,((e,s)=>t(s,e))),Z=(e,t,s)=>m(s)?(K(e,t),e):e?.set(t,s),_=(e,t,s)=>($(e,t)||Z(e,t,s()),X(e,t)),ee=(e,t,s,l=Z)=>(D(t,((t,l)=>s(e,l,t))),Y(e,(s=>j(t,s)?0:l(e,s))),e),te=(e,t,s)=>{const l={};return G(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},se=(e,t,s)=>te(e,(e=>te(e,t,s)),H),le=(e,t,s)=>te(e,(e=>se(e,t,s)),H),ne=(e,t)=>{const s=Q();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ae=e=>ne(e,ne),oe=e=>ne(e,ae),re=(e,t,s,l,n=0)=>y((s?_:X)(e,t[n],n>L(t)-2?s:Q),(a=>{if(n>L(t)-2)return l?.(a)&&Z(e,t[n]),a;const o=re(a,t,s,l,n+1);return q(a)&&Z(e,t[n]),o})),ce=e=>new Set(Array.isArray(e)||m(e)?e:[e]),ie=(e,t)=>e?.add(t),de=/^\d+$/,ue=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{de.test(t)&&L(e)<1e3&&O(e,t)}]},he=e=>[e,e],ge=()=>[Q(),Q()],fe=e=>[...e],Te=([e,t])=>e===t,Ve=t=>{const s=e(t);return R(s)||s==n&&I(t)?s:void 0},be=(e,t,s,l,n)=>m(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ce=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),Se=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),ve=JSON.parse,we=(e,t,s)=>m(e)||!N(e)||H(e)||A(e)?(s?.(),!1):(D(e,((s,l)=>{t(s,l)||x(e,l)})),!H(e)),Ie=(e,t,s)=>Z(e,t,X(e,t)==-s?void 0:s),me=()=>{let e,s,l=!1,a=!1,i=!1,I=!1,z=0;const P=Q(),k=Q(),A=Q(),N=Q(),de=Q(),ye=Q(),Re=Q(),pe=Q(),Je=Q(),Le=Q(),Ee=Q(),Fe=Q(),Oe=Q(),ze=Q(),Pe=ce(),ke=Q(),Ae=Q(),Me=Q(),Ne=Q(),je=ge(),xe=ge(),De=ge(),He=ge(),We=ge(),$e=ge(),qe=ge(),Be=ge(),Ge=ge(),Ke=ge(),Qe=ge(),Ue=ge(),Xe=ge(),Ye=ge(),Ze=ge(),_e=ge(),et=ge(),tt=ge(),st=ge(),lt=ge(),nt=ge(),at=ge(),ot=Q(),rt=ge(),[ct,it,dt,ut]=(e=>{let s;const[l,n]=ue(),a=Q();return[(e,n,o,r=[],c=(()=>[]))=>{s??=Ps;const i=l(1);return Z(a,i,[e,n,o,r,c]),ie(re(n,o??[t],ce),i),i},(e,l,...n)=>E(((e,s=[t])=>{const l=[],n=(e,t)=>t==L(s)?O(l,e):null===s[t]?G(e,(e=>n(e,t+1))):E([s[t],null],(s=>n(X(e,s),t+1)));return n(e,0),l})(e,l),(e=>G(e,(e=>X(a,e)[0](s,...l??[],...n))))),e=>y(X(a,e),(([,s,l])=>(re(s,l??[t],void 0,(t=>(K(t,e),q(t)?1:0))),Z(a,e),n(e),l))),e=>y(X(a,e),(([e,,t=[],l,n])=>{const a=(...o)=>{const r=L(o);r==L(t)?e(s,...o,...n(o)):m(t[r])?E(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,t[r])};a()}))]})(),ht=e=>{if(!we(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=n||(Ve(e[r])!=t&&x(e,r),0))},gt=(t,s)=>(!e||$(Ee,s)||$t(s))&&we(t,((e,t)=>ft(s,t,e)),(()=>$t(s))),ft=(e,t,s,l)=>we(l?s:Ct(s,e,t),((l,n)=>y(Tt(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>$t(e,t))),Tt=(t,s,l,n)=>e?y(X(X(Ee,t),l),(e=>Ve(n)!=e[o]?$t(t,s,l,n,e[r]):n),(()=>$t(t,s,l,n))):m(Ve(n))?$t(t,s,l,n):n,Vt=(e,t)=>we(t?e:St(e),((t,s)=>y(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),bt=(e,t)=>s?y(X(Oe,e),(s=>Ve(t)!=s[o]?qt(e,t,s[r]):t),(()=>qt(e,t))):m(Ve(t))?qt(e,t):t,Ct=(e,t,s)=>(y(X(Fe,t),(([l,n])=>{G(l,((t,s)=>{j(e,s)||(e[s]=t)})),G(n,(l=>{j(e,l)||$t(t,s,l)}))})),e),St=e=>(s&&(G(ze,((t,s)=>{j(e,s)||(e[s]=t)})),G(Pe,(t=>{j(e,t)||qt(t)}))),e),vt=e=>ee(Ee,e,((e,t,s)=>{const l=Q(),n=ce();ee(_(Ee,t,Q),s,((e,t,s)=>{Z(e,t,s),y(s[r],(e=>Z(l,t,e)),(()=>ie(n,t)))})),Z(Fe,t,[l,n])}),((e,t)=>{Z(Ee,t),Z(Fe,t)})),wt=e=>ee(Oe,e,((e,t,s)=>{Z(Oe,t,s),y(s[r],(e=>Z(ze,t,e)),(()=>ie(Pe,t)))}),((e,t)=>{Z(Oe,t),Z(ze,t),K(Pe,t)})),It=e=>H(e)?ys():Ss(e),mt=e=>ee(Me,e,((e,t,s)=>yt(t,s)),((e,t)=>Pt(t))),yt=(e,t)=>ee(_(Me,e,(()=>(Nt(e,1),Z(ke,e,ue()),Z(Ae,e,Q()),Q()))),t,((t,s,l)=>Rt(e,t,s,l)),((t,s)=>kt(e,t,s))),Rt=(e,t,s,l,n)=>ee(_(t,s,(()=>(jt(e,s,1),Q()))),l,((t,l,n)=>pt(e,s,t,l,n)),((l,a)=>At(e,t,s,l,a,n))),pt=(e,t,s,l,n)=>{$(s,l)||xt(e,t,l,1);const a=X(s,l);n!==a&&(Dt(e,t,l,a,n),Z(s,l,n))},Jt=(e,t,s,l,n)=>y(X(t,s),(t=>pt(e,s,t,l,n)),(()=>Rt(e,t,s,Ct({[l]:n},e,s)))),Lt=e=>H(e)?Js():vs(e),Et=e=>ee(Ne,e,((e,t,s)=>Ft(t,s)),((e,t)=>Mt(t))),Ft=(e,t)=>{$(Ne,e)||Ht(e,1);const s=X(Ne,e);t!==s&&(Wt(e,s,t),Z(Ne,e,t))},Ot=(e,t)=>{const[s]=X(ke,e),l=s(t);return $(X(Me,e),l)?Ot(e,t):l},zt=e=>X(Me,e)??yt(e,{}),Pt=e=>yt(e,{}),kt=(e,t,s)=>{const[,l]=X(ke,e);l(s),Rt(e,t,s,{},!0)},At=(e,t,s,l,n,a)=>{const o=X(X(Fe,e)?.[0],n);if(!m(o)&&!a)return pt(e,s,l,n,o);const r=t=>{Dt(e,s,t,X(l,t)),xt(e,s,t,-1),Z(l,t)};m(o)?r(n):Y(l,r),q(l)&&(jt(e,s,-1),q(Z(t,s))&&(Nt(e,-1),Z(Me,e),Z(ke,e),Z(Ae,e)))},Mt=e=>{const t=X(ze,e);if(!m(t))return Ft(e,t);Wt(e,X(Ne,e)),Ht(e,-1),Z(Ne,e)},Nt=(e,t)=>Ie(P,e,t),jt=(e,t,s)=>Ie(_(N,e,Q),t,s)&&Z(A,e,_(A,e,(()=>0))+s),xt=(e,t,s,l)=>{const n=X(Ae,e),a=X(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Ie(_(k,e,Q),s,l),Z(n,s,a!=-l?a+l:null),Ie(_(_(de,e,Q),t,Q),s,l)},Dt=(e,t,s,l,n)=>_(_(_(ye,e,Q),t,Q),s,(()=>[l,0]))[1]=n,Ht=(e,t)=>Ie(Re,e,t),Wt=(e,t,s)=>_(pe,e,(()=>[t,0]))[1]=s,$t=(e,t,s,l,n)=>(O(_(_(_(Je,e,Q),t,Q),s,(()=>[])),l),n),qt=(e,t,s)=>(O(_(Le,e,(()=>[])),t),s),Bt=(e,t,s)=>y(X(X(X(ye,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...he(cs(e,t,s))])),Gt=e=>y(X(pe,e),(([e,t])=>[!0,e,t]),(()=>[!1,...he(us(e))])),Kt=e=>q(Je)||q(_e[e])?0:G(e?oe(Je):Je,((t,s)=>G(t,((t,l)=>G(t,((t,n)=>it(_e[e],[s,l,n],t))))))),Qt=e=>q(Le)||q(et[e])?0:G(e?ne(Le):Le,((t,s)=>it(et[e],[s],t))),Ut=(e,t,s,l)=>{if(!q(e))return it(t,l,(()=>te(e))),Y(e,((e,t)=>it(s,[...l??[],e],1==t))),1},Xt=e=>{const t=hs();t!=i&&it(je[e],void 0,t);const s=q(Ke[e]),l=q(Xe[e])&&q(Ye[e])&&q(Ge[e])&&q(Qe[e])&&q($e[e])&&q(qe[e])&&q(Be[e])&&s&&q(De[e])&&q(He[e]),n=q(Ze[e])&&q(Ue[e])&&q(We[e])&&q(xe[e]);if(!l||!n){const t=e?[ne(P),ae(k),ne(A),ae(N),oe(de),oe(ye)]:[P,k,A,N,de,ye];if(!l){Ut(t[0],De[e],He[e]),G(t[1],((t,s)=>Ut(t,$e[e],qe[e],[s]))),G(t[2],((t,s)=>{0!=t&&it(Be[e],[s],ns(s))}));const l=ce();G(t[3],((t,n)=>{Ut(t,Ge[e],Qe[e],[n])&&!s&&(it(Ke[e],[n,null]),ie(l,n))})),s||G(t[5],((t,s)=>{if(!$(l,s)){const l=ce();G(t,(e=>G(e,(([t,s],n)=>s!==t?ie(l,n):K(e,n))))),G(l,(t=>it(Ke[e],[s,t])))}})),G(t[4],((t,s)=>G(t,((t,l)=>Ut(t,Xe[e],Ye[e],[s,l])))))}if(!n){let s;G(t[5],((t,l)=>{let n;G(t,((t,a)=>{let o;G(t,(([t,r],c)=>{r!==t&&(it(Ze[e],[l,a,c],r,t,Bt),s=n=o=1)})),o&&it(Ue[e],[l,a],Bt)})),n&&it(We[e],[l],Bt)})),s&&it(xe[e],void 0,Bt)}}},Yt=e=>{const t=bs();t!=I&&it(tt[e],void 0,t);const s=q(lt[e])&&q(nt[e]),l=q(at[e])&&q(st[e]);if(!s||!l){const t=e?[ne(Re),ne(pe)]:[Re,pe];if(s||Ut(t[0],lt[e],nt[e]),!l){let s;G(t[1],(([t,l],n)=>{l!==t&&(it(at[e],[n],l,t,Gt),s=1)})),s&&it(st[e],void 0,Gt)}}},Zt=(e,...t)=>(Fs((()=>e(...F(t,w)))),Ps),_t=()=>[te(ye,((e,t)=>-1===X(P,t)?null:te(e,((e,s)=>-1===X(X(N,t),s)?null:te(e,(([,e])=>e??null),((e,t)=>Te(t)))),H)),H),te(pe,(([,e])=>e??null),((e,t)=>Te(t)))],es=()=>({cellsTouched:l,valuesTouched:a,changedCells:le(ye,fe,Te),invalidCells:le(Je),changedValues:te(pe,fe,Te),invalidValues:te(Le),changedTableIds:te(P),changedRowIds:se(N),changedCellIds:le(de),changedValueIds:te(Re)}),ts=()=>le(Me),ss=()=>U(Me),ls=e=>U(X(Ae,w(e))),ns=e=>W(X(Me,w(e))),as=e=>U(X(Me,w(e))),os=(e,t,s,l=0,n)=>{return F(J((o=X(Me,w(e)),r=(e,s)=>[m(t)?s:X(e,w(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,m(n)?n:l+n),(([,e])=>e));var a,o,r},rs=(e,t)=>U(X(X(Me,w(e)),w(t))),cs=(e,t,s)=>X(X(X(Me,w(e)),w(t)),w(s)),is=()=>te(Ne),ds=()=>U(Ne),us=e=>X(Ne,w(e)),hs=()=>!q(Me),gs=e=>$(Me,w(e)),fs=(e,t)=>$(X(Ae,w(e)),w(t)),Ts=(e,t)=>$(X(Me,w(e)),w(t)),Vs=(e,t,s)=>$(X(X(Me,w(e)),w(t)),w(s)),bs=()=>!q(Ne),Cs=e=>$(Ne,w(e)),Ss=e=>Zt((()=>(e=>we(e,gt,$t))(e)?mt(e):0)),vs=e=>Zt((()=>Vt(e)?Et(e):0)),ws=e=>{try{It(ve(e))}catch{}return Ps},Is=t=>Zt((()=>{if((e=we(t,(e=>we(e,ht))))&&(vt(t),!q(Me))){const e=ts();ys(),Ss(e)}})),ms=e=>Zt((()=>{if(s=(e=>we(e,ht))(e)){const t=is();Es(),Js(),s=!0,wt(e),vs(t)}})),ys=()=>Zt((()=>mt({}))),Rs=e=>Zt((e=>$(Me,e)?Pt(e):0),e),ps=(e,t)=>Zt(((e,t)=>y(X(Me,e),(s=>$(s,t)?kt(e,s,t):0))),e,t),Js=()=>Zt((()=>Et({}))),Ls=()=>Zt((()=>{vt({}),e=!1})),Es=()=>Zt((()=>{wt({}),s=!1})),Fs=(e,t)=>{if(-1!=z){Os();const s=e();return zs(t),s}},Os=()=>(-1!=z&&z++,1==z&&it(ot,void 0,_t,es),Ps),zs=e=>(z>0&&(z--,0==z&&(l=!q(ye),a=!q(pe),z=1,Kt(1),l&&Xt(1),Qt(1),a&&Yt(1),e?.(_t,es)&&(G(ye,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>be(Ps,t,s,l,e))))))),G(pe,(([e],t)=>Ce(Ps,t,e))),l=a=!1),it(rt[0],void 0,_t,es),z=-1,Kt(0),l&&Xt(0),Qt(0),a&&Yt(0),it(rt[1],void 0,_t,es),z=0,l=a=!1,i=hs(),I=bs(),E([P,k,A,N,de,ye,Je,Re,pe,Le],B))),Ps),Ps={getContent:()=>[ts(),is()],getTables:ts,getTableIds:ss,getTable:e=>se(X(Me,w(e))),getTableCellIds:ls,getRowCount:ns,getRowIds:as,getSortedRowIds:os,getRow:(e,t)=>te(X(X(Me,w(e)),w(t))),getCellIds:rs,getCell:cs,getValues:is,getValueIds:ds,getValue:us,hasTables:hs,hasTable:gs,hasTableCell:fs,hasRow:Ts,hasCell:Vs,hasValues:bs,hasValue:Cs,getTablesJson:()=>Se(Me),getValuesJson:()=>Se(Ne),getJson:()=>Se([Me,Ne]),getTablesSchemaJson:()=>Se(Ee),getValuesSchemaJson:()=>Se(Oe),getSchemaJson:()=>Se([Ee,Oe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Zt((()=>{(H(e)?ys:Ss)(e),(H(t)?Js:vs)(t)})),setTables:Ss,setTable:(e,t)=>Zt((e=>gt(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>ft(e,t,s)?Rt(e,zt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let l;return ft(e,l,t)&&(e=w(e),Rt(e,zt(e),l=Ot(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(ft(e,t,s,1)){const l=zt(e);D(s,((s,n)=>Jt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Zt(((e,t,s)=>y(Tt(e,t,s,p(l)?l(cs(e,t,s)):l),(l=>Jt(e,zt(e),t,s,l)))),e,t,s),setValues:vs,setPartialValues:e=>Zt((()=>Vt(e,1)?D(e,((e,t)=>Ft(t,e))):0)),setValue:(e,t)=>Zt((e=>y(bt(e,p(t)?t(us(e)):t),(t=>Ft(e,t)))),e),setTransactionChanges:e=>Zt((()=>{D(e[0],((e,t)=>m(e)?Rs(t):D(e,((e,s)=>m(e)?ps(t,s):D(e,((e,l)=>be(Ps,t,s,l,e))))))),D(e[1],((e,t)=>Ce(Ps,t,e)))})),setTablesJson:ws,setValuesJson:e=>{try{Lt(ve(e))}catch{}return Ps},setJson:e=>Zt((()=>{try{const[t,s]=ve(e);It(t),Lt(s)}catch{ws(e)}})),setTablesSchema:Is,setValuesSchema:ms,setSchema:(e,t)=>Zt((()=>{Is(e),ms(t)})),delTables:ys,delTable:Rs,delRow:ps,delCell:(e,t,s,l)=>Zt(((e,t,s)=>y(X(Me,e),(n=>y(X(n,t),(a=>$(a,s)?At(e,n,t,a,s,l):0))))),e,t,s),delValues:Js,delValue:e=>Zt((e=>$(Ne,e)?Mt(e):0),e),delTablesSchema:Ls,delValuesSchema:Es,delSchema:()=>Zt((()=>{Ls(),Es()})),transaction:Fs,startTransaction:Os,finishTransaction:zs,forEachTable:e=>G(Me,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>Y(t,e))))))))),forEachTableCell:(e,t)=>Y(X(Ae,w(e)),t),forEachRow:(e,t)=>G(X(Me,w(e)),((e,s)=>t(s,(t=>Y(e,t))))),forEachCell:(e,t,s)=>Y(X(X(Me,w(e)),w(t)),s),forEachValue:e=>Y(Ne,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=os(e,t,s,l,n);return ct((()=>{const o=os(e,t,s,l,n);var c,i,d;i=r,L(c=o)===L(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(Ps,e,t,s,l,n,r))}),Ke[o?1:0],[e,t],[ss])},addStartTransactionListener:e=>ct(e,ot),addWillFinishTransactionListener:e=>ct(e,rt[0]),addDidFinishTransactionListener:e=>ct(e,rt[1]),callListener:e=>(ut(e),Ps),delListener:e=>(dt(e),Ps),getListenerStats:()=>({}),createStore:me,addListener:ct,callListeners:it};return D({[c+u]:[0,je,[],()=>[hs()]],[u]:[0,xe],[h]:[0,De],[c+d]:[1,He,[ss],e=>[gs(...e)]],[d]:[1,We,[ss]],[d+b]:[1,$e,[ss]],[c+d+V]:[2,qe,[ss,ls],e=>[fs(...e)]],[f]:[1,Be,[ss]],[T]:[1,Ge,[ss]],[c+g]:[2,Qe,[ss,as],e=>[Ts(...e)]],[g]:[2,Ue,[ss,as]],[b]:[2,Xe,[ss,as]],[c+V]:[3,Ye,[ss,as,rs],e=>[Vs(...e)]],[V]:[3,Ze,[ss,as,rs],e=>he(cs(...e))],InvalidCell:[3,_e],[c+S]:[0,tt,[],()=>[bs()]],[S]:[0,st],[v]:[0,lt],[c+C]:[1,nt,[ds],e=>[Cs(...e)]],[C]:[1,at,[ds],e=>he(us(e[0]))],InvalidValue:[1,et]},(([e,t,s,l],n)=>{Ps["add"+n+"Listener"]=(...n)=>ct(n[e],t[n[e+1]?1:0],e>0?J(n,0,e):void 0,s,l)})),M(Ps)};exports.createStore=me;