tinybase 5.0.0-beta.3 → 5.0.0-beta.4

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 (242) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  20. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  22. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  24. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  26. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  28. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  29. package/lib/cjs/persisters.cjs +1 -1
  30. package/lib/cjs/persisters.cjs.gz +0 -0
  31. package/lib/cjs/store.cjs +1 -1
  32. package/lib/cjs/store.cjs.gz +0 -0
  33. package/lib/cjs/tinybase.cjs +1 -1
  34. package/lib/cjs/tinybase.cjs.gz +0 -0
  35. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  36. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  37. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  38. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  40. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  41. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  42. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  43. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  44. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters.cjs +1 -1
  66. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  67. package/lib/cjs-es6/store.cjs +1 -1
  68. package/lib/cjs-es6/store.cjs.gz +0 -0
  69. package/lib/cjs-es6/tinybase.cjs +1 -1
  70. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  71. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  72. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  73. package/lib/debug/mergeable-store.js +93 -52
  74. package/lib/debug/persisters/persister-automerge.js +33 -11
  75. package/lib/debug/persisters/persister-browser.js +34 -12
  76. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +33 -11
  77. package/lib/debug/persisters/persister-electric-sql.js +33 -11
  78. package/lib/debug/persisters/persister-expo-sqlite-next.js +33 -11
  79. package/lib/debug/persisters/persister-expo-sqlite.js +33 -11
  80. package/lib/debug/persisters/persister-file.js +34 -12
  81. package/lib/debug/persisters/persister-indexed-db.js +33 -11
  82. package/lib/debug/persisters/persister-partykit-client.js +33 -11
  83. package/lib/debug/persisters/persister-remote.js +33 -11
  84. package/lib/debug/persisters/persister-sqlite-wasm.js +33 -11
  85. package/lib/debug/persisters/persister-sqlite3.js +33 -11
  86. package/lib/debug/persisters/persister-yjs.js +33 -11
  87. package/lib/debug/persisters.js +33 -11
  88. package/lib/debug/store.js +14 -18
  89. package/lib/debug/tinybase.js +125 -63
  90. package/lib/debug/ui-react-dom.js +48 -30
  91. package/lib/es6/mergeable-store.js +1 -1
  92. package/lib/es6/mergeable-store.js.gz +0 -0
  93. package/lib/es6/persisters/persister-automerge.js +1 -1
  94. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  95. package/lib/es6/persisters/persister-browser.js +1 -1
  96. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  97. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  98. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  99. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  100. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  101. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  102. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  103. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  104. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  105. package/lib/es6/persisters/persister-file.js +1 -1
  106. package/lib/es6/persisters/persister-file.js.gz +0 -0
  107. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  108. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  109. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  110. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  111. package/lib/es6/persisters/persister-remote.js +1 -1
  112. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  113. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  114. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  115. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  116. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  117. package/lib/es6/persisters/persister-yjs.js +1 -1
  118. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  119. package/lib/es6/persisters.js +1 -1
  120. package/lib/es6/persisters.js.gz +0 -0
  121. package/lib/es6/store.js +1 -1
  122. package/lib/es6/store.js.gz +0 -0
  123. package/lib/es6/tinybase.js +1 -1
  124. package/lib/es6/tinybase.js.gz +0 -0
  125. package/lib/es6/ui-react-dom-debug.js +1 -1
  126. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  127. package/lib/mergeable-store.js +1 -1
  128. package/lib/mergeable-store.js.gz +0 -0
  129. package/lib/persisters/persister-automerge.js +1 -1
  130. package/lib/persisters/persister-automerge.js.gz +0 -0
  131. package/lib/persisters/persister-browser.js +1 -1
  132. package/lib/persisters/persister-browser.js.gz +0 -0
  133. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  134. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  135. package/lib/persisters/persister-electric-sql.js +1 -1
  136. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  137. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  138. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  139. package/lib/persisters/persister-expo-sqlite.js +1 -1
  140. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  141. package/lib/persisters/persister-file.js +1 -1
  142. package/lib/persisters/persister-file.js.gz +0 -0
  143. package/lib/persisters/persister-indexed-db.js +1 -1
  144. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  145. package/lib/persisters/persister-partykit-client.js +1 -1
  146. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  147. package/lib/persisters/persister-remote.js +1 -1
  148. package/lib/persisters/persister-remote.js.gz +0 -0
  149. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  150. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  151. package/lib/persisters/persister-sqlite3.js +1 -1
  152. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  153. package/lib/persisters/persister-yjs.js +1 -1
  154. package/lib/persisters/persister-yjs.js.gz +0 -0
  155. package/lib/persisters.js +1 -1
  156. package/lib/persisters.js.gz +0 -0
  157. package/lib/store.js +1 -1
  158. package/lib/store.js.gz +0 -0
  159. package/lib/tinybase.js +1 -1
  160. package/lib/tinybase.js.gz +0 -0
  161. package/lib/types/mergeable-store.d.ts +6 -0
  162. package/lib/types/persisters/persister-browser.d.ts +2 -2
  163. package/lib/types/persisters/persister-file.d.ts +1 -1
  164. package/lib/types/persisters.d.ts +18 -7
  165. package/lib/types/with-schemas/mergeable-store.d.ts +6 -0
  166. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
  167. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
  168. package/lib/types/with-schemas/persisters.d.ts +13 -6
  169. package/lib/umd/mergeable-store.js +1 -1
  170. package/lib/umd/mergeable-store.js.gz +0 -0
  171. package/lib/umd/persisters/persister-automerge.js +1 -1
  172. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  173. package/lib/umd/persisters/persister-browser.js +1 -1
  174. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  175. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  176. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  177. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  178. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  179. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  180. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  181. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  182. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  183. package/lib/umd/persisters/persister-file.js +1 -1
  184. package/lib/umd/persisters/persister-file.js.gz +0 -0
  185. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  186. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  187. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  188. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  189. package/lib/umd/persisters/persister-remote.js +1 -1
  190. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  191. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  192. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  193. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  194. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  195. package/lib/umd/persisters/persister-yjs.js +1 -1
  196. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  197. package/lib/umd/persisters.js +1 -1
  198. package/lib/umd/persisters.js.gz +0 -0
  199. package/lib/umd/store.js +1 -1
  200. package/lib/umd/store.js.gz +0 -0
  201. package/lib/umd/tinybase.js +1 -1
  202. package/lib/umd/tinybase.js.gz +0 -0
  203. package/lib/umd/ui-react-dom-debug.js +1 -1
  204. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  205. package/lib/umd-es6/mergeable-store.js +1 -1
  206. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  207. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  208. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  209. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  210. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  211. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  212. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  213. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  214. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  215. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  216. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  217. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  218. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  219. package/lib/umd-es6/persisters/persister-file.js +1 -1
  220. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  221. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  222. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  223. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  224. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  225. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  226. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  227. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  228. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  229. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  230. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  231. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  232. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  233. package/lib/umd-es6/persisters.js +1 -1
  234. package/lib/umd-es6/persisters.js.gz +0 -0
  235. package/lib/umd-es6/store.js +1 -1
  236. package/lib/umd-es6/store.js.gz +0 -0
  237. package/lib/umd-es6/tinybase.js +1 -1
  238. package/lib/umd-es6/tinybase.js.gz +0 -0
  239. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  240. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  241. package/package.json +14 -14
  242. package/readme.md +2 -2
@@ -1591,6 +1591,23 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
1591
1591
 
1592
1592
  const scheduleRunning = mapNew();
1593
1593
  const scheduleActions = mapNew();
1594
+ const isMergeable = (contentOrChanges) => isString(contentOrChanges?.[0]);
1595
+ const getStoreFunctions = (supportsMergeableStore, store) =>
1596
+ !supportsMergeableStore || isUndefined(store.getMergeableContent)
1597
+ ? [
1598
+ 0,
1599
+ store.getContent,
1600
+ store.getTransactionChanges,
1601
+ ([changedTables, changedValues]) =>
1602
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1603
+ ]
1604
+ : [
1605
+ 1,
1606
+ store.getMergeableContent,
1607
+ store.getTransactionMergeableChanges,
1608
+ ([, [[, changedTables], [, changedValues]]]) =>
1609
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1610
+ ];
1594
1611
  const createCustomPersister = (
1595
1612
  store,
1596
1613
  getPersisted,
@@ -1611,10 +1628,8 @@ const createCustomPersister = (
1611
1628
  let listeningHandle;
1612
1629
  mapEnsure(scheduleRunning, scheduleId, () => 0);
1613
1630
  mapEnsure(scheduleActions, scheduleId, () => []);
1614
- const getContent =
1615
- (supportsMergeableStore ? store.getMergeableContent : null) ??
1616
- store.getContent;
1617
- const getChanges = store.getTransactionChanges;
1631
+ const [isMergeableStore, getContent, getChanges, hasChanges] =
1632
+ getStoreFunctions(supportsMergeableStore, store);
1618
1633
  const run = async () => {
1619
1634
  /* istanbul ignore else */
1620
1635
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -1651,8 +1666,8 @@ const createCustomPersister = (
1651
1666
  await loadLock(async () => {
1652
1667
  try {
1653
1668
  const content = await getPersisted();
1654
- (supportsMergeableStore && isString(content[0])
1655
- ? store.applyMergeableChanges
1669
+ (isMergeableStore && isMergeable(content)
1670
+ ? store.setMergeableContent
1656
1671
  : store.setContent)(content);
1657
1672
  } catch {
1658
1673
  store.setContent([initialTables, initialValues]);
@@ -1666,11 +1681,18 @@ const createCustomPersister = (
1666
1681
  async (getContent2, getChanges2) => {
1667
1682
  if (getChanges2) {
1668
1683
  const changes = getChanges2();
1669
- await loadLock(async () => store.applyChanges(changes));
1684
+ await loadLock(async () =>
1685
+ (isMergeableStore && isMergeable(changes)
1686
+ ? store.applyMergeableChanges
1687
+ : store.applyChanges)(changes),
1688
+ );
1670
1689
  } else {
1671
1690
  await loadLock(async () => {
1672
1691
  try {
1673
- store.setContent(getContent2?.() ?? (await getPersisted()));
1692
+ const content = getContent2?.() ?? (await getPersisted());
1693
+ (isMergeableStore && isMergeable(content)
1694
+ ? store.setMergeableContent
1695
+ : store.setContent)(content);
1674
1696
  } catch (error) {
1675
1697
  onIgnoredError?.(error);
1676
1698
  }
@@ -1710,9 +1732,9 @@ const createCustomPersister = (
1710
1732
  startAutoSave: async () => {
1711
1733
  await persister.stopAutoSave().save();
1712
1734
  listenerId = store.addDidFinishTransactionListener(() => {
1713
- const [tableChanges, valueChanges] = getChanges();
1714
- if (!objIsEmpty(tableChanges) || !objIsEmpty(valueChanges)) {
1715
- persister.save(() => [tableChanges, valueChanges]);
1735
+ const changes = getChanges();
1736
+ if (hasChanges(changes)) {
1737
+ persister.save(() => changes);
1716
1738
  }
1717
1739
  });
1718
1740
  return persister;
@@ -1766,7 +1788,7 @@ const createStoragePersister = (
1766
1788
  addPersisterListener,
1767
1789
  delPersisterListener,
1768
1790
  onIgnoredError,
1769
- false,
1791
+ true,
1770
1792
  ['getStorageName', storageName],
1771
1793
  );
1772
1794
  };
@@ -1895,12 +1917,10 @@ const idsChanged = (changedIds, id2, addedOrRemoved) =>
1895
1917
  const createStore = () => {
1896
1918
  let hasTablesSchema;
1897
1919
  let hasValuesSchema;
1898
- let cellsTouched = false;
1899
- let valuesTouched = false;
1900
1920
  let hadTables = false;
1901
1921
  let hadValues = false;
1902
1922
  let transactions = 0;
1903
- let postTransactionListener;
1923
+ let internalListeners = [];
1904
1924
  const changedTableIds = mapNew();
1905
1925
  const changedTableCellIds = mapNew();
1906
1926
  const changedRowCount = mapNew();
@@ -2860,8 +2880,8 @@ const createStore = () => {
2860
2880
  ),
2861
2881
  ];
2862
2882
  const getTransactionLog = () => [
2863
- cellsTouched,
2864
- valuesTouched,
2883
+ !collIsEmpty(changedCells),
2884
+ !collIsEmpty(changedValues),
2865
2885
  mapToObj3(changedCells, pairClone, pairIsEqual),
2866
2886
  mapToObj3(invalidCells),
2867
2887
  mapToObj(changedValues, pairClone, pairIsEqual),
@@ -2875,15 +2895,13 @@ const createStore = () => {
2875
2895
  if (transactions > 0) {
2876
2896
  transactions--;
2877
2897
  if (transactions == 0) {
2878
- cellsTouched = !collIsEmpty(changedCells);
2879
- valuesTouched = !collIsEmpty(changedValues);
2880
2898
  transactions = 1;
2881
2899
  callInvalidCellListeners(1);
2882
- if (cellsTouched) {
2900
+ if (!collIsEmpty(changedCells)) {
2883
2901
  callTabularListenersForChanges(1);
2884
2902
  }
2885
2903
  callInvalidValueListeners(1);
2886
- if (valuesTouched) {
2904
+ if (!collIsEmpty(changedValues)) {
2887
2905
  callValuesListenersForChanges(1);
2888
2906
  }
2889
2907
  if (doRollback?.(store)) {
@@ -2894,25 +2912,26 @@ const createStore = () => {
2894
2912
  ),
2895
2913
  ),
2896
2914
  );
2915
+ collClear(changedCells);
2897
2916
  collForEach(changedValues, ([oldValue], valueId) =>
2898
2917
  setOrDelValue(store, valueId, oldValue),
2899
2918
  );
2900
- cellsTouched = valuesTouched = false;
2919
+ collClear(changedValues);
2901
2920
  }
2902
2921
  callListeners(finishTransactionListeners[0], void 0);
2903
2922
  transactions = -1;
2904
2923
  callInvalidCellListeners(0);
2905
- if (cellsTouched) {
2924
+ if (!collIsEmpty(changedCells)) {
2906
2925
  callTabularListenersForChanges(0);
2907
2926
  }
2908
2927
  callInvalidValueListeners(0);
2909
- if (valuesTouched) {
2928
+ if (!collIsEmpty(changedValues)) {
2910
2929
  callValuesListenersForChanges(0);
2911
2930
  }
2912
- postTransactionListener?.(store);
2931
+ internalListeners[0]?.(store);
2913
2932
  callListeners(finishTransactionListeners[1], void 0);
2933
+ internalListeners[1]?.(store);
2914
2934
  transactions = 0;
2915
- cellsTouched = valuesTouched = false;
2916
2935
  hadTables = hasTables();
2917
2936
  hadValues = hasValues();
2918
2937
  arrayForEach(
@@ -3037,9 +3056,8 @@ const createStore = () => {
3037
3056
  collSize2(startTransactionListeners) +
3038
3057
  pairCollSize2(finishTransactionListeners),
3039
3058
  });
3040
- const addPostTransactionListener = (listener) => {
3041
- postTransactionListener = listener;
3042
- };
3059
+ const setInternalListeners = (preFinishTransaction, postFinishTransaction) =>
3060
+ (internalListeners = [preFinishTransaction, postFinishTransaction]);
3043
3061
  const store = {
3044
3062
  getContent,
3045
3063
  getTables,
@@ -3117,7 +3135,7 @@ const createStore = () => {
3117
3135
  createStore,
3118
3136
  addListener,
3119
3137
  callListeners,
3120
- addPostTransactionListener,
3138
+ setInternalListeners,
3121
3139
  };
3122
3140
  objToArray(
3123
3141
  {
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",l=e(t),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",v=c+i,h="Row",g=h+"Count",C=h+i,T="Cell",f=T+i,b="Value",V=b+"s",p=b+i,w=e=>t+e,S=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),y=(e,t=0)=>e.charCodeAt(t),R=isFinite,I=e=>null==e,L=(e,t,l)=>I(e)?null==l?void 0:l():t(e),J=e=>e==l||e==n,M=t=>e(t)==a,E=(e,t,l)=>e.slice(t,l),H=e=>e.length,P=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),x=Object,z=e=>x.getPrototypeOf(e),A=x.entries,W=x.keys,k=x.isFrozen,D=x.freeze,N=e=>!I(e)&&L(z(e),(e=>e==x.prototype||I(z(e))),(()=>!0)),j=(e,t)=>t in e,$=(e,t)=>(delete e[t],e),q=(e,t)=>P(A(e),(([e,l])=>t(l,e))),B=(e,t)=>F(A(e),(([e,l])=>t(l,e))),G=e=>N(e)&&0==(e=>H(W(e)))(e),K=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},Q=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},U=e=>I(e)||0==K(e),X=e=>e.clear(),Y=(e,t)=>null==e?void 0:e.forEach(t),Z=(e,t)=>null==e?void 0:e.delete(t),_=e=>new Map(e),ee=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},te=(e,t)=>null==e?void 0:e.get(t),le=(e,t)=>Y(e,((e,l)=>t(l,e))),ne=(e,t,l)=>I(l)?(Z(e,t),e):null==e?void 0:e.set(t,l),se=(e,t,l)=>(Q(e,t)||ne(e,t,l()),te(e,t)),ae=(e,t,l,n=ne)=>(B(t,((t,n)=>l(e,n,t))),le(e,(l=>j(t,l)?0:n(e,l))),e),re=(e,t,l)=>{const n={};return Y(e,((e,s)=>{const a=t?t(e,s):e;!(null==l?void 0:l(a,e))&&(n[s]=a)})),n},oe=(e,t,l)=>re(e,(e=>re(e,t,l)),G),ue=(e,t,l)=>re(e,(e=>oe(e,t,l)),G),ie=(e,t)=>{const l=_();return Y(e,((e,n)=>{var s;return l.set(n,null!=(s=null==t?void 0:t(e))?s:e)})),l},ce=e=>ie(e,ie),de=e=>ie(e,ce),ve=(e,t,l,n,s=0)=>L((l?se:te)(e,t[s],s>H(t)-2?l:_),(a=>{if(s>H(t)-2)return(null==n?void 0:n(a))&&ne(e,t[s]),a;const r=ve(a,t,l,n,s+1);return U(a)&&ne(e,t[s]),r})),he=()=>[t,void 0],ge=()=>[t,_()],Ce=([e,t],l)=>[e,l(t,e)],Te=(e,t)=>Ce(e,(e=>re(e,t))),fe=(e,t,l,n)=>q(e,((e,s)=>be(e,se(t,s,ge),l[s]=((e=[])=>x.fromEntries(e))(),n))),be=([e,t],l,n,s)=>{e>l[0]&&(l[0]=e),s(t,l[1],n)},Ve=(e,t,l)=>q(e,(([e,n],s)=>{const a=se(t,s,he);e>a[0]&&(a[0]=e,a[1]=l[s]=n)})),pe=e=>new Set(Array.isArray(e)||I(e)?e:[e]),we=(e,t)=>null==e?void 0:e.add(t),Se=/^\d+$/,me=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},t=>{Se.test(t)&&H(e)<1e3&&O(e,t)}]},ye=e=>[e,e],Re=()=>[_(),_()],Ie=e=>[...e],Le=([e,t])=>e===t,Je=t=>{const l=e(t);return J(l)||l==s&&R(t)?l:void 0},Me=(e,t,l,n,s)=>I(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s),Ee=(e,t,l)=>I(l)?e.delValue(t):e.setValue(t,l),He=e=>JSON.stringify(e,((e,t)=>t instanceof Map?x.fromEntries([...t]):t)),Pe=JSON.parse,Fe=(e,t,l)=>I(e)||!N(e)||G(e)||k(e)?(null==l||l(),!1):(B(e,((l,n)=>{t(l,n)||$(e,n)})),!G(e)),Oe=(e,t,l)=>ne(e,t,te(e,t)==-l?void 0:l),xe=()=>{let e,l,n,a=!1,i=!1,S=!1,m=!1,y=0;const R=_(),x=_(),z=_(),A=_(),W=_(),k=_(),N=_(),q=_(),he=_(),ge=_(),Ce=_(),Te=_(),fe=_(),be=_(),Ve=pe(),Se=_(),ze=_(),Ae=_(),We=_(),ke=Re(),De=Re(),Ne=Re(),je=Re(),$e=Re(),qe=Re(),Be=Re(),Ge=Re(),Ke=Re(),Qe=Re(),Ue=Re(),Xe=Re(),Ye=Re(),Ze=Re(),_e=Re(),et=Re(),tt=Re(),lt=Re(),nt=Re(),st=Re(),at=Re(),rt=Re(),ot=_(),ut=Re(),[it,ct,dt,vt]=(e=>{let l;const[n,s]=me(),a=_();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=Pl);const i=n(1);return ne(a,i,[e,s,r,o,u]),we(ve(s,null!=r?r:[t],pe),i),i},(e,n,...s)=>P(((e,l=[t])=>{const n=[],s=(e,t)=>t==H(l)?O(n,e):null===l[t]?Y(e,(e=>s(e,t+1))):P([l[t],null],(l=>s(te(e,l),t+1)));return s(e,0),n})(e,n),(e=>Y(e,(e=>te(a,e)[0](l,...null!=n?n:[],...s))))),e=>L(te(a,e),(([,l,n])=>(ve(l,null!=n?n:[t],void 0,(t=>(Z(t,e),U(t)?1:0))),ne(a,e),s(e),n))),e=>L(te(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=H(r);i==H(t)?e(l,...r,...s(r)):I(t[i])?P(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),ht=e=>{if(!Fe(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!J(t)&&t!=s||(Je(e[o])!=t&&$(e,o),0))},gt=(t,l)=>(!e||Q(Ce,l)||qt(l))&&Fe(t,((e,t)=>Ct(l,t,e)),(()=>qt(l))),Ct=(e,t,l,n)=>Fe(n?l:Vt(l,e,t),((n,s)=>L(Tt(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>qt(e,t))),Tt=(t,l,n,s)=>e?L(te(te(Ce,t),n),(e=>Je(s)!=e[r]?qt(t,l,n,s,e[o]):s),(()=>qt(t,l,n,s))):I(Je(s))?qt(t,l,n,s):s,ft=(e,t)=>Fe(t?e:pt(e),((t,l)=>L(bt(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>Bt())),bt=(e,t)=>l?L(te(fe,e),(l=>Je(t)!=l[r]?Bt(e,t,l[o]):t),(()=>Bt(e,t))):I(Je(t))?Bt(e,t):t,Vt=(e,t,l)=>(L(te(Te,t),(([n,s])=>{Y(n,((t,l)=>{j(e,l)||(e[l]=t)})),Y(s,(n=>{j(e,n)||qt(t,l,n)}))})),e),pt=e=>(l&&(Y(be,((t,l)=>{j(e,l)||(e[l]=t)})),Y(Ve,(t=>{j(e,t)||Bt(t)}))),e),wt=e=>ae(Ce,e,((e,t,l)=>{const n=_(),s=pe();ae(se(Ce,t,_),l,((e,t,l)=>{ne(e,t,l),L(l[o],(e=>ne(n,t,e)),(()=>we(s,t)))})),ne(Te,t,[n,s])}),((e,t)=>{ne(Ce,t),ne(Te,t)})),St=e=>ae(fe,e,((e,t,l)=>{ne(fe,t,l),L(l[o],(e=>ne(be,t,e)),(()=>we(Ve,t)))}),((e,t)=>{ne(fe,t),ne(be,t),Z(Ve,t)})),mt=e=>G(e)?ml():bl(e),yt=e=>ae(Ae,e,((e,t,l)=>Rt(t,l)),((e,t)=>Ot(t))),Rt=(e,t)=>ae(se(Ae,e,(()=>(Wt(e,1),ne(Se,e,me()),ne(ze,e,_()),_()))),t,((t,l,n)=>It(e,t,l,n)),((t,l)=>xt(e,t,l))),It=(e,t,l,n,s)=>ae(se(t,l,(()=>(kt(e,l,1),_()))),n,((t,n,s)=>Lt(e,l,t,n,s)),((n,a)=>zt(e,t,l,n,a,s))),Lt=(e,t,l,n,s)=>{Q(l,n)||Dt(e,t,n,1);const a=te(l,n);s!==a&&(Nt(e,t,n,a,s),ne(l,n,s))},Jt=(e,t,l,n,s)=>L(te(t,l),(t=>Lt(e,l,t,n,s)),(()=>It(e,t,l,Vt({[n]:s},e,l)))),Mt=e=>G(e)?Il():Vl(e),Et=e=>ae(We,e,((e,t,l)=>Ht(t,l)),((e,t)=>At(t))),Ht=(e,t)=>{Q(We,e)||jt(e,1);const l=te(We,e);t!==l&&($t(e,l,t),ne(We,e,t))},Pt=(e,t)=>{const[l]=te(Se,e),n=l(t);return Q(te(Ae,e),n)?Pt(e,t):n},Ft=e=>{var t;return null!=(t=te(Ae,e))?t:Rt(e,{})},Ot=e=>Rt(e,{}),xt=(e,t,l)=>{const[,n]=te(Se,e);n(l),It(e,t,l,{},!0)},zt=(e,t,l,n,s,a)=>{var r;const o=te(null==(r=te(Te,e))?void 0:r[0],s);if(!I(o)&&!a)return Lt(e,l,n,s,o);const u=t=>{Nt(e,l,t,te(n,t)),Dt(e,l,t,-1),ne(n,t)};I(o)?u(s):le(n,u),U(n)&&(kt(e,l,-1),U(ne(t,l))&&(Wt(e,-1),ne(Ae,e),ne(Se,e),ne(ze,e)))},At=e=>{const t=te(be,e);if(!I(t))return Ht(e,t);$t(e,te(We,e)),jt(e,-1),ne(We,e)},Wt=(e,t)=>Oe(R,e,t),kt=(e,t,l)=>Oe(se(A,e,_),t,l)&&ne(z,e,se(z,e,(()=>0))+l),Dt=(e,t,l,n)=>{var s;const a=te(ze,e),r=null!=(s=te(a,l))?s:0;(0==r&&1==n||1==r&&-1==n)&&Oe(se(x,e,_),l,n),ne(a,l,r!=-n?r+n:null),Oe(se(se(W,e,_),t,_),l,n)},Nt=(e,t,l,n,s)=>se(se(se(k,e,_),t,_),l,(()=>[n,0]))[1]=s,jt=(e,t)=>Oe(N,e,t),$t=(e,t,l)=>se(q,e,(()=>[t,0]))[1]=l,qt=(e,t,l,n,s)=>(O(se(se(se(he,e,_),t,_),l,(()=>[])),n),s),Bt=(e,t,l)=>(O(se(ge,e,(()=>[])),t),l),Gt=(e,t,l)=>L(te(te(te(k,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(ol(e,t,l))])),Kt=e=>L(te(q,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(cl(e))])),Qt=e=>U(he)||U(et[e])?0:Y(e?de(he):he,((t,l)=>Y(t,((t,n)=>Y(t,((t,s)=>ct(et[e],[l,n,s],t))))))),Ut=e=>U(ge)||U(tt[e])?0:Y(e?ie(ge):ge,((t,l)=>ct(tt[e],[l],t))),Xt=(e,t,l,n)=>{if(!U(e))return ct(t,n,(()=>re(e))),le(e,((e,t)=>ct(l,[...null!=n?n:[],e],1==t))),1},Yt=e=>{const t=dl();t!=S&&ct(ke[e],void 0,t);const l=U(Qe[e]),n=U(Ye[e])&&U(Ze[e])&&U(Ke[e])&&U(Ue[e])&&U(qe[e])&&U(Be[e])&&U(Ge[e])&&l&&U(Ne[e])&&U(je[e]),s=U(_e[e])&&U(Xe[e])&&U($e[e])&&U(De[e]);if(!n||!s){const t=e?[ie(R),ce(x),ie(z),ce(A),de(W),de(k)]:[R,x,z,A,W,k];if(!n){Xt(t[0],Ne[e],je[e]),Y(t[1],((t,l)=>Xt(t,qe[e],Be[e],[l]))),Y(t[2],((t,l)=>{0!=t&&ct(Ge[e],[l],nl(l))}));const n=pe();Y(t[3],((t,s)=>{Xt(t,Ke[e],Ue[e],[s])&&!l&&(ct(Qe[e],[s,null]),we(n,s))})),l||Y(t[5],((t,l)=>{if(!Q(n,l)){const n=pe();Y(t,(e=>Y(e,(([t,l],s)=>l!==t?we(n,s):Z(e,s))))),Y(n,(t=>ct(Qe[e],[l,t])))}})),Y(t[4],((t,l)=>Y(t,((t,n)=>Xt(t,Ye[e],Ze[e],[l,n])))))}if(!s){let l;Y(t[5],((t,n)=>{let s;Y(t,((t,a)=>{let r;Y(t,(([t,o],u)=>{o!==t&&(ct(_e[e],[n,a,u],o,t,Gt),l=s=r=1)})),r&&ct(Xe[e],[n,a],Gt)})),s&&ct($e[e],[n],Gt)})),l&&ct(De[e],void 0,Gt)}}},Zt=e=>{const t=Tl();t!=m&&ct(lt[e],void 0,t);const l=U(st[e])&&U(at[e]),n=U(rt[e])&&U(nt[e]);if(!l||!n){const t=e?[ie(N),ie(q)]:[N,q];if(l||Xt(t[0],st[e],at[e]),!n){let l;Y(t[1],(([t,n],s)=>{n!==t&&(ct(rt[e],[s],n,t,Kt),l=1)})),l&&ct(nt[e],void 0,Kt)}}},_t=(e,...t)=>(Ml((()=>e(...F(t,w)))),Pl),el=()=>ue(Ae),tl=()=>ee(Ae),ll=e=>ee(te(ze,w(e))),nl=e=>K(te(Ae,w(e))),sl=e=>ee(te(Ae,w(e))),al=(e,t,l,n=0,s)=>{return F(E((r=te(Ae,w(e)),o=(e,l)=>[I(t)?l:te(e,w(t)),l],a=([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(s=t)?s:0)?-1:1)*(l?-1:1);var n,s},F([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,t])=>o(t,e))).sort(a)),n,I(s)?s:n+s),(([,e])=>e));var a,r,o,u},rl=(e,t)=>ee(te(te(Ae,w(e)),w(t))),ol=(e,t,l)=>te(te(te(Ae,w(e)),w(t)),w(l)),ul=()=>re(We),il=()=>ee(We),cl=e=>te(We,w(e)),dl=()=>!U(Ae),vl=e=>Q(Ae,w(e)),hl=(e,t)=>Q(te(ze,w(e)),w(t)),gl=(e,t)=>Q(te(Ae,w(e)),w(t)),Cl=(e,t,l)=>Q(te(te(Ae,w(e)),w(t)),w(l)),Tl=()=>!U(We),fl=e=>Q(We,w(e)),bl=e=>_t((()=>(e=>Fe(e,gt,qt))(e)?yt(e):0)),Vl=e=>_t((()=>ft(e)?Et(e):0)),pl=e=>{try{mt(Pe(e))}catch(e){}return Pl},wl=t=>_t((()=>{if((e=Fe(t,(e=>Fe(e,ht))))&&(wt(t),!U(Ae))){const e=el();ml(),bl(e)}})),Sl=e=>_t((()=>{if(l=(e=>Fe(e,ht))(e)){const t=ul();Jl(),Il(),l=!0,St(e),Vl(t)}})),ml=()=>_t((()=>yt({}))),yl=e=>_t((e=>Q(Ae,e)?Ot(e):0),e),Rl=(e,t)=>_t(((e,t)=>L(te(Ae,e),(l=>Q(l,t)?xt(e,l,t):0))),e,t),Il=()=>_t((()=>Et({}))),Ll=()=>_t((()=>{wt({}),e=!1})),Jl=()=>_t((()=>{St({}),l=!1})),Ml=(e,t)=>{if(-1!=y){El();const l=e();return Hl(t),l}},El=()=>(-1!=y&&y++,1==y&&ct(ot,void 0),Pl),Hl=e=>(y>0&&(y--,0==y&&(a=!U(k),i=!U(q),y=1,Qt(1),a&&Yt(1),Ut(1),i&&Zt(1),(null==e?void 0:e(Pl))&&(Y(k,((e,t)=>Y(e,((e,l)=>Y(e,(([e],n)=>Me(Pl,t,l,n,e))))))),Y(q,(([e],t)=>Ee(Pl,t,e))),a=i=!1),ct(ut[0],void 0),y=-1,Qt(0),a&&Yt(0),Ut(0),i&&Zt(0),null==n||n(Pl),ct(ut[1],void 0),y=0,a=i=!1,S=dl(),m=Tl(),P([R,x,z,A,W,k,he,N,q,ge],X))),Pl),Pl={getContent:()=>[el(),ul()],getTables:el,getTableIds:tl,getTable:e=>oe(te(Ae,w(e))),getTableCellIds:ll,getRowCount:nl,getRowIds:sl,getSortedRowIds:al,getRow:(e,t)=>re(te(te(Ae,w(e)),w(t))),getCellIds:rl,getCell:ol,getValues:ul,getValueIds:il,getValue:cl,hasTables:dl,hasTable:vl,hasTableCell:hl,hasRow:gl,hasCell:Cl,hasValues:Tl,hasValue:fl,getTablesJson:()=>He(Ae),getValuesJson:()=>He(We),getJson:()=>He([Ae,We]),getTablesSchemaJson:()=>He(Ce),getValuesSchemaJson:()=>He(fe),getSchemaJson:()=>He([Ce,fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,t])=>_t((()=>{(G(e)?ml:bl)(e),(G(t)?Il:Vl)(t)})),setTables:bl,setTable:(e,t)=>_t((e=>gt(t,e)?Rt(e,t):0),e),setRow:(e,t,l)=>_t(((e,t)=>Ct(e,t,l)?It(e,Ft(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Ml((()=>{let n;return Ct(e,n,t)&&(e=w(e),It(e,Ft(e),n=Pt(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>_t(((e,t)=>{if(Ct(e,t,l,1)){const n=Ft(e);B(l,((l,s)=>Jt(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>_t(((e,t,l)=>L(Tt(e,t,l,M(n)?n(ol(e,t,l)):n),(n=>Jt(e,Ft(e),t,l,n)))),e,t,l),setValues:Vl,setPartialValues:e=>_t((()=>ft(e,1)?B(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>_t((e=>L(bt(e,M(t)?t(cl(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>_t((()=>{B(e[0],((e,t)=>I(e)?yl(t):B(e,((e,l)=>I(e)?Rl(t,l):B(e,((e,n)=>Me(Pl,t,l,n,e))))))),B(e[1],((e,t)=>Ee(Pl,t,e)))})),setTablesJson:pl,setValuesJson:e=>{try{Mt(Pe(e))}catch(e){}return Pl},setJson:e=>_t((()=>{try{const[t,l]=Pe(e);mt(t),Mt(l)}catch(t){pl(e)}})),setTablesSchema:wl,setValuesSchema:Sl,setSchema:(e,t)=>_t((()=>{wl(e),Sl(t)})),delTables:ml,delTable:yl,delRow:Rl,delCell:(e,t,l,n)=>_t(((e,t,l)=>L(te(Ae,e),(s=>L(te(s,t),(a=>Q(a,l)?zt(e,s,t,a,l,n):0))))),e,t,l),delValues:Il,delValue:e=>_t((e=>Q(We,e)?At(e):0),e),delTablesSchema:Ll,delValuesSchema:Jl,delSchema:()=>_t((()=>{Ll(),Jl()})),transaction:Ml,startTransaction:El,getTransactionChanges:()=>[re(k,((e,t)=>-1===te(R,t)?void 0:re(e,((e,l)=>-1===te(te(A,t),l)?void 0:re(e,(([,e])=>e),((e,t)=>Le(t)))),G)),G),re(q,(([,e])=>e),((e,t)=>Le(t)))],getTransactionLog:()=>[a,i,ue(k,Ie,Le),ue(he),re(q,Ie,Le),re(ge),re(R),oe(A),ue(W),re(N)],finishTransaction:Hl,forEachTable:e=>Y(Ae,((t,l)=>e(l,(e=>Y(t,((t,l)=>e(l,(e=>le(t,e))))))))),forEachTableCell:(e,t)=>le(te(ze,w(e)),t),forEachRow:(e,t)=>Y(te(Ae,w(e)),((e,l)=>t(l,(t=>le(e,t))))),forEachCell:(e,t,l)=>le(te(te(Ae,w(e)),w(t)),l),forEachValue:e=>le(We,e),addSortedRowIdsListener:(e,t,l,n,s,a,r)=>{let o=al(e,t,l,n,s);return it((()=>{const r=al(e,t,l,n,s);var u,i,c;i=o,H(u=r)===H(i)&&(c=(e,t)=>i[t]===e,u.every(c))||(o=r,a(Pl,e,t,l,n,s,o))}),Qe[r?1:0],[e,t],[tl])},addStartTransactionListener:e=>it(e,ot),addWillFinishTransactionListener:e=>it(e,ut[0]),addDidFinishTransactionListener:e=>it(e,ut[1]),callListener:e=>(vt(e),Pl),delListener:e=>(dt(e),Pl),getListenerStats:()=>({}),createStore:xe,addListener:it,callListeners:ct,addPostTransactionListener:e=>{n=e}};return B({[u+d]:[0,ke,[],()=>[dl()]],[d]:[0,De],[v]:[0,Ne],[u+c]:[1,je,[tl],e=>[vl(...e)]],[c]:[1,$e,[tl]],[c+f]:[1,qe,[tl]],[u+c+T]:[2,Be,[tl,ll],e=>[hl(...e)]],[g]:[1,Ge,[tl]],[C]:[1,Ke,[tl]],[u+h]:[2,Ue,[tl,sl],e=>[gl(...e)]],[h]:[2,Xe,[tl,sl]],[f]:[2,Ye,[tl,sl]],[u+T]:[3,Ze,[tl,sl,rl],e=>[Cl(...e)]],[T]:[3,_e,[tl,sl,rl],e=>ye(ol(...e))],InvalidCell:[3,et],[u+V]:[0,lt,[],()=>[Tl()]],[V]:[0,nt],[p]:[0,st],[u+b]:[1,at,[il],e=>[fl(...e)]],[b]:[1,rt,[il],e=>ye(cl(e[0]))],InvalidValue:[1,tt]},(([e,t,l,n],s)=>{Pl["add"+s+"Listener"]=(...s)=>it(s[e],t[s[e+1]?1:0],e>0?E(s,0,e):void 0,l,n)})),D(Pl)};var ze=Math.pow;const Ae=ze(2,36),We=ze(2,30),ke=ze(2,24),De=ze(2,18),Ne=ze(2,12),je=ze(2,6),$e=e=>String.fromCharCode(48+(63&e)),qe=(e,t)=>y(e,t)-48,Be={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Ge=()=>[t,[ge(),ge()]],Ke=e=>{let t=1,l=Ge();const[n,s]=(e=>{let t=0,l=0;const n=(s=(e,t)=>(e<<5)+e^y(t),((e,t="",l)=>e.split(t,l))(e).reduce(s,5381)>>>0);var s;const a=e=>{const n=t,[s,a]=I(e)?[0,0]:[qe(r=e,0)*Ae+qe(r,1)*We+qe(r,2)*ke+qe(r,3)*De+qe(r,4)*Ne+qe(r,5)*je+qe(r,6),qe(r,7)*De+qe(r,8)*Ne+qe(r,9)*je+qe(r,10),qe(r,11)*ke+qe(r,12)*De+qe(r,13)*Ne+qe(r,14)*je+qe(r,15)];var r;t=Math.max(n,s,Date.now()),l=t==n?t==s?Math.max(l,a):l:t==s?a:-1};return[()=>{return a(),s=++l,r=n,$e((e=t)/Ae)+$e(e/We)+$e(e/ke)+$e(e/De)+$e(e/Ne)+$e(e/je)+$e(e)+$e(s/De)+$e(s/Ne)+$e(s/je)+$e(s)+$e(r/ke)+$e(r/De)+$e(r/Ne)+$e(r/je)+$e(r);var e,s,r},a]})(e),a=xe(),r=e=>{const l=t;t=0,e(),t=l},o=e=>{const t=[{},{}];return s(e[0]),be(e,l,t,(([e,t],[l,n],[s,a])=>{be(e,l,s,((e,t,l)=>fe(e,t,l,((e,t,l)=>fe(e,t,l,Ve))))),be(t,n,a,Ve)})),r((()=>a.applyChanges(t))),u},u={getMergeableContent:()=>Ce(l,(([e,t])=>[Te(e,(e=>Te(e,(e=>Te(e,Ie))))),Te(t,Ie)])),setMergeableContent:e=>(r((()=>a.transaction((()=>{a.delTables().delValues(),l=Ge()})))),o(e),u),applyMergeableChanges:o,merge:e=>{const t=u.getMergeableContent(),l=e.getMergeableContent();return e.applyMergeableChanges(t),o(l)}};return a.addPostTransactionListener((()=>{if(t){const e=n(),[t,s,r,,o]=a.getTransactionLog(),[u,i]=l[1];l[0]=e,t&&(u[0]=e,B(r,((t,l)=>{var n;const s=se(u[1],l,he),a=null!=(n=s[1])?n:s[1]=_();s[0]=e,B(t,((t,l)=>{var n;const s=se(a,l,he),r=null!=(n=s[1])?n:s[1]=_();s[0]=e,B(t,(([,t],l)=>ne(r,l,[e,t])))}))}))),s&&(i[0]=e,B(o,(([,t],l)=>{ne(i[1],l,[e,t])})))}})),B(a,((e,t)=>u[t]=S(t,"set")||S(t,"del")||S(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),u):S(t,"add")&&m(t,"Listener")?(...l)=>{var n;const s=null!=(n=Be[E(t,3,-8)])?n:0,a=l[s];return l[s]=(e,...t)=>a(u,...t),e(...l)}:e)),D(u)};export{Ke as createMergeableStore};
1
+ const e=e=>typeof e,t="",l=e(t),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",v=c+i,g="Row",h=g+"Count",C=g+i,f="Cell",T=f+i,b="Value",V=b+"s",p=b+i,w=e=>t+e,S=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),I=(e,t=0)=>e.charCodeAt(t),m=Math.max,R=isFinite,L=e=>null==e,J=(e,t,l)=>L(e)?null==l?void 0:l():t(e),M=e=>e==l||e==n,E=t=>e(t)==a,H=(e,t,l)=>e.slice(t,l),F=e=>e.length,O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),A=(e,...t)=>e.push(...t),P=Object,W=e=>P.getPrototypeOf(e),k=P.entries,x=P.keys,D=P.isFrozen,N=P.freeze,j=e=>!L(e)&&J(W(e),(e=>e==P.prototype||L(W(e))),(()=>!0)),$=(e=[])=>P.fromEntries(e),q=(e,t)=>t in e,B=(e,t)=>(delete e[t],e),G=(e,t)=>O(k(e),(([e,l])=>t(l,e))),K=(e,t)=>z(k(e),(([e,l])=>t(l,e))),Q=e=>j(e)&&0==(e=>F(x(e)))(e),U=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},X=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},Y=e=>L(e)||0==U(e),Z=e=>e.clear(),_=(e,t)=>null==e?void 0:e.forEach(t),ee=(e,t)=>null==e?void 0:e.delete(t),te=e=>new Map(e),le=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ne=(e,t)=>null==e?void 0:e.get(t),se=(e,t)=>_(e,((e,l)=>t(l,e))),ae=(e,t,l)=>L(l)?(ee(e,t),e):null==e?void 0:e.set(t,l),re=(e,t,l)=>(X(e,t)||ae(e,t,l()),ne(e,t)),oe=(e,t,l,n=ae)=>(K(t,((t,n)=>l(e,n,t))),se(e,(l=>q(t,l)?0:n(e,l))),e),ue=(e,t,l)=>{const n={};return _(e,((e,s)=>{const a=t?t(e,s):e;!(null==l?void 0:l(a,e))&&(n[s]=a)})),n},ie=(e,t,l)=>ue(e,(e=>ue(e,t,l)),Q),ce=(e,t,l)=>ue(e,(e=>ie(e,t,l)),Q),de=(e,t)=>{const l=te();return _(e,((e,n)=>{var s;return l.set(n,null!=(s=null==t?void 0:t(e))?s:e)})),l},ve=e=>de(e,de),ge=e=>de(e,ve),he=(e,t,l,n,s=0)=>J((l?re:ne)(e,t[s],s>F(t)-2?l:te),(a=>{if(s>F(t)-2)return(null==n?void 0:n(a))&&ae(e,t[s]),a;const r=he(a,t,l,n,s+1);return Y(a)&&ae(e,t[s]),r})),Ce=(e="",t)=>[e,t],fe=(e="")=>Ce(e,te()),Te=e=>Ce(e,$()),be=([e,t],l)=>[e,l(t,e)],Ve=([e,t])=>[e,t],pe=(e,t)=>be(e,(e=>ue(e,t))),we=(e,t,l,n)=>G(e,((e,s)=>Se(e,re(t,s,fe),l[s]=$(),n))),Se=([e,t],l,n,s)=>{e>l[0]&&(l[0]=e),s(t,l[1],n)},ye=(e,t,l)=>G(e,(([e,n],s)=>{const a=re(t,s,Ce);e>a[0]&&(a[0]=e,a[1]=l[s]=n)})),Ie=e=>new Set(Array.isArray(e)||L(e)?e:[e]),me=(e,t)=>null==e?void 0:e.add(t),Re=/^\d+$/,Le=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},t=>{Re.test(t)&&F(e)<1e3&&A(e,t)}]},Je=e=>[e,e],Me=()=>[te(),te()],Ee=e=>[...e],He=([e,t])=>e===t,Fe=t=>{const l=e(t);return M(l)||l==s&&R(t)?l:void 0},Oe=(e,t,l,n,s)=>L(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s),ze=(e,t,l)=>L(l)?e.delValue(t):e.setValue(t,l),Ae=e=>JSON.stringify(e,((e,t)=>t instanceof Map?P.fromEntries([...t]):t)),Pe=JSON.parse,We=(e,t,l)=>L(e)||!j(e)||Q(e)||D(e)?(null==l||l(),!1):(K(e,((l,n)=>{t(l,n)||B(e,n)})),!Q(e)),ke=(e,t,l)=>ae(e,t,ne(e,t)==-l?void 0:l),xe=()=>{let e,l,n=!1,a=!1,i=0,S=[];const y=te(),I=te(),m=te(),R=te(),P=te(),W=te(),k=te(),x=te(),D=te(),j=te(),$=te(),G=te(),Ce=te(),fe=te(),Te=Ie(),be=te(),Ve=te(),pe=te(),we=te(),Se=Me(),ye=Me(),Re=Me(),De=Me(),Ne=Me(),je=Me(),$e=Me(),qe=Me(),Be=Me(),Ge=Me(),Ke=Me(),Qe=Me(),Ue=Me(),Xe=Me(),Ye=Me(),Ze=Me(),_e=Me(),et=Me(),tt=Me(),lt=Me(),nt=Me(),st=Me(),at=te(),rt=Me(),[ot,ut,it,ct]=(e=>{let l;const[n,s]=Le(),a=te();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=El);const i=n(1);return ae(a,i,[e,s,r,o,u]),me(he(s,null!=r?r:[t],Ie),i),i},(e,n,...s)=>O(((e,l=[t])=>{const n=[],s=(e,t)=>t==F(l)?A(n,e):null===l[t]?_(e,(e=>s(e,t+1))):O([l[t],null],(l=>s(ne(e,l),t+1)));return s(e,0),n})(e,n),(e=>_(e,(e=>ne(a,e)[0](l,...null!=n?n:[],...s))))),e=>J(ne(a,e),(([,l,n])=>(he(l,null!=n?n:[t],void 0,(t=>(ee(t,e),Y(t)?1:0))),ae(a,e),s(e),n))),e=>J(ne(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=F(r);i==F(t)?e(l,...r,...s(r)):L(t[i])?O(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),dt=e=>{if(!We(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!M(t)&&t!=s||(Fe(e[o])!=t&&B(e,o),0))},vt=(t,l)=>(!e||X($,l)||jt(l))&&We(t,((e,t)=>gt(l,t,e)),(()=>jt(l))),gt=(e,t,l,n)=>We(n?l:Tt(l,e,t),((n,s)=>J(ht(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>jt(e,t))),ht=(t,l,n,s)=>e?J(ne(ne($,t),n),(e=>Fe(s)!=e[r]?jt(t,l,n,s,e[o]):s),(()=>jt(t,l,n,s))):L(Fe(s))?jt(t,l,n,s):s,Ct=(e,t)=>We(t?e:bt(e),((t,l)=>J(ft(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>$t())),ft=(e,t)=>l?J(ne(Ce,e),(l=>Fe(t)!=l[r]?$t(e,t,l[o]):t),(()=>$t(e,t))):L(Fe(t))?$t(e,t):t,Tt=(e,t,l)=>(J(ne(G,t),(([n,s])=>{_(n,((t,l)=>{q(e,l)||(e[l]=t)})),_(s,(n=>{q(e,n)||jt(t,l,n)}))})),e),bt=e=>(l&&(_(fe,((t,l)=>{q(e,l)||(e[l]=t)})),_(Te,(t=>{q(e,t)||$t(t)}))),e),Vt=e=>oe($,e,((e,t,l)=>{const n=te(),s=Ie();oe(re($,t,te),l,((e,t,l)=>{ae(e,t,l),J(l[o],(e=>ae(n,t,e)),(()=>me(s,t)))})),ae(G,t,[n,s])}),((e,t)=>{ae($,t),ae(G,t)})),pt=e=>oe(Ce,e,((e,t,l)=>{ae(Ce,t,l),J(l[o],(e=>ae(fe,t,e)),(()=>me(Te,t)))}),((e,t)=>{ae(Ce,t),ae(fe,t),ee(Te,t)})),wt=e=>Q(e)?wl():fl(e),St=e=>oe(pe,e,((e,t,l)=>yt(t,l)),((e,t)=>Ft(t))),yt=(e,t)=>oe(re(pe,e,(()=>(Pt(e,1),ae(be,e,Le()),ae(Ve,e,te()),te()))),t,((t,l,n)=>It(e,t,l,n)),((t,l)=>Ot(e,t,l))),It=(e,t,l,n,s)=>oe(re(t,l,(()=>(Wt(e,l,1),te()))),n,((t,n,s)=>mt(e,l,t,n,s)),((n,a)=>zt(e,t,l,n,a,s))),mt=(e,t,l,n,s)=>{X(l,n)||kt(e,t,n,1);const a=ne(l,n);s!==a&&(xt(e,t,n,a,s),ae(l,n,s))},Rt=(e,t,l,n,s)=>J(ne(t,l),(t=>mt(e,l,t,n,s)),(()=>It(e,t,l,Tt({[n]:s},e,l)))),Lt=e=>Q(e)?Il():Tl(e),Jt=e=>oe(we,e,((e,t,l)=>Mt(t,l)),((e,t)=>At(t))),Mt=(e,t)=>{X(we,e)||Dt(e,1);const l=ne(we,e);t!==l&&(Nt(e,l,t),ae(we,e,t))},Et=(e,t)=>{const[l]=ne(be,e),n=l(t);return X(ne(pe,e),n)?Et(e,t):n},Ht=e=>{var t;return null!=(t=ne(pe,e))?t:yt(e,{})},Ft=e=>yt(e,{}),Ot=(e,t,l)=>{const[,n]=ne(be,e);n(l),It(e,t,l,{},!0)},zt=(e,t,l,n,s,a)=>{var r;const o=ne(null==(r=ne(G,e))?void 0:r[0],s);if(!L(o)&&!a)return mt(e,l,n,s,o);const u=t=>{xt(e,l,t,ne(n,t)),kt(e,l,t,-1),ae(n,t)};L(o)?u(s):se(n,u),Y(n)&&(Wt(e,l,-1),Y(ae(t,l))&&(Pt(e,-1),ae(pe,e),ae(be,e),ae(Ve,e)))},At=e=>{const t=ne(fe,e);if(!L(t))return Mt(e,t);Nt(e,ne(we,e)),Dt(e,-1),ae(we,e)},Pt=(e,t)=>ke(y,e,t),Wt=(e,t,l)=>ke(re(R,e,te),t,l)&&ae(m,e,re(m,e,(()=>0))+l),kt=(e,t,l,n)=>{var s;const a=ne(Ve,e),r=null!=(s=ne(a,l))?s:0;(0==r&&1==n||1==r&&-1==n)&&ke(re(I,e,te),l,n),ae(a,l,r!=-n?r+n:null),ke(re(re(P,e,te),t,te),l,n)},xt=(e,t,l,n,s)=>re(re(re(W,e,te),t,te),l,(()=>[n,0]))[1]=s,Dt=(e,t)=>ke(k,e,t),Nt=(e,t,l)=>re(x,e,(()=>[t,0]))[1]=l,jt=(e,t,l,n,s)=>(A(re(re(re(D,e,te),t,te),l,(()=>[])),n),s),$t=(e,t,l)=>(A(re(j,e,(()=>[])),t),l),qt=(e,t,l)=>J(ne(ne(ne(W,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(al(e,t,l))])),Bt=e=>J(ne(x,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(ul(e))])),Gt=e=>Y(D)||Y(Ze[e])?0:_(e?ge(D):D,((t,l)=>_(t,((t,n)=>_(t,((t,s)=>ut(Ze[e],[l,n,s],t))))))),Kt=e=>Y(j)||Y(_e[e])?0:_(e?de(j):j,((t,l)=>ut(_e[e],[l],t))),Qt=(e,t,l,n)=>{if(!Y(e))return ut(t,n,(()=>ue(e))),se(e,((e,t)=>ut(l,[...null!=n?n:[],e],1==t))),1},Ut=e=>{const t=il();t!=n&&ut(Se[e],void 0,t);const l=Y(Ge[e]),s=Y(Ue[e])&&Y(Xe[e])&&Y(Be[e])&&Y(Ke[e])&&Y(je[e])&&Y($e[e])&&Y(qe[e])&&l&&Y(Re[e])&&Y(De[e]),a=Y(Ye[e])&&Y(Qe[e])&&Y(Ne[e])&&Y(ye[e]);if(!s||!a){const t=e?[de(y),ve(I),de(m),ve(R),ge(P),ge(W)]:[y,I,m,R,P,W];if(!s){Qt(t[0],Re[e],De[e]),_(t[1],((t,l)=>Qt(t,je[e],$e[e],[l]))),_(t[2],((t,l)=>{0!=t&&ut(qe[e],[l],tl(l))}));const n=Ie();_(t[3],((t,s)=>{Qt(t,Be[e],Ke[e],[s])&&!l&&(ut(Ge[e],[s,null]),me(n,s))})),l||_(t[5],((t,l)=>{if(!X(n,l)){const n=Ie();_(t,(e=>_(e,(([t,l],s)=>l!==t?me(n,s):ee(e,s))))),_(n,(t=>ut(Ge[e],[l,t])))}})),_(t[4],((t,l)=>_(t,((t,n)=>Qt(t,Ue[e],Xe[e],[l,n])))))}if(!a){let l;_(t[5],((t,n)=>{let s;_(t,((t,a)=>{let r;_(t,(([t,o],u)=>{o!==t&&(ut(Ye[e],[n,a,u],o,t,qt),l=s=r=1)})),r&&ut(Qe[e],[n,a],qt)})),s&&ut(Ne[e],[n],qt)})),l&&ut(ye[e],void 0,qt)}}},Xt=e=>{const t=hl();t!=a&&ut(et[e],void 0,t);const l=Y(lt[e])&&Y(nt[e]),n=Y(st[e])&&Y(tt[e]);if(!l||!n){const t=e?[de(k),de(x)]:[k,x];if(l||Qt(t[0],lt[e],nt[e]),!n){let l;_(t[1],(([t,n],s)=>{n!==t&&(ut(st[e],[s],n,t,Bt),l=1)})),l&&ut(tt[e],void 0,Bt)}}},Yt=(e,...t)=>(Ll((()=>e(...z(t,w)))),El),Zt=()=>ce(pe),_t=()=>le(pe),el=e=>le(ne(Ve,w(e))),tl=e=>U(ne(pe,w(e))),ll=e=>le(ne(pe,w(e))),nl=(e,t,l,n=0,s)=>{return z(H((r=ne(pe,w(e)),o=(e,l)=>[L(t)?l:ne(e,w(t)),l],a=([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(s=t)?s:0)?-1:1)*(l?-1:1);var n,s},z([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,t])=>o(t,e))).sort(a)),n,L(s)?s:n+s),(([,e])=>e));var a,r,o,u},sl=(e,t)=>le(ne(ne(pe,w(e)),w(t))),al=(e,t,l)=>ne(ne(ne(pe,w(e)),w(t)),w(l)),rl=()=>ue(we),ol=()=>le(we),ul=e=>ne(we,w(e)),il=()=>!Y(pe),cl=e=>X(pe,w(e)),dl=(e,t)=>X(ne(Ve,w(e)),w(t)),vl=(e,t)=>X(ne(pe,w(e)),w(t)),gl=(e,t,l)=>X(ne(ne(pe,w(e)),w(t)),w(l)),hl=()=>!Y(we),Cl=e=>X(we,w(e)),fl=e=>Yt((()=>(e=>We(e,vt,jt))(e)?St(e):0)),Tl=e=>Yt((()=>Ct(e)?Jt(e):0)),bl=e=>{try{wt(Pe(e))}catch(e){}return El},Vl=t=>Yt((()=>{if((e=We(t,(e=>We(e,dt))))&&(Vt(t),!Y(pe))){const e=Zt();wl(),fl(e)}})),pl=e=>Yt((()=>{if(l=(e=>We(e,dt))(e)){const t=rl();Rl(),Il(),l=!0,pt(e),Tl(t)}})),wl=()=>Yt((()=>St({}))),Sl=e=>Yt((e=>X(pe,e)?Ft(e):0),e),yl=(e,t)=>Yt(((e,t)=>J(ne(pe,e),(l=>X(l,t)?Ot(e,l,t):0))),e,t),Il=()=>Yt((()=>Jt({}))),ml=()=>Yt((()=>{Vt({}),e=!1})),Rl=()=>Yt((()=>{pt({}),l=!1})),Ll=(e,t)=>{if(-1!=i){Jl();const l=e();return Ml(t),l}},Jl=()=>(-1!=i&&i++,1==i&&ut(at,void 0),El),Ml=e=>{var t,l;return i>0&&(i--,0==i&&(i=1,Gt(1),Y(W)||Ut(1),Kt(1),Y(x)||Xt(1),(null==e?void 0:e(El))&&(_(W,((e,t)=>_(e,((e,l)=>_(e,(([e],n)=>Oe(El,t,l,n,e))))))),Z(W),_(x,(([e],t)=>ze(El,t,e))),Z(x)),ut(rt[0],void 0),i=-1,Gt(0),Y(W)||Ut(0),Kt(0),Y(x)||Xt(0),null==(t=S[0])||t.call(S,El),ut(rt[1],void 0),null==(l=S[1])||l.call(S,El),i=0,n=il(),a=hl(),O([y,I,m,R,P,W,D,k,x,j],Z))),El},El={getContent:()=>[Zt(),rl()],getTables:Zt,getTableIds:_t,getTable:e=>ie(ne(pe,w(e))),getTableCellIds:el,getRowCount:tl,getRowIds:ll,getSortedRowIds:nl,getRow:(e,t)=>ue(ne(ne(pe,w(e)),w(t))),getCellIds:sl,getCell:al,getValues:rl,getValueIds:ol,getValue:ul,hasTables:il,hasTable:cl,hasTableCell:dl,hasRow:vl,hasCell:gl,hasValues:hl,hasValue:Cl,getTablesJson:()=>Ae(pe),getValuesJson:()=>Ae(we),getJson:()=>Ae([pe,we]),getTablesSchemaJson:()=>Ae($),getValuesSchemaJson:()=>Ae(Ce),getSchemaJson:()=>Ae([$,Ce]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,t])=>Yt((()=>{(Q(e)?wl:fl)(e),(Q(t)?Il:Tl)(t)})),setTables:fl,setTable:(e,t)=>Yt((e=>vt(t,e)?yt(e,t):0),e),setRow:(e,t,l)=>Yt(((e,t)=>gt(e,t,l)?It(e,Ht(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Ll((()=>{let n;return gt(e,n,t)&&(e=w(e),It(e,Ht(e),n=Et(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>Yt(((e,t)=>{if(gt(e,t,l,1)){const n=Ht(e);K(l,((l,s)=>Rt(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>Yt(((e,t,l)=>J(ht(e,t,l,E(n)?n(al(e,t,l)):n),(n=>Rt(e,Ht(e),t,l,n)))),e,t,l),setValues:Tl,setPartialValues:e=>Yt((()=>Ct(e,1)?K(e,((e,t)=>Mt(t,e))):0)),setValue:(e,t)=>Yt((e=>J(ft(e,E(t)?t(ul(e)):t),(t=>Mt(e,t)))),e),applyChanges:e=>Yt((()=>{K(e[0],((e,t)=>L(e)?Sl(t):K(e,((e,l)=>L(e)?yl(t,l):K(e,((e,n)=>Oe(El,t,l,n,e))))))),K(e[1],((e,t)=>ze(El,t,e)))})),setTablesJson:bl,setValuesJson:e=>{try{Lt(Pe(e))}catch(e){}return El},setJson:e=>Yt((()=>{try{const[t,l]=Pe(e);wt(t),Lt(l)}catch(t){bl(e)}})),setTablesSchema:Vl,setValuesSchema:pl,setSchema:(e,t)=>Yt((()=>{Vl(e),pl(t)})),delTables:wl,delTable:Sl,delRow:yl,delCell:(e,t,l,n)=>Yt(((e,t,l)=>J(ne(pe,e),(s=>J(ne(s,t),(a=>X(a,l)?zt(e,s,t,a,l,n):0))))),e,t,l),delValues:Il,delValue:e=>Yt((e=>X(we,e)?At(e):0),e),delTablesSchema:ml,delValuesSchema:Rl,delSchema:()=>Yt((()=>{ml(),Rl()})),transaction:Ll,startTransaction:Jl,getTransactionChanges:()=>[ue(W,((e,t)=>-1===ne(y,t)?void 0:ue(e,((e,l)=>-1===ne(ne(R,t),l)?void 0:ue(e,(([,e])=>e),((e,t)=>He(t)))),Q)),Q),ue(x,(([,e])=>e),((e,t)=>He(t)))],getTransactionLog:()=>[!Y(W),!Y(x),ce(W,Ee,He),ce(D),ue(x,Ee,He),ue(j),ue(y),ie(R),ce(P),ue(k)],finishTransaction:Ml,forEachTable:e=>_(pe,((t,l)=>e(l,(e=>_(t,((t,l)=>e(l,(e=>se(t,e))))))))),forEachTableCell:(e,t)=>se(ne(Ve,w(e)),t),forEachRow:(e,t)=>_(ne(pe,w(e)),((e,l)=>t(l,(t=>se(e,t))))),forEachCell:(e,t,l)=>se(ne(ne(pe,w(e)),w(t)),l),forEachValue:e=>se(we,e),addSortedRowIdsListener:(e,t,l,n,s,a,r)=>{let o=nl(e,t,l,n,s);return ot((()=>{const r=nl(e,t,l,n,s);var u,i,c;i=o,F(u=r)===F(i)&&(c=(e,t)=>i[t]===e,u.every(c))||(o=r,a(El,e,t,l,n,s,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,at),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(ct(e),El),delListener:e=>(it(e),El),getListenerStats:()=>({}),createStore:xe,addListener:ot,callListeners:ut,setInternalListeners:(e,t)=>S=[e,t]};return K({[u+d]:[0,Se,[],()=>[il()]],[d]:[0,ye],[v]:[0,Re],[u+c]:[1,De,[_t],e=>[cl(...e)]],[c]:[1,Ne,[_t]],[c+T]:[1,je,[_t]],[u+c+f]:[2,$e,[_t,el],e=>[dl(...e)]],[h]:[1,qe,[_t]],[C]:[1,Be,[_t]],[u+g]:[2,Ke,[_t,ll],e=>[vl(...e)]],[g]:[2,Qe,[_t,ll]],[T]:[2,Ue,[_t,ll]],[u+f]:[3,Xe,[_t,ll,sl],e=>[gl(...e)]],[f]:[3,Ye,[_t,ll,sl],e=>Je(al(...e))],InvalidCell:[3,Ze],[u+V]:[0,et,[],()=>[hl()]],[V]:[0,tt],[p]:[0,lt],[u+b]:[1,nt,[ol],e=>[Cl(...e)]],[b]:[1,st,[ol],e=>Je(ul(e[0]))],InvalidValue:[1,_e]},(([e,t,l,n],s)=>{El["add"+s+"Listener"]=(...s)=>ot(s[e],t[s[e+1]?1:0],e>0?H(s,0,e):void 0,l,n)})),N(El)};var De=Math.pow;const Ne=De(2,36),je=De(2,30),$e=De(2,24),qe=De(2,18),Be=De(2,12),Ge=De(2,6),Ke=e=>String.fromCharCode(48+(63&e)),Qe=(e,t)=>I(e,t)-48,Ue={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Xe=(e="")=>[e,[fe(e),fe(e)]],Ye=e=>{let l,n,s=1,a=Xe();const[r,o]=(e=>{let t=0,l=-1;const n=(s=(e,t)=>(e<<5)+e^I(t),((e,t="",l)=>e.split(t,l))(e).reduce(s,5381)>>>0);var s;const a=e=>{const n=t,[s,a]=L(e)?[0,0]:[Qe(r=e,0)*Ne+Qe(r,1)*je+Qe(r,2)*$e+Qe(r,3)*qe+Qe(r,4)*Be+Qe(r,5)*Ge+Qe(r,6),Qe(r,7)*qe+Qe(r,8)*Be+Qe(r,9)*Ge+Qe(r,10),Qe(r,11)*$e+Qe(r,12)*qe+Qe(r,13)*Be+Qe(r,14)*Ge+Qe(r,15)];var r;t=m(n,s,Date.now()),l=t==n?t==s?m(l,a):l:t==s?a:-1};return[()=>{return a(),s=++l,r=n,Ke((e=t)/Ne)+Ke(e/je)+Ke(e/$e)+Ke(e/qe)+Ke(e/Be)+Ke(e/Ge)+Ke(e)+Ke(s/qe)+Ke(s/Be)+Ke(s/Ge)+Ke(s)+Ke(r/$e)+Ke(r/qe)+Ke(r/Be)+Ke(r/Ge)+Ke(r);var e,s,r},a]})(e),u=xe(),i=e=>{const t=s;s=0,e(),s=t},c=()=>{if(L(n)){const[,,e,,n]=u.getTransactionLog(),s=Q(e)&&Q(n)?t:null!=l?l:l=r(),a=Ce(s,[Te(Q(e)?t:s),Te(Q(n)?t:s)]),[[,o],[,i]]=a[1];return K(e,((e,t)=>{const[,l]=o[t]=Te(s);K(e,((e,t)=>{const[,n]=l[t]=Te(s);K(e,(([,e],t)=>n[t]=Ce(s,e)))}))})),K(n,(([,e],t)=>i[t]=Ce(s,e))),a}return n},d=e=>{const t=[{},{}];return o(e[0]),Se(e,a,t,(([e,t],[l,n],[s,a])=>{Se(e,l,s,((e,t,l)=>we(e,t,l,((e,t,l)=>we(e,t,l,ye))))),Se(t,n,a,ye)})),i((()=>u.applyChanges(t))),v},v={getMergeableContent:()=>be(a,(([e,t])=>[pe(e,(e=>pe(e,(e=>pe(e,Ve))))),pe(t,Ve)])),setMergeableContent:e=>(i((()=>u.transaction((()=>{u.delTables().delValues(),a=Xe()})))),d(e),v),getTransactionMergeableChanges:c,applyMergeableChanges:d,merge:e=>{const t=v.getMergeableContent(),l=e.getMergeableContent();return e.applyMergeableChanges(t),d(l)}};return u.setInternalListeners((()=>{if(s){n=c();const[e,[t,l]]=n,s=!Q(t[1]),r=!Q(l[1]),[,[o,u]]=a;(s||r)&&(a[0]=e),s&&(o[0]=e,K(t[1],(([,t],l)=>{const n=re(o[1],l,fe);n[0]=e,K(t,(([,t],l)=>{const s=re(n[1],l,fe);s[0]=e,K(t,(([,t],l)=>ae(s[1],l,Ce(e,t))))}))}))),r&&(u[0]=e,K(l[1],(([,t],l)=>ae(u[1],l,Ce(e,t)))))}}),(()=>l=n=void 0)),K(u,((e,t)=>v[t]=S(t,"set")||S(t,"del")||S(t,"apply")||y(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),v):S(t,"add")&&y(t,"Listener")?(...l)=>{var n;const s=null!=(n=Ue[H(t,3,-8)])?n:0,a=l[s];return l[s]=(e,...t)=>a(v,...t),e(...l)}:e)),N(v)};export{Ye as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const t=t=>typeof t,e=t(""),n=t=>null==t,o=(t,e,o)=>n(t)?null==o?void 0:o():e(t),l=Object,i=t=>l.getPrototypeOf(t),u=l.entries,r=l.keys,d=l.freeze,a=(t,e)=>o(t,(t=>t[e])),c=(t,e)=>e in t,s=(t,e)=>(delete t[e],t),v=(t,e)=>((t,e)=>t.map(e))(u(t),(([t,n])=>e(n,t))),y=t=>r(t).length,h=t=>(t=>!n(t)&&o(i(t),(t=>t==l.prototype||n(i(t))),(()=>!0)))(t)&&0==y(t),f=t=>new Map(t),p=(t,e)=>null==t?void 0:t.get(e),g=(t,e,o)=>{return n(o)?(i=e,null==(l=t)||l.delete(i),t):null==t?void 0:t.set(e,o);var l,i},A=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||g(t,e,n()),p(t,e)};var C=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const L=f(),m=f();var S=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const w=(t,e)=>[t[e].t,t[e].v],x=(t,e,o,l)=>{const i=n(e)?t:((t,e,n)=>(c(t,e)||(t[e]={}),t[e]))(t,e);let u;return v(o,((t,e)=>{l(i,e,t)&&(u=1)})),v(i,((t,e)=>{c(o,e)||(s(i,e),u=1)})),!n(e)&&h(i)&&s(t,e),u},P=(l,i,u="tinybase",r)=>(i.change((t=>t[u]={})),((l,i,u,r,a,c,s,[v,y]=[],f=[])=>{var S;let w,x,P,b=0,M=0;A(L,f,(()=>0)),A(m,f,(()=>[]));const D=null!=(S=s?l.getMergeableContent:null)?S:l.getContent,O=l.getTransactionChanges,T=t=>C(void 0,null,(function*(){return 2!=b&&(b=1,yield j.schedule((()=>C(void 0,null,(function*(){yield t(),b=0}))))),j})),j={load:(n,o)=>C(void 0,null,(function*(){return yield T((()=>C(void 0,null,(function*(){try{const n=yield i();(s&&(n=>t(n)==e)(n[0])?l.applyMergeableChanges:l.setContent)(n)}catch(t){l.setContent([n,o])}}))))})),startAutoLoad:(...t)=>C(void 0,[...t],(function*(t={},e={}){return j.stopAutoLoad(),yield j.load(t,e),M=1,P=r(((t,e)=>C(void 0,null,(function*(){if(e){const t=e();yield T((()=>C(void 0,null,(function*(){return l.applyChanges(t)}))))}else yield T((()=>C(void 0,null,(function*(){var e;try{l.setContent(null!=(e=null==t?void 0:t())?e:yield i())}catch(t){null==c||c(t)}}))))})))),j})),stopAutoLoad:()=>(M&&(a(P),P=void 0,M=0),j),save:t=>C(void 0,null,(function*(){return 1!=b&&(b=2,yield j.schedule((()=>C(void 0,null,(function*(){try{yield u(D,t)}catch(t){null==c||c(t)}b=0}))))),j})),startAutoSave:()=>C(void 0,null,(function*(){return yield j.stopAutoSave().save(),w=l.addDidFinishTransactionListener((()=>{const[t,e]=O();h(t)&&h(e)||j.save((()=>[t,e]))})),j})),stopAutoSave:()=>(o(w,l.delListener),w=void 0,j),schedule:(...t)=>C(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(p(m,f),...t),yield C(void 0,null,(function*(){if(!p(L,f)){for(g(L,f,1);!n((t=p(m,f),x=t.shift()));)try{yield x()}catch(t){null==c||c(t)}g(L,f,0)}var t})),j})),getStore:()=>l,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(j[v]=()=>y),d(j)})(l,(()=>S(void 0,null,(function*(){const t=yield i.doc();return 2==y(t[u])?w(t,u):void 0}))),((t,e)=>S(void 0,null,(function*(){return i.change((l=>((t,e,l,i)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[u,r]=w(t,e),d=()=>{c=1};let c=1;if(o(null==i?void 0:i(),(([t,e])=>{c=0,v(t,((t,e)=>c?0:n(t)?s(u,e):o(u[e],(e=>v(t,((t,l)=>c?0:n(t)?s(e,l):o(a(e,l),(e=>v(t,((t,o)=>n(t)?s(e,o):e[o]=t))),d)))),d))),v(e,((t,e)=>c?0:n(t)?s(r,e):r[e]=t))})),c){const[t,e]=l();x(u,void 0,t,((t,e,n)=>x(u,e,n,((t,e,n)=>x(t,e,n,((t,e,n)=>{if(a(t,e)!==n)return t[e]=n,1})))))),x(r,void 0,e,((t,e,n)=>{a(r,e)!==n&&(r[e]=n)}))}})(l,u,t,e)))}))),(t=>{const e=({doc:e})=>t((()=>w(e,u)));return i.on("change",e),e}),(t=>{i.removeListener("change",t)}),r,!1,["getDocHandle",i]));export{P as createAutomergePersister};
1
+ const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),i=l.entries,u=l.keys,a=l.freeze,d=(e,t)=>o(e,(e=>e[t])),s=(e,t)=>t in e,c=(e,t)=>(delete e[t],e),v=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,n])=>t(n,e))),y=e=>u(e).length,h=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==y(e),g=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),p=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},C=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||p(e,t,n()),f(e,t)};var b=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const A=g(),L=g(),M=n=>{return o=null==n?void 0:n[0],e(o)==t;var o};var m=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const S=(e,t)=>[e[t].t,e[t].v],w=(e,t,o,l)=>{const r=n(t)?e:((e,t,n)=>(s(e,t)||(e[t]={}),e[t]))(e,t);let i;return v(o,((e,t)=>{l(r,t,e)&&(i=1)})),v(r,((e,t)=>{s(o,t)||(c(r,t),i=1)})),!n(t)&&h(r)&&c(e,t),i},x=(e,t,l="tinybase",r)=>(t.change((e=>e[l]={})),((e,t,l,r,i,u,d,[s,c]=[],v=[])=>{let y,g,m,S=0,w=0;C(A,v,(()=>0)),C(L,v,(()=>[]));const[x,P,T,D]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(d,e),O=e=>b(void 0,null,(function*(){return 2!=S&&(S=1,yield j.schedule((()=>b(void 0,null,(function*(){yield e(),S=0}))))),j})),j={load:(n,o)=>b(void 0,null,(function*(){return yield O((()=>b(void 0,null,(function*(){try{const n=yield t();(x&&M(n)?e.setMergeableContent:e.setContent)(n)}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>b(void 0,[...n],(function*(n={},o={}){return j.stopAutoLoad(),yield j.load(n,o),w=1,m=r(((n,o)=>b(void 0,null,(function*(){if(o){const t=o();yield O((()=>b(void 0,null,(function*(){return(x&&M(t)?e.applyMergeableChanges:e.applyChanges)(t)}))))}else yield O((()=>b(void 0,null,(function*(){var o;try{const l=null!=(o=null==n?void 0:n())?o:yield t();(x&&M(l)?e.setMergeableContent:e.setContent)(l)}catch(e){null==u||u(e)}}))))})))),j})),stopAutoLoad:()=>(w&&(i(m),m=void 0,w=0),j),save:e=>b(void 0,null,(function*(){return 1!=S&&(S=2,yield j.schedule((()=>b(void 0,null,(function*(){try{yield l(P,e)}catch(e){null==u||u(e)}S=0}))))),j})),startAutoSave:()=>b(void 0,null,(function*(){return yield j.stopAutoSave().save(),y=e.addDidFinishTransactionListener((()=>{const e=T();D(e)&&j.save((()=>e))})),j})),stopAutoSave:()=>(o(y,e.delListener),y=void 0,j),schedule:(...e)=>b(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(f(L,v),...e),yield b(void 0,null,(function*(){if(!f(A,v)){for(p(A,v,1);!n((e=f(L,v),g=e.shift()));)try{yield g()}catch(e){null==u||u(e)}p(A,v,0)}var e})),j})),getStore:()=>e,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s&&(j[s]=()=>c),a(j)})(e,(()=>m(void 0,null,(function*(){const e=yield t.doc();return 2==y(e[l])?S(e,l):void 0}))),((e,r)=>m(void 0,null,(function*(){return t.change((t=>((e,t,l,r)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[i,u]=S(e,t),a=()=>{s=1};let s=1;if(o(null==r?void 0:r(),(([e,t])=>{s=0,v(e,((e,t)=>s?0:n(e)?c(i,t):o(i[t],(t=>v(e,((e,l)=>s?0:n(e)?c(t,l):o(d(t,l),(t=>v(e,((e,o)=>n(e)?c(t,o):t[o]=e))),a)))),a))),v(t,((e,t)=>s?0:n(e)?c(u,t):u[t]=e))})),s){const[e,t]=l();w(i,void 0,e,((e,t,n)=>w(i,t,n,((e,t,n)=>w(e,t,n,((e,t,n)=>{if(d(e,t)!==n)return e[t]=n,1})))))),w(u,void 0,t,((e,t,n)=>{d(u,t)!==n&&(u[t]=n)}))}})(t,l,e,r)))}))),(e=>{const n=({doc:t})=>e((()=>S(t,l)));return t.on("change",n),n}),(e=>{t.removeListener("change",e)}),r,!1,["getDocHandle",t]));export{x as createAutomergePersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),i=l.keys,u=l.freeze,a=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),s=JSON.parse,d=e=>new Map(e),v=(e,t)=>null==e?void 0:e.get(t),c=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},y=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||c(e,t,n()),v(e,t)};var f=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const h=d(),p=d();var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const S="storage",m=globalThis.window,A=(r,i,d,A)=>((l,r,i,s,d,g,S,[m,A]=[],w=[])=>{var C;let L,x,P,b=0,M=0;y(h,w,(()=>0)),y(p,w,(()=>[]));const O=null!=(C=S?l.getMergeableContent:null)?C:l.getContent,E=l.getTransactionChanges,N=e=>f(void 0,null,(function*(){return 2!=b&&(b=1,yield T.schedule((()=>f(void 0,null,(function*(){yield e(),b=0}))))),T})),T={load:(n,o)=>f(void 0,null,(function*(){return yield N((()=>f(void 0,null,(function*(){try{const n=yield r();(S&&(n=>e(n)==t)(n[0])?l.applyMergeableChanges:l.setContent)(n)}catch(e){l.setContent([n,o])}}))))})),startAutoLoad:(...e)=>f(void 0,[...e],(function*(e={},t={}){return T.stopAutoLoad(),yield T.load(e,t),M=1,P=s(((e,t)=>f(void 0,null,(function*(){if(t){const e=t();yield N((()=>f(void 0,null,(function*(){return l.applyChanges(e)}))))}else yield N((()=>f(void 0,null,(function*(){var t;try{l.setContent(null!=(t=null==e?void 0:e())?t:yield r())}catch(e){null==g||g(e)}}))))})))),T})),stopAutoLoad:()=>(M&&(d(P),P=void 0,M=0),T),save:e=>f(void 0,null,(function*(){return 1!=b&&(b=2,yield T.schedule((()=>f(void 0,null,(function*(){try{yield i(O,e)}catch(e){null==g||g(e)}b=0}))))),T})),startAutoSave:()=>f(void 0,null,(function*(){return yield T.stopAutoSave().save(),L=l.addDidFinishTransactionListener((()=>{const[e,t]=E();a(e)&&a(t)||T.save((()=>[e,t]))})),T})),stopAutoSave:()=>(o(L,l.delListener),L=void 0,T),schedule:(...e)=>f(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(v(p,w),...e),yield f(void 0,null,(function*(){if(!v(h,w)){for(c(h,w,1);!n((e=v(p,w),x=e.shift()));)try{yield x()}catch(e){null==g||g(e)}c(h,w,0)}var e})),T})),getStore:()=>l,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return m&&(T[m]=()=>A),u(T)})(r,(()=>g(void 0,null,(function*(){return s(d.getItem(i))}))),(e=>g(void 0,null,(function*(){return d.setItem(i,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?l.fromEntries([...t]):t))));var t}))),(e=>{const t=t=>{t.storageArea===d&&t.key===i&&e((()=>s(t.newValue)))};return m.addEventListener(S,t),t}),(e=>m.removeEventListener(S,e)),A,!1,["getStorageName",i]),w=(e,t,n)=>A(e,t,localStorage,n),C=(e,t,n)=>A(e,t,sessionStorage,n);export{w as createLocalPersister,C as createSessionPersister};
1
+ const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),a=l.keys,i=l.freeze,u=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),s=JSON.parse,d=e=>new Map(e),c=(e,t)=>null==e?void 0:e.get(t),v=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},y=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||v(e,t,n()),c(e,t)};var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const f=d(),h=d(),p=n=>{return o=null==n?void 0:n[0],e(o)==t;var o};var C=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const S="storage",m=globalThis.window,A=(e,t,r,a)=>((e,t,l,r,a,s,d,[C,S]=[],m=[])=>{let A,b,w,L=0,M=0;y(f,m,(()=>0)),y(h,m,(()=>[]));const[x,P,O,T]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!u(e)||!u(t)])(d,e),E=e=>g(void 0,null,(function*(){return 2!=L&&(L=1,yield N.schedule((()=>g(void 0,null,(function*(){yield e(),L=0}))))),N})),N={load:(n,o)=>g(void 0,null,(function*(){return yield E((()=>g(void 0,null,(function*(){try{const n=yield t();(x&&p(n)?e.setMergeableContent:e.setContent)(n)}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},o={}){return N.stopAutoLoad(),yield N.load(n,o),M=1,w=r(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield E((()=>g(void 0,null,(function*(){return(x&&p(t)?e.applyMergeableChanges:e.applyChanges)(t)}))))}else yield E((()=>g(void 0,null,(function*(){var o;try{const l=null!=(o=null==n?void 0:n())?o:yield t();(x&&p(l)?e.setMergeableContent:e.setContent)(l)}catch(e){null==s||s(e)}}))))})))),N})),stopAutoLoad:()=>(M&&(a(w),w=void 0,M=0),N),save:e=>g(void 0,null,(function*(){return 1!=L&&(L=2,yield N.schedule((()=>g(void 0,null,(function*(){try{yield l(P,e)}catch(e){null==s||s(e)}L=0}))))),N})),startAutoSave:()=>g(void 0,null,(function*(){return yield N.stopAutoSave().save(),A=e.addDidFinishTransactionListener((()=>{const e=O();T(e)&&N.save((()=>e))})),N})),stopAutoSave:()=>(o(A,e.delListener),A=void 0,N),schedule:(...e)=>g(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(c(h,m),...e),yield g(void 0,null,(function*(){if(!c(f,m)){for(v(f,m,1);!n((e=c(h,m),b=e.shift()));)try{yield b()}catch(e){null==s||s(e)}v(f,m,0)}var e})),N})),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return C&&(N[C]=()=>S),i(N)})(e,(()=>C(void 0,null,(function*(){return s(r.getItem(t))}))),(e=>C(void 0,null,(function*(){return r.setItem(t,(n=e(),JSON.stringify(n,((e,t)=>t instanceof Map?l.fromEntries([...t]):t))));var n}))),(e=>{const n=n=>{n.storageArea===r&&n.key===t&&e((()=>s(n.newValue)))};return m.addEventListener(S,n),n}),(e=>m.removeEventListener(S,e)),a,!0,["getStorageName",t]),b=(e,t,n)=>A(e,t,localStorage,n),w=(e,t,n)=>A(e,t,sessionStorage,n);export{b as createLocalPersister,w as createSessionPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),A=e=>0==s(e),T=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),g=Object,w=e=>g.getPrototypeOf(e),C=g.entries,N=g.keys,x=g.freeze,S=(e=[])=>g.fromEntries(e),D=(...e)=>g.assign({},...e),I=(e,n)=>n in e,M=(e,n)=>O(C(e),(([e,l])=>n(l,e))),F=e=>g.values(e),$=e=>s(N(e)),_=e=>(e=>!a(e)&&d(w(e),(e=>e==g.prototype||a(w(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},U=(e,n,l)=>a(l)?(b(e,n),e):null==e?void 0:e.set(n,l),Y=(e,n,l)=>(P(e,n)||U(e,n,l()),H(e,n)),k=(e,n,l,t=U)=>(M(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>I(n,l)?0:t(e,l))),e),G=e=>new Set(Array.isArray(e)||a(e)?e:[e]),J=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&Q(e,l,n[l]);if(K)for(var l of K(n))q.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=h+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return k(i,S(yield y(O(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,S(O(yield e(h+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>U(i,n,k(Y(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&U(e,n,l)}),((e,n)=>U(e,n))))),((e,n)=>U(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?S(T(O(yield e(ee+E(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,v=!1)=>Z(void 0,null,(function*(){const s=G();M(null!=u?u:{},(e=>O(N(null!=e?e:{}),(e=>J(s,e)))));const f=R(s);if(!v&&c&&A(f)&&P(i,n))return yield e("DROP TABLE"+E(n)),void U(i,n);if(A(f)||P(i,n)){const t=H(i,n),r=G(B(t));yield y([...O(f,(o=>Z(void 0,null,(function*(){b(r,o)||(yield e(`ALTER TABLE${E(n)}ADD${E(o)}`),U(t,o,l))})))),...!v&&d?O(R(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${E(n)}DROP${E(l)}`),U(t,l))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+E(e))))});`),U(i,n,j([[o,l],...O(f,(e=>[e,l]))]));if(v)a(u)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(M(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+E(n)+le+E(o)+"=?",[t]):A(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(A(f))P(i,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const l=T(B(H(i,n)),(e=>e!=o)),t=[],r=[];M(null!=u?u:{},((e,n)=>{L(t,n,...O(l,(n=>null==e?void 0:e[n]))),L(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+E(n)+le+E(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+E(n)+"("+E(o)+m(O(i,(e=>t+E(e))))+")VALUES"+v(r(`,(?${r(",?",s(i))})`,s(u)/(s(i)+1)),1)+(a?"ON CONFLICT("+E(o)+")DO UPDATE SET"+m(O(i,(e=>E(e)+"=excluded."+E(e))),t):l),O(u,(e=>null!=e?e:null)))})),re=e=>m(O(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=(e,n,l,t,o,r,i,[u,v]=[],s=[])=>{var y;let f,p,E,h=0,m=0;Y(ae,s,(()=>0)),Y(de,s,(()=>[]));const O=null!=(y=i?e.getMergeableContent:null)?y:e.getContent,A=e.getTransactionChanges,T=e=>ue(void 0,null,(function*(){return 2!=h&&(h=1,yield P.schedule((()=>ue(void 0,null,(function*(){yield e(),h=0}))))),P})),P={load:(l,t)=>ue(void 0,null,(function*(){return yield T((()=>ue(void 0,null,(function*(){try{const l=yield n();(i&&c(l[0])?e.applyMergeableChanges:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return P.stopAutoLoad(),yield P.load(l,o),m=1,E=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield T((()=>ue(void 0,null,(function*(){return e.applyChanges(n)}))))}else yield T((()=>ue(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),P})),stopAutoLoad:()=>(m&&(o(E),E=void 0,m=0),P),save:e=>ue(void 0,null,(function*(){return 1!=h&&(h=2,yield P.schedule((()=>ue(void 0,null,(function*(){try{yield l(O,e)}catch(e){null==r||r(e)}h=0}))))),P})),startAutoSave:()=>ue(void 0,null,(function*(){return yield P.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const[e,n]=A();_(e)&&_(n)||P.save((()=>[e,n]))})),P})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,P),schedule:(...e)=>ue(void 0,null,(function*(){return L(H(de,s),...e),yield ue(void 0,null,(function*(){if(!H(ae,s)){for(U(ae,s,1);!a((e=H(de,s),p=e.shift()));)try{yield p()}catch(e){null==r||r(e)}U(ae,s,0)}var e})),P})),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(P[u]=()=>v),x(P)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const se="store",ye=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,v,s]=te(n,i,o);return ce(e,(()=>ve(void 0,null,(function*(){return yield s((()=>ve(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[se])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield s((()=>ve(void 0,null,(function*(){var n,l;yield d(),yield v(r,p,{[f]:{[se]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?g.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var fe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const pe=(e,n,l,t,o,[r,i,[u,d,c]],v,s,E,h)=>{const[m,O,A,L]=te(n,v,o,h),P=(e,n)=>fe(void 0,null,(function*(){return yield y(W(i,((l,t)=>fe(void 0,[l,t],(function*([l,t,o,r],i){n&&!I(e,i)||(yield A(l,t,e[i],o,r,n))})))))})),R=(e,n)=>fe(void 0,null,(function*(){return d?yield A(c,p,{[f]:e},!0,!0,n):null}));return ce(e,(()=>fe(void 0,null,(function*(){return yield L((()=>fe(void 0,null,(function*(){yield m();const e=yield fe(void 0,null,(function*(){return S(T(yield y(W(r,((e,n)=>fe(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!_(e[1]))))})),n=yield fe(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>fe(void 0,null,(function*(){return yield L((()=>fe(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield P(n),yield R(l)}else{const[e,l]=n();yield P(e,!0),yield R(l,!0)}}))))}))),l,t,o,!1,[E,s],s)},Ee="json",he="autoLoadIntervalSeconds",me="rowIdColumnName",Oe="tableId",Ae="tableName",Te={mode:Ee,[he]:1},Le={load:0,save:0,[Ae]:n+"_values"},Pe=(e,n,l,t)=>{const o=j();return M(e,((e,r)=>{const i=v(F(D(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||U(o,r,i)})),o};var Re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const be="pragma ",ge="data_version",we="schema_version",Ce=(e,l,t,o,r,i,a,d,s="getDb",y)=>{let f,E,m;const[O,A,T,L]=(e=>{const l=(e=>D(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[he];if(l.mode==Ee){const{storeTableName:e=n}=l;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(F(D(Le,i)),0,$(Le)),a=u[2],d=G(a);return[0,t,[Pe(o,{[Oe]:null,[me]:p},Oe,(e=>J(d,e)&&e==a)),Pe(r,{[Ae]:null,[me]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>J(d,n)&&n==a)),u],d]})(l);return(O?ye:pe)(e,i?(e,n)=>Re(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Re(void 0,null,(function*(){try{const n=(yield t(be+ge))[0][ge],l=(yield t(be+we))[0][we],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=E?E:E=l)&&o==(null!=m?m:m=o)||(e(),f=n,E=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>L.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=E=null,r(n)}),a,T,R(L),d,s,y)},Ne=(e,n,l,t,o)=>Ce(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{Ne as createCrSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),g=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),C=Object,R=e=>C.getPrototypeOf(e),w=C.entries,N=C.keys,x=C.freeze,S=(e=[])=>C.fromEntries(e),D=(...e)=>C.assign({},...e),M=(e,n)=>n in e,I=(e,n)=>O(w(e),(([e,l])=>n(l,e))),F=e=>C.values(e),$=e=>v(N(e)),_=e=>(e=>!a(e)&&d(R(e),(e=>e==C.prototype||a(R(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},U=(e,n,l)=>a(l)?(P(e,n),e):null==e?void 0:e.set(n,l),Y=(e,n,l)=>(b(e,n)||U(e,n,l()),H(e,n)),k=(e,n,l,t=U)=>(I(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>M(n,l)?0:t(e,l))),e),G=e=>new Set(Array.isArray(e)||a(e)?e:[e]),J=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&Q(e,l,n[l]);if(K)for(var l of K(n))q.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=E+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return k(i,S(yield y(O(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,S(O(yield e(E+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>U(i,n,k(Y(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&U(e,n,l)}),((e,n)=>U(e,n))))),((e,n)=>U(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?S(T(O(yield e(ee+h(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=G();I(null!=u?u:{},(e=>O(N(null!=e?e:{}),(e=>J(v,e)))));const f=L(v);if(!s&&c&&g(f)&&b(i,n))return yield e("DROP TABLE"+h(n)),void U(i,n);if(g(f)||b(i,n)){const t=H(i,n),r=G(B(t));yield y([...O(f,(o=>Z(void 0,null,(function*(){P(r,o)||(yield e(`ALTER TABLE${h(n)}ADD${h(o)}`),U(t,o,l))})))),...!s&&d?O(L(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),U(t,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+h(e))))});`),U(i,n,j([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(I(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+le+h(o)+"=?",[t]):g(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(g(f))b(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T(B(H(i,n)),(e=>e!=o)),t=[],r=[];I(null!=u?u:{},((e,n)=>{A(t,n,...O(l,(n=>null==e?void 0:e[n]))),A(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+h(n)+le+h(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+m(O(i,(e=>t+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+h(o)+")DO UPDATE SET"+m(O(i,(e=>h(e)+"=excluded."+h(e))),t):l),O(u,(e=>null!=e?e:null)))})),re=e=>m(O(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=e=>c(null==e?void 0:e[0]),se=(e,n,l,t,o,r,i,[u,c]=[],s=[])=>{let v,y,f,p=0,h=0;Y(ae,s,(()=>0)),Y(de,s,(()=>[]));const[E,m,O,g]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!_(e)||!_(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!_(e)||!_(n)])(i,e),T=e=>ue(void 0,null,(function*(){return 2!=p&&(p=1,yield b.schedule((()=>ue(void 0,null,(function*(){yield e(),p=0}))))),b})),b={load:(l,t)=>ue(void 0,null,(function*(){return yield T((()=>ue(void 0,null,(function*(){try{const l=yield n();(E&&ce(l)?e.setMergeableContent:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return b.stopAutoLoad(),yield b.load(l,o),h=1,f=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield T((()=>ue(void 0,null,(function*(){return(E&&ce(n)?e.applyMergeableChanges:e.applyChanges)(n)}))))}else yield T((()=>ue(void 0,null,(function*(){var t;try{const o=null!=(t=null==l?void 0:l())?t:yield n();(E&&ce(o)?e.setMergeableContent:e.setContent)(o)}catch(e){null==r||r(e)}}))))})))),b})),stopAutoLoad:()=>(h&&(o(f),f=void 0,h=0),b),save:e=>ue(void 0,null,(function*(){return 1!=p&&(p=2,yield b.schedule((()=>ue(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),b})),startAutoSave:()=>ue(void 0,null,(function*(){return yield b.stopAutoSave().save(),v=e.addDidFinishTransactionListener((()=>{const e=O();g(e)&&b.save((()=>e))})),b})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,b),schedule:(...e)=>ue(void 0,null,(function*(){return A(H(de,s),...e),yield ue(void 0,null,(function*(){if(!H(ae,s)){for(U(ae,s,1);!a((e=H(de,s),y=e.shift()));)try{yield y()}catch(e){null==r||r(e)}U(ae,s,0)}var e})),b})),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(b[u]=()=>c),x(b)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return se(e,(()=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var n,l;yield d(),yield s(r,p,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?C.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const he=(e,n,l,t,o,[r,i,[u,d,c]],s,v,h,E)=>{const[m,O,g,A]=te(n,s,o,E),b=(e,n)=>pe(void 0,null,(function*(){return yield y(W(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){n&&!M(e,i)||(yield g(l,t,e[i],o,r,n))})))))})),L=(e,n)=>pe(void 0,null,(function*(){return d?yield g(c,p,{[f]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield A((()=>pe(void 0,null,(function*(){yield m();const e=yield pe(void 0,null,(function*(){return S(T(yield y(W(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!_(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield A((()=>pe(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield b(n),yield L(l)}else{const[e,l]=n();yield b(e,!0),yield L(l,!0)}}))))}))),l,t,o,!1,[h,v],v)},Ee="json",me="autoLoadIntervalSeconds",Oe="rowIdColumnName",ge="tableId",Te="tableName",Ae={mode:Ee,[me]:1},be={load:0,save:0,[Te]:n+"_values"},Le=(e,n,l,t)=>{const o=j();return I(e,((e,r)=>{const i=s(F(D(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||U(o,r,i)})),o};var Pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ce="pragma ",Re="data_version",we="schema_version",Ne=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,m;const[O,g,T,A]=(e=>{const l=(e=>D(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[me];if(l.mode==Ee){const{storeTableName:e=n}=l;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(F(D(be,i)),0,$(be)),a=u[2],d=G(a);return[0,t,[Le(o,{[ge]:null,[Oe]:p},ge,(e=>J(d,e)&&e==a)),Le(r,{[Te]:null,[Oe]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>J(d,n)&&n==a)),u],d]})(l);return(O?fe:he)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(Ce+Re))[0][Re],l=(yield t(Ce+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=m?m:m=o)||(e(),f=n,h=l)}catch(e){}})),l=g,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),a,T,L(A),d,v,y)},xe=(e,n,l,t,o)=>Ne(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{xe as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),T=e=>0==v(e),A=(e,n)=>e.filter(n),b=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),C=R.entries,N=R.keys,D=R.freeze,S=(e=[])=>R.fromEntries(e),x=(...e)=>R.assign({},...e),I=(e,n)=>n in e,M=(e,n)=>O(C(e),(([e,l])=>n(l,e))),F=e=>R.values(e),$=e=>v(N(e)),_=e=>(e=>!a(e)&&d(w(e),(e=>e==R.prototype||a(w(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},Y=(e,n,l)=>a(l)?(g(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l)=>(L(e,n)||Y(e,n,l()),H(e,n)),G=(e,n,l,t=Y)=>(M(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>I(n,l)?0:t(e,l))),e),J=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,z=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))K.call(n,l)&&Q(e,l,n[l]);if(z)for(var l of z(n))V.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=h+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return G(i,S(yield y(O(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,S(O(yield e(h+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,G(k(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?S(A(O(yield e(ee+E(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=J();M(null!=u?u:{},(e=>O(N(null!=e?e:{}),(e=>U(v,e)))));const f=P(v);if(!s&&c&&T(f)&&L(i,n))return yield e("DROP TABLE"+E(n)),void Y(i,n);if(T(f)||L(i,n)){const t=H(i,n),r=J(B(t));yield y([...O(f,(o=>Z(void 0,null,(function*(){g(r,o)||(yield e(`ALTER TABLE${E(n)}ADD${E(o)}`),Y(t,o,l))})))),...!s&&d?O(P(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${E(n)}DROP${E(l)}`),Y(t,l))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+E(e))))});`),Y(i,n,j([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(M(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+E(n)+le+E(o)+"=?",[t]):T(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(T(f))L(i,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const l=A(B(H(i,n)),(e=>e!=o)),t=[],r=[];M(null!=u?u:{},((e,n)=>{b(t,n,...O(l,(n=>null==e?void 0:e[n]))),b(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+E(n)+le+E(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+E(n)+"("+E(o)+m(O(i,(e=>t+E(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+E(o)+")DO UPDATE SET"+m(O(i,(e=>E(e)+"=excluded."+E(e))),t):l),O(u,(e=>null!=e?e:null)))})),re=e=>m(O(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=(e,n,l,t,o,r,i,[u,s]=[],v=[])=>{var y;let f,p,E,h=0,m=0;k(ae,v,(()=>0)),k(de,v,(()=>[]));const O=null!=(y=i?e.getMergeableContent:null)?y:e.getContent,T=e.getTransactionChanges,A=e=>ue(void 0,null,(function*(){return 2!=h&&(h=1,yield L.schedule((()=>ue(void 0,null,(function*(){yield e(),h=0}))))),L})),L={load:(l,t)=>ue(void 0,null,(function*(){return yield A((()=>ue(void 0,null,(function*(){try{const l=yield n();(i&&c(l[0])?e.applyMergeableChanges:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return L.stopAutoLoad(),yield L.load(l,o),m=1,E=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield A((()=>ue(void 0,null,(function*(){return e.applyChanges(n)}))))}else yield A((()=>ue(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),L})),stopAutoLoad:()=>(m&&(o(E),E=void 0,m=0),L),save:e=>ue(void 0,null,(function*(){return 1!=h&&(h=2,yield L.schedule((()=>ue(void 0,null,(function*(){try{yield l(O,e)}catch(e){null==r||r(e)}h=0}))))),L})),startAutoSave:()=>ue(void 0,null,(function*(){return yield L.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const[e,n]=T();_(e)&&_(n)||L.save((()=>[e,n]))})),L})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,L),schedule:(...e)=>ue(void 0,null,(function*(){return b(H(de,v),...e),yield ue(void 0,null,(function*(){if(!H(ae,v)){for(Y(ae,v,1);!a((e=H(de,v),p=e.shift()));)try{yield p()}catch(e){null==r||r(e)}Y(ae,v,0)}var e})),L})),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(L[u]=()=>s),D(L)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ve="store",ye=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return ce(e,(()=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ve])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var n,l;yield d(),yield s(r,p,{[f]:{[ve]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var fe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const pe=(e,n,l,t,o,[r,i,[u,d,c]],s,v,E,h)=>{const[m,O,T,b]=te(n,s,o,h),L=(e,n)=>fe(void 0,null,(function*(){return yield y(W(i,((l,t)=>fe(void 0,[l,t],(function*([l,t,o,r],i){n&&!I(e,i)||(yield T(l,t,e[i],o,r,n))})))))})),P=(e,n)=>fe(void 0,null,(function*(){return d?yield T(c,p,{[f]:e},!0,!0,n):null}));return ce(e,(()=>fe(void 0,null,(function*(){return yield b((()=>fe(void 0,null,(function*(){yield m();const e=yield fe(void 0,null,(function*(){return S(A(yield y(W(r,((e,n)=>fe(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!_(e[1]))))})),n=yield fe(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>fe(void 0,null,(function*(){return yield b((()=>fe(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,!1,[E,v],v)},Ee="json",he="autoLoadIntervalSeconds",me="rowIdColumnName",Oe="tableId",Te="tableName",Ae={mode:Ee,[he]:1},be={load:0,save:0,[Te]:n+"_values"},Le=(e,n,l,t)=>{const o=j();return M(e,((e,r)=>{const i=s(F(x(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ge="pragma ",Re="data_version",we="schema_version",Ce=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,E,m;const[O,T,A,b]=(e=>{const l=(e=>x(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[he];if(l.mode==Ee){const{storeTableName:e=n}=l;return[1,t,[e],J(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(F(x(be,i)),0,$(be)),a=u[2],d=J(a);return[0,t,[Le(o,{[Oe]:null,[me]:p},Oe,(e=>U(d,e)&&e==a)),Le(r,{[Te]:null,[me]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>U(d,n)&&n==a)),u],d]})(l);return(O?ye:pe)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(ge+Re))[0][Re],l=(yield t(ge+we))[0][we],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=E?E:E=l)&&o==(null!=m?m:m=o)||(e(),f=n,E=l)}catch(e){}})),l=T,n(),setInterval(n,1e3*l)),o((n=>b.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=E=null,r(n)}),a,A,P(b),d,v,y)},Ne=(e,n,l,t,o)=>Ce(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n,"getElectricClient");export{Ne as createElectricSqlPersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",h="_id",p=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),b=e=>0==v(e),O=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=(e,n)=>null==e?void 0:e.delete(n),P=Object,R=e=>P.getPrototypeOf(e),w=P.entries,N=P.keys,D=P.freeze,S=(e=[])=>P.fromEntries(e),x=(...e)=>P.assign({},...e),M=(e,n)=>n in e,I=(e,n)=>g(w(e),(([e,l])=>n(l,e))),F=e=>P.values(e),$=e=>v(N(e)),_=e=>(e=>!a(e)&&d(R(e),(e=>e==P.prototype||a(R(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return g([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},Y=(e,n,l)=>a(l)?(L(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l)=>(A(e,n)||Y(e,n,l()),H(e,n)),G=(e,n,l,t=Y)=>(I(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>M(n,l)?0:t(e,l))),e),J=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,z=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))K.call(n,l)&&Q(e,l,n[l]);if(z)for(var l of z(n))V.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=E+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return G(i,S(yield y(g(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,S(g(yield e(E+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,G(k(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?S(O(g(yield e(ee+p(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=J();I(null!=u?u:{},(e=>g(N(null!=e?e:{}),(e=>U(v,e)))));const f=C(v);if(!s&&c&&b(f)&&A(i,n))return yield e("DROP TABLE"+p(n)),void Y(i,n);if(b(f)||A(i,n)){const t=H(i,n),r=J(B(t));yield y([...g(f,(o=>Z(void 0,null,(function*(){L(r,o)||(yield e(`ALTER TABLE${p(n)}ADD${p(o)}`),Y(t,o,l))})))),...!s&&d?g(C(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${p(n)}DROP${p(l)}`),Y(t,l))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(o)} PRIMARY KEY ON CONFLICT REPLACE${m(g(f,(e=>t+p(e))))});`),Y(i,n,j([[o,l],...g(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield y(I(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+p(n)+le+p(o)+"=?",[t]):b(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(b(f))A(i,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=O(B(H(i,n)),(e=>e!=o)),t=[],r=[];I(null!=u?u:{},((e,n)=>{T(t,n,...g(l,(n=>null==e?void 0:e[n]))),T(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+p(n)+le+p(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+p(n)+"("+p(o)+m(g(i,(e=>t+p(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+p(o)+")DO UPDATE SET"+m(g(i,(e=>p(e)+"=excluded."+p(e))),t):l),g(u,(e=>null!=e?e:null)))})),re=e=>m(g(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=e=>c(null==e?void 0:e[0]),se=(e,n,l,t,o,r,i,[u,c]=[],s=[])=>{let v,y,f,h=0,p=0;k(ae,s,(()=>0)),k(de,s,(()=>[]));const[E,m,g,b]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!_(e)||!_(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!_(e)||!_(n)])(i,e),O=e=>ue(void 0,null,(function*(){return 2!=h&&(h=1,yield A.schedule((()=>ue(void 0,null,(function*(){yield e(),h=0}))))),A})),A={load:(l,t)=>ue(void 0,null,(function*(){return yield O((()=>ue(void 0,null,(function*(){try{const l=yield n();(E&&ce(l)?e.setMergeableContent:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return A.stopAutoLoad(),yield A.load(l,o),p=1,f=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield O((()=>ue(void 0,null,(function*(){return(E&&ce(n)?e.applyMergeableChanges:e.applyChanges)(n)}))))}else yield O((()=>ue(void 0,null,(function*(){var t;try{const o=null!=(t=null==l?void 0:l())?t:yield n();(E&&ce(o)?e.setMergeableContent:e.setContent)(o)}catch(e){null==r||r(e)}}))))})))),A})),stopAutoLoad:()=>(p&&(o(f),f=void 0,p=0),A),save:e=>ue(void 0,null,(function*(){return 1!=h&&(h=2,yield A.schedule((()=>ue(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}h=0}))))),A})),startAutoSave:()=>ue(void 0,null,(function*(){return yield A.stopAutoSave().save(),v=e.addDidFinishTransactionListener((()=>{const e=g();b(e)&&A.save((()=>e))})),A})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,A),schedule:(...e)=>ue(void 0,null,(function*(){return T(H(de,s),...e),yield ue(void 0,null,(function*(){if(!H(ae,s)){for(Y(ae,s,1);!a((e=H(de,s),y=e.shift()));)try{yield y()}catch(e){null==r||r(e)}Y(ae,s,0)}var e})),A})),getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(A[u]=()=>c),D(A)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return se(e,(()=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,h))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var n,l;yield d(),yield s(r,h,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var he=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const pe=(e,n,l,t,o,[r,i,[u,d,c]],s,v,p,E)=>{const[m,g,b,T]=te(n,s,o,E),A=(e,n)=>he(void 0,null,(function*(){return yield y(W(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){n&&!M(e,i)||(yield b(l,t,e[i],o,r,n))})))))})),C=(e,n)=>he(void 0,null,(function*(){return d?yield b(c,h,{[f]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield T((()=>he(void 0,null,(function*(){yield m();const e=yield he(void 0,null,(function*(){return S(O(yield y(W(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield g(l,n)]}))))),(e=>!_(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield g(c,h))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield T((()=>he(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield A(n),yield C(l)}else{const[e,l]=n();yield A(e,!0),yield C(l,!0)}}))))}))),l,t,o,!1,[p,v],v)},Ee="json",me="autoLoadIntervalSeconds",ge="rowIdColumnName",be="tableId",Oe="tableName",Te={mode:Ee,[me]:1},Ae={load:0,save:0,[Oe]:n+"_values"},Ce=(e,n,l,t)=>{const o=j();return I(e,((e,r)=>{const i=s(F(x(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Le=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="pragma ",Re="data_version",we="schema_version",Ne=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,p,m;const[g,b,O,T]=(e=>{const l=(e=>x(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[me];if(l.mode==Ee){const{storeTableName:e=n}=l;return[1,t,[e],J(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(F(x(Ae,i)),0,$(Ae)),a=u[2],d=J(a);return[0,t,[Ce(o,{[be]:null,[ge]:h},be,(e=>U(d,e)&&e==a)),Ce(r,{[Oe]:null,[ge]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Oe,((e,n)=>U(d,n)&&n==a)),u],d]})(l);return(g?fe:pe)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+Re))[0][Re],l=(yield t(Pe+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=m?m:m=o)||(e(),f=n,p=l)}catch(e){}})),l=b,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,O,C(T),d,v,y)},De=(e,n,l,t,o)=>Ne(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n,"getElectricClient");export{De as createElectricSqlPersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t="",o=",",r=n(t),i=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,c=(e,n,l)=>d(e)?null==l?void 0:l():n(e),v=e=>n(e)==r,s=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},p="_",E="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",A=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),T=e=>0==y(e),L=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),R=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),C=w.entries,x=w.keys,S=w.freeze,D=(e=[])=>w.fromEntries(e),I=(...e)=>w.assign({},...e),M=(e,n)=>n in e,F=(e,n)=>O(C(e),(([e,l])=>n(l,e))),$=e=>w.values(e),_=e=>y(x(e)),j=e=>(e=>!d(e)&&c(N(e),(e=>e==w.prototype||d(N(e))),(()=>!0)))(e)&&0==_(e),B=e=>new Map(e),H=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},W=(e,n)=>null==e?void 0:e.get(n),Y=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},k=(e,n,l)=>d(l)?(g(e,n),e):null==e?void 0:e.set(n,l),G=(e,n,l)=>(R(e,n)||k(e,n,l()),W(e,n)),J=(e,n,l,t=k)=>(F(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>M(n,l)?0:t(e,l))),e),U=e=>new Set(Array.isArray(e)||d(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Z=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&X(e,l,n[l]);if(K)for(var l of K(n))Q.call(n,l)&&X(e,l,n[l]);return e},ee=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ne=m+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,l,r)=>{const i=B();return[()=>ee(void 0,null,(function*(){return J(i,D(yield f(O(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>ee(void 0,[n],(function*({name:n}){return[n,D(O(yield e(m+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>k(i,n,J(G(i,n,B),l,((e,n,l)=>{l!=W(e,n)&&k(e,n,l)}),((e,n)=>k(e,n))))),((e,n)=>k(i,n)))})),(n,l)=>ee(void 0,null,(function*(){return((e,n)=>!d(W(W(i,e),n)))(n,l)?D(L(O(yield e(ne+h(n)),(e=>{return[e[l],(n=Z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!j(n)))):{}})),(n,l,u,a,c,v=!1)=>ee(void 0,null,(function*(){const s=U();F(null!=u?u:{},(e=>O(x(null!=e?e:{}),(e=>q(s,e)))));const y=b(s);if(!v&&c&&T(y)&&R(i,n))return yield e("DROP TABLE"+h(n)),void k(i,n);if(T(y)||R(i,n)){const o=W(i,n),r=U(H(o));yield f([...O(y,(l=>ee(void 0,null,(function*(){g(r,l)||(yield e(`ALTER TABLE${h(n)}ADD${h(l)}`),k(o,l,t))})))),...!v&&a?O(b(r),(t=>ee(void 0,null,(function*(){t!=l&&(yield e(`ALTER TABLE${h(n)}DROP${h(t)}`),k(o,t))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(l)} PRIMARY KEY ON CONFLICT REPLACE${A(O(y,(e=>o+h(e))))});`),k(i,n,B([[l,t],...O(y,(e=>[e,t]))]));if(v)d(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield f(F(u,((t,o)=>ee(void 0,null,(function*(){d(t)?yield e("DELETE FROM"+h(n)+te+h(l)+"=?",[o]):T(y)||(yield re(e,n,l,x(t),[o,...$(t)],r))})))));else if(T(y))R(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const t=L(H(W(i,n)),(e=>e!=l)),o=[],r=[];F(null!=u?u:{},((e,n)=>{P(o,n,...O(t,(n=>null==e?void 0:e[n]))),P(r,n)})),yield re(e,n,l,t,o),yield e("DELETE FROM"+h(n)+te+h(l)+"NOT IN("+ie(r)+")",r)}})),n=>ee(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},re=(e,n,l,r,u,a=!0)=>ee(void 0,null,(function*(){return yield e("INSERT "+(a?t:"OR REPLACE ")+"INTO"+h(n)+"("+h(l)+A(O(r,(e=>o+h(e))))+")VALUES"+s(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(a?"ON CONFLICT("+h(l)+")DO UPDATE SET"+A(O(r,(e=>h(e)+"=excluded."+h(e))),o):t),O(u,(e=>null!=e?e:null)))})),ie=e=>A(O(e,(()=>"?")),o),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de=B(),ce=B(),ve=(e,n,l,t,o,r,i,[u,a]=[],s=[])=>{var y;let f,p,E,h=0,m=0;G(de,s,(()=>0)),G(ce,s,(()=>[]));const A=null!=(y=i?e.getMergeableContent:null)?y:e.getContent,O=e.getTransactionChanges,T=e=>ae(void 0,null,(function*(){return 2!=h&&(h=1,yield L.schedule((()=>ae(void 0,null,(function*(){yield e(),h=0}))))),L})),L={load:(l,t)=>ae(void 0,null,(function*(){return yield T((()=>ae(void 0,null,(function*(){try{const l=yield n();(i&&v(l[0])?e.applyMergeableChanges:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return L.stopAutoLoad(),yield L.load(l,o),m=1,E=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield T((()=>ae(void 0,null,(function*(){return e.applyChanges(n)}))))}else yield T((()=>ae(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),L})),stopAutoLoad:()=>(m&&(o(E),E=void 0,m=0),L),save:e=>ae(void 0,null,(function*(){return 1!=h&&(h=2,yield L.schedule((()=>ae(void 0,null,(function*(){try{yield l(A,e)}catch(e){null==r||r(e)}h=0}))))),L})),startAutoSave:()=>ae(void 0,null,(function*(){return yield L.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const[e,n]=O();j(e)&&j(n)||L.save((()=>[e,n]))})),L})),stopAutoSave:()=>(c(f,e.delListener),f=void 0,L),schedule:(...e)=>ae(void 0,null,(function*(){return P(W(ce,s),...e),yield ae(void 0,null,(function*(){if(!W(de,s)){for(k(de,s,1);!d((e=W(ce,s),p=e.shift()));)try{yield p()}catch(e){null==r||r(e)}k(de,s,0)}var e})),L})),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(L[u]=()=>a),S(L)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,v,s]=oe(n,i,o);return ve(e,(()=>se(void 0,null,(function*(){return yield s((()=>se(void 0,null,(function*(){var e,n;return yield d(),ue(null!=(n=null==(e=(yield c(r,E))[p])?void 0:e[ye])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield s((()=>se(void 0,null,(function*(){var n,l;yield d(),yield v(r,E,{[p]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ee=(e,n,l,t,o,[r,i,[u,a,c]],v,s,y,h)=>{const[m,A,O,T]=oe(n,v,o,h),P=(e,n)=>pe(void 0,null,(function*(){return yield f(Y(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){n&&!M(e,i)||(yield O(l,t,e[i],o,r,n))})))))})),R=(e,n)=>pe(void 0,null,(function*(){return a?yield O(c,E,{[p]:e},!0,!0,n):null}));return ve(e,(()=>pe(void 0,null,(function*(){return yield T((()=>pe(void 0,null,(function*(){yield m();const e=yield pe(void 0,null,(function*(){return D(L(yield f(Y(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield A(l,n)]}))))),(e=>!j(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield A(c,E))[p]:{}}));return j(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield T((()=>pe(void 0,null,(function*(){if(yield m(),d(n)){const[n,l]=e();yield P(n),yield R(l)}else{const[e,l]=n();yield P(e,!0),yield R(l,!0)}}))))}))),l,t,o,!1,[y,s],s)},he="json",me="autoLoadIntervalSeconds",Ae="rowIdColumnName",Oe="tableId",Te="tableName",Le={mode:he,[me]:1},Pe={load:0,save:0,[Te]:l+"_values"},Re=(e,n,l,t)=>{const o=B();return F(e,((e,r)=>{const i=s($(I(n,v(e)?{[l]:e}:e)),0,_(n));d(i[0])||t(r,i[0])||k(o,r,i)})),o};var be=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ge="pragma ",we="data_version",Ne="schema_version",Ce=(e,n,t,o,r,i,u,d,c="getDb",y)=>{let f,p,h;const[A,O,T,L]=(e=>{const n=(e=>I(Le,v(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[me];if(n.mode==he){const{storeTableName:e=l}=n;return[1,t,[e],U(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s($(I(Pe,i)),0,_(Pe)),a=u[2],d=U(a);return[0,t,[Re(o,{[Oe]:null,[Ae]:E},Oe,(e=>q(d,e)&&e==a)),Re(r,{[Te]:null,[Ae]:E,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>q(d,n)&&n==a)),u],d]})(n);return(A?fe:Ee)(e,i?(e,n)=>be(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>be(void 0,null,(function*(){try{const n=(yield t(ge+we))[0][we],l=(yield t(ge+Ne))[0][Ne],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),f=n,p=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>L.has(n)?e():0))];var n,l}),(([e,n])=>{a(e),f=p=null,r(n)}),u,T,b(L),d,c,y)},xe=(n,l,t,o,r)=>Ce(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(e,n)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{xe as createExpoSqliteNextPersister};
1
+ import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t="",o=",",r=n(t),i=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,c=(e,n,l)=>d(e)?null==l?void 0:l():n(e),s=e=>n(e)==r,v=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return u.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",E=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",g=(e,n="")=>e.join(n),A=(e,n)=>e.map(n),O=e=>0==y(e),T=(e,n)=>e.filter(n),b=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},C=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),N=R.entries,x=R.keys,S=R.freeze,D=(e=[])=>R.fromEntries(e),M=(...e)=>R.assign({},...e),I=(e,n)=>n in e,F=(e,n)=>A(N(e),(([e,l])=>n(l,e))),$=e=>R.values(e),_=e=>y(x(e)),j=e=>(e=>!d(e)&&c(w(e),(e=>e==R.prototype||d(w(e))),(()=>!0)))(e)&&0==_(e),B=e=>new Map(e),H=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},W=(e,n)=>null==e?void 0:e.get(n),Y=(e,n)=>{var l;return A([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},k=(e,n,l)=>d(l)?(C(e,n),e):null==e?void 0:e.set(n,l),G=(e,n,l)=>(L(e,n)||k(e,n,l()),W(e,n)),J=(e,n,l,t=k)=>(F(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>I(n,l)?0:t(e,l))),e),U=e=>new Set(Array.isArray(e)||d(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Z=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&X(e,l,n[l]);if(K)for(var l of K(n))Q.call(n,l)&&X(e,l,n[l]);return e},ee=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ne=m+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,l,r)=>{const i=B();return[()=>ee(void 0,null,(function*(){return J(i,D(yield f(A(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>ee(void 0,[n],(function*({name:n}){return[n,D(A(yield e(m+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>k(i,n,J(G(i,n,B),l,((e,n,l)=>{l!=W(e,n)&&k(e,n,l)}),((e,n)=>k(e,n))))),((e,n)=>k(i,n)))})),(n,l)=>ee(void 0,null,(function*(){return((e,n)=>!d(W(W(i,e),n)))(n,l)?D(T(A(yield e(ne+E(n)),(e=>{return[e[l],(n=Z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!j(n)))):{}})),(n,l,u,a,c,s=!1)=>ee(void 0,null,(function*(){const v=U();F(null!=u?u:{},(e=>A(x(null!=e?e:{}),(e=>q(v,e)))));const y=P(v);if(!s&&c&&O(y)&&L(i,n))return yield e("DROP TABLE"+E(n)),void k(i,n);if(O(y)||L(i,n)){const o=W(i,n),r=U(H(o));yield f([...A(y,(l=>ee(void 0,null,(function*(){C(r,l)||(yield e(`ALTER TABLE${E(n)}ADD${E(l)}`),k(o,l,t))})))),...!s&&a?A(P(r),(t=>ee(void 0,null,(function*(){t!=l&&(yield e(`ALTER TABLE${E(n)}DROP${E(t)}`),k(o,t))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(l)} PRIMARY KEY ON CONFLICT REPLACE${g(A(y,(e=>o+E(e))))});`),k(i,n,B([[l,t],...A(y,(e=>[e,t]))]));if(s)d(u)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield f(F(u,((t,o)=>ee(void 0,null,(function*(){d(t)?yield e("DELETE FROM"+E(n)+te+E(l)+"=?",[o]):O(y)||(yield re(e,n,l,x(t),[o,...$(t)],r))})))));else if(O(y))L(i,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const t=T(H(W(i,n)),(e=>e!=l)),o=[],r=[];F(null!=u?u:{},((e,n)=>{b(o,n,...A(t,(n=>null==e?void 0:e[n]))),b(r,n)})),yield re(e,n,l,t,o),yield e("DELETE FROM"+E(n)+te+E(l)+"NOT IN("+ie(r)+")",r)}})),n=>ee(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},re=(e,n,l,r,u,a=!0)=>ee(void 0,null,(function*(){return yield e("INSERT "+(a?t:"OR REPLACE ")+"INTO"+E(n)+"("+E(l)+g(A(r,(e=>o+E(e))))+")VALUES"+v(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(a?"ON CONFLICT("+E(l)+")DO UPDATE SET"+g(A(r,(e=>E(e)+"=excluded."+E(e))),o):t),A(u,(e=>null!=e?e:null)))})),ie=e=>g(A(e,(()=>"?")),o),ue=JSON.parse;var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de=B(),ce=B(),se=e=>s(null==e?void 0:e[0]),ve=(e,n,l,t,o,r,i,[u,a]=[],s=[])=>{let v,y,f,p=0,h=0;G(de,s,(()=>0)),G(ce,s,(()=>[]));const[E,m,g,A]=((e,n)=>!e||d(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!j(e)||!j(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!j(e)||!j(n)])(i,e),O=e=>ae(void 0,null,(function*(){return 2!=p&&(p=1,yield T.schedule((()=>ae(void 0,null,(function*(){yield e(),p=0}))))),T})),T={load:(l,t)=>ae(void 0,null,(function*(){return yield O((()=>ae(void 0,null,(function*(){try{const l=yield n();(E&&se(l)?e.setMergeableContent:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return T.stopAutoLoad(),yield T.load(l,o),h=1,f=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield O((()=>ae(void 0,null,(function*(){return(E&&se(n)?e.applyMergeableChanges:e.applyChanges)(n)}))))}else yield O((()=>ae(void 0,null,(function*(){var t;try{const o=null!=(t=null==l?void 0:l())?t:yield n();(E&&se(o)?e.setMergeableContent:e.setContent)(o)}catch(e){null==r||r(e)}}))))})))),T})),stopAutoLoad:()=>(h&&(o(f),f=void 0,h=0),T),save:e=>ae(void 0,null,(function*(){return 1!=p&&(p=2,yield T.schedule((()=>ae(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),T})),startAutoSave:()=>ae(void 0,null,(function*(){return yield T.stopAutoSave().save(),v=e.addDidFinishTransactionListener((()=>{const e=g();A(e)&&T.save((()=>e))})),T})),stopAutoSave:()=>(c(v,e.delListener),v=void 0,T),schedule:(...e)=>ae(void 0,null,(function*(){return b(W(ce,s),...e),yield ae(void 0,null,(function*(){if(!W(de,s)){for(k(de,s,1);!d((e=W(ce,s),y=e.shift()));)try{yield y()}catch(e){null==r||r(e)}k(de,s,0)}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(T[u]=()=>a),S(T)};var ye=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const fe="store",pe=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=oe(n,i,o);return ve(e,(()=>ye(void 0,null,(function*(){return yield v((()=>ye(void 0,null,(function*(){var e,n;return yield d(),ue(null!=(n=null==(e=(yield c(r,h))[p])?void 0:e[fe])?n:"null")}))))}))),(e=>ye(void 0,null,(function*(){return yield v((()=>ye(void 0,null,(function*(){var n,l;yield d(),yield s(r,h,{[p]:{[fe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var he=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ee=(e,n,l,t,o,[r,i,[u,a,c]],s,v,y,E)=>{const[m,g,A,O]=oe(n,s,o,E),b=(e,n)=>he(void 0,null,(function*(){return yield f(Y(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){n&&!I(e,i)||(yield A(l,t,e[i],o,r,n))})))))})),L=(e,n)=>he(void 0,null,(function*(){return a?yield A(c,h,{[p]:e},!0,!0,n):null}));return ve(e,(()=>he(void 0,null,(function*(){return yield O((()=>he(void 0,null,(function*(){yield m();const e=yield he(void 0,null,(function*(){return D(T(yield f(Y(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield g(l,n)]}))))),(e=>!j(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield g(c,h))[p]:{}}));return j(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield O((()=>he(void 0,null,(function*(){if(yield m(),d(n)){const[n,l]=e();yield b(n),yield L(l)}else{const[e,l]=n();yield b(e,!0),yield L(l,!0)}}))))}))),l,t,o,!1,[y,v],v)},me="json",ge="autoLoadIntervalSeconds",Ae="rowIdColumnName",Oe="tableId",Te="tableName",be={mode:me,[ge]:1},Le={load:0,save:0,[Te]:l+"_values"},Pe=(e,n,l,t)=>{const o=B();return F(e,((e,r)=>{const i=v($(M(n,s(e)?{[l]:e}:e)),0,_(n));d(i[0])||t(r,i[0])||k(o,r,i)})),o};var Ce=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Re="pragma ",we="data_version",Ne="schema_version",xe=(e,n,t,o,r,i,u,d,c="getDb",y)=>{let f,p,E;const[g,A,O,T]=(e=>{const n=(e=>M(be,s(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[ge];if(n.mode==me){const{storeTableName:e=l}=n;return[1,t,[e],U(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v($(M(Le,i)),0,_(Le)),a=u[2],d=U(a);return[0,t,[Pe(o,{[Oe]:null,[Ae]:h},Oe,(e=>q(d,e)&&e==a)),Pe(r,{[Te]:null,[Ae]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Te,((e,n)=>q(d,n)&&n==a)),u],d]})(n);return(g?pe:Ee)(e,i?(e,n)=>Ce(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ce(void 0,null,(function*(){try{const n=(yield t(Re+we))[0][we],l=(yield t(Re+Ne))[0][Ne],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=E?E:E=o)||(e(),f=n,p=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{a(e),f=p=null,r(n)}),u,O,P(T),d,c,y)},Se=(n,l,t,o,r)=>xe(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(e,n)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{Se as createExpoSqliteNextPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),A=e=>0==v(e),T=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),g=Object,w=e=>g.getPrototypeOf(e),C=g.entries,N=g.keys,x=g.freeze,D=(e=[])=>g.fromEntries(e),S=(...e)=>g.assign({},...e),I=(e,n)=>n in e,M=(e,n)=>O(C(e),(([e,l])=>n(l,e))),F=e=>g.values(e),$=e=>v(N(e)),_=e=>(e=>!a(e)&&d(w(e),(e=>e==g.prototype||a(w(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},Y=(e,n,l)=>a(l)?(R(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l)=>(P(e,n)||Y(e,n,l()),H(e,n)),G=(e,n,l,t=Y)=>(M(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>I(n,l)?0:t(e,l))),e),J=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,z=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))K.call(n,l)&&Q(e,l,n[l]);if(z)for(var l of z(n))V.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=E+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return G(i,D(yield y(O(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,D(O(yield e(E+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,G(k(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?D(T(O(yield e(ee+h(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=J();M(null!=u?u:{},(e=>O(N(null!=e?e:{}),(e=>U(v,e)))));const f=b(v);if(!s&&c&&A(f)&&P(i,n))return yield e("DROP TABLE"+h(n)),void Y(i,n);if(A(f)||P(i,n)){const t=H(i,n),r=J(B(t));yield y([...O(f,(o=>Z(void 0,null,(function*(){R(r,o)||(yield e(`ALTER TABLE${h(n)}ADD${h(o)}`),Y(t,o,l))})))),...!s&&d?O(b(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),Y(t,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+h(e))))});`),Y(i,n,j([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(M(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+le+h(o)+"=?",[t]):A(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(A(f))P(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T(B(H(i,n)),(e=>e!=o)),t=[],r=[];M(null!=u?u:{},((e,n)=>{L(t,n,...O(l,(n=>null==e?void 0:e[n]))),L(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+h(n)+le+h(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+m(O(i,(e=>t+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+h(o)+")DO UPDATE SET"+m(O(i,(e=>h(e)+"=excluded."+h(e))),t):l),O(u,(e=>null!=e?e:null)))})),re=e=>m(O(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=(e,n,l,t,o,r,i,[u,s]=[],v=[])=>{var y;let f,p,h,E=0,m=0;k(ae,v,(()=>0)),k(de,v,(()=>[]));const O=null!=(y=i?e.getMergeableContent:null)?y:e.getContent,A=e.getTransactionChanges,T=e=>ue(void 0,null,(function*(){return 2!=E&&(E=1,yield P.schedule((()=>ue(void 0,null,(function*(){yield e(),E=0}))))),P})),P={load:(l,t)=>ue(void 0,null,(function*(){return yield T((()=>ue(void 0,null,(function*(){try{const l=yield n();(i&&c(l[0])?e.applyMergeableChanges:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return P.stopAutoLoad(),yield P.load(l,o),m=1,h=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield T((()=>ue(void 0,null,(function*(){return e.applyChanges(n)}))))}else yield T((()=>ue(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),P})),stopAutoLoad:()=>(m&&(o(h),h=void 0,m=0),P),save:e=>ue(void 0,null,(function*(){return 1!=E&&(E=2,yield P.schedule((()=>ue(void 0,null,(function*(){try{yield l(O,e)}catch(e){null==r||r(e)}E=0}))))),P})),startAutoSave:()=>ue(void 0,null,(function*(){return yield P.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const[e,n]=A();_(e)&&_(n)||P.save((()=>[e,n]))})),P})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,P),schedule:(...e)=>ue(void 0,null,(function*(){return L(H(de,v),...e),yield ue(void 0,null,(function*(){if(!H(ae,v)){for(Y(ae,v,1);!a((e=H(de,v),p=e.shift()));)try{yield p()}catch(e){null==r||r(e)}Y(ae,v,0)}var e})),P})),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(P[u]=()=>s),x(P)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ve="store",ye=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return ce(e,(()=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ve])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield v((()=>se(void 0,null,(function*(){var n,l;yield d(),yield s(r,p,{[f]:{[ve]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?g.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var fe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const pe=(e,n,l,t,o,[r,i,[u,d,c]],s,v,h,E)=>{const[m,O,A,L]=te(n,s,o,E),P=(e,n)=>fe(void 0,null,(function*(){return yield y(W(i,((l,t)=>fe(void 0,[l,t],(function*([l,t,o,r],i){n&&!I(e,i)||(yield A(l,t,e[i],o,r,n))})))))})),b=(e,n)=>fe(void 0,null,(function*(){return d?yield A(c,p,{[f]:e},!0,!0,n):null}));return ce(e,(()=>fe(void 0,null,(function*(){return yield L((()=>fe(void 0,null,(function*(){yield m();const e=yield fe(void 0,null,(function*(){return D(T(yield y(W(r,((e,n)=>fe(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!_(e[1]))))})),n=yield fe(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>fe(void 0,null,(function*(){return yield L((()=>fe(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield P(n),yield b(l)}else{const[e,l]=n();yield P(e,!0),yield b(l,!0)}}))))}))),l,t,o,!1,[h,v],v)},he="json",Ee="autoLoadIntervalSeconds",me="rowIdColumnName",Oe="tableId",Ae="tableName",Te={mode:he,[Ee]:1},Le={load:0,save:0,[Ae]:n+"_values"},Pe=(e,n,l,t)=>{const o=j();return M(e,((e,r)=>{const i=s(F(S(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var be=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Re="pragma ",ge="data_version",we="schema_version",Ce=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,m;const[O,A,T,L]=(e=>{const l=(e=>S(Te,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==he){const{storeTableName:e=n}=l;return[1,t,[e],J(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(F(S(Le,i)),0,$(Le)),a=u[2],d=J(a);return[0,t,[Pe(o,{[Oe]:null,[me]:p},Oe,(e=>U(d,e)&&e==a)),Pe(r,{[Ae]:null,[me]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>U(d,n)&&n==a)),u],d]})(l);return(O?ye:pe)(e,i?(e,n)=>be(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>be(void 0,null,(function*(){try{const n=(yield t(Re+ge))[0][ge],l=(yield t(Re+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=m?m:m=o)||(e(),f=n,h=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>L.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),a,T,b(L),d,v,y)},Ne=(e,n,l,t,o)=>Ce(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{Ne as createExpoSqlitePersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",m=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),O=e=>0==v(e),b=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),T=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=(e,n)=>null==e?void 0:e.delete(n),P=Object,R=e=>P.getPrototypeOf(e),w=P.entries,N=P.keys,x=P.freeze,D=(e=[])=>P.fromEntries(e),S=(...e)=>P.assign({},...e),M=(e,n)=>n in e,I=(e,n)=>g(w(e),(([e,l])=>n(l,e))),F=e=>P.values(e),$=e=>v(N(e)),_=e=>(e=>!a(e)&&d(R(e),(e=>e==P.prototype||a(R(e))),(()=>!0)))(e)&&0==$(e),j=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),W=(e,n)=>{var l;return g([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},Y=(e,n,l)=>a(l)?(L(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l)=>(T(e,n)||Y(e,n,l()),H(e,n)),G=(e,n,l,t=Y)=>(I(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>M(n,l)?0:t(e,l))),e),J=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,z=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,Q=(e,n,l)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,X=(e,n)=>{for(var l in n||(n={}))K.call(n,l)&&Q(e,l,n[l]);if(z)for(var l of z(n))V.call(n,l)&&Q(e,l,n[l]);return e},Z=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ee=E+"*FROM",ne="FROM pragma_table_",le="WHERE",te=(e,n,o,r)=>{const i=j();return[()=>Z(void 0,null,(function*(){return G(i,D(yield y(g(yield e("SELECT name "+ne+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+re(n)+")ORDER BY name",n),(n=>Z(void 0,[n],(function*({name:n}){return[n,D(g(yield e(E+" name,type "+ne+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,G(k(i,n,j),l,((e,n,l)=>{l!=H(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Z(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?D(b(g(yield e(ee+h(n)),(e=>{return[e[l],(n=X({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!_(n)))):{}})),(n,o,u,d,c,s=!1)=>Z(void 0,null,(function*(){const v=J();I(null!=u?u:{},(e=>g(N(null!=e?e:{}),(e=>U(v,e)))));const f=C(v);if(!s&&c&&O(f)&&T(i,n))return yield e("DROP TABLE"+h(n)),void Y(i,n);if(O(f)||T(i,n)){const t=H(i,n),r=J(B(t));yield y([...g(f,(o=>Z(void 0,null,(function*(){L(r,o)||(yield e(`ALTER TABLE${h(n)}ADD${h(o)}`),Y(t,o,l))})))),...!s&&d?g(C(r),(l=>Z(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),Y(t,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(o)} PRIMARY KEY ON CONFLICT REPLACE${m(g(f,(e=>t+h(e))))});`),Y(i,n,j([[o,l],...g(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(I(u,((l,t)=>Z(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+le+h(o)+"=?",[t]):O(f)||(yield oe(e,n,o,N(l),[t,...F(l)],r))})))));else if(O(f))T(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=b(B(H(i,n)),(e=>e!=o)),t=[],r=[];I(null!=u?u:{},((e,n)=>{A(t,n,...g(l,(n=>null==e?void 0:e[n]))),A(r,n)})),yield oe(e,n,o,l,t),yield e("DELETE FROM"+h(n)+le+h(o)+"NOT IN("+re(r)+")",r)}})),n=>Z(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},oe=(e,n,o,i,u,a=!0)=>Z(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+m(g(i,(e=>t+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+h(o)+")DO UPDATE SET"+m(g(i,(e=>h(e)+"=excluded."+h(e))),t):l),g(u,(e=>null!=e?e:null)))})),re=e=>m(g(e,(()=>"?")),t),ie=JSON.parse;var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae=j(),de=j(),ce=e=>c(null==e?void 0:e[0]),se=(e,n,l,t,o,r,i,[u,c]=[],s=[])=>{let v,y,f,p=0,h=0;k(ae,s,(()=>0)),k(de,s,(()=>[]));const[E,m,g,O]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!_(e)||!_(n)]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([,[[,e],[,n]]])=>!_(e)||!_(n)])(i,e),b=e=>ue(void 0,null,(function*(){return 2!=p&&(p=1,yield T.schedule((()=>ue(void 0,null,(function*(){yield e(),p=0}))))),T})),T={load:(l,t)=>ue(void 0,null,(function*(){return yield b((()=>ue(void 0,null,(function*(){try{const l=yield n();(E&&ce(l)?e.setMergeableContent:e.setContent)(l)}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ue(void 0,[...l],(function*(l={},o={}){return T.stopAutoLoad(),yield T.load(l,o),h=1,f=t(((l,t)=>ue(void 0,null,(function*(){if(t){const n=t();yield b((()=>ue(void 0,null,(function*(){return(E&&ce(n)?e.applyMergeableChanges:e.applyChanges)(n)}))))}else yield b((()=>ue(void 0,null,(function*(){var t;try{const o=null!=(t=null==l?void 0:l())?t:yield n();(E&&ce(o)?e.setMergeableContent:e.setContent)(o)}catch(e){null==r||r(e)}}))))})))),T})),stopAutoLoad:()=>(h&&(o(f),f=void 0,h=0),T),save:e=>ue(void 0,null,(function*(){return 1!=p&&(p=2,yield T.schedule((()=>ue(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),T})),startAutoSave:()=>ue(void 0,null,(function*(){return yield T.stopAutoSave().save(),v=e.addDidFinishTransactionListener((()=>{const e=g();O(e)&&T.save((()=>e))})),T})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,T),schedule:(...e)=>ue(void 0,null,(function*(){return A(H(de,s),...e),yield ue(void 0,null,(function*(){if(!H(ae,s)){for(Y(ae,s,1);!a((e=H(de,s),y=e.shift()));)try{yield y()}catch(e){null==r||r(e)}Y(ae,s,0)}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(T[u]=()=>c),x(T)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye="store",fe=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=te(n,i,o);return se(e,(()=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var e,n;return yield d(),ie(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield v((()=>ve(void 0,null,(function*(){var n,l;yield d(),yield s(r,p,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,[a,u],u)};var pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const he=(e,n,l,t,o,[r,i,[u,d,c]],s,v,h,E)=>{const[m,g,O,A]=te(n,s,o,E),T=(e,n)=>pe(void 0,null,(function*(){return yield y(W(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){n&&!M(e,i)||(yield O(l,t,e[i],o,r,n))})))))})),C=(e,n)=>pe(void 0,null,(function*(){return d?yield O(c,p,{[f]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield A((()=>pe(void 0,null,(function*(){yield m();const e=yield pe(void 0,null,(function*(){return D(b(yield y(W(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield g(l,n)]}))))),(e=>!_(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield g(c,p))[f]:{}}));return _(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield A((()=>pe(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield T(n),yield C(l)}else{const[e,l]=n();yield T(e,!0),yield C(l,!0)}}))))}))),l,t,o,!1,[h,v],v)},Ee="json",me="autoLoadIntervalSeconds",ge="rowIdColumnName",Oe="tableId",be="tableName",Ae={mode:Ee,[me]:1},Te={load:0,save:0,[be]:n+"_values"},Ce=(e,n,l,t)=>{const o=j();return I(e,((e,r)=>{const i=s(F(S(n,c(e)?{[l]:e}:e)),0,$(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Le=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="pragma ",Re="data_version",we="schema_version",Ne=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,m;const[g,O,b,A]=(e=>{const l=(e=>S(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[me];if(l.mode==Ee){const{storeTableName:e=n}=l;return[1,t,[e],J(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(F(S(Te,i)),0,$(Te)),a=u[2],d=J(a);return[0,t,[Ce(o,{[Oe]:null,[ge]:p},Oe,(e=>U(d,e)&&e==a)),Ce(r,{[be]:null,[ge]:p,deleteEmptyColumns:0,deleteEmptyTable:0},be,((e,n)=>U(d,n)&&n==a)),u],d]})(l);return(g?fe:he)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+Re))[0][Re],l=(yield t(Pe+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=m?m:m=o)||(e(),f=n,h=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),a,b,C(A),d,v,y)},xe=(e,n,l,t,o)=>Ne(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{xe as createExpoSqlitePersister};