tinybase 4.6.2 → 5.0.0-beta.1

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 (280) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/metrics.cjs +1 -1
  9. package/lib/cjs/metrics.cjs.gz +0 -0
  10. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  11. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  13. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  15. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  17. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  19. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  21. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  22. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  23. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  24. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  25. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  26. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  27. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  28. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  29. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  30. package/lib/cjs/queries.cjs +1 -1
  31. package/lib/cjs/queries.cjs.gz +0 -0
  32. package/lib/cjs/relationships.cjs +1 -1
  33. package/lib/cjs/relationships.cjs.gz +0 -0
  34. package/lib/cjs/store.cjs +1 -1
  35. package/lib/cjs/store.cjs.gz +0 -0
  36. package/lib/cjs/tinybase.cjs +1 -1
  37. package/lib/cjs/tinybase.cjs.gz +0 -0
  38. package/lib/cjs/tools.cjs +1 -1
  39. package/lib/cjs/tools.cjs.gz +0 -0
  40. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  41. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  42. package/lib/cjs/ui-react-dom.cjs +1 -1
  43. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  44. package/lib/cjs/ui-react.cjs +1 -1
  45. package/lib/cjs/ui-react.cjs.gz +0 -0
  46. package/lib/cjs-es6/checkpoints.cjs +1 -1
  47. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  48. package/lib/cjs-es6/indexes.cjs +1 -1
  49. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  50. package/lib/cjs-es6/metrics.cjs +1 -1
  51. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  52. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  53. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  54. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  55. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  56. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  57. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  58. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  61. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  62. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  63. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  64. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  65. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  66. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  67. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  68. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  69. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  70. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  71. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  72. package/lib/cjs-es6/queries.cjs +1 -1
  73. package/lib/cjs-es6/queries.cjs.gz +0 -0
  74. package/lib/cjs-es6/relationships.cjs +1 -1
  75. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  76. package/lib/cjs-es6/store.cjs +1 -1
  77. package/lib/cjs-es6/store.cjs.gz +0 -0
  78. package/lib/cjs-es6/tinybase.cjs +1 -1
  79. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  80. package/lib/cjs-es6/tools.cjs +1 -1
  81. package/lib/cjs-es6/tools.cjs.gz +0 -0
  82. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  83. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  84. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  85. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  86. package/lib/cjs-es6/ui-react.cjs +1 -1
  87. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  88. package/lib/debug/checkpoints.js +251 -234
  89. package/lib/debug/indexes.js +7 -5
  90. package/lib/debug/metrics.js +7 -5
  91. package/lib/debug/persisters/persister-automerge.js +3 -1
  92. package/lib/debug/persisters/persister-browser.js +1 -0
  93. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +3 -1
  94. package/lib/debug/persisters/persister-electric-sql.js +3 -1
  95. package/lib/debug/persisters/persister-expo-sqlite-next.js +3 -1
  96. package/lib/debug/persisters/persister-expo-sqlite.js +3 -1
  97. package/lib/debug/persisters/persister-file.js +1 -0
  98. package/lib/debug/persisters/persister-indexed-db.js +3 -1
  99. package/lib/debug/persisters/persister-partykit-client.js +1 -0
  100. package/lib/debug/persisters/persister-partykit-server.js +2 -1
  101. package/lib/debug/persisters/persister-remote.js +1 -0
  102. package/lib/debug/persisters/persister-sqlite-wasm.js +3 -1
  103. package/lib/debug/persisters/persister-sqlite3.js +3 -1
  104. package/lib/debug/persisters/persister-yjs.js +3 -1
  105. package/lib/debug/persisters.js +1 -0
  106. package/lib/debug/queries.js +9 -6
  107. package/lib/debug/relationships.js +7 -5
  108. package/lib/debug/store.js +3 -1
  109. package/lib/debug/tinybase.js +254 -235
  110. package/lib/debug/tools.js +10 -6
  111. package/lib/debug/ui-react-dom.js +3 -1
  112. package/lib/debug/ui-react.js +166 -200
  113. package/lib/es6/checkpoints.js +1 -1
  114. package/lib/es6/checkpoints.js.gz +0 -0
  115. package/lib/es6/indexes.js +1 -1
  116. package/lib/es6/indexes.js.gz +0 -0
  117. package/lib/es6/metrics.js +1 -1
  118. package/lib/es6/metrics.js.gz +0 -0
  119. package/lib/es6/persisters/persister-automerge.js +1 -1
  120. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  121. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  122. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  123. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  124. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  125. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  126. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  127. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  128. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  129. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  130. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  131. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  132. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  133. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  134. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  135. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  136. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  137. package/lib/es6/persisters/persister-yjs.js +1 -1
  138. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  139. package/lib/es6/queries.js +1 -1
  140. package/lib/es6/queries.js.gz +0 -0
  141. package/lib/es6/relationships.js +1 -1
  142. package/lib/es6/relationships.js.gz +0 -0
  143. package/lib/es6/store.js +1 -1
  144. package/lib/es6/store.js.gz +0 -0
  145. package/lib/es6/tinybase.js +1 -1
  146. package/lib/es6/tinybase.js.gz +0 -0
  147. package/lib/es6/tools.js +1 -1
  148. package/lib/es6/tools.js.gz +0 -0
  149. package/lib/es6/ui-react-dom-debug.js +1 -1
  150. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  151. package/lib/es6/ui-react-dom.js +1 -1
  152. package/lib/es6/ui-react-dom.js.gz +0 -0
  153. package/lib/es6/ui-react.js +1 -1
  154. package/lib/es6/ui-react.js.gz +0 -0
  155. package/lib/indexes.js +1 -1
  156. package/lib/indexes.js.gz +0 -0
  157. package/lib/metrics.js +1 -1
  158. package/lib/metrics.js.gz +0 -0
  159. package/lib/persisters/persister-automerge.js +1 -1
  160. package/lib/persisters/persister-automerge.js.gz +0 -0
  161. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  162. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  163. package/lib/persisters/persister-electric-sql.js +1 -1
  164. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  165. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  166. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  167. package/lib/persisters/persister-expo-sqlite.js +1 -1
  168. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  169. package/lib/persisters/persister-indexed-db.js +1 -1
  170. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  171. package/lib/persisters/persister-partykit-server.js +1 -1
  172. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  173. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  174. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  175. package/lib/persisters/persister-sqlite3.js +1 -1
  176. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  177. package/lib/persisters/persister-yjs.js +1 -1
  178. package/lib/persisters/persister-yjs.js.gz +0 -0
  179. package/lib/queries.js +1 -1
  180. package/lib/queries.js.gz +0 -0
  181. package/lib/relationships.js +1 -1
  182. package/lib/relationships.js.gz +0 -0
  183. package/lib/store.js +1 -1
  184. package/lib/store.js.gz +0 -0
  185. package/lib/tinybase.js +1 -1
  186. package/lib/tinybase.js.gz +0 -0
  187. package/lib/tools.js +1 -1
  188. package/lib/tools.js.gz +0 -0
  189. package/lib/types/ui-react.d.ts +77 -88
  190. package/lib/types/with-schemas/ui-react.d.ts +84 -95
  191. package/lib/ui-react-dom.js +1 -1
  192. package/lib/ui-react-dom.js.gz +0 -0
  193. package/lib/ui-react.js +1 -1
  194. package/lib/ui-react.js.gz +0 -0
  195. package/lib/umd/checkpoints.js +1 -1
  196. package/lib/umd/checkpoints.js.gz +0 -0
  197. package/lib/umd/indexes.js +1 -1
  198. package/lib/umd/indexes.js.gz +0 -0
  199. package/lib/umd/metrics.js +1 -1
  200. package/lib/umd/metrics.js.gz +0 -0
  201. package/lib/umd/persisters/persister-automerge.js +1 -1
  202. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  203. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  204. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  205. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  206. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  207. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  208. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  209. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  210. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  211. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  212. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  213. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  214. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  215. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  216. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  217. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  218. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  219. package/lib/umd/persisters/persister-yjs.js +1 -1
  220. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  221. package/lib/umd/queries.js +1 -1
  222. package/lib/umd/queries.js.gz +0 -0
  223. package/lib/umd/relationships.js +1 -1
  224. package/lib/umd/relationships.js.gz +0 -0
  225. package/lib/umd/store.js +1 -1
  226. package/lib/umd/store.js.gz +0 -0
  227. package/lib/umd/tinybase.js +1 -1
  228. package/lib/umd/tinybase.js.gz +0 -0
  229. package/lib/umd/tools.js +1 -1
  230. package/lib/umd/tools.js.gz +0 -0
  231. package/lib/umd/ui-react-dom-debug.js +1 -1
  232. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  233. package/lib/umd/ui-react-dom.js +1 -1
  234. package/lib/umd/ui-react-dom.js.gz +0 -0
  235. package/lib/umd/ui-react.js +1 -1
  236. package/lib/umd/ui-react.js.gz +0 -0
  237. package/lib/umd-es6/checkpoints.js +1 -1
  238. package/lib/umd-es6/checkpoints.js.gz +0 -0
  239. package/lib/umd-es6/indexes.js +1 -1
  240. package/lib/umd-es6/indexes.js.gz +0 -0
  241. package/lib/umd-es6/metrics.js +1 -1
  242. package/lib/umd-es6/metrics.js.gz +0 -0
  243. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  244. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  245. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  246. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  247. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  248. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  249. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  250. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  251. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  252. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  253. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  254. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  255. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  256. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  257. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  258. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  259. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  260. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  261. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  262. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  263. package/lib/umd-es6/queries.js +1 -1
  264. package/lib/umd-es6/queries.js.gz +0 -0
  265. package/lib/umd-es6/relationships.js +1 -1
  266. package/lib/umd-es6/relationships.js.gz +0 -0
  267. package/lib/umd-es6/store.js +1 -1
  268. package/lib/umd-es6/store.js.gz +0 -0
  269. package/lib/umd-es6/tinybase.js +1 -1
  270. package/lib/umd-es6/tinybase.js.gz +0 -0
  271. package/lib/umd-es6/tools.js +1 -1
  272. package/lib/umd-es6/tools.js.gz +0 -0
  273. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  274. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  275. package/lib/umd-es6/ui-react-dom.js +1 -1
  276. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  277. package/lib/umd-es6/ui-react.js +1 -1
  278. package/lib/umd-es6/ui-react.js.gz +0 -0
  279. package/package.json +4 -4
  280. package/readme.md +13 -13
package/bin/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #! /usr/bin/env node
2
- import{resolve as t,dirname as e}from"path";import{readFileSync as r,writeFileSync as s}from"fs";import{createStore as a}from"tinybase";import{createTools as o}from"tinybase/tools";import{fileURLToPath as i}from"url";const n="utf8",m=Object,c=JSON.parse,p=(...t)=>{return e=t=>process.stdout.write(t+"\n"),t.forEach(e);var e},d=t=>c(r(t,n)),l=(e,r,a,o)=>{const i=t(e,r);p(o.padStart(23)+": "+i),s(i,a,n)},u=()=>{var t,e;p("","tinybase <command>","","Usage:",""),t=f,e=([,t,e],r)=>p(` tinybase ${r} ${t}`," - "+e,""),((t,e)=>{t.map(e)})(m.entries(t),(([t,r])=>e(r,t))),p("See also http://tinybase.org/guides/developer-tools/command-line/","")},f={help:[u,"","print this message"],version:[()=>p(d(t(e(i(import.meta.url)),"../package.json")).version),"","get the current TinyBase version"],getStoreApi:[async(t,e,r)=>{try{const[s,i,n,m]=await(t=>{const e=d(t);return o(a().setSchema(...(r=e,Array.isArray(r)?e:[e])));var r})(t).getPrettyStoreApi(e);l(r,e+".d.ts",s,"Definition"),l(r,e+".ts",i,"Implementation"),l(r,e+"-ui-react.d.ts",n,"UI React definition"),l(r,e+"-ui-react.tsx",m,"UI React implementation")}catch{process.stderr.write("ERROR: provide a valid schemaFile, storeName, and outputDir\n")}},"<schemaFile> <storeName> <outputDir>","generate .d.ts, .ts, and .tsx API files from a schema file"]};(()=>{const[,,t,...e]=process.argv;(f[t]?.[0]??u)(...e)})();
2
+ import{resolve as t,dirname as e}from"path";import{readFileSync as r,writeFileSync as s}from"fs";import{createStore as a}from"tinybase";import{createTools as o}from"tinybase/tools";import{fileURLToPath as i}from"url";const n="utf8",m=Object.entries,c=JSON.parse,p=(...t)=>{return e=t=>process.stdout.write(t+"\n"),t.forEach(e);var e},d=t=>c(r(t,n)),l=(e,r,a,o)=>{const i=t(e,r);p(o.padStart(23)+": "+i),s(i,a,n)},u=()=>{var t;p("","tinybase <command>","","Usage:",""),t=([,t,e],r)=>p(` tinybase ${r} ${t}`," - "+e,""),((t,e)=>{m(f).map(e)})(0,(([e,r])=>t(r,e))),p("See also http://tinybase.org/guides/developer-tools/command-line/","")},f={help:[u,"","print this message"],version:[()=>p(d(t(e(i(import.meta.url)),"../package.json")).version),"","get the current TinyBase version"],getStoreApi:[async(t,e,r)=>{try{const[s,i,n,m]=await(t=>{const e=d(t);return o(a().setSchema(...(r=e,Array.isArray(r)?e:[e])));var r})(t).getPrettyStoreApi(e);l(r,e+".d.ts",s,"Definition"),l(r,e+".ts",i,"Implementation"),l(r,e+"-ui-react.d.ts",n,"UI React definition"),l(r,e+"-ui-react.tsx",m,"UI React implementation")}catch{process.stderr.write("ERROR: provide a valid schemaFile, storeName, and outputDir\n")}},"<schemaFile> <storeName> <outputDir>","generate .d.ts, .ts, and .tsx API files from a schema file"]};(()=>{const[,,t,...e]=process.argv;(f[t]?.[0]??u)(...e)})();
@@ -1 +1 @@
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};
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(),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),g=e=>new Map(e),C=(e,t)=>e?.get(t),f=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),k=(e,t,n)=>(d(e,t)||f(e,t,n()),C(e,t)),L=(e,r,s,o,l=0)=>t((s?k:C)(e,r[l],l>n(r)-2?s:g),(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,y)=>{const z=new WeakMap;return S=>{z.has(S)||z.set(S,(S=>{let y,z,E,V=100,A=g(),F=g(),I=1;const M=g(),_=g(),[b,j,x]=(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=g();return[(e,t,n,r=[],s=(()=>[]))=>{o??=Z;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(C(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>C(d,e)[0](o,...t??[],...r))))),e=>t(C(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(C(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()}))]})(),B=g(),O=g(),T=[],W=[],$=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=C(B,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},m=e=>{f(B,e),f(O,e),j(_,[e])},q=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),m),D=()=>q(T,n(T)-V),G=()=>t(y,(()=>{l(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=c(T),E=1};let J,K;const N=(t="")=>(e(y)&&(y=""+z++,f(B,y,[A,F]),X(y,t),A=g(),F=g(),E=1),y),P=()=>{o(T)||(((e,...t)=>{e.unshift(...t)})(W,N()),$(0,y),y=c(T),E=1)},Q=()=>{o(W)||(l(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const t=N(e);return R(),t},X=(e,t)=>(Y(e)&&C(O,e)!==t&&(f(O,e,t),j(_,[e])),Z),Y=e=>d(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return t=e,h(O,((e,n)=>t(n,e)));var t},hasCheckpoint:Y,getCheckpoint:e=>C(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:t=>{const n=r(T,t)?P:r(W,t)?Q:null;for(;!e(n)&&t!=y;)n();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,t)=>b(t,_,[e]),delListener:e=>(x(e),Z),clear:()=>(q(T),q(W),e(y)||m(y),y=void 0,z=0,U(),Z),clearForward:()=>(o(W)||(q(W),j(M)),Z),destroy:()=>{S.delListener(J),S.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=S.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(I){G();const e=k(A,t,g),l=k(e,n,g),c=k(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(f(l,r))&&u(f(e,n))&&u(f(A,t))&&H(),R()}})),K=S.addValueListener(null,((e,t,n,r)=>{if(I){G();const e=k(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(f(F,t))&&H(),R()}}))}};return a(Z.clear())})(S));const y=z.get(S);return y._registerListeners(),y}})();export{S as createCheckpoints};
Binary file
@@ -1 +1 @@
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;
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),g=e=>new Map(e),C=(e,t)=>e?.get(t),k=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),f=(e,t,n)=>(d(e,t)||k(e,t,n()),C(e,t)),L=(e,r,s,o,l=0)=>t((s?f:C)(e,r[l],l>n(r)-2?s:g),(t=>{if(l>n(r)-2)return o?.(t)&&k(e,r[l]),t;const c=L(t,r,s,o,l+1);return u(t)&&k(e,r[l]),c})),v=t=>new Set(Array.isArray(t)||e(t)?t:[t]),w=/^\d+$/,S=((S,y)=>{const z=new WeakMap;return S=>{z.has(S)||z.set(S,(S=>{let y,z,E,V=100,A=g(),F=g(),I=1;const M=g(),_=g(),[b,j,x]=(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=g();return[(e,t,n,r=[],s=(()=>[]))=>{o??=Z;const l=c(1);var i,a;return k(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(C(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>C(d,e)[0](o,...t??[],...r))))),e=>t(C(d,e),(([,t,n])=>(L(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),k(d,e),a(e),n))),r=>t(C(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()}))]})(),B=g(),O=g(),T=[],W=[],$=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=C(B,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},m=e=>{k(B,e),k(O,e),j(_,[e])},q=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),m),D=()=>q(T,n(T)-V),G=()=>t(y,(()=>{l(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=c(T),E=1};let J,K;const N=(t="")=>(e(y)&&(y=""+z++,k(B,y,[A,F]),X(y,t),A=g(),F=g(),E=1),y),P=()=>{o(T)||(((e,...t)=>{e.unshift(...t)})(W,N()),$(0,y),y=c(T),E=1)},Q=()=>{o(W)||(l(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const t=N(e);return R(),t},X=(e,t)=>(Y(e)&&C(O,e)!==t&&(k(O,e,t),j(_,[e])),Z),Y=e=>d(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return t=e,h(O,((e,n)=>t(n,e)));var t},hasCheckpoint:Y,getCheckpoint:e=>C(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:t=>{const n=r(T,t)?P:r(W,t)?Q:null;for(;!e(n)&&t!=y;)n();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,t)=>b(t,_,[e]),delListener:e=>(x(e),Z),clear:()=>(q(T),q(W),e(y)||m(y),y=void 0,z=0,U(),Z),clearForward:()=>(o(W)||(q(W),j(M)),Z),destroy:()=>{S.delListener(J),S.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=S.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(I){G();const e=f(A,t,g),l=f(e,n,g),c=f(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(k(l,r))&&u(k(e,n))&&u(k(A,t))&&H(),R()}})),K=S.addValueListener(null,((e,t,n,r)=>{if(I){G();const e=f(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(k(F,t))&&H(),R()}}))}};return a(Z.clear())})(S));const y=z.get(S);return y._registerListeners(),y}})();exports.createCheckpoints=S;
Binary file
@@ -1 +1 @@
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;
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,n)=>{const M=new WeakMap;return e=>{M.has(e)||M.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));return M.get(e)}})();exports.createIndexes=M;
Binary file
@@ -1 +1 @@
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;
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,i)=>{const h=new WeakMap;return s=>{h.has(s)||h.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));return h.get(s)}})();exports.createMetrics=j;
Binary file
@@ -1 +1 @@
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()=>2==y(s.doc[n])?A(s.doc,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
+ "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.entries,o=a.keys,c=a.freeze,r=(t,a)=>e(t,(t=>t[a])),i=(e,a)=>!t(r(e,a)),d=(t,e)=>(delete t[e],t),y=(t,e)=>((t,e)=>t.map(e))(n(t),(([t,a])=>e(a,t))),u=t=>o(t).length,v=n=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(n)&&0==u(n),h=t=>new Map(t),l=(t,e)=>t?.get(e),w=(e,a,s)=>{return t(s)?(n=e,o=a,n?.delete(o),e):e?.set(a,s);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||w(t,e,a()),l(t,e)},p=h(),A=h(),f=(t,e)=>[t[e].t,t[e].v],L=(e,a,s,n)=>{const o=t(a)?e:((t,e,a)=>(i(t,e)||(t[e]={}),t[e]))(e,a);let c;return y(s,((t,e)=>{n(o,e,t)&&(c=1)})),y(o,((t,e)=>{i(s,e)||(d(o,e),c=1)})),!t(a)&&v(o)&&d(e,a),c};exports.createAutomergePersister=(a,s,n="tinybase",o)=>(s.change((t=>t[n]={})),((a,s,n,o,r,i,[d,y]=[],u=[])=>{let h,f,L,S=0,C=0;g(p,u,(()=>0)),g(A,u,(()=>[]));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=o((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(),h=a.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();v(a)&&v(s)||b.save((()=>[a,s]))})),b),stopAutoSave:()=>(e(h,a.delListener),h=void 0,b),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(l(A,u),...e),await(async()=>{if(!l(p,u)){for(w(p,u,1);!t((e=l(A,u),f=e.shift()));)try{await f()}catch(t){i?.(t)}w(p,u,0)}var e})(),b),getStore:()=>a,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(b[d]=()=>y),c(b)})(a,(async()=>2==u(s.doc[n])?f(s.doc,n):void 0),(async(a,o)=>s.change((s=>((a,s,n,o)=>{((t,e)=>{v(t[e])&&(t[e]={t:{},v:{}})})(a,s);const[c,i]=f(a,s),u=()=>{h=1};let h=1;if(e(o?.(),(([a,s])=>{h=0,y(a,((a,s)=>h?0:t(a)?d(c,s):e(c[s],(s=>y(a,((a,n)=>h?0:t(a)?d(s,n):e(r(s,n),(e=>y(a,((a,s)=>t(a)?d(e,s):e[s]=a))),u)))),u))),y(s,((e,a)=>h?0:t(e)?d(i,a):i[a]=e))})),h){const[t,e]=n();L(c,void 0,t,((t,e,a)=>L(c,e,a,((t,e,a)=>L(t,e,a,((t,e,a)=>{if(r(t,e)!==a)return t[e]=a,1})))))),L(i,void 0,e,((t,e,a)=>{r(i,e)!==a&&(i[e]=a)}))}})(s,n,a,o)))),(t=>{const e=({doc:e})=>t((()=>f(e,n)));return s.on("change",e),e}),(t=>{s.removeListener("change",t)}),o,["getDocHandle",s]));
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==y(a),L=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),h=Object,C=a=>h.getPrototypeOf(a),S=h.keys,D=h.freeze,g=(a=[])=>h.fromEntries(a),I=(...a)=>h.assign({},...a),b=(a,t)=>p(h.entries(a),(([a,e])=>t(e,a))),F=a=>h.values(a),M=a=>y(S(a)),$=a=>(a=>!o(a)&&r(C(a),(a=>a==h.prototype||o(C(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(R(a,t)||W(a,t,e()),B(a,t)),x=(a,t,e,s=W)=>(b(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),U=a=>new Set(Array.isArray(a)||o(a)?a:[a]),Y=(a,t)=>a?.add(t),k=T+"*FROM",G="FROM pragma_table_",J="WHERE",q=(a,t,s)=>{const n=P();return[async()=>x(n,g(await E(p(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(p(await a(T+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,x(j(n,t,P),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!o(B(B(n,a),t)))(t,e)?g(L(p(await a(k+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=U();b(i??{},(a=>p(S(a??{}),(a=>Y(l,a)))));const y=f(l);if(!w&&r&&A(y)&&R(n,t))return await a("DROP TABLE"+v(t)),void W(n,t);if(A(y)||R(n,t)){const e=B(n,t),i=U(_(e));await E([...p(y,(async s=>{N(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),W(e,s,""))})),...!w&&c?p(f(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(p(y,(a=>e+v(a))))});`),W(n,t,P([[s,""],...p(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(b(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+J+v(s)+"=?",[n]):A(y)||await z(a,t,s,S(e),[n,...F(e)])})));else if(A(y))R(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(_(B(n,t)),(a=>a!=s)),c=[],o=[];b(i??{},((a,t)=>{O(c,t,...p(e,(t=>a?.[t]))),O(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+v(t)+J+v(s)+"NOT IN("+K(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(p(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(p(i,(a=>v(a)+"=excluded."+v(a))),e),c),K=a=>m(p(a,(()=>"?")),e),V=JSON.parse,Q=P(),X=P(),Z=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;j(Q,l,(()=>0)),j(X,l,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(r(y,a.delListener),y=void 0,m),schedule:async(...a)=>(O(B(X,l),...a),await(async()=>{if(!B(Q,l)){for(W(Q,l,1);!o((a=B(X,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Q,l,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>w),D(m)},aa="store",ta=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=q(t,c,n);return Z(a,(async()=>await E((async()=>(await w(),V((await l(i,d))[u]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ea=(a,t,e,s,n,[i,c,[r,w,l]],y,v,T)=>{const[m,p,A,O]=q(t,y,n),R=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),f=async(a,t)=>w?await A(l,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await O((async()=>{await m();const a=await(async()=>g(L(await E(H(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>r?(await p(l,d))[u]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),o(t)){const[t,e]=a();await R(t),await f(e)}else{const[a,e]=t();await R(a,!0),await f(e,!0)}}))),e,s,n,[T,v],v)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},wa={load:0,save:0,[oa]:t+"_values"},la=(a,t,e,s)=>{const n=P();return b(a,((a,i)=>{const c=l(F(I(t,w(a)?{[e]:a}:a)),0,M(t));o(c[0])||s(i,c[0])||W(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,m;const[p,A,L,O]=(a=>{const e=(a=>I(ra,w(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],U(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(F(I(wa,c)),0,M(wa)),r=o[2],y=U(r);return[0,s,[la(n,{[ca]:null,[ia]:d},ca,(a=>Y(y,a)&&a==r)),la(i,{[oa]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>Y(y,t)&&t==r)),o],y]})(e);return(p?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(m??=n)||(a(),u=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,f(O),y,E)};exports.createCrSqliteWasmPersister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==y(a),L=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),h=Object,C=a=>h.getPrototypeOf(a),S=h.entries,D=h.keys,g=h.freeze,I=(a=[])=>h.fromEntries(a),b=(...a)=>h.assign({},...a),F=(a,t)=>p(S(a),(([a,e])=>t(e,a))),M=a=>h.values(a),$=a=>y(D(a)),P=a=>(a=>!o(a)&&r(C(a),(a=>a==h.prototype||o(C(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),x=(a,t,e)=>(R(a,t)||j(a,t,e()),H(a,t)),U=(a,t,e,s=j)=>(F(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),Y=a=>new Set(Array.isArray(a)||o(a)?a:[a]),k=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",q="WHERE",z=(a,t,s)=>{const n=_();return[async()=>U(n,I(await E(p(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,I(p(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,U(x(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!o(H(H(n,a),t)))(t,e)?I(L(p(await a(G+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!P(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=Y();F(i??{},(a=>p(D(a??{}),(a=>k(l,a)))));const y=f(l);if(!w&&r&&A(y)&&R(n,t))return await a("DROP TABLE"+v(t)),void j(n,t);if(A(y)||R(n,t)){const e=H(n,t),i=Y(B(e));await E([...p(y,(async s=>{N(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),j(e,s,""))})),...!w&&c?p(f(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),j(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(p(y,(a=>e+v(a))))});`),j(n,t,_([[s,""],...p(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(F(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+q+v(s)+"=?",[n]):A(y)||await K(a,t,s,D(e),[n,...M(e)])})));else if(A(y))R(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],o=[];F(i??{},((a,t)=>{O(c,t,...p(e,(t=>a?.[t]))),O(o,t)})),await K(a,t,s,e,c),await a("DELETE FROM"+v(t)+q+v(s)+"NOT IN("+V(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},K=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(p(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(p(i,(a=>v(a)+"=excluded."+v(a))),e),c),V=a=>m(p(a,(()=>"?")),e),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;x(X,l,(()=>0)),x(Z,l,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(r(y,a.delListener),y=void 0,m),schedule:async(...a)=>(O(H(Z,l),...a),await(async()=>{if(!H(X,l)){for(j(X,l,1);!o((a=H(Z,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,l,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>w),g(m)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await w(),Q((await l(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[r,w,l]],y,v,T)=>{const[m,p,A,O]=z(t,y,n),R=async(a,t)=>await E(W(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),f=async(a,t)=>w?await A(l,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await O((async()=>{await m();const a=await(async()=>I(L(await E(W(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>r?(await p(l,d))[u]:{})();return P(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),o(t)){const[t,e]=a();await R(t),await f(e)}else{const[a,e]=t();await R(a,!0),await f(e,!0)}}))),e,s,n,[T,v],v)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",wa={mode:na,[ia]:1},la={load:0,save:0,[ra]:t+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=l(M(b(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||s(i,c[0])||j(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,m;const[p,A,L,O]=(a=>{const e=(a=>b(wa,w(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(M(b(la,c)),0,$(la)),r=o[2],y=Y(r);return[0,s,[ya(n,{[oa]:null,[ca]:d},oa,(a=>k(y,a)&&a==r)),ya(i,{[ra]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(y,t)&&t==r)),o],y]})(e);return(p?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(m??=n)||(a(),u=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,f(O),y,E)};exports.createCrSqliteWasmPersister=(a,t,e,s,n)=>va(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),N=Object,C=a=>N.getPrototypeOf(a),D=N.keys,S=N.freeze,g=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),I=(a,t)=>A(N.entries(a),(([a,e])=>t(e,a))),F=a=>N.values(a),M=a=>y(D(a)),$=a=>(a=>!r(a)&&o(C(a),(a=>a==N.prototype||r(C(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(R(a,t),a):a?.set(t,e),j=(a,t,e)=>(h(a,t)||W(a,t,e()),B(a,t)),Y=(a,t,e,s=W)=>(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)=>o(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),x=T+"*FROM",G="FROM pragma_table_",J="WHERE",U=(a,t,s)=>{const n=P();return[async()=>Y(n,g(await E(A(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(A(await a(T+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,Y(j(n,t,P),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!r(B(B(n,a),t)))(t,e)?g(L(A(await a(x+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,s,i,c,o,l=!1)=>{const w=k();I(i??{},(a=>A(D(a??{}),(a=>q(w,a)))));const y=O(w);if(!l&&o&&p(y)&&h(n,t))return await a("DROP TABLE"+v(t)),void W(n,t);if(p(y)||h(n,t)){const e=B(n,t),i=k(_(e));await E([...A(y,(async s=>{R(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),W(e,s,""))})),...!l&&c?A(O(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(A(y,(a=>e+v(a))))});`),W(n,t,P([[s,""],...A(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(I(i,(async(e,n)=>{r(e)?await a("DELETE FROM"+v(t)+J+v(s)+"=?",[n]):p(y)||await z(a,t,s,D(e),[n,...F(e)])})));else if(p(y))h(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(_(B(n,t)),(a=>a!=s)),c=[],r=[];I(i??{},((a,t)=>{f(c,t,...A(e,(t=>a?.[t]))),f(r,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+v(t)+J+v(s)+"NOT IN("+K(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(A(i,(a=>e+v(a))))+")VALUES"+w(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(i,(a=>v(a)+"=excluded."+v(a))),e),c),K=a=>m(A(a,(()=>"?")),e),V=JSON.parse,Q=P(),X=P(),Z=(a,t,e,s,n,i,[c,l]=[],w=[])=>{let y,E,u,d=0,v=0;j(Q,w,(()=>0)),j(X,w,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(o(y,a.delListener),y=void 0,m),schedule:async(...a)=>(f(B(X,w),...a),await(async()=>{if(!B(Q,w)){for(W(Q,w,1);!r((a=B(X,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Q,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>l),S(m)},aa="store",ta=(a,t,e,s,n,[i],c,r,o)=>{const[l,w,y,E]=U(t,c,n);return Z(a,(async()=>await E((async()=>(await l(),V((await w(i,d))[u]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[o,r],r)},ea=(a,t,e,s,n,[i,c,[o,l,w]],y,v,T)=>{const[m,A,p,f]=U(t,y,n),h=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const r=a[c];t&&void 0===r||await p(e,s,r,n,i,t)}))),O=async(a,t)=>l?await p(w,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await f((async()=>{await m();const a=await(async()=>g(L(await E(H(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>o?(await A(w,d))[u]:{})();return $(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 O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[T,v],v)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",ra="tableName",oa={mode:sa,[na]:1},la={load:0,save:0,[ra]:t+"_values"},wa=(a,t,e,s)=>{const n=P();return I(a,((a,i)=>{const c=w(F(b(t,l(a)?{[e]:a}:a)),0,M(t));r(c[0])||s(i,c[0])||W(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,r,o,y,E="getDb")=>{let u,v,m;const[A,p,L,f]=(a=>{const e=(a=>b(oa,l(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,r=w(F(b(la,c)),0,M(la)),o=r[2],y=k(o);return[0,s,[wa(n,{[ca]:null,[ia]:d},ca,(a=>q(y,a)&&a==o)),wa(i,{[ra]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>q(y,t)&&t==o)),r],y]})(e);return(A?ta:ea)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(m??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),o,L,O(f),y,E)};exports.createElectricSqlPersister=(a,t,e,s,n)=>da(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
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),N=Object,C=a=>N.getPrototypeOf(a),D=N.entries,S=N.keys,g=N.freeze,b=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),F=(a,t)=>A(D(a),(([a,e])=>t(e,a))),M=a=>N.values(a),$=a=>y(S(a)),P=a=>(a=>!r(a)&&o(C(a),(a=>a==N.prototype||r(C(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>r(e)?(R(a,t),a):a?.set(t,e),Y=(a,t,e)=>(h(a,t)||j(a,t,e()),H(a,t)),k=(a,t,e,s=j)=>(F(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)=>o(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q=a=>new Set(Array.isArray(a)||r(a)?a:[a]),x=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,s)=>{const n=_();return[async()=>k(n,b(await E(A(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(A(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,k(Y(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?b(L(A(await a(G+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!P(t)))):{},async(t,s,i,c,o,l=!1)=>{const w=q();F(i??{},(a=>A(S(a??{}),(a=>x(w,a)))));const y=O(w);if(!l&&o&&p(y)&&h(n,t))return await a("DROP TABLE"+v(t)),void j(n,t);if(p(y)||h(n,t)){const e=H(n,t),i=q(B(e));await E([...A(y,(async s=>{R(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),j(e,s,""))})),...!l&&c?A(O(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),j(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(A(y,(a=>e+v(a))))});`),j(n,t,_([[s,""],...A(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(F(i,(async(e,n)=>{r(e)?await a("DELETE FROM"+v(t)+U+v(s)+"=?",[n]):p(y)||await K(a,t,s,S(e),[n,...M(e)])})));else if(p(y))h(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],r=[];F(i??{},((a,t)=>{f(c,t,...A(e,(t=>a?.[t]))),f(r,t)})),await K(a,t,s,e,c),await a("DELETE FROM"+v(t)+U+v(s)+"NOT IN("+V(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},K=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(A(i,(a=>e+v(a))))+")VALUES"+w(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(i,(a=>v(a)+"=excluded."+v(a))),e),c),V=a=>m(A(a,(()=>"?")),e),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,l]=[],w=[])=>{let y,E,u,d=0,v=0;Y(X,w,(()=>0)),Y(Z,w,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(o(y,a.delListener),y=void 0,m),schedule:async(...a)=>(f(H(Z,w),...a),await(async()=>{if(!H(X,w)){for(j(X,w,1);!r((a=H(Z,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>l),g(m)},ta="store",ea=(a,t,e,s,n,[i],c,r,o)=>{const[l,w,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await w(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[o,r],r)},sa=(a,t,e,s,n,[i,c,[o,l,w]],y,v,T)=>{const[m,A,p,f]=z(t,y,n),h=async(a,t)=>await E(W(c,(async([e,s,n,i],c)=>{const r=a[c];t&&void 0===r||await p(e,s,r,n,i,t)}))),O=async(a,t)=>l?await p(w,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await f((async()=>{await m();const a=await(async()=>b(L(await E(W(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await A(w,d))[u]:{})();return P(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 O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[T,v],v)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",oa="tableName",la={mode:na,[ia]:1},wa={load:0,save:0,[oa]:t+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=w(M(I(t,l(a)?{[e]:a}:a)),0,$(t));r(c[0])||s(i,c[0])||j(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,e,s,n,i,r,o,y,E="getDb")=>{let u,v,m;const[A,p,L,f]=(a=>{const e=(a=>I(la,l(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,r=w(M(I(wa,c)),0,$(wa)),o=r[2],y=q(o);return[0,s,[ya(n,{[ra]:null,[ca]:d},ra,(a=>x(y,a)&&a==o)),ya(i,{[oa]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>x(y,t)&&t==o)),r],y]})(e);return(A?ea:sa)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(m??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),o,L,O(f),y,E)};exports.createElectricSqlPersister=(a,t,e,s,n)=>va(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 +1 @@
1
- "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=a=>t(a)==n,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",v="_id",A=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",p=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),L=a=>0==E(a),N=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),C=Object,D=a=>C.getPrototypeOf(a),S=C.keys,g=C.freeze,b=(a=[])=>C.fromEntries(a),I=(...a)=>C.assign({},...a),F=(a,t)=>T(C.entries(a),(([a,e])=>t(e,a))),M=a=>C.values(a),$=a=>E(S(a)),P=a=>(a=>!r(a)&&l(D(a),(a=>a==C.prototype||r(D(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),x=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(R(a,t)||W(a,t,e()),B(a,t)),q=(a,t,e,s=W)=>(F(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),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,b(await u(T(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(T(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,q(j(n,t,_),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!r(B(B(n,a),t)))(t,e)?b(N(T(await a(G+A(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!P(t)))):{},async(t,e,i,c,o,l=!1)=>{const w=Y();F(i??{},(a=>T(S(a??{}),(a=>k(w,a)))));const y=f(w);if(!l&&o&&L(y)&&R(n,t))return await a("DROP TABLE"+A(t)),void W(n,t);if(L(y)||R(n,t)){const s=B(n,t),i=Y(x(s));await u([...T(y,(async e=>{h(i,e)||(await a(`ALTER TABLE${A(t)}ADD${A(e)}`),W(s,e,""))})),...!l&&c?T(f(i),(async n=>{n!=e&&(await a(`ALTER TABLE${A(t)}DROP${A(n)}`),W(s,n))})):[]])}else await a(`CREATE TABLE${A(t)}(${A(e)} PRIMARY KEY ON CONFLICT REPLACE${p(T(y,(a=>s+A(a))))});`),W(n,t,_([[e,""],...T(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+A(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+A(t)+U+A(e)+"=?",[n]):L(y)||await K(a,t,e,S(s),[n,...M(s)])})));else if(L(y))R(n,t)&&await a("DELETE FROM"+A(t)+"WHERE 1");else{const s=N(x(B(n,t)),(a=>a!=e)),c=[],o=[];F(i??{},((a,t)=>{O(c,t,...T(s,(t=>a?.[t]))),O(o,t)})),await K(a,t,e,s,c),await a("DELETE FROM"+A(t)+U+A(e)+"NOT IN("+V(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,c)=>await a("INSERT INTO"+A(t)+"("+A(e)+p(T(n,(a=>s+A(a))))+")VALUES"+y(i(`,(?${i(",?",E(n))})`,E(c)/(E(n)+1)),1)+"ON CONFLICT("+A(e)+")DO UPDATE SET"+p(T(n,(a=>A(a)+"=excluded."+A(a))),s),c),V=a=>p(T(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,E,u,d=0,v=0;j(X,w,(()=>0)),j(Z,w,(()=>[]));const A=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await A((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await A((async()=>a.setTransactionChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(O(B(Z,w),...a),await(async()=>{if(!B(X,w)){for(W(X,w,1);!r((a=B(Z,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(X,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),g(m)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await w(i,v))[d]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,v,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?C.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[o,l,w]],y,E,A)=>{const[m,p,T,L]=z(t,y,n),O=async(a,t)=>await u(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),R=async(a,t)=>l?await T(w,v,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await L((async()=>{await m();const a=await(async()=>b(N(await u(H(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await p(w,v))[d]:{})();return P(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),r(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,[A,E],E)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",la={mode:na,[ia]:1},wa={load:0,save:0,[ra]:e+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=y(M(I(t,w(a)?{[e]:a}:a)),0,$(t));r(c[0])||s(i,c[0])||W(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,t,s,n,i,c,r,l,E="getDb")=>{let u,d,A;const[p,T,L,N]=(a=>{const t=(a=>I(la,w(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=y(M(I(wa,c)),0,$(wa)),r=o[2],l=Y(r);return[0,s,[ya(n,{[oa]:null,[ca]:v},oa,(a=>k(l,a)&&a==r)),ya(i,{[ra]:null,[ca]:v,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),o],l]})(t);return(p?ea:sa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(d??=e)&&n==(A??=n)||(a(),u=t,d=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),u=d=null,i(t)}),r,L,f(N),l,E)};exports.createExpoSqliteNextPersister=(t,e,s,n,i)=>va(t,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),n,i,e);
1
+ "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=a=>t(a)==n,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",v="_id",A=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",p=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),L=a=>0==E(a),N=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),C=Object,D=a=>C.getPrototypeOf(a),S=C.entries,g=C.keys,b=C.freeze,I=(a=[])=>C.fromEntries(a),F=(...a)=>C.assign({},...a),M=(a,t)=>T(S(a),(([a,e])=>t(e,a))),$=a=>C.values(a),P=a=>E(g(a)),_=a=>(a=>!r(a)&&l(D(a),(a=>a==C.prototype||r(D(a))),(()=>!0)))(a)&&0==P(a),x=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),q=(a,t,e)=>(R(a,t)||j(a,t,e()),H(a,t)),Y=(a,t,e,s=j)=>(M(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),k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),J=m+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e)=>{const n=x();return[async()=>Y(n,I(await u(T(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(T(await a(m+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,Y(q(n,t,x),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!r(H(H(n,a),t)))(t,e)?I(N(T(await a(J+A(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!_(t)))):{},async(t,e,i,c,o,l=!1)=>{const w=k();M(i??{},(a=>T(g(a??{}),(a=>G(w,a)))));const y=f(w);if(!l&&o&&L(y)&&R(n,t))return await a("DROP TABLE"+A(t)),void j(n,t);if(L(y)||R(n,t)){const s=H(n,t),i=k(B(s));await u([...T(y,(async e=>{h(i,e)||(await a(`ALTER TABLE${A(t)}ADD${A(e)}`),j(s,e,""))})),...!l&&c?T(f(i),(async n=>{n!=e&&(await a(`ALTER TABLE${A(t)}DROP${A(n)}`),j(s,n))})):[]])}else await a(`CREATE TABLE${A(t)}(${A(e)} PRIMARY KEY ON CONFLICT REPLACE${p(T(y,(a=>s+A(a))))});`),j(n,t,x([[e,""],...T(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+A(t)+"WHERE 1"):await u(M(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+A(t)+z+A(e)+"=?",[n]):L(y)||await V(a,t,e,g(s),[n,...$(s)])})));else if(L(y))R(n,t)&&await a("DELETE FROM"+A(t)+"WHERE 1");else{const s=N(B(H(n,t)),(a=>a!=e)),c=[],o=[];M(i??{},((a,t)=>{O(c,t,...T(s,(t=>a?.[t]))),O(o,t)})),await V(a,t,e,s,c),await a("DELETE FROM"+A(t)+z+A(e)+"NOT IN("+Q(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,n,c)=>await a("INSERT INTO"+A(t)+"("+A(e)+p(T(n,(a=>s+A(a))))+")VALUES"+y(i(`,(?${i(",?",E(n))})`,E(c)/(E(n)+1)),1)+"ON CONFLICT("+A(e)+")DO UPDATE SET"+p(T(n,(a=>A(a)+"=excluded."+A(a))),s),c),Q=a=>p(T(a,(()=>"?")),s),X=JSON.parse,Z=x(),aa=x(),ta=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,E,u,d=0,v=0;q(Z,w,(()=>0)),q(aa,w,(()=>[]));const A=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await A((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await A((async()=>a.setTransactionChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(y,a.delListener),y=void 0,m),schedule:async(...a)=>(O(H(aa,w),...a),await(async()=>{if(!H(Z,w)){for(j(Z,w,1);!r((a=H(aa,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(Z,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>o),b(m)},ea="store",sa=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=K(t,c,n);return ta(a,(async()=>await E((async()=>(await l(),X((await w(i,v))[d]?.[ea]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,v,{[d]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?C.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},na=(a,t,e,s,n,[i,c,[o,l,w]],y,E,A)=>{const[m,p,T,L]=K(t,y,n),O=async(a,t)=>await u(W(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),R=async(a,t)=>l?await T(w,v,{[d]:a},!0,!0,t):null;return ta(a,(async()=>await L((async()=>{await m();const a=await(async()=>I(N(await u(W(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>o?(await p(w,v))[d]:{})();return _(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),r(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,[A,E],E)},ia="json",ca="autoLoadIntervalSeconds",oa="rowIdColumnName",ra="tableId",la="tableName",wa={mode:ia,[ca]:1},ya={load:0,save:0,[la]:e+"_values"},Ea=(a,t,e,s)=>{const n=x();return M(a,((a,i)=>{const c=y($(F(t,w(a)?{[e]:a}:a)),0,P(t));r(c[0])||s(i,c[0])||j(n,i,c)})),n},ua="pragma ",da="data_version",va="schema_version",Aa=(a,t,s,n,i,c,r,l,E="getDb")=>{let u,d,A;const[p,T,L,N]=(a=>{const t=(a=>F(wa,w(a)?{storeTableName:a}:a??{}))(a),s=t[ca];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=y($(F(ya,c)),0,P(ya)),r=o[2],l=k(r);return[0,s,[Ea(n,{[ra]:null,[oa]:v},ra,(a=>G(l,a)&&a==r)),Ea(i,{[la]:null,[oa]:v,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),o],l]})(t);return(p?sa:na)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ua+da))[0][da],e=(await s(ua+va))[0][va],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(d??=e)&&n==(A??=n)||(a(),u=t,d=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),u=d=null,i(t)}),r,L,f(N),l,E)};exports.createExpoSqliteNextPersister=(t,e,s,n,i)=>Aa(t,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),n,i,e);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),h=Object,C=a=>h.getPrototypeOf(a),D=h.keys,S=h.freeze,g=(a=[])=>h.fromEntries(a),b=(...a)=>h.assign({},...a),I=(a,t)=>T(h.entries(a),(([a,e])=>t(e,a))),F=a=>h.values(a),M=a=>y(D(a)),$=a=>(a=>!o(a)&&r(C(a),(a=>a==h.prototype||o(C(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),B(a,t)),j=(a,t,e,s=x)=>(I(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),Y=a=>new Set(Array.isArray(a)||o(a)?a:[a]),k=(a,t)=>a?.add(t),q=m+"*FROM",G="FROM pragma_table_",J="WHERE",U=(a,t,s)=>{const n=P();return[async()=>j(n,g(await E(T(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(T(await a(m+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,j(W(n,t,P),e,((a,t,e)=>{e!=B(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!o(B(B(n,a),t)))(t,e)?g(L(T(await a(q+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=Y();I(i??{},(a=>T(D(a??{}),(a=>k(l,a)))));const y=R(l);if(!w&&r&&p(y)&&O(n,t))return await a("DROP TABLE"+v(t)),void x(n,t);if(p(y)||O(n,t)){const e=B(n,t),i=Y(_(e));await E([...T(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),x(e,s,""))})),...!w&&c?T(R(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),x(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${A(T(y,(a=>e+v(a))))});`),x(n,t,P([[s,""],...T(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(I(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+J+v(s)+"=?",[n]):p(y)||await z(a,t,s,D(e),[n,...F(e)])})));else if(p(y))O(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(_(B(n,t)),(a=>a!=s)),c=[],o=[];I(i??{},((a,t)=>{N(c,t,...T(e,(t=>a?.[t]))),N(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+v(t)+J+v(s)+"NOT IN("+K(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+A(T(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+A(T(i,(a=>v(a)+"=excluded."+v(a))),e),c),K=a=>A(T(a,(()=>"?")),e),V=JSON.parse,Q=P(),X=P(),Z=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;W(Q,l,(()=>0)),W(X,l,(()=>[]));const m=async a=>(2!=d&&(d=1,await A.schedule((async()=>{await a(),d=0}))),A),A={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(A.stopAutoLoad(),await A.load(e,n),v=1,u=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)}}))})),A),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),A),save:async t=>(1!=d&&(d=2,await A.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||A.save((()=>[e,s]))})),A),stopAutoSave:()=>(r(y,a.delListener),y=void 0,A),schedule:async(...a)=>(N(B(X,l),...a),await(async()=>{if(!B(Q,l)){for(x(Q,l,1);!o((a=B(X,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}x(Q,l,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>w),S(A)},aa="store",ta=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=U(t,c,n);return Z(a,(async()=>await E((async()=>(await w(),V((await l(i,d))[u]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ea=(a,t,e,s,n,[i,c,[r,w,l]],y,v,m)=>{const[A,T,p,N]=U(t,y,n),O=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),R=async(a,t)=>w?await p(l,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await N((async()=>{await A();const a=await(async()=>g(L(await E(H(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>r?(await T(l,d))[u]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await A(),o(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,[m,v],v)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},wa={load:0,save:0,[oa]:t+"_values"},la=(a,t,e,s)=>{const n=P();return I(a,((a,i)=>{const c=l(F(b(t,w(a)?{[e]:a}:a)),0,M(t));o(c[0])||s(i,c[0])||x(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,A;const[T,p,L,N]=(a=>{const e=(a=>b(ra,w(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(F(b(wa,c)),0,M(wa)),r=o[2],y=Y(r);return[0,s,[la(n,{[ca]:null,[ia]:d},ca,(a=>k(y,a)&&a==r)),la(i,{[oa]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>k(y,t)&&t==r)),o],y]})(e);return(T?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(A??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,R(N),y,E)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>da(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
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),h=Object,C=a=>h.getPrototypeOf(a),D=h.entries,S=h.keys,g=h.freeze,b=(a=[])=>h.fromEntries(a),I=(...a)=>h.assign({},...a),F=(a,t)=>T(D(a),(([a,e])=>t(e,a))),M=a=>h.values(a),$=a=>y(S(a)),P=a=>(a=>!o(a)&&r(C(a),(a=>a==h.prototype||o(C(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),x=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||W(a,t,e()),H(a,t)),Y=(a,t,e,s=W)=>(F(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,s)=>{const n=_();return[async()=>Y(n,b(await E(T(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(T(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,Y(j(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!o(H(H(n,a),t)))(t,e)?b(L(T(await a(G+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!P(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=k();F(i??{},(a=>T(S(a??{}),(a=>q(l,a)))));const y=R(l);if(!w&&r&&p(y)&&O(n,t))return await a("DROP TABLE"+v(t)),void W(n,t);if(p(y)||O(n,t)){const e=H(n,t),i=k(B(e));await E([...T(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),W(e,s,""))})),...!w&&c?T(R(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${A(T(y,(a=>e+v(a))))});`),W(n,t,_([[s,""],...T(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(F(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+U+v(s)+"=?",[n]):p(y)||await K(a,t,s,S(e),[n,...M(e)])})));else if(p(y))O(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],o=[];F(i??{},((a,t)=>{N(c,t,...T(e,(t=>a?.[t]))),N(o,t)})),await K(a,t,s,e,c),await a("DELETE FROM"+v(t)+U+v(s)+"NOT IN("+V(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},K=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+A(T(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+A(T(i,(a=>v(a)+"=excluded."+v(a))),e),c),V=a=>A(T(a,(()=>"?")),e),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;j(X,l,(()=>0)),j(Z,l,(()=>[]));const m=async a=>(2!=d&&(d=1,await A.schedule((async()=>{await a(),d=0}))),A),A={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(A.stopAutoLoad(),await A.load(e,n),v=1,u=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)}}))})),A),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),A),save:async t=>(1!=d&&(d=2,await A.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||A.save((()=>[e,s]))})),A),stopAutoSave:()=>(r(y,a.delListener),y=void 0,A),schedule:async(...a)=>(N(H(Z,l),...a),await(async()=>{if(!H(X,l)){for(W(X,l,1);!o((a=H(Z,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(X,l,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>w),g(A)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await w(),Q((await l(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[r,w,l]],y,v,m)=>{const[A,T,p,N]=z(t,y,n),O=async(a,t)=>await E(x(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),R=async(a,t)=>w?await p(l,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await N((async()=>{await A();const a=await(async()=>b(L(await E(x(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>r?(await T(l,d))[u]:{})();return P(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await A(),o(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,[m,v],v)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",wa={mode:na,[ia]:1},la={load:0,save:0,[ra]:t+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=l(M(I(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||s(i,c[0])||W(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,A;const[T,p,L,N]=(a=>{const e=(a=>I(wa,w(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(M(I(la,c)),0,$(la)),r=o[2],y=k(r);return[0,s,[ya(n,{[oa]:null,[ca]:d},oa,(a=>q(y,a)&&a==r)),ya(i,{[ra]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>q(y,t)&&t==r)),o],y]})(e);return(T?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(A??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,R(N),y,E)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>va(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 +1 @@
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),l=i.keys,d=i.freeze,u=t=>(t=>!a(t)&&s(y(t),(t=>t==i.prototype||a(y(t))),(()=>!0)))(t)&&0==(t=>l(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"},L=async(t,e)=>{const n=((e,a)=>r(i.entries(e),(([e,a])=>j(t,"put",{k:e,v:a}))))(e);r(await j(t,"getAllKeys"),(o=>((t,e)=>!a(((t,e)=>s(t,(t=>t[e])))(t,e)))(e,o)?0:c(n,j(t,"delete",o)))),await o(n)},j=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,l=1,w)=>{const k=async(t,e=[],a=0)=>n(((s,n)=>{const c=S.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,l]=[],w=[])=>{let S,b,f,L=0,j=0;v(g,w,(()=>0)),v(A,w,(()=>[]));const k=async t=>(2!=L&&(L=1,await x.schedule((async()=>{await t(),L=0}))),x),x={load:async(a,s)=>await k((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(x.stopAutoLoad(),await x.load(a,s),j=1,f=o((async(a,s)=>{if(s){const e=s();await k((async()=>t.setTransactionChanges(e)))}else await k((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),x),stopAutoLoad:()=>(j&&(r(f),f=void 0,j=0),x),save:async e=>(1!=L&&(L=2,await x.schedule((async()=>{try{await n(t.getContent,e)}catch(t){i?.(t)}L=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),S=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();u(a)&&u(s)||x.save((()=>[a,s]))})),x),stopAutoSave:()=>(s(S,t.delListener),S=void 0,x),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})(),x),getStore:()=>t,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(x[y]=()=>l),d(x)})(t,(async()=>await k((async t=>((t=[])=>i.fromEntries(t))(r(await j(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await k((async(t,e)=>await L(t,e)),t(),1)),(t=>setInterval(t,1e3*l)),(t=>e(t)),w,["getDbName",y])},exports.objectStoreMatch=L;
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),l=i.entries,d=i.keys,u=i.freeze,w=t=>(t=>!a(t)&&s(y(t),(t=>t==i.prototype||a(y(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),h=t=>new Map(t),p=(t,e)=>t?.get(e),v=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||v(t,e,a()),p(t,e)},A=h(),S=h(),b=globalThis.window,f=["t","v"],L={keyPath:"k"},j=async(t,e)=>{const n=((e,a)=>r(l(e),(([e,a])=>k(t,"put",{k:e,v:a}))))(e);r(await k(t,"getAllKeys"),(o=>((t,e)=>!a(((t,e)=>s(t,(t=>t[e])))(t,e)))(e,o)?0:c(n,k(t,"delete",o)))),await o(n)},k=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,l=1,d)=>{const h=async(t,e=[],a=0)=>n(((s,n)=>{const c=b.indexedDB.open(y,a?2:void 0);c.onupgradeneeded=()=>a&&r(f,(t=>{try{c.result.createObjectStore(t,L)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(f,"readwrite"),n=await o(r(f,(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,l]=[],d=[])=>{let h,b,f,L=0,j=0;g(A,d,(()=>0)),g(S,d,(()=>[]));const k=async t=>(2!=L&&(L=1,await x.schedule((async()=>{await t(),L=0}))),x),x={load:async(a,s)=>await k((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(x.stopAutoLoad(),await x.load(a,s),j=1,f=o((async(a,s)=>{if(s){const e=s();await k((async()=>t.setTransactionChanges(e)))}else await k((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),x),stopAutoLoad:()=>(j&&(r(f),f=void 0,j=0),x),save:async e=>(1!=L&&(L=2,await x.schedule((async()=>{try{await n(t.getContent,e)}catch(t){i?.(t)}L=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),h=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();w(a)&&w(s)||x.save((()=>[a,s]))})),x),stopAutoSave:()=>(s(h,t.delListener),h=void 0,x),schedule:async(...t)=>(c(p(S,d),...t),await(async()=>{if(!p(A,d)){for(v(A,d,1);!a((t=p(S,d),b=t.shift()));)try{await b()}catch(t){i?.(t)}v(A,d,0)}var t})(),x),getStore:()=>t,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(x[y]=()=>l),u(x)})(t,(async()=>await h((async t=>((t=[])=>i.fromEntries(t))(r(await k(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await h((async(t,e)=>await j(t,e)),t(),1)),(t=>setInterval(t,1e3*l)),(t=>e(t)),d,["getDbName",y])},exports.objectStoreMatch=j;
@@ -1 +1 @@
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
+ "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=h.entries,f=(a=[])=>h.fromEntries(a),u=(a,t)=>w(y(a),(([a,e])=>t(e,a))),p=(a,t,e)=>(((a,t)=>!r(((a,t)=>i(a,(a=>a[t])))(a,t)))(a,t)||(a[t]=e()),a[t]),S=a=>JSON.stringify(a,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)),d=JSON.parse,x=(e,s,n)=>e+s+(a(n)==t?n:S(n)),P=(a,t,e)=>{const n=o(a);return s(t,a)?[t[n],(e?d:String)(c(t,n+1))]:void 0},m=(a,t)=>((a,t)=>a?.forEach(t))(a,((a,e)=>t(e,a))),D="hasStore",b=f(w(["Origin","Methods","Headers"],(a=>["Access-Control-Allow-"+a,"*"]))),R=async(a,t="")=>!!await a.get(t+D),T=async(a,t="")=>{const s={},n={};return m(await a.list(),((a,r)=>i(P(t,a),(([a,t])=>{if(a==e){const[a,e,n]=d("["+t+"]");p(p(s,a,f),e,f)[n]=r}else"v"==a&&(n[t]=r)})))),[s,n]},C=async(a,t,e)=>a.party.broadcast(x(a.config.messagePrefix,"s",t),e),v=async(a,t,n,i)=>{const c=a.party.storage,w=a.config.storagePrefix,h={[w+D]:1},y=[],f=[];await l(u(t[0],(async(t,s)=>r(t)?!n&&await a.canDelTable(s,i)&&((a,...t)=>a.unshift(...t))(f,O(w,e,s)):await a.canSetTable(s,n,i)&&await l(u(t,(async(t,o)=>r(t)?!n&&await a.canDelRow(s,o,i)&&g(f,O(w,e,s,o)):await a.canSetRow(s,o,n,i)&&await l(u(t,(async(t,l)=>{const f=[s,o,l],u=O(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(u(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(f)&&m(await c.list(),(a=>f.every((t=>!s(a,t)||g(y,a)&&0)))),await c.delete(y),await c.put(h)},O=(a,t,...e)=>x(a,t,c(S(e),1,-1)),V=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??=b}async onRequest(a){const{party:{storage:t},config:{storePath:e,storagePrefix:s}}=this;if(new URL(a.url).pathname.endsWith(e)){const e=await R(t,s),n=await a.text();return"PUT"==a.method?e?V(this,205):(await v(this,d(n),!0,a),V(this,201)):V(this,200,e?S(await T(t,s)):"")}return V(this,404)}async onMessage(a,t){const{config:{messagePrefix:e,storagePrefix:s}}=this;await i(P(e,a,1),(async([a,e])=>{"s"==a&&await R(this.party.storage,s)&&(await v(this,e,!1,t),C(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=C,exports.hasStoreInStorage=R,exports.loadStoreFromStorage=T;
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,w=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",p=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),A=a=>0==y(a),L=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),N=Object,S=a=>N.getPrototypeOf(a),C=N.keys,D=N.freeze,b=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),I=(a,t)=>T(N.entries(a),(([a,e])=>t(e,a))),_=a=>N.values(a),M=a=>y(C(a)),F=a=>(a=>!o(a)&&r(S(a),(a=>a==N.prototype||o(S(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),P=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),j=(a,t,e)=>(h(a,t)||W(a,t,e()),B(a,t)),k=(a,t,e,s=W)=>(I(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q=a=>new Set(Array.isArray(a)||o(a)?a:[a]),x=(a,t)=>a?.add(t),Y=m+"*FROM",G="FROM pragma_table_",J="WHERE",U=(a,t,s)=>{const n=$();return[async()=>k(n,b(await E(T(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+z(t)+")ORDER BY name",t),(async({name:t})=>[t,b(T(await a(m+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,k(j(n,t,$),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!o(B(B(n,a),t)))(t,e)?b(L(T(await a(Y+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!F(t)))):{},async(t,s,i,c,r,l=!1)=>{const w=q();I(i??{},(a=>T(C(a??{}),(a=>x(w,a)))));const y=O(w);if(!l&&r&&A(y)&&h(n,t))return await a("DROP TABLE"+p(t)),void W(n,t);if(A(y)||h(n,t)){const e=B(n,t),i=q(P(e));await E([...T(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${p(t)}ADD${p(s)}`),W(e,s,""))})),...!l&&c?T(O(i),(async n=>{n!=s&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(s)} PRIMARY KEY ON CONFLICT REPLACE${v(T(y,(a=>e+p(a))))});`),W(n,t,$([[s,""],...T(y,(a=>[a,""]))]));if(l)o(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await E(I(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+p(t)+J+p(s)+"=?",[n]):A(y)||await V(a,t,s,C(e),[n,..._(e)])})));else if(A(y))h(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const e=L(P(B(n,t)),(a=>a!=s)),c=[],o=[];I(i??{},((a,t)=>{R(c,t,...T(e,(t=>a?.[t]))),R(o,t)})),await V(a,t,s,e,c),await a("DELETE FROM"+p(t)+J+p(s)+"NOT IN("+z(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},V=async(a,t,s,i,c)=>await a("INSERT INTO"+p(t)+"("+p(s)+v(T(i,(a=>e+p(a))))+")VALUES"+w(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+p(s)+")DO UPDATE SET"+v(T(i,(a=>p(a)+"=excluded."+p(a))),e),c),z=a=>v(T(a,(()=>"?")),e),K=JSON.parse,Q=$(),X=$(),Z=(a,t,e,s,n,i,[c,l]=[],w=[])=>{let y,E,u,d=0,p=0;j(Q,w,(()=>0)),j(X,w,(()=>[]));const m=async a=>(2!=d&&(d=1,await v.schedule((async()=>{await a(),d=0}))),v),v={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),p=1,u=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)}}))})),v),stopAutoLoad:()=>(p&&(n(u),u=void 0,p=0),v),save:async t=>(1!=d&&(d=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();F(e)&&F(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(r(y,a.delListener),y=void 0,v),schedule:async(...a)=>(R(B(X,w),...a),await(async()=>{if(!B(Q,w)){for(W(Q,w,1);!o((a=B(X,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Q,w,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(v[c]=()=>l),D(v)},aa="store",ta=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=U(t,c,n);return Z(a,(async()=>await E((async()=>(await l(),K((await w(i,d))[u]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ea=(a,t,e,s,n,[i,c,[r,l,w]],y,p,m)=>{const[v,T,A,R]=U(t,y,n),h=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),O=async(a,t)=>l?await A(w,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await R((async()=>{await v();const a=await(async()=>b(L(await E(H(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>r?(await T(w,d))[u]:{})();return F(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await R((async()=>{if(await v(),o(t)){const[t,e]=a();await h(t),await O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[m,p],p)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},la={load:0,save:0,[oa]:t+"_values"},wa=(a,t,e,s)=>{const n=$();return I(a,((a,i)=>{const c=w(_(g(t,l(a)?{[e]:a}:a)),0,M(t));o(c[0])||s(i,c[0])||W(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,p,v;const[T,A,L,R]=(a=>{const e=(a=>g(ra,l(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=w(_(g(la,c)),0,M(la)),r=o[2],y=q(r);return[0,s,[wa(n,{[ca]:null,[ia]:d},ca,(a=>x(y,a)&&a==r)),wa(i,{[oa]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>x(y,t)&&t==r)),o],y]})(e);return(T?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(p??=e)&&n==(v??=n)||(a(),u=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>R.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=p=null,i(t)}),r,L,O(R),y,E)};exports.createSqliteWasmPersister=(a,t,e,s,n,i)=>da(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
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,w=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",p=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",v=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),A=a=>0==y(a),L=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),N=Object,S=a=>N.getPrototypeOf(a),C=N.entries,D=N.keys,b=N.freeze,g=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),_=(a,t)=>T(C(a),(([a,e])=>t(e,a))),M=a=>N.values(a),F=a=>y(D(a)),$=a=>(a=>!o(a)&&r(S(a),(a=>a==N.prototype||o(S(a))),(()=>!0)))(a)&&0==F(a),P=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),k=(a,t,e)=>(h(a,t)||j(a,t,e()),H(a,t)),q=(a,t,e,s=j)=>(_(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),x=a=>new Set(Array.isArray(a)||o(a)?a:[a]),Y=(a,t)=>a?.add(t),G=m+"*FROM",J="FROM pragma_table_",U="WHERE",V=(a,t,s)=>{const n=P();return[async()=>q(n,g(await E(T(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(T(await a(m+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,q(k(n,t,P),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!o(H(H(n,a),t)))(t,e)?g(L(T(await a(G+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,i,c,r,l=!1)=>{const w=x();_(i??{},(a=>T(D(a??{}),(a=>Y(w,a)))));const y=O(w);if(!l&&r&&A(y)&&h(n,t))return await a("DROP TABLE"+p(t)),void j(n,t);if(A(y)||h(n,t)){const e=H(n,t),i=x(B(e));await E([...T(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${p(t)}ADD${p(s)}`),j(e,s,""))})),...!l&&c?T(O(i),(async n=>{n!=s&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),j(e,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(s)} PRIMARY KEY ON CONFLICT REPLACE${v(T(y,(a=>e+p(a))))});`),j(n,t,P([[s,""],...T(y,(a=>[a,""]))]));if(l)o(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await E(_(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+p(t)+U+p(s)+"=?",[n]):A(y)||await z(a,t,s,D(e),[n,...M(e)])})));else if(A(y))h(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],o=[];_(i??{},((a,t)=>{R(c,t,...T(e,(t=>a?.[t]))),R(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+p(t)+U+p(s)+"NOT IN("+K(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+p(t)+"("+p(s)+v(T(i,(a=>e+p(a))))+")VALUES"+w(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+p(s)+")DO UPDATE SET"+v(T(i,(a=>p(a)+"=excluded."+p(a))),e),c),K=a=>v(T(a,(()=>"?")),e),Q=JSON.parse,X=P(),Z=P(),aa=(a,t,e,s,n,i,[c,l]=[],w=[])=>{let y,E,u,d=0,p=0;k(X,w,(()=>0)),k(Z,w,(()=>[]));const m=async a=>(2!=d&&(d=1,await v.schedule((async()=>{await a(),d=0}))),v),v={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),p=1,u=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)}}))})),v),stopAutoLoad:()=>(p&&(n(u),u=void 0,p=0),v),save:async t=>(1!=d&&(d=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(r(y,a.delListener),y=void 0,v),schedule:async(...a)=>(R(H(Z,w),...a),await(async()=>{if(!H(X,w)){for(j(X,w,1);!o((a=H(Z,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,w,0)}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(v[c]=()=>l),b(v)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=V(t,c,n);return aa(a,(async()=>await E((async()=>(await l(),Q((await w(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[r,l,w]],y,p,m)=>{const[v,T,A,R]=V(t,y,n),h=async(a,t)=>await E(W(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),O=async(a,t)=>l?await A(w,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await R((async()=>{await v();const a=await(async()=>g(L(await E(W(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>r?(await T(w,d))[u]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await R((async()=>{if(await v(),o(t)){const[t,e]=a();await h(t),await O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[m,p],p)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",la={mode:na,[ia]:1},wa={load:0,save:0,[ra]:t+"_values"},ya=(a,t,e,s)=>{const n=P();return _(a,((a,i)=>{const c=w(M(I(t,l(a)?{[e]:a}:a)),0,F(t));o(c[0])||s(i,c[0])||j(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",pa=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,p,v;const[T,A,L,R]=(a=>{const e=(a=>I(la,l(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],x(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=w(M(I(wa,c)),0,F(wa)),r=o[2],y=x(r);return[0,s,[ya(n,{[oa]:null,[ca]:d},oa,(a=>Y(y,a)&&a==r)),ya(i,{[ra]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>Y(y,t)&&t==r)),o],y]})(e);return(T?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(p??=e)&&n==(v??=n)||(a(),u=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>R.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=p=null,i(t)}),r,L,O(R),y,E)};exports.createSqliteWasmPersister=(a,t,e,s,n,i)=>pa(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 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",A=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),N=Object,S=a=>N.getPrototypeOf(a),C=N.keys,D=N.freeze,g=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),b=(a,t)=>m(N.entries(a),(([a,e])=>t(e,a))),F=a=>N.values(a),M=a=>y(C(a)),$=a=>(a=>!o(a)&&r(S(a),(a=>a==N.prototype||o(S(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>o(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(O(a,t)||W(a,t,e()),B(a,t)),Y=(a,t,e,s=W)=>(b(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||o(a)?a:[a]),x=(a,t)=>a?.add(t),G=T+"*FROM",J="FROM pragma_table_",U="WHERE",q=(a,t,s)=>{const n=P();return[async()=>Y(n,g(await E(m(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(m(await a(T+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,Y(j(n,t,P),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!o(B(B(n,a),t)))(t,e)?g(L(m(await a(G+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=k();b(i??{},(a=>m(C(a??{}),(a=>x(l,a)))));const y=R(l);if(!w&&r&&p(y)&&O(n,t))return await a("DROP TABLE"+v(t)),void W(n,t);if(p(y)||O(n,t)){const e=B(n,t),i=k(_(e));await E([...m(y,(async s=>{h(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),W(e,s,""))})),...!w&&c?m(R(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${A(m(y,(a=>e+v(a))))});`),W(n,t,P([[s,""],...m(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(b(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+U+v(s)+"=?",[n]):p(y)||await z(a,t,s,C(e),[n,...F(e)])})));else if(p(y))O(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(_(B(n,t)),(a=>a!=s)),c=[],o=[];b(i??{},((a,t)=>{f(c,t,...m(e,(t=>a?.[t]))),f(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+v(t)+U+v(s)+"NOT IN("+K(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+A(m(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+A(m(i,(a=>v(a)+"=excluded."+v(a))),e),c),K=a=>A(m(a,(()=>"?")),e),V=JSON.parse,Q=P(),X=P(),Z=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;j(Q,l,(()=>0)),j(X,l,(()=>[]));const T=async a=>(2!=d&&(d=1,await A.schedule((async()=>{await a(),d=0}))),A),A={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(A.stopAutoLoad(),await A.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),A),save:async t=>(1!=d&&(d=2,await A.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||A.save((()=>[e,s]))})),A),stopAutoSave:()=>(r(y,a.delListener),y=void 0,A),schedule:async(...a)=>(f(B(X,l),...a),await(async()=>{if(!B(Q,l)){for(W(Q,l,1);!o((a=B(X,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Q,l,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>w),D(A)},aa="store",ta=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=q(t,c,n);return Z(a,(async()=>await E((async()=>(await w(),V((await l(i,d))[u]?.[aa]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},ea=(a,t,e,s,n,[i,c,[r,w,l]],y,v,T)=>{const[A,m,p,f]=q(t,y,n),O=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),R=async(a,t)=>w?await p(l,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await f((async()=>{await A();const a=await(async()=>g(L(await E(H(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>r?(await m(l,d))[u]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await A(),o(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,[T,v],v)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},wa={load:0,save:0,[oa]:t+"_values"},la=(a,t,e,s)=>{const n=P();return b(a,((a,i)=>{const c=l(F(I(t,w(a)?{[e]:a}:a)),0,M(t));o(c[0])||s(i,c[0])||W(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,A;const[m,p,L,f]=(a=>{const e=(a=>I(ra,w(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(F(I(wa,c)),0,M(wa)),r=o[2],y=k(r);return[0,s,[la(n,{[ca]:null,[ia]:d},ca,(a=>x(y,a)&&a==r)),la(i,{[oa]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>x(y,t)&&t==r)),o],y]})(e);return(m?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(A??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,R(f),y,E)},va="change";exports.createSqlite3Persister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new i(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(va,e),e}),(a=>t.off(va,a)),s,n,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",A=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),N=Object,S=a=>N.getPrototypeOf(a),C=N.entries,D=N.keys,g=N.freeze,I=(a=[])=>N.fromEntries(a),b=(...a)=>N.assign({},...a),F=(a,t)=>m(C(a),(([a,e])=>t(e,a))),M=a=>N.values(a),$=a=>y(D(a)),P=a=>(a=>!o(a)&&r(S(a),(a=>a==N.prototype||o(S(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),B=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),W=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),j=(a,t,e)=>o(e)?(h(a,t),a):a?.set(t,e),Y=(a,t,e)=>(O(a,t)||j(a,t,e()),H(a,t)),k=(a,t,e,s=j)=>(F(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)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),x=a=>new Set(Array.isArray(a)||o(a)?a:[a]),G=(a,t)=>a?.add(t),J=T+"*FROM",U="FROM pragma_table_",q="WHERE",z=(a,t,s)=>{const n=_();return[async()=>k(n,I(await E(m(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(T+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>j(n,t,k(Y(n,t,_),e,((a,t,e)=>{e!=H(a,t)&&j(a,t,e)}),((a,t)=>j(a,t))))),((a,t)=>j(n,t))),async(t,e)=>((a,t)=>!o(H(H(n,a),t)))(t,e)?I(L(m(await a(J+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!P(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=x();F(i??{},(a=>m(D(a??{}),(a=>G(l,a)))));const y=R(l);if(!w&&r&&p(y)&&O(n,t))return await a("DROP TABLE"+v(t)),void j(n,t);if(p(y)||O(n,t)){const e=H(n,t),i=x(B(e));await E([...m(y,(async s=>{h(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),j(e,s,""))})),...!w&&c?m(R(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),j(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${A(m(y,(a=>e+v(a))))});`),j(n,t,_([[s,""],...m(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(F(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+q+v(s)+"=?",[n]):p(y)||await K(a,t,s,D(e),[n,...M(e)])})));else if(p(y))O(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(B(H(n,t)),(a=>a!=s)),c=[],o=[];F(i??{},((a,t)=>{f(c,t,...m(e,(t=>a?.[t]))),f(o,t)})),await K(a,t,s,e,c),await a("DELETE FROM"+v(t)+q+v(s)+"NOT IN("+V(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},K=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+A(m(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+A(m(i,(a=>v(a)+"=excluded."+v(a))),e),c),V=a=>A(m(a,(()=>"?")),e),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;Y(X,l,(()=>0)),Y(Z,l,(()=>[]));const T=async a=>(2!=d&&(d=1,await A.schedule((async()=>{await a(),d=0}))),A),A={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(A.stopAutoLoad(),await A.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),A),save:async t=>(1!=d&&(d=2,await A.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||A.save((()=>[e,s]))})),A),stopAutoSave:()=>(r(y,a.delListener),y=void 0,A),schedule:async(...a)=>(f(H(Z,l),...a),await(async()=>{if(!H(X,l)){for(j(X,l,1);!o((a=H(Z,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}j(X,l,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>w),g(A)},ta="store",ea=(a,t,e,s,n,[i],c,o,r)=>{const[w,l,y,E]=z(t,c,n);return aa(a,(async()=>await E((async()=>(await w(),Q((await l(i,d))[u]?.[ta]??"null"))))),(async a=>await E((async()=>{var t;await w(),await y(i,d,{[u]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,o],o)},sa=(a,t,e,s,n,[i,c,[r,w,l]],y,v,T)=>{const[A,m,p,f]=z(t,y,n),O=async(a,t)=>await E(W(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),R=async(a,t)=>w?await p(l,d,{[u]:a},!0,!0,t):null;return aa(a,(async()=>await f((async()=>{await A();const a=await(async()=>I(L(await E(W(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>r?(await m(l,d))[u]:{})();return P(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await A(),o(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,[T,v],v)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",wa={mode:na,[ia]:1},la={load:0,save:0,[ra]:t+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=l(M(b(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||s(i,c[0])||j(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,e,s,n,i,o,r,y,E="getDb")=>{let u,v,A;const[m,p,L,f]=(a=>{const e=(a=>b(wa,w(a)?{storeTableName:a}:a??{}))(a),s=e[ia];if(e.mode==na){const{storeTableName:a=t}=e;return[1,s,[a],x(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(M(b(la,c)),0,$(la)),r=o[2],y=x(r);return[0,s,[ya(n,{[oa]:null,[ca]:d},oa,(a=>G(y,a)&&a==r)),ya(i,{[ra]:null,[ca]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>G(y,t)&&t==r)),o],y]})(e);return(m?ea:sa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(u??=t)&&e==(v??=e)&&n==(A??=n)||(a(),u=t,v=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),u=v=null,i(t)}),r,L,R(f),y,E)},Ta="change";exports.createSqlite3Persister=(a,t,e,s,n)=>va(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new i(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(Ta,e),e}),(a=>t.off(Ta,a)),s,n,t);
@@ -1 +1 @@
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
+ "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.entries,u=c.keys,d=c.freeze,g=(t=[])=>c.fromEntries(t),y=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),p=(t,e)=>((t,e)=>t.map(e))(l(t),(([t,a])=>e(a,t))),v=t=>(t=>!s(t)&&n(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>o(u(t)))(t),h=(t,e,a)=>(y(t,e)||(t[e]=a()),t[e]),w=t=>new Map(t),f=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),A=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},O=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||A(t,e,a()),f(t,e)},J=w(),L=w(),N="delete",C=t=>[t.get(e),t.get(a)],M=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);let c;return p(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{y(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c};exports.createYjsPersister=(c,i,l="tinybase",u)=>{const y=i.getMap(l);return((t,e,a,o,c,i,[l,u]=[],g=[])=>{let y,p,h,w=0,S=0;O(J,g,(()=>0)),O(L,g,(()=>[]));const N=async t=>(2!=w&&(w=1,await C.schedule((async()=>{await t(),w=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),S=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:()=>(S&&(c(h),h=void 0,S=0),C),save:async e=>(1!=w&&(w=2,await C.schedule((async()=>{try{await a(t.getContent,e)}catch(t){i?.(t)}w=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();v(a)&&v(s)||C.save((()=>[a,s]))})),C),stopAutoSave:()=>(n(y,t.delListener),y=void 0,C),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(f(L,g),...t),await(async()=>{if(!f(J,g)){for(A(J,g,1);!s(p=r(f(L,g)));)try{await p()}catch(t){i?.(t)}A(J,g,0)}})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(C[l]=()=>u),d(C)})(c,(async()=>y.size?[y.get(e).toJSON(),y.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]=C(o),u=()=>{d=1};let d=1;if(n(c?.(),(([t,e])=>{d=0,p(t,((t,e)=>d?0:s(t)?i.delete(e):n(i.get(e),(e=>p(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>p(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),u)))),u))),p(e,((t,e)=>d?0:s(t)?l.delete(e):l.set(e,t)))})),d){const[t,e]=r();M(i,void 0,t,((t,e,a)=>M(i,e,a,((t,e,a)=>M(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),M(l,void 0,e,((t,e,a)=>{l.get(e)!==a&&l.set(e,a)}))}})(y,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]=C(t),u={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?n(r(t),(e=>{const s=h(u,e,g),o=i.get(e);n(r(t),(t=>{const e=h(s,t,g),n=o.get(t);S(a,((t,{action:a})=>e[t]=a==N?null:n.get(t)))}),(()=>S(a,((t,{action:e})=>s[t]=e==N?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>u[t]=e==N?null:i.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==N?null:l.get(t)))))})(s),[u,d]})(y,s)));return y.observeDeep(s),s}),(t=>{y.unobserveDeep(t)}),u,["getYDoc",i])};
@@ -1 +1 @@
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;
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.entries,j=x.freeze,k=e=>e?.size??0,z=(e,t)=>e?.has(t)??!1,A=e=>R(e)||0==k(e),F=e=>[...e?.values()??[]],O=e=>e.clear(),W=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),B=e=>new Map(e),G=(e,t)=>e?.get(t),H=(e,t)=>W(e,((e,n)=>t(n,e))),J=(e,t,n)=>R(n)?(q(e,t),e):e?.set(t,n),K=(e,t,n)=>(z(e,t)||J(e,t,n()),G(e,t)),N=(e,t,n,s,r=0)=>y((n?K:G)(e,t[r],r>C(t)-2?n:B),(o=>{if(r>C(t)-2)return s?.(o)&&J(e,t[r]),o;const a=N(o,t,n,s,r+1);return A(o)&&J(e,t[r]),a})),P=e=>new Set(b(e)||R(e)?e:[e]),U=(e,t)=>e?.add(t),V=B([["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]]]),X=((r,l)=>{const w=new WeakMap;return r=>{w.has(r)||w.set(r,(r=>{const l=r.createStore,w=l(),L=l(),m=B(),{addListener:E,callListeners:x,delListener:X}=L,[Y,Z,$,_,ee,,,te,,ne,se,re,oe,ae]=((e,t,n,s,r)=>{const o=e.hasRow,a=B(),l=B(),i=B(),d=B(),c=B(),u=B(),h=(t,n,...s)=>{const r=K(u,t,P);return S(s,(t=>U(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>y(G(u,t),(s=>{S(I(n)?F(s):n,(t=>{e.delListener(t),q(s,t)})),A(s)&&J(u,t)})),v=(e,t)=>{J(a,e,t),z(l,e)||(J(l,e,!0),J(d,e,B()),J(c,e,B()),r(i))},w=e=>{J(a,e),J(l,e),J(d,e),J(c,e),g(e),r(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>H(l,e),e=>z(l,e),e=>G(a,e),e=>G(l,e),(e,t)=>J(l,e,t),v,(t,s,r,a,l)=>{v(t,s);const i=B(),u=B(),w=G(d,t),L=G(c,t),f=t=>{const r=n=>e.getCell(s,t,n),d=G(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)))||J(i,t,[d,c]),!R(l)){const e=G(L,t),n=o(s,t)?l(r,t):void 0;e!=n&&J(u,t,n)}},y=e=>{r((()=>{W(i,(([,e],t)=>J(w,t,e))),W(u,((e,t)=>J(L,t,e)))}),i,u,w,L,e),O(i),O(u)};H(w,f),e.hasTable(s)&&S(e.getRowIds(s),(e=>{z(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),()=>H(u,w),h,g]})(r,0,p,E,x),le=(e,t,...n)=>S(n,(n=>U(K(K(m,t,B),e,P),n))),ie=e=>{y(G(m,e),(e=>{H(e,((e,t)=>W(t,(t=>e.delListener(t))))),O(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,[],B()]]],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),[],B()]];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]:G(V,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=B(i);if(A(g))return ce;const v=B(d);H(v,((e,[,t])=>y(G(v,t),(({3:t})=>R(e)?0:M(t,e)))));const b=B(u);let p=w;if(A(b)&&I(h))p=L;else{de(o,p,L);const r=B();H(b,((e,[t,n])=>U(K(r,t,P),[e,n])));const a=P();H(g,(e=>z(r,e)?0:U(a,e)));const l=B(),i=(a,l,i,d)=>y(a,(([c,u,g,v])=>{H(l,((o,[a])=>{const l=K(c,o,B),u=G(l,i),h=d?void 0:a;if(u!==h){const a=P([[u,h]]),d=k(l);J(l,i,h),W(G(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(A(n))return;const[a,l,i,d]=r;return o||=R(e),W(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(F(n),k(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}))}})),A(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=B(),h=p.hasRow(o,n);let g=!h;W(a,(e=>{const[t,r,a]=s(o,n,e);M(d,r),M(c,a),g||=t})),H(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&J(u,e,[r])})),g&&i(N(l,d,void 0,(([,e])=>(q(e,n),A(e)))),u,n,1),h&&i(N(l,c,(()=>{const e={};return W(a,(t=>e[t]=p.getCell(o,n,t))),[B(),P(),void 0,e]}),(([,e])=>{U(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]=G(v,t),d=s?.(l,e),[c,u]=G(i,e)??[];d!=c&&(R(u)||ae(o,u),J(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]:[G(v,t)?.[0],G(G(v,t)?.[4],e)?.[0],n]);p.transaction((()=>Q(c,(e=>e(t)))?H(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}=G(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),W(v,(({4:e})=>y(G(e,n),(([,t])=>{ae(o,t),J(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;return ue=([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)=>{D({[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]}).map(t)})(0,(([e,t])=>ue(t,e))),j(ce)})(r));return w.get(r)}})();exports.createQueries=X;
Binary file
@@ -1 +1 @@
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;
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,m)=>{const S=new WeakMap;return T=>{S.has(T)||S.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));return S.get(T)}})();exports.createRelationships=T;
Binary file